var mL=Object.defineProperty,gL=Object.defineProperties;var vL=Object.getOwnPropertyDescriptors;var n7=Object.getOwnPropertySymbols;var Pg=Object.prototype.hasOwnProperty,Rg=Object.prototype.propertyIsEnumerable;var hc=(n,e)=>{if(e=Symbol[n])return e;throw Error("Symbol."+n+" is not defined")},Oi=Math.pow,fc=(n,e,t)=>e in n?mL(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,d3=(n,e)=>{for(var t in e||(e={}))Pg.call(e,t)&&fc(n,t,e[t]);if(n7)for(var t of n7(e))Rg.call(e,t)&&fc(n,t,e[t]);return n},R3=(n,e)=>gL(n,vL(e));var Ng=(n,e)=>{var t={};for(var i in n)Pg.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&n7)for(var i of n7(n))e.indexOf(i)<0&&Rg.call(n,i)&&(t[i]=n[i]);return t};var i0=(n,e,t)=>(fc(n,typeof e!="symbol"?e+"":e,t),t);var k3=(n,e,t)=>new Promise((i,r)=>{var a=l=>{try{o(t.next(l))}catch(u){r(u)}},s=l=>{try{o(t.throw(l))}catch(u){r(u)}},o=l=>l.done?i(l.value):Promise.resolve(l.value).then(a,s);o((t=t.apply(n,e)).next())}),yL=function(n,e){this[0]=n,this[1]=e};var Lg=n=>{var e=n[hc("asyncIterator")],t=!1,i,r={};return e==null?(e=n[hc("iterator")](),i=a=>r[a]=s=>e[a](s)):(e=e.call(n),i=a=>r[a]=s=>{if(t){if(t=!1,a==="throw")throw s;return s}return t=!0,{done:!1,value:new yL(new Promise(o=>{var l=e[a](s);if(!(l instanceof Object))throw TypeError("Object expected");o(l)}),1)}}),r[hc("iterator")]=()=>r,i("next"),"throw"in e?i("throw"):r.throw=a=>{throw a},"return"in e&&i("return"),r};import{_ as xl,o as h2,c as v2,a as M,t as L2,r as Rr,b as K3,d as x3,w as Z0,p as Ig,i as or,n as x1,u as D0,e as z2,f as a6,g as l1,h as _L,j as cb,k as kg,l as Fn,m as Fg,s as Ya,q as SL,v as bL,x as ft,y as TL,z as wL,A as K9,B as p0,C as Dg,F as X3,D as c1,E as Ze,G as ae,H as z1,I as nt,J as j9,K as yr,L as jt,M as yn,N as Pa,O as xL,P as AL,Q as C5,R as CL}from"./index-1783008015343.js";const Po=""+new URL("bottom-menu-arrow-big-180b7071-balabala-1783008015343.svg",import.meta.url).href,Ro=""+new URL("bottom-menu-arrow-small-19304179-balabala-1783008015343.svg",import.meta.url).href;/** * @name: autofit.js * @author: Larry Zhu * @version: 3.2.8 * @description: autofit.js 是迄今为止最易用的自适应工具 * @license: MIT */let pc=null,_4="",Fd="",Dd="",mc=null,Ug=null,Rt=1,_r=!1;const Al={isAutofitRunning:!1,init(n={},e=!0){e&&console.log("autofit.js is running");const{dw:t=1920,dh:i=1080,el:r=typeof n=="string"?n:"body",resize:a=!0,ignore:s=[],transition:o="none",delay:l=0,limit:u=.1,cssMode:d="scale",allowScroll:h=!1}=n;pc=r;const f=document.querySelector(r);if(!f){console.error(`autofit: '${r}' is not exist`);return}const v=document.createElement("style"),_=document.createElement("style");v.lang="text/css",_.lang="text/css",v.id="autofit-style",_.id="ignoreStyle",!h&&(v.innerHTML="body {overflow: hidden;}");const b=document.querySelector("body");b.appendChild(v),b.appendChild(_),f.style.height=`${i}px`,f.style.width=`${t}px`,f.style.transformOrigin="0 0",!h&&(f.style.overflow="hidden"),gc(t,i,f,s,u,d),mc=()=>{clearTimeout(Ug),l!=0?Ug=setTimeout(()=>{gc(t,i,f,s,u,d),_r&&Ud(_4,Dd,Fd)},l):(gc(t,i,f,s,u,d),_r&&Ud(_4,Dd,Fd))},a&&window.addEventListener("resize",mc),this.isAutofitRunning=!0,setTimeout(()=>{f.style.transition=`${o}s`})},off(n="body"){try{window.removeEventListener("resize",mc);const e=document.querySelector("#autofit-style");e&&e.remove();const t=document.querySelector("#ignoreStyle");t&&t.remove();const i=document.querySelector(pc||n);i&&(i.style.cssText=""),_r&&db()}catch(e){console.error("autofit: Failed to remove normally",e)}this.isAutofitRunning=!1,console.log("autofit.js is off")},elRectification:null,scale:Rt};function Ud(n,e=!0,t=1){if(!Al.isAutofitRunning){console.error("autofit.js:(elRectification): autofit has not been initialized yet");return}db(),!n&&console.error(`autofit.js:elRectification bad selector: ${n}`),_4=n,Fd=t,Dd=e;const i=Array.from(document.querySelectorAll(n));if(i.length==0){console.error(`autofit.js:elRectification found no element by selector: "${n}"`);return}for(const r of i){const a=Rt==1?1:Number(Rt)*Number(t);_r||(r.originalWidth=r.clientWidth,r.originalHeight=r.clientHeight),e?(r.style.width=`${r.originalWidth*a}px`,r.style.height=`${r.originalHeight*a}px`):(r.style.width=`${100*a}%`,r.style.height=`${100*a}%`),r.style.transform=`translateZ(0) scale(${1/Number(Rt)})`,r.style.transformOrigin="0 0"}_r=!0}function db(){if(_4){_r=!1;for(const n of Array.from(document.querySelectorAll(_4)))n.style.width="",n.style.height="",n.style.transform=""}}function gc(n,e,t,i,r,a="scale"){const s=document.documentElement.clientHeight,o=document.documentElement.clientWidth;Rt=o/sr?Rt:1,Al.scale=+Rt;const l=Math.round(s/Number(Rt)),u=Math.round(o/Number(Rt));t.style.height=`${l}px`,t.style.width=`${u}px`,a==="zoom"?t.style.zoom=`${Rt}`:t.style.transform=`translateZ(0) scale(${Rt})`;const d=document.querySelector("#ignoreStyle");d.innerHTML="";for(const h of i){const f=h;let v=f.el||f.dom;if(typeof f=="string"&&(v=f),!v||typeof v=="object"&&!Object.keys(v).length){console.error(`autofit: found invalid or empty selector/object: ${v}`);continue}const _=f.scale?f.scale:1/Number(Rt),b=_!=Rt&&f.fontSize,y=_!=Rt&&f.width,w=_!=Rt&&f.height;d.innerHTML+=` ${v} { transform: scale(${_})!important; transform-origin: 0 0; ${y?`width: ${y}!important;`:""} ${w?`height: ${w}!important;`:""} }`,b&&(d.innerHTML+=` ${v} div ,${v} span,${v} a,${v} * { font-size: ${b}px; }`)}}Al.elRectification=Ud;function Yi(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}function hb(n,e){n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.__proto__=e}/*! * GSAP 3.14.2 * https://gsap.com * * @license Copyright 2008-2025, GreenSock. All rights reserved. * Subject to the terms at https://gsap.com/standard-license * @author: Jack Doyle, jack@greensock.com */var t6={autoSleep:120,force3D:"auto",nullTargetWarn:1,units:{lineHeight:""}},Nr={duration:.5,overwrite:!1,delay:0},Wh,kt,Re,M6=1e8,fe=1/M6,Od=Math.PI*2,ML=Od/4,EL=0,fb=Math.sqrt,PL=Math.cos,RL=Math.sin,xt=function(e){return typeof e=="string"},Ve=function(e){return typeof e=="function"},e5=function(e){return typeof e=="number"},$h=function(e){return typeof e=="undefined"},Si=function(e){return typeof e=="object"},Mn=function(e){return e!==!1},Yh=function(){return typeof window!="undefined"},i7=function(e){return Ve(e)||xt(e)},pb=typeof ArrayBuffer=="function"&&ArrayBuffer.isView||function(){},qt=Array.isArray,NL=/random\([^)]+\)/g,LL=/,\s*/g,Og=/(?:-?\.?\d|\.)+/gi,mb=/[-+=.]*\d+[.e\-+]*\d*[e\-+]*\d*/g,lr=/[-+=.]*\d+[.e-]*\d*[a-z%]*/g,vc=/[-+=.]*\d+\.?\d*(?:e-|e\+)?\d*/gi,gb=/[+-]=-?[.\d]+/,IL=/[^,'"\[\]\s]+/gi,kL=/^[+\-=e\s\d]*\d+[.\d]*([a-z]*|%)\s*$/i,ke,ui,Bd,qh,i6={},No={},vb,yb=function(e){return(No=Lr(e,i6))&&Ln},Kh=function(e,t){return console.warn("Invalid property",e,"set to",t,"Missing plugin? gsap.registerPlugin()")},S4=function(e,t){return!t&&console.warn(e)},_b=function(e,t){return e&&(i6[e]=t)&&No&&(No[e]=t)||i6},b4=function(){return 0},FL={suppressEvents:!0,isStart:!0,kill:!1},ho={suppressEvents:!0,kill:!1},DL={suppressEvents:!0},Xh={},q5=[],zd={},Sb,qn={},yc={},Bg=30,fo=[],Jh="",Zh=function(e){var t=e[0],i,r;if(Si(t)||Ve(t)||(e=[e]),!(i=(t._gsap||{}).harness)){for(r=fo.length;r--&&!fo[r].targetTest(t););i=fo[r]}for(r=e.length;r--;)e[r]&&(e[r]._gsap||(e[r]._gsap=new jb(e[r],i)))||e.splice(r,1);return e},X9=function(e){return e._gsap||Zh(E6(e))[0]._gsap},bb=function(e,t,i){return(i=e[t])&&Ve(i)?e[t]():$h(i)&&e.getAttribute&&e.getAttribute(t)||i},En=function(e,t){return(e=e.split(",")).forEach(t)||e},qe=function(e){return Math.round(e*1e5)/1e5||0},Le=function(e){return Math.round(e*1e7)/1e7||0},Sr=function(e,t){var i=t.charAt(0),r=parseFloat(t.substr(2));return e=parseFloat(e),i==="+"?e+r:i==="-"?e-r:i==="*"?e*r:e/r},UL=function(e,t){for(var i=t.length,r=0;e.indexOf(t[r])<0&&++ro;)s=s._prev;return s?(t._next=s._next,s._next=t):(t._next=e[i],e[i]=t),t._next?t._next._prev=t:e[r]=t,t._prev=s,t.parent=t._dp=e,t},Cl=function(e,t,i,r){i===void 0&&(i="_first"),r===void 0&&(r="_last");var a=t._prev,s=t._next;a?a._next=s:e[i]===t&&(e[i]=s),s?s._prev=a:e[r]===t&&(e[r]=a),t._next=t._prev=t.parent=null},t9=function(e,t){e.parent&&(!t||e.parent.autoRemoveChildren)&&e.parent.remove&&e.parent.remove(e),e._act=0},J9=function(e,t){if(e&&(!t||t._end>e._dur||t._start<0))for(var i=e;i;)i._dirty=1,i=i.parent;return e},zL=function(e){for(var t=e.parent;t&&t.parent;)t._dirty=1,t.totalDuration(),t=t.parent;return e},Gd=function(e,t,i,r){return e._startAt&&(kt?e._startAt.revert(ho):e.vars.immediateRender&&!e.vars.autoRevert||e._startAt.render(t,!0,r))},GL=function n(e){return!e||e._ts&&n(e.parent)},Gg=function(e){return e._repeat?Ir(e._tTime,e=e.duration()+e._rDelay)*e:0},Ir=function(e,t){var i=Math.floor(e=Le(e/t));return e&&i===e?i-1:i},ko=function(e,t){return(e-t._start)*t._ts+(t._ts>=0?0:t._dirty?t.totalDuration():t._tDur)},Ml=function(e){return e._end=Le(e._start+(e._tDur/Math.abs(e._ts||e._rts||fe)||0))},El=function(e,t){var i=e._dp;return i&&i.smoothChildTiming&&e._ts&&(e._start=Le(i._time-(e._ts>0?t/e._ts:((e._dirty?e.totalDuration():e._tDur)-t)/-e._ts)),Ml(e),i._dirty||J9(i,e)),e},Cb=function(e,t){var i;if((t._time||!t._dur&&t._initted||t._startfe)&&t.render(i,!0)),J9(e,t)._dp&&e._initted&&e._time>=e._dur&&e._ts){if(e._dur=0&&i.totalTime(i._tTime),i=i._dp;e._zTime=-fe}},hi=function(e,t,i,r){return t.parent&&t9(t),t._start=Le((e5(i)?i:i||e!==ke?v6(e,i,t):e._time)+t._delay),t._end=Le(t._start+(t.totalDuration()/Math.abs(t.timeScale())||0)),Ab(e,t,"_first","_last",e._sort?"_start":0),Vd(t)||(e._recent=t),r||Cb(e,t),e._ts<0&&El(e,e._tTime),e},Mb=function(e,t){return(i6.ScrollTrigger||Kh("scrollTrigger",t))&&i6.ScrollTrigger.create(t,e)},Eb=function(e,t,i,r,a){if(tf(e,t,a),!e._initted)return 1;if(!i&&e._pt&&!kt&&(e._dur&&e.vars.lazy!==!1||!e._dur&&e.vars.lazy)&&Sb!==Jn.frame)return q5.push(e),e._lazy=[a,r],1},VL=function n(e){var t=e.parent;return t&&t._ts&&t._initted&&!t._lock&&(t.rawTime()<0||n(t))},Vd=function(e){var t=e.data;return t==="isFromStart"||t==="isStart"},HL=function(e,t,i,r){var a=e.ratio,s=t<0||!t&&(!e._start&&VL(e)&&!(!e._initted&&Vd(e))||(e._ts<0||e._dp._ts<0)&&!Vd(e))?0:1,o=e._rDelay,l=0,u,d,h;if(o&&e._repeat&&(l=$4(0,e._tDur,t),d=Ir(l,o),e._yoyo&&d&1&&(s=1-s),d!==Ir(e._tTime,o)&&(a=1-s,e.vars.repeatRefresh&&e._initted&&e.invalidate())),s!==a||kt||r||e._zTime===fe||!t&&e._zTime){if(!e._initted&&Eb(e,t,r,i,l))return;for(h=e._zTime,e._zTime=t||(i?fe:0),i||(i=t&&!h),e.ratio=s,e._from&&(s=1-s),e._time=0,e._tTime=l,u=e._pt;u;)u.r(s,u.d),u=u._next;t<0&&Gd(e,t,i,!0),e._onUpdate&&!i&&Qn(e,"onUpdate"),l&&e._repeat&&!i&&e.parent&&Qn(e,"onRepeat"),(t>=e._tDur||t<0)&&e.ratio===s&&(s&&t9(e,1),!i&&!kt&&(Qn(e,s?"onComplete":"onReverseComplete",!0),e._prom&&e._prom()))}else e._zTime||(e._zTime=t)},jL=function(e,t,i){var r;if(i>t)for(r=e._first;r&&r._start<=i;){if(r.data==="isPause"&&r._start>t)return r;r=r._next}else for(r=e._last;r&&r._start>=i;){if(r.data==="isPause"&&r._start0&&!r&&El(e,e._tTime=e._tDur*o),e.parent&&Ml(e),i||J9(e.parent,e),e},Vg=function(e){return e instanceof sn?J9(e):kr(e,e._dur)},WL={_start:0,endTime:b4,totalDuration:b4},v6=function n(e,t,i){var r=e.labels,a=e._recent||WL,s=e.duration()>=M6?a.endTime(!1):e._dur,o,l,u;return xt(t)&&(isNaN(t)||t in r)?(l=t.charAt(0),u=t.substr(-1)==="%",o=t.indexOf("="),l==="<"||l===">"?(o>=0&&(t=t.replace(/=/,"")),(l==="<"?a._start:a.endTime(a._repeat>=0))+(parseFloat(t.substr(1))||0)*(u?(o<0?a:i).totalDuration()/100:1)):o<0?(t in r||(r[t]=s),r[t]):(l=parseFloat(t.charAt(o-1)+t.substr(o+1)),u&&i&&(l=l/100*(qt(i)?i[0]:i).totalDuration()),o>1?n(e,t.substr(0,o-1),i)+l:s+l)):t==null?s:+t},i4=function(e,t,i){var r=e5(t[1]),a=(r?2:1)+(e<2?0:1),s=t[a],o,l;if(r&&(s.duration=t[1]),s.parent=i,e){for(o=s,l=i;l&&!("immediateRender"in o);)o=l.vars.defaults||{},l=Mn(l.vars.inherit)&&l.parent;s.immediateRender=Mn(o.immediateRender),e<2?s.runBackwards=1:s.startAt=t[a-1]}return new rt(t[0],s,t[a+1])},l9=function(e,t){return e||e===0?t(e):t},$4=function(e,t,i){return it?t:i},$t=function(e,t){return!xt(e)||!(t=kL.exec(e))?"":t[1]},$L=function(e,t,i){return l9(i,function(r){return $4(e,t,r)})},Hd=[].slice,Pb=function(e,t){return e&&Si(e)&&"length"in e&&(!t&&!e.length||e.length-1 in e&&Si(e[0]))&&!e.nodeType&&e!==ui},YL=function(e,t,i){return i===void 0&&(i=[]),e.forEach(function(r){var a;return xt(r)&&!t||Pb(r,1)?(a=i).push.apply(a,E6(r)):i.push(r)})||i},E6=function(e,t,i){return Re&&!t&&Re.selector?Re.selector(e):xt(e)&&!i&&(Bd||!Fr())?Hd.call((t||qh).querySelectorAll(e),0):qt(e)?YL(e,i):Pb(e)?Hd.call(e,0):e?[e]:[]},jd=function(e){return e=E6(e)[0]||S4("Invalid scope")||{},function(t){var i=e.current||e.nativeElement||e;return E6(t,i.querySelectorAll?i:i===e?S4("Invalid scope")||qh.createElement("div"):e)}},Rb=function(e){return e.sort(function(){return .5-Math.random()})},Nb=function(e){if(Ve(e))return e;var t=Si(e)?e:{each:e},i=Z9(t.ease),r=t.from||0,a=parseFloat(t.base)||0,s={},o=r>0&&r<1,l=isNaN(r)||o,u=t.axis,d=r,h=r;return xt(r)?d=h={center:.5,edges:.5,end:1}[r]||0:!o&&l&&(d=r[0],h=r[1]),function(f,v,_){var b=(_||t).length,y=s[b],w,U,P,O,j,q,K,c2,S2;if(!y){if(S2=t.grid==="auto"?0:(t.grid||[1,M6])[1],!S2){for(K=-M6;K<(K=_[S2++].getBoundingClientRect().left)&&S2K&&(K=j),jb?b-1:u?u==="y"?b/S2:S2:Math.max(S2,b/S2))||0)*(r==="edges"?-1:1),y.b=b<0?a-b:a,y.u=$t(t.amount||t.each)||0,i=i&&b<0?Gb(i):i}return b=(y[f]-y.min)/y.max||0,Le(y.b+(i?i(b):b)*y.v)+y.u}},Wd=function(e){var t=Math.pow(10,((e+"").split(".")[1]||"").length);return function(i){var r=Le(Math.round(parseFloat(i)/e)*e*t);return(r-r%1)/t+(e5(i)?0:$t(i))}},Lb=function(e,t){var i=qt(e),r,a;return!i&&Si(e)&&(r=i=e.radius||M6,e.values?(e=E6(e.values),(a=!e5(e[0]))&&(r*=r)):e=Wd(e.increment)),l9(t,i?Ve(e)?function(s){return a=e(s),Math.abs(a-s)<=r?a:s}:function(s){for(var o=parseFloat(a?s.x:s),l=parseFloat(a?s.y:0),u=M6,d=0,h=e.length,f,v;h--;)a?(f=e[h].x-o,v=e[h].y-l,f=f*f+v*v):f=Math.abs(e[h]-o),fr?a-s:s)})},T4=function(e){return e.replace(NL,function(t){var i=t.indexOf("[")+1,r=t.substring(i||7,i?t.indexOf("]"):t.length-1).split(LL);return Ib(i?r:+r[0],i?0:+r[1],+r[2]||1e-5)})},Fb=function(e,t,i,r,a){var s=t-e,o=r-i;return l9(a,function(l){return i+((l-e)/s*o||0)})},QL=function n(e,t,i,r){var a=isNaN(e+t)?0:function(v){return(1-v)*e+v*t};if(!a){var s=xt(e),o={},l,u,d,h,f;if(i===!0&&(r=1)&&(i=null),s)e={p:e},t={p:t};else if(qt(e)&&!qt(t)){for(d=[],h=e.length,f=h-2,u=1;u(o=Math.abs(o))&&(l=s,a=o);return l},Qn=function(e,t,i){var r=e.vars,a=r[t],s=Re,o=e._ctx,l,u,d;if(a)return l=r[t+"Params"],u=r.callbackScope||e,i&&q5.length&&Lo(),o&&(Re=o),d=l?a.apply(u,l):a.call(u),Re=s,d},qa=function(e){return t9(e),e.scrollTrigger&&e.scrollTrigger.kill(!!kt),e.progress()<1&&Qn(e,"onInterrupt"),e},ur,Db=[],Ub=function(e){if(e)if(e=!e.name&&e.default||e,Yh()||e.headless){var t=e.name,i=Ve(e),r=t&&!i&&e.init?function(){this._props=[]}:e,a={init:b4,render:af,add:ef,kill:mI,modifier:pI,rawVars:0},s={targetTest:0,get:0,getSetter:rf,aliases:{},register:0};if(Fr(),e!==r){if(qn[t])return;r6(r,r6(Io(e,a),s)),Lr(r.prototype,Lr(a,Io(e,s))),qn[r.prop=t]=r,e.targetTest&&(fo.push(r),Xh[t]=1),t=(t==="css"?"CSS":t.charAt(0).toUpperCase()+t.substr(1))+"Plugin"}_b(t,r),e.register&&e.register(Ln,r,Pn)}else Db.push(e)},ce=255,Ka={aqua:[0,ce,ce],lime:[0,ce,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,ce],navy:[0,0,128],white:[ce,ce,ce],olive:[128,128,0],yellow:[ce,ce,0],orange:[ce,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[ce,0,0],pink:[ce,192,203],cyan:[0,ce,ce],transparent:[ce,ce,ce,0]},_c=function(e,t,i){return e+=e<0?1:e>1?-1:0,(e*6<1?t+(i-t)*e*6:e<.5?i:e*3<2?t+(i-t)*(2/3-e)*6:t)*ce+.5|0},Ob=function(e,t,i){var r=e?e5(e)?[e>>16,e>>8&ce,e&ce]:0:Ka.black,a,s,o,l,u,d,h,f,v,_;if(!r){if(e.substr(-1)===","&&(e=e.substr(0,e.length-1)),Ka[e])r=Ka[e];else if(e.charAt(0)==="#"){if(e.length<6&&(a=e.charAt(1),s=e.charAt(2),o=e.charAt(3),e="#"+a+a+s+s+o+o+(e.length===5?e.charAt(4)+e.charAt(4):"")),e.length===9)return r=parseInt(e.substr(1,6),16),[r>>16,r>>8&ce,r&ce,parseInt(e.substr(7),16)/255];e=parseInt(e.substr(1),16),r=[e>>16,e>>8&ce,e&ce]}else if(e.substr(0,3)==="hsl"){if(r=_=e.match(Og),!t)l=+r[0]%360/360,u=+r[1]/100,d=+r[2]/100,s=d<=.5?d*(u+1):d+u-d*u,a=d*2-s,r.length>3&&(r[3]*=1),r[0]=_c(l+1/3,a,s),r[1]=_c(l,a,s),r[2]=_c(l-1/3,a,s);else if(~e.indexOf("="))return r=e.match(mb),i&&r.length<4&&(r[3]=1),r}else r=e.match(Og)||Ka.transparent;r=r.map(Number)}return t&&!_&&(a=r[0]/ce,s=r[1]/ce,o=r[2]/ce,h=Math.max(a,s,o),f=Math.min(a,s,o),d=(h+f)/2,h===f?l=u=0:(v=h-f,u=d>.5?v/(2-h-f):v/(h+f),l=h===a?(s-o)/v+(se||w<0)&&(i+=w-t),r+=w,j=r-i,P=j-s,(P>0||U)&&(q=++h.frame,f=j-h.time*1e3,h.time=j=j/1e3,s+=P+(P>=a?4:a-P),O=1),U||(l=u(b)),O)for(v=0;v=w&&v--},_listeners:o},h}(),Fr=function(){return!w4&&Jn.wake()},N0={},tI=/^[\d.\-M][\d.\-,\s]/,nI=/["']/g,iI=function(e){for(var t={},i=e.substr(1,e.length-3).split(":"),r=i[0],a=1,s=i.length,o,l,u;a1&&i.config?i.config.apply(null,~e.indexOf("{")?[iI(t[1])]:rI(e).split(",").map(wb)):N0._CE&&tI.test(e)?N0._CE("",e):i},Gb=function(e){return function(t){return 1-e(1-t)}},Vb=function n(e,t){for(var i=e._first,r;i;)i instanceof sn?n(i,t):i.vars.yoyoEase&&(!i._yoyo||!i._repeat)&&i._yoyo!==t&&(i.timeline?n(i.timeline,t):(r=i._ease,i._ease=i._yEase,i._yEase=r,i._yoyo=t)),i=i._next},Z9=function(e,t){return e&&(Ve(e)?e:N0[e]||aI(e))||t},h8=function(e,t,i,r){i===void 0&&(i=function(l){return 1-t(1-l)}),r===void 0&&(r=function(l){return l<.5?t(l*2)/2:1-t((1-l)*2)/2});var a={easeIn:t,easeOut:i,easeInOut:r},s;return En(e,function(o){N0[o]=i6[o]=a,N0[s=o.toLowerCase()]=i;for(var l in a)N0[s+(l==="easeIn"?".in":l==="easeOut"?".out":".inOut")]=N0[o+"."+l]=a[l]}),a},Hb=function(e){return function(t){return t<.5?(1-e(1-t*2))/2:.5+e((t-.5)*2)/2}},Sc=function n(e,t,i){var r=t>=1?t:1,a=(i||(e?.3:.45))/(t<1?t:1),s=a/Od*(Math.asin(1/r)||0),o=function(d){return d===1?1:r*Math.pow(2,-10*d)*RL((d-s)*a)+1},l=e==="out"?o:e==="in"?function(u){return 1-o(1-u)}:Hb(o);return a=Od/a,l.config=function(u,d){return n(e,u,d)},l},bc=function n(e,t){t===void 0&&(t=1.70158);var i=function(s){return s?--s*s*((t+1)*s+t)+1:0},r=e==="out"?i:e==="in"?function(a){return 1-i(1-a)}:Hb(i);return r.config=function(a){return n(e,a)},r};En("Linear,Quad,Cubic,Quart,Quint,Strong",function(n,e){var t=e<5?e+1:e;h8(n+",Power"+(t-1),e?function(i){return Math.pow(i,t)}:function(i){return i},function(i){return 1-Math.pow(1-i,t)},function(i){return i<.5?Math.pow(i*2,t)/2:1-Math.pow((1-i)*2,t)/2})});N0.Linear.easeNone=N0.none=N0.Linear.easeIn;h8("Elastic",Sc("in"),Sc("out"),Sc());(function(n,e){var t=1/e,i=2*t,r=2.5*t,a=function(o){return o0?i+(i+this._rDelay)*this._repeat:i):this.totalDuration()&&this._dur},e.totalDuration=function(i){return arguments.length?(this._dirty=0,kr(this,this._repeat<0?i:(i-this._repeat*this._rDelay)/(this._repeat+1))):this._tDur},e.totalTime=function(i,r){if(Fr(),!arguments.length)return this._tTime;var a=this._dp;if(a&&a.smoothChildTiming&&this._ts){for(El(this,i),!a._dp||a.parent||Cb(a,this);a&&a.parent;)a.parent._time!==a._start+(a._ts>=0?a._tTime/a._ts:(a.totalDuration()-a._tTime)/-a._ts)&&a.totalTime(a._tTime,!0),a=a.parent;!this.parent&&this._dp.autoRemoveChildren&&(this._ts>0&&i0||!this._tDur&&!i)&&hi(this._dp,this,this._start-this._delay)}return(this._tTime!==i||!this._dur&&!r||this._initted&&Math.abs(this._zTime)===fe||!this._initted&&this._dur&&i||!i&&!this._initted&&(this.add||this._ptLookup))&&(this._ts||(this._pTime=i),Tb(this,i,r)),this},e.time=function(i,r){return arguments.length?this.totalTime(Math.min(this.totalDuration(),i+Gg(this))%(this._dur+this._rDelay)||(i?this._dur:0),r):this._time},e.totalProgress=function(i,r){return arguments.length?this.totalTime(this.totalDuration()*i,r):this.totalDuration()?Math.min(1,this._tTime/this._tDur):this.rawTime()>=0&&this._initted?1:0},e.progress=function(i,r){return arguments.length?this.totalTime(this.duration()*(this._yoyo&&!(this.iteration()&1)?1-i:i)+Gg(this),r):this.duration()?Math.min(1,this._time/this._dur):this.rawTime()>0?1:0},e.iteration=function(i,r){var a=this.duration()+this._rDelay;return arguments.length?this.totalTime(this._time+(i-1)*a,r):this._repeat?Ir(this._tTime,a)+1:1},e.timeScale=function(i,r){if(!arguments.length)return this._rts===-fe?0:this._rts;if(this._rts===i)return this;var a=this.parent&&this._ts?ko(this.parent._time,this):this._tTime;return this._rts=+i||0,this._ts=this._ps||i===-fe?0:this._rts,this.totalTime($4(-Math.abs(this._delay),this.totalDuration(),a),r!==!1),Ml(this),zL(this)},e.paused=function(i){return arguments.length?(this._ps!==i&&(this._ps=i,i?(this._pTime=this._tTime||Math.max(-this._delay,this.rawTime()),this._ts=this._act=0):(Fr(),this._ts=this._rts,this.totalTime(this.parent&&!this.parent.smoothChildTiming?this.rawTime():this._tTime||this._pTime,this.progress()===1&&Math.abs(this._zTime)!==fe&&(this._tTime-=fe)))),this):this._ps},e.startTime=function(i){if(arguments.length){this._start=Le(i);var r=this.parent||this._dp;return r&&(r._sort||!this.parent)&&hi(r,this,this._start-this._delay),this}return this._start},e.endTime=function(i){return this._start+(Mn(i)?this.totalDuration():this.duration())/Math.abs(this._ts||1)},e.rawTime=function(i){var r=this.parent||this._dp;return r?i&&(!this._ts||this._repeat&&this._time&&this.totalProgress()<1)?this._tTime%(this._dur+this._rDelay):this._ts?ko(r.rawTime(i),this):this._tTime:this._tTime},e.revert=function(i){i===void 0&&(i=DL);var r=kt;return kt=i,Qh(this)&&(this.timeline&&this.timeline.revert(i),this.totalTime(-.01,i.suppressEvents)),this.data!=="nested"&&i.kill!==!1&&this.kill(),kt=r,this},e.globalTime=function(i){for(var r=this,a=arguments.length?i:r.rawTime();r;)a=r._start+a/(Math.abs(r._ts)||1),r=r._dp;return!this.parent&&this._sat?this._sat.globalTime(i):a},e.repeat=function(i){return arguments.length?(this._repeat=i===1/0?-2:i,Vg(this)):this._repeat===-2?1/0:this._repeat},e.repeatDelay=function(i){if(arguments.length){var r=this._time;return this._rDelay=i,Vg(this),r?this.time(r):this}return this._rDelay},e.yoyo=function(i){return arguments.length?(this._yoyo=i,this):this._yoyo},e.seek=function(i,r){return this.totalTime(v6(this,i),Mn(r))},e.restart=function(i,r){return this.play().totalTime(i?-this._delay:0,Mn(r)),this._dur||(this._zTime=-fe),this},e.play=function(i,r){return i!=null&&this.seek(i,r),this.reversed(!1).paused(!1)},e.reverse=function(i,r){return i!=null&&this.seek(i||this.totalDuration(),r),this.reversed(!0).paused(!1)},e.pause=function(i,r){return i!=null&&this.seek(i,r),this.paused(!0)},e.resume=function(){return this.paused(!1)},e.reversed=function(i){return arguments.length?(!!i!==this.reversed()&&this.timeScale(-this._rts||(i?-fe:0)),this):this._rts<0},e.invalidate=function(){return this._initted=this._act=0,this._zTime=-fe,this},e.isActive=function(){var i=this.parent||this._dp,r=this._start,a;return!!(!i||this._ts&&this._initted&&i.isActive()&&(a=i.rawTime(!0))>=r&&a1?(r?(s[i]=r,a&&(s[i+"Params"]=a),i==="onUpdate"&&(this._onUpdate=r)):delete s[i],this):s[i]},e.then=function(i){var r=this,a=r._prom;return new Promise(function(s){var o=Ve(i)?i:xb,l=function(){var d=r.then;r.then=null,a&&a(),Ve(o)&&(o=o(r))&&(o.then||o===r)&&(r.then=d),s(o),r.then=d};r._initted&&r.totalProgress()===1&&r._ts>=0||!r._tTime&&r._ts<0?l():r._prom=l})},e.kill=function(){qa(this)},n}();r6(x4.prototype,{_time:0,_start:0,_end:0,_tTime:0,_tDur:0,_dirty:0,_repeat:0,_yoyo:!1,parent:null,_initted:!1,_rDelay:0,_ts:1,_dp:0,ratio:0,_zTime:-fe,_prom:0,_ps:!1,_rts:1});var sn=function(n){hb(e,n);function e(i,r){var a;return i===void 0&&(i={}),a=n.call(this,i)||this,a.labels={},a.smoothChildTiming=!!i.smoothChildTiming,a.autoRemoveChildren=!!i.autoRemoveChildren,a._sort=Mn(i.sortChildren),ke&&hi(i.parent||ke,Yi(a),r),i.reversed&&a.reverse(),i.paused&&a.paused(!0),i.scrollTrigger&&Mb(Yi(a),i.scrollTrigger),a}var t=e.prototype;return t.to=function(r,a,s){return i4(0,arguments,this),this},t.from=function(r,a,s){return i4(1,arguments,this),this},t.fromTo=function(r,a,s,o){return i4(2,arguments,this),this},t.set=function(r,a,s){return a.duration=0,a.parent=this,n4(a).repeatDelay||(a.repeat=0),a.immediateRender=!!a.immediateRender,new rt(r,a,v6(this,s),1),this},t.call=function(r,a,s){return hi(this,rt.delayedCall(0,r,a),s)},t.staggerTo=function(r,a,s,o,l,u,d){return s.duration=a,s.stagger=s.stagger||o,s.onComplete=u,s.onCompleteParams=d,s.parent=this,new rt(r,s,v6(this,l)),this},t.staggerFrom=function(r,a,s,o,l,u,d){return s.runBackwards=1,n4(s).immediateRender=Mn(s.immediateRender),this.staggerTo(r,a,s,o,l,u,d)},t.staggerFromTo=function(r,a,s,o,l,u,d,h){return o.startAt=s,n4(o).immediateRender=Mn(o.immediateRender),this.staggerTo(r,a,o,l,u,d,h)},t.render=function(r,a,s){var o=this._time,l=this._dirty?this.totalDuration():this._tDur,u=this._dur,d=r<=0?0:Le(r),h=this._zTime<0!=r<0&&(this._initted||!u),f,v,_,b,y,w,U,P,O,j,q,K;if(this!==ke&&d>l&&r>=0&&(d=l),d!==this._tTime||s||h){if(o!==this._time&&u&&(d+=this._time-o,r+=this._time-o),f=d,O=this._start,P=this._ts,w=!P,h&&(u||(o=this._zTime),(r||!a)&&(this._zTime=r)),this._repeat){if(q=this._yoyo,y=u+this._rDelay,this._repeat<-1&&r<0)return this.totalTime(y*100+r,a,s);if(f=Le(d%y),d===l?(b=this._repeat,f=u):(j=Le(d/y),b=~~j,b&&b===j&&(f=u,b--),f>u&&(f=u)),j=Ir(this._tTime,y),!o&&this._tTime&&j!==b&&this._tTime-j*y-this._dur<=0&&(j=b),q&&b&1&&(f=u-f,K=1),b!==j&&!this._lock){var c2=q&&j&1,S2=c2===(q&&b&1);if(b=o&&r>=0)for(v=this._first;v;){if(_=v._next,(v._act||f>=v._start)&&v._ts&&U!==v){if(v.parent!==this)return this.render(r,a,s);if(v.render(v._ts>0?(f-v._start)*v._ts:(v._dirty?v.totalDuration():v._tDur)+(f-v._start)*v._ts,a,s),f!==this._time||!this._ts&&!w){U=0,_&&(d+=this._zTime=-fe);break}}v=_}else{v=this._last;for(var H=r<0?r:f;v;){if(_=v._prev,(v._act||H<=v._end)&&v._ts&&U!==v){if(v.parent!==this)return this.render(r,a,s);if(v.render(v._ts>0?(H-v._start)*v._ts:(v._dirty?v.totalDuration():v._tDur)+(H-v._start)*v._ts,a,s||kt&&Qh(v)),f!==this._time||!this._ts&&!w){U=0,_&&(d+=this._zTime=H?-fe:fe);break}}v=_}}if(U&&!a&&(this.pause(),U.render(f>=o?0:-fe)._zTime=f>=o?1:-1,this._ts))return this._start=O,Ml(this),this.render(r,a,s);this._onUpdate&&!a&&Qn(this,"onUpdate",!0),(d===l&&this._tTime>=this.totalDuration()||!d&&o)&&(O===this._start||Math.abs(P)!==Math.abs(this._ts))&&(this._lock||((r||!u)&&(d===l&&this._ts>0||!d&&this._ts<0)&&t9(this,1),!a&&!(r<0&&!o)&&(d||o||!l)&&(Qn(this,d===l&&r>=0?"onComplete":"onReverseComplete",!0),this._prom&&!(d0)&&this._prom())))}return this},t.add=function(r,a){var s=this;if(e5(a)||(a=v6(this,a,r)),!(r instanceof x4)){if(qt(r))return r.forEach(function(o){return s.add(o,a)}),this;if(xt(r))return this.addLabel(r,a);if(Ve(r))r=rt.delayedCall(0,r);else return this}return this!==r?hi(this,r,a):this},t.getChildren=function(r,a,s,o){r===void 0&&(r=!0),a===void 0&&(a=!0),s===void 0&&(s=!0),o===void 0&&(o=-M6);for(var l=[],u=this._first;u;)u._start>=o&&(u instanceof rt?a&&l.push(u):(s&&l.push(u),r&&l.push.apply(l,u.getChildren(!0,a,s)))),u=u._next;return l},t.getById=function(r){for(var a=this.getChildren(1,1,1),s=a.length;s--;)if(a[s].vars.id===r)return a[s]},t.remove=function(r){return xt(r)?this.removeLabel(r):Ve(r)?this.killTweensOf(r):(r.parent===this&&Cl(this,r),r===this._recent&&(this._recent=this._last),J9(this))},t.totalTime=function(r,a){return arguments.length?(this._forcing=1,!this._dp&&this._ts&&(this._start=Le(Jn.time-(this._ts>0?r/this._ts:(this.totalDuration()-r)/-this._ts))),n.prototype.totalTime.call(this,r,a),this._forcing=0,this):this._tTime},t.addLabel=function(r,a){return this.labels[r]=v6(this,a),this},t.removeLabel=function(r){return delete this.labels[r],this},t.addPause=function(r,a,s){var o=rt.delayedCall(0,a||b4,s);return o.data="isPause",this._hasPause=1,hi(this,o,v6(this,r))},t.removePause=function(r){var a=this._first;for(r=v6(this,r);a;)a._start===r&&a.data==="isPause"&&t9(a),a=a._next},t.killTweensOf=function(r,a,s){for(var o=this.getTweensOf(r,s),l=o.length;l--;)z5!==o[l]&&o[l].kill(r,a);return this},t.getTweensOf=function(r,a){for(var s=[],o=E6(r),l=this._first,u=e5(a),d;l;)l instanceof rt?UL(l._targets,o)&&(u?(!z5||l._initted&&l._ts)&&l.globalTime(0)<=a&&l.globalTime(l.totalDuration())>a:!a||l.isActive())&&s.push(l):(d=l.getTweensOf(o,a)).length&&s.push.apply(s,d),l=l._next;return s},t.tweenTo=function(r,a){a=a||{};var s=this,o=v6(s,r),l=a,u=l.startAt,d=l.onStart,h=l.onStartParams,f=l.immediateRender,v,_=rt.to(s,r6({ease:a.ease||"none",lazy:!1,immediateRender:!1,time:o,overwrite:"auto",duration:a.duration||Math.abs((o-(u&&"time"in u?u.time:s._time))/s.timeScale())||fe,onStart:function(){if(s.pause(),!v){var y=a.duration||Math.abs((o-(u&&"time"in u?u.time:s._time))/s.timeScale());_._dur!==y&&kr(_,y,0,1).render(_._time,!0,!0),v=1}d&&d.apply(_,h||[])}},a));return f?_.render(0):_},t.tweenFromTo=function(r,a,s){return this.tweenTo(a,r6({startAt:{time:v6(this,r)}},s))},t.recent=function(){return this._recent},t.nextLabel=function(r){return r===void 0&&(r=this._time),Hg(this,v6(this,r))},t.previousLabel=function(r){return r===void 0&&(r=this._time),Hg(this,v6(this,r),1)},t.currentLabel=function(r){return arguments.length?this.seek(r,!0):this.previousLabel(this._time+fe)},t.shiftChildren=function(r,a,s){s===void 0&&(s=0);var o=this._first,l=this.labels,u;for(r=Le(r);o;)o._start>=s&&(o._start+=r,o._end+=r),o=o._next;if(a)for(u in l)l[u]>=s&&(l[u]+=r);return J9(this)},t.invalidate=function(r){var a=this._first;for(this._lock=0;a;)a.invalidate(r),a=a._next;return n.prototype.invalidate.call(this,r)},t.clear=function(r){r===void 0&&(r=!0);for(var a=this._first,s;a;)s=a._next,this.remove(a),a=s;return this._dp&&(this._time=this._tTime=this._pTime=0),r&&(this.labels={}),J9(this)},t.totalDuration=function(r){var a=0,s=this,o=s._last,l=M6,u,d,h;if(arguments.length)return s.timeScale((s._repeat<0?s.duration():s.totalDuration())/(s.reversed()?-r:r));if(s._dirty){for(h=s.parent;o;)u=o._prev,o._dirty&&o.totalDuration(),d=o._start,d>l&&s._sort&&o._ts&&!s._lock?(s._lock=1,hi(s,o,d-o._delay,1)._lock=0):l=d,d<0&&o._ts&&(a-=d,(!h&&!s._dp||h&&h.smoothChildTiming)&&(s._start+=Le(d/s._ts),s._time-=d,s._tTime-=d),s.shiftChildren(-d,!1,-1/0),l=0),o._end>a&&o._ts&&(a=o._end),o=u;kr(s,s===ke&&s._time>a?s._time:a,1,1),s._dirty=0}return s._tDur},e.updateRoot=function(r){if(ke._ts&&(Tb(ke,ko(r,ke)),Sb=Jn.frame),Jn.frame>=Bg){Bg+=t6.autoSleep||120;var a=ke._first;if((!a||!a._ts)&&t6.autoSleep&&Jn._listeners.length<2){for(;a&&!a._ts;)a=a._next;a||Jn.sleep()}}},e}(x4);r6(sn.prototype,{_lock:0,_hasPause:0,_forcing:0});var sI=function(e,t,i,r,a,s,o){var l=new Pn(this._pt,e,t,0,1,Xb,null,a),u=0,d=0,h,f,v,_,b,y,w,U;for(l.b=i,l.e=r,i+="",r+="",(w=~r.indexOf("random("))&&(r=T4(r)),s&&(U=[i,r],s(U,e,t),i=U[0],r=U[1]),f=i.match(vc)||[];h=vc.exec(r);)_=h[0],b=r.substring(u,h.index),v?v=(v+1)%5:b.substr(-5)==="rgba("&&(v=1),_!==f[d++]&&(y=parseFloat(f[d-1])||0,l._pt={_next:l._pt,p:b||d===1?b:",",s:y,c:_.charAt(1)==="="?Sr(y,_)-y:parseFloat(_)-y,m:v&&v<4?Math.round:0},u=vc.lastIndex);return l.c=u")}),O.duration();else{q={};for(c2 in _)c2==="ease"||c2==="easeEach"||cI(c2,_[c2],q,_.easeEach);for(c2 in q)for(q2=q[c2].sort(function(A2,X2){return A2.t-X2.t}),G2=0,j=0;jl-fe&&!d?l:ru&&(f=u)),w=this._yoyo&&_&1,w&&(O=this._yEase,f=u-f),y=Ir(this._tTime,b),f===o&&!s&&this._initted&&_===y)return this._tTime=h,this;_!==y&&(P&&this._yEase&&Vb(P,w),this.vars.repeatRefresh&&!w&&!this._lock&&f!==b&&this._initted&&(this._lock=s=1,this.render(Le(b*_),!0).invalidate()._lock=0))}if(!this._initted){if(Eb(this,d?r:f,s,a,h))return this._tTime=0,this;if(o!==this._time&&!(s&&this.vars.repeatRefresh&&_!==y))return this;if(u!==this._dur)return this.render(r,a,s)}if(this._tTime=h,this._time=f,!this._act&&this._ts&&(this._act=1,this._lazy=0),this.ratio=U=(O||this._ease)(f/u),this._from&&(this.ratio=U=1-U),!o&&h&&!a&&!y&&(Qn(this,"onStart"),this._tTime!==h))return this;for(v=this._pt;v;)v.r(U,v.d),v=v._next;P&&P.render(r<0?r:P._dur*P._ease(f/this._dur),a,s)||this._startAt&&(this._zTime=r),this._onUpdate&&!a&&(d&&Gd(this,r,a,s),Qn(this,"onUpdate")),this._repeat&&_!==y&&this.vars.onRepeat&&!a&&this.parent&&Qn(this,"onRepeat"),(h===this._tDur||!h)&&this._tTime===h&&(d&&!this._onUpdate&&Gd(this,r,!0,!0),(r||!u)&&(h===this._tDur&&this._ts>0||!h&&this._ts<0)&&t9(this,1),!a&&!(d&&!o)&&(h||o||w)&&(Qn(this,h===l?"onComplete":"onReverseComplete",!0),this._prom&&!(h0)&&this._prom()))}return this},t.targets=function(){return this._targets},t.invalidate=function(r){return(!r||!this.vars.runBackwards)&&(this._startAt=0),this._pt=this._op=this._onUpdate=this._lazy=this.ratio=0,this._ptLookup=[],this.timeline&&this.timeline.invalidate(r),n.prototype.invalidate.call(this,r)},t.resetTo=function(r,a,s,o,l){w4||Jn.wake(),this._ts||this.play();var u=Math.min(this._dur,(this._dp._time-this._start)*this._ts),d;return this._initted||tf(this,u),d=this._ease(u/this._dur),lI(this,r,a,s,o,d,u,l)?this.resetTo(r,a,s,o,1):(El(this,0),this.parent||Ab(this._dp,this,"_first","_last",this._dp._sort?"_start":0),this.render(0))},t.kill=function(r,a){if(a===void 0&&(a="all"),!r&&(!a||a==="all"))return this._lazy=this._pt=0,this.parent?qa(this):this.scrollTrigger&&this.scrollTrigger.kill(!!kt),this;if(this.timeline){var s=this.timeline.totalDuration();return this.timeline.killTweensOf(r,a,z5&&z5.vars.overwrite!==!0)._first||qa(this),this.parent&&s!==this.timeline.totalDuration()&&kr(this,this._dur*this.timeline._tDur/s,0,1),this}var o=this._targets,l=r?E6(r):o,u=this._ptLookup,d=this._pt,h,f,v,_,b,y,w;if((!a||a==="all")&&BL(o,l))return a==="all"&&(this._pt=0),qa(this);for(h=this._op=this._op||[],a!=="all"&&(xt(a)&&(b={},En(a,function(U){return b[U]=1}),a=b),a=uI(o,a)),w=o.length;w--;)if(~l.indexOf(o[w])){f=u[w],a==="all"?(h[w]=a,_=f,v={}):(v=h[w]=h[w]||{},_=a);for(b in _)y=f&&f[b],y&&((!("kill"in y.d)||y.d.kill(b)===!0)&&Cl(this,y,"_pt"),delete f[b]),v!=="all"&&(v[b]=1)}return this._initted&&!this._pt&&d&&qa(this),this},e.to=function(r,a){return new e(r,a,arguments[2])},e.from=function(r,a){return i4(1,arguments)},e.delayedCall=function(r,a,s,o){return new e(a,0,{immediateRender:!1,lazy:!1,overwrite:!1,delay:r,onComplete:a,onReverseComplete:a,onCompleteParams:s,onReverseCompleteParams:s,callbackScope:o})},e.fromTo=function(r,a,s){return i4(2,arguments)},e.set=function(r,a){return a.duration=0,a.repeatDelay||(a.repeat=0),new e(r,a)},e.killTweensOf=function(r,a,s){return ke.killTweensOf(r,a,s)},e}(x4);r6(rt.prototype,{_targets:[],_lazy:0,_startAt:0,_op:0,_onInit:0});En("staggerTo,staggerFrom,staggerFromTo",function(n){rt[n]=function(){var e=new sn,t=Hd.call(arguments,0);return t.splice(n==="staggerFromTo"?5:4,0,0),e[n].apply(e,t)}});var nf=function(e,t,i){return e[t]=i},qb=function(e,t,i){return e[t](i)},dI=function(e,t,i,r){return e[t](r.fp,i)},hI=function(e,t,i){return e.setAttribute(t,i)},rf=function(e,t){return Ve(e[t])?qb:$h(e[t])&&e.setAttribute?hI:nf},Kb=function(e,t){return t.set(t.t,t.p,Math.round((t.s+t.c*e)*1e6)/1e6,t)},fI=function(e,t){return t.set(t.t,t.p,!!(t.s+t.c*e),t)},Xb=function(e,t){var i=t._pt,r="";if(!e&&t.b)r=t.b;else if(e===1&&t.e)r=t.e;else{for(;i;)r=i.p+(i.m?i.m(i.s+i.c*e):Math.round((i.s+i.c*e)*1e4)/1e4)+r,i=i._next;r+=t.c}t.set(t.t,t.p,r,t)},af=function(e,t){for(var i=t._pt;i;)i.r(e,i.d),i=i._next},pI=function(e,t,i,r){for(var a=this._pt,s;a;)s=a._next,a.p===r&&a.modifier(e,t,i),a=s},mI=function(e){for(var t=this._pt,i,r;t;)r=t._next,t.p===e&&!t.op||t.op===e?Cl(this,t,"_pt"):t.dep||(i=1),t=r;return!i},gI=function(e,t,i,r){r.mSet(e,t,r.m.call(r.tween,i,r.mt),r)},Jb=function(e){for(var t=e._pt,i,r,a,s;t;){for(i=t._next,r=a;r&&r.pr>t.pr;)r=r._next;(t._prev=r?r._prev:s)?t._prev._next=t:a=t,(t._next=r)?r._prev=t:s=t,t=i}e._pt=a},Pn=function(){function n(t,i,r,a,s,o,l,u,d){this.t=i,this.s=a,this.c=s,this.p=r,this.r=o||Kb,this.d=l||this,this.set=u||nf,this.pr=d||0,this._next=t,t&&(t._prev=this)}var e=n.prototype;return e.modifier=function(i,r,a){this.mSet=this.mSet||this.set,this.set=gI,this.m=i,this.mt=a,this.tween=r},n}();En(Jh+"parent,duration,ease,delay,overwrite,runBackwards,startAt,yoyo,immediateRender,repeat,repeatDelay,data,paused,reversed,lazy,callbackScope,stringFilter,id,yoyoEase,stagger,inherit,repeatRefresh,keyframes,autoRevert,scrollTrigger",function(n){return Xh[n]=1});i6.TweenMax=i6.TweenLite=rt;i6.TimelineLite=i6.TimelineMax=sn;ke=new sn({sortChildren:!1,defaults:Nr,autoRemoveChildren:!0,id:"root",smoothChildTiming:!0});t6.stringFilter=zb;var Q9=[],po={},vI=[],Wg=0,yI=0,Tc=function(e){return(po[e]||vI).map(function(t){return t()})},Yd=function(){var e=Date.now(),t=[];e-Wg>2&&(Tc("matchMediaInit"),Q9.forEach(function(i){var r=i.queries,a=i.conditions,s,o,l,u;for(o in r)s=ui.matchMedia(r[o]).matches,s&&(l=1),s!==a[o]&&(a[o]=s,u=1);u&&(i.revert(),l&&t.push(i))}),Tc("matchMediaRevert"),t.forEach(function(i){return i.onMatch(i,function(r){return i.add(null,r)})}),Wg=e,Tc("matchMedia"))},Zb=function(){function n(t,i){this.selector=i&&jd(i),this.data=[],this._r=[],this.isReverted=!1,this.id=yI++,t&&this.add(t)}var e=n.prototype;return e.add=function(i,r,a){Ve(i)&&(a=r,r=i,i=Ve);var s=this,o=function(){var u=Re,d=s.selector,h;return u&&u!==s&&u.data.push(s),a&&(s.selector=jd(a)),Re=s,h=r.apply(s,arguments),Ve(h)&&s._r.push(h),Re=u,s.selector=d,s.isReverted=!1,h};return s.last=o,i===Ve?o(s,function(l){return s.add(null,l)}):i?s[i]=o:o},e.ignore=function(i){var r=Re;Re=null,i(this),Re=r},e.getTweens=function(){var i=[];return this.data.forEach(function(r){return r instanceof n?i.push.apply(i,r.getTweens()):r instanceof rt&&!(r.parent&&r.parent.data==="nested")&&i.push(r)}),i},e.clear=function(){this._r.length=this.data.length=0},e.kill=function(i,r){var a=this;if(i?function(){for(var o=a.getTweens(),l=a.data.length,u;l--;)u=a.data[l],u.data==="isFlip"&&(u.revert(),u.getChildren(!0,!0,!1).forEach(function(d){return o.splice(o.indexOf(d),1)}));for(o.map(function(d){return{g:d._dur||d._delay||d._sat&&!d._sat.vars.immediateRender?d.globalTime(0):-1/0,t:d}}).sort(function(d,h){return h.g-d.g||-1/0}).forEach(function(d){return d.t.revert(i)}),l=a.data.length;l--;)u=a.data[l],u instanceof sn?u.data!=="nested"&&(u.scrollTrigger&&u.scrollTrigger.revert(),u.kill()):!(u instanceof rt)&&u.revert&&u.revert(i);a._r.forEach(function(d){return d(i,a)}),a.isReverted=!0}():this.data.forEach(function(o){return o.kill&&o.kill()}),this.clear(),r)for(var s=Q9.length;s--;)Q9[s].id===this.id&&Q9.splice(s,1)},e.revert=function(i){this.kill(i||{})},n}(),_I=function(){function n(t){this.contexts=[],this.scope=t,Re&&Re.data.push(this)}var e=n.prototype;return e.add=function(i,r,a){Si(i)||(i={matches:i});var s=new Zb(0,a||this.scope),o=s.conditions={},l,u,d;Re&&!s.selector&&(s.selector=Re.selector),this.contexts.push(s),r=s.add("onMatch",r),s.queries=i;for(u in i)u==="all"?d=1:(l=ui.matchMedia(i[u]),l&&(Q9.indexOf(s)<0&&Q9.push(s),(o[u]=l.matches)&&(d=1),l.addListener?l.addListener(Yd):l.addEventListener("change",Yd)));return d&&r(s,function(h){return s.add(null,h)}),this},e.revert=function(i){this.kill(i||{})},e.kill=function(i){this.contexts.forEach(function(r){return r.kill(i,!0)})},n}(),Fo={registerPlugin:function(){for(var e=arguments.length,t=new Array(e),i=0;i1){var r=e.map(function(d){return Ln.quickSetter(d,t,i)}),a=r.length;return function(d){for(var h=a;h--;)r[h](d)}}e=e[0]||{};var s=qn[t],o=X9(e),l=o.harness&&(o.harness.aliases||{})[t]||t,u=s?function(d){var h=new s;ur._pt=0,h.init(e,i?d+i:d,ur,0,[e]),h.render(1,h),ur._pt&&af(1,ur)}:o.set(e,l);return s?u:function(d){return u(e,l,i?d+i:d,o,1)}},quickTo:function(e,t,i){var r,a=Ln.to(e,r6((r={},r[t]="+=0.1",r.paused=!0,r.stagger=0,r),i||{})),s=function(l,u,d){return a.resetTo(t,l,u,d)};return s.tween=a,s},isTweening:function(e){return ke.getTweensOf(e,!0).length>0},defaults:function(e){return e&&e.ease&&(e.ease=Z9(e.ease,Nr.ease)),zg(Nr,e||{})},config:function(e){return zg(t6,e||{})},registerEffect:function(e){var t=e.name,i=e.effect,r=e.plugins,a=e.defaults,s=e.extendTimeline;(r||"").split(",").forEach(function(o){return o&&!qn[o]&&!i6[o]&&S4(t+" effect requires "+o+" plugin.")}),yc[t]=function(o,l,u){return i(E6(o),r6(l||{},a),u)},s&&(sn.prototype[t]=function(o,l,u){return this.add(yc[t](o,Si(l)?l:(u=l)&&{},this),u)})},registerEase:function(e,t){N0[e]=Z9(t)},parseEase:function(e,t){return arguments.length?Z9(e,t):N0},getById:function(e){return ke.getById(e)},exportRoot:function(e,t){e===void 0&&(e={});var i=new sn(e),r,a;for(i.smoothChildTiming=Mn(e.smoothChildTiming),ke.remove(i),i._dp=0,i._time=i._tTime=ke._time,r=ke._first;r;)a=r._next,(t||!(!r._dur&&r instanceof rt&&r.vars.onComplete===r._targets[0]))&&hi(i,r,r._start-r._delay),r=a;return hi(ke,i,0),i},context:function(e,t){return e?new Zb(e,t):Re},matchMedia:function(e){return new _I(e)},matchMediaRefresh:function(){return Q9.forEach(function(e){var t=e.conditions,i,r;for(r in t)t[r]&&(t[r]=!1,i=1);i&&e.revert()})||Yd()},addEventListener:function(e,t){var i=po[e]||(po[e]=[]);~i.indexOf(t)||i.push(t)},removeEventListener:function(e,t){var i=po[e],r=i&&i.indexOf(t);r>=0&&i.splice(r,1)},utils:{wrap:JL,wrapYoyo:ZL,distribute:Nb,random:Ib,snap:Lb,normalize:XL,getUnit:$t,clamp:$L,splitColor:Ob,toArray:E6,selector:jd,mapRange:Fb,pipe:qL,unitize:KL,interpolate:QL,shuffle:Rb},install:yb,effects:yc,ticker:Jn,updateRoot:sn.updateRoot,plugins:qn,globalTimeline:ke,core:{PropTween:Pn,globals:_b,Tween:rt,Timeline:sn,Animation:x4,getCache:X9,_removeLinkedListItem:Cl,reverting:function(){return kt},context:function(e){return e&&Re&&(Re.data.push(e),e._ctx=Re),Re},suppressOverwrites:function(e){return Wh=e}}};En("to,from,fromTo,delayedCall,set,killTweensOf",function(n){return Fo[n]=rt[n]});Jn.add(sn.updateRoot);ur=Fo.to({},{duration:0});var SI=function(e,t){for(var i=e._pt;i&&i.p!==t&&i.op!==t&&i.fp!==t;)i=i._next;return i},bI=function(e,t){var i=e._targets,r,a,s;for(r in t)for(a=i.length;a--;)s=e._ptLookup[a][r],s&&(s=s.d)&&(s._pt&&(s=SI(s,r)),s&&s.modifier&&s.modifier(t[r],e,i[a],r))},wc=function(e,t){return{name:e,headless:1,rawVars:1,init:function(r,a,s){s._onInit=function(o){var l,u;if(xt(a)&&(l={},En(a,function(d){return l[d]=1}),a=l),t){l={};for(u in a)l[u]=t(a[u]);a=l}bI(o,a)}}}},Ln=Fo.registerPlugin({name:"attr",init:function(e,t,i,r,a){var s,o,l;this.tween=i;for(s in t)l=e.getAttribute(s)||"",o=this.add(e,"setAttribute",(l||0)+"",t[s],r,a,0,0,s),o.op=s,o.b=l,this._props.push(s)},render:function(e,t){for(var i=t._pt;i;)kt?i.set(i.t,i.p,i.b,i):i.r(e,i.d),i=i._next}},{name:"endArray",headless:1,init:function(e,t){for(var i=t.length;i--;)this.add(e,i,e[i]||0,t[i],0,0,0,0,0,1)}},wc("roundProps",Wd),wc("modifiers"),wc("snap",Lb))||Fo;rt.version=sn.version=Ln.version="3.14.2";vb=1;Yh()&&Fr();N0.Power0;N0.Power1;N0.Power2;N0.Power3;N0.Power4;N0.Linear;N0.Quad;N0.Cubic;N0.Quart;N0.Quint;N0.Strong;N0.Elastic;N0.Back;N0.SteppedEase;N0.Bounce;N0.Sine;N0.Expo;N0.Circ;/*! * CSSPlugin 3.14.2 * https://gsap.com * * Copyright 2008-2025, GreenSock. All rights reserved. * Subject to the terms at https://gsap.com/standard-license * @author: Jack Doyle, jack@greensock.com */var $g,G5,br,sf,$9,Yg,of,TI=function(){return typeof window!="undefined"},t5={},B9=180/Math.PI,Tr=Math.PI/180,N8=Math.atan2,qg=1e8,lf=/([A-Z])/g,wI=/(left|right|width|margin|padding|x)/i,xI=/[\s,\(]\S/,gi={autoAlpha:"opacity,visibility",scale:"scaleX,scaleY",alpha:"opacity"},qd=function(e,t){return t.set(t.t,t.p,Math.round((t.s+t.c*e)*1e4)/1e4+t.u,t)},AI=function(e,t){return t.set(t.t,t.p,e===1?t.e:Math.round((t.s+t.c*e)*1e4)/1e4+t.u,t)},CI=function(e,t){return t.set(t.t,t.p,e?Math.round((t.s+t.c*e)*1e4)/1e4+t.u:t.b,t)},MI=function(e,t){return t.set(t.t,t.p,e===1?t.e:e?Math.round((t.s+t.c*e)*1e4)/1e4+t.u:t.b,t)},EI=function(e,t){var i=t.s+t.c*e;t.set(t.t,t.p,~~(i+(i<0?-.5:.5))+t.u,t)},Qb=function(e,t){return t.set(t.t,t.p,e?t.e:t.b,t)},eT=function(e,t){return t.set(t.t,t.p,e!==1?t.b:t.e,t)},PI=function(e,t,i){return e.style[t]=i},RI=function(e,t,i){return e.style.setProperty(t,i)},NI=function(e,t,i){return e._gsap[t]=i},LI=function(e,t,i){return e._gsap.scaleX=e._gsap.scaleY=i},II=function(e,t,i,r,a){var s=e._gsap;s.scaleX=s.scaleY=i,s.renderTransform(a,s)},kI=function(e,t,i,r,a){var s=e._gsap;s[t]=i,s.renderTransform(a,s)},Fe="transform",Rn=Fe+"Origin",FI=function n(e,t){var i=this,r=this.target,a=r.style,s=r._gsap;if(e in t5&&a){if(this.tfm=this.tfm||{},e!=="transform")e=gi[e]||e,~e.indexOf(",")?e.split(",").forEach(function(o){return i.tfm[o]=qi(r,o)}):this.tfm[e]=s.x?s[e]:qi(r,e),e===Rn&&(this.tfm.zOrigin=s.zOrigin);else return gi.transform.split(",").forEach(function(o){return n.call(i,o,t)});if(this.props.indexOf(Fe)>=0)return;s.svg&&(this.svgo=r.getAttribute("data-svg-origin"),this.props.push(Rn,t,"")),e=Fe}(a||t)&&this.props.push(e,t,a[e])},tT=function(e){e.translate&&(e.removeProperty("translate"),e.removeProperty("scale"),e.removeProperty("rotate"))},DI=function(){var e=this.props,t=this.target,i=t.style,r=t._gsap,a,s;for(a=0;a=0?Kg[s]:"")+e},Xd=function(){TI()&&window.document&&($g=window,G5=$g.document,br=G5.documentElement,$9=Kd("div")||{style:{}},Kd("div"),Fe=Dr(Fe),Rn=Fe+"Origin",$9.style.cssText="border-width:0;line-height:0;position:absolute;padding:0",iT=!!Dr("perspective"),of=Ln.core.reverting,sf=1)},Xg=function(e){var t=e.ownerSVGElement,i=Kd("svg",t&&t.getAttribute("xmlns")||"http://www.w3.org/2000/svg"),r=e.cloneNode(!0),a;r.style.display="block",i.appendChild(r),br.appendChild(i);try{a=r.getBBox()}catch(s){}return i.removeChild(r),br.removeChild(i),a},Jg=function(e,t){for(var i=t.length;i--;)if(e.hasAttribute(t[i]))return e.getAttribute(t[i])},rT=function(e){var t,i;try{t=e.getBBox()}catch(r){t=Xg(e),i=1}return t&&(t.width||t.height)||i||(t=Xg(e)),t&&!t.width&&!t.x&&!t.y?{x:+Jg(e,["x","cx","x1"])||0,y:+Jg(e,["y","cy","y1"])||0,width:0,height:0}:t},aT=function(e){return!!(e.getCTM&&(!e.parentNode||e.ownerSVGElement)&&rT(e))},n9=function(e,t){if(t){var i=e.style,r;t in t5&&t!==Rn&&(t=Fe),i.removeProperty?(r=t.substr(0,2),(r==="ms"||t.substr(0,6)==="webkit")&&(t="-"+t),i.removeProperty(r==="--"?t:t.replace(lf,"-$1").toLowerCase())):i.removeAttribute(t)}},V5=function(e,t,i,r,a,s){var o=new Pn(e._pt,t,i,0,1,s?eT:Qb);return e._pt=o,o.b=r,o.e=a,e._props.push(i),o},Zg={deg:1,rad:1,turn:1},UI={grid:1,flex:1},i9=function n(e,t,i,r){var a=parseFloat(i)||0,s=(i+"").trim().substr((a+"").length)||"px",o=$9.style,l=wI.test(t),u=e.tagName.toLowerCase()==="svg",d=(u?"client":"offset")+(l?"Width":"Height"),h=100,f=r==="px",v=r==="%",_,b,y,w;if(r===s||!a||Zg[r]||Zg[s])return a;if(s!=="px"&&!f&&(a=n(e,t,i,"px")),w=e.getCTM&&aT(e),(v||s==="%")&&(t5[t]||~t.indexOf("adius")))return _=w?e.getBBox()[l?"width":"height"]:e[d],qe(v?a/_*h:a/100*_);if(o[l?"width":"height"]=h+(f?s:r),b=r!=="rem"&&~t.indexOf("adius")||r==="em"&&e.appendChild&&!u?e:e.parentNode,w&&(b=(e.ownerSVGElement||{}).parentNode),(!b||b===G5||!b.appendChild)&&(b=G5.body),y=b._gsap,y&&v&&y.width&&l&&y.time===Jn.time&&!y.uncache)return qe(a/y.width*h);if(v&&(t==="height"||t==="width")){var U=e.style[t];e.style[t]=h+r,_=e[d],U?e.style[t]=U:n9(e,t)}else(v||s==="%")&&!UI[e6(b,"display")]&&(o.position=e6(e,"position")),b===e&&(o.position="static"),b.appendChild($9),_=$9[d],b.removeChild($9),o.position="absolute";return l&&v&&(y=X9(b),y.time=Jn.time,y.width=b[d]),qe(f?_*a/h:_&&a?h/_*a:0)},qi=function(e,t,i,r){var a;return sf||Xd(),t in gi&&t!=="transform"&&(t=gi[t],~t.indexOf(",")&&(t=t.split(",")[0])),t5[t]&&t!=="transform"?(a=C4(e,r),a=t!=="transformOrigin"?a[t]:a.svg?a.origin:Uo(e6(e,Rn))+" "+a.zOrigin+"px"):(a=e.style[t],(!a||a==="auto"||r||~(a+"").indexOf("calc("))&&(a=Do[t]&&Do[t](e,t,i)||e6(e,t)||bb(e,t)||(t==="opacity"?1:0))),i&&!~(a+"").trim().indexOf(" ")?i9(e,t,a,i)+i:a},OI=function(e,t,i,r){if(!i||i==="none"){var a=Dr(t,e,1),s=a&&e6(e,a,1);s&&s!==i?(t=a,i=s):t==="borderColor"&&(i=e6(e,"borderTopColor"))}var o=new Pn(this._pt,e.style,t,0,1,Xb),l=0,u=0,d,h,f,v,_,b,y,w,U,P,O,j;if(o.b=i,o.e=r,i+="",r+="",r.substring(0,6)==="var(--"&&(r=e6(e,r.substring(4,r.indexOf(")")))),r==="auto"&&(b=e.style[t],e.style[t]=r,r=e6(e,t)||r,b?e.style[t]=b:n9(e,t)),d=[i,r],zb(d),i=d[0],r=d[1],f=i.match(lr)||[],j=r.match(lr)||[],j.length){for(;h=lr.exec(r);)y=h[0],U=r.substring(l,h.index),_?_=(_+1)%5:(U.substr(-5)==="rgba("||U.substr(-5)==="hsla(")&&(_=1),y!==(b=f[u++]||"")&&(v=parseFloat(b)||0,O=b.substr((v+"").length),y.charAt(1)==="="&&(y=Sr(v,y)+O),w=parseFloat(y),P=y.substr((w+"").length),l=lr.lastIndex-P.length,P||(P=P||t6.units[t]||O,l===r.length&&(r+=P,o.e+=P)),O!==P&&(v=i9(e,t,b,P)||0),o._pt={_next:o._pt,p:U||u===1?U:",",s:v,c:w-v,m:_&&_<4||t==="zIndex"?Math.round:0});o.c=l-1;)o=a[u],t5[o]&&(l=1,o=o==="transformOrigin"?Rn:Fe),n9(i,o);l&&(n9(i,Fe),s&&(s.svg&&i.removeAttribute("transform"),r.scale=r.rotate=r.translate="none",C4(i,1),s.uncache=1,tT(r)))}},Do={clearProps:function(e,t,i,r,a){if(a.data!=="isFromStart"){var s=e._pt=new Pn(e._pt,t,i,0,0,zI);return s.u=r,s.pr=-10,s.tween=a,e._props.push(i),1}}},A4=[1,0,0,1,0,0],sT={},oT=function(e){return e==="matrix(1, 0, 0, 1, 0, 0)"||e==="none"||!e},ev=function(e){var t=e6(e,Fe);return oT(t)?A4:t.substr(7).match(mb).map(qe)},uf=function(e,t){var i=e._gsap||X9(e),r=e.style,a=ev(e),s,o,l,u;return i.svg&&e.getAttribute("transform")?(l=e.transform.baseVal.consolidate().matrix,a=[l.a,l.b,l.c,l.d,l.e,l.f],a.join(",")==="1,0,0,1,0,0"?A4:a):(a===A4&&!e.offsetParent&&e!==br&&!i.svg&&(l=r.display,r.display="block",s=e.parentNode,(!s||!e.offsetParent&&!e.getBoundingClientRect().width)&&(u=1,o=e.nextElementSibling,br.appendChild(e)),a=ev(e),l?r.display=l:n9(e,"display"),u&&(o?s.insertBefore(e,o):s?s.appendChild(e):br.removeChild(e))),t&&a.length>6?[a[0],a[1],a[4],a[5],a[12],a[13]]:a)},Jd=function(e,t,i,r,a,s){var o=e._gsap,l=a||uf(e,!0),u=o.xOrigin||0,d=o.yOrigin||0,h=o.xOffset||0,f=o.yOffset||0,v=l[0],_=l[1],b=l[2],y=l[3],w=l[4],U=l[5],P=t.split(" "),O=parseFloat(P[0])||0,j=parseFloat(P[1])||0,q,K,c2,S2;i?l!==A4&&(K=v*y-_*b)&&(c2=O*(y/K)+j*(-b/K)+(b*U-y*w)/K,S2=O*(-_/K)+j*(v/K)-(v*U-_*w)/K,O=c2,j=S2):(q=rT(e),O=q.x+(~P[0].indexOf("%")?O/100*q.width:O),j=q.y+(~(P[1]||P[0]).indexOf("%")?j/100*q.height:j)),r||r!==!1&&o.smooth?(w=O-u,U=j-d,o.xOffset=h+(w*v+U*b)-w,o.yOffset=f+(w*_+U*y)-U):o.xOffset=o.yOffset=0,o.xOrigin=O,o.yOrigin=j,o.smooth=!!r,o.origin=t,o.originIsAbsolute=!!i,e.style[Rn]="0px 0px",s&&(V5(s,o,"xOrigin",u,O),V5(s,o,"yOrigin",d,j),V5(s,o,"xOffset",h,o.xOffset),V5(s,o,"yOffset",f,o.yOffset)),e.setAttribute("data-svg-origin",O+" "+j)},C4=function(e,t){var i=e._gsap||new jb(e);if("x"in i&&!t&&!i.uncache)return i;var r=e.style,a=i.scaleX<0,s="px",o="deg",l=getComputedStyle(e),u=e6(e,Rn)||"0",d,h,f,v,_,b,y,w,U,P,O,j,q,K,c2,S2,H,Z,G2,q2,C2,E2,A2,X2,b2,J,p2,N2,e3,h3,I2,n2;return d=h=f=b=y=w=U=P=O=0,v=_=1,i.svg=!!(e.getCTM&&aT(e)),l.translate&&((l.translate!=="none"||l.scale!=="none"||l.rotate!=="none")&&(r[Fe]=(l.translate!=="none"?"translate3d("+(l.translate+" 0 0").split(" ").slice(0,3).join(", ")+") ":"")+(l.rotate!=="none"?"rotate("+l.rotate+") ":"")+(l.scale!=="none"?"scale("+l.scale.split(" ").join(",")+") ":"")+(l[Fe]!=="none"?l[Fe]:"")),r.scale=r.rotate=r.translate="none"),K=uf(e,i.svg),i.svg&&(i.uncache?(b2=e.getBBox(),u=i.xOrigin-b2.x+"px "+(i.yOrigin-b2.y)+"px",X2=""):X2=!t&&e.getAttribute("data-svg-origin"),Jd(e,X2||u,!!X2||i.originIsAbsolute,i.smooth!==!1,K)),j=i.xOrigin||0,q=i.yOrigin||0,K!==A4&&(Z=K[0],G2=K[1],q2=K[2],C2=K[3],d=E2=K[4],h=A2=K[5],K.length===6?(v=Math.sqrt(Z*Z+G2*G2),_=Math.sqrt(C2*C2+q2*q2),b=Z||G2?N8(G2,Z)*B9:0,U=q2||C2?N8(q2,C2)*B9+b:0,U&&(_*=Math.abs(Math.cos(U*Tr))),i.svg&&(d-=j-(j*Z+q*q2),h-=q-(j*G2+q*C2))):(n2=K[6],h3=K[7],p2=K[8],N2=K[9],e3=K[10],I2=K[11],d=K[12],h=K[13],f=K[14],c2=N8(n2,e3),y=c2*B9,c2&&(S2=Math.cos(-c2),H=Math.sin(-c2),X2=E2*S2+p2*H,b2=A2*S2+N2*H,J=n2*S2+e3*H,p2=E2*-H+p2*S2,N2=A2*-H+N2*S2,e3=n2*-H+e3*S2,I2=h3*-H+I2*S2,E2=X2,A2=b2,n2=J),c2=N8(-q2,e3),w=c2*B9,c2&&(S2=Math.cos(-c2),H=Math.sin(-c2),X2=Z*S2-p2*H,b2=G2*S2-N2*H,J=q2*S2-e3*H,I2=C2*H+I2*S2,Z=X2,G2=b2,q2=J),c2=N8(G2,Z),b=c2*B9,c2&&(S2=Math.cos(c2),H=Math.sin(c2),X2=Z*S2+G2*H,b2=E2*S2+A2*H,G2=G2*S2-Z*H,A2=A2*S2-E2*H,Z=X2,E2=b2),y&&Math.abs(y)+Math.abs(b)>359.9&&(y=b=0,w=180-w),v=qe(Math.sqrt(Z*Z+G2*G2+q2*q2)),_=qe(Math.sqrt(A2*A2+n2*n2)),c2=N8(E2,A2),U=Math.abs(c2)>2e-4?c2*B9:0,O=I2?1/(I2<0?-I2:I2):0),i.svg&&(X2=e.getAttribute("transform"),i.forceCSS=e.setAttribute("transform","")||!oT(e6(e,Fe)),X2&&e.setAttribute("transform",X2))),Math.abs(U)>90&&Math.abs(U)<270&&(a?(v*=-1,U+=b<=0?180:-180,b+=b<=0?180:-180):(_*=-1,U+=U<=0?180:-180)),t=t||i.uncache,i.x=d-((i.xPercent=d&&(!t&&i.xPercent||(Math.round(e.offsetWidth/2)===Math.round(-d)?-50:0)))?e.offsetWidth*i.xPercent/100:0)+s,i.y=h-((i.yPercent=h&&(!t&&i.yPercent||(Math.round(e.offsetHeight/2)===Math.round(-h)?-50:0)))?e.offsetHeight*i.yPercent/100:0)+s,i.z=f+s,i.scaleX=qe(v),i.scaleY=qe(_),i.rotation=qe(b)+o,i.rotationX=qe(y)+o,i.rotationY=qe(w)+o,i.skewX=U+o,i.skewY=P+o,i.transformPerspective=O+s,(i.zOrigin=parseFloat(u.split(" ")[2])||!t&&i.zOrigin||0)&&(r[Rn]=Uo(u)),i.xOffset=i.yOffset=0,i.force3D=t6.force3D,i.renderTransform=i.svg?VI:iT?lT:GI,i.uncache=0,i},Uo=function(e){return(e=e.split(" "))[0]+" "+e[1]},xc=function(e,t,i){var r=$t(t);return qe(parseFloat(t)+parseFloat(i9(e,"x",i+"px",r)))+r},GI=function(e,t){t.z="0px",t.rotationY=t.rotationX="0deg",t.force3D=0,lT(e,t)},P9="0deg",Ra="0px",R9=") ",lT=function(e,t){var i=t||this,r=i.xPercent,a=i.yPercent,s=i.x,o=i.y,l=i.z,u=i.rotation,d=i.rotationY,h=i.rotationX,f=i.skewX,v=i.skewY,_=i.scaleX,b=i.scaleY,y=i.transformPerspective,w=i.force3D,U=i.target,P=i.zOrigin,O="",j=w==="auto"&&e&&e!==1||w===!0;if(P&&(h!==P9||d!==P9)){var q=parseFloat(d)*Tr,K=Math.sin(q),c2=Math.cos(q),S2;q=parseFloat(h)*Tr,S2=Math.cos(q),s=xc(U,s,K*S2*-P),o=xc(U,o,-Math.sin(q)*-P),l=xc(U,l,c2*S2*-P+P)}y!==Ra&&(O+="perspective("+y+R9),(r||a)&&(O+="translate("+r+"%, "+a+"%) "),(j||s!==Ra||o!==Ra||l!==Ra)&&(O+=l!==Ra||j?"translate3d("+s+", "+o+", "+l+") ":"translate("+s+", "+o+R9),u!==P9&&(O+="rotate("+u+R9),d!==P9&&(O+="rotateY("+d+R9),h!==P9&&(O+="rotateX("+h+R9),(f!==P9||v!==P9)&&(O+="skew("+f+", "+v+R9),(_!==1||b!==1)&&(O+="scale("+_+", "+b+R9),U.style[Fe]=O||"translate(0, 0)"},VI=function(e,t){var i=t||this,r=i.xPercent,a=i.yPercent,s=i.x,o=i.y,l=i.rotation,u=i.skewX,d=i.skewY,h=i.scaleX,f=i.scaleY,v=i.target,_=i.xOrigin,b=i.yOrigin,y=i.xOffset,w=i.yOffset,U=i.forceCSS,P=parseFloat(s),O=parseFloat(o),j,q,K,c2,S2;l=parseFloat(l),u=parseFloat(u),d=parseFloat(d),d&&(d=parseFloat(d),u+=d,l+=d),l||u?(l*=Tr,u*=Tr,j=Math.cos(l)*h,q=Math.sin(l)*h,K=Math.sin(l-u)*-f,c2=Math.cos(l-u)*f,u&&(d*=Tr,S2=Math.tan(u-d),S2=Math.sqrt(1+S2*S2),K*=S2,c2*=S2,d&&(S2=Math.tan(d),S2=Math.sqrt(1+S2*S2),j*=S2,q*=S2)),j=qe(j),q=qe(q),K=qe(K),c2=qe(c2)):(j=h,c2=f,q=K=0),(P&&!~(s+"").indexOf("px")||O&&!~(o+"").indexOf("px"))&&(P=i9(v,"x",s,"px"),O=i9(v,"y",o,"px")),(_||b||y||w)&&(P=qe(P+_-(_*j+b*K)+y),O=qe(O+b-(_*q+b*c2)+w)),(r||a)&&(S2=v.getBBox(),P=qe(P+r/100*S2.width),O=qe(O+a/100*S2.height)),S2="matrix("+j+","+q+","+K+","+c2+","+P+","+O+")",v.setAttribute("transform",S2),U&&(v.style[Fe]=S2)},HI=function(e,t,i,r,a){var s=360,o=xt(a),l=parseFloat(a)*(o&&~a.indexOf("rad")?B9:1),u=l-r,d=r+u+"deg",h,f;return o&&(h=a.split("_")[1],h==="short"&&(u%=s,u!==u%(s/2)&&(u+=u<0?s:-s)),h==="cw"&&u<0?u=(u+s*qg)%s-~~(u/s)*s:h==="ccw"&&u>0&&(u=(u-s*qg)%s-~~(u/s)*s)),e._pt=f=new Pn(e._pt,t,i,r,u,AI),f.e=d,f.u="deg",e._props.push(i),f},tv=function(e,t){for(var i in t)e[i]=t[i];return e},jI=function(e,t,i){var r=tv({},i._gsap),a="perspective,force3D,transformOrigin,svgOrigin",s=i.style,o,l,u,d,h,f,v,_;r.svg?(u=i.getAttribute("transform"),i.setAttribute("transform",""),s[Fe]=t,o=C4(i,1),n9(i,Fe),i.setAttribute("transform",u)):(u=getComputedStyle(i)[Fe],s[Fe]=t,o=C4(i,1),s[Fe]=u);for(l in t5)u=r[l],d=o[l],u!==d&&a.indexOf(l)<0&&(v=$t(u),_=$t(d),h=v!==_?i9(i,l,u,_):parseFloat(u),f=parseFloat(d),e._pt=new Pn(e._pt,o,l,h,f-h,qd),e._pt.u=_||0,e._props.push(l));tv(o,r)};En("padding,margin,Width,Radius",function(n,e){var t="Top",i="Right",r="Bottom",a="Left",s=(e<3?[t,i,r,a]:[t+a,t+i,r+i,r+a]).map(function(o){return e<2?n+o:"border"+o+n});Do[e>1?"border"+n:n]=function(o,l,u,d,h){var f,v;if(arguments.length<4)return f=s.map(function(_){return qi(o,_,u)}),v=f.join(" "),v.split(f[0]).length===5?f[0]:v;f=(d+"").split(" "),v={},s.forEach(function(_,b){return v[_]=f[b]=f[b]||f[(b-1)/2|0]}),o.init(l,v,h)}});var uT={name:"css",register:Xd,targetTest:function(e){return e.style&&e.nodeType},init:function(e,t,i,r,a){var s=this._props,o=e.style,l=i.vars.startAt,u,d,h,f,v,_,b,y,w,U,P,O,j,q,K,c2,S2;sf||Xd(),this.styles=this.styles||nT(e),c2=this.styles.props,this.tween=i;for(b in t)if(b!=="autoRound"&&(d=t[b],!(qn[b]&&Wb(b,t,i,r,e,a)))){if(v=typeof d,_=Do[b],v==="function"&&(d=d.call(i,r,e,a),v=typeof d),v==="string"&&~d.indexOf("random(")&&(d=T4(d)),_)_(this,e,b,d,i)&&(K=1);else if(b.substr(0,2)==="--")u=(getComputedStyle(e).getPropertyValue(b)+"").trim(),d+="",K5.lastIndex=0,K5.test(u)||(y=$t(u),w=$t(d),w?y!==w&&(u=i9(e,b,u,w)+w):y&&(d+=y)),this.add(o,"setProperty",u,d,r,a,0,0,b),s.push(b),c2.push(b,0,o[b]);else if(v!=="undefined"){if(l&&b in l?(u=typeof l[b]=="function"?l[b].call(i,r,e,a):l[b],xt(u)&&~u.indexOf("random(")&&(u=T4(u)),$t(u+"")||u==="auto"||(u+=t6.units[b]||$t(qi(e,b))||""),(u+"").charAt(1)==="="&&(u=qi(e,b))):u=qi(e,b),f=parseFloat(u),U=v==="string"&&d.charAt(1)==="="&&d.substr(0,2),U&&(d=d.substr(2)),h=parseFloat(d),b in gi&&(b==="autoAlpha"&&(f===1&&qi(e,"visibility")==="hidden"&&h&&(f=0),c2.push("visibility",0,o.visibility),V5(this,o,"visibility",f?"inherit":"hidden",h?"inherit":"hidden",!h)),b!=="scale"&&b!=="transform"&&(b=gi[b],~b.indexOf(",")&&(b=b.split(",")[0]))),P=b in t5,P){if(this.styles.save(b),S2=d,v==="string"&&d.substring(0,6)==="var(--"){if(d=e6(e,d.substring(4,d.indexOf(")"))),d.substring(0,5)==="calc("){var H=e.style.perspective;e.style.perspective=d,d=e6(e,"perspective"),H?e.style.perspective=H:n9(e,"perspective")}h=parseFloat(d)}if(O||(j=e._gsap,j.renderTransform&&!t.parseTransform||C4(e,t.parseTransform),q=t.smoothOrigin!==!1&&j.smooth,O=this._pt=new Pn(this._pt,o,Fe,0,1,j.renderTransform,j,0,-1),O.dep=1),b==="scale")this._pt=new Pn(this._pt,j,"scaleY",j.scaleY,(U?Sr(j.scaleY,U+h):h)-j.scaleY||0,qd),this._pt.u=0,s.push("scaleY",b),b+="X";else if(b==="transformOrigin"){c2.push(Rn,0,o[Rn]),d=BI(d),j.svg?Jd(e,d,0,q,0,this):(w=parseFloat(d.split(" ")[2])||0,w!==j.zOrigin&&V5(this,j,"zOrigin",j.zOrigin,w),V5(this,o,b,Uo(u),Uo(d)));continue}else if(b==="svgOrigin"){Jd(e,d,1,q,0,this);continue}else if(b in sT){HI(this,j,b,f,U?Sr(f,U+d):d);continue}else if(b==="smoothOrigin"){V5(this,j,"smooth",j.smooth,d);continue}else if(b==="force3D"){j[b]=d;continue}else if(b==="transform"){jI(this,d,e);continue}}else b in o||(b=Dr(b)||b);if(P||(h||h===0)&&(f||f===0)&&!xI.test(d)&&b in o)y=(u+"").substr((f+"").length),h||(h=0),w=$t(d)||(b in t6.units?t6.units[b]:y),y!==w&&(f=i9(e,b,u,w)),this._pt=new Pn(this._pt,P?j:o,b,f,(U?Sr(f,U+h):h)-f,!P&&(w==="px"||b==="zIndex")&&t.autoRound!==!1?EI:qd),this._pt.u=w||0,P&&S2!==d?(this._pt.b=u,this._pt.e=S2,this._pt.r=MI):y!==w&&w!=="%"&&(this._pt.b=u,this._pt.r=CI);else if(b in o)OI.call(this,e,b,u,U?U+d:d);else if(b in e)this.add(e,b,u||e[b],U?U+d:d,r,a);else if(b!=="parseTransform"){Kh(b,d);continue}P||(b in o?c2.push(b,0,o[b]):typeof e[b]=="function"?c2.push(b,2,e[b]()):c2.push(b,1,u||e[b])),s.push(b)}}K&&Jb(this)},render:function(e,t){if(t.tween._time||!of())for(var i=t._pt;i;)i.r(e,i.d),i=i._next;else t.styles.revert()},get:qi,aliases:gi,getSetter:function(e,t,i){var r=gi[t];return r&&r.indexOf(",")<0&&(t=r),t in t5&&t!==Rn&&(e._gsap.x||qi(e,"x"))?i&&Yg===i?t==="scale"?LI:NI:(Yg=i||{})&&(t==="scale"?II:kI):e.style&&!$h(e.style[t])?PI:~t.indexOf("-")?RI:rf(e,t)},core:{_removeProperty:n9,_getMatrix:uf}};Ln.utils.checkPrefix=Dr;Ln.core.getStyleSaver=nT;(function(n,e,t,i){var r=En(n+","+e+","+t,function(a){t5[a]=1});En(e,function(a){t6.units[a]="deg",sT[a]=1}),gi[r[13]]=n+","+e,En(i,function(a){var s=a.split(":");gi[s[1]]=r[s[0]]})})("x,y,z,scale,scaleX,scaleY,xPercent,yPercent","rotation,rotationX,rotationY,skewX,skewY","transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective","0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY");En("x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective",function(n){t6.units[n]="px"});Ln.registerPlugin(uT);var Ge=Ln.registerPlugin(uT)||Ln;Ge.core.Tween;const WI={name:"SvglineAnimation",props:{width:{type:Number,default:135},height:{type:Number,default:150},path:{type:String,default:"M0 72.5H682L732 0.5H3082"},color:{type:String,default:"#0091FF"},duration:{type:Number,default:3},length:{type:Number,default:100},begin:{type:Number,default:0},dir:{type:Array,default:()=>[0,1]},strokeWidth:{type:Number,default:4}},data(){let n=1;return{maskId:"svgline-"+n,radialGradientId:"radialGradient-"+n}},mounted(){let n=this._.uid;this.maskId="svgline-"+n,this.radialGradientId="radialGradient-"+n}},$I={class:"svg-line-animation"},YI=["viewBox"],qI=["id"],KI=["stop-opacity"],XI=["stop-opacity"],JI=["id"],ZI=["r","fill"],QI=["begin","dur","path","keyPoints"],ek=["d","stroke","stroke-width","mask"];function tk(n,e,t,i,r,a){return h2(),v2("div",$I,[(h2(),v2("svg",{width:"100%",height:"100%",viewBox:`0 0 ${t.width} ${t.height}`,fill:"none",xmlns:"http://www.w3.org/2000/svg"},[M("defs",null,[M("radialGradient",{id:r.radialGradientId,cx:"50%",cy:"50%",fx:"100%",fy:"50%",r:"50%"},[M("stop",{offset:"0%","stop-color":"#fff","stop-opacity":t.dir[1]},null,8,KI),M("stop",{offset:"100%","stop-color":"#fff","stop-opacity":t.dir[0]},null,8,XI)],8,qI),M("mask",{id:r.maskId},[M("circle",{r:t.length,cx:"0",cy:"0",fill:`url(#${r.radialGradientId})`},[M("animateMotion",{begin:`${t.begin}s`,dur:`${t.duration}s`,path:t.path,rotate:"auto",keyPoints:`${t.dir[0]};${t.dir[1]}`,keyTimes:"0;1",repeatCount:"indefinite"},null,8,QI)],8,ZI)],8,JI)]),M("path",{class:"path-line",d:t.path,stroke:t.color,"stroke-width":t.strokeWidth,mask:`url(#${r.maskId})`},null,8,ek)],8,YI))])}const Oo=xl(WI,[["render",tk]]);const nk={class:"m-header"},ik={class:"m-header-wrap"},rk={class:"m-header-title"},ak={class:"m-header-subtext"},sk={class:"m-header-left",style:{color:"#fff"}},ok={class:"m-header-right"},lk={class:"m-header-line"},uk={__name:"index",props:{title:{type:String,default:"红原县数字畜牧业监管平台"},subText:{type:String,default:"Hongyuan Digital Animal Husbandry Supervision Platform"}},setup(n){return(e,t)=>(h2(),v2("div",nk,[M("div",ik,[M("div",rk,L2(n.title),1),M("div",ak,L2(n.subText),1)]),M("div",sk,[Rr(e.$slots,"left")]),M("div",ok,[Rr(e.$slots,"right")]),M("div",lk,[K3(Oo,{class:"m-header-line-left",width:961,height:79,color:"#30DCFF",strokeWidth:2,dir:[0,1],length:100,path:"M1 1.52783L535 25.6808C552.73 26.5835 571.454 31.3851 588.834 39.2194C593.758 41.4385 598.692 43.7289 603.643 46.0273C633.567 59.9182 664.121 74.1016 696.754 74.6262C696.765 74.6264 696.775 74.6265 696.786 74.6267C821.602 76.5993 879.336 78 961 78"}),K3(Oo,{class:"m-header-line-right",width:961,height:79,color:"#30DCFF",strokeWidth:2,dir:[0,1],length:100,path:"M1 1.52783L535 25.6808C552.73 26.5835 571.454 31.3851 588.834 39.2194C593.758 41.4385 598.692 43.7289 603.643 46.0273C633.567 59.9182 664.121 74.1016 696.754 74.6262C696.765 74.6264 696.775 74.6265 696.786 74.6267C821.602 76.5993 879.336 78 961 78"})])]))}};const ck={class:"m-menu"},dk={__name:"index",props:{defaultActive:{type:[String,Number],default:""}},emits:["select"],setup(n,{emit:e}){const t=e,i=n,r=x3(i.defaultActive);return Ig("updateActive",s=>{s!==r.value&&(r.value=s,t("select",s))}),Ig("activeIndex",r),Z0(()=>i.defaultActive,s=>{s!==r.value&&(r.value=s)}),(s,o)=>(h2(),v2("div",ck,[Rr(s.$slots,"default")]))}},hk={__name:"index",props:{index:{type:[String,Number],required:!0}},setup(n){const e=n,t=or("updateActive"),i=or("activeIndex"),r=()=>{t(e.index)};return(a,s)=>(h2(),v2("div",{class:x1(["m-menu-item",{"is-active":n.index===D0(i)}]),onClick:r},[Rr(a.$slots,"default")],2))}};let nv=0;const iv="webkit moz ms o".split(" ");let ci,di;const fk=typeof window=="undefined";if(fk)ci=function(){},di=function(){};else{ci=window.requestAnimationFrame,di=window.cancelAnimationFrame;let n;for(let e=0;e{e(t+i)},i);return nv=t+i,r},di=function(e){window.clearTimeout(e)})}const pk={props:{startVal:{type:Number,required:!1,default:0},endVal:{type:Number,required:!1,default:2017},duration:{type:Number,required:!1,default:3e3},autoplay:{type:Boolean,required:!1,default:!0},decimals:{type:Number,required:!1,default:0,validator(n){return n>=0}},decimal:{type:String,required:!1,default:"."},separator:{type:String,required:!1,default:","},prefix:{type:String,required:!1,default:""},suffix:{type:String,required:!1,default:""},useEasing:{type:Boolean,required:!1,default:!0},easingFn:{type:Function,default(n,e,t,i){return t*(-Math.pow(2,-10*n/i)+1)*1024/1023+e}}},data(){return{localStartVal:this.startVal,displayValue:this.formatNumber(this.startVal),printVal:null,paused:!1,localDuration:this.duration,startTime:null,timestamp:null,remaining:null,rAF:null}},computed:{countDown(){return this.startVal>this.endVal}},watch:{startVal(){this.autoplay&&this.start()},endVal(){this.autoplay&&this.start()}},mounted(){this.autoplay&&this.start(),this.$emit("mountedCallback")},methods:{start(){this.localStartVal=this.startVal,this.startTime=null,this.localDuration=this.duration,this.paused=!1,this.rAF=ci(this.count)},pauseResume(){this.paused?(this.resume(),this.paused=!1):(this.pause(),this.paused=!0)},pause(){di(this.rAF)},resume(){this.startTime=null,this.localDuration=+this.remaining,this.localStartVal=+this.printVal,ci(this.count)},reset(){this.startTime=null,di(this.rAF),this.displayValue=this.formatNumber(this.startVal)},count(n){this.startTime||(this.startTime=n),this.timestamp=n;const e=n-this.startTime;this.remaining=this.localDuration-e,this.useEasing?this.countDown?this.printVal=this.localStartVal-this.easingFn(e,0,this.localStartVal-this.endVal,this.localDuration):this.printVal=this.easingFn(e,this.localStartVal,this.endVal-this.localStartVal,this.localDuration):this.countDown?this.printVal=this.localStartVal-(this.localStartVal-this.endVal)*(e/this.localDuration):this.printVal=this.localStartVal+(this.endVal-this.localStartVal)*(e/this.localDuration),this.countDown?this.printVal=this.printValthis.endVal?this.endVal:this.printVal,this.displayValue=this.formatNumber(this.printVal),e1?this.decimal+e[1]:"",r=/(\d+)(\d{3})/;if(this.separator&&!this.isNumber(this.separator))for(;r.test(t);)t=t.replace(r,"$1"+this.separator+"$2");return this.prefix+t+i+this.suffix}},destroyed(){di(this.rAF)}};function mk(n,e,t,i,r,a){return h2(),v2("span",null,L2(r.displayValue),1)}const cT=xl(pk,[["render",mk]]);typeof window!="undefined"&&window.Vue&&window.Vue.component("count-to",cT);const gk={class:"count-card-left"},vk={class:"count-card-title"},yk={class:"title-zh"},_k={key:0,class:"title-en"},Sk={class:"count-card-right"},bk={class:"unit"},Tk={__name:"index",props:{info:{type:Object,default:()=>({icon:"xiaoshoujine",zh:"2023年销售金额",en:"Sales amount in 2023",value:9500,unit:"万元",decimals:0})}},setup(n){const e=n,t=x3(!0),i=x3(!1),r=x3(0);let a=null;const s=z2(()=>e.info.duration||1800);Z0(()=>[e.info.value,e.info.zh],()=>{a&&window.clearTimeout(a),t.value=!0,i.value=!1,r.value+=1},{immediate:!0});function o(d){return d.toUpperCase()}function l(){t.value=!0,i.value=!1}function u(){t.value=!1,i.value=!0,a&&window.clearTimeout(a),a=window.setTimeout(()=>{i.value=!1},900)}return a6(()=>{a&&window.clearTimeout(a)}),(d,h)=>(h2(),v2("div",{class:x1(["count-card",{"is-counting":t.value,"is-settled":i.value}])},[M("div",gk,[M("div",{class:x1(["count-card-icon","icon-"+n.info.icon])},null,2),M("div",vk,[M("div",yk,L2(n.info.zh),1),n.info.en?(h2(),v2("div",_k,L2(o(n.info.en)),1)):l1("",!0)])]),M("div",Sk,[(h2(),v2("div",{class:"value",key:r.value},[K3(D0(cT),{startVal:0,endVal:n.info.value,decimals:n.info.decimals,duration:s.value,separator:"",autoplay:!0,onMountedCallback:l,onCallback:u},null,8,["endVal","decimals","duration"])])),M("div",bk,L2(n.info.unit),1)])],2))}};var r7=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function wk(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function a7(n){throw new Error('Could not dynamically require "'+n+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Bo={exports:{}};Bo.exports;(function(n,e){function t(R){"@babel/helpers - typeof";return t=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(N){return typeof N}:function(N){return N&&typeof Symbol=="function"&&N.constructor===Symbol&&N!==Symbol.prototype?"symbol":typeof N},t(R)}function i(R,N){if(!(R instanceof N))throw new TypeError("Cannot call a class as a function")}function r(R,N){for(var m=0;m>>1,t1=[["ary",R2],["bind",I],["bindKey",Y],["curry",A],["curryRight",k],["flip",Q2],["partial",V],["partialRight",M2],["rearg",t3]],v1="[object Arguments]",j1="[object Array]",U1="[object AsyncFunction]",D1="[object Boolean]",u0="[object Date]",On="[object DOMException]",Dt="[object Error]",et="[object Function]",At="[object GeneratorFunction]",b0="[object Map]",Te="[object Number]",yt="[object Null]",d0="[object Object]",B0="[object Promise]",k1="[object Proxy]",w1="[object RegExp]",Z1="[object Set]",I0="[object String]",d2="[object Symbol]",O2="[object Undefined]",j2="[object WeakMap]",K2="[object WeakSet]",f2="[object ArrayBuffer]",a3="[object DataView]",n3="[object Float32Array]",m3="[object Float64Array]",_3="[object Int8Array]",V3="[object Int16Array]",A3="[object Int32Array]",$3="[object Uint8Array]",A0="[object Uint8ClampedArray]",F1="[object Uint16Array]",V1="[object Uint32Array]",a0=/\b__p \+= '';/g,W1=/\b(__p \+=) '' \+/g,k0=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ln=/&(?:amp|lt|gt|quot|#39);/g,Zt=/[&<>"']/g,h0=RegExp(ln.source),Q0=RegExp(Zt.source),ei=/<%-([\s\S]+?)%>/g,c5=/<%([\s\S]+?)%>/g,Ci=/<%=([\s\S]+?)%>/g,m8=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,p9=/^\w*$/,we=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,oe=/[\\^$.*+?()[\]{}|]/g,Ut=RegExp(oe.source),un=/^\s+/,s6=/\s/,Mi=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ei=/\{\n\/\* \[wrapped with (.+)\] \*/,m9=/,? & /,g9=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,d5=/[()=,{}\[\]\/\s]/,cn=/\\(\\)?/g,cs=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ca=/\w*$/,tu=/^[-+]0x[0-9a-f]+$/i,ds=/^0b[01]+$/i,g8=/^\[object .+?Constructor\]$/,hs=/^0o[0-7]+$/i,nu=/^(?:0|[1-9]\d*)$/,fs=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,v9=/($^)/,iu=/['\n\r\u2028\u2029\\]/g,h5="\\ud800-\\udfff",ru="\\u0300-\\u036f",da="\\ufe20-\\ufe2f",au="\\u20d0-\\u20ff",ps=ru+da+au,je="\\u2700-\\u27bf",ms="a-z\\xdf-\\xf6\\xf8-\\xff",$1="\\xac\\xb1\\xd7\\xf7",ge="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",gs="\\u2000-\\u206f",y9=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",v8="A-Z\\xc0-\\xd6\\xd8-\\xde",G="\\ufe0e\\ufe0f",z=$1+ge+gs+y9,a2="['’]",J2="["+h5+"]",w3="["+z+"]",u1="["+ps+"]",t0="\\d+",_0="["+je+"]",O0="["+ms+"]",F0="[^"+h5+z+t0+je+ms+v8+"]",E0="\\ud83c[\\udffb-\\udfff]",dn="(?:"+u1+"|"+E0+")",_t="[^"+h5+"]",ve="(?:\\ud83c[\\udde6-\\uddff]){2}",Oe="[\\ud800-\\udbff][\\udc00-\\udfff]",o6="["+v8+"]",f5="\\u200d",p5="(?:"+O0+"|"+F0+")",_9="(?:"+o6+"|"+F0+")",m5="(?:"+a2+"(?:d|ll|m|re|s|t|ve))?",g5="(?:"+a2+"(?:D|LL|M|RE|S|T|VE))?",ha=dn+"?",fa="["+G+"]?",_A="(?:"+f5+"(?:"+[_t,ve,Oe].join("|")+")"+fa+ha+")*",SA="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",bA="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",bp=fa+ha+_A,TA="(?:"+[_0,ve,Oe].join("|")+")"+bp,wA="(?:"+[_t+u1+"?",u1,ve,Oe,J2].join("|")+")",xA=RegExp(a2,"g"),AA=RegExp(u1,"g"),su=RegExp(E0+"(?="+E0+")|"+wA+bp,"g"),CA=RegExp([o6+"?"+O0+"+"+m5+"(?="+[w3,o6,"$"].join("|")+")",_9+"+"+g5+"(?="+[w3,o6+p5,"$"].join("|")+")",o6+"?"+p5+"+"+m5,o6+"+"+g5,bA,SA,t0,TA].join("|"),"g"),MA=RegExp("["+f5+h5+ps+G+"]"),EA=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,PA=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],RA=-1,xe={};xe[n3]=xe[m3]=xe[_3]=xe[V3]=xe[A3]=xe[$3]=xe[A0]=xe[F1]=xe[V1]=!0,xe[v1]=xe[j1]=xe[f2]=xe[D1]=xe[a3]=xe[u0]=xe[Dt]=xe[et]=xe[b0]=xe[Te]=xe[d0]=xe[w1]=xe[Z1]=xe[I0]=xe[j2]=!1;var ye={};ye[v1]=ye[j1]=ye[f2]=ye[a3]=ye[D1]=ye[u0]=ye[n3]=ye[m3]=ye[_3]=ye[V3]=ye[A3]=ye[b0]=ye[Te]=ye[d0]=ye[w1]=ye[Z1]=ye[I0]=ye[d2]=ye[$3]=ye[A0]=ye[F1]=ye[V1]=!0,ye[Dt]=ye[et]=ye[j2]=!1;var NA={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},LA={"&":"&","<":"<",">":">",'"':""","'":"'"},IA={"&":"&","<":"<",">":">",""":'"',"'":"'"},kA={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},FA=parseFloat,DA=parseInt,Tp=typeof c2=="object"&&c2&&c2.Object===Object&&c2,UA=typeof self=="object"&&self&&self.Object===Object&&self,Ct=Tp||UA||Function("return this")(),ou=N&&!N.nodeType&&N,S9=ou&&!0&&R&&!R.nodeType&&R,wp=S9&&S9.exports===ou,lu=wp&&Tp.process,l6=function(){try{var l3=S9&&S9.require&&S9.require("util").types;return l3||lu&&lu.binding&&lu.binding("util")}catch(N3){}}(),xp=l6&&l6.isArrayBuffer,Ap=l6&&l6.isDate,Cp=l6&&l6.isMap,Mp=l6&&l6.isRegExp,Ep=l6&&l6.isSet,Pp=l6&&l6.isTypedArray;function Bn(l3,N3,E3){switch(E3.length){case 0:return l3.call(N3);case 1:return l3.call(N3,E3[0]);case 2:return l3.call(N3,E3[0],E3[1]);case 3:return l3.call(N3,E3[0],E3[1],E3[2])}return l3.apply(N3,E3)}function OA(l3,N3,E3,P1){for(var n0=-1,G0=l3==null?0:l3.length;++n0-1}function uu(l3,N3,E3){for(var P1=-1,n0=l3==null?0:l3.length;++P1-1;);return E3}function Up(l3,N3){for(var E3=l3.length;E3--&&y8(N3,l3[E3],0)>-1;);return E3}function YA(l3,N3){for(var E3=l3.length,P1=0;E3--;)l3[E3]===N3&&++P1;return P1}var qA=fu(NA),KA=fu(LA);function XA(l3){return"\\"+kA[l3]}function JA(l3,N3){return l3==null?m:l3[N3]}function _8(l3){return MA.test(l3)}function ZA(l3){return EA.test(l3)}function QA(l3){for(var N3,E3=[];!(N3=l3.next()).done;)E3.push(N3.value);return E3}function vu(l3){var N3=-1,E3=Array(l3.size);return l3.forEach(function(P1,n0){E3[++N3]=[n0,P1]}),E3}function Op(l3,N3){return function(E3){return l3(N3(E3))}}function _5(l3,N3){for(var E3=-1,P1=l3.length,n0=0,G0=[];++E3-1}function zC(c,p){var T=this.__data__,D=ks(T,c);return D<0?(++this.size,T.push([c,p])):T[D][1]=p,this}Pi.prototype.clear=DC,Pi.prototype.delete=UC,Pi.prototype.get=OC,Pi.prototype.has=BC,Pi.prototype.set=zC;function Ri(c){var p=-1,T=c==null?0:c.length;for(this.clear();++p=p?c:p)),c}function h6(c,p,T,D,e2,w2){var $2,i3=p&Q,p3=p&X,z3=p&D2;if(T&&($2=e2?T(c,D,e2,w2):T(c)),$2!==m)return $2;if(!Ne(c))return c;var G3=s0(c);if(G3){if($2=jM(c),!i3)return hn(c,$2)}else{var Y3=Bt(c),y1=Y3==et||Y3==At;if(A5(c))return Sm(c,i3);if(Y3==d0||Y3==v1||y1&&!e2){if($2=p3||y1?{}:Bm(c),!i3)return p3?IM(c,nM($2,c)):LM(c,Xp($2,c))}else{if(!ye[Y3])return e2?c:{};$2=WM(c,Y3,i3)}}w2||(w2=new B6);var I1=w2.get(c);if(I1)return I1;w2.set(c,$2),pg(c)?c.forEach(function(K1){$2.add(h6(K1,p,T,K1,c,w2))}):hg(c)&&c.forEach(function(K1,x0){$2.set(x0,h6(K1,p,T,x0,c,w2))});var q1=z3?p3?Hu:Vu:p3?pn:St,m0=G3?m:q1(c);return u6(m0||c,function(K1,x0){m0&&(x0=K1,K1=c[x0]),Sa($2,x0,h6(K1,p,T,x0,c,w2))}),$2}function iM(c){var p=St(c);return function(T){return Jp(T,c,p)}}function Jp(c,p,T){var D=T.length;if(c==null)return!D;for(c=le(c);D--;){var e2=T[D],w2=p[e2],$2=c[e2];if($2===m&&!(e2 in c)||!w2($2))return!1}return!0}function Zp(c,p,T){if(typeof c!="function")throw new c6(E);return Ma(function(){c.apply(m,T)},p)}function ba(c,p,T,D){var e2=-1,w2=vs,$2=!0,i3=c.length,p3=[],z3=p.length;if(!i3)return p3;T&&(p=Pe(p,zn(T))),D?(w2=uu,$2=!1):p.length>=S&&(w2=pa,$2=!1,p=new w9(p));e:for(;++e2e2?0:e2+T),D=D===m||D>e2?e2:f0(D),D<0&&(D+=e2),D=T>D?0:gg(D);T0&&T(i3)?p>1?Mt(i3,p-1,T,D,e2):y5(e2,i3):D||(e2[e2.length]=i3)}return e2}var xu=Cm(),tm=Cm(!0);function ti(c,p){return c&&xu(c,p,St)}function Au(c,p){return c&&tm(c,p,St)}function Ds(c,p){return v5(p,function(T){return Fi(c[T])})}function A9(c,p){p=w5(p,c);for(var T=0,D=p.length;c!=null&&Tp}function sM(c,p){return c!=null&&ee.call(c,p)}function oM(c,p){return c!=null&&p in le(c)}function lM(c,p,T){return c>=Ot(p,T)&&c=120&&G3.length>=120)?new w9($2&&G3):m}G3=c[0];var Y3=-1,y1=i3[0];e:for(;++Y3-1;)i3!==c&&Ms.call(i3,p3,1),Ms.call(c,p3,1);return c}function hm(c,p){for(var T=c?p.length:0,D=T-1;T--;){var e2=p[T];if(T==D||e2!==w2){var w2=e2;ki(e2)?Ms.call(c,e2,1):Fu(c,e2)}}return c}function Lu(c,p){return c+Rs($p()*(p-c+1))}function bM(c,p,T,D){for(var e2=-1,w2=ct(Ps((p-c)/(T||1)),0),$2=E3(w2);w2--;)$2[D?w2:++e2]=c,c+=T;return $2}function Iu(c,p){var T="";if(!c||p<1||p>L1)return T;do p%2&&(T+=c),p=Rs(p/2),p&&(c+=c);while(p);return T}function S0(c,p){return Xu(Vm(c,p,mn),c+"")}function TM(c){return Kp(R8(c))}function wM(c,p){var T=R8(c);return Ys(T,x9(p,0,T.length))}function xa(c,p,T,D){if(!Ne(c))return c;p=w5(p,c);for(var e2=-1,w2=p.length,$2=w2-1,i3=c;i3!=null&&++e2e2?0:e2+p),T=T>e2?e2:T,T<0&&(T+=e2),e2=p>T?0:T-p>>>0,p>>>=0;for(var w2=E3(e2);++D>>1,$2=c[w2];$2!==null&&!Vn($2)&&(T?$2<=p:$2=S){var z3=p?null:UM(c);if(z3)return _s(z3);$2=!1,e2=pa,p3=new w9}else p3=p?[]:i3;e:for(;++D=D?c:f6(c,p,T)}var _m=pC||function(c){return Ct.clearTimeout(c)};function Sm(c,p){if(p)return c.slice();var T=c.length,D=Gp?Gp(T):new c.constructor(T);return c.copy(D),D}function Bu(c){var p=new c.constructor(c.byteLength);return new As(p).set(new As(c)),p}function EM(c,p){var T=p?Bu(c.buffer):c.buffer;return new c.constructor(T,c.byteOffset,c.byteLength)}function PM(c){var p=new c.constructor(c.source,ca.exec(c));return p.lastIndex=c.lastIndex,p}function RM(c){return _a?le(_a.call(c)):{}}function bm(c,p){var T=p?Bu(c.buffer):c.buffer;return new c.constructor(T,c.byteOffset,c.length)}function Tm(c,p){if(c!==p){var T=c!==m,D=c===null,e2=c===c,w2=Vn(c),$2=p!==m,i3=p===null,p3=p===p,z3=Vn(p);if(!i3&&!z3&&!w2&&c>p||w2&&$2&&p3&&!i3&&!z3||D&&$2&&p3||!T&&p3||!e2)return 1;if(!D&&!w2&&!z3&&c=i3)return p3;var z3=T[D];return p3*(z3=="desc"?-1:1)}}return c.index-p.index}function wm(c,p,T,D){for(var e2=-1,w2=c.length,$2=T.length,i3=-1,p3=p.length,z3=ct(w2-$2,0),G3=E3(p3+z3),Y3=!D;++i31?T[e2-1]:m,$2=e2>2?T[2]:m;for(w2=c.length>3&&typeof w2=="function"?(e2--,w2):m,$2&&en(T[0],T[1],$2)&&(w2=e2<3?m:w2,e2=1),p=le(p);++D-1?e2[w2?p[$2]:$2]:m}}function Pm(c){return Ii(function(p){var T=p.length,D=T,e2=d6.prototype.thru;for(c&&p.reverse();D--;){var w2=p[D];if(typeof w2!="function")throw new c6(E);if(e2&&!$2&&Ws(w2)=="wrapper")var $2=new d6([],!0)}for(D=$2?D:T;++D1&&P0.reverse(),G3&&p3i3))return!1;var z3=w2.get(c),G3=w2.get(p);if(z3&&G3)return z3==p&&G3==c;var Y3=-1,y1=!0,I1=T&C?new w9:m;for(w2.set(c,p),w2.set(p,c);++Y31?"& ":"")+p[D],p=p.join(T>2?", ":" "),c.replace(Mi,`{ /* [wrapped with `+p+`] */ `)}function YM(c){return s0(c)||E9(c)||!!(jp&&c&&c[jp])}function ki(c,p){var T=typeof c;return p=p==null?L1:p,!!p&&(T=="number"||T!="symbol"&&nu.test(c))&&c>-1&&c%1==0&&c0){if(++p>=M3)return arguments[0]}else p=0;return c.apply(m,arguments)}}function Ys(c,p){var T=-1,D=c.length,e2=D-1;for(p=p===m?D:p;++T1?c[p-1]:m;return T=typeof T=="function"?(c.pop(),T):m,eg(c,T)});function tg(c){var p=m2(c);return p.__chain__=!0,p}function rP(c,p){return p(c),c}function qs(c,p){return p(c)}var aP=Ii(function(c){var p=c.length,T=p?c[0]:0,D=this.__wrapped__,e2=function(w2){return wu(w2,c)};return p>1||this.__actions__.length||!(D instanceof C0)||!ki(T)?this.thru(e2):(D=D.slice(T,+T+(p?1:0)),D.__actions__.push({func:qs,args:[e2],thisArg:m}),new d6(D,this.__chain__).thru(function(w2){return p&&!w2.length&&w2.push(m),w2}))});function sP(){return tg(this)}function oP(){return new d6(this.value(),this.__chain__)}function lP(){this.__values__===m&&(this.__values__=mg(this.value()));var c=this.__index__>=this.__values__.length,p=c?m:this.__values__[this.__index__++];return{done:c,value:p}}function uP(){return this}function cP(c){for(var p,T=this;T instanceof Is;){var D=qm(T);D.__index__=0,D.__values__=m,p?e2.__wrapped__=D:p=D;var e2=D;T=T.__wrapped__}return e2.__wrapped__=c,p}function dP(){var c=this.__wrapped__;if(c instanceof C0){var p=c;return this.__actions__.length&&(p=new C0(this)),p=p.reverse(),p.__actions__.push({func:qs,args:[Ju],thisArg:m}),new d6(p,this.__chain__)}return this.thru(Ju)}function hP(){return vm(this.__wrapped__,this.__actions__)}var fP=zs(function(c,p,T){ee.call(c,T)?++c[T]:Ni(c,T,1)});function pP(c,p,T){var D=s0(c)?Rp:rM;return T&&en(c,p,T)&&(p=m),D(c,Y1(p,3))}function mP(c,p){var T=s0(c)?v5:em;return T(c,Y1(p,3))}var gP=Em(Km),vP=Em(Xm);function yP(c,p){return Mt(Ks(c,p),1)}function _P(c,p){return Mt(Ks(c,p),N1)}function SP(c,p,T){return T=T===m?1:f0(T),Mt(Ks(c,p),T)}function ng(c,p){var T=s0(c)?u6:b5;return T(c,Y1(p,3))}function ig(c,p){var T=s0(c)?BA:Qp;return T(c,Y1(p,3))}var bP=zs(function(c,p,T){ee.call(c,T)?c[T].push(p):Ni(c,T,[p])});function TP(c,p,T,D){c=fn(c)?c:R8(c),T=T&&!D?f0(T):0;var e2=c.length;return T<0&&(T=ct(e2+T,0)),e7(c)?T<=e2&&c.indexOf(p,T)>-1:!!e2&&y8(c,p,T)>-1}var wP=S0(function(c,p,T){var D=-1,e2=typeof p=="function",w2=fn(c)?E3(c.length):[];return b5(c,function($2){w2[++D]=e2?Bn(p,$2,T):Ta($2,p,T)}),w2}),xP=zs(function(c,p,T){Ni(c,T,p)});function Ks(c,p){var T=s0(c)?Pe:sm;return T(c,Y1(p,3))}function AP(c,p,T,D){return c==null?[]:(s0(p)||(p=p==null?[]:[p]),T=D?m:T,s0(T)||(T=T==null?[]:[T]),cm(c,p,T))}var CP=zs(function(c,p,T){c[T?0:1].push(p)},function(){return[[],[]]});function MP(c,p,T){var D=s0(c)?cu:kp,e2=arguments.length<3;return D(c,Y1(p,4),T,e2,b5)}function EP(c,p,T){var D=s0(c)?zA:kp,e2=arguments.length<3;return D(c,Y1(p,4),T,e2,Qp)}function PP(c,p){var T=s0(c)?v5:em;return T(c,Zs(Y1(p,3)))}function RP(c){var p=s0(c)?Kp:TM;return p(c)}function NP(c,p,T){(T?en(c,p,T):p===m)?p=1:p=f0(p);var D=s0(c)?QC:wM;return D(c,p)}function LP(c){var p=s0(c)?eM:AM;return p(c)}function IP(c){if(c==null)return 0;if(fn(c))return e7(c)?S8(c):c.length;var p=Bt(c);return p==b0||p==Z1?c.size:Pu(c).length}function kP(c,p,T){var D=s0(c)?du:CM;return T&&en(c,p,T)&&(p=m),D(c,Y1(p,3))}var FP=S0(function(c,p){if(c==null)return[];var T=p.length;return T>1&&en(c,p[0],p[1])?p=[]:T>2&&en(p[0],p[1],p[2])&&(p=[p[0]]),cm(c,Mt(p,1),[])}),Xs=mC||function(){return Ct.Date.now()};function DP(c,p){if(typeof p!="function")throw new c6(E);return c=f0(c),function(){if(--c<1)return p.apply(this,arguments)}}function rg(c,p,T){return p=T?m:p,p=c&&p==null?c.length:p,Li(c,R2,m,m,m,m,p)}function ag(c,p){var T;if(typeof p!="function")throw new c6(E);return c=f0(c),function(){return--c>0&&(T=p.apply(this,arguments)),c<=1&&(p=m),T}}var Qu=S0(function(c,p,T){var D=I;if(T.length){var e2=_5(T,E8(Qu));D|=V}return Li(c,D,p,T,e2)}),sg=S0(function(c,p,T){var D=I|Y;if(T.length){var e2=_5(T,E8(sg));D|=V}return Li(p,D,c,T,e2)});function og(c,p,T){p=T?m:p;var D=Li(c,A,m,m,m,m,m,p);return D.placeholder=og.placeholder,D}function lg(c,p,T){p=T?m:p;var D=Li(c,k,m,m,m,m,m,p);return D.placeholder=lg.placeholder,D}function ug(c,p,T){var D,e2,w2,$2,i3,p3,z3=0,G3=!1,Y3=!1,y1=!0;if(typeof c!="function")throw new c6(E);p=m6(p)||0,Ne(T)&&(G3=!!T.leading,Y3="maxWait"in T,w2=Y3?ct(m6(T.maxWait)||0,p):w2,y1="trailing"in T?!!T.trailing:y1);function I1($e){var G6=D,Ui=e2;return D=e2=m,z3=$e,$2=c.apply(Ui,G6),$2}function q1($e){return z3=$e,i3=Ma(x0,p),G3?I1($e):$2}function m0($e){var G6=$e-p3,Ui=$e-z3,Eg=p-G6;return Y3?Ot(Eg,w2-Ui):Eg}function K1($e){var G6=$e-p3,Ui=$e-z3;return p3===m||G6>=p||G6<0||Y3&&Ui>=w2}function x0(){var $e=Xs();if(K1($e))return P0($e);i3=Ma(x0,m0($e))}function P0($e){return i3=m,y1&&D?I1($e):(D=e2=m,$2)}function Hn(){i3!==m&&_m(i3),z3=0,D=p3=e2=i3=m}function tn(){return i3===m?$2:P0(Xs())}function jn(){var $e=Xs(),G6=K1($e);if(D=arguments,e2=this,p3=$e,G6){if(i3===m)return q1(p3);if(Y3)return _m(i3),i3=Ma(x0,p),I1(p3)}return i3===m&&(i3=Ma(x0,p)),$2}return jn.cancel=Hn,jn.flush=tn,jn}var UP=S0(function(c,p){return Zp(c,1,p)}),OP=S0(function(c,p,T){return Zp(c,m6(p)||0,T)});function BP(c){return Li(c,Q2)}function Js(c,p){if(typeof c!="function"||p!=null&&typeof p!="function")throw new c6(E);var T=function(){var D=arguments,e2=p?p.apply(this,D):D[0],w2=T.cache;if(w2.has(e2))return w2.get(e2);var $2=c.apply(this,D);return T.cache=w2.set(e2,$2)||w2,$2};return T.cache=new(Js.Cache||Ri),T}Js.Cache=Ri;function Zs(c){if(typeof c!="function")throw new c6(E);return function(){var p=arguments;switch(p.length){case 0:return!c.call(this);case 1:return!c.call(this,p[0]);case 2:return!c.call(this,p[0],p[1]);case 3:return!c.call(this,p[0],p[1],p[2])}return!c.apply(this,p)}}function zP(c){return ag(2,c)}var GP=MM(function(c,p){p=p.length==1&&s0(p[0])?Pe(p[0],zn(Y1())):Pe(Mt(p,1),zn(Y1()));var T=p.length;return S0(function(D){for(var e2=-1,w2=Ot(D.length,T);++e2=p}),E9=im(function(){return arguments}())?im:function(c){return Be(c)&&ee.call(c,"callee")&&!Hp.call(c,"callee")},s0=E3.isArray,nR=xp?zn(xp):cM;function fn(c){return c!=null&&Qs(c.length)&&!Fi(c)}function We(c){return Be(c)&&fn(c)}function iR(c){return c===!0||c===!1||Be(c)&&Qt(c)==D1}var A5=vC||dc,rR=Ap?zn(Ap):dM;function aR(c){return Be(c)&&c.nodeType===1&&!Ea(c)}function sR(c){if(c==null)return!0;if(fn(c)&&(s0(c)||typeof c=="string"||typeof c.splice=="function"||A5(c)||P8(c)||E9(c)))return!c.length;var p=Bt(c);if(p==b0||p==Z1)return!c.size;if(Ca(c))return!Pu(c).length;for(var T in c)if(ee.call(c,T))return!1;return!0}function oR(c,p){return wa(c,p)}function lR(c,p,T){T=typeof T=="function"?T:m;var D=T?T(c,p):m;return D===m?wa(c,p,m,T):!!D}function tc(c){if(!Be(c))return!1;var p=Qt(c);return p==Dt||p==On||typeof c.message=="string"&&typeof c.name=="string"&&!Ea(c)}function uR(c){return typeof c=="number"&&Wp(c)}function Fi(c){if(!Ne(c))return!1;var p=Qt(c);return p==et||p==At||p==U1||p==k1}function dg(c){return typeof c=="number"&&c==f0(c)}function Qs(c){return typeof c=="number"&&c>-1&&c%1==0&&c<=L1}function Ne(c){var p=typeof c;return c!=null&&(p=="object"||p=="function")}function Be(c){return c!=null&&typeof c=="object"}var hg=Cp?zn(Cp):fM;function cR(c,p){return c===p||Eu(c,p,Wu(p))}function dR(c,p,T){return T=typeof T=="function"?T:m,Eu(c,p,Wu(p),T)}function hR(c){return fg(c)&&c!=+c}function fR(c){if(XM(c))throw new n0(x);return rm(c)}function pR(c){return c===null}function mR(c){return c==null}function fg(c){return typeof c=="number"||Be(c)&&Qt(c)==Te}function Ea(c){if(!Be(c)||Qt(c)!=d0)return!1;var p=Cs(c);if(p===null)return!0;var T=ee.call(p,"constructor")&&p.constructor;return typeof T=="function"&&T instanceof T&&Ts.call(T)==dC}var nc=Mp?zn(Mp):pM;function gR(c){return dg(c)&&c>=-L1&&c<=L1}var pg=Ep?zn(Ep):mM;function e7(c){return typeof c=="string"||!s0(c)&&Be(c)&&Qt(c)==I0}function Vn(c){return typeof c=="symbol"||Be(c)&&Qt(c)==d2}var P8=Pp?zn(Pp):gM;function vR(c){return c===m}function yR(c){return Be(c)&&Bt(c)==j2}function _R(c){return Be(c)&&Qt(c)==K2}var SR=js(Ru),bR=js(function(c,p){return c<=p});function mg(c){if(!c)return[];if(fn(c))return e7(c)?O6(c):hn(c);if(ma&&c[ma])return QA(c[ma]());var p=Bt(c),T=p==b0?vu:p==Z1?_s:R8;return T(c)}function Di(c){if(!c)return c===0?c:0;if(c=m6(c),c===N1||c===-N1){var p=c<0?-1:1;return p*G1}return c===c?c:0}function f0(c){var p=Di(c),T=p%1;return p===p?T?p-T:p:0}function gg(c){return c?x9(f0(c),0,B2):0}function m6(c){if(typeof c=="number")return c;if(Vn(c))return y0;if(Ne(c)){var p=typeof c.valueOf=="function"?c.valueOf():c;c=Ne(p)?p+"":p}if(typeof c!="string")return c===0?c:+c;c=Fp(c);var T=ds.test(c);return T||hs.test(c)?DA(c.slice(2),T?2:8):tu.test(c)?y0:+c}function vg(c){return ni(c,pn(c))}function TR(c){return c?x9(f0(c),-L1,L1):c===0?c:0}function j0(c){return c==null?"":Gn(c)}var wR=C8(function(c,p){if(Ca(p)||fn(p)){ni(p,St(p),c);return}for(var T in p)ee.call(p,T)&&Sa(c,T,p[T])}),yg=C8(function(c,p){ni(p,pn(p),c)}),t7=C8(function(c,p,T,D){ni(p,pn(p),c,D)}),xR=C8(function(c,p,T,D){ni(p,St(p),c,D)}),AR=Ii(wu);function CR(c,p){var T=A8(c);return p==null?T:Xp(T,p)}var MR=S0(function(c,p){c=le(c);var T=-1,D=p.length,e2=D>2?p[2]:m;for(e2&&en(p[0],p[1],e2)&&(D=1);++T1),w2}),ni(c,Hu(c),T),D&&(T=h6(T,Q|X|D2,OM));for(var e2=p.length;e2--;)Fu(T,p[e2]);return T});function WR(c,p){return Sg(c,Zs(Y1(p)))}var $R=Ii(function(c,p){return c==null?{}:_M(c,p)});function Sg(c,p){if(c==null)return{};var T=Pe(Hu(c),function(D){return[D]});return p=Y1(p),dm(c,T,function(D,e2){return p(D,e2[0])})}function YR(c,p,T){p=w5(p,c);var D=-1,e2=p.length;for(e2||(e2=1,c=m);++Dp){var D=c;c=p,p=D}if(T||c%1||p%1){var e2=$p();return Ot(c+e2*(p-c+FA("1e-"+((e2+"").length-1))),p)}return Lu(c,p)}var rN=M8(function(c,p,T){return p=p.toLowerCase(),c+(T?wg(p):p)});function wg(c){return ac(j0(c).toLowerCase())}function xg(c){return c=j0(c),c&&c.replace(fs,qA).replace(AA,"")}function aN(c,p,T){c=j0(c),p=Gn(p);var D=c.length;T=T===m?D:x9(f0(T),0,D);var e2=T;return T-=p.length,T>=0&&c.slice(T,e2)==p}function sN(c){return c=j0(c),c&&Q0.test(c)?c.replace(Zt,KA):c}function oN(c){return c=j0(c),c&&Ut.test(c)?c.replace(oe,"\\$&"):c}var lN=M8(function(c,p,T){return c+(T?"-":"")+p.toLowerCase()}),uN=M8(function(c,p,T){return c+(T?" ":"")+p.toLowerCase()}),cN=Mm("toLowerCase");function dN(c,p,T){c=j0(c),p=f0(p);var D=p?S8(c):0;if(!p||D>=p)return c;var e2=(p-D)/2;return Hs(Rs(e2),T)+c+Hs(Ps(e2),T)}function hN(c,p,T){c=j0(c),p=f0(p);var D=p?S8(c):0;return p&&D>>0,T?(c=j0(c),c&&(typeof p=="string"||p!=null&&!nc(p))&&(p=Gn(p),!p&&_8(c))?x5(O6(c),0,T):c.split(p,T)):[]}var _N=M8(function(c,p,T){return c+(T?" ":"")+ac(p)});function SN(c,p,T){return c=j0(c),T=T==null?0:x9(f0(T),0,c.length),p=Gn(p),c.slice(T,T+p.length)==p}function bN(c,p,T){var D=m2.templateSettings;T&&en(c,p,T)&&(p=m),c=j0(c),p=t7({},p,D,km);var e2=t7({},p.imports,D.imports,km),w2=St(e2),$2=gu(e2,w2),i3,p3,z3=0,G3=p.interpolate||v9,Y3="__p += '",y1=yu((p.escape||v9).source+"|"+G3.source+"|"+(G3===Ci?cs:v9).source+"|"+(p.evaluate||v9).source+"|$","g"),I1="//# sourceURL="+(ee.call(p,"sourceURL")?(p.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++RA+"]")+` `;c.replace(y1,function(K1,x0,P0,Hn,tn,jn){return P0||(P0=Hn),Y3+=c.slice(z3,jn).replace(iu,XA),x0&&(i3=!0,Y3+=`' + __e(`+x0+`) + '`),tn&&(p3=!0,Y3+=`'; `+tn+`; __p += '`),P0&&(Y3+=`' + ((__t = (`+P0+`)) == null ? '' : __t) + '`),z3=jn+K1.length,K1}),Y3+=`'; `;var q1=ee.call(p,"variable")&&p.variable;if(!q1)Y3=`with (obj) { `+Y3+` } `;else if(d5.test(q1))throw new n0(L);Y3=(p3?Y3.replace(a0,""):Y3).replace(W1,"$1").replace(k0,"$1;"),Y3="function("+(q1||"obj")+`) { `+(q1?"":`obj || (obj = {}); `)+"var __t, __p = ''"+(i3?", __e = _.escape":"")+(p3?`, __j = Array.prototype.join; function print() { __p += __j.call(arguments, '') } `:`; `)+Y3+`return __p }`;var m0=Cg(function(){return G0(w2,I1+"return "+Y3).apply(m,$2)});if(m0.source=Y3,tc(m0))throw m0;return m0}function TN(c){return j0(c).toLowerCase()}function wN(c){return j0(c).toUpperCase()}function xN(c,p,T){if(c=j0(c),c&&(T||p===m))return Fp(c);if(!c||!(p=Gn(p)))return c;var D=O6(c),e2=O6(p),w2=Dp(D,e2),$2=Up(D,e2)+1;return x5(D,w2,$2).join("")}function AN(c,p,T){if(c=j0(c),c&&(T||p===m))return c.slice(0,Bp(c)+1);if(!c||!(p=Gn(p)))return c;var D=O6(c),e2=Up(D,O6(p))+1;return x5(D,0,e2).join("")}function CN(c,p,T){if(c=j0(c),c&&(T||p===m))return c.replace(un,"");if(!c||!(p=Gn(p)))return c;var D=O6(c),e2=Dp(D,O6(p));return x5(D,e2).join("")}function MN(c,p){var T=c3,D=b3;if(Ne(p)){var e2="separator"in p?p.separator:e2;T="length"in p?f0(p.length):T,D="omission"in p?Gn(p.omission):D}c=j0(c);var w2=c.length;if(_8(c)){var $2=O6(c);w2=$2.length}if(T>=w2)return c;var i3=T-S8(D);if(i3<1)return D;var p3=$2?x5($2,0,i3).join(""):c.slice(0,i3);if(e2===m)return p3+D;if($2&&(i3+=p3.length-i3),nc(e2)){if(c.slice(i3).search(e2)){var z3,G3=p3;for(e2.global||(e2=yu(e2.source,j0(ca.exec(e2))+"g")),e2.lastIndex=0;z3=e2.exec(G3);)var Y3=z3.index;p3=p3.slice(0,Y3===m?i3:Y3)}}else if(c.indexOf(Gn(e2),i3)!=i3){var y1=p3.lastIndexOf(e2);y1>-1&&(p3=p3.slice(0,y1))}return p3+D}function EN(c){return c=j0(c),c&&h0.test(c)?c.replace(ln,iC):c}var PN=M8(function(c,p,T){return c+(T?" ":"")+p.toUpperCase()}),ac=Mm("toUpperCase");function Ag(c,p,T){return c=j0(c),p=T?m:p,p===m?ZA(c)?sC(c):HA(c):c.match(p)||[]}var Cg=S0(function(c,p){try{return Bn(c,m,p)}catch(T){return tc(T)?T:new n0(T)}}),RN=Ii(function(c,p){return u6(p,function(T){T=ii(T),Ni(c,T,Qu(c[T],c))}),c});function NN(c){var p=c==null?0:c.length,T=Y1();return c=p?Pe(c,function(D){if(typeof D[1]!="function")throw new c6(E);return[T(D[0]),D[1]]}):[],S0(function(D){for(var e2=-1;++e2L1)return[];var T=B2,D=Ot(c,B2);p=Y1(p),c-=B2;for(var e2=mu(D,p);++T0||p<0)?new C0(T):(c<0?T=T.takeRight(-c):c&&(T=T.drop(c)),p!==m&&(p=f0(p),T=p<0?T.dropRight(-p):T.take(p-c)),T)},C0.prototype.takeRightWhile=function(c){return this.reverse().takeWhile(c).reverse()},C0.prototype.toArray=function(){return this.take(B2)},ti(C0.prototype,function(c,p){var T=/^(?:filter|find|map|reject)|While$/.test(p),D=/^(?:head|last)$/.test(p),e2=m2[D?"take"+(p=="last"?"Right":""):p],w2=D||/^find/.test(p);e2&&(m2.prototype[p]=function(){var $2=this.__wrapped__,i3=D?[1]:arguments,p3=$2 instanceof C0,z3=i3[0],G3=p3||s0($2),Y3=function(x0){var P0=e2.apply(m2,y5([x0],i3));return D&&y1?P0[0]:P0};G3&&T&&typeof z3=="function"&&z3.length!=1&&(p3=G3=!1);var y1=this.__chain__,I1=!!this.__actions__.length,q1=w2&&!y1,m0=p3&&!I1;if(!w2&&G3){$2=m0?$2:new C0(this);var K1=c.apply($2,i3);return K1.__actions__.push({func:qs,args:[Y3],thisArg:m}),new d6(K1,y1)}return q1&&m0?c.apply(this,i3):(K1=this.thru(Y3),q1?D?K1.value()[0]:K1.value():K1)})}),u6(["pop","push","shift","sort","splice","unshift"],function(c){var p=Ss[c],T=/^(?:push|sort|unshift)$/.test(c)?"tap":"thru",D=/^(?:pop|shift)$/.test(c);m2.prototype[c]=function(){var e2=arguments;if(D&&!this.__chain__){var w2=this.value();return p.apply(s0(w2)?w2:[],e2)}return this[T](function($2){return p.apply(s0($2)?$2:[],e2)})}}),ti(C0.prototype,function(c,p){var T=m2[p];if(T){var D=T.name+"";ee.call(x8,D)||(x8[D]=[]),x8[D].push({name:p,func:T})}}),x8[Gs(m,Y).name]=[{name:"wrapper",func:m}],C0.prototype.clone=EC,C0.prototype.reverse=PC,C0.prototype.value=RC,m2.prototype.at=aP,m2.prototype.chain=sP,m2.prototype.commit=oP,m2.prototype.next=lP,m2.prototype.plant=cP,m2.prototype.reverse=dP,m2.prototype.toJSON=m2.prototype.valueOf=m2.prototype.value=hP,m2.prototype.first=m2.prototype.head,ma&&(m2.prototype[ma]=uP),m2},b8=oC();S9?((S9.exports=b8)._=b8,ou._=b8):Ct._=b8}).call(c2)});function Z(R,N){var m=N.parentNode;m.lastChild==N?m.appendChild(R):m.insertBefore(R,N.nextSibling)}var G2=function(){function R(N,m){i(this,R),this.id=m,this.jSPlugin=N,this.state={play:!1,loading:!1,text:""},this.loadingSetText=this.loadingSetText}return a(R,[{key:"toString",value:function(){return"".concat(this.coreX,"-").concat(this.coreY)}},{key:"setPlayStatus",value:function(m){this.state=Object.assign(this.state,m)}},{key:"loadingStart",value:function(m){var g=document.createElement("style");document.getElementsByTagName("head")[0].appendChild(g),g.innerHTML="@keyframes antRotate {to {transform: rotate(400deg);transform-origin:50% 50%;}} .loading {display: inline-block;z-index: 1000;-webkit-animation: antRotate 1s infinite linear;animation: antRotate 1s infinite linear;}";var S=m,x=document.getElementById(S),E=x.offsetWidth,L=x.offsetHeight,r2=0,l2=x.offsetLeft;document.getElementById("".concat(m,"-loading-id-0"))&&document.getElementById("".concat(m,"-loading-id-0")).parentNode.removeChild(document.getElementById("".concat(m,"-loading-id-0")));var s2=document.createElement("div");s2.setAttribute("id","".concat(m,"-loading-id-0"));var g2="position:absolute;outline:none;pointer-events:none;";console.log("this.jSPlugin",this.jSPlugin),g2+="width: 100%;background-size: cover; background-repeat:no-repeat;",g2+="height: 100%;",g2+="top:"+r2+";",g2+="left:"+l2+"px;",s2.setAttribute("style",g2),s2.style.height=L,s2.setAttribute("class","loading-container"),Z(s2,x);var Q=1,X=document.createElement("div"),D2=document.createElement("div");X.setAttribute("class","loading-item"),X.setAttribute("id","".concat(m,"-loading-item-0"));var g2="display:inline-flex;pointer-events:none;flex-direction:column;justify-content:center;align-items: center;width:100%;height:"+L+"px;outline:none;vertical-align: top;position:absolute;";g2+="left:"+C(L,E,Q,0).left+"px;",g2+="top:"+C(L,E,Q,0).top+"px;",X.setAttribute("style",g2);function C(B,A,k,V){var M2=parseInt(V/k,10)*(B/k),R2=V%k*(A/k);return{top:M2,left:R2}}var I=document.createElement("div");D2.innerHTML="",D2.style.color="#fff",I.setAttribute("class","loading"),I.setAttribute("id","loading-icon");var Y='';I.innerHTML=Y,X.appendChild(I),X.appendChild(D2),s2.appendChild(X)}},{key:"loadingStop",value:function(m){var g=document.getElementById("".concat(m,"-loading-item-0"));g&&g.removeChild(document.getElementById("loading-icon"))}},{key:"loadingSetText",value:function(m){var g=this;if(this.loadingClearText(),document.getElementById("".concat(this.id,"-loading-item-0"))){var S=document.getElementById("".concat(this.id,"-loading-item-0")).childNodes[1];if(!S){var x=document.getElementById("".concat(this.id,"-loading-item-0"));x.style.height="100%",S=document.createElement("div"),S.innerHTML=m.text,x.appendChild(S)}S.innerHTML=m.text,S.style.fontSize="14px",S.style.color=m.color||"#FFFFFF",this.state.text=m.text,m.delayClear&&setTimeout(function(){g.loadingClearText()},parseInt(m.delayClear))}}},{key:"loadingClearText",value:function(){if(document.getElementById("".concat(this.id,"-loading-item-0"))){var m=document.getElementById("".concat(this.id,"-loading-item-0")).childNodes;m.length>1?m[1].parentNode.removeChild(m[1]):m[0]&&m[0].parentNode.removeChild(m[0])}}},{key:"loadingClear",value:function(){if(document.getElementById("".concat(this.id,"-loading-item-0"))){for(var m=document.getElementById("".concat(this.id,"-loading-item-0")).childNodes,g=m.length-1;g>=0;g--)m[g].parentNode.removeChild(m[g]);document.getElementById("".concat(this.id,"-loading-id-0"))&&(document.getElementById("".concat(this.id,"-loading-id-0")).style.background="none"),document.getElementById("loading-icon")&&document.getElementById("loading-icon").parentNode.removeChild(document.getElementById("loading-icon"))}}},{key:"loadingEnd",value:function(){var m=document.getElementById("".concat(this.id,"-loading-item-0"));if(m){m.parentNode.removeChild(m);var g=document.getElementById("".concat(this.id,"-loading-id-0"));g&&g.children.length===0&&g.parentNode.removeChild(g)}document.getElementById("".concat(this.id,"-loading-item-0")).style.background="none"}}]),R}(),q2=function(){function R(N,m){i(this,R),this.id=m,this.jSPlugin=N,this.timer=null,this.state={play:!1,loading:!1}}return a(R,[{key:"default",value:function(m){var g=this,S="msgId";document.getElementById("".concat(this.id,"-").concat(S))&&document.getElementById("".concat(this.id,"-wrap")).removeChild(document.getElementById("".concat(this.id,"-").concat(S)));var x=document.createElement("div");x.id="".concat(this.id,"-").concat(S),x.style="position: absolute;top: 50%;left:calc(50% - ".concat(m.length*14/2,"px);padding: 4px 16px;background: #00000080;color: #FFFFFF;font-size: 14px"),x.innerHTML=m,document.getElementById("".concat(this.id,"-wrap")).appendChild(x),this.timer&&clearTimeout(this.timer),this.timer=setTimeout(function(){document.getElementById("".concat(g.id,"-wrap")).removeChild(document.getElementById("".concat(g.id,"-").concat(S)))},2e3)}}]),R}(),C2=[{moduleCode:"",detailCode:"405984",description:"",solution:"",updateTime:1559564188e3},{moduleCode:"",detailCode:"10035",description:"获取子账户AccessToken异常,子账户不存在或子账户不属于该开发者",solution:"",updateTime:1559551958e3},{moduleCode:"",detailCode:"1052674",description:"获取本地录像失败",solution:"",updateTime:1558579653e3},{moduleCode:"",detailCode:"395547",description:"",solution:"",updateTime:1557367296e3},{moduleCode:"",detailCode:"12",description:"",solution:"",updateTime:1557229476e3},{moduleCode:"",detailCode:"10052",description:"余额不足",solution:"",updateTime:1557121463e3},{moduleCode:"",detailCode:"20108",description:"当前用户和所添加用户不是好友关系",solution:"",updateTime:1556541725e3},{moduleCode:"",detailCode:"10009",description:"",solution:"",updateTime:1556422452e3},{moduleCode:"",detailCode:"320001",description:"通道不存在",solution:"请检查录像机的关联状态是否正常,没有摄像头的通道无法播放",updateTime:1556419044e3},{moduleCode:"",detailCode:"120001",description:"通道不存在",solution:"请检查录像机的关联状态是否正常,没有摄像头的通道无法播放",updateTime:155641903e4},{moduleCode:"",detailCode:"320049",description:"",solution:"",updateTime:1556272984e3},{moduleCode:"",detailCode:"380227",description:"",solution:"",updateTime:1556264379e3},{moduleCode:"",detailCode:"10033",description:"policy参数信息异常",solution:"",updateTime:1555922124e3},{moduleCode:"",detailCode:"10065",description:"weakAppKey 不属于accessToken对应的用户",solution:"",updateTime:1555497522e3},{moduleCode:"",detailCode:"100001",description:"",solution:"",updateTime:1555141776e3},{moduleCode:"",detailCode:"395558",description:"",solution:"",updateTime:1554987121e3},{moduleCode:"",detailCode:"70001",description:"智能家居买断用户设备受到限制,建议合理选择pagestart和pageSize",solution:"",updateTime:1554691023e3},{moduleCode:"",detailCode:"170001",description:"",solution:"",updateTime:1554691023e3},{moduleCode:"",detailCode:"1012",description:"重置失败",solution:"",updateTime:1554645841e3},{moduleCode:"",detailCode:"1043",description:"重置失败",solution:"",updateTime:1554645834e3},{moduleCode:"",detailCode:"60060",description:"直播功能未开通",solution:"通道未开通直播功能,请先开通直播",updateTime:1554346018e3},{moduleCode:"",detailCode:"380203",description:"",solution:"",updateTime:1554093666e3},{moduleCode:"",detailCode:"399048",description:"免费版并发数达到上限,请升级企业版使用多并发能力",solution:"升级成为企业版套餐即可取消并发数限制",updateTime:1553839878e3},{moduleCode:"",detailCode:"60007",description:"预置点个数超过最大值",solution:"",updateTime:1553671316e3},{moduleCode:"",detailCode:"1005",description:"",solution:"",updateTime:1553513701e3},{moduleCode:"",detailCode:"20605",description:"其他用户正在认证中",solution:"",updateTime:1552976317e3},{moduleCode:"",detailCode:"90004",description:"当前型号设备暂时不支持AI任务:CS-C3W-3B1WFR-YGL",solution:"",updateTime:1552898525e3},{moduleCode:"",detailCode:"60046",description:"添加的设备的IP和本设备的IP冲突",solution:"",updateTime:1552872372e3},{moduleCode:"",detailCode:"3",description:"修改视频清晰度失败!",solution:"",updateTime:1552440229e3},{moduleCode:"",detailCode:"1013",description:"",solution:"",updateTime:1552035069e3},{moduleCode:"",detailCode:"370007",description:"",solution:"",updateTime:1551852327e3},{moduleCode:"",detailCode:"-1",description:"",solution:"",updateTime:1551752889e3},{moduleCode:"",detailCode:"30005",description:"弱账户不存在",solution:"",updateTime:1551422358e3},{moduleCode:"",detailCode:"90006",description:"用户操作AI任务受限",solution:"",updateTime:155107332e4},{moduleCode:"",detailCode:"60203",description:"未开通相关服务",solution:"",updateTime:155062307e4},{moduleCode:"",detailCode:"10002",description:"accessToken过期或异常",solution:"",updateTime:1550300346e3},{moduleCode:"",detailCode:"380339",description:"",solution:"",updateTime:1549889458e3},{moduleCode:"",detailCode:"90002",description:"AI任务设备配置数达到上限:3",solution:"",updateTime:1549071664e3},{moduleCode:"",detailCode:"380008",description:"",solution:"",updateTime:1549005979e3},{moduleCode:"",detailCode:"320227",description:"",solution:"",updateTime:1548739731e3},{moduleCode:"",detailCode:"60059",description:"ezopen地址均不可用",solution:"",updateTime:154839535e4},{moduleCode:"",detailCode:"10005",description:"appKey异常",solution:"",updateTime:1548317858e3},{moduleCode:"",detailCode:"60045",description:"添加的设备的IP和其他通道的IP冲突",solution:"",updateTime:1548155085e3},{moduleCode:"",detailCode:"60047",description:"码流类型不支持",solution:"",updateTime:1547962108e3},{moduleCode:"",detailCode:"60041",description:"添加的设备被其他设备关联或响应超时",solution:"",updateTime:154796098e4},{moduleCode:"",detailCode:"110029",description:"个人用户接口调用频率超限",solution:"请升级企业版:https://open.ys7.com/price.html",updateTime:1547606859e3},{moduleCode:"",detailCode:"380355",description:"设备直连推流异常结束",solution:"",updateTime:1547106294e3},{moduleCode:"",detailCode:"320081",description:"",solution:"",updateTime:1547106279e3},{moduleCode:"",detailCode:"60035",description:"购买云存储服务失败",solution:"",updateTime:1547026959e3},{moduleCode:"",detailCode:"90005",description:"设备已存在:C75714141",solution:"",updateTime:1546940622e3},{moduleCode:"",detailCode:"1053445",description:"该时间段没有录像片段",solution:"",updateTime:1546935727e3},{moduleCode:"",detailCode:"90007",description:"设备未加入到AI任务",solution:"",updateTime:1546932948e3},{moduleCode:"",detailCode:"326000",description:"",solution:"",updateTime:1546823143e3},{moduleCode:"",detailCode:"1021",description:"重置失败",solution:"",updateTime:1546781152e3},{moduleCode:"",detailCode:"2001",description:"删除设备失败!",solution:"",updateTime:1546422886e3},{moduleCode:"",detailCode:"380425",description:"",solution:"",updateTime:1546407694e3},{moduleCode:"",detailCode:"120097",description:"",solution:"",updateTime:1546085995e3},{moduleCode:"",detailCode:"10059",description:"requestId已存在",solution:"",updateTime:1545824509e3},{moduleCode:"",detailCode:"1154723",description:"",solution:"",updateTime:1545795209e3},{moduleCode:"",detailCode:"60043",description:"添加的设备超出最大数量",solution:"",updateTime:1545493607e3},{moduleCode:"",detailCode:"1152677",description:"",solution:"",updateTime:1545313404e3},{moduleCode:"",detailCode:"20097",description:"设备添加异常,设备验证码为ABCDEF或设备被N1,R1关联",solution:"",updateTime:1545310795e3},{moduleCode:"",detailCode:"10060",description:"设备不支持该云存储类型",solution:"",updateTime:1545309064e3},{moduleCode:"",detailCode:"20102",description:"无相应邀请信息,无法接受邀请",solution:"",updateTime:1545204966e3},{moduleCode:"",detailCode:"10053",description:"云存储开通中",solution:"",updateTime:1545100293e3},{moduleCode:"",detailCode:"20401",description:"用户云空间信息不存在",solution:"",updateTime:154501788e4},{moduleCode:"",detailCode:"20600",description:"临时密码数已达上限",solution:"",updateTime:1544873457e3},{moduleCode:"",detailCode:"901",description:"",solution:"",updateTime:1544693519e3},{moduleCode:"",detailCode:"60210",description:"图片数据错误",solution:"",updateTime:1544604457e3},{moduleCode:"",detailCode:"10013",description:"您的应用没有权限调用",solution:"",updateTime:1544416237e3},{moduleCode:"",detailCode:"70007",description:"授权码不存在",solution:"",updateTime:1544179533e3},{moduleCode:"",detailCode:"10015",description:"授权地址不存在",solution:"",updateTime:154416324e4},{moduleCode:"",detailCode:"320423",description:"",solution:"",updateTime:1544100685e3},{moduleCode:"",detailCode:"370009",description:"",solution:"",updateTime:1544077151e3},{moduleCode:"",detailCode:"10031",description:"子账户或萤石用户没有权限",solution:"",updateTime:1543990462e3},{moduleCode:"",detailCode:"10055",description:"设备不支持试用云存储服务",solution:"",updateTime:1543986292e3},{moduleCode:"",detailCode:"60042",description:"添加的设备密码错误",solution:"",updateTime:1543710913e3},{moduleCode:"",detailCode:"60082",description:"设备正在响应本次声源定位",solution:"",updateTime:1543647426e3},{moduleCode:"",detailCode:"10056",description:"设备不支持云存储服务转出",solution:"",updateTime:1543558342e3},{moduleCode:"",detailCode:"20104",description:"好友不存在",solution:"",updateTime:1543492403e3},{moduleCode:"",detailCode:"20111",description:"好友不是等待验证状态,无法接受邀请",solution:"",updateTime:1543492365e3},{moduleCode:"",detailCode:"20107",description:"不能添加自己为好友",solution:"",updateTime:1543480986e3},{moduleCode:"",detailCode:"1",description:"设备返回其他错误",solution:"",updateTime:1543459921e3},{moduleCode:"",detailCode:"60084",description:"当前正在关闭隐私遮蔽",solution:"",updateTime:1543456515e3},{moduleCode:"",detailCode:"380255",description:"",solution:"",updateTime:1543411652e3},{moduleCode:"",detailCode:"20015",description:"设备不支持",solution:"",updateTime:1543390936e3},{moduleCode:"",detailCode:"30003",description:"手机验证码错误",solution:"",updateTime:1543389137e3},{moduleCode:"",detailCode:"20615",description:"锁用户已存在",solution:"",updateTime:1543388325e3},{moduleCode:"",detailCode:"60061",description:"账户流量已超出或未购买,限制开通",solution:"",updateTime:1543372581e3},{moduleCode:"",detailCode:"60020",description:"设备不支持该信令",solution:"",updateTime:1543321636e3},{moduleCode:"",detailCode:"320146",description:"",solution:"",updateTime:1543318472e3},{moduleCode:"",detailCode:"60018",description:"设备升级失败",solution:"",updateTime:1543304928e3},{moduleCode:"",detailCode:"60044",description:"添加的设备网络不可达超时",solution:"",updateTime:1543304102e3},{moduleCode:"",detailCode:"20619",description:"主用户无法删除",solution:"",updateTime:1543290219e3},{moduleCode:"",detailCode:"20608",description:"锁用户不存在",solution:"",updateTime:154328195e4},{moduleCode:"",detailCode:"20609",description:"设备响应超时,门锁通信故障或者电量不足,请重试.",solution:"",updateTime:1543281601e3},{moduleCode:"",detailCode:"1049954",description:"升级设备失败",solution:"",updateTime:1543279264e3},{moduleCode:"",detailCode:"60009",description:"正在调用预置点",solution:"",updateTime:1543238114e3},{moduleCode:"",detailCode:"1052677",description:"获取本地录像失败",solution:"",updateTime:1543207604e3},{moduleCode:"",detailCode:"327000",description:"",solution:"",updateTime:1543196609e3},{moduleCode:"",detailCode:"20021",description:"设备在线,未被用户添加",solution:"",updateTime:1543193436e3},{moduleCode:"",detailCode:"20202",description:"操作留言信息失败",solution:"",updateTime:1543191562e3},{moduleCode:"",detailCode:"1052678",description:"获取本地录像失败",solution:"",updateTime:1543132218e3},{moduleCode:"",detailCode:"1054723",description:"格式化设备失败",solution:"",updateTime:1543129833e3},{moduleCode:"",detailCode:"20109",description:"对应分享不存在",solution:"",updateTime:1543129111e3},{moduleCode:"",detailCode:"60026",description:"设备处于隐私遮蔽状态",solution:"",updateTime:1543110403e3},{moduleCode:"",detailCode:"60083",description:"当前正在开启隐私遮蔽",solution:"",updateTime:1543071148e3},{moduleCode:"",detailCode:"60001",description:"用户无云台控制权限",solution:"",updateTime:1543059167e3},{moduleCode:"",detailCode:"2003",description:"设备不在线",solution:"",updateTime:1543051046e3},{moduleCode:"",detailCode:"-24",description:"设置设备enable错误",solution:"",updateTime:1543042701e3},{moduleCode:"",detailCode:"10018",description:"",solution:"",updateTime:1543041564e3},{moduleCode:"",detailCode:"20103",description:"好友已存在",solution:"",updateTime:154303843e4},{moduleCode:"",detailCode:"70010",description:"授权异常请重试",solution:"",updateTime:154303559e4},{moduleCode:"",detailCode:"60056",description:"删除设备失败",solution:"",updateTime:1543031275e3},{moduleCode:"",detailCode:"60040",description:"添加的设备不在同一局域网",solution:"",updateTime:154303121e4},{moduleCode:"",detailCode:"60019",description:"加密已开启",solution:"",updateTime:1543029931e3},{moduleCode:"",detailCode:"1054722",description:"格式化设备失败",solution:"",updateTime:1543028537e3},{moduleCode:"",detailCode:"20016",description:"当前设备正在格式化",solution:"",updateTime:1543028537e3},{moduleCode:"",detailCode:"10024",description:"透明通道权限校验不通过",solution:"",updateTime:154302554e4},{moduleCode:"",detailCode:"6002",description:"删除设备失败!",solution:"",updateTime:1543025026e3},{moduleCode:"",detailCode:"1011",description:"验证码错误!",solution:"",updateTime:1543016865e3},{moduleCode:"",detailCode:"60032",description:"卡密已使用",solution:"",updateTime:1543006668e3},{moduleCode:"",detailCode:"10034",description:"子账号已存在",solution:"",updateTime:1542989194e3},{moduleCode:"",detailCode:"20301",description:"根据uuid查询联动信息不存在",solution:"",updateTime:1542988651e3},{moduleCode:"",detailCode:"1041",description:"获取验证码过于频繁",solution:"",updateTime:1542980953e3},{moduleCode:"",detailCode:"10012",description:"该appkey下已绑定重复的phone!",solution:"",updateTime:15429808e5},{moduleCode:"",detailCode:"1008",description:"phone不合法!",solution:"",updateTime:1542979812e3},{moduleCode:"",detailCode:"60023",description:"订阅操作失败",solution:"",updateTime:1542979006e3},{moduleCode:"",detailCode:"5",description:"设备返回其他错误",solution:"",updateTime:1542977828e3},{moduleCode:"",detailCode:"60006",description:"云台当前操作失败",solution:"",updateTime:1542977598e3},{moduleCode:"",detailCode:"131",description:"修改视频清晰度失败!",solution:"",updateTime:1542977246e3},{moduleCode:"",detailCode:"10019",description:"密码错误",solution:"",updateTime:1542976628e3},{moduleCode:"",detailCode:"10004",description:"用户不存在",solution:"",updateTime:1542976268e3},{moduleCode:"",detailCode:"20201",description:"操作报警信息失败",solution:"",updateTime:1542975906e3},{moduleCode:"",detailCode:"20024",description:"设备不在线,已经被别的用户添加",solution:"",updateTime:1542975858e3},{moduleCode:"",detailCode:"60004",description:"设备云台旋转达到左限位",solution:"",updateTime:1542975207e3},{moduleCode:"",detailCode:"1052679",description:"修改视频清晰度失败!",solution:"",updateTime:1542974886e3},{moduleCode:"",detailCode:"20031",description:"请在萤石客户端关闭终端绑定",solution:"",updateTime:1542974756e3},{moduleCode:"",detailCode:"1053825",description:"获取本地录像失败",solution:"",updateTime:1542974692e3},{moduleCode:"",detailCode:"60011",description:"预置点不存在",solution:"",updateTime:1542974414e3},{moduleCode:"",detailCode:"1052936",description:"修改视频清晰度失败!",solution:"",updateTime:154297439e4},{moduleCode:"",detailCode:"1016",description:"",solution:"",updateTime:1542974273e3},{moduleCode:"",detailCode:"10032",description:"子账号不存在",solution:"",updateTime:1542973906e3},{moduleCode:"",detailCode:"20013",description:"设备已被别人添加",solution:"",updateTime:1542973817e3},{moduleCode:"",detailCode:"50000",description:"服务器错误!",solution:"",updateTime:1542973801e3},{moduleCode:"",detailCode:"60010",description:"该预置点已经是当前位置",solution:"",updateTime:15429738e5},{moduleCode:"",detailCode:"60003",description:"设备云台旋转达到下限位",solution:"",updateTime:154297377e4},{moduleCode:"",detailCode:"4",description:"设备返回其他错误",solution:"",updateTime:1542973755e3},{moduleCode:"",detailCode:"60016",description:"加密未开启,无需关闭",solution:"",updateTime:1542973753e3},{moduleCode:"",detailCode:"60002",description:"设备云台旋转达到上限位",solution:"",updateTime:1542973742e3},{moduleCode:"",detailCode:"20023",description:"设备不在线,未被用户添加",solution:"",updateTime:1542973685e3},{moduleCode:"",detailCode:"10008",description:"",solution:"",updateTime:1542973676e3},{moduleCode:"",detailCode:"20010",description:"设备验证码错误",solution:"",updateTime:1542973658e3},{moduleCode:"",detailCode:"60005",description:"设备云台旋转达到右限位",solution:"",updateTime:1542973657e3},{moduleCode:"",detailCode:"20017",description:"设备已经被自己添加",solution:"",updateTime:1542973648e3},{moduleCode:"",detailCode:"20020",description:"设备在线,已经被自己添加",solution:"",updateTime:1542973533e3},{moduleCode:"",detailCode:"20029",description:"设备不在线,已经被自己添加",solution:"",updateTime:154297353e4},{moduleCode:"",detailCode:"10014",description:"APPKEY下对应的第三方userId和phone未绑定!",solution:"",updateTime:1542973499e3},{moduleCode:"",detailCode:"20002",description:"设备不存在",solution:"",updateTime:1542973499e3},{moduleCode:"",detailCode:"10030",description:"appkey和appsecret不匹配",solution:"",updateTime:154297349e4},{moduleCode:"",detailCode:"20022",description:"设备在线,已经被别的用户添加",solution:"",updateTime:1542973486e3},{moduleCode:"",detailCode:"20008",description:"设备响应超时",solution:"",updateTime:1542973484e3},{moduleCode:"",detailCode:"20032",description:"该用户下通道不存在",solution:"",updateTime:1542973481e3},{moduleCode:"",detailCode:"20006",description:"网络异常",solution:"",updateTime:1542973475e3},{moduleCode:"",detailCode:"20014",description:"deviceSerial不合法!",solution:"",updateTime:1542973454e3},{moduleCode:"",detailCode:"20007",description:"设备不在线",solution:"",updateTime:1542973454e3},{moduleCode:"",detailCode:"20018",description:"该用户不拥有该设备",solution:"",updateTime:1542973453e3},{moduleCode:"",detailCode:"10010",description:"",solution:"",updateTime:1542973453e3},{moduleCode:"",detailCode:"10011",description:"未绑定!",solution:"",updateTime:1542973453e3},{moduleCode:"",detailCode:"20001",description:"通道不存在!",solution:"",updateTime:1542973452e3},{moduleCode:"",detailCode:"10017",description:"appKey不存在",solution:"",updateTime:1542973451e3},{moduleCode:"",detailCode:"400259",description:"",solution:"",updateTime:1542875643e3},{moduleCode:"",detailCode:"400004",description:"",solution:"",updateTime:1542873364e3},{moduleCode:"",detailCode:"3840",description:"",solution:"",updateTime:154186e7},{moduleCode:"",detailCode:"-1017",description:"",solution:"",updateTime:1541733663e3},{moduleCode:"",detailCode:"320025",description:"",solution:"",updateTime:1541078281e3},{moduleCode:"",detailCode:"320024",description:"",solution:"",updateTime:1540801374e3},{moduleCode:"",detailCode:"321002",description:"",solution:"",updateTime:1540631734e3},{moduleCode:"",detailCode:"321000",description:"",solution:"",updateTime:1540609178e3},{moduleCode:"",detailCode:"321022",description:"",solution:"",updateTime:1540548345e3},{moduleCode:"",detailCode:"321016",description:"",solution:"",updateTime:1540287187e3},{moduleCode:"",detailCode:"320023",description:"",solution:"",updateTime:1539825993e3},{moduleCode:"",detailCode:"-1016",description:"",solution:"",updateTime:1539584931e3},{moduleCode:"",detailCode:"8",description:"",solution:"",updateTime:1539391812e3},{moduleCode:"",detailCode:"1075127593",description:"",solution:"",updateTime:1538959251e3},{moduleCode:"",detailCode:"380421",description:"",solution:"",updateTime:1537288465e3},{moduleCode:"",detailCode:"322000",description:"麦克风权限未开启",solution:"",updateTime:1536820136e3},{moduleCode:"",detailCode:"1152678",description:"",solution:"",updateTime:1536738348e3},{moduleCode:"",detailCode:"320047",description:"",solution:"",updateTime:1536664472e3},{moduleCode:"",detailCode:"327006",description:"",solution:"",updateTime:153613612e4},{moduleCode:"",detailCode:"1074807593",description:"",solution:"",updateTime:1536135035e3},{moduleCode:"",detailCode:"320291",description:"",solution:"",updateTime:1536110836e3},{moduleCode:"",detailCode:"320045",description:"",solution:"",updateTime:1535963775e3},{moduleCode:"",detailCode:"370004",description:"",solution:"",updateTime:1535883699e3},{moduleCode:"",detailCode:"1149954",description:"",solution:"",updateTime:1535700674e3},{moduleCode:"",detailCode:"320053",description:"",solution:"",updateTime:1535681079e3},{moduleCode:"",detailCode:"400000",description:"",solution:"",updateTime:1535532332e3},{moduleCode:"",detailCode:"110028",description:"个人版抓图接口日调用次数超出限制",solution:"请升级企业版:https://open.ys7.com/price.html",updateTime:1535348756e3},{moduleCode:"",detailCode:"110027",description:"个人版帐号数量超出安全限制,无法调用",solution:"请升级企业版:https://open.ys7.com/price.html",updateTime:1535348734e3},{moduleCode:"",detailCode:"110026",description:"设备数量超出个人版限制,当前设备无法操作",solution:"请升级企业版:https://open.ys7.com/price.html",updateTime:1535348588e3},{moduleCode:"",detailCode:"100000",description:"",solution:"",updateTime:1534980008e3},{moduleCode:"",detailCode:"324004",description:"",solution:"",updateTime:1534927762e3},{moduleCode:"",detailCode:"360104",description:"",solution:"",updateTime:1534761006e3},{moduleCode:"",detailCode:"320204",description:"",solution:"",updateTime:1534584221e3},{moduleCode:"",detailCode:"380001",description:"",solution:"",updateTime:1534404715e3},{moduleCode:"",detailCode:"380204",description:"",solution:"",updateTime:1534401682e3},{moduleCode:"",detailCode:"328006",description:"",solution:"",updateTime:1534144407e3},{moduleCode:"",detailCode:"321703",description:"",solution:"",updateTime:1534127274e3},{moduleCode:"",detailCode:"321510",description:"",solution:"",updateTime:1533428892e3},{moduleCode:"",detailCode:"321006",description:"",solution:"",updateTime:1533036916e3},{moduleCode:"",detailCode:"50009",description:"",solution:"",updateTime:1532078548e3},{moduleCode:"",detailCode:"50007",description:"",solution:"",updateTime:153199172e4},{moduleCode:"",detailCode:"50018",description:"",solution:"",updateTime:1531912829e3},{moduleCode:"",detailCode:"380451",description:"",solution:"",updateTime:15316157e5},{moduleCode:"",detailCode:"380336",description:"",solution:"",updateTime:1531231721e3},{moduleCode:"",detailCode:"360020",description:"",solution:"",updateTime:1531117554e3},{moduleCode:"",detailCode:"380418",description:"",solution:"",updateTime:153110707e4},{moduleCode:"",detailCode:"1153445",description:"设备在该时间段内没有录像",solution:"",updateTime:1530944007e3},{moduleCode:"",detailCode:"110007",description:"调用接口总次数达到上限",solution:"请升级企业版,获取更高能力",updateTime:1530935584e3},{moduleCode:"",detailCode:"360019",description:"",solution:"",updateTime:1530869771e3},{moduleCode:"",detailCode:"360100",description:"",solution:"",updateTime:1530786188e3},{moduleCode:"",detailCode:"380042",description:"",solution:"",updateTime:1530775199e3},{moduleCode:"",detailCode:"320355",description:"",solution:"",updateTime:1530716074e3},{moduleCode:"",detailCode:"100003",description:"",solution:"",updateTime:1530232541e3},{moduleCode:"",detailCode:"371026",description:"",solution:"",updateTime:15301926e5},{moduleCode:"",detailCode:"102",description:"",solution:"",updateTime:1529895641e3},{moduleCode:"",detailCode:"380201",description:"",solution:"",updateTime:1529740929e3},{moduleCode:"",detailCode:"320054",description:"",solution:"",updateTime:1529544875e3},{moduleCode:"",detailCode:"500101",description:"",solution:"",updateTime:1529485953e3},{moduleCode:"",detailCode:"321001",description:"",solution:"",updateTime:1529411048e3},{moduleCode:"",detailCode:"321508",description:"",solution:"",updateTime:1529393279e3},{moduleCode:"",detailCode:"405991",description:"",solution:"",updateTime:1529380238e3},{moduleCode:"",detailCode:"380461",description:"",solution:"",updateTime:1529130941e3},{moduleCode:"",detailCode:"-1019",description:"",solution:"",updateTime:1529057245e3},{moduleCode:"",detailCode:"322009",description:"",solution:"",updateTime:1528965717e3},{moduleCode:"",detailCode:"324005",description:"",solution:"",updateTime:1528950153e3},{moduleCode:"",detailCode:"325000",description:"",solution:"",updateTime:1528947143e3},{moduleCode:"",detailCode:"326032",description:"",solution:"",updateTime:1528872971e3},{moduleCode:"",detailCode:"325032",description:"",solution:"",updateTime:1528863189e3},{moduleCode:"",detailCode:"328000",description:"",solution:"",updateTime:1528794505e3},{moduleCode:"",detailCode:"53",description:"",solution:"",updateTime:1528693249e3},{moduleCode:"",detailCode:"-1020",description:"",solution:"",updateTime:152849944e4},{moduleCode:"",detailCode:"329032",description:"",solution:"",updateTime:1528446301e3},{moduleCode:"",detailCode:"-1202",description:"",solution:"",updateTime:152843982e4},{moduleCode:"",detailCode:"2",description:"",solution:"",updateTime:1528434175e3},{moduleCode:"",detailCode:"1152936",description:"",solution:"",updateTime:1528345986e3},{moduleCode:"",detailCode:"328011",description:"",solution:"",updateTime:15283386e5},{moduleCode:"",detailCode:"28",description:"",solution:"",updateTime:152833753e4},{moduleCode:"",detailCode:"320356",description:"",solution:"",updateTime:1528188693e3},{moduleCode:"",detailCode:"320357",description:"",solution:"",updateTime:1528188517e3},{moduleCode:"",detailCode:"405800",description:"",solution:"",updateTime:1528168732e3},{moduleCode:"",detailCode:"405996",description:"",solution:"",updateTime:1528168686e3},{moduleCode:"",detailCode:"380357",description:"",solution:"",updateTime:1528011565e3},{moduleCode:"",detailCode:"328022",description:"",solution:"",updateTime:1527929065e3},{moduleCode:"",detailCode:"380003",description:"",solution:"",updateTime:1527927819e3},{moduleCode:"",detailCode:"50004",description:"",solution:"",updateTime:1527770643e3},{moduleCode:"",detailCode:"50011",description:"",solution:"",updateTime:1527770635e3},{moduleCode:"",detailCode:"370017",description:"",solution:"",updateTime:1527739514e3},{moduleCode:"",detailCode:"327032",description:"",solution:"",updateTime:1527726704e3},{moduleCode:"",detailCode:"324001",description:"",solution:"",updateTime:1527681892e3},{moduleCode:"",detailCode:"405997",description:"",solution:"",updateTime:1527653408e3},{moduleCode:"",detailCode:"405995",description:"",solution:"",updateTime:1527647283e3},{moduleCode:"",detailCode:"1153825",description:"",solution:"",updateTime:1527601747e3},{moduleCode:"",detailCode:"328002",description:"",solution:"",updateTime:1527495292e3},{moduleCode:"",detailCode:"1152679",description:"",solution:"",updateTime:1527486665e3},{moduleCode:"",detailCode:"380356",description:"",solution:"",updateTime:1527125669e3},{moduleCode:"",detailCode:"328032",description:"",solution:"",updateTime:1527069382e3},{moduleCode:"",detailCode:"22",description:"",solution:"",updateTime:1527049826e3},{moduleCode:"",detailCode:"9",description:"",solution:"",updateTime:1527006778e3},{moduleCode:"",detailCode:"89",description:"",solution:"",updateTime:1526622784e3},{moduleCode:"",detailCode:"328016",description:"",solution:"",updateTime:1526452365e3},{moduleCode:"",detailCode:"368005",description:"",solution:"",updateTime:1525921264e3},{moduleCode:"",detailCode:"0",description:"",solution:"",updateTime:1525920242e3},{moduleCode:"",detailCode:"380006",description:"",solution:"",updateTime:1525918868e3},{moduleCode:"",detailCode:"310",description:"",solution:"",updateTime:1525834436e3},{moduleCode:"",detailCode:"360011",description:"",solution:"",updateTime:1525681552e3},{moduleCode:"",detailCode:"170005",description:"",solution:"",updateTime:15254339e5},{moduleCode:"",detailCode:"50023",description:"",solution:"",updateTime:1525403338e3},{moduleCode:"",detailCode:"100131",description:"",solution:"",updateTime:1525229691e3},{moduleCode:"",detailCode:"-1018",description:"",solution:"",updateTime:1525142341e3},{moduleCode:"",detailCode:"362026",description:"",solution:"",updateTime:1524882677e3},{moduleCode:"",detailCode:"368007",description:"",solution:"",updateTime:1524832269e3},{moduleCode:"",detailCode:"54",description:"",solution:"",updateTime:1524793646e3},{moduleCode:"",detailCode:"1154722",description:"",solution:"",updateTime:1524620807e3},{moduleCode:"",detailCode:"320229",description:"",solution:"",updateTime:1524551682e3},{moduleCode:"",detailCode:"360012",description:"",solution:"",updateTime:1524472094e3},{moduleCode:"",detailCode:"380229",description:"",solution:"",updateTime:1524110755e3},{moduleCode:"",detailCode:"360016",description:"",solution:"",updateTime:1523933518e3},{moduleCode:"",detailCode:"-1003",description:"",solution:"",updateTime:1523584804e3},{moduleCode:"",detailCode:"410026",description:"",solution:"",updateTime:152351743e4},{moduleCode:"",detailCode:"360102",description:"TTS初始化失败",solution:"",updateTime:1523503528e3},{moduleCode:"",detailCode:"360013",description:"设备开启了隐私保护",solution:"",updateTime:1523503507e3},{moduleCode:"",detailCode:"360010",description:"设备正在对讲中",solution:"",updateTime:1523503491e3},{moduleCode:"",detailCode:"360007",description:"TTS关闭了与客户端的连接",solution:"",updateTime:1523503475e3},{moduleCode:"",detailCode:"360006",description:"客户端接收发生错误",solution:"",updateTime:1523503457e3},{moduleCode:"",detailCode:"360005",description:"客户端发送的消息错误",solution:"",updateTime:1523503437e3},{moduleCode:"",detailCode:"360004",description:"TTS内部发生错误",solution:"",updateTime:1523503421e3},{moduleCode:"",detailCode:"360003",description:"TTS的设备端发生错误",solution:"",updateTime:1523503397e3},{moduleCode:"",detailCode:"360002",description:"对讲发起超时",solution:"",updateTime:1523503376e3},{moduleCode:"",detailCode:"360001",description:"客户端请求超时",solution:"",updateTime:1523503357e3},{moduleCode:"",detailCode:"320077",description:"",solution:"",updateTime:1523444274e3},{moduleCode:"",detailCode:"370047",description:"",solution:"",updateTime:152344048e4},{moduleCode:"",detailCode:"100002",description:"",solution:"",updateTime:1523413964e3},{moduleCode:"",detailCode:"-1004",description:"",solution:"",updateTime:1523336653e3},{moduleCode:"",detailCode:"380000",description:"",solution:"",updateTime:1523180856e3},{moduleCode:"",detailCode:"380213",description:"",solution:"",updateTime:1523180623e3},{moduleCode:"",detailCode:"380101",description:"",solution:"",updateTime:1522834231e3},{moduleCode:"",detailCode:"50047",description:"",solution:"",updateTime:1522833243e3},{moduleCode:"",detailCode:"-999",description:"",solution:"",updateTime:1522831034e3},{moduleCode:"",detailCode:"320418",description:"",solution:"",updateTime:1522829072e3},{moduleCode:"",detailCode:"-1009",description:"",solution:"",updateTime:1522746247e3},{moduleCode:"",detailCode:"320209",description:"",solution:"",updateTime:1522744395e3},{moduleCode:"",detailCode:"368006",description:"",solution:"",updateTime:15227443e5},{moduleCode:"",detailCode:"369003",description:"",solution:"",updateTime:1522736355e3},{moduleCode:"",detailCode:"405989",description:"",solution:"",updateTime:1522726571e3},{moduleCode:"",detailCode:"-1012",description:"",solution:"",updateTime:1522726203e3},{moduleCode:"",detailCode:"322016",description:"",solution:"",updateTime:1522722918e3},{moduleCode:"",detailCode:"500103",description:"",solution:"",updateTime:1522655556e3},{moduleCode:"",detailCode:"405999",description:"",solution:"",updateTime:1522654716e3},{moduleCode:"",detailCode:"321032",description:"",solution:"",updateTime:1522647732e3},{moduleCode:"",detailCode:"381101",description:"",solution:"",updateTime:1522392414e3},{moduleCode:"",detailCode:"399999",description:"",solution:"",updateTime:1522379834e3},{moduleCode:"",detailCode:"380103",description:"",solution:"",updateTime:1522312724e3},{moduleCode:"",detailCode:"360014",description:"",solution:"",updateTime:1522304341e3},{moduleCode:"",detailCode:"-1005",description:"",solution:"",updateTime:1522288195e3},{moduleCode:"",detailCode:"100005",description:"",solution:"",updateTime:1522218849e3},{moduleCode:"",detailCode:"100004",description:"",solution:"",updateTime:1522209053e3},{moduleCode:"",detailCode:"106002",description:"",solution:"",updateTime:15222062e5},{moduleCode:"",detailCode:"410030",description:"",solution:"",updateTime:1522162252e3},{moduleCode:"",detailCode:"-1002",description:"",solution:"",updateTime:152215069e4},{moduleCode:"",detailCode:"-1200",description:"",solution:"",updateTime:1522139025e3},{moduleCode:"",detailCode:"-1001",description:"",solution:"",updateTime:1522046436e3},{moduleCode:"",detailCode:"-1011",description:"",solution:"",updateTime:1522045931e3},{moduleCode:"",detailCode:"381102",description:"",solution:"",updateTime:1522044953e3},{moduleCode:"",detailCode:"381103",description:"",solution:"",updateTime:1522044953e3},{moduleCode:"",detailCode:"391205",description:"vtdu解析服务器ip失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"391206",description:"vtdu描述符select失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"391207",description:"vtdu文件描述符不在可读中",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"391208",description:"vtdu网络发生错误getsockopt",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"391209",description:"vtdu描述符select超时",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395000",description:"cas回复信令,发现内存已经释放(和设备之间异常断开)",msg:"播放失败请重试",solution:"检查设备网络;刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395400",description:"私有化协议vtm检测私有化协议中码流类型小于0或者设备序列号为空等非法参数场景返回(app不重试取流)",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395402",description:"回放找不到录像文件",msg:"回放找不到录像文件,本地存储请检查存储卡是否接触良好",solution:"检查是否有存储卡并且接触良好",updateTime:1522034841e3},{moduleCode:"",detailCode:"395403",description:"操作码或信令密钥与设备不匹配",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395404",description:"设备不在线",solution:"检查设备网络;重启设备接入萤石云",msg:"设备不在线,请检查设备网络或重启设备接入萤石云",updateTime:1522034841e3},{moduleCode:"",detailCode:"395405",description:"流媒体向设备发送或接受信令超时/cas响应超时",msg:"播放失败,请检查设备网络或重启设备",solution:"检查设备网络;重启设备",updateTime:1522034841e3},{moduleCode:"",detailCode:"395406",description:"token失效",msg:"播放失败请重试或重启设备",solution:"刷新重试或者重启设备",updateTime:1522034841e3},{moduleCode:"",detailCode:"395407",description:"客户端的URL格式错误",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395409",description:"预览开启隐私保护",msg:"播放失败请关闭隐私遮蔽",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395410",description:"设备达到最大连接数",solution:"请升级设备固件版本",updateTime:1522034841e3},{moduleCode:"",detailCode:"395411",description:"token无权限",msg:"播放失败",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395412",description:"session不存在",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395413",description:"验证token的他异常(不具体) ",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395415",description:"设备通道错",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395416",description:"设备资源受限",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395451",description:"设备不支持的码流类型",msg:"播放失败请重试或切换设备码流",solution:"刷新重试或者切换到高清模式",updateTime:1522034841e3},{moduleCode:"",detailCode:"395452",description:"设备链接流媒体服务器失败",msg:"播放失败,请检查设备网络或重启设备或重新加载",solution:"检查设备网络,重启设备,刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395454",description:"流媒体中关于设备取流会话不存在",msg:"播放失败请重试",solution:"流媒体中关于设备取流会话不存在",updateTime:152222018e4},{moduleCode:"",detailCode:"395455",description:"设备通道未关联",msg:"播放失败,请检查设备通道是否关联",solution:"检查设备通道是否关联",updateTime:152222018e4},{moduleCode:"",detailCode:"395456",description:"设备通道关联设备不在线",msg:"播放失败,请检查设备通道是否上线",solution:"检查设备通道是否上线",updateTime:152222018e4},{moduleCode:"",detailCode:"395457",description:"客户端不支持端到端加密",msg:"播放失败",solution:"客户端不支持端到端加密",updateTime:152222018e4},{moduleCode:"",detailCode:"395458",description:"设备不支持当前并发ECDH密",msg:"客户端不支持端到端加密",solution:"设备不支持当前并发ECDH密",updateTime:152222018e4},{moduleCode:"",detailCode:"395459",description:"VTDU 处理ECDH 加密失败",msg:"播放失败",solution:"VTDU 处理ECDH 加密失败",updateTime:152222018e4},{moduleCode:"",detailCode:"395460",description:"流媒体中关于设备取流会话不存在",msg:"播放失败请重试",solution:"流媒体中关于设备取流会话不存在",updateTime:152222018e4},{moduleCode:"",detailCode:"395492",description:"设备不支持的命令",msg:"操作失败,设备不支持",solution:"",updateTime:152222018e4},{moduleCode:"",detailCode:"395500",description:"服务器处理失败",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395501",description:"流媒体vtdu达到最大负载,请扩容",msg:"播放失败请重试",solution:"服务器负载达到上限,请稍后重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395503",description:"vtm返回分配vtdu失败",msg:"播放失败请重试",solution:"vtdu服务异常,请请稍后重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395504",description:"流媒体vtdu达到最大负载",msg:"播放失败请重试",solution:"服务器负载达到上限,请稍后重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395505",description:"vtm ecdh解密失败",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395506",description:"vtm 返回IPC不支持取流(需要IPC添加NVR后支持)",msg:"播放失败,请绑定NVR使用",solution:"IPC绑定NVR使用",updateTime:1522034841e3},{moduleCode:"",detailCode:"395544",description:"设备返回无视频源",msg:"播放失败,请检查设备接触情况",solution:"设备是否接触良好; 如果一直无法解决,请联系技术支持",updateTime:1522034841e3},{moduleCode:"",detailCode:"395545",description:"视频分享时间已经结束",msg:"视频分享时间已结束",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395546",description:"vtdu返回达到取流并发路数限制",msg:"并发上限,请升级为企业版",solution:"请升级为企业版,放开并发限制",updateTime:1522034841e3},{moduleCode:"",detailCode:"395547",description:"vtdu返回开放平台用户并发限制",msg:"并发上限,请升级为企业版",solution:"请确定开放平台用户预览是否超过用户并发数量限制",updateTime:1522034841e3},{moduleCode:"",detailCode:"395556",description:"ticket校验失败",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395557",description:"回放服务器等待流头超时",msg:"播放失败请重试",solution:"刷新重试,检测设备网络,重启设备",updateTime:1522034841e3},{moduleCode:"",detailCode:"395558",description:"查找录像开始时间错误",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395560",description:"群组分享取流二次验证失败",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395561",description:"分享群组用户被锁住",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395562",description:"群组分享用户权限变更",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395563",description:"认证服务连接失败",msg:"播放失败请重试",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395564",description:"认证超时",msg:"播放失败请重试",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395566",description:"不在分享时间内预览",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395567",description:"分享通道被锁定",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395568",description:"未找到认证类型",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395569",description:"认证返回的参数异常",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395600",description:"分享设备不在分享时间内",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395601",description:"群组分享用户没权限",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395602",description:"群组分享权限变更",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395610",description:"接收流头失败",msg:"播放失败请重试并检查设备网络情况以及设备配置",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395620",description:"心跳超时",msg:"播放失败请重试并检查设备网络情况以及设备配置",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395530",description:"机房故障不可用",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395701",description:"cas信令返回格式错误",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395702",description:"SPGW请求Cas、Status透传超时",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395703",description:"SPGW请求http不通",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396001",description:"客户端参数出错",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396099",description:"客户端默认错误",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396101",description:"不支持的命令",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396102",description:"设备流头发送失败",msg:"播放失败请重试",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396103",description:"cas/设备返回错误1",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396104",description:"cas/设备返回错误-1",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396105",description:"设备返回错误码3",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396106",description:"设备返回错误码4",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396107",description:"设备返回错误码5",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396108",description:"cas信令回应重复",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396109",description:"视频广场取消分享",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396110",description:"设备信令默认错误",msg:"播放失败请重试",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396501",description:"设备数据链路和实际链路不匹配",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396502",description:"设备数据链路重复建立连接",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396503",description:"设备数据链路端口不匹配",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396504",description:"缓存设备数据链路失败(内存块不足)",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396505",description:"设备发送确认头消息重复",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396506",description:"设备数据先于确定头部到达",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396508",description:"设备数据头部长度非法",msg:"播放失败请重试或重启设备",solution:"刷新重试,或者重启设备",updateTime:1522034841e3},{moduleCode:"",detailCode:"396509",description:"索引找不到设备数据管理块",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396510",description:"设备数据链路vtdu内存块协议状态不匹配",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396511",description:"设备数据头部没有streamkey错误",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396512",description:"设备数据头部非法(较笼统)",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396513",description:"设备数据长度过小",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396514",description:"设备老协议推流头部没有streamkey错误",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396515",description:"设备老协议推流数据非法",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396516",description:"设备老协议索引找不到内存管理块",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396517",description:"设备老协议推流数据非法",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396518",description:"设备数据包过大",msg:"播放失败请重试或重启设备",solution:"刷新重试,或者重启设备",updateTime:1522034841e3},{moduleCode:"",detailCode:"396519",description:"设备推流链路网络不稳定",msg:"播放失败,请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396520",description:"设备推流链路网络不稳定(默认)",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396700",description:"异常数据包",msg:"播放失败,设备重启",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396701",description:"回放结束数据包",msg:"回放结束",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397001",description:"与相应服务连接失败",msg:"播放失败请重试,请检查设备网络情况以及连接情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397002",description:"与相应服务连接失败",msg:"播放失败请重试,请检查设备网络情况以及连接情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397003",description:"与相应服务连接失败",msg:"播放失败请重试,请检查设备网络情况以及连接情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397004",description:"与相应服务连接失败",msg:"播放失败请重试,请检查设备网络情况以及连接情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397005",description:"VTDU连接失败,或VTDU侧断开连接",msg:"播放失败请重试,请检查设备网络情况以及连接情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397006",description:"vtm断开连接(无需 关注)",msg:"播放失败请重试,请检查设备网络情况以及连接情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397007",description:"客户端发送缓冲区满(上行带宽太小)",msg:"播放失败,上行带宽过小请检查设备网络情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"399000",description:"无效包,包过大",msg:" 检查设备重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"399001",description:"地址不合法",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"399002",description:"缺少端口",msg:" 播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"170003",description:"refreshToken不存在",solution:"建议用户重新调用logout接口,然后调用openLoginPage接口重新启动登录页面登录",updateTime:1522034841e3},{moduleCode:"",detailCode:"170004",description:"refreshToken已过期",solution:"建议用户重新调用logout接口,然后调用openLoginPage接口重新启动登录页面登录",updateTime:1522034841e3},{moduleCode:"",detailCode:"380011",description:"设备隐私保护中",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380045",description:"设备直连取流连接数量过大",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380047",description:"设备不支持该命令",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380077",description:"设备正在对讲中",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380102",description:"数据接收异常",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380205",description:"设备检测入参异常",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380209",description:"网络连接超时",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380212",description:"设备端网络连接超时",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"101007",description:"手机号未注册",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120503",description:"正在响铃",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390016",description:"vtdu成功响应未携带流头",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101008",description:"手机号码不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120504",description:"室内机正在通话",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390017",description:"无数据流,尚未使用",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101009",description:"用户名与手机不匹配",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120505",description:"设备操作失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390018",description:"信令消息体PB解析失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101010",description:"获取验证码失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120506",description:"非法命令",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390019",description:"信令消息体PB封装失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101011",description:"验证码错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120507",description:"智能锁密码错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390020",description:"申请系统内存资源失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101012",description:"验证码失效",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120508",description:"开关锁失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390021",description:"vtdu地址尚未获取到",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101013",description:"用户不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120509",description:"开关锁超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390022",description:"客户端尚未支持",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101014",description:"密码不正确或者appKey不正确",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120510",description:"智能锁设备繁忙",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390023",description:"获取系统socket资源失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101015",description:"用户被锁住",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120511",description:"远程开锁功能未打开",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390024",description:"上层填充的StreamSsnId不匹配",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101021",description:"验证参数异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120600",description:"临时密码数已达上限",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390025",description:"链接服务器失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101026",description:"邮箱已经被注册",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120601",description:"添加临时密码失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390026",description:"客户端请求未收到服务端应答",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101031",description:"邮箱未注册",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120602",description:"删除临时密码失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390027",description:"链路断开",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101032",description:"邮箱不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120603",description:"该临时密码不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390028",description:"没有取流链接",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101041",description:"获取验证码过于频繁",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120604",description:"指纹锁射频通信失败,请稍后再试",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390029",description:"流成功停止",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101043",description:"手机验证码输入错误超过规定次数",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120605",description:"其他用户正在认证中",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390030",description:"客户端防串流校验失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"102000",description:"设备不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120606",description:"验证已启动,请在120s内进行本地验证和调用添加设备接口",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390031",description:"应用层tcp粘包处理缓冲区满",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"102001",description:"摄像机不存在",solution:"摄像机未注册到萤石云平台,请仔细检查摄像机的网络配置,确保连接到网络",updateTime:152203484e4},{moduleCode:"",detailCode:"120607",description:"删除用户失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390032",description:"无效状态迁移",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"102003",description:"设备不在线",solution:"参考服务中心排查方法",updateTime:152203484e4},{moduleCode:"",detailCode:"120608",description:"用户不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390033",description:"无效客户端状态",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"102004",description:"设备异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120609",description:"设备响应超时,门锁通信故障或者电量不足,请重试.",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390034",description:"向vtm取流流媒体信息请求超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"102007",description:"设备序列号不正确",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120610",description:"获取临时密码列表失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390035",description:"向代理取流请求超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"102009",description:"设备请求响应超时异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"130001",description:"用户不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390036",description:"向代理保活取流请求超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"105000",description:"设备已被自己添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"130002",description:"手机号码已经注册",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390037",description:"向vtdu取流请求超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"105001",description:"设备已被别人添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"130003",description:"手机验证码错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390038",description:"向vtdu保活取流请求超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"105002",description:"设备验证码错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"130004",description:"终端绑定操作失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391001",description:"vtm地址或端口非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107001",description:"邀请不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"149999",description:"数据异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391002",description:"vtm生成文件描述符失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107002",description:"邀请验证失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"150000",description:"服务器异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391003",description:"vtm设置文件描述符非阻塞失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107003",description:"邀请用户不匹配",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160000",description:"设备不支持云台控制",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391004",description:"vtm设置文件描述符阻塞失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107004",description:"云存储连接失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160001",description:"用户无云台控制权限",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391005",description:"vtm解析服务器ip失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"7005",description:"VTDU主动断开连接",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107005",description:"VTDU主动断开连接",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160002",description:"设备云台旋转达到上限位",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391006",description:"vtm描述符select失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107006",description:"不能邀请自己",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160003",description:"设备云台旋转达到下限位",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391007",description:"vtm文件描述符不在可读中",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107007",description:"重复邀请",solution:"分享和删除分享必须全部由接口形式操作,如果与萤石客户端混用会造成这个问题,解决办法:在萤石客户端清空所有相关分享数据并重新添加设备,再通过接口操作即可",updateTime:152203484e4},{moduleCode:"",detailCode:"160004",description:"设备云台旋转达到左限位",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391008",description:"vtm网络发生错误getsockopt",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110001",description:"参数错误",solution:"参数为空或者格式不对",updateTime:152203484e4},{moduleCode:"",detailCode:"160005",description:"设备云台旋转达到右限位",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391009",description:"vtm描述符select超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110002",description:"accessToken异常或过期",solution:"accessToken有效期为七天,建议在accessToken即将过期或者出现10002错误码的时候重新获取accessToken",updateTime:152203484e4},{moduleCode:"",detailCode:"160006",description:"云台当前操作失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391101",description:"proxy地址或端口非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110004",description:"用户不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160007",description:"预置点个数超过最大值",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391102",description:"proxy生成文件描述符失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110005",description:"appKey异常",solution:"确认appKey状态,不通过或者冻结状态会返回该错误码",updateTime:152203484e4},{moduleCode:"",detailCode:"160009",description:"正在调用预置点",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391103",description:"proxy设置文件描述符非阻塞失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110006",description:"ip受限",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160010",description:"该预置点已经是当前位置",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391104",description:"proxy设置文件描述符阻塞失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160011",description:"预置点不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391105",description:"proxy解析服务器ip失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110008",description:"签名错误",solution:"①获取签名方式详见apidemo及[旧]API文档 ②注意编码格式为UTF-8",updateTime:152203484e4},{moduleCode:"",detailCode:"160013",description:"设备版本已是最新",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391106",description:"proxy描述符select失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110009",description:"签名参数错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160014",description:"设备正在升级",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391107",description:"proxy文件描述符不在可读中",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110010",description:"签名超时",solution:"请调用同步服务器时间接口进行校时",updateTime:152203484e4},{moduleCode:"",detailCode:"160015",description:"设备正在重启",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391108",description:"proxy网络发生错误getsockopt",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110011",description:"未开通萤石云服务",solution:"参照绑定流程",updateTime:152203484e4},{moduleCode:"",detailCode:"160016",description:"加密未开启,无须关闭",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391109",description:"proxy描述符select超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110012",description:"第三方账户与萤石账号已经绑定",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160017",description:"设备抓图失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391201",description:"vtdu地址或端口非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110013",description:"应用没有权限调用此接口",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160018",description:"设备升级失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391202",description:"vtdu生成文件描述符失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110014",description:"APPKEY下对应的第三方userId和phone未绑定",solution:"获取AccessToken时所用appKey与SDK所用appKey不一致",updateTime:152203484e4},{moduleCode:"",detailCode:"160019",description:"加密已开启",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391203",description:"vtdu设置文件描述符非阻塞失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110017",description:"appKey不存在",solution:"请填写在官网申请的应用秘钥",updateTime:152203484e4},{moduleCode:"",detailCode:"160020",description:"不支持该命令",solution:"请确认设备是否支持该命令",updateTime:152203484e4},{moduleCode:"",detailCode:"391204",description:"vtdu设置文件描述符阻塞失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110018",description:"AccessToken与Appkey不匹配",solution:"请检查获取accessToken对应的appKey和SDK中设置的appKey是否一致",updateTime:152203484e4},{moduleCode:"",detailCode:"160023",description:"订阅操作失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110019",description:"密码错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160024",description:"取消订阅操作失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110020",description:"请求方法为空",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160025",description:"客流统计配置失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110021",description:"ticket校验失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160026",description:"设备处于隐私遮蔽状态",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110022",description:"透传目的地非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160027",description:"设备正在镜像操作",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110024",description:"无透传权限",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160028",description:"设备正在键控动作",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110025",description:"appKey被禁止使用通明通道",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160029",description:"设备处于语音对讲状态",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160030",description:"卡密输入错误次数过多,24小时后再输入",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160031",description:"卡密信息不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160032",description:"卡密状态不对或已过期",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160033",description:"卡密非卖品,只能开通对应的绑定设备",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110030",description:"appKey和appSecret不匹配",solution:"请检查appKey和appSecret是否对应",updateTime:152203484e4},{moduleCode:"",detailCode:"160035",description:"购买云存储服务失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110031",description:"子账户或萤石用户没有权限",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160040",description:"添加的设备不在同一局域网",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110032",description:"子账户不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160041",description:"添加的设备被其他设备关联或响应超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110033",description:"子账户未设置授权策略",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160042",description:"添加的设备密码错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110034",description:"子账户已存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160043",description:"添加的设备超出最大数量",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110035",description:"获取子账户AccessToken异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160044",description:"添加的设备网络不可达超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110036",description:"子账户被禁用",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160045",description:"添加的设备的IP和其他通道的IP冲突",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110051",description:"无权限进行抓图",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160046",description:"添加的设备的IP和本设备的IP冲突",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160047",description:"码流类型不支持",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120002",description:"设备不存在",solution:"①设备没有注册到萤石云平台,请检查下设备网络参数,确保能正常连接网络②设备序列号不存在",updateTime:152203484e4},{moduleCode:"",detailCode:"160048",description:"带宽超出系统接入带宽",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120003",description:"参数异常,SDK版本过低",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160049",description:"IP或者端口不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120004",description:"参数异常,SDK版本过低",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160050",description:"添加的设备版本不支持需要升级才能接入",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120005",description:"安全认证失败,需进行SDK安全认证",solution:"已去掉安全验证",updateTime:152203484e4},{moduleCode:"",detailCode:"160051",description:"添加的设备不支持接入",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120006",description:"网络异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160052",description:"添加的设备通道号出错",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120007",description:"设备不在线",solution:"参考服务中心排查方法",updateTime:152203484e4},{moduleCode:"",detailCode:"160053",description:"添加的设备分辨率不支持",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120008",description:"设备响应超时",solution:"设备响应超时,请检测设备网络或重试",updateTime:152203484e4},{moduleCode:"",detailCode:"160054",description:"添加的设备账号被锁定",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120009",description:"子账号不能添加设备",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160055",description:"添加的设备取码流出错",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120010",description:"设备验证码错误",solution:"验证码在设备标签上,六位大写字母,注意大小写",updateTime:152203484e4},{moduleCode:"",detailCode:"160056",description:"删除设备失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120012",description:"设备添加失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160057",description:"删除的设备未关联",solution:"检查IPC与NVR是否有关联关系",updateTime:152203484e4},{moduleCode:"",detailCode:"120013",description:"设备已被别人添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160060",description:"地址未绑定",solution:"请前往官网设置直播",updateTime:152203484e4},{moduleCode:"",detailCode:"120014",description:"设备序列号不正确",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160061",description:"账户流量已超出或未购买,限制开通",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120015",description:"设备不支持该功能",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160062",description:"该通道直播已开通",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120016",description:"当前设备正在格式化",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160063",description:"直播未使用或直播已关闭",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120017",description:"设备已被自己添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160070",description:"设备不能转移给自己",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120018",description:"该用户不拥有该设备",solution:"确认设备是否属于用户",updateTime:152203484e4},{moduleCode:"",detailCode:"160071",description:"设备不能转移,设备与其他设备存在关联关系",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400001",description:"参数为空",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120019",description:"设备不支持云存储服务",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160072",description:"设备不能转移,通道被分享给其他用户或者分享到视频广场",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400002",description:"参数错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120020",description:"设备在线,被自己添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160073",description:"云存储转移失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400025",description:"设备不支持对讲",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120021",description:"设备在线,但是未被用户添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160080",description:"当前正在声源定位",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400029",description:"没有初始化或资源被释放",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120022",description:"设备在线,但是已经被别的用户添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160081",description:"当前正在轨迹巡航",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400030",description:"json解析异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120023",description:"设备不在线,未被用户添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160082",description:"设备正在响应本次声源定位",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400031",description:"网络异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120024",description:"设备不在线,但是已经被别的用户添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160083",description:"当前正在开启隐私遮蔽",solution:"设备正在操作隐私遮蔽,无法进行当前操作",updateTime:152203484e4},{moduleCode:"",detailCode:"400032",description:"设备信息异常为空",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120025",description:"重复申请分享",solution:"确认设备是否由添加过该设备且申请过分享的账户下是否还存在分享记录",updateTime:152203484e4},{moduleCode:"",detailCode:"160084",description:"当前正在关闭隐私遮蔽",solution:"设备正在操作隐私遮蔽,无法进行当前操作",updateTime:152203484e4},{moduleCode:"",detailCode:"400034",description:"取流超时",solution:"一般是由于网络状况不好导致,可以尝试下让用户重新播放",updateTime:152203484e4},{moduleCode:"",detailCode:"120026",description:"视频广场不存在该视频",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"380290",description:" 连接CAS服务器失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400035",description:"设备已加密,需要输入验证码",solution:"收到此错误码,需要让用户输入验证码后,调用EZPlayer.setPlayKey传入验证码,并重新调用播放函数",updateTime:152203484e4},{moduleCode:"",detailCode:"120027",description:"视频转码失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361001",description:"对讲服务端排队超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400036",description:"播放验证码错误",solution:"收到此错误码,需要让用户输入验证码后,调用EZPlayer.setPlayKey传入验证码,并重新调用播放函数",updateTime:152203484e4},{moduleCode:"",detailCode:"120028",description:"设备固件升级包不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361002",description:"对讲服务端处理超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400037",description:"surfacehold错误",solution:"请检查是否是播放之前销毁了surface,收到此错误也可以重新建立surface后播放",updateTime:152203484e4},{moduleCode:"",detailCode:"120029",description:"设备不在线,但是已经被自己添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361003",description:"设备链接对讲服务器超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400100",description:"未知错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120030",description:"该用户不拥有该视频广场视频",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361004",description:"服务器内部错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400200",description:"player sdk出错,这种错误一般开发者也是无法解决,不具体分类传出,传一个统一的inner错误码出去",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120031",description:"开启终端绑定,硬件特征码验证失败",solution:"请在萤石客户端关闭终端绑定,参考此步骤",updateTime:152203484e4},{moduleCode:"",detailCode:"361005",description:"解析消息失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400300",description:"内存溢出",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120032",description:"该用户下通道不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361006",description:"请求重定向--需要向其他服务申请对讲",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400901",description:"设备不在线,可以提示用户",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120033",description:"无法收藏自己分享的视频",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361007",description:"请求url非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400902",description:"accesstoken异常或失效,需要重新获取accesstoken,并传入到sdk",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120034",description:"该用户下无设备",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361008",description:"token失效",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400903",description:"当前账号开启了终端绑定,只允许指定设备登录操作,提示用户登录i.ys7.com解除终端绑定",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120090",description:"用户反馈失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361009",description:"设备验证码或者通信秘钥不匹配",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400904",description:"设备正在对讲中",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120095",description:"APP包下载失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361010",description:"设备已经在对讲",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400905",description:"设备开启了隐私保护,不允许预览、对讲等",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120096",description:"APP包信息删除失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361011",description:"设备10s响应超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120101",description:"视频不支持分享给本人",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361012",description:"设备不在线",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320002",description:"参数无效",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120102",description:"无相应邀请信息",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361013",description:"设备开启隐私保护拒绝对讲",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320003",description:"暂不支持此操作",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120103",description:"好友已存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361014",description:"token无权限",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320004",description:"内存溢出",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120104",description:"好友不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361015",description:"设备返回session不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320005",description:"创建CAS session失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120105",description:"好友状态错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361016",description:"验证token其他异常错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320006",description:"创建cloud session失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120106",description:"对应群组不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361017",description:"服务端监听设备建立端口超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320007",description:"token失效",solution:"重新设置token后再重试",updateTime:152203484e4},{moduleCode:"",detailCode:"120107",description:"不能添加自己为好友",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361018",description:"设备链路异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320008",description:"token池里面没有token,请传入token",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120108",description:"当前用户和所添加用户不是好友关系",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361019",description:"对讲服务端不支持的信令消息",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320009",description:"传入新的INIT_PARAM并reset(保留,目前未用)",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120109",description:"对应分享不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361020",description:"对讲服务端解析对讲请求未携带会话描述能力集",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320010",description:"请重试",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120110",description:"好友群组不属于当前用户",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361021",description:"对讲服务端优先能力集结果为空",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320011",description:"500毫秒后请重试",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120111",description:"好友不是等待验证状态",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361022",description:"cas链路异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320012",description:"token池已满",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120112",description:"添加应用下的用户为好友失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361023",description:"对讲服务端分配对讲会话资源失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320013",description:"P2P client超过限制",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120201",description:"操作报警信息失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361024",description:"对讲服务端解析信令消息失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320014",description:"sdk未初始化",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120202",description:"操作留言信息失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390001",description:"通用错误返回",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320015",description:"超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120301",description:"根据UUID查询报警消息不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390002",description:"入参为空指针",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320016",description:"正在打洞中",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120302",description:"根据UUID查询图片不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390003",description:"入参值无效",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320017",description:"没有视频文件头(播放器层面产生和处理此错误)",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120303",description:"根据FID查询图片不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390004",description:"信令消息解析非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320018",description:"解码错误/超时(播放器层面产生和处理此错误)",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120305",description:"设备ip解析错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390005",description:"内存资源不足",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320019",description:"取消(保留,用户不用处理)",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120401",description:"用户云空间信息不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390006",description:"协议格式不对或者消息体长度超过STREAM_MAX_MSGBODY_LEN",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320020",description:"播放过程中预连接被用户清除预操作信息",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120402",description:"云空间操作失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390007",description:"设备序列号长度不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320021",description:"流加密码不对",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120403",description:"用户目录不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390008",description:"取流url长度不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320022",description:"未传入播放窗口",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120404",description:"要操作的目标目录不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390009",description:"解析vtm返回vtdu地址不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"100200",description:"操作成功",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120405",description:"要删除的文件信息不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390010",description:"解析vtm返回级联vtdu地址不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101001",description:"用户名不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120406",description:"已开通云存储",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390011",description:"解析vtm返回会话标识长度不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101002",description:"用户名已被占用",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120407",description:"开通记录失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390012",description:"vtdu返回流头长度不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101003",description:"密码不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120500",description:"获取数据错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390013",description:"vtdu会话长度非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101004",description:"密码为同一字符",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120501",description:"开锁失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390014",description:"回调函数未注册",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101006",description:"手机号码已经被注册",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120502",description:"室内机未收到呼叫",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390015",description:"vtdu成功响应未携带会话标识",solution:"",updateTime:152203484e4}],E2="200",A2="操作成功!",X2={data:C2,code:E2,msg:A2},b2=function(){function R(N,m){i(this,R),this.coreX=N,this.coreY=m,console.log("ErrorCode",X2)}return a(R,[{key:"toString",value:function(){return"".concat(this.coreX,"-").concat(this.coreY)}},{key:"matchErrorInfo",value:function(m){return X2.data.find(function(g){return g.detailCode.substr(-4)==m})}}]),R}(),J={color:"red",backgroundColor:"red",activeColor:"red",btnList:[{btnKey:"ade5d065a113432e8091a1c5bc819c57-934f270c08b14e928bf0c2ae8e1a937d-header-0",iconId:"deviceID",part:"left",defaultActive:1,isrender:1,themeId:"934f270c08b14e928bf0c2ae8e1a937d"},{btnKey:"ade5d065a113432e8091a1c5bc819c57-934f270c08b14e928bf0c2ae8e1a937d-header-1",iconId:"deviceName",part:"left",defaultActive:1,isrender:1,themeId:"934f270c08b14e928bf0c2ae8e1a937d"}]},p2={color:"blue",backgroundColor:"blue",activeColor:"blue",btnList:[{btnKey:"ade5d065a113432e8091a1c5bc819c57-934f270c08b14e928bf0c2ae8e1a937d-footer-0",iconId:"play",part:"left",defaultActive:0,isrender:0,themeId:"934f270c08b14e928bf0c2ae8e1a937d"}]},N2={header:J,footer:p2},e3=function R(N){this.jsPlugin=N;var m={isMouseDown:!1,isOver:!1,mousePosition:null,oldTime:null,nowTime:null,moved:null,hoverTime:"2018-12-07 12:00:00",hoverLeft:0,timeTipShow:!1,randomNum:123,timeWidthTbls:[60,1800,3600,86400],timeUnits:["范围: 1分钟; 单位: 秒","范围: 30分钟; 单位: 分钟","范围: 1小时; 单位: 分钟","范围: 1天; 单位: 小时","范围: 3天; 单位: 小时"],drawPen:null,timeSection:[],canvasWidth:null,canvasHeight:null,timeTips:null},g=this;Object.keys(m).forEach(function(S){g[S]=m[S]}),this.options={width:this.canvasWidth,height:48,time:new Date().getTime(),timeSection:[],timeWidth:0},R.prototype.subTime=function(S){return S<10?"0"+S:S},R.prototype.tranTime=function(S){var x=S;if(S){var E=new Date(S);x=E.getFullYear()+"/"+(E.getMonth()+1)+"/"+E.getDate()+" "+this.subTime(E.getHours())+":"+this.subTime(E.getMinutes())+":"+this.subTime(E.getSeconds())}return x},R.prototype.init=function(S){S.width&&document.getElementById(S.id).setAttribute("width",parseInt(S.width,10)+"px");var x=this,E=this.options;x.randomNum=(Math.random()+"").split(".").join(""),x.timeWidthTblIndex=E.timeWidth;var L=document.querySelector("#".concat(this.jsPlugin.id,"-canvas"));x.drawPen=L.getContext("2d"),x.nowTime=E.time||Date.now(),x.timeSection=E.timeSection||[],x.canvasWidth=L.offsetWidth,x.canvasHeight=L.offsetHeight,x.updata(),document.getElementById("".concat(this.jsPlugin.id,"-canvas")).addEventListener("mousemove",function(r2){x.options.readOnly||x.mousemove(r2)}),document.getElementById("".concat(this.jsPlugin.id,"-canvas")).addEventListener("mouseover",function(r2){x.options.readOnly||x.mouseover(r2)}),document.getElementById("".concat(this.jsPlugin.id,"-canvas")).addEventListener("mouseleave",function(r2){x.options.readOnly||x.mouseleave(r2)}),document.getElementById("".concat(this.jsPlugin.id,"-canvas")).addEventListener("mousedown",function(r2){x.options.readOnly||x.mousedown(r2)}),document.getElementById("".concat(this.jsPlugin.id,"-canvas")).addEventListener("mouseup",function(r2){if(!x.options.readOnly){var l2=S.onChange;x.mouseUpFn(r2,l2)}})},R.prototype.setWidth=function(S){var x=this,E=this;S.width&&(document.getElementById(this.jsPlugin.id).style.width=S.width,document.getElementById("".concat(this.jsPlugin.id,"-canvas")).style.width=S.width,document.getElementById("".concat(this.jsPlugin.id,"-canvas-container")).style.width=S.width,E.canvasWidth=S.width,setTimeout(function(){x.updata({time:new Date})},500))},R.prototype.mousemove=function(S){if(this.isMouseDown&&this.isOver){var x=this.mousePosition-S.pageX;if(x===0)return;var E=0;switch(this.timeWidth){case 60:E=1/10;break;case 1800:E=1/20*60;break;case 3600:E=1/20*60;break;case 86400:E=1/30*60*60;break}var L=new Date(this.oldTime).getTime()+x*E*1e3;this.updata({time:L}),this.moved=!0}else{var r2=parseInt(document.getElementById("".concat(this.jsPlugin.id,"-canvas-container")).offsetLeft,10);this.mousePosition=S.pageX-r2,this.updata()}},R.prototype.mousedown=function(S){this.isMouseDown=!0,this.mousePosition=S.pageX,this.oldTime=this.nowTime},R.prototype.mouseover=function(S){this.isOver=!0},R.prototype.mouseleave=function(S){this.isOver=!1,this.isMouseDown=!1,this.updata()},R.prototype.changeSize=function(S){console.log("changeSize",S),this.options.timeWidth=S,this.updata({timeWidth:S})},R.prototype.mouseUpFn=function(S,x){if(this.isMouseDown&&(this.isMouseDown=!1,this.moved)){this.moved=!1;var E=this.subTime(new Date(this.nowTime).getHours())+":"+this.subTime(new Date(this.nowTime).getMinutes())+":"+this.subTime(new Date(this.nowTime).getSeconds()),L=new Date(this.oldTime).getFullYear()+"/"+(new Date(this.oldTime).getMonth()+1)+"/"+new Date(this.oldTime).getDate();this.nowTime=new Date("".concat(L," ").concat(E)),this.updata({time:this.nowTime}),this.oldTime=this.nowTime,console.log("nowTime",new Date(this.nowTime),"".concat(L," ").concat(E)),x(this.nowTime)}},R.prototype.readOnly=function(S){console.log("更改为只读"),this.options.readOnly=!0,document.getElementById("".concat(this.jsPlugin.id,"-canvas")).style.cursor="not-allowed"},R.prototype.unReadOnly=function(S){console.log("更改为只读"),this.options.readOnly=!1,document.getElementById("".concat(this.jsPlugin.id,"-canvas")).style.cursor="pointer"},R.prototype.run=function(S){this.isMouseDown||this.updata(S)},R.prototype.getTime=function(S){console.log("this",this),console.log("当前时间",new Date(this.nowTime))},R.prototype.updata=function(S){var x=this;S=S||{},x.nowTime=S.time||x.nowTime,x.timeSection=S.timeSection||x.timeSection,x.timeWidthTblIndex=S.timeWidth||x.timeWidthTblIndex,x.timeWidth=x.timeWidthTbls[S.timeWidth||x.timeWidthTblIndex],x.timeUnit=x.timeUnits[S.timeWidth||x.timeWidthTblIndex],S.timeWidth===0&&(x.timeWidthTblIndex=0,x.timeWidth=x.timeWidthTbls[0],x.timeUnit=x.timeUnits[0]),x.drawPen.fillStyle="#000000",x.drawPen.fillRect(0,0,x.canvasWidth,x.canvasHeight),x.drawScale(),x.drawRecord(),x.drawOtherMsg(),document.getElementById("".concat(this.jsPlugin.id,"-canvas-container")).style.width=x.options.width+"px",document.getElementById("".concat(this.jsPlugin.id,"-canvas")).style.width=x.options.width+"px",document.getElementById("".concat(this.jsPlugin.id,"-canvas-container")).style.height=x.options.height+"px",document.getElementById("".concat(this.jsPlugin.id,"-canvas")).style.height=x.options.height+"px"},R.prototype.drawSolidLine=function(S,x,E,L,r2,l2){this.drawPen.save(),this.drawPen.strokeStyle=l2,this.drawPen.lineWidth=r2,this.drawPen.beginPath(),this.drawPen.moveTo(S,x),this.drawPen.lineTo(E,L),this.drawPen.stroke(),this.drawPen.restore()},R.prototype.drawString=function(S,x,E,L,r2){this.drawPen.font="12px serif",this.drawPen.fillStyle="#ffffff",this.drawPen.textAlign=L||"left",this.drawPen.fillText(S,x,E+10)},R.prototype.drawScale=function(){var S=this,x="rgba(255,255,255)",E=new Date(S.nowTime),L=E.getFullYear(),r2=E.getSeconds(),l2=E.getMinutes(),s2=E.getHours(),Q=E.getDate(),X=0;switch(S.timeWidth){case 60:{var D2=parseInt(S.canvasWidth/10);E.setSeconds(E.getSeconds()-parseInt(D2/2,10)),Q=E.getDate(),s2=E.getHours(),l2=E.getMinutes(),r2=E.getSeconds();for(var g2=0;g2x.canvasWidth&&(g2=x.canvasWidth),g2<=0&&(g2=0),g2}},R.prototype.drawOtherMsg=function(){this.drawSolidLine(this.canvasWidth/2,0,this.canvasWidth/2,this.canvasHeight,2,"#1890FF"),this.drawPen.shadowBlur=0,this.isOver&&!this.isMouseDown?(this.mouseTime=this.mousePosition/this.canvasWidth*this.timeWidth*1e3+this.nowTime-this.timeWidth/2*1e3,this.mouseString=this.tranTime(this.mouseTime),this.hoverTime=this.mouseString,this.hoverLeft=this.mousePosition-60,this.timeTipShow=!0):this.timeTipShow=!1}},h3=function(){function R(N){if(i(this,R),this.jSPlugin=N,!document.getElementById("".concat(this.jSPlugin.id,"-audioControls")))return!1;this.currentTimeWidth=0,this.date=new Date,this.datepickerVisible=!1,this.seekTimer=null,this.disabled=!1,this.seekFrequency=2e3,this.jSPlugin.params&&this.jSPlugin.params.seekFrequency&&(this.seekFrequency=this.jSPlugin.params.seekFrequency),this.recInit()}return a(R,[{key:"recInit",value:function(){var m=this;this.currentTimeWidth=0;var g=parseInt(getComputedStyle(document.getElementById(this.jSPlugin.id)).width,10)-100,S=document.createElement("div");S.style="display:inline-block;height:48px;",S.id=this.jSPlugin.id+"-canvas-container";var x=document.createElement("canvas");x.id=this.jSPlugin.id+"-canvas",x.className="time-line-body",x.height="48",x.width=g,x.style="display:inline-block;",x.innerHTML="该浏览器不支持canvas",S.appendChild(x),f(S,document.getElementById("".concat(this.jSPlugin.id,"-audioControls")));var E=document.createElement("div");E.className="timeline-controls",E.style="display:flex;width:100px;height:48px;text-align:center;line-height: 48px;vertical-align: top;background: #000000;";var L=`
add reduce
`);E.innerHTML=L,f(E,S),this.timeLine=new e3(this.jSPlugin),this.timeLine.init({id:this.jSPlugin.id+"-canvas",width:g,onChange:function(X){console.log("time",X,new Date(X).Format("yyyyMMddhhmmss"));var D2=new Date(X).Format("yyyyMMddhhmmss");if(console.log("----------------this.jSPlugin.url",m.jSPlugin.url),P(m.jSPlugin.url).type==="cloud.rec"||m.jSPlugin.capacity&&m.jSPlugin.capacity.support_seek_playback=="1"){var g2=function(){m.jSPlugin.seek(D2.substr(8,6),"235959"),m.unSyncTimeLine(),setTimeout(function(){m.syncTimeLine()},6e3)};m.seekTimer?clearTimeout(m.seekTimer):g2(),m.seekTimer=setTimeout(function(){g2(),clearTimeout(m.seekTimer),m.seekTimer=null},m.seekFrequency)}else{var C=function(){setTimeout(function(){m.disabled=!1},m.seekFrequency)},I=function(B){m.disabled=!0,m.jSPlugin.pause().then(function(){console.log("暂停成功"),m.jSPlugin.resume(D2).then(function(A){console.log("恢复成功:",A),m.jSPlugin.Theme&&m.jSPlugin.Theme.setDecoderState({play:!0}),m.jSPlugin.Theme&&m.jSPlugin.Theme.decoderState.state.sound&&m.jSPlugin.openSound(),B&&B()}).catch(function(A){console.log("恢复失败",A)})}).catch(function(){console.log("暂停失败"),m.jSPlugin.resume(D2).then(function(A){console.log("恢复成功"),m.jSPlugin.Theme&&m.jSPlugin.Theme.setDecoderState({play:!0}),B&&B()}).catch(function(A){console.log("恢复失败",A)})})};m.disabled?(console.log("操作频繁,等待2秒后执行"),m.seekTimer&&clearTimeout(m.seekTimer),m.seekTimer=setTimeout(function(){I(C)},m.seekFrequency)):I(C)}}}),this.syncTimeLine(),u("".concat(this.jSPlugin.staticPath,"/rec/datepicker.min.css")),l("".concat(this.jSPlugin.staticPath,"/rec/jquery.min.js"),function(){l("".concat(m.jSPlugin.staticPath,"/rec/datepicker.js"),function(){l("".concat(m.jSPlugin.staticPath,"/rec/datepicker.zh-CN.js"),function(){!document.getElementsByClassName("datepicker-container")[0]&&$("#".concat(m.jSPlugin.id,"-datepicker")).datepicker&&$("#".concat(m.jSPlugin.id,"-datepicker")).datepicker({autoShow:!1,autoHide:!0,autoPick:!0,language:"zh-CN",date:new Date(h("begin",m.jSPlugin.params.url).replace(/(\d{4})(\d{2})(\d{2})/,"$1-$2-$3"))||new Date,format:"yyyy-mm-dd",endDate:new Date,inline:!0,container:document.getElementById("".concat(m.jSPlugin.id,"-wrap"))}),document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="none"),m.datepickerVisible=!1,$("#".concat(m.jSPlugin.id,"-datepicker")).on("pick.datepicker",function(Q){console.log("重新选择日期",Q.date,new Date(Q.date).Format("yyyyMMdd"),new Date(document.getElementById("".concat(m.jSPlugin.id,"-datepicker")).value).Format("yyyyMMdd")),Q.date>new Date||new Date(Q.date).Format("yyyyMMdd")===new Date(document.getElementById("".concat(m.jSPlugin.id,"-datepicker")).value).Format("yyyyMMdd")?Q.preventDefault():(document.getElementById("".concat(m.jSPlugin.id,"-datepicker")).value=new Date(Q.date).Format("yyyy-MM-dd"),m.renderRec(Q.date),m.jSPlugin.decoderState&&m.jSPlugin.decoderState.state?m.jSPlugin.decoderState.state.cloudRec?m.jSPlugin.changePlayUrl({begin:new Date(Q.date).Format("yyyyMMdd"),type:"cloud.rec"}):m.jSPlugin.decoderState.state.rec?m.jSPlugin.changePlayUrl({begin:new Date(Q.date).Format("yyyyMMdd"),type:"rec"}):m.jSPlugin.changePlayUrl({begin:new Date(Q.date).Format("yyyyMMdd")}):m.jSPlugin.changePlayUrl({begin:new Date(Q.date).Format("yyyyMMdd")})),document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="none"),m.datepickerVisible=!1,m.jSPlugin.decoderState&&m.jSPlugin.decoderState&&m.jSPlugin.decoderState.state&&m.jSPlugin.decoderState.state.zoom&&(m.jSPlugin.setDecoderState({zoom:!1}),m.jSPlugin.Zoom.stopZoom())}),$("#".concat(m.jSPlugin.id,"-datepicker")).off("click").on("click",function(Q){console.log("点击日期"),m.datepickerVisible?document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="none"):document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="inline"),m.datepickerVisible=!m.datepickerVisible})})})}),document.getElementById("".concat(this.jSPlugin.id,"-timeline-scale-add")).onclick=function(){var Q=m.currentTimeWidth;Q<3&&m.timeLine.changeSize(++m.currentTimeWidth)},document.getElementById("".concat(this.jSPlugin.id,"-timeline-scale-sub")).onclick=function(){var Q=m.currentTimeWidth;Q>0&&m.timeLine.changeSize(--m.currentTimeWidth)};var r2=h("begin",this.jSPlugin.url)||new Date().Format("yyyyMMdd");this.renderRec("".concat(r2.slice(0,4),"-").concat(r2.slice(4,6),"-").concat(r2.slice(6,8))),this.observer=new MutationObserver(function(Q,X){m.recAutoSize()});var l2={attributes:!0,attributeOldValue:!0,attributeFilter:["style"]},s2=document.getElementById("".concat(this.jSPlugin.id));this.observer.observe(s2,l2)}},{key:"setDatepickerDate",value:function(m){if(document.getElementsByClassName("datepicker-container")[0]){var g=document.getElementsByClassName("datepicker-container")[0],S=g.parentNode;S.removeChild(g),document.getElementById("".concat(this.jSPlugin.id,"-datepicker")).value=m.replace(/(\d{4})(\d{2})(\d{2})/,"$1-$2-$3"),$("#".concat(this.jSPlugin.id,"-datepicker")).datepicker({autoShow:!1,autoHide:!0,autoPick:!0,language:"zh-CN",defaultDate:m,format:"yyyy-mm-dd",endDate:new Date,inline:!0,container:document.getElementById("".concat(this.jSPlugin.id,"-wrap"))})}}},{key:"datepickerHide",value:function(){document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="none"),this.datepickerVisible=!1}},{key:"datepickerShow",value:function(){document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="inline"),this.datepickerVisible=!0}},{key:"recAutoSize",value:function(){var m=this;if(document.getElementById("".concat(this.jSPlugin.id,"-canvas"))){var g=parseInt(getComputedStyle(document.getElementById(this.jSPlugin.id)).width,10)-100;g!==parseInt(document.getElementById("".concat(this.jSPlugin.id,"-canvas")).width)&&(document.getElementById("".concat(this.jSPlugin.id,"-canvas")).width=g,this.timeLine.init({id:"".concat(this.jSPlugin.id,"-canvas"),width:g,onChange:function(x){console.log("time",x,new Date(x).Format("yyyyMMddhhmmss")),console.log("jSPlugin",m.jSPlugin);var E=new Date(x).Format("yyyyMMddhhmmss");m.jSPlugin.changePlayUrl({begin:E})}}),this.renderRec(this.date),this.syncTimeLine())}}},{key:"syncTimeLine",value:function(){var m=this;this.jSPlugin.recTimer&&clearInterval(this.jSPlugin.recTimer),this.jSPlugin.recTimer=setInterval(function(){var g=m.jSPlugin.getOSDTime();g.then(function(S){var x=S.data;x===-1?console.log("获取播放时间错误"):x>0&&m.timeLine.run({time:new Date(x>1e12?x:x*1e3)})}).catch(function(S){})},1e3)}},{key:"unSyncTimeLine",value:function(){this.jSPlugin.recTimer&&clearInterval(this.jSPlugin.recTimer)}},{key:"renderRec",value:function(m){var g=this;this.date=m;var S=this,x=new Date(new Date(m).Format("yyyy-MM-dd 00:00:00").replace(/-/g,"/")).getTime(),E=new Date(new Date(m).Format("yyyy-MM-dd 23:59:59").replace(/-/g,"/")).getTime();this.timeLine.getRecord([],x,E),console.log("-----------233---------this.jSPlugin.url",this.jSPlugin.url);var L={accessToken:this.jSPlugin.accessToken,recType:P(this.jSPlugin.url).type==="cloud.rec"?1:2,deviceSerial:P(this.jSPlugin.url).deviceSerial,channelNo:P(this.jSPlugin.url).channelNo,startTime:x,endTime:E,version:"2.0"},r2=function(Q){if(Q.data&&Q.data.files&&Q.data.files.length>0){var X=Q.data.files,D2=new Date().getTime(),g2=Q.data.isAll;if(g2)g.timeLine.getRecord(X,x,E);else{var C=function I(){function Y(B){B.data&&B.data.files&&B.data.files.length>0?B.data.isAll==!1?(B.data.files&&(X=X.concat(B.data.files)),D2=B.data.nextFileTime>0?B.data.nextFileTime:new Date().getTime(),I()):(console.log("云存储执行渲染片段"),S.timeLine.getRecord(X,x,E)):S.timeLine.getRecord(X,x,E)}L.startTime=D2,j(this.jSPlugin.env.domain+"/api/lapp/video/by/time","POST",L,"",Y)};C()}g.timeLine.run({time:new Date(x)})}else Q.data&&Q.data.length>0&&(console.log("获取本地录像片段成功",Q),S.timeLine.getRecord(Q.data,x,E),S.timeLine.run({time:new Date(x)}))},l2=this.jSPlugin.env.domain+"/api/lapp/video/by/time";j(l2,"POST",L,"",r2)}}]),R}(),I2=function(N){console.log("执行TimeLine - params",N),this.state={id:N.id,start:"00:00:00",end:"24:00:00",current:0,timelag:30,timeArr:[],availTimeLine:[],scrollTop:0,index:0,date:"",noTimeLineTxt:"",disabled:!1};var m=this;this.setState=function(g){Object.keys(g).forEach(function(S){m.state[S]=g[S],S==="scrollTop"&&document.getElementById("time-line-item").parentNode.scrollTo(0,g[S]),S==="current"&&(document.getElementById("time-line-current").innerHTML=g[S])})},this.setDisabled=function(g){this.setState({disabled:g}),document.getElementById("time-line-item").parentNode.style.overflowY=g?"hidden":"scroll"},this.timeToSecond=function(g){var S=g.split(":"),x=Number(S[0]),E=Number(S[1]),L=Number(S[2]);return x*60*60+E*60+(L||0)},this.minuteToTime=function(g){var S=Math.floor(g/60),x=g%60;return(S>9?S:"0"+S)+":"+(x>9?x:"0"+x)},this.timeToMinute=function(g){var S=g.split(":"),x=Number(S[0]),E=Number(S[1]);return x*60+E},this.getPalyParam=N.getPalyParam,document.getElementById("time-line-item").parentNode.ontouchstart=function(){if(m.state.disabled)return!1;N.ontouchstart()},document.getElementById("time-line-item").parentNode.ontouchmove=function(){if(m.state.disabled)return!1;N.ontouchmove()},document.getElementById("time-line-item").parentNode.ontouchend=function(){if(m.state.disabled)return!1;var g,S=new Promise(function(x,E){var L=-1;g=setInterval(function(){var r2=document.getElementById("time-line-item").parentNode.scrollTop;r2!==L?(console.log("scolling",r2,L),L=r2):(console.log("scoll stop",r2,L),clearInterval(g),x(r2))},100)});S.then(function(x){console.log("scollPromise: then",x,m),m.rectTopTotime(x),console.log("页面滚动实际高度",x,m.state),m.getPalyParam({current:m.state.current})}),N.ontouchend()},this.matchTimeDot()};I2.prototype.changeScale=function(R){this.setState({timelag:R}),this.matchTimeDot()},I2.prototype.setDateLine=function(R,N){R.length>0?(typeof N=="undefined"&&(N=R.length-1),this.setState({availTimeLine:R,start:R[N].st,end:R[N].et,current:R[N].st}),console.log("this.state",this.state),this.matchRecTimeDot(),this.primaryOffsetH()):(this.setState({availTimeLine:[]}),console.log("this.state",this.state),this.matchRecTimeDot())},I2.prototype.matchTimeDot=function(){var R=this.state,N=R.start,m=R.end,g=R.timelag;R.availTimeLine,console.log("start",N,"end",m);var S=[],x=this.timeToMinute(m);x=Math.floor(x/g)*g;for(var E=x;E>=0;){var L=0,r2=0,l2=[];E==x&&(L=70),E==0&&(r2=230);var s2=this.minuteToTime(E);S.push({id:E,current:s2,label:"a"+E,marginTop:L,marginBottom:r2,recArr:l2}),E=E-g}this.setState({timeArr:S}),this.renderDateLine()},I2.prototype.matchRecTimeDot=function(){var R=this.state,N=R.start,m=R.end,g=R.timelag,S=R.availTimeLine,x=R.timeArr;console.log("start",N,"end",m);var E=[],L=S.length;if(L===0)for(var r2=0;r2g2&&x[r2].id')}),r2+="
').concat(S.current,"
"),E.innerHTML=r2,g.appendChild(E)})},I2.prototype.primaryOffsetH=function(){var R=this.state,N=R.start,m=R.timelag,g=R.timeArr,S=g[0].current,x=this.timeToSecond(S),E=this.timeToSecond(N),L=x-E,r2=Math.ceil(L/m)+60;this.setState({scrollTop:r2}),console.log("起始偏移量",r2)},I2.prototype.currentOffsetH=function(){var R=this.state,N=R.current,m=R.timelag,g=R.timeArr,S=g[0].current,x=this.timeToSecond(S),E=this.timeToSecond(N),L=x-E,r2=Math.ceil(L/m)+60;this.setState({scrollTop:r2})},I2.prototype.rectTopTotime=function(R){var N=this.state.timelag,m=Math.floor(R/60),g=R-m*60,S,x;if(console.log("index:",m,"offsetH:",g),g==0)S=this.state.timeArr[m-1].current,x=0;else{var E=this.state.timeArr[m].current,L=this.timeToMinute(E),r2=60-g,l2=r2*N,s2=Math.floor(l2/60)+L,Q=Math.floor(l2/60)*60;x=Math.ceil(l2-Q),S=this.minuteToTime(s2)}this.setState({current:S+":"+(x>9?x:"0"+x),scrollTop:R})},I2.prototype.stepScrollTimeLine=function(R){this.setState({current:R}),this.currentOffsetH()},I2.prototype.secondCountDown=function(R){var N=this.state.current,m=N.split(":"),g=Number(m[0]),S=Number(m[1]),x=Number(m[2]),E=g*60*60+S*60+x+1,L=Math.floor(E/3600),r2=Math.floor((E-L*3600)/60),l2=E-L*3600-r2*60;this.setState({current:(L>9?L:"0"+L)+":"+(r2>9?r2:"0"+r2)+":"+(l2>9?l2:"0"+l2)})};var n2=I2;Date.prototype.Format=function(R){var N={"M+":this.getMonth()+1,"d+":this.getDate(),"h+":this.getHours(),"m+":this.getMinutes(),"s+":this.getSeconds(),"q+":Math.floor((this.getMonth()+3)/3),S:this.getMilliseconds()};/(y+)/.test(R)&&(R=R.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length)));for(var m in N)new RegExp("("+m+")").test(R)&&(R=R.replace(RegExp.$1,RegExp.$1.length==1?N[m]:("00"+N[m]).substr((""+N[m]).length)));return R};function P2(R){var N=new Date(R),m=N.getHours(),g=N.getMinutes(),S=N.getSeconds();return(m>9?m:"0"+m)+":"+(g>9?g:"0"+g)+":"+(S>9?S:"0"+S)}var Z2=function(){function R(N,m,g){var S=this;i(this,R),this.changeRecSpeed=m,this.resetMobileZoomStatus=g,this.isMobile=!0,this.jSPlugin=N,this.timer=null,this.date=new Date().Format("yyyy-MM-dd"),this.begin=(new Date().Format("yyyy-MM-dd")+" 00:00:00").replace(/-/g,"/"),this.end=(new Date().Format("yyyy-MM-dd")+" 23:59:59").replace(/-/g,"/"),this.initBegin=null,this.initEnd=null,this.type=P(this.jSPlugin.url).type,this.operating=!1,this.seekTimer=null,this.disabled=!1,this.seekFrequency=2e3,this.jSPlugin.params&&this.jSPlugin.params.seekFrequency&&(this.seekFrequency=this.jSPlugin.params.seekFrequency);var x=document.createElement("style");if(x.innerHTML=` body{ padding: 0; margin: 0; } .time-line-container { text-align: left; height: 300px; /* outline: 1px solid red; */ /* background: gray; */ position: relative; /* padding-top: 60px; */ margin-top: 20px; } .time-line-container .time-line-item-container { display: inline-block; /* height: 400px; */ width: 30%; /* background: indianred; */ overflow-y: scroll; overflow-x: hidden; /* padding-top: 60px; */ height: 300px; box-sizing: border-box; white-space: nowrap; position: relative; } .time-line-container .time-line-item-container::-webkit-scrollbar { width: 0px; /*滚动条宽度*/ height: 0px; /*滚动条高度*/ } .time-line-item .time-item { position: relative; box-sizing: border-box; height: 60px; font-size: 12px; color: rgb(150, 150, 150); border-right: 6px solid; border-right-color: #ddd; } .time-line-item .time-item .scale { width: 6px; height: 9px; border-bottom: 1px solid #ccc; float: right; clear: both; } .time-line-item .time-item .item-unavail { width: 6px; position: absolute; left: 100%; background-color: #ddd; } .time-line-container .current-time { position: absolute; left: 0; top: 40px; height: 29px; /* line-height: 58px; */ border-bottom: 1px solid #648FFC; width: 60%; margin-left: 26%; } .time-line-container .current-time .current-time-bg { position: relative; top: 15px; width: 100px; height: 29px; line-height: 29px; left: -70px; font-size: 12px; color: #2C2C2C; } .time-line-container .current-time .current-time-bg::before { content: ''; display: inline-block; width: 6px; height: 6px; border-radius: 100%; background: #648FFC; top: 11px; position: absolute; right: 30px; } .date-switch-container { height: 40px; position: relative; text-align: center; margin: 20px 10px; } .date-switch-container .current-date { line-height: 40px; height: 22px; font-size: 16px; color: #2C2C2C; text-align: center; font-weight: bold; } .date-container { width: 40px; height: 40px; position: absolute; right: 0; top: 0; } .rec-type-container { display: flex; justify-content: space-between; } .rec-type-container .rec-type-text { padding: 0 15px; font-size: 12px; color: #2C2C2C; } .rec-type-container .rec-type-switch { padding: 0 20px; } .date-container input { position: absolute; opacity: 0; display: inline-block; width: 40px; height: 40px; z-index: 10; left: 0; } .date-container label { position: absolute; left: 0; top: 0; /* display: none; */ z-index: 0; } .date-icon { display: inline-block; width: 40px; height: 40px; background: url('https://resource.eziot.com/group2/M00/00/6A/CtwQF2F6VieAQrU9AAABP-_Nsqo949.png') no-repeat 100% 100%; } .select-container { padding: 10px; display: flex; justify-content: space-between; } .advice { height: 24px; width: 70px; display: flex; justify-content: space-between; line-height: 24px; background: #F8F8F8; border-radius: 8px; } .advice span { width: 40px; display: inline-block; } input[type="checkbox"]:not(:checked)+.advice span:first-child { box-shadow: 0px 2px 5px 0px rgb(23 45 101 / 20%); border-radius: 8px; text-align: center; } input[type="checkbox"]:checked+.advice span:last-child { box-shadow: 0px 2px 5px 0px rgb(23 45 101 / 20%); border-radius: 8px; text-align: center; } input[type="checkbox"]:not(:checked)+.advice span:first-child svg { fill: #648FFC !important; } input[type="checkbox"]:checked+.advice span:last-child svg { fill: #648FFC !important; }`,document.getElementsByTagName("head")[0].appendChild(x),h("begin",this.jSPlugin.url)){var E=h("begin",this.jSPlugin.url);this.date=E.slice(0,4)+"/"+E.slice(4,6)+"/"+E.slice(6,8),this.begin=this.date+" ".concat(E.slice(8,10)||"00",":").concat(E.slice(10,12)||"00",":").concat(E.slice(12,14)||"00"),this.end=this.date+" 23:59:59",this.initBegin=this.begin}if(h("end",this.jSPlugin.url)){var L=h("end",this.jSPlugin.url);this.end=this.date+" ".concat(L.slice(8,10)||"23",":").concat(L.slice(10,12)||"59",":").concat(L.slice(12,14)||"59"),this.initEnd=this.end}var r2=document.createElement("div");r2.id="date-switch-container-wrap",r2.className="date-switch-container-wrap",r2.style="",r2.innerHTML=`
今日录像
`,f(r2,document.getElementById("".concat(this.jSPlugin.id,"-wrap")));var l2=document.createElement("div");l2.id="rec-type-container-wrap",l2.className="rec-type-container-wrap",l2.style="",l2.innerHTML=`
0个录像
`,f(l2,r2);var s2=document.createElement("div");s2.id="mobile-rec-wrap",s2.className="mobileRec-wrap",s2.style="",s2.innerHTML=`
2020-01-01 00:00:00
`,f(s2,l2);var Q=function(I){console.log("子组件传值到父组件",I,I.current);var Y=I.current,B=new Date(S.date).Format("yyyyMMdd").substr(0,8)+(I.current?Y.replace(/:/g,""):I.current.replace(/:/g,""));if(S.initBegin&&new Date("".concat(S.date," ").concat(I.current)).getTime()new Date(S.initEnd).getTime()&&(console.log("超过限制最高值"),B=new Date(S.initBegin).Format("yyyyMMddhhmmss")),S.type==="cloud.rec"){var A=function(){S.jSPlugin.seek(B.substr(8,6),"235959"),setTimeout(function(){S.syncTimeLine()},6e3)};S.seekTimer?clearTimeout(S.seekTimer):A(),console.log("this.jsPlug",S.jSPlugin.params),S.seekTimer=setTimeout(function(){A(),clearTimeout(S.seekTimer),S.seekTimer=null},S.seekFrequency)}else{var k=function(){setTimeout(function(){S.disabled=!1},S.seekFrequency)},V=function(R2){S.disabled=!0,S.jSPlugin.pause().then(function(){console.log("暂停成功"),S.jSPlugin.resume(B).then(function(t3){console.log("恢复成功"),S.jSPlugin.Theme&&S.jSPlugin.Theme.setDecoderState({play:!0}),S.jSPlugin.Theme&&S.jSPlugin.Theme.decoderState.state.sound&&S.jSPlugin.openSound(),S.syncTimeLine(),R2&&R2()})}).catch(function(){console.log("暂停失败"),S.jSPlugin.resume(B).then(function(t3){console.log("恢复成功"),S.jSPlugin.Theme&&S.jSPlugin.Theme.setDecoderState({play:!0}),S.syncTimeLine(),R2&&R2()})})};S.disabled?(console.log("操作频繁,等待2秒后执行"),S.seekTimer&&clearTimeout(S.seekTimer),S.seekTimer=setTimeout(function(){V(k)},S.seekFrequency)):V(k)}},X=function(){S.operating=!0,S.unSyncTimeLine()},D2=function(){},g2=function(){S.operating=!1,console.log("ontouchend")};this.TimeLineOBJ=new n2({id:"time-line-item",getPalyParam:Q,ontouchstart:X,ontouchmove:D2,ontouchend:g2}),this.fetchDeviceRec(),document.getElementById("date").addEventListener("change",function(C){if(console.log("日期变化",C.target.value),S.initBegin||S.initEnd)return console.log("您开启了时间限制,无法切换日期"),!1;S.date=new Date(C.target.value).Format("yyyy/MM/dd"),S.begin=S.date+" 00:00:00",S.end=S.date+" 23:59:59",S.fetchDeviceRec(),S.jSPlugin.changePlayUrl({type:S.type,begin:"".concat(new Date(S.date).Format("yyyyMMdd"),"000000")}),S.changeRecSpeed(1),S.resetMobileZoomStatus()}),document.getElementById("cloudType").checked=this.type==="rec",document.getElementById("cloudType").addEventListener("change",function(C){var I=C.target.checked?2:1;S.type=C.target.checked?"rec":"cloud.rec",console.log("recType",I),S.fetchDeviceRec(),S.jSPlugin.changePlayUrl({type:S.type,begin:"".concat(new Date(S.date).Format("yyyyMMdd"),"000000")}).then(function(){console.log("切换类型成功"),S.syncTimeLine(),S.changeRecSpeed(1),S.resetMobileZoomStatus()},function(Y){console.log("err",Y)}).catch(function(Y){console.log(Y)})}),this.syncTimeLine()}return a(R,[{key:"fetchDeviceRec",value:function(){var m=this,g=function(E){var L=E.length;document.getElementById("recCount").innerHTML=L;for(var r2=[],l2=L-1;l2>=0;l2--){var s2=E[l2],Q=P2(s2.endTime),X=P2(s2.startTime);r2.push({st:X,et:Q})}m.TimeLineOBJ.setDateLine(r2)},S=new FormData;S.append("deviceSerial",P(this.jSPlugin.url).deviceSerial),S.append("channelNo",P(this.jSPlugin.url).channelNo),S.append("accessToken",this.jSPlugin.accessToken),S.append("recType",this.type==="cloud.rec"?1:2),S.append("startTime",new Date(this.begin).getTime()),S.append("endTime",new Date(this.end).getTime()),fetch(this.jSPlugin.env.domain+"/api/lapp/video/by/time",{method:"POST",body:S}).then(function(x){return x.json()}).then(function(x){if(x.code==200&&x.data){var E=[];E=x.data,g(E)}else g([])})}},{key:"syncTimeLine",value:function(){var m=this,g=function(x){var E=new Date(x),L=E.getHours(),r2=E.getMinutes(),l2=E.getSeconds();return(L>9?L:"0"+L)+":"+(r2>9?r2:"0"+r2)+":"+(l2>9?l2:"0"+l2)};this.timer&&clearInterval(this.timer),this.timer=setInterval(function(){if(m.operating)return console.log("操作中"),!1;m.jSPlugin.getOSDTime().then(function(S){S.data>0?m.TimeLineOBJ.stepScrollTimeLine(g(S.data*1e3)):(console.log("未找到当前获取播放时间,等待中..."),console.log("res:-----------------",S))}).catch(function(S){console.log("err:-----",S),console.log("未找到当前获取播放时间,等待中...")})},1e3)}},{key:"unSyncTimeLine",value:function(){this.timer&&clearInterval(this.timer)}}]),R}(),f3=[{code:200,msg:"",desc:"请求成功",text:"操作成功",type:"ptzStart"},{code:10001,msg:"操作失败",desc:"参数为空或格式不正确",text:"参数错误",type:"ptzStart"},{code:10002,msg:"账号异常,操作失败",desc:"重新获取accessToken",text:"accessToken异常或过期",type:"ptzStart"},{code:10005,msg:"账号异常,操作失败",desc:"appKey被冻结",text:"appKey异常",type:"ptzStart"},{code:20002,msg:"设备不存在,请检查设备连接情况",desc:"",text:"设备不存在",type:"ptzStart"},{code:20006,msg:"操作失败,请检查设备网络情况",desc:"检查设备网络状况,稍后再试",text:"网络异常",type:"ptzStart"},{code:20007,msg:"操作失败,请检查设备在线情况",desc:"检查设备是否在线",text:"设备不在线",type:"ptzStart"},{code:20008,msg:"操作过于频繁,稍后再试",desc:"操作过于频繁,稍后再试",text:"设备响应超时",type:"ptzStart"},{code:20014,msg:"操作失败",desc:"",text:"deviceSerial不合法",type:"ptzStart"},{code:20032,msg:"通道不存在请检查设备连接情况",desc:"该用户下通道不存在",text:"该用户下通道不存在",type:"ptzStart"},{code:49999,msg:"操作失败,请重试",desc:"接口调用异常",text:"数据异常",type:"ptzStart"},{code:6e4,msg:"操作失败,设备不支持该操作",desc:"",text:"设备不支持云台控制",type:"ptzStart"},{code:60001,msg:"操作失败,用户无权限",desc:"",text:"用户无云台控制权限",type:"ptzStart"},{code:60002,msg:"设备已旋转到上限位",desc:"",text:"设备云台旋转达到上限位",type:"ptzStart"},{code:60003,msg:"设备已旋转到下限位",desc:"",text:"设备云台旋转达到下限位",type:"ptzStart"},{code:60004,msg:"设备已旋转到左限位",desc:"",text:"设备云台旋转达到左限位",type:"ptzStart"},{code:60005,msg:"设备已旋转到右限位",desc:"",text:"设备云台旋转达到右限位",type:"ptzStart"},{code:60006,msg:"操作失败,请重试",desc:"稍候再试",text:"云台当前操作失败",type:"ptzStart"},{code:60009,msg:"设备正在操作中",desc:"",text:"正在调用预置点",type:"ptzStart"},{code:60020,msg:"操作失败",desc:"确认设备是否支持该操作",text:"不支持该命令",type:"ptzStart"}],v3=[{code:200,msg:"",desc:"请求成功",text:"操作成功",type:"ptzStop"},{code:10001,msg:"操作失败",desc:"参数为空或格式不正确",text:"参数错误",type:"ptzStop"},{code:10002,msg:"账号异常,操作失败",desc:"重新获取accessToken",text:"accessToken异常或过期",type:"ptzStop"},{code:10005,msg:"账号异常,操作失败",desc:"appKey被冻结",text:"appKey异常",type:"ptzStop"},{code:20002,msg:"设备不存在,请检查设备连接情况",desc:"",text:"设备不存在",type:"ptzStop"},{code:20006,msg:"操作失败,请检查设备网络情况",desc:"检查设备网络状况,稍后再试",text:"网络异常",type:"ptzStop"},{code:20007,msg:"操作失败,请检查设备在线情况",desc:"检查设备是否在线",text:"设备不在线",type:"ptzStop"},{code:20008,msg:"操作过于频繁,稍后再试",desc:"操作过于频繁,稍后再试",text:"设备响应超时",type:"ptzStop"},{code:20014,msg:"操作失败",desc:"",text:"deviceSerial不合法",type:"ptzStop"},{code:20032,msg:"通道不存在请检查设备连接情况",desc:"该用户下通道不存在",text:"该用户下通道不存在",type:"ptzStop"},{code:49999,msg:"操作失败,请重试",desc:"接口调用异常",text:"数据异常",type:"ptzStop"},{code:6e4,msg:"操作失败,设备不支持该操作",desc:"",text:"设备不支持云台控制",type:"ptzStop"},{code:60001,msg:"操作失败,用户无权限",desc:"",text:"用户无云台控制权限",type:"ptzStop"},{code:60006,msg:"操作失败,请重试",desc:"稍候再试",text:"云台当前操作失败",type:"ptzStop"},{code:60009,msg:"设备正在操作中",desc:"",text:"正在调用预置点",type:"ptzStop"},{code:60020,msg:"操作失败",desc:"确认设备是否支持该操作",text:"不支持该命令",type:"ptzStop"}],O3=[{code:200,msg:"",desc:"请求成功",text:"操作成功",type:"talk"},{code:10001,msg:"播放失败",desc:"参数为空或格式不正确",text:"参数错误",type:"talk"},{code:10002,msg:"账号异常,操作失败",desc:"",text:"accessToken异常或过期",type:"talk"},{code:10031,msg:"账号异常,操作失败",desc:"",text:"子账户或萤石用户没有权限",type:"talk"},{code:20002,msg:"设备不存在请检查设备连接情况",desc:"设备序列号输入有误或者设备未被添加或者通道异常",text:"设备不存在",type:"talk"},{code:60059,msg:"播放失败",desc:"",text:"ezopen地址均不可用",type:"talk"}],H3=[{code:200,msg:"",desc:"",text:"操作成功",type:"time"},{code:10001,msg:"播放失败",desc:"参数为空或格式不正确",text:"参数错误",type:"time"},{code:10002,msg:"账号异常,播放失败",desc:"",text:"accessToken异常或过期",type:"time"},{code:10004,msg:"账号异常,播放失败",desc:"",text:"用户不存在",type:"time"},{code:10005,msg:"账号异常,播放失败",desc:"",text:"appKey异常",type:"time"},{code:10011,msg:"播放失败",desc:"设备对应用户未注册至应用下",text:"未开通萤石服务",type:"time"},{code:10013,msg:"账号异常,播放失败",desc:"",text:"非开发者账号无权限调用",type:"time"},{code:10030,msg:"播放失败",desc:"",text:"appkey和appsecret不匹配",type:"time"},{code:20002,msg:"设备不存在请检查设备连接情况",desc:"设备序列号输入有误或者设备未被添加或者通道异常",text:"设备不存在",type:"time"},{code:20014,msg:"播放失败",desc:"",text:"deviceSerial不合法",type:"time"},{code:20032,msg:"设备不存在请检查设备连接情况",desc:"",text:"该用户下通道不存在",type:"time"},{code:60024,msg:"播放失败请重试",desc:"",text:"取消订阅操作失败",type:"time"},{code:49999,msg:"播放失败请重试",desc:"",text:"操作异常",type:"time"}],F2={ptzStart:f3,ptzStop:v3,talk:O3,time:H3},L3=function(){function R(N,m){i(this,R),this.coreX=N,this.coreY=m,console.log("uikitCode",F2)}return a(R,[{key:"toString",value:function(){return"".concat(this.coreX,"-").concat(this.coreY)}},{key:"matchInfo",value:function(m,g){if(F2[g]){var S={};return F2[g].map(function(x){x.code==m&&(S=x)}),S}else return{code:500,msg:"未知错误",desc:"未知的错误码,或错误码类型有误",text:"",type:g}}}]),R}(),C3=function(){function R(N){var m=this;if(i(this,R),this.jSPlugin=N,this.codeHandler=new L3,this.pluginStatus=new G2(this,this.jSPlugin.id),console.log("云台初始化"),document.getElementById(this.jSPlugin.id+"-ez-ptz-item"))return!1;var g=document.createElement("div");g.id=this.jSPlugin.id+"-ez-ptz-item",g.className="ez-ptz-wrap",g.style="display:none";var S=document.createElement("style");S.innerHTML=` .ez-ptz-container { position: relative; width: 80px; height: 80px; background: rgba(255, 255, 255, 0.80); box-shadow: 0px 0px 33px 4px rgb(0 0 0 / 15%); border: 1px solid rgba(255, 255, 255, 0.80); border-radius: 100%; cursor: pointer; overflow: hidden; user-select: none; } .ez-ptz-container .ez-ptz-icon.top { width: 0; height: 0; border-left: 3px solid transparent; border-right: 3px solid transparent; border-bottom: 6px solid #333333; position: absolute; display: inline-block; left: calc(50% - 3px); top: 2px; } .ez-ptz-container .ez-ptz-icon.top.active { border-bottom-color: #1890FF; } .ez-ptz-container .ez-ptz-icon.bottom { width: 0; height: 0; border-left: 3px solid transparent; border-right: 3px solid transparent; border-top: 6px solid #333333; position: absolute; display: inline-block; left: calc(50% - 3px); bottom: 2px; } .ez-ptz-container .ez-ptz-icon.bottom.active { border-top-color: #1890FF; } .ez-ptz-container .ez-ptz-icon.right { width: 0; height: 0; border-top: 3px solid transparent; border-bottom: 3px solid transparent; border-left: 6px solid #333333; position: absolute; display: inline-block; top: calc(50% - 3px); right: 2px; } .ez-ptz-container .ez-ptz-icon.right.active { border-left-color: #1890FF; } .ez-ptz-container .ez-ptz-icon.left { width: 0; height: 0; border-top: 3px solid transparent; border-bottom: 3px solid transparent; border-right: 6px solid #333333; position: absolute; display: inline-block; top: calc(50% - 3px); left: 2px; } .ez-ptz-container .ez-ptz-icon.left.active { border-right-color: #1890FF; } .ez-ptz-container .ez-ptz-main.center { width: 23px; height: 23px; background: #1890FF; border-radius: 100%; top: calc(50% - 12.3px); left: calc(50% - 12.3px); position: absolute; } .ez-ptz-wrap { position: absolute; right: 20px; top: calc(50% - 50px); width: 100px; height: 100px; z-index: 999; } .ez-ptz-close { position: absolute; color: #FFFFFF; top: 0; right: 0px; }`,document.getElementsByTagName("head")[0].appendChild(S),g.innerHTML=`
`),document.getElementById("".concat(N.id,"-wrap")).appendChild(g),document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).onmousedown=function(x){x.preventDefault(),console.log("触摸开始"),m._handlePtzTouch(x,"start")},document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).onmouseup=function(x){x.preventDefault(),console.log("触摸结束"),m._handlePtzTouch(x,"stop")},document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).ontouchstart=function(x){x.preventDefault(),console.log("触摸开始"),m._handlePtzTouch(x,"start")},document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).ontouchend=function(x){x.preventDefault(),console.log("触摸结束",x),m._handlePtzTouch(x,"stop")}}return a(R,[{key:"show",value:function(){document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-item")).style="display: inline-block"}},{key:"hide",value:function(){document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-item")).style="display: none"}},{key:"_handlePtzTouch",value:function(m,g){var S=this,x=document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).getBoundingClientRect(),E=x.left+41,L=x.top+41,r2=m.x||m.changedTouches[0].clientX,l2=m.y||m.changedTouches[0].clientY,s2=r2-E,Q=l2-L,X=0,D2=this.jSPlugin.env.domain+"/api/lapp/device/ptz/start";if(Math.abs(s2)>Math.abs(Q)?s2>0?X=3:X=2:Q>0?X=1:X=0,/^rotate\(90/.test(document.getElementById("".concat(this.jSPlugin.id,"-wrap")).style.transform))switch(X){case 0:X=2;break;case 1:X=3;break;case 2:X=1;break;case 3:X=0;break}document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).style="background-image:linear-gradient(".concat(X===0?180:X===1?0:X===2?90:270,"deg, #1d8dd8 0%, rgba(100,143,252,0.00) 30%)"),g==="stop"&&(D2=this.jSPlugin.env.domain+"/api/lapp/device/ptz/stop",document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).style="");var g2=new FormData;g2.append("deviceSerial",P(this.jSPlugin.url).deviceSerial),g2.append("channelNo",P(this.jSPlugin.url).channelNo),g2.append("speed",1),g2.append("direction",X),g2.append("accessToken",this.jSPlugin.accessToken),fetch(D2,{method:"POST",body:g2}).then(function(C){return C.json()}).then(function(C){C.code==200||(console.log(C.code,S.codeHandler.matchInfo(C.code,g==="start"?"ptzStart":"ptzStop")),S.pluginStatus.loadingSetText({text:S.codeHandler.matchInfo(C.code,g==="start"?"ptzStart":"ptzStop").msg,color:"red",delayClear:2e3}),(C.code==60005||C.code==60002||C.code==60003||C.code==60004)&&(document.getElementById("".concat(S.jSPlugin.id,"-ez-ptz-container")).style="background-image:linear-gradient(".concat(X===0?180:X===1?0:X===2?90:270,"deg, #f45656 0%, rgba(100,143,252,0.00) 30%)")))}).catch(function(C){console.log("云台调用异常",C)})}}]),R}();(function(R){if(t(e)==="object")n.exports=R();else{var N;typeof window!="undefined"?N=window:typeof r7!="undefined"?N=r7:typeof self!="undefined"?N=self:N=this,N.adapter=R()}})(function(){return function(){function R(N,m,g){function S(L,r2){if(!m[L]){if(!N[L]){var l2=typeof a7=="function"&&a7;if(!r2&&l2)return l2(L,!0);if(x)return x(L,!0);var s2=new Error("Cannot find module '"+L+"'");throw s2.code="MODULE_NOT_FOUND",s2}var Q=m[L]={exports:{}};N[L][0].call(Q.exports,function(X){var D2=N[L][1][X];return S(D2||X)},Q,Q.exports,R,N,m,g)}return m[L].exports}for(var x=typeof a7=="function"&&a7,E=0;E0&&arguments[0]!==void 0?arguments[0]:{},B=Y.window,A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{shimChrome:!0,shimFirefox:!0,shimEdge:!0,shimSafari:!0},k=S.log,V=S.detectBrowser(B),M2={browserDetails:V,commonShim:g2,extractVersion:S.extractVersion,disableLog:S.disableLog,disableWarnings:S.disableWarnings};switch(V.browser){case"chrome":if(!E||!E.shimPeerConnection||!A.shimChrome)return k("Chrome shim is not included in this adapter release."),M2;k("adapter.js shimming chrome."),M2.browserShim=E,E.shimGetUserMedia(B),E.shimMediaStream(B),E.shimPeerConnection(B),E.shimOnTrack(B),E.shimAddTrackRemoveTrack(B),E.shimGetSendersWithDtmf(B),E.shimGetStats(B),E.shimSenderReceiverGetStats(B),E.fixNegotiationNeeded(B),g2.shimRTCIceCandidate(B),g2.shimConnectionState(B),g2.shimMaxMessageSize(B),g2.shimSendThrowTypeError(B),g2.removeAllowExtmapMixed(B);break;case"firefox":if(!s2||!s2.shimPeerConnection||!A.shimFirefox)return k("Firefox shim is not included in this adapter release."),M2;k("adapter.js shimming firefox."),M2.browserShim=s2,s2.shimGetUserMedia(B),s2.shimPeerConnection(B),s2.shimOnTrack(B),s2.shimRemoveStream(B),s2.shimSenderGetStats(B),s2.shimReceiverGetStats(B),s2.shimRTCDataChannel(B),s2.shimAddTransceiver(B),s2.shimCreateOffer(B),s2.shimCreateAnswer(B),g2.shimRTCIceCandidate(B),g2.shimConnectionState(B),g2.shimMaxMessageSize(B),g2.shimSendThrowTypeError(B);break;case"edge":if(!r2||!r2.shimPeerConnection||!A.shimEdge)return k("MS edge shim is not included in this adapter release."),M2;k("adapter.js shimming edge."),M2.browserShim=r2,r2.shimGetUserMedia(B),r2.shimGetDisplayMedia(B),r2.shimPeerConnection(B),r2.shimReplaceTrack(B),g2.shimMaxMessageSize(B),g2.shimSendThrowTypeError(B);break;case"safari":if(!X||!A.shimSafari)return k("Safari shim is not included in this adapter release."),M2;k("adapter.js shimming safari."),M2.browserShim=X,X.shimRTCIceServerUrls(B),X.shimCreateOfferLegacy(B),X.shimCallbacksAPI(B),X.shimLocalStreamsAPI(B),X.shimRemoteStreamsAPI(B),X.shimTrackEventTransceiver(B),X.shimGetUserMedia(B),g2.shimRTCIceCandidate(B),g2.shimMaxMessageSize(B),g2.shimSendThrowTypeError(B),g2.removeAllowExtmapMixed(B);break;default:k("Unsupported browser!");break}return M2}},{"./chrome/chrome_shim":3,"./common_shim":6,"./edge/edge_shim":7,"./firefox/firefox_shim":11,"./safari/safari_shim":14,"./utils":15}],3:[function(R,N,m){Object.defineProperty(m,"__esModule",{value:!0}),m.shimGetDisplayMedia=m.shimGetUserMedia=void 0;var g=typeof Symbol=="function"&&t(Symbol.iterator)==="symbol"?function(A){return t(A)}:function(A){return A&&typeof Symbol=="function"&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":t(A)},S=R("./getusermedia");Object.defineProperty(m,"shimGetUserMedia",{enumerable:!0,get:function(){return S.shimGetUserMedia}});var x=R("./getdisplaymedia");Object.defineProperty(m,"shimGetDisplayMedia",{enumerable:!0,get:function(){return x.shimGetDisplayMedia}}),m.shimMediaStream=s2,m.shimOnTrack=Q,m.shimGetSendersWithDtmf=X,m.shimGetStats=D2,m.shimSenderReceiverGetStats=g2,m.shimAddTrackRemoveTrackWithNative=C,m.shimAddTrackRemoveTrack=I,m.shimPeerConnection=Y,m.fixNegotiationNeeded=B;var E=R("../utils.js"),L=r2(E);function r2(A){if(A&&A.__esModule)return A;var k={};if(A!=null)for(var V in A)Object.prototype.hasOwnProperty.call(A,V)&&(k[V]=A[V]);return k.default=A,k}function l2(A,k,V){return k in A?Object.defineProperty(A,k,{value:V,enumerable:!0,configurable:!0,writable:!0}):A[k]=V,A}function s2(A){A.MediaStream=A.MediaStream||A.webkitMediaStream}function Q(A){if((typeof A=="undefined"?"undefined":g(A))==="object"&&A.RTCPeerConnection&&!("ontrack"in A.RTCPeerConnection.prototype)){Object.defineProperty(A.RTCPeerConnection.prototype,"ontrack",{get:function(){return this._ontrack},set:function(M2){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=M2)},enumerable:!0,configurable:!0});var k=A.RTCPeerConnection.prototype.setRemoteDescription;A.RTCPeerConnection.prototype.setRemoteDescription=function(){var M2=this;return this._ontrackpoly||(this._ontrackpoly=function(R2){R2.stream.addEventListener("addtrack",function(t3){var Q2=void 0;A.RTCPeerConnection.prototype.getReceivers?Q2=M2.getReceivers().find(function(b3){return b3.track&&b3.track.id===t3.track.id}):Q2={track:t3.track};var c3=new Event("track");c3.track=t3.track,c3.receiver=Q2,c3.transceiver={receiver:Q2},c3.streams=[R2.stream],M2.dispatchEvent(c3)}),R2.stream.getTracks().forEach(function(t3){var Q2=void 0;A.RTCPeerConnection.prototype.getReceivers?Q2=M2.getReceivers().find(function(b3){return b3.track&&b3.track.id===t3.id}):Q2={track:t3};var c3=new Event("track");c3.track=t3,c3.receiver=Q2,c3.transceiver={receiver:Q2},c3.streams=[R2.stream],M2.dispatchEvent(c3)})},this.addEventListener("addstream",this._ontrackpoly)),k.apply(this,arguments)}}else L.wrapPeerConnectionEvent(A,"track",function(V){return V.transceiver||Object.defineProperty(V,"transceiver",{value:{receiver:V.receiver}}),V})}function X(A){if((typeof A=="undefined"?"undefined":g(A))==="object"&&A.RTCPeerConnection&&!("getSenders"in A.RTCPeerConnection.prototype)&&"createDTMFSender"in A.RTCPeerConnection.prototype){var k=function(b3,M3){return{track:M3,get dtmf(){return this._dtmf===void 0&&(M3.kind==="audio"?this._dtmf=b3.createDTMFSender(M3):this._dtmf=null),this._dtmf},_pc:b3}};if(!A.RTCPeerConnection.prototype.getSenders){A.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};var V=A.RTCPeerConnection.prototype.addTrack;A.RTCPeerConnection.prototype.addTrack=function(b3,M3){var T3=V.apply(this,arguments);return T3||(T3=k(this,b3),this._senders.push(T3)),T3};var M2=A.RTCPeerConnection.prototype.removeTrack;A.RTCPeerConnection.prototype.removeTrack=function(b3){M2.apply(this,arguments);var M3=this._senders.indexOf(b3);M3!==-1&&this._senders.splice(M3,1)}}var R2=A.RTCPeerConnection.prototype.addStream;A.RTCPeerConnection.prototype.addStream=function(b3){var M3=this;this._senders=this._senders||[],R2.apply(this,[b3]),b3.getTracks().forEach(function(T3){M3._senders.push(k(M3,T3))})};var t3=A.RTCPeerConnection.prototype.removeStream;A.RTCPeerConnection.prototype.removeStream=function(b3){var M3=this;this._senders=this._senders||[],t3.apply(this,[b3]),b3.getTracks().forEach(function(T3){var f1=M3._senders.find(function(S1){return S1.track===T3});f1&&M3._senders.splice(M3._senders.indexOf(f1),1)})}}else if((typeof A=="undefined"?"undefined":g(A))==="object"&&A.RTCPeerConnection&&"getSenders"in A.RTCPeerConnection.prototype&&"createDTMFSender"in A.RTCPeerConnection.prototype&&A.RTCRtpSender&&!("dtmf"in A.RTCRtpSender.prototype)){var Q2=A.RTCPeerConnection.prototype.getSenders;A.RTCPeerConnection.prototype.getSenders=function(){var b3=this,M3=Q2.apply(this,[]);return M3.forEach(function(T3){return T3._pc=b3}),M3},Object.defineProperty(A.RTCRtpSender.prototype,"dtmf",{get:function(){return this._dtmf===void 0&&(this.track.kind==="audio"?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function D2(A){if(A.RTCPeerConnection){var k=A.RTCPeerConnection.prototype.getStats;A.RTCPeerConnection.prototype.getStats=function(){var M2=this,R2=Array.prototype.slice.call(arguments),t3=R2[0],Q2=R2[1],c3=R2[2];if(arguments.length>0&&typeof t3=="function")return k.apply(this,arguments);if(k.length===0&&(arguments.length===0||typeof t3!="function"))return k.apply(this,[]);var b3=function(S1){var T1={},N1=S1.result();return N1.forEach(function(L1){var G1={id:L1.id,timestamp:L1.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[L1.type]||L1.type};L1.names().forEach(function(y0){G1[y0]=L1.stat(y0)}),T1[G1.id]=G1}),T1},M3=function(S1){return new Map(Object.keys(S1).map(function(T1){return[T1,S1[T1]]}))};if(arguments.length>=2){var T3=function(S1){Q2(M3(b3(S1)))};return k.apply(this,[T3,t3])}return new Promise(function(f1,S1){k.apply(M2,[function(T1){f1(M3(b3(T1)))},S1])}).then(Q2,c3)}}}function g2(A){if((typeof A=="undefined"?"undefined":g(A))==="object"&&A.RTCPeerConnection&&A.RTCRtpSender&&A.RTCRtpReceiver){if(!("getStats"in A.RTCRtpSender.prototype)){var k=A.RTCPeerConnection.prototype.getSenders;k&&(A.RTCPeerConnection.prototype.getSenders=function(){var Q2=this,c3=k.apply(this,[]);return c3.forEach(function(b3){return b3._pc=Q2}),c3});var V=A.RTCPeerConnection.prototype.addTrack;V&&(A.RTCPeerConnection.prototype.addTrack=function(){var Q2=V.apply(this,arguments);return Q2._pc=this,Q2}),A.RTCRtpSender.prototype.getStats=function(){var Q2=this;return this._pc.getStats().then(function(c3){return L.filterStats(c3,Q2.track,!0)})}}if(!("getStats"in A.RTCRtpReceiver.prototype)){var M2=A.RTCPeerConnection.prototype.getReceivers;M2&&(A.RTCPeerConnection.prototype.getReceivers=function(){var Q2=this,c3=M2.apply(this,[]);return c3.forEach(function(b3){return b3._pc=Q2}),c3}),L.wrapPeerConnectionEvent(A,"track",function(t3){return t3.receiver._pc=t3.srcElement,t3}),A.RTCRtpReceiver.prototype.getStats=function(){var Q2=this;return this._pc.getStats().then(function(c3){return L.filterStats(c3,Q2.track,!1)})}}if("getStats"in A.RTCRtpSender.prototype&&"getStats"in A.RTCRtpReceiver.prototype){var R2=A.RTCPeerConnection.prototype.getStats;A.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof A.MediaStreamTrack){var Q2=arguments[0],c3=void 0,b3=void 0,M3=void 0;return this.getSenders().forEach(function(T3){T3.track===Q2&&(c3?M3=!0:c3=T3)}),this.getReceivers().forEach(function(T3){return T3.track===Q2&&(b3?M3=!0:b3=T3),T3.track===Q2}),M3||c3&&b3?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):c3?c3.getStats():b3?b3.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return R2.apply(this,arguments)}}}}function C(A){A.RTCPeerConnection.prototype.getLocalStreams=function(){var Q2=this;return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(function(c3){return Q2._shimmedLocalStreams[c3][0]})};var k=A.RTCPeerConnection.prototype.addTrack;A.RTCPeerConnection.prototype.addTrack=function(Q2,c3){if(!c3)return k.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};var b3=k.apply(this,arguments);return this._shimmedLocalStreams[c3.id]?this._shimmedLocalStreams[c3.id].indexOf(b3)===-1&&this._shimmedLocalStreams[c3.id].push(b3):this._shimmedLocalStreams[c3.id]=[c3,b3],b3};var V=A.RTCPeerConnection.prototype.addStream;A.RTCPeerConnection.prototype.addStream=function(Q2){var c3=this;this._shimmedLocalStreams=this._shimmedLocalStreams||{},Q2.getTracks().forEach(function(T3){var f1=c3.getSenders().find(function(S1){return S1.track===T3});if(f1)throw new DOMException("Track already exists.","InvalidAccessError")});var b3=this.getSenders();V.apply(this,arguments);var M3=this.getSenders().filter(function(T3){return b3.indexOf(T3)===-1});this._shimmedLocalStreams[Q2.id]=[Q2].concat(M3)};var M2=A.RTCPeerConnection.prototype.removeStream;A.RTCPeerConnection.prototype.removeStream=function(Q2){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[Q2.id],M2.apply(this,arguments)};var R2=A.RTCPeerConnection.prototype.removeTrack;A.RTCPeerConnection.prototype.removeTrack=function(Q2){var c3=this;return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Q2&&Object.keys(this._shimmedLocalStreams).forEach(function(b3){var M3=c3._shimmedLocalStreams[b3].indexOf(Q2);M3!==-1&&c3._shimmedLocalStreams[b3].splice(M3,1),c3._shimmedLocalStreams[b3].length===1&&delete c3._shimmedLocalStreams[b3]}),R2.apply(this,arguments)}}function I(A){if(!A.RTCPeerConnection)return;var k=L.detectBrowser(A);if(A.RTCPeerConnection.prototype.addTrack&&k.version>=65)return C(A);var V=A.RTCPeerConnection.prototype.getLocalStreams;A.RTCPeerConnection.prototype.getLocalStreams=function(){var T3=this,f1=V.apply(this);return this._reverseStreams=this._reverseStreams||{},f1.map(function(S1){return T3._reverseStreams[S1.id]})};var M2=A.RTCPeerConnection.prototype.addStream;A.RTCPeerConnection.prototype.addStream=function(T3){var f1=this;if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},T3.getTracks().forEach(function(T1){var N1=f1.getSenders().find(function(L1){return L1.track===T1});if(N1)throw new DOMException("Track already exists.","InvalidAccessError")}),!this._reverseStreams[T3.id]){var S1=new A.MediaStream(T3.getTracks());this._streams[T3.id]=S1,this._reverseStreams[S1.id]=T3,T3=S1}M2.apply(this,[T3])};var R2=A.RTCPeerConnection.prototype.removeStream;A.RTCPeerConnection.prototype.removeStream=function(T3){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},R2.apply(this,[this._streams[T3.id]||T3]),delete this._reverseStreams[this._streams[T3.id]?this._streams[T3.id].id:T3.id],delete this._streams[T3.id]},A.RTCPeerConnection.prototype.addTrack=function(T3,f1){var S1=this;if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");var T1=[].slice.call(arguments,1);if(T1.length!==1||!T1[0].getTracks().find(function(y0){return y0===T3}))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");var N1=this.getSenders().find(function(y0){return y0.track===T3});if(N1)throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};var L1=this._streams[f1.id];if(L1)L1.addTrack(T3),Promise.resolve().then(function(){S1.dispatchEvent(new Event("negotiationneeded"))});else{var G1=new A.MediaStream([T3]);this._streams[f1.id]=G1,this._reverseStreams[G1.id]=f1,this.addStream(G1)}return this.getSenders().find(function(y0){return y0.track===T3})};function t3(M3,T3){var f1=T3.sdp;return Object.keys(M3._reverseStreams||[]).forEach(function(S1){var T1=M3._reverseStreams[S1],N1=M3._streams[T1.id];f1=f1.replace(new RegExp(N1.id,"g"),T1.id)}),new RTCSessionDescription({type:T3.type,sdp:f1})}function Q2(M3,T3){var f1=T3.sdp;return Object.keys(M3._reverseStreams||[]).forEach(function(S1){var T1=M3._reverseStreams[S1],N1=M3._streams[T1.id];f1=f1.replace(new RegExp(T1.id,"g"),N1.id)}),new RTCSessionDescription({type:T3.type,sdp:f1})}["createOffer","createAnswer"].forEach(function(M3){var T3=A.RTCPeerConnection.prototype[M3],f1=l2({},M3,function(){var S1=this,T1=arguments,N1=arguments.length&&typeof arguments[0]=="function";return N1?T3.apply(this,[function(L1){var G1=t3(S1,L1);T1[0].apply(null,[G1])},function(L1){T1[1]&&T1[1].apply(null,L1)},arguments[2]]):T3.apply(this,arguments).then(function(L1){return t3(S1,L1)})});A.RTCPeerConnection.prototype[M3]=f1[M3]});var c3=A.RTCPeerConnection.prototype.setLocalDescription;A.RTCPeerConnection.prototype.setLocalDescription=function(){return!arguments.length||!arguments[0].type?c3.apply(this,arguments):(arguments[0]=Q2(this,arguments[0]),c3.apply(this,arguments))};var b3=Object.getOwnPropertyDescriptor(A.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(A.RTCPeerConnection.prototype,"localDescription",{get:function(){var T3=b3.get.apply(this);return T3.type===""?T3:t3(this,T3)}}),A.RTCPeerConnection.prototype.removeTrack=function(T3){var f1=this;if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!T3._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");var S1=T3._pc===this;if(!S1)throw new DOMException("Sender was not created by this connection.","InvalidAccessError");this._streams=this._streams||{};var T1=void 0;Object.keys(this._streams).forEach(function(N1){var L1=f1._streams[N1].getTracks().find(function(G1){return T3.track===G1});L1&&(T1=f1._streams[N1])}),T1&&(T1.getTracks().length===1?this.removeStream(this._reverseStreams[T1.id]):T1.removeTrack(T3.track),this.dispatchEvent(new Event("negotiationneeded")))}}function Y(A){var k=L.detectBrowser(A);if(!A.RTCPeerConnection&&A.webkitRTCPeerConnection&&(A.RTCPeerConnection=A.webkitRTCPeerConnection),!!A.RTCPeerConnection){k.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(M2){var R2=A.RTCPeerConnection.prototype[M2],t3=l2({},M2,function(){return arguments[0]=new(M2==="addIceCandidate"?A.RTCIceCandidate:A.RTCSessionDescription)(arguments[0]),R2.apply(this,arguments)});A.RTCPeerConnection.prototype[M2]=t3[M2]});var V=A.RTCPeerConnection.prototype.addIceCandidate;A.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?k.version<78&&arguments[0]&&arguments[0].candidate===""?Promise.resolve():V.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())}}}function B(A){L.wrapPeerConnectionEvent(A,"negotiationneeded",function(k){var V=k.target;if(V.signalingState==="stable")return k})}},{"../utils.js":15,"./getdisplaymedia":4,"./getusermedia":5}],4:[function(R,N,m){Object.defineProperty(m,"__esModule",{value:!0}),m.shimGetDisplayMedia=g;function g(S,x){if(!(S.navigator.mediaDevices&&"getDisplayMedia"in S.navigator.mediaDevices)&&S.navigator.mediaDevices){if(typeof x!="function"){console.error("shimGetDisplayMedia: getSourceId argument is not a function");return}S.navigator.mediaDevices.getDisplayMedia=function(L){return x(L).then(function(r2){var l2=L.video&&L.video.width,s2=L.video&&L.video.height,Q=L.video&&L.video.frameRate;return L.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:r2,maxFrameRate:Q||3}},l2&&(L.video.mandatory.maxWidth=l2),s2&&(L.video.mandatory.maxHeight=s2),S.navigator.mediaDevices.getUserMedia(L)})}}}},{}],5:[function(R,N,m){Object.defineProperty(m,"__esModule",{value:!0});var g=typeof Symbol=="function"&&t(Symbol.iterator)==="symbol"?function(l2){return t(l2)}:function(l2){return l2&&typeof Symbol=="function"&&l2.constructor===Symbol&&l2!==Symbol.prototype?"symbol":t(l2)};m.shimGetUserMedia=r2;var S=R("../utils.js"),x=E(S);function E(l2){if(l2&&l2.__esModule)return l2;var s2={};if(l2!=null)for(var Q in l2)Object.prototype.hasOwnProperty.call(l2,Q)&&(s2[Q]=l2[Q]);return s2.default=l2,s2}var L=x.log;function r2(l2){var s2=l2&&l2.navigator;if(s2.mediaDevices){var Q=x.detectBrowser(l2),X=function(B){if((typeof B=="undefined"?"undefined":g(B))!=="object"||B.mandatory||B.optional)return B;var A={};return Object.keys(B).forEach(function(k){if(!(k==="require"||k==="advanced"||k==="mediaSource")){var V=g(B[k])==="object"?B[k]:{ideal:B[k]};V.exact!==void 0&&typeof V.exact=="number"&&(V.min=V.max=V.exact);var M2=function(Q2,c3){return Q2?Q2+c3.charAt(0).toUpperCase()+c3.slice(1):c3==="deviceId"?"sourceId":c3};if(V.ideal!==void 0){A.optional=A.optional||[];var R2={};typeof V.ideal=="number"?(R2[M2("min",k)]=V.ideal,A.optional.push(R2),R2={},R2[M2("max",k)]=V.ideal,A.optional.push(R2)):(R2[M2("",k)]=V.ideal,A.optional.push(R2))}V.exact!==void 0&&typeof V.exact!="number"?(A.mandatory=A.mandatory||{},A.mandatory[M2("",k)]=V.exact):["min","max"].forEach(function(t3){V[t3]!==void 0&&(A.mandatory=A.mandatory||{},A.mandatory[M2(t3,k)]=V[t3])})}}),B.advanced&&(A.optional=(A.optional||[]).concat(B.advanced)),A},D2=function(B,A){if(Q.version>=61)return A(B);if(B=JSON.parse(JSON.stringify(B)),B&&g(B.audio)==="object"){var k=function(Q2,c3,b3){c3 in Q2&&!(b3 in Q2)&&(Q2[b3]=Q2[c3],delete Q2[c3])};B=JSON.parse(JSON.stringify(B)),k(B.audio,"autoGainControl","googAutoGainControl"),k(B.audio,"noiseSuppression","googNoiseSuppression"),B.audio=X(B.audio)}if(B&&g(B.video)==="object"){var V=B.video.facingMode;V=V&&((typeof V=="undefined"?"undefined":g(V))==="object"?V:{ideal:V});var M2=Q.version<66;if(V&&(V.exact==="user"||V.exact==="environment"||V.ideal==="user"||V.ideal==="environment")&&!(s2.mediaDevices.getSupportedConstraints&&s2.mediaDevices.getSupportedConstraints().facingMode&&!M2)){delete B.video.facingMode;var R2=void 0;if(V.exact==="environment"||V.ideal==="environment"?R2=["back","rear"]:(V.exact==="user"||V.ideal==="user")&&(R2=["front"]),R2)return s2.mediaDevices.enumerateDevices().then(function(t3){t3=t3.filter(function(c3){return c3.kind==="videoinput"});var Q2=t3.find(function(c3){return R2.some(function(b3){return c3.label.toLowerCase().includes(b3)})});return!Q2&&t3.length&&R2.includes("back")&&(Q2=t3[t3.length-1]),Q2&&(B.video.deviceId=V.exact?{exact:Q2.deviceId}:{ideal:Q2.deviceId}),B.video=X(B.video),L("chrome: "+JSON.stringify(B)),A(B)})}B.video=X(B.video)}return L("chrome: "+JSON.stringify(B)),A(B)},g2=function(B){return Q.version>=64?B:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[B.name]||B.name,message:B.message,constraint:B.constraint||B.constraintName,toString:function(){return this.name+(this.message&&": ")+this.message}}},C=function(B,A,k){D2(B,function(V){s2.webkitGetUserMedia(V,A,function(M2){k&&k(g2(M2))})})};if(s2.getUserMedia=C.bind(s2),s2.mediaDevices.getUserMedia){var I=s2.mediaDevices.getUserMedia.bind(s2.mediaDevices);s2.mediaDevices.getUserMedia=function(Y){return D2(Y,function(B){return I(B).then(function(A){if(B.audio&&!A.getAudioTracks().length||B.video&&!A.getVideoTracks().length)throw A.getTracks().forEach(function(k){k.stop()}),new DOMException("","NotFoundError");return A},function(A){return Promise.reject(g2(A))})})}}}}},{"../utils.js":15}],6:[function(R,N,m){Object.defineProperty(m,"__esModule",{value:!0});var g=typeof Symbol=="function"&&t(Symbol.iterator)==="symbol"?function(C){return t(C)}:function(C){return C&&typeof Symbol=="function"&&C.constructor===Symbol&&C!==Symbol.prototype?"symbol":t(C)};m.shimRTCIceCandidate=s2,m.shimMaxMessageSize=Q,m.shimSendThrowTypeError=X,m.shimConnectionState=D2,m.removeAllowExtmapMixed=g2;var S=R("sdp"),x=l2(S),E=R("./utils"),L=r2(E);function r2(C){if(C&&C.__esModule)return C;var I={};if(C!=null)for(var Y in C)Object.prototype.hasOwnProperty.call(C,Y)&&(I[Y]=C[Y]);return I.default=C,I}function l2(C){return C&&C.__esModule?C:{default:C}}function s2(C){if(!(!C.RTCIceCandidate||C.RTCIceCandidate&&"foundation"in C.RTCIceCandidate.prototype)){var I=C.RTCIceCandidate;C.RTCIceCandidate=function(B){if((typeof B=="undefined"?"undefined":g(B))==="object"&&B.candidate&&B.candidate.indexOf("a=")===0&&(B=JSON.parse(JSON.stringify(B)),B.candidate=B.candidate.substr(2)),B.candidate&&B.candidate.length){var A=new I(B),k=x.default.parseCandidate(B.candidate),V=Object.assign(A,k);return V.toJSON=function(){return{candidate:V.candidate,sdpMid:V.sdpMid,sdpMLineIndex:V.sdpMLineIndex,usernameFragment:V.usernameFragment}},V}return new I(B)},C.RTCIceCandidate.prototype=I.prototype,L.wrapPeerConnectionEvent(C,"icecandidate",function(Y){return Y.candidate&&Object.defineProperty(Y,"candidate",{value:new C.RTCIceCandidate(Y.candidate),writable:"false"}),Y})}}function Q(C){if(C.RTCPeerConnection){var I=L.detectBrowser(C);"sctp"in C.RTCPeerConnection.prototype||Object.defineProperty(C.RTCPeerConnection.prototype,"sctp",{get:function(){return typeof this._sctp=="undefined"?null:this._sctp}});var Y=function(R2){if(!R2||!R2.sdp)return!1;var t3=x.default.splitSections(R2.sdp);return t3.shift(),t3.some(function(Q2){var c3=x.default.parseMLine(Q2);return c3&&c3.kind==="application"&&c3.protocol.indexOf("SCTP")!==-1})},B=function(R2){var t3=R2.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(t3===null||t3.length<2)return-1;var Q2=parseInt(t3[1],10);return Q2!==Q2?-1:Q2},A=function(R2){var t3=65536;return I.browser==="firefox"&&(I.version<57?R2===-1?t3=16384:t3=2147483637:I.version<60?t3=I.version===57?65535:65536:t3=2147483637),t3},k=function(R2,t3){var Q2=65536;I.browser==="firefox"&&I.version===57&&(Q2=65535);var c3=x.default.matchPrefix(R2.sdp,"a=max-message-size:");return c3.length>0?Q2=parseInt(c3[0].substr(19),10):I.browser==="firefox"&&t3!==-1&&(Q2=2147483637),Q2},V=C.RTCPeerConnection.prototype.setRemoteDescription;C.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,I.browser==="chrome"&&I.version>=76){var R2=this.getConfiguration(),t3=R2.sdpSemantics;t3==="plan-b"&&Object.defineProperty(this,"sctp",{get:function(){return typeof this._sctp=="undefined"?null:this._sctp},enumerable:!0,configurable:!0})}if(Y(arguments[0])){var Q2=B(arguments[0]),c3=A(Q2),b3=k(arguments[0],Q2),M3=void 0;c3===0&&b3===0?M3=Number.POSITIVE_INFINITY:c3===0||b3===0?M3=Math.max(c3,b3):M3=Math.min(c3,b3);var T3={};Object.defineProperty(T3,"maxMessageSize",{get:function(){return M3}}),this._sctp=T3}return V.apply(this,arguments)}}}function X(C){if(!(C.RTCPeerConnection&&"createDataChannel"in C.RTCPeerConnection.prototype))return;function I(B,A){var k=B.send;B.send=function(){var M2=arguments[0],R2=M2.length||M2.size||M2.byteLength;if(B.readyState==="open"&&A.sctp&&R2>A.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+A.sctp.maxMessageSize+" bytes)");return k.apply(B,arguments)}}var Y=C.RTCPeerConnection.prototype.createDataChannel;C.RTCPeerConnection.prototype.createDataChannel=function(){var A=Y.apply(this,arguments);return I(A,this),A},L.wrapPeerConnectionEvent(C,"datachannel",function(B){return I(B.channel,B.target),B})}function D2(C){if(!(!C.RTCPeerConnection||"connectionState"in C.RTCPeerConnection.prototype)){var I=C.RTCPeerConnection.prototype;Object.defineProperty(I,"connectionState",{get:function(){return{completed:"connected",checking:"connecting"}[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(I,"onconnectionstatechange",{get:function(){return this._onconnectionstatechange||null},set:function(B){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),B&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=B)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach(function(Y){var B=I[Y];I[Y]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=function(A){var k=A.target;if(k._lastConnectionState!==k.connectionState){k._lastConnectionState=k.connectionState;var V=new Event("connectionstatechange",A);k.dispatchEvent(V)}return A},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),B.apply(this,arguments)}})}}function g2(C){if(C.RTCPeerConnection){var I=L.detectBrowser(C);if(!(I.browser==="chrome"&&I.version>=71)){var Y=C.RTCPeerConnection.prototype.setRemoteDescription;C.RTCPeerConnection.prototype.setRemoteDescription=function(A){return A&&A.sdp&&A.sdp.indexOf(` a=extmap-allow-mixed`)!==-1&&(A.sdp=A.sdp.split(` `).filter(function(k){return k.trim()!=="a=extmap-allow-mixed"}).join(` `)),Y.apply(this,arguments)}}}}},{"./utils":15,sdp:17}],7:[function(R,N,m){Object.defineProperty(m,"__esModule",{value:!0}),m.shimGetDisplayMedia=m.shimGetUserMedia=void 0;var g=R("./getusermedia");Object.defineProperty(m,"shimGetUserMedia",{enumerable:!0,get:function(){return g.shimGetUserMedia}});var S=R("./getdisplaymedia");Object.defineProperty(m,"shimGetDisplayMedia",{enumerable:!0,get:function(){return S.shimGetDisplayMedia}}),m.shimPeerConnection=X,m.shimReplaceTrack=D2;var x=R("../utils"),E=Q(x),L=R("./filtericeservers"),r2=R("rtcpeerconnection-shim"),l2=s2(r2);function s2(g2){return g2&&g2.__esModule?g2:{default:g2}}function Q(g2){if(g2&&g2.__esModule)return g2;var C={};if(g2!=null)for(var I in g2)Object.prototype.hasOwnProperty.call(g2,I)&&(C[I]=g2[I]);return C.default=g2,C}function X(g2){var C=E.detectBrowser(g2);if(g2.RTCIceGatherer&&(g2.RTCIceCandidate||(g2.RTCIceCandidate=function(A){return A}),g2.RTCSessionDescription||(g2.RTCSessionDescription=function(A){return A}),C.version<15025)){var I=Object.getOwnPropertyDescriptor(g2.MediaStreamTrack.prototype,"enabled");Object.defineProperty(g2.MediaStreamTrack.prototype,"enabled",{set:function(A){I.set.call(this,A);var k=new Event("enabled");k.enabled=A,this.dispatchEvent(k)}})}g2.RTCRtpSender&&!("dtmf"in g2.RTCRtpSender.prototype)&&Object.defineProperty(g2.RTCRtpSender.prototype,"dtmf",{get:function(){return this._dtmf===void 0&&(this.track.kind==="audio"?this._dtmf=new g2.RTCDtmfSender(this):this.track.kind==="video"&&(this._dtmf=null)),this._dtmf}}),g2.RTCDtmfSender&&!g2.RTCDTMFSender&&(g2.RTCDTMFSender=g2.RTCDtmfSender);var Y=(0,l2.default)(g2,C.version);g2.RTCPeerConnection=function(A){return A&&A.iceServers&&(A.iceServers=(0,L.filterIceServers)(A.iceServers,C.version),E.log("ICE servers after filtering:",A.iceServers)),new Y(A)},g2.RTCPeerConnection.prototype=Y.prototype}function D2(g2){g2.RTCRtpSender&&!("replaceTrack"in g2.RTCRtpSender.prototype)&&(g2.RTCRtpSender.prototype.replaceTrack=g2.RTCRtpSender.prototype.setTrack)}},{"../utils":15,"./filtericeservers":8,"./getdisplaymedia":9,"./getusermedia":10,"rtcpeerconnection-shim":16}],8:[function(R,N,m){Object.defineProperty(m,"__esModule",{value:!0}),m.filterIceServers=E;var g=R("../utils"),S=x(g);function x(L){if(L&&L.__esModule)return L;var r2={};if(L!=null)for(var l2 in L)Object.prototype.hasOwnProperty.call(L,l2)&&(r2[l2]=L[l2]);return r2.default=L,r2}function E(L,r2){var l2=!1;return L=JSON.parse(JSON.stringify(L)),L.filter(function(s2){if(s2&&(s2.urls||s2.url)){var Q=s2.urls||s2.url;s2.url&&!s2.urls&&S.deprecated("RTCIceServer.url","RTCIceServer.urls");var X=typeof Q=="string";return X&&(Q=[Q]),Q=Q.filter(function(D2){if(D2.indexOf("stun:")===0)return!1;var g2=D2.startsWith("turn")&&!D2.startsWith("turn:[")&&D2.includes("transport=udp");return g2&&!l2?(l2=!0,!0):g2&&!l2}),delete s2.url,s2.urls=X?Q[0]:Q,!!Q.length}})}},{"../utils":15}],9:[function(R,N,m){Object.defineProperty(m,"__esModule",{value:!0}),m.shimGetDisplayMedia=g;function g(S){"getDisplayMedia"in S.navigator&&S.navigator.mediaDevices&&(S.navigator.mediaDevices&&"getDisplayMedia"in S.navigator.mediaDevices||(S.navigator.mediaDevices.getDisplayMedia=S.navigator.getDisplayMedia.bind(S.navigator)))}},{}],10:[function(R,N,m){Object.defineProperty(m,"__esModule",{value:!0}),m.shimGetUserMedia=g;function g(S){var x=S&&S.navigator,E=function(l2){return{name:{PermissionDeniedError:"NotAllowedError"}[l2.name]||l2.name,message:l2.message,constraint:l2.constraint,toString:function(){return this.name}}},L=x.mediaDevices.getUserMedia.bind(x.mediaDevices);x.mediaDevices.getUserMedia=function(r2){return L(r2).catch(function(l2){return Promise.reject(E(l2))})}}},{}],11:[function(R,N,m){Object.defineProperty(m,"__esModule",{value:!0}),m.shimGetDisplayMedia=m.shimGetUserMedia=void 0;var g=typeof Symbol=="function"&&t(Symbol.iterator)==="symbol"?function(A){return t(A)}:function(A){return A&&typeof Symbol=="function"&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":t(A)},S=R("./getusermedia");Object.defineProperty(m,"shimGetUserMedia",{enumerable:!0,get:function(){return S.shimGetUserMedia}});var x=R("./getdisplaymedia");Object.defineProperty(m,"shimGetDisplayMedia",{enumerable:!0,get:function(){return x.shimGetDisplayMedia}}),m.shimOnTrack=s2,m.shimPeerConnection=Q,m.shimSenderGetStats=X,m.shimReceiverGetStats=D2,m.shimRemoveStream=g2,m.shimRTCDataChannel=C,m.shimAddTransceiver=I,m.shimCreateOffer=Y,m.shimCreateAnswer=B;var E=R("../utils"),L=r2(E);function r2(A){if(A&&A.__esModule)return A;var k={};if(A!=null)for(var V in A)Object.prototype.hasOwnProperty.call(A,V)&&(k[V]=A[V]);return k.default=A,k}function l2(A,k,V){return k in A?Object.defineProperty(A,k,{value:V,enumerable:!0,configurable:!0,writable:!0}):A[k]=V,A}function s2(A){(typeof A=="undefined"?"undefined":g(A))==="object"&&A.RTCTrackEvent&&"receiver"in A.RTCTrackEvent.prototype&&!("transceiver"in A.RTCTrackEvent.prototype)&&Object.defineProperty(A.RTCTrackEvent.prototype,"transceiver",{get:function(){return{receiver:this.receiver}}})}function Q(A){var k=L.detectBrowser(A);if(!((typeof A=="undefined"?"undefined":g(A))!=="object"||!(A.RTCPeerConnection||A.mozRTCPeerConnection))){if(!A.RTCPeerConnection&&A.mozRTCPeerConnection&&(A.RTCPeerConnection=A.mozRTCPeerConnection),k.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(t3){var Q2=A.RTCPeerConnection.prototype[t3],c3=l2({},t3,function(){return arguments[0]=new(t3==="addIceCandidate"?A.RTCIceCandidate:A.RTCSessionDescription)(arguments[0]),Q2.apply(this,arguments)});A.RTCPeerConnection.prototype[t3]=c3[t3]}),k.version<68){var V=A.RTCPeerConnection.prototype.addIceCandidate;A.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?arguments[0]&&arguments[0].candidate===""?Promise.resolve():V.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())}}var M2={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},R2=A.RTCPeerConnection.prototype.getStats;A.RTCPeerConnection.prototype.getStats=function(){var Q2=Array.prototype.slice.call(arguments),c3=Q2[0],b3=Q2[1],M3=Q2[2];return R2.apply(this,[c3||null]).then(function(T3){if(k.version<53&&!b3)try{T3.forEach(function(f1){f1.type=M2[f1.type]||f1.type})}catch(f1){if(f1.name!=="TypeError")throw f1;T3.forEach(function(S1,T1){T3.set(T1,Object.assign({},S1,{type:M2[S1.type]||S1.type}))})}return T3}).then(b3,M3)}}}function X(A){if((typeof A=="undefined"?"undefined":g(A))==="object"&&A.RTCPeerConnection&&A.RTCRtpSender&&!(A.RTCRtpSender&&"getStats"in A.RTCRtpSender.prototype)){var k=A.RTCPeerConnection.prototype.getSenders;k&&(A.RTCPeerConnection.prototype.getSenders=function(){var R2=this,t3=k.apply(this,[]);return t3.forEach(function(Q2){return Q2._pc=R2}),t3});var V=A.RTCPeerConnection.prototype.addTrack;V&&(A.RTCPeerConnection.prototype.addTrack=function(){var R2=V.apply(this,arguments);return R2._pc=this,R2}),A.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}}function D2(A){if((typeof A=="undefined"?"undefined":g(A))==="object"&&A.RTCPeerConnection&&A.RTCRtpSender&&!(A.RTCRtpSender&&"getStats"in A.RTCRtpReceiver.prototype)){var k=A.RTCPeerConnection.prototype.getReceivers;k&&(A.RTCPeerConnection.prototype.getReceivers=function(){var M2=this,R2=k.apply(this,[]);return R2.forEach(function(t3){return t3._pc=M2}),R2}),L.wrapPeerConnectionEvent(A,"track",function(V){return V.receiver._pc=V.srcElement,V}),A.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}}function g2(A){!A.RTCPeerConnection||"removeStream"in A.RTCPeerConnection.prototype||(A.RTCPeerConnection.prototype.removeStream=function(V){var M2=this;L.deprecated("removeStream","removeTrack"),this.getSenders().forEach(function(R2){R2.track&&V.getTracks().includes(R2.track)&&M2.removeTrack(R2)})})}function C(A){A.DataChannel&&!A.RTCDataChannel&&(A.RTCDataChannel=A.DataChannel)}function I(A){if((typeof A=="undefined"?"undefined":g(A))==="object"&&A.RTCPeerConnection){var k=A.RTCPeerConnection.prototype.addTransceiver;k&&(A.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];var M2=arguments[1],R2=M2&&"sendEncodings"in M2;R2&&M2.sendEncodings.forEach(function(b3){if("rid"in b3){var M3=/^[a-z0-9]{0,16}$/i;if(!M3.test(b3.rid))throw new TypeError("Invalid RID value provided.")}if("scaleResolutionDownBy"in b3&&!(parseFloat(b3.scaleResolutionDownBy)>=1))throw new RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in b3&&!(parseFloat(b3.maxFramerate)>=0))throw new RangeError("max_framerate must be >= 0.0")});var t3=k.apply(this,arguments);if(R2){var Q2=t3.sender,c3=Q2.getParameters();"encodings"in c3||(c3.encodings=M2.sendEncodings,this.setParametersPromises.push(Q2.setParameters(c3).catch(function(){})))}return t3})}}function Y(A){if((typeof A=="undefined"?"undefined":g(A))==="object"&&A.RTCPeerConnection){var k=A.RTCPeerConnection.prototype.createOffer;A.RTCPeerConnection.prototype.createOffer=function(){var M2=this,R2=arguments;return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(function(){return k.apply(M2,R2)}).finally(function(){M2.setParametersPromises=[]}):k.apply(this,arguments)}}}function B(A){if((typeof A=="undefined"?"undefined":g(A))==="object"&&A.RTCPeerConnection){var k=A.RTCPeerConnection.prototype.createAnswer;A.RTCPeerConnection.prototype.createAnswer=function(){var M2=this,R2=arguments;return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(function(){return k.apply(M2,R2)}).finally(function(){M2.setParametersPromises=[]}):k.apply(this,arguments)}}}},{"../utils":15,"./getdisplaymedia":12,"./getusermedia":13}],12:[function(R,N,m){Object.defineProperty(m,"__esModule",{value:!0}),m.shimGetDisplayMedia=g;function g(S,x){S.navigator.mediaDevices&&"getDisplayMedia"in S.navigator.mediaDevices||S.navigator.mediaDevices&&(S.navigator.mediaDevices.getDisplayMedia=function(L){if(!(L&&L.video)){var r2=new DOMException("getDisplayMedia without video constraints is undefined");return r2.name="NotFoundError",r2.code=8,Promise.reject(r2)}return L.video===!0?L.video={mediaSource:x}:L.video.mediaSource=x,S.navigator.mediaDevices.getUserMedia(L)})}},{}],13:[function(R,N,m){Object.defineProperty(m,"__esModule",{value:!0});var g=typeof Symbol=="function"&&t(Symbol.iterator)==="symbol"?function(r2){return t(r2)}:function(r2){return r2&&typeof Symbol=="function"&&r2.constructor===Symbol&&r2!==Symbol.prototype?"symbol":t(r2)};m.shimGetUserMedia=L;var S=R("../utils"),x=E(S);function E(r2){if(r2&&r2.__esModule)return r2;var l2={};if(r2!=null)for(var s2 in r2)Object.prototype.hasOwnProperty.call(r2,s2)&&(l2[s2]=r2[s2]);return l2.default=r2,l2}function L(r2){var l2=x.detectBrowser(r2),s2=r2&&r2.navigator,Q=r2&&r2.MediaStreamTrack;if(s2.getUserMedia=function(I,Y,B){x.deprecated("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),s2.mediaDevices.getUserMedia(I).then(Y,B)},!(l2.version>55&&"autoGainControl"in s2.mediaDevices.getSupportedConstraints())){var X=function(Y,B,A){B in Y&&!(A in Y)&&(Y[A]=Y[B],delete Y[B])},D2=s2.mediaDevices.getUserMedia.bind(s2.mediaDevices);if(s2.mediaDevices.getUserMedia=function(I){return(typeof I=="undefined"?"undefined":g(I))==="object"&&g(I.audio)==="object"&&(I=JSON.parse(JSON.stringify(I)),X(I.audio,"autoGainControl","mozAutoGainControl"),X(I.audio,"noiseSuppression","mozNoiseSuppression")),D2(I)},Q&&Q.prototype.getSettings){var g2=Q.prototype.getSettings;Q.prototype.getSettings=function(){var I=g2.apply(this,arguments);return X(I,"mozAutoGainControl","autoGainControl"),X(I,"mozNoiseSuppression","noiseSuppression"),I}}if(Q&&Q.prototype.applyConstraints){var C=Q.prototype.applyConstraints;Q.prototype.applyConstraints=function(I){return this.kind==="audio"&&(typeof I=="undefined"?"undefined":g(I))==="object"&&(I=JSON.parse(JSON.stringify(I)),X(I,"autoGainControl","mozAutoGainControl"),X(I,"noiseSuppression","mozNoiseSuppression")),C.apply(this,[I])}}}}},{"../utils":15}],14:[function(R,N,m){Object.defineProperty(m,"__esModule",{value:!0});var g=typeof Symbol=="function"&&t(Symbol.iterator)==="symbol"?function(C){return t(C)}:function(C){return C&&typeof Symbol=="function"&&C.constructor===Symbol&&C!==Symbol.prototype?"symbol":t(C)};m.shimLocalStreamsAPI=L,m.shimRemoteStreamsAPI=r2,m.shimCallbacksAPI=l2,m.shimGetUserMedia=s2,m.shimConstraints=Q,m.shimRTCIceServerUrls=X,m.shimTrackEventTransceiver=D2,m.shimCreateOfferLegacy=g2;var S=R("../utils"),x=E(S);function E(C){if(C&&C.__esModule)return C;var I={};if(C!=null)for(var Y in C)Object.prototype.hasOwnProperty.call(C,Y)&&(I[Y]=C[Y]);return I.default=C,I}function L(C){if(!((typeof C=="undefined"?"undefined":g(C))!=="object"||!C.RTCPeerConnection)){if("getLocalStreams"in C.RTCPeerConnection.prototype||(C.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in C.RTCPeerConnection.prototype)){var I=C.RTCPeerConnection.prototype.addTrack;C.RTCPeerConnection.prototype.addStream=function(B){var A=this;this._localStreams||(this._localStreams=[]),this._localStreams.includes(B)||this._localStreams.push(B),B.getAudioTracks().forEach(function(k){return I.call(A,k,B)}),B.getVideoTracks().forEach(function(k){return I.call(A,k,B)})},C.RTCPeerConnection.prototype.addTrack=function(B){var A=arguments[1];return A&&(this._localStreams?this._localStreams.includes(A)||this._localStreams.push(A):this._localStreams=[A]),I.apply(this,arguments)}}"removeStream"in C.RTCPeerConnection.prototype||(C.RTCPeerConnection.prototype.removeStream=function(B){var A=this;this._localStreams||(this._localStreams=[]);var k=this._localStreams.indexOf(B);if(k!==-1){this._localStreams.splice(k,1);var V=B.getTracks();this.getSenders().forEach(function(M2){V.includes(M2.track)&&A.removeTrack(M2)})}})}}function r2(C){if(!((typeof C=="undefined"?"undefined":g(C))!=="object"||!C.RTCPeerConnection)&&("getRemoteStreams"in C.RTCPeerConnection.prototype||(C.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!("onaddstream"in C.RTCPeerConnection.prototype))){Object.defineProperty(C.RTCPeerConnection.prototype,"onaddstream",{get:function(){return this._onaddstream},set:function(B){var A=this;this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=B),this.addEventListener("track",this._onaddstreampoly=function(k){k.streams.forEach(function(V){if(A._remoteStreams||(A._remoteStreams=[]),!A._remoteStreams.includes(V)){A._remoteStreams.push(V);var M2=new Event("addstream");M2.stream=V,A.dispatchEvent(M2)}})})}});var I=C.RTCPeerConnection.prototype.setRemoteDescription;C.RTCPeerConnection.prototype.setRemoteDescription=function(){var B=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(A){A.streams.forEach(function(k){if(B._remoteStreams||(B._remoteStreams=[]),!(B._remoteStreams.indexOf(k)>=0)){B._remoteStreams.push(k);var V=new Event("addstream");V.stream=k,B.dispatchEvent(V)}})}),I.apply(B,arguments)}}}function l2(C){if(!((typeof C=="undefined"?"undefined":g(C))!=="object"||!C.RTCPeerConnection)){var I=C.RTCPeerConnection.prototype,Y=I.createOffer,B=I.createAnswer,A=I.setLocalDescription,k=I.setRemoteDescription,V=I.addIceCandidate;I.createOffer=function(t3,Q2){var c3=arguments.length>=2?arguments[2]:arguments[0],b3=Y.apply(this,[c3]);return Q2?(b3.then(t3,Q2),Promise.resolve()):b3},I.createAnswer=function(t3,Q2){var c3=arguments.length>=2?arguments[2]:arguments[0],b3=B.apply(this,[c3]);return Q2?(b3.then(t3,Q2),Promise.resolve()):b3};var M2=function(t3,Q2,c3){var b3=A.apply(this,[t3]);return c3?(b3.then(Q2,c3),Promise.resolve()):b3};I.setLocalDescription=M2,M2=function(t3,Q2,c3){var b3=k.apply(this,[t3]);return c3?(b3.then(Q2,c3),Promise.resolve()):b3},I.setRemoteDescription=M2,M2=function(t3,Q2,c3){var b3=V.apply(this,[t3]);return c3?(b3.then(Q2,c3),Promise.resolve()):b3},I.addIceCandidate=M2}}function s2(C){var I=C&&C.navigator;if(I.mediaDevices&&I.mediaDevices.getUserMedia){var Y=I.mediaDevices,B=Y.getUserMedia.bind(Y);I.mediaDevices.getUserMedia=function(A){return B(Q(A))}}!I.getUserMedia&&I.mediaDevices&&I.mediaDevices.getUserMedia&&(I.getUserMedia=function(k,V,M2){I.mediaDevices.getUserMedia(k).then(V,M2)}.bind(I))}function Q(C){return C&&C.video!==void 0?Object.assign({},C,{video:x.compactObject(C.video)}):C}function X(C){var I=C.RTCPeerConnection;C.RTCPeerConnection=function(B,A){if(B&&B.iceServers){for(var k=[],V=0;V=k&&parseInt(V[k],10)}function r2(B,A,k){if(B.RTCPeerConnection){var V=B.RTCPeerConnection.prototype,M2=V.addEventListener;V.addEventListener=function(t3,Q2){if(t3!==A)return M2.apply(this,arguments);var c3=function(M3){var T3=k(M3);T3&&Q2(T3)};return this._eventMap=this._eventMap||{},this._eventMap[Q2]=c3,M2.apply(this,[t3,c3])};var R2=V.removeEventListener;V.removeEventListener=function(t3,Q2){if(t3!==A||!this._eventMap||!this._eventMap[Q2])return R2.apply(this,arguments);var c3=this._eventMap[Q2];return delete this._eventMap[Q2],R2.apply(this,[t3,c3])},Object.defineProperty(V,"on"+A,{get:function(){return this["_on"+A]},set:function(Q2){this["_on"+A]&&(this.removeEventListener(A,this["_on"+A]),delete this["_on"+A]),Q2&&this.addEventListener(A,this["_on"+A]=Q2)},enumerable:!0,configurable:!0})}}function l2(B){return typeof B!="boolean"?new Error("Argument type: "+(typeof B=="undefined"?"undefined":g(B))+". Please use a boolean."):(x=B,B?"adapter.js logging disabled":"adapter.js logging enabled")}function s2(B){return typeof B!="boolean"?new Error("Argument type: "+(typeof B=="undefined"?"undefined":g(B))+". Please use a boolean."):(E=!B,"adapter.js deprecation warnings "+(B?"disabled":"enabled"))}function Q(){if((typeof window=="undefined"?"undefined":g(window))==="object"){if(x)return;typeof console!="undefined"&&typeof console.log=="function"&&console.log.apply(console,arguments)}}function X(B,A){E&&console.warn(B+" is deprecated, please use "+A+" instead.")}function D2(B){var A=B.navigator,k={browser:null,version:null};if(typeof B=="undefined"||!B.navigator)return k.browser="Not a browser.",k;if(A.mozGetUserMedia)k.browser="firefox",k.version=L(A.userAgent,/Firefox\/(\d+)\./,1);else if(A.webkitGetUserMedia||B.isSecureContext===!1&&B.webkitRTCPeerConnection&&!B.RTCIceGatherer)k.browser="chrome",k.version=L(A.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else if(A.mediaDevices&&A.userAgent.match(/Edge\/(\d+).(\d+)$/))k.browser="edge",k.version=L(A.userAgent,/Edge\/(\d+).(\d+)$/,2);else if(B.RTCPeerConnection&&A.userAgent.match(/AppleWebKit\/(\d+)\./))k.browser="safari",k.version=L(A.userAgent,/AppleWebKit\/(\d+)\./,1),k.supportsUnifiedPlan=B.RTCRtpTransceiver&&"currentDirection"in B.RTCRtpTransceiver.prototype;else return k.browser="Not a supported browser.",k;return k}function g2(B){return Object.prototype.toString.call(B)==="[object Object]"}function C(B){return g2(B)?Object.keys(B).reduce(function(A,k){var V=g2(B[k]),M2=V?C(B[k]):B[k],R2=V&&!Object.keys(M2).length;return M2===void 0||R2?A:Object.assign(A,S({},k,M2))},{}):B}function I(B,A,k){!A||k.has(A.id)||(k.set(A.id,A),Object.keys(A).forEach(function(V){V.endsWith("Id")?I(B,B.get(A[V]),k):V.endsWith("Ids")&&A[V].forEach(function(M2){I(B,B.get(M2),k)})}))}function Y(B,A,k){var V=k?"outbound-rtp":"inbound-rtp",M2=new Map;if(A===null)return M2;var R2=[];return B.forEach(function(t3){t3.type==="track"&&t3.trackIdentifier===A.id&&R2.push(t3)}),R2.forEach(function(t3){B.forEach(function(Q2){Q2.type===V&&Q2.trackId===t3.id&&I(B,Q2,M2)})}),M2}},{}],16:[function(R,N,m){var g=R("sdp");function S(Q){return{inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[Q.type]||Q.type}function x(Q,X,D2,g2,C){var I=g.writeRtpDescription(Q.kind,X);if(I+=g.writeIceParameters(Q.iceGatherer.getLocalParameters()),I+=g.writeDtlsParameters(Q.dtlsTransport.getLocalParameters(),D2==="offer"?"actpass":C||"active"),I+="a=mid:"+Q.mid+`\r `,Q.rtpSender&&Q.rtpReceiver?I+=`a=sendrecv\r `:Q.rtpSender?I+=`a=sendonly\r `:Q.rtpReceiver?I+=`a=recvonly\r `:I+=`a=inactive\r `,Q.rtpSender){var Y=Q.rtpSender._initialTrackId||Q.rtpSender.track.id;Q.rtpSender._initialTrackId=Y;var B="msid:"+(g2?g2.id:"-")+" "+Y+`\r `;I+="a="+B,I+="a=ssrc:"+Q.sendEncodingParameters[0].ssrc+" "+B,Q.sendEncodingParameters[0].rtx&&(I+="a=ssrc:"+Q.sendEncodingParameters[0].rtx.ssrc+" "+B,I+="a=ssrc-group:FID "+Q.sendEncodingParameters[0].ssrc+" "+Q.sendEncodingParameters[0].rtx.ssrc+`\r `)}return I+="a=ssrc:"+Q.sendEncodingParameters[0].ssrc+" cname:"+g.localCName+`\r `,Q.rtpSender&&Q.sendEncodingParameters[0].rtx&&(I+="a=ssrc:"+Q.sendEncodingParameters[0].rtx.ssrc+" cname:"+g.localCName+`\r `),I}function E(Q,X){var D2=!1;return Q=JSON.parse(JSON.stringify(Q)),Q.filter(function(g2){if(g2&&(g2.urls||g2.url)){var C=g2.urls||g2.url;g2.url&&!g2.urls&&console.warn("RTCIceServer.url is deprecated! Use urls instead.");var I=typeof C=="string";return I&&(C=[C]),C=C.filter(function(Y){var B=Y.indexOf("turn:")===0&&Y.indexOf("transport=udp")!==-1&&Y.indexOf("turn:[")===-1&&!D2;return B?(D2=!0,!0):Y.indexOf("stun:")===0&&X>=14393&&Y.indexOf("?transport=udp")===-1}),delete g2.url,g2.urls=I?C[0]:C,!!C.length}})}function L(Q,X){var D2={codecs:[],headerExtensions:[],fecMechanisms:[]},g2=function(Y,B){Y=parseInt(Y,10);for(var A=0;A0;R2--)this._iceGatherers.push(new Q.RTCIceGatherer({iceServers:k.iceServers,gatherPolicy:k.iceTransportPolicy}));else k.iceCandidatePoolSize=0;this._config=k,this.transceivers=[],this._sdpSessionId=g.generateSessionId(),this._sdpSessionVersion=0,this._dtlsRole=void 0,this._isClosed=!1};Object.defineProperty(I.prototype,"localDescription",{configurable:!0,get:function(){return this._localDescription}}),Object.defineProperty(I.prototype,"remoteDescription",{configurable:!0,get:function(){return this._remoteDescription}}),I.prototype.onicecandidate=null,I.prototype.onaddstream=null,I.prototype.ontrack=null,I.prototype.onremovestream=null,I.prototype.onsignalingstatechange=null,I.prototype.oniceconnectionstatechange=null,I.prototype.onconnectionstatechange=null,I.prototype.onicegatheringstatechange=null,I.prototype.onnegotiationneeded=null,I.prototype.ondatachannel=null,I.prototype._dispatchEvent=function(A,k){this._isClosed||(this.dispatchEvent(k),typeof this["on"+A]=="function"&&this["on"+A](k))},I.prototype._emitGatheringStateChange=function(){var A=new Event("icegatheringstatechange");this._dispatchEvent("icegatheringstatechange",A)},I.prototype.getConfiguration=function(){return this._config},I.prototype.getLocalStreams=function(){return this.localStreams},I.prototype.getRemoteStreams=function(){return this.remoteStreams},I.prototype._createTransceiver=function(A,k){var V=this.transceivers.length>0,M2={track:null,iceGatherer:null,iceTransport:null,dtlsTransport:null,localCapabilities:null,remoteCapabilities:null,rtpSender:null,rtpReceiver:null,kind:A,mid:null,sendEncodingParameters:null,recvEncodingParameters:null,stream:null,associatedRemoteMediaStreams:[],wantReceive:!0};if(this.usingBundle&&V)M2.iceTransport=this.transceivers[0].iceTransport,M2.dtlsTransport=this.transceivers[0].dtlsTransport;else{var R2=this._createIceAndDtlsTransports();M2.iceTransport=R2.iceTransport,M2.dtlsTransport=R2.dtlsTransport}return k||this.transceivers.push(M2),M2},I.prototype.addTrack=function(A,k){if(this._isClosed)throw s2("InvalidStateError","Attempted to call addTrack on a closed peerconnection.");var V=this.transceivers.find(function(t3){return t3.track===A});if(V)throw s2("InvalidAccessError","Track already exists.");for(var M2,R2=0;R2=15025)A.getTracks().forEach(function(M2){k.addTrack(M2,A)});else{var V=A.clone();A.getTracks().forEach(function(M2,R2){var t3=V.getTracks()[R2];M2.addEventListener("enabled",function(Q2){t3.enabled=Q2.enabled})}),V.getTracks().forEach(function(M2){k.addTrack(M2,V)})}},I.prototype.removeTrack=function(A){if(this._isClosed)throw s2("InvalidStateError","Attempted to call removeTrack on a closed peerconnection.");if(!(A instanceof Q.RTCRtpSender))throw new TypeError("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.");var k=this.transceivers.find(function(R2){return R2.rtpSender===A});if(!k)throw s2("InvalidAccessError","Sender was not created by this connection.");var V=k.stream;k.rtpSender.stop(),k.rtpSender=null,k.track=null,k.stream=null;var M2=this.transceivers.map(function(R2){return R2.stream});M2.indexOf(V)===-1&&this.localStreams.indexOf(V)>-1&&this.localStreams.splice(this.localStreams.indexOf(V),1),this._maybeFireNegotiationNeeded()},I.prototype.removeStream=function(A){var k=this;A.getTracks().forEach(function(V){var M2=k.getSenders().find(function(R2){return R2.track===V});M2&&k.removeTrack(M2)})},I.prototype.getSenders=function(){return this.transceivers.filter(function(A){return!!A.rtpSender}).map(function(A){return A.rtpSender})},I.prototype.getReceivers=function(){return this.transceivers.filter(function(A){return!!A.rtpReceiver}).map(function(A){return A.rtpReceiver})},I.prototype._createIceGatherer=function(A,k){var V=this;if(k&&A>0)return this.transceivers[0].iceGatherer;if(this._iceGatherers.length)return this._iceGatherers.shift();var M2=new Q.RTCIceGatherer({iceServers:this._config.iceServers,gatherPolicy:this._config.iceTransportPolicy});return Object.defineProperty(M2,"state",{value:"new",writable:!0}),this.transceivers[A].bufferedCandidateEvents=[],this.transceivers[A].bufferCandidates=function(R2){var t3=!R2.candidate||Object.keys(R2.candidate).length===0;M2.state=t3?"completed":"gathering",V.transceivers[A].bufferedCandidateEvents!==null&&V.transceivers[A].bufferedCandidateEvents.push(R2)},M2.addEventListener("localcandidate",this.transceivers[A].bufferCandidates),M2},I.prototype._gather=function(A,k){var V=this,M2=this.transceivers[k].iceGatherer;if(!M2.onlocalcandidate){var R2=this.transceivers[k].bufferedCandidateEvents;this.transceivers[k].bufferedCandidateEvents=null,M2.removeEventListener("localcandidate",this.transceivers[k].bufferCandidates),M2.onlocalcandidate=function(t3){if(!(V.usingBundle&&k>0)){var Q2=new Event("icecandidate");Q2.candidate={sdpMid:A,sdpMLineIndex:k};var c3=t3.candidate,b3=!c3||Object.keys(c3).length===0;if(b3)(M2.state==="new"||M2.state==="gathering")&&(M2.state="completed");else{M2.state==="new"&&(M2.state="gathering"),c3.component=1,c3.ufrag=M2.getLocalParameters().usernameFragment;var M3=g.writeCandidate(c3);Q2.candidate=Object.assign(Q2.candidate,g.parseCandidate(M3)),Q2.candidate.candidate=M3,Q2.candidate.toJSON=function(){return{candidate:Q2.candidate.candidate,sdpMid:Q2.candidate.sdpMid,sdpMLineIndex:Q2.candidate.sdpMLineIndex,usernameFragment:Q2.candidate.usernameFragment}}}var T3=g.getMediaSections(V._localDescription.sdp);b3?T3[Q2.candidate.sdpMLineIndex]+=`a=end-of-candidates\r `:T3[Q2.candidate.sdpMLineIndex]+="a="+Q2.candidate.candidate+`\r `,V._localDescription.sdp=g.getDescription(V._localDescription.sdp)+T3.join("");var f1=V.transceivers.every(function(S1){return S1.iceGatherer&&S1.iceGatherer.state==="completed"});V.iceGatheringState!=="gathering"&&(V.iceGatheringState="gathering",V._emitGatheringStateChange()),b3||V._dispatchEvent("icecandidate",Q2),f1&&(V._dispatchEvent("icecandidate",new Event("icecandidate")),V.iceGatheringState="complete",V._emitGatheringStateChange())}},Q.setTimeout(function(){R2.forEach(function(t3){M2.onlocalcandidate(t3)})},0)}},I.prototype._createIceAndDtlsTransports=function(){var A=this,k=new Q.RTCIceTransport(null);k.onicestatechange=function(){A._updateIceConnectionState(),A._updateConnectionState()};var V=new Q.RTCDtlsTransport(k);return V.ondtlsstatechange=function(){A._updateConnectionState()},V.onerror=function(){Object.defineProperty(V,"state",{value:"failed",writable:!0}),A._updateConnectionState()},{iceTransport:k,dtlsTransport:V}},I.prototype._disposeIceAndDtlsTransports=function(A){var k=this.transceivers[A].iceGatherer;k&&(delete k.onlocalcandidate,delete this.transceivers[A].iceGatherer);var V=this.transceivers[A].iceTransport;V&&(delete V.onicestatechange,delete this.transceivers[A].iceTransport);var M2=this.transceivers[A].dtlsTransport;M2&&(delete M2.ondtlsstatechange,delete M2.onerror,delete this.transceivers[A].dtlsTransport)},I.prototype._transceive=function(A,k,V){var M2=L(A.localCapabilities,A.remoteCapabilities);k&&A.rtpSender&&(M2.encodings=A.sendEncodingParameters,M2.rtcp={cname:g.localCName,compound:A.rtcpParameters.compound},A.recvEncodingParameters.length&&(M2.rtcp.ssrc=A.recvEncodingParameters[0].ssrc),A.rtpSender.send(M2)),V&&A.rtpReceiver&&M2.codecs.length>0&&(A.kind==="video"&&A.recvEncodingParameters&&X<15019&&A.recvEncodingParameters.forEach(function(R2){delete R2.rtx}),A.recvEncodingParameters.length?M2.encodings=A.recvEncodingParameters:M2.encodings=[{}],M2.rtcp={compound:A.rtcpParameters.compound},A.rtcpParameters.cname&&(M2.rtcp.cname=A.rtcpParameters.cname),A.sendEncodingParameters.length&&(M2.rtcp.ssrc=A.sendEncodingParameters[0].ssrc),A.rtpReceiver.receive(M2))},I.prototype.setLocalDescription=function(A){var k=this;if(["offer","answer"].indexOf(A.type)===-1)return Promise.reject(s2("TypeError",'Unsupported type "'+A.type+'"'));if(!r2("setLocalDescription",A.type,k.signalingState)||k._isClosed)return Promise.reject(s2("InvalidStateError","Can not set local "+A.type+" in state "+k.signalingState));var V,M2;if(A.type==="offer")V=g.splitSections(A.sdp),M2=V.shift(),V.forEach(function(t3,Q2){var c3=g.parseRtpParameters(t3);k.transceivers[Q2].localCapabilities=c3}),k.transceivers.forEach(function(t3,Q2){k._gather(t3.mid,Q2)});else if(A.type==="answer"){V=g.splitSections(k._remoteDescription.sdp),M2=V.shift();var R2=g.matchPrefix(M2,"a=ice-lite").length>0;V.forEach(function(t3,Q2){var c3=k.transceivers[Q2],b3=c3.iceGatherer,M3=c3.iceTransport,T3=c3.dtlsTransport,f1=c3.localCapabilities,S1=c3.remoteCapabilities,T1=g.isRejected(t3)&&g.matchPrefix(t3,"a=bundle-only").length===0;if(!T1&&!c3.rejected){var N1=g.getIceParameters(t3,M2),L1=g.getDtlsParameters(t3,M2);R2&&(L1.role="server"),(!k.usingBundle||Q2===0)&&(k._gather(c3.mid,Q2),M3.state==="new"&&M3.start(b3,N1,R2?"controlling":"controlled"),T3.state==="new"&&T3.start(L1));var G1=L(f1,S1);k._transceive(c3,G1.codecs.length>0,!1)}})}return k._localDescription={type:A.type,sdp:A.sdp},A.type==="offer"?k._updateSignalingState("have-local-offer"):k._updateSignalingState("stable"),Promise.resolve()},I.prototype.setRemoteDescription=function(A){var k=this;if(["offer","answer"].indexOf(A.type)===-1)return Promise.reject(s2("TypeError",'Unsupported type "'+A.type+'"'));if(!r2("setRemoteDescription",A.type,k.signalingState)||k._isClosed)return Promise.reject(s2("InvalidStateError","Can not set remote "+A.type+" in state "+k.signalingState));var V={};k.remoteStreams.forEach(function(M3){V[M3.id]=M3});var M2=[],R2=g.splitSections(A.sdp),t3=R2.shift(),Q2=g.matchPrefix(t3,"a=ice-lite").length>0,c3=g.matchPrefix(t3,"a=group:BUNDLE ").length>0;k.usingBundle=c3;var b3=g.matchPrefix(t3,"a=ice-options:")[0];return b3?k.canTrickleIceCandidates=b3.substr(14).split(" ").indexOf("trickle")>=0:k.canTrickleIceCandidates=!1,R2.forEach(function(M3,T3){var f1=g.splitLines(M3),S1=g.getKind(M3),T1=g.isRejected(M3)&&g.matchPrefix(M3,"a=bundle-only").length===0,N1=f1[0].substr(2).split(" ")[2],L1=g.getDirection(M3,t3),G1=g.parseMsid(M3),y0=g.getMid(M3)||g.generateIdentifier();if(T1||S1==="application"&&(N1==="DTLS/SCTP"||N1==="UDP/DTLS/SCTP")){k.transceivers[T3]={mid:y0,kind:S1,protocol:N1,rejected:!0};return}!T1&&k.transceivers[T3]&&k.transceivers[T3].rejected&&(k.transceivers[T3]=k._createTransceiver(S1,!0));var B2,y3,P3,t1,v1,j1,U1,D1,u0,On=g.parseRtpParameters(M3),Dt,et;T1||(Dt=g.getIceParameters(M3,t3),et=g.getDtlsParameters(M3,t3),et.role="client"),U1=g.parseRtpEncodingParameters(M3);var At=g.parseRtcpParameters(M3),b0=g.matchPrefix(M3,"a=end-of-candidates",t3).length>0,Te=g.matchPrefix(M3,"a=candidate:").map(function(w1){return g.parseCandidate(w1)}).filter(function(w1){return w1.component===1});if((A.type==="offer"||A.type==="answer")&&!T1&&c3&&T3>0&&k.transceivers[T3]&&(k._disposeIceAndDtlsTransports(T3),k.transceivers[T3].iceGatherer=k.transceivers[0].iceGatherer,k.transceivers[T3].iceTransport=k.transceivers[0].iceTransport,k.transceivers[T3].dtlsTransport=k.transceivers[0].dtlsTransport,k.transceivers[T3].rtpSender&&k.transceivers[T3].rtpSender.setTransport(k.transceivers[0].dtlsTransport),k.transceivers[T3].rtpReceiver&&k.transceivers[T3].rtpReceiver.setTransport(k.transceivers[0].dtlsTransport)),A.type==="offer"&&!T1){B2=k.transceivers[T3]||k._createTransceiver(S1),B2.mid=y0,B2.iceGatherer||(B2.iceGatherer=k._createIceGatherer(T3,c3)),Te.length&&B2.iceTransport.state==="new"&&(b0&&(!c3||T3===0)?B2.iceTransport.setRemoteCandidates(Te):Te.forEach(function(w1){l2(B2.iceTransport,w1)})),D1=Q.RTCRtpReceiver.getCapabilities(S1),X<15019&&(D1.codecs=D1.codecs.filter(function(w1){return w1.name!=="rtx"})),j1=B2.sendEncodingParameters||[{ssrc:(2*T3+2)*1001}];var yt=!1;if(L1==="sendrecv"||L1==="sendonly"){if(yt=!B2.rtpReceiver,v1=B2.rtpReceiver||new Q.RTCRtpReceiver(B2.dtlsTransport,S1),yt){var d0;u0=v1.track,G1&&G1.stream==="-"||(G1?(V[G1.stream]||(V[G1.stream]=new Q.MediaStream,Object.defineProperty(V[G1.stream],"id",{get:function(){return G1.stream}})),Object.defineProperty(u0,"id",{get:function(){return G1.track}}),d0=V[G1.stream]):(V.default||(V.default=new Q.MediaStream),d0=V.default)),d0&&(D2(u0,d0),B2.associatedRemoteMediaStreams.push(d0)),M2.push([u0,v1,d0])}}else B2.rtpReceiver&&B2.rtpReceiver.track&&(B2.associatedRemoteMediaStreams.forEach(function(w1){var Z1=w1.getTracks().find(function(I0){return I0.id===B2.rtpReceiver.track.id});Z1&&g2(Z1,w1)}),B2.associatedRemoteMediaStreams=[]);B2.localCapabilities=D1,B2.remoteCapabilities=On,B2.rtpReceiver=v1,B2.rtcpParameters=At,B2.sendEncodingParameters=j1,B2.recvEncodingParameters=U1,k._transceive(k.transceivers[T3],!1,yt)}else if(A.type==="answer"&&!T1){B2=k.transceivers[T3],y3=B2.iceGatherer,P3=B2.iceTransport,t1=B2.dtlsTransport,v1=B2.rtpReceiver,j1=B2.sendEncodingParameters,D1=B2.localCapabilities,k.transceivers[T3].recvEncodingParameters=U1,k.transceivers[T3].remoteCapabilities=On,k.transceivers[T3].rtcpParameters=At,Te.length&&P3.state==="new"&&((Q2||b0)&&(!c3||T3===0)?P3.setRemoteCandidates(Te):Te.forEach(function(w1){l2(B2.iceTransport,w1)})),(!c3||T3===0)&&(P3.state==="new"&&P3.start(y3,Dt,"controlling"),t1.state==="new"&&t1.start(et));var B0=L(B2.localCapabilities,B2.remoteCapabilities),k1=B0.codecs.filter(function(w1){return w1.name.toLowerCase()==="rtx"}).length;!k1&&B2.sendEncodingParameters[0].rtx&&delete B2.sendEncodingParameters[0].rtx,k._transceive(B2,L1==="sendrecv"||L1==="recvonly",L1==="sendrecv"||L1==="sendonly"),v1&&(L1==="sendrecv"||L1==="sendonly")?(u0=v1.track,G1?(V[G1.stream]||(V[G1.stream]=new Q.MediaStream),D2(u0,V[G1.stream]),M2.push([u0,v1,V[G1.stream]])):(V.default||(V.default=new Q.MediaStream),D2(u0,V.default),M2.push([u0,v1,V.default]))):delete B2.rtpReceiver}}),k._dtlsRole===void 0&&(k._dtlsRole=A.type==="offer"?"active":"passive"),k._remoteDescription={type:A.type,sdp:A.sdp},A.type==="offer"?k._updateSignalingState("have-remote-offer"):k._updateSignalingState("stable"),Object.keys(V).forEach(function(M3){var T3=V[M3];if(T3.getTracks().length){if(k.remoteStreams.indexOf(T3)===-1){k.remoteStreams.push(T3);var f1=new Event("addstream");f1.stream=T3,Q.setTimeout(function(){k._dispatchEvent("addstream",f1)})}M2.forEach(function(S1){var T1=S1[0],N1=S1[1];T3.id===S1[2].id&&C(k,T1,N1,[T3])})}}),M2.forEach(function(M3){M3[2]||C(k,M3[0],M3[1],[])}),Q.setTimeout(function(){k&&k.transceivers&&k.transceivers.forEach(function(M3){M3.iceTransport&&M3.iceTransport.state==="new"&&M3.iceTransport.getRemoteCandidates().length>0&&(console.warn("Timeout for addRemoteCandidate. Consider sending an end-of-candidates notification"),M3.iceTransport.addRemoteCandidate({}))})},4e3),Promise.resolve()},I.prototype.close=function(){this.transceivers.forEach(function(A){A.iceTransport&&A.iceTransport.stop(),A.dtlsTransport&&A.dtlsTransport.stop(),A.rtpSender&&A.rtpSender.stop(),A.rtpReceiver&&A.rtpReceiver.stop()}),this._isClosed=!0,this._updateSignalingState("closed")},I.prototype._updateSignalingState=function(A){this.signalingState=A;var k=new Event("signalingstatechange");this._dispatchEvent("signalingstatechange",k)},I.prototype._maybeFireNegotiationNeeded=function(){var A=this;this.signalingState!=="stable"||this.needNegotiation===!0||(this.needNegotiation=!0,Q.setTimeout(function(){if(A.needNegotiation){A.needNegotiation=!1;var k=new Event("negotiationneeded");A._dispatchEvent("negotiationneeded",k)}},0))},I.prototype._updateIceConnectionState=function(){var A,k={new:0,closed:0,checking:0,connected:0,completed:0,disconnected:0,failed:0};if(this.transceivers.forEach(function(M2){M2.iceTransport&&!M2.rejected&&k[M2.iceTransport.state]++}),A="new",k.failed>0?A="failed":k.checking>0?A="checking":k.disconnected>0?A="disconnected":k.new>0?A="new":k.connected>0?A="connected":k.completed>0&&(A="completed"),A!==this.iceConnectionState){this.iceConnectionState=A;var V=new Event("iceconnectionstatechange");this._dispatchEvent("iceconnectionstatechange",V)}},I.prototype._updateConnectionState=function(){var A,k={new:0,closed:0,connecting:0,connected:0,completed:0,disconnected:0,failed:0};if(this.transceivers.forEach(function(M2){M2.iceTransport&&M2.dtlsTransport&&!M2.rejected&&(k[M2.iceTransport.state]++,k[M2.dtlsTransport.state]++)}),k.connected+=k.completed,A="new",k.failed>0?A="failed":k.connecting>0?A="connecting":k.disconnected>0?A="disconnected":k.new>0?A="new":k.connected>0&&(A="connected"),A!==this.connectionState){this.connectionState=A;var V=new Event("connectionstatechange");this._dispatchEvent("connectionstatechange",V)}},I.prototype.createOffer=function(){var A=this;if(A._isClosed)return Promise.reject(s2("InvalidStateError","Can not call createOffer after close"));var k=A.transceivers.filter(function(Q2){return Q2.kind==="audio"}).length,V=A.transceivers.filter(function(Q2){return Q2.kind==="video"}).length,M2=arguments[0];if(M2){if(M2.mandatory||M2.optional)throw new TypeError("Legacy mandatory/optional constraints not supported.");M2.offerToReceiveAudio!==void 0&&(M2.offerToReceiveAudio===!0?k=1:M2.offerToReceiveAudio===!1?k=0:k=M2.offerToReceiveAudio),M2.offerToReceiveVideo!==void 0&&(M2.offerToReceiveVideo===!0?V=1:M2.offerToReceiveVideo===!1?V=0:V=M2.offerToReceiveVideo)}for(A.transceivers.forEach(function(Q2){Q2.kind==="audio"?(k--,k<0&&(Q2.wantReceive=!1)):Q2.kind==="video"&&(V--,V<0&&(Q2.wantReceive=!1))});k>0||V>0;)k>0&&(A._createTransceiver("audio"),k--),V>0&&(A._createTransceiver("video"),V--);var R2=g.writeSessionBoilerplate(A._sdpSessionId,A._sdpSessionVersion++);A.transceivers.forEach(function(Q2,c3){var b3=Q2.track,M3=Q2.kind,T3=Q2.mid||g.generateIdentifier();Q2.mid=T3,Q2.iceGatherer||(Q2.iceGatherer=A._createIceGatherer(c3,A.usingBundle));var f1=Q.RTCRtpSender.getCapabilities(M3);X<15019&&(f1.codecs=f1.codecs.filter(function(T1){return T1.name!=="rtx"})),f1.codecs.forEach(function(T1){T1.name==="H264"&&T1.parameters["level-asymmetry-allowed"]===void 0&&(T1.parameters["level-asymmetry-allowed"]="1"),Q2.remoteCapabilities&&Q2.remoteCapabilities.codecs&&Q2.remoteCapabilities.codecs.forEach(function(N1){T1.name.toLowerCase()===N1.name.toLowerCase()&&T1.clockRate===N1.clockRate&&(T1.preferredPayloadType=N1.payloadType)})}),f1.headerExtensions.forEach(function(T1){var N1=Q2.remoteCapabilities&&Q2.remoteCapabilities.headerExtensions||[];N1.forEach(function(L1){T1.uri===L1.uri&&(T1.id=L1.id)})});var S1=Q2.sendEncodingParameters||[{ssrc:(2*c3+1)*1001}];b3&&X>=15019&&M3==="video"&&!S1[0].rtx&&(S1[0].rtx={ssrc:S1[0].ssrc+1}),Q2.wantReceive&&(Q2.rtpReceiver=new Q.RTCRtpReceiver(Q2.dtlsTransport,M3)),Q2.localCapabilities=f1,Q2.sendEncodingParameters=S1}),A._config.bundlePolicy!=="max-compat"&&(R2+="a=group:BUNDLE "+A.transceivers.map(function(Q2){return Q2.mid}).join(" ")+`\r `),R2+=`a=ice-options:trickle\r `,A.transceivers.forEach(function(Q2,c3){R2+=x(Q2,Q2.localCapabilities,"offer",Q2.stream,A._dtlsRole),R2+=`a=rtcp-rsize\r `,Q2.iceGatherer&&A.iceGatheringState!=="new"&&(c3===0||!A.usingBundle)&&(Q2.iceGatherer.getLocalCandidates().forEach(function(b3){b3.component=1,R2+="a="+g.writeCandidate(b3)+`\r `}),Q2.iceGatherer.state==="completed"&&(R2+=`a=end-of-candidates\r `))});var t3=new Q.RTCSessionDescription({type:"offer",sdp:R2});return Promise.resolve(t3)},I.prototype.createAnswer=function(){var A=this;if(A._isClosed)return Promise.reject(s2("InvalidStateError","Can not call createAnswer after close"));if(!(A.signalingState==="have-remote-offer"||A.signalingState==="have-local-pranswer"))return Promise.reject(s2("InvalidStateError","Can not call createAnswer in signalingState "+A.signalingState));var k=g.writeSessionBoilerplate(A._sdpSessionId,A._sdpSessionVersion++);A.usingBundle&&(k+="a=group:BUNDLE "+A.transceivers.map(function(R2){return R2.mid}).join(" ")+`\r `),k+=`a=ice-options:trickle\r `;var V=g.getMediaSections(A._remoteDescription.sdp).length;A.transceivers.forEach(function(R2,t3){if(!(t3+1>V)){if(R2.rejected){R2.kind==="application"?R2.protocol==="DTLS/SCTP"?k+=`m=application 0 DTLS/SCTP 5000\r `:k+="m=application 0 "+R2.protocol+` webrtc-datachannel\r `:R2.kind==="audio"?k+=`m=audio 0 UDP/TLS/RTP/SAVPF 0\r a=rtpmap:0 PCMU/8000\r `:R2.kind==="video"&&(k+=`m=video 0 UDP/TLS/RTP/SAVPF 120\r a=rtpmap:120 VP8/90000\r `),k+=`c=IN IP4 0.0.0.0\r a=inactive\r a=mid:`+R2.mid+`\r `;return}if(R2.stream){var Q2;R2.kind==="audio"?Q2=R2.stream.getAudioTracks()[0]:R2.kind==="video"&&(Q2=R2.stream.getVideoTracks()[0]),Q2&&X>=15019&&R2.kind==="video"&&!R2.sendEncodingParameters[0].rtx&&(R2.sendEncodingParameters[0].rtx={ssrc:R2.sendEncodingParameters[0].ssrc+1})}var c3=L(R2.localCapabilities,R2.remoteCapabilities),b3=c3.codecs.filter(function(M3){return M3.name.toLowerCase()==="rtx"}).length;!b3&&R2.sendEncodingParameters[0].rtx&&delete R2.sendEncodingParameters[0].rtx,k+=x(R2,c3,"answer",R2.stream,A._dtlsRole),R2.rtcpParameters&&R2.rtcpParameters.reducedSize&&(k+=`a=rtcp-rsize\r `)}});var M2=new Q.RTCSessionDescription({type:"answer",sdp:k});return Promise.resolve(M2)},I.prototype.addIceCandidate=function(A){var k=this,V;return A&&!(A.sdpMLineIndex!==void 0||A.sdpMid)?Promise.reject(new TypeError("sdpMLineIndex or sdpMid required")):new Promise(function(M2,R2){if(k._remoteDescription)if(!A||A.candidate==="")for(var t3=0;t30?g.parseCandidate(A.candidate):{};if(M3.protocol==="tcp"&&(M3.port===0||M3.port===9)||M3.component&&M3.component!==1)return M2();if((Q2===0||Q2>0&&b3.iceTransport!==k.transceivers[0].iceTransport)&&!l2(b3.iceTransport,M3))return R2(s2("OperationError","Can not add ICE candidate"));var T3=A.candidate.trim();T3.indexOf("a=")===0&&(T3=T3.substr(2)),V=g.getMediaSections(k._remoteDescription.sdp),V[Q2]+="a="+(M3.type?T3:"end-of-candidates")+`\r `,k._remoteDescription.sdp=g.getDescription(k._remoteDescription.sdp)+V.join("")}else return R2(s2("OperationError","Can not add ICE candidate"))}else return R2(s2("InvalidStateError","Can not add ICE candidate without a remote description"));M2()})},I.prototype.getStats=function(A){if(A&&A instanceof Q.MediaStreamTrack){var k=null;if(this.transceivers.forEach(function(M2){M2.rtpSender&&M2.rtpSender.track===A?k=M2.rtpSender:M2.rtpReceiver&&M2.rtpReceiver.track===A&&(k=M2.rtpReceiver)}),!k)throw s2("InvalidAccessError","Invalid selector.");return k.getStats()}var V=[];return this.transceivers.forEach(function(M2){["rtpSender","rtpReceiver","iceGatherer","iceTransport","dtlsTransport"].forEach(function(R2){M2[R2]&&V.push(M2[R2].getStats())})}),Promise.all(V).then(function(M2){var R2=new Map;return M2.forEach(function(t3){t3.forEach(function(Q2){R2.set(Q2.id,Q2)})}),R2})};var Y=["RTCRtpSender","RTCRtpReceiver","RTCIceGatherer","RTCIceTransport","RTCDtlsTransport"];Y.forEach(function(A){var k=Q[A];if(k&&k.prototype&&k.prototype.getStats){var V=k.prototype.getStats;k.prototype.getStats=function(){return V.apply(this).then(function(M2){var R2=new Map;return Object.keys(M2).forEach(function(t3){M2[t3].type=S(M2[t3]),R2.set(t3,M2[t3])}),R2})}}});var B=["createOffer","createAnswer"];return B.forEach(function(A){var k=I.prototype[A];I.prototype[A]=function(){var V=arguments;return typeof V[0]=="function"||typeof V[1]=="function"?k.apply(this,[arguments[2]]).then(function(M2){typeof V[0]=="function"&&V[0].apply(null,[M2])},function(M2){typeof V[1]=="function"&&V[1].apply(null,[M2])}):k.apply(this,arguments)}}),B=["setLocalDescription","setRemoteDescription","addIceCandidate"],B.forEach(function(A){var k=I.prototype[A];I.prototype[A]=function(){var V=arguments;return typeof V[1]=="function"||typeof V[2]=="function"?k.apply(this,arguments).then(function(){typeof V[1]=="function"&&V[1].apply(null)},function(M2){typeof V[2]=="function"&&V[2].apply(null,[M2])}):k.apply(this,arguments)}}),["getStats"].forEach(function(A){var k=I.prototype[A];I.prototype[A]=function(){var V=arguments;return typeof V[1]=="function"?k.apply(this,arguments).then(function(){typeof V[1]=="function"&&V[1].apply(null)}):k.apply(this,arguments)}}),I}},{sdp:17}],17:[function(R,N,m){var g={};g.generateIdentifier=function(){return Math.random().toString(36).substr(2,10)},g.localCName=g.generateIdentifier(),g.splitLines=function(S){return S.trim().split(` `).map(function(x){return x.trim()})},g.splitSections=function(S){var x=S.split(` m=`);return x.map(function(E,L){return(L>0?"m="+E:E).trim()+`\r `})},g.getDescription=function(S){var x=g.splitSections(S);return x&&x[0]},g.getMediaSections=function(S){var x=g.splitSections(S);return x.shift(),x},g.matchPrefix=function(S,x){return g.splitLines(S).filter(function(E){return E.indexOf(x)===0})},g.parseCandidate=function(S){var x;S.indexOf("a=candidate:")===0?x=S.substring(12).split(" "):x=S.substring(10).split(" ");for(var E={foundation:x[0],component:parseInt(x[1],10),protocol:x[2].toLowerCase(),priority:parseInt(x[3],10),ip:x[4],address:x[4],port:parseInt(x[5],10),type:x[7]},L=8;L0?x[0].split("/")[1]:"sendrecv",uri:x[1]}},g.writeExtmap=function(S){return"a=extmap:"+(S.id||S.preferredId)+(S.direction&&S.direction!=="sendrecv"?"/"+S.direction:"")+" "+S.uri+`\r `},g.parseFmtp=function(S){for(var x={},E,L=S.substr(S.indexOf(" ")+1).split(";"),r2=0;r2-1?(E.attribute=S.substr(x+1,L-x-1),E.value=S.substr(L+1)):E.attribute=S.substr(x+1),E},g.parseSsrcGroup=function(S){var x=S.substr(13).split(" ");return{semantics:x.shift(),ssrcs:x.map(function(E){return parseInt(E,10)})}},g.getMid=function(S){var x=g.matchPrefix(S,"a=mid:")[0];if(x)return x.substr(6)},g.parseFingerprint=function(S){var x=S.substr(14).split(" ");return{algorithm:x[0].toLowerCase(),value:x[1]}},g.getDtlsParameters=function(S,x){var E=g.matchPrefix(S+x,"a=fingerprint:");return{role:"auto",fingerprints:E.map(g.parseFingerprint)}},g.writeDtlsParameters=function(S,x){var E="a=setup:"+x+`\r `;return S.fingerprints.forEach(function(L){E+="a=fingerprint:"+L.algorithm+" "+L.value+`\r `}),E},g.getIceParameters=function(S,x){var E=g.splitLines(S);E=E.concat(g.splitLines(x));var L={usernameFragment:E.filter(function(r2){return r2.indexOf("a=ice-ufrag:")===0})[0].substr(12),password:E.filter(function(r2){return r2.indexOf("a=ice-pwd:")===0})[0].substr(10)};return L},g.writeIceParameters=function(S){return"a=ice-ufrag:"+S.usernameFragment+`\r a=ice-pwd:`+S.password+`\r `},g.parseRtpParameters=function(S){for(var x={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},E=g.splitLines(S),L=E[0].split(" "),r2=3;r20?"9":"0",E+=" UDP/TLS/RTP/SAVPF ",E+=x.codecs.map(function(r2){return r2.preferredPayloadType!==void 0?r2.preferredPayloadType:r2.payloadType}).join(" ")+`\r `,E+=`c=IN IP4 0.0.0.0\r `,E+=`a=rtcp:9 IN IP4 0.0.0.0\r `,x.codecs.forEach(function(r2){E+=g.writeRtpMap(r2),E+=g.writeFmtp(r2),E+=g.writeRtcpFb(r2)});var L=0;return x.codecs.forEach(function(r2){r2.maxptime>L&&(L=r2.maxptime)}),L>0&&(E+="a=maxptime:"+L+`\r `),E+=`a=rtcp-mux\r `,x.headerExtensions&&x.headerExtensions.forEach(function(r2){E+=g.writeExtmap(r2)}),E},g.parseRtpEncodingParameters=function(S){var x=[],E=g.parseRtpParameters(S),L=E.fecMechanisms.indexOf("RED")!==-1,r2=E.fecMechanisms.indexOf("ULPFEC")!==-1,l2=g.matchPrefix(S,"a=ssrc:").map(function(g2){return g.parseSsrcMedia(g2)}).filter(function(g2){return g2.attribute==="cname"}),s2=l2.length>0&&l2[0].ssrc,Q,X=g.matchPrefix(S,"a=ssrc-group:FID").map(function(g2){var C=g2.substr(17).split(" ");return C.map(function(I){return parseInt(I,10)})});X.length>0&&X[0].length>1&&X[0][0]===s2&&(Q=X[0][1]),E.codecs.forEach(function(g2){if(g2.name.toUpperCase()==="RTX"&&g2.parameters.apt){var C={ssrc:s2,codecPayloadType:parseInt(g2.parameters.apt,10)};s2&&Q&&(C.rtx={ssrc:Q}),x.push(C),L&&(C=JSON.parse(JSON.stringify(C)),C.fec={ssrc:s2,mechanism:r2?"red+ulpfec":"red"},x.push(C))}}),x.length===0&&s2&&x.push({ssrc:s2});var D2=g.matchPrefix(S,"b=");return D2.length&&(D2[0].indexOf("b=TIAS:")===0?D2=parseInt(D2[0].substr(7),10):D2[0].indexOf("b=AS:")===0?D2=parseInt(D2[0].substr(5),10)*1e3*.95-50*40*8:D2=void 0,x.forEach(function(g2){g2.maxBitrate=D2})),x},g.parseRtcpParameters=function(S){var x={},E=g.matchPrefix(S,"a=ssrc:").map(function(l2){return g.parseSsrcMedia(l2)}).filter(function(l2){return l2.attribute==="cname"})[0];E&&(x.cname=E.value,x.ssrc=E.ssrc);var L=g.matchPrefix(S,"a=rtcp-rsize");x.reducedSize=L.length>0,x.compound=L.length===0;var r2=g.matchPrefix(S,"a=rtcp-mux");return x.mux=r2.length>0,x},g.parseMsid=function(S){var x,E=g.matchPrefix(S,"a=msid:");if(E.length===1)return x=E[0].substr(7).split(" "),{stream:x[0],track:x[1]};var L=g.matchPrefix(S,"a=ssrc:").map(function(r2){return g.parseSsrcMedia(r2)}).filter(function(r2){return r2.attribute==="msid"});if(L.length>0)return x=L[0].value.split(" "),{stream:x[0],track:x[1]}},g.parseSctpDescription=function(S){var x=g.parseMLine(S),E=g.matchPrefix(S,"a=max-message-size:"),L;E.length>0&&(L=parseInt(E[0].substr(19),10)),isNaN(L)&&(L=65536);var r2=g.matchPrefix(S,"a=sctp-port:");if(r2.length>0)return{port:parseInt(r2[0].substr(12),10),protocol:x.fmt,maxMessageSize:L};var l2=g.matchPrefix(S,"a=sctpmap:");if(l2.length>0){var s2=g.matchPrefix(S,"a=sctpmap:")[0].substr(10).split(" ");return{port:parseInt(s2[0],10),protocol:s2[1],maxMessageSize:L}}},g.writeSctpDescription=function(S,x){var E=[];return S.protocol!=="DTLS/SCTP"?E=["m="+S.kind+" 9 "+S.protocol+" "+x.protocol+`\r `,`c=IN IP4 0.0.0.0\r `,"a=sctp-port:"+x.port+`\r `]:E=["m="+S.kind+" 9 "+S.protocol+" "+x.port+`\r `,`c=IN IP4 0.0.0.0\r `,"a=sctpmap:"+x.port+" "+x.protocol+` 65535\r `],x.maxMessageSize!==void 0&&E.push("a=max-message-size:"+x.maxMessageSize+`\r `),E.join("")},g.generateSessionId=function(){return Math.random().toString().substr(2,21)},g.writeSessionBoilerplate=function(S,x,E){var L,r2=x!==void 0?x:2;S?L=S:L=g.generateSessionId();var l2=E||"thisisadapterortc";return`v=0\r o=`+l2+" "+L+" "+r2+` IN IP4 127.0.0.1\r s=-\r t=0 0\r `},g.writeMediaSection=function(S,x,E,L){var r2=g.writeRtpDescription(S.kind,x);if(r2+=g.writeIceParameters(S.iceGatherer.getLocalParameters()),r2+=g.writeDtlsParameters(S.dtlsTransport.getLocalParameters(),E==="offer"?"actpass":"active"),r2+="a=mid:"+S.mid+`\r `,S.direction?r2+="a="+S.direction+`\r `:S.rtpSender&&S.rtpReceiver?r2+=`a=sendrecv\r `:S.rtpSender?r2+=`a=sendonly\r `:S.rtpReceiver?r2+=`a=recvonly\r `:r2+=`a=inactive\r `,S.rtpSender){var l2="msid:"+L.id+" "+S.rtpSender.track.id+`\r `;r2+="a="+l2,r2+="a=ssrc:"+S.sendEncodingParameters[0].ssrc+" "+l2,S.sendEncodingParameters[0].rtx&&(r2+="a=ssrc:"+S.sendEncodingParameters[0].rtx.ssrc+" "+l2,r2+="a=ssrc-group:FID "+S.sendEncodingParameters[0].ssrc+" "+S.sendEncodingParameters[0].rtx.ssrc+`\r `)}return r2+="a=ssrc:"+S.sendEncodingParameters[0].ssrc+" cname:"+g.localCName+`\r `,S.rtpSender&&S.sendEncodingParameters[0].rtx&&(r2+="a=ssrc:"+S.sendEncodingParameters[0].rtx.ssrc+" cname:"+g.localCName+`\r `),r2},g.getDirection=function(S,x){for(var E=g.splitLines(S),L=0;L=26&&R<=N?!0:F.extension.isInstalled()}else return!0};var U3={extensionId:"hapfgfdkleiggjjpfpenajgdnfckjpaj",isInstalled:function(){return document.querySelector("#janus-extension-installed")!==null},getScreen:function(N){var m=window.setTimeout(function(){var g=new Error("NavigatorUserMediaError");return g.name='The required Chrome extension is not installed: click here to install it. (NOTE: this will need you to refresh the page)',N(g)},1e3);this.cache[m]=N,window.postMessage({type:"janusGetScreen",id:m},"*")},init:function(){var N={};this.cache=N,window.addEventListener("message",function(m){if(m.origin==window.location.origin)if(m.data.type=="janusGotScreen"&&N[m.data.id]){var g=N[m.data.id];if(delete N[m.data.id],m.data.sourceId===""){var S=new Error("NavigatorUserMediaError");S.name="You cancelled the request for permission, giving up...",g(S)}else g(null,m.data.sourceId)}else m.data.type=="janusGetScreenPending"&&(console.log("clearing ",m.data.id),window.clearTimeout(m.data.id))})}};F.useDefaultDependencies=function(R){var N=R&&R.fetch||fetch,m=R&&R.Promise||Promise,g=R&&R.WebSocket||WebSocket;return{newWebSocket:function(x,E){return new g(x,E)},extension:R&&R.extension||U3,isArray:function(x){return Array.isArray(x)},webRTCAdapter:R&&R.adapter||window.adapter,httpAPICall:function(x,E){var L={method:E.verb,headers:{Accept:"application/json, text/plain, */*"},cache:"no-cache"};E.verb==="POST"&&(L.headers["Content-Type"]="application/json"),E.withCredentials!==void 0&&(L.credentials=E.withCredentials===!0?"include":E.withCredentials?E.withCredentials:"omit"),E.body!==void 0&&(L.body=JSON.stringify(E.body));var r2=N(x,L).catch(function(s2){return m.reject({message:"Probably a network error, is the server down?",error:s2})});if(E.timeout!==void 0){var l2=new m(function(s2,Q){var X=setTimeout(function(){return clearTimeout(X),Q({message:"Request timed out",timeout:E.timeout})},E.timeout)});r2=m.race([r2,l2])}return r2.then(function(s2){if(s2.ok){if(t(E.success)===t(F.noop))return s2.json().then(function(Q){E.success(Q)}).catch(function(Q){return m.reject({message:"Failed to parse response body",error:Q,response:s2})})}else return m.reject({message:"API call failed",response:s2})}).catch(function(s2){t(E.error)===t(F.noop)&&E.error(s2.message||"<< internal error >>",s2)}),r2}}},F.useOldDependencies=function(R){var N=R&&R.jQuery||jQuery,m=R&&R.WebSocket||WebSocket;return{newWebSocket:function(S,x){return new m(S,x)},isArray:function(S){return N.isArray(S)},extension:R&&R.extension||U3,webRTCAdapter:R&&R.adapter||adapter,httpAPICall:function(S,x){var E=x.body!==void 0?{contentType:"application/json",data:JSON.stringify(x.body)}:{},L=x.withCredentials!==void 0?{xhrFields:{withCredentials:x.withCredentials}}:{};return N.ajax(N.extend(E,L,{url:S,type:x.verb,cache:!1,dataType:"json",async:x.async,timeout:x.timeout,success:function(l2){t(x.success)===t(F.noop)&&x.success(l2)},error:function(l2,s2,Q){t(x.error)===t(F.noop)&&x.error(s2,Q)}}))}}},F.noop=function(){},F.dataChanDefaultLabel="JanusDataChannel",F.endOfCandidates=null,F.init=function(R){if(R=R||{},R.callback=typeof R.callback=="function"?R.callback:F.noop,F.initDone===!0)R.callback();else{if((typeof console=="undefined"||typeof console.log=="undefined")&&(console={log:function(){}}),F.trace=F.noop,F.debug=F.noop,F.vdebug=F.noop,F.log=F.noop,F.warn=F.noop,F.error=F.noop,R.debug===!0||R.debug==="all")F.trace=console.trace.bind(console),F.debug=console.debug.bind(console),F.vdebug=console.debug.bind(console),F.log=console.log.bind(console),F.warn=console.warn.bind(console),F.error=console.error.bind(console);else if(Array.isArray(R.debug))for(var N in R.debug){var m=R.debug[N];switch(m){case"trace":F.trace=console.trace.bind(console);break;case"debug":F.debug=console.debug.bind(console);break;case"vdebug":F.vdebug=console.debug.bind(console);break;case"log":F.log=console.log.bind(console);break;case"warn":F.warn=console.warn.bind(console);break;case"error":F.error=console.error.bind(console);break;default:console.error("Unknown debugging option '"+m+"' (supported: 'trace', 'debug', 'vdebug', 'log', warn', 'error')");break}}F.log("Initializing library");var g=R.dependencies||F.useDefaultDependencies();F.isArray=g.isArray,F.webRTCAdapter=g.webRTCAdapter,F.httpAPICall=g.httpAPICall,F.newWebSocket=g.newWebSocket,F.extension=g.extension,F.extension.init(),F.listDevices=function(s2,Q){s2=typeof s2=="function"?s2:F.noop,Q==null&&(Q={audio:!0,video:!0}),F.isGetUserMediaAvailable()?navigator.mediaDevices.getUserMedia(Q).then(function(X){navigator.mediaDevices.enumerateDevices().then(function(D2){F.debug(D2),s2(D2);try{var g2=X.getTracks();for(var C in g2){var I=g2[C];I!=null&&I.stop()}}catch(Y){}})}).catch(function(X){F.error(X),s2([])}):(F.warn("navigator.mediaDevices unavailable"),s2([]))},F.attachMediaStream=function(s2,Q){if(F.webRTCAdapter.browserDetails.browser==="chrome"){var X=F.webRTCAdapter.browserDetails.version;X>=52?s2.srcObject=Q:F.error("Error attaching stream to element")}else s2.srcObject=Q},F.reattachMediaStream=function(s2,Q){if(F.webRTCAdapter.browserDetails.browser==="chrome"){var X=F.webRTCAdapter.browserDetails.version;X>=52?s2.srcObject=Q.srcObject:typeof s2.src!="undefined"?s2.src=Q.src:F.error("Error reattaching stream to element")}else s2.srcObject=Q.srcObject};var S=["iPad","iPhone","iPod"].indexOf(navigator.platform)>=0,x=S?"pagehide":"beforeunload",E=window["on"+x];if(window.addEventListener(x,function(s2){F.log("Closing window");for(var Q in F.sessions)F.sessions[Q]!==null&&F.sessions[Q]!==void 0&&F.sessions[Q].destroyOnUnload&&(F.log("Destroying session "+Q),F.sessions[Q].destroy({asyncRequest:!1,notifyDestroyed:!1}));E&&typeof E=="function"&&E()}),F.safariVp8=!1,F.webRTCAdapter.browserDetails.browser==="safari"&&F.webRTCAdapter.browserDetails.version>=605)if(RTCRtpSender&&RTCRtpSender.getCapabilities&&RTCRtpSender.getCapabilities("video")&&RTCRtpSender.getCapabilities("video").codecs&&RTCRtpSender.getCapabilities("video").codecs.length){for(var N in RTCRtpSender.getCapabilities("video").codecs){var L=RTCRtpSender.getCapabilities("video").codecs[N];if(L&&L.mimeType&&L.mimeType.toLowerCase()==="video/vp8"){F.safariVp8=!0;break}}F.safariVp8?F.log("This version of Safari supports VP8"):F.warn("This version of Safari does NOT support VP8: if you're using a Technology Preview, try enabling the 'WebRTC VP8 codec' setting in the 'Experimental Features' Develop menu")}else{var r2=new RTCPeerConnection({},{});r2.createOffer({offerToReceiveVideo:!0}).then(function(s2){F.safariVp8=s2.sdp.indexOf("VP8")!==-1,F.safariVp8?F.log("This version of Safari supports VP8"):F.warn("This version of Safari does NOT support VP8: if you're using a Technology Preview, try enabling the 'WebRTC VP8 codec' setting in the 'Experimental Features' Develop menu"),r2.close(),r2=null})}if(F.unifiedPlan=!1,F.webRTCAdapter.browserDetails.browser==="firefox"&&F.webRTCAdapter.browserDetails.version>=59)F.unifiedPlan=!0;else if(F.webRTCAdapter.browserDetails.browser==="chrome"&&F.webRTCAdapter.browserDetails.version<72)F.unifiedPlan=!1;else if(typeof RTCRtpTransceiver!="undefined"&&!("currentDirection"in RTCRtpTransceiver.prototype))F.unifiedPlan=!1;else{var l2=new RTCPeerConnection;try{l2.addTransceiver("audio"),F.unifiedPlan=!0}catch(s2){}l2.close()}F.initDone=!0,R.callback()}},F.isWebrtcSupported=function(){return window.RTCPeerConnection!==void 0&&window.RTCPeerConnection!==null},F.isGetUserMediaAvailable=function(){return navigator.mediaDevices!==void 0&&navigator.mediaDevices!==null&&navigator.mediaDevices.getUserMedia!==void 0&&navigator.mediaDevices.getUserMedia!==null},F.randomString=function(R){for(var N="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",m="",g=0;g3){A=!1,R.error("Lost connection to the server (is it down?)");return}Q2()}})}}function c3(d2,O2){if(R2=0,!N&&k!==void 0&&k!==null&&O2!==!0&&Q2(),!N&&F.isArray(d2)){for(var j2=0;j2 data channel: "+A0),A0==="open"){if(a3.dataChannel[$3].pending&&a3.dataChannel[$3].pending.length>0){F.log("Sending pending messages on <"+$3+">:",a3.dataChannel[$3].pending.length);for(var F1 in a3.dataChannel[$3].pending){var V1=a3.dataChannel[$3].pending[F1];F.log("Sending string on data channel <"+$3+">: "+V1),a3.dataChannel[$3].send(V1)}a3.dataChannel[$3].pending=[]}f2.ondataopen($3)}},_3=function(A3){F.error("Got error on data channel:",A3)};j2?a3.dataChannel[O2]=j2:a3.dataChannel[O2]=a3.pc.createDataChannel(O2,{ordered:!1}),a3.dataChannel[O2].onmessage=n3,a3.dataChannel[O2].onopen=m3,a3.dataChannel[O2].onclose=m3,a3.dataChannel[O2].onerror=_3,a3.dataChannel[O2].pending=[],K2&&a3.dataChannel[O2].pending.push(K2)}function L1(d2,O2){O2=O2||{},O2.success=typeof O2.success=="function"?O2.success:F.noop,O2.error=typeof O2.error=="function"?O2.error:F.noop;var j2=V[d2];if(j2==null||j2.webrtcStuff===null||j2.webrtcStuff===void 0){F.warn("Invalid handle"),O2.error("Invalid handle");return}var K2=j2.webrtcStuff,f2=O2.text;if(f2==null){F.warn("Invalid text"),O2.error("Invalid text");return}var a3=O2.label?O2.label:F.dataChanDefaultLabel;if(!K2.dataChannel[a3]){N1(d2,a3,!1,f2),O2.success();return}if(K2.dataChannel[a3].readyState!=="open"){K2.dataChannel[a3].pending.push(f2),O2.success();return}F.log("Sending string on data channel <"+a3+">: "+f2),K2.dataChannel[a3].send(f2),O2.success()}function G1(d2,O2){O2=O2||{},O2.success=typeof O2.success=="function"?O2.success:F.noop,O2.error=typeof O2.error=="function"?O2.error:F.noop;var j2=V[d2];if(j2==null||j2.webrtcStuff===null||j2.webrtcStuff===void 0){F.warn("Invalid handle"),O2.error("Invalid handle");return}var K2=j2.webrtcStuff;if(K2.dtmfSender===null||K2.dtmfSender===void 0){if(K2.pc!==void 0&&K2.pc!==null){var f2=K2.pc.getSenders(),a3=f2.find(function(A3){return A3.track&&A3.track.kind==="audio"});if(!a3){F.warn("Invalid DTMF configuration (no audio track)"),O2.error("Invalid DTMF configuration (no audio track)");return}K2.dtmfSender=a3.dtmf,K2.dtmfSender&&(F.log("Created DTMF Sender"),K2.dtmfSender.ontonechange=function(A3){F.debug("Sent DTMF tone: "+A3.tone)})}if(K2.dtmfSender===null||K2.dtmfSender===void 0){F.warn("Invalid DTMF configuration"),O2.error("Invalid DTMF configuration");return}}var n3=O2.dtmf;if(n3==null){F.warn("Invalid DTMF parameters"),O2.error("Invalid DTMF parameters");return}var m3=n3.tones;if(m3==null){F.warn("Invalid DTMF string"),O2.error("Invalid DTMF string");return}var _3=n3.duration;_3==null&&(_3=500);var V3=n3.gap;V3==null&&(V3=50),F.debug("Sending DTMF string "+m3+" (duration "+_3+"ms, gap "+V3+"ms)"),K2.dtmfSender.insertDTMF(m3,_3,V3),O2.success()}function y0(d2,O2){O2=O2||{},O2.success=typeof O2.success=="function"?O2.success:F.noop,O2.error=typeof O2.error=="function"?O2.error:F.noop;var j2=!0;O2.asyncRequest!==void 0&&O2.asyncRequest!==null&&(j2=O2.asyncRequest===!0);var K2=!0;O2.noRequest!==void 0&&O2.noRequest!==null&&(K2=O2.noRequest===!0),F.log("Destroying handle "+d2+" (async="+j2+")"),et(d2);var f2=V[d2];if(f2==null||f2.detached){delete V[d2],O2.success();return}if(K2){delete V[d2],O2.success();return}if(!A){F.warn("Is the server down? (connected=false)"),O2.error("Is the server down? (connected=false)");return}var a3={rtcgw:"detach",transaction:F.randomString(12)};if(f2.token!==null&&f2.token!==void 0&&(a3.token=f2.token),C!=null&&(a3.apisecret=C),N){a3.session_id=k,a3.handle_id=d2,m.send(JSON.stringify(a3)),delete V[d2],O2.success();return}F.httpAPICall(L+"/"+k+"/"+d2,{verb:"POST",async:j2,withCredentials:X,body:a3,success:function(m3){F.log("Destroyed handle:"),F.debug(m3),m3.rtcgw!=="success"&&F.error("Ooops: "+m3.error.code+" "+m3.error.reason),delete V[d2],O2.success()},error:function(m3,_3){F.error(m3+":",_3),delete V[d2],O2.success()}})}function B2(d2,O2,j2,K2,f2){var a3=V[d2];if(a3==null||a3.webrtcStuff===null||a3.webrtcStuff===void 0){F.warn("Invalid handle"),K2.error("Invalid handle");return}var n3=a3.webrtcStuff;F.debug("streamsDone:",f2),f2&&(F.debug(" -- Audio tracks:",f2.getAudioTracks()),F.debug(" -- Video tracks:",f2.getVideoTracks()));var m3=!1;if(!n3.myStream||!j2.update||n3.streamExternal)n3.myStream=f2,m3=!0;else{if((!j2.update&&b0(j2)||j2.update&&(j2.addAudio||j2.replaceAudio))&&f2.getAudioTracks()&&f2.getAudioTracks().length)if(n3.myStream.addTrack(f2.getAudioTracks()[0]),F.unifiedPlan){F.log((j2.replaceAudio?"Replacing":"Adding")+" audio track:",f2.getAudioTracks()[0]);var _3=null,V3=n3.pc.getTransceivers();if(V3&&V3.length>0)for(var A3 in V3){var $3=V3[A3];if($3.sender&&$3.sender.track&&$3.sender.track.kind==="audio"||$3.receiver&&$3.receiver.track&&$3.receiver.track.kind==="audio"){_3=$3;break}}_3&&_3.sender?_3.sender.replaceTrack(f2.getAudioTracks()[0]):n3.pc.addTrack(f2.getAudioTracks()[0],f2)}else F.log((j2.replaceAudio?"Replacing":"Adding")+" audio track:",f2.getAudioTracks()[0]),n3.pc.addTrack(f2.getAudioTracks()[0],f2);if((!j2.update&&d0(j2)||j2.update&&(j2.addVideo||j2.replaceVideo))&&f2.getVideoTracks()&&f2.getVideoTracks().length)if(n3.myStream.addTrack(f2.getVideoTracks()[0]),F.unifiedPlan){F.log((j2.replaceVideo?"Replacing":"Adding")+" video track:",f2.getVideoTracks()[0]);var A0=null,V3=n3.pc.getTransceivers();if(V3&&V3.length>0)for(var A3 in V3){var $3=V3[A3];if($3.sender&&$3.sender.track&&$3.sender.track.kind==="video"||$3.receiver&&$3.receiver.track&&$3.receiver.track.kind==="video"){A0=$3;break}}A0&&A0.sender?A0.sender.replaceTrack(f2.getVideoTracks()[0]):n3.pc.addTrack(f2.getVideoTracks()[0],f2)}else F.log((j2.replaceVideo?"Replacing":"Adding")+" video track:",f2.getVideoTracks()[0]),n3.pc.addTrack(f2.getVideoTracks()[0],f2)}if(!n3.pc){var F1={iceServers:r2,iceTransportPolicy:l2,bundlePolicy:s2};F.webRTCAdapter.browserDetails.browser==="chrome"&&(F1.sdpSemantics=F.webRTCAdapter.browserDetails.version<72?"plan-b":"unified-plan");var V1={optional:[{DtlsSrtpKeyAgreement:!0}]};if(Q===!0&&V1.optional.push({googIPv6:!0}),K2.rtcConstraints&&t(K2.rtcConstraints)==="object"){F.debug("Adding custom PeerConnection constraints:",K2.rtcConstraints);for(var A3 in K2.rtcConstraints)V1.optional.push(K2.rtcConstraints[A3])}F.webRTCAdapter.browserDetails.browser==="edge"&&(F1.bundlePolicy="max-bundle"),F.log("Creating PeerConnection"),F.debug(V1),n3.pc=new RTCPeerConnection(F1,V1),F.debug(n3.pc),n3.pc.getStats&&(n3.volume={},n3.bitrate.value="0 kbits/sec"),F.log("Preparing local SDP and gathering candidates (trickle="+n3.trickle+")"),n3.pc.oniceconnectionstatechange=function(W1){n3.pc&&a3.iceState(n3.pc.iceConnectionState)},n3.pc.onicecandidate=function(W1){if(W1.candidate==null||F.webRTCAdapter.browserDetails.browser==="edge"&&W1.candidate.candidate.indexOf("endOfCandidates")>0)F.log("End of candidates."),n3.iceDone=!0,n3.trickle===!0?T1(d2,{completed:!0}):j1(d2,K2);else{var k0={candidate:W1.candidate.candidate,sdpMid:W1.candidate.sdpMid,sdpMLineIndex:W1.candidate.sdpMLineIndex};n3.trickle===!0&&T1(d2,k0)}},n3.pc.ontrack=function(W1){F.log("Handling Remote Track"),F.debug(W1),W1.streams&&(n3.remoteStream=W1.streams[0],a3.onremotestream(n3.remoteStream),!W1.track.onended&&(F.log("Adding onended callback to track:",W1.track),W1.track.onended=function(k0){F.log("Remote track muted/removed:",k0),n3.remoteStream&&(n3.remoteStream.removeTrack(k0.target),a3.onremotestream(n3.remoteStream))},W1.track.onmute=W1.track.onended,W1.track.onunmute=function(k0){F.log("Remote track flowing again:",k0);try{n3.remoteStream.addTrack(k0.target),a3.onremotestream(n3.remoteStream)}catch(ln){F.error(ln)}}))}}if(m3&&f2!==null&&f2!==void 0){F.log("Adding local stream");var a0=K2.simulcast2===!0;f2.getTracks().forEach(function(W1){if(F.log("Adding local track:",W1),!a0)n3.pc.addTrack(W1,f2);else if(W1.kind==="audio")n3.pc.addTrack(W1,f2);else{F.log("Enabling rid-based simulcasting:",W1);var k0=B(K2.simulcastMaxBitrates);n3.pc.addTransceiver(W1,{direction:"sendrecv",streams:[f2],sendEncodings:[{rid:"h",active:!0,maxBitrate:k0.high},{rid:"m",active:!0,maxBitrate:k0.medium,scaleResolutionDownBy:2},{rid:"l",active:!0,maxBitrate:k0.low,scaleResolutionDownBy:4}]})}})}Z1(j2)&&!n3.dataChannel[F.dataChanDefaultLabel]&&(F.log("Creating data channel"),N1(d2,F.dataChanDefaultLabel,!1),n3.pc.ondatachannel=function(W1){F.log("Data channel created by Janus:",W1),N1(d2,W1.channel.label,W1.channel)}),n3.myStream&&a3.onlocalstream(n3.myStream),O2==null?t1(d2,j2,K2):n3.pc.setRemoteDescription(O2).then(function(){if(F.log("Remote description accepted!"),n3.remoteSdp=O2.sdp,n3.candidates&&n3.candidates.length>0){for(var W1=0;W1=26&&Ci<=m8?(a0={video:{mandatory:{googLeakyBucket:!0,maxWidth:window.screen.width,maxHeight:window.screen.height,minFrameRate:f2.screenshareFrameRate,maxFrameRate:f2.screenshareFrameRate,chromeMediaSource:"screen"}},audio:b0(f2)&&!f2.keepAudio},c5(a0,ei)):F.extension.getScreen(function(we,oe){if(we)return a3.consentDialog(!1),j2.error(we);a0={audio:!1,video:{mandatory:{chromeMediaSource:"desktop",maxWidth:window.screen.width,maxHeight:window.screen.height,minFrameRate:f2.screenshareFrameRate,maxFrameRate:f2.screenshareFrameRate},optional:[{googLeakyBucket:!0},{googTemporalLayeredScreencast:!0}]}},a0.video.mandatory.chromeMediaSourceId=oe,c5(a0,ei,b0(f2)&&!f2.keepAudio)})}else if(F.webRTCAdapter.browserDetails.browser==="firefox")if(F.webRTCAdapter.browserDetails.version>=33)a0={video:{mozMediaSource:f2.video,mediaSource:f2.video},audio:b0(f2)&&!f2.keepAudio},c5(a0,function(we,oe){if(ei(we,oe),!we)var Ut=oe.currentTime,un=window.setInterval(function(){oe||window.clearInterval(un),oe.currentTime==Ut&&(window.clearInterval(un),oe.onended&&oe.onended()),Ut=oe.currentTime},500)});else{var p9=new Error("NavigatorUserMediaError");p9.name="Your version of Firefox does not support screen sharing, please install Firefox 33 (or more recent versions)",a3.consentDialog(!1),j2.error(p9);return}return}}(f2==null||f2.video!=="screen")&&navigator.mediaDevices.enumerateDevices().then(function(we){var oe=we.some(function(cn){return cn.kind==="audioinput"}),Ut=w1(f2)||we.some(function(cn){return cn.kind==="videoinput"}),un=b0(f2),s6=d0(f2),Mi=Te(f2),Ei=B0(f2);if(un||s6||Mi||Ei){var m9=un?oe:!1,g9=s6?Ut:!1;if(!m9&&!g9)return a3.consentDialog(!1),j2.error("No capture device found"),!1;if(!m9&&Mi)return a3.consentDialog(!1),j2.error("Audio capture is required, but no capture device found"),!1;if(!g9&&Ei)return a3.consentDialog(!1),j2.error("Video capture is required, but no capture device found"),!1}var d5={audio:oe&&!f2.keepAudio?W1:!1,video:Ut&&!f2.keepVideo?k0:!1};F.debug("getUserMedia constraints",d5),!d5.audio&&!d5.video?(a3.consentDialog(!1),B2(d2,K2,f2,j2,$3)):navigator.mediaDevices.getUserMedia(d5).then(function(cn){a3.consentDialog(!1),B2(d2,K2,f2,j2,cn)}).catch(function(cn){a3.consentDialog(!1),j2.error({code:cn.code,name:cn.name,message:cn.message})})}).catch(function(we){a3.consentDialog(!1),j2.error("enumerateDevices error",we)})}else B2(d2,K2,f2,j2)}function P3(d2,O2){O2=O2||{},O2.success=typeof O2.success=="function"?O2.success:F.noop,O2.error=typeof O2.error=="function"?O2.error:Dt;var j2=O2.jsep,K2=V[d2];if(K2==null||K2.webrtcStuff===null||K2.webrtcStuff===void 0){F.warn("Invalid handle"),O2.error("Invalid handle");return}var f2=K2.webrtcStuff;if(j2!=null){if(f2.pc===null){F.warn("Wait, no PeerConnection?? if this is an answer, use createAnswer and not handleRemoteJsep"),O2.error("No PeerConnection: if this is an answer, use createAnswer and not handleRemoteJsep");return}f2.pc.setRemoteDescription(j2).then(function(){if(F.log("Remote description accepted!"),f2.remoteSdp=j2.sdp,f2.candidates&&f2.candidates.length>0){for(var a3=0;a30)for(var A3 in V3){var $3=V3[A3];if($3.sender&&$3.sender.track&&$3.sender.track.kind==="audio"||$3.receiver&&$3.receiver.track&&$3.receiver.track.kind==="audio"){m3||(m3=$3);continue}if($3.sender&&$3.sender.track&&$3.sender.track.kind==="video"||$3.receiver&&$3.receiver.track&&$3.receiver.track.kind==="video"){_3||(_3=$3);continue}}var A0=b0(O2),F1=yt(O2);!A0&&!F1?O2.removeAudio&&m3&&(m3.setDirection?m3.setDirection("inactive"):m3.direction="inactive",F.log("Setting audio transceiver to inactive:",m3)):A0&&F1?m3&&(m3.setDirection?m3.setDirection("sendrecv"):m3.direction="sendrecv",F.log("Setting audio transceiver to sendrecv:",m3)):A0&&!F1?m3&&(m3.setDirection?m3.setDirection("sendonly"):m3.direction="sendonly",F.log("Setting audio transceiver to sendonly:",m3)):!A0&&F1&&(m3?(m3.setDirection?m3.setDirection("recvonly"):m3.direction="recvonly",F.log("Setting audio transceiver to recvonly:",m3)):(m3=f2.pc.addTransceiver("audio",{direction:"recvonly"}),F.log("Adding recvonly audio transceiver:",m3)));var V1=d0(O2),a0=k1(O2);!V1&&!a0?O2.removeVideo&&_3&&(_3.setDirection?_3.setDirection("inactive"):_3.direction="inactive",F.log("Setting video transceiver to inactive:",_3)):V1&&a0?_3&&(_3.setDirection?_3.setDirection("sendrecv"):_3.direction="sendrecv",F.log("Setting video transceiver to sendrecv:",_3)):V1&&!a0?_3&&(_3.setDirection?_3.setDirection("sendonly"):_3.direction="sendonly",F.log("Setting video transceiver to sendonly:",_3)):!V1&&a0&&(_3?(_3.setDirection?_3.setDirection("recvonly"):_3.direction="recvonly",F.log("Setting video transceiver to recvonly:",_3)):(_3=f2.pc.addTransceiver("video",{direction:"recvonly"}),F.log("Adding recvonly video transceiver:",_3)))}else n3.offerToReceiveAudio=yt(O2),n3.offerToReceiveVideo=k1(O2);var W1=j2.iceRestart===!0;W1&&(n3.iceRestart=!0),F.debug(n3);var k0=d0(O2);if(k0&&a3&&F.webRTCAdapter.browserDetails.browser==="firefox"){F.log("Enabling Simulcasting for Firefox (RID)");var ln=f2.pc.getSenders().find(function(Q0){return Q0.track.kind=="video"});if(ln){var Zt=ln.getParameters();Zt||(Zt={});var h0=B(j2.simulcastMaxBitrates);Zt.encodings=[{rid:"h",active:!0,maxBitrate:h0.high},{rid:"m",active:!0,maxBitrate:h0.medium,scaleResolutionDownBy:2},{rid:"l",active:!0,maxBitrate:h0.low,scaleResolutionDownBy:4}],ln.setParameters(Zt)}}f2.pc.createOffer(n3).then(function(Q0){F.debug(Q0);var ei={type:Q0.type,sdp:Q0.sdp};if(j2.customizeSdp(ei),Q0.sdp=ei.sdp,F.log("Setting local description"),k0&&a3&&(F.webRTCAdapter.browserDetails.browser==="chrome"||F.webRTCAdapter.browserDetails.browser==="safari"?(F.log("Enabling Simulcasting for Chrome (SDP munging)"),Q0.sdp=At(Q0.sdp)):F.webRTCAdapter.browserDetails.browser!=="firefox"&&F.warn("simulcast=true, but this is not Chrome nor Firefox, ignoring")),f2.mySdp=Q0.sdp,f2.pc.setLocalDescription(Q0).catch(j2.error),f2.mediaConstraints=n3,!f2.iceDone&&!f2.trickle){F.log("Waiting for all candidates...");return}F.log("Offer ready"),F.debug(j2),j2.success(Q0)},j2.error)}function v1(d2,O2,j2){j2=j2||{},j2.success=typeof j2.success=="function"?j2.success:F.noop,j2.error=typeof j2.error=="function"?j2.error:F.noop,j2.customizeSdp=typeof j2.customizeSdp=="function"?j2.customizeSdp:F.noop;var K2=V[d2];if(K2==null||K2.webrtcStuff===null||K2.webrtcStuff===void 0){F.warn("Invalid handle"),j2.error("Invalid handle");return}var f2=K2.webrtcStuff,a3=j2.simulcast===!0;a3?F.log("Creating answer (iceDone="+f2.iceDone+", simulcast="+a3+")"):F.log("Creating answer (iceDone="+f2.iceDone+")");var n3=null;if(F.unifiedPlan){n3={};var m3=null,_3=null,V3=f2.pc.getTransceivers();if(V3&&V3.length>0)for(var A3 in V3){var $3=V3[A3];if($3.sender&&$3.sender.track&&$3.sender.track.kind==="audio"||$3.receiver&&$3.receiver.track&&$3.receiver.track.kind==="audio"){m3||(m3=$3);continue}if($3.sender&&$3.sender.track&&$3.sender.track.kind==="video"||$3.receiver&&$3.receiver.track&&$3.receiver.track.kind==="video"){_3||(_3=$3);continue}}var A0=b0(O2),F1=yt(O2);if(!A0&&!F1){if(O2.removeAudio&&m3)try{m3.setDirection?m3.setDirection("inactive"):m3.direction="inactive",F.log("Setting audio transceiver to inactive:",m3)}catch(h0){F.error(h0)}}else if(A0&&F1){if(m3)try{m3.setDirection?m3.setDirection("sendrecv"):m3.direction="sendrecv",F.log("Setting audio transceiver to sendrecv:",m3)}catch(h0){F.error(h0)}}else if(A0&&!F1)try{m3&&(m3.setDirection?m3.setDirection("sendonly"):m3.direction="sendonly",F.log("Setting audio transceiver to sendonly:",m3))}catch(h0){F.error(h0)}else if(!A0&&F1)if(m3)try{m3.setDirection?m3.setDirection("recvonly"):m3.direction="recvonly",F.log("Setting audio transceiver to recvonly:",m3)}catch(h0){F.error(h0)}else m3=f2.pc.addTransceiver("audio",{direction:"recvonly"}),F.log("Adding recvonly audio transceiver:",m3);var V1=d0(O2),a0=k1(O2);if(!V1&&!a0){if(O2.removeVideo&&_3)try{_3.setDirection?_3.setDirection("inactive"):_3.direction="inactive",F.log("Setting video transceiver to inactive:",_3)}catch(h0){F.error(h0)}}else if(V1&&a0){if(_3)try{_3.setDirection?_3.setDirection("sendrecv"):_3.direction="sendrecv",F.log("Setting video transceiver to sendrecv:",_3)}catch(h0){F.error(h0)}}else if(V1&&!a0){if(_3)try{_3.setDirection?_3.setDirection("sendonly"):_3.direction="sendonly",F.log("Setting video transceiver to sendonly:",_3)}catch(h0){F.error(h0)}}else if(!V1&&a0)if(_3)try{_3.setDirection?_3.setDirection("recvonly"):_3.direction="recvonly",F.log("Setting video transceiver to recvonly:",_3)}catch(h0){F.error(h0)}else _3=f2.pc.addTransceiver("video",{direction:"recvonly"}),F.log("Adding recvonly video transceiver:",_3)}else F.webRTCAdapter.browserDetails.browser=="firefox"||F.webRTCAdapter.browserDetails.browser=="edge"?n3={offerToReceiveAudio:yt(O2),offerToReceiveVideo:k1(O2)}:n3={mandatory:{OfferToReceiveAudio:yt(O2),OfferToReceiveVideo:k1(O2)}};F.debug(n3);var W1=d0(O2);if(W1&&a3&&F.webRTCAdapter.browserDetails.browser==="firefox"){F.log("Enabling Simulcasting for Firefox (RID)");var k0=f2.pc.getSenders()[1];F.log(k0);var ln=k0.getParameters();F.log(ln);var Zt=B(j2.simulcastMaxBitrates);k0.setParameters({encodings:[{rid:"high",active:!0,priority:"high",maxBitrate:Zt.high},{rid:"medium",active:!0,priority:"medium",maxBitrate:Zt.medium},{rid:"low",active:!0,priority:"low",maxBitrate:Zt.low}]})}f2.pc.createAnswer(n3).then(function(h0){F.debug(h0);var Q0={type:h0.type,sdp:h0.sdp};if(j2.customizeSdp(Q0),h0.sdp=Q0.sdp,F.log("Setting local description"),W1&&a3&&(F.webRTCAdapter.browserDetails.browser==="chrome"?F.warn("simulcast=true, but this is an answer, and video breaks in Chrome if we enable it"):F.webRTCAdapter.browserDetails.browser!=="firefox"&&F.warn("simulcast=true, but this is not Chrome nor Firefox, ignoring")),f2.mySdp=h0.sdp,f2.pc.setLocalDescription(h0).catch(j2.error),f2.mediaConstraints=n3,!f2.iceDone&&!f2.trickle){F.log("Waiting for all candidates...");return}j2.success(h0)},j2.error)}function j1(d2,O2){O2=O2||{},O2.success=typeof O2.success=="function"?O2.success:F.noop,O2.error=typeof O2.error=="function"?O2.error:F.noop;var j2=V[d2];if(j2==null||j2.webrtcStuff===null||j2.webrtcStuff===void 0){F.warn("Invalid handle, not sending anything");return}var K2=j2.webrtcStuff;if(F.log("Sending offer/answer SDP..."),K2.mySdp===null||K2.mySdp===void 0){F.warn("Local SDP instance is invalid, not sending anything...");return}K2.mySdp={type:K2.pc.localDescription.type,sdp:K2.pc.localDescription.sdp},K2.trickle===!1&&(K2.mySdp.trickle=!1),F.debug(O2),K2.sdpSent=!0,O2.success(K2.mySdp)}function U1(d2,O2){var j2=V[d2];if(j2==null||j2.webrtcStuff===null||j2.webrtcStuff===void 0)return F.warn("Invalid handle"),0;var K2=O2?"remote":"local",f2=j2.webrtcStuff;return f2.volume[K2]||(f2.volume[K2]={value:0}),f2.pc.getStats&&F.webRTCAdapter.browserDetails.browser==="chrome"?O2&&(f2.remoteStream===null||f2.remoteStream===void 0)?(F.warn("Remote stream unavailable"),0):!O2&&(f2.myStream===null||f2.myStream===void 0)?(F.warn("Local stream unavailable"),0):f2.volume[K2].timer===null||f2.volume[K2].timer===void 0?(F.log("Starting "+K2+" volume monitor"),f2.volume[K2].timer=setInterval(function(){f2.pc.getStats(function(a3){for(var n3=a3.result(),m3=0;m3-1)&&f2.type==="inbound-rtp"&&f2.id.indexOf("rtcp")<0||f2.type=="ssrc"&&f2.bytesReceived&&(f2.googCodecName==="VP8"||f2.googCodecName===""))&&(a3=!0),a3)if(j2.bitrate.bsnow=f2.bytesReceived,j2.bitrate.tsnow=f2.timestamp,j2.bitrate.bsbefore===null||j2.bitrate.tsbefore===null)j2.bitrate.bsbefore=j2.bitrate.bsnow,j2.bitrate.tsbefore=j2.bitrate.tsnow;else{var n3=j2.bitrate.tsnow-j2.bitrate.tsbefore;F.webRTCAdapter.browserDetails.browser=="safari"&&(n3=n3/1e3);var m3=Math.round((j2.bitrate.bsnow-j2.bitrate.bsbefore)*8/n3);F.webRTCAdapter.browserDetails.browser==="safari"&&(m3=parseInt(m3/1e3)),j2.bitrate.value=m3+" kbits/sec",j2.bitrate.bsbefore=j2.bitrate.bsnow,j2.bitrate.tsbefore=j2.bitrate.tsnow}}})})},1e3),"0 kbits/sec"):j2.bitrate.value:(F.warn("Getting the video bitrate unsupported by browser"),"Feature unsupported by browser")}function Dt(d2){F.error("WebRTC error:",d2)}function et(d2,O2){F.log("Cleaning WebRTC stuff");var j2=V[d2];if(j2!=null){var K2=j2.webrtcStuff;if(K2!=null){if(O2===!0){var f2={rtcgw:"hangup",transaction:F.randomString(12)};j2.token!==null&&j2.token!==void 0&&(f2.token=j2.token),C!=null&&(f2.apisecret=C),F.debug("Sending hangup request (handle="+d2+"):"),F.debug(f2),N?(f2.session_id=k,f2.handle_id=d2,m.send(JSON.stringify(f2))):F.httpAPICall(L+"/"+k+"/"+d2,{verb:"POST",withCredentials:X,body:f2})}K2.remoteStream=null,K2.volume&&(K2.volume.local&&K2.volume.local.timer&&clearInterval(K2.volume.local.timer),K2.volume.remote&&K2.volume.remote.timer&&clearInterval(K2.volume.remote.timer)),K2.volume={},K2.bitrate.timer&&clearInterval(K2.bitrate.timer),K2.bitrate.timer=null,K2.bitrate.bsnow=null,K2.bitrate.bsbefore=null,K2.bitrate.tsnow=null,K2.bitrate.tsbefore=null,K2.bitrate.value=null;try{if(!K2.streamExternal&&K2.myStream!==null&&K2.myStream!==void 0){F.log("Stopping local stream tracks");var a3=K2.myStream.getTracks();for(var n3 in a3){var m3=a3[n3];F.log(m3),m3!=null&&m3.stop()}}}catch(_3){}K2.streamExternal=!1,K2.myStream=null;try{K2.pc.close()}catch(_3){}K2.pc=null,K2.candidates=null,K2.mySdp=null,K2.remoteSdp=null,K2.iceDone=!1,K2.dataChannel={},K2.dtmfSender=null}j2.oncleanup()}}function At(d2){for(var O2=d2.split(`\r `),j2=!1,K2=[-1],f2=[-1],a3=null,n3=null,m3=null,_3=null,V3=-1,A3=0;A3-1){V3=A3;break}continue}if(j2){var F1=O2[A3].match(/a=ssrc-group:FID (\d+) (\d+)/);if(F1){K2[0]=F1[1],f2[0]=F1[2],O2.splice(A3,1),A3--;continue}if(K2[0]){var V1=O2[A3].match("a=ssrc:"+K2[0]+" cname:(.+)");if(V1&&(a3=V1[1]),V1=O2[A3].match("a=ssrc:"+K2[0]+" msid:(.+)"),V1&&(n3=V1[1]),V1=O2[A3].match("a=ssrc:"+K2[0]+" mslabel:(.+)"),V1&&(m3=V1[1]),V1=O2[A3].match("a=ssrc:"+K2[0]+" label:(.+)"),V1&&(_3=V1[1]),O2[A3].indexOf("a=ssrc:"+f2[0])===0){O2.splice(A3,1),A3--;continue}if(O2[A3].indexOf("a=ssrc:"+K2[0])===0){O2.splice(A3,1),A3--;continue}}if(O2[A3].length==0){O2.splice(A3,1),A3--;continue}}}if(K2[0]<0){V3=-1,j2=!1;for(var A3=0;A3-1){V3=A3;break}continue}if(j2){if(K2[0]<0){var a0=O2[A3].match(/a=ssrc:(\d+)/);if(a0){K2[0]=a0[1],O2.splice(A3,1),A3--;continue}}else{var V1=O2[A3].match("a=ssrc:"+K2[0]+" cname:(.+)");if(V1&&(a3=V1[1]),V1=O2[A3].match("a=ssrc:"+K2[0]+" msid:(.+)"),V1&&(n3=V1[1]),V1=O2[A3].match("a=ssrc:"+K2[0]+" mslabel:(.+)"),V1&&(m3=V1[1]),V1=O2[A3].match("a=ssrc:"+K2[0]+" label:(.+)"),V1&&(_3=V1[1]),O2[A3].indexOf("a=ssrc:"+f2[0])===0){O2.splice(A3,1),A3--;continue}if(O2[A3].indexOf("a=ssrc:"+K2[0])===0){O2.splice(A3,1),A3--;continue}}if(O2[A3].length==0){O2.splice(A3,1),A3--;continue}}}}if(K2[0]<0)return F.warn("Couldn't find the video SSRC, simulcasting NOT enabled"),d2;V3<0&&(V3=O2.length),K2[1]=Math.floor(Math.random()*4294967295),K2[2]=Math.floor(Math.random()*4294967295),f2[1]=Math.floor(Math.random()*4294967295),f2[2]=Math.floor(Math.random()*4294967295);for(var A3=0;A3
`,document.getElementById("mobile-ez-ptz-item")||S.appendChild(L),f(S,document.getElementById("".concat(this.jSPlugin.id,"-wrap"))),document.getElementById("mobile-ez-ptz-item").ontouchstart=function(r2){r2.preventDefault(),console.log("触摸开始"),m._handlePtzTouch(r2,"start")},document.getElementById("mobile-ez-ptz-item").ontouchend=function(r2){r2.preventDefault(),console.log("触摸结束",r2),m._handlePtzTouch(r2,"stop")},document.getElementById("mobile-ez-ptz-item").onmousedown=function(r2){r2.preventDefault(),console.log("触摸开始"),m._handlePtzTouch(r2,"start")},document.getElementById("mobile-ez-ptz-item").onmouseup=function(r2){r2.preventDefault(),console.log("触摸结束",r2),m._handlePtzTouch(r2,"stop")}}return a(R,[{key:"show",value:function(){document.getElementById("mobile-ez-ptz-item").style="display: inline-block"}},{key:"hide",value:function(){document.getElementById("mobile-ez-ptz-item").style="display: none"}},{key:"_handlePtzTouch",value:function(m,g){var S=document.getElementById("mobile-ez-ptz-item").getBoundingClientRect(),x=S.left+130,E=S.top+130,L=m.x||m.changedTouches[0].clientX,r2=m.y||m.changedTouches[0].clientY,l2=L-x,s2=r2-E,Q=0,X=this.jSPlugin.env.domain+"/api/lapp/device/ptz/start";Math.abs(l2)>Math.abs(s2)?l2>0?(Q=3,document.getElementsByClassName("mobile-ez-ptz-icon")[3].className=document.getElementsByClassName("mobile-ez-ptz-icon")[3].className.replace("default","active")):(Q=2,document.getElementsByClassName("mobile-ez-ptz-icon")[1].className=document.getElementsByClassName("mobile-ez-ptz-icon")[1].className.replace("default","active")):s2>0?(Q=1,document.getElementsByClassName("mobile-ez-ptz-icon")[2].className=document.getElementsByClassName("mobile-ez-ptz-icon")[2].className.replace("default","active")):(Q=0,document.getElementsByClassName("mobile-ez-ptz-icon")[0].className=document.getElementsByClassName("mobile-ez-ptz-icon")[0].className.replace("default","active")),document.getElementById("mobile-ez-ptz-item").style="background-image:linear-gradient(".concat(Q===0?180:Q===1?0:Q===2?90:270,"deg, #c0ddf1 0%, rgba(100,143,252,0.00) 50%)"),g==="stop"&&(X=this.jSPlugin.env.domain+"/api/lapp/device/ptz/stop",document.getElementById("mobile-ez-ptz-item").style="",document.getElementsByClassName("mobile-ez-ptz-icon")[3].className=document.getElementsByClassName("mobile-ez-ptz-icon")[3].className.replace("active","default"),document.getElementsByClassName("mobile-ez-ptz-icon")[1].className=document.getElementsByClassName("mobile-ez-ptz-icon")[1].className.replace("active","default"),document.getElementsByClassName("mobile-ez-ptz-icon")[2].className=document.getElementsByClassName("mobile-ez-ptz-icon")[2].className.replace("active","default"),document.getElementsByClassName("mobile-ez-ptz-icon")[0].className=document.getElementsByClassName("mobile-ez-ptz-icon")[0].className.replace("active","default"));var D2=new FormData;D2.append("deviceSerial",P(this.jSPlugin.url).deviceSerial),D2.append("channelNo",P(this.jSPlugin.url).channelNo),D2.append("speed",1),D2.append("direction",Q),D2.append("accessToken",this.jSPlugin.accessToken),fetch(X,{method:"POST",body:D2}).then(function(g2){return g2.json()}).then(function(g2){g2.code==200||(g2.code==60005||g2.code==60002||g2.code==60003||g2.code==60004)&&(document.getElementById("mobile-ez-ptz-item").style="background-image:linear-gradient(".concat(Q===0?180:Q===1?0:Q===2?90:270,"deg, #f45656 0%, rgba(100,143,252,0.00) 50%)"))}).catch(function(g2){console.log("云台调用异常",g2)})}}]),R}(),Y2=0,t2="成功",i2={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-0",iconId:"deviceID",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-1",iconId:"deviceName",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-2",iconId:"cloudRec",part:"right",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-3",iconId:"rec",part:"right",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"}]},footer:{color:"#FFFFFF",backgroundColor:"rgb(0 0 0 / 0%)",activeColor:"#1890FF",btnList:[{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-0",iconId:"play",part:"left",defaultActive:1,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-1",iconId:"capturePicture",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-2",iconId:"sound",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-3",iconId:"pantile",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-4",iconId:"recordvideo",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-5",iconId:"talk",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-6",iconId:"hd",part:"right",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-7",iconId:"webExpend",part:"right",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-8",iconId:"expend",part:"right",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"}]}},_2={retcode:Y2,msg:t2,data:i2},V2={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,isrender:1},{iconId:"deviceName",part:"left",defaultActive:0,isrender:1},{iconId:"cloudRec",part:"right",defaultActive:0,isrender:0},{iconId:"rec",part:"right",defaultActive:0,isrender:0}]},footer:{color:"#FFFFFF",backgroundColor:"#00000080",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:0},{iconId:"sound",part:"left",defaultActive:1,isrender:1},{iconId:"pantile",part:"left",defaultActive:0,isrender:1},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:0},{iconId:"talk",part:"left",defaultActive:0,isrender:1},{iconId:"zoom",part:"left",defaultActive:0,isrender:1},{iconId:"hd",part:"right",defaultActive:0,isrender:1},{iconId:"webExpend",part:"right",defaultActive:0,isrender:0},{iconId:"expend",part:"right",defaultActive:0,isrender:1}]}},s3={data:V2},D3={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,isrender:1},{iconId:"deviceName",part:"left",defaultActive:0,isrender:1},{iconId:"cloudRec",part:"right",defaultActive:0,isrender:1},{iconId:"rec",part:"right",defaultActive:0,isrender:1}]},footer:{color:"#FFFFFF",backgroundColor:"#00000080",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:0},{iconId:"sound",part:"left",defaultActive:1,isrender:1},{iconId:"pantile",part:"left",defaultActive:0,isrender:0},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:0},{iconId:"talk",part:"left",defaultActive:0,isrender:0},{iconId:"zoom",part:"left",defaultActive:0,isrender:1},{iconId:"speed",part:"right",defaultActive:0,isrender:1},{iconId:"hd",part:"right",defaultActive:0,isrender:0},{iconId:"webExpend",part:"right",defaultActive:0,isrender:0},{iconId:"expend",part:"right",defaultActive:0,isrender:1}]}},S3={data:D3},m1={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-0",iconId:"deviceID",part:"left",defaultActive:0,isrender:1},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-1",iconId:"deviceName",part:"left",defaultActive:0,isrender:1},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-2",iconId:"cloudRec",part:"right",defaultActive:0,isrender:0},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-3",iconId:"rec",part:"right",defaultActive:0,isrender:0}]},footer:{color:"#FFFFFF",backgroundColor:"#00000080",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:1},{iconId:"sound",part:"left",defaultActive:1,isrender:1},{iconId:"pantile",part:"left",defaultActive:0,isrender:1},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:1},{iconId:"talk",part:"left",defaultActive:0,isrender:1},{iconId:"zoom",part:"left",defaultActive:0,isrender:1},{iconId:"speed",part:"right",defaultActive:0,isrender:0},{iconId:"hd",part:"right",defaultActive:0,isrender:1},{iconId:"webExpend",part:"right",defaultActive:0,isrender:1},{iconId:"expend",part:"right",defaultActive:0,isrender:1}]}},b1={data:m1},g1={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-0",iconId:"deviceID",part:"left",defaultActive:0,isrender:1},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-1",iconId:"deviceName",part:"left",defaultActive:0,isrender:1},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-2",iconId:"cloudRec",part:"right",defaultActive:0,isrender:0},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-3",iconId:"rec",part:"right",defaultActive:0,isrender:0}]},footer:{color:"#FFFFFF",backgroundColor:"#00000080",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:1},{iconId:"talk",part:"left",defaultActive:0,isrender:1},{iconId:"sound",part:"left",defaultActive:1,isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:1},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:1},{iconId:"pantile",part:"left",defaultActive:0,isrender:0},{iconId:"zoom",part:"left",defaultActive:0,isrender:1},{iconId:"hd",part:"right",defaultActive:0,isrender:1},{iconId:"webExpend",part:"right",defaultActive:0,isrender:0},{iconId:"expend",part:"right",defaultActive:0,isrender:1}]}},a1={data:g1},n1={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,isrender:0},{iconId:"deviceName",part:"left",defaultActive:0,isrender:0},{iconId:"cloudRec",part:"right",defaultActive:0,isrender:0},{iconId:"rec",part:"right",defaultActive:0,isrender:0}]},footer:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:0},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:0},{iconId:"sound",part:"left",defaultActive:1,isrender:0},{iconId:"pantile",part:"left",defaultActive:0,isrender:0},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:0},{iconId:"talk",part:"left",defaultActive:0,isrender:0},{iconId:"zoom",part:"left",defaultActive:0,isrender:0},{iconId:"hd",part:"right",defaultActive:0,isrender:0},{iconId:"webExpend",part:"right",defaultActive:0,isrender:0},{iconId:"expend",part:"right",defaultActive:0,isrender:0}]}},C1={data:n1},H2={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,isrender:1},{iconId:"deviceName",part:"left",defaultActive:0,isrender:1},{iconId:"cloudRec",part:"right",defaultActive:0,isrender:0},{iconId:"rec",part:"right",defaultActive:0,isrender:0}]},footer:{color:"#FFFFFF",backgroundColor:"#00000080",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:0},{iconId:"talk",part:"left",defaultActive:0,isrender:1},{iconId:"sound",part:"left",defaultActive:1,isrender:1},{iconId:"pantile",part:"left",defaultActive:0,isrender:0},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:0},{iconId:"hd",part:"right",defaultActive:0,isrender:0},{iconId:"zoom",part:"left",defaultActive:0,isrender:0},{iconId:"webExpend",part:"right",defaultActive:0,isrender:0},{iconId:"expend",part:"right",defaultActive:0,isrender:1}]}},j3={data:H2},s1={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,isrender:1},{iconId:"deviceName",part:"left",defaultActive:0,isrender:1},{iconId:"cloudRec",part:"right",defaultActive:0,isrender:1},{iconId:"rec",part:"right",defaultActive:0,isrender:1}]},footer:{color:"#FFFFFF",backgroundColor:"#00000080",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:1},{iconId:"sound",part:"left",defaultActive:1,isrender:1},{iconId:"pantile",part:"left",defaultActive:0,isrender:0},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:1},{iconId:"zoom",part:"left",defaultActive:0,isrender:1},{iconId:"speed",part:"right",defaultActive:0,isrender:1},{iconId:"hd",part:"right",defaultActive:0,isrender:0},{iconId:"webExpend",part:"right",defaultActive:0,isrender:1},{iconId:"expend",part:"right",defaultActive:0,isrender:1}]}},E1={data:s1},U2=[{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"pcLive",themeIntro:"PC直播全量版",themeName:"PC直播全量版",themeType:"webLive",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_DmANlElAAA-xyivSaw030.png",poster:"https://resource.eziot.com/group1/M00/00/89/CtwQEmLl8r-AZU7wAAETKlvgerU237.png",header:b1.data.header,footer:b1.data.footer},{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"security",themeIntro:"PC直播安防版",themeName:"PC直播安防版",themeType:"webLive",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_DmANlElAAA-xyivSaw030.png",poster:"https://resource.eziot.com/group1/M00/00/89/CtwQEmLl8r-AZU7wAAETKlvgerU237.png",header:a1.data.header,footer:a1.data.footer},{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"voice",themeIntro:"PC直播语音版",themeName:"PC直播语音版",themeType:"webLive",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_DmANlElAAA-xyivSaw030.png",poster:"https://resource.eziot.com/group1/M00/00/89/CtwQEmLl8r-AZU7wAAETKlvgerU237.png",header:j3.data.header,footer:j3.data.footer},{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"simple",themeIntro:"PC直播极简版",themeName:"PC直播极简版",themeType:"webLive",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_DmANlElAAA-xyivSaw030.png",poster:"",header:C1.data.header,footer:C1.data.footer},{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"pcRec",themeIntro:"PC回放全量版",themeName:"PC回放全量版",themeType:"webRec",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_DmANlElAAA-xyivSaw030.png",poster:"https://resource.eziot.com/group1/M00/00/89/CtwQEmLl8r-AZU7wAAETKlvgerU237.png",header:E1.data.header,footer:E1.data.footer},{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"mobileLive",themeIntro:"Mobile直播全量版",themeName:"Mobile直播全量版",themeType:"mobileLive",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_GmAL5IhAABZs1vUK0s564.png",poster:"https://resource.eziot.com/group1/M00/00/89/CtwQEmLl8r-AZU7wAAETKlvgerU237.png",header:s3.data.header,footer:s3.data.footer},{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"mobileRec",themeIntro:"Mobile回放全量版",themeName:"Mobile回放全量版",themeType:"mobileRec",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_GmAL5IhAABZs1vUK0s564.png",poster:"https://resource.eziot.com/group1/M00/00/89/CtwQEmLl8r-AZU7wAAETKlvgerU237.png",header:S3.data.header,footer:S3.data.footer}],q3=function(){function R(N){var m=this;i(this,R),this.jSPlugin=N,this.enableZoom=!1,this.isMouseDown=!1,this.videoWidth=1920,this.videoHeight=1080,this.currentScale=1,this.currentPosition={x:0,y:0,xPercent:.1,yPercent:.1,xCurrentVideo:0,yCurrentVideo:0,left:0,top:0,right:1920,bottom:1080},this.DOM=document.getElementById(N.id),this.clientRect=document.getElementById(N.id).getBoundingClientRect();var g=document.createElement("div");g.id="".concat(N.id,"-zoom-container"),g.style=`position: absolute; display:none; left: 12px; bottom: 80px;`;var S=`
2.0X
放大
缩小
`);g.innerHTML=S,document.getElementById("".concat(N.id,"-audioControls-left")).parentNode.appendChild(g),document.getElementById("".concat(N.id,"-addScale")).onclick=function(){m.addScale()},document.getElementById("".concat(N.id,"-subScale")).onclick=function(){m.subScale()}}return a(R,[{key:"onMouseDown",value:function(m){this.currentPosition,this.currentScale;var g=this.enableZoom;if(!g)return!1;this.moveX=m.clientX,this.moveY=m.clientY,this.isMouseDown=!0}},{key:"onMouseUp",value:function(m){var g=this.currentPosition,S=this.enableZoom;if(!S)return!1;this.isMouseDown=!1,g.left=g.left-(m.clientX-this.moveX),g.top=g.top-(m.clientY-this.moveY),this.doScale()}},{key:"onMouseOut",value:function(m){var g=this.enableZoom;if(!g)return!1;this.isMouseDown&&(console.log("鼠标按上",m),this.isMouseDown=!1),this.isMouseDown=!1}},{key:"renderDot",value:function(){var m=this.currentScale;document.getElementById("".concat(this.jSPlugin.id,"-scale-value")).innerHTML="".concat(m,".0X"),document.getElementById("".concat(this.jSPlugin.id,"-line-dot")).style.height="".concat((m-1)/7*100,"%"),document.getElementById("".concat(this.jSPlugin.id,"-scale-body-line-dot")).style.bottom="calc(".concat((m-1)/7*100,"% - 6px)")}},{key:"startZoom",value:function(){var m=this,g=this.jSPlugin.jSPlugin._JSPlayM4_GetFrameInfo(0);this.videoWidth=g.width,this.videoHeight=g.height,this.currentPosition.right=g.width,this.currentPosition.bottom=g.height,this.currentScale=1,document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).style.display="block",this.jSPlugin.jSPlugin._JSPlayM4_SetDisplayRegion(0,this.videoWidth,0,this.videoHeight),this.renderDot(),this.enableZoom=!0,document.getElementById("".concat(this.jSPlugin.id,"canvas_draw0"))?(document.getElementById("".concat(this.jSPlugin.id,"canvas_draw0")).addEventListener("mousedown",function(S){return m.onMouseDown(S)}),document.getElementById("".concat(this.jSPlugin.id,"canvas_draw0")).addEventListener("mouseup",function(S){return m.onMouseUp(S)}),document.getElementById("".concat(this.jSPlugin.id,"canvas_draw0")).addEventListener("mouseout",function(S){return m.onMouseOut(S)})):document.getElementById("".concat(this.jSPlugin.id,"-player"))&&(document.getElementById("".concat(this.jSPlugin.id,"-player")).addEventListener("mousedown",function(S){return m.onMouseDown(S)}),document.getElementById("".concat(this.jSPlugin.id,"-player")).addEventListener("mouseup",function(S){return m.onMouseUp(S)}),document.getElementById("".concat(this.jSPlugin.id,"-player")).addEventListener("mouseout",function(S){return m.onMouseOut(S)}))}},{key:"stopZoom",value:function(){var m=this;this.currentScale=1,this.jSPlugin.jSPlugin._JSPlayM4_SetDisplayRegion(0,this.videoWidth,0,this.videoHeight),document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).style.display="none",this.renderDot(),this.enableZoom=!1,document.getElementById(this.jSPlugin.id).removeEventListener("mousedown",function(g){return m.onMouseDown(g)}),document.getElementById(this.jSPlugin.id).removeEventListener("mouseup",function(g){return m.onMouseUp(g)}),document.getElementById(this.jSPlugin.id).removeEventListener("mouseout",function(g){return m.onMouseOut(g)})}},{key:"doScale",value:function(){console.log("执行放大");var m=this.currentPosition,g=this.currentScale;m.left=m.left+m.xPercent*(m.right-m.left)-1/2*(this.videoWidth/g),m.left<0?m.left=0:m.left>this.videoWidth-this.videoWidth/g&&(m.left=this.videoWidth-this.videoWidth/g),m.right=m.left+this.videoWidth/g,m.top=m.top+m.yPercent*(m.bottom-m.top)-1/2*(this.videoHeight/g),m.top<0?m.top=0:m.top>this.videoHeight-this.videoHeight/g&&(m.top=this.videoHeight-this.videoHeight/g),m.bottom=m.top+this.videoHeight/g,m.left=parseInt(m.left,10),m.right=parseInt(m.right,10),m.top=parseInt(m.top,10),m.bottom=parseInt(m.bottom,10),console.log("计算后,",this.jSPlugin.jSPlugin,m.left,m.right,m.top,m.bottom,m.xPercent,m.yPercent),this.jSPlugin.jSPlugin._JSPlayM4_SetDisplayRegion(m.left,m.right,m.top,m.bottom),this.renderDot()}},{key:"calCurrentPosition",value:function(m){var g=this.currentPosition,S=this.clientRect;g.x=m.clientX,g.y=m.clientY,g.xPercent=(m.clientX-S.x)/S.width,g.yPercent=(m.clientY-S.y)/S.height,this.doScale()}},{key:"addScale",value:function(){var m=this.currentScale,g=this.currentPosition;if(m>=8)return console.log("达到最大倍率了"),this.jSPlugin.Message&&this.jSPlugin.Message.default("已经放大到最大倍数8.0X"),!1;this.currentScale++,g.xPercent=.5,g.yPercent=.5,this.doScale()}},{key:"subScale",value:function(){var m=this.currentScale,g=this.currentPosition;if(m<=1)return console.log("达到最小倍率了"),!1;this.currentScale--,g.xPercent=.5,g.yPercent=.5,this.doScale()}}]),R}();function B3(R,N){return Math.abs(N.clientX-R.clientX)*Math.abs(N.clientX-R.clientX)+Math.abs(N.clientY-R.clientY)*Math.abs(N.clientY-R.clientY)}var _1=function(){function R(N){var m=this;i(this,R),this.jSPlugin=N,this.enableZoom=!1,this.isDubboTouch=!1,this.videoWidth=0,this.videoHeight=0,this.currentScale=1,this.currentPosition={x:0,y:0,xPercent:.1,yPercent:.1,xCurrentVideo:0,yCurrentVideo:0,left:0,top:0,right:1920,bottom:1080},this.DOM=document.getElementById(N.id),this.clientRect=document.getElementById(N.id).getBoundingClientRect(),this.point1={clientX:0,clientY:0},this.point2={clientX:0,clientY:0},this.touchLineLength=0,this.inited=!1;var g=document.createElement("div");g.id="".concat(N.id,"-zoom-container"),g.style=`display:none; position: absolute; left: 10px; top: -30px; border: 1px solid rgba(0,0,0,0.6); color: #FFFFFF; background: rgba(0,0,0,0.6); border-radius: 10px; width: 36px; font-size: 12px; text-align: center; height: 22px; line-height: 22px;`;var S="1X";g.innerHTML=S,document.getElementById("".concat(N.id,"-audioControls-left")).parentNode.appendChild(g),document.getElementById(this.jSPlugin.id).addEventListener("touchstart",function(x){return m.onTouchstart(x)}),document.getElementById(this.jSPlugin.id).addEventListener("touchmove",function(x){return m.onTouchmove(x)})}return a(R,[{key:"onTouchstart",value:function(m){var g=this.jSPlugin.beforeMobileZoomVerify();if(!g)return!1;if(!this.inited){var S=this.jSPlugin.jSPlugin._JSPlayM4_GetFrameInfo(0);this.videoWidth=S.width,this.videoHeight=S.height,this.currentPosition.right=S.width,this.currentPosition.bottom=S.height,this.inited=!0}var x=this.currentPosition;this.currentScale,console.log("双指按下",x);var E=m.touches,L=E[0],r2=E[1];L&&(this.point1.clientX=L.clientX,this.point1.clientY=L.clientY),r2&&(this.point2.clientX=r2.clientX,this.point2.clientY=r2.clientY,this.touchLineLength=B3(this.point1,this.point2),this.isDubboTouch=!0,this.moveX=L.clientX,this.moveY=L.clientY),console.log("双指按下2",x)}},{key:"onTouchmove",value:function(m){var g=this.isDubboTouch,S=this.currentPosition,x=this.clientRect,E=this.jSPlugin.beforeMobileZoomVerify();if(!E)return!1;if(m.touches.length===1){var r2=m.touches[0];return S.xPercent=S.xPercent+(this.point1.clientX-r2.clientX)/x.width/this.currentScale,S.yPercent=S.yPercent+(this.point1.clientY-r2.clientY)/x.height/this.currentScale,this.doScale(),this.point1.clientX=r2.clientX,this.point1.clientY=r2.clientY,!1}if(!g)return!1;var L=m.touches,r2=L[0],l2=L[1];if(r2&&(this.point1.clientX=r2.clientX,this.point1.clientY=r2.clientY),l2){this.point2.clientX=l2.clientX,this.point2.clientY=l2.clientY;var s2=B3(this.point1,this.point2);s2!==this.touchLineLength&&(s2>this.touchLineLength?this.currentScale<8?(++this.currentScale,S.xPercent=(this.point1.clientX+this.point2.clientX)/2/x.width,S.yPercent=(this.point1.clientY+this.point2.clientY)/2/x.height,this.doScale()):console.log("已经是最大8倍率了"):this.currentScale>1?(--this.currentScale,S.xPercent=(this.point1.clientX+this.point2.clientX)/2/x.width,S.yPercent=(this.point1.clientY+this.point2.clientY)/2/x.height,this.doScale()):console.log("已经是最小1倍率了"),this.isDubboTouch=!1)}}},{key:"startZoom",value:function(){var m=this.jSPlugin.jSPlugin._JSPlayM4_GetFrameInfo(0);this.videoWidth=m.width,this.videoHeight=m.height,this.currentPosition.right=m.width,this.currentPosition.bottom=m.height,this.currentScale=1,document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).style.display="block",this.jSPlugin.jSPlugin._JSPlayM4_SetDisplayRegion(0,this.videoWidth,0,this.videoHeight),this.renderDot()}},{key:"stopZoom",value:function(){this.currentScale=1,this.jSPlugin.jSPlugin._JSPlayM4_SetDisplayRegion(0,this.videoWidth,0,this.videoHeight),document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).style.display="none",this.renderDot()}},{key:"resetZoom",value:function(){this.currentScale=1,document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).style.display="none"}},{key:"doScale",value:function(){var m=this.currentPosition,g=this.currentScale;m.left=m.left+m.xPercent*(m.right-m.left)-1/2*(this.videoWidth/g),m.left<0?m.left=0:m.left>this.videoWidth-this.videoWidth/g&&(m.left=this.videoWidth-this.videoWidth/g),m.right=m.left+this.videoWidth/g,m.top=m.top+m.yPercent*(m.bottom-m.top)-1/2*(this.videoHeight/g),m.top<0?m.top=0:m.top>this.videoHeight-this.videoHeight/g&&(m.top=this.videoHeight-this.videoHeight/g),m.bottom=m.top+this.videoHeight/g,m.left=parseInt(m.left,10),m.right=parseInt(m.right,10),m.top=parseInt(m.top,10),m.bottom=parseInt(m.bottom,10),console.log("视频宽高",this.videoWidth,this.videoHeight),console.log("计算后,",m.left,m.right,m.top,m.bottom,m.xPercent,m.yPercent),m.left0&&(this.autoFocus=parseInt(this.themeData.autoFocus),this.startAutoFocus(),document.getElementById("".concat(this.jSPlugin.id,"-wrap")).addEventListener("click",function(){m.stopAutoFocus()})),this.setDecoderState({cloudRec:P(this.jSPlugin.url).type==="cloud.rec",rec:P(this.jSPlugin.url).type==="rec",type:P(this.jSPlugin.url).type});else if(!this.themeInited)var E=setInterval(function(){window.EZUIKit[m.jSPlugin.id].state.EZUIKitPlayer.init&&(clearInterval(E),m.jSPlugin.play(),m.themeInited=!0)},50);var L=H.findIndex(this.themeData.footer.btnList,function(l2){return l2.iconId==="zoom"&&l2.isrender>0})>=0;L&&(this.isMobile?(this.jSPlugin.beforeMobileZoomVerify=function(){var l2=m.decoderState.state.play;return console.log("手机端电子放大前校验回调play------------",l2),!!l2},this.jSPlugin.Zoom=new _1(this.jSPlugin)):this.jSPlugin.Zoom=new q3(this.jSPlugin));var r2=setInterval(function(){window.EZUIKit[m.jSPlugin.id].state.EZUIKitPlayer.init&&(clearInterval(r2),m.jSPlugin.reSize(m.jSPlugin.params.width,m.jSPlugin.params.height))},50)}},{key:"setDecoderState",value:function(m){var g=this,S=this.themeData,x=S.header,E=S.footer;Object.keys(m).map(function(L,r2){var l2="#FFFFFF",s2="#FFFFFF",Q=x.btnList.findIndex(function(X){return X.iconId===L});switch(Q===-1?(l2=E.color.replace("-diy",""),s2=E.activeColor.replace("-diy","")):(l2=x.color.replace("-diy",""),s2=E.activeColor.replace("-diy","")),L){case"play":m[L]?document.getElementById("".concat(g.jSPlugin.id,"-play"))&&(document.getElementById("".concat(g.jSPlugin.id,"-play-content")).children[0].children[0].style="display:inline-block",document.getElementById("".concat(g.jSPlugin.id,"-play-content")).children[0].children[1].style="display:none",document.getElementById("".concat(g.jSPlugin.id,"-play")).className=m[L]?"active":"",document.getElementById("".concat(g.jSPlugin.id,"-play-content")).childNodes[0].children[0].style.fill=m[L]?s2:l2):document.getElementById("".concat(g.jSPlugin.id,"-play"))&&(document.getElementById("".concat(g.jSPlugin.id,"-play-content")).children[0].children[1].style="display:inline-block",document.getElementById("".concat(g.jSPlugin.id,"-play-content")).children[0].children[0].style="display:none",document.getElementById("".concat(g.jSPlugin.id,"-play")).className=m[L]?"active":"",document.getElementById("".concat(g.jSPlugin.id,"-play-content")).childNodes[0].children[1].style.fill=m[L]?s2:l2);break;case"sound":document.getElementById("".concat(g.jSPlugin.id,"-sound"))&&(m[L]?(document.getElementById("".concat(g.jSPlugin.id,"-sound-content")).children[0].children[1].style="display:inline-block",document.getElementById("".concat(g.jSPlugin.id,"-sound-content")).children[0].children[0].style="display:none",document.getElementById("".concat(g.jSPlugin.id,"-sound")).className=m[L]?"active":"",document.getElementById("".concat(g.jSPlugin.id,"-sound-content")).childNodes[0].children[1].style.fill=m[L]?s2:l2):(document.getElementById("".concat(g.jSPlugin.id,"-sound-content")).children[0].children[0].style="display:inline-block",document.getElementById("".concat(g.jSPlugin.id,"-sound-content")).children[0].children[1].style="display:none",document.getElementById("".concat(g.jSPlugin.id,"-sound")).className=m[L]?"active":"",document.getElementById("".concat(g.jSPlugin.id,"-sound-content")).childNodes[0].children[0].style.fill=m[L]?s2:l2));break;case"recordvideo":document.getElementById("".concat(g.jSPlugin.id,"-recordvideo"))&&(document.getElementById("".concat(g.jSPlugin.id,"-recordvideo")).className=m[L]?"active":"",document.getElementById("".concat(g.jSPlugin.id,"-recordvideo-content")).childNodes[0].style.fill=m[L]?s2:l2,m[L]?g.countTime("add",0):g.countTime("destroy",0));break;case"talk":document.getElementById("".concat(g.jSPlugin.id,"-talk"))&&(document.getElementById("".concat(g.jSPlugin.id,"-talk")).className=m[L]?"active":"",document.getElementById("".concat(g.jSPlugin.id,"-talk-content")).childNodes[1].style.fill=m[L]?s2:l2);break;case"zoom":document.getElementById("".concat(g.jSPlugin.id,"-zoom"))&&(document.getElementById("".concat(g.jSPlugin.id,"-zoom")).className=m[L]?"active":"",document.getElementById("".concat(g.jSPlugin.id,"-zoom-content")).childNodes[1].style.fill=m[L]?s2:l2);break;case"pantile":document.getElementById("".concat(g.jSPlugin.id,"-pantile"))&&(document.getElementById("".concat(g.jSPlugin.id,"-pantile")).className=m[L]?"active":"",document.getElementById("".concat(g.jSPlugin.id,"-pantile-content")).childNodes[0].style.fill=m[L]?s2:l2);break;case"webExpend":m[L]?(document.getElementById("".concat(g.jSPlugin.id,"-webExpend"))&&(document.getElementById("".concat(g.jSPlugin.id,"-webExpend-content")).children[0].children[1].style="display:inline-block",document.getElementById("".concat(g.jSPlugin.id,"-webExpend-content")).children[0].children[0].style="display:none"),document.getElementById("".concat(g.jSPlugin.id,"-expend"))&&(document.getElementById("".concat(g.jSPlugin.id,"-expend")).className="disabled")):(document.getElementById("".concat(g.jSPlugin.id,"-webExpend"))&&(document.getElementById("".concat(g.jSPlugin.id,"-webExpend-content")).children[0].children[0].style="display:inline-block",document.getElementById("".concat(g.jSPlugin.id,"-webExpend-content")).children[0].children[1].style="display:none"),document.getElementById("".concat(g.jSPlugin.id,"-expend"))&&(document.getElementById("".concat(g.jSPlugin.id,"-expend")).className="")),document.getElementById("".concat(g.jSPlugin.id,"-webExpend"))&&(document.getElementById("".concat(g.jSPlugin.id,"-webExpend")).className=m[L]?"active":"",document.getElementById("".concat(g.jSPlugin.id,"-webExpend-content")).childNodes[0].childNodes[0].style.fill=m[L]?s2:l2,document.getElementById("".concat(g.jSPlugin.id,"-webExpend-content")).childNodes[0].childNodes[1].style.fill=m[L]?s2:l2);break;case"capturePicture":document.getElementById("".concat(g.jSPlugin.id,"-capturePicture"))&&(document.getElementById("".concat(g.jSPlugin.id,"-capturePicture")).className=m[L]?"active":"",document.getElementById("".concat(g.jSPlugin.id,"-capturePicture-content")).childNodes[0].style.fill=m[L]?s2:l2);break;case"expend":m[L]?(document.getElementById("".concat(g.jSPlugin.id,"-expend"))&&(document.getElementById("".concat(g.jSPlugin.id,"-expend-content")).children[0].children[1].style="display:inline-block",document.getElementById("".concat(g.jSPlugin.id,"-expend-content")).children[0].children[0].style="display:none"),document.getElementById("".concat(g.jSPlugin.id,"-webExpend"))&&(document.getElementById("".concat(g.jSPlugin.id,"-webExpend")).className="disabled")):(document.getElementById("".concat(g.jSPlugin.id,"-expend"))&&(document.getElementById("".concat(g.jSPlugin.id,"-expend-content")).children[0].children[0].style="display:inline-block",document.getElementById("".concat(g.jSPlugin.id,"-expend-content")).children[0].children[1].style="display:none"),document.getElementById("".concat(g.jSPlugin.id,"-webExpend"))&&(document.getElementById("".concat(g.jSPlugin.id,"-webExpend")).className="")),document.getElementById("".concat(g.jSPlugin.id,"-expend"))&&(document.getElementById("".concat(g.jSPlugin.id,"-expend")).className=m[L]?"active":"",document.getElementById("".concat(g.jSPlugin.id,"-expend-content")).childNodes[0].childNodes[0].style.fill=m[L]?s2:l2,document.getElementById("".concat(g.jSPlugin.id,"-expend-content")).childNodes[0].childNodes[1].style.fill=m[L]?s2:l2);break;case"hd":m[L]?document.getElementById("".concat(g.jSPlugin.id,"-hd"))&&(document.getElementById("".concat(g.jSPlugin.id,"-hd-content")).children[1].children[0].style="display:block",document.getElementById("".concat(g.jSPlugin.id,"-hd-content")).children[1].children[1].style="display:none"):document.getElementById("".concat(g.jSPlugin.id,"-hd"))&&(document.getElementById("".concat(g.jSPlugin.id,"-hd-content")).children[1].children[1].style="display:block",document.getElementById("".concat(g.jSPlugin.id,"-hd-content")).children[1].children[0].style="display:none");break;case"speed":document.getElementById("".concat(g.jSPlugin.id,"-speed"))&&(document.getElementById("".concat(g.jSPlugin.id,"-speed-content")).children[1].children[0].style.color=m[L]?s2:l2,document.getElementById("".concat(g.jSPlugin.id,"-speed-content")).children[1].children[0].style.borderColor=m[L]?s2:l2),document.getElementById("".concat(g.jSPlugin.id,"-select-mask"))&&(g.isMobile&&m[L]?document.getElementById("".concat(g.jSPlugin.id,"-select-mask")).style.display="block":document.getElementById("".concat(g.jSPlugin.id,"-select-mask")).style.display="none");break;case"cloudRec":document.getElementById("".concat(g.jSPlugin.id,"-cloudRec"))&&(console.log("document.getElementById(`${this.jSPlugin.id}-cloudRec-content`)",document.getElementById("".concat(g.jSPlugin.id,"-cloudRec"))),document.getElementById("".concat(g.jSPlugin.id,"-cloudRec")).className=m[L]?"active":"",document.getElementById("".concat(g.jSPlugin.id,"-cloudRec-content")).children[0].children[0].style.fill=m[L]?s2:l2),document.getElementById("".concat(g.jSPlugin.id,"-rec"))&&(document.getElementById("".concat(g.jSPlugin.id,"-rec")).className=m[L]?"active":"",document.getElementById("".concat(g.jSPlugin.id,"-rec-content")).children[0].children[0].style.fill=m[L]?l2:s2);break;case"rec":document.getElementById("".concat(g.jSPlugin.id,"-cloudRec"))&&(document.getElementById("".concat(g.jSPlugin.id,"-cloudRec")).className=m[L]?"active":"",document.getElementById("".concat(g.jSPlugin.id,"-cloudRec-content")).children[0].children[0].style.fill=m[L]?l2:s2),document.getElementById("".concat(g.jSPlugin.id,"-rec"))&&(document.getElementById("".concat(g.jSPlugin.id,"-rec")).className=m[L]?"active":"",document.getElementById("".concat(g.jSPlugin.id,"-rec-content")).children[0].children[0].style.fill=m[L]?s2:l2);break}g.decoderState.state=Object.assign(g.decoderState.state,m)})}},{key:"startAutoFocus",value:function(){var m=this,g=this.autoFocus;this.autoFocusTimer&&clearTimeout(this.autoFocusTimer),this.autoFocusTimer=setTimeout(function(){document.getElementById("".concat(m.jSPlugin.id,"-audioControls"))&&(document.getElementById("".concat(m.jSPlugin.id,"-audioControls")).style.opacity=0,document.getElementById("".concat(m.jSPlugin.id,"-audioControls")).style.pointerEvents="none")},g*1e3)}},{key:"stopAutoFocus",value:function(){document.getElementById("".concat(this.jSPlugin.id,"-audioControls"))&&(document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).style.opacity=1,document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).style.pointerEvents="all"),this.autoFocusTimer&&clearTimeout(this.autoFocusTimer),this.startAutoFocus()}},{key:"toString",value:function(){return"".concat(this.coreX,"-").concat(this.coreY)}},{key:"renderFooter",value:function(m,g){var S=this,x=this.matchBtn(m);if(this.isMobile&&x.id==="zoom")return!1;var E=document.createElement("div");E.className="theme-icon-item",E.innerHTML="".concat('')+'
')).concat(x.domString,"
")+"
",E.onclick=function(s2){if(S.decoderState.state.isEditing)return!1;x.onclick(s2)},x.onmouseenter&&(E.onmouseenter=function(s2){if(S.decoderState.state.isEditing)return!1;x.onmouseenter(s2)}),x.onmouseleave&&(E.onmouseleave=function(s2){if(S.decoderState.state.isEditing)return!1;x.onmouseleave(s2)});var L=document.createElement("span");L.className="icon-move left",L.innerHTML=''),L.onclick=function(){S.editIcon(x.id,"left","footer")},E.appendChild(L);var r2=document.createElement("span");r2.className="icon-move right",r2.innerHTML=''),r2.onclick=function(){S.editIcon(x.id,"right","footer")},E.appendChild(r2);var l2=document.createElement("span");l2.className="icon-move close",l2.innerHTML='')+'',l2.onclick=function(){S.editIcon(x.id,"delete","footer")},E.appendChild(l2),g==="left"?document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).childNodes[0].appendChild(E):document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).childNodes[1].appendChild(E)}},{key:"editIcon",value:function(m,g,S){console.log("编辑组件",m,g,S);var x=this.themeData;console.log("themeData",this.themeData);var E=this.themeData[S].btnList,L=H.findIndex(E,function(D2){return D2.iconId===m}),r2=E[L];switch(g){case"delete":if(m==="rec"){if(H.findIndex(E,function(D2){return D2.iconId==="cloudRec"&&D2.isrender==1})===-1)return this.jSPlugin.Message&&this.jSPlugin.Message.default("必须选中一种存储介质"),!1}else if(m==="cloudRec"&&H.findIndex(E,function(D2){return D2.iconId==="rec"&&D2.isrender==1})===-1)return this.jSPlugin.Message&&this.jSPlugin.Message.default("必须选中一种存储介质"),!1;E[L].isrender=0;break;case"right":for(var l2=-1,s2=L+1;s2=0;X--)if(E[X].part===E[L].part&&E[X].isrender==1){Q=X;break}Q!==-1&&(E[L]=E[Q],E[Q]=r2);break}console.log("new btnList",E),x[S].btnList=E,this.changeTheme(x)}},{key:"renderHeader",value:function(m,g){var S=this,x=this.matchBtn(m),E=document.createElement("div");E.className="theme-icon-item",E.style="max-width:50%;",E.innerHTML="".concat('')+'')).concat(x.domString,"")+'',E.onclick=function(r2){if(S.decoderState.state.isEditing)return!1;x.onclick(r2)};var L=document.createElement("span");L.className="icon-move close",L.innerHTML='')+'',L.onclick=function(){S.editIcon(x.id,"delete","header")},E.appendChild(L),g==="left"?document.getElementById("".concat(this.jSPlugin.id,"-headControl")).childNodes[0].appendChild(E):document.getElementById("".concat(this.jSPlugin.id,"-headControl")).childNodes[1].appendChild(E)}},{key:"countTime",value:function(m){var g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,S=this;if(!document.getElementById(this.jSPlugin.id+"time-area")){var x=document.createElement("div");x.id=this.jSPlugin.id+"time-area",x.className="time-area",x.innerHTML='00:00',document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container"))&&document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container")).appendChild(x)}if(this.countTimer&&clearInterval(this.countTimer),m==="add"){var E=g;document.getElementById(S.jSPlugin.id+"time-area").style.display="flex",this.countTimer=setInterval(function(){++E,document.getElementById(S.jSPlugin.id+"time-area").children[1].innerHTML=L(E)},1e3)}else m==="destroy"&&(this.countTimer&&clearInterval(this.countTimer),this.countTimer=void 0,document.getElementById(S.jSPlugin.id+"time-area")&&(document.getElementById(S.jSPlugin.id+"time-area").children[1].innerHTML="00:00",document.getElementById(S.jSPlugin.id+"time-area").style.display="none"));function L(r2){var l2=parseInt(r2),s2=0,Q=0,X="00",D2="00",g2="00";return l2>59&&(s2=parseInt(l2/60),l2=parseInt(l2%60),s2>59&&(Q=parseInt(s2/60),s2=parseInt(s2%60))),X=parseInt(l2)>9?parseInt(l2):"0"+parseInt(l2),D2=parseInt(s2)>9?parseInt(s2):"0"+parseInt(s2),g2=parseInt(Q)>9?parseInt(Q):"0"+parseInt(Q),Q>0?g2+":"+D2+":"+X:s2>0?D2+":"+X:"00:"+X}}},{key:"setDisabled",value:function(m){var g=this.decoderState.state,S=g.sound,x=g.hd;document.getElementById(S?"".concat(this.jSPlugin.id,"-sound-icon"):"".concat(this.jSPlugin.id,"-nosound-icon"))!=null&&document.getElementById(S?"".concat(this.jSPlugin.id,"-sound-icon"):"".concat(this.jSPlugin.id,"-nosound-icon")).setAttribute("style",m?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById("".concat(this.jSPlugin.id,"-recordvideo-icon"))!=null&&document.getElementById("".concat(this.jSPlugin.id,"-recordvideo-icon")).setAttribute("style",m?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById("".concat(this.jSPlugin.id,"-capturePicture-icon"))!=null&&document.getElementById("".concat(this.jSPlugin.id,"-capturePicture-icon")).setAttribute("style",m?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById("".concat(this.jSPlugin.id,"-talk-icon"))!=null&&document.getElementById("".concat(this.jSPlugin.id,"-talk-icon")).setAttribute("style",m?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById("".concat(this.jSPlugin.id,"-zoom-icon"))!=null&&document.getElementById("".concat(this.jSPlugin.id,"-zoom-icon")).setAttribute("style",m?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById("".concat(this.jSPlugin.id,"-pantile-icon"))!=null&&document.getElementById("".concat(this.jSPlugin.id,"-pantile-icon")).setAttribute("style",m?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById(x?"".concat(this.jSPlugin.id,"-hdSelect-icon"):"".concat(this.jSPlugin.id,"-sdSelect-icon"))!=null&&document.getElementById(x?"".concat(this.jSPlugin.id,"-hdSelect-icon"):"".concat(this.jSPlugin.id,"-sdSelect-icon")).setAttribute("style",m?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById("".concat(this.jSPlugin.id,"-speed-text"))!=null&&document.getElementById("".concat(this.jSPlugin.id,"-speed-text")).setAttribute("style",document.getElementById("".concat(this.jSPlugin.id,"-speed-text")).getAttribute("style")+";"+(m?"cursor: not-allowed;color: gray;border-color: gray;":"cursor: default;color: #ffffff;border-color: #ffffff;"))}},{key:"matchBtn",value:function(m){var g=this,S=this.themeData,x=S.header,E=S.footer,L={title:"",id:"",domString:"",color:"#FFFFFF",activeColor:"#FFFFFF",onclick:function(){},onmoveleft:function(){},onmoveright:function(){},onremove:function(){}},r2=x.btnList.findIndex(function(l2){return l2.iconId===m});switch(r2===-1?(L.color=E.color,L.backgroundColor=E.backgroundColor,L.activeColor=E.activeColor):(L.color=x.color,L.backgroundColor=x.backgroundColor,L.activeColor=x.activeColor),m){case"play":return L.title="播放/结束播放",L.id=m,L.domString='
'+'`)+'')+'
',L.onclick=function(){var l2=g.decoderState.state,s2=l2.play,Q=l2.isEditing,X=l2.rec,D2=l2.cloudRec,g2=l2.recordvideo;if(Q)return!1;s2?(X||D2?g.jSPlugin.pause():g.jSPlugin.stop(),g2&&g.setDecoderState({recordvideo:!1}),g.jSPlugin.Zoom.stopZoom()):(X||D2?g.jSPlugin.resume():g.jSPlugin.play(),g.resetMobileZoomStatus()),g.setDecoderState({zoom:!1,play:!s2}),g.setDisabled(s2)},L;case"sound":return L.title="声音",L.id=m,L.domString=''+'`)+' `)+"",L.onclick=function(){var l2=g.decoderState.state,s2=l2.play,Q=l2.sound,X=l2.talk;s2&&(Q?(g.jSPlugin.closeSound(),g.setDecoderState({sound:!1})):X||(g.jSPlugin.openSound(),g.setDecoderState({sound:!0})))},L;case"recordvideo":return L.title="录屏",L.id=m,L.domString='')+'',L.onclick=function(){var l2=g.decoderState.state,s2=l2.play,Q=l2.recordvideo;s2&&(Q?(g.jSPlugin.stopSave(),g.setDecoderState({recordvideo:!1})):(g.jSPlugin.startSave("".concat(new Date().getTime())),g.setDecoderState({recordvideo:!0})))},L;case"capturePicture":return L.title="截图",L.id=m,L.domString='')+'',L.onclick=function(){var l2=g.decoderState.state.play;l2?g.jSPlugin.capturePicture("".concat(new Date().getTime())):console.log("视频未播放,无法截图")},L;case"talk":return L.title="对讲",L.id=m,L.domString="
"+'')+'',L.onclick=function(){var l2=g.decoderState.state,s2=l2.talk,Q=l2.sound,X=l2.play;if(X)if(s2){console.log("结束对讲"),g.setDecoderState({talk:!1}),g.jSPlugin.Talk.stopTalk();var D2=H.findIndex(g.themeData.footer.btnList,function(g2){return g2.iconId==="sound"&&g2.isrender===1&&g2.defaultActive===1})>-1;g.themeData&&D2&&(g.jSPlugin.openSound(),g.setDecoderState({sound:!0}))}else console.log("开始对讲"),g.setDecoderState({talk:!0}),Q&&(g.jSPlugin.closeSound(),g.setDecoderState({sound:!1})),g.jSPlugin.Talk.startTalk()},L;case"zoom":return L.title="电子放大",L.id=m,L.domString="
"+' `),L.onclick=function(){var l2=g.decoderState.state,s2=l2.zoom,Q=l2.play;if(!Q)return!1;s2?(console.log("结束电子放大"),g.setDecoderState({zoom:!1}),g.jSPlugin.Zoom.stopZoom()):(console.log("开始电子放大"),g.jSPlugin.Zoom.startZoom(),g.setDecoderState({zoom:!0}))},L;case"pantile":return L.title="云台控制",L.id=m,L.domString='')+'',L.onclick=function(){var l2=g.decoderState.state,s2=l2.play,Q=l2.pantile,X=l2.expend;if(s2)if(Q)console.log("隐藏云台"),g.Ptz.hide(),g.setDecoderState({pantile:!1});else{if(console.log("显示云台"),g.isMobile&&!X)return console.log("移动端,非全屏状态不展示云台"),!1;g.Ptz.show(),g.setDecoderState({pantile:!0})}},L;case"expend":return L.title="全局全屏",L.id=m,L.domString='')+''+' `),L.onclick=function(){var l2=g.decoderState.state,s2=l2.webExpend,Q=l2.expend;l2.play;var X=l2.pantile;if(s2)return console.log("正在网站全屏"),!1;if(Q)if(g.isMobile){var D2=parseInt(getComputedStyle(document.getElementById("".concat(g.jSPlugin.id,"-wrap"))).height,10)-parseInt(getComputedStyle(document.getElementById(g.jSPlugin.id)).height,10);document.getElementById("".concat(g.jSPlugin.id,"-ez-iframe-footer-container"))&&(document.getElementById("".concat(g.jSPlugin.id,"-ez-iframe-footer-container")).style.marginTop="-32px"),document.getElementById("".concat(g.jSPlugin.id,"-headControl"))&&(document.getElementById("".concat(g.jSPlugin.id,"-headControl")).style.position="relative"),y(document.getElementById("".concat(g.jSPlugin.id,"-wrap")),g.jSPlugin.width,g.jSPlugin.height+D2),g.jSPlugin.jSPlugin.JS_Resize(g.jSPlugin.width,g.jSPlugin.height),X&&(g.Ptz.hide(),g.setDecoderState({pantile:!1}))}else{console.log("取消全局全屏");var Y=U();Y.then(function(B){console.log("取消全屏",B,g.jSPlugin),g.jSPlugin.jSPlugin.JS_Resize(g.jSPlugin.width,g.jSPlugin.height)})}else if(console.log("执行全局全屏"),g.isMobile){var D2=parseInt(getComputedStyle(document.getElementById("".concat(g.jSPlugin.id,"-wrap"))).height,10)-parseInt(getComputedStyle(document.getElementById(g.jSPlugin.id)).height,10);_(document.getElementById("".concat(g.jSPlugin.id,"-wrap"))),setTimeout(function(){var B=document.documentElement.clientWidth,A=document.documentElement.clientHeight;document.getElementById("".concat(g.jSPlugin.id)).style["backface-visibility"]="hidden",g.jSPlugin.jSPlugin.JS_Resize(A,B-D2)},100)}else{var g2=window.screen.width,C=window.screen.height,I=b(document.getElementById("".concat(g.jSPlugin.id)));I.then(function(B){g.jSPlugin.jSPlugin.JS_Resize(g2,C)}).catch(function(B){console.log(B)})}g.setDecoderState({expend:!Q})},L;case"webExpend":return L.title="网页全屏",L.id=m,L.domString='')+''+'",L.onclick=function(){var l2=g.decoderState.state,s2=l2.webExpend,Q=l2.expend;if(l2.play,Q)return console.log("正在全局全屏"),!1;if(g.jSPlugin.recTimer&&clearInterval(g.jSPlugin.recTimer),s2){console.log("取消网页全屏");var B=U();B.then(function(A){g.jSPlugin.jSPlugin.JS_Resize(g.jSPlugin.width,g.jSPlugin.height),g.jSPlugin.Theme.Rec&&g.jSPlugin.Theme.Rec.recAutoSize()})}else{console.log("执行网页全屏");var X=0,D2=0,g2=g;["fullscreenchange","webkitfullscreenchange","mozfullscreenchange"].forEach(function(A){window.addEventListener(A,function(V){var M2=document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen;return M2?document.getElementById("".concat(g2.jSPlugin.id,"-loading-item-0"))&&(document.getElementById("".concat(g2.jSPlugin.id,"-loading-item-0")).style.height=window.screen.height-parseInt(window.getComputedStyle(document.getElementById("".concat(g2.jSPlugin.id,"-headControl"))).height,10)+"px"):document.getElementById("".concat(g2.jSPlugin.id,"-loading-item-0"))&&(document.getElementById("".concat(g2.jSPlugin.id,"-loading-item-0")).style.height=g2.jSPlugin.height+parseInt(window.getComputedStyle(document.getElementById("".concat(g2.jSPlugin.id,"-headControl"))).height,10)+"px"),M2})});var C=window.screen.width,I=window.screen.height,Y=b(document.getElementById("".concat(g.jSPlugin.id,"-wrap")));Y.then(function(A){document.getElementById("".concat(g.jSPlugin.id,"-canvas-container"))&&(X=parseInt(window.getComputedStyle(document.getElementById("".concat(g.jSPlugin.id,"-canvas-container"))).height,10)),document.getElementById("".concat(g.jSPlugin.id,"-headControl"))&&(D2=parseInt(window.getComputedStyle(document.getElementById("".concat(g.jSPlugin.id,"-headControl"))).height,10)),g.jSPlugin.jSPlugin.JS_Resize(C,I-X-D2),g.jSPlugin.Theme.Rec&&g.jSPlugin.Theme.Rec.recAutoSize()}).catch(function(A){console.log(A)})}g.setDecoderState({webExpend:!s2})},L;case"hd":return L.title="画面清晰度",L.id=m,L.domString='"+'')+''+' `)+`')+"",L.onclick=function(l2){var s2=g.decoderState.state,Q=s2.hd,X=s2.expend,D2=s2.recordvideo,g2=s2.play;g2&&(Q&&l2.target.id==="".concat(g.jSPlugin.id,"-select-sd")?(console.log("切换到标清"),g.jSPlugin.changeVideoLevel(0),g.setDecoderState({hd:!1}),g.resetMobileZoomStatus(),D2&&g.setDecoderState({recordvideo:!1}),g.setDecoderState({zoom:!1}),g.jSPlugin.Zoom.stopZoom()):!Q&&l2.target.id==="".concat(g.jSPlugin.id,"-select-hd")&&(g.jSPlugin.changeVideoLevel(1),g.setDecoderState({hd:!0}),g.resetMobileZoomStatus(),D2&&g.setDecoderState({recordvideo:!1}),g.setDecoderState({zoom:!1}),g.jSPlugin.Zoom.stopZoom()),g.showHD=!g.showHD,document.getElementById("".concat(g.jSPlugin.id,"-hdSelect"))&&(document.getElementById("".concat(g.jSPlugin.id,"-hdSelect")).style.display=document.getElementById("".concat(g.jSPlugin.id,"-hdSelect")).style.display==="none"?"block":"none",g.isMobile&&(document.getElementById("".concat(g.jSPlugin.id,"-select-hd-mask")).style.display=document.getElementById("".concat(g.jSPlugin.id,"-select-hd-mask")).style.display==="none"?"block":"none")),g.isMobile&&X&&g.showHD?document.getElementById("".concat(g.jSPlugin.id,"-hdSelect")).className="hd speed-select mobile expend":document.getElementById("".concat(g.jSPlugin.id,"-hdSelect")).className=g.isMobile?"hd speed-select mobile":"speed-select")},L;case"speed":return L.title="回放倍速",L.id=m,L.domString='"+`
`).concat(this.nextRate===1?"倍速":"".concat(this.nextRate,"倍").replace("3","0.5"),`
`)+`')+"
",this.isMobile||(L.onmouseenter=function(l2){var s2=g.decoderState.state.play;if(!s2)return!1;console.log("鼠标移入",l2),g.setDecoderState({speed:!0}),document.getElementById("".concat(g.jSPlugin.id,"-speedSelect"))&&(document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).style.display="block")},L.onmouseleave=function(l2){var s2=g.decoderState.state.play;if(!s2)return!1;console.log("鼠标移出",l2),g.setDecoderState({speed:!1}),document.getElementById("".concat(g.jSPlugin.id,"-speedSelect"))&&(document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).style.display="none")}),L.onclick=function(l2){var s2=g.decoderState.state,Q=s2.speed,X=s2.expend,D2=s2.play;if(!D2)return!1;if(!Q&&g.isMobile&&(document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).className=X?"speed speed-select mobile expend":"speed speed-select mobile"),g.nextRate=1,l2.target.id)switch(l2.target.id){case"".concat(g.jSPlugin.id,"-select-speed1"):console.log("倍速1"),g.nextRate=1,g.jSPlugin.jSPlugin.JS_Speed(g.nextRate),g.changeRecSpeed(1),g.jSPlugin.speed=1,g.setDecoderState({speed:!Q});break;case"".concat(g.jSPlugin.id,"-select-speed2"):console.log("倍速2"),g.nextRate=2,g.jSPlugin.jSPlugin.JS_Speed(g.nextRate),g.changeRecSpeed(2),g.jSPlugin.speed=2,g.setDecoderState({speed:!Q});break;case"".concat(g.jSPlugin.id,"-select-speed4"):console.log("倍速4"),g.nextRate=4,g.jSPlugin.jSPlugin.JS_Speed(g.nextRate),g.changeRecSpeed(4),g.jSPlugin.speed=4,g.setDecoderState({speed:!Q});break;case"".concat(g.jSPlugin.id,"-select-speed05"):console.log("倍速05"),g.nextRate=3,g.jSPlugin.jSPlugin.JS_Speed(g.nextRate),g.changeRecSpeed(.5),g.jSPlugin.speed=.5,g.setDecoderState({speed:!Q});break;default:g.isMobile?g.setDecoderState({speed:!Q}):g.setDecoderState({speed:!0});break}!g.isMobile&&l2.target.id==="".concat(g.jSPlugin.id,"-speed-text")?document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).style.display="block":document.getElementById("".concat(g.jSPlugin.id,"-speedSelect"))&&(document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).style.display=document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).style.display==="none"?"block":"none")},L;case"deviceName":return L.title="设备名称",L.id=m,L.domString="设备名称",L.onclick=function(){},L;case"deviceID":return L.title="设备序列号",L.id=m,L.domString="设备序列号",L.onclick=function(){},L;case"cloudRec":return L.title="云存储回放",L.id=m,L.domString=` `),L.onclick=function(){console.log("点击云回放"),g.setDecoderState({type:"cloud.rec",cloudRec:!0,rec:!1}),g.jSPlugin.changePlayUrl({type:"cloud.rec"},function(){console.log(g.jSPlugin);var l2=h("begin",g.jSPlugin.url)||new Date().Format("yyyyMMdd");g.Rec.renderRec("".concat(l2.slice(0,4),"-").concat(l2.slice(4,6),"-").concat(l2.slice(6,8)));var s2=g.decoderState.state.zoom;s2&&(g.setDecoderState({zoom:!1}),g.jSPlugin.Zoom.stopZoom())}),console.log(g.jSPlugin)},L;case"rec":return L.title="本地存储",L.id=m,L.domString=` `),L.onclick=function(){console.log("点击本地回放"),g.setDecoderState({type:"rec",cloudRec:!1,rec:!0}),g.jSPlugin.changePlayUrl({type:"rec"},function(){console.log("---------本地回放"),console.log(g.jSPlugin);var l2=h("begin",g.jSPlugin.url)||new Date().Format("yyyyMMdd");g.Rec.renderRec("".concat(l2.slice(0,4),"-").concat(l2.slice(4,6),"-").concat(l2.slice(6,8)));var s2=g.decoderState.state.zoom;s2&&(g.setDecoderState({zoom:!1}),g.jSPlugin.Zoom.stopZoom())}),console.log(g.jSPlugin)},L;default:return L}}},{key:"changeRecSpeed",value:function(m){var g=this,S=function(L){if(console.log("setLiActive",L),!document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")))return!1;document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).childNodes[0].className=document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).childNodes[0].className.replace("active","default"),document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).childNodes[1].className=document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).childNodes[1].className.replace("active","default"),document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).childNodes[2].className=document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).childNodes[2].className.replace("active","default"),document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).childNodes[3].className=document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).childNodes[3].className.replace("active","default"),document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).childNodes[L].className=document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).childNodes[L].className.replace("default","active")},x="1";switch(m){case 1:S(2),x="倍速";break;case 2:S(1),x="".concat(m,"倍");break;case 4:S(0),x="".concat(m,"倍");break;case .5:S(3),x="".concat(m,"倍");break;default:S(2),x="".concat(m,"倍");break}document.getElementById("".concat(this.jSPlugin.id,"-speed-text"))&&(document.getElementById("".concat(this.jSPlugin.id,"-speed-text")).innerHTML=x)}},{key:"initThemeData",value:function(){var m=this,g=this.themeData,S=g.header,x=g.footer,E=this.jSPlugin.id;if(this.header=N2.header,this.footer=N2.footer,this.isNeedRenderHeader=H.findIndex(S.btnList,function(I){return I.isrender>0})>=0,this.isMobile&&(this.isNeedRenderHeader=H.findIndex(S.btnList,function(I){return I.isrender>0&&I.iconId==="deviceID"||I.isrender>0&&I.iconId==="deviceName"})>=0),this.isNeedRenderFooter=H.findIndex(x.btnList,function(I){return I.isrender>0})>=0,this.isNeedRenderTimeLine=H.findIndex(S.btnList,function(I){return I.iconId==="cloudRec"&&I.isrender===1||I.iconId==="rec"&&I.isrender===1})>=0&&!this.jSPlugin.disabledTimeLine,["date-switch-container-wrap","rec-type-container-wrap","mobile-rec-wrap","mobile-ez-ptz-container"].forEach(function(I,Y){document.getElementById(I)&&document.getElementById(I).parentElement.removeChild(document.getElementById(I))}),this.isNeedRenderHeader)if(document.getElementById("".concat(this.jSPlugin.id,"-headControl")))document.getElementById("".concat(this.jSPlugin.id,"-headControl")).innerHTML="
");else{var L=document.createElement("div");L.setAttribute("id","".concat(this.jSPlugin.id,"-headControl")),L.setAttribute("class","header-controls"),L.innerHTML="
`);var r2={height:this.jSPlugin.width>o1?"48px":"32px","line-height":this.jSPlugin.width>o1?"48px":"32px",display:"flex","justify-content":"space-between",top:0,"z-index":1,background:"#000000",color:"#FFFFFF",width:"100%"};L.style=A1(r2),document.getElementById("".concat(E,"-wrap")).insertBefore(L,document.getElementById(E));var l2=setInterval(function(){window.EZUIKit[m.jSPlugin.id].state.EZUIKitPlayer.init&&clearInterval(l2)},50)}else document.getElementById("".concat(this.jSPlugin.id,"-headControl"))&&document.getElementById("".concat(this.jSPlugin.id,"-headControl")).parentElement.removeChild(document.getElementById("".concat(this.jSPlugin.id,"-headControl")));if(this.isNeedRenderFooter)if(document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container")))document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container"))&&(document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container")).style.marginTop="-".concat(this.jSPlugin.width>o1?48:32,"px"),document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container")).innerHTML='`));else{var s2=document.createElement("div");s2.setAttribute("id","".concat(this.jSPlugin.id,"-ez-iframe-footer-container")),s2.setAttribute("class","ez-iframe-footer-container");var Q={"min-height":this.jSPlugin.width>o1?"48px":"32px","max-height":this.jSPlugin.width>o1?"96px":"80px",position:"relative","margin-top":this.jSPlugin.width>o1?"-48px":"-32px",display:"flex","flex-wrap":"wrap","justify-content":"space-between","z-index":999,top:0,color:"#FFFFFF",width:"100%"};s2.style=A1(Q),s2.innerHTML='`),f(s2,document.getElementById(E))}else document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container"))&&document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container")).parentElement.removeChild(document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container")));if(this.isNeedRenderHeader&&document.getElementById("".concat(this.jSPlugin.id,"-headControl"))&&(document.getElementById("".concat(this.jSPlugin.id,"-headControl")).style.background=S.backgroundColor,document.getElementById("".concat(this.jSPlugin.id,"-headControl")).style.color=S.color,S.btnList.map(function(I,Y){I.isrender&&m.renderHeader(I.iconId,I.part)})),this.isNeedRenderFooter&&document.getElementById("".concat(this.jSPlugin.id,"-audioControls"))&&(document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).style.background=x.backgroundColor,document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).style.color=x.color,x.btnList.map(function(I,Y){I.isrender&&m.renderFooter(I.iconId,I.part)})),this.isNeedRenderTimeLine)if(this.isMobile)document.getElementById("".concat(this.jSPlugin.id,"-headControl-right"))&&(document.getElementById("".concat(this.jSPlugin.id,"-headControl-right")).style.display="none"),this.Rec=new Z2(this.jSPlugin,this.changeRecSpeed,this.resetMobileZoomStatus);else{this.Rec?(this.Rec.unSyncTimeLine(),this.Rec.recInit()):(this.jSPlugin.decoderState=this.decoderState,this.jSPlugin.setDecoderState=this.setDecoderState,this.Rec=new h3(this.jSPlugin));var X=setInterval(function(){window.EZUIKit[m.jSPlugin.id].state.EZUIKitPlayer.init&&clearInterval(X)},50)}var D2=H.findIndex(this.themeData.footer.btnList,function(I){return I.iconId==="pantile"&&I.isrender===1})>=0&&!this.jSPlugin.disabledPTZ;D2&&(this.isMobile&&(this.MobilePtz=new W2(this.jSPlugin)),this.Ptz=new C3(this.jSPlugin));var g2=function(){var Y=m.decoderState.state,B=Y.expend,A=Y.webExpend,k=document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen;k||(m.jSPlugin.jSPlugin.JS_Resize(m.jSPlugin.width,m.jSPlugin.height),B&&m.setDecoderState({expend:!1}),A&&m.setDecoderState({webExpend:!1})),m.jSPlugin.Theme.Rec&&m.jSPlugin.Theme.Rec.recAutoSize()};if(["fullscreenchange","webkitfullscreenchange","mozfullscreenchange"].forEach(function(I){window.addEventListener(I,function(Y){return g2()})}),this.themeData.poster){this.jSPlugin.poster=this.themeData.poster;var C=setInterval(function(){window.EZUIKit[m.jSPlugin.id].state.EZUIKitPlayer.init&&(clearInterval(C),m.jSPlugin.setPoster(m.themeData.poster))},50)}this.inited=!0,this.getDeviceInfo()}},{key:"resetMobileZoomStatus",value:function(){if(this.isMobile){var m=document.getElementById("".concat(this.jSPlugin.id,"-zoom-container"));m&&m.style&&m.style.display!="none"&&(console.log("结束电子放大"),m.style.display="none"),this.jSPlugin.Zoom.resetZoom()}}},{key:"getDeviceInfo",value:function(){var m=this,g=function(x){x.code==200&&x.data&&(x.data.isEncrypt&&setTimeout(function(){m.pluginStatus.loadingClear(),m.pluginStatus.loadingSetText({text:"设备已加密",color:"red"})},1500),document.getElementById("".concat(m.jSPlugin.id,"-deviceName-content"))&&(document.getElementById("".concat(m.jSPlugin.id,"-deviceName-content")).style.maxWidth="100%",document.getElementById("".concat(m.jSPlugin.id,"-deviceName-content")).style.overflow="hidden",document.getElementById("".concat(m.jSPlugin.id,"-deviceName-content")).style.textOverflow="ellipsis",document.getElementById("".concat(m.jSPlugin.id,"-deviceName-content")).style.whiteSpace="nowrap",document.getElementById("".concat(m.jSPlugin.id,"-deviceName-content")).innerHTML=x.data.deviceName),document.getElementById("".concat(m.jSPlugin.id,"-deviceID-content"))&&(document.getElementById("".concat(m.jSPlugin.id,"-deviceID-content")).style.maxWidth="100%",document.getElementById("".concat(m.jSPlugin.id,"-deviceID-content")).style.overflow="hidden",document.getElementById("".concat(m.jSPlugin.id,"-deviceID-content")).style.textOverflow="ellipsis",document.getElementById("".concat(m.jSPlugin.id,"-deviceID-content")).style.whiteSpace="nowrap",document.getElementById("".concat(m.jSPlugin.id,"-deviceID-content")).innerHTML=P(m.jSPlugin.url).deviceSerial))};j(this.jSPlugin.env.domain+"/api/lapp/device/info","POST",{accessToken:this.jSPlugin.accessToken,deviceSerial:P(this.jSPlugin.url).deviceSerial},"",g)}},{key:"editStart",value:function(m){var g=document.getElementById("".concat(this.jSPlugin.id,"-audioControls")),S=document.getElementById("".concat(this.jSPlugin.id,"-headControl"));S&&S.setAttribute("class","header-controls themeEditing"),g&&g.setAttribute("class","footer-controls themeEditing"),this.setDecoderState({isEditing:!0})}},{key:"editEnd",value:function(m){var g=document.getElementById("".concat(this.jSPlugin.id,"-audioControls")),S=document.getElementById("".concat(this.jSPlugin.id,"-headControl"));S&&S.setAttribute("class","header-controls"),g&&g.setAttribute("class","footer-controls"),this.setDecoderState({isEditing:!1})}},{key:"webExpend",value:function(){var m=this,g=this.decoderState.state;g.webExpend;var S=g.expend,x=g.play;if(!x)return!1;if(S)return console.log("正在全局全屏"),!1;console.log("执行网页全屏");var E=0,L=0,r2=b(document.getElementById("".concat(this.jSPlugin.id,"-wrap")));r2.then(function(l2){console.log("全屏promise",window.screen.width),document.getElementById("".concat(m.jSPlugin.id,"-canvas-container"))&&(E=parseInt(window.getComputedStyle(document.getElementById("".concat(m.jSPlugin.id,"-canvas-container"))).height,10)),document.getElementById("".concat(m.jSPlugin.id,"-headControl"))&&(L=parseInt(window.getComputedStyle(document.getElementById("".concat(m.jSPlugin.id,"-headControl"))).height,10)),console.log("this.jSPlugin.JS_Resiz",E,L,document.body.clientWidth),m.jSPlugin.jSPlugin.JS_Resize(window.screen.width,window.screen.height-E-L)}).catch(function(l2){console.log(l2)})}},{key:"expend",value:function(){var m=this,g=this.decoderState.state,S=g.webExpend;g.expend;var x=g.play;if(g.pantile,!x)return!1;if(S)return console.log("正在网站全屏"),!1;if(console.log("执行全局全屏"),this.isMobile){var E=parseInt(getComputedStyle(document.getElementById("".concat(this.jSPlugin.id,"-wrap"))).height,10)-parseInt(getComputedStyle(document.getElementById(this.jSPlugin.id)).height,10);_(document.getElementById("".concat(this.jSPlugin.id,"-wrap"))),setTimeout(function(){var r2=document.documentElement.clientWidth,l2=document.documentElement.clientHeight;document.getElementById("".concat(m.jSPlugin.id)).style["backface-visibility"]="hidden",m.jSPlugin.jSPlugin.JS_Resize(l2,r2-E)},100)}else{var L=b(document.getElementById("".concat(this.jSPlugin.id)));L.then(function(r2){m.jSPlugin.jSPlugin.JS_Resize(window.screen.width,window.screen.height)}).catch(function(r2){console.log(r2)})}}}]),R}();Date.prototype.Format=function(R){var N={"M+":this.getMonth()+1,"d+":this.getDate(),"h+":this.getHours(),"m+":this.getMinutes(),"s+":this.getSeconds(),"q+":Math.floor((this.getMonth()+3)/3),S:this.getMilliseconds()};/(y+)/.test(R)&&(R=R.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length)));for(var m in N)new RegExp("("+m+")").test(R)&&(R=R.replace(RegExp.$1,RegExp.$1.length==1?N[m]:("00"+N[m]).substr((""+N[m]).length)));return R};var l0=function(){function R(N,m){if(i(this,R),this.params=N,this.state={},this.jsPlugin=m,this.url="https://log.ys7.com/statistics.do?",N.env)switch(N.env){case"test12":this.url="https://test12dclog.ys7.com/statistics.do?";break;case"online":break;default:this.url=N.env;break}}return a(R,[{key:"uuid",value:function(){for(var m=[],g="0123456789abcdef",S=0;S<36;S++)m[S]=g.substr(Math.floor(Math.random()*16),1);m[14]="4",m[19]=g.substr(m[19]&3|8,1),m[8]=m[13]=m[18]=m[23]="-";var x=m.join("");return x}},{key:"dclog",value:function(m){var g=this.url,S=Object.assign({},{systemName:"open_website_monitor"},{bn:"ezuikit-js"},m,{un:m.url},{st:new Date().getTime(),h:window.location.pathname});Object.keys(S).forEach(function(E,L){var r2=S[E];typeof S[E]=="string"&&(r2=S[E].replace("%","%25")),typeof S[E]!="undefined"&&(g+="".concat(L===0?"":"&").concat(E,"=").concat(encodeURIComponent(r2)))});var x=new Image;x.src=g}},{key:"localInfoLog",value:function(m){var g=this.url,S=window.location.protocol+"//"+window.location.host,x={systemName:"open_netstream_localinfo",Ver:"v6.0.0",PlatAddr:S,ExterVer:"v6.0.0",OpId:this.uuid(),CltType:102,AppId:"",playurl:encodeURIComponent(this.jsPlugin.url),StartTime:new Date().Format("yyyy-MM-dd hh:mm:ss.S"),OS:navigator.platform};x=Object.assign(x,m),Object.keys(x).forEach(function(L,r2){var l2=x[L];typeof x[L]=="string"&&(l2=x[L].replace("%","%25")),typeof x[L]!="undefined"&&(g+="".concat(r2===0?"":"&").concat(L,"=").concat(encodeURIComponent(l2)))});var E=new Image;E.src=g}},{key:"playLog",value:function(m){var g=this.url,S=g,x={systemName:"open_netstream_play_main",playurl:encodeURIComponent(this.jsPlugin.url),Time:new Date().Format("yyyy-MM-dd hh:mm:ss.S"),Via:2,OpId:this.uuid()};x=Object.assign(x,m),Object.keys(x).forEach(function(L,r2){var l2=x[L];typeof x[L]=="string"&&(l2=x[L].replace("%","%25")),typeof x[L]!="undefined"&&(S+="".concat(r2===0?"":"&").concat(L,"=").concat(encodeURIComponent(l2)))});var E=new Image;E.src=S}}]),R}();(function(R,N){t(n)==="object"&&t(n.exports)==="object"?n.exports=R.document?N(R,!0):function(m){if(!m.document)throw new Error("EZUIPlayer requires a window with a document");return N(m)}:N(R)})(typeof window!="undefined"?window:void 0,function(R,N){var m;function g(Q,X){for(var D2=document.getElementsByTagName("head")[0].getElementsByTagName("script"),g2=!1,C=0;C0&&(t3=X.controls.join(","),R2+="&controls="+t3)),X.websocketParams&&(R2+="&websocketParams="+JSON.stringify(X.websocketParams)),R2;case"standard":return L+"/ezopen/h5/iframe?bSupporDoubleClickFull=0&url="+V.opt.url.replace("?","&")+"&autoplay="+V.opt.autoplay+"&audio="+V.opt.audio+"&accessToken="+X.accessToken+"&templete=1&id="+D2+"&decoderVersion="+V.opt.decoderVersion;case"security":return L+"/ezopen/h5/iframe_se?bSupporDoubleClickFull=0&url="+V.opt.url.replace("?","&")+"&autoplay="+V.opt.autoplay+"&audio="+V.opt.audio+"&accessToken="+X.accessToken+"&templete=0&id="+D2+"&decoderVersion="+V.opt.decoderVersion;case"theme":return R2=L+"/jssdk/theme.html?url=".concat(X.url,"&accessToken=").concat(X.accessToken,"&id=").concat(D2,"&isMobile=").concat(X.isMobile),typeof X.isMobile!="undefined"&&(R2+="&isMobile="+X.isMobile),typeof X.autoplay!="undefined"&&(R2+="&autoplay="+X.autoplay),typeof X.domain!="undefined"&&X.domain=="https://test12open.ys7.com"&&(R2+="&env=test12"),typeof X.env!="undefined"&&typeof X.env.domain!="undefined"&&X.env.domain=="https://test12open.ys7.com"&&(R2+="&env=test12"),typeof X.header!="undefined"&&(R2+="&header="+X.header),R2;default:return L+"/ezopen/h5/iframe?bSupporDoubleClickFull=0&url="+V.opt.url.replace("?","&")+"&autoplay="+V.opt.autoplay+"&audio="+V.opt.audio+"&accessToken="+X.accessToken+"&templete=0&id="+D2+"&decoderVersion="+V.opt.decoderVersion}}C.src=I();var Y=document.getElementById(D2).offsetHeight,B=document.getElementById(D2).offsetWidth;X.height&&(Y=parseInt(X.height),/\%$/.test(X.height)&&(B=document.getElementById(D2).offsetWidth*(parseInt(X.height)/100))),X.width&&(B=parseInt(X.width),/\%$/.test(X.width)&&(B=document.getElementById(D2).offsetWidth*(parseInt(X.width)/100))),C.width=B,C.height=Y,C.id="EZUIKitPlayer-"+D2,C.setAttribute("allowfullscreen",!0),C.setAttribute("allow","autoplay"),C.setAttribute("frameborder",0),g2.appendChild(C);var A=V.opt.filePath+"/js/jquery.js",k="https://open.ys7.com/assets/layer/layer.js";g(A,function(){g(k,function(){if(S1().headerContainer){var R2=document.createElement("div");R2.setAttribute("class","panel-top");var t3=document.createElement("div");if(t3.setAttribute("class","contros"),R2.appendChild(t3),g2.insertBefore(R2,C),S1().capturePictureModule){var Q2=document.createElement("span");Q2.innerHTML=' ',Q2.onclick=function(){V.capturePicture()},t3.appendChild(Q2)}if(console.log("matchHeaderOpt().saveModule",S1().saveModule),S1().saveModule){var c3=document.createElement("span");c3.innerHTML=' ',c3.onclick=function(){V.startSave(),document.getElementById("startSave").setAttribute("class","icon hide"),document.getElementById("stopSave").setAttribute("class","icon")},t3.appendChild(c3);var b3=document.createElement("span");b3.innerHTML=' ',b3.onclick=function(){V.stopSave(),document.getElementById("stopSave").setAttribute("class","icon hide"),document.getElementById("startSave").setAttribute("class","icon")},t3.appendChild(b3)}if(S1().zoomModule){var M3=document.createElement("span");M3.innerHTML=' ',M3.onclick=function(){V.enableZoom(),document.getElementById("enableZoom").setAttribute("class","icon hide"),document.getElementById("closeZoom").setAttribute("class","icon")},t3.appendChild(M3);var T3=document.createElement("span");T3.innerHTML=' ',T3.onclick=function(){V.closeZoom(),document.getElementById("closeZoom").setAttribute("class","icon hide"),document.getElementById("enableZoom").setAttribute("class","icon")},t3.appendChild(T3)}}function f1(){var B0={footerContainer:!1,talkModule:!1,broadcastModule:!1,hdModule:!1,fullScreenModule:!1},k1=V.opt.template;switch(k1){case"simple":if(X.footer&&X.footer instanceof Array){var w1=X.footer;B0={footerContainer:!0,talkModule:w1.indexOf("talk")!==-1,broadcastModule:w1.indexOf("broadcast")!==-1,hdModule:w1.indexOf("hd")!==-1,fullScreenModule:w1.indexOf("fullScreen")!==-1}}break;case"standard":if(X.footer&&X.footer instanceof Array){var w1=X.footer;B0={footerContainer:!0,talkModule:w1.indexOf("talk")!==-1,broadcastModule:w1.indexOf("broadcast")!==-1,hdModule:w1.indexOf("hd")!==-1,fullScreenModule:w1.indexOf("fullScreen")!==-1}}break;case"security":break;case"voice":B0={footerContainer:!0,talkModule:!0,broadcastModule:!0,hdModule:!0,fullScreenModule:!0};break}return B0}function S1(){var B0={headerContainer:!1,capturePictureModule:!1,saveModule:!1,zoomModule:!1},k1=V.opt.template;switch(k1){case"simple":if(X.header&&X.header instanceof Array){var w1=X.header;B0={headerContainer:!0,capturePictureModule:w1.indexOf("capturePicture")!==-1,saveModule:w1.indexOf("save")!==-1,zoomModule:w1.indexOf("zoom")!==-1}}break;case"standard":break;case"security":break;case"voice":B0={headerContainer:!0,capturePictureModule:!0,saveModule:!0,zoomModule:!0};break}return B0}if(f1().footerContainer||V.opt.plugin.indexOf("talk")!==-1){var T1=V.opt.filePath+"/npm/css/recoder.css",N1=V.opt.filePath+"/npm/js/recoder.js",L1=V.opt.filePath+"/recorder.js";if(S(T1,function(){}),g(N1,function(){g(L1,function(){})}),V.opt.plugin.indexOf("talk")!==-1||f1().talkModule){var G1=function(k1){if(console.log("data",k1),k1.code==200){var w1=k1.data;if(w1){var Z1=w1.rtcUrl;Z1.indexOf("ws")===-1&&(Z1=Z1.replace("https","wss").replace("rtcgw","rtcgw-ws")),V.opt.rtcUrl=Z1,V.opt.ttsUrl="tts://"+w1.ttsUrl;var I0="talk://"+V.opt.deviceSerial+":0:"+V.opt.channelNo+":cas.ys7.com:6500";if(V.opt.talkLink=V.opt.ttsUrl+"/"+I0,V.opt.stream=w1.stream,console.log("_this.opt",V.opt),!V.opt.isReliesReady){var d2=V.opt.filePath+"/npm/js/adapeter.js",O2=V.opt.filePath+"/npm/js/janus.js",j2=V.opt.filePath+"/npm/js/tts.js";console.log("加载jquery.js"),g(d2,function(){console.log("加载adapeter.js"),g(O2,function(){console.log("加载janus.js"),g(j2,function(){console.log("加载tts.js"),V.opt.isReliesReady=!0})})},function(){return!!R.adapter})}if(!document.getElementById("audioleft")){var K2=document.createElement("div");K2.style.display="none",K2.id="audioleft",document.body.appendChild(K2)}if(!document.getElementById("audioright")){var f2=document.createElement("div");f2.style.display="none",f2.id="audioright",document.body.appendChild(f2)}}}E.opt=V.opt,R.EZUIKit&&(R.EZUIKit.opt=V.opt)};x(V.opt.apiDomain,"POST",{accessToken:V.opt.accessToken,deviceSerial:V.opt.deviceSerial,channelNo:V.opt.channelNo},"",G1)}if(f1().footerContainer){var y0=function(k1,w1){if(clearInterval(E.state.countTimer),k1==="add"){var Z1=w1;E.state.countTimer=setInterval(function(){++Z1,document.getElementById("time-area").innerHTML=I0(Z1)},1e3)}else if(k1==="sub"){var Z1=w1;E.state.countTimer=setInterval(function(){Z1>0?(Z1--,document.getElementById("time-area").innerHTML=I0(Z1)):(clearInterval(E.state.countTimer),E.state.countTimer=void 0,console.log("倒计时结束,开启声音"))},1e3)}else k1==="destory"&&(clearInterval(E.state.countTimer),E.state.countTimer=void 0,document.getElementById("time-area").innerHTML="00:00");function I0(d2){var O2=parseInt(d2),j2=0,K2=0,f2="00",a3="00",n3="00";return O2>59&&(j2=parseInt(O2/60),O2=parseInt(O2%60),j2>59&&(K2=parseInt(j2/60),j2=parseInt(j2%60))),f2=parseInt(O2)>9?parseInt(O2):"0"+parseInt(O2),a3=parseInt(j2)>9?parseInt(j2):"0"+parseInt(j2),n3=parseInt(K2)>9?parseInt(K2):"0"+parseInt(K2),K2>0?n3+":"+a3+":"+f2:j2>0?a3+":"+f2:"00:"+f2}},B2=document.createElement("div");if(B2.setAttribute("class","audio-controls"),g2.appendChild(B2),f1().hdModule||f1().fullScreenModule){var y3=document.createElement("div");if(y3.setAttribute("class","contros"),B2.appendChild(y3),f1().hdModule){var P3=document.createElement("span");P3.setAttribute("id","video-hd"),P3.innerHTML=V.opt.url.indexOf(".hd")===-1?"标清":"高清",P3.onclick=function(){if(V.opt.videoLoading)return layer.msg("视频加载中,请稍后"),!1;var B0=V.stop();V.opt.videoLoading=!0,B0.then(function(k1){V.opt.videoLoading=!1,V.opt.url.indexOf(".hd")===-1?(V.opt.url=V.opt.url.replace(".live",".hd.live"),P3.innerHTML=V.opt.url.indexOf(".hd")===-1?"标清":"高清"):(V.opt.url=V.opt.url.replace(".hd.live",".live"),P3.innerHTML=V.opt.url.indexOf(".hd")===-1?"标清":"高清"),V.play(V.opt.url)}).catch(function(k1){console.log("error",k1)})},y3.appendChild(P3)}if(f1().fullScreenModule){var t1=document.createElement("span");t1.setAttribute("class","hide"),t1.setAttribute("id","ezuikit-open-sound"),t1.setAttribute("title","打开声音"),t1.setAttribute("style","vertical-align: top;"),t1.innerHTML='',t1.onclick=function(){V.openSound(0),t1.setAttribute("class","hide"),v1.setAttribute("class","")};var v1=document.createElement("span");t1.setAttribute("id","ezuikit-close-sound"),v1.setAttribute("class","hide"),v1.setAttribute("title","关闭声音"),v1.setAttribute("style","vertical-align: top;"),v1.innerHTML='',v1.onclick=function(){V.closeSound(0),t1.setAttribute("class",""),v1.setAttribute("class","hide")},y3.appendChild(t1),y3.appendChild(v1)}if(V.opt.audio==1?v1.setAttribute("class",""):(t1.setAttribute("class",""),V.closeSound(0)),f1().fullScreenModule){var j1=document.createElement("span");j1.setAttribute("title","全屏"),j1.setAttribute("style","vertical-align: top;"),j1.innerHTML=' ',j1.onclick=function(){V.fullScreen()},y3.appendChild(j1)}}if(f1().talkModule){var U1=document.createElement("div"),D1=document.createElement("div");U1.setAttribute("class","ptp-talk off"),U1.innerHTML=' 开启对讲',U1.onclick=function(){if(console.log("EZUIKit.state.countTimer",E.state.countTimer),E.state.countTimer)return R.layer.msg("语音设备正忙,请稍后重试"),!1;y0("add",0),console.log("开始对讲,关闭声音"),V.closeSound(0),console.log(V.opt),V.startTalk(),this.setAttribute("class","ptp-talk off hide"),D1.setAttribute("class","ptp-talk on")},D1.setAttribute("class","ptp-talk on hide"),D1.innerHTML=' 关闭对讲',D1.onclick=function(){console.log(V.opt),V.stopTalk(),y0("destory",0),V.openSound(0),this.setAttribute("class","ptp-talk on hide"),U1.setAttribute("class","ptp-talk off")},B2.appendChild(U1),B2.appendChild(D1)}if(f1().broadcastModule){var u0=function B0(k1){function w1(Z1){console.log("data",Z1),Z1.code==200&&(On(Z1.data,5),E.state.page=Z1.page.page,k1==0&&Z1.data.length==0&&!E.state.fetchDefaultList&&(E.state.fetchDefaultList=!0,B0(0)))}x(L+"/api/lapp/voice/query","POST",{accessToken:V.opt.accessToken,pageStart:k1,pageSize:E.state.pageSize,default:E.state.fetchDefaultList?"true":"false"},"",w1)},On=function(k1){if(console.log("renderVoliceList",k1),k1&&k1.length>0){for(var w1=0;w1"+(k1[w1].voiceName.length>10?k1[w1].voiceName.substr(0,10)+"...":k1[w1].voiceName)+"",document.getElementsByClassName("voice-list-ul")[0].append(Z1),Z1.onclick=function(I0){console.log("点击元素",I0.target,I0.target.dataset.url);var d2=I0.target.dataset.url,O2=I0.target.dataset.time;Dt(d2,O2)}}k1.length===E.state.pageSize?document.getElementById("voice-list-end").innerHTML="向下滚动加载更多":document.getElementById("voice-list-end").innerHTML="没有更多数据了"}},Dt=function(k1,w1){console.log("播放语音",k1,w1);function Z1(I0){console.log("data.data",I0.data),I0.code==200?y0("sub",parseInt(w1)):I0.code=="10001"?R.layer.msg("未找到当前语音"):R.layer.msg(I0.msg||"发送失败,请稍后再试")}x(L+"/api/lapp/voice/send","POST",{accessToken:V.opt.accessToken,deviceSerial:V.opt.deviceSerial,channelNo:V.opt.channelNo,fileUrl:k1},"",Z1)},et=document.createElement("div"),At=document.createElement("div");et.setAttribute("class","broadcast off"),At.setAttribute("class","broadcast on hide"),et.innerHTML=' 语音播报',et.onclick=function(){this.setAttribute("class","broadcast off hide"),At.setAttribute("class","broadcast on")},At.innerHTML='
自定义语音
语音播报',At.onclick=function(){this.setAttribute("class","broadcast on hide"),et.setAttribute("class","broadcast off")},B2.appendChild(et),B2.appendChild(At),document.getElementById("voice-custom").onclick=function(){console.log("显示自定义语音"),b0.setAttribute("class","speak off")},u0(0);var b0=document.createElement("div"),Te=document.createElement("div");b0.setAttribute("class","speak off hide"),Te.setAttribute("class","speak on hide"),b0.setAttribute("id","startSpeak"),Te.setAttribute("id","stopSpeak"),b0.innerHTML=' 按住说话',Te.innerHTML=' 松开发送',B2.appendChild(b0),B2.appendChild(Te),document.getElementById("voice-list").onscroll=function(B0){var k1=this.scrollHeight;console.log("sum",k1,this.scrollTop,document.getElementById("voice-list").clientHeight),k1<=this.scrollTop+this.clientHeight&&(console.log("拖动到底,执行加载",E.state.page),u0(++E.state.page))};var yt=document.createElement("div");yt.setAttribute("class","time-area"),yt.setAttribute("id","time-area"),yt.innerHTML="00:00",B2.appendChild(yt);var d0;document.getElementById("startSpeak").onmousedown=function(){if(E.state.countTimer)return R.layer.msg("语音设备正忙,请稍后重试"),!1;console.log("按住说话"),b0.setAttribute("class","speak off hide"),Te.setAttribute("class","speak on"),Z1(),y0("add",0),setTimeout(function(){E.state.recodeTime=0,w1()},1e3),E.state.recodeTimer&&clearInterval(E.state.recodeTimer),E.state.recodeTimer=setInterval(function(){E.state.recodeTime>=59?(V.stopTalk(),y0("destory",0),this.setAttribute("class","ptp-talk on hide"),U1.setAttribute("class","ptp-talk off"),R.layer.msg("不超过1分钟")):E.state.recodeTime=E.state.recodeTime+1},1e3);var B0;function k1(I0){var d2=B0.createMediaStreamSource(I0);d0=new R.Recorder(d2)}function w1(){d0&&d0.record()}function Z1(){console.log("run init");try{R.AudioContext=R.AudioContext||R.webkitAudioContext,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia,R.URL=R.URL||R.webkitURL,B0=new AudioContext,console.log("Audio context set up."),console.log("navigator.getUserMedia "+(navigator.getUserMedia?"available.":"not present!"))}catch(I0){console.log("err",I0),R.layer.msg("No web audio support in this browser!")}navigator.getUserMedia({audio:!0},k1,function(I0){console.log("No live audio input: "+I0)})}},document.getElementById("stopSpeak").onmouseup=function(){console.log("松开发送"),Te.setAttribute("class","speak on hide"),B0();function B0(){if(y0("destory",0),E.state.recodeTime<1)return R.layer.msg("说话时间过短"),clearInterval(E.state.recodeTimer),!1;clearInterval(E.state.recodeTimer),k1()}function k1(){try{d0&&d0.stop(),d0&&d0.exportWAV(function(w1){if(console.log("wav_file",w1),w1.size<1e3)return R.layer.msg("录音失败,请重试"),E.state.recodeTime=0,!1;y0("sub",E.state.recodeTime+2);var Z1=new FormData;Z1.append("voiceFile",w1),Z1.append("accessToken",V.opt.accessToken),Z1.append("deviceSerial",V.opt.deviceSerial),Z1.append("channelNo",V.opt.channelNo);function I0(O2){console.log("data.data",O2.data),O2.code==200?y0("sub",E.state.recodeTime+2):O2.code=="10001"?R.layer.msg("未找到当前语音"):R.layer.msg(O2.msg||"发送失败,请稍后再试")}function d2(O2){console.log("err",O2)}x(L+"/api/lapp/voice/sendonce","POST",{voiceFile:w1,accessToken:V.opt.accessToken,deviceSerial:V.opt.deviceSerial,channelNo:V.opt.channelNo},"",I0,d2)}),d0&&d0.clear()}catch(w1){console.log(w1)}}}}}}})});var V=this;R.addEventListener("message",function(R2){R2.origin;var t3=V.opt.id;if(R2.data.type)switch(R2.data.type){case"openSound":t3==R2.data.id&&X.openSoundCallBack&&X.openSoundCallBack(R2.data);break;case"closeSound":t3==R2.data.id&&X.closeSoundCallBack&&X.closeSoundCallBack(R2.data);break;case"capturePicture":t3==R2.data.id&&X.capturePictureCallBack&&X.capturePictureCallBack(R2.data);break;case"startSave":t3==R2.data.id&&X.startSaveCallBack&&X.startSaveCallBack(R2.data);break;case"stopSave":t3==R2.data.id&&X.stopSaveCallBack&&X.stopSaveCallBack(R2.data);break;case"fullScreen":t3==R2.data.id&&X.fullScreenCallBack&&X.fullScreenCallBack(R2.data);break;case"getOSDTime":t3==R2.data.id&&X.getOSDTimeCallBack&&X.getOSDTimeCallBack(R2.data);break;case"handleSuccess":t3==R2.data.id&&X.handleSuccess&&X.handleSuccess(R2.data);break;case"handleError":t3==R2.data.id&&X.handleError&&X.handleError(R2.data);break;case"dblclick":t3==R2.data.id&&V.opt.bSupporDoubleClickFull&&(V.opt.fullScreenStatus===0?V.fullScreen():V.cancelFullScreen());break;case"startTalk":V.startTalk(),V.closeSound();break;case"stopTalk":V.stopTalk(),V.openSound();break;case"clickEventHandle":console.log("event.data",R2.data),X.clickEventHandle&&X.clickEventHandle(R2.data);break;case"removeEventHandle":X.removeEventHandle&&X.removeEventHandle(R2.data);break;case"esc":X.clickEventHandle&&X.clickEventHandle(R2.data);break;case"iframeFullScreen":if(t3==R2.data.id){var Q2=function(b3){var M3=b3.requestFullScreen||b3.webkitRequestFullScreen||b3.mozRequestFullScreen||b3.msRequestFullScreen;if(M3)M3.call(b3);else if(typeof R.ActiveXObject!="undefined"){var T3=new ActiveXObject("WScript.Shell");T3!==null&&T3.SendKeys("{F11}")}};Q2(document.getElementById("EZUIKitPlayer-"+R2.data.id))}break}});function M2(R2){V.opt.fullScreenStatus=R2?1:0,X.fullScreenChangeCallBack&&X.fullScreenChangeCallBack({data:R2,id:V.opt.id})}typeof document.fullScreen!="undefined"?document.addEventListener("fullscreenchange",function(){var R2=document.fullscreen||!1;M2(R2)}):typeof document.webkitIsFullScreen!="undefined"?document.addEventListener("webkitfullscreenchange",function(){var R2=document.webkitIsFullScreen||!1;M2(R2)}):typeof document.mozFullScreen!="undefined"&&document.addEventListener("mozfullscreenchange",function(){var R2=document.mozFullScreen||!1;M2(R2)})};l2.prototype.play=function(Q){var X="EZUIKitPlayer-"+this.opt.id,D2=document.getElementById(X).contentWindow;t(Q)==="object"&&Q.url&&(this.opt.url=Q.url),t(Q)==="object"&&Q.accessToken&&(this.opt.accessToken=Q.accessToken),typeof Q=="string"&&(this.opt.url=Q),D2.postMessage({action:"play",accessToken:this.opt.accessToken,url:this.opt.url},L+"/ezopen/h5/iframe");var g2=this;this.opt.videoLoading=!0;var C=new Promise(function(I,Y){R.addEventListener("message",function(B){var A=g2.opt.id;A==B.data.id&&B.data.type==="handleSuccess"&&(setTimeout(function(){g2.opt.videoLoading=!1},1e3),I(B.data))})});return C},l2.prototype.stop=function(){var Q="EZUIKitPlayer-"+this.opt.id,X=document.getElementById(Q).contentWindow;X.postMessage("stop",L+"/ezopen/h5/iframe");var D2=this,g2=new Promise(function(C,I){R.addEventListener("message",function(Y){var B=D2.opt.id;B==Y.data.id&&Y.data.type==="stop"&&C(Y.data)})});return g2},l2.prototype.openSound=function(){var Q="EZUIKitPlayer-"+this.opt.id,X=document.getElementById(Q).contentWindow;X.postMessage("openSound",L+"/ezopen/h5/iframe");var D2=this,g2=new Promise(function(C,I){R.addEventListener("message",function(Y){var B=D2.opt.id;B==Y.data.id&&Y.data.type==="openSound"&&C(Y.data)})});return g2},l2.prototype.closeSound=function(){var Q="EZUIKitPlayer-"+this.opt.id,X=document.getElementById(Q).contentWindow;X.postMessage("closeSound",L+"/ezopen/h5/iframe");var D2=this,g2=new Promise(function(C,I){R.addEventListener("message",function(Y){var B=D2.opt.id;B==Y.data.id&&Y.data.type==="closeSound"&&C(Y.data)})});return g2},l2.prototype.startSave=function(Q){var X="EZUIKitPlayer-"+this.opt.id,D2=document.getElementById(X).contentWindow;D2.postMessage({action:"startSave",fileName:Q||"default"},L+"/ezopen/h5/iframe");var g2=this,C=new Promise(function(I,Y){R.addEventListener("message",function(B){var A=g2.opt.id;A==B.data.id&&B.data.type==="startSave"&&I(B.data)})});return C},l2.prototype.stopSave=function(){var Q="EZUIKitPlayer-"+this.opt.id,X=document.getElementById(Q).contentWindow;X.postMessage("stopSave",L+"/ezopen/h5/iframe");var D2=this,g2=new Promise(function(C,I){R.addEventListener("message",function(Y){var B=D2.opt.id;B==Y.data.id&&Y.data.type==="stopSave"&&C(Y.data)})});return g2},l2.prototype.fullScreen=function(){if(this.opt.fullScreenStatus===1)return!1;var Q="EZUIKitPlayer-"+this.opt.id,X=document.getElementById(Q).contentWindow;if(navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)){var D2=document.documentElement.clientWidth,g2=document.documentElement.clientHeight,C=document.body;C=document.getElementById(Q);var I="";I+="width:"+g2+"px;",I+="height:"+D2+"px;",I+="-webkit-transform: rotate(90deg); transform: rotate(90deg);",I+="-webkit-transform-origin: "+D2/2+"px "+D2/2+"px;",I+="transform-origin: "+D2/2+"px "+D2/2+"px;",I+="position: fixed;top: 0;left: 0;z-index:10",C.style.cssText=I,setTimeout(function(){X.postMessage("autoResize",L+"/ezopen/h5/iframe")},500)}else{var Y=function(A){var k=A.requestFullScreen||A.webkitRequestFullScreen||A.mozRequestFullScreen||A.msRequestFullScreen;if(k)k.call(A);else if(typeof R.ActiveXObject!="undefined"){var V=new ActiveXObject("WScript.Shell");V!==null&&V.SendKeys("{F11}")}};Y(document.getElementById(Q))}this.params.fullScreenCallBack&&this.params.fullScreenCallBack(this.opt.id),this.opt.fullScreenStatus=1},l2.prototype.cancelFullScreen=function(){if(this.opt.fullScreenStatus===0)return!1;var Q="EZUIKitPlayer-"+this.opt.id,X=document.getElementById(Q).contentWindow;if(navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)){var D2=document.getElementById(Q).width,g2=document.getElementById(Q).height,C=document.body;C=document.getElementById(Q);var I="";I+="width:"+D2+"px;",I+="height:"+g2+"px;",I+="-webkit-transform: none; transform: none;",I+="-webkit-transform-origin: 0 0;",I+="transform-origin: 0 0;",C.style.cssText=I,setTimeout(function(){X.postMessage("autoResize",L+"/ezopen/h5/iframe")},500);var Y=Q+"cancel-full-screen",B=document.getElementById(Y);B&&document.body.removeChild(B)}else document.exitFullscreen?document.exitFullscreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.mozCancelFullScreen&&document.mozCancelFullScreen();this.params.cancelFullScreenCallBack&&this.params.cancelFullScreenCallBack(this.opt.id),this.opt.fullScreenStatus=0},l2.prototype.capturePicture=function(Q,X){var D2="EZUIKitPlayer-"+this.opt.id,g2=document.getElementById(D2).contentWindow;g2.postMessage({action:"capturePicture",fileName:Q||"default",isUndownload:X},L+"/ezopen/h5/iframe");var C=this,I=new Promise(function(Y,B){R.addEventListener("message",function(A){var k=C.opt.id;k==A.data.id&&A.data.type==="capturePicture"&&Y(A.data)})});return I},l2.prototype.enableZoom=function(){var Q="EZUIKitPlayer-"+this.opt.id,X=document.getElementById(Q).contentWindow;X.postMessage("enableZoom",L+"/ezopen/h5/iframe")},l2.prototype.closeZoom=function(){var Q="EZUIKitPlayer-"+this.opt.id,X=document.getElementById(Q).contentWindow;X.postMessage("closeZoom",L+"/ezopen/h5/iframe")},l2.prototype.getOSDTime=function(){var Q="EZUIKitPlayer-"+this.opt.id,X=document.getElementById(Q).contentWindow;X.postMessage("getOSDTime",L+"/ezopen/h5/iframe");var D2=this,g2=new Promise(function(C,I){R.addEventListener("message",function(Y){var B=D2.opt.id;B==Y.data.id&&Y.data.type==="getOSDTime"&&C(Y.data)})});return g2},l2.prototype.autoResize=function(){var Q="EZUIKitPlayer-"+this.opt.id,X=document.getElementById(Q).contentWindow;X.postMessage("autoResize",L+"/ezopen/h5/iframe")},l2.prototype.reSize=function(Q,X){var D2="EZUIKitPlayer-"+this.opt.id,g2=document.getElementById(D2).contentWindow,C=document.getElementById(this.opt.id);C.style.width=Q+"px",C.style.height=X+"px",document.getElementById(this.opt.id).style.width=Q+"px",document.getElementById(this.opt.id).style.height=X+"px";var I=document.getElementById(D2);I.setAttribute("width",Q),I.setAttribute("height",X),I.style.width=Q+"px",I.style.height=X+"px",setTimeout(function(){g2.postMessage({action:"autoResize"},L+"/ezopen/h5/iframe")},500)},l2.prototype.startTalk=function(){console.log("执行开始对讲"),console.log(this.opt);var Q=this;E.opt=this.opt,R.EZUIKit&&(R.EZUIKit.opt=this.opt);var X=function(g2){if(g2.code==200){var C=g2.data;if(C){var I=C.rtcUrl;I.indexOf("ws")===-1&&(I=I.replace("https","wss").replace("rtcgw","rtcgw-ws")),Q.opt.rtcUrl=I,Q.opt.ttsUrl="tts://"+C.ttsUrl;var Y="talk://"+Q.opt.deviceSerial+":0:"+Q.opt.channelNo+":cas.ys7.com:6500";Q.opt.talkLink=Q.opt.ttsUrl+"/"+Y,Q.opt.stream=C.stream,R.startTalk()}}};x(Q.opt.apiDomain,"POST",{accessToken:Q.opt.accessToken,deviceSerial:Q.opt.deviceSerial,channelNo:Q.opt.channelNo},"",X)},l2.prototype.stopTalk=function(){console.log("执行结束对讲"),R.stopTalk()},l2.prototype.edit=function(){var Q="EZUIKitPlayer-"+this.opt.id,X=document.getElementById(Q).contentWindow;X.postMessage("edit",L+"/ezopen/h5/iframe")},l2.prototype.btnReRender=function(Q){var X="EZUIKitPlayer-"+this.opt.id,D2=document.getElementById(X).contentWindow;D2.postMessage({action:"btnReRender",data:Q},L+"/ezopen/h5/iframe")},l2.prototype.changePlayUrl=function(Q){Q.deviceSerial&&(this.opt.deviceSerial=Q.deviceSerial),Q.channelNo&&(this.opt.channelNo=Q.channelNo),Q.accessToken&&(this.opt.accessToken=Q.accessToken);var X="EZUIKitPlayer-"+this.opt.id,D2=document.getElementById(X).contentWindow;D2.postMessage({action:"changePlayUrl",data:Q},L+"/ezopen/h5/iframe")},l2.prototype.fetchThemeData=function(){var Q="EZUIKitPlayer-"+this.opt.id,X=document.getElementById(Q).contentWindow;X.postMessage({action:"fetchThemeData"},L+"/ezopen/h5/iframe")},l2.prototype.setThemeData=function(Q,X,D2){var g2="EZUIKitPlayer-"+this.opt.id,C=document.getElementById(g2).contentWindow;C.postMessage({action:"setThemeData",data:{accessToken:Q,header:X,footer:D2}},L+"/ezopen/h5/iframe")},E.EZUIKitPlayer=l2,R.EZUIKitV3=E;var s2=E;return s2});var L0=EZUIKitV3,J1=function(N){var m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,g=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},S=void 0,x=void 0,E=void 0,L=[];return function(){var s2=B1(m),Q=new Date().getTime(),X=!S||Q-S>s2;S=Q;for(var D2=arguments.length,g2=Array(D2),C=0;C>>0)+"_",v1=0;return y3}),x("Symbol.iterator",function(B2){if(B2)return B2;B2=Symbol("Symbol.iterator");for(var y3="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),P3=0;P30&&S>0){var E=N.left/g,L=N.top/S,r2=N.right/g,l2=N.bottom/S;x=new Float32Array([r2,L,E,L,r2,l2,E,l2])}else x=new Float32Array([1,0,0,0,1,1,0,1]);var s2=this.texturePosBuffer;m.bindBuffer(m.ARRAY_BUFFER,s2),m.bufferSubData(m.ARRAY_BUFFER,0,x),m.bindBuffer(m.ARRAY_BUFFER,null)},R.prototype.SR_Destroy=function(){var N=this.contextGL,m=this.YUVProgram;N.deleteProgram(m);var g=this.vertexPosBuffer,S=this.texturePosBuffer;N.deleteBuffer(g),N.deleteBuffer(S);var x=this.yTextureRef,E=this.uTextureRef,L=this.vTextureRef;N.deleteTexture(x),N.deleteTexture(E),N.deleteTexture(L)},R});var g3="https://open.ys7.com",W3="".concat(g3,"/console/ezuikit_static/v66/v2"),Z3="".concat(g3,"/console/ezuikit_static/v66/v1"),e0=function(N,m){var g=["theme","standard"],S=["pcLive","pcRec","mobileLive","mobileRec","noData","security","voice","simple"];if(typeof N=="undefined")return m.themeData?{templateType:"themeData",templateId:"themeData"}:{templateType:"local",templateId:""};if(typeof N=="string"){if(N.length===32)return{templateType:"remote",templateId:N};if(g.indexOf(N)!==-1)return N==="simple"&&typeof m.header=="undefined"&&typeof m.footer=="undefined"?{templateType:"local",templateId:""}:{templateType:"iframe",templateId:N};if(S.indexOf(N)!==-1)return{templateType:"local",templateId:N}}},y2=function(){var N=window.navigator.userAgent.toLowerCase(),m={sa:/version.*safari/.test(N),ch:/chrome/.test(N),ff:/gecko/.test(N)&&!/webkit/.test(N)},g=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);if(g)return!1;if(m.ch){var S=function(){for(var E=window.navigator.userAgent.split(" "),L="",r2=0;r291&&!!window.SharedArrayBuffer}return!1},W=function(){function R(N){var m=this;i(this,R),this.isStoping=!1;var g=N.autoplay,S=g===void 0?!0:g;if((N.template||N.themeData)&&(S=!1),this.params=N,this.autoplay=S,window.EZUIKit[N.id]={state:{EZUIKitPlayer:{init:window.EZUIKit[N.id]&&window.EZUIKit[N.id].state&&window.EZUIKit[N.id].state.EZUIKitPlayer.init||!1,themeInit:window.EZUIKit[N.id]&&window.EZUIKit[N.id].state&&window.EZUIKit[N.id].state.EZUIKitPlayer.themeInit||!1,talkInit:window.EZUIKit[N.id]&&window.EZUIKit[N.id].state&&window.EZUIKit[N.id].state.EZUIKitPlayer.talkInit||!1}}},e0(this.params.template,N).templateType!=="iframe"){this.Monitor=new l0({env:typeof N.disableMonitor!="undefined"&&N.disableMonitor?"test12":"online"},this),this.id=N.id,this.width=N.width,this.height=N.height,this.url=N.url,this.accessToken=N.accessToken,this.themeId=e0(N.template,N).templateId,this.id=N.id,this.audio=!0,this.poster=N.poster,this.speed=1,this.disabledTimeLine=!1,this.disabledPTZ=!1,this.enableSharedArrayBufferGuide=!1,this.capacity={},this.playTimer=null,this.env={domain:"https://open.ys7.com"};var x=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);this.isMobile=x,document.getElementById("".concat(this.id,"-wrap"))&&(document.getElementById("".concat(this.id,"-wrap")).innerHTML="",document.getElementById("".concat(this.id,"-wrap")).id=this.id),this.staticPath=y2()?W3:Z3,typeof N.staticPath=="string"&&(N.staticPath.startsWith("http")?this.staticPath=N.staticPath:this.staticPath=window.location.protocol+"//"+window.location.host+N.staticPath,y2()?this.staticPath+="/v2":this.staticPath+="/v1"),typeof N.audio!="undefined"&&(this.audio=N.audio),typeof N.env!="undefined"&&(this.env=Object.assign(this.env,N.env)),typeof N.isMobile!="undefined"&&(this.isMobile=N.isMobile),typeof N.disabledTimeLine!="undefined"&&(this.disabledTimeLine=N.disabledTimeLine),typeof N.disabledPTZ!="undefined"&&(this.disabledPTZ=N.disabledPTZ),typeof N.enableSharedArrayBufferGuide!="undefined"&&(this.enableSharedArrayBufferGuide=N.enableSharedArrayBufferGuide);var E="".concat(this.staticPath,"/js/jsPluginV1-1.0.0.min.js"),L=function(){if(window.addPluginUrlIng=!0,y2())console.log("启用多线程解析视频"),E="".concat(m.staticPath,"/js/jsPluginV2-2.0.1.min.js");else{var s2=function(){for(var I=navigator.userAgent.split(" "),Y="",B=0;B0&&(E=l2.width),!m.height&&l2.height>0&&(r2=l2.height)}if(!document.getElementById("".concat(S,"-wrap"))){var s2=document.createElement("div");s2.id="".concat(S,"-wrap"),s2.style="display:inline-block;width:".concat(E,"px;position:relative;vertical-align: bottom;"),document.getElementById(S).parentNode.insertBefore(s2,document.getElementById(S)),document.getElementById(S).parentNode.removeChild(document.getElementById(S)),s2.innerHTML="
"),document.getElementById(S).style="display:inline-block;width:".concat(E,"px;height:").concat(r2,"px;"),document.getElementById(S).style.verticalAlign="top"}this.themeId&&(this.Theme=new H1(this,m.id),window.EZUIKit[m.id].state.EZUIKitPlayer.themeInit=!0,this.Monitor.dclog({url:this.url,action:2,text:this.themeId}),typeof this.params.handleThemeChange=="function"&&(this.handleThemeChange=this.params.handleThemeChange));var Q=new q2(this,S);this.Message=Q;var X=function(C,I){var Y;if(y2()){Y=new window.JSPluginV2({szId:S,iType:2,iWidth:E,iHeight:r2,iMaxSplit:1,iCurrentSplit:1,szBasePath:"",staticPath:g.staticPath,oStyle:{border:"none",background:"#000000"}}),g.pluginStatus.loadingStart(S),g.pluginStatus.loadingSetText({text:"初始化播放器完成"}),Y.EventCallback={pluginErrorHandler:function(k,V,M2){if(console.log(k,V,M2),V===1003)console.log("断流"),g.Theme.setDecoderState({play:!1}),g.pluginStatus.setPlayStatus({play:!1}),Y.bPlay||(g.pluginStatus.loadingClear(),g.pluginStatus.loadingSetText({text:"连接断开,请重试",color:"red"})),typeof g.params.handleError=="function"&&g.params.handleError({msg:"连接断开,请重试",retcode:1003,id:g.params.id,type:"handleError"});else if(M2.errorCode!=1){var R2=g.errorHander.matchErrorInfo(M2.errorCode),t3="连接断开,请重试";R2&&R2.msg?t3=R2.msg:R2&&R2.description&&(t3=R2.description),g.Theme.setDecoderState({play:!1}),g.pluginStatus.setPlayStatus({play:!1}),g.pluginStatus.loadingClear(),g.pluginStatus.loadingSetText({text:t3,color:"red"})}else g.pluginStatus.loadingClear(),g.Theme&&g.Theme.setDisabled(!1)},openStreamCallback:function(){console.log("开启取流"),g.openStreamTime=new Date().getTime(),g.Monitor.dclog({url:g.url,action:224,d:g.openStreamTime-g.gotWsUrlTime,text:"openStream",isVersion2Available:y2()?1:0})},getStreamHeaderCallback:function(){console.log("完成取流返回流头"),g.getStreamHeaderTime=new Date().getTime(),g.Monitor.dclog({url:g.url,action:225,d:g.getStreamHeaderTime-g.openStreamTime,text:"getStreamHeader",isVersion2Available:y2()?1:0})},getVideoStreamCallback:function(){console.log("返回视频流(首次)"),g.getVideoStreamTime=new Date().getTime(),g.Monitor.dclog({url:g.url,action:226,d:g.getVideoStreamTime-g.getStreamHeaderTime,text:"getVideoStream",isVersion2Available:y2()?1:0})},appearFirstFrameCallback:function(){console.log("出现首帧画面(播放成功)"),g.appearFirstFrameTime=new Date().getTime(),g.Monitor.dclog({url:g.url,action:227,d:g.appearFirstFrameTime-g.getStreamHeaderTime,text:"appearFirstFrame",isVersion2Available:y2()?1:0})},averageStreamSuccessCallback:function(){console.log("平均成功取流的出流耗时"),g.averageStreamSuccessTime=g.initSuccessTime-g.initTime+(g.gotWsUrlTime-g.startGetWsUrlTime)+(g.appearFirstFrameTime-g.openStreamTime),g.Monitor.dclog({url:g.url,action:228,d:g.averageStreamSuccessTime,text:"averageStreamSuccess",isVersion2Available:y2()?1:0})}},g.env={domain:"https://open.ys7.com"},typeof m.env!="undefined"&&(g.env=Object.assign(g.env,m.env)),typeof m.handleTalkSuccess!="undefined"&&(g.handleTalkSuccess=m.handleTalkSuccess),typeof m.handleTalkError!="undefined"&&(g.handleTalkError=m.handleTalkError),g.errorHander=new b2,g.jSPlugin=Y;var B=setInterval(function(){window.JSPlayerModuleLoaded&&(clearInterval(B),typeof g.params.handleInitSuccess=="function"&&g.params.handleInitSuccess({retcode:0,id:g.params.id,type:"handleInitSuccess"}),C({meta:{retcode:200,msg:"初始化成功"}}),m.url.indexOf("rec")!=-1&&g.Theme.changeTheme(g.isMobile?"mobileRec":"pcRec"))},50)}else Y=new window.JSPluginV1({szId:S,iType:2,iWidth:E,iHeight:r2,iMaxSplit:1,iCurrentSplit:1,szBasePath:"",staticPath:g.staticPath,oStyle:{border:"none",background:"#000000"}}),g.pluginStatus.loadingStart(S),g.pluginStatus.loadingSetText({text:"初始化播放器完成"}),Y.EventCallback={openStreamCallback:function(){console.log("开启取流---v1"),g.openStreamTime=new Date().getTime(),g.Monitor.dclog({url:g.url,action:224,d:g.openStreamTime-g.gotWsUrlTime,text:"openStream",isVersion2Available:y2()?1:0})},getStreamHeaderCallback:function(){console.log("完成取流返回流头"),g.getStreamHeaderTime=new Date().getTime(),g.Monitor.dclog({url:g.url,action:225,d:g.getStreamHeaderTime-g.openStreamTime,text:"getStreamHeader",isVersion2Available:y2()?1:0})},getVideoStreamCallback:function(){console.log("返回视频流(首次)"),g.getVideoStreamTime=new Date().getTime(),g.Monitor.dclog({url:g.url,action:226,d:g.getVideoStreamTime-g.getStreamHeaderTime,text:"getVideoStream",isVersion2Available:y2()?1:0})},appearFirstFrameCallback:function(){console.log("出现首帧画面(播放成功)"),g.appearFirstFrameTime=new Date().getTime(),g.Monitor.dclog({url:g.url,action:227,d:g.appearFirstFrameTime-g.getStreamHeaderTime,text:"appearFirstFrame",isVersion2Available:y2()?1:0})},averageStreamSuccessCallback:function(){console.log("平均成功取流的出流耗时"),g.averageStreamSuccessTime=g.initSuccessTime-g.initTime+(g.gotWsUrlTime-g.startGetWsUrlTime)+(g.appearFirstFrameTime-g.openStreamTime),g.Monitor.dclog({url:g.url,action:228,d:g.averageStreamSuccessTime,text:"averageStreamSuccess",isVersion2Available:y2()?1:0})},loadEventHandler:function(){},zoomEventResponse:function(){},windowEventSelect:function(k){},pluginErrorHandler:function(k,V,M2){if(console.log(k,V,M2),V===1003)console.log("断流"),g.Theme.setDecoderState({play:!1}),g.pluginStatus.setPlayStatus({play:!1}),Y.bPlay||(g.pluginStatus.loadingClear(),g.pluginStatus.loadingSetText({text:"连接断开,请重试",color:"red"})),typeof g.params.handleError=="function"&&g.params.handleError({msg:"连接断开,请重试",retcode:1003,id:g.params.id,type:"handleError"});else if(M2.errorCode!=1){var R2=g.errorHander.matchErrorInfo(M2.errorCode),t3="连接断开,请重试";R2&&R2.msg?t3=R2.msg:R2&&R2.description&&(t3=R2.description),g.Theme.setDecoderState({play:!1}),g.pluginStatus.setPlayStatus({play:!1}),g.pluginStatus.loadingClear(),g.pluginStatus.loadingSetText({text:t3,color:"red"})}else g.pluginStatus.loadingClear(),g.Theme&&g.Theme.setDisabled(!1)},windowEventOver:function(k){},windowEventOut:function(k){},windowEventUp:function(k){},windowFullCcreenChange:function(k){},firstFrameDisplay:function(k,V,M2){console.log(V,M2),Y.JS_SetCanFullScreen(!1)},performanceLack:function(){},mouseEvent:function(k,V,M2){}},g.env={domain:"https://open.ys7.com"},typeof m.env!="undefined"&&(g.env=Object.assign(g.env,m.env)),typeof m.handleTalkSuccess!="undefined"&&(g.handleTalkSuccess=m.handleTalkSuccess),typeof m.handleTalkError!="undefined"&&(g.handleTalkError=m.handleTalkError),g.errorHander=new b2,g.jSPlugin=Y,typeof g.params.handleInitSuccess=="function"&&g.params.handleInitSuccess({retcode:0,id:g.params.id,type:"handleInitSuccess"}),C({meta:{retcode:200,msg:"初始化成功"}}),m.url.indexOf("rec")!=-1&&g.Theme.changeTheme(g.isMobile?"mobileRec":"pcRec")},D2=new Promise(X);return D2}},{key:"_getRealUrlPromise",value:function(m,g){var S=this;console.log("获取播放地址 url => ".concat(g," ").concat(this.accessToken)),console.log("开始获取wsurl"),this.startGetWsUrlTime=new Date().getTime(),this.Monitor.dclog({url:this.url,action:222,text:"startGetWsUrl",isVersion2Available:y2()?1:0});var x=this.env.domain;this.env&&(x=this.env.domain);var E=function(s2,Q){var X="",D2=x+"/api/lapp/live/url/ezopen",g2=new FormData;g2.append("ezopen",g),g2.append("isFlv",!1),g2.append("userAgent",window.navigator.userAgent),g2.append("isHttp",!1),g2.append("accessToken",m),fetch(D2,{method:"POST",body:g2}).then(function(C){return C.json()}).then(function(C){if(C.code==200||C.retcode==0){var I="",Y="";C.ext&&C.ext.token?(X+=C.data,Y=C.ext.token,I=C.data):C.data&&C.data.token&&(X+=C.data.url,Y=C.data.token,I=C.data.url);var B=g.indexOf("live")!==-1?"live":"playback";B==="live"?X=X+"&ssn="+Y+"&auth=1&biz=4&cln=100":X=X+"&ssn="+Y+"&auth=1&cln=100",console.log(X);var A=h("checkCode",X);if(A&&(typeof S.jSPlugin.decoderVersion!="undefined"&&S.jSPlugin.decoderVersion==="2.0"?S.validateCode=A:(console.log("设置密钥",A),S.jSPlugin.JS_SetSecretKey(0,A))),X.indexOf("playback")!==-1){var k=h("begin",I)||h("begin",g),V=h("end",I)||h("end",g);if(k)X=X.replace("&begin="+h("begin",I),"&begin="+L(k,"000000")),h("begin",X)||(X+="&begin="+L(k,"000000"));else{var M2=new Date;X=X+"&begin="+M2.Format("yyyyMMdd")+"T000000Z"}if(V?(X=X.replace("&end="+h("end",I),"&end="+L(V,"235959")),h("end",X)||(X+="&end="+L(V,"235959"))):X=X+"&end="+L(h("begin",X).substr(0,8),"235959"),h("stream",I)||(X=X.replace("stream","&stream")),g.indexOf(".cloud")!==-1){var R2=function(N1){if(N1.code==200){var L1=[];if(N1.data&&N1.data.files&&N1.data.files.length>0){var G1=N1.data.files,y0=new Date().getTime(),B2=N1.data.isAll;if(B2){L1=t1(G1);var y3=JSON.stringify(L1).replace("\\","");X+="&recSlice="+y3.replace("\\","")+"&r="+Math.random(),s2(X)}else{var P3=function v1(){function j1(U1){if(U1.data&&U1.data.files&&U1.data.files.length>0)if(U1.data.isAll==!1)U1.data.files&&(G1=G1.concat(U1.data.files)),y0=U1.data.nextFileTime>0?U1.data.nextFileTime:new Date().getTime(),v1();else{L1=t1(G1);var D1=JSON.stringify(L1).replace("\\","");X+="&recSlice="+D1.replace("\\","")+"&r="+Math.random(),s2(X)}else{L1=t1(G1);var D1=JSON.stringify(L1).replace("\\","");X+="&recSlice="+D1.replace("\\","")+"&r="+Math.random(),s2(X)}}T3.startTime=y0,j(M3,"POST",T3,"",j1)};P3()}}else Q({retcode:-1,msg:"未找到录像片段"})}else Q({retcode:-1,msg:"未找到录像片段"});function t1(v1){var j1=[];return v1.forEach(function(U1,D1){j1.length==0||U1.downloadPath!==j1[j1.length-1].downloadPath?j1.push({downloadPath:U1.downloadPath,ownerId:U1.ownerId,iStorageVersion:U1.iStorageVersion,videoType:U1.videoType,iPlaySpeed:0,startTime:U1.startTime,endTime:U1.endTime}):j1[j1.length-1].endTime=U1.endTime}),j1}},t3=r2(h("begin",X)),Q2=r2(h("end",X)),c3=h("serial",X),b3=h("chn",X),M3=x+"/api/lapp/video/by/time",T3={accessToken:S.accessToken,recType:1,deviceSerial:c3,channelNo:b3,startTime:t3,endTime:Q2,version:"2.0"};j(M3,"POST",T3,"",R2)}else if(g.indexOf("alarmId")!==-1){var f1=function(P3){if(P3.code==200){var t1=[];if(P3.data){t1=j1([P3.data]);var v1=JSON.stringify(t1).replace("\\","");X+="&recSlice="+v1.replace("\\",""),console.log("realUrl",X,P3.data.recType),P3.data.recType==1?X=X.replace("/playback","/cloudplayback"):X=X.replace("/cloudplayback","/playback"),s2(X)}}function j1(U1){var D1=[];return U1.forEach(function(u0,On){D1.length==0||u0.downloadPath!==D1[D1.length-1].downloadPath?D1.push({downloadPath:u0.downloadPath,ownerId:u0.ownerId,iStorageVersion:u0.iStorageVersion,videoType:u0.videoType,iPlaySpeed:0,startTime:u0.startTime,endTime:u0.endTime}):D1[D1.length-1].endTime=u0.endTime}),console.log("downloadPathArr",D1),D1}};console.log("进入alarmId回放");var S1=h("alarmId",X),t3=r2(h("begin",X)),Q2=r2(h("end",X)),c3=h("serial",X),b3=h("chn",X),M3=x+"/api/lapp/video/by/id",T3={accessToken:S.accessToken,deviceSerial:c3,channelNo:b3,alarmId:S1};j(M3,"POST",T3,"",f1)}else s2(X)}else s2(X)}else S.Theme&&S.Theme.setDisabled(!0),S.pluginStatus.loadingClear(),S.pluginStatus.loadingSetText({text:C.msg,color:"red"}),typeof S.params.handleError=="function"&&S.params.handleError({retcode:C.code,msg:C.msg,id:S.params.id,type:"handleError"}),Q(C)})};return new Promise(function(l2,s2){return E(l2,s2)});function L(l2,s2){var Q=/^[0-9]{8}T[0-9]{6}Z$/;if(Q.test(l2))return l2;if(/[0-9]{8,14}/.test(l2)){var X=6-(14-l2.length),D2=s2.length,g2=l2+s2.substring(X,D2);return g2.slice(0,8)+"T"+g2.slice(8)+"Z"}throw new Error("回放时间格式有误,请确认")}function r2(l2){var s2=l2.slice(0,4),Q=l2.slice(4,6),X=l2.slice(6,8),D2=l2.slice(9,11),g2=l2.slice(11,13),C=l2.slice(13,15),I=s2+"-"+Q+"-"+X+" "+D2+":"+g2+":"+C;return new Date(I.replace(/-/g,"/")).getTime()}}},{key:"_pluginPlay",value:function(m,g,S){var x=this;if(console.log("执行播放 _pluginPlay",m),!m)return!1;function E(s2){var Q=s2.split("?")[0].replace("/live","").replace("/playback",""),X=(s2.indexOf("/live")===-1?s2.indexOf("cloudplayback")!==-1?"/cloudplayback?":"/playback?":"/live?")+s2.split("?")[1];return X.indexOf("/playback")!==-1&&(X=X.replace("stream=2","stream=1")),{websocketConnectUrl:Q,websocketStreamingParam:X}}var L=E(m).websocketConnectUrl;this.env&&this.env.wsUrl&&(L=this.env.wsUrl),this.gotWsUrlTime=new Date().getTime(),this.Monitor.dclog({url:this.url,action:223,d:this.gotWsUrlTime-this.startGetWsUrlTime,text:"getWsUrlSuccess",isVersion2Available:y2()?1:0});var r2={playURL:E(m).websocketStreamingParam};console.log("播放前 stop 阶段 结束"),this.isStoping=!1;var l2=Date.now();console.log("执行播放 ... this.jSPlugin.JS_Play at ",l2),this.jSPlugin.JS_Play(L,r2,0).then(function(){if(console.log("执行播放 ... this.jSPlugin.JS_Play 播放成功",L,r2),console.log("执行播放耗时 ",Date.now()-l2),x.isStoping){console.log("现在在播放前 stop 阶段,此次应为无效播放成功触发。不执行后续回调, 此次耗时无效");return}if(x.validateCode&&typeof x.jSPlugin.decoderVersion!="undefined"&&x.jSPlugin.decoderVersion==="2.0"&&x.jSPlugin.JS_SetSecretKey(0,x.validateCode),x.pluginStatus.loadingClear(),x.pluginStatus.setPlayStatus({play:!0,loading:!1}),x.Theme){x.Theme.setDecoderState({play:!0});var s2=H.findIndex(x.Theme.themeData.footer.btnList,function(Q){return Q.iconId==="sound"&&Q.isrender===1&&Q.defaultActive===1})>-1;x.audio=s2}x.audio&&setTimeout(function(){x.openSound()},500),typeof x.params.handleSuccess=="function"&&x.params.handleSuccess({retcode:0,id:x.params.id,type:"handleSuccess"}),g(r2),x.Monitor.dclog({url:x.url,action:211,d:new Date().getTime()-x.playStartTime,text:"startPlaySuccess"}),x.Monitor.playLog({Enc:x.url.indexOf("@")===-1?0:1,PlTp:x.url.indexOf("back")===-1?1:2,Via:2,ErrCd:0,Cost:new Date().getTime()-x.playStartTime,Serial:P(x.url).deviceSerial,Channel:P(x.url).channelNo,Ver:y2()?"v7.0.0":"v6.0.0"})},function(s2){console.log("err",s2);var Q="播放失败,请检查设备及客户端网络",X=-1;if(x.jSPlugin.bPlay)return!1;if(s2&&s2.errorCode){var D2=x.errorHander.matchErrorInfo(s2.errorCode);x.Theme&&x.Theme.setDisabled(!0),D2&&D2.msg?Q=D2.msg:D2&&D2.description?Q=D2.description:Q="播放失败,请检查设备及客户端网络",X=s2.errorCode}x.pluginStatus.loadingClear(),x.pluginStatus.loadingSetText({text:Q,color:"red"}),typeof x.params.handleError=="function"&&x.params.handleError({retcode:X,msg:Q,id:x.params.id,type:"handleError"}),S(),x.Monitor.dclog({url:x.url,action:411,d:new Date().getTime()-x.playStartTime,text:"startPlayError"}),x.Monitor.playLog({Enc:x.url.indexOf("@")===-1?0:1,PlTp:x.url.indexOf("back")===-1?1:2,Via:2,ErrCd:X,Cost:-1,Serial:P(x.url).deviceSerial,Channel:P(x.url).channelNo,Ver:y2()?"v7.0.0":"v6.0.0"})})}},{key:"_play",value:function(m){var g=this;console.log("执行播放 play options.url =>",m),this.pluginStatus.setPlayStatus({play:!1,loading:!0}),this.playStartTime=new Date().getTime(),this.Monitor.dclog({url:this.url,action:1,d:new Date().getTime()-this.initTime,text:"startPlay"}),m&&(typeof m=="string"&&(this.url=m),typeof m.url=="string"&&(this.url=m.url),typeof m.accessToken=="string"&&(this.accessToken=m.accessToken),this.Theme&&(typeof m.url=="string"||typeof m.accessToken=="string")&&this.Theme.getDeviceInfo());var S=new Promise(function(x,E){console.log("执行 播放前 stop"),g.isStoping=!0,g.jSPlugin.JS_Stop(0).then(function(){console.log("播放前 stop 执行成功 this.url => ".concat(g.url," ").concat(g.accessToken)),g._getRealUrlPromise(g.accessToken,g.url).then(function(L){g._pluginPlay(L,function(r2){x(!0)},function(){return E(!1)})}).catch(function(L){var r2=L.msg?L.msg:"播放失败,请检查设备及客户端网络";g.Theme&&g.Theme.setDisabled(!0),g.pluginStatus.loadingClear(),g.pluginStatus.loadingSetText({text:r2,color:"red"}),typeof g.params.handleError=="function"&&g.params.handleError({retcode:L.oError?L.oError.errorCode:-1,msg:r2,id:g.params.id,type:"handleError"}),E({retcode:L.oError?L.oError.errorCode:-1,msg:r2,id:g.params.id,type:"handleError"})})})});return S}},{key:"stop",value:function(){var m=this;return this.pluginStatus.setPlayStatus({loading:!0}),this.reSetTheme(),this.jSPlugin.JS_Stop(0).then(function(){console.log("停止成功"),m.pluginStatus.setPlayStatus({play:!1,loading:!1}),m.Theme&&m.Theme.setDecoderState({play:!1})})}},{key:"changeVideoLevel",value:function(m){var g=this,S=this.url,x=m?S.replace(".live",".hd.live"):S.replace(".hd.live",".live");this.jSPlugin.playURL=m?this.jSPlugin.playURL.replace("stream=2","stream=1"):this.jSPlugin.playURL.replace("stream=1","stream=2"),console.log("changeVideoLevel",x,this.jSPlugin.playURL),this.url=x;var E=new Promise(function(L,r2){g.pause().then(function(){console.log("暂停成功"),g.resume().then(function(l2){console.log("恢复成功")})}).catch(function(){console.log("暂停失败"),g.resume().then(function(l2){console.log("恢复成功")})})});return E}},{key:"reSetTheme",value:function(){this.Theme&&this.Theme.Ptz&&(this.Theme.setDecoderState({pantile:!1}),this.Theme.Ptz.hide()),this.Theme&&this.Theme.decoderState.state.recordvideo&&this.Theme.setDecoderState({recordvideo:!1}),this.Theme&&this.Theme.decoderState.state.zoom&&(this.Zoom.stopZoom(),this.Theme.setDecoderState({zoom:!1})),this.Theme&&this.Theme.decoderState.state.talk&&(this.stopTalk(),this.Theme.setDecoderState({talk:!1})),this.Theme&&this.Theme.Rec&&!this.Theme.isMobile&&this.Theme.Rec.datepickerHide(),this.Theme&&this.Theme.Rec&&(this.Theme.changeRecSpeed(1),this.Theme.nextRate=1,this.speed=1,this.Theme.setDecoderState({speed:!1}))}},{key:"_changePlayUrl",value:function(m){var g=this,S=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(){};console.log("_changePlayUrl"),console.log(m),this.reSetTheme(),this.getDeviceCapacity({accessToken:m.accessToken,deviceSerial:m.deviceSerial});var x=this.url,E=r2(x,m);m.accessToken&&(this.accessToken=m.accessToken),this.url=E,S(),this.pluginStatus.loadingStart(this.id),this.pluginStatus.loadingSetText({text:"加载中,请稍后"});var L=new Promise(function(l2,s2){var Q={url:E};return m.accessToken&&(Q.accessToken=m.accessToken),console.log("切换播放地址 参数 ",Q),g.play(Q).then(function(){console.log("切换播放地址 play 执行成功 ",g.url,g.accessToken),g.Theme&&g.Theme.decoderState.state.webExpend&&g.Theme.webExpend(),g.Theme&&g.Theme.decoderState.state.expend&&g.Theme.expend(),m.type?m.type=="rec"||m.type=="cloud.rec"?g.Theme.changeTheme(g.isMobile?"mobileRec":"pcRec"):g.Theme.changeTheme(g.isMobile?"mobileLive":"pcLive"):g.url.indexOf(".rec")>-1?g.Theme.changeTheme(g.isMobile?"mobileRec":"pcRec"):g.Theme.changeTheme(g.isMobile?"mobileLive":"pcLive"),m&&m.begin&&m.deviceSerial&&g.Theme.Rec.setDatepickerDate(m.begin),g.Theme.setDisabled(!1),l2(E)}).catch(function(X){s2(E),X&&X.msg&&(g.Theme&&g.Theme.setDisabled(!0),g.pluginStatus.loadingClear(),g.pluginStatus.loadingSetText({text:X.msg,color:"red"}))})});function r2(l2,s2){if(s2.url)return s2.url;console.log("--------------matchInitUrl",l2);var Q=l2.split("/")[4].split(".")[l2.split("/")[4].split(".").length-1].split("?")[0];Q==="rec"&&l2.indexOf(".cloud.rec")!==-1&&(Q="cloud.rec"),s2.type&&(Q=s2.type);var X=l2.split("/")[3];s2.deviceSerial&&(X=s2.deviceSerial);var D2=l2.split("/")[4].split(".")[0];s2.channelNo&&(D2=s2.channelNo);var g2=l2.split("/")[2].split("@").length===2?l2.split("/")[2].split("@")[0]:"";typeof s2.validCode!="undefined"&&(g2=s2.validCode);var C=typeof s2.hd=="undefined"?l2.indexOf(".hd")!==-1:s2.hd,I="ezopen://".concat(g2?"".concat(g2,"@"):"","open.ys7.com/").concat(X,"/").concat(D2).concat(C?".hd":"",".").concat(Q);return Q==="live"||(I="ezopen://".concat(g2?"".concat(g2,"@"):"","open.ys7.com/").concat(X,"/").concat(D2,".").concat(Q),s2.begin&&s2.end?I+="?begin=".concat(s2.begin,"&end=").concat(s2.end):s2.begin?I+="?begin=".concat(s2.begin):h("begin",l2)&&(I+="?begin=".concat(h("begin",l2)))),I}return L}},{key:"getOSDTime",value:function(){var m=this,g=new Promise(function(S,x){m.jSPlugin.JS_GetOSDTime(0).then(function(E){S({code:0,retcode:0,data:E}),typeof m.params.getOSDTimeCallBack=="function"&&m.params.getOSDTimeCallBack({id:m.id,type:"getOSDTime",code:0,data:E})}).catch(function(E){x({code:-1,retcode:-1,data:E}),typeof m.params.getOSDTimeCallBack=="function"&&m.params.getOSDTimeCallBack({id:m.id,type:"getOSDTime",code:-1,data:-1})})});return g}},{key:"capturePicture",value:function(m){var g=this,S=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,x=this.jSPlugin.JS_CapturePicture(0,m,"JPEG",S,!!S);return d(x)?(typeof this.params.capturePictureCallBack=="function"&&x.then(function(){g.params.capturePictureCallBack({id:g.id,type:"capturePicture",code:0})}).catch(function(){g.params.capturePictureCallBack({id:g.id,type:"capturePicture",code:-1})}),x):new Promise(function(E){E(x)})}},{key:"startSave",value:function(m){var g=this,S=this.jSPlugin.JS_StartSave(0,m);return d(S)?(typeof this.params.startSaveCallBack=="function"&&S.then(function(){g.params.startSaveCallBack({id:g.id,type:"startSave",code:0})}).catch(function(){g.params.startSaveCallBack({id:g.id,type:"startSave",code:-1})}),S):(this.Theme&&this.Theme.setDecoderState({recordvideo:!0}),new Promise(function(x){x(S)}))}},{key:"stopSave",value:function(){var m=this,g=this.jSPlugin.JS_StopSave(0);return d(g)?(typeof this.params.startSaveCallBack=="function"&&g.then(function(){m.params.stopSaveCallBack({id:m.id,type:"stopSave",code:0})}).catch(function(){m.params.stopSaveCallBack({id:m.id,type:"stopSave",code:-1})}),g):(this.Theme&&this.Theme.setDecoderState({recordvideo:!1}),new Promise(function(S){S(g)}))}},{key:"openSound",value:function(){var m=this.jSPlugin.JS_OpenSound(0);return console.log("打开声音",m),d(m)?m:(this.Theme&&this.Theme.setDecoderState({sound:!0}),typeof this.params.openSoundCallBack=="function"&&this.params.openSoundCallBack({id:this.id,type:"openSound",code:m}),new Promise(function(g){g(m)}))}},{key:"closeSound",value:function(){var m=this.jSPlugin.JS_CloseSound(0);return d(m)?m:(this.Theme&&this.Theme.setDecoderState({sound:!1}),typeof this.params.closeSoundCallBack=="function"&&this.params.closeSoundCallBack({id:this.id,type:"closeSound",code:m}),new Promise(function(g){g(m)}))}},{key:"enableZoom",value:function(){var m=this.jSPlugin.JS_EnableZoom(0);return d(m)?m:new Promise(function(g){g(m)})}},{key:"closeZoom",value:function(){var m=this.jSPlugin.JS_DisableZoom(0);return d(m)?m:new Promise(function(g){g(m)})}},{key:"setPoster",value:function(m){y2()?document.getElementById("".concat(this.id))&&(document.getElementById("".concat(this.id)).style.backgroundImage="url(".concat(m,")"),document.getElementById("".concat(this.id)).style.backgroundSize="100% 100%"):document.getElementById("".concat(this.id,"canvas0"))&&(document.getElementById("".concat(this.id,"canvas0")).style.backgroundImage="url(".concat(m,")"),document.getElementById("".concat(this.id,"canvas0")).style.backgroundSize="cover")}},{key:"reSize",value:function(m,g){var S=0,x=0;if(this.params.height=g,this.params.width=m,this.Theme&&this.Theme.isNeedRenderHeader&&document.getElementById("".concat(this.id,"-headControl"))&&(S=parseInt(document.getElementById("".concat(this.id,"-headControl")).style.height,10)),this.Theme&&this.Theme.isNeedRenderTimeLine&&!this.isMobile&&(x=48),g=g-S-x,this.width=m,this.height=g,document.getElementById("".concat(this.id,"-wrap")).style="width:".concat(m,"px;position:relative;display:inline-block;vertical-align: bottom;"),document.getElementById("".concat(this.id)).style.width=m+"px",document.getElementById("".concat(this.id)).style.height=g+"px",this.jSPlugin&&this.jSPlugin.bPlay)this.jSPlugin&&(this.jSPlugin.iHeight=g,this.jSPlugin.iWidth=m),this.jSPlugin.JS_Resize(m,g);else{document.getElementById("".concat(this.id,"-player"))&&(document.getElementById("".concat(this.id,"-player")).width=m,document.getElementById("".concat(this.id,"-player")).height=g,document.getElementById("".concat(this.id,"-player")).style.width=m+"px",document.getElementById("".concat(this.id,"-player")).style.height=g+"px");var E=1;if(document.getElementById("".concat(this.id,"canvas0"))){var L=navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i);L&&(E=2),document.getElementById("".concat(this.id,"canvas0")).style.width=m*E+"px",document.getElementById("".concat(this.id,"canvas0")).style.height=g*E+"px",document.getElementById("".concat(this.id,"canvas0")).width=m*E,document.getElementById("".concat(this.id,"canvas0")).height=g*E,document.getElementById("".concat(this.id,"canvas0")).parentNode.style.width=m*E+"px",document.getElementById("".concat(this.id,"canvas0")).parentNode.style.height=g*E+"px",document.getElementById("".concat(this.id,"canvas_draw0")).height=g*E}this.jSPlugin&&(this.jSPlugin.iHeight=g*E,this.jSPlugin.iWidth=m*E)}}},{key:"fast",value:function(m){var g=this,S=this.speed;if(m)var x=this.jSPlugin.JS_Fast(0,m);else{if(S===1)S=2;else if(S===2)S=4;else return typeof this.params.handleError=="function"&&this.params.handleError({msg:"播放速度最大为4倍速度",retcode:1003,id:this.id,type:"handleError"}),new Promise(function(L,r2){g.speed=S,r2({code:-1,data:{speed:S,result:"播放速度最大为4倍速度"}})});var x=this.jSPlugin.JS_Fast(0)}return new Promise(function(E){g.speed=S,E({code:0,data:{speed:S,result:x}})})}},{key:"slow",value:function(){var m=this,g=this.speed;if(g===4)g=2;else if(g===2)g=1;else return typeof this.params.handleError=="function"&&this.params.handleError({msg:"播放速度最小为1倍速度",retcode:1003,id:this.id,type:"handleError"}),new Promise(function(x,E){m.speed=g,E({code:-1,data:{speed:g,result:"播放速度最小为1倍速度"}})});var S=this.jSPlugin.JS_Slow(0);return new Promise(function(x){m.speed=g,x({code:0,data:{speed:g,result:S}})})}},{key:"seek",value:function(m,g){var S=this.url,x=(h("begin",S)||new Date().Format("yyyyMMdd")).substr(0,8);if(g=E(x,"235959"),m.length===6)m=E(x,m);else if(m.length===16){if(m.substr(0,8)!==x)return typeof this.params.handleError=="function"&&this.params.handleError({msg:"seek时间不能跨日期",retcode:-1,id:this.id,type:"handleError"}),!1}else return typeof this.params.handleError=="function"&&this.params.handleError({msg:"seek时间格式错误",retcode:-1,id:this.id,type:"handleError"}),!1;function E(r2,l2){var s2=/^[0-9]{8}T[0-9]{6}Z$/;if(s2.test(r2))return r2;if(/[0-9]{8,14}/.test(r2)){var Q=6-(14-r2.length),X=l2.length,D2=r2+l2.substring(Q,X);return D2.slice(0,8)+"T"+D2.slice(8)+"Z"}throw new Error("回放时间格式有误,请确认")}var L=this.jSPlugin.JS_Seek(0,m,g);return console.log("seekRT",L),d(L)?L:new Promise(function(r2){r2(L)})}},{key:"fullScreen",value:function(){var m=this,g=b(document.getElementById("".concat(this.id)));g.then(function(x){console.log("全屏promise",window.screen.availWidth),m.jSPlugin.JS_Resize(window.screen.availWidth,window.screen.availHeight),typeof m.params.fullScreenCallBack=="function"&&m.params.fullScreenCallBack({id:m.id,type:"fullScreen",code:0})});var S=function(){var E=document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen;E||m.jSPlugin.JS_Resize(m.width,m.height),typeof m.params.fullScreenChangeCallBack=="function"&&m.params.fullScreenChangeCallBack({id:m.id,type:"fullScreen",code:E})};["fullscreenchange","webkitfullscreenchange","mozfullscreenchange"].forEach(function(x){window.addEventListener(x,function(E){return S()})})}},{key:"cancelFullScreen",value:function(){var m=this,g=U();g.then(function(S){console.log("取消全屏",S,m.jSPlugin),m.jSPlugin.JS_Resize(m.width,m.height)})}},{key:"startTalk",value:function(){this.Talk.startTalk()}},{key:"stopTalk",value:function(){this.Talk.stopTalk()}},{key:"destroy",value:function(){var m=this.jSPlugin.JS_DestroyWorker(0);return this.Theme&&(this.Theme=null,window.EZUIKit[this.params.id].state.EZUIKitPlayer.themeInit=!1),d(m)?m:new Promise(function(g){g(m)})}},{key:"getDeviceCapacity",value:function(m){var g=this,S=this.env.domain;this.env&&(S=this.env.domain);var x=S+"/api/lapp/device/capacity",E=function(l2){l2.code==200&&l2.data&&(g.capacity=l2.data)},L=m||{accessToken:this.accessToken,deviceSerial:P(this.url).deviceSerial};j(x,"POST",L,"",E)}},{key:"pause",value:function(){var m=this;return new Promise(function(g,S){m.jSPlugin.JS_CloseSound(0),m.jSPlugin.JS_Pause(0,function(x){m.setPoster(x.base64)}).then(function(x){m.Theme&&m.Theme.setDecoderState({play:!1}),g()}).catch(function(x){console.log(x),S(x)})})}},{key:"_resume",value:function(m){var g=this;return new Promise(function(S,x){g.pluginStatus.setPlayStatus({play:!1,loading:!0}),g.jSPlugin.JS_Resume(m).then(function(E){if(setTimeout(function(){g.url.indexOf(".rec")!==-1&&g.speed!=1&&g.jSPlugin.JS_Speed(g.speed)},500),g.Theme){g.Theme.setDecoderState({play:!0,speed:g.speed});var L=g.Theme.decoderState.state.sound;L&&setTimeout(function(){g.openSound()},500)}S(E)}).catch(function(E){console.log("resume err",E),x(E)})})}}]),R}(),x2=null;function r3(R,N,m,g){return new WebControl({szPluginContainer:R,iServicePortStart:14510,iServicePortEnd:14519,cbConnectSuccess:N,cbConnectError:m,cbConnectClose:g})}function o3(){x2!=null&&(x2.JS_DestroyWnd().then(function(){console.log("JS_DestroyWnd")},function(){}),x2.JS_StopService("window").then(function(){x2.JS_Disconnect().then(function(){console.log("JS_Disconnect")},function(){})}))}function u3(R){R.responseMsg.eventName,console.log(R.responseMsg)}function Q3(){x2.JS_SetWindowControlCallback({cbIntegrationCallBack:u3}),x2.JS_StartService("window",{dllPath:"./chain/cloudTransform.dll"}).then(function(){x2.JS_CreateWnd("playWnd",900,500).then(function(){console.log("JS_CreateWnd success")})})}function i1(){console.log("cbConnectError"),x2=null,console.error("确认本地进程是否已安装并开启成功!")}function M1(R){console.log("cbConnectClose"),x2=null}window.onscroll=function(){x2!=null&&x2.JS_Resize(900,500)},window.onresize=function(){x2!=null&&x2.JS_Resize(900,500)},window.onunload=function(){try{x2.JS_HideWnd(),o3()}catch(R){console.error(R)}},window.onpagehide=function(){try{x2.JS_HideWnd()}catch(R){console.error(R)}};var e1=function(){function R(N){var m=this;i(this,R),s(this,"changeModel",function(g,S){var x=m;m.switchVideo=parseInt(g),x2&&x2.JS_RequestInterface({funcName:"ChangeModel",arguments:encodeURI(JSON.stringify({model:g}))}).then(function(E){g==0?x.play({deviceSerial:S.deviceSerial,channelNo:S.channelNo,validateCode:S.validateCode}):x.play({deviceSerial:S.deviceSerial,channelNo:S.channelNo,validateCode:S.validateCode,startTime:S.startTime,endTime:S.endTime})})}),s(this,"init",function(g){var S,x=m;if(!g.appKey||!g.accessToken){x.showTips(!1,"请输入appkey和token");return}typeof g.appKey!="undefined"&&(m.appKey=g.appKey),typeof g.accessToken!="undefined"&&(m.accessToken=g.accessToken),typeof g.platformId!="undefined"&&(m.platformId=g.platformId);var E=(S={layout:+x.layout,userName:"",waterMark:""},s(S,"waterMark","1"),s(S,"iWndType",0),s(S,"intelligenceEnable",1),s(S,"isRecord",1),s(S,"isSetPos",1),s(S,"motionDetectEnable",0),s(S,"playBackAlarmOverlyingEnable",0),s(S,"response",{code:0,message:null,data:{appKey:g.appKey,ezvizToken:g.accessToken,videoLevel:0,logLevel:3,showMainTool:1,showSubTool:1,waterMark:"1",userName:"openteam",platformId:g.platformId}}),S);console.log("初始化入参",E),x2.JS_RequestInterface({funcName:"Init",arguments:encodeURI(JSON.stringify(E))}).then(function(L){console.log(L.responseMsg),x.showTips(!0,"视频初始化成功!")})}),s(this,"play",function(g){var S=m;if(!(!g.deviceSerial||!g.channelNo)){typeof g.deviceSerial!="undefined"&&(m.deviceSerial=g.deviceSerial),typeof g.channelNo!="undefined"&&(m.channelNo=g.channelNo),typeof g.startTime!="undefined"&&g.startTime&&(m.startTime=g.startTime+" 00:00:00"),typeof g.endTime!="undefined"&&g.endTime&&(m.endTime=g.endTime+" 23:59:59"),typeof g.validateCode!="undefined"&&g.validateCode&&(m.validateCode=g.validateCode);var x={response:{code:0,message:null,data:{deviceSerial:g.deviceSerial,channelCode:g.channelNo,channelNo:+g.channelNo,codeIsEncrypt:0,validateCode:g.validateCode,deviceClass:S.deviceClass,deviceType:"10222",channelId:"2222222222",channelName:"channelNameTest",storeName:"storeName",storeId:"storeid",startTime:m.startTime,endTime:m.endTime}}};S.deviceClass==="1"?(x.response.data.channelCode=S.channelNo,x.response.data.platformId=S.platformId):x.response.data.channelNo=+S.channelNo,m.switchVideo===1&&(m.startTime&&(x.response.data.startTime=m.startTime),m.endTime&&(x.response.data.endTime=m.endTime)),console.log("预览/回放入参",x),x2.JS_RequestInterface({funcName:m.switchVideo===0?"StartPreview":"StartPlayback",arguments:encodeURI(JSON.stringify(x))}).then(function(E){console.log(E.responseMsg),S.showTips(!0,"预览/回放成功!")}).catch(function(E){console.log("开始播放:",E)})}}),s(this,"showCBInfo",function(g){m.callbackMessage=m.callbackMessage+JSON.stringify(g)+` `,console.log(m.callbackMessage)}),s(this,"showTips",function(g,S){}),s(this,"hideVideo",function(){x2.JS_HideWnd()}),s(this,"showVideo",function(){x2.JS_ShowWnd()}),s(this,"GetLayout",function(){var g=null;x2.JS_RequestInterface({funcName:"GetLayout",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:g}}))}).then(function(S){console.log(JSON.stringify(S.responseMsg)),console.log(S.responseMsg)})}),s(this,"capturePicture",function(g){var S=null;x2.JS_RequestInterface({funcName:"CaptureJPGEx",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:S}}))}).then(function(x){console.log(JSON.stringify(x.responseMsg)),console.log(x.responseMsg)})}),s(this,"stop",function(){var g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:-1;x2.JS_RequestInterface({funcName:"StopPlay",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(g)}}}))}).then(function(S){console.log(JSON.stringify(S.responseMsg)),console.log(S.responseMsg)})}),s(this,"setLayout",function(g){var S=parseInt(g);if(isNaN(S)||S==0||S>=13){console.log("不支持实际布局大于16的窗口数");return}m.layout=S,x2.JS_RequestInterface({funcName:"SetLayout",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{layout:S}}}))}).then(function(x){console.log(JSON.stringify(x.responseMsg)),console.log(x.responseMsg)})}),s(this,"setSoundVolumn",function(){var g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:-1,S=arguments.length>1?arguments[1]:void 0;x2.JS_RequestInterface({funcName:"SoundVolumn",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(g),volumn:parseInt(S)}}}))}).then(function(x){console.log(JSON.stringify(x.responseMsg)),console.log(x.responseMsg)})}),s(this,"testMute",function(){var g=parseInt(prompt("请输入窗口ID"));x2.JS_RequestInterface({funcName:"MuteOnOff",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:g}}}))}).then(function(S){console.log(JSON.stringify(S.responseMsg)),console.log(S.responseMsg)})}),s(this,"testSelectWnd",function(){var g=parseInt(prompt("请输入窗口ID"));x2.JS_RequestInterface({funcName:"SelectPlayWnd",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:g}}}))}).then(function(S){console.log(JSON.stringify(S.responseMsg)),console.log(S.responseMsg)})}),s(this,"setVideoLevel",function(g,S){x2.JS_RequestInterface({funcName:"SetVideoLevel",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:m.switchVideo==1?0:parseInt(g),level:parseInt(S,10)}}}))}).then(function(x){console.log(JSON.stringify(x.responseMsg)),console.log(x.responseMsg)})}),s(this,"startTalk",function(g){x2.JS_RequestInterface({funcName:"StartTalk",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(g)}}}))}).then(function(S){console.log(JSON.stringify(S.responseMsg)),console.log(S.responseMsg)})}),s(this,"stopTalk",function(g){x2.JS_RequestInterface({funcName:"StopTalk",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(g)}}}))}).then(function(S){console.log(JSON.stringify(S.responseMsg)),console.log(S.responseMsg)})}),s(this,"startSave",function(g){x2.JS_RequestInterface({funcName:"StartRecord",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(g)}}}))}).then(function(S){console.log(JSON.stringify(S.responseMsg)),console.log(S.responseMsg)})}),s(this,"stopSave",function(g){x2.JS_RequestInterface({funcName:"StopRecord",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(g)}}}))}).then(function(S){console.log(JSON.stringify(S.responseMsg)),console.log(S.responseMsg)})}),this.appKey="b9a3ad6e8026410095d8252169fa430a",this.accessToken="at.2vtum8873rrcwbrv431qb6pn94dkbv23-8dw2twn355-1u3x014-wrthellzk",this.deviceSerial="C33368372",this.channelNo="1",this.validateCode="",this.deviceClass="0",this.platformId="",this.startTime="",this.endTime="",this.layout=2,this.switchVideo=0,this.tips="调用成功",this.successTip=!1,this.tipsShow=!1,x2=r3("playWnd",Q3,i1,M1)}return a(R,[{key:"alarmMsg",value:function(){var m={request:{body:{alarmTypes:[10800,0,0,0,0],channelId:"066dde0465dd4abaab6afe355baf9d0b",endTime:"1621007999000",startTime:"1620921600000"},callBack:"GetAlarmMsgOrders",majorKey:"",method:"POST",storeId:"",url:"/videoplugin/message/getMessageByTypes"},response:{code:0,message:null,data:[{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620921217e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620920678e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620920586e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620919513e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620919483e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620919333e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620918913e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620918616e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620918305e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620917858e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620917658e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620917244e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620917064e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620916994e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620916668e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620916571e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620916529e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620916343e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620916081e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620915825e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620915676e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620915531e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620915394e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620915197e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620914971e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620914644e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620914533e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620914457e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620914376e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620914284e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620913973e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620913431e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620912834e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620912771e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620912354e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620912275e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620912093e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620912024e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162091189e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620911839e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620911807e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162091176e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620911682e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162091127e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620911184e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910982e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910931e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910851e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910781e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910727e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910677e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910647e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910588e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910544e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910484e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162091041e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162091035e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910278e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910217e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910124e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909976e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909939e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909847e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909817e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909736e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909664e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909605e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909575e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909346e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909247e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909216e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909149e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090912e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909028e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908999e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908969e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908909e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090888e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908835e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090875e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090872e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908652e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908612e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908582e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908552e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908456e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908426e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908299e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908268e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090805e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620907918e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620907758e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620907625e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620907386e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620907292e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620907127e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906864e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906828e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906797e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906747e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906717e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906632e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906501e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906412e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906368e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906329e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906142e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906112e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906013e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905946e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905823e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905697e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905622e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905571e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905541e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905511e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905481e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905442e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905412e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905382e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905352e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905322e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905262e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905196e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090515e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904994e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904931e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904813e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090473e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:16209047e5},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904618e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904286e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904173e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904143e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904112e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904053e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904023e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903854e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903789e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903723e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903643e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903612e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903573e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903505e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903383e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903329e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903299e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903268e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:16209032e5},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903149e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090312e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902977e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090286e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090277e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902639e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902609e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902517e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902373e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090232e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902253e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902198e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902132e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090194e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090185e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901789e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901746e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901685e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901638e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090152e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901489e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901424e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901271e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901233e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901157e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900915e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900834e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900774e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900744e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090065e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090044e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900409e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900175e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900134e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900069e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900016e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899976e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899908e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899879e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899826e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899756e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899599e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899559e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899467e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899406e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899265e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899211e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089914e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089911e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089905e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898991e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898926e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898834e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898785e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898746e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898697e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898666e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898507e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898293e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898248e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898218e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898157e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898088e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089802e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089796e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089785e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897807e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897771e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897719e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089769e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089763e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:16208976e5},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089757e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089754e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897475e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897412e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897369e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897339e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897279e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897237e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897207e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897172e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897142e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897112e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897024e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896985e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896874e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896843e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896814e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896783e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896736e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896621e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896478e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896447e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896358e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896307e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896277e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896247e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896214e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089604e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895953e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895921e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895868e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089577e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895704e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089559e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895559e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089548e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895442e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895377e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895347e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895293e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895171e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895136e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895017e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894926e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894896e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894864e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894834e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894738e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894599e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894539e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894426e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894359e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894297e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894213e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894183e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894051e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893964e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893934e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893843e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893754e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893676e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893606e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089353e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893452e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893423e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893357e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893288e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893143e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893051e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893006e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892904e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892824e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892764e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892541e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892479e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892412e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892311e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892281e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892209e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892063e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891991e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891931e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089187e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089181e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891708e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891655e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891585e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891531e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891501e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891401e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891297e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891257e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891216e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891178e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891128e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891033e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890973e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089094e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890879e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890794e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890714e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890616e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890586e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890469e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890414e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890346e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890288e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890179e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890108e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890041e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890011e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889937e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889719e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889635e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889481e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889451e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889317e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889227e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889139e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889034e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888973e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888902e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888837e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888767e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888737e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888706e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888633e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888571e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888413e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888353e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888323e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888249e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888162e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888e6},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887859e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887776e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887734e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887692e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887619e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887501e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887355e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162088732e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887289e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887126e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887066e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887034e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162088697e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886884e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886804e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886728e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886609e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886538e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886478e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886396e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886334e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886246e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886111e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886011e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885956e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885894e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885696e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885514e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885484e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885414e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885383e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885341e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885306e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885276e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885216e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885186e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885114e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885037e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885006e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620884975e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620884945e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620884911e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620884851e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162088478e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620884696e3}],success:!0}};console.log(m),x2.JS_RequestInterface({funcName:"TransFunctionResult",arguments:encodeURI(JSON.stringify(m))})}}]),R}();(function(R,N){t(n)==="object"&&t(n.exports)==="object"?n.exports=R.document?N(R,!0):function(m){if(!m.document)throw new Error("EZUIPlayer requires a window with a document");return N(m)}:N(R)})(typeof window!="undefined"?window:void 0,function(R,N){var m={Core:o,HLS:q,FLV:K,EZUIKitPlayer:W,EZUIKitHD:e1};return R.EZUIKit=m,m})})(Bo,Bo.exports);var xk=Bo.exports;const dT=wk(xk);var Ac=null;function Ak(n){return Ac||(Ac=(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(e){return setTimeout(e,16)}).bind(window)),Ac(n)}var Cc=null;function Ck(n){Cc||(Cc=(window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||function(e){clearTimeout(e)}).bind(window)),Cc(n)}function Mk(n){var e=document.createElement("style");return e.styleSheet?e.styleSheet.cssText=n:e.appendChild(document.createTextNode(n)),(document.querySelector("head")||document.body).appendChild(e),e}function s7(n,e){e===void 0&&(e={});var t=document.createElement(n);return Object.keys(e).forEach(function(i){t[i]=e[i]}),t}function hT(n,e,t){var i=window.getComputedStyle(n,t||null)||{display:"none"};return i[e]}function Zd(n){if(!document.documentElement.contains(n))return{detached:!0,rendered:!1};for(var e=n;e!==document;){if(hT(e,"display")==="none")return{detached:!1,rendered:!1};e=e.parentNode}return{detached:!1,rendered:!0}}var Ek='.resize-triggers{visibility:hidden;opacity:0;pointer-events:none}.resize-contract-trigger,.resize-contract-trigger:before,.resize-expand-trigger,.resize-triggers{content:"";position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden}.resize-contract-trigger,.resize-expand-trigger{background:#eee;overflow:auto}.resize-contract-trigger:before{width:200%;height:200%}',Qd=0,mo=null;function Pk(n,e){n.__resize_mutation_handler__||(n.__resize_mutation_handler__=Lk.bind(n));var t=n.__resize_listeners__;if(!t){if(n.__resize_listeners__=[],window.ResizeObserver){var i=n.offsetWidth,r=n.offsetHeight,a=new ResizeObserver(function(){!n.__resize_observer_triggered__&&(n.__resize_observer_triggered__=!0,n.offsetWidth===i&&n.offsetHeight===r)||zo(n)}),s=Zd(n),o=s.detached,l=s.rendered;n.__resize_observer_triggered__=o===!1&&l===!1,n.__resize_observer__=a,a.observe(n)}else if(n.attachEvent&&n.addEventListener)n.__resize_legacy_resize_handler__=function(){zo(n)},n.attachEvent("onresize",n.__resize_legacy_resize_handler__),document.addEventListener("DOMSubtreeModified",n.__resize_mutation_handler__);else if(Qd||(mo=Mk(Ek)),Ik(n),n.__resize_rendered__=Zd(n).rendered,window.MutationObserver){var u=new MutationObserver(n.__resize_mutation_handler__);u.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0}),n.__resize_mutation_observer__=u}}n.__resize_listeners__.push(e),Qd++}function Rk(n,e){var t=n.__resize_listeners__;if(t){if(e&&t.splice(t.indexOf(e),1),!t.length||!e){if(n.detachEvent&&n.removeEventListener){n.detachEvent("onresize",n.__resize_legacy_resize_handler__),document.removeEventListener("DOMSubtreeModified",n.__resize_mutation_handler__);return}n.__resize_observer__?(n.__resize_observer__.unobserve(n),n.__resize_observer__.disconnect(),n.__resize_observer__=null):(n.__resize_mutation_observer__&&(n.__resize_mutation_observer__.disconnect(),n.__resize_mutation_observer__=null),n.removeEventListener("scroll",cf),n.removeChild(n.__resize_triggers__.triggers),n.__resize_triggers__=null),n.__resize_listeners__=null}!--Qd&&mo&&mo.parentNode.removeChild(mo)}}function Nk(n){var e=n.__resize_last__,t=e.width,i=e.height,r=n.offsetWidth,a=n.offsetHeight;return r!==t||a!==i?{width:r,height:a}:null}function Lk(){var n=Zd(this),e=n.rendered,t=n.detached;e!==this.__resize_rendered__&&(!t&&this.__resize_triggers__&&(df(this),this.addEventListener("scroll",cf,!0)),this.__resize_rendered__=e,zo(this))}function cf(){var n=this;df(this),this.__resize_raf__&&Ck(this.__resize_raf__),this.__resize_raf__=Ak(function(){var e=Nk(n);e&&(n.__resize_last__=e,zo(n))})}function zo(n){!n||!n.__resize_listeners__||n.__resize_listeners__.forEach(function(e){e.call(n,n)})}function Ik(n){var e=hT(n,"position");(!e||e==="static")&&(n.style.position="relative"),n.__resize_old_position__=e,n.__resize_last__={};var t=s7("div",{className:"resize-triggers"}),i=s7("div",{className:"resize-expand-trigger"}),r=s7("div"),a=s7("div",{className:"resize-contract-trigger"});i.appendChild(r),t.appendChild(i),t.appendChild(a),n.appendChild(t),n.__resize_triggers__={triggers:t,expand:i,expandChild:r,contract:a},df(n),n.addEventListener("scroll",cf,!0),n.__resize_last__={width:n.offsetWidth,height:n.offsetHeight}}function df(n){var e=n.__resize_triggers__,t=e.expand,i=e.expandChild,r=e.contract,a=r.scrollWidth,s=r.scrollHeight,o=t.offsetWidth,l=t.offsetHeight,u=t.scrollWidth,d=t.scrollHeight;r.scrollLeft=a,r.scrollTop=s,i.style.width=o+1+"px",i.style.height=l+1+"px",t.scrollLeft=u,t.scrollTop=d}var li=function(){return li=Object.assign||function(n){for(var e,t=1,i=arguments.length;t{let s=e.width;return`M165 0.5 L165.707 -0.207107 L165.414 -0.5 H165 V0.5Z M10 0.5 V-0.5 H9.58579 L9.29289 -0.207107 L10 0.5Z M175 10.5 L174.293 11.2071 L174.586 11.5 H175 V10.5Z M${s} 10.5 H${s+1} V9.5 H${s} V10.5Z M${s} 34.5 V35.5 H${s+1} V34.5 H${s}Z M0 34.5 H-1 V35.5 H0 V34.5Z M0 10.5 L-0.707107 9.79289 L-1 10.0858 V10.5 H0Z M165 -0.5 H10 V1.5 H165 V-0.5Z M175.707 9.79289 L165.707 -0.207107 L164.293 1.20711 L174.293 11.2071 L175.707 9.79289Z M${s} 9.5 H175 V11.5 H${s} V9.5Z M${s+1} 34.5 V10.5 H397 V34.5 H${s+1}Z M0 35.5 H${s} V33.5 H0 V35.5Z M-1 10.5 V34.5 H1 V10.5 H-1Z M9.29289 -0.207107 L-0.707107 9.79289 L0.707107 11.2071 L10.7071 1.20711 L9.29289 -0.207107Z`}),r=z2(()=>{let o=e.height-156,l=e.width;return`M3.485 ${46.0565+o/2} V${45.8735+o/2} L3.36682 ${45.7337+o/2} L0.5 ${42.343+o/2} V1 H${l-.5} V${42.3431+o/2} L${l-3.367} ${45.7337+o/2} L${l-3.485} ${45.8735+o/2} V${46.0565+o/2} L${l-3.367} ${88.745+o/2} L${l-.5} ${92.135+o/2} V${155+o} H0.5 V${92.135+o/2} L3.36682 ${88.745+o/2} L3.485 ${88.605+o/2} V${88.422+o/2} V${46.0565+o/2}Z`}),a=z2(()=>`width:${e.width}px;height:${e.height}px;`);return Fn(()=>{t.value="__"+cb().uid}),(s,o)=>(h2(),v2("div",{class:"m-card",style:p0(a.value)},[M("div",qk,[M("div",Kk,[(h2(),v2("svg",{width:n.width,height:"36",viewBox:`0 0 ${n.width} 36`,fill:"none",xmlns:"http://www.w3.org/2000/svg"},[M("g",{"clip-path":`url(#clip0_70_69244${t.value})`},[M("rect",{y:"34.5",width:n.width,height:"1",fill:"url(#paint0_linear_70_69244)"},null,8,Zk),M("mask",{id:`path-2-inside-1_70_69244${t.value}`,fill:"white"},[M("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:`M10 0.5H165L175 10.5H${n.width}V34.5H0V10.5L10 0.5Z`},null,8,eF)],8,Qk),M("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:`M10 0.5H165L175 10.5H${n.width}V34.5H0V10.5L10 0.5Z`,fill:`url(#paint1_linear_70_69244${t.value})`},null,8,tF),M("path",{d:i.value,fill:`url(#paint2_linear_70_69244${t.value})`,mask:`url(#path-2-inside-1_70_69244${t.value})`},null,8,nF),o[1]||(o[1]=K9('',4)),M("g",{style:{"mix-blend-mode":"plus-lighter"},"clip-path":`url(#clip1_70_69244${t.value})`},[...o[0]||(o[0]=[K9('',4)])],8,iF)],8,Jk),M("defs",null,[M("linearGradient",{id:"paint0_linear_70_69244",x1:n.width,y1:"35.5021",x2:"0",y2:"35.5021",gradientUnits:"userSpaceOnUse"},[...o[2]||(o[2]=[M("stop",{"stop-color":"#35A8EB","stop-opacity":"0.1"},null,-1),M("stop",{offset:"1","stop-color":"#30DCFF"},null,-1)])],8,rF),M("linearGradient",{id:`paint1_linear_70_69244${t.value}`,x1:n.width,y1:"17.5",x2:"7.94819",y2:"17.5",gradientUnits:"userSpaceOnUse"},[...o[3]||(o[3]=[M("stop",{offset:"0.0364889","stop-color":"#35A8EB","stop-opacity":"0.11"},null,-1),M("stop",{offset:"1","stop-color":"#30C1FF","stop-opacity":"0.27"},null,-1)])],8,aF),M("linearGradient",{id:`paint2_linear_70_69244${t.value}`,x1:"40.8948",y1:"13.5",x2:"40.895",y2:"-6.50005",gradientUnits:"userSpaceOnUse"},[...o[4]||(o[4]=[M("stop",{"stop-color":"#35A8EB","stop-opacity":"0"},null,-1),M("stop",{offset:"1","stop-color":"#30DCFF"},null,-1)])],8,sF),o[6]||(o[6]=K9('',8)),M("clipPath",{id:`clip0_70_69244${t.value}`},[M("rect",{width:n.width,height:"35",fill:"white",transform:"translate(0 0.5)"},null,8,lF)],8,oF),M("clipPath",{id:`clip1_70_69244${t.value}`},[...o[5]||(o[5]=[M("rect",{width:"130",height:"4",fill:"white",transform:"matrix(1 1.64302e-07 -0.0495776 -0.99877 28 4.5)"},null,-1)])],8,uF)])],8,Xk))]),o[7]||(o[7]=M("img",{class:"m-card-hd-zs1",src:jk,alt:""},null,-1)),o[8]||(o[8]=M("div",{class:"saoguang"},[M("img",{src:Wk,alt:""})],-1)),M("div",cF,L2(n.title),1)]),M("div",{class:"m-card-bd",style:p0(a.value)},[M("div",{class:"m-card-bd-bg",style:p0(a.value)},[(h2(),v2("svg",{width:n.width,height:n.height,viewBox:`0 0 ${n.width} ${n.height}`,fill:"none",xmlns:"http://www.w3.org/2000/svg"},[M("g",hF,[M("path",{d:r.value,fill:"rgba(26, 57, 77,1)"},null,8,fF),M("path",{d:r.value,stroke:"url(#paint1_linear_70_69585)"},null,8,pF)]),o[9]||(o[9]=M("defs",null,[M("linearGradient",{id:"paint1_linear_70_69585",x1:"199",y1:"203.499",x2:"199",y2:"0.499359",gradientUnits:"userSpaceOnUse"},[M("stop",{"stop-color":"#4FC5DD"}),M("stop",{offset:"1","stop-color":"#05839D","stop-opacity":"0"})])],-1))],8,dF)),o[10]||(o[10]=M("img",{class:"m-card-bd-bottom-left-arrow",src:$k,alt:""},null,-1)),o[11]||(o[11]=M("img",{class:"m-card-bd-bottom-right-arrow",src:Yk,alt:""},null,-1)),o[12]||(o[12]=M("img",{class:"m-card-bd-middle-left-line",src:ov,alt:""},null,-1)),o[13]||(o[13]=M("img",{class:"m-card-bd-middle-right-line",src:ov,alt:""},null,-1))],4),M("div",mF,[Rr(s.$slots,"default")])],4)],4))}};/** * @license * Copyright 2010-2023 Three.js Authors * SPDX-License-Identifier: MIT */const hf="161",L8={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},I8={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},gF=0,lv=1,vF=2,pT=1,yF=2,$i=3,n5=0,Nn=1,he=2,X5=0,e8=1,Tt=2,uv=3,cv=4,mT=5,O5=100,_F=101,SF=102,dv=103,hv=104,bF=200,gT=201,TF=202,wF=203,eh=204,th=205,xF=206,AF=207,vT=208,CF=209,MF=210,EF=211,PF=212,RF=213,NF=214,LF=0,IF=1,kF=2,Go=3,FF=4,DF=5,UF=6,OF=7,ff=0,BF=1,zF=2,J5=0,GF=1,VF=2,HF=3,jF=4,WF=5,$F=6,fv="attached",YF="detached",yT=300,Ur=301,Or=302,nh=303,ih=304,Pl=306,wt=1e3,Yt=1001,Vo=1002,ht=1003,rh=1004,rr=1005,at=1006,go=1007,Zi=1008,Z5=1009,qF=1010,KF=1011,pf=1012,_T=1013,H5=1014,fi=1015,M4=1016,ST=1017,bT=1018,t8=1020,XF=1021,A6=1023,JF=1024,ZF=1025,n8=1026,Br=1027,QF=1028,TT=1029,eD=1030,wT=1031,xT=1033,Mc=33776,Ec=33777,Pc=33778,Rc=33779,pv=35840,mv=35841,gv=35842,vv=35843,AT=36196,yv=37492,_v=37496,Sv=37808,bv=37809,Tv=37810,wv=37811,xv=37812,Av=37813,Cv=37814,Mv=37815,Ev=37816,Pv=37817,Rv=37818,Nv=37819,Lv=37820,Iv=37821,Nc=36492,kv=36494,Fv=36495,tD=36283,Dv=36284,Uv=36285,Ov=36286,E4=2300,zr=2301,Lc=2302,Bv=2400,zv=2401,Gv=2402,nD=2500,iD=0,CT=1,ah=2,MT=3e3,i8=3001,rD=3200,aD=3201,mf=0,sD=1,C6="",J0="srgb",mt="srgb-linear",gf="display-p3",Rl="display-p3-linear",Ho="linear",Ce="srgb",jo="rec709",Wo="p3",k8=7680,Vv=519,oD=512,lD=513,uD=514,ET=515,cD=516,dD=517,hD=518,fD=519,sh=35044,Hv="300 es",oh=1035,Qi=2e3,$o=2001;class f8{addEventListener(e,t){this._listeners===void 0&&(this._listeners={});const i=this._listeners;i[e]===void 0&&(i[e]=[]),i[e].indexOf(t)===-1&&i[e].push(t)}hasEventListener(e,t){if(this._listeners===void 0)return!1;const i=this._listeners;return i[e]!==void 0&&i[e].indexOf(t)!==-1}removeEventListener(e,t){if(this._listeners===void 0)return;const r=this._listeners[e];if(r!==void 0){const a=r.indexOf(t);a!==-1&&r.splice(a,1)}}dispatchEvent(e){if(this._listeners===void 0)return;const i=this._listeners[e.type];if(i!==void 0){e.target=this;const r=i.slice(0);for(let a=0,s=r.length;a>8&255]+zt[n>>16&255]+zt[n>>24&255]+"-"+zt[e&255]+zt[e>>8&255]+"-"+zt[e>>16&15|64]+zt[e>>24&255]+"-"+zt[t&63|128]+zt[t>>8&255]+"-"+zt[t>>16&255]+zt[t>>24&255]+zt[i&255]+zt[i>>8&255]+zt[i>>16&255]+zt[i>>24&255]).toLowerCase()}function ot(n,e,t){return Math.max(e,Math.min(t,n))}function vf(n,e){return(n%e+e)%e}function pD(n,e,t,i,r){return i+(n-e)*(r-i)/(t-e)}function mD(n,e,t){return n!==e?(t-n)/(e-n):0}function s4(n,e,t){return(1-t)*n+t*e}function gD(n,e,t,i){return s4(n,e,1-Math.exp(-t*i))}function vD(n,e=1){return e-Math.abs(vf(n,e*2)-e)}function yD(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*(3-2*n))}function _D(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*n*(n*(n*6-15)+10))}function SD(n,e){return n+Math.floor(Math.random()*(e-n+1))}function bD(n,e){return n+Math.random()*(e-n)}function TD(n){return n*(.5-Math.random())}function wD(n){n!==void 0&&(jv=n);let e=jv+=1831565813;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}function xD(n){return n*a4}function AD(n){return n*Gr}function lh(n){return(n&n-1)===0&&n!==0}function CD(n){return Math.pow(2,Math.ceil(Math.log(n)/Math.LN2))}function Yo(n){return Math.pow(2,Math.floor(Math.log(n)/Math.LN2))}function MD(n,e,t,i,r){const a=Math.cos,s=Math.sin,o=a(t/2),l=s(t/2),u=a((e+i)/2),d=s((e+i)/2),h=a((e-i)/2),f=s((e-i)/2),v=a((i-e)/2),_=s((i-e)/2);switch(r){case"XYX":n.set(o*d,l*h,l*f,o*u);break;case"YZY":n.set(l*f,o*d,l*h,o*u);break;case"ZXZ":n.set(l*h,l*f,o*d,o*u);break;case"XZX":n.set(o*d,l*_,l*v,o*u);break;case"YXY":n.set(l*v,o*d,l*_,o*u);break;case"ZYZ":n.set(l*_,l*v,o*d,o*u);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}function $6(n,e){switch(e.constructor){case Float32Array:return n;case Uint32Array:return n/4294967295;case Uint16Array:return n/65535;case Uint8Array:return n/255;case Int32Array:return Math.max(n/2147483647,-1);case Int16Array:return Math.max(n/32767,-1);case Int8Array:return Math.max(n/127,-1);default:throw new Error("Invalid component type.")}}function te(n,e){switch(e.constructor){case Float32Array:return n;case Uint32Array:return Math.round(n*4294967295);case Uint16Array:return Math.round(n*65535);case Uint8Array:return Math.round(n*255);case Int32Array:return Math.round(n*2147483647);case Int16Array:return Math.round(n*32767);case Int8Array:return Math.round(n*127);default:throw new Error("Invalid component type.")}}const yf={DEG2RAD:a4,RAD2DEG:Gr,generateUUID:P6,clamp:ot,euclideanModulo:vf,mapLinear:pD,inverseLerp:mD,lerp:s4,damp:gD,pingpong:vD,smoothstep:yD,smootherstep:_D,randInt:SD,randFloat:bD,randFloatSpread:TD,seededRandom:wD,degToRad:xD,radToDeg:AD,isPowerOfTwo:lh,ceilPowerOfTwo:CD,floorPowerOfTwo:Yo,setQuaternionFromProperEuler:MD,normalize:te,denormalize:$6};class F3{constructor(e=0,t=0){F3.prototype.isVector2=!0,this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const t=this.x,i=this.y,r=e.elements;return this.x=r[0]*t+r[3]*i+r[6],this.y=r[1]*t+r[4]*i+r[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const i=this.dot(e)/t;return Math.acos(ot(i,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,i=this.y-e.y;return t*t+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){const i=Math.cos(t),r=Math.sin(t),a=this.x-e.x,s=this.y-e.y;return this.x=a*i-s*r+e.x,this.y=a*r+s*i+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class w0{constructor(e,t,i,r,a,s,o,l,u){w0.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,t,i,r,a,s,o,l,u)}set(e,t,i,r,a,s,o,l,u){const d=this.elements;return d[0]=e,d[1]=r,d[2]=o,d[3]=t,d[4]=a,d[5]=l,d[6]=i,d[7]=s,d[8]=u,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],this}extractBasis(e,t,i){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),i.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const i=e.elements,r=t.elements,a=this.elements,s=i[0],o=i[3],l=i[6],u=i[1],d=i[4],h=i[7],f=i[2],v=i[5],_=i[8],b=r[0],y=r[3],w=r[6],U=r[1],P=r[4],O=r[7],j=r[2],q=r[5],K=r[8];return a[0]=s*b+o*U+l*j,a[3]=s*y+o*P+l*q,a[6]=s*w+o*O+l*K,a[1]=u*b+d*U+h*j,a[4]=u*y+d*P+h*q,a[7]=u*w+d*O+h*K,a[2]=f*b+v*U+_*j,a[5]=f*y+v*P+_*q,a[8]=f*w+v*O+_*K,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){const e=this.elements,t=e[0],i=e[1],r=e[2],a=e[3],s=e[4],o=e[5],l=e[6],u=e[7],d=e[8];return t*s*d-t*o*u-i*a*d+i*o*l+r*a*u-r*s*l}invert(){const e=this.elements,t=e[0],i=e[1],r=e[2],a=e[3],s=e[4],o=e[5],l=e[6],u=e[7],d=e[8],h=d*s-o*u,f=o*l-d*a,v=u*a-s*l,_=t*h+i*f+r*v;if(_===0)return this.set(0,0,0,0,0,0,0,0,0);const b=1/_;return e[0]=h*b,e[1]=(r*u-d*i)*b,e[2]=(o*i-r*s)*b,e[3]=f*b,e[4]=(d*t-r*l)*b,e[5]=(r*a-o*t)*b,e[6]=v*b,e[7]=(i*l-u*t)*b,e[8]=(s*t-i*a)*b,this}transpose(){let e;const t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,i,r,a,s,o){const l=Math.cos(a),u=Math.sin(a);return this.set(i*l,i*u,-i*(l*s+u*o)+s+e,-r*u,r*l,-r*(-u*s+l*o)+o+t,0,0,1),this}scale(e,t){return this.premultiply(Ic.makeScale(e,t)),this}rotate(e){return this.premultiply(Ic.makeRotation(-e)),this}translate(e,t){return this.premultiply(Ic.makeTranslation(e,t)),this}makeTranslation(e,t){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,t,0,0,1),this}makeRotation(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,-i,0,i,t,0,0,0,1),this}makeScale(e,t){return this.set(e,0,0,0,t,0,0,0,1),this}equals(e){const t=this.elements,i=e.elements;for(let r=0;r<9;r++)if(t[r]!==i[r])return!1;return!0}fromArray(e,t=0){for(let i=0;i<9;i++)this.elements[i]=e[i+t];return this}toArray(e=[],t=0){const i=this.elements;return e[t]=i[0],e[t+1]=i[1],e[t+2]=i[2],e[t+3]=i[3],e[t+4]=i[4],e[t+5]=i[5],e[t+6]=i[6],e[t+7]=i[7],e[t+8]=i[8],e}clone(){return new this.constructor().fromArray(this.elements)}}const Ic=new w0;function PT(n){for(let e=n.length-1;e>=0;--e)if(n[e]>=65535)return!0;return!1}function P4(n){return document.createElementNS("http://www.w3.org/1999/xhtml",n)}function ED(){const n=P4("canvas");return n.style.display="block",n}const Wv={};function r8(n){n in Wv||(Wv[n]=!0,console.warn(n))}const $v=new w0().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),Yv=new w0().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),l7={[mt]:{transfer:Ho,primaries:jo,toReference:n=>n,fromReference:n=>n},[J0]:{transfer:Ce,primaries:jo,toReference:n=>n.convertSRGBToLinear(),fromReference:n=>n.convertLinearToSRGB()},[Rl]:{transfer:Ho,primaries:Wo,toReference:n=>n.applyMatrix3(Yv),fromReference:n=>n.applyMatrix3($v)},[gf]:{transfer:Ce,primaries:Wo,toReference:n=>n.convertSRGBToLinear().applyMatrix3(Yv),fromReference:n=>n.applyMatrix3($v).convertLinearToSRGB()}},PD=new Set([mt,Rl]),X0={enabled:!0,_workingColorSpace:mt,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(n){if(!PD.has(n))throw new Error(`Unsupported working color space, "${n}".`);this._workingColorSpace=n},convert:function(n,e,t){if(this.enabled===!1||e===t||!e||!t)return n;const i=l7[e].toReference,r=l7[t].fromReference;return r(i(n))},fromWorkingColorSpace:function(n,e){return this.convert(n,this._workingColorSpace,e)},toWorkingColorSpace:function(n,e){return this.convert(n,e,this._workingColorSpace)},getPrimaries:function(n){return l7[n].primaries},getTransfer:function(n){return n===C6?Ho:l7[n].transfer}};function wr(n){return n<.04045?n*.0773993808:Math.pow(n*.9478672986+.0521327014,2.4)}function kc(n){return n<.0031308?n*12.92:1.055*Math.pow(n,.41666)-.055}let F8;class RT{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement=="undefined")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{F8===void 0&&(F8=P4("canvas")),F8.width=e.width,F8.height=e.height;const i=F8.getContext("2d");e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0,e.width,e.height),t=F8}return t.width>2048||t.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),t.toDataURL("image/jpeg",.6)):t.toDataURL("image/png")}static sRGBToLinear(e){if(typeof HTMLImageElement!="undefined"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&e instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&e instanceof ImageBitmap){const t=P4("canvas");t.width=e.width,t.height=e.height;const i=t.getContext("2d");i.drawImage(e,0,0,e.width,e.height);const r=i.getImageData(0,0,e.width,e.height),a=r.data;for(let s=0;s0&&(i.userData=this.userData),t||(e.textures[this.uuid]=i),i}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==yT)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case wt:e.x=e.x-Math.floor(e.x);break;case Yt:e.x=e.x<0?0:1;break;case Vo:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case wt:e.y=e.y-Math.floor(e.y);break;case Yt:e.y=e.y<0?0:1;break;case Vo:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}get encoding(){return r8("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===J0?i8:MT}set encoding(e){r8("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=e===i8?J0:C6}}pt.DEFAULT_IMAGE=null;pt.DEFAULT_MAPPING=yT;pt.DEFAULT_ANISOTROPY=1;class H0{constructor(e=0,t=0,i=0,r=1){H0.prototype.isVector4=!0,this.x=e,this.y=t,this.z=i,this.w=r}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,i,r){return this.x=e,this.y=t,this.z=i,this.w=r,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){const t=this.x,i=this.y,r=this.z,a=this.w,s=e.elements;return this.x=s[0]*t+s[4]*i+s[8]*r+s[12]*a,this.y=s[1]*t+s[5]*i+s[9]*r+s[13]*a,this.z=s[2]*t+s[6]*i+s[10]*r+s[14]*a,this.w=s[3]*t+s[7]*i+s[11]*r+s[15]*a,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,i,r,a;const l=e.elements,u=l[0],d=l[4],h=l[8],f=l[1],v=l[5],_=l[9],b=l[2],y=l[6],w=l[10];if(Math.abs(d-f)<.01&&Math.abs(h-b)<.01&&Math.abs(_-y)<.01){if(Math.abs(d+f)<.1&&Math.abs(h+b)<.1&&Math.abs(_+y)<.1&&Math.abs(u+v+w-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const P=(u+1)/2,O=(v+1)/2,j=(w+1)/2,q=(d+f)/4,K=(h+b)/4,c2=(_+y)/4;return P>O&&P>j?P<.01?(i=0,r=.707106781,a=.707106781):(i=Math.sqrt(P),r=q/i,a=K/i):O>j?O<.01?(i=.707106781,r=0,a=.707106781):(r=Math.sqrt(O),i=q/r,a=c2/r):j<.01?(i=.707106781,r=.707106781,a=0):(a=Math.sqrt(j),i=K/a,r=c2/a),this.set(i,r,a,t),this}let U=Math.sqrt((y-_)*(y-_)+(h-b)*(h-b)+(f-d)*(f-d));return Math.abs(U)<.001&&(U=1),this.x=(y-_)/U,this.y=(h-b)/U,this.z=(f-d)/U,this.w=Math.acos((u+v+w-1)/2),this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this.w=Math.max(e.w,Math.min(t.w,this.w)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this.w=Math.max(e,Math.min(t,this.w)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this.w+=(e.w-this.w)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this.z=e.z+(t.z-e.z)*i,this.w=e.w+(t.w-e.w)*i,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e[t+3]=this.w,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this.w=e.getW(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class LD extends f8{constructor(e=1,t=1,i={}){super(),this.isRenderTarget=!0,this.width=e,this.height=t,this.depth=1,this.scissor=new H0(0,0,e,t),this.scissorTest=!1,this.viewport=new H0(0,0,e,t);const r={width:e,height:t,depth:1};i.encoding!==void 0&&(r8("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."),i.colorSpace=i.encoding===i8?J0:C6),i=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:at,depthBuffer:!0,stencilBuffer:!1,depthTexture:null,samples:0},i),this.texture=new pt(r,i.mapping,i.wrapS,i.wrapT,i.magFilter,i.minFilter,i.format,i.type,i.anisotropy,i.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=i.generateMipmaps,this.texture.internalFormat=i.internalFormat,this.depthBuffer=i.depthBuffer,this.stencilBuffer=i.stencilBuffer,this.depthTexture=i.depthTexture,this.samples=i.samples}setSize(e,t,i=1){(this.width!==e||this.height!==t||this.depth!==i)&&(this.width=e,this.height=t,this.depth=i,this.texture.image.width=e,this.texture.image.height=t,this.texture.image.depth=i,this.dispose()),this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.isRenderTargetTexture=!0;const t=Object.assign({},e.texture.image);return this.texture.source=new NT(t),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class s8 extends LD{constructor(e=1,t=1,i={}){super(e,t,i),this.isWebGLRenderTarget=!0}}class LT extends pt{constructor(e=null,t=1,i=1,r=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=ht,this.minFilter=ht,this.wrapR=Yt,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class ID extends pt{constructor(e=null,t=1,i=1,r=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=ht,this.minFilter=ht,this.wrapR=Yt,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class Z6{constructor(e=0,t=0,i=0,r=1){this.isQuaternion=!0,this._x=e,this._y=t,this._z=i,this._w=r}static slerpFlat(e,t,i,r,a,s,o){let l=i[r+0],u=i[r+1],d=i[r+2],h=i[r+3];const f=a[s+0],v=a[s+1],_=a[s+2],b=a[s+3];if(o===0){e[t+0]=l,e[t+1]=u,e[t+2]=d,e[t+3]=h;return}if(o===1){e[t+0]=f,e[t+1]=v,e[t+2]=_,e[t+3]=b;return}if(h!==b||l!==f||u!==v||d!==_){let y=1-o;const w=l*f+u*v+d*_+h*b,U=w>=0?1:-1,P=1-w*w;if(P>Number.EPSILON){const j=Math.sqrt(P),q=Math.atan2(j,w*U);y=Math.sin(y*q)/j,o=Math.sin(o*q)/j}const O=o*U;if(l=l*y+f*O,u=u*y+v*O,d=d*y+_*O,h=h*y+b*O,y===1-o){const j=1/Math.sqrt(l*l+u*u+d*d+h*h);l*=j,u*=j,d*=j,h*=j}}e[t]=l,e[t+1]=u,e[t+2]=d,e[t+3]=h}static multiplyQuaternionsFlat(e,t,i,r,a,s){const o=i[r],l=i[r+1],u=i[r+2],d=i[r+3],h=a[s],f=a[s+1],v=a[s+2],_=a[s+3];return e[t]=o*_+d*h+l*v-u*f,e[t+1]=l*_+d*f+u*h-o*v,e[t+2]=u*_+d*v+o*f-l*h,e[t+3]=d*_-o*h-l*f-u*v,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,i,r){return this._x=e,this._y=t,this._z=i,this._w=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t=!0){const i=e._x,r=e._y,a=e._z,s=e._order,o=Math.cos,l=Math.sin,u=o(i/2),d=o(r/2),h=o(a/2),f=l(i/2),v=l(r/2),_=l(a/2);switch(s){case"XYZ":this._x=f*d*h+u*v*_,this._y=u*v*h-f*d*_,this._z=u*d*_+f*v*h,this._w=u*d*h-f*v*_;break;case"YXZ":this._x=f*d*h+u*v*_,this._y=u*v*h-f*d*_,this._z=u*d*_-f*v*h,this._w=u*d*h+f*v*_;break;case"ZXY":this._x=f*d*h-u*v*_,this._y=u*v*h+f*d*_,this._z=u*d*_+f*v*h,this._w=u*d*h-f*v*_;break;case"ZYX":this._x=f*d*h-u*v*_,this._y=u*v*h+f*d*_,this._z=u*d*_-f*v*h,this._w=u*d*h+f*v*_;break;case"YZX":this._x=f*d*h+u*v*_,this._y=u*v*h+f*d*_,this._z=u*d*_-f*v*h,this._w=u*d*h-f*v*_;break;case"XZY":this._x=f*d*h-u*v*_,this._y=u*v*h-f*d*_,this._z=u*d*_+f*v*h,this._w=u*d*h+f*v*_;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+s)}return t===!0&&this._onChangeCallback(),this}setFromAxisAngle(e,t){const i=t/2,r=Math.sin(i);return this._x=e.x*r,this._y=e.y*r,this._z=e.z*r,this._w=Math.cos(i),this._onChangeCallback(),this}setFromRotationMatrix(e){const t=e.elements,i=t[0],r=t[4],a=t[8],s=t[1],o=t[5],l=t[9],u=t[2],d=t[6],h=t[10],f=i+o+h;if(f>0){const v=.5/Math.sqrt(f+1);this._w=.25/v,this._x=(d-l)*v,this._y=(a-u)*v,this._z=(s-r)*v}else if(i>o&&i>h){const v=2*Math.sqrt(1+i-o-h);this._w=(d-l)/v,this._x=.25*v,this._y=(r+s)/v,this._z=(a+u)/v}else if(o>h){const v=2*Math.sqrt(1+o-i-h);this._w=(a-u)/v,this._x=(r+s)/v,this._y=.25*v,this._z=(l+d)/v}else{const v=2*Math.sqrt(1+h-i-o);this._w=(s-r)/v,this._x=(a+u)/v,this._y=(l+d)/v,this._z=.25*v}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let i=e.dot(t)+1;return iMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=i):(this._x=0,this._y=-e.z,this._z=e.y,this._w=i)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=i),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(ot(this.dot(e),-1,1)))}rotateTowards(e,t){const i=this.angleTo(e);if(i===0)return this;const r=Math.min(1,t/i);return this.slerp(e,r),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){const i=e._x,r=e._y,a=e._z,s=e._w,o=t._x,l=t._y,u=t._z,d=t._w;return this._x=i*d+s*o+r*u-a*l,this._y=r*d+s*l+a*o-i*u,this._z=a*d+s*u+i*l-r*o,this._w=s*d-i*o-r*l-a*u,this._onChangeCallback(),this}slerp(e,t){if(t===0)return this;if(t===1)return this.copy(e);const i=this._x,r=this._y,a=this._z,s=this._w;let o=s*e._w+i*e._x+r*e._y+a*e._z;if(o<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,o=-o):this.copy(e),o>=1)return this._w=s,this._x=i,this._y=r,this._z=a,this;const l=1-o*o;if(l<=Number.EPSILON){const v=1-t;return this._w=v*s+t*this._w,this._x=v*i+t*this._x,this._y=v*r+t*this._y,this._z=v*a+t*this._z,this.normalize(),this}const u=Math.sqrt(l),d=Math.atan2(u,o),h=Math.sin((1-t)*d)/u,f=Math.sin(t*d)/u;return this._w=s*h+this._w*f,this._x=i*h+this._x*f,this._y=r*h+this._y*f,this._z=a*h+this._z*f,this._onChangeCallback(),this}slerpQuaternions(e,t,i){return this.copy(e).slerp(t,i)}random(){const e=Math.random(),t=Math.sqrt(1-e),i=Math.sqrt(e),r=2*Math.PI*Math.random(),a=2*Math.PI*Math.random();return this.set(t*Math.cos(r),i*Math.sin(a),i*Math.cos(a),t*Math.sin(r))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class k2{constructor(e=0,t=0,i=0){k2.prototype.isVector3=!0,this.x=e,this.y=t,this.z=i}set(e,t,i){return i===void 0&&(i=this.z),this.x=e,this.y=t,this.z=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(qv.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(qv.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,i=this.y,r=this.z,a=e.elements;return this.x=a[0]*t+a[3]*i+a[6]*r,this.y=a[1]*t+a[4]*i+a[7]*r,this.z=a[2]*t+a[5]*i+a[8]*r,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,i=this.y,r=this.z,a=e.elements,s=1/(a[3]*t+a[7]*i+a[11]*r+a[15]);return this.x=(a[0]*t+a[4]*i+a[8]*r+a[12])*s,this.y=(a[1]*t+a[5]*i+a[9]*r+a[13])*s,this.z=(a[2]*t+a[6]*i+a[10]*r+a[14])*s,this}applyQuaternion(e){const t=this.x,i=this.y,r=this.z,a=e.x,s=e.y,o=e.z,l=e.w,u=2*(s*r-o*i),d=2*(o*t-a*r),h=2*(a*i-s*t);return this.x=t+l*u+s*h-o*d,this.y=i+l*d+o*u-a*h,this.z=r+l*h+a*d-s*u,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,i=this.y,r=this.z,a=e.elements;return this.x=a[0]*t+a[4]*i+a[8]*r,this.y=a[1]*t+a[5]*i+a[9]*r,this.z=a[2]*t+a[6]*i+a[10]*r,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this.z=e.z+(t.z-e.z)*i,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){const i=e.x,r=e.y,a=e.z,s=t.x,o=t.y,l=t.z;return this.x=r*l-a*o,this.y=a*s-i*l,this.z=i*o-r*s,this}projectOnVector(e){const t=e.lengthSq();if(t===0)return this.set(0,0,0);const i=e.dot(this)/t;return this.copy(e).multiplyScalar(i)}projectOnPlane(e){return Dc.copy(this).projectOnVector(e),this.sub(Dc)}reflect(e){return this.sub(Dc.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const i=this.dot(e)/t;return Math.acos(ot(i,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,i=this.y-e.y,r=this.z-e.z;return t*t+i*i+r*r}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,i){const r=Math.sin(t)*e;return this.x=r*Math.sin(i),this.y=Math.cos(t)*e,this.z=r*Math.cos(i),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,i){return this.x=e*Math.sin(t),this.y=i,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){const t=this.setFromMatrixColumn(e,0).length(),i=this.setFromMatrixColumn(e,1).length(),r=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=i,this.z=r,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,t*4)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,t*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=(Math.random()-.5)*2,t=Math.random()*Math.PI*2,i=Math.sqrt(1-Oi(e,2));return this.x=i*Math.cos(t),this.y=i*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const Dc=new k2,qv=new Z6;class F6{constructor(e=new k2(1/0,1/0,1/0),t=new k2(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromArray(e){this.makeEmpty();for(let t=0,i=e.length;tthis.max.x||e.ythis.max.y||e.zthis.max.z)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return!(e.max.xthis.max.x||e.max.ythis.max.y||e.max.zthis.max.z)}intersectsSphere(e){return this.clampPoint(e.center,V6),V6.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,i;return e.normal.x>0?(t=e.normal.x*this.min.x,i=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,i=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,i+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,i+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,i+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,i+=e.normal.z*this.min.z),t<=-e.constant&&i>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(Ia),c7.subVectors(this.max,Ia),D8.subVectors(e.a,Ia),U8.subVectors(e.b,Ia),O8.subVectors(e.c,Ia),M5.subVectors(U8,D8),E5.subVectors(O8,U8),N9.subVectors(D8,O8);let t=[0,-M5.z,M5.y,0,-E5.z,E5.y,0,-N9.z,N9.y,M5.z,0,-M5.x,E5.z,0,-E5.x,N9.z,0,-N9.x,-M5.y,M5.x,0,-E5.y,E5.x,0,-N9.y,N9.x,0];return!Uc(t,D8,U8,O8,c7)||(t=[1,0,0,0,1,0,0,0,1],!Uc(t,D8,U8,O8,c7))?!1:(d7.crossVectors(M5,E5),t=[d7.x,d7.y,d7.z],Uc(t,D8,U8,O8,c7))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,V6).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(V6).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(Bi[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),Bi[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),Bi[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),Bi[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),Bi[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),Bi[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),Bi[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),Bi[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(Bi),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const Bi=[new k2,new k2,new k2,new k2,new k2,new k2,new k2,new k2],V6=new k2,u7=new F6,D8=new k2,U8=new k2,O8=new k2,M5=new k2,E5=new k2,N9=new k2,Ia=new k2,c7=new k2,d7=new k2,L9=new k2;function Uc(n,e,t,i,r){for(let a=0,s=n.length-3;a<=s;a+=3){L9.fromArray(n,a);const o=r.x*Math.abs(L9.x)+r.y*Math.abs(L9.y)+r.z*Math.abs(L9.z),l=e.dot(L9),u=t.dot(L9),d=i.dot(L9);if(Math.max(-Math.max(l,u,d),Math.min(l,u,d))>o)return!1}return!0}const kD=new F6,ka=new k2,Oc=new k2;class D6{constructor(e=new k2,t=-1){this.isSphere=!0,this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){const i=this.center;t!==void 0?i.copy(t):kD.setFromPoints(e).getCenter(i);let r=0;for(let a=0,s=e.length;athis.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;ka.subVectors(e,this.center);const t=ka.lengthSq();if(t>this.radius*this.radius){const i=Math.sqrt(t),r=(i-this.radius)*.5;this.center.addScaledVector(ka,r/i),this.radius+=r}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(Oc.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(ka.copy(e.center).add(Oc)),this.expandByPoint(ka.copy(e.center).sub(Oc))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const zi=new k2,Bc=new k2,h7=new k2,P5=new k2,zc=new k2,f7=new k2,Gc=new k2;class Zr{constructor(e=new k2,t=new k2(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,zi)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);const i=t.dot(this.direction);return i<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,i)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const t=zi.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(zi.copy(this.origin).addScaledVector(this.direction,t),zi.distanceToSquared(e))}distanceSqToSegment(e,t,i,r){Bc.copy(e).add(t).multiplyScalar(.5),h7.copy(t).sub(e).normalize(),P5.copy(this.origin).sub(Bc);const a=e.distanceTo(t)*.5,s=-this.direction.dot(h7),o=P5.dot(this.direction),l=-P5.dot(h7),u=P5.lengthSq(),d=Math.abs(1-s*s);let h,f,v,_;if(d>0)if(h=s*l-o,f=s*o-l,_=a*d,h>=0)if(f>=-_)if(f<=_){const b=1/d;h*=b,f*=b,v=h*(h+s*f+2*o)+f*(s*h+f+2*l)+u}else f=a,h=Math.max(0,-(s*f+o)),v=-h*h+f*(f+2*l)+u;else f=-a,h=Math.max(0,-(s*f+o)),v=-h*h+f*(f+2*l)+u;else f<=-_?(h=Math.max(0,-(-s*a+o)),f=h>0?-a:Math.min(Math.max(-a,-l),a),v=-h*h+f*(f+2*l)+u):f<=_?(h=0,f=Math.min(Math.max(-a,-l),a),v=f*(f+2*l)+u):(h=Math.max(0,-(s*a+o)),f=h>0?a:Math.min(Math.max(-a,-l),a),v=-h*h+f*(f+2*l)+u);else f=s>0?-a:a,h=Math.max(0,-(s*f+o)),v=-h*h+f*(f+2*l)+u;return i&&i.copy(this.origin).addScaledVector(this.direction,h),r&&r.copy(Bc).addScaledVector(h7,f),v}intersectSphere(e,t){zi.subVectors(e.center,this.origin);const i=zi.dot(this.direction),r=zi.dot(zi)-i*i,a=e.radius*e.radius;if(r>a)return null;const s=Math.sqrt(a-r),o=i-s,l=i+s;return l<0?null:o<0?this.at(l,t):this.at(o,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;const i=-(this.origin.dot(e.normal)+e.constant)/t;return i>=0?i:null}intersectPlane(e,t){const i=this.distanceToPlane(e);return i===null?null:this.at(i,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let i,r,a,s,o,l;const u=1/this.direction.x,d=1/this.direction.y,h=1/this.direction.z,f=this.origin;return u>=0?(i=(e.min.x-f.x)*u,r=(e.max.x-f.x)*u):(i=(e.max.x-f.x)*u,r=(e.min.x-f.x)*u),d>=0?(a=(e.min.y-f.y)*d,s=(e.max.y-f.y)*d):(a=(e.max.y-f.y)*d,s=(e.min.y-f.y)*d),i>s||a>r||((a>i||isNaN(i))&&(i=a),(s=0?(o=(e.min.z-f.z)*h,l=(e.max.z-f.z)*h):(o=(e.max.z-f.z)*h,l=(e.min.z-f.z)*h),i>l||o>r)||((o>i||i!==i)&&(i=o),(l=0?i:r,t)}intersectsBox(e){return this.intersectBox(e,zi)!==null}intersectTriangle(e,t,i,r,a){zc.subVectors(t,e),f7.subVectors(i,e),Gc.crossVectors(zc,f7);let s=this.direction.dot(Gc),o;if(s>0){if(r)return null;o=1}else if(s<0)o=-1,s=-s;else return null;P5.subVectors(this.origin,e);const l=o*this.direction.dot(f7.crossVectors(P5,f7));if(l<0)return null;const u=o*this.direction.dot(zc.cross(P5));if(u<0||l+u>s)return null;const d=-o*P5.dot(Gc);return d<0?null:this.at(d/s,a)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class o0{constructor(e,t,i,r,a,s,o,l,u,d,h,f,v,_,b,y){o0.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,t,i,r,a,s,o,l,u,d,h,f,v,_,b,y)}set(e,t,i,r,a,s,o,l,u,d,h,f,v,_,b,y){const w=this.elements;return w[0]=e,w[4]=t,w[8]=i,w[12]=r,w[1]=a,w[5]=s,w[9]=o,w[13]=l,w[2]=u,w[6]=d,w[10]=h,w[14]=f,w[3]=v,w[7]=_,w[11]=b,w[15]=y,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new o0().fromArray(this.elements)}copy(e){const t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],t[9]=i[9],t[10]=i[10],t[11]=i[11],t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15],this}copyPosition(e){const t=this.elements,i=e.elements;return t[12]=i[12],t[13]=i[13],t[14]=i[14],this}setFromMatrix3(e){const t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,i){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),i.setFromMatrixColumn(this,2),this}makeBasis(e,t,i){return this.set(e.x,t.x,i.x,0,e.y,t.y,i.y,0,e.z,t.z,i.z,0,0,0,0,1),this}extractRotation(e){const t=this.elements,i=e.elements,r=1/B8.setFromMatrixColumn(e,0).length(),a=1/B8.setFromMatrixColumn(e,1).length(),s=1/B8.setFromMatrixColumn(e,2).length();return t[0]=i[0]*r,t[1]=i[1]*r,t[2]=i[2]*r,t[3]=0,t[4]=i[4]*a,t[5]=i[5]*a,t[6]=i[6]*a,t[7]=0,t[8]=i[8]*s,t[9]=i[9]*s,t[10]=i[10]*s,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){const t=this.elements,i=e.x,r=e.y,a=e.z,s=Math.cos(i),o=Math.sin(i),l=Math.cos(r),u=Math.sin(r),d=Math.cos(a),h=Math.sin(a);if(e.order==="XYZ"){const f=s*d,v=s*h,_=o*d,b=o*h;t[0]=l*d,t[4]=-l*h,t[8]=u,t[1]=v+_*u,t[5]=f-b*u,t[9]=-o*l,t[2]=b-f*u,t[6]=_+v*u,t[10]=s*l}else if(e.order==="YXZ"){const f=l*d,v=l*h,_=u*d,b=u*h;t[0]=f+b*o,t[4]=_*o-v,t[8]=s*u,t[1]=s*h,t[5]=s*d,t[9]=-o,t[2]=v*o-_,t[6]=b+f*o,t[10]=s*l}else if(e.order==="ZXY"){const f=l*d,v=l*h,_=u*d,b=u*h;t[0]=f-b*o,t[4]=-s*h,t[8]=_+v*o,t[1]=v+_*o,t[5]=s*d,t[9]=b-f*o,t[2]=-s*u,t[6]=o,t[10]=s*l}else if(e.order==="ZYX"){const f=s*d,v=s*h,_=o*d,b=o*h;t[0]=l*d,t[4]=_*u-v,t[8]=f*u+b,t[1]=l*h,t[5]=b*u+f,t[9]=v*u-_,t[2]=-u,t[6]=o*l,t[10]=s*l}else if(e.order==="YZX"){const f=s*l,v=s*u,_=o*l,b=o*u;t[0]=l*d,t[4]=b-f*h,t[8]=_*h+v,t[1]=h,t[5]=s*d,t[9]=-o*d,t[2]=-u*d,t[6]=v*h+_,t[10]=f-b*h}else if(e.order==="XZY"){const f=s*l,v=s*u,_=o*l,b=o*u;t[0]=l*d,t[4]=-h,t[8]=u*d,t[1]=f*h+b,t[5]=s*d,t[9]=v*h-_,t[2]=_*h-v,t[6]=o*d,t[10]=b*h+f}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(FD,e,DD)}lookAt(e,t,i){const r=this.elements;return Wn.subVectors(e,t),Wn.lengthSq()===0&&(Wn.z=1),Wn.normalize(),R5.crossVectors(i,Wn),R5.lengthSq()===0&&(Math.abs(i.z)===1?Wn.x+=1e-4:Wn.z+=1e-4,Wn.normalize(),R5.crossVectors(i,Wn)),R5.normalize(),p7.crossVectors(Wn,R5),r[0]=R5.x,r[4]=p7.x,r[8]=Wn.x,r[1]=R5.y,r[5]=p7.y,r[9]=Wn.y,r[2]=R5.z,r[6]=p7.z,r[10]=Wn.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const i=e.elements,r=t.elements,a=this.elements,s=i[0],o=i[4],l=i[8],u=i[12],d=i[1],h=i[5],f=i[9],v=i[13],_=i[2],b=i[6],y=i[10],w=i[14],U=i[3],P=i[7],O=i[11],j=i[15],q=r[0],K=r[4],c2=r[8],S2=r[12],H=r[1],Z=r[5],G2=r[9],q2=r[13],C2=r[2],E2=r[6],A2=r[10],X2=r[14],b2=r[3],J=r[7],p2=r[11],N2=r[15];return a[0]=s*q+o*H+l*C2+u*b2,a[4]=s*K+o*Z+l*E2+u*J,a[8]=s*c2+o*G2+l*A2+u*p2,a[12]=s*S2+o*q2+l*X2+u*N2,a[1]=d*q+h*H+f*C2+v*b2,a[5]=d*K+h*Z+f*E2+v*J,a[9]=d*c2+h*G2+f*A2+v*p2,a[13]=d*S2+h*q2+f*X2+v*N2,a[2]=_*q+b*H+y*C2+w*b2,a[6]=_*K+b*Z+y*E2+w*J,a[10]=_*c2+b*G2+y*A2+w*p2,a[14]=_*S2+b*q2+y*X2+w*N2,a[3]=U*q+P*H+O*C2+j*b2,a[7]=U*K+P*Z+O*E2+j*J,a[11]=U*c2+P*G2+O*A2+j*p2,a[15]=U*S2+P*q2+O*X2+j*N2,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){const e=this.elements,t=e[0],i=e[4],r=e[8],a=e[12],s=e[1],o=e[5],l=e[9],u=e[13],d=e[2],h=e[6],f=e[10],v=e[14],_=e[3],b=e[7],y=e[11],w=e[15];return _*(+a*l*h-r*u*h-a*o*f+i*u*f+r*o*v-i*l*v)+b*(+t*l*v-t*u*f+a*s*f-r*s*v+r*u*d-a*l*d)+y*(+t*u*h-t*o*v-a*s*h+i*s*v+a*o*d-i*u*d)+w*(-r*o*d-t*l*h+t*o*f+r*s*h-i*s*f+i*l*d)}transpose(){const e=this.elements;let t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,i){const r=this.elements;return e.isVector3?(r[12]=e.x,r[13]=e.y,r[14]=e.z):(r[12]=e,r[13]=t,r[14]=i),this}invert(){const e=this.elements,t=e[0],i=e[1],r=e[2],a=e[3],s=e[4],o=e[5],l=e[6],u=e[7],d=e[8],h=e[9],f=e[10],v=e[11],_=e[12],b=e[13],y=e[14],w=e[15],U=h*y*u-b*f*u+b*l*v-o*y*v-h*l*w+o*f*w,P=_*f*u-d*y*u-_*l*v+s*y*v+d*l*w-s*f*w,O=d*b*u-_*h*u+_*o*v-s*b*v-d*o*w+s*h*w,j=_*h*l-d*b*l-_*o*f+s*b*f+d*o*y-s*h*y,q=t*U+i*P+r*O+a*j;if(q===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const K=1/q;return e[0]=U*K,e[1]=(b*f*a-h*y*a-b*r*v+i*y*v+h*r*w-i*f*w)*K,e[2]=(o*y*a-b*l*a+b*r*u-i*y*u-o*r*w+i*l*w)*K,e[3]=(h*l*a-o*f*a-h*r*u+i*f*u+o*r*v-i*l*v)*K,e[4]=P*K,e[5]=(d*y*a-_*f*a+_*r*v-t*y*v-d*r*w+t*f*w)*K,e[6]=(_*l*a-s*y*a-_*r*u+t*y*u+s*r*w-t*l*w)*K,e[7]=(s*f*a-d*l*a+d*r*u-t*f*u-s*r*v+t*l*v)*K,e[8]=O*K,e[9]=(_*h*a-d*b*a-_*i*v+t*b*v+d*i*w-t*h*w)*K,e[10]=(s*b*a-_*o*a+_*i*u-t*b*u-s*i*w+t*o*w)*K,e[11]=(d*o*a-s*h*a-d*i*u+t*h*u+s*i*v-t*o*v)*K,e[12]=j*K,e[13]=(d*b*r-_*h*r+_*i*f-t*b*f-d*i*y+t*h*y)*K,e[14]=(_*o*r-s*b*r-_*i*l+t*b*l+s*i*y-t*o*y)*K,e[15]=(s*h*r-d*o*r+d*i*l-t*h*l-s*i*f+t*o*f)*K,this}scale(e){const t=this.elements,i=e.x,r=e.y,a=e.z;return t[0]*=i,t[4]*=r,t[8]*=a,t[1]*=i,t[5]*=r,t[9]*=a,t[2]*=i,t[6]*=r,t[10]*=a,t[3]*=i,t[7]*=r,t[11]*=a,this}getMaxScaleOnAxis(){const e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],i=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],r=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,i,r))}makeTranslation(e,t,i){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,t,0,0,1,i,0,0,0,1),this}makeRotationX(e){const t=Math.cos(e),i=Math.sin(e);return this.set(1,0,0,0,0,t,-i,0,0,i,t,0,0,0,0,1),this}makeRotationY(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,0,i,0,0,1,0,0,-i,0,t,0,0,0,0,1),this}makeRotationZ(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,-i,0,0,i,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){const i=Math.cos(t),r=Math.sin(t),a=1-i,s=e.x,o=e.y,l=e.z,u=a*s,d=a*o;return this.set(u*s+i,u*o-r*l,u*l+r*o,0,u*o+r*l,d*o+i,d*l-r*s,0,u*l-r*o,d*l+r*s,a*l*l+i,0,0,0,0,1),this}makeScale(e,t,i){return this.set(e,0,0,0,0,t,0,0,0,0,i,0,0,0,0,1),this}makeShear(e,t,i,r,a,s){return this.set(1,i,a,0,e,1,s,0,t,r,1,0,0,0,0,1),this}compose(e,t,i){const r=this.elements,a=t._x,s=t._y,o=t._z,l=t._w,u=a+a,d=s+s,h=o+o,f=a*u,v=a*d,_=a*h,b=s*d,y=s*h,w=o*h,U=l*u,P=l*d,O=l*h,j=i.x,q=i.y,K=i.z;return r[0]=(1-(b+w))*j,r[1]=(v+O)*j,r[2]=(_-P)*j,r[3]=0,r[4]=(v-O)*q,r[5]=(1-(f+w))*q,r[6]=(y+U)*q,r[7]=0,r[8]=(_+P)*K,r[9]=(y-U)*K,r[10]=(1-(f+b))*K,r[11]=0,r[12]=e.x,r[13]=e.y,r[14]=e.z,r[15]=1,this}decompose(e,t,i){const r=this.elements;let a=B8.set(r[0],r[1],r[2]).length();const s=B8.set(r[4],r[5],r[6]).length(),o=B8.set(r[8],r[9],r[10]).length();this.determinant()<0&&(a=-a),e.x=r[12],e.y=r[13],e.z=r[14],H6.copy(this);const u=1/a,d=1/s,h=1/o;return H6.elements[0]*=u,H6.elements[1]*=u,H6.elements[2]*=u,H6.elements[4]*=d,H6.elements[5]*=d,H6.elements[6]*=d,H6.elements[8]*=h,H6.elements[9]*=h,H6.elements[10]*=h,t.setFromRotationMatrix(H6),i.x=a,i.y=s,i.z=o,this}makePerspective(e,t,i,r,a,s,o=Qi){const l=this.elements,u=2*a/(t-e),d=2*a/(i-r),h=(t+e)/(t-e),f=(i+r)/(i-r);let v,_;if(o===Qi)v=-(s+a)/(s-a),_=-2*s*a/(s-a);else if(o===$o)v=-s/(s-a),_=-s*a/(s-a);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+o);return l[0]=u,l[4]=0,l[8]=h,l[12]=0,l[1]=0,l[5]=d,l[9]=f,l[13]=0,l[2]=0,l[6]=0,l[10]=v,l[14]=_,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(e,t,i,r,a,s,o=Qi){const l=this.elements,u=1/(t-e),d=1/(i-r),h=1/(s-a),f=(t+e)*u,v=(i+r)*d;let _,b;if(o===Qi)_=(s+a)*h,b=-2*h;else if(o===$o)_=a*h,b=-1*h;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+o);return l[0]=2*u,l[4]=0,l[8]=0,l[12]=-f,l[1]=0,l[5]=2*d,l[9]=0,l[13]=-v,l[2]=0,l[6]=0,l[10]=b,l[14]=-_,l[3]=0,l[7]=0,l[11]=0,l[15]=1,this}equals(e){const t=this.elements,i=e.elements;for(let r=0;r<16;r++)if(t[r]!==i[r])return!1;return!0}fromArray(e,t=0){for(let i=0;i<16;i++)this.elements[i]=e[i+t];return this}toArray(e=[],t=0){const i=this.elements;return e[t]=i[0],e[t+1]=i[1],e[t+2]=i[2],e[t+3]=i[3],e[t+4]=i[4],e[t+5]=i[5],e[t+6]=i[6],e[t+7]=i[7],e[t+8]=i[8],e[t+9]=i[9],e[t+10]=i[10],e[t+11]=i[11],e[t+12]=i[12],e[t+13]=i[13],e[t+14]=i[14],e[t+15]=i[15],e}}const B8=new k2,H6=new o0,FD=new k2(0,0,0),DD=new k2(1,1,1),R5=new k2,p7=new k2,Wn=new k2,Kv=new o0,Xv=new Z6;class Nl{constructor(e=0,t=0,i=0,r=Nl.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=t,this._z=i,this._order=r}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,i,r=this._order){return this._x=e,this._y=t,this._z=i,this._order=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,i=!0){const r=e.elements,a=r[0],s=r[4],o=r[8],l=r[1],u=r[5],d=r[9],h=r[2],f=r[6],v=r[10];switch(t){case"XYZ":this._y=Math.asin(ot(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-d,v),this._z=Math.atan2(-s,a)):(this._x=Math.atan2(f,u),this._z=0);break;case"YXZ":this._x=Math.asin(-ot(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(o,v),this._z=Math.atan2(l,u)):(this._y=Math.atan2(-h,a),this._z=0);break;case"ZXY":this._x=Math.asin(ot(f,-1,1)),Math.abs(f)<.9999999?(this._y=Math.atan2(-h,v),this._z=Math.atan2(-s,u)):(this._y=0,this._z=Math.atan2(l,a));break;case"ZYX":this._y=Math.asin(-ot(h,-1,1)),Math.abs(h)<.9999999?(this._x=Math.atan2(f,v),this._z=Math.atan2(l,a)):(this._x=0,this._z=Math.atan2(-s,u));break;case"YZX":this._z=Math.asin(ot(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-d,u),this._y=Math.atan2(-h,a)):(this._x=0,this._y=Math.atan2(o,v));break;case"XZY":this._z=Math.asin(-ot(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(f,u),this._y=Math.atan2(o,a)):(this._x=Math.atan2(-d,v),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,i===!0&&this._onChangeCallback(),this}setFromQuaternion(e,t,i){return Kv.makeRotationFromQuaternion(e),this.setFromRotationMatrix(Kv,t,i)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return Xv.setFromEuler(this),this.setFromQuaternion(Xv,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}Nl.DEFAULT_ORDER="XYZ";class _f{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let t=0;t1){for(let i=0;i0&&(r.userData=this.userData),r.layers=this.layers.mask,r.matrix=this.matrix.toArray(),r.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(r.matrixAutoUpdate=!1),this.isInstancedMesh&&(r.type="InstancedMesh",r.count=this.count,r.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(r.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(r.type="BatchedMesh",r.perObjectFrustumCulled=this.perObjectFrustumCulled,r.sortObjects=this.sortObjects,r.drawRanges=this._drawRanges,r.reservedRanges=this._reservedRanges,r.visibility=this._visibility,r.active=this._active,r.bounds=this._bounds.map(o=>({boxInitialized:o.boxInitialized,boxMin:o.box.min.toArray(),boxMax:o.box.max.toArray(),sphereInitialized:o.sphereInitialized,sphereRadius:o.sphere.radius,sphereCenter:o.sphere.center.toArray()})),r.maxGeometryCount=this._maxGeometryCount,r.maxVertexCount=this._maxVertexCount,r.maxIndexCount=this._maxIndexCount,r.geometryInitialized=this._geometryInitialized,r.geometryCount=this._geometryCount,r.matricesTexture=this._matricesTexture.toJSON(e),this.boundingSphere!==null&&(r.boundingSphere={center:r.boundingSphere.center.toArray(),radius:r.boundingSphere.radius}),this.boundingBox!==null&&(r.boundingBox={min:r.boundingBox.min.toArray(),max:r.boundingBox.max.toArray()}));function a(o,l){return o[l.uuid]===void 0&&(o[l.uuid]=l.toJSON(e)),l.uuid}if(this.isScene)this.background&&(this.background.isColor?r.background=this.background.toJSON():this.background.isTexture&&(r.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(r.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){r.geometry=a(e.geometries,this.geometry);const o=this.geometry.parameters;if(o!==void 0&&o.shapes!==void 0){const l=o.shapes;if(Array.isArray(l))for(let u=0,d=l.length;u0){r.children=[];for(let o=0;o0){r.animations=[];for(let o=0;o0&&(i.geometries=o),l.length>0&&(i.materials=l),u.length>0&&(i.textures=u),d.length>0&&(i.images=d),h.length>0&&(i.shapes=h),f.length>0&&(i.skeletons=f),v.length>0&&(i.animations=v),_.length>0&&(i.nodes=_)}return i.object=r,i;function s(o){const l=[];for(const u in o){const d=o[u];delete d.metadata,l.push(d)}return l}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let i=0;i0?r.multiplyScalar(1/Math.sqrt(a)):r.set(0,0,0)}static getBarycoord(e,t,i,r,a){j6.subVectors(r,t),Vi.subVectors(i,t),Vc.subVectors(e,t);const s=j6.dot(j6),o=j6.dot(Vi),l=j6.dot(Vc),u=Vi.dot(Vi),d=Vi.dot(Vc),h=s*u-o*o;if(h===0)return a.set(0,0,0),null;const f=1/h,v=(u*l-o*d)*f,_=(s*d-o*l)*f;return a.set(1-v-_,_,v)}static containsPoint(e,t,i,r){return this.getBarycoord(e,t,i,r,Hi)===null?!1:Hi.x>=0&&Hi.y>=0&&Hi.x+Hi.y<=1}static getInterpolation(e,t,i,r,a,s,o,l){return this.getBarycoord(e,t,i,r,Hi)===null?(l.x=0,l.y=0,"z"in l&&(l.z=0),"w"in l&&(l.w=0),null):(l.setScalar(0),l.addScaledVector(a,Hi.x),l.addScaledVector(s,Hi.y),l.addScaledVector(o,Hi.z),l)}static isFrontFacing(e,t,i,r){return j6.subVectors(i,t),Vi.subVectors(e,t),j6.cross(Vi).dot(r)<0}set(e,t,i){return this.a.copy(e),this.b.copy(t),this.c.copy(i),this}setFromPointsAndIndices(e,t,i,r){return this.a.copy(e[t]),this.b.copy(e[i]),this.c.copy(e[r]),this}setFromAttributeAndIndices(e,t,i,r){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,i),this.c.fromBufferAttribute(e,r),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return j6.subVectors(this.c,this.b),Vi.subVectors(this.a,this.b),j6.cross(Vi).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return Y6.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return Y6.getBarycoord(e,this.a,this.b,this.c,t)}getInterpolation(e,t,i,r,a){return Y6.getInterpolation(e,this.a,this.b,this.c,t,i,r,a)}containsPoint(e){return Y6.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return Y6.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){const i=this.a,r=this.b,a=this.c;let s,o;G8.subVectors(r,i),V8.subVectors(a,i),Hc.subVectors(e,i);const l=G8.dot(Hc),u=V8.dot(Hc);if(l<=0&&u<=0)return t.copy(i);jc.subVectors(e,r);const d=G8.dot(jc),h=V8.dot(jc);if(d>=0&&h<=d)return t.copy(r);const f=l*h-d*u;if(f<=0&&l>=0&&d<=0)return s=l/(l-d),t.copy(i).addScaledVector(G8,s);Wc.subVectors(e,a);const v=G8.dot(Wc),_=V8.dot(Wc);if(_>=0&&v<=_)return t.copy(a);const b=v*u-l*_;if(b<=0&&u>=0&&_<=0)return o=u/(u-_),t.copy(i).addScaledVector(V8,o);const y=d*_-v*h;if(y<=0&&h-d>=0&&v-_>=0)return ty.subVectors(a,r),o=(h-d)/(h-d+(v-_)),t.copy(r).addScaledVector(ty,o);const w=1/(y+b+f);return s=b*w,o=f*w,t.copy(i).addScaledVector(G8,s).addScaledVector(V8,o)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const IT={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},N5={h:0,s:0,l:0},g7={h:0,s:0,l:0};function $c(n,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?n+(e-n)*6*t:t<1/2?e:t<2/3?n+(e-n)*6*(2/3-t):n}class R1{constructor(e,t,i){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,t,i)}set(e,t,i){if(t===void 0&&i===void 0){const r=e;r&&r.isColor?this.copy(r):typeof r=="number"?this.setHex(r):typeof r=="string"&&this.setStyle(r)}else this.setRGB(e,t,i);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,t=J0){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,X0.toWorkingColorSpace(this,t),this}setRGB(e,t,i,r=X0.workingColorSpace){return this.r=e,this.g=t,this.b=i,X0.toWorkingColorSpace(this,r),this}setHSL(e,t,i,r=X0.workingColorSpace){if(e=vf(e,1),t=ot(t,0,1),i=ot(i,0,1),t===0)this.r=this.g=this.b=i;else{const a=i<=.5?i*(1+t):i+t-i*t,s=2*i-a;this.r=$c(s,a,e+1/3),this.g=$c(s,a,e),this.b=$c(s,a,e-1/3)}return X0.toWorkingColorSpace(this,r),this}setStyle(e,t=J0){function i(a){a!==void 0&&parseFloat(a)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let r;if(r=/^(\w+)\(([^\)]*)\)/.exec(e)){let a;const s=r[1],o=r[2];switch(s){case"rgb":case"rgba":if(a=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return i(a[4]),this.setRGB(Math.min(255,parseInt(a[1],10))/255,Math.min(255,parseInt(a[2],10))/255,Math.min(255,parseInt(a[3],10))/255,t);if(a=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return i(a[4]),this.setRGB(Math.min(100,parseInt(a[1],10))/100,Math.min(100,parseInt(a[2],10))/100,Math.min(100,parseInt(a[3],10))/100,t);break;case"hsl":case"hsla":if(a=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return i(a[4]),this.setHSL(parseFloat(a[1])/360,parseFloat(a[2])/100,parseFloat(a[3])/100,t);break;default:console.warn("THREE.Color: Unknown color model "+e)}}else if(r=/^\#([A-Fa-f\d]+)$/.exec(e)){const a=r[1],s=a.length;if(s===3)return this.setRGB(parseInt(a.charAt(0),16)/15,parseInt(a.charAt(1),16)/15,parseInt(a.charAt(2),16)/15,t);if(s===6)return this.setHex(parseInt(a,16),t);console.warn("THREE.Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,t);return this}setColorName(e,t=J0){const i=IT[e.toLowerCase()];return i!==void 0?this.setHex(i,t):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=wr(e.r),this.g=wr(e.g),this.b=wr(e.b),this}copyLinearToSRGB(e){return this.r=kc(e.r),this.g=kc(e.g),this.b=kc(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=J0){return X0.fromWorkingColorSpace(Gt.copy(this),e),Math.round(ot(Gt.r*255,0,255))*65536+Math.round(ot(Gt.g*255,0,255))*256+Math.round(ot(Gt.b*255,0,255))}getHexString(e=J0){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=X0.workingColorSpace){X0.fromWorkingColorSpace(Gt.copy(this),t);const i=Gt.r,r=Gt.g,a=Gt.b,s=Math.max(i,r,a),o=Math.min(i,r,a);let l,u;const d=(o+s)/2;if(o===s)l=0,u=0;else{const h=s-o;switch(u=d<=.5?h/(s+o):h/(2-s-o),s){case i:l=(r-a)/h+(r0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const t in e){const i=e[t];if(i===void 0){console.warn(`THREE.Material: parameter '${t}' has value of undefined.`);continue}const r=this[t];if(r===void 0){console.warn(`THREE.Material: '${t}' is not a property of THREE.${this.type}.`);continue}r&&r.isColor?r.set(i):r&&r.isVector3&&i&&i.isVector3?r.copy(i):this[t]=i}}toJSON(e){const t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{}});const i={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};i.uuid=this.uuid,i.type=this.type,this.name!==""&&(i.name=this.name),this.color&&this.color.isColor&&(i.color=this.color.getHex()),this.roughness!==void 0&&(i.roughness=this.roughness),this.metalness!==void 0&&(i.metalness=this.metalness),this.sheen!==void 0&&(i.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(i.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(i.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(i.emissive=this.emissive.getHex()),this.emissiveIntensity&&this.emissiveIntensity!==1&&(i.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(i.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(i.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(i.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(i.shininess=this.shininess),this.clearcoat!==void 0&&(i.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(i.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(i.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(i.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(i.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,i.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.iridescence!==void 0&&(i.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(i.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(i.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(i.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(i.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(i.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(i.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(i.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(i.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(e).uuid,i.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(e).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(e).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(e).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(e).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(i.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(i.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(i.combine=this.combine)),this.envMapIntensity!==void 0&&(i.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(i.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(i.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(i.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(i.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(i.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(i.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(i.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(i.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(i.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(i.size=this.size),this.shadowSide!==null&&(i.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(i.sizeAttenuation=this.sizeAttenuation),this.blending!==e8&&(i.blending=this.blending),this.side!==n5&&(i.side=this.side),this.vertexColors===!0&&(i.vertexColors=!0),this.opacity<1&&(i.opacity=this.opacity),this.transparent===!0&&(i.transparent=!0),this.blendSrc!==eh&&(i.blendSrc=this.blendSrc),this.blendDst!==th&&(i.blendDst=this.blendDst),this.blendEquation!==O5&&(i.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(i.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(i.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(i.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(i.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(i.blendAlpha=this.blendAlpha),this.depthFunc!==Go&&(i.depthFunc=this.depthFunc),this.depthTest===!1&&(i.depthTest=this.depthTest),this.depthWrite===!1&&(i.depthWrite=this.depthWrite),this.colorWrite===!1&&(i.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(i.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==Vv&&(i.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(i.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(i.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==k8&&(i.stencilFail=this.stencilFail),this.stencilZFail!==k8&&(i.stencilZFail=this.stencilZFail),this.stencilZPass!==k8&&(i.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(i.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(i.rotation=this.rotation),this.polygonOffset===!0&&(i.polygonOffset=!0),this.polygonOffsetFactor!==0&&(i.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(i.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(i.linewidth=this.linewidth),this.dashSize!==void 0&&(i.dashSize=this.dashSize),this.gapSize!==void 0&&(i.gapSize=this.gapSize),this.scale!==void 0&&(i.scale=this.scale),this.dithering===!0&&(i.dithering=!0),this.alphaTest>0&&(i.alphaTest=this.alphaTest),this.alphaHash===!0&&(i.alphaHash=!0),this.alphaToCoverage===!0&&(i.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(i.premultipliedAlpha=!0),this.forceSinglePass===!0&&(i.forceSinglePass=!0),this.wireframe===!0&&(i.wireframe=!0),this.wireframeLinewidth>1&&(i.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(i.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(i.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(i.flatShading=!0),this.visible===!1&&(i.visible=!1),this.toneMapped===!1&&(i.toneMapped=!1),this.fog===!1&&(i.fog=!1),Object.keys(this.userData).length>0&&(i.userData=this.userData);function r(a){const s=[];for(const o in a){const l=a[o];delete l.metadata,s.push(l)}return s}if(t){const a=r(e.textures),s=r(e.images);a.length>0&&(i.textures=a),s.length>0&&(i.images=s)}return i}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.blendColor.copy(e.blendColor),this.blendAlpha=e.blendAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const t=e.clippingPlanes;let i=null;if(t!==null){const r=t.length;i=new Array(r);for(let a=0;a!==r;++a)i[a]=t[a].clone()}return this.clippingPlanes=i,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}}class V0 extends R6{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new R1(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=ff,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}const tt=new k2,v7=new F3;class Ue{constructor(e,t,i=!1){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=e,this.itemSize=t,this.count=e!==void 0?e.length/t:0,this.normalized=i,this.usage=sh,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=fi,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return r8("THREE.BufferAttribute: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this.gpuType=e.gpuType,this}copyAt(e,t,i){e*=this.itemSize,i*=t.itemSize;for(let r=0,a=this.itemSize;r0&&(e.userData=this.userData),this.parameters!==void 0){const l=this.parameters;for(const u in l)l[u]!==void 0&&(e[u]=l[u]);return e}e.data={attributes:{}};const t=this.index;t!==null&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const i=this.attributes;for(const l in i){const u=i[l];e.data.attributes[l]=u.toJSON(e.data)}const r={};let a=!1;for(const l in this.morphAttributes){const u=this.morphAttributes[l],d=[];for(let h=0,f=u.length;h0&&(r[l]=d,a=!0)}a&&(e.data.morphAttributes=r,e.data.morphTargetsRelative=this.morphTargetsRelative);const s=this.groups;s.length>0&&(e.data.groups=JSON.parse(JSON.stringify(s)));const o=this.boundingSphere;return o!==null&&(e.data.boundingSphere={center:o.center.toArray(),radius:o.radius}),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const t={};this.name=e.name;const i=e.index;i!==null&&this.setIndex(i.clone(t));const r=e.attributes;for(const u in r){const d=r[u];this.setAttribute(u,d.clone(t))}const a=e.morphAttributes;for(const u in a){const d=[],h=a[u];for(let f=0,v=h.length;f0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let a=0,s=r.length;aOi(e.far-e.near,2)))&&(ny.copy(a).invert(),I9.copy(e.ray).applyMatrix4(ny),!(i.boundingBox!==null&&I9.intersectsBox(i.boundingBox)===!1)&&this._computeIntersections(e,t,I9)))}_computeIntersections(e,t,i){let r;const a=this.geometry,s=this.material,o=a.index,l=a.attributes.position,u=a.attributes.uv,d=a.attributes.uv1,h=a.attributes.normal,f=a.groups,v=a.drawRange;if(o!==null)if(Array.isArray(s))for(let _=0,b=f.length;_t.far?null:{distance:u,point:x7.clone(),object:n}}function A7(n,e,t,i,r,a,s,o,l,u){n.getVertexPosition(o,j8),n.getVertexPosition(l,W8),n.getVertexPosition(u,$8);const d=jD(n,e,t,i,j8,W8,$8,w7);if(d){r&&(S7.fromBufferAttribute(r,o),b7.fromBufferAttribute(r,l),T7.fromBufferAttribute(r,u),d.uv=Y6.getInterpolation(w7,j8,W8,$8,S7,b7,T7,new F3)),a&&(S7.fromBufferAttribute(a,o),b7.fromBufferAttribute(a,l),T7.fromBufferAttribute(a,u),d.uv1=Y6.getInterpolation(w7,j8,W8,$8,S7,b7,T7,new F3),d.uv2=d.uv1),s&&(ry.fromBufferAttribute(s,o),ay.fromBufferAttribute(s,l),sy.fromBufferAttribute(s,u),d.normal=Y6.getInterpolation(w7,j8,W8,$8,ry,ay,sy,new k2),d.normal.dot(i.direction)>0&&d.normal.multiplyScalar(-1));const h={a:o,b:l,c:u,normal:new k2,materialIndex:0};Y6.getNormal(j8,W8,$8,h.normal),d.face=h}return d}class Qr extends se{constructor(e=1,t=1,i=1,r=1,a=1,s=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:i,widthSegments:r,heightSegments:a,depthSegments:s};const o=this;r=Math.floor(r),a=Math.floor(a),s=Math.floor(s);const l=[],u=[],d=[],h=[];let f=0,v=0;_("z","y","x",-1,-1,i,t,e,s,a,0),_("z","y","x",1,-1,i,t,-e,s,a,1),_("x","z","y",1,1,e,i,t,r,s,2),_("x","z","y",1,-1,e,i,-t,r,s,3),_("x","y","z",1,-1,e,t,i,r,a,4),_("x","y","z",-1,-1,e,t,-i,r,a,5),this.setIndex(l),this.setAttribute("position",new Ee(u,3)),this.setAttribute("normal",new Ee(d,3)),this.setAttribute("uv",new Ee(h,2));function _(b,y,w,U,P,O,j,q,K,c2,S2){const H=O/K,Z=j/c2,G2=O/2,q2=j/2,C2=q/2,E2=K+1,A2=c2+1;let X2=0,b2=0;const J=new k2;for(let p2=0;p20?1:-1,d.push(J.x,J.y,J.z),h.push(e3/K),h.push(1-p2/c2),X2+=1}}for(let p2=0;p20&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;const i={};for(const r in this.extensions)this.extensions[r]===!0&&(i[r]=!0);return Object.keys(i).length>0&&(t.extensions=i),t}}let UT=class extends pe{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new o0,this.projectionMatrix=new o0,this.projectionMatrixInverse=new o0,this.coordinateSystem=Qi}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){return super.getWorldDirection(e).negate()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}};const L5=new k2,oy=new F3,ly=new F3;class Wt extends UT{constructor(e=50,t=1,i=.1,r=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=i,this.far=r,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const t=.5*this.getFilmHeight()/e;this.fov=Gr*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(a4*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return Gr*2*Math.atan(Math.tan(a4*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(e,t,i){L5.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(L5.x,L5.y).multiplyScalar(-e/L5.z),L5.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),i.set(L5.x,L5.y).multiplyScalar(-e/L5.z)}getViewSize(e,t){return this.getViewBounds(e,oy,ly),t.subVectors(ly,oy)}setViewOffset(e,t,i,r,a,s){this.aspect=e/t,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=i,this.view.offsetY=r,this.view.width=a,this.view.height=s,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let t=e*Math.tan(a4*.5*this.fov)/this.zoom,i=2*t,r=this.aspect*i,a=-.5*r;const s=this.view;if(this.view!==null&&this.view.enabled){const l=s.fullWidth,u=s.fullHeight;a+=s.offsetX*r/l,t-=s.offsetY*i/u,r*=s.width/l,i*=s.height/u}const o=this.filmOffset;o!==0&&(a+=e*o/this.getFilmWidth()),this.projectionMatrix.makePerspective(a,a+r,t,t-i,e,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,this.view!==null&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}const Y8=-90,q8=1;class qD extends pe{constructor(e,t,i){super(),this.type="CubeCamera",this.renderTarget=i,this.coordinateSystem=null,this.activeMipmapLevel=0;const r=new Wt(Y8,q8,e,t);r.layers=this.layers,this.add(r);const a=new Wt(Y8,q8,e,t);a.layers=this.layers,this.add(a);const s=new Wt(Y8,q8,e,t);s.layers=this.layers,this.add(s);const o=new Wt(Y8,q8,e,t);o.layers=this.layers,this.add(o);const l=new Wt(Y8,q8,e,t);l.layers=this.layers,this.add(l);const u=new Wt(Y8,q8,e,t);u.layers=this.layers,this.add(u)}updateCoordinateSystem(){const e=this.coordinateSystem,t=this.children.concat(),[i,r,a,s,o,l]=t;for(const u of t)this.remove(u);if(e===Qi)i.up.set(0,1,0),i.lookAt(1,0,0),r.up.set(0,1,0),r.lookAt(-1,0,0),a.up.set(0,0,-1),a.lookAt(0,1,0),s.up.set(0,0,1),s.lookAt(0,-1,0),o.up.set(0,1,0),o.lookAt(0,0,1),l.up.set(0,1,0),l.lookAt(0,0,-1);else if(e===$o)i.up.set(0,-1,0),i.lookAt(-1,0,0),r.up.set(0,-1,0),r.lookAt(1,0,0),a.up.set(0,0,1),a.lookAt(0,1,0),s.up.set(0,0,-1),s.lookAt(0,-1,0),o.up.set(0,-1,0),o.lookAt(0,0,1),l.up.set(0,-1,0),l.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);for(const u of t)this.add(u),u.updateMatrixWorld()}update(e,t){this.parent===null&&this.updateMatrixWorld();const{renderTarget:i,activeMipmapLevel:r}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[a,s,o,l,u,d]=this.children,h=e.getRenderTarget(),f=e.getActiveCubeFace(),v=e.getActiveMipmapLevel(),_=e.xr.enabled;e.xr.enabled=!1;const b=i.texture.generateMipmaps;i.texture.generateMipmaps=!1,e.setRenderTarget(i,0,r),e.render(t,a),e.setRenderTarget(i,1,r),e.render(t,s),e.setRenderTarget(i,2,r),e.render(t,o),e.setRenderTarget(i,3,r),e.render(t,l),e.setRenderTarget(i,4,r),e.render(t,u),i.texture.generateMipmaps=b,e.setRenderTarget(i,5,r),e.render(t,d),e.setRenderTarget(h,f,v),e.xr.enabled=_,i.texture.needsPMREMUpdate=!0}}class OT extends pt{constructor(e,t,i,r,a,s,o,l,u,d){e=e!==void 0?e:[],t=t!==void 0?t:Ur,super(e,t,i,r,a,s,o,l,u,d),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class KD extends s8{constructor(e=1,t={}){super(e,e,t),this.isWebGLCubeRenderTarget=!0;const i={width:e,height:e,depth:1},r=[i,i,i,i,i,i];t.encoding!==void 0&&(r8("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),t.colorSpace=t.encoding===i8?J0:C6),this.texture=new OT(r,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=t.generateMipmaps!==void 0?t.generateMipmaps:!1,this.texture.minFilter=t.minFilter!==void 0?t.minFilter:at}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;const i={uniforms:{tEquirect:{value:null}},vertexShader:` varying vec3 vWorldDirection; vec3 transformDirection( in vec3 dir, in mat4 matrix ) { return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); } void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include } `,fragmentShader:` uniform sampler2D tEquirect; varying vec3 vWorldDirection; #include void main() { vec3 direction = normalize( vWorldDirection ); vec2 sampleUV = equirectUv( direction ); gl_FragColor = texture2D( tEquirect, sampleUV ); } `},r=new Qr(5,5,5),a=new i5({name:"CubemapFromEquirect",uniforms:Vr(i.uniforms),vertexShader:i.vertexShader,fragmentShader:i.fragmentShader,side:Nn,blending:X5});a.uniforms.tEquirect.value=t;const s=new R0(r,a),o=t.minFilter;return t.minFilter===Zi&&(t.minFilter=at),new qD(1,10,this).update(e,s),t.minFilter=o,s.geometry.dispose(),s.material.dispose(),this}clear(e,t,i,r){const a=e.getRenderTarget();for(let s=0;s<6;s++)e.setRenderTarget(this,s),e.clear(t,i,r);e.setRenderTarget(a)}}const Kc=new k2,XD=new k2,JD=new w0;let F5=class{constructor(e=new k2(1,0,0),t=0){this.isPlane=!0,this.normal=e,this.constant=t}set(e,t){return this.normal.copy(e),this.constant=t,this}setComponents(e,t,i,r){return this.normal.set(e,t,i),this.constant=r,this}setFromNormalAndCoplanarPoint(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(e,t,i){const r=Kc.subVectors(i,t).cross(XD.subVectors(e,t)).normalize();return this.setFromNormalAndCoplanarPoint(r,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){const e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,t){return t.copy(e).addScaledVector(this.normal,-this.distanceToPoint(e))}intersectLine(e,t){const i=e.delta(Kc),r=this.normal.dot(i);if(r===0)return this.distanceToPoint(e.start)===0?t.copy(e.start):null;const a=-(e.start.dot(this.normal)+this.constant)/r;return a<0||a>1?null:t.copy(e.start).addScaledVector(i,a)}intersectsLine(e){const t=this.distanceToPoint(e.start),i=this.distanceToPoint(e.end);return t<0&&i>0||i<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){const i=t||JD.getNormalMatrix(e),r=this.coplanarPoint(Kc).applyMatrix4(e),a=this.normal.applyMatrix3(i).normalize();return this.constant=-r.dot(a),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}};const k9=new D6,C7=new k2;class bf{constructor(e=new F5,t=new F5,i=new F5,r=new F5,a=new F5,s=new F5){this.planes=[e,t,i,r,a,s]}set(e,t,i,r,a,s){const o=this.planes;return o[0].copy(e),o[1].copy(t),o[2].copy(i),o[3].copy(r),o[4].copy(a),o[5].copy(s),this}copy(e){const t=this.planes;for(let i=0;i<6;i++)t[i].copy(e.planes[i]);return this}setFromProjectionMatrix(e,t=Qi){const i=this.planes,r=e.elements,a=r[0],s=r[1],o=r[2],l=r[3],u=r[4],d=r[5],h=r[6],f=r[7],v=r[8],_=r[9],b=r[10],y=r[11],w=r[12],U=r[13],P=r[14],O=r[15];if(i[0].setComponents(l-a,f-u,y-v,O-w).normalize(),i[1].setComponents(l+a,f+u,y+v,O+w).normalize(),i[2].setComponents(l+s,f+d,y+_,O+U).normalize(),i[3].setComponents(l-s,f-d,y-_,O-U).normalize(),i[4].setComponents(l-o,f-h,y-b,O-P).normalize(),t===Qi)i[5].setComponents(l+o,f+h,y+b,O+P).normalize();else if(t===$o)i[5].setComponents(o,h,b,P).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+t);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),k9.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),k9.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(k9)}intersectsSprite(e){return k9.center.set(0,0,0),k9.radius=.7071067811865476,k9.applyMatrix4(e.matrixWorld),this.intersectsSphere(k9)}intersectsSphere(e){const t=this.planes,i=e.center,r=-e.radius;for(let a=0;a<6;a++)if(t[a].distanceToPoint(i)0?e.max.x:e.min.x,C7.y=r.normal.y>0?e.max.y:e.min.y,C7.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(C7)<0)return!1}return!0}containsPoint(e){const t=this.planes;for(let i=0;i<6;i++)if(t[i].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function BT(){let n=null,e=!1,t=null,i=null;function r(a,s){t(a,s),i=n.requestAnimationFrame(r)}return{start:function(){e!==!0&&t!==null&&(i=n.requestAnimationFrame(r),e=!0)},stop:function(){n.cancelAnimationFrame(i),e=!1},setAnimationLoop:function(a){t=a},setContext:function(a){n=a}}}function ZD(n,e){const t=e.isWebGL2,i=new WeakMap;function r(u,d){const h=u.array,f=u.usage,v=h.byteLength,_=n.createBuffer();n.bindBuffer(d,_),n.bufferData(d,h,f),u.onUploadCallback();let b;if(h instanceof Float32Array)b=n.FLOAT;else if(h instanceof Uint16Array)if(u.isFloat16BufferAttribute)if(t)b=n.HALF_FLOAT;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else b=n.UNSIGNED_SHORT;else if(h instanceof Int16Array)b=n.SHORT;else if(h instanceof Uint32Array)b=n.UNSIGNED_INT;else if(h instanceof Int32Array)b=n.INT;else if(h instanceof Int8Array)b=n.BYTE;else if(h instanceof Uint8Array)b=n.UNSIGNED_BYTE;else if(h instanceof Uint8ClampedArray)b=n.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+h);return{buffer:_,type:b,bytesPerElement:h.BYTES_PER_ELEMENT,version:u.version,size:v}}function a(u,d,h){const f=d.array,v=d._updateRange,_=d.updateRanges;if(n.bindBuffer(h,u),v.count===-1&&_.length===0&&n.bufferSubData(h,0,f),_.length!==0){for(let b=0,y=_.length;b 0 vec4 plane; #ifdef ALPHA_TO_COVERAGE float distanceToPlane, distanceGradient; float clipOpacity = 1.0; #pragma unroll_loop_start for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) { plane = clippingPlanes[ i ]; distanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w; distanceGradient = fwidth( distanceToPlane ) / 2.0; clipOpacity *= smoothstep( - distanceGradient, distanceGradient, distanceToPlane ); if ( clipOpacity == 0.0 ) discard; } #pragma unroll_loop_end #if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES float unionClipOpacity = 1.0; #pragma unroll_loop_start for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) { plane = clippingPlanes[ i ]; distanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w; distanceGradient = fwidth( distanceToPlane ) / 2.0; unionClipOpacity *= 1.0 - smoothstep( - distanceGradient, distanceGradient, distanceToPlane ); } #pragma unroll_loop_end clipOpacity *= 1.0 - unionClipOpacity; #endif diffuseColor.a *= clipOpacity; if ( diffuseColor.a == 0.0 ) discard; #else #pragma unroll_loop_start for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) { plane = clippingPlanes[ i ]; if ( dot( vClipPosition, plane.xyz ) > plane.w ) discard; } #pragma unroll_loop_end #if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES bool clipped = true; #pragma unroll_loop_start for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) { plane = clippingPlanes[ i ]; clipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped; } #pragma unroll_loop_end if ( clipped ) discard; #endif #endif #endif`,mU=`#if NUM_CLIPPING_PLANES > 0 varying vec3 vClipPosition; uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; #endif`,gU=`#if NUM_CLIPPING_PLANES > 0 varying vec3 vClipPosition; #endif`,vU=`#if NUM_CLIPPING_PLANES > 0 vClipPosition = - mvPosition.xyz; #endif`,yU=`#if defined( USE_COLOR_ALPHA ) diffuseColor *= vColor; #elif defined( USE_COLOR ) diffuseColor.rgb *= vColor; #endif`,_U=`#if defined( USE_COLOR_ALPHA ) varying vec4 vColor; #elif defined( USE_COLOR ) varying vec3 vColor; #endif`,SU=`#if defined( USE_COLOR_ALPHA ) varying vec4 vColor; #elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) varying vec3 vColor; #endif`,bU=`#if defined( USE_COLOR_ALPHA ) vColor = vec4( 1.0 ); #elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) vColor = vec3( 1.0 ); #endif #ifdef USE_COLOR vColor *= color; #endif #ifdef USE_INSTANCING_COLOR vColor.xyz *= instanceColor.xyz; #endif`,TU=`#define PI 3.141592653589793 #define PI2 6.283185307179586 #define PI_HALF 1.5707963267948966 #define RECIPROCAL_PI 0.3183098861837907 #define RECIPROCAL_PI2 0.15915494309189535 #define EPSILON 1e-6 #ifndef saturate #define saturate( a ) clamp( a, 0.0, 1.0 ) #endif #define whiteComplement( a ) ( 1.0 - saturate( a ) ) float pow2( const in float x ) { return x*x; } vec3 pow2( const in vec3 x ) { return x*x; } float pow3( const in float x ) { return x*x*x; } float pow4( const in float x ) { float x2 = x*x; return x2*x2; } float max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); } float average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); } highp float rand( const in vec2 uv ) { const highp float a = 12.9898, b = 78.233, c = 43758.5453; highp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI ); return fract( sin( sn ) * c ); } #ifdef HIGH_PRECISION float precisionSafeLength( vec3 v ) { return length( v ); } #else float precisionSafeLength( vec3 v ) { float maxComponent = max3( abs( v ) ); return length( v / maxComponent ) * maxComponent; } #endif struct IncidentLight { vec3 color; vec3 direction; bool visible; }; struct ReflectedLight { vec3 directDiffuse; vec3 directSpecular; vec3 indirectDiffuse; vec3 indirectSpecular; }; #ifdef USE_ALPHAHASH varying vec3 vPosition; #endif vec3 transformDirection( in vec3 dir, in mat4 matrix ) { return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); } vec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) { return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz ); } mat3 transposeMat3( const in mat3 m ) { mat3 tmp; tmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x ); tmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y ); tmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z ); return tmp; } float luminance( const in vec3 rgb ) { const vec3 weights = vec3( 0.2126729, 0.7151522, 0.0721750 ); return dot( weights, rgb ); } bool isPerspectiveMatrix( mat4 m ) { return m[ 2 ][ 3 ] == - 1.0; } vec2 equirectUv( in vec3 dir ) { float u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5; float v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5; return vec2( u, v ); } vec3 BRDF_Lambert( const in vec3 diffuseColor ) { return RECIPROCAL_PI * diffuseColor; } vec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) { float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH ); return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel ); } float F_Schlick( const in float f0, const in float f90, const in float dotVH ) { float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH ); return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel ); } // validated`,wU=`#ifdef ENVMAP_TYPE_CUBE_UV #define cubeUV_minMipLevel 4.0 #define cubeUV_minTileSize 16.0 float getFace( vec3 direction ) { vec3 absDirection = abs( direction ); float face = - 1.0; if ( absDirection.x > absDirection.z ) { if ( absDirection.x > absDirection.y ) face = direction.x > 0.0 ? 0.0 : 3.0; else face = direction.y > 0.0 ? 1.0 : 4.0; } else { if ( absDirection.z > absDirection.y ) face = direction.z > 0.0 ? 2.0 : 5.0; else face = direction.y > 0.0 ? 1.0 : 4.0; } return face; } vec2 getUV( vec3 direction, float face ) { vec2 uv; if ( face == 0.0 ) { uv = vec2( direction.z, direction.y ) / abs( direction.x ); } else if ( face == 1.0 ) { uv = vec2( - direction.x, - direction.z ) / abs( direction.y ); } else if ( face == 2.0 ) { uv = vec2( - direction.x, direction.y ) / abs( direction.z ); } else if ( face == 3.0 ) { uv = vec2( - direction.z, direction.y ) / abs( direction.x ); } else if ( face == 4.0 ) { uv = vec2( - direction.x, direction.z ) / abs( direction.y ); } else { uv = vec2( direction.x, direction.y ) / abs( direction.z ); } return 0.5 * ( uv + 1.0 ); } vec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) { float face = getFace( direction ); float filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 ); mipInt = max( mipInt, cubeUV_minMipLevel ); float faceSize = exp2( mipInt ); highp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0; if ( face > 2.0 ) { uv.y += faceSize; face -= 3.0; } uv.x += face * faceSize; uv.x += filterInt * 3.0 * cubeUV_minTileSize; uv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize ); uv.x *= CUBEUV_TEXEL_WIDTH; uv.y *= CUBEUV_TEXEL_HEIGHT; #ifdef texture2DGradEXT return texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb; #else return texture2D( envMap, uv ).rgb; #endif } #define cubeUV_r0 1.0 #define cubeUV_m0 - 2.0 #define cubeUV_r1 0.8 #define cubeUV_m1 - 1.0 #define cubeUV_r4 0.4 #define cubeUV_m4 2.0 #define cubeUV_r5 0.305 #define cubeUV_m5 3.0 #define cubeUV_r6 0.21 #define cubeUV_m6 4.0 float roughnessToMip( float roughness ) { float mip = 0.0; if ( roughness >= cubeUV_r1 ) { mip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0; } else if ( roughness >= cubeUV_r4 ) { mip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1; } else if ( roughness >= cubeUV_r5 ) { mip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4; } else if ( roughness >= cubeUV_r6 ) { mip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5; } else { mip = - 2.0 * log2( 1.16 * roughness ); } return mip; } vec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) { float mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP ); float mipF = fract( mip ); float mipInt = floor( mip ); vec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt ); if ( mipF == 0.0 ) { return vec4( color0, 1.0 ); } else { vec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 ); return vec4( mix( color0, color1, mipF ), 1.0 ); } } #endif`,xU=`vec3 transformedNormal = objectNormal; #ifdef USE_TANGENT vec3 transformedTangent = objectTangent; #endif #ifdef USE_BATCHING mat3 bm = mat3( batchingMatrix ); transformedNormal /= vec3( dot( bm[ 0 ], bm[ 0 ] ), dot( bm[ 1 ], bm[ 1 ] ), dot( bm[ 2 ], bm[ 2 ] ) ); transformedNormal = bm * transformedNormal; #ifdef USE_TANGENT transformedTangent = bm * transformedTangent; #endif #endif #ifdef USE_INSTANCING mat3 im = mat3( instanceMatrix ); transformedNormal /= vec3( dot( im[ 0 ], im[ 0 ] ), dot( im[ 1 ], im[ 1 ] ), dot( im[ 2 ], im[ 2 ] ) ); transformedNormal = im * transformedNormal; #ifdef USE_TANGENT transformedTangent = im * transformedTangent; #endif #endif transformedNormal = normalMatrix * transformedNormal; #ifdef FLIP_SIDED transformedNormal = - transformedNormal; #endif #ifdef USE_TANGENT transformedTangent = ( modelViewMatrix * vec4( transformedTangent, 0.0 ) ).xyz; #ifdef FLIP_SIDED transformedTangent = - transformedTangent; #endif #endif`,AU=`#ifdef USE_DISPLACEMENTMAP uniform sampler2D displacementMap; uniform float displacementScale; uniform float displacementBias; #endif`,CU=`#ifdef USE_DISPLACEMENTMAP transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias ); #endif`,MU=`#ifdef USE_EMISSIVEMAP vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); totalEmissiveRadiance *= emissiveColor.rgb; #endif`,EU=`#ifdef USE_EMISSIVEMAP uniform sampler2D emissiveMap; #endif`,PU="gl_FragColor = linearToOutputTexel( gl_FragColor );",RU=` const mat3 LINEAR_SRGB_TO_LINEAR_DISPLAY_P3 = mat3( vec3( 0.8224621, 0.177538, 0.0 ), vec3( 0.0331941, 0.9668058, 0.0 ), vec3( 0.0170827, 0.0723974, 0.9105199 ) ); const mat3 LINEAR_DISPLAY_P3_TO_LINEAR_SRGB = mat3( vec3( 1.2249401, - 0.2249404, 0.0 ), vec3( - 0.0420569, 1.0420571, 0.0 ), vec3( - 0.0196376, - 0.0786361, 1.0982735 ) ); vec4 LinearSRGBToLinearDisplayP3( in vec4 value ) { return vec4( value.rgb * LINEAR_SRGB_TO_LINEAR_DISPLAY_P3, value.a ); } vec4 LinearDisplayP3ToLinearSRGB( in vec4 value ) { return vec4( value.rgb * LINEAR_DISPLAY_P3_TO_LINEAR_SRGB, value.a ); } vec4 LinearTransferOETF( in vec4 value ) { return value; } vec4 sRGBTransferOETF( in vec4 value ) { return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a ); } vec4 LinearToLinear( in vec4 value ) { return value; } vec4 LinearTosRGB( in vec4 value ) { return sRGBTransferOETF( value ); }`,NU=`#ifdef USE_ENVMAP #ifdef ENV_WORLDPOS vec3 cameraToFrag; if ( isOrthographic ) { cameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) ); } else { cameraToFrag = normalize( vWorldPosition - cameraPosition ); } vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); #ifdef ENVMAP_MODE_REFLECTION vec3 reflectVec = reflect( cameraToFrag, worldNormal ); #else vec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio ); #endif #else vec3 reflectVec = vReflect; #endif #ifdef ENVMAP_TYPE_CUBE vec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) ); #else vec4 envColor = vec4( 0.0 ); #endif #ifdef ENVMAP_BLENDING_MULTIPLY outgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity ); #elif defined( ENVMAP_BLENDING_MIX ) outgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity ); #elif defined( ENVMAP_BLENDING_ADD ) outgoingLight += envColor.xyz * specularStrength * reflectivity; #endif #endif`,LU=`#ifdef USE_ENVMAP uniform float envMapIntensity; uniform float flipEnvMap; #ifdef ENVMAP_TYPE_CUBE uniform samplerCube envMap; #else uniform sampler2D envMap; #endif #endif`,IU=`#ifdef USE_ENVMAP uniform float reflectivity; #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) #define ENV_WORLDPOS #endif #ifdef ENV_WORLDPOS varying vec3 vWorldPosition; uniform float refractionRatio; #else varying vec3 vReflect; #endif #endif`,kU=`#ifdef USE_ENVMAP #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) #define ENV_WORLDPOS #endif #ifdef ENV_WORLDPOS varying vec3 vWorldPosition; #else varying vec3 vReflect; uniform float refractionRatio; #endif #endif`,FU=`#ifdef USE_ENVMAP #ifdef ENV_WORLDPOS vWorldPosition = worldPosition.xyz; #else vec3 cameraToVertex; if ( isOrthographic ) { cameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) ); } else { cameraToVertex = normalize( worldPosition.xyz - cameraPosition ); } vec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); #ifdef ENVMAP_MODE_REFLECTION vReflect = reflect( cameraToVertex, worldNormal ); #else vReflect = refract( cameraToVertex, worldNormal, refractionRatio ); #endif #endif #endif`,DU=`#ifdef USE_FOG vFogDepth = - mvPosition.z; #endif`,UU=`#ifdef USE_FOG varying float vFogDepth; #endif`,OU=`#ifdef USE_FOG #ifdef FOG_EXP2 float fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth ); #else float fogFactor = smoothstep( fogNear, fogFar, vFogDepth ); #endif gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor ); #endif`,BU=`#ifdef USE_FOG uniform vec3 fogColor; varying float vFogDepth; #ifdef FOG_EXP2 uniform float fogDensity; #else uniform float fogNear; uniform float fogFar; #endif #endif`,zU=`#ifdef USE_GRADIENTMAP uniform sampler2D gradientMap; #endif vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { float dotNL = dot( normal, lightDirection ); vec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 ); #ifdef USE_GRADIENTMAP return vec3( texture2D( gradientMap, coord ).r ); #else vec2 fw = fwidth( coord ) * 0.5; return mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) ); #endif }`,GU=`#ifdef USE_LIGHTMAP vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; reflectedLight.indirectDiffuse += lightMapIrradiance; #endif`,VU=`#ifdef USE_LIGHTMAP uniform sampler2D lightMap; uniform float lightMapIntensity; #endif`,HU=`LambertMaterial material; material.diffuseColor = diffuseColor.rgb; material.specularStrength = specularStrength;`,jU=`varying vec3 vViewPosition; struct LambertMaterial { vec3 diffuseColor; float specularStrength; }; void RE_Direct_Lambert( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) { float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); vec3 irradiance = dotNL * directLight.color; reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } void RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) { reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_Lambert #define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,WU=`uniform bool receiveShadow; uniform vec3 ambientLightColor; #if defined( USE_LIGHT_PROBES ) uniform vec3 lightProbe[ 9 ]; #endif vec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) { float x = normal.x, y = normal.y, z = normal.z; vec3 result = shCoefficients[ 0 ] * 0.886227; result += shCoefficients[ 1 ] * 2.0 * 0.511664 * y; result += shCoefficients[ 2 ] * 2.0 * 0.511664 * z; result += shCoefficients[ 3 ] * 2.0 * 0.511664 * x; result += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y; result += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z; result += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 ); result += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z; result += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y ); return result; } vec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) { vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); vec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe ); return irradiance; } vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) { vec3 irradiance = ambientLightColor; return irradiance; } float getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) { #if defined ( LEGACY_LIGHTS ) if ( cutoffDistance > 0.0 && decayExponent > 0.0 ) { return pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent ); } return 1.0; #else float distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 ); if ( cutoffDistance > 0.0 ) { distanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) ); } return distanceFalloff; #endif } float getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) { return smoothstep( coneCosine, penumbraCosine, angleCosine ); } #if NUM_DIR_LIGHTS > 0 struct DirectionalLight { vec3 direction; vec3 color; }; uniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ]; void getDirectionalLightInfo( const in DirectionalLight directionalLight, out IncidentLight light ) { light.color = directionalLight.color; light.direction = directionalLight.direction; light.visible = true; } #endif #if NUM_POINT_LIGHTS > 0 struct PointLight { vec3 position; vec3 color; float distance; float decay; }; uniform PointLight pointLights[ NUM_POINT_LIGHTS ]; void getPointLightInfo( const in PointLight pointLight, const in vec3 geometryPosition, out IncidentLight light ) { vec3 lVector = pointLight.position - geometryPosition; light.direction = normalize( lVector ); float lightDistance = length( lVector ); light.color = pointLight.color; light.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay ); light.visible = ( light.color != vec3( 0.0 ) ); } #endif #if NUM_SPOT_LIGHTS > 0 struct SpotLight { vec3 position; vec3 direction; vec3 color; float distance; float decay; float coneCos; float penumbraCos; }; uniform SpotLight spotLights[ NUM_SPOT_LIGHTS ]; void getSpotLightInfo( const in SpotLight spotLight, const in vec3 geometryPosition, out IncidentLight light ) { vec3 lVector = spotLight.position - geometryPosition; light.direction = normalize( lVector ); float angleCos = dot( light.direction, spotLight.direction ); float spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos ); if ( spotAttenuation > 0.0 ) { float lightDistance = length( lVector ); light.color = spotLight.color * spotAttenuation; light.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay ); light.visible = ( light.color != vec3( 0.0 ) ); } else { light.color = vec3( 0.0 ); light.visible = false; } } #endif #if NUM_RECT_AREA_LIGHTS > 0 struct RectAreaLight { vec3 color; vec3 position; vec3 halfWidth; vec3 halfHeight; }; uniform sampler2D ltc_1; uniform sampler2D ltc_2; uniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ]; #endif #if NUM_HEMI_LIGHTS > 0 struct HemisphereLight { vec3 direction; vec3 skyColor; vec3 groundColor; }; uniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ]; vec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) { float dotNL = dot( normal, hemiLight.direction ); float hemiDiffuseWeight = 0.5 * dotNL + 0.5; vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight ); return irradiance; } #endif`,$U=`#ifdef USE_ENVMAP vec3 getIBLIrradiance( const in vec3 normal ) { #ifdef ENVMAP_TYPE_CUBE_UV vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); vec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 ); return PI * envMapColor.rgb * envMapIntensity; #else return vec3( 0.0 ); #endif } vec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) { #ifdef ENVMAP_TYPE_CUBE_UV vec3 reflectVec = reflect( - viewDir, normal ); reflectVec = normalize( mix( reflectVec, normal, roughness * roughness) ); reflectVec = inverseTransformDirection( reflectVec, viewMatrix ); vec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness ); return envMapColor.rgb * envMapIntensity; #else return vec3( 0.0 ); #endif } #ifdef USE_ANISOTROPY vec3 getIBLAnisotropyRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in vec3 bitangent, const in float anisotropy ) { #ifdef ENVMAP_TYPE_CUBE_UV vec3 bentNormal = cross( bitangent, viewDir ); bentNormal = normalize( cross( bentNormal, bitangent ) ); bentNormal = normalize( mix( bentNormal, normal, pow2( pow2( 1.0 - anisotropy * ( 1.0 - roughness ) ) ) ) ); return getIBLRadiance( viewDir, bentNormal, roughness ); #else return vec3( 0.0 ); #endif } #endif #endif`,YU=`ToonMaterial material; material.diffuseColor = diffuseColor.rgb;`,qU=`varying vec3 vViewPosition; struct ToonMaterial { vec3 diffuseColor; }; void RE_Direct_Toon( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) { vec3 irradiance = getGradientIrradiance( geometryNormal, directLight.direction ) * directLight.color; reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) { reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_Toon #define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,KU=`BlinnPhongMaterial material; material.diffuseColor = diffuseColor.rgb; material.specularColor = specular; material.specularShininess = shininess; material.specularStrength = specularStrength;`,XU=`varying vec3 vViewPosition; struct BlinnPhongMaterial { vec3 diffuseColor; vec3 specularColor; float specularShininess; float specularStrength; }; void RE_Direct_BlinnPhong( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) { float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); vec3 irradiance = dotNL * directLight.color; reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); reflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometryViewDir, geometryNormal, material.specularColor, material.specularShininess ) * material.specularStrength; } void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) { reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_BlinnPhong #define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,JU=`PhysicalMaterial material; material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor ); vec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) ); float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z ); material.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness; material.roughness = min( material.roughness, 1.0 ); #ifdef IOR material.ior = ior; #ifdef USE_SPECULAR float specularIntensityFactor = specularIntensity; vec3 specularColorFactor = specularColor; #ifdef USE_SPECULAR_COLORMAP specularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb; #endif #ifdef USE_SPECULAR_INTENSITYMAP specularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a; #endif material.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor ); #else float specularIntensityFactor = 1.0; vec3 specularColorFactor = vec3( 1.0 ); material.specularF90 = 1.0; #endif material.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor ); #else material.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor ); material.specularF90 = 1.0; #endif #ifdef USE_CLEARCOAT material.clearcoat = clearcoat; material.clearcoatRoughness = clearcoatRoughness; material.clearcoatF0 = vec3( 0.04 ); material.clearcoatF90 = 1.0; #ifdef USE_CLEARCOATMAP material.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x; #endif #ifdef USE_CLEARCOAT_ROUGHNESSMAP material.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y; #endif material.clearcoat = saturate( material.clearcoat ); material.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 ); material.clearcoatRoughness += geometryRoughness; material.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 ); #endif #ifdef USE_IRIDESCENCE material.iridescence = iridescence; material.iridescenceIOR = iridescenceIOR; #ifdef USE_IRIDESCENCEMAP material.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r; #endif #ifdef USE_IRIDESCENCE_THICKNESSMAP material.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum; #else material.iridescenceThickness = iridescenceThicknessMaximum; #endif #endif #ifdef USE_SHEEN material.sheenColor = sheenColor; #ifdef USE_SHEEN_COLORMAP material.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb; #endif material.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 ); #ifdef USE_SHEEN_ROUGHNESSMAP material.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a; #endif #endif #ifdef USE_ANISOTROPY #ifdef USE_ANISOTROPYMAP mat2 anisotropyMat = mat2( anisotropyVector.x, anisotropyVector.y, - anisotropyVector.y, anisotropyVector.x ); vec3 anisotropyPolar = texture2D( anisotropyMap, vAnisotropyMapUv ).rgb; vec2 anisotropyV = anisotropyMat * normalize( 2.0 * anisotropyPolar.rg - vec2( 1.0 ) ) * anisotropyPolar.b; #else vec2 anisotropyV = anisotropyVector; #endif material.anisotropy = length( anisotropyV ); if( material.anisotropy == 0.0 ) { anisotropyV = vec2( 1.0, 0.0 ); } else { anisotropyV /= material.anisotropy; material.anisotropy = saturate( material.anisotropy ); } material.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) ); material.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y; material.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y; #endif`,ZU=`struct PhysicalMaterial { vec3 diffuseColor; float roughness; vec3 specularColor; float specularF90; #ifdef USE_CLEARCOAT float clearcoat; float clearcoatRoughness; vec3 clearcoatF0; float clearcoatF90; #endif #ifdef USE_IRIDESCENCE float iridescence; float iridescenceIOR; float iridescenceThickness; vec3 iridescenceFresnel; vec3 iridescenceF0; #endif #ifdef USE_SHEEN vec3 sheenColor; float sheenRoughness; #endif #ifdef IOR float ior; #endif #ifdef USE_TRANSMISSION float transmission; float transmissionAlpha; float thickness; float attenuationDistance; vec3 attenuationColor; #endif #ifdef USE_ANISOTROPY float anisotropy; float alphaT; vec3 anisotropyT; vec3 anisotropyB; #endif }; vec3 clearcoatSpecularDirect = vec3( 0.0 ); vec3 clearcoatSpecularIndirect = vec3( 0.0 ); vec3 sheenSpecularDirect = vec3( 0.0 ); vec3 sheenSpecularIndirect = vec3(0.0 ); vec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) { float x = clamp( 1.0 - dotVH, 0.0, 1.0 ); float x2 = x * x; float x5 = clamp( x * x2 * x2, 0.0, 0.9999 ); return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 ); } float V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) { float a2 = pow2( alpha ); float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) ); float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) ); return 0.5 / max( gv + gl, EPSILON ); } float D_GGX( const in float alpha, const in float dotNH ) { float a2 = pow2( alpha ); float denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0; return RECIPROCAL_PI * a2 / pow2( denom ); } #ifdef USE_ANISOTROPY float V_GGX_SmithCorrelated_Anisotropic( const in float alphaT, const in float alphaB, const in float dotTV, const in float dotBV, const in float dotTL, const in float dotBL, const in float dotNV, const in float dotNL ) { float gv = dotNL * length( vec3( alphaT * dotTV, alphaB * dotBV, dotNV ) ); float gl = dotNV * length( vec3( alphaT * dotTL, alphaB * dotBL, dotNL ) ); float v = 0.5 / ( gv + gl ); return saturate(v); } float D_GGX_Anisotropic( const in float alphaT, const in float alphaB, const in float dotNH, const in float dotTH, const in float dotBH ) { float a2 = alphaT * alphaB; highp vec3 v = vec3( alphaB * dotTH, alphaT * dotBH, a2 * dotNH ); highp float v2 = dot( v, v ); float w2 = a2 / v2; return RECIPROCAL_PI * a2 * pow2 ( w2 ); } #endif #ifdef USE_CLEARCOAT vec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) { vec3 f0 = material.clearcoatF0; float f90 = material.clearcoatF90; float roughness = material.clearcoatRoughness; float alpha = pow2( roughness ); vec3 halfDir = normalize( lightDir + viewDir ); float dotNL = saturate( dot( normal, lightDir ) ); float dotNV = saturate( dot( normal, viewDir ) ); float dotNH = saturate( dot( normal, halfDir ) ); float dotVH = saturate( dot( viewDir, halfDir ) ); vec3 F = F_Schlick( f0, f90, dotVH ); float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); float D = D_GGX( alpha, dotNH ); return F * ( V * D ); } #endif vec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) { vec3 f0 = material.specularColor; float f90 = material.specularF90; float roughness = material.roughness; float alpha = pow2( roughness ); vec3 halfDir = normalize( lightDir + viewDir ); float dotNL = saturate( dot( normal, lightDir ) ); float dotNV = saturate( dot( normal, viewDir ) ); float dotNH = saturate( dot( normal, halfDir ) ); float dotVH = saturate( dot( viewDir, halfDir ) ); vec3 F = F_Schlick( f0, f90, dotVH ); #ifdef USE_IRIDESCENCE F = mix( F, material.iridescenceFresnel, material.iridescence ); #endif #ifdef USE_ANISOTROPY float dotTL = dot( material.anisotropyT, lightDir ); float dotTV = dot( material.anisotropyT, viewDir ); float dotTH = dot( material.anisotropyT, halfDir ); float dotBL = dot( material.anisotropyB, lightDir ); float dotBV = dot( material.anisotropyB, viewDir ); float dotBH = dot( material.anisotropyB, halfDir ); float V = V_GGX_SmithCorrelated_Anisotropic( material.alphaT, alpha, dotTV, dotBV, dotTL, dotBL, dotNV, dotNL ); float D = D_GGX_Anisotropic( material.alphaT, alpha, dotNH, dotTH, dotBH ); #else float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); float D = D_GGX( alpha, dotNH ); #endif return F * ( V * D ); } vec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) { const float LUT_SIZE = 64.0; const float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE; const float LUT_BIAS = 0.5 / LUT_SIZE; float dotNV = saturate( dot( N, V ) ); vec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) ); uv = uv * LUT_SCALE + LUT_BIAS; return uv; } float LTC_ClippedSphereFormFactor( const in vec3 f ) { float l = length( f ); return max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 ); } vec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) { float x = dot( v1, v2 ); float y = abs( x ); float a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y; float b = 3.4175940 + ( 4.1616724 + y ) * y; float v = a / b; float theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v; return cross( v1, v2 ) * theta_sintheta; } vec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) { vec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ]; vec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ]; vec3 lightNormal = cross( v1, v2 ); if( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 ); vec3 T1, T2; T1 = normalize( V - N * dot( V, N ) ); T2 = - cross( N, T1 ); mat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) ); vec3 coords[ 4 ]; coords[ 0 ] = mat * ( rectCoords[ 0 ] - P ); coords[ 1 ] = mat * ( rectCoords[ 1 ] - P ); coords[ 2 ] = mat * ( rectCoords[ 2 ] - P ); coords[ 3 ] = mat * ( rectCoords[ 3 ] - P ); coords[ 0 ] = normalize( coords[ 0 ] ); coords[ 1 ] = normalize( coords[ 1 ] ); coords[ 2 ] = normalize( coords[ 2 ] ); coords[ 3 ] = normalize( coords[ 3 ] ); vec3 vectorFormFactor = vec3( 0.0 ); vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] ); vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] ); vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] ); vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] ); float result = LTC_ClippedSphereFormFactor( vectorFormFactor ); return vec3( result ); } #if defined( USE_SHEEN ) float D_Charlie( float roughness, float dotNH ) { float alpha = pow2( roughness ); float invAlpha = 1.0 / alpha; float cos2h = dotNH * dotNH; float sin2h = max( 1.0 - cos2h, 0.0078125 ); return ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI ); } float V_Neubelt( float dotNV, float dotNL ) { return saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) ); } vec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) { vec3 halfDir = normalize( lightDir + viewDir ); float dotNL = saturate( dot( normal, lightDir ) ); float dotNV = saturate( dot( normal, viewDir ) ); float dotNH = saturate( dot( normal, halfDir ) ); float D = D_Charlie( sheenRoughness, dotNH ); float V = V_Neubelt( dotNV, dotNL ); return sheenColor * ( D * V ); } #endif float IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { float dotNV = saturate( dot( normal, viewDir ) ); float r2 = roughness * roughness; float a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95; float b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72; float DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) ); return saturate( DG * RECIPROCAL_PI ); } vec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { float dotNV = saturate( dot( normal, viewDir ) ); const vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 ); const vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 ); vec4 r = roughness * c0 + c1; float a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y; vec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw; return fab; } vec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) { vec2 fab = DFGApprox( normal, viewDir, roughness ); return specularColor * fab.x + specularF90 * fab.y; } #ifdef USE_IRIDESCENCE void computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { #else void computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { #endif vec2 fab = DFGApprox( normal, viewDir, roughness ); #ifdef USE_IRIDESCENCE vec3 Fr = mix( specularColor, iridescenceF0, iridescence ); #else vec3 Fr = specularColor; #endif vec3 FssEss = Fr * fab.x + specularF90 * fab.y; float Ess = fab.x + fab.y; float Ems = 1.0 - Ess; vec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619; vec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg ); singleScatter += FssEss; multiScatter += Fms * Ems; } #if NUM_RECT_AREA_LIGHTS > 0 void RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { vec3 normal = geometryNormal; vec3 viewDir = geometryViewDir; vec3 position = geometryPosition; vec3 lightPos = rectAreaLight.position; vec3 halfWidth = rectAreaLight.halfWidth; vec3 halfHeight = rectAreaLight.halfHeight; vec3 lightColor = rectAreaLight.color; float roughness = material.roughness; vec3 rectCoords[ 4 ]; rectCoords[ 0 ] = lightPos + halfWidth - halfHeight; rectCoords[ 1 ] = lightPos - halfWidth - halfHeight; rectCoords[ 2 ] = lightPos - halfWidth + halfHeight; rectCoords[ 3 ] = lightPos + halfWidth + halfHeight; vec2 uv = LTC_Uv( normal, viewDir, roughness ); vec4 t1 = texture2D( ltc_1, uv ); vec4 t2 = texture2D( ltc_2, uv ); mat3 mInv = mat3( vec3( t1.x, 0, t1.y ), vec3( 0, 1, 0 ), vec3( t1.z, 0, t1.w ) ); vec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y ); reflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords ); reflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords ); } #endif void RE_Direct_Physical( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); vec3 irradiance = dotNL * directLight.color; #ifdef USE_CLEARCOAT float dotNLcc = saturate( dot( geometryClearcoatNormal, directLight.direction ) ); vec3 ccIrradiance = dotNLcc * directLight.color; clearcoatSpecularDirect += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometryViewDir, geometryClearcoatNormal, material ); #endif #ifdef USE_SHEEN sheenSpecularDirect += irradiance * BRDF_Sheen( directLight.direction, geometryViewDir, geometryNormal, material.sheenColor, material.sheenRoughness ); #endif reflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometryViewDir, geometryNormal, material ); reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } void RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) { #ifdef USE_CLEARCOAT clearcoatSpecularIndirect += clearcoatRadiance * EnvironmentBRDF( geometryClearcoatNormal, geometryViewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness ); #endif #ifdef USE_SHEEN sheenSpecularIndirect += irradiance * material.sheenColor * IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness ); #endif vec3 singleScattering = vec3( 0.0 ); vec3 multiScattering = vec3( 0.0 ); vec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI; #ifdef USE_IRIDESCENCE computeMultiscatteringIridescence( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering ); #else computeMultiscattering( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering ); #endif vec3 totalScattering = singleScattering + multiScattering; vec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) ); reflectedLight.indirectSpecular += radiance * singleScattering; reflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance; reflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance; } #define RE_Direct RE_Direct_Physical #define RE_Direct_RectArea RE_Direct_RectArea_Physical #define RE_IndirectDiffuse RE_IndirectDiffuse_Physical #define RE_IndirectSpecular RE_IndirectSpecular_Physical float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) { return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion ); }`,QU=` vec3 geometryPosition = - vViewPosition; vec3 geometryNormal = normal; vec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition ); vec3 geometryClearcoatNormal = vec3( 0.0 ); #ifdef USE_CLEARCOAT geometryClearcoatNormal = clearcoatNormal; #endif #ifdef USE_IRIDESCENCE float dotNVi = saturate( dot( normal, geometryViewDir ) ); if ( material.iridescenceThickness == 0.0 ) { material.iridescence = 0.0; } else { material.iridescence = saturate( material.iridescence ); } if ( material.iridescence > 0.0 ) { material.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor ); material.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi ); } #endif IncidentLight directLight; #if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct ) PointLight pointLight; #if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0 PointLightShadow pointLightShadow; #endif #pragma unroll_loop_start for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) { pointLight = pointLights[ i ]; getPointLightInfo( pointLight, geometryPosition, directLight ); #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS ) pointLightShadow = pointLightShadows[ i ]; directLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0; #endif RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); } #pragma unroll_loop_end #endif #if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct ) SpotLight spotLight; vec4 spotColor; vec3 spotLightCoord; bool inSpotLightMap; #if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0 SpotLightShadow spotLightShadow; #endif #pragma unroll_loop_start for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) { spotLight = spotLights[ i ]; getSpotLightInfo( spotLight, geometryPosition, directLight ); #if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS ) #define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX #elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) #define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS #else #define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS ) #endif #if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS ) spotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w; inSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) ); spotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy ); directLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color; #endif #undef SPOT_LIGHT_MAP_INDEX #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) spotLightShadow = spotLightShadows[ i ]; directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0; #endif RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); } #pragma unroll_loop_end #endif #if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct ) DirectionalLight directionalLight; #if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0 DirectionalLightShadow directionalLightShadow; #endif #pragma unroll_loop_start for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) { directionalLight = directionalLights[ i ]; getDirectionalLightInfo( directionalLight, directLight ); #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS ) directionalLightShadow = directionalLightShadows[ i ]; directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0; #endif RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); } #pragma unroll_loop_end #endif #if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea ) RectAreaLight rectAreaLight; #pragma unroll_loop_start for ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) { rectAreaLight = rectAreaLights[ i ]; RE_Direct_RectArea( rectAreaLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); } #pragma unroll_loop_end #endif #if defined( RE_IndirectDiffuse ) vec3 iblIrradiance = vec3( 0.0 ); vec3 irradiance = getAmbientLightIrradiance( ambientLightColor ); #if defined( USE_LIGHT_PROBES ) irradiance += getLightProbeIrradiance( lightProbe, geometryNormal ); #endif #if ( NUM_HEMI_LIGHTS > 0 ) #pragma unroll_loop_start for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) { irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometryNormal ); } #pragma unroll_loop_end #endif #endif #if defined( RE_IndirectSpecular ) vec3 radiance = vec3( 0.0 ); vec3 clearcoatRadiance = vec3( 0.0 ); #endif`,eO=`#if defined( RE_IndirectDiffuse ) #ifdef USE_LIGHTMAP vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; irradiance += lightMapIrradiance; #endif #if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV ) iblIrradiance += getIBLIrradiance( geometryNormal ); #endif #endif #if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular ) #ifdef USE_ANISOTROPY radiance += getIBLAnisotropyRadiance( geometryViewDir, geometryNormal, material.roughness, material.anisotropyB, material.anisotropy ); #else radiance += getIBLRadiance( geometryViewDir, geometryNormal, material.roughness ); #endif #ifdef USE_CLEARCOAT clearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness ); #endif #endif`,tO=`#if defined( RE_IndirectDiffuse ) RE_IndirectDiffuse( irradiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); #endif #if defined( RE_IndirectSpecular ) RE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); #endif`,nO=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; #endif`,iO=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) uniform float logDepthBufFC; varying float vFragDepth; varying float vIsPerspective; #endif`,rO=`#ifdef USE_LOGDEPTHBUF #ifdef USE_LOGDEPTHBUF_EXT varying float vFragDepth; varying float vIsPerspective; #else uniform float logDepthBufFC; #endif #endif`,aO=`#ifdef USE_LOGDEPTHBUF #ifdef USE_LOGDEPTHBUF_EXT vFragDepth = 1.0 + gl_Position.w; vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); #else if ( isPerspectiveMatrix( projectionMatrix ) ) { gl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0; gl_Position.z *= gl_Position.w; } #endif #endif`,sO=`#ifdef USE_MAP vec4 sampledDiffuseColor = texture2D( map, vMapUv ); #ifdef DECODE_VIDEO_TEXTURE sampledDiffuseColor = vec4( mix( pow( sampledDiffuseColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), sampledDiffuseColor.rgb * 0.0773993808, vec3( lessThanEqual( sampledDiffuseColor.rgb, vec3( 0.04045 ) ) ) ), sampledDiffuseColor.w ); #endif diffuseColor *= sampledDiffuseColor; #endif`,oO=`#ifdef USE_MAP uniform sampler2D map; #endif`,lO=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) #if defined( USE_POINTS_UV ) vec2 uv = vUv; #else vec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy; #endif #endif #ifdef USE_MAP diffuseColor *= texture2D( map, uv ); #endif #ifdef USE_ALPHAMAP diffuseColor.a *= texture2D( alphaMap, uv ).g; #endif`,uO=`#if defined( USE_POINTS_UV ) varying vec2 vUv; #else #if defined( USE_MAP ) || defined( USE_ALPHAMAP ) uniform mat3 uvTransform; #endif #endif #ifdef USE_MAP uniform sampler2D map; #endif #ifdef USE_ALPHAMAP uniform sampler2D alphaMap; #endif`,cO=`float metalnessFactor = metalness; #ifdef USE_METALNESSMAP vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); metalnessFactor *= texelMetalness.b; #endif`,dO=`#ifdef USE_METALNESSMAP uniform sampler2D metalnessMap; #endif`,hO=`#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE ) vColor *= morphTargetBaseInfluence; for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { #if defined( USE_COLOR_ALPHA ) if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ]; #elif defined( USE_COLOR ) if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ]; #endif } #endif`,fO=`#ifdef USE_MORPHNORMALS objectNormal *= morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { if ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ]; } #else objectNormal += morphNormal0 * morphTargetInfluences[ 0 ]; objectNormal += morphNormal1 * morphTargetInfluences[ 1 ]; objectNormal += morphNormal2 * morphTargetInfluences[ 2 ]; objectNormal += morphNormal3 * morphTargetInfluences[ 3 ]; #endif #endif`,pO=`#ifdef USE_MORPHTARGETS uniform float morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ]; uniform sampler2DArray morphTargetsTexture; uniform ivec2 morphTargetsTextureSize; vec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) { int texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset; int y = texelIndex / morphTargetsTextureSize.x; int x = texelIndex - y * morphTargetsTextureSize.x; ivec3 morphUV = ivec3( x, y, morphTargetIndex ); return texelFetch( morphTargetsTexture, morphUV, 0 ); } #else #ifndef USE_MORPHNORMALS uniform float morphTargetInfluences[ 8 ]; #else uniform float morphTargetInfluences[ 4 ]; #endif #endif #endif`,mO=`#ifdef USE_MORPHTARGETS transformed *= morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { if ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ]; } #else transformed += morphTarget0 * morphTargetInfluences[ 0 ]; transformed += morphTarget1 * morphTargetInfluences[ 1 ]; transformed += morphTarget2 * morphTargetInfluences[ 2 ]; transformed += morphTarget3 * morphTargetInfluences[ 3 ]; #ifndef USE_MORPHNORMALS transformed += morphTarget4 * morphTargetInfluences[ 4 ]; transformed += morphTarget5 * morphTargetInfluences[ 5 ]; transformed += morphTarget6 * morphTargetInfluences[ 6 ]; transformed += morphTarget7 * morphTargetInfluences[ 7 ]; #endif #endif #endif`,gO=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; #ifdef FLAT_SHADED vec3 fdx = dFdx( vViewPosition ); vec3 fdy = dFdy( vViewPosition ); vec3 normal = normalize( cross( fdx, fdy ) ); #else vec3 normal = normalize( vNormal ); #ifdef DOUBLE_SIDED normal *= faceDirection; #endif #endif #if defined( USE_NORMALMAP_TANGENTSPACE ) || defined( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) #ifdef USE_TANGENT mat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal ); #else mat3 tbn = getTangentFrame( - vViewPosition, normal, #if defined( USE_NORMALMAP ) vNormalMapUv #elif defined( USE_CLEARCOAT_NORMALMAP ) vClearcoatNormalMapUv #else vUv #endif ); #endif #if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED ) tbn[0] *= faceDirection; tbn[1] *= faceDirection; #endif #endif #ifdef USE_CLEARCOAT_NORMALMAP #ifdef USE_TANGENT mat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal ); #else mat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv ); #endif #if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED ) tbn2[0] *= faceDirection; tbn2[1] *= faceDirection; #endif #endif vec3 nonPerturbedNormal = normal;`,vO=`#ifdef USE_NORMALMAP_OBJECTSPACE normal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; #ifdef FLIP_SIDED normal = - normal; #endif #ifdef DOUBLE_SIDED normal = normal * faceDirection; #endif normal = normalize( normalMatrix * normal ); #elif defined( USE_NORMALMAP_TANGENTSPACE ) vec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; mapN.xy *= normalScale; normal = normalize( tbn * mapN ); #elif defined( USE_BUMPMAP ) normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection ); #endif`,yO=`#ifndef FLAT_SHADED varying vec3 vNormal; #ifdef USE_TANGENT varying vec3 vTangent; varying vec3 vBitangent; #endif #endif`,_O=`#ifndef FLAT_SHADED varying vec3 vNormal; #ifdef USE_TANGENT varying vec3 vTangent; varying vec3 vBitangent; #endif #endif`,SO=`#ifndef FLAT_SHADED vNormal = normalize( transformedNormal ); #ifdef USE_TANGENT vTangent = normalize( transformedTangent ); vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); #endif #endif`,bO=`#ifdef USE_NORMALMAP uniform sampler2D normalMap; uniform vec2 normalScale; #endif #ifdef USE_NORMALMAP_OBJECTSPACE uniform mat3 normalMatrix; #endif #if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) ) mat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) { vec3 q0 = dFdx( eye_pos.xyz ); vec3 q1 = dFdy( eye_pos.xyz ); vec2 st0 = dFdx( uv.st ); vec2 st1 = dFdy( uv.st ); vec3 N = surf_norm; vec3 q1perp = cross( q1, N ); vec3 q0perp = cross( N, q0 ); vec3 T = q1perp * st0.x + q0perp * st1.x; vec3 B = q1perp * st0.y + q0perp * st1.y; float det = max( dot( T, T ), dot( B, B ) ); float scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det ); return mat3( T * scale, B * scale, N ); } #endif`,TO=`#ifdef USE_CLEARCOAT vec3 clearcoatNormal = nonPerturbedNormal; #endif`,wO=`#ifdef USE_CLEARCOAT_NORMALMAP vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; clearcoatMapN.xy *= clearcoatNormalScale; clearcoatNormal = normalize( tbn2 * clearcoatMapN ); #endif`,xO=`#ifdef USE_CLEARCOATMAP uniform sampler2D clearcoatMap; #endif #ifdef USE_CLEARCOAT_NORMALMAP uniform sampler2D clearcoatNormalMap; uniform vec2 clearcoatNormalScale; #endif #ifdef USE_CLEARCOAT_ROUGHNESSMAP uniform sampler2D clearcoatRoughnessMap; #endif`,AO=`#ifdef USE_IRIDESCENCEMAP uniform sampler2D iridescenceMap; #endif #ifdef USE_IRIDESCENCE_THICKNESSMAP uniform sampler2D iridescenceThicknessMap; #endif`,CO=`#ifdef OPAQUE diffuseColor.a = 1.0; #endif #ifdef USE_TRANSMISSION diffuseColor.a *= material.transmissionAlpha; #endif gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,MO=`vec3 packNormalToRGB( const in vec3 normal ) { return normalize( normal ) * 0.5 + 0.5; } vec3 unpackRGBToNormal( const in vec3 rgb ) { return 2.0 * rgb.xyz - 1.0; } const float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.; const vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. ); const vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. ); const float ShiftRight8 = 1. / 256.; vec4 packDepthToRGBA( const in float v ) { vec4 r = vec4( fract( v * PackFactors ), v ); r.yzw -= r.xyz * ShiftRight8; return r * PackUpscale; } float unpackRGBAToDepth( const in vec4 v ) { return dot( v, UnpackFactors ); } vec2 packDepthToRG( in highp float v ) { return packDepthToRGBA( v ).yx; } float unpackRGToDepth( const in highp vec2 v ) { return unpackRGBAToDepth( vec4( v.xy, 0.0, 0.0 ) ); } vec4 pack2HalfToRGBA( vec2 v ) { vec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) ); return vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w ); } vec2 unpackRGBATo2Half( vec4 v ) { return vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) ); } float viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) { return ( viewZ + near ) / ( near - far ); } float orthographicDepthToViewZ( const in float depth, const in float near, const in float far ) { return depth * ( near - far ) - near; } float viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) { return ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ ); } float perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) { return ( near * far ) / ( ( far - near ) * depth - far ); }`,EO=`#ifdef PREMULTIPLIED_ALPHA gl_FragColor.rgb *= gl_FragColor.a; #endif`,PO=`vec4 mvPosition = vec4( transformed, 1.0 ); #ifdef USE_BATCHING mvPosition = batchingMatrix * mvPosition; #endif #ifdef USE_INSTANCING mvPosition = instanceMatrix * mvPosition; #endif mvPosition = modelViewMatrix * mvPosition; gl_Position = projectionMatrix * mvPosition;`,RO=`#ifdef DITHERING gl_FragColor.rgb = dithering( gl_FragColor.rgb ); #endif`,NO=`#ifdef DITHERING vec3 dithering( vec3 color ) { float grid_position = rand( gl_FragCoord.xy ); vec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 ); dither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position ); return color + dither_shift_RGB; } #endif`,LO=`float roughnessFactor = roughness; #ifdef USE_ROUGHNESSMAP vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); roughnessFactor *= texelRoughness.g; #endif`,IO=`#ifdef USE_ROUGHNESSMAP uniform sampler2D roughnessMap; #endif`,kO=`#if NUM_SPOT_LIGHT_COORDS > 0 varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; #endif #if NUM_SPOT_LIGHT_MAPS > 0 uniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ]; #endif #ifdef USE_SHADOWMAP #if NUM_DIR_LIGHT_SHADOWS > 0 uniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ]; varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; struct DirectionalLightShadow { float shadowBias; float shadowNormalBias; float shadowRadius; vec2 shadowMapSize; }; uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; #endif #if NUM_SPOT_LIGHT_SHADOWS > 0 uniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ]; struct SpotLightShadow { float shadowBias; float shadowNormalBias; float shadowRadius; vec2 shadowMapSize; }; uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; #endif #if NUM_POINT_LIGHT_SHADOWS > 0 uniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ]; varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; struct PointLightShadow { float shadowBias; float shadowNormalBias; float shadowRadius; vec2 shadowMapSize; float shadowCameraNear; float shadowCameraFar; }; uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; #endif float texture2DCompare( sampler2D depths, vec2 uv, float compare ) { return step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) ); } vec2 texture2DDistribution( sampler2D shadow, vec2 uv ) { return unpackRGBATo2Half( texture2D( shadow, uv ) ); } float VSMShadow (sampler2D shadow, vec2 uv, float compare ){ float occlusion = 1.0; vec2 distribution = texture2DDistribution( shadow, uv ); float hard_shadow = step( compare , distribution.x ); if (hard_shadow != 1.0 ) { float distance = compare - distribution.x ; float variance = max( 0.00000, distribution.y * distribution.y ); float softness_probability = variance / (variance + distance * distance ); softness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 ); occlusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 ); } return occlusion; } float getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) { float shadow = 1.0; shadowCoord.xyz /= shadowCoord.w; shadowCoord.z += shadowBias; bool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0; bool frustumTest = inFrustum && shadowCoord.z <= 1.0; if ( frustumTest ) { #if defined( SHADOWMAP_TYPE_PCF ) vec2 texelSize = vec2( 1.0 ) / shadowMapSize; float dx0 = - texelSize.x * shadowRadius; float dy0 = - texelSize.y * shadowRadius; float dx1 = + texelSize.x * shadowRadius; float dy1 = + texelSize.y * shadowRadius; float dx2 = dx0 / 2.0; float dy2 = dy0 / 2.0; float dx3 = dx1 / 2.0; float dy3 = dy1 / 2.0; shadow = ( texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) + texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) + texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) + texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) + texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) + texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z ) ) * ( 1.0 / 17.0 ); #elif defined( SHADOWMAP_TYPE_PCF_SOFT ) vec2 texelSize = vec2( 1.0 ) / shadowMapSize; float dx = texelSize.x; float dy = texelSize.y; vec2 uv = shadowCoord.xy; vec2 f = fract( uv * shadowMapSize + 0.5 ); uv -= f * texelSize; shadow = ( texture2DCompare( shadowMap, uv, shadowCoord.z ) + texture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) + texture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) + texture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) + mix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ), f.x ) + mix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ), f.x ) + mix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ), f.y ) + mix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ), f.y ) + mix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ), f.x ), mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ), f.x ), f.y ) ) * ( 1.0 / 9.0 ); #elif defined( SHADOWMAP_TYPE_VSM ) shadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z ); #else shadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ); #endif } return shadow; } vec2 cubeToUV( vec3 v, float texelSizeY ) { vec3 absV = abs( v ); float scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) ); absV *= scaleToCube; v *= scaleToCube * ( 1.0 - 2.0 * texelSizeY ); vec2 planar = v.xy; float almostATexel = 1.5 * texelSizeY; float almostOne = 1.0 - almostATexel; if ( absV.z >= almostOne ) { if ( v.z > 0.0 ) planar.x = 4.0 - v.x; } else if ( absV.x >= almostOne ) { float signX = sign( v.x ); planar.x = v.z * signX + 2.0 * signX; } else if ( absV.y >= almostOne ) { float signY = sign( v.y ); planar.x = v.x + 2.0 * signY + 2.0; planar.y = v.z * signY - 2.0; } return vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 ); } float getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) { vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) ); vec3 lightToPosition = shadowCoord.xyz; float dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear ); dp += shadowBias; vec3 bd3D = normalize( lightToPosition ); #if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM ) vec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y; return ( texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) + texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp ) ) * ( 1.0 / 9.0 ); #else return texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); #endif } #endif`,FO=`#if NUM_SPOT_LIGHT_COORDS > 0 uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ]; varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; #endif #ifdef USE_SHADOWMAP #if NUM_DIR_LIGHT_SHADOWS > 0 uniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ]; varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; struct DirectionalLightShadow { float shadowBias; float shadowNormalBias; float shadowRadius; vec2 shadowMapSize; }; uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; #endif #if NUM_SPOT_LIGHT_SHADOWS > 0 struct SpotLightShadow { float shadowBias; float shadowNormalBias; float shadowRadius; vec2 shadowMapSize; }; uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; #endif #if NUM_POINT_LIGHT_SHADOWS > 0 uniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ]; varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; struct PointLightShadow { float shadowBias; float shadowNormalBias; float shadowRadius; vec2 shadowMapSize; float shadowCameraNear; float shadowCameraFar; }; uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; #endif #endif`,DO=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 ) vec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); vec4 shadowWorldPosition; #endif #if defined( USE_SHADOWMAP ) #if NUM_DIR_LIGHT_SHADOWS > 0 #pragma unroll_loop_start for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) { shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 ); vDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition; } #pragma unroll_loop_end #endif #if NUM_POINT_LIGHT_SHADOWS > 0 #pragma unroll_loop_start for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) { shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 ); vPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition; } #pragma unroll_loop_end #endif #endif #if NUM_SPOT_LIGHT_COORDS > 0 #pragma unroll_loop_start for ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) { shadowWorldPosition = worldPosition; #if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) shadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias; #endif vSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition; } #pragma unroll_loop_end #endif`,UO=`float getShadowMask() { float shadow = 1.0; #ifdef USE_SHADOWMAP #if NUM_DIR_LIGHT_SHADOWS > 0 DirectionalLightShadow directionalLight; #pragma unroll_loop_start for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) { directionalLight = directionalLightShadows[ i ]; shadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0; } #pragma unroll_loop_end #endif #if NUM_SPOT_LIGHT_SHADOWS > 0 SpotLightShadow spotLight; #pragma unroll_loop_start for ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) { spotLight = spotLightShadows[ i ]; shadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0; } #pragma unroll_loop_end #endif #if NUM_POINT_LIGHT_SHADOWS > 0 PointLightShadow pointLight; #pragma unroll_loop_start for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) { pointLight = pointLightShadows[ i ]; shadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0; } #pragma unroll_loop_end #endif #endif return shadow; }`,OO=`#ifdef USE_SKINNING mat4 boneMatX = getBoneMatrix( skinIndex.x ); mat4 boneMatY = getBoneMatrix( skinIndex.y ); mat4 boneMatZ = getBoneMatrix( skinIndex.z ); mat4 boneMatW = getBoneMatrix( skinIndex.w ); #endif`,BO=`#ifdef USE_SKINNING uniform mat4 bindMatrix; uniform mat4 bindMatrixInverse; uniform highp sampler2D boneTexture; mat4 getBoneMatrix( const in float i ) { int size = textureSize( boneTexture, 0 ).x; int j = int( i ) * 4; int x = j % size; int y = j / size; vec4 v1 = texelFetch( boneTexture, ivec2( x, y ), 0 ); vec4 v2 = texelFetch( boneTexture, ivec2( x + 1, y ), 0 ); vec4 v3 = texelFetch( boneTexture, ivec2( x + 2, y ), 0 ); vec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 ); return mat4( v1, v2, v3, v4 ); } #endif`,zO=`#ifdef USE_SKINNING vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 ); vec4 skinned = vec4( 0.0 ); skinned += boneMatX * skinVertex * skinWeight.x; skinned += boneMatY * skinVertex * skinWeight.y; skinned += boneMatZ * skinVertex * skinWeight.z; skinned += boneMatW * skinVertex * skinWeight.w; transformed = ( bindMatrixInverse * skinned ).xyz; #endif`,GO=`#ifdef USE_SKINNING mat4 skinMatrix = mat4( 0.0 ); skinMatrix += skinWeight.x * boneMatX; skinMatrix += skinWeight.y * boneMatY; skinMatrix += skinWeight.z * boneMatZ; skinMatrix += skinWeight.w * boneMatW; skinMatrix = bindMatrixInverse * skinMatrix * bindMatrix; objectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz; #ifdef USE_TANGENT objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz; #endif #endif`,VO=`float specularStrength; #ifdef USE_SPECULARMAP vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); specularStrength = texelSpecular.r; #else specularStrength = 1.0; #endif`,HO=`#ifdef USE_SPECULARMAP uniform sampler2D specularMap; #endif`,jO=`#if defined( TONE_MAPPING ) gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); #endif`,WO=`#ifndef saturate #define saturate( a ) clamp( a, 0.0, 1.0 ) #endif uniform float toneMappingExposure; vec3 LinearToneMapping( vec3 color ) { return saturate( toneMappingExposure * color ); } vec3 ReinhardToneMapping( vec3 color ) { color *= toneMappingExposure; return saturate( color / ( vec3( 1.0 ) + color ) ); } vec3 OptimizedCineonToneMapping( vec3 color ) { color *= toneMappingExposure; color = max( vec3( 0.0 ), color - 0.004 ); return pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) ); } vec3 RRTAndODTFit( vec3 v ) { vec3 a = v * ( v + 0.0245786 ) - 0.000090537; vec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081; return a / b; } vec3 ACESFilmicToneMapping( vec3 color ) { const mat3 ACESInputMat = mat3( vec3( 0.59719, 0.07600, 0.02840 ), vec3( 0.35458, 0.90834, 0.13383 ), vec3( 0.04823, 0.01566, 0.83777 ) ); const mat3 ACESOutputMat = mat3( vec3( 1.60475, -0.10208, -0.00327 ), vec3( -0.53108, 1.10813, -0.07276 ), vec3( -0.07367, -0.00605, 1.07602 ) ); color *= toneMappingExposure / 0.6; color = ACESInputMat * color; color = RRTAndODTFit( color ); color = ACESOutputMat * color; return saturate( color ); } const mat3 LINEAR_REC2020_TO_LINEAR_SRGB = mat3( vec3( 1.6605, - 0.1246, - 0.0182 ), vec3( - 0.5876, 1.1329, - 0.1006 ), vec3( - 0.0728, - 0.0083, 1.1187 ) ); const mat3 LINEAR_SRGB_TO_LINEAR_REC2020 = mat3( vec3( 0.6274, 0.0691, 0.0164 ), vec3( 0.3293, 0.9195, 0.0880 ), vec3( 0.0433, 0.0113, 0.8956 ) ); vec3 agxDefaultContrastApprox( vec3 x ) { vec3 x2 = x * x; vec3 x4 = x2 * x2; return + 15.5 * x4 * x2 - 40.14 * x4 * x + 31.96 * x4 - 6.868 * x2 * x + 0.4298 * x2 + 0.1191 * x - 0.00232; } vec3 AgXToneMapping( vec3 color ) { const mat3 AgXInsetMatrix = mat3( vec3( 0.856627153315983, 0.137318972929847, 0.11189821299995 ), vec3( 0.0951212405381588, 0.761241990602591, 0.0767994186031903 ), vec3( 0.0482516061458583, 0.101439036467562, 0.811302368396859 ) ); const mat3 AgXOutsetMatrix = mat3( vec3( 1.1271005818144368, - 0.1413297634984383, - 0.14132976349843826 ), vec3( - 0.11060664309660323, 1.157823702216272, - 0.11060664309660294 ), vec3( - 0.016493938717834573, - 0.016493938717834257, 1.2519364065950405 ) ); const float AgxMinEv = - 12.47393; const float AgxMaxEv = 4.026069; color *= toneMappingExposure; color = LINEAR_SRGB_TO_LINEAR_REC2020 * color; color = AgXInsetMatrix * color; color = max( color, 1e-10 ); color = log2( color ); color = ( color - AgxMinEv ) / ( AgxMaxEv - AgxMinEv ); color = clamp( color, 0.0, 1.0 ); color = agxDefaultContrastApprox( color ); color = AgXOutsetMatrix * color; color = pow( max( vec3( 0.0 ), color ), vec3( 2.2 ) ); color = LINEAR_REC2020_TO_LINEAR_SRGB * color; color = clamp( color, 0.0, 1.0 ); return color; } vec3 CustomToneMapping( vec3 color ) { return color; }`,$O=`#ifdef USE_TRANSMISSION material.transmission = transmission; material.transmissionAlpha = 1.0; material.thickness = thickness; material.attenuationDistance = attenuationDistance; material.attenuationColor = attenuationColor; #ifdef USE_TRANSMISSIONMAP material.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r; #endif #ifdef USE_THICKNESSMAP material.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g; #endif vec3 pos = vWorldPosition; vec3 v = normalize( cameraPosition - pos ); vec3 n = inverseTransformDirection( normal, viewMatrix ); vec4 transmitted = getIBLVolumeRefraction( n, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90, pos, modelMatrix, viewMatrix, projectionMatrix, material.ior, material.thickness, material.attenuationColor, material.attenuationDistance ); material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission ); totalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission ); #endif`,YO=`#ifdef USE_TRANSMISSION uniform float transmission; uniform float thickness; uniform float attenuationDistance; uniform vec3 attenuationColor; #ifdef USE_TRANSMISSIONMAP uniform sampler2D transmissionMap; #endif #ifdef USE_THICKNESSMAP uniform sampler2D thicknessMap; #endif uniform vec2 transmissionSamplerSize; uniform sampler2D transmissionSamplerMap; uniform mat4 modelMatrix; uniform mat4 projectionMatrix; varying vec3 vWorldPosition; float w0( float a ) { return ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 ); } float w1( float a ) { return ( 1.0 / 6.0 ) * ( a * a * ( 3.0 * a - 6.0 ) + 4.0 ); } float w2( float a ){ return ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 ); } float w3( float a ) { return ( 1.0 / 6.0 ) * ( a * a * a ); } float g0( float a ) { return w0( a ) + w1( a ); } float g1( float a ) { return w2( a ) + w3( a ); } float h0( float a ) { return - 1.0 + w1( a ) / ( w0( a ) + w1( a ) ); } float h1( float a ) { return 1.0 + w3( a ) / ( w2( a ) + w3( a ) ); } vec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) { uv = uv * texelSize.zw + 0.5; vec2 iuv = floor( uv ); vec2 fuv = fract( uv ); float g0x = g0( fuv.x ); float g1x = g1( fuv.x ); float h0x = h0( fuv.x ); float h1x = h1( fuv.x ); float h0y = h0( fuv.y ); float h1y = h1( fuv.y ); vec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; vec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; vec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; vec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; return g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) + g1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) ); } vec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) { vec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) ); vec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) ); vec2 fLodSizeInv = 1.0 / fLodSize; vec2 cLodSizeInv = 1.0 / cLodSize; vec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) ); vec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) ); return mix( fSample, cSample, fract( lod ) ); } vec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) { vec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior ); vec3 modelScale; modelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) ); modelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) ); modelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) ); return normalize( refractionVector ) * thickness * modelScale; } float applyIorToRoughness( const in float roughness, const in float ior ) { return roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 ); } vec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) { float lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior ); return textureBicubic( transmissionSamplerMap, fragCoord.xy, lod ); } vec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) { if ( isinf( attenuationDistance ) ) { return vec3( 1.0 ); } else { vec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance; vec3 transmittance = exp( - attenuationCoefficient * transmissionDistance ); return transmittance; } } vec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor, const in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix, const in mat4 viewMatrix, const in mat4 projMatrix, const in float ior, const in float thickness, const in vec3 attenuationColor, const in float attenuationDistance ) { vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix ); vec3 refractedRayExit = position + transmissionRay; vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); vec2 refractionCoords = ndcPos.xy / ndcPos.w; refractionCoords += 1.0; refractionCoords /= 2.0; vec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior ); vec3 transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance ); vec3 attenuatedColor = transmittance * transmittedLight.rgb; vec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness ); float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0; return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor ); } #endif`,qO=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) varying vec2 vUv; #endif #ifdef USE_MAP varying vec2 vMapUv; #endif #ifdef USE_ALPHAMAP varying vec2 vAlphaMapUv; #endif #ifdef USE_LIGHTMAP varying vec2 vLightMapUv; #endif #ifdef USE_AOMAP varying vec2 vAoMapUv; #endif #ifdef USE_BUMPMAP varying vec2 vBumpMapUv; #endif #ifdef USE_NORMALMAP varying vec2 vNormalMapUv; #endif #ifdef USE_EMISSIVEMAP varying vec2 vEmissiveMapUv; #endif #ifdef USE_METALNESSMAP varying vec2 vMetalnessMapUv; #endif #ifdef USE_ROUGHNESSMAP varying vec2 vRoughnessMapUv; #endif #ifdef USE_ANISOTROPYMAP varying vec2 vAnisotropyMapUv; #endif #ifdef USE_CLEARCOATMAP varying vec2 vClearcoatMapUv; #endif #ifdef USE_CLEARCOAT_NORMALMAP varying vec2 vClearcoatNormalMapUv; #endif #ifdef USE_CLEARCOAT_ROUGHNESSMAP varying vec2 vClearcoatRoughnessMapUv; #endif #ifdef USE_IRIDESCENCEMAP varying vec2 vIridescenceMapUv; #endif #ifdef USE_IRIDESCENCE_THICKNESSMAP varying vec2 vIridescenceThicknessMapUv; #endif #ifdef USE_SHEEN_COLORMAP varying vec2 vSheenColorMapUv; #endif #ifdef USE_SHEEN_ROUGHNESSMAP varying vec2 vSheenRoughnessMapUv; #endif #ifdef USE_SPECULARMAP varying vec2 vSpecularMapUv; #endif #ifdef USE_SPECULAR_COLORMAP varying vec2 vSpecularColorMapUv; #endif #ifdef USE_SPECULAR_INTENSITYMAP varying vec2 vSpecularIntensityMapUv; #endif #ifdef USE_TRANSMISSIONMAP uniform mat3 transmissionMapTransform; varying vec2 vTransmissionMapUv; #endif #ifdef USE_THICKNESSMAP uniform mat3 thicknessMapTransform; varying vec2 vThicknessMapUv; #endif`,KO=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) varying vec2 vUv; #endif #ifdef USE_MAP uniform mat3 mapTransform; varying vec2 vMapUv; #endif #ifdef USE_ALPHAMAP uniform mat3 alphaMapTransform; varying vec2 vAlphaMapUv; #endif #ifdef USE_LIGHTMAP uniform mat3 lightMapTransform; varying vec2 vLightMapUv; #endif #ifdef USE_AOMAP uniform mat3 aoMapTransform; varying vec2 vAoMapUv; #endif #ifdef USE_BUMPMAP uniform mat3 bumpMapTransform; varying vec2 vBumpMapUv; #endif #ifdef USE_NORMALMAP uniform mat3 normalMapTransform; varying vec2 vNormalMapUv; #endif #ifdef USE_DISPLACEMENTMAP uniform mat3 displacementMapTransform; varying vec2 vDisplacementMapUv; #endif #ifdef USE_EMISSIVEMAP uniform mat3 emissiveMapTransform; varying vec2 vEmissiveMapUv; #endif #ifdef USE_METALNESSMAP uniform mat3 metalnessMapTransform; varying vec2 vMetalnessMapUv; #endif #ifdef USE_ROUGHNESSMAP uniform mat3 roughnessMapTransform; varying vec2 vRoughnessMapUv; #endif #ifdef USE_ANISOTROPYMAP uniform mat3 anisotropyMapTransform; varying vec2 vAnisotropyMapUv; #endif #ifdef USE_CLEARCOATMAP uniform mat3 clearcoatMapTransform; varying vec2 vClearcoatMapUv; #endif #ifdef USE_CLEARCOAT_NORMALMAP uniform mat3 clearcoatNormalMapTransform; varying vec2 vClearcoatNormalMapUv; #endif #ifdef USE_CLEARCOAT_ROUGHNESSMAP uniform mat3 clearcoatRoughnessMapTransform; varying vec2 vClearcoatRoughnessMapUv; #endif #ifdef USE_SHEEN_COLORMAP uniform mat3 sheenColorMapTransform; varying vec2 vSheenColorMapUv; #endif #ifdef USE_SHEEN_ROUGHNESSMAP uniform mat3 sheenRoughnessMapTransform; varying vec2 vSheenRoughnessMapUv; #endif #ifdef USE_IRIDESCENCEMAP uniform mat3 iridescenceMapTransform; varying vec2 vIridescenceMapUv; #endif #ifdef USE_IRIDESCENCE_THICKNESSMAP uniform mat3 iridescenceThicknessMapTransform; varying vec2 vIridescenceThicknessMapUv; #endif #ifdef USE_SPECULARMAP uniform mat3 specularMapTransform; varying vec2 vSpecularMapUv; #endif #ifdef USE_SPECULAR_COLORMAP uniform mat3 specularColorMapTransform; varying vec2 vSpecularColorMapUv; #endif #ifdef USE_SPECULAR_INTENSITYMAP uniform mat3 specularIntensityMapTransform; varying vec2 vSpecularIntensityMapUv; #endif #ifdef USE_TRANSMISSIONMAP uniform mat3 transmissionMapTransform; varying vec2 vTransmissionMapUv; #endif #ifdef USE_THICKNESSMAP uniform mat3 thicknessMapTransform; varying vec2 vThicknessMapUv; #endif`,XO=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) vUv = vec3( uv, 1 ).xy; #endif #ifdef USE_MAP vMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy; #endif #ifdef USE_ALPHAMAP vAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy; #endif #ifdef USE_LIGHTMAP vLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy; #endif #ifdef USE_AOMAP vAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy; #endif #ifdef USE_BUMPMAP vBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy; #endif #ifdef USE_NORMALMAP vNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy; #endif #ifdef USE_DISPLACEMENTMAP vDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy; #endif #ifdef USE_EMISSIVEMAP vEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy; #endif #ifdef USE_METALNESSMAP vMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy; #endif #ifdef USE_ROUGHNESSMAP vRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy; #endif #ifdef USE_ANISOTROPYMAP vAnisotropyMapUv = ( anisotropyMapTransform * vec3( ANISOTROPYMAP_UV, 1 ) ).xy; #endif #ifdef USE_CLEARCOATMAP vClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy; #endif #ifdef USE_CLEARCOAT_NORMALMAP vClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy; #endif #ifdef USE_CLEARCOAT_ROUGHNESSMAP vClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy; #endif #ifdef USE_IRIDESCENCEMAP vIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy; #endif #ifdef USE_IRIDESCENCE_THICKNESSMAP vIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy; #endif #ifdef USE_SHEEN_COLORMAP vSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy; #endif #ifdef USE_SHEEN_ROUGHNESSMAP vSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy; #endif #ifdef USE_SPECULARMAP vSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy; #endif #ifdef USE_SPECULAR_COLORMAP vSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy; #endif #ifdef USE_SPECULAR_INTENSITYMAP vSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy; #endif #ifdef USE_TRANSMISSIONMAP vTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy; #endif #ifdef USE_THICKNESSMAP vThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy; #endif`,JO=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0 vec4 worldPosition = vec4( transformed, 1.0 ); #ifdef USE_BATCHING worldPosition = batchingMatrix * worldPosition; #endif #ifdef USE_INSTANCING worldPosition = instanceMatrix * worldPosition; #endif worldPosition = modelMatrix * worldPosition; #endif`;const ZO=`varying vec2 vUv; uniform mat3 uvTransform; void main() { vUv = ( uvTransform * vec3( uv, 1 ) ).xy; gl_Position = vec4( position.xy, 1.0, 1.0 ); }`,QO=`uniform sampler2D t2D; uniform float backgroundIntensity; varying vec2 vUv; void main() { vec4 texColor = texture2D( t2D, vUv ); #ifdef DECODE_VIDEO_TEXTURE texColor = vec4( mix( pow( texColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), texColor.rgb * 0.0773993808, vec3( lessThanEqual( texColor.rgb, vec3( 0.04045 ) ) ) ), texColor.w ); #endif texColor.rgb *= backgroundIntensity; gl_FragColor = texColor; #include #include }`,eB=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include gl_Position.z = gl_Position.w; }`,tB=`#ifdef ENVMAP_TYPE_CUBE uniform samplerCube envMap; #elif defined( ENVMAP_TYPE_CUBE_UV ) uniform sampler2D envMap; #endif uniform float flipEnvMap; uniform float backgroundBlurriness; uniform float backgroundIntensity; varying vec3 vWorldDirection; #include void main() { #ifdef ENVMAP_TYPE_CUBE vec4 texColor = textureCube( envMap, vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) ); #elif defined( ENVMAP_TYPE_CUBE_UV ) vec4 texColor = textureCubeUV( envMap, vWorldDirection, backgroundBlurriness ); #else vec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 ); #endif texColor.rgb *= backgroundIntensity; gl_FragColor = texColor; #include #include }`,nB=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include gl_Position.z = gl_Position.w; }`,iB=`uniform samplerCube tCube; uniform float tFlip; uniform float opacity; varying vec3 vWorldDirection; void main() { vec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) ); gl_FragColor = texColor; gl_FragColor.a *= opacity; #include #include }`,rB=`#include #include #include #include #include #include #include #include varying vec2 vHighPrecisionZW; void main() { #include #include #include #ifdef USE_DISPLACEMENTMAP #include #include #include #endif #include #include #include #include #include #include #include vHighPrecisionZW = gl_Position.zw; }`,aB=`#if DEPTH_PACKING == 3200 uniform float opacity; #endif #include #include #include #include #include #include #include #include #include varying vec2 vHighPrecisionZW; void main() { vec4 diffuseColor = vec4( 1.0 ); #include #if DEPTH_PACKING == 3200 diffuseColor.a = opacity; #endif #include #include #include #include #include float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5; #if DEPTH_PACKING == 3200 gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity ); #elif DEPTH_PACKING == 3201 gl_FragColor = packDepthToRGBA( fragCoordZ ); #endif }`,sB=`#define DISTANCE varying vec3 vWorldPosition; #include #include #include #include #include #include #include void main() { #include #include #include #ifdef USE_DISPLACEMENTMAP #include #include #include #endif #include #include #include #include #include #include #include vWorldPosition = worldPosition.xyz; }`,oB=`#define DISTANCE uniform vec3 referencePosition; uniform float nearDistance; uniform float farDistance; varying vec3 vWorldPosition; #include #include #include #include #include #include #include #include void main () { vec4 diffuseColor = vec4( 1.0 ); #include #include #include #include #include float dist = length( vWorldPosition - referencePosition ); dist = ( dist - nearDistance ) / ( farDistance - nearDistance ); dist = saturate( dist ); gl_FragColor = packDepthToRGBA( dist ); }`,lB=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include }`,uB=`uniform sampler2D tEquirect; varying vec3 vWorldDirection; #include void main() { vec3 direction = normalize( vWorldDirection ); vec2 sampleUV = equirectUv( direction ); gl_FragColor = texture2D( tEquirect, sampleUV ); #include #include }`,cB=`uniform float scale; attribute float lineDistance; varying float vLineDistance; #include #include #include #include #include #include #include void main() { vLineDistance = scale * lineDistance; #include #include #include #include #include #include #include #include #include }`,dB=`uniform vec3 diffuse; uniform float opacity; uniform float dashSize; uniform float totalSize; varying float vLineDistance; #include #include #include #include #include #include #include void main() { vec4 diffuseColor = vec4( diffuse, opacity ); #include if ( mod( vLineDistance, totalSize ) > dashSize ) { discard; } vec3 outgoingLight = vec3( 0.0 ); #include #include #include outgoingLight = diffuseColor.rgb; #include #include #include #include #include }`,hB=`#include #include #include #include #include #include #include #include #include #include void main() { #include #include #include #include #if defined ( USE_ENVMAP ) || defined ( USE_SKINNING ) #include #include #include #include #include #endif #include #include #include #include #include #include #include #include #include }`,fB=`uniform vec3 diffuse; uniform float opacity; #ifndef FLAT_SHADED varying vec3 vNormal; #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include void main() { vec4 diffuseColor = vec4( diffuse, opacity ); #include #include #include #include #include #include #include #include ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); #ifdef USE_LIGHTMAP vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); reflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI; #else reflectedLight.indirectDiffuse += vec3( 1.0 ); #endif #include reflectedLight.indirectDiffuse *= diffuseColor.rgb; vec3 outgoingLight = reflectedLight.indirectDiffuse; #include #include #include #include #include #include #include }`,pB=`#define LAMBERT varying vec3 vViewPosition; #include #include #include #include #include #include #include #include #include #include #include #include #include void main() { #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include vViewPosition = - mvPosition.xyz; #include #include #include #include }`,mB=`#define LAMBERT uniform vec3 diffuse; uniform vec3 emissive; uniform float opacity; #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include void main() { vec4 diffuseColor = vec4( diffuse, opacity ); #include ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); vec3 totalEmissiveRadiance = emissive; #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance; #include #include #include #include #include #include #include }`,gB=`#define MATCAP varying vec3 vViewPosition; #include #include #include #include #include #include #include #include #include #include #include void main() { #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include vViewPosition = - mvPosition.xyz; }`,vB=`#define MATCAP uniform vec3 diffuse; uniform float opacity; uniform sampler2D matcap; varying vec3 vViewPosition; #include #include #include #include #include #include #include #include #include #include #include #include #include #include void main() { vec4 diffuseColor = vec4( diffuse, opacity ); #include #include #include #include #include #include #include #include #include vec3 viewDir = normalize( vViewPosition ); vec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) ); vec3 y = cross( viewDir, x ); vec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5; #ifdef USE_MATCAP vec4 matcapColor = texture2D( matcap, uv ); #else vec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 ); #endif vec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb; #include #include #include #include #include #include }`,yB=`#define NORMAL #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) varying vec3 vViewPosition; #endif #include #include #include #include #include #include #include #include #include void main() { #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) vViewPosition = - mvPosition.xyz; #endif }`,_B=`#define NORMAL uniform float opacity; #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) varying vec3 vViewPosition; #endif #include #include #include #include #include #include #include void main() { vec4 diffuseColor = vec4( 0.0, 0.0, 0.0, opacity ); #include #include #include #include gl_FragColor = vec4( packNormalToRGB( normal ), diffuseColor.a ); #ifdef OPAQUE gl_FragColor.a = 1.0; #endif }`,SB=`#define PHONG varying vec3 vViewPosition; #include #include #include #include #include #include #include #include #include #include #include #include #include void main() { #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include vViewPosition = - mvPosition.xyz; #include #include #include #include }`,bB=`#define PHONG uniform vec3 diffuse; uniform vec3 emissive; uniform vec3 specular; uniform float shininess; uniform float opacity; #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include void main() { vec4 diffuseColor = vec4( diffuse, opacity ); #include ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); vec3 totalEmissiveRadiance = emissive; #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance; #include #include #include #include #include #include #include }`,TB=`#define STANDARD varying vec3 vViewPosition; #ifdef USE_TRANSMISSION varying vec3 vWorldPosition; #endif #include #include #include #include #include #include #include #include #include #include #include #include void main() { #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include vViewPosition = - mvPosition.xyz; #include #include #include #ifdef USE_TRANSMISSION vWorldPosition = worldPosition.xyz; #endif }`,wB=`#define STANDARD #ifdef PHYSICAL #define IOR #define USE_SPECULAR #endif uniform vec3 diffuse; uniform vec3 emissive; uniform float roughness; uniform float metalness; uniform float opacity; #ifdef IOR uniform float ior; #endif #ifdef USE_SPECULAR uniform float specularIntensity; uniform vec3 specularColor; #ifdef USE_SPECULAR_COLORMAP uniform sampler2D specularColorMap; #endif #ifdef USE_SPECULAR_INTENSITYMAP uniform sampler2D specularIntensityMap; #endif #endif #ifdef USE_CLEARCOAT uniform float clearcoat; uniform float clearcoatRoughness; #endif #ifdef USE_IRIDESCENCE uniform float iridescence; uniform float iridescenceIOR; uniform float iridescenceThicknessMinimum; uniform float iridescenceThicknessMaximum; #endif #ifdef USE_SHEEN uniform vec3 sheenColor; uniform float sheenRoughness; #ifdef USE_SHEEN_COLORMAP uniform sampler2D sheenColorMap; #endif #ifdef USE_SHEEN_ROUGHNESSMAP uniform sampler2D sheenRoughnessMap; #endif #endif #ifdef USE_ANISOTROPY uniform vec2 anisotropyVector; #ifdef USE_ANISOTROPYMAP uniform sampler2D anisotropyMap; #endif #endif varying vec3 vViewPosition; #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include void main() { vec4 diffuseColor = vec4( diffuse, opacity ); #include ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); vec3 totalEmissiveRadiance = emissive; #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include vec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse; vec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular; #include vec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance; #ifdef USE_SHEEN float sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor ); outgoingLight = outgoingLight * sheenEnergyComp + sheenSpecularDirect + sheenSpecularIndirect; #endif #ifdef USE_CLEARCOAT float dotNVcc = saturate( dot( geometryClearcoatNormal, geometryViewDir ) ); vec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc ); outgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + ( clearcoatSpecularDirect + clearcoatSpecularIndirect ) * material.clearcoat; #endif #include #include #include #include #include #include }`,xB=`#define TOON varying vec3 vViewPosition; #include #include #include #include #include #include #include #include #include #include #include #include void main() { #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include vViewPosition = - mvPosition.xyz; #include #include #include }`,AB=`#define TOON uniform vec3 diffuse; uniform vec3 emissive; uniform float opacity; #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include void main() { vec4 diffuseColor = vec4( diffuse, opacity ); #include ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); vec3 totalEmissiveRadiance = emissive; #include #include #include #include #include #include #include #include #include #include #include #include #include #include vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance; #include #include #include #include #include #include }`,CB=`uniform float size; uniform float scale; #include #include #include #include #include #include #ifdef USE_POINTS_UV varying vec2 vUv; uniform mat3 uvTransform; #endif void main() { #ifdef USE_POINTS_UV vUv = ( uvTransform * vec3( uv, 1 ) ).xy; #endif #include #include #include #include #include gl_PointSize = size; #ifdef USE_SIZEATTENUATION bool isPerspective = isPerspectiveMatrix( projectionMatrix ); if ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z ); #endif #include #include #include #include }`,MB=`uniform vec3 diffuse; uniform float opacity; #include #include #include #include #include #include #include #include void main() { vec4 diffuseColor = vec4( diffuse, opacity ); #include vec3 outgoingLight = vec3( 0.0 ); #include #include #include #include #include outgoingLight = diffuseColor.rgb; #include #include #include #include #include }`,EB=`#include #include #include #include #include #include #include void main() { #include #include #include #include #include #include #include #include #include #include #include #include #include #include }`,PB=`uniform vec3 color; uniform float opacity; #include #include #include #include #include #include #include #include void main() { #include gl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) ); #include #include #include }`,RB=`uniform float rotation; uniform vec2 center; #include #include #include #include #include void main() { #include vec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 ); vec2 scale; scale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) ); scale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) ); #ifndef USE_SIZEATTENUATION bool isPerspective = isPerspectiveMatrix( projectionMatrix ); if ( isPerspective ) scale *= - mvPosition.z; #endif vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale; vec2 rotatedPosition; rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y; rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y; mvPosition.xy += rotatedPosition; gl_Position = projectionMatrix * mvPosition; #include #include #include }`,NB=`uniform vec3 diffuse; uniform float opacity; #include #include #include #include #include #include #include #include #include void main() { vec4 diffuseColor = vec4( diffuse, opacity ); #include vec3 outgoingLight = vec3( 0.0 ); #include #include #include #include #include outgoingLight = diffuseColor.rgb; #include #include #include #include }`,g0={alphahash_fragment:QD,alphahash_pars_fragment:eU,alphamap_fragment:tU,alphamap_pars_fragment:nU,alphatest_fragment:iU,alphatest_pars_fragment:rU,aomap_fragment:aU,aomap_pars_fragment:sU,batching_pars_vertex:oU,batching_vertex:lU,begin_vertex:uU,beginnormal_vertex:cU,bsdfs:dU,iridescence_fragment:hU,bumpmap_pars_fragment:fU,clipping_planes_fragment:pU,clipping_planes_pars_fragment:mU,clipping_planes_pars_vertex:gU,clipping_planes_vertex:vU,color_fragment:yU,color_pars_fragment:_U,color_pars_vertex:SU,color_vertex:bU,common:TU,cube_uv_reflection_fragment:wU,defaultnormal_vertex:xU,displacementmap_pars_vertex:AU,displacementmap_vertex:CU,emissivemap_fragment:MU,emissivemap_pars_fragment:EU,colorspace_fragment:PU,colorspace_pars_fragment:RU,envmap_fragment:NU,envmap_common_pars_fragment:LU,envmap_pars_fragment:IU,envmap_pars_vertex:kU,envmap_physical_pars_fragment:$U,envmap_vertex:FU,fog_vertex:DU,fog_pars_vertex:UU,fog_fragment:OU,fog_pars_fragment:BU,gradientmap_pars_fragment:zU,lightmap_fragment:GU,lightmap_pars_fragment:VU,lights_lambert_fragment:HU,lights_lambert_pars_fragment:jU,lights_pars_begin:WU,lights_toon_fragment:YU,lights_toon_pars_fragment:qU,lights_phong_fragment:KU,lights_phong_pars_fragment:XU,lights_physical_fragment:JU,lights_physical_pars_fragment:ZU,lights_fragment_begin:QU,lights_fragment_maps:eO,lights_fragment_end:tO,logdepthbuf_fragment:nO,logdepthbuf_pars_fragment:iO,logdepthbuf_pars_vertex:rO,logdepthbuf_vertex:aO,map_fragment:sO,map_pars_fragment:oO,map_particle_fragment:lO,map_particle_pars_fragment:uO,metalnessmap_fragment:cO,metalnessmap_pars_fragment:dO,morphcolor_vertex:hO,morphnormal_vertex:fO,morphtarget_pars_vertex:pO,morphtarget_vertex:mO,normal_fragment_begin:gO,normal_fragment_maps:vO,normal_pars_fragment:yO,normal_pars_vertex:_O,normal_vertex:SO,normalmap_pars_fragment:bO,clearcoat_normal_fragment_begin:TO,clearcoat_normal_fragment_maps:wO,clearcoat_pars_fragment:xO,iridescence_pars_fragment:AO,opaque_fragment:CO,packing:MO,premultiplied_alpha_fragment:EO,project_vertex:PO,dithering_fragment:RO,dithering_pars_fragment:NO,roughnessmap_fragment:LO,roughnessmap_pars_fragment:IO,shadowmap_pars_fragment:kO,shadowmap_pars_vertex:FO,shadowmap_vertex:DO,shadowmask_pars_fragment:UO,skinbase_vertex:OO,skinning_pars_vertex:BO,skinning_vertex:zO,skinnormal_vertex:GO,specularmap_fragment:VO,specularmap_pars_fragment:HO,tonemapping_fragment:jO,tonemapping_pars_fragment:WO,transmission_fragment:$O,transmission_pars_fragment:YO,uv_pars_fragment:qO,uv_pars_vertex:KO,uv_vertex:XO,worldpos_vertex:JO,background_vert:ZO,background_frag:QO,backgroundCube_vert:eB,backgroundCube_frag:tB,cube_vert:nB,cube_frag:iB,depth_vert:rB,depth_frag:aB,distanceRGBA_vert:sB,distanceRGBA_frag:oB,equirect_vert:lB,equirect_frag:uB,linedashed_vert:cB,linedashed_frag:dB,meshbasic_vert:hB,meshbasic_frag:fB,meshlambert_vert:pB,meshlambert_frag:mB,meshmatcap_vert:gB,meshmatcap_frag:vB,meshnormal_vert:yB,meshnormal_frag:_B,meshphong_vert:SB,meshphong_frag:bB,meshphysical_vert:TB,meshphysical_frag:wB,meshtoon_vert:xB,meshtoon_frag:AB,points_vert:CB,points_frag:MB,shadow_vert:EB,shadow_frag:PB,sprite_vert:RB,sprite_frag:NB},d1={common:{diffuse:{value:new R1(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new w0},alphaMap:{value:null},alphaMapTransform:{value:new w0},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new w0}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new w0}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new w0}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new w0},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new w0},normalScale:{value:new F3(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new w0},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new w0}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new w0}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new w0}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new R1(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new R1(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new w0},alphaTest:{value:0},uvTransform:{value:new w0}},sprite:{diffuse:{value:new R1(16777215)},opacity:{value:1},center:{value:new F3(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new w0},alphaMap:{value:null},alphaMapTransform:{value:new w0},alphaTest:{value:0}}},bn={basic:{uniforms:rn([d1.common,d1.specularmap,d1.envmap,d1.aomap,d1.lightmap,d1.fog]),vertexShader:g0.meshbasic_vert,fragmentShader:g0.meshbasic_frag},lambert:{uniforms:rn([d1.common,d1.specularmap,d1.envmap,d1.aomap,d1.lightmap,d1.emissivemap,d1.bumpmap,d1.normalmap,d1.displacementmap,d1.fog,d1.lights,{emissive:{value:new R1(0)}}]),vertexShader:g0.meshlambert_vert,fragmentShader:g0.meshlambert_frag},phong:{uniforms:rn([d1.common,d1.specularmap,d1.envmap,d1.aomap,d1.lightmap,d1.emissivemap,d1.bumpmap,d1.normalmap,d1.displacementmap,d1.fog,d1.lights,{emissive:{value:new R1(0)},specular:{value:new R1(1118481)},shininess:{value:30}}]),vertexShader:g0.meshphong_vert,fragmentShader:g0.meshphong_frag},standard:{uniforms:rn([d1.common,d1.envmap,d1.aomap,d1.lightmap,d1.emissivemap,d1.bumpmap,d1.normalmap,d1.displacementmap,d1.roughnessmap,d1.metalnessmap,d1.fog,d1.lights,{emissive:{value:new R1(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:g0.meshphysical_vert,fragmentShader:g0.meshphysical_frag},toon:{uniforms:rn([d1.common,d1.aomap,d1.lightmap,d1.emissivemap,d1.bumpmap,d1.normalmap,d1.displacementmap,d1.gradientmap,d1.fog,d1.lights,{emissive:{value:new R1(0)}}]),vertexShader:g0.meshtoon_vert,fragmentShader:g0.meshtoon_frag},matcap:{uniforms:rn([d1.common,d1.bumpmap,d1.normalmap,d1.displacementmap,d1.fog,{matcap:{value:null}}]),vertexShader:g0.meshmatcap_vert,fragmentShader:g0.meshmatcap_frag},points:{uniforms:rn([d1.points,d1.fog]),vertexShader:g0.points_vert,fragmentShader:g0.points_frag},dashed:{uniforms:rn([d1.common,d1.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:g0.linedashed_vert,fragmentShader:g0.linedashed_frag},depth:{uniforms:rn([d1.common,d1.displacementmap]),vertexShader:g0.depth_vert,fragmentShader:g0.depth_frag},normal:{uniforms:rn([d1.common,d1.bumpmap,d1.normalmap,d1.displacementmap,{opacity:{value:1}}]),vertexShader:g0.meshnormal_vert,fragmentShader:g0.meshnormal_frag},sprite:{uniforms:rn([d1.sprite,d1.fog]),vertexShader:g0.sprite_vert,fragmentShader:g0.sprite_frag},background:{uniforms:{uvTransform:{value:new w0},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:g0.background_vert,fragmentShader:g0.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:g0.backgroundCube_vert,fragmentShader:g0.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:g0.cube_vert,fragmentShader:g0.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:g0.equirect_vert,fragmentShader:g0.equirect_frag},distanceRGBA:{uniforms:rn([d1.common,d1.displacementmap,{referencePosition:{value:new k2},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:g0.distanceRGBA_vert,fragmentShader:g0.distanceRGBA_frag},shadow:{uniforms:rn([d1.lights,d1.fog,{color:{value:new R1(0)},opacity:{value:1}}]),vertexShader:g0.shadow_vert,fragmentShader:g0.shadow_frag}};bn.physical={uniforms:rn([bn.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new w0},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new w0},clearcoatNormalScale:{value:new F3(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new w0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new w0},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new w0},sheen:{value:0},sheenColor:{value:new R1(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new w0},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new w0},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new w0},transmissionSamplerSize:{value:new F3},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new w0},attenuationDistance:{value:0},attenuationColor:{value:new R1(0)},specularColor:{value:new R1(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new w0},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new w0},anisotropyVector:{value:new F3},anisotropyMap:{value:null},anisotropyMapTransform:{value:new w0}}]),vertexShader:g0.meshphysical_vert,fragmentShader:g0.meshphysical_frag};const M7={r:0,b:0,g:0};function LB(n,e,t,i,r,a,s){const o=new R1(0);let l=a===!0?0:1,u,d,h=null,f=0,v=null;function _(y,w){let U=!1,P=w.isScene===!0?w.background:null;P&&P.isTexture&&(P=(w.backgroundBlurriness>0?t:e).get(P)),P===null?b(o,l):P&&P.isColor&&(b(P,1),U=!0);const O=n.xr.getEnvironmentBlendMode();O==="additive"?i.buffers.color.setClear(0,0,0,1,s):O==="alpha-blend"&&i.buffers.color.setClear(0,0,0,0,s),(n.autoClear||U)&&n.clear(n.autoClearColor,n.autoClearDepth,n.autoClearStencil),P&&(P.isCubeTexture||P.mapping===Pl)?(d===void 0&&(d=new R0(new Qr(1,1,1),new i5({name:"BackgroundCubeMaterial",uniforms:Vr(bn.backgroundCube.uniforms),vertexShader:bn.backgroundCube.vertexShader,fragmentShader:bn.backgroundCube.fragmentShader,side:Nn,depthTest:!1,depthWrite:!1,fog:!1})),d.geometry.deleteAttribute("normal"),d.geometry.deleteAttribute("uv"),d.onBeforeRender=function(j,q,K){this.matrixWorld.copyPosition(K.matrixWorld)},Object.defineProperty(d.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(d)),d.material.uniforms.envMap.value=P,d.material.uniforms.flipEnvMap.value=P.isCubeTexture&&P.isRenderTargetTexture===!1?-1:1,d.material.uniforms.backgroundBlurriness.value=w.backgroundBlurriness,d.material.uniforms.backgroundIntensity.value=w.backgroundIntensity,d.material.toneMapped=X0.getTransfer(P.colorSpace)!==Ce,(h!==P||f!==P.version||v!==n.toneMapping)&&(d.material.needsUpdate=!0,h=P,f=P.version,v=n.toneMapping),d.layers.enableAll(),y.unshift(d,d.geometry,d.material,0,0,null)):P&&P.isTexture&&(u===void 0&&(u=new R0(new Kn(2,2),new i5({name:"BackgroundMaterial",uniforms:Vr(bn.background.uniforms),vertexShader:bn.background.vertexShader,fragmentShader:bn.background.fragmentShader,side:n5,depthTest:!1,depthWrite:!1,fog:!1})),u.geometry.deleteAttribute("normal"),Object.defineProperty(u.material,"map",{get:function(){return this.uniforms.t2D.value}}),r.update(u)),u.material.uniforms.t2D.value=P,u.material.uniforms.backgroundIntensity.value=w.backgroundIntensity,u.material.toneMapped=X0.getTransfer(P.colorSpace)!==Ce,P.matrixAutoUpdate===!0&&P.updateMatrix(),u.material.uniforms.uvTransform.value.copy(P.matrix),(h!==P||f!==P.version||v!==n.toneMapping)&&(u.material.needsUpdate=!0,h=P,f=P.version,v=n.toneMapping),u.layers.enableAll(),y.unshift(u,u.geometry,u.material,0,0,null))}function b(y,w){y.getRGB(M7,DT(n)),i.buffers.color.setClear(M7.r,M7.g,M7.b,w,s)}return{getClearColor:function(){return o},setClearColor:function(y,w=1){o.set(y),l=w,b(o,l)},getClearAlpha:function(){return l},setClearAlpha:function(y){l=y,b(o,l)},render:_}}function IB(n,e,t,i){const r=n.getParameter(n.MAX_VERTEX_ATTRIBS),a=i.isWebGL2?null:e.get("OES_vertex_array_object"),s=i.isWebGL2||a!==null,o={},l=y(null);let u=l,d=!1;function h(C2,E2,A2,X2,b2){let J=!1;if(s){const p2=b(X2,A2,E2);u!==p2&&(u=p2,v(u.object)),J=w(C2,X2,A2,b2),J&&U(C2,X2,A2,b2)}else{const p2=E2.wireframe===!0;(u.geometry!==X2.id||u.program!==A2.id||u.wireframe!==p2)&&(u.geometry=X2.id,u.program=A2.id,u.wireframe=p2,J=!0)}b2!==null&&t.update(b2,n.ELEMENT_ARRAY_BUFFER),(J||d)&&(d=!1,c2(C2,E2,A2,X2),b2!==null&&n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,t.get(b2).buffer))}function f(){return i.isWebGL2?n.createVertexArray():a.createVertexArrayOES()}function v(C2){return i.isWebGL2?n.bindVertexArray(C2):a.bindVertexArrayOES(C2)}function _(C2){return i.isWebGL2?n.deleteVertexArray(C2):a.deleteVertexArrayOES(C2)}function b(C2,E2,A2){const X2=A2.wireframe===!0;let b2=o[C2.id];b2===void 0&&(b2={},o[C2.id]=b2);let J=b2[E2.id];J===void 0&&(J={},b2[E2.id]=J);let p2=J[X2];return p2===void 0&&(p2=y(f()),J[X2]=p2),p2}function y(C2){const E2=[],A2=[],X2=[];for(let b2=0;b2=0){const I2=b2[e3];let n2=J[e3];if(n2===void 0&&(e3==="instanceMatrix"&&C2.instanceMatrix&&(n2=C2.instanceMatrix),e3==="instanceColor"&&C2.instanceColor&&(n2=C2.instanceColor)),I2===void 0||I2.attribute!==n2||n2&&I2.data!==n2.data)return!0;p2++}return u.attributesNum!==p2||u.index!==X2}function U(C2,E2,A2,X2){const b2={},J=E2.attributes;let p2=0;const N2=A2.getAttributes();for(const e3 in N2)if(N2[e3].location>=0){let I2=J[e3];I2===void 0&&(e3==="instanceMatrix"&&C2.instanceMatrix&&(I2=C2.instanceMatrix),e3==="instanceColor"&&C2.instanceColor&&(I2=C2.instanceColor));const n2={};n2.attribute=I2,I2&&I2.data&&(n2.data=I2.data),b2[e3]=n2,p2++}u.attributes=b2,u.attributesNum=p2,u.index=X2}function P(){const C2=u.newAttributes;for(let E2=0,A2=C2.length;E2=0){let h3=b2[N2];if(h3===void 0&&(N2==="instanceMatrix"&&C2.instanceMatrix&&(h3=C2.instanceMatrix),N2==="instanceColor"&&C2.instanceColor&&(h3=C2.instanceColor)),h3!==void 0){const I2=h3.normalized,n2=h3.itemSize,P2=t.get(h3);if(P2===void 0)continue;const Z2=P2.buffer,f3=P2.type,v3=P2.bytesPerElement,O3=i.isWebGL2===!0&&(f3===n.INT||f3===n.UNSIGNED_INT||h3.gpuType===_T);if(h3.isInterleavedBufferAttribute){const H3=h3.data,F2=H3.stride,L3=h3.offset;if(H3.isInstancedInterleavedBuffer){for(let C3=0;C30&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.HIGH_FLOAT).precision>0)return"highp";K="mediump"}return K==="mediump"&&n.getShaderPrecisionFormat(n.VERTEX_SHADER,n.MEDIUM_FLOAT).precision>0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const s=typeof WebGL2RenderingContext!="undefined"&&n.constructor.name==="WebGL2RenderingContext";let o=t.precision!==void 0?t.precision:"highp";const l=a(o);l!==o&&(console.warn("THREE.WebGLRenderer:",o,"not supported, using",l,"instead."),o=l);const u=s||e.has("WEBGL_draw_buffers"),d=t.logarithmicDepthBuffer===!0,h=n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS),f=n.getParameter(n.MAX_VERTEX_TEXTURE_IMAGE_UNITS),v=n.getParameter(n.MAX_TEXTURE_SIZE),_=n.getParameter(n.MAX_CUBE_MAP_TEXTURE_SIZE),b=n.getParameter(n.MAX_VERTEX_ATTRIBS),y=n.getParameter(n.MAX_VERTEX_UNIFORM_VECTORS),w=n.getParameter(n.MAX_VARYING_VECTORS),U=n.getParameter(n.MAX_FRAGMENT_UNIFORM_VECTORS),P=f>0,O=s||e.has("OES_texture_float"),j=P&&O,q=s?n.getParameter(n.MAX_SAMPLES):0;return{isWebGL2:s,drawBuffers:u,getMaxAnisotropy:r,getMaxPrecision:a,precision:o,logarithmicDepthBuffer:d,maxTextures:h,maxVertexTextures:f,maxTextureSize:v,maxCubemapSize:_,maxAttributes:b,maxVertexUniforms:y,maxVaryings:w,maxFragmentUniforms:U,vertexTextures:P,floatFragmentTextures:O,floatVertexTextures:j,maxSamples:q}}function DB(n){const e=this;let t=null,i=0,r=!1,a=!1;const s=new F5,o=new w0,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(h,f){const v=h.length!==0||f||i!==0||r;return r=f,i=h.length,v},this.beginShadows=function(){a=!0,d(null)},this.endShadows=function(){a=!1},this.setGlobalState=function(h,f){t=d(h,f,0)},this.setState=function(h,f,v){const _=h.clippingPlanes,b=h.clipIntersection,y=h.clipShadows,w=n.get(h);if(!r||_===null||_.length===0||a&&!y)a?d(null):u();else{const U=a?0:i,P=U*4;let O=w.clippingState||null;l.value=O,O=d(_,f,P,v);for(let j=0;j!==P;++j)O[j]=t[j];w.clippingState=O,this.numIntersection=b?this.numPlanes:0,this.numPlanes+=U}};function u(){l.value!==t&&(l.value=t,l.needsUpdate=i>0),e.numPlanes=i,e.numIntersection=0}function d(h,f,v,_){const b=h!==null?h.length:0;let y=null;if(b!==0){if(y=l.value,_!==!0||y===null){const w=v+b*4,U=f.matrixWorldInverse;o.getNormalMatrix(U),(y===null||y.length0){const u=new KD(l.height);return u.fromEquirectangularTexture(n,s),e.set(s,u),s.addEventListener("dispose",r),t(u.texture,s.mapping)}else return null}}return s}function r(s){const o=s.target;o.removeEventListener("dispose",r);const l=e.get(o);l!==void 0&&(e.delete(o),l.dispose())}function a(){e=new WeakMap}return{get:i,dispose:a}}class Ll extends UT{constructor(e=-1,t=1,i=1,r=-1,a=.1,s=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=i,this.bottom=r,this.near=a,this.far=s,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=e.view===null?null:Object.assign({},e.view),this}setViewOffset(e,t,i,r,a,s){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=i,this.view.offsetY=r,this.view.width=a,this.view.height=s,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),i=(this.right+this.left)/2,r=(this.top+this.bottom)/2;let a=i-e,s=i+e,o=r+t,l=r-t;if(this.view!==null&&this.view.enabled){const u=(this.right-this.left)/this.view.fullWidth/this.zoom,d=(this.top-this.bottom)/this.view.fullHeight/this.zoom;a+=u*this.view.offsetX,s=a+u*this.view.width,o-=d*this.view.offsetY,l=o-d*this.view.height}this.projectionMatrix.makeOrthographic(a,s,o,l,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,this.view!==null&&(t.object.view=Object.assign({},this.view)),t}}const cr=4,uy=[.125,.215,.35,.446,.526,.582],W9=20,Xc=new Ll,cy=new R1;let Jc=null,Zc=0,Qc=0;const z9=(1+Math.sqrt(5))/2,K8=1/z9,dy=[new k2(1,1,1),new k2(-1,1,1),new k2(1,1,-1),new k2(-1,1,-1),new k2(0,z9,K8),new k2(0,z9,-K8),new k2(K8,0,z9),new k2(-K8,0,z9),new k2(z9,K8,0),new k2(-z9,K8,0)];class hy{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(e,t=0,i=.1,r=100){Jc=this._renderer.getRenderTarget(),Zc=this._renderer.getActiveCubeFace(),Qc=this._renderer.getActiveMipmapLevel(),this._setSize(256);const a=this._allocateTargets();return a.depthBuffer=!0,this._sceneToCubeUV(e,i,r,a),t>0&&this._blur(a,0,0,t),this._applyPMREM(a),this._cleanup(a),a}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=my(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=py(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e2?P:0,P,P),d.setRenderTarget(r),b&&d.render(_,o),d.render(e,o)}_.geometry.dispose(),_.material.dispose(),d.toneMapping=f,d.autoClear=h,e.background=y}_textureToCubeUV(e,t){const i=this._renderer,r=e.mapping===Ur||e.mapping===Or;r?(this._cubemapMaterial===null&&(this._cubemapMaterial=my()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=py());const a=r?this._cubemapMaterial:this._equirectMaterial,s=new R0(this._lodPlanes[0],a),o=a.uniforms;o.envMap.value=e;const l=this._cubeSize;E7(t,0,0,3*l,2*l),i.setRenderTarget(t),i.render(s,Xc)}_applyPMREM(e){const t=this._renderer,i=t.autoClear;t.autoClear=!1;for(let r=1;rW9&&console.warn(`sigmaRadians, ${a}, is too large and will clip, as it requested ${y} samples when the maximum is set to ${W9}`);const w=[];let U=0;for(let K=0;KP-cr?r-P+cr:0),q=4*(this._cubeSize-O);E7(t,j,q,3*O,2*O),l.setRenderTarget(t),l.render(h,Xc)}}function OB(n){const e=[],t=[],i=[];let r=n;const a=n-cr+1+uy.length;for(let s=0;sn-cr?l=uy[s-n+cr-1]:s===0&&(l=0),i.push(l);const u=1/(o-2),d=-u,h=1+u,f=[d,d,h,d,h,h,d,d,h,h,d,h],v=6,_=6,b=3,y=2,w=1,U=new Float32Array(b*_*v),P=new Float32Array(y*_*v),O=new Float32Array(w*_*v);for(let q=0;q2?0:-1,S2=[K,c2,0,K+2/3,c2,0,K+2/3,c2+1,0,K,c2,0,K+2/3,c2+1,0,K,c2+1,0];U.set(S2,b*_*q),P.set(f,y*_*q);const H=[q,q,q,q,q,q];O.set(H,w*_*q)}const j=new se;j.setAttribute("position",new Ue(U,b)),j.setAttribute("uv",new Ue(P,y)),j.setAttribute("faceIndex",new Ue(O,w)),e.push(j),r>cr&&r--}return{lodPlanes:e,sizeLods:t,sigmas:i}}function fy(n,e,t){const i=new s8(n,e,t);return i.texture.mapping=Pl,i.texture.name="PMREM.cubeUv",i.scissorTest=!0,i}function E7(n,e,t,i,r){n.viewport.set(e,t,i,r),n.scissor.set(e,t,i,r)}function BB(n,e,t){const i=new Float32Array(W9),r=new k2(0,1,0);return new i5({name:"SphericalGaussianBlur",defines:{n:W9,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/t,CUBEUV_MAX_MIP:`${n}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:i},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:r}},vertexShader:Tf(),fragmentShader:` precision mediump float; precision mediump int; varying vec3 vOutputDirection; uniform sampler2D envMap; uniform int samples; uniform float weights[ n ]; uniform bool latitudinal; uniform float dTheta; uniform float mipInt; uniform vec3 poleAxis; #define ENVMAP_TYPE_CUBE_UV #include vec3 getSample( float theta, vec3 axis ) { float cosTheta = cos( theta ); // Rodrigues' axis-angle rotation vec3 sampleDirection = vOutputDirection * cosTheta + cross( axis, vOutputDirection ) * sin( theta ) + axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta ); return bilinearCubeUV( envMap, sampleDirection, mipInt ); } void main() { vec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection ); if ( all( equal( axis, vec3( 0.0 ) ) ) ) { axis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x ); } axis = normalize( axis ); gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 ); gl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis ); for ( int i = 1; i < n; i++ ) { if ( i >= samples ) { break; } float theta = dTheta * float( i ); gl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis ); gl_FragColor.rgb += weights[ i ] * getSample( theta, axis ); } } `,blending:X5,depthTest:!1,depthWrite:!1})}function py(){return new i5({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:Tf(),fragmentShader:` precision mediump float; precision mediump int; varying vec3 vOutputDirection; uniform sampler2D envMap; #include void main() { vec3 outputDirection = normalize( vOutputDirection ); vec2 uv = equirectUv( outputDirection ); gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 ); } `,blending:X5,depthTest:!1,depthWrite:!1})}function my(){return new i5({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:Tf(),fragmentShader:` precision mediump float; precision mediump int; uniform float flipEnvMap; varying vec3 vOutputDirection; uniform samplerCube envMap; void main() { gl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) ); } `,blending:X5,depthTest:!1,depthWrite:!1})}function Tf(){return` precision mediump float; precision mediump int; attribute float faceIndex; varying vec3 vOutputDirection; // RH coordinate system; PMREM face-indexing convention vec3 getDirection( vec2 uv, float face ) { uv = 2.0 * uv - 1.0; vec3 direction = vec3( uv, 1.0 ); if ( face == 0.0 ) { direction = direction.zyx; // ( 1, v, u ) pos x } else if ( face == 1.0 ) { direction = direction.xzy; direction.xz *= -1.0; // ( -u, 1, -v ) pos y } else if ( face == 2.0 ) { direction.x *= -1.0; // ( -u, v, 1 ) pos z } else if ( face == 3.0 ) { direction = direction.zyx; direction.xz *= -1.0; // ( -1, v, -u ) neg x } else if ( face == 4.0 ) { direction = direction.xzy; direction.xy *= -1.0; // ( -u, -1, v ) neg y } else if ( face == 5.0 ) { direction.z *= -1.0; // ( u, v, -1 ) neg z } return direction; } void main() { vOutputDirection = getDirection( uv, faceIndex ); gl_Position = vec4( position, 1.0 ); } `}function zB(n){let e=new WeakMap,t=null;function i(o){if(o&&o.isTexture){const l=o.mapping,u=l===nh||l===ih,d=l===Ur||l===Or;if(u||d)if(o.isRenderTargetTexture&&o.needsPMREMUpdate===!0){o.needsPMREMUpdate=!1;let h=e.get(o);return t===null&&(t=new hy(n)),h=u?t.fromEquirectangular(o,h):t.fromCubemap(o,h),e.set(o,h),h.texture}else{if(e.has(o))return e.get(o).texture;{const h=o.image;if(u&&h&&h.height>0||d&&h&&r(h)){t===null&&(t=new hy(n));const f=u?t.fromEquirectangular(o):t.fromCubemap(o);return e.set(o,f),o.addEventListener("dispose",a),f.texture}else return null}}}return o}function r(o){let l=0;const u=6;for(let d=0;de.maxTextureSize&&(H=Math.ceil(S2/e.maxTextureSize),S2=e.maxTextureSize);const Z=new Float32Array(S2*H*4*_),G2=new LT(Z,S2,H,_);G2.type=fi,G2.needsUpdate=!0;const q2=c2*4;for(let E2=0;E2<_;E2++){const A2=j[E2],X2=q[E2],b2=K[E2],J=S2*H*4*E2;for(let p2=0;p20)return n;const r=e*t;let a=gy[r];if(a===void 0&&(a=new Float32Array(r),gy[r]=a),e!==0){i.toArray(a,0);for(let s=1,o=0;s!==e;++s)o+=t,n[s].toArray(a,o)}return a}function gt(n,e){if(n.length!==e.length)return!1;for(let t=0,i=n.length;t":" "} ${o}: ${t[s]}`)}return i.join(` `)}function Vz(n){const e=X0.getPrimaries(X0.workingColorSpace),t=X0.getPrimaries(n);let i;switch(e===t?i="":e===Wo&&t===jo?i="LinearDisplayP3ToLinearSRGB":e===jo&&t===Wo&&(i="LinearSRGBToLinearDisplayP3"),n){case mt:case Rl:return[i,"LinearTransferOETF"];case J0:case gf:return[i,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",n),[i,"LinearTransferOETF"]}}function wy(n,e,t){const i=n.getShaderParameter(e,n.COMPILE_STATUS),r=n.getShaderInfoLog(e).trim();if(i&&r==="")return"";const a=/ERROR: 0:(\d+)/.exec(r);if(a){const s=parseInt(a[1]);return t.toUpperCase()+` `+r+` `+Gz(n.getShaderSource(e),s)}else return r}function Hz(n,e){const t=Vz(e);return`vec4 ${n}( vec4 value ) { return ${t[0]}( ${t[1]}( value ) ); }`}function jz(n,e){let t;switch(e){case GF:t="Linear";break;case VF:t="Reinhard";break;case HF:t="OptimizedCineon";break;case jF:t="ACESFilmic";break;case $F:t="AgX";break;case WF:t="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),t="Linear"}return"vec3 "+n+"( vec3 color ) { return "+t+"ToneMapping( color ); }"}function Wz(n){return[n.extensionDerivatives||n.envMapCubeUVHeight||n.bumpMap||n.normalMapTangentSpace||n.clearcoatNormalMap||n.flatShading||n.alphaToCoverage||n.shaderID==="physical"?"#extension GL_OES_standard_derivatives : enable":"",(n.extensionFragDepth||n.logarithmicDepthBuffer)&&n.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",n.extensionDrawBuffers&&n.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(n.extensionShaderTextureLOD||n.envMap||n.transmission)&&n.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(dr).join(` `)}function $z(n){return[n.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":"",n.extensionMultiDraw?"#extension GL_ANGLE_multi_draw : require":""].filter(dr).join(` `)}function Yz(n){const e=[];for(const t in n){const i=n[t];i!==!1&&e.push("#define "+t+" "+i)}return e.join(` `)}function qz(n,e){const t={},i=n.getProgramParameter(e,n.ACTIVE_ATTRIBUTES);for(let r=0;r/gm;function uh(n){return n.replace(Kz,Jz)}const Xz=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function Jz(n,e){let t=g0[e];if(t===void 0){const i=Xz.get(e);if(i!==void 0)t=g0[i],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',e,i);else throw new Error("Can not resolve #include <"+e+">")}return uh(t)}const Zz=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function Cy(n){return n.replace(Zz,Qz)}function Qz(n,e,t,i){let r="";for(let a=parseInt(e);a0&&(w+=` `),U=[v,"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,b].filter(dr).join(` `),U.length>0&&(U+=` `)):(w=[My(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,b,t.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",t.batching?"#define USE_BATCHING":"",t.instancing?"#define USE_INSTANCING":"",t.instancingColor?"#define USE_INSTANCING_COLOR":"",t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+d:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.displacementMap?"#define USE_DISPLACEMENTMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.mapUv?"#define MAP_UV "+t.mapUv:"",t.alphaMapUv?"#define ALPHAMAP_UV "+t.alphaMapUv:"",t.lightMapUv?"#define LIGHTMAP_UV "+t.lightMapUv:"",t.aoMapUv?"#define AOMAP_UV "+t.aoMapUv:"",t.emissiveMapUv?"#define EMISSIVEMAP_UV "+t.emissiveMapUv:"",t.bumpMapUv?"#define BUMPMAP_UV "+t.bumpMapUv:"",t.normalMapUv?"#define NORMALMAP_UV "+t.normalMapUv:"",t.displacementMapUv?"#define DISPLACEMENTMAP_UV "+t.displacementMapUv:"",t.metalnessMapUv?"#define METALNESSMAP_UV "+t.metalnessMapUv:"",t.roughnessMapUv?"#define ROUGHNESSMAP_UV "+t.roughnessMapUv:"",t.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+t.anisotropyMapUv:"",t.clearcoatMapUv?"#define CLEARCOATMAP_UV "+t.clearcoatMapUv:"",t.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+t.clearcoatNormalMapUv:"",t.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+t.clearcoatRoughnessMapUv:"",t.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+t.iridescenceMapUv:"",t.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+t.iridescenceThicknessMapUv:"",t.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+t.sheenColorMapUv:"",t.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+t.sheenRoughnessMapUv:"",t.specularMapUv?"#define SPECULARMAP_UV "+t.specularMapUv:"",t.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+t.specularColorMapUv:"",t.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+t.specularIntensityMapUv:"",t.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+t.transmissionMapUv:"",t.thicknessMapUv?"#define THICKNESSMAP_UV "+t.thicknessMapUv:"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.flatShading?"#define FLAT_SHADED":"",t.skinning?"#define USE_SKINNING":"",t.morphTargets?"#define USE_MORPHTARGETS":"",t.morphNormals&&t.flatShading===!1?"#define USE_MORPHNORMALS":"",t.morphColors&&t.isWebGL2?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_UV1"," attribute vec2 uv1;","#endif","#ifdef USE_UV2"," attribute vec2 uv2;","#endif","#ifdef USE_UV3"," attribute vec2 uv3;","#endif","#ifdef USE_TANGENT"," attribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )"," attribute vec4 color;","#elif defined( USE_COLOR )"," attribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )"," attribute vec3 morphTarget0;"," attribute vec3 morphTarget1;"," attribute vec3 morphTarget2;"," attribute vec3 morphTarget3;"," #ifdef USE_MORPHNORMALS"," attribute vec3 morphNormal0;"," attribute vec3 morphNormal1;"," attribute vec3 morphNormal2;"," attribute vec3 morphNormal3;"," #else"," attribute vec3 morphTarget4;"," attribute vec3 morphTarget5;"," attribute vec3 morphTarget6;"," attribute vec3 morphTarget7;"," #endif","#endif","#ifdef USE_SKINNING"," attribute vec4 skinIndex;"," attribute vec4 skinWeight;","#endif",` `].filter(dr).join(` `),U=[v,My(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,b,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.alphaToCoverage?"#define ALPHA_TO_COVERAGE":"",t.map?"#define USE_MAP":"",t.matcap?"#define USE_MATCAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+u:"",t.envMap?"#define "+d:"",t.envMap?"#define "+h:"",f?"#define CUBEUV_TEXEL_WIDTH "+f.texelWidth:"",f?"#define CUBEUV_TEXEL_HEIGHT "+f.texelHeight:"",f?"#define CUBEUV_MAX_MIP "+f.maxMip+".0":"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoat?"#define USE_CLEARCOAT":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescence?"#define USE_IRIDESCENCE":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==J5?"#define TONE_MAPPING":"",t.toneMapping!==J5?g0.tonemapping_pars_fragment:"",t.toneMapping!==J5?jz("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",g0.colorspace_pars_fragment,Hz("linearToOutputTexel",t.outputColorSpace),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` `].filter(dr).join(` `)),s=uh(s),s=xy(s,t),s=Ay(s,t),o=uh(o),o=xy(o,t),o=Ay(o,t),s=Cy(s),o=Cy(o),t.isWebGL2&&t.isRawShaderMaterial!==!0&&(P=`#version 300 es `,w=[_,"precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join(` `)+` `+w,U=["precision mediump sampler2DArray;","#define varying in",t.glslVersion===Hv?"":"layout(location = 0) out highp vec4 pc_fragColor;",t.glslVersion===Hv?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join(` `)+` `+U);const O=P+w+s,j=P+U+o,q=Ty(r,r.VERTEX_SHADER,O),K=Ty(r,r.FRAGMENT_SHADER,j);r.attachShader(y,q),r.attachShader(y,K),t.index0AttributeName!==void 0?r.bindAttribLocation(y,0,t.index0AttributeName):t.morphTargets===!0&&r.bindAttribLocation(y,0,"position"),r.linkProgram(y);function c2(G2){if(n.debug.checkShaderErrors){const q2=r.getProgramInfoLog(y).trim(),C2=r.getShaderInfoLog(q).trim(),E2=r.getShaderInfoLog(K).trim();let A2=!0,X2=!0;if(r.getProgramParameter(y,r.LINK_STATUS)===!1)if(A2=!1,typeof n.debug.onShaderError=="function")n.debug.onShaderError(r,y,q,K);else{const b2=wy(r,q,"vertex"),J=wy(r,K,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(y,r.VALIDATE_STATUS)+` Material Name: `+G2.name+` Material Type: `+G2.type+` Program Info Log: `+q2+` `+b2+` `+J)}else q2!==""?console.warn("THREE.WebGLProgram: Program Info Log:",q2):(C2===""||E2==="")&&(X2=!1);X2&&(G2.diagnostics={runnable:A2,programLog:q2,vertexShader:{log:C2,prefix:w},fragmentShader:{log:E2,prefix:U}})}r.deleteShader(q),r.deleteShader(K),S2=new vo(r,y),H=qz(r,y)}let S2;this.getUniforms=function(){return S2===void 0&&c2(this),S2};let H;this.getAttributes=function(){return H===void 0&&c2(this),H};let Z=t.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return Z===!1&&(Z=r.getProgramParameter(y,Bz)),Z},this.destroy=function(){i.releaseStatesOfProgram(this),r.deleteProgram(y),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=zz++,this.cacheKey=e,this.usedTimes=1,this.program=y,this.vertexShader=q,this.fragmentShader=K,this}let sG=0;class oG{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){const t=e.vertexShader,i=e.fragmentShader,r=this._getShaderStage(t),a=this._getShaderStage(i),s=this._getShaderCacheForMaterial(e);return s.has(r)===!1&&(s.add(r),r.usedTimes++),s.has(a)===!1&&(s.add(a),a.usedTimes++),this}remove(e){const t=this.materialCache.get(e);for(const i of t)i.usedTimes--,i.usedTimes===0&&this.shaderCache.delete(i.code);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){const t=this.materialCache;let i=t.get(e);return i===void 0&&(i=new Set,t.set(e,i)),i}_getShaderStage(e){const t=this.shaderCache;let i=t.get(e);return i===void 0&&(i=new lG(e),t.set(e,i)),i}}class lG{constructor(e){this.id=sG++,this.code=e,this.usedTimes=0}}function uG(n,e,t,i,r,a,s){const o=new _f,l=new oG,u=new Set,d=[],h=r.isWebGL2,f=r.logarithmicDepthBuffer,v=r.vertexTextures;let _=r.precision;const b={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function y(H){return u.add(H),H===0?"uv":`uv${H}`}function w(H,Z,G2,q2,C2){const E2=q2.fog,A2=C2.geometry,X2=H.isMeshStandardMaterial?q2.environment:null,b2=(H.isMeshStandardMaterial?t:e).get(H.envMap||X2),J=b2&&b2.mapping===Pl?b2.image.height:null,p2=b[H.type];H.precision!==null&&(_=r.getMaxPrecision(H.precision),_!==H.precision&&console.warn("THREE.WebGLProgram.getParameters:",H.precision,"not supported, using",_,"instead."));const N2=A2.morphAttributes.position||A2.morphAttributes.normal||A2.morphAttributes.color,e3=N2!==void 0?N2.length:0;let h3=0;A2.morphAttributes.position!==void 0&&(h3=1),A2.morphAttributes.normal!==void 0&&(h3=2),A2.morphAttributes.color!==void 0&&(h3=3);let I2,n2,P2,Z2;if(p2){const H1=bn[p2];I2=H1.vertexShader,n2=H1.fragmentShader}else I2=H.vertexShader,n2=H.fragmentShader,l.update(H),P2=l.getVertexShaderID(H),Z2=l.getFragmentShaderID(H);const f3=n.getRenderTarget(),v3=C2.isInstancedMesh===!0,O3=C2.isBatchedMesh===!0,H3=!!H.map,F2=!!H.matcap,L3=!!b2,C3=!!H.aoMap,U3=!!H.lightMap,F=!!H.bumpMap,r1=!!H.normalMap,I3=!!H.displacementMap,T2=!!H.emissiveMap,o2=!!H.metalnessMap,u2=!!H.roughnessMap,W2=H.anisotropy>0,Y2=H.clearcoat>0,t2=H.iridescence>0,i2=H.sheen>0,_2=H.transmission>0,V2=W2&&!!H.anisotropyMap,s3=Y2&&!!H.clearcoatMap,D3=Y2&&!!H.clearcoatNormalMap,S3=Y2&&!!H.clearcoatRoughnessMap,m1=t2&&!!H.iridescenceMap,b1=t2&&!!H.iridescenceThicknessMap,g1=i2&&!!H.sheenColorMap,a1=i2&&!!H.sheenRoughnessMap,n1=!!H.specularMap,C1=!!H.specularColorMap,H2=!!H.specularIntensityMap,j3=_2&&!!H.transmissionMap,s1=_2&&!!H.thicknessMap,E1=!!H.gradientMap,U2=!!H.alphaMap,q3=H.alphaTest>0,B3=!!H.alphaHash,_1=!!H.extensions;let A1=J5;H.toneMapped&&(f3===null||f3.isXRRenderTarget===!0)&&(A1=n.toneMapping);const o1={isWebGL2:h,shaderID:p2,shaderType:H.type,shaderName:H.name,vertexShader:I2,fragmentShader:n2,defines:H.defines,customVertexShaderID:P2,customFragmentShaderID:Z2,isRawShaderMaterial:H.isRawShaderMaterial===!0,glslVersion:H.glslVersion,precision:_,batching:O3,instancing:v3,instancingColor:v3&&C2.instanceColor!==null,supportsVertexTextures:v,outputColorSpace:f3===null?n.outputColorSpace:f3.isXRRenderTarget===!0?f3.texture.colorSpace:mt,alphaToCoverage:!!H.alphaToCoverage,map:H3,matcap:F2,envMap:L3,envMapMode:L3&&b2.mapping,envMapCubeUVHeight:J,aoMap:C3,lightMap:U3,bumpMap:F,normalMap:r1,displacementMap:v&&I3,emissiveMap:T2,normalMapObjectSpace:r1&&H.normalMapType===sD,normalMapTangentSpace:r1&&H.normalMapType===mf,metalnessMap:o2,roughnessMap:u2,anisotropy:W2,anisotropyMap:V2,clearcoat:Y2,clearcoatMap:s3,clearcoatNormalMap:D3,clearcoatRoughnessMap:S3,iridescence:t2,iridescenceMap:m1,iridescenceThicknessMap:b1,sheen:i2,sheenColorMap:g1,sheenRoughnessMap:a1,specularMap:n1,specularColorMap:C1,specularIntensityMap:H2,transmission:_2,transmissionMap:j3,thicknessMap:s1,gradientMap:E1,opaque:H.transparent===!1&&H.blending===e8&&H.alphaToCoverage===!1,alphaMap:U2,alphaTest:q3,alphaHash:B3,combine:H.combine,mapUv:H3&&y(H.map.channel),aoMapUv:C3&&y(H.aoMap.channel),lightMapUv:U3&&y(H.lightMap.channel),bumpMapUv:F&&y(H.bumpMap.channel),normalMapUv:r1&&y(H.normalMap.channel),displacementMapUv:I3&&y(H.displacementMap.channel),emissiveMapUv:T2&&y(H.emissiveMap.channel),metalnessMapUv:o2&&y(H.metalnessMap.channel),roughnessMapUv:u2&&y(H.roughnessMap.channel),anisotropyMapUv:V2&&y(H.anisotropyMap.channel),clearcoatMapUv:s3&&y(H.clearcoatMap.channel),clearcoatNormalMapUv:D3&&y(H.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:S3&&y(H.clearcoatRoughnessMap.channel),iridescenceMapUv:m1&&y(H.iridescenceMap.channel),iridescenceThicknessMapUv:b1&&y(H.iridescenceThicknessMap.channel),sheenColorMapUv:g1&&y(H.sheenColorMap.channel),sheenRoughnessMapUv:a1&&y(H.sheenRoughnessMap.channel),specularMapUv:n1&&y(H.specularMap.channel),specularColorMapUv:C1&&y(H.specularColorMap.channel),specularIntensityMapUv:H2&&y(H.specularIntensityMap.channel),transmissionMapUv:j3&&y(H.transmissionMap.channel),thicknessMapUv:s1&&y(H.thicknessMap.channel),alphaMapUv:U2&&y(H.alphaMap.channel),vertexTangents:!!A2.attributes.tangent&&(r1||W2),vertexColors:H.vertexColors,vertexAlphas:H.vertexColors===!0&&!!A2.attributes.color&&A2.attributes.color.itemSize===4,pointsUvs:C2.isPoints===!0&&!!A2.attributes.uv&&(H3||U2),fog:!!E2,useFog:H.fog===!0,fogExp2:!!E2&&E2.isFogExp2,flatShading:H.flatShading===!0,sizeAttenuation:H.sizeAttenuation===!0,logarithmicDepthBuffer:f,skinning:C2.isSkinnedMesh===!0,morphTargets:A2.morphAttributes.position!==void 0,morphNormals:A2.morphAttributes.normal!==void 0,morphColors:A2.morphAttributes.color!==void 0,morphTargetsCount:e3,morphTextureStride:h3,numDirLights:Z.directional.length,numPointLights:Z.point.length,numSpotLights:Z.spot.length,numSpotLightMaps:Z.spotLightMap.length,numRectAreaLights:Z.rectArea.length,numHemiLights:Z.hemi.length,numDirLightShadows:Z.directionalShadowMap.length,numPointLightShadows:Z.pointShadowMap.length,numSpotLightShadows:Z.spotShadowMap.length,numSpotLightShadowsWithMaps:Z.numSpotLightShadowsWithMaps,numLightProbes:Z.numLightProbes,numClippingPlanes:s.numPlanes,numClipIntersection:s.numIntersection,dithering:H.dithering,shadowMapEnabled:n.shadowMap.enabled&&G2.length>0,shadowMapType:n.shadowMap.type,toneMapping:A1,useLegacyLights:n._useLegacyLights,decodeVideoTexture:H3&&H.map.isVideoTexture===!0&&X0.getTransfer(H.map.colorSpace)===Ce,premultipliedAlpha:H.premultipliedAlpha,doubleSided:H.side===he,flipSided:H.side===Nn,useDepthPacking:H.depthPacking>=0,depthPacking:H.depthPacking||0,index0AttributeName:H.index0AttributeName,extensionDerivatives:_1&&H.extensions.derivatives===!0,extensionFragDepth:_1&&H.extensions.fragDepth===!0,extensionDrawBuffers:_1&&H.extensions.drawBuffers===!0,extensionShaderTextureLOD:_1&&H.extensions.shaderTextureLOD===!0,extensionClipCullDistance:_1&&H.extensions.clipCullDistance===!0&&i.has("WEBGL_clip_cull_distance"),extensionMultiDraw:_1&&H.extensions.multiDraw===!0&&i.has("WEBGL_multi_draw"),rendererExtensionFragDepth:h||i.has("EXT_frag_depth"),rendererExtensionDrawBuffers:h||i.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:h||i.has("EXT_shader_texture_lod"),rendererExtensionParallelShaderCompile:i.has("KHR_parallel_shader_compile"),customProgramCacheKey:H.customProgramCacheKey()};return o1.vertexUv1s=u.has(1),o1.vertexUv2s=u.has(2),o1.vertexUv3s=u.has(3),u.clear(),o1}function U(H){const Z=[];if(H.shaderID?Z.push(H.shaderID):(Z.push(H.customVertexShaderID),Z.push(H.customFragmentShaderID)),H.defines!==void 0)for(const G2 in H.defines)Z.push(G2),Z.push(H.defines[G2]);return H.isRawShaderMaterial===!1&&(P(Z,H),O(Z,H),Z.push(n.outputColorSpace)),Z.push(H.customProgramCacheKey),Z.join()}function P(H,Z){H.push(Z.precision),H.push(Z.outputColorSpace),H.push(Z.envMapMode),H.push(Z.envMapCubeUVHeight),H.push(Z.mapUv),H.push(Z.alphaMapUv),H.push(Z.lightMapUv),H.push(Z.aoMapUv),H.push(Z.bumpMapUv),H.push(Z.normalMapUv),H.push(Z.displacementMapUv),H.push(Z.emissiveMapUv),H.push(Z.metalnessMapUv),H.push(Z.roughnessMapUv),H.push(Z.anisotropyMapUv),H.push(Z.clearcoatMapUv),H.push(Z.clearcoatNormalMapUv),H.push(Z.clearcoatRoughnessMapUv),H.push(Z.iridescenceMapUv),H.push(Z.iridescenceThicknessMapUv),H.push(Z.sheenColorMapUv),H.push(Z.sheenRoughnessMapUv),H.push(Z.specularMapUv),H.push(Z.specularColorMapUv),H.push(Z.specularIntensityMapUv),H.push(Z.transmissionMapUv),H.push(Z.thicknessMapUv),H.push(Z.combine),H.push(Z.fogExp2),H.push(Z.sizeAttenuation),H.push(Z.morphTargetsCount),H.push(Z.morphAttributeCount),H.push(Z.numDirLights),H.push(Z.numPointLights),H.push(Z.numSpotLights),H.push(Z.numSpotLightMaps),H.push(Z.numHemiLights),H.push(Z.numRectAreaLights),H.push(Z.numDirLightShadows),H.push(Z.numPointLightShadows),H.push(Z.numSpotLightShadows),H.push(Z.numSpotLightShadowsWithMaps),H.push(Z.numLightProbes),H.push(Z.shadowMapType),H.push(Z.toneMapping),H.push(Z.numClippingPlanes),H.push(Z.numClipIntersection),H.push(Z.depthPacking)}function O(H,Z){o.disableAll(),Z.isWebGL2&&o.enable(0),Z.supportsVertexTextures&&o.enable(1),Z.instancing&&o.enable(2),Z.instancingColor&&o.enable(3),Z.matcap&&o.enable(4),Z.envMap&&o.enable(5),Z.normalMapObjectSpace&&o.enable(6),Z.normalMapTangentSpace&&o.enable(7),Z.clearcoat&&o.enable(8),Z.iridescence&&o.enable(9),Z.alphaTest&&o.enable(10),Z.vertexColors&&o.enable(11),Z.vertexAlphas&&o.enable(12),Z.vertexUv1s&&o.enable(13),Z.vertexUv2s&&o.enable(14),Z.vertexUv3s&&o.enable(15),Z.vertexTangents&&o.enable(16),Z.anisotropy&&o.enable(17),Z.alphaHash&&o.enable(18),Z.batching&&o.enable(19),H.push(o.mask),o.disableAll(),Z.fog&&o.enable(0),Z.useFog&&o.enable(1),Z.flatShading&&o.enable(2),Z.logarithmicDepthBuffer&&o.enable(3),Z.skinning&&o.enable(4),Z.morphTargets&&o.enable(5),Z.morphNormals&&o.enable(6),Z.morphColors&&o.enable(7),Z.premultipliedAlpha&&o.enable(8),Z.shadowMapEnabled&&o.enable(9),Z.useLegacyLights&&o.enable(10),Z.doubleSided&&o.enable(11),Z.flipSided&&o.enable(12),Z.useDepthPacking&&o.enable(13),Z.dithering&&o.enable(14),Z.transmission&&o.enable(15),Z.sheen&&o.enable(16),Z.opaque&&o.enable(17),Z.pointsUvs&&o.enable(18),Z.decodeVideoTexture&&o.enable(19),Z.alphaToCoverage&&o.enable(20),H.push(o.mask)}function j(H){const Z=b[H.type];let G2;if(Z){const q2=bn[Z];G2=Sf.clone(q2.uniforms)}else G2=H.uniforms;return G2}function q(H,Z){let G2;for(let q2=0,C2=d.length;q20?i.push(w):v.transparent===!0?r.push(w):t.push(w)}function l(h,f,v,_,b,y){const w=s(h,f,v,_,b,y);v.transmission>0?i.unshift(w):v.transparent===!0?r.unshift(w):t.unshift(w)}function u(h,f){t.length>1&&t.sort(h||dG),i.length>1&&i.sort(f||Ey),r.length>1&&r.sort(f||Ey)}function d(){for(let h=e,f=n.length;h=a.length?(s=new Py,a.push(s)):s=a[r],s}function t(){n=new WeakMap}return{get:e,dispose:t}}function fG(){const n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={direction:new k2,color:new R1};break;case"SpotLight":t={position:new k2,direction:new k2,color:new R1,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new k2,color:new R1,distance:0,decay:0};break;case"HemisphereLight":t={direction:new k2,skyColor:new R1,groundColor:new R1};break;case"RectAreaLight":t={color:new R1,position:new k2,halfWidth:new k2,halfHeight:new k2};break}return n[e.id]=t,t}}}function pG(){const n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new F3};break;case"SpotLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new F3};break;case"PointLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new F3,shadowCameraNear:1,shadowCameraFar:1e3};break}return n[e.id]=t,t}}}let mG=0;function gG(n,e){return(e.castShadow?2:0)-(n.castShadow?2:0)+(e.map?1:0)-(n.map?1:0)}function vG(n,e){const t=new fG,i=pG(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let d=0;d<9;d++)r.probe.push(new k2);const a=new k2,s=new o0,o=new o0;function l(d,h){let f=0,v=0,_=0;for(let G2=0;G2<9;G2++)r.probe[G2].set(0,0,0);let b=0,y=0,w=0,U=0,P=0,O=0,j=0,q=0,K=0,c2=0,S2=0;d.sort(gG);const H=h===!0?Math.PI:1;for(let G2=0,q2=d.length;G20&&(e.isWebGL2?n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=d1.LTC_FLOAT_1,r.rectAreaLTC2=d1.LTC_FLOAT_2):(r.rectAreaLTC1=d1.LTC_HALF_1,r.rectAreaLTC2=d1.LTC_HALF_2):n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=d1.LTC_FLOAT_1,r.rectAreaLTC2=d1.LTC_FLOAT_2):n.has("OES_texture_half_float_linear")===!0?(r.rectAreaLTC1=d1.LTC_HALF_1,r.rectAreaLTC2=d1.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=f,r.ambient[1]=v,r.ambient[2]=_;const Z=r.hash;(Z.directionalLength!==b||Z.pointLength!==y||Z.spotLength!==w||Z.rectAreaLength!==U||Z.hemiLength!==P||Z.numDirectionalShadows!==O||Z.numPointShadows!==j||Z.numSpotShadows!==q||Z.numSpotMaps!==K||Z.numLightProbes!==S2)&&(r.directional.length=b,r.spot.length=w,r.rectArea.length=U,r.point.length=y,r.hemi.length=P,r.directionalShadow.length=O,r.directionalShadowMap.length=O,r.pointShadow.length=j,r.pointShadowMap.length=j,r.spotShadow.length=q,r.spotShadowMap.length=q,r.directionalShadowMatrix.length=O,r.pointShadowMatrix.length=j,r.spotLightMatrix.length=q+K-c2,r.spotLightMap.length=K,r.numSpotLightShadowsWithMaps=c2,r.numLightProbes=S2,Z.directionalLength=b,Z.pointLength=y,Z.spotLength=w,Z.rectAreaLength=U,Z.hemiLength=P,Z.numDirectionalShadows=O,Z.numPointShadows=j,Z.numSpotShadows=q,Z.numSpotMaps=K,Z.numLightProbes=S2,r.version=mG++)}function u(d,h){let f=0,v=0,_=0,b=0,y=0;const w=h.matrixWorldInverse;for(let U=0,P=d.length;U=o.length?(l=new Ry(n,e),o.push(l)):l=o[s],l}function r(){t=new WeakMap}return{get:i,dispose:r}}class _G extends R6{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=rD,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}}class SG extends R6{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}const bG=`void main() { gl_Position = vec4( position, 1.0 ); }`,TG=`uniform sampler2D shadow_pass; uniform vec2 resolution; uniform float radius; #include void main() { const float samples = float( VSM_SAMPLES ); float mean = 0.0; float squared_mean = 0.0; float uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 ); float uvStart = samples <= 1.0 ? 0.0 : - 1.0; for ( float i = 0.0; i < samples; i ++ ) { float uvOffset = uvStart + i * uvStride; #ifdef HORIZONTAL_PASS vec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) ); mean += distribution.x; squared_mean += distribution.y * distribution.y + distribution.x * distribution.x; #else float depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) ); mean += depth; squared_mean += depth * depth; #endif } mean = mean / samples; squared_mean = squared_mean / samples; float std_dev = sqrt( squared_mean - mean * mean ); gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) ); }`;function wG(n,e,t){let i=new bf;const r=new F3,a=new F3,s=new H0,o=new _G({depthPacking:aD}),l=new SG,u={},d=t.maxTextureSize,h={[n5]:Nn,[Nn]:n5,[he]:he},f=new i5({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new F3},radius:{value:4}},vertexShader:bG,fragmentShader:TG}),v=f.clone();v.defines.HORIZONTAL_PASS=1;const _=new se;_.setAttribute("position",new Ue(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const b=new R0(_,f),y=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=pT;let w=this.type;this.render=function(q,K,c2){if(y.enabled===!1||y.autoUpdate===!1&&y.needsUpdate===!1||q.length===0)return;const S2=n.getRenderTarget(),H=n.getActiveCubeFace(),Z=n.getActiveMipmapLevel(),G2=n.state;G2.setBlending(X5),G2.buffers.color.setClear(1,1,1,1),G2.buffers.depth.setTest(!0),G2.setScissorTest(!1);const q2=w!==$i&&this.type===$i,C2=w===$i&&this.type!==$i;for(let E2=0,A2=q.length;E2d||r.y>d)&&(r.x>d&&(a.x=Math.floor(d/J.x),r.x=a.x*J.x,b2.mapSize.x=a.x),r.y>d&&(a.y=Math.floor(d/J.y),r.y=a.y*J.y,b2.mapSize.y=a.y)),b2.map===null||q2===!0||C2===!0){const N2=this.type!==$i?{minFilter:ht,magFilter:ht}:{};b2.map!==null&&b2.map.dispose(),b2.map=new s8(r.x,r.y,N2),b2.map.texture.name=X2.name+".shadowMap",b2.camera.updateProjectionMatrix()}n.setRenderTarget(b2.map),n.clear();const p2=b2.getViewportCount();for(let N2=0;N20||K.map&&K.alphaTest>0){const G2=H.uuid,q2=K.uuid;let C2=u[G2];C2===void 0&&(C2={},u[G2]=C2);let E2=C2[q2];E2===void 0&&(E2=H.clone(),C2[q2]=E2,K.addEventListener("dispose",j)),H=E2}if(H.visible=K.visible,H.wireframe=K.wireframe,S2===$i?H.side=K.shadowSide!==null?K.shadowSide:K.side:H.side=K.shadowSide!==null?K.shadowSide:h[K.side],H.alphaMap=K.alphaMap,H.alphaTest=K.alphaTest,H.map=K.map,H.clipShadows=K.clipShadows,H.clippingPlanes=K.clippingPlanes,H.clipIntersection=K.clipIntersection,H.displacementMap=K.displacementMap,H.displacementScale=K.displacementScale,H.displacementBias=K.displacementBias,H.wireframeLinewidth=K.wireframeLinewidth,H.linewidth=K.linewidth,c2.isPointLight===!0&&H.isMeshDistanceMaterial===!0){const G2=n.properties.get(H);G2.light=c2}return H}function O(q,K,c2,S2,H){if(q.visible===!1)return;if(q.layers.test(K.layers)&&(q.isMesh||q.isLine||q.isPoints)&&(q.castShadow||q.receiveShadow&&H===$i)&&(!q.frustumCulled||i.intersectsObject(q))){q.modelViewMatrix.multiplyMatrices(c2.matrixWorldInverse,q.matrixWorld);const q2=e.update(q),C2=q.material;if(Array.isArray(C2)){const E2=q2.groups;for(let A2=0,X2=E2.length;A2=1):p2.indexOf("OpenGL ES")!==-1&&(J=parseFloat(/^OpenGL ES (\d)/.exec(p2)[1]),b2=J>=2);let N2=null,e3={};const h3=n.getParameter(n.SCISSOR_BOX),I2=n.getParameter(n.VIEWPORT),n2=new H0().fromArray(h3),P2=new H0().fromArray(I2);function Z2(U2,q3,B3,_1){const A1=new Uint8Array(4),o1=n.createTexture();n.bindTexture(U2,o1),n.texParameteri(U2,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(U2,n.TEXTURE_MAG_FILTER,n.NEAREST);for(let H1=0;H1W2||T2.height>W2)&&(Y2=W2/Math.max(T2.width,T2.height)),Y2<1||o2===!0)if(typeof HTMLImageElement!="undefined"&&T2 instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&T2 instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&T2 instanceof ImageBitmap){const t2=o2?Yo:Math.floor,i2=t2(Y2*T2.width),_2=t2(Y2*T2.height);h===void 0&&(h=_(i2,_2));const V2=u2?_(i2,_2):h;return V2.width=i2,V2.height=_2,V2.getContext("2d").drawImage(T2,0,0,i2,_2),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+T2.width+"x"+T2.height+") to ("+i2+"x"+_2+")."),V2}else return"data"in T2&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+T2.width+"x"+T2.height+")."),T2;return T2}function y(T2){return lh(T2.width)&&lh(T2.height)}function w(T2){return o?!1:T2.wrapS!==Yt||T2.wrapT!==Yt||T2.minFilter!==ht&&T2.minFilter!==at}function U(T2,o2){return T2.generateMipmaps&&o2&&T2.minFilter!==ht&&T2.minFilter!==at}function P(T2){n.generateMipmap(T2)}function O(T2,o2,u2,W2,Y2=!1){if(o===!1)return o2;if(T2!==null){if(n[T2]!==void 0)return n[T2];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+T2+"'")}let t2=o2;if(o2===n.RED&&(u2===n.FLOAT&&(t2=n.R32F),u2===n.HALF_FLOAT&&(t2=n.R16F),u2===n.UNSIGNED_BYTE&&(t2=n.R8)),o2===n.RED_INTEGER&&(u2===n.UNSIGNED_BYTE&&(t2=n.R8UI),u2===n.UNSIGNED_SHORT&&(t2=n.R16UI),u2===n.UNSIGNED_INT&&(t2=n.R32UI),u2===n.BYTE&&(t2=n.R8I),u2===n.SHORT&&(t2=n.R16I),u2===n.INT&&(t2=n.R32I)),o2===n.RG&&(u2===n.FLOAT&&(t2=n.RG32F),u2===n.HALF_FLOAT&&(t2=n.RG16F),u2===n.UNSIGNED_BYTE&&(t2=n.RG8)),o2===n.RGBA){const i2=Y2?Ho:X0.getTransfer(W2);u2===n.FLOAT&&(t2=n.RGBA32F),u2===n.HALF_FLOAT&&(t2=n.RGBA16F),u2===n.UNSIGNED_BYTE&&(t2=i2===Ce?n.SRGB8_ALPHA8:n.RGBA8),u2===n.UNSIGNED_SHORT_4_4_4_4&&(t2=n.RGBA4),u2===n.UNSIGNED_SHORT_5_5_5_1&&(t2=n.RGB5_A1)}return(t2===n.R16F||t2===n.R32F||t2===n.RG16F||t2===n.RG32F||t2===n.RGBA16F||t2===n.RGBA32F)&&e.get("EXT_color_buffer_float"),t2}function j(T2,o2,u2){return U(T2,u2)===!0||T2.isFramebufferTexture&&T2.minFilter!==ht&&T2.minFilter!==at?Math.log2(Math.max(o2.width,o2.height))+1:T2.mipmaps!==void 0&&T2.mipmaps.length>0?T2.mipmaps.length:T2.isCompressedTexture&&Array.isArray(T2.image)?o2.mipmaps.length:1}function q(T2){return T2===ht||T2===rh||T2===rr?n.NEAREST:n.LINEAR}function K(T2){const o2=T2.target;o2.removeEventListener("dispose",K),S2(o2),o2.isVideoTexture&&d.delete(o2)}function c2(T2){const o2=T2.target;o2.removeEventListener("dispose",c2),Z(o2)}function S2(T2){const o2=i.get(T2);if(o2.__webglInit===void 0)return;const u2=T2.source,W2=f.get(u2);if(W2){const Y2=W2[o2.__cacheKey];Y2.usedTimes--,Y2.usedTimes===0&&H(T2),Object.keys(W2).length===0&&f.delete(u2)}i.remove(T2)}function H(T2){const o2=i.get(T2);n.deleteTexture(o2.__webglTexture);const u2=T2.source,W2=f.get(u2);delete W2[o2.__cacheKey],s.memory.textures--}function Z(T2){const o2=T2.texture,u2=i.get(T2),W2=i.get(o2);if(W2.__webglTexture!==void 0&&(n.deleteTexture(W2.__webglTexture),s.memory.textures--),T2.depthTexture&&T2.depthTexture.dispose(),T2.isWebGLCubeRenderTarget)for(let Y2=0;Y2<6;Y2++){if(Array.isArray(u2.__webglFramebuffer[Y2]))for(let t2=0;t2=r.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+T2+" texture units while this GPU supports only "+r.maxTextures),G2+=1,T2}function E2(T2){const o2=[];return o2.push(T2.wrapS),o2.push(T2.wrapT),o2.push(T2.wrapR||0),o2.push(T2.magFilter),o2.push(T2.minFilter),o2.push(T2.anisotropy),o2.push(T2.internalFormat),o2.push(T2.format),o2.push(T2.type),o2.push(T2.generateMipmaps),o2.push(T2.premultiplyAlpha),o2.push(T2.flipY),o2.push(T2.unpackAlignment),o2.push(T2.colorSpace),o2.join()}function A2(T2,o2){const u2=i.get(T2);if(T2.isVideoTexture&&r1(T2),T2.isRenderTargetTexture===!1&&T2.version>0&&u2.__version!==T2.version){const W2=T2.image;if(W2===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(W2.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{n2(u2,T2,o2);return}}t.bindTexture(n.TEXTURE_2D,u2.__webglTexture,n.TEXTURE0+o2)}function X2(T2,o2){const u2=i.get(T2);if(T2.version>0&&u2.__version!==T2.version){n2(u2,T2,o2);return}t.bindTexture(n.TEXTURE_2D_ARRAY,u2.__webglTexture,n.TEXTURE0+o2)}function b2(T2,o2){const u2=i.get(T2);if(T2.version>0&&u2.__version!==T2.version){n2(u2,T2,o2);return}t.bindTexture(n.TEXTURE_3D,u2.__webglTexture,n.TEXTURE0+o2)}function J(T2,o2){const u2=i.get(T2);if(T2.version>0&&u2.__version!==T2.version){P2(u2,T2,o2);return}t.bindTexture(n.TEXTURE_CUBE_MAP,u2.__webglTexture,n.TEXTURE0+o2)}const p2={[wt]:n.REPEAT,[Yt]:n.CLAMP_TO_EDGE,[Vo]:n.MIRRORED_REPEAT},N2={[ht]:n.NEAREST,[rh]:n.NEAREST_MIPMAP_NEAREST,[rr]:n.NEAREST_MIPMAP_LINEAR,[at]:n.LINEAR,[go]:n.LINEAR_MIPMAP_NEAREST,[Zi]:n.LINEAR_MIPMAP_LINEAR},e3={[oD]:n.NEVER,[fD]:n.ALWAYS,[lD]:n.LESS,[ET]:n.LEQUAL,[uD]:n.EQUAL,[hD]:n.GEQUAL,[cD]:n.GREATER,[dD]:n.NOTEQUAL};function h3(T2,o2,u2){if(o2.type===fi&&e.has("OES_texture_float_linear")===!1&&(o2.magFilter===at||o2.magFilter===go||o2.magFilter===rr||o2.magFilter===Zi||o2.minFilter===at||o2.minFilter===go||o2.minFilter===rr||o2.minFilter===Zi)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),u2?(n.texParameteri(T2,n.TEXTURE_WRAP_S,p2[o2.wrapS]),n.texParameteri(T2,n.TEXTURE_WRAP_T,p2[o2.wrapT]),(T2===n.TEXTURE_3D||T2===n.TEXTURE_2D_ARRAY)&&n.texParameteri(T2,n.TEXTURE_WRAP_R,p2[o2.wrapR]),n.texParameteri(T2,n.TEXTURE_MAG_FILTER,N2[o2.magFilter]),n.texParameteri(T2,n.TEXTURE_MIN_FILTER,N2[o2.minFilter])):(n.texParameteri(T2,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(T2,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),(T2===n.TEXTURE_3D||T2===n.TEXTURE_2D_ARRAY)&&n.texParameteri(T2,n.TEXTURE_WRAP_R,n.CLAMP_TO_EDGE),(o2.wrapS!==Yt||o2.wrapT!==Yt)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),n.texParameteri(T2,n.TEXTURE_MAG_FILTER,q(o2.magFilter)),n.texParameteri(T2,n.TEXTURE_MIN_FILTER,q(o2.minFilter)),o2.minFilter!==ht&&o2.minFilter!==at&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),o2.compareFunction&&(n.texParameteri(T2,n.TEXTURE_COMPARE_MODE,n.COMPARE_REF_TO_TEXTURE),n.texParameteri(T2,n.TEXTURE_COMPARE_FUNC,e3[o2.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){const W2=e.get("EXT_texture_filter_anisotropic");if(o2.magFilter===ht||o2.minFilter!==rr&&o2.minFilter!==Zi||o2.type===fi&&e.has("OES_texture_float_linear")===!1||o===!1&&o2.type===M4&&e.has("OES_texture_half_float_linear")===!1)return;(o2.anisotropy>1||i.get(o2).__currentAnisotropy)&&(n.texParameterf(T2,W2.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(o2.anisotropy,r.getMaxAnisotropy())),i.get(o2).__currentAnisotropy=o2.anisotropy)}}function I2(T2,o2){let u2=!1;T2.__webglInit===void 0&&(T2.__webglInit=!0,o2.addEventListener("dispose",K));const W2=o2.source;let Y2=f.get(W2);Y2===void 0&&(Y2={},f.set(W2,Y2));const t2=E2(o2);if(t2!==T2.__cacheKey){Y2[t2]===void 0&&(Y2[t2]={texture:n.createTexture(),usedTimes:0},s.memory.textures++,u2=!0),Y2[t2].usedTimes++;const i2=Y2[T2.__cacheKey];i2!==void 0&&(Y2[T2.__cacheKey].usedTimes--,i2.usedTimes===0&&H(o2)),T2.__cacheKey=t2,T2.__webglTexture=Y2[t2].texture}return u2}function n2(T2,o2,u2){let W2=n.TEXTURE_2D;(o2.isDataArrayTexture||o2.isCompressedArrayTexture)&&(W2=n.TEXTURE_2D_ARRAY),o2.isData3DTexture&&(W2=n.TEXTURE_3D);const Y2=I2(T2,o2),t2=o2.source;t.bindTexture(W2,T2.__webglTexture,n.TEXTURE0+u2);const i2=i.get(t2);if(t2.version!==i2.__version||Y2===!0){t.activeTexture(n.TEXTURE0+u2);const _2=X0.getPrimaries(X0.workingColorSpace),V2=o2.colorSpace===C6?null:X0.getPrimaries(o2.colorSpace),s3=o2.colorSpace===C6||_2===V2?n.NONE:n.BROWSER_DEFAULT_WEBGL;n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,o2.flipY),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,o2.premultiplyAlpha),n.pixelStorei(n.UNPACK_ALIGNMENT,o2.unpackAlignment),n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,s3);const D3=w(o2)&&y(o2.image)===!1;let S3=b(o2.image,D3,!1,r.maxTextureSize);S3=I3(o2,S3);const m1=y(S3)||o,b1=a.convert(o2.format,o2.colorSpace);let g1=a.convert(o2.type),a1=O(o2.internalFormat,b1,g1,o2.colorSpace,o2.isVideoTexture);h3(W2,o2,m1);let n1;const C1=o2.mipmaps,H2=o&&o2.isVideoTexture!==!0&&a1!==AT,j3=i2.__version===void 0||Y2===!0,s1=t2.dataReady,E1=j(o2,S3,m1);if(o2.isDepthTexture)a1=n.DEPTH_COMPONENT,o?o2.type===fi?a1=n.DEPTH_COMPONENT32F:o2.type===H5?a1=n.DEPTH_COMPONENT24:o2.type===t8?a1=n.DEPTH24_STENCIL8:a1=n.DEPTH_COMPONENT16:o2.type===fi&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),o2.format===n8&&a1===n.DEPTH_COMPONENT&&o2.type!==pf&&o2.type!==H5&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),o2.type=H5,g1=a.convert(o2.type)),o2.format===Br&&a1===n.DEPTH_COMPONENT&&(a1=n.DEPTH_STENCIL,o2.type!==t8&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),o2.type=t8,g1=a.convert(o2.type))),j3&&(H2?t.texStorage2D(n.TEXTURE_2D,1,a1,S3.width,S3.height):t.texImage2D(n.TEXTURE_2D,0,a1,S3.width,S3.height,0,b1,g1,null));else if(o2.isDataTexture)if(C1.length>0&&m1){H2&&j3&&t.texStorage2D(n.TEXTURE_2D,E1,a1,C1[0].width,C1[0].height);for(let U2=0,q3=C1.length;U2>=1,q3>>=1}}else if(C1.length>0&&m1){H2&&j3&&t.texStorage2D(n.TEXTURE_2D,E1,a1,C1[0].width,C1[0].height);for(let U2=0,q3=C1.length;U20&&s1++,t.texStorage2D(n.TEXTURE_CUBE_MAP,s1,n1,S3[0].width,S3[0].height));for(let U2=0;U2<6;U2++)if(D3){C1?j3&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+U2,0,0,0,S3[U2].width,S3[U2].height,g1,a1,S3[U2].data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+U2,0,n1,S3[U2].width,S3[U2].height,0,g1,a1,S3[U2].data);for(let q3=0;q3>t2),S3=Math.max(1,o2.height>>t2);Y2===n.TEXTURE_3D||Y2===n.TEXTURE_2D_ARRAY?t.texImage3D(Y2,t2,V2,D3,S3,o2.depth,0,i2,_2,null):t.texImage2D(Y2,t2,V2,D3,S3,0,i2,_2,null)}t.bindFramebuffer(n.FRAMEBUFFER,T2),F(o2)?l.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,W2,Y2,i.get(u2).__webglTexture,0,U3(o2)):(Y2===n.TEXTURE_2D||Y2>=n.TEXTURE_CUBE_MAP_POSITIVE_X&&Y2<=n.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&n.framebufferTexture2D(n.FRAMEBUFFER,W2,Y2,i.get(u2).__webglTexture,t2),t.bindFramebuffer(n.FRAMEBUFFER,null)}function f3(T2,o2,u2){if(n.bindRenderbuffer(n.RENDERBUFFER,T2),o2.depthBuffer&&!o2.stencilBuffer){let W2=o===!0?n.DEPTH_COMPONENT24:n.DEPTH_COMPONENT16;if(u2||F(o2)){const Y2=o2.depthTexture;Y2&&Y2.isDepthTexture&&(Y2.type===fi?W2=n.DEPTH_COMPONENT32F:Y2.type===H5&&(W2=n.DEPTH_COMPONENT24));const t2=U3(o2);F(o2)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,t2,W2,o2.width,o2.height):n.renderbufferStorageMultisample(n.RENDERBUFFER,t2,W2,o2.width,o2.height)}else n.renderbufferStorage(n.RENDERBUFFER,W2,o2.width,o2.height);n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.RENDERBUFFER,T2)}else if(o2.depthBuffer&&o2.stencilBuffer){const W2=U3(o2);u2&&F(o2)===!1?n.renderbufferStorageMultisample(n.RENDERBUFFER,W2,n.DEPTH24_STENCIL8,o2.width,o2.height):F(o2)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,W2,n.DEPTH24_STENCIL8,o2.width,o2.height):n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,o2.width,o2.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_STENCIL_ATTACHMENT,n.RENDERBUFFER,T2)}else{const W2=o2.isWebGLMultipleRenderTargets===!0?o2.texture:[o2.texture];for(let Y2=0;Y20){u2.__webglFramebuffer[_2]=[];for(let V2=0;V20){u2.__webglFramebuffer=[];for(let _2=0;_20&&F(T2)===!1){const _2=t2?o2:[o2];u2.__webglMultisampledFramebuffer=n.createFramebuffer(),u2.__webglColorRenderbuffer=[],t.bindFramebuffer(n.FRAMEBUFFER,u2.__webglMultisampledFramebuffer);for(let V2=0;V2<_2.length;V2++){const s3=_2[V2];u2.__webglColorRenderbuffer[V2]=n.createRenderbuffer(),n.bindRenderbuffer(n.RENDERBUFFER,u2.__webglColorRenderbuffer[V2]);const D3=a.convert(s3.format,s3.colorSpace),S3=a.convert(s3.type),m1=O(s3.internalFormat,D3,S3,s3.colorSpace,T2.isXRRenderTarget===!0),b1=U3(T2);n.renderbufferStorageMultisample(n.RENDERBUFFER,b1,m1,T2.width,T2.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.COLOR_ATTACHMENT0+V2,n.RENDERBUFFER,u2.__webglColorRenderbuffer[V2])}n.bindRenderbuffer(n.RENDERBUFFER,null),T2.depthBuffer&&(u2.__webglDepthRenderbuffer=n.createRenderbuffer(),f3(u2.__webglDepthRenderbuffer,T2,!0)),t.bindFramebuffer(n.FRAMEBUFFER,null)}}if(Y2){t.bindTexture(n.TEXTURE_CUBE_MAP,W2.__webglTexture),h3(n.TEXTURE_CUBE_MAP,o2,i2);for(let _2=0;_2<6;_2++)if(o&&o2.mipmaps&&o2.mipmaps.length>0)for(let V2=0;V20)for(let V2=0;V20&&F(T2)===!1){const o2=T2.isWebGLMultipleRenderTargets?T2.texture:[T2.texture],u2=T2.width,W2=T2.height;let Y2=n.COLOR_BUFFER_BIT;const t2=[],i2=T2.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,_2=i.get(T2),V2=T2.isWebGLMultipleRenderTargets===!0;if(V2)for(let s3=0;s30&&e.has("WEBGL_multisampled_render_to_texture")===!0&&o2.__useRenderToTexture!==!1}function r1(T2){const o2=s.render.frame;d.get(T2)!==o2&&(d.set(T2,o2),T2.update())}function I3(T2,o2){const u2=T2.colorSpace,W2=T2.format,Y2=T2.type;return T2.isCompressedTexture===!0||T2.isVideoTexture===!0||T2.format===oh||u2!==mt&&u2!==C6&&(X0.getTransfer(u2)===Ce?o===!1?e.has("EXT_sRGB")===!0&&W2===A6?(T2.format=oh,T2.minFilter=at,T2.generateMipmaps=!1):o2=RT.sRGBToLinear(o2):(W2!==A6||Y2!==Z5)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",u2)),o2}this.allocateTextureUnit=C2,this.resetTextureUnits=q2,this.setTexture2D=A2,this.setTexture2DArray=X2,this.setTexture3D=b2,this.setTextureCube=J,this.rebindTextures=H3,this.setupRenderTarget=F2,this.updateRenderTargetMipmap=L3,this.updateMultisampleRenderTarget=C3,this.setupDepthRenderbuffer=O3,this.setupFrameBufferTexture=Z2,this.useMultisampledRTT=F}function CG(n,e,t){const i=t.isWebGL2;function r(a,s=C6){let o;const l=X0.getTransfer(s);if(a===Z5)return n.UNSIGNED_BYTE;if(a===ST)return n.UNSIGNED_SHORT_4_4_4_4;if(a===bT)return n.UNSIGNED_SHORT_5_5_5_1;if(a===qF)return n.BYTE;if(a===KF)return n.SHORT;if(a===pf)return n.UNSIGNED_SHORT;if(a===_T)return n.INT;if(a===H5)return n.UNSIGNED_INT;if(a===fi)return n.FLOAT;if(a===M4)return i?n.HALF_FLOAT:(o=e.get("OES_texture_half_float"),o!==null?o.HALF_FLOAT_OES:null);if(a===XF)return n.ALPHA;if(a===A6)return n.RGBA;if(a===JF)return n.LUMINANCE;if(a===ZF)return n.LUMINANCE_ALPHA;if(a===n8)return n.DEPTH_COMPONENT;if(a===Br)return n.DEPTH_STENCIL;if(a===oh)return o=e.get("EXT_sRGB"),o!==null?o.SRGB_ALPHA_EXT:null;if(a===QF)return n.RED;if(a===TT)return n.RED_INTEGER;if(a===eD)return n.RG;if(a===wT)return n.RG_INTEGER;if(a===xT)return n.RGBA_INTEGER;if(a===Mc||a===Ec||a===Pc||a===Rc)if(l===Ce)if(o=e.get("WEBGL_compressed_texture_s3tc_srgb"),o!==null){if(a===Mc)return o.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(a===Ec)return o.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(a===Pc)return o.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(a===Rc)return o.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(o=e.get("WEBGL_compressed_texture_s3tc"),o!==null){if(a===Mc)return o.COMPRESSED_RGB_S3TC_DXT1_EXT;if(a===Ec)return o.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(a===Pc)return o.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(a===Rc)return o.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(a===pv||a===mv||a===gv||a===vv)if(o=e.get("WEBGL_compressed_texture_pvrtc"),o!==null){if(a===pv)return o.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(a===mv)return o.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(a===gv)return o.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(a===vv)return o.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(a===AT)return o=e.get("WEBGL_compressed_texture_etc1"),o!==null?o.COMPRESSED_RGB_ETC1_WEBGL:null;if(a===yv||a===_v)if(o=e.get("WEBGL_compressed_texture_etc"),o!==null){if(a===yv)return l===Ce?o.COMPRESSED_SRGB8_ETC2:o.COMPRESSED_RGB8_ETC2;if(a===_v)return l===Ce?o.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:o.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(a===Sv||a===bv||a===Tv||a===wv||a===xv||a===Av||a===Cv||a===Mv||a===Ev||a===Pv||a===Rv||a===Nv||a===Lv||a===Iv)if(o=e.get("WEBGL_compressed_texture_astc"),o!==null){if(a===Sv)return l===Ce?o.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:o.COMPRESSED_RGBA_ASTC_4x4_KHR;if(a===bv)return l===Ce?o.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:o.COMPRESSED_RGBA_ASTC_5x4_KHR;if(a===Tv)return l===Ce?o.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:o.COMPRESSED_RGBA_ASTC_5x5_KHR;if(a===wv)return l===Ce?o.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:o.COMPRESSED_RGBA_ASTC_6x5_KHR;if(a===xv)return l===Ce?o.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:o.COMPRESSED_RGBA_ASTC_6x6_KHR;if(a===Av)return l===Ce?o.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:o.COMPRESSED_RGBA_ASTC_8x5_KHR;if(a===Cv)return l===Ce?o.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:o.COMPRESSED_RGBA_ASTC_8x6_KHR;if(a===Mv)return l===Ce?o.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:o.COMPRESSED_RGBA_ASTC_8x8_KHR;if(a===Ev)return l===Ce?o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:o.COMPRESSED_RGBA_ASTC_10x5_KHR;if(a===Pv)return l===Ce?o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:o.COMPRESSED_RGBA_ASTC_10x6_KHR;if(a===Rv)return l===Ce?o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:o.COMPRESSED_RGBA_ASTC_10x8_KHR;if(a===Nv)return l===Ce?o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:o.COMPRESSED_RGBA_ASTC_10x10_KHR;if(a===Lv)return l===Ce?o.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:o.COMPRESSED_RGBA_ASTC_12x10_KHR;if(a===Iv)return l===Ce?o.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:o.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(a===Nc||a===kv||a===Fv)if(o=e.get("EXT_texture_compression_bptc"),o!==null){if(a===Nc)return l===Ce?o.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:o.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(a===kv)return o.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(a===Fv)return o.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(a===tD||a===Dv||a===Uv||a===Ov)if(o=e.get("EXT_texture_compression_rgtc"),o!==null){if(a===Nc)return o.COMPRESSED_RED_RGTC1_EXT;if(a===Dv)return o.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(a===Uv)return o.COMPRESSED_RED_GREEN_RGTC2_EXT;if(a===Ov)return o.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return a===t8?i?n.UNSIGNED_INT_24_8:(o=e.get("WEBGL_depth_texture"),o!==null?o.UNSIGNED_INT_24_8_WEBGL:null):n[a]!==void 0?n[a]:null}return{convert:r}}class MG extends Wt{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}class z0 extends pe{constructor(){super(),this.isGroup=!0,this.type="Group"}}const EG={type:"move"};class td{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new z0,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new z0,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new k2,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new k2),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new z0,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new k2,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new k2),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){const t=this._hand;if(t)for(const i of e.hand.values())this._getHandJoint(t,i)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,t,i){let r=null,a=null,s=null;const o=this._targetRay,l=this._grip,u=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(u&&e.hand){s=!0;for(const b of e.hand.values()){const y=t.getJointPose(b,i),w=this._getHandJoint(u,b);y!==null&&(w.matrix.fromArray(y.transform.matrix),w.matrix.decompose(w.position,w.rotation,w.scale),w.matrixWorldNeedsUpdate=!0,w.jointRadius=y.radius),w.visible=y!==null}const d=u.joints["index-finger-tip"],h=u.joints["thumb-tip"],f=d.position.distanceTo(h.position),v=.02,_=.005;u.inputState.pinching&&f>v+_?(u.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!u.inputState.pinching&&f<=v-_&&(u.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else l!==null&&e.gripSpace&&(a=t.getPose(e.gripSpace,i),a!==null&&(l.matrix.fromArray(a.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,a.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(a.linearVelocity)):l.hasLinearVelocity=!1,a.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(a.angularVelocity)):l.hasAngularVelocity=!1));o!==null&&(r=t.getPose(e.targetRaySpace,i),r===null&&a!==null&&(r=a),r!==null&&(o.matrix.fromArray(r.transform.matrix),o.matrix.decompose(o.position,o.rotation,o.scale),o.matrixWorldNeedsUpdate=!0,r.linearVelocity?(o.hasLinearVelocity=!0,o.linearVelocity.copy(r.linearVelocity)):o.hasLinearVelocity=!1,r.angularVelocity?(o.hasAngularVelocity=!0,o.angularVelocity.copy(r.angularVelocity)):o.hasAngularVelocity=!1,this.dispatchEvent(EG)))}return o!==null&&(o.visible=r!==null),l!==null&&(l.visible=a!==null),u!==null&&(u.visible=s!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){const i=new z0;i.matrixAutoUpdate=!1,i.visible=!1,e.joints[t.jointName]=i,e.add(i)}return e.joints[t.jointName]}}const PG=` void main() { gl_Position = vec4( position, 1.0 ); }`,RG=` uniform sampler2DArray depthColor; uniform float depthWidth; uniform float depthHeight; void main() { vec2 coord = vec2( gl_FragCoord.x / depthWidth, gl_FragCoord.y / depthHeight ); if ( coord.x >= 1.0 ) { gl_FragDepthEXT = texture( depthColor, vec3( coord.x - 1.0, coord.y, 1 ) ).r; } else { gl_FragDepthEXT = texture( depthColor, vec3( coord.x, coord.y, 0 ) ).r; } }`;class NG{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t,i){if(this.texture===null){const r=new pt,a=e.properties.get(r);a.__webglTexture=t.texture,(t.depthNear!=i.depthNear||t.depthFar!=i.depthFar)&&(this.depthNear=t.depthNear,this.depthFar=t.depthFar),this.texture=r}}render(e,t){if(this.texture!==null){if(this.mesh===null){const i=t.cameras[0].viewport,r=new i5({extensions:{fragDepth:!0},vertexShader:PG,fragmentShader:RG,uniforms:{depthColor:{value:this.texture},depthWidth:{value:i.z},depthHeight:{value:i.w}}});this.mesh=new R0(new Kn(20,20),r)}e.render(this.mesh,t)}}reset(){this.texture=null,this.mesh=null}}class LG extends f8{constructor(e,t){super();const i=this;let r=null,a=1,s=null,o="local-floor",l=1,u=null,d=null,h=null,f=null,v=null,_=null;const b=new NG,y=t.getContextAttributes();let w=null,U=null;const P=[],O=[],j=new F3;let q=null;const K=new Wt;K.layers.enable(1),K.viewport=new H0;const c2=new Wt;c2.layers.enable(2),c2.viewport=new H0;const S2=[K,c2],H=new MG;H.layers.enable(1),H.layers.enable(2);let Z=null,G2=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(I2){let n2=P[I2];return n2===void 0&&(n2=new td,P[I2]=n2),n2.getTargetRaySpace()},this.getControllerGrip=function(I2){let n2=P[I2];return n2===void 0&&(n2=new td,P[I2]=n2),n2.getGripSpace()},this.getHand=function(I2){let n2=P[I2];return n2===void 0&&(n2=new td,P[I2]=n2),n2.getHandSpace()};function q2(I2){const n2=O.indexOf(I2.inputSource);if(n2===-1)return;const P2=P[n2];P2!==void 0&&(P2.update(I2.inputSource,I2.frame,u||s),P2.dispatchEvent({type:I2.type,data:I2.inputSource}))}function C2(){r.removeEventListener("select",q2),r.removeEventListener("selectstart",q2),r.removeEventListener("selectend",q2),r.removeEventListener("squeeze",q2),r.removeEventListener("squeezestart",q2),r.removeEventListener("squeezeend",q2),r.removeEventListener("end",C2),r.removeEventListener("inputsourceschange",E2);for(let I2=0;I2=0&&(O[Z2]=null,P[Z2].disconnect(P2))}for(let n2=0;n2=O.length){O.push(P2),Z2=v3;break}else if(O[v3]===null){O[v3]=P2,Z2=v3;break}if(Z2===-1)break}const f3=P[Z2];f3&&f3.connect(P2)}}const A2=new k2,X2=new k2;function b2(I2,n2,P2){A2.setFromMatrixPosition(n2.matrixWorld),X2.setFromMatrixPosition(P2.matrixWorld);const Z2=A2.distanceTo(X2),f3=n2.projectionMatrix.elements,v3=P2.projectionMatrix.elements,O3=f3[14]/(f3[10]-1),H3=f3[14]/(f3[10]+1),F2=(f3[9]+1)/f3[5],L3=(f3[9]-1)/f3[5],C3=(f3[8]-1)/f3[0],U3=(v3[8]+1)/v3[0],F=O3*C3,r1=O3*U3,I3=Z2/(-C3+U3),T2=I3*-C3;n2.matrixWorld.decompose(I2.position,I2.quaternion,I2.scale),I2.translateX(T2),I2.translateZ(I3),I2.matrixWorld.compose(I2.position,I2.quaternion,I2.scale),I2.matrixWorldInverse.copy(I2.matrixWorld).invert();const o2=O3+I3,u2=H3+I3,W2=F-T2,Y2=r1+(Z2-T2),t2=F2*H3/u2*o2,i2=L3*H3/u2*o2;I2.projectionMatrix.makePerspective(W2,Y2,t2,i2,o2,u2),I2.projectionMatrixInverse.copy(I2.projectionMatrix).invert()}function J(I2,n2){n2===null?I2.matrixWorld.copy(I2.matrix):I2.matrixWorld.multiplyMatrices(n2.matrixWorld,I2.matrix),I2.matrixWorldInverse.copy(I2.matrixWorld).invert()}this.updateCamera=function(I2){if(r===null)return;b.texture!==null&&(I2.near=b.depthNear,I2.far=b.depthFar),H.near=c2.near=K.near=I2.near,H.far=c2.far=K.far=I2.far,(Z!==H.near||G2!==H.far)&&(r.updateRenderState({depthNear:H.near,depthFar:H.far}),Z=H.near,G2=H.far,K.near=Z,K.far=G2,c2.near=Z,c2.far=G2,K.updateProjectionMatrix(),c2.updateProjectionMatrix(),I2.updateProjectionMatrix());const n2=I2.parent,P2=H.cameras;J(H,n2);for(let Z2=0;Z20&&(y.alphaTest.value=w.alphaTest);const U=e.get(w).envMap;if(U&&(y.envMap.value=U,y.flipEnvMap.value=U.isCubeTexture&&U.isRenderTargetTexture===!1?-1:1,y.reflectivity.value=w.reflectivity,y.ior.value=w.ior,y.refractionRatio.value=w.refractionRatio),w.lightMap){y.lightMap.value=w.lightMap;const P=n._useLegacyLights===!0?Math.PI:1;y.lightMapIntensity.value=w.lightMapIntensity*P,t(w.lightMap,y.lightMapTransform)}w.aoMap&&(y.aoMap.value=w.aoMap,y.aoMapIntensity.value=w.aoMapIntensity,t(w.aoMap,y.aoMapTransform))}function s(y,w){y.diffuse.value.copy(w.color),y.opacity.value=w.opacity,w.map&&(y.map.value=w.map,t(w.map,y.mapTransform))}function o(y,w){y.dashSize.value=w.dashSize,y.totalSize.value=w.dashSize+w.gapSize,y.scale.value=w.scale}function l(y,w,U,P){y.diffuse.value.copy(w.color),y.opacity.value=w.opacity,y.size.value=w.size*U,y.scale.value=P*.5,w.map&&(y.map.value=w.map,t(w.map,y.uvTransform)),w.alphaMap&&(y.alphaMap.value=w.alphaMap,t(w.alphaMap,y.alphaMapTransform)),w.alphaTest>0&&(y.alphaTest.value=w.alphaTest)}function u(y,w){y.diffuse.value.copy(w.color),y.opacity.value=w.opacity,y.rotation.value=w.rotation,w.map&&(y.map.value=w.map,t(w.map,y.mapTransform)),w.alphaMap&&(y.alphaMap.value=w.alphaMap,t(w.alphaMap,y.alphaMapTransform)),w.alphaTest>0&&(y.alphaTest.value=w.alphaTest)}function d(y,w){y.specular.value.copy(w.specular),y.shininess.value=Math.max(w.shininess,1e-4)}function h(y,w){w.gradientMap&&(y.gradientMap.value=w.gradientMap)}function f(y,w){y.metalness.value=w.metalness,w.metalnessMap&&(y.metalnessMap.value=w.metalnessMap,t(w.metalnessMap,y.metalnessMapTransform)),y.roughness.value=w.roughness,w.roughnessMap&&(y.roughnessMap.value=w.roughnessMap,t(w.roughnessMap,y.roughnessMapTransform)),e.get(w).envMap&&(y.envMapIntensity.value=w.envMapIntensity)}function v(y,w,U){y.ior.value=w.ior,w.sheen>0&&(y.sheenColor.value.copy(w.sheenColor).multiplyScalar(w.sheen),y.sheenRoughness.value=w.sheenRoughness,w.sheenColorMap&&(y.sheenColorMap.value=w.sheenColorMap,t(w.sheenColorMap,y.sheenColorMapTransform)),w.sheenRoughnessMap&&(y.sheenRoughnessMap.value=w.sheenRoughnessMap,t(w.sheenRoughnessMap,y.sheenRoughnessMapTransform))),w.clearcoat>0&&(y.clearcoat.value=w.clearcoat,y.clearcoatRoughness.value=w.clearcoatRoughness,w.clearcoatMap&&(y.clearcoatMap.value=w.clearcoatMap,t(w.clearcoatMap,y.clearcoatMapTransform)),w.clearcoatRoughnessMap&&(y.clearcoatRoughnessMap.value=w.clearcoatRoughnessMap,t(w.clearcoatRoughnessMap,y.clearcoatRoughnessMapTransform)),w.clearcoatNormalMap&&(y.clearcoatNormalMap.value=w.clearcoatNormalMap,t(w.clearcoatNormalMap,y.clearcoatNormalMapTransform),y.clearcoatNormalScale.value.copy(w.clearcoatNormalScale),w.side===Nn&&y.clearcoatNormalScale.value.negate())),w.iridescence>0&&(y.iridescence.value=w.iridescence,y.iridescenceIOR.value=w.iridescenceIOR,y.iridescenceThicknessMinimum.value=w.iridescenceThicknessRange[0],y.iridescenceThicknessMaximum.value=w.iridescenceThicknessRange[1],w.iridescenceMap&&(y.iridescenceMap.value=w.iridescenceMap,t(w.iridescenceMap,y.iridescenceMapTransform)),w.iridescenceThicknessMap&&(y.iridescenceThicknessMap.value=w.iridescenceThicknessMap,t(w.iridescenceThicknessMap,y.iridescenceThicknessMapTransform))),w.transmission>0&&(y.transmission.value=w.transmission,y.transmissionSamplerMap.value=U.texture,y.transmissionSamplerSize.value.set(U.width,U.height),w.transmissionMap&&(y.transmissionMap.value=w.transmissionMap,t(w.transmissionMap,y.transmissionMapTransform)),y.thickness.value=w.thickness,w.thicknessMap&&(y.thicknessMap.value=w.thicknessMap,t(w.thicknessMap,y.thicknessMapTransform)),y.attenuationDistance.value=w.attenuationDistance,y.attenuationColor.value.copy(w.attenuationColor)),w.anisotropy>0&&(y.anisotropyVector.value.set(w.anisotropy*Math.cos(w.anisotropyRotation),w.anisotropy*Math.sin(w.anisotropyRotation)),w.anisotropyMap&&(y.anisotropyMap.value=w.anisotropyMap,t(w.anisotropyMap,y.anisotropyMapTransform))),y.specularIntensity.value=w.specularIntensity,y.specularColor.value.copy(w.specularColor),w.specularColorMap&&(y.specularColorMap.value=w.specularColorMap,t(w.specularColorMap,y.specularColorMapTransform)),w.specularIntensityMap&&(y.specularIntensityMap.value=w.specularIntensityMap,t(w.specularIntensityMap,y.specularIntensityMapTransform))}function _(y,w){w.matcap&&(y.matcap.value=w.matcap)}function b(y,w){const U=e.get(w).light;y.referencePosition.value.setFromMatrixPosition(U.matrixWorld),y.nearDistance.value=U.shadow.camera.near,y.farDistance.value=U.shadow.camera.far}return{refreshFogUniforms:i,refreshMaterialUniforms:r}}function kG(n,e,t,i){let r={},a={},s=[];const o=t.isWebGL2?n.getParameter(n.MAX_UNIFORM_BUFFER_BINDINGS):0;function l(U,P){const O=P.program;i.uniformBlockBinding(U,O)}function u(U,P){let O=r[U.id];O===void 0&&(_(U),O=d(U),r[U.id]=O,U.addEventListener("dispose",y));const j=P.program;i.updateUBOMapping(U,j);const q=e.render.frame;a[U.id]!==q&&(f(U),a[U.id]=q)}function d(U){const P=h();U.__bindingPointIndex=P;const O=n.createBuffer(),j=U.__size,q=U.usage;return n.bindBuffer(n.UNIFORM_BUFFER,O),n.bufferData(n.UNIFORM_BUFFER,j,q),n.bindBuffer(n.UNIFORM_BUFFER,null),n.bindBufferBase(n.UNIFORM_BUFFER,P,O),O}function h(){for(let U=0;U0&&(O+=j-q),U.__size=O,U.__cache={},this}function b(U){const P={boundary:0,storage:0};return typeof U=="number"||typeof U=="boolean"?(P.boundary=4,P.storage=4):U.isVector2?(P.boundary=8,P.storage=8):U.isVector3||U.isColor?(P.boundary=16,P.storage=12):U.isVector4?(P.boundary=16,P.storage=16):U.isMatrix3?(P.boundary=48,P.storage=48):U.isMatrix4?(P.boundary=64,P.storage=64):U.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",U),P}function y(U){const P=U.target;P.removeEventListener("dispose",y);const O=s.indexOf(P.__bindingPointIndex);s.splice(O,1),n.deleteBuffer(r[P.id]),delete r[P.id],delete a[P.id]}function w(){for(const U in r)n.deleteBuffer(r[U]);s=[],r={},a={}}return{bind:l,update:u,dispose:w}}class wf{constructor(e={}){const{canvas:t=ED(),context:i=null,depth:r=!0,stencil:a=!0,alpha:s=!1,antialias:o=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:u=!1,powerPreference:d="default",failIfMajorPerformanceCaveat:h=!1}=e;this.isWebGLRenderer=!0;let f;i!==null?f=i.getContextAttributes().alpha:f=s;const v=new Uint32Array(4),_=new Int32Array(4);let b=null,y=null;const w=[],U=[];this.domElement=t,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this._outputColorSpace=J0,this._useLegacyLights=!1,this.toneMapping=J5,this.toneMappingExposure=1;const P=this;let O=!1,j=0,q=0,K=null,c2=-1,S2=null;const H=new H0,Z=new H0;let G2=null;const q2=new R1(0);let C2=0,E2=t.width,A2=t.height,X2=1,b2=null,J=null;const p2=new H0(0,0,E2,A2),N2=new H0(0,0,E2,A2);let e3=!1;const h3=new bf;let I2=!1,n2=!1,P2=null;const Z2=new o0,f3=new F3,v3=new k2,O3={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function H3(){return K===null?X2:1}let F2=i;function L3(W,x2){for(let r3=0;r3{function Q3(){if(o3.forEach(function(i1){I3.get(i1).currentProgram.isReady()&&o3.delete(i1)}),o3.size===0){u3(W);return}setTimeout(Q3,10)}C3.get("KHR_parallel_shader_compile")!==null?Q3():setTimeout(Q3,10)})};let H1=null;function l0(W){H1&&H1(W)}function L0(){B1.stop()}function J1(){B1.start()}const B1=new BT;B1.setAnimationLoop(l0),typeof self!="undefined"&&B1.setContext(self),this.setAnimationLoop=function(W){H1=W,s1.setAnimationLoop(W),W===null?B1.stop():B1.start()},s1.addEventListener("sessionstart",L0),s1.addEventListener("sessionend",J1),this.render=function(W,x2){if(x2!==void 0&&x2.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(O===!0)return;W.matrixWorldAutoUpdate===!0&&W.updateMatrixWorld(),x2.parent===null&&x2.matrixWorldAutoUpdate===!0&&x2.updateMatrixWorld(),s1.enabled===!0&&s1.isPresenting===!0&&(s1.cameraAutoUpdate===!0&&s1.updateCamera(x2),x2=s1.getCamera()),W.isScene===!0&&W.onBeforeRender(P,W,x2,K),y=s3.get(W,U.length),y.init(),U.push(y),Z2.multiplyMatrices(x2.projectionMatrix,x2.matrixWorldInverse),h3.setFromProjectionMatrix(Z2),n2=this.localClippingEnabled,I2=D3.init(this.clippingPlanes,n2),b=V2.get(W,w.length),b.init(),w.push(b),me(W,x2,0,P.sortObjects),b.finish(),P.sortObjects===!0&&b.sort(b2,J),this.info.render.frame++,I2===!0&&D3.beginShadows();const r3=y.state.shadowsArray;if(S3.render(r3,W,x2),I2===!0&&D3.endShadows(),this.info.autoReset===!0&&this.info.reset(),(s1.enabled===!1||s1.isPresenting===!1||s1.hasDepthSensing()===!1)&&m1.render(b,W),y.setupLights(P._useLegacyLights),x2.isArrayCamera){const o3=x2.cameras;for(let u3=0,Q3=o3.length;u30?y=U[U.length-1]:y=null,w.pop(),w.length>0?b=w[w.length-1]:b=null};function me(W,x2,r3,o3){if(W.visible===!1)return;if(W.layers.test(x2.layers)){if(W.isGroup)r3=W.renderOrder;else if(W.isLOD)W.autoUpdate===!0&&W.update(x2);else if(W.isLight)y.pushLight(W),W.castShadow&&y.pushShadow(W);else if(W.isSprite){if(!W.frustumCulled||h3.intersectsSprite(W)){o3&&v3.setFromMatrixPosition(W.matrixWorld).applyMatrix4(Z2);const i1=t2.update(W),M1=W.material;M1.visible&&b.push(W,i1,M1,r3,v3.z,null)}}else if((W.isMesh||W.isLine||W.isPoints)&&(!W.frustumCulled||h3.intersectsObject(W))){const i1=t2.update(W),M1=W.material;if(o3&&(W.boundingSphere!==void 0?(W.boundingSphere===null&&W.computeBoundingSphere(),v3.copy(W.boundingSphere.center)):(i1.boundingSphere===null&&i1.computeBoundingSphere(),v3.copy(i1.boundingSphere.center)),v3.applyMatrix4(W.matrixWorld).applyMatrix4(Z2)),Array.isArray(M1)){const e1=i1.groups;for(let R=0,N=e1.length;R0&&Xt(u3,Q3,x2,r3),o3&&F.viewport(H.copy(o3)),u3.length>0&<(u3,x2,r3),Q3.length>0&<(Q3,x2,r3),i1.length>0&<(i1,x2,r3),F.buffers.depth.setTest(!0),F.buffers.depth.setMask(!0),F.buffers.color.setMask(!0),F.setPolygonOffset(!1)}function Xt(W,x2,r3,o3){if((r3.isScene===!0?r3.overrideMaterial:null)!==null)return;const Q3=U3.isWebGL2;P2===null&&(P2=new s8(1,1,{generateMipmaps:!0,type:C3.has("EXT_color_buffer_half_float")?M4:Z5,minFilter:Zi,samples:Q3?4:0})),P.getDrawingBufferSize(f3),Q3?P2.setSize(f3.x,f3.y):P2.setSize(Yo(f3.x),Yo(f3.y));const i1=P.getRenderTarget();P.setRenderTarget(P2),P.getClearColor(q2),C2=P.getClearAlpha(),C2<1&&P.setClearColor(16777215,.5),P.clear();const M1=P.toneMapping;P.toneMapping=J5,lt(W,r3,o3),T2.updateMultisampleRenderTarget(P2),T2.updateRenderTargetMipmap(P2);let e1=!1;for(let R=0,N=x2.length;R0),m=!!r3.morphAttributes.position,g=!!r3.morphAttributes.normal,S=!!r3.morphAttributes.color;let x=J5;o3.toneMapped&&(K===null||K.isXRRenderTarget===!0)&&(x=P.toneMapping);const E=r3.morphAttributes.position||r3.morphAttributes.normal||r3.morphAttributes.color,L=E!==void 0?E.length:0,r2=I3.get(o3),l2=y.state.lights;if(I2===!0&&(n2===!0||W!==S2)){const B=W===S2&&o3.id===c2;D3.setState(o3,W,B)}let s2=!1;o3.version===r2.__version?(r2.needsLights&&r2.lightsStateVersion!==l2.state.version||r2.outputColorSpace!==M1||u3.isBatchedMesh&&r2.batching===!1||!u3.isBatchedMesh&&r2.batching===!0||u3.isInstancedMesh&&r2.instancing===!1||!u3.isInstancedMesh&&r2.instancing===!0||u3.isSkinnedMesh&&r2.skinning===!1||!u3.isSkinnedMesh&&r2.skinning===!0||u3.isInstancedMesh&&r2.instancingColor===!0&&u3.instanceColor===null||u3.isInstancedMesh&&r2.instancingColor===!1&&u3.instanceColor!==null||r2.envMap!==e1||o3.fog===!0&&r2.fog!==Q3||r2.numClippingPlanes!==void 0&&(r2.numClippingPlanes!==D3.numPlanes||r2.numIntersection!==D3.numIntersection)||r2.vertexAlphas!==R||r2.vertexTangents!==N||r2.morphTargets!==m||r2.morphNormals!==g||r2.morphColors!==S||r2.toneMapping!==x||U3.isWebGL2===!0&&r2.morphTargetsCount!==L)&&(s2=!0):(s2=!0,r2.__version=o3.version);let Q=r2.currentProgram;s2===!0&&(Q=be(o3,x2,u3));let X=!1,D2=!1,g2=!1;const C=Q.getUniforms(),I=r2.uniforms;if(F.useProgram(Q.program)&&(X=!0,D2=!0,g2=!0),o3.id!==c2&&(c2=o3.id,D2=!0),X||S2!==W){C.setValue(F2,"projectionMatrix",W.projectionMatrix),C.setValue(F2,"viewMatrix",W.matrixWorldInverse);const B=C.map.cameraPosition;B!==void 0&&B.setValue(F2,v3.setFromMatrixPosition(W.matrixWorld)),U3.logarithmicDepthBuffer&&C.setValue(F2,"logDepthBufFC",2/(Math.log(W.far+1)/Math.LN2)),(o3.isMeshPhongMaterial||o3.isMeshToonMaterial||o3.isMeshLambertMaterial||o3.isMeshBasicMaterial||o3.isMeshStandardMaterial||o3.isShaderMaterial)&&C.setValue(F2,"isOrthographic",W.isOrthographicCamera===!0),S2!==W&&(S2=W,D2=!0,g2=!0)}if(u3.isSkinnedMesh){C.setOptional(F2,u3,"bindMatrix"),C.setOptional(F2,u3,"bindMatrixInverse");const B=u3.skeleton;B&&(U3.floatVertexTextures?(B.boneTexture===null&&B.computeBoneTexture(),C.setValue(F2,"boneTexture",B.boneTexture,T2)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}u3.isBatchedMesh&&(C.setOptional(F2,u3,"batchingTexture"),C.setValue(F2,"batchingTexture",u3._matricesTexture,T2));const Y=r3.morphAttributes;if((Y.position!==void 0||Y.normal!==void 0||Y.color!==void 0&&U3.isWebGL2===!0)&&b1.update(u3,r3,Q),(D2||r2.receiveShadow!==u3.receiveShadow)&&(r2.receiveShadow=u3.receiveShadow,C.setValue(F2,"receiveShadow",u3.receiveShadow)),o3.isMeshGouraudMaterial&&o3.envMap!==null&&(I.envMap.value=e1,I.flipEnvMap.value=e1.isCubeTexture&&e1.isRenderTargetTexture===!1?-1:1),D2&&(C.setValue(F2,"toneMappingExposure",P.toneMappingExposure),r2.needsLights&&e0(I,g2),Q3&&o3.fog===!0&&_2.refreshFogUniforms(I,Q3),_2.refreshMaterialUniforms(I,o3,X2,A2,P2),vo.upload(F2,g3(r2),I,T2)),o3.isShaderMaterial&&o3.uniformsNeedUpdate===!0&&(vo.upload(F2,g3(r2),I,T2),o3.uniformsNeedUpdate=!1),o3.isSpriteMaterial&&C.setValue(F2,"center",u3.center),C.setValue(F2,"modelViewMatrix",u3.modelViewMatrix),C.setValue(F2,"normalMatrix",u3.normalMatrix),C.setValue(F2,"modelMatrix",u3.matrixWorld),o3.isShaderMaterial||o3.isRawShaderMaterial){const B=o3.uniformsGroups;for(let A=0,k=B.length;A0&&T2.useMultisampledRTT(W)===!1?u3=I3.get(W).__webglMultisampledFramebuffer:Array.isArray(N)?u3=N[r3]:u3=N,H.copy(W.viewport),Z.copy(W.scissor),G2=W.scissorTest}else H.copy(p2).multiplyScalar(X2).floor(),Z.copy(N2).multiplyScalar(X2).floor(),G2=e3;if(F.bindFramebuffer(F2.FRAMEBUFFER,u3)&&U3.drawBuffers&&o3&&F.drawBuffers(W,u3),F.viewport(H),F.scissor(Z),F.setScissorTest(G2),Q3){const e1=I3.get(W.texture);F2.framebufferTexture2D(F2.FRAMEBUFFER,F2.COLOR_ATTACHMENT0,F2.TEXTURE_CUBE_MAP_POSITIVE_X+x2,e1.__webglTexture,r3)}else if(i1){const e1=I3.get(W.texture),R=x2||0;F2.framebufferTextureLayer(F2.FRAMEBUFFER,F2.COLOR_ATTACHMENT0,e1.__webglTexture,r3||0,R)}c2=-1},this.readRenderTargetPixels=function(W,x2,r3,o3,u3,Q3,i1){if(!(W&&W.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let M1=I3.get(W).__webglFramebuffer;if(W.isWebGLCubeRenderTarget&&i1!==void 0&&(M1=M1[i1]),M1){F.bindFramebuffer(F2.FRAMEBUFFER,M1);try{const e1=W.texture,R=e1.format,N=e1.type;if(R!==A6&&n1.convert(R)!==F2.getParameter(F2.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const m=N===M4&&(C3.has("EXT_color_buffer_half_float")||U3.isWebGL2&&C3.has("EXT_color_buffer_float"));if(N!==Z5&&n1.convert(N)!==F2.getParameter(F2.IMPLEMENTATION_COLOR_READ_TYPE)&&!(N===fi&&(U3.isWebGL2||C3.has("OES_texture_float")||C3.has("WEBGL_color_buffer_float")))&&!m){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}x2>=0&&x2<=W.width-o3&&r3>=0&&r3<=W.height-u3&&F2.readPixels(x2,r3,o3,u3,n1.convert(R),n1.convert(N),Q3)}finally{const e1=K!==null?I3.get(K).__webglFramebuffer:null;F.bindFramebuffer(F2.FRAMEBUFFER,e1)}}},this.copyFramebufferToTexture=function(W,x2,r3=0){const o3=Math.pow(2,-r3),u3=Math.floor(x2.image.width*o3),Q3=Math.floor(x2.image.height*o3);T2.setTexture2D(x2,0),F2.copyTexSubImage2D(F2.TEXTURE_2D,r3,0,0,W.x,W.y,u3,Q3),F.unbindTexture()},this.copyTextureToTexture=function(W,x2,r3,o3=0){const u3=x2.image.width,Q3=x2.image.height,i1=n1.convert(r3.format),M1=n1.convert(r3.type);T2.setTexture2D(r3,0),F2.pixelStorei(F2.UNPACK_FLIP_Y_WEBGL,r3.flipY),F2.pixelStorei(F2.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r3.premultiplyAlpha),F2.pixelStorei(F2.UNPACK_ALIGNMENT,r3.unpackAlignment),x2.isDataTexture?F2.texSubImage2D(F2.TEXTURE_2D,o3,W.x,W.y,u3,Q3,i1,M1,x2.image.data):x2.isCompressedTexture?F2.compressedTexSubImage2D(F2.TEXTURE_2D,o3,W.x,W.y,x2.mipmaps[0].width,x2.mipmaps[0].height,i1,x2.mipmaps[0].data):F2.texSubImage2D(F2.TEXTURE_2D,o3,W.x,W.y,i1,M1,x2.image),o3===0&&r3.generateMipmaps&&F2.generateMipmap(F2.TEXTURE_2D),F.unbindTexture()},this.copyTextureToTexture3D=function(W,x2,r3,o3,u3=0){if(P.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const Q3=W.max.x-W.min.x+1,i1=W.max.y-W.min.y+1,M1=W.max.z-W.min.z+1,e1=n1.convert(o3.format),R=n1.convert(o3.type);let N;if(o3.isData3DTexture)T2.setTexture3D(o3,0),N=F2.TEXTURE_3D;else if(o3.isDataArrayTexture||o3.isCompressedArrayTexture)T2.setTexture2DArray(o3,0),N=F2.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}F2.pixelStorei(F2.UNPACK_FLIP_Y_WEBGL,o3.flipY),F2.pixelStorei(F2.UNPACK_PREMULTIPLY_ALPHA_WEBGL,o3.premultiplyAlpha),F2.pixelStorei(F2.UNPACK_ALIGNMENT,o3.unpackAlignment);const m=F2.getParameter(F2.UNPACK_ROW_LENGTH),g=F2.getParameter(F2.UNPACK_IMAGE_HEIGHT),S=F2.getParameter(F2.UNPACK_SKIP_PIXELS),x=F2.getParameter(F2.UNPACK_SKIP_ROWS),E=F2.getParameter(F2.UNPACK_SKIP_IMAGES),L=r3.isCompressedTexture?r3.mipmaps[u3]:r3.image;F2.pixelStorei(F2.UNPACK_ROW_LENGTH,L.width),F2.pixelStorei(F2.UNPACK_IMAGE_HEIGHT,L.height),F2.pixelStorei(F2.UNPACK_SKIP_PIXELS,W.min.x),F2.pixelStorei(F2.UNPACK_SKIP_ROWS,W.min.y),F2.pixelStorei(F2.UNPACK_SKIP_IMAGES,W.min.z),r3.isDataTexture||r3.isData3DTexture?F2.texSubImage3D(N,u3,x2.x,x2.y,x2.z,Q3,i1,M1,e1,R,L.data):r3.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),F2.compressedTexSubImage3D(N,u3,x2.x,x2.y,x2.z,Q3,i1,M1,e1,L.data)):F2.texSubImage3D(N,u3,x2.x,x2.y,x2.z,Q3,i1,M1,e1,R,L),F2.pixelStorei(F2.UNPACK_ROW_LENGTH,m),F2.pixelStorei(F2.UNPACK_IMAGE_HEIGHT,g),F2.pixelStorei(F2.UNPACK_SKIP_PIXELS,S),F2.pixelStorei(F2.UNPACK_SKIP_ROWS,x),F2.pixelStorei(F2.UNPACK_SKIP_IMAGES,E),u3===0&&o3.generateMipmaps&&F2.generateMipmap(N),F.unbindTexture()},this.initTexture=function(W){W.isCubeTexture?T2.setTextureCube(W,0):W.isData3DTexture?T2.setTexture3D(W,0):W.isDataArrayTexture||W.isCompressedArrayTexture?T2.setTexture2DArray(W,0):T2.setTexture2D(W,0),F.unbindTexture()},this.resetState=function(){j=0,q=0,K=null,F.reset(),C1.reset()},typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Qi}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;const t=this.getContext();t.drawingBufferColorSpace=e===gf?"display-p3":"srgb",t.unpackColorSpace=X0.workingColorSpace===Rl?"display-p3":"srgb"}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===J0?i8:MT}set outputEncoding(e){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=e===i8?J0:mt}get useLegacyLights(){return console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights}set useLegacyLights(e){console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights=e}}class FG extends wf{}FG.prototype.isWebGL1Renderer=!0;class xf{constructor(e,t=1,i=1e3){this.isFog=!0,this.name="",this.color=new R1(e),this.near=t,this.far=i}clone(){return new xf(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class $T extends pe{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(t.object.backgroundIntensity=this.backgroundIntensity),t}}class Af{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=sh,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=P6()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return r8("THREE.InterleavedBuffer: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,i){e*=this.stride,i*=t.stride;for(let r=0,a=this.stride;re.far||t.push({distance:l,point:Ua.clone(),uv:Y6.getInterpolation(Ua,P7,Ba,R7,Ny,nd,Ly,new F3),face:null,object:this})}copy(e,t){return super.copy(e,t),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}}function N7(n,e,t,i,r,a){Q8.subVectors(n,t).addScalar(.5).multiply(i),r!==void 0?(Oa.x=a*Q8.x-r*Q8.y,Oa.y=r*Q8.x+a*Q8.y):Oa.copy(Q8),n.copy(e),n.x+=Oa.x,n.y+=Oa.y,n.applyMatrix4(YT)}const Iy=new k2,ky=new H0,Fy=new H0,DG=new k2,Dy=new o0,L7=new k2,id=new D6,Uy=new o0,rd=new Zr;class UG extends R0{constructor(e,t){super(e,t),this.isSkinnedMesh=!0,this.type="SkinnedMesh",this.bindMode=fv,this.bindMatrix=new o0,this.bindMatrixInverse=new o0,this.boundingBox=null,this.boundingSphere=null}computeBoundingBox(){const e=this.geometry;this.boundingBox===null&&(this.boundingBox=new F6),this.boundingBox.makeEmpty();const t=e.getAttribute("position");for(let i=0;il)continue;f.applyMatrix4(this.matrixWorld);const c2=e.ray.origin.distanceTo(f);c2e.far||t.push({distance:c2,point:h.clone().applyMatrix4(this.matrixWorld),index:P,face:null,faceIndex:null,object:this})}}else{const w=Math.max(0,s.start),U=Math.min(y.count,s.start+s.count);for(let P=w,O=U-1;Pl)continue;f.applyMatrix4(this.matrixWorld);const q=e.ray.origin.distanceTo(f);qe.far||t.push({distance:q,point:h.clone().applyMatrix4(this.matrixWorld),index:P,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const t=this.geometry.morphAttributes,i=Object.keys(t);if(i.length>0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let a=0,s=r.length;a0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let a=0,s=r.length;ar.far)return;a.push({distance:u,distanceToRay:Math.sqrt(o),point:l,index:e,face:null,object:s})}}class Ko extends pt{constructor(e,t,i,r,a,s,o,l,u){super(e,t,i,r,a,s,o,l,u),this.isCanvasTexture=!0,this.needsUpdate=!0}}class wi{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(e,t){const i=this.getUtoTmapping(e);return this.getPoint(i,t)}getPoints(e=5){const t=[];for(let i=0;i<=e;i++)t.push(this.getPoint(i/e));return t}getSpacedPoints(e=5){const t=[];for(let i=0;i<=e;i++)t.push(this.getPointAt(i/e));return t}getLength(){const e=this.getLengths();return e[e.length-1]}getLengths(e=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const t=[];let i,r=this.getPoint(0),a=0;t.push(0);for(let s=1;s<=e;s++)i=this.getPoint(s/e),a+=i.distanceTo(r),t.push(a),r=i;return this.cacheArcLengths=t,t}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,t){const i=this.getLengths();let r=0;const a=i.length;let s;t?s=t:s=e*i[a-1];let o=0,l=a-1,u;for(;o<=l;)if(r=Math.floor(o+(l-o)/2),u=i[r]-s,u<0)o=r+1;else if(u>0)l=r-1;else{l=r;break}if(r=l,i[r]===s)return r/(a-1);const d=i[r],f=i[r+1]-d,v=(s-d)/f;return(r+v)/(a-1)}getTangent(e,t){let r=e-1e-4,a=e+1e-4;r<0&&(r=0),a>1&&(a=1);const s=this.getPoint(r),o=this.getPoint(a),l=t||(s.isVector2?new F3:new k2);return l.copy(o).sub(s).normalize(),l}getTangentAt(e,t){const i=this.getUtoTmapping(e);return this.getTangent(i,t)}computeFrenetFrames(e,t){const i=new k2,r=[],a=[],s=[],o=new k2,l=new o0;for(let v=0;v<=e;v++){const _=v/e;r[v]=this.getTangentAt(_,new k2)}a[0]=new k2,s[0]=new k2;let u=Number.MAX_VALUE;const d=Math.abs(r[0].x),h=Math.abs(r[0].y),f=Math.abs(r[0].z);d<=u&&(u=d,i.set(1,0,0)),h<=u&&(u=h,i.set(0,1,0)),f<=u&&i.set(0,0,1),o.crossVectors(r[0],i).normalize(),a[0].crossVectors(r[0],o),s[0].crossVectors(r[0],a[0]);for(let v=1;v<=e;v++){if(a[v]=a[v-1].clone(),s[v]=s[v-1].clone(),o.crossVectors(r[v-1],r[v]),o.length()>Number.EPSILON){o.normalize();const _=Math.acos(ot(r[v-1].dot(r[v]),-1,1));a[v].applyMatrix4(l.makeRotationAxis(o,_))}s[v].crossVectors(r[v],a[v])}if(t===!0){let v=Math.acos(ot(a[0].dot(a[e]),-1,1));v/=e,r[0].dot(o.crossVectors(a[0],a[e]))>0&&(v=-v);for(let _=1;_<=e;_++)a[_].applyMatrix4(l.makeRotationAxis(r[_],v*_)),s[_].crossVectors(r[_],a[_])}return{tangents:r,normals:a,binormals:s}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){const e={metadata:{version:4.6,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}}class Pf extends wi{constructor(e=0,t=0,i=1,r=1,a=0,s=Math.PI*2,o=!1,l=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=e,this.aY=t,this.xRadius=i,this.yRadius=r,this.aStartAngle=a,this.aEndAngle=s,this.aClockwise=o,this.aRotation=l}getPoint(e,t){const i=t||new F3,r=Math.PI*2;let a=this.aEndAngle-this.aStartAngle;const s=Math.abs(a)r;)a-=r;a0?0:(Math.floor(Math.abs(o)/a)+1)*a:l===0&&o===a-1&&(o=a-2,l=1);let u,d;this.closed||o>0?u=r[(o-1)%a]:(U7.subVectors(r[0],r[1]).add(r[0]),u=U7);const h=r[o%a],f=r[(o+1)%a];if(this.closed||o+2r.length-2?r.length-1:s+1],h=r[s>r.length-3?r.length-1:s+2];return i.set(qy(o,l.x,u.x,d.x,h.x),qy(o,l.y,u.y,d.y,h.y)),i}copy(e){super.copy(e),this.points=[];for(let t=0,i=e.points.length;t=i){const s=r[a]-i,o=this.curves[a],l=o.getLength(),u=l===0?0:1-s/l;return o.getPointAt(u,t)}a++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const e=[];let t=0;for(let i=0,r=this.curves.length;i1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,i=e.curves.length;t0){const h=u.getPoint(0);h.equals(this.currentPoint)||this.lineTo(h.x,h.y)}this.curves.push(u);const d=u.getPoint(1);return this.currentPoint.copy(d),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){const e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}}class vi extends Ky{constructor(e){super(e),this.uuid=P6(),this.type="Shape",this.holes=[]}getPointsHoles(e){const t=[];for(let i=0,r=this.holes.length;i80*t){o=u=n[0],l=d=n[1];for(let _=t;_u&&(u=h),f>d&&(d=f);v=Math.max(u-o,d-l),v=v!==0?32767/v:0}return N4(a,s,t,o,l,v,0),s}};function ew(n,e,t,i,r){let a,s;if(r===mV(n,e,t,i)>0)for(a=e;a=e;a-=i)s=Xy(a,n[a],n[a+1],s);return s&&kl(s,s.next)&&(I4(s),s=s.next),s}function o8(n,e){if(!n)return n;e||(e=n);let t=n,i;do if(i=!1,!t.steiner&&(kl(t,t.next)||De(t.prev,t,t.next)===0)){if(I4(t),t=e=t.prev,t===t.next)break;i=!0}else t=t.next;while(i||t!==e);return e}function N4(n,e,t,i,r,a,s){if(!n)return;!s&&a&&uV(n,i,r,a);let o=n,l,u;for(;n.prev!==n.next;){if(l=n.prev,u=n.next,a?tV(n,i,r,a):eV(n)){e.push(l.i/t|0),e.push(n.i/t|0),e.push(u.i/t|0),I4(n),n=u.next,o=u.next;continue}if(n=u,n===o){s?s===1?(n=nV(o8(n),e,t),N4(n,e,t,i,r,a,2)):s===2&&iV(n,e,t,i,r,a):N4(o8(n),e,t,i,r,a,1);break}}}function eV(n){const e=n.prev,t=n,i=n.next;if(De(e,t,i)>=0)return!1;const r=e.x,a=t.x,s=i.x,o=e.y,l=t.y,u=i.y,d=ra?r>s?r:s:a>s?a:s,v=o>l?o>u?o:u:l>u?l:u;let _=i.next;for(;_!==e;){if(_.x>=d&&_.x<=f&&_.y>=h&&_.y<=v&&hr(r,o,a,l,s,u,_.x,_.y)&&De(_.prev,_,_.next)>=0)return!1;_=_.next}return!0}function tV(n,e,t,i){const r=n.prev,a=n,s=n.next;if(De(r,a,s)>=0)return!1;const o=r.x,l=a.x,u=s.x,d=r.y,h=a.y,f=s.y,v=ol?o>u?o:u:l>u?l:u,y=d>h?d>f?d:f:h>f?h:f,w=hh(v,_,e,t,i),U=hh(b,y,e,t,i);let P=n.prevZ,O=n.nextZ;for(;P&&P.z>=w&&O&&O.z<=U;){if(P.x>=v&&P.x<=b&&P.y>=_&&P.y<=y&&P!==r&&P!==s&&hr(o,d,l,h,u,f,P.x,P.y)&&De(P.prev,P,P.next)>=0||(P=P.prevZ,O.x>=v&&O.x<=b&&O.y>=_&&O.y<=y&&O!==r&&O!==s&&hr(o,d,l,h,u,f,O.x,O.y)&&De(O.prev,O,O.next)>=0))return!1;O=O.nextZ}for(;P&&P.z>=w;){if(P.x>=v&&P.x<=b&&P.y>=_&&P.y<=y&&P!==r&&P!==s&&hr(o,d,l,h,u,f,P.x,P.y)&&De(P.prev,P,P.next)>=0)return!1;P=P.prevZ}for(;O&&O.z<=U;){if(O.x>=v&&O.x<=b&&O.y>=_&&O.y<=y&&O!==r&&O!==s&&hr(o,d,l,h,u,f,O.x,O.y)&&De(O.prev,O,O.next)>=0)return!1;O=O.nextZ}return!0}function nV(n,e,t){let i=n;do{const r=i.prev,a=i.next.next;!kl(r,a)&&tw(r,i,i.next,a)&&L4(r,a)&&L4(a,r)&&(e.push(r.i/t|0),e.push(i.i/t|0),e.push(a.i/t|0),I4(i),I4(i.next),i=n=a),i=i.next}while(i!==n);return o8(i)}function iV(n,e,t,i,r,a){let s=n;do{let o=s.next.next;for(;o!==s.prev;){if(s.i!==o.i&&hV(s,o)){let l=nw(s,o);s=o8(s,s.next),l=o8(l,l.next),N4(s,e,t,i,r,a,0),N4(l,e,t,i,r,a,0);return}o=o.next}s=s.next}while(s!==n)}function rV(n,e,t,i){const r=[];let a,s,o,l,u;for(a=0,s=e.length;a=t.next.y&&t.next.y!==t.y){const f=t.x+(s-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(f<=a&&f>i&&(i=f,r=t.x=t.x&&t.x>=l&&a!==t.x&&hr(sr.x||t.x===r.x&&lV(r,t)))&&(r=t,d=h)),t=t.next;while(t!==o);return r}function lV(n,e){return De(n.prev,n,e.prev)<0&&De(e.next,n,n.next)<0}function uV(n,e,t,i){let r=n;do r.z===0&&(r.z=hh(r.x,r.y,e,t,i)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next;while(r!==n);r.prevZ.nextZ=null,r.prevZ=null,cV(r)}function cV(n){let e,t,i,r,a,s,o,l,u=1;do{for(t=n,n=null,a=null,s=0;t;){for(s++,i=t,o=0,e=0;e0||l>0&&i;)o!==0&&(l===0||!i||t.z<=i.z)?(r=t,t=t.nextZ,o--):(r=i,i=i.nextZ,l--),a?a.nextZ=r:n=r,r.prevZ=a,a=r;t=i}a.nextZ=null,u*=2}while(s>1);return n}function hh(n,e,t,i,r){return n=(n-t)*r|0,e=(e-i)*r|0,n=(n|n<<8)&16711935,n=(n|n<<4)&252645135,n=(n|n<<2)&858993459,n=(n|n<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,n|e<<1}function dV(n){let e=n,t=n;do(e.x=(n-s)*(a-o)&&(n-s)*(i-o)>=(t-s)*(e-o)&&(t-s)*(a-o)>=(r-s)*(i-o)}function hV(n,e){return n.next.i!==e.i&&n.prev.i!==e.i&&!fV(n,e)&&(L4(n,e)&&L4(e,n)&&pV(n,e)&&(De(n.prev,n,e.prev)||De(n,e.prev,e))||kl(n,e)&&De(n.prev,n,n.next)>0&&De(e.prev,e,e.next)>0)}function De(n,e,t){return(e.y-n.y)*(t.x-e.x)-(e.x-n.x)*(t.y-e.y)}function kl(n,e){return n.x===e.x&&n.y===e.y}function tw(n,e,t,i){const r=B7(De(n,e,t)),a=B7(De(n,e,i)),s=B7(De(t,i,n)),o=B7(De(t,i,e));return!!(r!==a&&s!==o||r===0&&O7(n,t,e)||a===0&&O7(n,i,e)||s===0&&O7(t,n,i)||o===0&&O7(t,e,i))}function O7(n,e,t){return e.x<=Math.max(n.x,t.x)&&e.x>=Math.min(n.x,t.x)&&e.y<=Math.max(n.y,t.y)&&e.y>=Math.min(n.y,t.y)}function B7(n){return n>0?1:n<0?-1:0}function fV(n,e){let t=n;do{if(t.i!==n.i&&t.next.i!==n.i&&t.i!==e.i&&t.next.i!==e.i&&tw(t,t.next,n,e))return!0;t=t.next}while(t!==n);return!1}function L4(n,e){return De(n.prev,n,n.next)<0?De(n,e,n.next)>=0&&De(n,n.prev,e)>=0:De(n,e,n.prev)<0||De(n,n.next,e)<0}function pV(n,e){let t=n,i=!1;const r=(n.x+e.x)/2,a=(n.y+e.y)/2;do t.y>a!=t.next.y>a&&t.next.y!==t.y&&r<(t.next.x-t.x)*(a-t.y)/(t.next.y-t.y)+t.x&&(i=!i),t=t.next;while(t!==n);return i}function nw(n,e){const t=new fh(n.i,n.x,n.y),i=new fh(e.i,e.x,e.y),r=n.next,a=e.prev;return n.next=e,e.prev=n,t.next=r,r.prev=t,i.next=t,t.prev=i,a.next=i,i.prev=a,i}function Xy(n,e,t,i){const r=new fh(n,e,t);return i?(r.next=i.next,r.prev=i,i.next.prev=r,i.next=r):(r.prev=r,r.next=r),r}function I4(n){n.next.prev=n.prev,n.prev.next=n.next,n.prevZ&&(n.prevZ.nextZ=n.nextZ),n.nextZ&&(n.nextZ.prevZ=n.prevZ)}function fh(n,e,t){this.i=n,this.x=e,this.y=t,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function mV(n,e,t,i){let r=0;for(let a=e,s=t-i;a2&&n[e-1].equals(n[0])&&n.pop()}function Zy(n,e){for(let t=0;tNumber.EPSILON){const t2=Math.sqrt(W2),i2=Math.sqrt(o2*o2+u2*u2),_2=L3.x-T2/t2,V2=L3.y+I3/t2,s3=C3.x-u2/i2,D3=C3.y+o2/i2,S3=((s3-_2)*u2-(D3-V2)*o2)/(I3*u2-T2*o2);U3=_2+I3*S3-F2.x,F=V2+T2*S3-F2.y;const m1=U3*U3+F*F;if(m1<=2)return new F3(U3,F);r1=Math.sqrt(m1/2)}else{let t2=!1;I3>Number.EPSILON?o2>Number.EPSILON&&(t2=!0):I3<-Number.EPSILON?o2<-Number.EPSILON&&(t2=!0):Math.sign(T2)===Math.sign(u2)&&(t2=!0),t2?(U3=-T2,F=I3,r1=Math.sqrt(W2)):(U3=I3,F=T2,r1=Math.sqrt(W2/2))}return new F3(U3/r1,F/r1)}const J=[];for(let F2=0,L3=C2.length,C3=L3-1,U3=F2+1;F2=0;F2--){const L3=F2/y,C3=v*Math.cos(L3*Math.PI/2),U3=_*Math.sin(L3*Math.PI/2)+b;for(let F=0,r1=C2.length;F=0;){const U3=C3;let F=C3-1;F<0&&(F=F2.length-1);for(let r1=0,I3=d+y*2;r10!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class ph extends R6{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new R1(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new R1(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=mf,this.normalScale=new F3(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=ff,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}function z7(n,e,t){return!n||!t&&n.constructor===e?n:typeof e.BYTES_PER_ELEMENT=="number"?new e(n):Array.prototype.slice.call(n)}function SV(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function bV(n){function e(r,a){return n[r]-n[a]}const t=n.length,i=new Array(t);for(let r=0;r!==t;++r)i[r]=r;return i.sort(e),i}function e_(n,e,t){const i=n.length,r=new n.constructor(i);for(let a=0,s=0;s!==i;++a){const o=t[a]*e;for(let l=0;l!==e;++l)r[s++]=n[o+l]}return r}function iw(n,e,t,i){let r=1,a=n[0];for(;a!==void 0&&a[i]===void 0;)a=n[r++];if(a===void 0)return;let s=a[i];if(s!==void 0)if(Array.isArray(s))do s=a[i],s!==void 0&&(e.push(a.time),t.push.apply(t,s)),a=n[r++];while(a!==void 0);else if(s.toArray!==void 0)do s=a[i],s!==void 0&&(e.push(a.time),s.toArray(t,t.length)),a=n[r++];while(a!==void 0);else do s=a[i],s!==void 0&&(e.push(a.time),t.push(s)),a=n[r++];while(a!==void 0)}class K4{constructor(e,t,i,r){this.parameterPositions=e,this._cachedIndex=0,this.resultBuffer=r!==void 0?r:new t.constructor(i),this.sampleValues=t,this.valueSize=i,this.settings=null,this.DefaultSettings_={}}evaluate(e){const t=this.parameterPositions;let i=this._cachedIndex,r=t[i],a=t[i-1];e:{t:{let s;n:{i:if(!(e=a)){const o=t[1];e=a)break t}s=i,i=0;break n}break e}for(;i>>1;et;)--s;if(++s,a!==0||s!==r){a>=s&&(s=Math.max(s,1),a=s-1);const o=this.getValueSize();this.times=i.slice(a,s),this.values=this.values.slice(a*o,s*o)}return this}validate(){let e=!0;const t=this.getValueSize();t-Math.floor(t)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);const i=this.times,r=this.values,a=i.length;a===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let s=null;for(let o=0;o!==a;o++){const l=i[o];if(typeof l=="number"&&isNaN(l)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,o,l),e=!1;break}if(s!==null&&s>l){console.error("THREE.KeyframeTrack: Out of order keys.",this,o,l,s),e=!1;break}s=l}if(r!==void 0&&SV(r))for(let o=0,l=r.length;o!==l;++o){const u=r[o];if(isNaN(u)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,o,u),e=!1;break}}return e}optimize(){const e=this.times.slice(),t=this.values.slice(),i=this.getValueSize(),r=this.getInterpolation()===Lc,a=e.length-1;let s=1;for(let o=1;o0){e[s]=e[a];for(let o=a*i,l=s*i,u=0;u!==i;++u)t[l+u]=t[o+u];++s}return s!==e.length?(this.times=e.slice(0,s),this.values=t.slice(0,s*i)):(this.times=e,this.values=t),this}clone(){const e=this.times.slice(),t=this.values.slice(),i=this.constructor,r=new i(this.name,e,t);return r.createInterpolant=this.createInterpolant,r}}xi.prototype.TimeBufferType=Float32Array;xi.prototype.ValueBufferType=Float32Array;xi.prototype.DefaultInterpolation=zr;class ta extends xi{}ta.prototype.ValueTypeName="bool";ta.prototype.ValueBufferType=Array;ta.prototype.DefaultInterpolation=E4;ta.prototype.InterpolantFactoryMethodLinear=void 0;ta.prototype.InterpolantFactoryMethodSmooth=void 0;class rw extends xi{}rw.prototype.ValueTypeName="color";class Hr extends xi{}Hr.prototype.ValueTypeName="number";class AV extends K4{constructor(e,t,i,r){super(e,t,i,r)}interpolate_(e,t,i,r){const a=this.resultBuffer,s=this.sampleValues,o=this.valueSize,l=(i-t)/(r-t);let u=e*o;for(let d=u+o;u!==d;u+=4)Z6.slerpFlat(a,0,s,u-o,s,u,l);return a}}class l8 extends xi{InterpolantFactoryMethodLinear(e){return new AV(this.times,this.values,this.getValueSize(),e)}}l8.prototype.ValueTypeName="quaternion";l8.prototype.DefaultInterpolation=zr;l8.prototype.InterpolantFactoryMethodSmooth=void 0;class na extends xi{}na.prototype.ValueTypeName="string";na.prototype.ValueBufferType=Array;na.prototype.DefaultInterpolation=E4;na.prototype.InterpolantFactoryMethodLinear=void 0;na.prototype.InterpolantFactoryMethodSmooth=void 0;class jr extends xi{}jr.prototype.ValueTypeName="vector";class CV{constructor(e,t=-1,i,r=nD){this.name=e,this.tracks=i,this.duration=t,this.blendMode=r,this.uuid=P6(),this.duration<0&&this.resetDuration()}static parse(e){const t=[],i=e.tracks,r=1/(e.fps||1);for(let s=0,o=i.length;s!==o;++s)t.push(EV(i[s]).scale(r));const a=new this(e.name,e.duration,t,e.blendMode);return a.uuid=e.uuid,a}static toJSON(e){const t=[],i=e.tracks,r={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode};for(let a=0,s=i.length;a!==s;++a)t.push(xi.toJSON(i[a]));return r}static CreateFromMorphTargetSequence(e,t,i,r){const a=t.length,s=[];for(let o=0;o1){const h=d[1];let f=r[h];f||(r[h]=f=[]),f.push(u)}}const s=[];for(const o in r)s.push(this.CreateFromMorphTargetSequence(o,r[o],t,i));return s}static parseAnimation(e,t){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const i=function(h,f,v,_,b){if(v.length!==0){const y=[],w=[];iw(v,y,w,_),y.length!==0&&b.push(new h(f,y,w))}},r=[],a=e.name||"default",s=e.fps||30,o=e.blendMode;let l=e.length||-1;const u=e.hierarchy||[];for(let h=0;h{t&&t(a),this.manager.itemEnd(e)},0),a;if(ji[e]!==void 0){ji[e].push({onLoad:t,onProgress:i,onError:r});return}ji[e]=[],ji[e].push({onLoad:t,onProgress:i,onError:r});const s=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),o=this.mimeType,l=this.responseType;fetch(s).then(u=>{if(u.status===200||u.status===0){if(u.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream=="undefined"||u.body===void 0||u.body.getReader===void 0)return u;const d=ji[e],h=u.body.getReader(),f=u.headers.get("Content-Length")||u.headers.get("X-File-Size"),v=f?parseInt(f):0,_=v!==0;let b=0;const y=new ReadableStream({start(w){U();function U(){h.read().then(({done:P,value:O})=>{if(P)w.close();else{b+=O.byteLength;const j=new ProgressEvent("progress",{lengthComputable:_,loaded:b,total:v});for(let q=0,K=d.length;q{switch(l){case"arraybuffer":return u.arrayBuffer();case"blob":return u.blob();case"document":return u.text().then(d=>new DOMParser().parseFromString(d,o));case"json":return u.json();default:if(o===void 0)return u.text();{const h=/charset="?([^;"\s]*)"?/i.exec(o),f=h&&h[1]?h[1].toLowerCase():void 0,v=new TextDecoder(f);return u.arrayBuffer().then(_=>v.decode(_))}}}).then(u=>{j5.add(e,u);const d=ji[e];delete ji[e];for(let h=0,f=d.length;h{const d=ji[e];if(d===void 0)throw this.manager.itemError(e),u;delete ji[e];for(let h=0,f=d.length;h{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class NV extends u9{constructor(e){super(e)}load(e,t,i,r){this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const a=this,s=j5.get(e);if(s!==void 0)return a.manager.itemStart(e),setTimeout(function(){t&&t(s),a.manager.itemEnd(e)},0),s;const o=P4("img");function l(){d(),j5.add(e,this),t&&t(this),a.manager.itemEnd(e)}function u(h){d(),r&&r(h),a.manager.itemError(e),a.manager.itemEnd(e)}function d(){o.removeEventListener("load",l,!1),o.removeEventListener("error",u,!1)}return o.addEventListener("load",l,!1),o.addEventListener("error",u,!1),e.slice(0,5)!=="data:"&&this.crossOrigin!==void 0&&(o.crossOrigin=this.crossOrigin),a.manager.itemStart(e),o.src=e,o}}class Lf extends u9{constructor(e){super(e)}load(e,t,i,r){const a=new pt,s=new NV(this.manager);return s.setCrossOrigin(this.crossOrigin),s.setPath(this.path),s.load(e,function(o){a.image=o,a.needsUpdate=!0,t!==void 0&&t(a)},i,r),a}}class Ul extends pe{constructor(e,t=1){super(),this.isLight=!0,this.type="Light",this.color=new R1(e),this.intensity=t}dispose(){}copy(e,t){return super.copy(e,t),this.color.copy(e.color),this.intensity=e.intensity,this}toJSON(e){const t=super.toJSON(e);return t.object.color=this.color.getHex(),t.object.intensity=this.intensity,this.groundColor!==void 0&&(t.object.groundColor=this.groundColor.getHex()),this.distance!==void 0&&(t.object.distance=this.distance),this.angle!==void 0&&(t.object.angle=this.angle),this.decay!==void 0&&(t.object.decay=this.decay),this.penumbra!==void 0&&(t.object.penumbra=this.penumbra),this.shadow!==void 0&&(t.object.shadow=this.shadow.toJSON()),t}}const ud=new o0,t_=new k2,n_=new k2;class If{constructor(e){this.camera=e,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new F3(512,512),this.map=null,this.mapPass=null,this.matrix=new o0,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new bf,this._frameExtents=new F3(1,1),this._viewportCount=1,this._viewports=[new H0(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(e){const t=this.camera,i=this.matrix;t_.setFromMatrixPosition(e.matrixWorld),t.position.copy(t_),n_.setFromMatrixPosition(e.target.matrixWorld),t.lookAt(n_),t.updateMatrixWorld(),ud.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),this._frustum.setFromProjectionMatrix(ud),i.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),i.multiply(ud)}getViewport(e){return this._viewports[e]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(e){return this.camera=e.camera.clone(),this.bias=e.bias,this.radius=e.radius,this.mapSize.copy(e.mapSize),this}clone(){return new this.constructor().copy(this)}toJSON(){const e={};return this.bias!==0&&(e.bias=this.bias),this.normalBias!==0&&(e.normalBias=this.normalBias),this.radius!==1&&(e.radius=this.radius),(this.mapSize.x!==512||this.mapSize.y!==512)&&(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}}class LV extends If{constructor(){super(new Wt(50,1,.5,500)),this.isSpotLightShadow=!0,this.focus=1}updateMatrices(e){const t=this.camera,i=Gr*2*e.angle*this.focus,r=this.mapSize.width/this.mapSize.height,a=e.distance||t.far;(i!==t.fov||r!==t.aspect||a!==t.far)&&(t.fov=i,t.aspect=r,t.far=a,t.updateProjectionMatrix()),super.updateMatrices(e)}copy(e){return super.copy(e),this.focus=e.focus,this}}class IV extends Ul{constructor(e,t,i=0,r=Math.PI/3,a=0,s=2){super(e,t),this.isSpotLight=!0,this.type="SpotLight",this.position.copy(pe.DEFAULT_UP),this.updateMatrix(),this.target=new pe,this.distance=i,this.angle=r,this.penumbra=a,this.decay=s,this.map=null,this.shadow=new LV}get power(){return this.intensity*Math.PI}set power(e){this.intensity=e/Math.PI}dispose(){this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.angle=e.angle,this.penumbra=e.penumbra,this.decay=e.decay,this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}const i_=new o0,Va=new k2,cd=new k2;class kV extends If{constructor(){super(new Wt(90,1,.5,500)),this.isPointLightShadow=!0,this._frameExtents=new F3(4,2),this._viewportCount=6,this._viewports=[new H0(2,1,1,1),new H0(0,1,1,1),new H0(3,1,1,1),new H0(1,1,1,1),new H0(3,0,1,1),new H0(1,0,1,1)],this._cubeDirections=[new k2(1,0,0),new k2(-1,0,0),new k2(0,0,1),new k2(0,0,-1),new k2(0,1,0),new k2(0,-1,0)],this._cubeUps=[new k2(0,1,0),new k2(0,1,0),new k2(0,1,0),new k2(0,1,0),new k2(0,0,1),new k2(0,0,-1)]}updateMatrices(e,t=0){const i=this.camera,r=this.matrix,a=e.distance||i.far;a!==i.far&&(i.far=a,i.updateProjectionMatrix()),Va.setFromMatrixPosition(e.matrixWorld),i.position.copy(Va),cd.copy(i.position),cd.add(this._cubeDirections[t]),i.up.copy(this._cubeUps[t]),i.lookAt(cd),i.updateMatrixWorld(),r.makeTranslation(-Va.x,-Va.y,-Va.z),i_.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse),this._frustum.setFromProjectionMatrix(i_)}}class sw extends Ul{constructor(e,t,i=0,r=2){super(e,t),this.isPointLight=!0,this.type="PointLight",this.distance=i,this.decay=r,this.shadow=new kV}get power(){return this.intensity*4*Math.PI}set power(e){this.intensity=e/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.decay=e.decay,this.shadow=e.shadow.clone(),this}}class FV extends If{constructor(){super(new Ll(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0}}class Jo extends Ul{constructor(e,t){super(e,t),this.isDirectionalLight=!0,this.type="DirectionalLight",this.position.copy(pe.DEFAULT_UP),this.updateMatrix(),this.target=new pe,this.shadow=new FV}dispose(){this.shadow.dispose()}copy(e){return super.copy(e),this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}class ow extends Ul{constructor(e,t){super(e,t),this.isAmbientLight=!0,this.type="AmbientLight"}}class u4{static decodeText(e){if(typeof TextDecoder!="undefined")return new TextDecoder().decode(e);let t="";for(let i=0,r=e.length;i{t&&t(u),a.manager.itemEnd(e)}).catch(u=>{r&&r(u)});return}return setTimeout(function(){t&&t(s),a.manager.itemEnd(e)},0),s}const o={};o.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",o.headers=this.requestHeader;const l=fetch(e,o).then(function(u){return u.blob()}).then(function(u){return createImageBitmap(u,Object.assign(a.options,{colorSpaceConversion:"none"}))}).then(function(u){return j5.add(e,u),t&&t(u),a.manager.itemEnd(e),u}).catch(function(u){r&&r(u),j5.remove(e),a.manager.itemError(e),a.manager.itemEnd(e)});j5.add(e,l),a.manager.itemStart(e)}}class OV{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=r_(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const t=r_();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function r_(){return(typeof performance=="undefined"?Date:performance).now()}const kf="\\[\\]\\.:\\/",BV=new RegExp("["+kf+"]","g"),Ff="[^"+kf+"]",zV="[^"+kf.replace("\\.","")+"]",GV=/((?:WC+[\/:])*)/.source.replace("WC",Ff),VV=/(WCOD+)?/.source.replace("WCOD",zV),HV=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",Ff),jV=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",Ff),WV=new RegExp("^"+GV+VV+HV+jV+"$"),$V=["material","materials","bones","map"];class YV{constructor(e,t,i){const r=i||ne.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,r)}getValue(e,t){this.bind();const i=this._targetGroup.nCachedObjects_,r=this._bindings[i];r!==void 0&&r.getValue(e,t)}setValue(e,t){const i=this._bindings;for(let r=this._targetGroup.nCachedObjects_,a=i.length;r!==a;++r)i[r].setValue(e,t)}bind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,i=e.length;t!==i;++t)e[t].bind()}unbind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,i=e.length;t!==i;++t)e[t].unbind()}}class ne{constructor(e,t,i){this.path=t,this.parsedPath=i||ne.parseTrackName(t),this.node=ne.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,t,i){return e&&e.isAnimationObjectGroup?new ne.Composite(e,t,i):new ne(e,t,i)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(BV,"")}static parseTrackName(e){const t=WV.exec(e);if(t===null)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const i={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},r=i.nodeName&&i.nodeName.lastIndexOf(".");if(r!==void 0&&r!==-1){const a=i.nodeName.substring(r+1);$V.indexOf(a)!==-1&&(i.nodeName=i.nodeName.substring(0,r),i.objectName=a)}if(i.propertyName===null||i.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return i}static findNode(e,t){if(t===void 0||t===""||t==="."||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){const i=e.skeleton.getBoneByName(t);if(i!==void 0)return i}if(e.children){const i=function(a){for(let s=0;st}}class Ol{constructor(){this.events=new Map}on(e,t){let i=this.events.get(e);i||(i=new Set,this.events.set(e,i)),i.add(t)}off(e,t){const i=this.events.get(e);i&&(t?i.delete(t):this.events.delete(e))}emit(e,...t){const i=this.events.get(e);i&&i.forEach(r=>{r(...t)})}once(e,t){const i=(...r)=>{t(...r),this.off(e,i)};this.on(e,i)}}class ZV extends Ol{constructor({canvas:e}){super(),this.canvas=e,this.maxPixelRatio=1,this.handleResize=()=>{this.init(),this.emit("resize")},this.init(),window.addEventListener("resize",this.handleResize)}init(){var t;const e=((t=this.canvas)==null?void 0:t.parentNode)||this.canvas||document.documentElement;this.width=e.offsetWidth||window.innerWidth||1,this.height=e.offsetHeight||window.innerHeight||1,this.pixelRatio=Math.min(window.devicePixelRatio||1,this.maxPixelRatio)}destroy(){window.removeEventListener("resize",this.handleResize),this.off("resize")}}class QV extends Ol{constructor(){super(),this.start=Date.now(),this.current=this.start,this.elapsed=0,this.delta=16,this.clock=new OV,this.raf=JV(()=>this.tick()),this.raf.start()}tick(){const e=Date.now();this.delta=e-this.current,this.current=e,this.elapsed=this.current-this.start;const t=this.clock.getDelta(),i=this.clock.getElapsedTime();this.emit("tick",t,i)}destroy(){this.pause(),this.off("tick")}pause(){this.raf.pause()}resume(){this.raf.resume()}isActive(){this.raf.isActive()}}function uw(n,e=!1){const t=n[0].index!==null,i=new Set(Object.keys(n[0].attributes)),r=new Set(Object.keys(n[0].morphAttributes)),a={},s={},o=n[0].morphTargetsRelative,l=new se;let u=0;for(let d=0;d=2.0 are supported."));return}const u=new LH(a,{path:t||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});u.fileLoader.setRequestHeader(this.requestHeader);for(let d=0;d=0&&o[h]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+h+'".')}}u.setExtensions(s),u.setPlugins(o),u.parse(i,r)}parseAsync(e,t){const i=this;return new Promise(function(r,a){i.parse(e,t,r,a)})}}function tH(){let n={};return{get:function(e){return n[e]},add:function(e,t){n[e]=t},remove:function(e){delete n[e]},removeAll:function(){n={}}}}const M0={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class nH{constructor(e){this.parser=e,this.name=M0.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const e=this.parser,t=this.parser.json.nodes||[];for(let i=0,r=t.length;i=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return t.loadTextureImage(e,a.source,s)}}class mH{constructor(e){this.parser=e,this.name=M0.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){const t=this.name,i=this.parser,r=i.json,a=r.textures[e];if(!a.extensions||!a.extensions[t])return null;const s=a.extensions[t],o=r.images[s.source];let l=i.textureLoader;if(o.uri){const u=i.options.manager.getHandler(o.uri);u!==null&&(l=u)}return this.detectSupport().then(function(u){if(u)return i.loadTextureImage(e,s.source,l);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return i.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}}class gH{constructor(e){this.parser=e,this.name=M0.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){const t=this.name,i=this.parser,r=i.json,a=r.textures[e];if(!a.extensions||!a.extensions[t])return null;const s=a.extensions[t],o=r.images[s.source];let l=i.textureLoader;if(o.uri){const u=i.options.manager.getHandler(o.uri);u!==null&&(l=u)}return this.detectSupport().then(function(u){if(u)return i.loadTextureImage(e,s.source,l);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return i.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}}class vH{constructor(e){this.name=M0.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){const t=this.parser.json,i=t.bufferViews[e];if(i.extensions&&i.extensions[this.name]){const r=i.extensions[this.name],a=this.parser.getDependency("buffer",r.buffer),s=this.parser.options.meshoptDecoder;if(!s||!s.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return a.then(function(o){const l=r.byteOffset||0,u=r.byteLength||0,d=r.count,h=r.byteStride,f=new Uint8Array(o,l,u);return s.decodeGltfBufferAsync?s.decodeGltfBufferAsync(d,h,f,r.mode,r.filter).then(function(v){return v.buffer}):s.ready.then(function(){const v=new ArrayBuffer(d*h);return s.decodeGltfBuffer(new Uint8Array(v),d,h,f,r.mode,r.filter),v})})}else return null}}class yH{constructor(e){this.name=M0.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){const t=this.parser.json,i=t.nodes[e];if(!i.extensions||!i.extensions[this.name]||i.mesh===void 0)return null;const r=t.meshes[i.mesh];for(const u of r.primitives)if(u.mode!==b6.TRIANGLES&&u.mode!==b6.TRIANGLE_STRIP&&u.mode!==b6.TRIANGLE_FAN&&u.mode!==void 0)return null;const s=i.extensions[this.name].attributes,o=[],l={};for(const u in s)o.push(this.parser.getDependency("accessor",s[u]).then(d=>(l[u]=d,l[u])));return o.length<1?null:(o.push(this.parser.createNodeMesh(e)),Promise.all(o).then(u=>{const d=u.pop(),h=d.isGroup?d.children:[d],f=u[0].count,v=[];for(const _ of h){const b=new o0,y=new k2,w=new Z6,U=new k2(1,1,1),P=new GG(_.geometry,_.material,f);for(let O=0;O0||n.search(/^data\:image\/jpeg/)===0?"image/jpeg":n.search(/\.webp($|\?)/i)>0||n.search(/^data\:image\/webp/)===0?"image/webp":"image/png"}const NH=new o0;class LH{constructor(e={},t={}){this.json=e,this.extensions={},this.plugins={},this.options=t,this.cache=new tH,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let i=!1,r=!1,a=-1;typeof navigator!="undefined"&&(i=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===!0,r=navigator.userAgent.indexOf("Firefox")>-1,a=r?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),typeof createImageBitmap=="undefined"||i||r&&a<98?this.textureLoader=new Lf(this.options.manager):this.textureLoader=new UV(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new k4(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,t){const i=this,r=this.json,a=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(s){return s._markDefs&&s._markDefs()}),Promise.all(this._invokeAll(function(s){return s.beforeRoot&&s.beforeRoot()})).then(function(){return Promise.all([i.getDependencies("scene"),i.getDependencies("animation"),i.getDependencies("camera")])}).then(function(s){const o={scene:s[0][r.scene||0],scenes:s[0],animations:s[1],cameras:s[2],asset:r.asset,parser:i,userData:{}};return F9(a,o,r),D5(o,r),Promise.all(i._invokeAll(function(l){return l.afterRoot&&l.afterRoot(o)})).then(function(){e(o)})}).catch(t)}_markDefs(){const e=this.json.nodes||[],t=this.json.skins||[],i=this.json.meshes||[];for(let r=0,a=t.length;r{const l=this.associations.get(s);l!=null&&this.associations.set(o,l);for(const[u,d]of s.children.entries())a(d,o.children[u])};return a(i,r),r.name+="_instance_"+e.uses[t]++,r}_invokeOne(e){const t=Object.values(this.plugins);t.push(this);for(let i=0;i=2&&y.setY(S2,q[K*l+1]),l>=3&&y.setZ(S2,q[K*l+2]),l>=4&&y.setW(S2,q[K*l+3]),l>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return y})}loadTexture(e){const t=this.json,i=this.options,a=t.textures[e].source,s=t.images[a];let o=this.textureLoader;if(s.uri){const l=i.manager.getHandler(s.uri);l!==null&&(o=l)}return this.loadTextureImage(e,a,o)}loadTextureImage(e,t,i){const r=this,a=this.json,s=a.textures[e],o=a.images[t],l=(o.uri||o.bufferView)+":"+s.sampler;if(this.textureCache[l])return this.textureCache[l];const u=this.loadImageSource(t,i).then(function(d){d.flipY=!1,d.name=s.name||o.name||"",d.name===""&&typeof o.uri=="string"&&o.uri.startsWith("data:image/")===!1&&(d.name=o.uri);const f=(a.samplers||{})[s.sampler]||{};return d.magFilter=d_[f.magFilter]||at,d.minFilter=d_[f.minFilter]||Zi,d.wrapS=h_[f.wrapS]||wt,d.wrapT=h_[f.wrapT]||wt,r.associations.set(d,{textures:e}),d}).catch(function(){return null});return this.textureCache[l]=u,u}loadImageSource(e,t){const i=this,r=this.json,a=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(h=>h.clone());const s=r.images[e],o=self.URL||self.webkitURL;let l=s.uri||"",u=!1;if(s.bufferView!==void 0)l=i.getDependency("bufferView",s.bufferView).then(function(h){u=!0;const f=new Blob([h],{type:s.mimeType});return l=o.createObjectURL(f),l});else if(s.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");const d=Promise.resolve(l).then(function(h){return new Promise(function(f,v){let _=f;t.isImageBitmapLoader===!0&&(_=function(b){const y=new pt(b);y.needsUpdate=!0,f(y)}),t.load(u4.resolveURL(h,a.path),_,void 0,v)})}).then(function(h){return u===!0&&o.revokeObjectURL(l),h.userData.mimeType=s.mimeType||RH(s.uri),h}).catch(function(h){throw console.error("THREE.GLTFLoader: Couldn't load texture",l),h});return this.sourceCache[e]=d,d}assignTexture(e,t,i,r){const a=this;return this.getDependency("texture",i.index).then(function(s){if(!s)return null;if(i.texCoord!==void 0&&i.texCoord>0&&(s=s.clone(),s.channel=i.texCoord),a.extensions[M0.KHR_TEXTURE_TRANSFORM]){const o=i.extensions!==void 0?i.extensions[M0.KHR_TEXTURE_TRANSFORM]:void 0;if(o){const l=a.associations.get(s);s=a.extensions[M0.KHR_TEXTURE_TRANSFORM].extendTexture(s,o),a.associations.set(s,l)}}return r!==void 0&&(s.colorSpace=r),e[t]=s,s})}assignFinalMaterial(e){const t=e.geometry;let i=e.material;const r=t.attributes.tangent===void 0,a=t.attributes.color!==void 0,s=t.attributes.normal===void 0;if(e.isPoints){const o="PointsMaterial:"+i.uuid;let l=this.cache.get(o);l||(l=new Y4,R6.prototype.copy.call(l,i),l.color.copy(i.color),l.map=i.map,l.sizeAttenuation=!1,this.cache.add(o,l)),i=l}else if(e.isLine){const o="LineBasicMaterial:"+i.uuid;let l=this.cache.get(o);l||(l=new pi,R6.prototype.copy.call(l,i),l.color.copy(i.color),l.map=i.map,this.cache.add(o,l)),i=l}if(r||a||s){let o="ClonedMaterial:"+i.uuid+":";r&&(o+="derivative-tangents:"),a&&(o+="vertex-colors:"),s&&(o+="flat-shading:");let l=this.cache.get(o);l||(l=i.clone(),a&&(l.vertexColors=!0),s&&(l.flatShading=!0),r&&(l.normalScale&&(l.normalScale.y*=-1),l.clearcoatNormalScale&&(l.clearcoatNormalScale.y*=-1)),this.cache.add(o,l),this.associations.set(l,this.associations.get(i))),i=l}e.material=i}getMaterialType(){return Y9}loadMaterial(e){const t=this,i=this.json,r=this.extensions,a=i.materials[e];let s;const o={},l=a.extensions||{},u=[];if(l[M0.KHR_MATERIALS_UNLIT]){const h=r[M0.KHR_MATERIALS_UNLIT];s=h.getMaterialType(),u.push(h.extendParams(o,a,t))}else{const h=a.pbrMetallicRoughness||{};if(o.color=new R1(1,1,1),o.opacity=1,Array.isArray(h.baseColorFactor)){const f=h.baseColorFactor;o.color.setRGB(f[0],f[1],f[2],mt),o.opacity=f[3]}h.baseColorTexture!==void 0&&u.push(t.assignTexture(o,"map",h.baseColorTexture,J0)),o.metalness=h.metallicFactor!==void 0?h.metallicFactor:1,o.roughness=h.roughnessFactor!==void 0?h.roughnessFactor:1,h.metallicRoughnessTexture!==void 0&&(u.push(t.assignTexture(o,"metalnessMap",h.metallicRoughnessTexture)),u.push(t.assignTexture(o,"roughnessMap",h.metallicRoughnessTexture))),s=this._invokeOne(function(f){return f.getMaterialType&&f.getMaterialType(e)}),u.push(Promise.all(this._invokeAll(function(f){return f.extendMaterialParams&&f.extendMaterialParams(e,o)})))}a.doubleSided===!0&&(o.side=he);const d=a.alphaMode||hd.OPAQUE;if(d===hd.BLEND?(o.transparent=!0,o.depthWrite=!1):(o.transparent=!1,d===hd.MASK&&(o.alphaTest=a.alphaCutoff!==void 0?a.alphaCutoff:.5)),a.normalTexture!==void 0&&s!==V0&&(u.push(t.assignTexture(o,"normalMap",a.normalTexture)),o.normalScale=new F3(1,1),a.normalTexture.scale!==void 0)){const h=a.normalTexture.scale;o.normalScale.set(h,h)}if(a.occlusionTexture!==void 0&&s!==V0&&(u.push(t.assignTexture(o,"aoMap",a.occlusionTexture)),a.occlusionTexture.strength!==void 0&&(o.aoMapIntensity=a.occlusionTexture.strength)),a.emissiveFactor!==void 0&&s!==V0){const h=a.emissiveFactor;o.emissive=new R1().setRGB(h[0],h[1],h[2],mt)}return a.emissiveTexture!==void 0&&s!==V0&&u.push(t.assignTexture(o,"emissiveMap",a.emissiveTexture,J0)),Promise.all(u).then(function(){const h=new s(o);return a.name&&(h.name=a.name),D5(h,a),t.associations.set(h,{materials:e}),a.extensions&&F9(r,h,a),h})}createUniqueName(e){const t=ne.sanitizeNodeName(e||"");return t in this.nodeNamesUsed?t+"_"+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){const t=this,i=this.extensions,r=this.primitiveCache;function a(o){return i[M0.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(o,t).then(function(l){return f_(l,o,t)})}const s=[];for(let o=0,l=e.length;o0&&EH(w,a),w.name=t.createUniqueName(a.name||"mesh_"+e),D5(w,a),y.extensions&&F9(r,w,y),t.assignFinalMaterial(w),h.push(w)}for(let v=0,_=h.length;v<_;v++)t.associations.set(h[v],{meshes:e,primitives:v});if(h.length===1)return a.extensions&&F9(r,h[0],a),h[0];const f=new z0;a.extensions&&F9(r,f,a),t.associations.set(f,{meshes:e});for(let v=0,_=h.length;v<_;v++)f.add(h[v]);return f})}loadCamera(e){let t;const i=this.json.cameras[e],r=i[i.type];if(!r){console.warn("THREE.GLTFLoader: Missing camera parameters.");return}return i.type==="perspective"?t=new Wt(yf.radToDeg(r.yfov),r.aspectRatio||1,r.znear||1,r.zfar||2e6):i.type==="orthographic"&&(t=new Ll(-r.xmag,r.xmag,r.ymag,-r.ymag,r.znear,r.zfar)),i.name&&(t.name=this.createUniqueName(i.name)),D5(t,i),Promise.resolve(t)}loadSkin(e){const t=this.json.skins[e],i=[];for(let r=0,a=t.joints.length;r1?d=new z0:u.length===1?d=u[0]:d=new pe,d!==u[0])for(let h=0,f=u.length;h{const h=new Map;for(const[f,v]of r.associations)(f instanceof R6||f instanceof pt)&&h.set(f,v);return d.traverse(f=>{const v=r.associations.get(f);v!=null&&h.set(f,v)}),h};return r.associations=u(a),a})}_createAnimationTracks(e,t,i,r,a){const s=[],o=e.name?e.name:e.uuid,l=[];I5[a.path]===I5.weights?e.traverse(function(f){f.morphTargetInfluences&&l.push(f.name?f.name:f.uuid)}):l.push(o);let u;switch(I5[a.path]){case I5.weights:u=Hr;break;case I5.rotation:u=l8;break;case I5.position:case I5.scale:u=jr;break;default:switch(i.itemSize){case 1:u=Hr;break;case 2:case 3:default:u=jr;break}break}const d=r.interpolation!==void 0?AH[r.interpolation]:zr,h=this._getArrayFromAccessor(i);for(let f=0,v=l.length;f{this.parse(s,t,r)},i,r)}parse(e,t,i=()=>{}){this.decodeDracoFile(e,t,null,null,J0).catch(i)}decodeDracoFile(e,t,i,r,a=mt,s=()=>{}){const o={attributeIDs:i||this.defaultAttributeIDs,attributeTypes:r||this.defaultAttributeTypes,useUniqueIDs:!!i,vertexColorSpace:a};return this.decodeGeometry(e,o).then(t).catch(s)}decodeGeometry(e,t){const i=JSON.stringify(t);if(pd.has(e)){const l=pd.get(e);if(l.key===i)return l.promise;if(e.byteLength===0)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let r;const a=this.workerNextTaskID++,s=e.byteLength,o=this._getWorker(a,s).then(l=>(r=l,new Promise((u,d)=>{r._callbacks[a]={resolve:u,reject:d},r.postMessage({type:"decode",id:a,taskConfig:t,buffer:e},[e])}))).then(l=>this._createGeometry(l.geometry));return o.catch(()=>!0).then(()=>{r&&a&&this._releaseTask(r,a)}),pd.set(e,{key:i,promise:o}),o}_createGeometry(e){const t=new se;e.index&&t.setIndex(new Ue(e.index.array,1));for(let i=0;i{i.load(e,r,void 0,a)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;const e=typeof WebAssembly!="object"||this.decoderConfig.type==="js",t=[];return e?t.push(this._loadLibrary("draco_decoder.js","text")):(t.push(this._loadLibrary("draco_wasm_wrapper.js","text")),t.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(t).then(i=>{const r=i[0];e||(this.decoderConfig.wasmBinary=i[1]);const a=FH.toString(),s=["/* draco decoder */",r,"","/* worker */",a.substring(a.indexOf("{")+1,a.lastIndexOf("}"))].join(` `);this.workerSourceURL=URL.createObjectURL(new Blob([s]))}),this.decoderPending}_getWorker(e,t){return this._initDecoder().then(()=>{if(this.workerPool.lengtha._taskLoad?-1:1});const i=this.workerPool[this.workerPool.length-1];return i._taskCosts[e]=t,i._taskLoad+=t,i})}_releaseTask(e,t){e._taskLoad-=e._taskCosts[t],delete e._callbacks[t],delete e._taskCosts[t]}debug(){console.log("Task load: ",this.workerPool.map(e=>e._taskLoad))}dispose(){for(let e=0;e{const h=d.draco,f=new h.Decoder;try{const v=t(h,f,new Int8Array(l),u),_=v.attributes.map(b=>b.array.buffer);v.index&&_.push(v.index.array.buffer),self.postMessage({type:"decode",id:o.id,geometry:v},_)}catch(v){console.error(v),self.postMessage({type:"error",id:o.id,error:v.message})}finally{h.destroy(f)}});break}};function t(s,o,l,u){const d=u.attributeIDs,h=u.attributeTypes;let f,v;const _=o.GetEncodedGeometryType(l);if(_===s.TRIANGULAR_MESH)f=new s.Mesh,v=o.DecodeArrayToMesh(l,l.byteLength,f);else if(_===s.POINT_CLOUD)f=new s.PointCloud,v=o.DecodeArrayToPointCloud(l,l.byteLength,f);else throw new Error("THREE.DRACOLoader: Unexpected geometry type.");if(!v.ok()||f.ptr===0)throw new Error("THREE.DRACOLoader: Decoding failed: "+v.error_msg());const b={index:null,attributes:[]};for(const y in d){const w=self[h[y]];let U,P;if(u.useUniqueIDs)P=d[y],U=o.GetAttributeByUniqueId(f,P);else{if(P=o.GetAttributeId(f,s[d[y]]),P===-1)continue;U=o.GetAttribute(f,P)}const O=r(s,o,f,y,w,U);y==="color"&&(O.vertexColorSpace=u.vertexColorSpace),b.attributes.push(O)}return _===s.TRIANGULAR_MESH&&(b.index=i(s,o,f)),s.destroy(f),b}function i(s,o,l){const d=l.num_faces()*3,h=d*4,f=s._malloc(h);o.GetTrianglesUInt32Array(l,h,f);const v=new Uint32Array(s.HEAPF32.buffer,f,d).slice();return s._free(f),{array:v,itemSize:1}}function r(s,o,l,u,d,h){const f=h.num_components(),_=l.num_points()*f,b=_*d.BYTES_PER_ELEMENT,y=a(s,d),w=s._malloc(b);o.GetAttributeDataArrayForAllPoints(l,h,y,b,w);const U=new d(s.HEAPF32.buffer,w,_).slice();return s._free(w),{name:u,array:U,itemSize:f}}function a(s,o){switch(o){case Float32Array:return s.DT_FLOAT32;case Int8Array:return s.DT_INT8;case Int16Array:return s.DT_INT16;case Int32Array:return s.DT_INT32;case Uint8Array:return s.DT_UINT8;case Uint16Array:return s.DT_UINT16;case Uint32Array:return s.DT_UINT32}}}let yo={GLTFLoader:"GLTF",TextureLoader:"Texture",FontLoader:"Font",MMDLoader:"MMD",MTLLoader:"MTL",OBJLoader:"OBJ",PCDLoader:"PCD",FileLoader:"File",ImageLoader:"Image",ObjectLoader:"Object",MaterialLoader:"Material",CubeTextureLoader:"CubeTexture",RGBELoader:"RGBELoader",FBXLoader:"FBX"};const DH=Object.values(yo);class UH extends Ol{constructor({dracoPath:e,cloneTextures:t=!1}={}){super(),this.dracoPath=e||"./draco/gltf/",this.cloneTextures=t,this.loaded=!1,this.itemsLoaded=0,this.itemsTotal=0,this.assets=[],this.loaders={},this.initDefaultLoader()}initManager(){const e=new aw;return e.onProgress=(t,i,r)=>{this.itemsLoaded=i,this.itemsTotal=r,this.emit("onProgress",t,i,r)},e.onError=t=>{this.emit("onError",t)},e}initDefaultLoader(){[{loader:eH,name:"GLTFLoader"},{loader:Lf,name:"TextureLoader"}].map(e=>this.addLoader(e.loader,e.name))}initDraco(e){const t=new kH;t.setDecoderPath(this.dracoPath),t.preload(),e.setDRACOLoader(t)}addLoader(e,t=""){if(e.name&&yo[t]){if(!this.loaders[t]){let r=new e(this.manager),a=t;r instanceof u9&&(a==="GLTFLoader"&&this.initDraco(r),this.loaders[yo[a]]=r)}}else throw new Error("请配置正确的加载器")}loadItem(e){return new Promise((t,i)=>{if(!this.loaders[e.type])throw new Error(`资源${e.path}没有配置加载器`);this.loaders[e.type].load(e.path,r=>{this.itemsLoaded++,this.emit("onProgress",e.path,this.itemsLoaded,this.itemsTotal),t(R3(d3({},e),{data:r}))},null,r=>{this.emit("onError",r),i(r)})})}loadAll(e){return this.itemsLoaded=0,this.itemsTotal=0,new Promise((t,i)=>{let r=this.matchType(e),a=[];this.itemsTotal=r.length,r.map(s=>{let o=this.loadItem(s);a.push(o)}),Promise.all(a).then(s=>{this.assets=s,this.loaded=!0,this.emit("onLoad"),t(s)}).catch(s=>{this.emit("onError",s),i(s)})})}matchType(e){return this.assets=e.map(t=>({type:DH.includes(t.type)?t.type:"",path:t.path,name:t.name,data:null})).filter(t=>{if(!t.type)throw new Error(`资源${t.path},type不正确`);return t.type}),this.assets}getResource(e){var i;let t=this.assets.find(r=>r.name===e);if(!t)throw new Error(`资源${e}不存在`);return this.cloneTextures&&t.type===yo.TextureLoader&&((i=t.data)!=null&&i.isTexture)?t.data.clone():t.data}destroy(){this.off("onProgress"),this.off("onLoad"),this.off("onError"),this.assets=[]}}const hw=n=>{n instanceof Array?n.forEach(hw):(n.map&&n.map.dispose(),n.dispose())},fw=n=>{n.geometry&&n.geometry.dispose(),n.material&&hw(n.material),n.texture&&n.texture.dispose(),n.children&&n.children.forEach(fw)},OH=n=>{if(n&&n.children)for(;n.children.length;){const e=n.children[0];n.remove(e),fw(e)}};var Df={exports:{}},BH=function(e,t,i,r){var a=e[0],s=e[1],o=!1;i===void 0&&(i=0),r===void 0&&(r=t.length);for(var l=(r-i)/2,u=0,d=l-1;us!=_>s&&a<(v-h)*(s-f)/(_-f)+h;b&&(o=!o)}return o},zH=function(e,t,i,r){var a=e[0],s=e[1],o=!1;i===void 0&&(i=0),r===void 0&&(r=t.length);for(var l=r-i,u=0,d=l-1;us!=_>s&&a<(v-h)*(s-f)/(_-f)+h;b&&(o=!o)}return o},pw=BH,mw=zH;Df.exports=function(e,t,i,r){return t.length>0&&Array.isArray(t[0])?mw(e,t,i,r):pw(e,t,i,r)};Df.exports.nested=mw;Df.exports.flat=pw;function GH(n=10,e=62){var t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),i=[],r;if(e=e||t.length,n)for(r=0;rVH(typeof n=="string"?JSON.parse(n):n);function VH(n){var t,i,r,a;let e=(n==null?void 0:n.features)||[];for(let s=0;sMath.PI&&(H1-=B3),l0<-Math.PI?l0+=B3:l0>Math.PI&&(l0-=B3),H1<=l0?o.theta=Math.max(H1,Math.min(l0,o.theta)):o.theta=o.theta>(H1+l0)/2?Math.max(H1,o.theta):Math.min(l0,o.theta)),o.phi=Math.max(i.minPolarAngle,Math.min(i.maxPolarAngle,o.phi)),o.makeSafe(),i.enableDamping===!0?i.target.addScaledVector(d,i.dampingFactor):i.target.add(d),i.target.sub(i.cursor),i.target.clampLength(i.minTargetRadius,i.maxTargetRadius),i.target.add(i.cursor),i.zoomToCursor&&q||i.object.isOrthographicCamera?o.radius=p2(o.radius):o.radius=p2(o.radius*u),H2.setFromSpherical(o),H2.applyQuaternion(s1),o1.copy(i.target).add(H2),i.object.lookAt(i.target),i.enableDamping===!0?(l.theta*=1-i.dampingFactor,l.phi*=1-i.dampingFactor,d.multiplyScalar(1-i.dampingFactor)):(l.set(0,0,0),d.set(0,0,0));let L0=!1;if(i.zoomToCursor&&q){let J1=null;if(i.object.isPerspectiveCamera){const B1=H2.length();J1=p2(B1*u);const me=B1-J1;i.object.position.addScaledVector(O,me),i.object.updateMatrixWorld()}else if(i.object.isOrthographicCamera){const B1=new k2(j.x,j.y,0);B1.unproject(i.object),i.object.zoom=Math.max(i.minZoom,Math.min(i.maxZoom,i.object.zoom/u)),i.object.updateProjectionMatrix(),L0=!0;const me=new k2(j.x,j.y,0);me.unproject(i.object),i.object.position.sub(me).add(B1),i.object.updateMatrixWorld(),J1=H2.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),i.zoomToCursor=!1;J1!==null&&(this.screenSpacePanning?i.target.set(0,0,-1).transformDirection(i.object.matrix).multiplyScalar(J1).add(i.object.position):(V7.origin.copy(i.object.position),V7.direction.set(0,0,-1).transformDirection(i.object.matrix),Math.abs(i.object.up.dot(V7.direction))s||8*(1-U2.dot(i.object.quaternion))>s||q3.distanceToSquared(i.target)>0?(i.dispatchEvent(p_),E1.copy(i.object.position),U2.copy(i.object.quaternion),q3.copy(i.target),!0):!1}}(),this.dispose=function(){i.domElement.removeEventListener("contextmenu",m1),i.domElement.removeEventListener("pointerdown",T2),i.domElement.removeEventListener("pointercancel",u2),i.domElement.removeEventListener("wheel",t2),i.domElement.removeEventListener("pointermove",o2),i.domElement.removeEventListener("pointerup",u2),i._domElementKeyEvents!==null&&(i._domElementKeyEvents.removeEventListener("keydown",s3),i._domElementKeyEvents=null)};const i=this,r={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let a=r.NONE;const s=1e-6,o=new s_,l=new s_;let u=1;const d=new k2,h=new F3,f=new F3,v=new F3,_=new F3,b=new F3,y=new F3,w=new F3,U=new F3,P=new F3,O=new k2,j=new F3;let q=!1;const K=[],c2={};let S2=!1;function H(H2){return H2!==null?2*Math.PI/60*i.autoRotateSpeed*H2:2*Math.PI/60/60*i.autoRotateSpeed}function Z(H2){const j3=Math.abs(H2*.01);return Math.pow(.95,i.zoomSpeed*j3)}function G2(H2){l.theta-=H2}function q2(H2){l.phi-=H2}const C2=function(){const H2=new k2;return function(s1,E1){H2.setFromMatrixColumn(E1,0),H2.multiplyScalar(-s1),d.add(H2)}}(),E2=function(){const H2=new k2;return function(s1,E1){i.screenSpacePanning===!0?H2.setFromMatrixColumn(E1,1):(H2.setFromMatrixColumn(E1,0),H2.crossVectors(i.object.up,H2)),H2.multiplyScalar(s1),d.add(H2)}}(),A2=function(){const H2=new k2;return function(s1,E1){const U2=i.domElement;if(i.object.isPerspectiveCamera){const q3=i.object.position;H2.copy(q3).sub(i.target);let B3=H2.length();B3*=Math.tan(i.object.fov/2*Math.PI/180),C2(2*s1*B3/U2.clientHeight,i.object.matrix),E2(2*E1*B3/U2.clientHeight,i.object.matrix)}else i.object.isOrthographicCamera?(C2(s1*(i.object.right-i.object.left)/i.object.zoom/U2.clientWidth,i.object.matrix),E2(E1*(i.object.top-i.object.bottom)/i.object.zoom/U2.clientHeight,i.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),i.enablePan=!1)}}();function X2(H2){i.object.isPerspectiveCamera||i.object.isOrthographicCamera?u/=H2:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),i.enableZoom=!1)}function b2(H2){i.object.isPerspectiveCamera||i.object.isOrthographicCamera?u*=H2:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),i.enableZoom=!1)}function J(H2,j3){if(!i.zoomToCursor)return;q=!0;const s1=i.domElement.getBoundingClientRect(),E1=H2-s1.left,U2=j3-s1.top,q3=s1.width,B3=s1.height;j.x=E1/q3*2-1,j.y=-(U2/B3)*2+1,O.set(j.x,j.y,1).unproject(i.object).sub(i.object.position).normalize()}function p2(H2){return Math.max(i.minDistance,Math.min(i.maxDistance,H2))}function N2(H2){h.set(H2.clientX,H2.clientY)}function e3(H2){J(H2.clientX,H2.clientX),w.set(H2.clientX,H2.clientY)}function h3(H2){_.set(H2.clientX,H2.clientY)}function I2(H2){f.set(H2.clientX,H2.clientY),v.subVectors(f,h).multiplyScalar(i.rotateSpeed);const j3=i.domElement;G2(2*Math.PI*v.x/j3.clientHeight),q2(2*Math.PI*v.y/j3.clientHeight),h.copy(f),i.update()}function n2(H2){U.set(H2.clientX,H2.clientY),P.subVectors(U,w),P.y>0?X2(Z(P.y)):P.y<0&&b2(Z(P.y)),w.copy(U),i.update()}function P2(H2){b.set(H2.clientX,H2.clientY),y.subVectors(b,_).multiplyScalar(i.panSpeed),A2(y.x,y.y),_.copy(b),i.update()}function Z2(H2){J(H2.clientX,H2.clientY),H2.deltaY<0?b2(Z(H2.deltaY)):H2.deltaY>0&&X2(Z(H2.deltaY)),i.update()}function f3(H2){let j3=!1;switch(H2.code){case i.keys.UP:H2.ctrlKey||H2.metaKey||H2.shiftKey?q2(2*Math.PI*i.rotateSpeed/i.domElement.clientHeight):A2(0,i.keyPanSpeed),j3=!0;break;case i.keys.BOTTOM:H2.ctrlKey||H2.metaKey||H2.shiftKey?q2(-2*Math.PI*i.rotateSpeed/i.domElement.clientHeight):A2(0,-i.keyPanSpeed),j3=!0;break;case i.keys.LEFT:H2.ctrlKey||H2.metaKey||H2.shiftKey?G2(2*Math.PI*i.rotateSpeed/i.domElement.clientHeight):A2(i.keyPanSpeed,0),j3=!0;break;case i.keys.RIGHT:H2.ctrlKey||H2.metaKey||H2.shiftKey?G2(-2*Math.PI*i.rotateSpeed/i.domElement.clientHeight):A2(-i.keyPanSpeed,0),j3=!0;break}j3&&(H2.preventDefault(),i.update())}function v3(H2){if(K.length===1)h.set(H2.pageX,H2.pageY);else{const j3=n1(H2),s1=.5*(H2.pageX+j3.x),E1=.5*(H2.pageY+j3.y);h.set(s1,E1)}}function O3(H2){if(K.length===1)_.set(H2.pageX,H2.pageY);else{const j3=n1(H2),s1=.5*(H2.pageX+j3.x),E1=.5*(H2.pageY+j3.y);_.set(s1,E1)}}function H3(H2){const j3=n1(H2),s1=H2.pageX-j3.x,E1=H2.pageY-j3.y,U2=Math.sqrt(s1*s1+E1*E1);w.set(0,U2)}function F2(H2){i.enableZoom&&H3(H2),i.enablePan&&O3(H2)}function L3(H2){i.enableZoom&&H3(H2),i.enableRotate&&v3(H2)}function C3(H2){if(K.length==1)f.set(H2.pageX,H2.pageY);else{const s1=n1(H2),E1=.5*(H2.pageX+s1.x),U2=.5*(H2.pageY+s1.y);f.set(E1,U2)}v.subVectors(f,h).multiplyScalar(i.rotateSpeed);const j3=i.domElement;G2(2*Math.PI*v.x/j3.clientHeight),q2(2*Math.PI*v.y/j3.clientHeight),h.copy(f)}function U3(H2){if(K.length===1)b.set(H2.pageX,H2.pageY);else{const j3=n1(H2),s1=.5*(H2.pageX+j3.x),E1=.5*(H2.pageY+j3.y);b.set(s1,E1)}y.subVectors(b,_).multiplyScalar(i.panSpeed),A2(y.x,y.y),_.copy(b)}function F(H2){const j3=n1(H2),s1=H2.pageX-j3.x,E1=H2.pageY-j3.y,U2=Math.sqrt(s1*s1+E1*E1);U.set(0,U2),P.set(0,Math.pow(U.y/w.y,i.zoomSpeed)),X2(P.y),w.copy(U);const q3=(H2.pageX+j3.x)*.5,B3=(H2.pageY+j3.y)*.5;J(q3,B3)}function r1(H2){i.enableZoom&&F(H2),i.enablePan&&U3(H2)}function I3(H2){i.enableZoom&&F(H2),i.enableRotate&&C3(H2)}function T2(H2){i.enabled!==!1&&(K.length===0&&(i.domElement.setPointerCapture(H2.pointerId),i.domElement.addEventListener("pointermove",o2),i.domElement.addEventListener("pointerup",u2)),b1(H2),H2.pointerType==="touch"?D3(H2):W2(H2))}function o2(H2){i.enabled!==!1&&(H2.pointerType==="touch"?S3(H2):Y2(H2))}function u2(H2){switch(g1(H2),K.length){case 0:i.domElement.releasePointerCapture(H2.pointerId),i.domElement.removeEventListener("pointermove",o2),i.domElement.removeEventListener("pointerup",u2),i.dispatchEvent(m_),a=r.NONE;break;case 1:const j3=K[0],s1=c2[j3];D3({pointerId:j3,pageX:s1.x,pageY:s1.y});break}}function W2(H2){let j3;switch(H2.button){case 0:j3=i.mouseButtons.LEFT;break;case 1:j3=i.mouseButtons.MIDDLE;break;case 2:j3=i.mouseButtons.RIGHT;break;default:j3=-1}switch(j3){case L8.DOLLY:if(i.enableZoom===!1)return;e3(H2),a=r.DOLLY;break;case L8.ROTATE:if(H2.ctrlKey||H2.metaKey||H2.shiftKey){if(i.enablePan===!1)return;h3(H2),a=r.PAN}else{if(i.enableRotate===!1)return;N2(H2),a=r.ROTATE}break;case L8.PAN:if(H2.ctrlKey||H2.metaKey||H2.shiftKey){if(i.enableRotate===!1)return;N2(H2),a=r.ROTATE}else{if(i.enablePan===!1)return;h3(H2),a=r.PAN}break;default:a=r.NONE}a!==r.NONE&&i.dispatchEvent(md)}function Y2(H2){switch(a){case r.ROTATE:if(i.enableRotate===!1)return;I2(H2);break;case r.DOLLY:if(i.enableZoom===!1)return;n2(H2);break;case r.PAN:if(i.enablePan===!1)return;P2(H2);break}}function t2(H2){i.enabled===!1||i.enableZoom===!1||a!==r.NONE||(H2.preventDefault(),i.dispatchEvent(md),Z2(i2(H2)),i.dispatchEvent(m_))}function i2(H2){const j3=H2.deltaMode,s1={clientX:H2.clientX,clientY:H2.clientY,deltaY:H2.deltaY};switch(j3){case 1:s1.deltaY*=16;break;case 2:s1.deltaY*=100;break}return H2.ctrlKey&&!S2&&(s1.deltaY*=10),s1}function _2(H2){H2.key==="Control"&&(S2=!0,i.domElement.getRootNode().addEventListener("keyup",V2,{passive:!0,capture:!0}))}function V2(H2){H2.key==="Control"&&(S2=!1,i.domElement.getRootNode().removeEventListener("keyup",V2,{passive:!0,capture:!0}))}function s3(H2){i.enabled===!1||i.enablePan===!1||f3(H2)}function D3(H2){switch(a1(H2),K.length){case 1:switch(i.touches.ONE){case I8.ROTATE:if(i.enableRotate===!1)return;v3(H2),a=r.TOUCH_ROTATE;break;case I8.PAN:if(i.enablePan===!1)return;O3(H2),a=r.TOUCH_PAN;break;default:a=r.NONE}break;case 2:switch(i.touches.TWO){case I8.DOLLY_PAN:if(i.enableZoom===!1&&i.enablePan===!1)return;F2(H2),a=r.TOUCH_DOLLY_PAN;break;case I8.DOLLY_ROTATE:if(i.enableZoom===!1&&i.enableRotate===!1)return;L3(H2),a=r.TOUCH_DOLLY_ROTATE;break;default:a=r.NONE}break;default:a=r.NONE}a!==r.NONE&&i.dispatchEvent(md)}function S3(H2){switch(a1(H2),a){case r.TOUCH_ROTATE:if(i.enableRotate===!1)return;C3(H2),i.update();break;case r.TOUCH_PAN:if(i.enablePan===!1)return;U3(H2),i.update();break;case r.TOUCH_DOLLY_PAN:if(i.enableZoom===!1&&i.enablePan===!1)return;r1(H2),i.update();break;case r.TOUCH_DOLLY_ROTATE:if(i.enableZoom===!1&&i.enableRotate===!1)return;I3(H2),i.update();break;default:a=r.NONE}}function m1(H2){i.enabled!==!1&&H2.preventDefault()}function b1(H2){K.push(H2.pointerId)}function g1(H2){delete c2[H2.pointerId];for(let j3=0;j30){for(s=e[--t];t>0&&(i=s,r=e[--t],s=i+r,a=r-(s-i),!a););t>0&&(a<0&&e[t-1]<0||a>0&&e[t-1]>0)&&(r=a*2,i=s+r,r==i-s&&(s=i))}return s}}function*YH(n){for(const e of n)yield*Lg(e)}function vw(n){return Array.from(YH(n))}var Se=1e-6,qH=1e-12,U0=Math.PI,xn=U0/2,v_=U0/4,I6=U0*2,Yn=180/U0,it=U0/180,He=Math.abs,yw=Math.atan,F4=Math.atan2,Xe=Math.cos,KH=Math.exp,XH=Math.log,Je=Math.sin,JH=Math.sign||function(n){return n>0?1:n<0?-1:0},Bl=Math.sqrt,ZH=Math.tan;function QH(n){return n>1?0:n<-1?U0:Math.acos(n)}function D4(n){return n>1?xn:n<-1?-xn:Math.asin(n)}function Xa(){}function Zo(n,e){n&&__.hasOwnProperty(n.type)&&__[n.type](n,e)}var y_={Feature:function(n,e){Zo(n.geometry,e)},FeatureCollection:function(n,e){for(var t=n.features,i=-1,r=t.length;++iU0&&(n-=Math.round(n/I6)*I6),[n,e]}wh.invert=wh;function _w(n,e,t){return(n%=I6)?e||t?Th(T_(n),w_(e,t)):T_(n):e||t?w_(e,t):wh}function b_(n){return function(e,t){return e+=n,He(e)>U0&&(e-=Math.round(e/I6)*I6),[e,t]}}function T_(n){var e=b_(n);return e.invert=b_(-n),e}function w_(n,e){var t=Xe(n),i=Je(n),r=Xe(e),a=Je(e);function s(o,l){var u=Xe(l),d=Xe(o)*u,h=Je(o)*u,f=Je(l),v=f*t+d*i;return[F4(h*r-v*a,d*t-f*i),D4(v*r+h*a)]}return s.invert=function(o,l){var u=Xe(l),d=Xe(o)*u,h=Je(o)*u,f=Je(l),v=f*r-h*a;return[F4(h*r+f*a,d*t+v*i),D4(v*t-d*i)]},s}function tj(n){n=_w(n[0]*it,n[1]*it,n.length>2?n[2]*it:0);function e(t){return t=n(t[0]*it,t[1]*it),t[0]*=Yn,t[1]*=Yn,t}return e.invert=function(t){return t=n.invert(t[0]*it,t[1]*it),t[0]*=Yn,t[1]*=Yn,t},e}function nj(n,e,t,i,r,a){if(t){var s=Xe(e),o=Je(e),l=i*t;r==null?(r=e+i*I6,a=e-l/2):(r=x_(s,r),a=x_(s,a),(i>0?ra)&&(r+=i*I6));for(var u,d=r;i>0?d>a:d1&&n.push(n.pop().concat(n.shift()))},result:function(){var t=n;return n=[],e=null,t}}}function _o(n,e){return He(n[0]-e[0])=0;--o)r.point((h=d[o])[0],h[1]);else i(f.x,f.p.x,-1,r);f=f.p}f=f.o,d=f.z,v=!v}while(!f.v);r.lineEnd()}}}function A_(n){if(e=n.length){for(var e,t=0,i=n[0],r;++t=0?1:-1,H=S2*c2,Z=H>U0,G2=y*q;if(l.add(F4(G2*S2*Je(H),w*K+G2*Xe(H))),s+=Z?c2+S2*I6:c2,Z^_>=t^O>=t){var q2=Qo(Wr(v),Wr(P));bh(q2);var C2=Qo(a,q2);bh(C2);var E2=(Z^c2>=0?-1:1)*D4(C2[2]);(i>E2||i===E2&&(q2[0]||q2[1]))&&(o+=Z^c2>=0?1:-1)}}return(s<-Se||s0){for(l||(r.polygonStart(),l=!0),r.lineStart(),q=0;q1&&O&2&&j.push(j.pop().concat(j.shift())),d.push(j.filter(rj))}}return f}}function rj(n){return n.length>1}function aj(n,e){return((n=n.x)[0]<0?n[1]-xn-Se:xn-n[1])-((e=e.x)[0]<0?e[1]-xn-Se:xn-e[1])}const C_=Tw(function(){return!0},sj,lj,[-U0,-xn]);function sj(n){var e=NaN,t=NaN,i=NaN,r;return{lineStart:function(){n.lineStart(),r=1},point:function(a,s){var o=a>0?U0:-U0,l=He(a-e);He(l-U0)0?xn:-xn),n.point(i,t),n.lineEnd(),n.lineStart(),n.point(o,t),n.point(a,t),r=0):i!==o&&l>=U0&&(He(e-i)Se?yw((Je(e)*(a=Xe(i))*Je(t)-Je(i)*(r=Xe(e))*Je(n))/(r*a*s)):(e+i)/2}function lj(n,e,t,i){var r;if(n==null)r=t*xn,i.point(-U0,r),i.point(0,r),i.point(U0,r),i.point(U0,0),i.point(U0,-r),i.point(0,-r),i.point(-U0,-r),i.point(-U0,0),i.point(-U0,r);else if(He(n[0]-e[0])>Se){var a=n[0]0,r=He(e)>Se;function a(d,h,f,v){nj(v,n,t,f,d,h)}function s(d,h){return Xe(d)*Xe(h)>e}function o(d){var h,f,v,_,b;return{lineStart:function(){_=v=!1,b=1},point:function(y,w){var U=[y,w],P,O=s(y,w),j=i?O?0:u(y,w):O?u(y+(y<0?U0:-U0),w):0;if(!h&&(_=v=O)&&d.lineStart(),O!==v&&(P=l(h,U),(!P||_o(h,P)||_o(U,P))&&(U[2]=1)),O!==v)b=0,O?(d.lineStart(),P=l(U,h),d.point(P[0],P[1])):(P=l(h,U),d.point(P[0],P[1],2),d.lineEnd()),h=P;else if(r&&h&&i^O){var q;!(j&f)&&(q=l(U,h,!0))&&(b=0,i?(d.lineStart(),d.point(q[0][0],q[0][1]),d.point(q[1][0],q[1][1]),d.lineEnd()):(d.point(q[1][0],q[1][1]),d.lineEnd(),d.lineStart(),d.point(q[0][0],q[0][1],3)))}O&&(!h||!_o(h,U))&&d.point(U[0],U[1]),h=U,v=O,f=j},lineEnd:function(){v&&d.lineEnd(),h=null},clean:function(){return b|(_&&v)<<1}}}function l(d,h,f){var v=Wr(d),_=Wr(h),b=[1,0,0],y=Qo(v,_),w=H7(y,y),U=y[0],P=w-U*U;if(!P)return!f&&d;var O=e*w/P,j=-e*U/P,q=Qo(b,y),K=j7(b,O),c2=j7(y,j);gd(K,c2);var S2=q,H=H7(K,S2),Z=H7(S2,S2),G2=H*H-Z*(H7(K,K)-1);if(!(G2<0)){var q2=Bl(G2),C2=j7(S2,(-H-q2)/Z);if(gd(C2,K),C2=Sh(C2),!f)return C2;var E2=d[0],A2=h[0],X2=d[1],b2=h[1],J;A20^C2[1]<(He(C2[0]-E2)U0^(E2<=C2[0]&&C2[0]<=A2)){var h3=j7(S2,(-H+q2)/Z);return gd(h3,K),[C2,Sh(h3)]}}}function u(d,h){var f=i?n:U0-n,v=0;return d<-f?v|=1:d>f&&(v|=2),h<-f?v|=4:h>f&&(v|=8),v}return Tw(s,o,a,i?[0,-n]:[-U0,n-U0])}function cj(n,e,t,i,r,a){var s=n[0],o=n[1],l=e[0],u=e[1],d=0,h=1,f=l-s,v=u-o,_;if(_=t-s,!(!f&&_>0)){if(_/=f,f<0){if(_0){if(_>h)return;_>d&&(d=_)}if(_=r-s,!(!f&&_<0)){if(_/=f,f<0){if(_>h)return;_>d&&(d=_)}else if(f>0){if(_0)){if(_/=v,v<0){if(_0){if(_>h)return;_>d&&(d=_)}if(_=a-o,!(!v&&_<0)){if(_/=v,v<0){if(_>h)return;_>d&&(d=_)}else if(v>0){if(_0&&(n[0]=s+d*f,n[1]=o+d*v),h<1&&(e[0]=s+h*f,e[1]=o+h*v),!0}}}}}var Ja=1e9,$7=-Ja;function dj(n,e,t,i){function r(u,d){return n<=u&&u<=t&&e<=d&&d<=i}function a(u,d,h,f){var v=0,_=0;if(u==null||(v=s(u,h))!==(_=s(d,h))||l(u,d)<0^h>0)do f.point(v===0||v===3?n:t,v>1?i:e);while((v=(v+h+4)%4)!==_);else f.point(d[0],d[1])}function s(u,d){return He(u[0]-n)0?0:3:He(u[0]-t)0?2:1:He(u[1]-e)0?1:0:d>0?3:2}function o(u,d){return l(u.x,d.x)}function l(u,d){var h=s(u,1),f=s(d,1);return h!==f?h-f:h===0?d[1]-u[1]:h===1?u[0]-d[0]:h===2?u[1]-d[1]:d[0]-u[0]}return function(u){var d=u,h=Sw(),f,v,_,b,y,w,U,P,O,j,q,K={point:c2,lineStart:G2,lineEnd:q2,polygonStart:H,polygonEnd:Z};function c2(E2,A2){r(E2,A2)&&d.point(E2,A2)}function S2(){for(var E2=0,A2=0,X2=v.length;A2i&&(I2-e3)*(i-h3)>(n2-h3)*(n-e3)&&++E2:n2<=i&&(I2-e3)*(i-h3)<(n2-h3)*(n-e3)&&--E2;return E2}function H(){d=h,f=[],v=[],q=!0}function Z(){var E2=S2(),A2=q&&E2,X2=(f=vw(f)).length;(A2||X2)&&(u.polygonStart(),A2&&(u.lineStart(),a(null,null,1,u),u.lineEnd()),X2&&bw(f,o,E2,a,u),u.polygonEnd()),d=u,f=v=_=null}function G2(){K.point=C2,v&&v.push(_=[]),j=!0,O=!1,U=P=NaN}function q2(){f&&(C2(b,y),w&&O&&h.rejoin(),f.push(h.result())),K.point=c2,O&&d.lineEnd()}function C2(E2,A2){var X2=r(E2,A2);if(v&&_.push([E2,A2]),j)b=E2,y=A2,w=X2,j=!1,X2&&(d.lineStart(),d.point(E2,A2));else if(X2&&O)d.point(E2,A2);else{var b2=[U=Math.max($7,Math.min(Ja,U)),P=Math.max($7,Math.min(Ja,P))],J=[E2=Math.max($7,Math.min(Ja,E2)),A2=Math.max($7,Math.min(Ja,A2))];cj(b2,J,n,e,t,i)?(O||(d.lineStart(),d.point(b2[0],b2[1])),d.point(J[0],J[1]),X2||d.lineEnd(),q=!1):X2&&(d.lineStart(),d.point(E2,A2),q=!1)}U=E2,P=A2,O=X2}return K}}const M_=n=>n;var $r=1/0,el=$r,U4=-$r,tl=U4,hj={point:fj,lineStart:Xa,lineEnd:Xa,polygonStart:Xa,polygonEnd:Xa,result:function(){var n=[[$r,el],[U4,tl]];return U4=tl=-(el=$r=1/0),n}};function fj(n,e){n<$r&&($r=n),n>U4&&(U4=n),etl&&(tl=e)}const E_=hj;function Of(n){return function(e){var t=new xh;for(var i in n)t[i]=n[i];return t.stream=e,t}}function xh(){}xh.prototype={constructor:xh,point:function(n,e){this.stream.point(n,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function Bf(n,e,t){var i=n.clipExtent&&n.clipExtent();return n.scale(150).translate([0,0]),i!=null&&n.clipExtent(null),ej(t,n.stream(E_)),e(E_.result()),i!=null&&n.clipExtent(i),n}function ww(n,e,t){return Bf(n,function(i){var r=e[1][0]-e[0][0],a=e[1][1]-e[0][1],s=Math.min(r/(i[1][0]-i[0][0]),a/(i[1][1]-i[0][1])),o=+e[0][0]+(r-s*(i[1][0]+i[0][0]))/2,l=+e[0][1]+(a-s*(i[1][1]+i[0][1]))/2;n.scale(150*s).translate([o,l])},t)}function pj(n,e,t){return ww(n,[[0,0],e],t)}function mj(n,e,t){return Bf(n,function(i){var r=+e,a=r/(i[1][0]-i[0][0]),s=(r-a*(i[1][0]+i[0][0]))/2,o=-a*i[0][1];n.scale(150*a).translate([s,o])},t)}function gj(n,e,t){return Bf(n,function(i){var r=+e,a=r/(i[1][1]-i[0][1]),s=-a*i[0][0],o=(r-a*(i[1][1]+i[0][1]))/2;n.scale(150*a).translate([s,o])},t)}var P_=16,vj=Xe(30*it);function R_(n,e){return+e?_j(n,e):yj(n)}function yj(n){return Of({point:function(e,t){e=n(e,t),this.stream.point(e[0],e[1])}})}function _j(n,e){function t(i,r,a,s,o,l,u,d,h,f,v,_,b,y){var w=u-i,U=d-r,P=w*w+U*U;if(P>4*e&&b--){var O=s+f,j=o+v,q=l+_,K=Bl(O*O+j*j+q*q),c2=D4(q/=K),S2=He(He(q)-1)e||He((w*q2+U*C2)/P-.5)>.3||s*f+o*v+l*_2?E2[2]%360*it:0,q2()):[o*Yn,l*Yn,u*Yn]},Z.angle=function(E2){return arguments.length?(h=E2%360*it,q2()):h*Yn},Z.reflectX=function(E2){return arguments.length?(f=E2?-1:1,q2()):f<0},Z.reflectY=function(E2){return arguments.length?(v=E2?-1:1,q2()):v<0},Z.precision=function(E2){return arguments.length?(q=R_(K,j=E2*E2),C2()):Bl(j)},Z.fitExtent=function(E2,A2){return ww(Z,E2,A2)},Z.fitSize=function(E2,A2){return pj(Z,E2,A2)},Z.fitWidth=function(E2,A2){return mj(Z,E2,A2)},Z.fitHeight=function(E2,A2){return gj(Z,E2,A2)};function q2(){var E2=N_(t,0,0,f,v,h).apply(null,e(a,s)),A2=N_(t,i-E2[0],r-E2[1],f,v,h);return d=_w(o,l,u),K=Th(e,A2),c2=Th(d,K),q=R_(K,j),C2()}function C2(){return S2=H=null,Z}return function(){return e=n.apply(this,arguments),Z.invert=e.invert&&G2,q2()}}function zf(n,e){return[n,XH(ZH((xn+e)/2))]}zf.invert=function(n,e){return[n,2*yw(KH(e))-xn]};function Ji(){return Aj(zf).scale(961/I6)}function Aj(n){var e=wj(n),t=e.center,i=e.scale,r=e.translate,a=e.clipExtent,s=null,o,l,u;e.scale=function(h){return arguments.length?(i(h),d()):i()},e.translate=function(h){return arguments.length?(r(h),d()):r()},e.center=function(h){return arguments.length?(t(h),d()):t()},e.clipExtent=function(h){return arguments.length?(h==null?s=o=l=u=null:(s=+h[0][0],o=+h[0][1],l=+h[1][0],u=+h[1][1]),d()):s==null?null:[[s,o],[l,u]]};function d(){var h=U0*i(),f=e(tj(e.rotate()).invert([0,0]));return a(s==null?[[f[0]-h,f[1]-h],[f[0]+h,f[1]+h]]:n===zf?[[Math.max(f[0]-h,s),o],[Math.min(f[0]+h,l),u]]:[[s,Math.max(f[1]-h,o)],[l,Math.min(f[1]+h,u)]])}return d()}class Cj extends Ol{constructor(e,t={}){super();let i={isOrthographic:!1};this.config=Object.assign({},i,t),this.canvas=e,this.scene=new $T,this.sizes=new ZV(this),this.time=new QV(this),this.camera=new WH(this,{isOrthographic:this.config.isOrthographic}),this.renderer=new HH(this),this.sizes.on("resize",()=>{this.resize()}),this.time.on("tick",r=>{this.update(r)})}setAxesHelper(e=250){if(!e)return!1;let t=new lw(e);this.scene.add(t)}resize(){this.camera.resize(),this.renderer.resize()}update(e){this.camera.update(e),this.renderer.update(e)}destroy(){var e,t;this.sizes.destroy(),this.time.destroy(),this.camera.destroy(),this.renderer.destroy(),this.scene.traverse(i=>{if(i instanceof R0){i.geometry.dispose();for(const r in i.material){const a=i.material[r];a&&typeof a.dispose=="function"&&a.dispose()}}}),(t=(e=this.canvas)==null?void 0:e.parentNode)==null||t.removeChild(this.canvas)}}class Mj{constructor({material:e,time:t,size:i,diffuseColor:r,diffuseSpeed:a,diffuseWidth:s,callback:o=()=>{}}){this.time=t,this.pointShader=null,this.callback=o;let l={size:100,diffuseSpeed:15,diffuseColor:9345950,diffuseWidth:10};this.options=Object.assign({},l,{material:e,size:i,diffuseColor:r,diffuseSpeed:a,diffuseWidth:s}),this.init()}init(){let{material:e,size:t,diffuseColor:i,diffuseSpeed:r,diffuseWidth:a}=this.options,s=t/r;e.onBeforeCompile=o=>{this.pointShader=o,this.callback(o,s),o.uniforms=R3(d3({},o.uniforms),{uTime:{value:0},uSpeed:{value:r},uWidth:{value:a},uColor:{value:new R1(i)}}),o.vertexShader=o.vertexShader.replace("void main() {",` varying vec3 vPosition; void main(){ vPosition = position; `),o.fragmentShader=o.fragmentShader.replace("void main() {",` uniform float uTime; uniform float uSpeed; uniform float uWidth; uniform vec3 uColor; varying vec3 vPosition; void main(){ `),o.fragmentShader=o.fragmentShader.replace("#include ",` #ifdef OPAQUE diffuseColor.a = 1.0; #endif #ifdef USE_TRANSMISSION diffuseColor.a *= material.transmissionAlpha; #endif float r = uTime * uSpeed; float w = uWidth; // if(w>uWidth){ // w = uWidth; // }else{ // w = uTime * 1.5; // } vec2 center = vec2(0.0, 0.0); float rDistance = distance(vPosition.xy, center); if(rDistance > r && rDistance < r + 2.0 * w) { float per = 0.0; if(rDistance < r + w) { float p = smoothstep(0.0,1.0,(rDistance - r) / w); p*=p; outgoingLight = mix(outgoingLight, uColor, p); } else { float p = smoothstep(0.0,1.0,(rDistance - r - w) / w); outgoingLight = mix(uColor, outgoingLight, p); } gl_FragColor = vec4(outgoingLight, diffuseColor.a); } else { gl_FragColor = vec4(outgoingLight, 0.0); } `)}}}class Ej{constructor({scene:e,time:t},i){this.scene=e,this.time=t,this.instance=null;let r={position:new k2(0,0,0),gridSize:100,gridDivision:20,gridColor:2635578,shapeSize:1,shapeColor:9345950,pointSize:.2,pointColor:2635578,pointLayout:{row:200,col:200},pointBlending:e8};this.options=Object.assign({},r,i),this.init()}init(){let e=new z0;e.name="Grid";let t=this.createGridHelp(),i=this.createShapes(),r=this.createPoint();e.add(t,i,r),e.position.copy(this.options.position),this.instance=e,this.scene.add(e)}createShapes(){let{gridSize:e,gridDivision:t,shapeSize:i,shapeColor:r}=this.options,a=e/t,s=e/2,o=new V0({color:r,side:he}),l=[];for(let h=0;h{this.update()}),this.sizes.on("resize",()=>{this.resize()})}create(e="",t="",i=!1){let r=document.createElement("div");r.innerHTML=e,r.className=t,r.style.visibility="hidden",r.style.position="absolute",t||(r.style.padding="10px",r.style.color="#fff",r.style.fontSize="12px",r.style.textAlign="center",r.style.background="rgba(0,0,0,0.6)",r.style.borderRadius="4px");let a=null;return i?a=new Rj(r):a=new xw(r),a.init=(s,o)=>{a.element.innerHTML=s,a.element.style.visibility="visible",a.position.copy(o)},a.hide=()=>{a.element.style.visibility="hidden"},a.scaleHide=()=>{a.element.classList.add("scale-hidden")},a.show=()=>{a.element.style.visibility="visible",a.element.classList.remove("scale-hidden")},a.setParent=s=>{this.parent=s,s.add(a)},a.remove=()=>{this.parent.remove(a)},a}setLabelStyle(e,t=.1,i="x",r=Math.PI/2,a="none"){e.element.style.pointerEvents=a,e.scale.set(t,t,t),e.rotation[i]=r}setRenderLevel(e){this.css3dRender.domElement.style.zIndex=e}update(){this.css3dRender.render(this.scene,this.camera.instance)}destroy(){if(this.css3dRender){let e=this.css3dRender.domElement;e.parentNode.removeChild(e)}}resize(){let{width:e,height:t}=this.sizes;this.css3dRender.setSize(e,t)}}class k_{constructor({time:e},t){this.time=e,this.options=Object.assign({},{width:10,scale:1,position:new k2(0,0,0),needRotate:!1,rotateSpeed:.001,material:new V0({transparent:!0,opacity:1,depthTest:!0})},t);let i=new Kn(this.options.width,this.options.width),r=new R0(i,this.options.material);r.position.copy(this.options.position),r.scale.set(this.options.scale,this.options.scale,this.options.scale),this.instance=r}setParent(e){e.add(this.instance),this.time.on("tick",()=>{this.update()})}update(){this.options.needRotate&&(this.instance.rotation.z+=this.options.rotateSpeed)}}class nl{constructor({time:e},t={}){this.instance=null,this.time=e,this.enable=!0,this.config=Object.assign({num:100,range:500,speed:.01,renderOrder:99,dir:"up",material:new Y4({map:nl.createTexture(),size:20,color:16777215,transparent:!0,opacity:1,depthTest:!1,vertexColors:!0,blending:Tt,sizeAttenuation:!0})},t),this.create()}create(){const{range:e,speed:t,dir:i,material:r,num:a,renderOrder:s}=this.config,o=[],l=[],u=[];for(let h=0;hi/2&&s===1&&(f=-i/2),f<-i/2&&s==-1&&(f=i/2),o.setX(d,h),o.setZ(d,f),l.setX(d,v),l.setY(d,_)}o.needsUpdate=!0,l.needsUpdate=!0}setParent(e){e.add(this.instance),this.time.on("tick",(t,i)=>{this.enable&&this.update(t,i)})}}class Y7{constructor({},e={}){this.mapGroup=new z0,this.coordinates=[],this.config=Object.assign({position:new k2(0,0,0),geoProjectionCenter:new F3(0,0),geoProjectionScale:120,data:"",renderOrder:1,merge:!1,material:new V0({color:1582651,transparent:!0,opacity:1})},e),this.mapGroup.position.copy(this.config.position);let t=Uf(this.config.data);this.create(t)}geoProjection(e){return Ji().center(this.config.geoProjectionCenter).scale(this.config.geoProjectionScale).translate([0,0])(e)}create(e){let{merge:t}=this.config,i=[];if(e.features.forEach(r=>{const a=new pe;let{name:s,center:o=[],centroid:l=[]}=r.properties;this.coordinates.push({name:s,center:o,centroid:l}),a.userData.name=s,r.geometry.coordinates.forEach(u=>{u.forEach(d=>{const h=new vi;for(let v=0;v{var u,d,h;const i=new pe;let{name:r,center:a=[],centroid:s=[]}=t.properties;this.coordinates.push({name:r,center:a,centroid:s});const o={depth:this.config.depth,bevelEnabled:(u=this.config.bevelEnabled)!=null?u:!0,bevelSegments:(d=this.config.bevelSegments)!=null?d:1,bevelThickness:(h=this.config.bevelThickness)!=null?h:.1};let l=[this.config.topFaceMaterial,this.config.sideMaterial];t.geometry.coordinates.forEach(f=>{f.forEach((v,_)=>{const b=new vi;for(let U=0;U #include #include #include #include uniform float linewidth; uniform vec2 resolution; attribute vec3 instanceStart; attribute vec3 instanceEnd; attribute vec3 instanceColorStart; attribute vec3 instanceColorEnd; #ifdef WORLD_UNITS varying vec4 worldPos; varying vec3 worldStart; varying vec3 worldEnd; #ifdef USE_DASH varying vec2 vUv; #endif #else varying vec2 vUv; #endif #ifdef USE_DASH uniform float dashScale; attribute float instanceDistanceStart; attribute float instanceDistanceEnd; varying float vLineDistance; #endif void trimSegment( const in vec4 start, inout vec4 end ) { // trim end segment so it terminates between the camera plane and the near plane // conservative estimate of the near plane float a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column float b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column float nearEstimate = - 0.5 * b / a; float alpha = ( nearEstimate - start.z ) / ( end.z - start.z ); end.xyz = mix( start.xyz, end.xyz, alpha ); } void main() { #ifdef USE_COLOR vColor.xyz = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd; #endif #ifdef USE_DASH vLineDistance = ( position.y < 0.5 ) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd; vUv = uv; #endif float aspect = resolution.x / resolution.y; // camera space vec4 start = modelViewMatrix * vec4( instanceStart, 1.0 ); vec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 ); #ifdef WORLD_UNITS worldStart = start.xyz; worldEnd = end.xyz; #else vUv = uv; #endif // special case for perspective projection, and segments that terminate either in, or behind, the camera plane // clearly the gpu firmware has a way of addressing this issue when projecting into ndc space // but we need to perform ndc-space calculations in the shader, so we must address this issue directly // perhaps there is a more elegant solution -- WestLangley bool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column if ( perspective ) { if ( start.z < 0.0 && end.z >= 0.0 ) { trimSegment( start, end ); } else if ( end.z < 0.0 && start.z >= 0.0 ) { trimSegment( end, start ); } } // clip space vec4 clipStart = projectionMatrix * start; vec4 clipEnd = projectionMatrix * end; // ndc space vec3 ndcStart = clipStart.xyz / clipStart.w; vec3 ndcEnd = clipEnd.xyz / clipEnd.w; // direction vec2 dir = ndcEnd.xy - ndcStart.xy; // account for clip-space aspect ratio dir.x *= aspect; dir = normalize( dir ); #ifdef WORLD_UNITS vec3 worldDir = normalize( end.xyz - start.xyz ); vec3 tmpFwd = normalize( mix( start.xyz, end.xyz, 0.5 ) ); vec3 worldUp = normalize( cross( worldDir, tmpFwd ) ); vec3 worldFwd = cross( worldDir, worldUp ); worldPos = position.y < 0.5 ? start: end; // height offset float hw = linewidth * 0.5; worldPos.xyz += position.x < 0.0 ? hw * worldUp : - hw * worldUp; // don't extend the line if we're rendering dashes because we // won't be rendering the endcaps #ifndef USE_DASH // cap extension worldPos.xyz += position.y < 0.5 ? - hw * worldDir : hw * worldDir; // add width to the box worldPos.xyz += worldFwd * hw; // endcaps if ( position.y > 1.0 || position.y < 0.0 ) { worldPos.xyz -= worldFwd * 2.0 * hw; } #endif // project the worldpos vec4 clip = projectionMatrix * worldPos; // shift the depth of the projected points so the line // segments overlap neatly vec3 clipPose = ( position.y < 0.5 ) ? ndcStart : ndcEnd; clip.z = clipPose.z * clip.w; #else vec2 offset = vec2( dir.y, - dir.x ); // undo aspect ratio adjustment dir.x /= aspect; offset.x /= aspect; // sign flip if ( position.x < 0.0 ) offset *= - 1.0; // endcaps if ( position.y < 0.0 ) { offset += - dir; } else if ( position.y > 1.0 ) { offset += dir; } // adjust for linewidth offset *= linewidth; // adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ... offset /= resolution.y; // select end vec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd; // back to clip space offset *= clip.w; clip.xy += offset; #endif gl_Position = clip; vec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation #include #include #include } `,fragmentShader:` uniform vec3 diffuse; uniform float opacity; uniform float linewidth; #ifdef USE_DASH uniform float dashOffset; uniform float dashSize; uniform float gapSize; #endif varying float vLineDistance; #ifdef WORLD_UNITS varying vec4 worldPos; varying vec3 worldStart; varying vec3 worldEnd; #ifdef USE_DASH varying vec2 vUv; #endif #else varying vec2 vUv; #endif #include #include #include #include #include vec2 closestLineToLine(vec3 p1, vec3 p2, vec3 p3, vec3 p4) { float mua; float mub; vec3 p13 = p1 - p3; vec3 p43 = p4 - p3; vec3 p21 = p2 - p1; float d1343 = dot( p13, p43 ); float d4321 = dot( p43, p21 ); float d1321 = dot( p13, p21 ); float d4343 = dot( p43, p43 ); float d2121 = dot( p21, p21 ); float denom = d2121 * d4343 - d4321 * d4321; float numer = d1343 * d4321 - d1321 * d4343; mua = numer / denom; mua = clamp( mua, 0.0, 1.0 ); mub = ( d1343 + d4321 * ( mua ) ) / d4343; mub = clamp( mub, 0.0, 1.0 ); return vec2( mua, mub ); } void main() { #include #ifdef USE_DASH if ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps if ( mod( vLineDistance + dashOffset, dashSize + gapSize ) > dashSize ) discard; // todo - FIX #endif float alpha = opacity; #ifdef WORLD_UNITS // Find the closest points on the view ray and the line segment vec3 rayEnd = normalize( worldPos.xyz ) * 1e5; vec3 lineDir = worldEnd - worldStart; vec2 params = closestLineToLine( worldStart, worldEnd, vec3( 0.0, 0.0, 0.0 ), rayEnd ); vec3 p1 = worldStart + lineDir * params.x; vec3 p2 = rayEnd * params.y; vec3 delta = p1 - p2; float len = length( delta ); float norm = len / linewidth; #ifndef USE_DASH #ifdef USE_ALPHA_TO_COVERAGE float dnorm = fwidth( norm ); alpha = 1.0 - smoothstep( 0.5 - dnorm, 0.5 + dnorm, norm ); #else if ( norm > 0.5 ) { discard; } #endif #endif #else #ifdef USE_ALPHA_TO_COVERAGE // artifacts appear on some hardware if a derivative is taken within a conditional float a = vUv.x; float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0; float len2 = a * a + b * b; float dlen = fwidth( len2 ); if ( abs( vUv.y ) > 1.0 ) { alpha = 1.0 - smoothstep( 1.0 - dlen, 1.0 + dlen, len2 ); } #else if ( abs( vUv.y ) > 1.0 ) { float a = vUv.x; float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0; float len2 = a * a + b * b; if ( len2 > 1.0 ) discard; } #endif #endif vec4 diffuseColor = vec4( diffuse, alpha ); #include #include gl_FragColor = vec4( diffuseColor.rgb, alpha ); #include #include #include #include } `};class Cw extends i5{constructor(e){super({type:"LineMaterial",uniforms:Sf.clone(bn.line.uniforms),vertexShader:bn.line.vertexShader,fragmentShader:bn.line.fragmentShader,clipping:!0}),this.isLineMaterial=!0,this.setValues(e)}get color(){return this.uniforms.diffuse.value}set color(e){this.uniforms.diffuse.value=e}get worldUnits(){return"WORLD_UNITS"in this.defines}set worldUnits(e){e===!0?this.defines.WORLD_UNITS="":delete this.defines.WORLD_UNITS}get linewidth(){return this.uniforms.linewidth.value}set linewidth(e){this.uniforms.linewidth&&(this.uniforms.linewidth.value=e)}get dashed(){return"USE_DASH"in this.defines}set dashed(e){e===!0!==this.dashed&&(this.needsUpdate=!0),e===!0?this.defines.USE_DASH="":delete this.defines.USE_DASH}get dashScale(){return this.uniforms.dashScale.value}set dashScale(e){this.uniforms.dashScale.value=e}get dashSize(){return this.uniforms.dashSize.value}set dashSize(e){this.uniforms.dashSize.value=e}get dashOffset(){return this.uniforms.dashOffset.value}set dashOffset(e){this.uniforms.dashOffset.value=e}get gapSize(){return this.uniforms.gapSize.value}set gapSize(e){this.uniforms.gapSize.value=e}get opacity(){return this.uniforms.opacity.value}set opacity(e){this.uniforms&&(this.uniforms.opacity.value=e)}get resolution(){return this.uniforms.resolution.value}set resolution(e){this.uniforms.resolution.value.copy(e)}get alphaToCoverage(){return"USE_ALPHA_TO_COVERAGE"in this.defines}set alphaToCoverage(e){this.defines&&(e===!0!==this.alphaToCoverage&&(this.needsUpdate=!0),e===!0?(this.defines.USE_ALPHA_TO_COVERAGE="",this.extensions.derivatives=!0):(delete this.defines.USE_ALPHA_TO_COVERAGE,this.extensions.derivatives=!1))}}const U_=new k2,O_=new k2,Et=new H0,Pt=new H0,ai=new H0,yd=new k2,_d=new o0,Nt=new KV,B_=new k2,K7=new F6,X7=new D6,si=new H0;let mi,a8;function z_(n,e,t){return si.set(0,0,-e,1).applyMatrix4(n.projectionMatrix),si.multiplyScalar(1/si.w),si.x=a8/t.width,si.y=a8/t.height,si.applyMatrix4(n.projectionMatrixInverse),si.multiplyScalar(1/si.w),Math.abs(Math.max(si.x,si.y))}function kj(n,e){const t=n.matrixWorld,i=n.geometry,r=i.attributes.instanceStart,a=i.attributes.instanceEnd,s=Math.min(i.instanceCount,r.count);for(let o=0,l=s;oh&&Pt.z>h)continue;if(Et.z>h){const P=Et.z-Pt.z,O=(Et.z-h)/P;Et.lerp(Pt,O)}else if(Pt.z>h){const P=Pt.z-Et.z,O=(Pt.z-h)/P;Pt.lerp(Et,O)}Et.applyMatrix4(i),Pt.applyMatrix4(i),Et.multiplyScalar(1/Et.w),Pt.multiplyScalar(1/Pt.w),Et.x*=a.x/2,Et.y*=a.y/2,Pt.x*=a.x/2,Pt.y*=a.y/2,Nt.start.copy(Et),Nt.start.z=0,Nt.end.copy(Pt),Nt.end.z=0;const b=Nt.closestPointToPointParameter(yd,!0);Nt.at(b,B_);const y=yf.lerp(Et.z,Pt.z,b),w=y>=-1&&y<=1,U=yd.distanceTo(B_){const d=[];let h=null;t==="Line2"?(u[0].forEach(f=>{const[v,_]=this.geoProjection(f);d.push(v,-_,0)}),h=this.createLine2(d)):t==="Line3"?(u[0].forEach(f=>{const[v,_]=this.geoProjection(f);d.push(new k2(v,-_,0))}),h=this.createLine3(d)):u[0].forEach(f=>{const[v,_]=this.geoProjection(f);d.push(new k2(v,-_,0)),h=this.createLine(d)}),l.add(h)}),a.add(l))}return a}createLine3(e){const t=this.config.tubeRadius,i=256*10,r=4,a=!1,{material:s,renderOrder:o}=this.config,l=new Nf(e),u=new Dl(l,i,t,r,a),d=new R0(u,s);return d.name="mapLine3",d.renderOrder=o,d}createLine2(e){const{material:t,renderOrder:i}=this.config,r=new Mw;r.setPositions(e);let a=new Uj(r,t);return a.name="mapLine2",a.renderOrder=i,a.computeLineDistances(),a}createLine(e){const{material:t,renderOrder:i,type:r}=this.config,a=new se;a.setFromPoints(e);let s=new qo(a,t);return s.renderOrder=i,s.name="mapLine",s}setParent(e){e.add(this.lineGroup)}}class Z7{constructor(e,t){this.shader=null,this.config=Object.assign({uColor1:2781042,uColor2:860197,size:15,dir:"x"},t),this.init(e)}init(e){let{uColor1:t,uColor2:i,dir:r,size:a}=this.config,s={x:1,y:2,z:3};e.onBeforeCompile=o=>{this.shader=o,o.uniforms=R3(d3({},o.uniforms),{uColor1:{value:new R1(t)},uColor2:{value:new R1(i)},uDir:{value:s[r]},uSize:{value:a}}),o.vertexShader=o.vertexShader.replace("void main() {",` attribute float alpha; varying vec3 vPosition; varying float vAlpha; void main() { vAlpha = alpha; vPosition = position; `),o.fragmentShader=o.fragmentShader.replace("void main() {",` varying vec3 vPosition; varying float vAlpha; uniform vec3 uColor1; uniform vec3 uColor2; uniform float uDir; uniform float uSize; void main() { `),o.fragmentShader=o.fragmentShader.replace("#include ",` #ifdef OPAQUE diffuseColor.a = 1.0; #endif // https://github.com/mrdoob/three.js/pull/22425 #ifdef USE_TRANSMISSION diffuseColor.a *= transmissionAlpha + 0.1; #endif // vec3 gradient = mix(uColor1, uColor2, vPosition.x / 15.0); vec3 gradient = vec3(0.0,0.0,0.0); if(uDir==1.0){ gradient = mix(uColor1, uColor2, vPosition.x/ uSize); }else if(uDir==2.0){ gradient = mix(uColor1, uColor2, vPosition.z/ uSize); }else if(uDir==3.0){ gradient = mix(uColor1, uColor2, vPosition.y/ uSize); } outgoingLight = outgoingLight * gradient; gl_FragColor = vec4( outgoingLight, diffuseColor.a ); `)}}}const Oj="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAK+SURBVHgB7dzNbdswGIdxSugCRtGBuklWSO17nXs/J0hHywA11AEMu3wDsLFT5WCJ5PtI/D8nQ5cA/FmxJJLqtofhHBSmPihUAoElEFgCgfVu7ODX95suqOKNXVDpDIElEFgCgSUQWAKBJRBYAoE1G2Q3DJ/j9fRjUGE7DI+f4niEGc0CMYzzKezjx7vWUQwjnMJdF8djDsq8M+QYLu/om0VJGP8OXI/LTc0C+fJhs4/fiIeLQ82hvMaI/zEevsVxCROb/RvSMkpuDCvLVVaLKCUwrGyXvS2hlMKwst6HtIBSEsPKfmO4ZpTSGFaRO/U1otTAsIo9OlkTSi0Mq+izrDWg1MSwij9cXDJKbQyrytPeJaJ4YFjVHr8vCcULw6o6H7IEFE8Mq/oEFRnFG8NymTEkohAwLLcpXBIKBcNynVMnoJAwLPdFDp4oNAwLserEA4WIYXVjK7C9Vr+fY8Gh7e8/Lhha/f5GhDMjJRBYAoElEFgCgSUQWAKBJRBYAoElEFgCgSUQWAKBJRBYAoElEFgCgSUQWAKBJRBYAoElEFgCgSUQWAKBJZDwvIIQs2kIA/K81tYvzKYhBMh/75vyCYHiDgLBSLmjuIK8xrBV6J1HoO11biCk/Rmk7XUuIMTNMhSU6iDUnUsWAaUqCBkj5Y1SDWQJGClPlCogS8JIeaEUB1kiRsoDpSjIkjFStVGKgawBI1UTpQjImjBStVCyg6wRI1UDJSvImjFSpVGygbSAkSqJkgWkJYxUKZTZIC1ipEqgzAJpGSOVG2UyiDBeyokyCWR3OOyFcd0Yyu4wfA83Ngnk2Pe/ziE82WdhvHSJYuNz7MPPcGOTQH5sNk+nPnyMf/xeGNcZSvyS3tv42DiFG0O94q+19Iq/BSQQWAKBJRBYAoElEFgCgSUQWKM3hsovnSGwBAJLILAEAusvLK6Na4P/Au0AAAAASUVORK5CYII=",Ew=`{"name":"hongyuan_townships","type":"FeatureCollection","source":"PostGIS public.c_area where parent_code = 513233","features":[{"id":"513233100","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.439335,32.937888],[102.439465,32.937624],[102.439588,32.937381],[102.439753,32.937201],[102.439756,32.937198],[102.439918,32.937021],[102.440068,32.936829],[102.440337,32.936613],[102.440605,32.936411],[102.440872,32.936208],[102.440989,32.936044],[102.440992,32.93604],[102.440994,32.935966],[102.440914,32.935745],[102.440772,32.935619],[102.440517,32.935419],[102.440455,32.935375],[102.440916,32.935324],[102.441734,32.935456],[102.44229,32.935178],[102.442815,32.934419],[102.44351,32.933259],[102.444121,32.932655],[102.444338,32.932255],[102.444741,32.931762],[102.445596,32.931414],[102.446633,32.931069],[102.447794,32.930381],[102.448442,32.930105],[102.449001,32.929712],[102.449331,32.929353],[102.449481,32.928894],[102.449606,32.928531],[102.450068,32.928328],[102.450741,32.927976],[102.45119,32.927446],[102.451478,32.926932],[102.451945,32.926576],[102.452324,32.926121],[102.452633,32.925685],[102.453259,32.925351],[102.454021,32.925039],[102.454694,32.924668],[102.455301,32.924218],[102.455973,32.923866],[102.456693,32.923437],[102.456974,32.923193],[102.457186,32.922966],[102.457363,32.922373],[102.45741,32.921526],[102.457323,32.919772],[102.457389,32.919361],[102.457412,32.919221],[102.457434,32.919081],[102.45745,32.918523],[102.457466,32.917965],[102.457431,32.917608],[102.457395,32.917251],[102.457233,32.916949],[102.45707,32.916648],[102.45673,32.916159],[102.45639,32.915671],[102.456185,32.915263],[102.45598,32.914854],[102.455876,32.914515],[102.455771,32.914176],[102.45562,32.913855],[102.45547,32.913534],[102.455472,32.913062],[102.455474,32.912591],[102.455475,32.912157],[102.455476,32.911724],[102.455408,32.911299],[102.455341,32.910874],[102.45526,32.910487],[102.45518,32.910101],[102.45526,32.909717],[102.455339,32.909334],[102.455421,32.908864],[102.455503,32.908393],[102.455584,32.907943],[102.455666,32.907492],[102.45571,32.906751],[102.455754,32.906011],[102.455799,32.905636],[102.455844,32.905262],[102.456031,32.904303],[102.456122,32.903515],[102.456001,32.902145],[102.456207,32.898887],[102.456064,32.89765],[102.456252,32.89609],[102.456412,32.894227],[102.456305,32.892992],[102.45657,32.892425],[102.45739,32.891208],[102.458239,32.890203],[102.459053,32.889166],[102.459612,32.888305],[102.460165,32.887684],[102.460608,32.887152],[102.461397,32.887017],[102.462111,32.886972],[102.462401,32.886827],[102.462597,32.886199],[102.463022,32.885034],[102.463218,32.884437],[102.46356,32.883691],[102.463871,32.882795],[102.463611,32.881887],[102.463009,32.880491],[102.463072,32.879529],[102.463198,32.87887],[102.463539,32.878155],[102.464274,32.877387],[102.464908,32.876407],[102.465427,32.875726],[102.466434,32.874182],[102.466629,32.873584],[102.466789,32.872955],[102.466809,32.872264],[102.466829,32.871572],[102.467217,32.870467],[102.468038,32.869159],[102.469019,32.867284],[102.469365,32.866388],[102.469819,32.865465],[102.469976,32.864956],[102.470434,32.863912],[102.471528,32.861768],[102.471984,32.860785],[102.472222,32.859947],[102.472702,32.859232],[102.47278,32.859116],[102.473231,32.858282],[102.473931,32.857514],[102.474161,32.857282],[102.474545,32.856895],[102.475173,32.856433],[102.476142,32.856205],[102.477274,32.855889],[102.478111,32.85559],[102.479001,32.855337],[102.480214,32.854978],[102.481052,32.854679],[102.481971,32.854314],[102.483244,32.85373],[102.484003,32.853362],[102.484649,32.853194],[102.485238,32.853184],[102.486127,32.852953],[102.486855,32.85272],[102.487537,32.852254],[102.48862,32.851531],[102.489742,32.850826],[102.490281,32.850567],[102.490759,32.850338],[102.491861,32.849463],[102.492679,32.848706],[102.49356,32.847885],[102.494546,32.847029],[102.495856,32.8459],[102.496385,32.845276],[102.496502,32.84486],[102.496437,32.84449],[102.496327,32.84412],[102.496249,32.843674],[102.496027,32.843048],[102.495721,32.842674],[102.495537,32.842264],[102.495224,32.841623],[102.494771,32.840636],[102.494555,32.840302],[102.494596,32.839754],[102.49473,32.839101],[102.494919,32.838241],[102.495116,32.837687],[102.495393,32.837247],[102.495484,32.836942],[102.495488,32.836897],[102.49553,32.836469],[102.495487,32.835659],[102.495517,32.835172],[102.495307,32.834429],[102.495258,32.833215],[102.495287,32.832198],[102.495507,32.830836],[102.495588,32.830294],[102.495721,32.829684],[102.495954,32.829005],[102.497083,32.826899],[102.4977,32.82604],[102.498076,32.825525],[102.498227,32.824722],[102.498463,32.82366],[102.498588,32.8229],[102.498942,32.82221],[102.49959,32.821199],[102.500151,32.820513],[102.500339,32.820256],[102.500413,32.820158],[102.500798,32.819848],[102.501091,32.819456],[102.501299,32.818746],[102.501321,32.817952],[102.500655,32.817166],[102.500433,32.816903],[102.499831,32.816281],[102.49959,32.815689],[102.499278,32.814855],[102.498883,32.814215],[102.498573,32.813294],[102.498437,32.812638],[102.498223,32.81198],[102.497608,32.810922],[102.497089,32.810106],[102.496219,32.808956],[102.495557,32.807723],[102.495094,32.806909],[102.495091,32.806903],[102.495059,32.806847],[102.495058,32.806845],[102.495057,32.806843],[102.495026,32.80679],[102.494254,32.805432],[102.493553,32.80433],[102.493538,32.804306],[102.492419,32.802825],[102.491777,32.801788],[102.491803,32.800895],[102.491908,32.80052],[102.49192,32.800476],[102.492233,32.799358],[102.492391,32.799006],[102.494832,32.793593],[102.494849,32.793556],[102.494882,32.793483],[102.4949,32.793443],[102.494913,32.793415],[102.494921,32.793398],[102.495295,32.792567],[102.495311,32.792533],[102.495326,32.792499],[102.495339,32.792471],[102.495353,32.792439],[102.495357,32.79243],[102.495368,32.792407],[102.495601,32.791966],[102.495631,32.791908],[102.495664,32.791847],[102.495681,32.791814],[102.495701,32.791776],[102.495741,32.791699],[102.495743,32.791696],[102.495942,32.79132],[102.495957,32.791291],[102.495958,32.79129],[102.495977,32.791253],[102.496141,32.790943],[102.496206,32.790821],[102.496227,32.790781],[102.496484,32.790294],[102.497119,32.790656],[102.497803,32.791083],[102.498545,32.791294],[102.499195,32.791265],[102.499216,32.791264],[102.499671,32.79104],[102.499896,32.790929],[102.500526,32.790463],[102.500871,32.790208],[102.500808,32.789908],[102.500816,32.789612],[102.500825,32.789283],[102.500832,32.789058],[102.500834,32.788964],[102.500847,32.788526],[102.50085,32.788408],[102.500866,32.78783],[102.500876,32.78749],[102.500958,32.787305],[102.501171,32.786828],[102.501244,32.786663],[102.501361,32.786554],[102.50146,32.786461],[102.5015,32.786423],[102.501756,32.786183],[102.501785,32.786155],[102.501844,32.7861],[102.501849,32.786096],[102.501853,32.786092],[102.501884,32.786081],[102.501923,32.786069],[102.501936,32.786064],[102.503049,32.785698],[102.503785,32.785738],[102.504006,32.78575],[102.504282,32.785765],[102.505311,32.786035],[102.50592,32.786141],[102.506392,32.786224],[102.507623,32.786374],[102.508449,32.786849],[102.508526,32.787282],[102.508552,32.787428],[102.50862,32.787812],[102.508444,32.788136],[102.508389,32.788239],[102.508151,32.788678],[102.50812,32.788804],[102.508079,32.78897],[102.508047,32.789097],[102.507965,32.789429],[102.507873,32.789799],[102.508191,32.79008],[102.50821,32.790098],[102.508393,32.790092],[102.508606,32.790085],[102.50869,32.790082],[102.508743,32.79008],[102.509001,32.790072],[102.509164,32.790003],[102.509337,32.78993],[102.509383,32.789911],[102.509469,32.789874],[102.50972,32.789768],[102.509851,32.789713],[102.510266,32.789151],[102.510518,32.788809],[102.510992,32.787734],[102.510969,32.786816],[102.510549,32.786278],[102.510517,32.786236],[102.51011,32.785714],[102.508457,32.784805],[102.507301,32.783739],[102.507134,32.782651],[102.5074,32.781989],[102.507766,32.781748],[102.507803,32.781723],[102.507897,32.781662],[102.507932,32.781638],[102.507953,32.781625],[102.508188,32.781549],[102.508198,32.781545],[102.508199,32.781545],[102.508275,32.78152],[102.508286,32.781517],[102.5088,32.78135],[102.509279,32.781286],[102.509771,32.78122],[102.509817,32.781214],[102.50989,32.781205],[102.509912,32.781178],[102.510009,32.781062],[102.510009,32.781062],[102.510009,32.781062],[102.510024,32.781043],[102.510073,32.780984],[102.510178,32.780858],[102.510189,32.780845],[102.510189,32.780845],[102.510189,32.780845],[102.510189,32.780844],[102.510197,32.780835],[102.510201,32.78083],[102.510266,32.780757],[102.510271,32.780752],[102.510617,32.78036],[102.511574,32.779277],[102.512155,32.777913],[102.512186,32.777831],[102.512259,32.77764],[102.51306,32.775553],[102.513343,32.774527],[102.513609,32.773562],[102.513882,32.772608],[102.514105,32.771694],[102.514966,32.769167],[102.515443,32.767967],[102.515761,32.76718],[102.515981,32.766392],[102.516656,32.765196],[102.517578,32.764004],[102.517273,32.762538],[102.517102,32.761576],[102.516983,32.76053],[102.517079,32.758864],[102.517078,32.757112],[102.516861,32.756023],[102.516244,32.755135],[102.515087,32.754152],[102.513051,32.752819],[102.510977,32.751402],[102.510096,32.7508],[102.50903,32.750069],[102.508823,32.749863],[102.507986,32.749029],[102.507648,32.748691],[102.507493,32.748537],[102.507251,32.748257],[102.50593,32.746729],[102.505915,32.746712],[102.504698,32.744352],[102.504056,32.742587],[102.504051,32.742242],[102.504047,32.741937],[102.504039,32.741419],[102.50403,32.741365],[102.503859,32.740319],[102.503744,32.739619],[102.503789,32.737993],[102.503308,32.735207],[102.502777,32.733942],[102.5027,32.733757],[102.502649,32.733637],[102.502644,32.733493],[102.502609,32.732461],[102.502601,32.732227],[102.502637,32.730957],[102.502662,32.730055],[102.502664,32.729988],[102.502666,32.729885],[102.502669,32.729781],[102.502643,32.72915],[102.502617,32.728519],[102.502505,32.727813],[102.502393,32.727106],[102.501973,32.72643],[102.501553,32.725754],[102.50109,32.725033],[102.500627,32.724311],[102.500346,32.724151],[102.500065,32.72399],[102.499828,32.723692],[102.499592,32.723394],[102.499438,32.723063],[102.499284,32.722732],[102.499112,32.722315],[102.49894,32.721898],[102.498832,32.721361],[102.498725,32.720824],[102.498577,32.720269],[102.49843,32.719715],[102.498422,32.719266],[102.498414,32.718818],[102.498409,32.718248],[102.498405,32.717679],[102.498375,32.717282],[102.498345,32.716885],[102.497995,32.716291],[102.497644,32.715698],[102.497412,32.715245],[102.49718,32.714792],[102.49707,32.714359],[102.496959,32.713925],[102.496531,32.71321],[102.496102,32.712494],[102.495767,32.712073],[102.495432,32.711653],[102.495136,32.711285],[102.49484,32.710917],[102.494348,32.710286],[102.493856,32.709655],[102.493385,32.708991],[102.492914,32.708326],[102.492622,32.707803],[102.492331,32.707279],[102.492025,32.706549],[102.491719,32.705819],[102.491631,32.705317],[102.491543,32.704815],[102.491399,32.704139],[102.491255,32.703464],[102.491183,32.702962],[102.491175,32.702907],[102.491104,32.702415],[102.49109,32.702322],[102.491064,32.702137],[102.491016,32.701804],[102.490906,32.699904],[102.490842,32.699282],[102.49058,32.698415],[102.490532,32.698391],[102.490429,32.696549],[102.49061,32.695897],[102.491319,32.695325],[102.492317,32.694655],[102.493923,32.694136],[102.495114,32.693815],[102.496321,32.69363],[102.496712,32.693571],[102.497331,32.693371],[102.497618,32.693278],[102.499003,32.69334],[102.499525,32.693627],[102.500211,32.693882],[102.500386,32.693993],[102.500492,32.69406],[102.503889,32.695851],[102.505234,32.696437],[102.50583,32.696696],[102.506688,32.696966],[102.507444,32.697203],[102.507934,32.69736],[102.509215,32.697769],[102.509502,32.697861],[102.511166,32.698065],[102.511348,32.698088],[102.512285,32.698152],[102.513131,32.69821],[102.514262,32.698288],[102.514305,32.69829],[102.515414,32.698343],[102.515438,32.698344],[102.515484,32.698346],[102.515608,32.698352],[102.515754,32.698359],[102.515777,32.69836],[102.515786,32.698361],[102.515943,32.698368],[102.516141,32.698341],[102.51627,32.698323],[102.517149,32.698202],[102.517151,32.698202],[102.517204,32.698194],[102.517212,32.698193],[102.517738,32.698121],[102.517768,32.698116],[102.517795,32.698113],[102.517796,32.698113],[102.517796,32.698112],[102.517859,32.698104],[102.518122,32.698068],[102.518648,32.697995],[102.519425,32.697971],[102.523039,32.697861],[102.523164,32.697857],[102.523367,32.697851],[102.525392,32.697701],[102.526433,32.697797],[102.526799,32.697831],[102.527351,32.697882],[102.528949,32.697838],[102.529879,32.697813],[102.53041,32.697799],[102.531396,32.697772],[102.534147,32.697731],[102.535597,32.698092],[102.536601,32.698301],[102.535798,32.696909],[102.535783,32.696847],[102.535735,32.696639],[102.535447,32.695384],[102.535047,32.694857],[102.534739,32.69445],[102.533876,32.693312],[102.533356,32.692665],[102.533055,32.69229],[102.531977,32.690949],[102.530923,32.689729],[102.530726,32.689501],[102.529985,32.687872],[102.529975,32.687791],[102.529975,32.687791],[102.529948,32.68758],[102.52993,32.687429],[102.529755,32.686017],[102.529572,32.684969],[102.529523,32.684686],[102.529464,32.68435],[102.528939,32.683058],[102.528298,32.681492],[102.528275,32.681436],[102.52822,32.681302],[102.528097,32.681001],[102.527947,32.680656],[102.527779,32.68027],[102.527495,32.679618],[102.527282,32.679131],[102.5272,32.678942],[102.527029,32.678396],[102.526736,32.677462],[102.526578,32.676968],[102.526549,32.676878],[102.525959,32.675027],[102.525806,32.674549],[102.525301,32.672498],[102.525214,32.671594],[102.524742,32.670868],[102.52453,32.670541],[102.524245,32.670104],[102.523542,32.669141],[102.522782,32.668224],[102.522027,32.667118],[102.521565,32.66664],[102.521381,32.665338],[102.521091,32.66394],[102.521115,32.663059],[102.521262,32.661717],[102.521132,32.660462],[102.520796,32.658739],[102.52047,32.656645],[102.520043,32.65554],[102.520021,32.655484],[102.51988,32.65512],[102.519855,32.655056],[102.519503,32.653935],[102.519496,32.652172],[102.519915,32.650928],[102.520001,32.64977],[102.52031,32.648524],[102.520448,32.647506],[102.520916,32.646448],[102.521664,32.645164],[102.523307,32.643248],[102.523992,32.642241],[102.524899,32.641192],[102.525754,32.640003],[102.526438,32.639042],[102.527296,32.63776],[102.52798,32.6368],[102.529309,32.636316],[102.530926,32.635327],[102.53276,32.634435],[102.534097,32.633673],[102.535564,32.632125],[102.536416,32.631074],[102.537873,32.629897],[102.539552,32.628631],[102.540786,32.627635],[102.542642,32.625908],[102.543939,32.624588],[102.544679,32.623582],[102.546576,32.622367],[102.548618,32.62185],[102.550262,32.621882],[102.550863,32.62194],[102.552375,32.620764],[102.552711,32.620455],[102.554006,32.619265],[102.554907,32.618354],[102.555649,32.617302],[102.556441,32.61639],[102.556752,32.615004],[102.557392,32.613671],[102.558409,32.612531],[102.55848,32.612442],[102.559204,32.611526],[102.559138,32.611041],[102.559021,32.610177],[102.559016,32.609776],[102.559003,32.608832],[102.557939,32.607651],[102.557933,32.607364],[102.557927,32.607061],[102.557915,32.606495],[102.557963,32.606542],[102.558981,32.607625],[102.560591,32.608863],[102.561153,32.609302],[102.561452,32.609536],[102.562163,32.610092],[102.562416,32.61029],[102.563718,32.611475],[102.563974,32.611707],[102.564395,32.612091],[102.566533,32.614127],[102.568248,32.615552],[102.569487,32.616365],[102.57126,32.617698],[102.571601,32.618039],[102.571581,32.617982],[102.571868,32.617478],[102.573049,32.616387],[102.573846,32.615289],[102.575478,32.613697],[102.576709,32.612793],[102.578108,32.611707],[102.57961,32.610901],[102.581008,32.609861],[102.58152,32.609175],[102.581482,32.608525],[102.582228,32.607287],[102.582898,32.606836],[102.595355,32.615193],[102.595396,32.615221],[102.595497,32.615288],[102.597516,32.615606],[102.600068,32.616536],[102.600466,32.6167],[102.601329,32.617056],[102.601357,32.617067],[102.60143,32.617097],[102.601474,32.617115],[102.602038,32.617348],[102.602074,32.617363],[102.603269,32.617757],[102.605241,32.617794],[102.606198,32.617958],[102.606199,32.617958],[102.606214,32.617961],[102.606222,32.617962],[102.606245,32.617966],[102.606769,32.618055],[102.608017,32.618543],[102.611033,32.618641],[102.611136,32.618644],[102.61119,32.618646],[102.611467,32.618655],[102.611469,32.618655],[102.61147,32.618655],[102.611682,32.618659],[102.61174,32.61866],[102.611765,32.618661],[102.611947,32.618664],[102.612932,32.618683],[102.613188,32.618688],[102.613201,32.618688],[102.613203,32.618688],[102.613205,32.618688],[102.613217,32.618688],[102.613434,32.618693],[102.613437,32.618693],[102.61344,32.618693],[102.613601,32.618651],[102.614268,32.618476],[102.615713,32.617715],[102.615849,32.617619],[102.615852,32.617617],[102.615854,32.617616],[102.615859,32.617612],[102.615932,32.61756],[102.615944,32.617552],[102.615944,32.617552],[102.616607,32.617083],[102.617115,32.616743],[102.61789,32.616226],[102.619166,32.615647],[102.620392,32.614882],[102.621617,32.614163],[102.623002,32.613632],[102.623637,32.613392],[102.624053,32.613234],[102.625465,32.612859],[102.626312,32.612569],[102.626329,32.612585],[102.626375,32.612629],[102.626531,32.612777],[102.626681,32.61292],[102.626827,32.612922],[102.627185,32.612929],[102.627266,32.612851],[102.62729,32.612828],[102.6273,32.612826],[102.627376,32.6128],[102.627426,32.612784],[102.627436,32.612777],[102.627505,32.612733],[102.62755,32.612693],[102.62759,32.612638],[102.627626,32.612589],[102.627674,32.612539],[102.627798,32.612493],[102.62785,32.612473],[102.627877,32.612463],[102.62808,32.612387],[102.62836,32.612499],[102.628543,32.612715],[102.628723,32.613065],[102.628698,32.613319],[102.628681,32.613503],[102.628679,32.613517],[102.628628,32.613684],[102.628542,32.613967],[102.62847,32.614105],[102.628316,32.614403],[102.62831,32.614415],[102.628235,32.614866],[102.628255,32.614951],[102.628268,32.615004],[102.62832,32.615214],[102.628718,32.615648],[102.628707,32.616047],[102.628701,32.616074],[102.628674,32.616187],[102.628667,32.616217],[102.628664,32.616229],[102.628652,32.616278],[102.628642,32.616651],[102.629347,32.617432],[102.629352,32.617438],[102.629432,32.617523],[102.629476,32.617571],[102.629496,32.617618],[102.629805,32.617975],[102.629966,32.618136],[102.629823,32.618645],[102.629676,32.619029],[102.629742,32.619184],[102.629706,32.619233],[102.62964,32.619268],[102.629637,32.619291],[102.629667,32.619343],[102.629676,32.619332],[102.629685,32.619322],[102.629696,32.619316],[102.629706,32.619314],[102.629723,32.619315],[102.629733,32.619318],[102.629744,32.61932],[102.629753,32.619317],[102.629764,32.619314],[102.629778,32.61931],[102.629793,32.619302],[102.629809,32.619339],[102.629822,32.61937],[102.629827,32.619381],[102.629977,32.61973],[102.629992,32.619847],[102.629994,32.619862],[102.630003,32.619926],[102.630005,32.619941],[102.629952,32.61994],[102.629819,32.619935],[102.629754,32.619921],[102.629754,32.619986],[102.629772,32.620038],[102.629837,32.6201],[102.62995,32.620178],[102.630051,32.620293],[102.630053,32.620312],[102.630123,32.620981],[102.630125,32.620995],[102.630126,32.621009],[102.630058,32.621094],[102.62992,32.621268],[102.629905,32.621285],[102.62987,32.62133],[102.629701,32.621542],[102.629432,32.621508],[102.629422,32.621507],[102.629337,32.621496],[102.629301,32.621469],[102.629291,32.621447],[102.629277,32.621429],[102.629255,32.621422],[102.629226,32.621418],[102.629193,32.62141],[102.629176,32.621402],[102.629144,32.621379],[102.629104,32.62135],[102.629037,32.6213],[102.628969,32.621235],[102.628932,32.621183],[102.628787,32.621071],[102.628766,32.621054],[102.628634,32.620953],[102.628627,32.620947],[102.62862,32.620942],[102.628506,32.620979],[102.628067,32.621125],[102.628003,32.621367],[102.628,32.62138],[102.627998,32.621386],[102.627984,32.621442],[102.627975,32.621437],[102.627959,32.621436],[102.627948,32.621443],[102.627935,32.621453],[102.62792,32.621467],[102.627909,32.621483],[102.627888,32.621522],[102.627879,32.621572],[102.627881,32.621591],[102.627898,32.621606],[102.627902,32.62163],[102.627901,32.621655],[102.627898,32.621668],[102.627882,32.621691],[102.627867,32.621707],[102.627858,32.621721],[102.627851,32.621739],[102.62785,32.621752],[102.627858,32.621771],[102.627875,32.62179],[102.627891,32.621803],[102.627905,32.621813],[102.627927,32.621828],[102.627935,32.621842],[102.627948,32.62186],[102.627964,32.621917],[102.627975,32.621956],[102.627994,32.621985],[102.628022,32.622004],[102.628054,32.622022],[102.628104,32.622059],[102.628127,32.622091],[102.628151,32.62213],[102.628165,32.622161],[102.628187,32.622181],[102.628255,32.622197],[102.628282,32.622188],[102.628293,32.62217],[102.628308,32.622136],[102.628316,32.62211],[102.628335,32.622086],[102.628362,32.622051],[102.628477,32.622093],[102.628496,32.622101],[102.628513,32.622107],[102.629041,32.622303],[102.629232,32.62257],[102.629246,32.622589],[102.629314,32.622685],[102.62935,32.622734],[102.629267,32.622988],[102.6292,32.623195],[102.629142,32.62327],[102.628935,32.623537],[102.628803,32.623708],[102.628717,32.623675],[102.628588,32.623785],[102.628561,32.623796],[102.628508,32.623811],[102.628444,32.623818],[102.628397,32.623817],[102.628334,32.623809],[102.628151,32.623761],[102.628085,32.623727],[102.628041,32.6237],[102.627983,32.623639],[102.627966,32.623628],[102.627846,32.623551],[102.627745,32.623485],[102.627731,32.623476],[102.627692,32.623327],[102.627689,32.62332],[102.627606,32.62301],[102.627439,32.622946],[102.627307,32.622987],[102.627155,32.623061],[102.627064,32.623118],[102.626988,32.623223],[102.626967,32.623244],[102.626954,32.623277],[102.626951,32.623303],[102.626953,32.62333],[102.626956,32.623352],[102.626971,32.623374],[102.626959,32.623484],[102.626953,32.623539],[102.626957,32.623553],[102.626967,32.623588],[102.62712,32.624122],[102.627112,32.624435],[102.627111,32.624469],[102.62711,32.624521],[102.62711,32.624529],[102.627108,32.624593],[102.627107,32.624623],[102.627102,32.624818],[102.626968,32.625182],[102.626961,32.625203],[102.626845,32.625518],[102.62684,32.625532],[102.626807,32.625624],[102.626673,32.625666],[102.626607,32.625687],[102.626576,32.625697],[102.626268,32.625571],[102.626079,32.625494],[102.626004,32.625364],[102.625994,32.625347],[102.625986,32.625333],[102.62593,32.625237],[102.625926,32.62523],[102.625921,32.625222],[102.625551,32.624586],[102.625533,32.624554],[102.625402,32.624458],[102.625295,32.624371],[102.625161,32.624285],[102.625082,32.624253],[102.624971,32.624253],[102.624876,32.624273],[102.624863,32.624273],[102.624486,32.624265],[102.624463,32.624281],[102.6244,32.624549],[102.624322,32.624879],[102.624313,32.624919],[102.624345,32.624987],[102.624561,32.625447],[102.624576,32.625477],[102.624597,32.625522],[102.624909,32.626185],[102.62493,32.626229],[102.624939,32.626249],[102.624943,32.626257],[102.624968,32.62631],[102.625048,32.62648],[102.625074,32.626704],[102.625101,32.626937],[102.625159,32.627448],[102.625147,32.627908],[102.625142,32.628097],[102.625134,32.628414],[102.625085,32.628451],[102.625078,32.628456],[102.625051,32.628476],[102.625035,32.628488],[102.624528,32.628867],[102.623886,32.62897],[102.623359,32.628922],[102.623298,32.628917],[102.62321,32.628868],[102.623081,32.628828],[102.623011,32.628821],[102.622941,32.628825],[102.622907,32.628829],[102.622837,32.628835],[102.622801,32.628841],[102.622773,32.628851],[102.622737,32.628865],[102.622691,32.62887],[102.622669,32.628869],[102.622627,32.628872],[102.622586,32.628892],[102.62256,32.628907],[102.622477,32.628922],[102.622437,32.628921],[102.622382,32.628908],[102.622343,32.628893],[102.622286,32.628878],[102.622224,32.628867],[102.622158,32.62891],[102.622102,32.628946],[102.622087,32.628956],[102.621826,32.629125],[102.621924,32.629313],[102.622001,32.629462],[102.622026,32.629509],[102.622036,32.629529],[102.622083,32.629619],[102.622088,32.62963],[102.622102,32.629657],[102.622103,32.629658],[102.62213,32.62971],[102.622201,32.630485],[102.621778,32.630941],[102.621737,32.630955],[102.621642,32.630987],[102.62132,32.631097],[102.621303,32.631102],[102.621273,32.631113],[102.621132,32.63116],[102.621124,32.63147],[102.621219,32.631604],[102.621237,32.63163],[102.621257,32.631659],[102.621344,32.631783],[102.621662,32.632008],[102.62168,32.632021],[102.621807,32.632111],[102.62184,32.632134],[102.621846,32.632138],[102.622017,32.63226],[102.622075,32.632303],[102.622331,32.632498],[102.62236,32.633117],[102.622267,32.633335],[102.622172,32.63356],[102.622179,32.633564],[102.622182,32.633571],[102.62218,32.633586],[102.622175,32.633609],[102.622148,32.633676],[102.622103,32.633843],[102.622076,32.634029],[102.62207,32.634117],[102.62207,32.634127],[102.622046,32.634175],[102.622042,32.63418],[102.621986,32.63425],[102.621964,32.634275],[102.621963,32.634307],[102.622031,32.63443],[102.62205,32.634464],[102.622065,32.634459],[102.622082,32.634455],[102.622451,32.634349],[102.622557,32.634319],[102.622692,32.634199],[102.622783,32.634119],[102.622798,32.634106],[102.623071,32.633865],[102.623628,32.633527],[102.62409,32.633596],[102.624173,32.633609],[102.624181,32.63361],[102.624188,32.633651],[102.624189,32.633673],[102.624192,32.633697],[102.624198,32.633719],[102.62421,32.633742],[102.624223,32.633759],[102.624231,32.633768],[102.624238,32.633779],[102.624254,32.633795],[102.624258,32.63382],[102.624256,32.633857],[102.624248,32.633897],[102.624231,32.633945],[102.624174,32.63402],[102.624144,32.634063],[102.624138,32.63412],[102.624132,32.634145],[102.624124,32.634171],[102.624101,32.634209],[102.624072,32.634278],[102.624045,32.634351],[102.624022,32.634379],[102.623969,32.634443],[102.623941,32.63451],[102.623929,32.634542],[102.623897,32.634583],[102.623857,32.634616],[102.623806,32.63465],[102.623756,32.634668],[102.623701,32.634688],[102.62364,32.63472],[102.623581,32.634765],[102.623512,32.634789],[102.623474,32.634804],[102.623455,32.634817],[102.623413,32.634838],[102.623364,32.634868],[102.623309,32.634889],[102.623291,32.634903],[102.623269,32.634927],[102.623259,32.634943],[102.623261,32.634973],[102.623142,32.635072],[102.623045,32.635153],[102.622988,32.635201],[102.622961,32.635228],[102.622952,32.635249],[102.622945,32.635277],[102.622929,32.635292],[102.622802,32.635406],[102.622701,32.635752],[102.622867,32.635874],[102.622872,32.635878],[102.622878,32.635882],[102.62297,32.63595],[102.623011,32.635951],[102.623025,32.635951],[102.623085,32.635952],[102.623155,32.635954],[102.623158,32.635977],[102.62319,32.636023],[102.623213,32.63605],[102.623236,32.636054],[102.623311,32.636038],[102.623358,32.636024],[102.623391,32.636009],[102.623423,32.635991],[102.623449,32.635967],[102.623472,32.635938],[102.623492,32.635916],[102.623549,32.635903],[102.623579,32.635904],[102.62358,32.63588],[102.623595,32.635824],[102.623799,32.635695],[102.623853,32.635693],[102.623899,32.63569],[102.623957,32.635651],[102.624033,32.635618],[102.624089,32.635615],[102.624154,32.635618],[102.624212,32.635638],[102.624273,32.635671],[102.624291,32.635699],[102.624297,32.635714],[102.624304,32.635733],[102.624326,32.635751],[102.624414,32.635802],[102.624521,32.635878],[102.624568,32.635921],[102.624609,32.635969],[102.624567,32.636049],[102.624422,32.636326],[102.624076,32.636571],[102.62406,32.636582],[102.623961,32.636569],[102.62384,32.636548],[102.623661,32.636536],[102.623709,32.636569],[102.623736,32.636598],[102.623227,32.636612],[102.622619,32.636891],[102.622579,32.636909],[102.622242,32.637317],[102.622202,32.637366],[102.622087,32.637586],[102.622061,32.637636],[102.621961,32.637825],[102.621974,32.637859],[102.622075,32.638137],[102.62212,32.638188],[102.622146,32.638221],[102.622178,32.63827],[102.622197,32.638314],[102.622209,32.638351],[102.622218,32.638381],[102.622226,32.638408],[102.622234,32.638433],[102.622298,32.638459],[102.622581,32.638572],[102.623273,32.638314],[102.623511,32.638309],[102.623522,32.638308],[102.623826,32.638301],[102.623867,32.6383],[102.623922,32.638299],[102.624188,32.638293],[102.624339,32.638636],[102.624446,32.638877],[102.624478,32.639223],[102.624517,32.639652],[102.623913,32.640027],[102.623183,32.640013],[102.622984,32.64022],[102.622942,32.640263],[102.622854,32.640355],[102.622852,32.640433],[102.62285,32.640505],[102.622849,32.640525],[102.622841,32.640819],[102.623331,32.64133],[102.623925,32.641303],[102.623956,32.641283],[102.624108,32.641187],[102.624211,32.641122],[102.624265,32.641052],[102.624306,32.640993],[102.624365,32.640937],[102.624426,32.640901],[102.62453,32.640866],[102.624653,32.640854],[102.624669,32.640847],[102.624709,32.640828],[102.625131,32.64063],[102.625683,32.640524],[102.625755,32.64051],[102.625866,32.640489],[102.62595,32.640439],[102.625997,32.640411],[102.625998,32.640401],[102.625999,32.640385],[102.626011,32.640364],[102.626022,32.640335],[102.626074,32.640276],[102.626099,32.640264],[102.626126,32.640256],[102.626136,32.640243],[102.626141,32.640219],[102.626143,32.640198],[102.626149,32.640171],[102.626168,32.64015],[102.626254,32.640108],[102.62629,32.640105],[102.626311,32.640101],[102.626332,32.640083],[102.62635,32.640055],[102.626389,32.64003],[102.62647,32.63998],[102.626546,32.639963],[102.626613,32.639958],[102.626673,32.639961],[102.626713,32.639973],[102.626732,32.639974],[102.626748,32.639965],[102.626824,32.639888],[102.626915,32.639796],[102.626928,32.639782],[102.626942,32.639769],[102.627123,32.639585],[102.627629,32.639479],[102.627741,32.639565],[102.627942,32.639717],[102.627959,32.639744],[102.628013,32.639828],[102.62806,32.639901],[102.628118,32.639991],[102.628064,32.640045],[102.62797,32.640143],[102.627601,32.640522],[102.627319,32.64076],[102.62712,32.640927],[102.627,32.641052],[102.626767,32.641306],[102.626634,32.641435],[102.626569,32.641496],[102.62656,32.641504],[102.626511,32.641553],[102.626462,32.641605],[102.626407,32.641713],[102.626391,32.641751],[102.626374,32.641763],[102.626358,32.64177],[102.626363,32.641808],[102.626415,32.642201],[102.626588,32.642396],[102.626576,32.642456],[102.626578,32.642495],[102.626596,32.642531],[102.626611,32.642578],[102.626647,32.642619],[102.626737,32.64267],[102.626794,32.642697],[102.626824,32.642728],[102.626845,32.642772],[102.626865,32.642816],[102.626893,32.642851],[102.626939,32.642875],[102.626987,32.642894],[102.627103,32.642935],[102.627155,32.642935],[102.627443,32.643145],[102.627452,32.643152],[102.627463,32.643137],[102.627548,32.643157],[102.627593,32.643198],[102.62762,32.643225],[102.627652,32.643251],[102.627683,32.643285],[102.627716,32.643315],[102.627736,32.64333],[102.627768,32.643337],[102.6278,32.643345],[102.627833,32.643358],[102.627792,32.643357],[102.627773,32.643365],[102.62774,32.643381],[102.628065,32.643701],[102.628129,32.644746],[102.627714,32.644922],[102.627697,32.644929],[102.627553,32.64499],[102.627505,32.64501],[102.627494,32.645015],[102.627344,32.645079],[102.6272,32.645298],[102.627197,32.645303],[102.627184,32.645323],[102.627124,32.645413],[102.627088,32.645468],[102.627083,32.645475],[102.626868,32.645804],[102.626742,32.645906],[102.626733,32.645913],[102.626614,32.64601],[102.626595,32.646025],[102.626583,32.646035],[102.626573,32.646042],[102.626216,32.646332],[102.62622,32.646374],[102.62622,32.646402],[102.626223,32.646432],[102.626223,32.646445],[102.626216,32.646457],[102.626213,32.64646],[102.626202,32.646444],[102.626178,32.646418],[102.626159,32.646395],[102.626103,32.646457],[102.625867,32.646721],[102.625842,32.64675],[102.625832,32.64676],[102.625811,32.646784],[102.625664,32.646948],[102.625602,32.64702],[102.625589,32.647488],[102.625589,32.64752],[102.626006,32.647629],[102.626156,32.647669],[102.626168,32.647672],[102.626224,32.647686],[102.626356,32.647689],[102.626417,32.64769],[102.627092,32.647703],[102.627145,32.647682],[102.627165,32.647674],[102.627176,32.647669],[102.627375,32.647589],[102.627409,32.647608],[102.627459,32.647624],[102.627493,32.647633],[102.627567,32.647637],[102.627595,32.647639],[102.627609,32.647639],[102.627673,32.647635],[102.6277,32.647623],[102.627723,32.647608],[102.627735,32.647597],[102.627746,32.647577],[102.62775,32.647559],[102.627754,32.647544],[102.62776,32.647528],[102.62777,32.647517],[102.627785,32.647505],[102.627799,32.647495],[102.627818,32.647486],[102.627844,32.647475],[102.627853,32.647466],[102.627855,32.647458],[102.627854,32.647442],[102.627842,32.64742],[102.627824,32.647393],[102.627784,32.647345],[102.627867,32.647264],[102.628276,32.646863],[102.628302,32.646837],[102.628404,32.646834],[102.628425,32.646834],[102.628551,32.646831],[102.628614,32.646829],[102.629217,32.646815],[102.629469,32.646928],[102.629532,32.646956],[102.629548,32.646963],[102.629681,32.647056],[102.629731,32.647103],[102.629766,32.647138],[102.629792,32.647173],[102.629891,32.647289],[102.629906,32.647337],[102.62991,32.647343],[102.629915,32.647354],[102.629915,32.647365],[102.629909,32.647389],[102.629887,32.647434],[102.629857,32.647492],[102.629771,32.647687],[102.629718,32.647744],[102.629659,32.647782],[102.629628,32.647802],[102.629597,32.647817],[102.629574,32.647841],[102.629543,32.647885],[102.629498,32.647951],[102.629481,32.647999],[102.629461,32.648035],[102.629418,32.648096],[102.629399,32.648129],[102.629374,32.648141],[102.62936,32.648141],[102.629346,32.648138],[102.629329,32.648163],[102.629271,32.648247],[102.62919,32.648367],[102.629165,32.648404],[102.628938,32.648743],[102.628923,32.649284],[102.629463,32.649603],[102.63037,32.649878],[102.630377,32.649879],[102.630687,32.649974],[102.631415,32.649935],[102.63174,32.649917],[102.631907,32.649842],[102.632467,32.649588],[102.63248,32.649583],[102.632512,32.649549],[102.632541,32.649519],[102.632558,32.649501],[102.632808,32.649241],[102.632096,32.648532],[102.632101,32.648348],[102.632104,32.648217],[102.632105,32.648184],[102.63231,32.648166],[102.632396,32.648214],[102.632522,32.648303],[102.632706,32.648412],[102.632804,32.648476],[102.632908,32.648529],[102.633005,32.648566],[102.633071,32.648598],[102.633136,32.648631],[102.633158,32.648647],[102.633183,32.648672],[102.633203,32.648688],[102.63322,32.648699],[102.63325,32.648698],[102.633258,32.648684],[102.633277,32.648675],[102.633296,32.648666],[102.633326,32.64866],[102.633338,32.648674],[102.633357,32.648718],[102.633373,32.648769],[102.633404,32.648827],[102.633469,32.648894],[102.633506,32.648948],[102.63354,32.649026],[102.633557,32.64912],[102.633595,32.649235],[102.633619,32.64936],[102.633615,32.649434],[102.633605,32.649544],[102.63359,32.64957],[102.633585,32.649578],[102.633564,32.6496],[102.633558,32.649691],[102.63359,32.64969],[102.633645,32.649691],[102.633705,32.649915],[102.63402,32.650076],[102.634284,32.650011],[102.634653,32.64992],[102.634894,32.64986],[102.634957,32.64984],[102.634991,32.649829],[102.635004,32.649825],[102.635153,32.649776],[102.635178,32.649768],[102.63568,32.649603],[102.63569,32.649598],[102.635796,32.649538],[102.636105,32.649366],[102.636118,32.649359],[102.636256,32.649282],[102.63628,32.649268],[102.636376,32.648927],[102.636395,32.648859],[102.636432,32.64873],[102.636436,32.648687],[102.636437,32.64868],[102.636494,32.648112],[102.636641,32.64806],[102.636676,32.648048],[102.636895,32.64797],[102.636909,32.647966],[102.637508,32.64809],[102.637607,32.648111],[102.637703,32.6482],[102.63779,32.648292],[102.637878,32.648376],[102.637928,32.648438],[102.637953,32.648494],[102.637989,32.648553],[102.638039,32.648598],[102.638128,32.64867],[102.638176,32.64872],[102.638258,32.648789],[102.638374,32.649146],[102.638398,32.649219],[102.638403,32.649235],[102.638406,32.649244],[102.638427,32.649308],[102.63844,32.649372],[102.638405,32.649414],[102.638393,32.649429],[102.638382,32.649447],[102.638381,32.649463],[102.638388,32.649476],[102.638388,32.649487],[102.638391,32.649507],[102.638462,32.649486],[102.638588,32.650123],[102.639039,32.650364],[102.639366,32.650099],[102.639383,32.65008],[102.639396,32.650066],[102.639559,32.649884],[102.63958,32.649859],[102.639815,32.649597],[102.639883,32.649521],[102.639978,32.649415],[102.640241,32.649274],[102.640256,32.649266],[102.640534,32.649116],[102.640851,32.649238],[102.641167,32.64936],[102.641355,32.649515],[102.641362,32.649555],[102.641373,32.649595],[102.641388,32.649639],[102.641406,32.649681],[102.641429,32.6497],[102.641448,32.649701],[102.641474,32.649688],[102.641502,32.649682],[102.641514,32.649688],[102.641516,32.649696],[102.641591,32.649711],[102.641637,32.64972],[102.641682,32.649738],[102.641713,32.649751],[102.641754,32.649773],[102.641788,32.649839],[102.641809,32.649892],[102.641878,32.64995],[102.641844,32.649988],[102.641836,32.650018],[102.641835,32.650049],[102.641847,32.650098],[102.641842,32.650144],[102.641854,32.65019],[102.641779,32.650159],[102.641725,32.650267],[102.6417,32.650316],[102.641594,32.650527],[102.641482,32.650646],[102.641464,32.650665],[102.641238,32.650903],[102.641233,32.650909],[102.641096,32.651054],[102.641024,32.651053],[102.640971,32.651057],[102.640918,32.65108],[102.640869,32.651121],[102.640792,32.651222],[102.640776,32.65128],[102.640767,32.651324],[102.640756,32.651378],[102.64075,32.651425],[102.640749,32.651456],[102.640778,32.651495],[102.640842,32.65154],[102.640909,32.651578],[102.640984,32.651616],[102.641069,32.65165],[102.641184,32.651674],[102.641198,32.65168],[102.64127,32.651691],[102.641348,32.651694],[102.641428,32.651698],[102.641479,32.651693],[102.641545,32.651695],[102.641614,32.651704],[102.641652,32.651713],[102.641696,32.651726],[102.641762,32.651737],[102.641851,32.651719],[102.641925,32.651696],[102.641971,32.651695],[102.642012,32.651676],[102.642042,32.651658],[102.642118,32.6516],[102.642338,32.651558],[102.642375,32.651551],[102.642411,32.651544],[102.642827,32.651464],[102.64294,32.651442],[102.643258,32.651528],[102.643265,32.65153],[102.643304,32.65154],[102.643629,32.651628],[102.643712,32.65165],[102.643774,32.65173],[102.643802,32.651766],[102.643825,32.651802],[102.643842,32.651837],[102.643845,32.651854],[102.643823,32.651874],[102.643868,32.651966],[102.643881,32.651991],[102.643885,32.652001],[102.643872,32.652504],[102.643908,32.652568],[102.64399,32.65255],[102.644052,32.652526],[102.644092,32.652477],[102.644126,32.652437],[102.644178,32.652405],[102.644241,32.652409],[102.644323,32.65244],[102.64442,32.652467],[102.644492,32.65248],[102.644537,32.652481],[102.64456,32.652469],[102.644661,32.65251],[102.644727,32.652471],[102.644741,32.652462],[102.64478,32.652438],[102.644819,32.652438],[102.644877,32.652428],[102.644947,32.652408],[102.645011,32.652382],[102.645079,32.652351],[102.645118,32.652329],[102.645171,32.652291],[102.645194,32.652271],[102.645229,32.652236],[102.64527,32.652195],[102.645292,32.652155],[102.645298,32.652125],[102.645341,32.652059],[102.645358,32.652007],[102.645371,32.651967],[102.645396,32.651912],[102.645425,32.651879],[102.645447,32.651715],[102.645463,32.651673],[102.645477,32.651662],[102.645476,32.651547],[102.645481,32.651488],[102.645486,32.651413],[102.645458,32.651296],[102.645556,32.651139],[102.645614,32.65112],[102.645628,32.651118],[102.645741,32.651096],[102.64584,32.651101],[102.64594,32.651134],[102.645972,32.651079],[102.646015,32.651],[102.646024,32.651003],[102.64607,32.651015],[102.646091,32.651021],[102.646097,32.651022],[102.646112,32.650997],[102.646263,32.651067],[102.646467,32.651122],[102.647838,32.651148],[102.648067,32.651187],[102.648838,32.651321],[102.648833,32.651528],[102.648832,32.651555],[102.64883,32.651649],[102.648825,32.651823],[102.648731,32.651947],[102.64865,32.652053],[102.648671,32.651991],[102.648679,32.651971],[102.648689,32.651941],[102.64869,32.651893],[102.648693,32.651852],[102.648686,32.651785],[102.64865,32.651705],[102.648631,32.651676],[102.648614,32.651649],[102.648582,32.651622],[102.648556,32.651602],[102.64852,32.651575],[102.648461,32.651549],[102.648417,32.651528],[102.648381,32.651514],[102.648312,32.651489],[102.648271,32.651475],[102.648223,32.651471],[102.648176,32.651471],[102.648281,32.651509],[102.648366,32.651541],[102.648426,32.65157],[102.64847,32.6516],[102.648505,32.651632],[102.64855,32.651674],[102.648575,32.651712],[102.648579,32.651759],[102.64858,32.651819],[102.648578,32.651865],[102.648568,32.651915],[102.64856,32.651958],[102.648537,32.652014],[102.648502,32.65205],[102.648468,32.652086],[102.648441,32.652112],[102.648393,32.652157],[102.648366,32.652188],[102.648334,32.652229],[102.648312,32.65226],[102.64829,32.652285],[102.648233,32.652318],[102.648201,32.652328],[102.648169,32.652348],[102.648164,32.652357],[102.648169,32.652376],[102.648144,32.652384],[102.647995,32.652416],[102.647933,32.652445],[102.647845,32.65248],[102.647775,32.652486],[102.647701,32.652483],[102.647597,32.652484],[102.647419,32.652475],[102.647089,32.652574],[102.646914,32.652627],[102.646825,32.652654],[102.646794,32.652663],[102.64667,32.6527],[102.646644,32.652708],[102.646582,32.652727],[102.646516,32.652746],[102.646166,32.652983],[102.645964,32.653355],[102.645981,32.653973],[102.646001,32.654009],[102.646156,32.654286],[102.646513,32.654353],[102.6469,32.654426],[102.64697,32.65444],[102.647065,32.654458],[102.647189,32.654423],[102.64723,32.654411],[102.647462,32.654346],[102.64771,32.654277],[102.647894,32.654314],[102.648138,32.654364],[102.64823,32.654383],[102.648968,32.654534],[102.649164,32.654574],[102.649299,32.654632],[102.6496,32.654759],[102.649797,32.654842],[102.649976,32.654918],[102.650023,32.654938],[102.650978,32.655188],[102.651474,32.655282],[102.651494,32.655286],[102.651658,32.655317],[102.651682,32.655348],[102.651747,32.655363],[102.651773,32.655371],[102.6518,32.655389],[102.651826,32.655408],[102.651846,32.655427],[102.651856,32.655457],[102.651856,32.655485],[102.651851,32.655516],[102.651844,32.655558],[102.651907,32.655641],[102.651904,32.655567],[102.651904,32.655534],[102.651905,32.655491],[102.651905,32.655441],[102.651906,32.655414],[102.65192,32.655396],[102.651932,32.65539],[102.651961,32.655391],[102.651995,32.655409],[102.652016,32.655442],[102.652023,32.655492],[102.652021,32.655556],[102.652012,32.655609],[102.651995,32.655655],[102.651953,32.6557],[102.652172,32.655985],[102.652298,32.65615],[102.652321,32.65618],[102.652334,32.65654],[102.652341,32.656723],[102.652348,32.656915],[102.652329,32.656947],[102.652178,32.657206],[102.652146,32.65726],[102.652137,32.657275],[102.652131,32.657286],[102.652065,32.657399],[102.652013,32.657488],[102.651958,32.657562],[102.651868,32.657683],[102.651863,32.65769],[102.651729,32.65787],[102.651744,32.657942],[102.651773,32.658083],[102.651782,32.658126],[102.65181,32.658258],[102.6524,32.658423],[102.652586,32.658402],[102.652703,32.658389],[102.652811,32.658376],[102.652912,32.658365],[102.653027,32.658352],[102.653084,32.658345],[102.653146,32.658386],[102.653175,32.658414],[102.653197,32.658435],[102.653212,32.658448],[102.653215,32.658451],[102.653297,32.658495],[102.653388,32.658525],[102.653463,32.658536],[102.653568,32.658526],[102.653635,32.658509],[102.653657,32.658504],[102.65366,32.658502],[102.65373,32.658464],[102.653794,32.658421],[102.653873,32.658375],[102.65393,32.658313],[102.653984,32.658258],[102.654065,32.658218],[102.654139,32.658164],[102.654178,32.658126],[102.654189,32.658071],[102.654177,32.65799],[102.654141,32.657929],[102.654096,32.657886],[102.654034,32.657839],[102.65394,32.657765],[102.65391,32.657751],[102.653927,32.657591],[102.65393,32.657563],[102.65393,32.657544],[102.653911,32.656557],[102.654116,32.656229],[102.654197,32.656099],[102.654241,32.656052],[102.654352,32.656076],[102.654515,32.656123],[102.654614,32.656204],[102.654696,32.656224],[102.654896,32.656387],[102.655026,32.656493],[102.655036,32.656501],[102.655075,32.656533],[102.655095,32.65655],[102.655278,32.656699],[102.655442,32.656856],[102.655451,32.656865],[102.655813,32.657212],[102.6562,32.657822],[102.656384,32.658111],[102.656969,32.658771],[102.657165,32.658991],[102.657242,32.659078],[102.657708,32.659398],[102.657777,32.659446],[102.658154,32.659607],[102.65828,32.65966],[102.658717,32.659846],[102.658804,32.659884],[102.658876,32.659914],[102.658885,32.659918],[102.659854,32.660197],[102.659891,32.660207],[102.660115,32.66016],[102.660221,32.660138],[102.660263,32.660129],[102.660331,32.660115],[102.660468,32.660086],[102.66048,32.660083],[102.661071,32.659959],[102.661588,32.659901],[102.661715,32.659887],[102.661766,32.659881],[102.661976,32.659953],[102.662145,32.66001],[102.662165,32.660017],[102.662194,32.660027],[102.662423,32.660104],[102.662432,32.660107],[102.662515,32.660135],[102.662537,32.660143],[102.662547,32.660146],[102.662612,32.660168],[102.663051,32.65968],[102.663113,32.659534],[102.663392,32.658874],[102.663745,32.658782],[102.663774,32.658798],[102.663842,32.65881],[102.663957,32.658847],[102.664166,32.658972],[102.664291,32.659076],[102.664352,32.659195],[102.664496,32.659481],[102.664431,32.659931],[102.664328,32.660206],[102.664308,32.660258],[102.664301,32.660276],[102.664145,32.660693],[102.663901,32.661238],[102.663909,32.661314],[102.66393,32.661365],[102.663946,32.661403],[102.663976,32.661466],[102.664012,32.661519],[102.664063,32.661558],[102.663935,32.661619],[102.663914,32.66163],[102.663873,32.661639],[102.663952,32.661856],[102.663999,32.661985],[102.664002,32.661992],[102.664054,32.662135],[102.66456,32.662507],[102.664645,32.662571],[102.664653,32.662576],[102.664682,32.662598],[102.664897,32.662666],[102.664908,32.66267],[102.664943,32.662681],[102.665581,32.662885],[102.666715,32.66319],[102.666766,32.663204],[102.6669,32.66324],[102.667305,32.663349],[102.667533,32.663334],[102.667752,32.663338],[102.668238,32.663295],[102.668465,32.663198],[102.669047,32.66295],[102.669561,32.662815],[102.669852,32.662739],[102.669939,32.662765],[102.669943,32.662767],[102.67017,32.662835],[102.670581,32.663429],[102.670713,32.663575],[102.670729,32.663593],[102.67085,32.663727],[102.670858,32.663736],[102.670925,32.663809],[102.670967,32.663856],[102.671203,32.664118],[102.671874,32.664987],[102.671966,32.665055],[102.671979,32.665064],[102.672161,32.665199],[102.672287,32.665292],[102.672368,32.665317],[102.672453,32.665356],[102.672506,32.665382],[102.672538,32.6654],[102.672603,32.665479],[102.672814,32.66554],[102.6732,32.665651],[102.673228,32.665659],[102.673251,32.665666],[102.673508,32.665739],[102.6739,32.665784],[102.674038,32.665799],[102.674246,32.665823],[102.674347,32.665834],[102.674354,32.665835],[102.674498,32.665851],[102.674558,32.665833],[102.674644,32.665833],[102.674713,32.665832],[102.674781,32.665836],[102.674833,32.665856],[102.674869,32.665893],[102.674897,32.665896],[102.674944,32.665901],[102.675118,32.665901],[102.675141,32.665901],[102.675492,32.6659],[102.675556,32.6659],[102.675723,32.6659],[102.675732,32.6659],[102.676871,32.665897],[102.677008,32.665897],[102.677131,32.665897],[102.677243,32.665925],[102.67728,32.665935],[102.677703,32.666043],[102.677937,32.666103],[102.677949,32.666105],[102.678058,32.666133],[102.678085,32.66614],[102.678324,32.666447],[102.678355,32.666486],[102.678393,32.666535],[102.67855,32.666735],[102.678713,32.667587],[102.678699,32.668128],[102.678911,32.668592],[102.67908,32.668782],[102.679253,32.668977],[102.679342,32.669005],[102.679356,32.66901],[102.679442,32.669037],[102.67976,32.669138],[102.679888,32.669178],[102.680427,32.669351],[102.680707,32.669653],[102.680831,32.669767],[102.68084,32.669776],[102.680857,32.669791],[102.680891,32.669823],[102.681199,32.670106],[102.681207,32.670113],[102.681219,32.670179],[102.681293,32.670263],[102.681376,32.670362],[102.681539,32.670496],[102.681564,32.670516],[102.681696,32.670622],[102.681834,32.670695],[102.681933,32.670728],[102.682008,32.670744],[102.682149,32.670761],[102.68225,32.670765],[102.682315,32.670764],[102.682328,32.670767],[102.682626,32.670848],[102.682674,32.670861],[102.683073,32.670969],[102.683415,32.671332],[102.683452,32.671372],[102.683467,32.671388],[102.68354,32.671465],[102.683542,32.67147],[102.683669,32.671799],[102.683682,32.671834],[102.683692,32.67186],[102.68374,32.671985],[102.68375,32.67201],[102.683765,32.672191],[102.683765,32.672199],[102.683798,32.672606],[102.684081,32.672828],[102.684462,32.672916],[102.685395,32.672717],[102.685713,32.672804],[102.685769,32.673103],[102.68576,32.673454],[102.685527,32.673541],[102.685475,32.673561],[102.685326,32.673616],[102.685276,32.673635],[102.685199,32.673653],[102.684761,32.673761],[102.684191,32.67371],[102.683994,32.673692],[102.683294,32.673679],[102.683125,32.673646],[102.682334,32.673489],[102.68224,32.67347],[102.682123,32.673486],[102.681534,32.673566],[102.681076,32.673936],[102.681001,32.674262],[102.681038,32.674407],[102.681082,32.674508],[102.681159,32.674621],[102.681323,32.674784],[102.681411,32.674893],[102.681482,32.674975],[102.681521,32.675014],[102.681649,32.6751],[102.681748,32.675149],[102.681835,32.675168],[102.681991,32.67516],[102.682117,32.675122],[102.682356,32.675177],[102.68256,32.675187],[102.683283,32.675222],[102.683561,32.675298],[102.683601,32.675309],[102.683689,32.675608],[102.683384,32.676676],[102.683215,32.676868],[102.683093,32.677005],[102.683032,32.677005],[102.682963,32.677006],[102.682918,32.677014],[102.682844,32.677026],[102.682743,32.677065],[102.682618,32.677107],[102.68247,32.677154],[102.682431,32.677204],[102.682416,32.677278],[102.682413,32.677294],[102.682385,32.677355],[102.682326,32.677409],[102.682321,32.677414],[102.68229,32.677449],[102.682279,32.677463],[102.682263,32.677557],[102.682238,32.677683],[102.682241,32.677779],[102.682246,32.677847],[102.681831,32.678132],[102.681757,32.678183],[102.681706,32.678218],[102.681667,32.678244],[102.681637,32.678265],[102.681366,32.678451],[102.680135,32.679134],[102.678383,32.679422],[102.676639,32.67939],[102.67635,32.67926],[102.676287,32.679232],[102.67544,32.678854],[102.674451,32.678964],[102.673309,32.679135],[102.672682,32.679893],[102.672656,32.679999],[102.672635,32.680083],[102.672356,32.681203],[102.67192,32.682958],[102.671496,32.684682],[102.671464,32.685901],[102.671802,32.687511],[102.672292,32.689059],[102.67323,32.690937],[102.673717,32.692614],[102.674282,32.694228],[102.674756,32.696418],[102.675227,32.698736],[102.675186,32.700339],[102.675395,32.701302],[102.675466,32.701628],[102.675476,32.70156],[102.676411,32.70271],[102.678,32.703419],[102.678915,32.703254],[102.680319,32.702827],[102.681951,32.701906],[102.682445,32.701482],[102.68316,32.700868],[102.683759,32.700354],[102.687705,32.696008],[102.68777,32.695936],[102.691877,32.691413],[102.693023,32.69015],[102.693482,32.690181],[102.693933,32.690212],[102.693941,32.690213],[102.695055,32.690323],[102.696438,32.690711],[102.698076,32.691602],[102.698802,32.692522],[102.698869,32.694109],[102.698738,32.695012],[102.698919,32.696329],[102.69933,32.697017],[102.699845,32.697841],[102.701003,32.698633],[102.70224,32.698831],[102.702284,32.698838],[102.703359,32.698676],[102.704211,32.698918],[102.705215,32.699435],[102.706591,32.70014],[102.707656,32.700386],[102.708339,32.700897],[102.709341,32.701549],[102.710017,32.702332],[102.710474,32.703337],[102.711045,32.704072],[102.710897,32.705149],[102.710358,32.706276],[102.709519,32.70857],[102.709183,32.710255],[102.709942,32.711094],[102.710765,32.713253],[102.711114,32.714868],[102.711905,32.716367],[102.712407,32.717695],[102.712902,32.719354],[102.713119,32.720389],[102.713414,32.722209],[102.713869,32.723495],[102.714009,32.725642],[102.71461,32.727312],[102.714921,32.728174],[102.715777,32.730953],[102.716123,32.732691],[102.716965,32.734109],[102.717708,32.735566],[102.717499,32.736098],[102.717228,32.737165],[102.716983,32.73914],[102.716626,32.743546],[102.716646,32.743862],[102.71673,32.745239],[102.717,32.748006],[102.717373,32.748714],[102.717787,32.749711],[102.718502,32.750343],[102.719018,32.751013],[102.719211,32.751263],[102.720301,32.75252],[102.720966,32.753233],[102.721534,32.753945],[102.72146,32.754933],[102.721475,32.756253],[102.721303,32.758239],[102.721268,32.758641],[102.721183,32.760042],[102.721403,32.760994],[102.721535,32.761574],[102.721528,32.761909],[102.721562,32.761901],[102.721722,32.761859],[102.722461,32.761665],[102.723295,32.761681],[102.725669,32.762026],[102.726982,32.761949],[102.728347,32.762125],[102.729958,32.762053],[102.731268,32.762077],[102.732346,32.761845],[102.733005,32.761706],[102.734195,32.761778],[102.736213,32.762066],[102.738288,32.762456],[102.739106,32.763074],[102.740571,32.764057],[102.74239,32.76516],[102.743606,32.766541],[102.745408,32.767744],[102.746884,32.768778],[102.746896,32.768786],[102.746903,32.768791],[102.746988,32.768817],[102.747007,32.768823],[102.747886,32.769096],[102.747987,32.769127],[102.74832,32.769231],[102.748441,32.769253],[102.748457,32.769256],[102.748725,32.769304],[102.74874,32.769307],[102.749675,32.769477],[102.749676,32.769478],[102.749698,32.769482],[102.751567,32.769817],[102.753668,32.76978],[102.755127,32.77041],[102.756347,32.77164],[102.756686,32.772363],[102.757023,32.7732],[102.757893,32.774121],[102.759334,32.775469],[102.760564,32.776321],[102.762059,32.777292],[102.762794,32.778286],[102.76358,32.779018],[102.764572,32.780432],[102.766972,32.782778],[102.768283,32.783934],[102.768603,32.789036],[102.768401,32.789977],[102.768283,32.791107],[102.767846,32.792496],[102.767758,32.794231],[102.7685,32.796736],[102.769432,32.798791],[102.77063,32.800927],[102.771281,32.801731],[102.772867,32.802665],[102.774801,32.803983],[102.777841,32.805774],[102.779207,32.806553],[102.779383,32.80667],[102.778828,32.807415],[102.778451,32.808201],[102.778086,32.810271],[102.778714,32.811981],[102.778952,32.813193],[102.778791,32.814285],[102.778842,32.815834],[102.778698,32.818021],[102.778082,32.819407],[102.77715,32.820938],[102.776819,32.82165],[102.776928,32.822671],[102.777201,32.824299],[102.777562,32.825929],[102.77749,32.827022],[102.777092,32.8281],[102.776963,32.828447],[102.776835,32.829659],[102.776788,32.830105],[102.776818,32.830249],[102.776906,32.830668],[102.777068,32.831432],[102.777469,32.833251],[102.777969,32.834732],[102.778723,32.836784],[102.778864,32.838297],[102.779019,32.839244],[102.778935,32.840828],[102.77866,32.844711],[102.778601,32.847051],[102.778394,32.84818],[102.77869,32.848865],[102.780298,32.850743],[102.780965,32.852718],[102.781341,32.853782],[102.78237,32.855536],[102.782782,32.856978],[102.782848,32.857923],[102.782824,32.858867],[102.782933,32.859888],[102.783364,32.862349],[102.78402,32.864739],[102.784091,32.865458],[102.784121,32.866063],[102.784325,32.866859],[102.785388,32.867293],[102.785395,32.867294],[102.785864,32.867321],[102.786326,32.867347],[102.786548,32.867429],[102.78658,32.867441],[102.786635,32.867461],[102.787301,32.867705],[102.787402,32.86777],[102.787411,32.867776],[102.787497,32.867831],[102.787511,32.86784],[102.787961,32.868131],[102.788486,32.868632],[102.789357,32.869591],[102.78952,32.869795],[102.789877,32.870242],[102.790525,32.871394],[102.790649,32.871614],[102.790717,32.872446],[102.791453,32.873441],[102.791954,32.874884],[102.791887,32.875789],[102.791732,32.876617],[102.792015,32.87783],[102.792195,32.879607],[102.792755,32.880486],[102.794064,32.88183],[102.794845,32.882788],[102.795721,32.883558],[102.795932,32.884053],[102.795936,32.884076],[102.796124,32.88534],[102.795807,32.887297],[102.795242,32.890232],[102.794852,32.891546],[102.794106,32.892741],[102.793577,32.894242],[102.793334,32.894993],[102.793136,32.895782],[102.792982,32.896572],[102.792529,32.897642],[102.792174,32.898483],[102.792136,32.898708],[102.792016,32.899424],[102.791897,32.90063],[102.791918,32.901574],[102.79194,32.902481],[102.792147,32.904164],[102.792201,32.904599],[102.792311,32.905583],[102.792598,32.906607],[102.79258,32.907362],[102.792562,32.908079],[102.792588,32.908293],[102.792589,32.908296],[102.792659,32.908868],[102.792674,32.908987],[102.792499,32.909857],[102.792469,32.910003],[102.792451,32.910076],[102.792448,32.91009],[102.79243,32.91016],[102.792427,32.910174],[102.792381,32.91036],[102.79235,32.910484],[102.792171,32.911206],[102.791795,32.91166],[102.791772,32.911688],[102.791637,32.911851],[102.79161,32.911953],[102.791593,32.911993],[102.791561,32.912038],[102.791531,32.912086],[102.791515,32.912118],[102.791503,32.91218],[102.791459,32.912257],[102.791388,32.912299],[102.791313,32.912243],[102.791248,32.912322],[102.791095,32.912434],[102.791086,32.91244],[102.790959,32.912533],[102.790291,32.913022],[102.79009,32.913887],[102.790084,32.91414],[102.790069,32.914745],[102.790066,32.914868],[102.790168,32.915826],[102.790175,32.915889],[102.790176,32.915935],[102.790184,32.916358],[102.790195,32.916856],[102.790195,32.916871],[102.790185,32.91692],[102.790161,32.917035],[102.790093,32.91736],[102.789727,32.917693],[102.789323,32.917724],[102.789246,32.917726],[102.789228,32.917726],[102.789098,32.91773],[102.78886,32.917735],[102.788656,32.91774],[102.788644,32.917719],[102.788542,32.91766],[102.788463,32.917656],[102.788329,32.917688],[102.788313,32.917692],[102.788186,32.917746],[102.788048,32.917806],[102.787935,32.917821],[102.787859,32.917819],[102.787644,32.917837],[102.787617,32.917841],[102.787394,32.917881],[102.787318,32.917956],[102.787287,32.918051],[102.78726,32.918079],[102.787174,32.918127],[102.786756,32.918358],[102.78661,32.918476],[102.786551,32.918524],[102.786525,32.918546],[102.786208,32.918801],[102.786149,32.918839],[102.786003,32.918932],[102.785914,32.918988],[102.785818,32.919049],[102.785616,32.919177],[102.785571,32.919205],[102.785332,32.919338],[102.784709,32.919681],[102.784388,32.919977],[102.78422,32.920068],[102.784185,32.920084],[102.78412,32.920115],[102.783675,32.920321],[102.783617,32.920393],[102.783543,32.920473],[102.783454,32.920564],[102.783366,32.92062],[102.783167,32.92094],[102.783114,32.921025],[102.783102,32.921043],[102.783091,32.921058],[102.782407,32.921923],[102.782113,32.922097],[102.781916,32.922214],[102.781909,32.922218],[102.781674,32.922357],[102.781286,32.922431],[102.781227,32.922443],[102.781198,32.922448],[102.781004,32.922486],[102.780877,32.92251],[102.780821,32.922521],[102.780707,32.922543],[102.779793,32.922567],[102.778451,32.92234],[102.777396,32.9222],[102.776782,32.921742],[102.776003,32.920942],[102.776038,32.920923],[102.776038,32.920889],[102.77599,32.920763],[102.775953,32.920716],[102.775837,32.920637],[102.775724,32.920578],[102.775685,32.920557],[102.775565,32.920533],[102.775406,32.92053],[102.775292,32.920549],[102.775272,32.920539],[102.775261,32.920538],[102.774659,32.920528],[102.774166,32.920519],[102.772761,32.9209],[102.772644,32.92093],[102.771647,32.921183],[102.770824,32.921393],[102.770498,32.921468],[102.769064,32.921799],[102.768917,32.921832],[102.768211,32.921995],[102.765263,32.922511],[102.763859,32.922868],[102.763759,32.922893],[102.763664,32.922917],[102.763326,32.923003],[102.76197,32.923076],[102.760483,32.923155],[102.759033,32.923413],[102.757962,32.923922],[102.75694,32.92439],[102.755851,32.925049],[102.755767,32.9251],[102.755343,32.92565],[102.755324,32.925675],[102.75512,32.92594],[102.755005,32.926005],[102.754486,32.926294],[102.754013,32.926339],[102.753762,32.926362],[102.752718,32.925775],[102.750897,32.92471],[102.750821,32.924666],[102.75014,32.924268],[102.749539,32.923916],[102.749067,32.92364],[102.749043,32.92362],[102.748981,32.923567],[102.748182,32.922896],[102.747441,32.92239],[102.747439,32.922335],[102.747439,32.922325],[102.747411,32.922251],[102.747367,32.922131],[102.747305,32.922024],[102.747181,32.921783],[102.747138,32.9217],[102.747119,32.921684],[102.746578,32.921241],[102.746567,32.921239],[102.746329,32.921189],[102.746121,32.921145],[102.746019,32.921124],[102.746005,32.921121],[102.745525,32.92102],[102.744962,32.921075],[102.744943,32.921059],[102.744916,32.92106],[102.744895,32.921081],[102.744411,32.921129],[102.744397,32.92113],[102.744126,32.921157],[102.743884,32.921212],[102.743816,32.921258],[102.74378,32.921278],[102.743748,32.92135],[102.743591,32.921428],[102.74334,32.921553],[102.743312,32.921719],[102.743304,32.921767],[102.74328,32.921913],[102.743256,32.922054],[102.743253,32.922069],[102.743209,32.92233],[102.743185,32.922477],[102.743265,32.922461],[102.743288,32.922482],[102.743284,32.92251],[102.743266,32.922591],[102.743221,32.922724],[102.743198,32.922799],[102.743198,32.922843],[102.743208,32.92291],[102.74322,32.922971],[102.743238,32.923032],[102.743254,32.923076],[102.743306,32.923128],[102.743392,32.923538],[102.74332,32.923671],[102.743241,32.923819],[102.742972,32.923786],[102.742914,32.923778],[102.742902,32.923777],[102.742859,32.923772],[102.742664,32.923748],[102.742473,32.923724],[102.742381,32.923703],[102.74136,32.923474],[102.741241,32.923447],[102.74112,32.923392],[102.740974,32.92334],[102.740795,32.923289],[102.740621,32.923268],[102.74047,32.923257],[102.740368,32.923194],[102.740282,32.92314],[102.740175,32.923074],[102.740037,32.922988],[102.739923,32.922917],[102.739811,32.922848],[102.739661,32.922755],[102.739501,32.92266],[102.739349,32.922569],[102.73921,32.922475],[102.739069,32.922388],[102.738913,32.922291],[102.738759,32.922196],[102.738677,32.922141],[102.738578,32.922075],[102.738424,32.921973],[102.738326,32.921907],[102.73822,32.921837],[102.738081,32.921744],[102.737933,32.921646],[102.737763,32.921532],[102.737582,32.921412],[102.737408,32.921296],[102.737241,32.921184],[102.737116,32.921101],[102.736945,32.920987],[102.736807,32.920895],[102.73663,32.920778],[102.736439,32.920621],[102.736177,32.920407],[102.735922,32.920198],[102.735707,32.920021],[102.735575,32.919913],[102.735408,32.919777],[102.735104,32.919528],[102.734929,32.919384],[102.734786,32.919267],[102.734604,32.919118],[102.734407,32.918941],[102.734196,32.918751],[102.733962,32.918514],[102.733821,32.918381],[102.733813,32.918373],[102.733601,32.918174],[102.733385,32.91797],[102.733241,32.917835],[102.733084,32.91758],[102.732956,32.917371],[102.732834,32.917172],[102.732409,32.916481],[102.732131,32.916324],[102.731291,32.915851],[102.7311,32.915744],[102.730844,32.9156],[102.730825,32.915564],[102.730774,32.915564],[102.730742,32.915484],[102.73071,32.915442],[102.730692,32.915396],[102.730666,32.915328],[102.730646,32.915269],[102.730611,32.915197],[102.730604,32.915148],[102.730431,32.914821],[102.73045,32.914098],[102.730451,32.914056],[102.730457,32.913807],[102.730416,32.913718],[102.730393,32.913668],[102.730318,32.913505],[102.730317,32.913503],[102.730268,32.913397],[102.730192,32.913232],[102.72991,32.912621],[102.729624,32.912485],[102.729546,32.912448],[102.729416,32.912485],[102.729271,32.91247],[102.729104,32.912447],[102.729003,32.912416],[102.728956,32.912386],[102.728923,32.912373],[102.728853,32.912364],[102.728723,32.912359],[102.728318,32.91239],[102.728273,32.91241],[102.728178,32.912451],[102.728131,32.912471],[102.728089,32.912489],[102.727891,32.912583],[102.72786,32.9126],[102.7278,32.912634],[102.727718,32.912715],[102.727617,32.912821],[102.727519,32.912918],[102.727385,32.913042],[102.727329,32.913152],[102.727323,32.913157],[102.727005,32.913339],[102.726769,32.913295],[102.726683,32.913328],[102.726672,32.913328],[102.726669,32.913316],[102.726707,32.913283],[102.726503,32.913245],[102.726484,32.913241],[102.726459,32.913236],[102.726388,32.913223],[102.726047,32.913159],[102.724997,32.912622],[102.72498,32.912613],[102.724963,32.912605],[102.724813,32.912528],[102.724754,32.912513],[102.724466,32.912438],[102.724455,32.912436],[102.724443,32.912432],[102.724086,32.91234],[102.724068,32.912336],[102.72387,32.912284],[102.723754,32.912254],[102.723202,32.912112],[102.72308,32.91208],[102.722942,32.912045],[102.722804,32.912009],[102.722614,32.91196],[102.722608,32.911961],[102.722541,32.911974],[102.722528,32.911977],[102.722522,32.911978],[102.722416,32.911998],[102.721067,32.912257],[102.720696,32.91246],[102.720509,32.912563],[102.719994,32.912846],[102.71978,32.912873],[102.718304,32.913058],[102.71758,32.913167],[102.71658,32.912743],[102.716465,32.91247],[102.71643,32.912388],[102.716229,32.911912],[102.716218,32.911884],[102.716183,32.911854],[102.716182,32.911853],[102.715599,32.911339],[102.715582,32.911339],[102.715443,32.911336],[102.715372,32.911327],[102.715321,32.911309],[102.715254,32.911274],[102.715182,32.911236],[102.715117,32.911207],[102.715039,32.911186],[102.714956,32.911162],[102.71487,32.911103],[102.714747,32.911086],[102.714365,32.911054],[102.714299,32.911049],[102.714274,32.911047],[102.714123,32.911034],[102.713932,32.910911],[102.713413,32.910575],[102.712907,32.910053],[102.712776,32.909808],[102.712665,32.909666],[102.712609,32.909589],[102.712418,32.909461],[102.712252,32.909414],[102.712227,32.909408],[102.712116,32.909376],[102.711933,32.909306],[102.711733,32.909211],[102.711516,32.909092],[102.711279,32.908959],[102.71108,32.908821],[102.710956,32.908706],[102.710802,32.908622],[102.710755,32.908581],[102.710722,32.908578],[102.710292,32.908524],[102.709571,32.908435],[102.7087,32.908622],[102.708361,32.908658],[102.708216,32.908674],[102.708159,32.90868],[102.708094,32.908687],[102.707735,32.908726],[102.707646,32.908707],[102.707575,32.908692],[102.706683,32.908504],[102.706412,32.908304],[102.706367,32.908272],[102.706339,32.908251],[102.705893,32.907924],[102.705886,32.907918],[102.705833,32.907879],[102.705574,32.907808],[102.705442,32.907771],[102.70505,32.907662],[102.704856,32.907609],[102.704734,32.907575],[102.704478,32.907608],[102.704457,32.90761],[102.703898,32.907681],[102.703674,32.90771],[102.703656,32.907712],[102.703616,32.907717],[102.702512,32.907857],[102.702224,32.907894],[102.702106,32.907929],[102.702094,32.907932],[102.701927,32.907981],[102.700916,32.908276],[102.700469,32.908352],[102.700258,32.908388],[102.700235,32.908392],[102.698983,32.908605],[102.698446,32.908772],[102.698352,32.908801],[102.69829,32.90882],[102.697734,32.908993],[102.697625,32.909027],[102.697544,32.909051],[102.697536,32.909054],[102.697161,32.909169],[102.696122,32.909486],[102.69524,32.909546],[102.695183,32.90955],[102.694242,32.909614],[102.692375,32.909255],[102.691648,32.909009],[102.691632,32.909004],[102.691541,32.908973],[102.691524,32.908967],[102.691508,32.908962],[102.691436,32.908938],[102.691092,32.908822],[102.690849,32.908739],[102.690785,32.908684],[102.690442,32.908393],[102.690057,32.908066],[102.690044,32.908054],[102.689756,32.907809],[102.689737,32.907793],[102.689666,32.907732],[102.689484,32.907578],[102.688524,32.906942],[102.688397,32.906859],[102.688349,32.906826],[102.687006,32.90668],[102.686953,32.906701],[102.686929,32.90671],[102.686633,32.906829],[102.686622,32.906833],[102.68652,32.906874],[102.686487,32.906872],[102.685877,32.906839],[102.68578,32.906834],[102.685487,32.906818],[102.685367,32.906812],[102.685174,32.906788],[102.685024,32.90677],[102.684669,32.906727],[102.684588,32.906717],[102.684176,32.906668],[102.684065,32.906654],[102.683806,32.906623],[102.683784,32.90662],[102.683315,32.906611],[102.683042,32.906606],[102.682871,32.906603],[102.682832,32.906601],[102.682784,32.906598],[102.682777,32.906597],[102.682606,32.906587],[102.682449,32.906578],[102.68191,32.906545],[102.681343,32.906169],[102.681218,32.905396],[102.681288,32.905277],[102.681325,32.905214],[102.681571,32.904794],[102.682643,32.904259],[102.682647,32.904257],[102.68277,32.904196],[102.682796,32.904149],[102.682817,32.904128],[102.68285,32.904113],[102.682898,32.904094],[102.682939,32.904074],[102.682995,32.904034],[102.683052,32.903728],[102.683054,32.903717],[102.683152,32.9032],[102.682116,32.902328],[102.681595,32.90209],[102.681351,32.901978],[102.681107,32.901866],[102.681053,32.901841],[102.680548,32.901609],[102.68039,32.9014],[102.680397,32.90136],[102.680399,32.901325],[102.680397,32.901294],[102.680387,32.901265],[102.680348,32.901209],[102.680333,32.90119],[102.680306,32.901158],[102.680419,32.900913],[102.680429,32.90089],[102.680458,32.900829],[102.680677,32.900354],[102.680776,32.900262],[102.68106,32.9],[102.681367,32.899717],[102.68195,32.899485],[102.682538,32.899364],[102.682578,32.899356],[102.682595,32.899352],[102.682675,32.899336],[102.682987,32.89914],[102.683013,32.899108],[102.683031,32.899093],[102.683051,32.899082],[102.683071,32.899073],[102.683115,32.89906],[102.683116,32.899033],[102.683117,32.898998],[102.683121,32.898865],[102.683124,32.898712],[102.683163,32.898703],[102.683259,32.898671],[102.683286,32.898632],[102.683301,32.89855],[102.683301,32.898442],[102.683302,32.898416],[102.683266,32.898424],[102.683253,32.898474],[102.683219,32.89852],[102.683182,32.898554],[102.683128,32.898592],[102.683137,32.898249],[102.682616,32.89779],[102.682605,32.89778],[102.682525,32.89771],[102.682409,32.89764],[102.682273,32.897558],[102.682161,32.89749],[102.682138,32.897476],[102.681483,32.897082],[102.68052,32.896233],[102.680475,32.896192],[102.680198,32.895948],[102.680026,32.895797],[102.67982,32.895665],[102.679814,32.895643],[102.679779,32.895555],[102.679745,32.895517],[102.679629,32.895423],[102.679411,32.895317],[102.67922,32.895247],[102.679132,32.895223],[102.678985,32.895128],[102.677992,32.89485],[102.677744,32.89478],[102.677699,32.894764],[102.67769,32.89476],[102.6766,32.894353],[102.675437,32.893248],[102.67542,32.893233],[102.67538,32.893194],[102.675214,32.893161],[102.675156,32.89315],[102.675121,32.893143],[102.674934,32.893105],[102.674932,32.893105],[102.67471,32.89306],[102.674546,32.89318],[102.674391,32.893184],[102.674259,32.893207],[102.674224,32.89325],[102.674244,32.893347],[102.674267,32.893385],[102.674171,32.893456],[102.67406,32.893538],[102.673934,32.893631],[102.673905,32.893652],[102.673732,32.89378],[102.673727,32.893784],[102.673582,32.893891],[102.673208,32.894028],[102.672699,32.894213],[102.672417,32.894316],[102.672181,32.894434],[102.671994,32.894497],[102.67193,32.894503],[102.671904,32.894503],[102.671862,32.894594],[102.671247,32.894903],[102.670716,32.895224],[102.670569,32.895312],[102.67052,32.895342],[102.670465,32.895375],[102.669704,32.895513],[102.66962,32.895528],[102.66958,32.895536],[102.66945,32.895559],[102.669277,32.895625],[102.669132,32.89568],[102.669116,32.895686],[102.668799,32.895807],[102.668775,32.895816],[102.668715,32.895839],[102.668332,32.895985],[102.666727,32.896685],[102.665941,32.897279],[102.665743,32.897268],[102.665707,32.897265],[102.665347,32.897244],[102.665116,32.897231],[102.664991,32.897223],[102.664967,32.897222],[102.664933,32.89722],[102.664223,32.89676],[102.663669,32.895898],[102.663396,32.895284],[102.663359,32.895057],[102.663371,32.89486],[102.66337,32.89451],[102.663323,32.89421],[102.663343,32.893988],[102.663309,32.893941],[102.663284,32.893795],[102.663283,32.89368],[102.663286,32.893564],[102.663282,32.893498],[102.663254,32.893365],[102.663256,32.893314],[102.663256,32.893293],[102.663252,32.89328],[102.662943,32.892394],[102.662522,32.89194],[102.662236,32.891849],[102.661711,32.891681],[102.661289,32.891693],[102.660845,32.891706],[102.660163,32.892018],[102.659453,32.892706],[102.659423,32.892734],[102.658214,32.892995],[102.658175,32.893014],[102.657727,32.89323],[102.657708,32.893378],[102.657666,32.893716],[102.657717,32.893906],[102.65772,32.893918],[102.657903,32.8946],[102.65794,32.894737],[102.657951,32.894777],[102.65794,32.894795],[102.657916,32.894839],[102.657896,32.894884],[102.657877,32.894944],[102.657853,32.895028],[102.657844,32.895084],[102.657837,32.895136],[102.657831,32.895167],[102.657807,32.895215],[102.657779,32.895304],[102.657769,32.895364],[102.657763,32.89542],[102.657763,32.89547],[102.657774,32.895521],[102.657781,32.895561],[102.657788,32.895596],[102.657788,32.895639],[102.657799,32.895756],[102.657791,32.89579],[102.657775,32.895842],[102.65776,32.895902],[102.657748,32.895951],[102.657742,32.896022],[102.657734,32.896075],[102.657719,32.896123],[102.657707,32.89615],[102.65768,32.896189],[102.657647,32.896223],[102.657595,32.896269],[102.657554,32.89631],[102.657512,32.896339],[102.657405,32.896396],[102.657375,32.896389],[102.657355,32.896381],[102.657345,32.896369],[102.657314,32.896348],[102.657283,32.896342],[102.657312,32.896324],[102.657266,32.89632],[102.65702,32.896301],[102.656172,32.895635],[102.655809,32.894817],[102.655688,32.894715],[102.655666,32.894697],[102.655436,32.894503],[102.655407,32.894417],[102.655358,32.894329],[102.655286,32.894246],[102.655241,32.89421],[102.655207,32.894169],[102.655163,32.894122],[102.655118,32.894094],[102.655054,32.894067],[102.654965,32.894054],[102.654896,32.894049],[102.654798,32.893966],[102.654774,32.893945],[102.654404,32.893727],[102.653779,32.893359],[102.65373,32.893353],[102.652916,32.893261],[102.651553,32.893885],[102.651363,32.894026],[102.650313,32.894808],[102.650277,32.894835],[102.649741,32.895177],[102.649687,32.895212],[102.649682,32.895287],[102.649552,32.895349],[102.649337,32.895435],[102.649227,32.895473],[102.649158,32.895495],[102.64909,32.895525],[102.649038,32.895568],[102.648795,32.895776],[102.648588,32.895963],[102.648418,32.896141],[102.64829,32.896338],[102.648212,32.89648],[102.648187,32.896508],[102.648151,32.89655],[102.647916,32.896819],[102.647879,32.896904],[102.647714,32.897294],[102.647717,32.897316],[102.647728,32.897394],[102.647752,32.897419],[102.647788,32.897445],[102.647823,32.897475],[102.647846,32.897512],[102.64786,32.897547],[102.64793,32.897624],[102.647969,32.897665],[102.648051,32.897713],[102.648333,32.897805],[102.648415,32.897833],[102.648421,32.897844],[102.648468,32.897922],[102.648575,32.8981],[102.648604,32.89815],[102.64862,32.898176],[102.648662,32.898199],[102.64869,32.898216],[102.648715,32.89824],[102.648726,32.898265],[102.648722,32.898283],[102.648697,32.898305],[102.648705,32.898318],[102.64874,32.898377],[102.648741,32.898383],[102.648955,32.899355],[102.64878,32.900186],[102.648746,32.900349],[102.648734,32.900406],[102.648717,32.900438],[102.648685,32.900502],[102.648589,32.900687],[102.64858,32.900704],[102.648493,32.900872],[102.648278,32.90129],[102.647988,32.90164],[102.647956,32.901679],[102.647949,32.901687],[102.647921,32.901721],[102.647781,32.901889],[102.64764,32.901948],[102.647604,32.901963],[102.64676,32.902316],[102.64648,32.90233],[102.646439,32.902333],[102.646228,32.902343],[102.645604,32.902375],[102.644939,32.902038],[102.644289,32.901174],[102.644176,32.901064],[102.644163,32.901051],[102.644144,32.901032],[102.644057,32.900946],[102.643867,32.90076],[102.643849,32.900753],[102.643616,32.900664],[102.643604,32.900659],[102.643417,32.900587],[102.6432,32.900504],[102.642113,32.900808],[102.642078,32.900818],[102.642057,32.900824],[102.641843,32.900884],[102.641649,32.901007],[102.64163,32.901019],[102.641605,32.901035],[102.640913,32.901475],[102.63978,32.902389],[102.639772,32.902395],[102.639571,32.902558],[102.639537,32.902585],[102.639399,32.90291],[102.639282,32.902909],[102.639166,32.903117],[102.639114,32.903378],[102.638917,32.903767],[102.638813,32.904022],[102.638725,32.904683],[102.638729,32.904799],[102.63872,32.904826],[102.638717,32.904836],[102.638653,32.905044],[102.638736,32.90575],[102.638736,32.905752],[102.638742,32.905803],[102.638776,32.906093],[102.63881,32.906386],[102.638846,32.906641],[102.638847,32.906642],[102.638848,32.906654],[102.638899,32.907013],[102.638906,32.907058],[102.638977,32.90756],[102.638979,32.90757],[102.638991,32.907659],[102.638974,32.907675],[102.638949,32.907703],[102.638926,32.907731],[102.638899,32.907758],[102.638875,32.907784],[102.638857,32.907807],[102.638858,32.907849],[102.638854,32.907902],[102.638816,32.907979],[102.638808,32.908094],[102.638818,32.908252],[102.63883,32.908446],[102.638775,32.908519],[102.638719,32.908595],[102.638712,32.908603],[102.638689,32.908634],[102.638553,32.908816],[102.637774,32.908863],[102.63776,32.908864],[102.637544,32.908877],[102.637562,32.90884],[102.637562,32.908815],[102.637542,32.908784],[102.637512,32.908781],[102.637467,32.908792],[102.637379,32.908827],[102.6372,32.908772],[102.637197,32.90877],[102.637189,32.908768],[102.636573,32.908576],[102.636569,32.908575],[102.636298,32.908491],[102.636157,32.908447],[102.636056,32.908415],[102.636014,32.908402],[102.635631,32.908196],[102.635759,32.908208],[102.635831,32.908216],[102.635777,32.908162],[102.635734,32.908135],[102.635648,32.908099],[102.635548,32.908071],[102.635437,32.90806],[102.635295,32.908014],[102.635186,32.907955],[102.634924,32.907813],[102.634893,32.907818],[102.6348,32.907831],[102.634803,32.907842],[102.634825,32.907857],[102.634845,32.907863],[102.634881,32.90788],[102.634866,32.90789],[102.63481,32.907899],[102.634773,32.907902],[102.634725,32.907908],[102.634669,32.907916],[102.634622,32.90792],[102.634578,32.90792],[102.63451,32.907935],[102.63444,32.907938],[102.634425,32.907924],[102.634408,32.907894],[102.634405,32.907885],[102.634259,32.907906],[102.634151,32.907921],[102.634106,32.907965],[102.633982,32.908013],[102.63376,32.908214],[102.633673,32.90837],[102.633669,32.908378],[102.633706,32.908358],[102.633697,32.908384],[102.633672,32.908455],[102.633446,32.909084],[102.633448,32.909315],[102.633451,32.909577],[102.633459,32.910423],[102.633158,32.911157],[102.633161,32.911223],[102.633099,32.911405],[102.633064,32.911482],[102.63295,32.911488],[102.632554,32.911727],[102.632352,32.911849],[102.632265,32.911902],[102.632122,32.911942],[102.632098,32.911948],[102.631709,32.912057],[102.631528,32.912107],[102.631066,32.912236],[102.63096,32.912265],[102.63089,32.912285],[102.63074,32.912327],[102.630646,32.912353],[102.630222,32.912471],[102.630083,32.91251],[102.629619,32.912738],[102.629352,32.912869],[102.629346,32.912872],[102.629248,32.912921],[102.628729,32.913174],[102.628468,32.913304],[102.628357,32.913358],[102.628346,32.913364],[102.627938,32.913564],[102.627826,32.913638],[102.627857,32.913679],[102.627804,32.913724],[102.627757,32.913764],[102.627717,32.913797],[102.627673,32.913766],[102.627622,32.913737],[102.627566,32.913712],[102.627486,32.913682],[102.627372,32.913652],[102.627293,32.913637],[102.627293,32.913665],[102.627294,32.913681],[102.627296,32.913693],[102.627301,32.913705],[102.627311,32.913725],[102.627312,32.913727],[102.627329,32.913749],[102.627343,32.913764],[102.627359,32.913775],[102.627386,32.913787],[102.627403,32.913797],[102.627407,32.913805],[102.627407,32.913819],[102.627408,32.913845],[102.627409,32.913899],[102.627406,32.913915],[102.62732,32.913971],[102.6273,32.913985],[102.627293,32.913989],[102.627188,32.913927],[102.627174,32.913921],[102.627014,32.914039],[102.626826,32.914228],[102.62657,32.914466],[102.626464,32.914602],[102.626331,32.914751],[102.626316,32.914762],[102.626231,32.91482],[102.62621,32.914864],[102.626131,32.914873],[102.625475,32.915709],[102.625147,32.916259],[102.625056,32.91641],[102.625006,32.916494],[102.624972,32.916551],[102.624471,32.917272],[102.624304,32.91738],[102.623325,32.91801],[102.622727,32.918396],[102.622575,32.918494],[102.622537,32.918518],[102.622456,32.91857],[102.622344,32.918642],[102.622268,32.918691],[102.622264,32.91871],[102.622252,32.918768],[102.622121,32.919364],[102.622022,32.919816],[102.62206,32.91986],[102.622119,32.919923],[102.622167,32.919965],[102.622164,32.92019],[102.622187,32.920224],[102.622252,32.920318],[102.622343,32.92045],[102.622378,32.920501],[102.622472,32.920638],[102.622504,32.920684],[102.622518,32.920701],[102.622552,32.92074],[102.6226,32.920797],[102.622695,32.920909],[102.622876,32.921123],[102.623484,32.921839],[102.62413,32.922457],[102.62423,32.922553],[102.62438,32.922696],[102.624385,32.922701],[102.624406,32.922721],[102.624427,32.922741],[102.62437,32.922788],[102.624522,32.922893],[102.624547,32.922905],[102.624716,32.923072],[102.62479,32.923129],[102.624853,32.923176],[102.624911,32.923211],[102.625064,32.923265],[102.625123,32.923279],[102.625135,32.923302],[102.625125,32.923322],[102.625088,32.923338],[102.625042,32.923351],[102.624992,32.923371],[102.624956,32.923393],[102.624953,32.923416],[102.624965,32.923437],[102.624994,32.923441],[102.625048,32.923421],[102.625101,32.923415],[102.625141,32.923431],[102.625196,32.923452],[102.625238,32.923459],[102.625316,32.923467],[102.625361,32.923485],[102.625368,32.923522],[102.625375,32.923548],[102.625424,32.923582],[102.625475,32.923596],[102.62553,32.923609],[102.625586,32.923629],[102.625633,32.923653],[102.625661,32.923676],[102.625703,32.92369],[102.625732,32.923722],[102.625746,32.923751],[102.625774,32.923775],[102.625802,32.923772],[102.625821,32.923754],[102.625858,32.923709],[102.625869,32.923702],[102.626133,32.923866],[102.626219,32.92392],[102.626306,32.923997],[102.626462,32.924135],[102.626609,32.924265],[102.626683,32.92433],[102.626866,32.924491],[102.627123,32.924718],[102.627159,32.92475],[102.627204,32.924827],[102.62724,32.924891],[102.62737,32.925116],[102.627443,32.925242],[102.627509,32.925355],[102.627544,32.925416],[102.627565,32.925452],[102.627717,32.925716],[102.627822,32.925898],[102.627826,32.925905],[102.627842,32.925932],[102.627941,32.926104],[102.627952,32.926149],[102.628035,32.926495],[102.628072,32.926649],[102.62809,32.926724],[102.628244,32.927368],[102.627833,32.928334],[102.627594,32.928481],[102.626806,32.928964],[102.626676,32.929114],[102.626655,32.929138],[102.626642,32.929153],[102.626012,32.929882],[102.625868,32.930111],[102.625668,32.93043],[102.625621,32.930505],[102.625606,32.930529],[102.625524,32.93066],[102.625345,32.930946],[102.625332,32.930966],[102.625177,32.931215],[102.625169,32.931228],[102.625197,32.931232],[102.625206,32.931252],[102.625206,32.931274],[102.625195,32.931307],[102.625181,32.931332],[102.625159,32.931349],[102.625083,32.931365],[102.625046,32.931365],[102.625017,32.931375],[102.624994,32.931421],[102.624988,32.931461],[102.62497,32.931512],[102.624945,32.931545],[102.624893,32.931572],[102.624853,32.931583],[102.624823,32.931597],[102.624812,32.931628],[102.62483,32.931679],[102.624694,32.931801],[102.624417,32.932049],[102.624352,32.932108],[102.62434,32.932118],[102.624322,32.932275],[102.624296,32.932367],[102.624268,32.932451],[102.62425,32.932496],[102.624212,32.932505],[102.624131,32.932516],[102.624021,32.932543],[102.623915,32.932574],[102.623863,32.932619],[102.623785,32.932719],[102.623691,32.932796],[102.623547,32.932913],[102.62347,32.932992],[102.623394,32.933046],[102.623314,32.933071],[102.623205,32.933127],[102.623085,32.933154],[102.623006,32.933178],[102.622959,32.933214],[102.622869,32.933262],[102.622749,32.933313],[102.622607,32.933378],[102.622452,32.933447],[102.622308,32.933513],[102.622146,32.933591],[102.621992,32.933632],[102.621881,32.933675],[102.621854,32.933686],[102.621769,32.93371],[102.621693,32.933708],[102.621696,32.93369],[102.621698,32.93368],[102.621699,32.933675],[102.621682,32.933559],[102.621677,32.933527],[102.621431,32.933512],[102.620815,32.933476],[102.620127,32.933377],[102.620041,32.933364],[102.619924,32.933347],[102.619521,32.933289],[102.618546,32.933207],[102.618538,32.933206],[102.618315,32.933188],[102.618273,32.933184],[102.617902,32.933142],[102.617769,32.933127],[102.617755,32.933125],[102.617518,32.933099],[102.616977,32.933038],[102.616086,32.933994],[102.616112,32.934807],[102.616183,32.934882],[102.616202,32.934903],[102.617001,32.935757],[102.617902,32.936261],[102.617919,32.936263],[102.618905,32.936357],[102.618958,32.936362],[102.620007,32.936327],[102.620401,32.936314],[102.620468,32.936312],[102.620499,32.936311],[102.621837,32.936446],[102.621987,32.936461],[102.62226,32.936489],[102.622375,32.936501],[102.622872,32.936552],[102.623307,32.936597],[102.623426,32.93661],[102.624729,32.936978],[102.624752,32.937074],[102.624805,32.937105],[102.624854,32.937123],[102.624961,32.937152],[102.62506,32.937158],[102.625103,32.937156],[102.625218,32.937134],[102.626004,32.937389],[102.626862,32.937789],[102.627002,32.937855],[102.627068,32.937934],[102.627091,32.937961],[102.62737,32.938296],[102.627485,32.938434],[102.627572,32.938538],[102.627586,32.938556],[102.627655,32.938638],[102.627788,32.939417],[102.627797,32.939471],[102.627815,32.93958],[102.627841,32.939733],[102.627846,32.939758],[102.627863,32.93986],[102.627857,32.940081],[102.627855,32.940176],[102.627853,32.940184],[102.627841,32.940702],[102.627836,32.940881],[102.627817,32.940889],[102.627786,32.940914],[102.627766,32.94096],[102.627755,32.941008],[102.627748,32.941041],[102.627744,32.94106],[102.627707,32.941113],[102.627706,32.941115],[102.627734,32.941265],[102.627746,32.941325],[102.627763,32.941406],[102.627778,32.941492],[102.627815,32.941644],[102.627811,32.942347],[102.62781,32.942438],[102.62781,32.942466],[102.627809,32.94268],[102.627808,32.94282],[102.627807,32.942856],[102.627806,32.943155],[102.627805,32.943247],[102.6278,32.94398],[102.6278,32.944038],[102.627799,32.944073],[102.627788,32.944485],[102.627781,32.944728],[102.627538,32.944807],[102.627475,32.944827],[102.626956,32.944996],[102.626771,32.944999],[102.626715,32.944999],[102.626547,32.945002],[102.625877,32.945011],[102.625829,32.945011],[102.625704,32.945013],[102.625517,32.945004],[102.625312,32.944994],[102.6252,32.944988],[102.625021,32.944979],[102.624962,32.944976],[102.624921,32.944974],[102.624897,32.944973],[102.624358,32.944947],[102.622627,32.944914],[102.622554,32.944902],[102.62253,32.944946],[102.622461,32.944995],[102.622399,32.94504],[102.622282,32.945131],[102.622188,32.945178],[102.622184,32.94527],[102.6222,32.945615],[102.622203,32.945672],[102.622215,32.94592],[102.622588,32.94636],[102.62325,32.946751],[102.623569,32.946939],[102.623832,32.947094],[102.623865,32.947114],[102.623915,32.947143],[102.62395,32.94717],[102.623969,32.947185],[102.623829,32.94723],[102.623752,32.947253],[102.623661,32.947282],[102.623575,32.947311],[102.623541,32.947333],[102.623654,32.947338],[102.623772,32.947322],[102.6239,32.947298],[102.62409,32.947278],[102.624337,32.947469],[102.624519,32.94761],[102.624661,32.947719],[102.624921,32.94792],[102.625221,32.948308],[102.625351,32.948476],[102.625371,32.948488],[102.625474,32.948537],[102.625545,32.948604],[102.625673,32.948727],[102.625736,32.948794],[102.625731,32.948804],[102.625684,32.948907],[102.625727,32.948963],[102.625803,32.949061],[102.625835,32.949102],[102.625849,32.949119],[102.625857,32.949129],[102.625912,32.949199],[102.62597,32.949274],[102.626241,32.949485],[102.626523,32.949756],[102.626617,32.949834],[102.626711,32.949872],[102.626858,32.949902],[102.627028,32.949901],[102.627195,32.949893],[102.627333,32.949871],[102.627511,32.949803],[102.627607,32.949758],[102.627695,32.949759],[102.627807,32.949785],[102.62867,32.94929],[102.628679,32.949286],[102.628679,32.949261],[102.628718,32.949208],[102.628805,32.949141],[102.628909,32.949071],[102.629036,32.948996],[102.629121,32.948941],[102.62918,32.948888],[102.629242,32.94884],[102.629287,32.948833],[102.62931,32.948845],[102.629284,32.948885],[102.629237,32.948921],[102.629183,32.948969],[102.62915,32.949005],[102.629132,32.94902],[102.629128,32.94903],[102.629128,32.949052],[102.629128,32.949072],[102.629124,32.949091],[102.629149,32.949084],[102.629275,32.949029],[102.629284,32.949026],[102.629305,32.949017],[102.629514,32.948927],[102.62965,32.948949],[102.629671,32.948952],[102.629708,32.948958],[102.629789,32.94897],[102.629896,32.948988],[102.630073,32.949016],[102.630223,32.94904],[102.630559,32.949094],[102.630664,32.949111],[102.630717,32.949168],[102.630797,32.949254],[102.630945,32.949414],[102.631026,32.949501],[102.631147,32.949632],[102.631226,32.949717],[102.631239,32.949864],[102.631253,32.950011],[102.631261,32.950096],[102.631268,32.950179],[102.631281,32.950321],[102.631289,32.950407],[102.631292,32.950435],[102.631305,32.95058],[102.631325,32.950801],[102.631212,32.950989],[102.631193,32.951022],[102.630586,32.952031],[102.630581,32.952036],[102.630072,32.952476],[102.630043,32.952501],[102.630014,32.952525],[102.629867,32.952653],[102.629667,32.952825],[102.629362,32.95283],[102.628126,32.95285],[102.626533,32.952441],[102.626411,32.952439],[102.626055,32.952432],[102.62601,32.952431],[102.626001,32.952431],[102.625966,32.95243],[102.625819,32.952428],[102.625092,32.952414],[102.625048,32.952413],[102.624993,32.952412],[102.624898,32.952443],[102.624784,32.952481],[102.624718,32.952503],[102.624634,32.95253],[102.624575,32.952549],[102.624521,32.952567],[102.624407,32.952583],[102.624102,32.95268],[102.623952,32.952768],[102.623828,32.952861],[102.62369,32.953007],[102.623227,32.953304],[102.623137,32.953362],[102.62291,32.953509],[102.622672,32.953755],[102.621524,32.954943],[102.620567,32.955685],[102.61982,32.956263],[102.617603,32.957574],[102.61714,32.957866],[102.616773,32.957989],[102.616813,32.958071],[102.616683,32.958155],[102.616657,32.958171],[102.616466,32.958292],[102.61641,32.958327],[102.616157,32.958487],[102.615969,32.958606],[102.615775,32.958729],[102.615237,32.959638],[102.615113,32.960767],[102.61506,32.961253],[102.615041,32.961423],[102.615039,32.961439],[102.615024,32.961581],[102.615001,32.961791],[102.615128,32.961831],[102.615264,32.961873],[102.615258,32.961906],[102.615228,32.961926],[102.615167,32.961966],[102.615145,32.961999],[102.615143,32.962032],[102.615148,32.962077],[102.615175,32.962145],[102.61514,32.962163],[102.615074,32.962184],[102.615063,32.962228],[102.61506,32.962364],[102.615068,32.962424],[102.615101,32.96249],[102.615087,32.962527],[102.615045,32.962578],[102.61501,32.962636],[102.615004,32.962685],[102.615013,32.962764],[102.615008,32.96285],[102.615004,32.962926],[102.614996,32.963009],[102.614993,32.963056],[102.614992,32.963075],[102.61495,32.963164],[102.614924,32.963263],[102.614914,32.963326],[102.614901,32.963397],[102.614839,32.963528],[102.614816,32.963624],[102.614801,32.963688],[102.614795,32.96374],[102.614782,32.963811],[102.614731,32.963871],[102.614694,32.963962],[102.614661,32.964044],[102.614633,32.964126],[102.614606,32.964203],[102.614576,32.964278],[102.614576,32.96435],[102.61458,32.964406],[102.614554,32.964459],[102.614498,32.964475],[102.614255,32.964736],[102.614205,32.96479],[102.6142,32.964794],[102.614134,32.964866],[102.613554,32.964913],[102.612526,32.964997],[102.612445,32.964992],[102.612279,32.964982],[102.612068,32.964969],[102.612054,32.964968],[102.61198,32.964988],[102.611934,32.964987],[102.611856,32.964984],[102.611763,32.964986],[102.611579,32.965007],[102.611508,32.964992],[102.611433,32.964949],[102.611411,32.964929],[102.611354,32.964876],[102.611283,32.964827],[102.611226,32.964791],[102.611178,32.964775],[102.611113,32.964775],[102.611042,32.964775],[102.611003,32.96479],[102.611,32.964814],[102.611023,32.964837],[102.611051,32.964849],[102.611173,32.964917],[102.610987,32.964914],[102.610591,32.964906],[102.609961,32.964894],[102.609724,32.965032],[102.609676,32.96506],[102.609643,32.965079],[102.609626,32.965088],[102.609366,32.965239],[102.609357,32.965245],[102.609314,32.96527],[102.608788,32.965575],[102.607592,32.967067],[102.607494,32.967873],[102.607479,32.967994],[102.60747,32.968069],[102.607465,32.968105],[102.607427,32.968416],[102.60784,32.969122],[102.607989,32.969376],[102.608028,32.969443],[102.60807,32.969515],[102.608164,32.969675],[102.608589,32.969944],[102.609021,32.970216],[102.609047,32.970233],[102.609448,32.970391],[102.609539,32.970427],[102.611063,32.971029],[102.611207,32.971086],[102.612087,32.971478],[102.612348,32.971595],[102.612486,32.971878],[102.612603,32.972121],[102.612956,32.972851],[102.612939,32.9735],[102.612817,32.973998],[102.61265,32.974684],[102.611145,32.975738],[102.611094,32.975783],[102.610133,32.976627],[102.610081,32.976673],[102.610059,32.976693],[102.609699,32.977009],[102.609661,32.977056],[102.609001,32.977883],[102.608683,32.978282],[102.608636,32.978341],[102.608634,32.978352],[102.608452,32.979338],[102.60836,32.979838],[102.608326,32.980026],[102.608318,32.980065],[102.608276,32.980093],[102.608255,32.98014],[102.608216,32.980212],[102.608179,32.980261],[102.608148,32.980306],[102.608111,32.980371],[102.608097,32.980417],[102.608067,32.980495],[102.608028,32.980565],[102.607973,32.980628],[102.6079,32.980714],[102.607876,32.980759],[102.607853,32.980823],[102.607853,32.980869],[102.607853,32.980936],[102.607859,32.981006],[102.607863,32.981065],[102.60785,32.981107],[102.607824,32.98115],[102.607782,32.981204],[102.60771,32.981293],[102.607697,32.981342],[102.607691,32.981409],[102.607691,32.981449],[102.607699,32.981491],[102.607714,32.981534],[102.607727,32.981564],[102.607752,32.981596],[102.607784,32.981641],[102.607797,32.981674],[102.607814,32.981721],[102.607814,32.981738],[102.607817,32.981747],[102.607824,32.98175],[102.607811,32.981776],[102.607807,32.981784],[102.607727,32.981937],[102.607575,32.982231],[102.607528,32.982322],[102.6075,32.982377],[102.607396,32.982444],[102.607282,32.982517],[102.606602,32.982955],[102.606012,32.983334],[102.605268,32.983813],[102.605213,32.983848],[102.60496,32.984044],[102.604552,32.984358],[102.604134,32.984681],[102.604093,32.984712],[102.604081,32.984722],[102.603843,32.984905],[102.603682,32.98503],[102.60364,32.985062],[102.602978,32.985807],[102.602852,32.986324],[102.60284,32.986373],[102.602738,32.986789],[102.602545,32.987584],[102.602399,32.987871],[102.602371,32.987928],[102.602137,32.988388],[102.602002,32.988656],[102.601927,32.988769],[102.601541,32.989354],[102.601489,32.989433],[102.60146,32.989478],[102.60139,32.989583],[102.601333,32.989671],[102.600635,32.990232],[102.600506,32.990336],[102.600477,32.990284],[102.600399,32.990296],[102.600339,32.990322],[102.600289,32.990359],[102.600212,32.990406],[102.600144,32.990448],[102.600071,32.990565],[102.599935,32.990717],[102.599868,32.990857],[102.5998,32.991002],[102.599762,32.991106],[102.599715,32.991277],[102.599707,32.991307],[102.59971,32.991318],[102.599161,32.991631],[102.599116,32.991723],[102.598882,32.99221],[102.598643,32.992707],[102.598473,32.99306],[102.598135,32.993447],[102.598165,32.993482],[102.598197,32.993556],[102.598225,32.993622],[102.59824,32.993684],[102.598252,32.993758],[102.598252,32.99382],[102.598241,32.993894],[102.5982,32.99401],[102.598198,32.994014],[102.598145,32.994089],[102.598142,32.994094],[102.598043,32.994268],[102.597985,32.994376],[102.597985,32.994385],[102.59798,32.994457],[102.597978,32.994587],[102.597933,32.994676],[102.597837,32.994828],[102.597751,32.994957],[102.597736,32.995108],[102.597571,32.995504],[102.597539,32.995619],[102.597438,32.99598],[102.597496,32.996102],[102.59753,32.996173],[102.597535,32.996184],[102.597653,32.996432],[102.597802,32.996745],[102.597865,32.996847],[102.598769,32.998313],[102.598888,32.998445],[102.598982,32.998588],[102.599097,32.998698],[102.599032,32.998739],[102.599064,32.998867],[102.599114,32.999063],[102.599261,32.999641],[102.599487,33.000535],[102.599949,33.00133],[102.600198,33.001761],[102.600242,33.001836],[102.600337,33.002],[102.600288,33.002117],[102.600175,33.002382],[102.599868,33.003102],[102.599772,33.003328],[102.599699,33.003498],[102.599514,33.003933],[102.599175,33.004538],[102.598841,33.005135],[102.598568,33.005621],[102.598268,33.006157],[102.597988,33.006453],[102.597774,33.006678],[102.597681,33.006776],[102.597632,33.006829],[102.597291,33.007188],[102.597201,33.007266],[102.596502,33.007872],[102.596374,33.008063],[102.596361,33.008056],[102.596341,33.008054],[102.596302,33.00806],[102.596271,33.008089],[102.596247,33.008125],[102.59621,33.008151],[102.596165,33.008181],[102.596133,33.008224],[102.596058,33.00829],[102.596019,33.008347],[102.595979,33.008387],[102.595873,33.00855],[102.595851,33.008616],[102.595822,33.008722],[102.595803,33.00879],[102.595795,33.008862],[102.595796,33.008998],[102.595808,33.009091],[102.59581,33.00918],[102.595842,33.009421],[102.595964,33.009979],[102.596016,33.010342],[102.59602,33.010378],[102.596038,33.010551],[102.596067,33.010644],[102.596103,33.010737],[102.596111,33.010826],[102.596114,33.010931],[102.596117,33.010984],[102.596128,33.011012],[102.596159,33.011058],[102.596176,33.011106],[102.596194,33.0112],[102.596203,33.01129],[102.596222,33.011359],[102.596241,33.01145],[102.596279,33.011572],[102.596306,33.01165],[102.596329,33.011745],[102.596351,33.011828],[102.596377,33.011896],[102.596409,33.011956],[102.596486,33.012062],[102.596487,33.012067],[102.596501,33.012145],[102.596602,33.012707],[102.596587,33.01271],[102.596582,33.012722],[102.596583,33.012755],[102.5966,33.012861],[102.596619,33.012985],[102.596618,33.013132],[102.596637,33.01322],[102.596676,33.01334],[102.596723,33.013455],[102.596735,33.013516],[102.59678,33.013734],[102.596793,33.01388],[102.5968,33.013921],[102.596855,33.014254],[102.59689,33.014527],[102.596958,33.014857],[102.596998,33.014977],[102.597028,33.015083],[102.597057,33.015335],[102.597101,33.015493],[102.597124,33.015689],[102.597145,33.015832],[102.597169,33.015997],[102.597218,33.016187],[102.597217,33.016297],[102.597221,33.016398],[102.597226,33.016476],[102.597201,33.016546],[102.597178,33.016596],[102.597173,33.016653],[102.597174,33.016722],[102.597157,33.016801],[102.597126,33.01699],[102.597096,33.017099],[102.597084,33.017153],[102.597085,33.017167],[102.59709,33.01717],[102.597047,33.017276],[102.596987,33.017422],[102.596793,33.017892],[102.596761,33.017969],[102.596736,33.018017],[102.596136,33.019157],[102.595949,33.019299],[102.595286,33.019805],[102.594985,33.020034],[102.594183,33.020423],[102.593784,33.020616],[102.5936,33.020705],[102.59303,33.020981],[102.593002,33.020995],[102.592401,33.021225],[102.591902,33.021417],[102.591167,33.021699],[102.591161,33.021702],[102.591144,33.021708],[102.590511,33.021851],[102.590266,33.02204],[102.590142,33.022091],[102.590051,33.02212],[102.589907,33.022161],[102.589786,33.022188],[102.589704,33.022208],[102.589647,33.022218],[102.589576,33.022218],[102.589411,33.022213],[102.589334,33.022195],[102.589212,33.022163],[102.589152,33.022143],[102.58907,33.022159],[102.588579,33.022258],[102.588438,33.022402],[102.588426,33.022415],[102.588379,33.022393],[102.588312,33.022383],[102.588218,33.022382],[102.588144,33.022386],[102.5881,33.022403],[102.588085,33.022421],[102.588079,33.022449],[102.588106,33.022475],[102.588143,33.022492],[102.588183,33.02251],[102.5882,33.02253],[102.5882,33.022549],[102.588169,33.022586],[102.588098,33.022645],[102.587992,33.022703],[102.587944,33.02273],[102.587911,33.02274],[102.587876,33.022744],[102.587852,33.022736],[102.587836,33.022727],[102.587833,33.022713],[102.587857,33.022688],[102.587871,33.022651],[102.587872,33.022622],[102.587852,33.022603],[102.587813,33.022599],[102.587759,33.022624],[102.587663,33.022666],[102.587584,33.022693],[102.587525,33.022743],[102.587484,33.022815],[102.587477,33.022865],[102.587502,33.022953],[102.587534,33.023077],[102.587566,33.023207],[102.587611,33.0233],[102.587651,33.023372],[102.587684,33.023436],[102.587708,33.023479],[102.587717,33.023498],[102.587717,33.023529],[102.587689,33.023667],[102.58767,33.023781],[102.587602,33.023894],[102.587567,33.024012],[102.587533,33.02416],[102.587522,33.02426],[102.587511,33.024436],[102.587518,33.024537],[102.587537,33.024649],[102.587576,33.024778],[102.587601,33.024853],[102.587637,33.024948],[102.58767,33.025072],[102.587682,33.025154],[102.587693,33.025238],[102.587722,33.025307],[102.587752,33.025364],[102.587779,33.025436],[102.587795,33.025484],[102.587808,33.025504],[102.587821,33.025516],[102.587835,33.025516],[102.587867,33.025622],[102.587868,33.025627],[102.588082,33.02635],[102.588099,33.026455],[102.588196,33.027087],[102.588233,33.027326],[102.58808,33.028104],[102.588027,33.028371],[102.587814,33.028606],[102.58766,33.028776],[102.587423,33.028798],[102.587403,33.0288],[102.587086,33.02883],[102.586629,33.028873],[102.586502,33.028885],[102.586367,33.028897],[102.586204,33.028913],[102.586039,33.028928],[102.586011,33.028931],[102.585767,33.028951],[102.585759,33.028951],[102.585345,33.028985],[102.585243,33.028993],[102.585206,33.028996],[102.584898,33.029022],[102.58478,33.029044],[102.58454,33.02909],[102.584225,33.029],[102.584161,33.028982],[102.583938,33.028918],[102.583863,33.028828],[102.583777,33.028794],[102.58373,33.028787],[102.583558,33.028618],[102.583445,33.028507],[102.583413,33.028019],[102.583203,33.027803],[102.583154,33.027752],[102.583051,33.027706],[102.583036,33.0277],[102.582891,33.027635],[102.582875,33.027625],[102.582876,33.027658],[102.582872,33.027719],[102.582867,33.027746],[102.58285,33.027768],[102.582829,33.027774],[102.582816,33.027764],[102.582788,33.027724],[102.582759,33.027683],[102.582714,33.027629],[102.582682,33.027584],[102.582632,33.027511],[102.582562,33.027427],[102.58253,33.027407],[102.582492,33.027366],[102.582294,33.027218],[102.582207,33.027148],[102.582155,33.027137],[102.582137,33.027135],[102.582107,33.027138],[102.58206,33.027141],[102.582007,33.02714],[102.58193,33.027138],[102.581897,33.027129],[102.58188,33.027106],[102.581875,33.027071],[102.581879,33.027013],[102.581881,33.026973],[102.581881,33.026929],[102.581869,33.02692],[102.5818,33.026865],[102.581712,33.026863],[102.581564,33.02686],[102.5814,33.026857],[102.581295,33.027454],[102.58106,33.027936],[102.580833,33.028082],[102.580438,33.027924],[102.580409,33.027857],[102.580407,33.027851],[102.580365,33.027754],[102.580349,33.027715],[102.580229,33.027433],[102.579831,33.027351],[102.579781,33.027391],[102.579776,33.027395],[102.579766,33.027376],[102.579741,33.02735],[102.5797,33.027316],[102.579635,33.027288],[102.579553,33.027281],[102.579474,33.027289],[102.579386,33.027371],[102.579322,33.027438],[102.579209,33.027339],[102.578999,33.026885],[102.578945,33.026754],[102.578958,33.026736],[102.578967,33.026692],[102.578919,33.0266],[102.578865,33.026561],[102.578856,33.026539],[102.578624,33.025979],[102.578422,33.025619],[102.578412,33.025601],[102.578394,33.025597],[102.578459,33.025577],[102.578536,33.025544],[102.578573,33.025518],[102.578603,33.025482],[102.578625,33.025407],[102.578613,33.025312],[102.578554,33.02523],[102.578465,33.025182],[102.578381,33.025173],[102.578271,33.025223],[102.578151,33.0253],[102.578068,33.025354],[102.577993,33.025375],[102.577846,33.025382],[102.577719,33.025382],[102.577597,33.025435],[102.577502,33.025471],[102.577488,33.025476],[102.577466,33.025474],[102.577393,33.025468],[102.57682,33.025308],[102.576877,33.024822],[102.576672,33.024219],[102.576621,33.024138],[102.576576,33.024175],[102.576519,33.024115],[102.576574,33.024062],[102.576459,33.023878],[102.576169,33.023872],[102.57597,33.023868],[102.57565,33.024079],[102.575602,33.02411],[102.575488,33.024185],[102.575472,33.024195],[102.575447,33.024217],[102.574835,33.024745],[102.574522,33.024814],[102.574415,33.024738],[102.574358,33.024698],[102.574304,33.024659],[102.574305,33.024622],[102.574305,33.024612],[102.574313,33.024323],[102.574688,33.023618],[102.574919,33.023286],[102.574928,33.022949],[102.574501,33.022342],[102.574332,33.022001],[102.574404,33.021932],[102.57456,33.021781],[102.574594,33.021766],[102.574606,33.021779],[102.574624,33.021791],[102.574724,33.021856],[102.574812,33.021904],[102.574898,33.021918],[102.574983,33.021913],[102.575045,33.021888],[102.57509,33.021827],[102.575103,33.021787],[102.57511,33.021715],[102.575111,33.021674],[102.575107,33.021604],[102.575101,33.021529],[102.575115,33.021513],[102.575467,33.021125],[102.575479,33.020714],[102.575482,33.020602],[102.575489,33.020564],[102.575533,33.02034],[102.575625,33.020258],[102.57564,33.020246],[102.575708,33.020251],[102.575753,33.020236],[102.575843,33.020201],[102.575907,33.02015],[102.575967,33.020082],[102.57599,33.020037],[102.575993,33.019987],[102.57597,33.019953],[102.575989,33.019937],[102.576066,33.019799],[102.576176,33.019603],[102.576139,33.01934],[102.575929,33.018887],[102.575669,33.018787],[102.575653,33.018748],[102.57562,33.018684],[102.575537,33.018614],[102.57547,33.018581],[102.575384,33.01858],[102.575326,33.01858],[102.575282,33.018579],[102.575247,33.018595],[102.57523,33.018604],[102.575218,33.018598],[102.574703,33.018313],[102.574612,33.018262],[102.574533,33.01821],[102.574453,33.018156],[102.574333,33.018077],[102.573914,33.017799],[102.573531,33.017193],[102.573309,33.017151],[102.572818,33.017254],[102.572601,33.01717],[102.572587,33.017165],[102.57251,33.017135],[102.572514,33.017123],[102.572567,33.01698],[102.572569,33.016975],[102.572606,33.016875],[102.572706,33.016465],[102.572672,33.016248],[102.572758,33.016214],[102.572807,33.016178],[102.572857,33.016122],[102.572882,33.016083],[102.572882,33.016036],[102.572873,33.015994],[102.572855,33.015967],[102.572828,33.015924],[102.572802,33.015895],[102.572703,33.015863],[102.572602,33.015851],[102.57249,33.015853],[102.572479,33.015843],[102.57224,33.015632],[102.572005,33.015578],[102.571998,33.015576],[102.571989,33.015561],[102.571952,33.015495],[102.571897,33.015427],[102.571839,33.015361],[102.571792,33.015319],[102.571753,33.015256],[102.571701,33.015202],[102.571651,33.015183],[102.57163,33.015177],[102.57161,33.015172],[102.571586,33.01517],[102.571572,33.015169],[102.571574,33.015164],[102.571682,33.01491],[102.572006,33.014429],[102.571895,33.014331],[102.571705,33.014382],[102.571686,33.014315],[102.571679,33.014289],[102.571648,33.014213],[102.571586,33.014136],[102.57152,33.014066],[102.57148,33.014024],[102.571378,33.013999],[102.571312,33.013987],[102.571212,33.013973],[102.571149,33.013971],[102.571029,33.014015],[102.570984,33.014032],[102.570748,33.014119],[102.570725,33.014127],[102.57059,33.014177],[102.570199,33.014242],[102.569787,33.014311],[102.569426,33.014529],[102.569146,33.01501],[102.569089,33.015016],[102.569055,33.015019],[102.568917,33.015033],[102.568899,33.015046],[102.56884,33.015082],[102.568801,33.015106],[102.568759,33.015133],[102.568715,33.015156],[102.568662,33.01519],[102.568607,33.015225],[102.56859,33.015241],[102.568536,33.015276],[102.568466,33.015337],[102.568414,33.015368],[102.568408,33.015372],[102.56837,33.015403],[102.568316,33.015398],[102.568283,33.015382],[102.568249,33.015338],[102.568229,33.015291],[102.568267,33.015253],[102.568317,33.015215],[102.568353,33.015191],[102.568398,33.015176],[102.568456,33.015143],[102.568484,33.015122],[102.568512,33.015102],[102.568559,33.015057],[102.568596,33.015006],[102.568605,33.014951],[102.568597,33.014883],[102.568571,33.014829],[102.568425,33.014737],[102.568385,33.014721],[102.568333,33.01469],[102.568272,33.01468],[102.568234,33.01469],[102.568183,33.014718],[102.568178,33.014721],[102.568146,33.014746],[102.568115,33.014775],[102.568082,33.014828],[102.568073,33.01486],[102.56807,33.014907],[102.568057,33.01498],[102.568051,33.015022],[102.568033,33.015064],[102.568009,33.015103],[102.567987,33.015124],[102.567947,33.015145],[102.567889,33.015149],[102.567837,33.01514],[102.567799,33.015115],[102.567748,33.015072],[102.567728,33.015039],[102.567695,33.015012],[102.567668,33.014986],[102.567647,33.014967],[102.567637,33.014943],[102.567639,33.014903],[102.567675,33.014873],[102.567706,33.014862],[102.567713,33.014859],[102.567788,33.014833],[102.567853,33.014792],[102.567908,33.014749],[102.56796,33.014701],[102.567991,33.014652],[102.567994,33.014617],[102.567994,33.014572],[102.567966,33.014504],[102.567944,33.014481],[102.567914,33.014463],[102.56788,33.014448],[102.567845,33.01444],[102.567805,33.01443],[102.567768,33.014426],[102.567725,33.014424],[102.567646,33.014432],[102.567603,33.014452],[102.56754,33.014474],[102.567501,33.014482],[102.567442,33.014478],[102.567387,33.014464],[102.567332,33.014434],[102.567285,33.01437],[102.567256,33.014326],[102.567205,33.014274],[102.567113,33.014192],[102.567072,33.014156],[102.567028,33.014119],[102.566988,33.014081],[102.566961,33.014052],[102.56692,33.014019],[102.566886,33.014005],[102.566837,33.014003],[102.566794,33.014014],[102.566768,33.014035],[102.566746,33.014059],[102.56671,33.014092],[102.566694,33.014109],[102.566687,33.014128],[102.566684,33.014162],[102.566706,33.014202],[102.56672,33.014238],[102.566738,33.014279],[102.566753,33.014335],[102.566762,33.014384],[102.566762,33.014449],[102.566751,33.014475],[102.566742,33.014499],[102.56671,33.014548],[102.566684,33.014584],[102.566657,33.014613],[102.566625,33.014637],[102.566574,33.014662],[102.566533,33.01467],[102.566458,33.014667],[102.566427,33.014654],[102.566413,33.014636],[102.566419,33.014589],[102.566449,33.014539],[102.566472,33.014505],[102.566502,33.014452],[102.566525,33.01441],[102.566541,33.014371],[102.566558,33.014317],[102.566561,33.014264],[102.566559,33.014235],[102.56654,33.0142],[102.566501,33.01421],[102.566455,33.014276],[102.566406,33.014238],[102.566342,33.014224],[102.566269,33.01423],[102.566184,33.014236],[102.5661,33.014221],[102.566033,33.014201],[102.565929,33.014147],[102.565868,33.014113],[102.565832,33.014114],[102.565796,33.014128],[102.565756,33.014174],[102.565718,33.014212],[102.56566,33.01428],[102.565605,33.014317],[102.56553,33.014338],[102.565487,33.014334],[102.565421,33.01431],[102.56535,33.014261],[102.565273,33.014237],[102.56524,33.014238],[102.565187,33.014265],[102.56515,33.014316],[102.565127,33.014387],[102.565139,33.014437],[102.565159,33.014465],[102.565201,33.014488],[102.565257,33.014509],[102.56533,33.014531],[102.56541,33.014546],[102.565446,33.014556],[102.56554,33.014581],[102.565608,33.014616],[102.565623,33.014628],[102.565667,33.014665],[102.56569,33.014713],[102.565705,33.014794],[102.565709,33.014878],[102.56572,33.014955],[102.565722,33.014962],[102.56575,33.015037],[102.565774,33.015075],[102.565803,33.015099],[102.565848,33.015115],[102.565874,33.015116],[102.565927,33.015105],[102.565981,33.015083],[102.566059,33.015055],[102.56612,33.015038],[102.566174,33.015041],[102.566235,33.015069],[102.566316,33.015122],[102.566342,33.015157],[102.56634,33.015218],[102.566274,33.015213],[102.566298,33.01524],[102.566315,33.015268],[102.566314,33.015297],[102.566301,33.015328],[102.566269,33.015359],[102.566192,33.015377],[102.566053,33.015381],[102.566021,33.015384],[102.565952,33.015401],[102.565891,33.015428],[102.565852,33.015458],[102.565802,33.015493],[102.56577,33.01552],[102.565717,33.01555],[102.565684,33.01556],[102.565637,33.015558],[102.565605,33.01553],[102.565607,33.015517],[102.565642,33.015471],[102.565662,33.015432],[102.565667,33.01538],[102.565666,33.015309],[102.565658,33.015278],[102.565636,33.015245],[102.565608,33.015223],[102.565561,33.015211],[102.565508,33.015198],[102.565433,33.015195],[102.565393,33.015285],[102.565244,33.015624],[102.565203,33.015718],[102.565145,33.01585],[102.565032,33.016325],[102.564702,33.017414],[102.564503,33.019769],[102.564832,33.021152],[102.565268,33.022255],[102.565489,33.023014],[102.564996,33.024583],[102.564351,33.026233],[102.564152,33.027113],[102.563754,33.029327],[102.563595,33.030334],[102.563055,33.032418],[102.562602,33.033573],[102.561842,33.034839],[102.5616,33.035978],[102.561623,33.036826],[102.56179,33.037558],[102.561676,33.038325],[102.561634,33.038994],[102.561196,33.039597],[102.560478,33.040155],[102.559556,33.040511],[102.559062,33.04058],[102.557617,33.040375],[102.556985,33.040382],[102.556472,33.040293],[102.555916,33.040105],[102.554891,33.039927],[102.553888,33.039809],[102.553137,33.039853],[102.551708,33.039904],[102.550889,33.039908],[102.550049,33.039812],[102.549396,33.03972],[102.54839,33.039701],[102.54766,33.039864],[102.547299,33.040231],[102.54684,33.040735],[102.546175,33.041096],[102.545443,33.041338],[102.544879,33.041406],[102.544176,33.041431],[102.543737,33.041245],[102.543113,33.040937],[102.542123,33.040346],[102.540789,33.039719],[102.540183,33.039411],[102.539558,33.039192],[102.538575,33.038537],[102.537837,33.037931],[102.536001,33.036638],[102.535533,33.03631],[102.534951,33.035924],[102.534416,33.035636],[102.53399,33.035572],[102.533533,33.035438],[102.533093,33.035277],[102.532688,33.035034],[102.53248,33.034849],[102.532231,33.034928],[102.532038,33.03534],[102.531727,33.035888],[102.530795,33.036826],[102.530071,33.037407],[102.529272,33.037913],[102.528543,33.038227],[102.528049,33.038269],[102.527509,33.038449],[102.526871,33.038454],[102.526239,33.038286],[102.525561,33.038272],[102.524803,33.03817],[102.523696,33.038027],[102.522811,33.038062],[102.519916,33.037396],[102.519404,33.037342],[102.518386,33.036997],[102.517473,33.036568],[102.516349,33.036351],[102.515863,33.036276],[102.514969,33.036085],[102.513953,33.035654],[102.51329,33.035489],[102.512733,33.035197],[102.512043,33.035053],[102.511503,33.035064],[102.510549,33.035218],[102.509431,33.03545],[102.508559,33.035622],[102.507595,33.03563],[102.506864,33.035372],[102.506104,33.035005],[102.505439,33.034667],[102.504169,33.034128],[102.503601,33.033792],[102.503184,33.033756],[102.502766,33.033775],[102.502507,33.033851],[102.501858,33.034108],[102.501299,33.034557],[102.500546,33.035083],[102.500222,33.035185],[102.499675,33.035062],[102.499122,33.035051],[102.498087,33.035154],[102.497306,33.036691],[102.495965,33.038496],[102.495199,33.039536],[102.494835,33.040647],[102.494461,33.04216],[102.493072,33.043033],[102.492318,33.043639],[102.490944,33.043984],[102.490709,33.044015],[102.489316,33.044199],[102.487775,33.04392],[102.486396,33.043147],[102.485531,33.042477],[102.484898,33.041378],[102.484622,33.04072],[102.484244,33.03975],[102.483751,33.038964],[102.482808,33.038417],[102.481976,33.037842],[102.480949,33.037666],[102.480447,33.03719],[102.479841,33.036463],[102.478959,33.036352],[102.478923,33.036351],[102.478298,33.036277],[102.477346,33.03604],[102.476507,33.035744],[102.475637,33.03523],[102.475582,33.035207],[102.475615,33.034992],[102.475657,33.034723],[102.475698,33.034454],[102.47574,33.034185],[102.475781,33.033917],[102.475823,33.033648],[102.475864,33.033379],[102.475906,33.03311],[102.475947,33.032842],[102.475926,33.032605],[102.475905,33.032368],[102.475776,33.031939],[102.475736,33.03187],[102.475733,33.031859],[102.475587,33.031612],[102.475442,33.031366],[102.475314,33.031314],[102.474999,33.031184],[102.474684,33.031054],[102.474302,33.030978],[102.4741,33.03096],[102.47385,33.030906],[102.473606,33.030835],[102.473238,33.030609],[102.472936,33.030362],[102.472634,33.030115],[102.472332,33.029868],[102.47203,33.029621],[102.471843,33.029357],[102.471655,33.029092],[102.4715,33.028928],[102.471345,33.028765],[102.471316,33.028735],[102.471123,33.028536],[102.47093,33.028337],[102.470912,33.028314],[102.47076,33.028123],[102.470608,33.027932],[102.470368,33.027646],[102.470128,33.027361],[102.469889,33.027075],[102.469597,33.026796],[102.469317,33.026475],[102.469005,33.026189],[102.468693,33.025904],[102.468529,33.025713],[102.468366,33.025523],[102.468253,33.02535],[102.468098,33.025041],[102.467937,33.024886],[102.467806,33.024738],[102.467658,33.024541],[102.467533,33.024363],[102.467426,33.024107],[102.467319,33.023851],[102.46714,33.02359],[102.466955,33.023369],[102.466795,33.023179],[102.466572,33.022974],[102.466349,33.022769],[102.466072,33.022605],[102.465796,33.022442],[102.4655,33.022267],[102.465205,33.022093],[102.464909,33.021918],[102.464541,33.021739],[102.464172,33.021561],[102.463803,33.021383],[102.463494,33.021148],[102.463184,33.020913],[102.463059,33.020746],[102.462997,33.020574],[102.462872,33.02029],[102.462817,33.019904],[102.462762,33.019518],[102.462706,33.019132],[102.462638,33.018914],[102.462569,33.018695],[102.4625,33.018477],[102.462431,33.018259],[102.462363,33.018041],[102.462294,33.017822],[102.462189,33.017513],[102.462063,33.017084],[102.461956,33.016869],[102.461849,33.016655],[102.461728,33.016451],[102.461607,33.016247],[102.461416,33.016042],[102.461225,33.015837],[102.461075,33.015669],[102.460926,33.0155],[102.460767,33.015165],[102.460708,33.014786],[102.460648,33.014407],[102.460642,33.01399],[102.460635,33.013574],[102.460629,33.01322],[102.460644,33.01306],[102.460682,33.012626],[102.46072,33.012191],[102.460745,33.011906],[102.460751,33.011867],[102.460799,33.01156],[102.460847,33.011252],[102.4609,33.011068],[102.460974,33.010764],[102.461049,33.010461],[102.461111,33.010104],[102.461174,33.009747],[102.461287,33.009456],[102.461275,33.0092],[102.461215,33.008962],[102.46121,33.008949],[102.461061,33.008617],[102.46096,33.008457],[102.46096,33.008456],[102.46096,33.008456],[102.460876,33.008218],[102.460781,33.007903],[102.460742,33.007677],[102.460702,33.007451],[102.460644,33.007118],[102.460658,33.006945],[102.460662,33.006898],[102.460766,33.006689],[102.46087,33.006481],[102.460936,33.006249],[102.460942,33.006041],[102.460858,33.005904],[102.46071,33.005535],[102.460674,33.005274],[102.460668,33.005095],[102.460638,33.004958],[102.460538,33.004786],[102.460536,33.004552],[102.460534,33.004459],[102.460589,33.0042],[102.460644,33.003941],[102.46068,33.00362],[102.460716,33.003299],[102.460789,33.002962],[102.460862,33.002626],[102.460882,33.002531],[102.460992,33.002133],[102.461102,33.001734],[102.461174,33.001294],[102.461174,33.001294],[102.461174,33.001293],[102.461245,33.000961],[102.461346,33.000681],[102.461418,33.000485],[102.461572,33.000199],[102.461602,33.000009],[102.4617,32.999709],[102.461798,32.999408],[102.461905,32.999146],[102.461959,32.99895],[102.461941,32.998784],[102.461769,32.99851],[102.461614,32.998147],[102.46162,32.99782],[102.461644,32.997624],[102.461691,32.997493],[102.461786,32.997261],[102.461798,32.9971],[102.461721,32.996981],[102.461632,32.996934],[102.461471,32.996827],[102.461388,32.996696],[102.461293,32.996517],[102.461215,32.996166],[102.461138,32.996],[102.461114,32.995791],[102.461111,32.995754],[102.461096,32.995589],[102.460971,32.995405],[102.460751,32.995256],[102.460561,32.995039],[102.460371,32.994822],[102.46024,32.994631],[102.460174,32.994453],[102.460192,32.994298],[102.460281,32.994185],[102.460287,32.994084],[102.460275,32.994019],[102.460192,32.993953],[102.460061,32.993906],[102.459752,32.993721],[102.459609,32.993531],[102.45952,32.993376],[102.459502,32.993144],[102.459455,32.992984],[102.459234,32.992627],[102.459187,32.992496],[102.459187,32.992347],[102.459187,32.992291],[102.459187,32.992157],[102.459204,32.992057],[102.459275,32.991636],[102.45935,32.991397],[102.459425,32.991157],[102.459517,32.990935],[102.45956,32.990829],[102.459555,32.99068],[102.459553,32.990622],[102.45955,32.990342],[102.459548,32.990062],[102.459546,32.989915],[102.459575,32.989773],[102.459646,32.989594],[102.459775,32.989394],[102.459917,32.989194],[102.460017,32.98908],[102.460099,32.988898],[102.460233,32.9886],[102.460367,32.988302],[102.460538,32.987917],[102.460617,32.987638],[102.460645,32.987238],[102.460646,32.987233],[102.460672,32.986868],[102.460698,32.986504],[102.460724,32.986139],[102.460767,32.985725],[102.46081,32.985311],[102.460792,32.985001],[102.460774,32.98469],[102.46077,32.984527],[102.460767,32.984383],[102.460824,32.984026],[102.460896,32.983779],[102.460968,32.983533],[102.461032,32.983316],[102.461095,32.983098],[102.461131,32.982841],[102.461045,32.982684],[102.46096,32.982591],[102.460774,32.982402],[102.460588,32.982213],[102.460409,32.981955],[102.46036,32.981885],[102.460256,32.981649],[102.460153,32.981414],[102.460074,32.981271],[102.459953,32.981192],[102.459746,32.981092],[102.459461,32.981017],[102.459175,32.980942],[102.458743,32.980834],[102.458547,32.980785],[102.458326,32.980693],[102.458054,32.980407],[102.457783,32.980122],[102.45764,32.979772],[102.457599,32.979558],[102.457583,32.979472],[102.457583,32.979222],[102.457649,32.978846],[102.45769,32.978608],[102.457676,32.978365],[102.457683,32.978119],[102.45769,32.977873],[102.457685,32.977689],[102.457683,32.977595],[102.457633,32.97738],[102.457526,32.977202],[102.457405,32.976995],[102.457305,32.976766],[102.457233,32.976417],[102.457176,32.976088],[102.457133,32.975696],[102.457091,32.975303],[102.457073,32.975231],[102.456991,32.974889],[102.456919,32.974619],[102.456819,32.974247],[102.456714,32.973826],[102.456609,32.973406],[102.456569,32.973247],[102.456471,32.972903],[102.456373,32.972558],[102.456275,32.972214],[102.456177,32.97187],[102.456177,32.971498],[102.456234,32.971077],[102.456316,32.970842],[102.456398,32.970606],[102.456602,32.970346],[102.456805,32.970085],[102.456965,32.969889],[102.457091,32.969735],[102.457119,32.969496],[102.457148,32.969257],[102.457134,32.969133],[102.457196,32.968854],[102.457322,32.968539],[102.457403,32.968165],[102.45739,32.967829],[102.457352,32.967511],[102.457348,32.967358],[102.45734,32.967095],[102.457352,32.966699],[102.457387,32.966284],[102.457406,32.966047],[102.457424,32.96581],[102.457435,32.965414],[102.457466,32.965177],[102.457543,32.964941],[102.457556,32.96481],[102.457576,32.964624],[102.457688,32.964315],[102.4578,32.964006],[102.457899,32.963769],[102.457998,32.963533],[102.458097,32.963296],[102.458196,32.963059],[102.458295,32.962823],[102.458393,32.962586],[102.458492,32.96235],[102.458591,32.962113],[102.45869,32.961876],[102.458789,32.96164],[102.458888,32.961403],[102.458987,32.961167],[102.458967,32.960873],[102.458943,32.960652],[102.458862,32.96043],[102.45875,32.96028],[102.458537,32.960093],[102.458325,32.959906],[102.45814,32.959743],[102.457956,32.95958],[102.457701,32.959354],[102.457388,32.959127],[102.457015,32.958948],[102.456642,32.95877],[102.456414,32.958729],[102.456186,32.958689],[102.455958,32.958649],[102.45573,32.958609],[102.455502,32.958569],[102.455275,32.958528],[102.455137,32.958455],[102.454846,32.958299],[102.454603,32.958148],[102.45436,32.957996],[102.454162,32.957821],[102.453881,32.957472],[102.453657,32.957175],[102.453463,32.956852],[102.453325,32.956556],[102.453201,32.956346],[102.453076,32.956135],[102.45294,32.955814],[102.452689,32.955441],[102.452522,32.955218],[102.45224,32.954919],[102.451926,32.954692],[102.451639,32.95454],[102.451324,32.954386],[102.451064,32.954307],[102.450804,32.954229],[102.450546,32.954138],[102.450287,32.954047],[102.449898,32.953941],[102.449509,32.953835],[102.449261,32.953789],[102.449012,32.953742],[102.448763,32.953695],[102.448514,32.953649],[102.448266,32.953602],[102.448017,32.953555],[102.447768,32.953509],[102.447519,32.953462],[102.44727,32.953416],[102.447022,32.953369],[102.446775,32.953358],[102.446528,32.953346],[102.446281,32.953335],[102.446034,32.953324],[102.445657,32.953316],[102.445279,32.953308],[102.444902,32.953301],[102.444622,32.953204],[102.444343,32.953107],[102.444061,32.952832],[102.443892,32.952633],[102.443723,32.952434],[102.443559,32.952088],[102.443451,32.951768],[102.443381,32.951543],[102.443311,32.951318],[102.443242,32.951093],[102.443172,32.950869],[102.443102,32.950644],[102.443032,32.950419],[102.442962,32.950195],[102.442892,32.94997],[102.44286,32.94959],[102.442828,32.94921],[102.442722,32.948842],[102.442586,32.94852],[102.44245,32.948175],[102.442309,32.947955],[102.442168,32.947734],[102.441954,32.947596],[102.44174,32.947457],[102.441526,32.947318],[102.441312,32.947179],[102.441058,32.946929],[102.440804,32.946679],[102.440637,32.946406],[102.44047,32.946134],[102.440305,32.945837],[102.44014,32.94554],[102.440044,32.94533],[102.439948,32.94512],[102.439852,32.94491],[102.439756,32.944701],[102.439634,32.944417],[102.439511,32.944133],[102.439431,32.943862],[102.439352,32.943591],[102.43933,32.943359],[102.439307,32.943126],[102.439314,32.942881],[102.439322,32.942635],[102.439343,32.942245],[102.439363,32.941854],[102.439384,32.941463],[102.439386,32.941039],[102.439389,32.940615],[102.439391,32.940191],[102.439339,32.93997],[102.439287,32.939748],[102.439235,32.939527],[102.439183,32.939306],[102.439162,32.939036],[102.439141,32.938766],[102.43915,32.938449],[102.439216,32.938156],[102.43931,32.937939],[102.439335,32.937888]]]]},"properties":{"cp":[102.63776751384222,32.82512378846329],"code":"513233100","name":"邛溪镇","level":"street","center":[102.63776751384222,32.82512378846329],"fullCode":"513233100000","fullName":"四川省阿坝藏族羌族自治州红原县邛溪镇","acreageMu":1343909.49,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.515,32.7855]}},{"id":"513233101","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.662814,32.045234],[102.662707,32.045207],[102.662601,32.045181],[102.662557,32.04517],[102.662315,32.045091],[102.662072,32.045013],[102.661779,32.044999],[102.661578,32.045064],[102.661494,32.045091],[102.661194,32.045298],[102.661069,32.04533],[102.660994,32.045348],[102.660687,32.045334],[102.660559,32.04532],[102.660459,32.045341],[102.660418,32.045441],[102.66038,32.045534],[102.660302,32.045862],[102.660259,32.046041],[102.660223,32.046191],[102.660152,32.046355],[102.66004,32.046537],[102.660016,32.046576],[102.659766,32.046748],[102.659631,32.04689],[102.659509,32.047026],[102.659467,32.047269],[102.659467,32.04744],[102.65944,32.047502],[102.659381,32.04764],[102.659368,32.047662],[102.65926,32.047847],[102.659274,32.048011],[102.659317,32.048132],[102.659407,32.048364],[102.659496,32.048595],[102.659616,32.048903],[102.659681,32.049139],[102.659745,32.049374],[102.659798,32.049628],[102.659802,32.049646],[102.659802,32.049953],[102.659831,32.050153],[102.659859,32.050352],[102.659991,32.050747],[102.660122,32.051141],[102.660173,32.051295],[102.660262,32.051569],[102.660351,32.051844],[102.66043,32.052087],[102.660452,32.052216],[102.660455,32.052277],[102.660459,32.05233],[102.660437,32.052423],[102.66035,32.052517],[102.660137,32.052748],[102.659923,32.052979],[102.659862,32.053059],[102.659852,32.053072],[102.659852,32.053158],[102.659909,32.053272],[102.660088,32.053604],[102.660266,32.053936],[102.660462,32.054243],[102.660659,32.05455],[102.660677,32.054574],[102.66071,32.054618],[102.660948,32.054931],[102.660973,32.054964],[102.661058,32.055196],[102.661144,32.055428],[102.661315,32.055793],[102.661358,32.055885],[102.661537,32.056099],[102.661758,32.05637],[102.661779,32.056463],[102.661779,32.056563],[102.661715,32.056881],[102.661651,32.057198],[102.661645,32.057299],[102.661637,32.057466],[102.661622,32.057734],[102.661601,32.057933],[102.661442,32.058194],[102.661422,32.058226],[102.66124,32.058504],[102.661058,32.058783],[102.661032,32.05891],[102.661001,32.059054],[102.660966,32.059497],[102.660969,32.059843],[102.660973,32.060189],[102.66098,32.060218],[102.661008,32.060332],[102.661001,32.060518],[102.660958,32.06061],[102.660823,32.060717],[102.660743,32.060806],[102.66063,32.060932],[102.660473,32.061231],[102.660438,32.061359],[102.660387,32.061545],[102.660373,32.06181],[102.660363,32.061956],[102.660359,32.062017],[102.660302,32.062195],[102.660291,32.062217],[102.660282,32.062235],[102.660186,32.062431],[102.660132,32.062539],[102.66008,32.062645],[102.659879,32.063025],[102.659879,32.063025],[102.659879,32.063025],[102.659694,32.063374],[102.659576,32.063597],[102.659509,32.063723],[102.659395,32.063901],[102.659267,32.064101],[102.659145,32.064272],[102.659031,32.064451],[102.658938,32.064779],[102.658853,32.064993],[102.658681,32.065243],[102.658653,32.065281],[102.658553,32.065414],[102.658189,32.065557],[102.657932,32.065636],[102.657575,32.065736],[102.657218,32.065836],[102.657015,32.065928],[102.656811,32.066021],[102.656586,32.066143],[102.656361,32.066264],[102.656259,32.066373],[102.656147,32.066492],[102.655962,32.066778],[102.655847,32.067078],[102.65573,32.067351],[102.655614,32.067625],[102.655555,32.067763],[102.655511,32.06791],[102.655412,32.068248],[102.655262,32.068627],[102.655023,32.068984],[102.654784,32.069341],[102.654728,32.069441],[102.654655,32.069573],[102.654533,32.069793],[102.654527,32.069805],[102.65442,32.070197],[102.65439,32.070314],[102.654314,32.070611],[102.654287,32.070717],[102.654238,32.070908],[102.654196,32.071071],[102.654191,32.071089],[102.654084,32.071375],[102.653956,32.071603],[102.653784,32.071832],[102.653592,32.072082],[102.653292,32.072274],[102.652946,32.072424],[102.652599,32.072574],[102.652396,32.072671],[102.652193,32.072767],[102.6519,32.072974],[102.651679,32.073217],[102.651561,32.07351],[102.651536,32.073574],[102.651429,32.073752],[102.651265,32.073866],[102.651022,32.073973],[102.650808,32.074009],[102.650544,32.074038],[102.650479,32.074051],[102.650408,32.074066],[102.650369,32.074089],[102.650144,32.074223],[102.649831,32.074507],[102.649523,32.074786],[102.649216,32.075066],[102.648948,32.075351],[102.64868,32.075637],[102.648583,32.075734],[102.648465,32.075852],[102.64825,32.076067],[102.648124,32.076193],[102.647981,32.076372],[102.647838,32.07655],[102.647717,32.076836],[102.647674,32.077047],[102.647645,32.077193],[102.647549,32.07761],[102.647453,32.078028],[102.647447,32.078049],[102.647365,32.07834],[102.647277,32.078651],[102.647188,32.078963],[102.64718,32.078995],[102.647134,32.079157],[102.647095,32.079295],[102.647024,32.079546],[102.646953,32.079798],[102.646867,32.080039],[102.646822,32.080164],[102.646739,32.080398],[102.646677,32.080554],[102.646656,32.080607],[102.646632,32.080669],[102.646446,32.080969],[102.646346,32.08124],[102.646339,32.081483],[102.646341,32.081493],[102.646382,32.081654],[102.646387,32.081658],[102.64653,32.081746],[102.646589,32.081783],[102.646732,32.081876],[102.646782,32.081965],[102.646832,32.082054],[102.646889,32.082275],[102.647009,32.082514],[102.647129,32.082752],[102.64731,32.08311],[102.647381,32.083378],[102.647453,32.083646],[102.647531,32.083889],[102.647595,32.084181],[102.647595,32.084403],[102.647474,32.084688],[102.64731,32.084824],[102.647174,32.085016],[102.647124,32.085209],[102.647081,32.085445],[102.647075,32.085466],[102.646996,32.085745],[102.646874,32.085923],[102.646659,32.086014],[102.646653,32.086016],[102.646526,32.086055],[102.646146,32.086173],[102.64607,32.08622],[102.645882,32.086337],[102.645818,32.08643],[102.645725,32.086565],[102.645589,32.08693],[102.64544,32.087294],[102.645392,32.087478],[102.645347,32.087651],[102.64529,32.087943],[102.645271,32.088172],[102.645252,32.0884],[102.645225,32.088728],[102.645225,32.088729],[102.645224,32.08873],[102.645135,32.088896],[102.645134,32.088898],[102.645133,32.0889],[102.644883,32.089157],[102.64459,32.089378],[102.6445,32.089487],[102.644426,32.089578],[102.644219,32.089885],[102.644064,32.090142],[102.644054,32.090159],[102.64391,32.090399],[102.643755,32.090656],[102.643712,32.090725],[102.643555,32.090977],[102.643469,32.091348],[102.643412,32.091619],[102.643362,32.091746],[102.64336,32.091753],[102.643334,32.091819],[102.64322,32.092026],[102.642991,32.092255],[102.642722,32.092469],[102.642453,32.092683],[102.642184,32.092897],[102.642081,32.093179],[102.641977,32.093461],[102.641856,32.093875],[102.641699,32.094246],[102.64168,32.094334],[102.641649,32.094475],[102.641649,32.094721],[102.641649,32.094753],[102.641692,32.094953],[102.641778,32.095231],[102.641829,32.095399],[102.641863,32.09551],[102.641935,32.095842],[102.642006,32.096174],[102.64203,32.096328],[102.642042,32.096402],[102.642013,32.096731],[102.642012,32.096752],[102.641999,32.097073],[102.642006,32.097409],[102.642135,32.097787],[102.642227,32.097973],[102.642326,32.098093],[102.642377,32.098155],[102.642527,32.098337],[102.642606,32.098465],[102.642623,32.098534],[102.642641,32.098608],[102.642648,32.098736],[102.642645,32.098869],[102.642641,32.098993],[102.642634,32.099243],[102.642656,32.0995],[102.642677,32.099757],[102.642721,32.099967],[102.64277,32.1002],[102.642756,32.100507],[102.642751,32.100593],[102.642747,32.100664],[102.642741,32.100778],[102.642627,32.101056],[102.642599,32.101206],[102.642606,32.101378],[102.642638,32.101451],[102.642684,32.101556],[102.64269,32.101774],[102.642691,32.101806],[102.642657,32.101871],[102.642563,32.102049],[102.642425,32.10232],[102.642287,32.102591],[102.642149,32.102862],[102.64197,32.103119],[102.641792,32.103376],[102.641592,32.103765],[102.641392,32.104154],[102.641278,32.104347],[102.641071,32.104419],[102.640857,32.104447],[102.640671,32.104397],[102.640428,32.10434],[102.640179,32.104326],[102.640107,32.104356],[102.639834,32.104471],[102.639822,32.104476],[102.639479,32.104568],[102.639293,32.104583],[102.639022,32.104661],[102.638822,32.104768],[102.638677,32.104843],[102.638542,32.104913],[102.63838,32.104997],[102.638173,32.105082],[102.638082,32.105093],[102.637866,32.105118],[102.637602,32.105104],[102.637352,32.105111],[102.637232,32.105145],[102.637173,32.105161],[102.637104,32.105256],[102.637038,32.105347],[102.636933,32.105511],[102.636911,32.105537],[102.636702,32.105739],[102.636452,32.105903],[102.636164,32.106136],[102.635938,32.106317],[102.635724,32.106681],[102.635673,32.106835],[102.635662,32.106868],[102.635543,32.107224],[102.635424,32.107581],[102.635314,32.10787],[102.635203,32.108159],[102.635123,32.108305],[102.635046,32.108445],[102.634853,32.108716],[102.634659,32.10891],[102.634646,32.108923],[102.634475,32.109073],[102.634225,32.109144],[102.633954,32.109216],[102.633554,32.109365],[102.633329,32.109448],[102.633104,32.10953],[102.632871,32.10963],[102.632637,32.109731],[102.632426,32.109822],[102.632205,32.109933],[102.631984,32.110044],[102.631812,32.110122],[102.63158,32.110222],[102.631348,32.110322],[102.631077,32.110365],[102.631068,32.110367],[102.630806,32.110436],[102.630542,32.110529],[102.63037,32.110693],[102.630192,32.110964],[102.630128,32.111129],[102.630128,32.111279],[102.630185,32.111486],[102.63032,32.11175],[102.630588,32.112055],[102.63087,32.112378],[102.631006,32.112592],[102.631037,32.11272],[102.631038,32.112724],[102.631109,32.113029],[102.63118,32.113334],[102.631278,32.113759],[102.631291,32.113815],[102.631377,32.114184],[102.631484,32.114523],[102.631591,32.114862],[102.631677,32.115133],[102.631698,32.115319],[102.631691,32.115469],[102.63162,32.115669],[102.631594,32.115712],[102.631464,32.115937],[102.631334,32.116161],[102.63122,32.116368],[102.631248,32.116725],[102.63134,32.117046],[102.631463,32.117475],[102.631591,32.117689],[102.631591,32.117853],[102.631584,32.118103],[102.631516,32.11836],[102.631448,32.118617],[102.631452,32.118842],[102.631456,32.119067],[102.631534,32.119481],[102.631545,32.119511],[102.631605,32.119688],[102.631684,32.120066],[102.631634,32.120237],[102.631527,32.120466],[102.631384,32.120708],[102.63121,32.120884],[102.631036,32.12106],[102.63077,32.121329],[102.630692,32.121453],[102.630635,32.121544],[102.630563,32.121643],[102.630513,32.121686],[102.630446,32.121749],[102.630278,32.121905],[102.630042,32.122124],[102.629807,32.122343],[102.629703,32.122483],[102.629476,32.122788],[102.629293,32.123035],[102.629228,32.12315],[102.62905,32.123228],[102.628907,32.123264],[102.628722,32.123307],[102.6286,32.123292],[102.628599,32.123292],[102.628597,32.123291],[102.628486,32.123242],[102.628351,32.12321],[102.628336,32.123207],[102.628186,32.123193],[102.628136,32.123178],[102.628034,32.123205],[102.627915,32.123235],[102.627634,32.123345],[102.627353,32.123454],[102.627073,32.123564],[102.626773,32.123697],[102.626473,32.12383],[102.626173,32.123963],[102.625937,32.124067],[102.625681,32.124179],[102.625424,32.124292],[102.625032,32.124485],[102.624931,32.124535],[102.624621,32.12467],[102.624312,32.124805],[102.624002,32.12494],[102.623788,32.125113],[102.623574,32.125285],[102.623276,32.125598],[102.622979,32.12591],[102.62283,32.126011],[102.622803,32.126024],[102.622574,32.126136],[102.622271,32.126279],[102.622199,32.126326],[102.622217,32.126421],[102.622295,32.126656],[102.622372,32.126891],[102.622521,32.1271],[102.622601,32.127332],[102.622681,32.127564],[102.62275,32.127748],[102.622847,32.128004],[102.622943,32.12826],[102.623035,32.128622],[102.623127,32.128985],[102.623234,32.129092],[102.623347,32.129211],[102.623383,32.129318],[102.623469,32.129584],[102.623554,32.12985],[102.623597,32.129985],[102.623663,32.130169],[102.623758,32.13055],[102.623844,32.130838],[102.62393,32.131127],[102.623919,32.131412],[102.623898,32.13147],[102.623823,32.131674],[102.623663,32.132085],[102.623591,32.132281],[102.623595,32.132388],[102.623597,32.132441],[102.623645,32.132572],[102.623782,32.132977],[102.623859,32.133209],[102.623863,32.133232],[102.623919,32.133566],[102.623907,32.133893],[102.623895,32.13422],[102.623883,32.1345],[102.623901,32.134601],[102.623948,32.134708],[102.623966,32.134815],[102.623972,32.134928],[102.623936,32.13533],[102.623901,32.135731],[102.623878,32.13585],[102.623811,32.136189],[102.623798,32.136483],[102.623785,32.136778],[102.62377,32.137117],[102.623767,32.137516],[102.623764,32.137914],[102.623749,32.138086],[102.623748,32.138093],[102.623743,32.138155],[102.623722,32.138396],[102.623695,32.138652],[102.623669,32.138908],[102.623591,32.139044],[102.623383,32.139342],[102.623157,32.139503],[102.622818,32.139711],[102.622703,32.139768],[102.622486,32.139877],[102.622485,32.139877],[102.622188,32.139943],[102.62208,32.139943],[102.621846,32.13991],[102.621612,32.139877],[102.621402,32.139848],[102.621111,32.139851],[102.620819,32.139854],[102.620684,32.139877],[102.620546,32.139901],[102.620355,32.139907],[102.620177,32.139895],[102.620016,32.139889],[102.619737,32.140014],[102.619528,32.140121],[102.619421,32.140139],[102.619332,32.140127],[102.618893,32.140084],[102.618547,32.14005],[102.618312,32.14008],[102.618077,32.140109],[102.617977,32.140132],[102.617869,32.140157],[102.617678,32.140181],[102.617518,32.140139],[102.617167,32.139961],[102.616965,32.139901],[102.616536,32.139889],[102.616153,32.139901],[102.615769,32.139913],[102.615501,32.139949],[102.615234,32.139984],[102.614933,32.140006],[102.614823,32.140014],[102.614567,32.140106],[102.614311,32.140199],[102.614062,32.140347],[102.613789,32.140421],[102.613516,32.140494],[102.613419,32.14052],[102.613084,32.140563],[102.612749,32.140607],[102.612414,32.140651],[102.612119,32.140683],[102.611825,32.140716],[102.611605,32.14074],[102.611474,32.140728],[102.611472,32.140727],[102.611331,32.140686],[102.611165,32.140585],[102.610956,32.140585],[102.610948,32.140589],[102.61079,32.140657],[102.610454,32.140799],[102.610118,32.140942],[102.609933,32.140978],[102.609689,32.140996],[102.609529,32.141025],[102.609528,32.141026],[102.609463,32.141061],[102.60944,32.141109],[102.60941,32.141251],[102.609434,32.141614],[102.609469,32.141781],[102.609483,32.141829],[102.609529,32.141995],[102.609612,32.14237],[102.60961,32.142548],[102.609609,32.142605],[102.609606,32.14284],[102.609606,32.143069],[102.609606,32.143298],[102.609535,32.143595],[102.609525,32.143645],[102.609456,32.144013],[102.609386,32.14438],[102.609292,32.144707],[102.609213,32.144981],[102.609187,32.145039],[102.609112,32.145198],[102.609011,32.145415],[102.608952,32.145725],[102.608946,32.146046],[102.608999,32.146269],[102.609053,32.146492],[102.609195,32.146804],[102.609337,32.147115],[102.609362,32.14717],[102.60941,32.14739],[102.609422,32.147563],[102.609356,32.147735],[102.609277,32.147842],[102.609231,32.147902],[102.609128,32.147988],[102.608905,32.148172],[102.608779,32.148277],[102.608529,32.148426],[102.608434,32.148568],[102.608428,32.148753],[102.608434,32.148884],[102.608517,32.149074],[102.608648,32.149377],[102.608735,32.149594],[102.608821,32.149812],[102.608889,32.150032],[102.608958,32.150252],[102.608976,32.150448],[102.609077,32.150615],[102.609243,32.150763],[102.609359,32.150957],[102.609392,32.151013],[102.609499,32.151204],[102.609683,32.151382],[102.609951,32.151572],[102.610219,32.151763],[102.610287,32.151857],[102.610314,32.151894],[102.610385,32.152078],[102.610443,32.152262],[102.610516,32.152494],[102.610582,32.152786],[102.610659,32.152893],[102.610778,32.152964],[102.610836,32.153019],[102.610944,32.15312],[102.610974,32.153149],[102.611016,32.153292],[102.611028,32.153416],[102.611025,32.153735],[102.611022,32.154053],[102.611081,32.154249],[102.611081,32.154451],[102.611081,32.154654],[102.611129,32.154814],[102.611218,32.154999],[102.61129,32.155147],[102.611325,32.155296],[102.611319,32.155534],[102.61129,32.155825],[102.61129,32.155832],[102.611367,32.156242],[102.61142,32.156516],[102.611504,32.15667],[102.611635,32.156837],[102.611712,32.156986],[102.611849,32.157122],[102.61189,32.157194],[102.611926,32.157325],[102.611944,32.157586],[102.611947,32.157718],[102.611953,32.157958],[102.611957,32.158142],[102.611962,32.15833],[102.611974,32.15858],[102.612018,32.158741],[102.612033,32.158794],[102.612033,32.159014],[102.611962,32.159169],[102.61189,32.159306],[102.611837,32.159466],[102.611801,32.159591],[102.61173,32.159758],[102.611569,32.159939],[102.611409,32.160121],[102.611099,32.160269],[102.610968,32.160295],[102.610885,32.160311],[102.610683,32.160394],[102.610466,32.160582],[102.610303,32.160722],[102.610257,32.160762],[102.610249,32.160769],[102.610197,32.160851],[102.61013,32.160959],[102.61007,32.161156],[102.610034,32.161358],[102.610073,32.1617],[102.610112,32.162042],[102.610209,32.162357],[102.610237,32.162446],[102.610311,32.162667],[102.610385,32.162887],[102.610439,32.163101],[102.610439,32.163103],[102.610439,32.163104],[102.610463,32.163315],[102.610463,32.163517],[102.610445,32.163636],[102.610302,32.163803],[102.610211,32.164013],[102.610119,32.164224],[102.610066,32.164345],[102.610023,32.164445],[102.60993,32.164659],[102.609838,32.164874],[102.609761,32.165094],[102.609683,32.165314],[102.60957,32.165451],[102.609416,32.165564],[102.609332,32.165677],[102.609267,32.165831],[102.609202,32.166141],[102.609166,32.166449],[102.609148,32.166605],[102.609095,32.166771],[102.60897,32.166843],[102.608785,32.166878],[102.608625,32.166985],[102.608482,32.167169],[102.608482,32.16717],[102.608375,32.167402],[102.608324,32.167625],[102.608274,32.167848],[102.608265,32.168136],[102.608256,32.168425],[102.608253,32.16869],[102.60825,32.168954],[102.608208,32.169153],[102.60819,32.16924],[102.608119,32.169424],[102.607857,32.169638],[102.607655,32.169674],[102.607393,32.16974],[102.607256,32.169894],[102.607114,32.170156],[102.606894,32.170543],[102.606884,32.170554],[102.6067,32.170789],[102.6067,32.17083],[102.6067,32.170951],[102.606705,32.170968],[102.606766,32.171189],[102.606871,32.171426],[102.606861,32.171588],[102.606766,32.171712],[102.606595,32.171836],[102.606376,32.17195],[102.606157,32.172064],[102.605911,32.172261],[102.605729,32.172407],[102.605402,32.172705],[102.605075,32.173003],[102.604749,32.173301],[102.604574,32.173505],[102.604339,32.173777],[102.604116,32.174053],[102.603892,32.174329],[102.603511,32.174553],[102.60313,32.174777],[102.602812,32.174948],[102.602493,32.175119],[102.602312,32.175367],[102.602302,32.175408],[102.602255,32.175595],[102.602198,32.175824],[102.602192,32.175871],[102.60217,32.176075],[102.602122,32.176506],[102.602074,32.176937],[102.602046,32.177255],[102.602036,32.177375],[102.602164,32.177751],[102.602293,32.178127],[102.60235,32.178327],[102.60236,32.178565],[102.602379,32.178653],[102.602458,32.179011],[102.602537,32.179368],[102.602617,32.179726],[102.602688,32.180063],[102.60276,32.180399],[102.602769,32.180442],[102.60289,32.180806],[102.602962,32.180999],[102.602975,32.181063],[102.60299,32.181135],[102.60299,32.181313],[102.60296,32.181477],[102.602947,32.181549],[102.602962,32.181699],[102.603004,32.181802],[102.603001,32.181902],[102.602969,32.181988],[102.602969,32.182091],[102.602994,32.182138],[102.603151,32.182327],[102.603172,32.182405],[102.603204,32.182516],[102.60324,32.182652],[102.603271,32.18276],[102.603276,32.182777],[102.60334,32.18293],[102.603411,32.183044],[102.603518,32.183191],[102.603536,32.183251],[102.60353,32.183409],[102.603525,32.183537],[102.60355,32.183897],[102.603568,32.184172],[102.603568,32.184436],[102.60354,32.184831],[102.603511,32.185225],[102.603509,32.185533],[102.603508,32.185664],[102.603497,32.185867],[102.603483,32.186107],[102.603461,32.186224],[102.603401,32.186378],[102.60334,32.186528],[102.603323,32.186627],[102.603311,32.186695],[102.603315,32.187038],[102.603326,32.18722],[102.60329,32.187434],[102.603236,32.187656],[102.603183,32.187877],[102.603097,32.187991],[102.602994,32.188145],[102.602919,32.188287],[102.602808,32.188348],[102.602519,32.188434],[102.602148,32.188601],[102.6021,32.188621],[102.601759,32.188758],[102.601459,32.188851],[102.601245,32.188891],[102.601041,32.188919],[102.600956,32.188908],[102.600859,32.188873],[102.600524,32.188684],[102.60027,32.188591],[102.600053,32.18853],[102.600006,32.188523],[102.599646,32.188469],[102.599335,32.188434],[102.599207,32.188387],[102.598918,32.188266],[102.598746,32.188209],[102.598429,32.188195],[102.598182,32.188216],[102.598018,32.188237],[102.597818,32.188241],[102.597601,32.188198],[102.597599,32.188198],[102.597597,32.188197],[102.597483,32.188177],[102.597354,32.188159],[102.597265,32.188177],[102.59694,32.188373],[102.596719,32.188562],[102.596583,32.188758],[102.596412,32.188894],[102.596219,32.188948],[102.59608,32.188983],[102.595827,32.189076],[102.595455,32.189272],[102.595365,32.189319],[102.595234,32.189398],[102.595031,32.189636],[102.594851,32.189831],[102.59467,32.190026],[102.594554,32.1901],[102.59446,32.190161],[102.594278,32.190272],[102.593932,32.190436],[102.593721,32.190543],[102.59351,32.19065],[102.593196,32.190904],[102.592886,32.191125],[102.592745,32.191225],[102.592725,32.191239],[102.592699,32.191277],[102.592657,32.191339],[102.592532,32.191616],[102.592407,32.191892],[102.592311,32.192198],[102.592214,32.192504],[102.592118,32.19281],[102.592039,32.193146],[102.592025,32.193292],[102.592018,32.193367],[102.591946,32.193639],[102.591804,32.193818],[102.591754,32.193881],[102.591532,32.194034],[102.591525,32.194038],[102.59139,32.194238],[102.591268,32.194474],[102.591147,32.194709],[102.591035,32.195111],[102.590923,32.195514],[102.590811,32.195916],[102.590701,32.19619],[102.59059,32.196465],[102.590465,32.196676],[102.59034,32.196886],[102.590205,32.197158],[102.590133,32.197379],[102.590133,32.197508],[102.590183,32.19765],[102.590239,32.197822],[102.590269,32.197917],[102.590305,32.197952],[102.590392,32.198037],[102.590447,32.198091],[102.590736,32.198295],[102.591025,32.198498],[102.591265,32.198659],[102.591505,32.19882],[102.591622,32.198898],[102.591759,32.198962],[102.591918,32.199037],[102.592021,32.199102],[102.592118,32.199223],[102.592153,32.199355],[102.59231,32.199615],[102.592392,32.199708],[102.592428,32.199758],[102.592435,32.199851],[102.592426,32.199914],[102.592401,32.200081],[102.592367,32.200311],[102.592303,32.200736],[102.592306,32.200756],[102.592346,32.201],[102.592396,32.201239],[102.592496,32.201568],[102.592528,32.201732],[102.592564,32.201914],[102.592563,32.201921],[102.592539,32.202114],[102.592553,32.202217],[102.592567,32.202237],[102.592614,32.202303],[102.592714,32.202417],[102.593089,32.20264],[102.593224,32.202721],[102.593399,32.202863],[102.593552,32.20301],[102.593606,32.203085],[102.59366,32.203142],[102.593709,32.20317],[102.594045,32.203263],[102.594216,32.203313],[102.594616,32.203406],[102.594919,32.203474],[102.594939,32.203486],[102.595134,32.203609],[102.595234,32.203663],[102.595344,32.203677],[102.595548,32.203688],[102.595851,32.203706],[102.59599,32.203742],[102.596072,32.203763],[102.596394,32.203966],[102.596588,32.204091],[102.596783,32.204216],[102.596921,32.20433],[102.59704,32.204427],[102.597122,32.204466],[102.597207,32.204509],[102.597236,32.204523],[102.597293,32.204584],[102.59735,32.204698],[102.597375,32.204976],[102.597407,32.205133],[102.597475,32.205298],[102.597543,32.205369],[102.597568,32.205412],[102.597589,32.205444],[102.597614,32.20558],[102.597657,32.205719],[102.597728,32.205887],[102.597796,32.205994],[102.597964,32.206158],[102.598037,32.206254],[102.598114,32.206354],[102.598207,32.20644],[102.598232,32.206511],[102.598239,32.206625],[102.598276,32.206735],[102.598289,32.206772],[102.598298,32.206837],[102.598317,32.206986],[102.598321,32.207125],[102.598315,32.207172],[102.598303,32.207275],[102.598311,32.207525],[102.598317,32.207753],[102.598285,32.207857],[102.59831,32.208021],[102.598349,32.20821],[102.598399,32.208346],[102.59846,32.208517],[102.598503,32.208599],[102.598522,32.20865],[102.598589,32.208831],[102.598628,32.209234],[102.598637,32.209285],[102.59868,32.209508],[102.598702,32.209621],[102.598713,32.209661],[102.598734,32.209707],[102.598742,32.209723],[102.598921,32.210127],[102.599106,32.210534],[102.599216,32.210736],[102.599278,32.21085],[102.599335,32.210955],[102.599395,32.211105],[102.59942,32.211151],[102.599424,32.211215],[102.599388,32.211351],[102.599385,32.21136],[102.599331,32.211544],[102.599336,32.211586],[102.599342,32.211626],[102.599388,32.211708],[102.599536,32.212001],[102.599537,32.212002],[102.599538,32.212004],[102.599638,32.212343],[102.599756,32.212689],[102.599796,32.212844],[102.599856,32.213071],[102.599876,32.213141],[102.599959,32.213425],[102.599975,32.21346],[102.600059,32.21365],[102.600152,32.213832],[102.600205,32.213917],[102.600253,32.213971],[102.60043,32.214171],[102.600605,32.214478],[102.600662,32.214592],[102.600677,32.214685],[102.600677,32.214777],[102.600648,32.214902],[102.600641,32.214916],[102.600559,32.215077],[102.600387,32.215325],[102.600216,32.215573],[102.600045,32.215887],[102.599941,32.215991],[102.599784,32.216109],[102.599727,32.216184],[102.599656,32.216355],[102.599635,32.216448],[102.599552,32.216819],[102.599521,32.217025],[102.59952,32.217027],[102.59952,32.21703],[102.599524,32.217119],[102.599531,32.217204],[102.599531,32.217297],[102.599488,32.217408],[102.599385,32.217668],[102.599306,32.217975],[102.599256,32.218279],[102.59925,32.218305],[102.599237,32.218369],[102.599213,32.218479],[102.599192,32.218739],[102.59921,32.219121],[102.599215,32.219268],[102.599231,32.219692],[102.599256,32.21996],[102.599213,32.220149],[102.599156,32.220327],[102.599106,32.220411],[102.599031,32.220535],[102.598931,32.220659],[102.598651,32.22088],[102.598614,32.220909],[102.598353,32.221173],[102.598264,32.221288],[102.598175,32.221516],[102.598085,32.221627],[102.597939,32.22168],[102.597702,32.221821],[102.597693,32.221827],[102.597536,32.221959],[102.597391,32.222132],[102.597247,32.222305],[102.596965,32.22258],[102.5969,32.222751],[102.59685,32.222872],[102.596846,32.222894],[102.596825,32.223001],[102.596847,32.223111],[102.596897,32.223286],[102.596929,32.223399],[102.596954,32.223483],[102.597011,32.223636],[102.597043,32.223715],[102.597061,32.223779],[102.597063,32.223839],[102.597065,32.223868],[102.59709,32.223997],[102.597175,32.224204],[102.597188,32.224229],[102.597236,32.224321],[102.597293,32.224425],[102.597325,32.224528],[102.597343,32.224664],[102.597311,32.224917],[102.597223,32.225246],[102.597136,32.225574],[102.597047,32.225806],[102.597018,32.225992],[102.597009,32.226021],[102.596982,32.226106],[102.596925,32.226181],[102.59684,32.226267],[102.596679,32.226488],[102.596647,32.226627],[102.596568,32.226813],[102.596508,32.226948],[102.59649,32.227045],[102.596489,32.227115],[102.596483,32.227409],[102.596501,32.227655],[102.596497,32.227741],[102.596436,32.227873],[102.596419,32.227966],[102.596412,32.228018],[102.59641,32.228029],[102.596401,32.228105],[102.596372,32.228297],[102.596369,32.228394],[102.596415,32.228494],[102.596511,32.228672],[102.596536,32.228733],[102.596536,32.228804],[102.596511,32.228951],[102.596583,32.229286],[102.596654,32.229704],[102.596676,32.229833],[102.596693,32.229939],[102.596736,32.230178],[102.596779,32.230503],[102.596829,32.230689],[102.596918,32.230878],[102.597072,32.231046],[102.597225,32.231214],[102.597446,32.231343],[102.597571,32.231417],[102.597696,32.231528],[102.597708,32.231545],[102.597715,32.231657],[102.597732,32.231928],[102.597749,32.232198],[102.597774,32.232493],[102.597791,32.232557],[102.597797,32.232577],[102.597833,32.232713],[102.597839,32.232728],[102.597908,32.232907],[102.598015,32.233117],[102.598123,32.233327],[102.598231,32.233538],[102.598339,32.233748],[102.598446,32.233959],[102.598554,32.234169],[102.598662,32.234379],[102.598769,32.23459],[102.5989,32.234804],[102.59903,32.235018],[102.59917,32.235215],[102.59931,32.235413],[102.59945,32.23561],[102.59959,32.235808],[102.599797,32.236119],[102.600004,32.236431],[102.600211,32.236743],[102.600429,32.237019],[102.600681,32.237244],[102.600973,32.237447],[102.601266,32.23765],[102.601455,32.237781],[102.601645,32.237913],[102.601835,32.238044],[102.602025,32.238175],[102.602113,32.238236],[102.602151,32.238313],[102.60224,32.238438],[102.602311,32.23853],[102.602436,32.23868],[102.60259,32.238788],[102.60265,32.23883],[102.602825,32.238894],[102.602932,32.238923],[102.603089,32.238977],[102.603204,32.239062],[102.603412,32.239237],[102.603621,32.239412],[102.60385,32.239558],[102.604071,32.239715],[102.604214,32.239802],[102.604417,32.239926],[102.60467,32.240103],[102.604924,32.240279],[102.60519,32.240401],[102.605456,32.240522],[102.605652,32.240675],[102.605852,32.240918],[102.606102,32.241211],[102.606152,32.241332],[102.606187,32.241521],[102.606248,32.241739],[102.606316,32.24191],[102.606384,32.242032],[102.606592,32.242219],[102.606683,32.242301],[102.606737,32.242349],[102.606808,32.242453],[102.606894,32.242599],[102.606951,32.242688],[102.60708,32.242753],[102.607331,32.242837],[102.607429,32.242871],[102.607547,32.24291],[102.607604,32.242985],[102.607629,32.243081],[102.60766,32.243344],[102.607694,32.243631],[102.607747,32.243852],[102.607868,32.244186],[102.607947,32.244401],[102.60799,32.244519],[102.608065,32.244741],[102.608143,32.244962],[102.608226,32.2451],[102.608229,32.245105],[102.608318,32.245201],[102.608468,32.245255],[102.608732,32.245317],[102.608757,32.245323],[102.608956,32.245374],[102.608993,32.245383],[102.609111,32.24543],[102.609285,32.245701],[102.609428,32.245797],[102.609546,32.245865],[102.609592,32.245911],[102.609767,32.246276],[102.609894,32.246429],[102.609935,32.246479],[102.610142,32.24669],[102.61042,32.246889],[102.610699,32.247089],[102.611025,32.247286],[102.611352,32.247482],[102.611548,32.247609],[102.611745,32.247735],[102.612052,32.247978],[102.612114,32.248037],[102.612251,32.248167],[102.612387,32.248392],[102.612479,32.248493],[102.612501,32.248517],[102.612633,32.24866],[102.612783,32.248845],[102.612947,32.24912],[102.613037,32.249306],[102.613076,32.249388],[102.613229,32.249573],[102.613404,32.24973],[102.613479,32.249863],[102.613508,32.249927],[102.613536,32.249991],[102.613583,32.250067],[102.613704,32.250266],[102.613882,32.250465],[102.61394,32.25053],[102.613993,32.250637],[102.614003,32.25071],[102.614011,32.250773],[102.614015,32.250908],[102.613833,32.251251],[102.613779,32.251408],[102.613786,32.251536],[102.613811,32.251676],[102.613831,32.251713],[102.613972,32.251968],[102.614222,32.252257],[102.614525,32.252493],[102.614914,32.252696],[102.614996,32.252793],[102.615155,32.253076],[102.615171,32.253105],[102.615346,32.253417],[102.615485,32.253624],[102.615623,32.253752],[102.615678,32.253803],[102.61588,32.253975],[102.615896,32.253989],[102.615931,32.254039],[102.615935,32.254128],[102.615933,32.254143],[102.615892,32.254524],[102.615835,32.254727],[102.615778,32.255006],[102.615728,32.255138],[102.615631,32.255266],[102.615446,32.255388],[102.615178,32.255548],[102.615085,32.255602],[102.614993,32.255741],[102.614893,32.256005],[102.614814,32.256216],[102.614783,32.25642],[102.614775,32.256469],[102.614728,32.256773],[102.614757,32.256951],[102.614757,32.257058],[102.614748,32.257113],[102.614739,32.257172],[102.614664,32.257254],[102.614543,32.257351],[102.614304,32.257583],[102.614132,32.257811],[102.613968,32.258065],[102.613829,32.258273],[102.613696,32.258474],[102.61369,32.258482],[102.613618,32.258596],[102.613618,32.258661],[102.613665,32.258739],[102.613751,32.258853],[102.613979,32.25903],[102.614207,32.259207],[102.614439,32.259317],[102.614518,32.259367],[102.614582,32.259471],[102.614662,32.259587],[102.614907,32.259946],[102.615078,32.260213],[102.615114,32.260274],[102.615167,32.260324],[102.61526,32.26036],[102.615485,32.260381],[102.615592,32.260356],[102.615867,32.260277],[102.61617,32.260249],[102.616388,32.260252],[102.616656,32.260199],[102.616882,32.260124],[102.616916,32.260113],[102.617106,32.260099],[102.617512,32.260085],[102.617852,32.260074],[102.618269,32.26002],[102.61859,32.259988],[102.618883,32.260017],[102.619161,32.260104],[102.61944,32.260192],[102.61975,32.260256],[102.619985,32.260286],[102.620218,32.260317],[102.620486,32.26037],[102.620597,32.260354],[102.620632,32.260349],[102.620718,32.260338],[102.620785,32.260324],[102.620832,32.260317],[102.620885,32.260331],[102.620957,32.260374],[102.621174,32.260663],[102.621213,32.260742],[102.621335,32.260991],[102.621381,32.261063],[102.621489,32.261155],[102.621585,32.261198],[102.621853,32.261316],[102.62212,32.261434],[102.62237,32.26168],[102.622574,32.261832],[102.622777,32.261984],[102.622977,32.262135],[102.623177,32.262287],[102.623405,32.262474],[102.623634,32.262662],[102.623876,32.262847],[102.624101,32.262972],[102.624381,32.263056],[102.624662,32.26314],[102.624894,32.263204],[102.625018,32.263258],[102.625031,32.263263],[102.625031,32.263263],[102.625031,32.263263],[102.625179,32.263329],[102.625315,32.26344],[102.62559,32.263629],[102.625692,32.263728],[102.625693,32.263729],[102.625693,32.263729],[102.625781,32.263817],[102.625891,32.263927],[102.626089,32.264125],[102.626102,32.264141],[102.626103,32.264141],[102.626103,32.264142],[102.626381,32.264485],[102.62666,32.264828],[102.626829,32.264994],[102.626997,32.265161],[102.627196,32.265356],[102.627538,32.265578],[102.627724,32.26567],[102.627877,32.265749],[102.627981,32.265838],[102.628084,32.265949],[102.628249,32.26606],[102.628513,32.266245],[102.628685,32.266318],[102.62878,32.266359],[102.628905,32.266388],[102.629116,32.266342],[102.629234,32.266249],[102.629413,32.26605],[102.629425,32.266037],[102.629593,32.265852],[102.629658,32.265795],[102.629808,32.265667],[102.629965,32.265574],[102.630342,32.265368],[102.63064,32.26523],[102.630804,32.265165],[102.630879,32.265135],[102.6311,32.265092],[102.631393,32.265071],[102.631472,32.265068],[102.631818,32.265053],[102.632057,32.26501],[102.632203,32.264935],[102.63235,32.264846],[102.632514,32.264828],[102.632639,32.26486],[102.63276,32.264842],[102.632917,32.264807],[102.63306,32.264725],[102.633081,32.26469],[102.633149,32.264578],[102.633238,32.264351],[102.633253,32.264314],[102.633406,32.2641],[102.63356,32.264011],[102.633838,32.263943],[102.633981,32.263868],[102.634129,32.263795],[102.634316,32.263704],[102.634402,32.263608],[102.634429,32.263552],[102.634555,32.26329],[102.634641,32.26304],[102.634727,32.26279],[102.634809,32.262647],[102.63503,32.262455],[102.635255,32.262344],[102.635573,32.262255],[102.635733,32.262205],[102.635947,32.262105],[102.636094,32.262033],[102.636277,32.261892],[102.636426,32.261777],[102.636654,32.261655],[102.636786,32.261491],[102.636878,32.261342],[102.636972,32.261191],[102.637129,32.261009],[102.637286,32.260827],[102.637511,32.260635],[102.637775,32.26041],[102.638039,32.260185],[102.638307,32.259929],[102.638576,32.259673],[102.638844,32.259416],[102.639031,32.259267],[102.639217,32.259118],[102.639446,32.258935],[102.639674,32.258753],[102.639918,32.258532],[102.640152,32.258321],[102.640162,32.258312],[102.640394,32.258048],[102.640626,32.257783],[102.640662,32.257714],[102.640751,32.257545],[102.64078,32.257236],[102.640801,32.256822],[102.640822,32.256409],[102.640825,32.256352],[102.640828,32.25629],[102.640871,32.256208],[102.640882,32.256189],[102.641012,32.256094],[102.641334,32.256052],[102.64153,32.256034],[102.641595,32.255986],[102.641697,32.255927],[102.641804,32.255891],[102.64194,32.255903],[102.642214,32.255986],[102.642416,32.25601],[102.642648,32.255927],[102.642904,32.25579],[102.643172,32.255689],[102.643199,32.255687],[102.643326,32.255677],[102.643666,32.255778],[102.643892,32.255832],[102.644118,32.255885],[102.644439,32.256016],[102.644742,32.256129],[102.644903,32.256135],[102.645144,32.256055],[102.645385,32.255975],[102.645792,32.255841],[102.646199,32.255707],[102.646218,32.255701],[102.646517,32.255598],[102.646816,32.255495],[102.647116,32.255392],[102.647347,32.255408],[102.647578,32.255425],[102.647693,32.255433],[102.64799,32.255421],[102.648216,32.255427],[102.648323,32.255487],[102.648505,32.255704],[102.648686,32.255921],[102.648799,32.255992],[102.649085,32.256052],[102.649341,32.256171],[102.649561,32.256456],[102.649748,32.256667],[102.649935,32.256879],[102.649983,32.256932],[102.650141,32.257218],[102.650298,32.257503],[102.650403,32.257696],[102.650517,32.257906],[102.650631,32.258116],[102.650899,32.258437],[102.651081,32.258625],[102.651262,32.258812],[102.6515,32.25908],[102.65169,32.259169],[102.652062,32.259291],[102.652434,32.259413],[102.652815,32.259526],[102.653124,32.259615],[102.653439,32.259811],[102.65363,32.260002],[102.653802,32.260103],[102.653951,32.260139],[102.654343,32.26021],[102.654535,32.260299],[102.654688,32.260371],[102.654772,32.260478],[102.654813,32.260603],[102.654891,32.260722],[102.655045,32.260787],[102.65517,32.260818],[102.655212,32.260829],[102.655384,32.260882],[102.655474,32.260936],[102.655575,32.261037],[102.655706,32.261453],[102.655746,32.261509],[102.655914,32.261745],[102.656033,32.261944],[102.656152,32.262143],[102.656301,32.262447],[102.656408,32.262845],[102.656422,32.263098],[102.656437,32.263351],[102.656527,32.263675],[102.656616,32.263999],[102.656653,32.264159],[102.656729,32.264481],[102.656841,32.264647],[102.656889,32.264719],[102.657032,32.26485],[102.657252,32.264951],[102.657484,32.264981],[102.657895,32.265052],[102.658249,32.265135],[102.658589,32.265292],[102.65863,32.265312],[102.658773,32.26544],[102.658923,32.265638],[102.659073,32.265835],[102.659311,32.266078],[102.659432,32.266225],[102.659534,32.266349],[102.65977,32.266523],[102.660005,32.266696],[102.660239,32.266885],[102.660472,32.267074],[102.660705,32.267263],[102.660792,32.26732],[102.661129,32.267541],[102.661466,32.267762],[102.661814,32.267977],[102.662066,32.268186],[102.662171,32.268314],[102.66228,32.268372],[102.662661,32.268438],[102.662883,32.268478],[102.663061,32.26851],[102.663375,32.268614],[102.663736,32.268824],[102.664005,32.269033],[102.664274,32.269242],[102.664512,32.269442],[102.66475,32.269642],[102.665064,32.26988],[102.665273,32.270035],[102.665483,32.270189],[102.665601,32.27029],[102.66564,32.270323],[102.665749,32.270475],[102.665775,32.270542],[102.665806,32.270623],[102.665821,32.270822],[102.665845,32.27102],[102.665887,32.271365],[102.665897,32.271636],[102.665906,32.271907],[102.665913,32.272032],[102.665925,32.272274],[102.665892,32.272574],[102.665825,32.272912],[102.665816,32.273107],[102.665868,32.273302],[102.665987,32.273625],[102.666059,32.273821],[102.666106,32.273949],[102.666225,32.274273],[102.666332,32.274577],[102.666397,32.274762],[102.666439,32.274882],[102.666545,32.275186],[102.666554,32.27521],[102.666665,32.27555],[102.666708,32.275681],[102.666777,32.275891],[102.666872,32.276164],[102.666968,32.276438],[102.667006,32.276633],[102.667006,32.27679],[102.66693,32.276933],[102.666825,32.277093],[102.666587,32.277456],[102.666474,32.277707],[102.66636,32.277957],[102.666287,32.278118],[102.666176,32.278364],[102.665992,32.278771],[102.665808,32.279178],[102.665731,32.279349],[102.665624,32.279585],[102.66544,32.279991],[102.665295,32.280221],[102.665149,32.280451],[102.665113,32.280507],[102.664942,32.280777],[102.664735,32.281104],[102.66452,32.281444],[102.664305,32.281783],[102.664269,32.281876],[102.664241,32.282062],[102.664262,32.282159],[102.664284,32.282254],[102.664348,32.282376],[102.664512,32.282718],[102.664626,32.283104],[102.66458,32.283421],[102.664533,32.283739],[102.664434,32.283967],[102.664297,32.284174],[102.664241,32.28426],[102.664034,32.28451],[102.66377,32.2847],[102.663506,32.284891],[102.663241,32.285081],[102.663013,32.285267],[102.662906,32.285431],[102.662878,32.285595],[102.662856,32.285724],[102.662844,32.286144],[102.662835,32.286502],[102.662852,32.286917],[102.662863,32.287173],[102.662861,32.287192],[102.662842,32.287422],[102.66282,32.287672],[102.662831,32.287862],[102.662851,32.288206],[102.662856,32.288286],[102.662905,32.288665],[102.662913,32.288729],[102.662913,32.289057],[102.662956,32.289271],[102.663042,32.289528],[102.663127,32.289785],[102.66317,32.289905],[102.663182,32.289938],[102.66327,32.290179],[102.663369,32.290454],[102.663406,32.290556],[102.663543,32.290761],[102.66368,32.290965],[102.663784,32.29112],[102.663984,32.291336],[102.664146,32.291509],[102.664355,32.291734],[102.664442,32.291821],[102.664613,32.291992],[102.664783,32.292162],[102.665051,32.292369],[102.665222,32.292502],[102.665319,32.292576],[102.665536,32.292751],[102.665754,32.292926],[102.665829,32.293013],[102.665961,32.293166],[102.666168,32.293407],[102.666375,32.293647],[102.666532,32.294061],[102.666554,32.294275],[102.666518,32.294454],[102.666393,32.294643],[102.666268,32.294832],[102.666082,32.294998],[102.66579,32.29526],[102.66575,32.295291],[102.665534,32.295458],[102.665319,32.295624],[102.665047,32.295967],[102.664776,32.29631],[102.664569,32.296624],[102.664362,32.296938],[102.664155,32.297252],[102.664104,32.297352],[102.663959,32.297634],[102.663762,32.298016],[102.663725,32.298085],[102.663537,32.298433],[102.663349,32.298781],[102.663162,32.299128],[102.663042,32.299351],[102.662895,32.299666],[102.662748,32.299982],[102.662601,32.300298],[102.662463,32.300593],[102.662345,32.30087],[102.662235,32.301128],[102.662185,32.301399],[102.662178,32.301671],[102.662242,32.301885],[102.662336,32.302175],[102.662429,32.302466],[102.662513,32.302727],[102.662695,32.303014],[102.662877,32.3033],[102.663034,32.303548],[102.663202,32.303876],[102.66337,32.304205],[102.663569,32.30446],[102.663698,32.304626],[102.663827,32.30479],[102.66392,32.304926],[102.663998,32.305097],[102.664027,32.305261],[102.664041,32.305493],[102.664041,32.305495],[102.664041,32.305497],[102.66397,32.305832],[102.663845,32.306064],[102.66372,32.306296],[102.663648,32.306342],[102.663563,32.306396],[102.663327,32.306482],[102.663141,32.30661],[102.663056,32.306767],[102.663027,32.306917],[102.663006,32.307103],[102.663006,32.307331],[102.663134,32.307695],[102.663155,32.307839],[102.663191,32.308083],[102.663227,32.308328],[102.663241,32.308424],[102.663241,32.308659],[102.663206,32.308845],[102.663063,32.309052],[102.662972,32.309124],[102.66292,32.309166],[102.662904,32.309193],[102.662785,32.309402],[102.662742,32.309601],[102.662777,32.309758],[102.662842,32.309944],[102.662876,32.310054],[102.662992,32.310422],[102.66306,32.310708],[102.663128,32.310994],[102.663141,32.311051],[102.663141,32.311279],[102.663127,32.311515],[102.663027,32.311829],[102.662985,32.3119],[102.662835,32.312157],[102.662673,32.312419],[102.662512,32.312682],[102.66235,32.312944],[102.662191,32.313221],[102.662031,32.313498],[102.662004,32.313561],[102.661798,32.313898],[102.661652,32.314154],[102.661434,32.314349],[102.661215,32.314544],[102.661068,32.314599],[102.661035,32.314611],[102.660655,32.314696],[102.660275,32.314782],[102.66004,32.314841],[102.659805,32.314901],[102.659587,32.314974],[102.65948,32.314994],[102.659462,32.314995],[102.659338,32.315004],[102.659288,32.315008],[102.659086,32.314996],[102.658827,32.314907],[102.658568,32.314817],[102.658169,32.314615],[102.657813,32.314573],[102.65745,32.314556],[102.657271,32.314508],[102.65689,32.314319],[102.656508,32.31413],[102.656126,32.313941],[102.655998,32.313877],[102.655748,32.313717],[102.655499,32.313556],[102.655159,32.313396],[102.65488,32.313339],[102.6546,32.313283],[102.6543,32.313259],[102.653999,32.313235],[102.653595,32.313241],[102.653256,32.31333],[102.652889,32.313487],[102.652685,32.313574],[102.652453,32.313678],[102.652221,32.313782],[102.651906,32.313919],[102.65168,32.313931],[102.651346,32.313877],[102.651258,32.313869],[102.650995,32.313845],[102.650644,32.313812],[102.650606,32.31381],[102.650311,32.313794],[102.650038,32.313806],[102.64974,32.313919],[102.649608,32.313942],[102.649538,32.313955],[102.649258,32.313955],[102.648967,32.31383],[102.648675,32.313705],[102.648598,32.313641],[102.648574,32.313622],[102.648485,32.313622],[102.648384,32.313782],[102.648342,32.31405],[102.648348,32.314421],[102.648354,32.314792],[102.64836,32.315162],[102.648319,32.315484],[102.648176,32.315543],[102.648039,32.315638],[102.647914,32.315757],[102.647812,32.315903],[102.647789,32.315936],[102.647736,32.316156],[102.64775,32.316231],[102.647765,32.316305],[102.64784,32.316563],[102.647914,32.316822],[102.647872,32.316983],[102.6477,32.317096],[102.647459,32.317276],[102.647218,32.317456],[102.647135,32.317518],[102.646894,32.317792],[102.646653,32.318065],[102.646631,32.318113],[102.646532,32.318327],[102.646433,32.318541],[102.646427,32.318845],[102.646314,32.319071],[102.646202,32.319266],[102.646195,32.319279],[102.646171,32.319529],[102.646195,32.319719],[102.646367,32.32004],[102.646447,32.320287],[102.646459,32.320323],[102.646472,32.320365],[102.646578,32.320691],[102.646683,32.321016],[102.646745,32.321287],[102.646808,32.321557],[102.646814,32.321672],[102.646829,32.321936],[102.646847,32.322262],[102.646866,32.322587],[102.646823,32.322875],[102.646764,32.323263],[102.646706,32.323651],[102.64665,32.323897],[102.64663,32.323988],[102.646554,32.324325],[102.646478,32.324662],[102.646443,32.324901],[102.646426,32.325019],[102.646413,32.325112],[102.646375,32.325376],[102.646355,32.325753],[102.646335,32.326131],[102.646315,32.326508],[102.646295,32.326886],[102.646275,32.327263],[102.646262,32.327578],[102.646248,32.327892],[102.646234,32.328207],[102.646157,32.328502],[102.646079,32.328797],[102.64603,32.328984],[102.645972,32.329294],[102.645913,32.329604],[102.645879,32.329784],[102.645708,32.330108],[102.64565,32.330212],[102.645551,32.330389],[102.645394,32.330669],[102.645299,32.330812],[102.645289,32.33106],[102.645318,32.331193],[102.645543,32.33145],[102.645768,32.331707],[102.645993,32.331964],[102.646225,32.33218],[102.646457,32.332395],[102.646688,32.332611],[102.646688,32.332611],[102.646945,32.332797],[102.647202,32.332982],[102.647547,32.333161],[102.647683,32.333182],[102.64779,32.333218],[102.647854,32.333261],[102.64786,32.33331],[102.647861,32.333325],[102.647861,32.333368],[102.647776,32.333475],[102.647561,32.333632],[102.64724,32.333825],[102.646919,32.334017],[102.646576,32.33421],[102.646234,32.334403],[102.645891,32.334595],[102.645852,32.334617],[102.64559,32.334758],[102.6452,32.334968],[102.64481,32.335178],[102.644421,32.335388],[102.644039,32.335588],[102.643657,32.335787],[102.643275,32.335987],[102.642896,32.33619],[102.64267,32.336312],[102.642278,32.336485],[102.641886,32.336659],[102.641883,32.33666],[102.641882,32.336661],[102.641493,32.336833],[102.641207,32.33706],[102.640921,32.337287],[102.640761,32.337511],[102.640635,32.337884],[102.64051,32.338257],[102.640385,32.33863],[102.640297,32.339061],[102.640235,32.339366],[102.640172,32.339671],[102.640132,32.339912],[102.640059,32.34035],[102.639986,32.340788],[102.639913,32.341226],[102.639826,32.341643],[102.639739,32.34206],[102.639653,32.342477],[102.639622,32.342624],[102.639566,32.342893],[102.639482,32.343307],[102.639399,32.34372],[102.639315,32.344134],[102.639242,32.34443],[102.63917,32.344727],[102.639097,32.345023],[102.638994,32.345444],[102.638946,32.345838],[102.638898,32.346232],[102.638865,32.346502],[102.638834,32.346635],[102.638785,32.346847],[102.638704,32.347192],[102.638681,32.347294],[102.638624,32.347537],[102.638724,32.34793],[102.638731,32.348166],[102.638692,32.348406],[102.638688,32.34843],[102.638688,32.348708],[102.638738,32.348929],[102.638774,32.349201],[102.638874,32.349379],[102.639017,32.349579],[102.639131,32.349836],[102.639202,32.350221],[102.639268,32.350444],[102.639333,32.350666],[102.639409,32.350928],[102.639513,32.351135],[102.639616,32.351342],[102.639806,32.351645],[102.639986,32.351935],[102.639995,32.351949],[102.640252,32.352156],[102.640502,32.352299],[102.64073,32.352406],[102.64081,32.352447],[102.640941,32.352514],[102.640966,32.352527],[102.641215,32.352656],[102.641336,32.352753],[102.641433,32.35283],[102.641651,32.353005],[102.641795,32.353138],[102.642008,32.353334],[102.642158,32.353434],[102.642379,32.353555],[102.642507,32.353655],[102.642636,32.353769],[102.642736,32.353919],[102.642836,32.35399],[102.643021,32.354033],[102.643193,32.354055],[102.643314,32.35409],[102.643478,32.354176],[102.643628,32.354347],[102.643778,32.354519],[102.644071,32.354683],[102.644306,32.354769],[102.644513,32.354769],[102.644813,32.354754],[102.645177,32.354733],[102.645419,32.354729],[102.645661,32.354726],[102.6457,32.354731],[102.645991,32.354818],[102.646355,32.354961],[102.646583,32.354983],[102.646783,32.35499],[102.647083,32.354918],[102.647161,32.354899],[102.64754,32.354804],[102.647733,32.354761],[102.647918,32.354754],[102.64809,32.354797],[102.648261,32.354876],[102.648534,32.355041],[102.648807,32.355207],[102.649132,32.355404],[102.649465,32.355605],[102.649702,32.355747],[102.649939,32.355889],[102.64994,32.35589],[102.650113,32.356017],[102.650178,32.356065],[102.650417,32.356239],[102.650574,32.356582],[102.650699,32.35678],[102.650795,32.356931],[102.651081,32.357074],[102.651345,32.357146],[102.651752,32.357153],[102.652166,32.357089],[102.652473,32.35706],[102.652698,32.35706],[102.652865,32.35706],[102.653229,32.357131],[102.653593,32.357203],[102.653922,32.357298],[102.65425,32.357393],[102.654578,32.357488],[102.654627,32.357512],[102.654759,32.357547],[102.655141,32.357747],[102.655354,32.357876],[102.655566,32.358005],[102.655738,32.358153],[102.655911,32.358301],[102.656083,32.358448],[102.656255,32.358596],[102.656326,32.358677],[102.656476,32.358851],[102.656581,32.35916],[102.656618,32.359528],[102.656604,32.359785],[102.656592,32.360001],[102.65659,32.360041],[102.656579,32.360229],[102.656684,32.360593],[102.656684,32.3608],[102.656601,32.360956],[102.656533,32.361082],[102.656545,32.361484],[102.656558,32.361899],[102.656563,32.362078],[102.65657,32.362315],[102.656617,32.362653],[102.656664,32.362991],[102.656771,32.363301],[102.656856,32.363524],[102.656941,32.363748],[102.657072,32.363952],[102.657203,32.364157],[102.657407,32.364469],[102.657611,32.364781],[102.657815,32.365093],[102.657935,32.365288],[102.658056,32.365483],[102.658176,32.365678],[102.658296,32.365873],[102.658416,32.366068],[102.658536,32.366263],[102.658644,32.366486],[102.658753,32.366709],[102.658861,32.366932],[102.65897,32.367156],[102.659078,32.367379],[102.659187,32.367602],[102.659221,32.367671],[102.659296,32.367825],[102.659404,32.368048],[102.659508,32.368268],[102.659612,32.368489],[102.659716,32.368709],[102.659821,32.368929],[102.659925,32.36915],[102.660029,32.36937],[102.660144,32.369613],[102.660259,32.369856],[102.660374,32.370099],[102.660489,32.370342],[102.660604,32.370585],[102.660718,32.370828],[102.660879,32.371231],[102.661039,32.371634],[102.661116,32.371827],[102.661199,32.372036],[102.661359,32.372439],[102.661433,32.372674],[102.661507,32.372909],[102.661573,32.37312],[102.661581,32.373143],[102.661654,32.373378],[102.661728,32.373613],[102.661802,32.373848],[102.661881,32.374014],[102.661915,32.374086],[102.662029,32.374324],[102.662142,32.374562],[102.662157,32.374593],[102.662255,32.3748],[102.662304,32.374893],[102.662421,32.375113],[102.662531,32.37532],[102.66264,32.375528],[102.66266,32.375565],[102.66275,32.375735],[102.66286,32.375942],[102.66297,32.37615],[102.66308,32.376357],[102.663206,32.376564],[102.663332,32.37677],[102.663459,32.376977],[102.663508,32.377056],[102.663585,32.377183],[102.663618,32.377236],[102.663712,32.37739],[102.663838,32.377596],[102.663965,32.377803],[102.664091,32.378009],[102.664218,32.378216],[102.664344,32.378423],[102.664496,32.378639],[102.664627,32.378825],[102.664648,32.378855],[102.6648,32.379072],[102.664953,32.379288],[102.665105,32.379504],[102.665257,32.379721],[102.665409,32.379937],[102.665561,32.380153],[102.665713,32.38037],[102.665865,32.380586],[102.666085,32.38086],[102.666306,32.381135],[102.666471,32.38132],[102.666637,32.381506],[102.666916,32.381714],[102.667195,32.381922],[102.667565,32.382101],[102.667936,32.382281],[102.668353,32.382409],[102.66877,32.382537],[102.669188,32.382665],[102.669605,32.382793],[102.669953,32.382935],[102.670302,32.383077],[102.670549,32.383188],[102.670797,32.383298],[102.671108,32.383574],[102.671262,32.383779],[102.671416,32.383984],[102.67162,32.384315],[102.671823,32.384646],[102.672027,32.384978],[102.672229,32.385366],[102.672431,32.385754],[102.672633,32.386143],[102.672835,32.386531],[102.672907,32.386724],[102.672987,32.386938],[102.673067,32.387151],[102.673147,32.387365],[102.673227,32.387578],[102.673307,32.387791],[102.673388,32.388005],[102.673492,32.388206],[102.673597,32.388407],[102.673702,32.388608],[102.673807,32.388809],[102.673912,32.38901],[102.674017,32.389211],[102.674213,32.389523],[102.67441,32.389835],[102.674587,32.390012],[102.674765,32.390188],[102.675022,32.390338],[102.67528,32.390487],[102.675617,32.390647],[102.675954,32.390808],[102.676291,32.390968],[102.676559,32.391028],[102.676827,32.391088],[102.677095,32.391147],[102.677363,32.391207],[102.677713,32.391291],[102.678063,32.391374],[102.678198,32.391436],[102.67831,32.391514],[102.67833,32.39163],[102.678349,32.391765],[102.678321,32.391919],[102.678109,32.392262],[102.677956,32.392632],[102.677802,32.393001],[102.677648,32.393371],[102.677523,32.393605],[102.677397,32.393838],[102.677272,32.394072],[102.677147,32.394306],[102.677019,32.394515],[102.676891,32.394723],[102.676763,32.394932],[102.676635,32.395141],[102.676507,32.395349],[102.676379,32.395558],[102.676251,32.395766],[102.676123,32.395975],[102.675979,32.396187],[102.675836,32.396399],[102.675692,32.396611],[102.675549,32.396823],[102.675405,32.397035],[102.67529,32.397206],[102.675262,32.397247],[102.675118,32.397459],[102.674975,32.397671],[102.674831,32.397883],[102.674688,32.398095],[102.674544,32.398307],[102.674483,32.398399],[102.674401,32.39852],[102.674257,32.398732],[102.674114,32.398944],[102.67397,32.399177],[102.673826,32.39941],[102.673681,32.399642],[102.673537,32.399875],[102.673393,32.400108],[102.673249,32.400341],[102.673104,32.400574],[102.67296,32.400807],[102.672816,32.40104],[102.672672,32.401273],[102.672528,32.401506],[102.672383,32.401739],[102.672239,32.401972],[102.672095,32.402205],[102.671951,32.402438],[102.671806,32.402671],[102.671598,32.403048],[102.67139,32.403425],[102.671182,32.403802],[102.670974,32.404179],[102.670811,32.40454],[102.670649,32.404901],[102.670486,32.405262],[102.670479,32.405332],[102.670458,32.40555],[102.670539,32.40584],[102.67065,32.405997],[102.670851,32.406154],[102.67113,32.406352],[102.671409,32.406551],[102.671604,32.406694],[102.6718,32.406837],[102.671995,32.40698],[102.67219,32.407124],[102.672368,32.40729],[102.672546,32.407457],[102.672691,32.407678],[102.672837,32.407899],[102.672983,32.40812],[102.673129,32.408341],[102.673261,32.408541],[102.673365,32.408677],[102.673421,32.408783],[102.673631,32.40918],[102.673698,32.409306],[102.67382,32.409536],[102.674008,32.409891],[102.674215,32.410182],[102.674364,32.410392],[102.674513,32.410602],[102.674769,32.410807],[102.675025,32.411012],[102.675062,32.411025],[102.675479,32.41117],[102.675895,32.411314],[102.676222,32.411469],[102.676549,32.411623],[102.676876,32.411777],[102.677078,32.411893],[102.67728,32.412008],[102.677561,32.412203],[102.677807,32.41246],[102.677809,32.412461],[102.677812,32.412462],[102.677836,32.412491],[102.677928,32.412587],[102.678049,32.412737],[102.678114,32.412865],[102.678114,32.412866],[102.678114,32.412867],[102.678114,32.412868],[102.678128,32.413001],[102.678128,32.413144],[102.678099,32.413379],[102.678002,32.413628],[102.677968,32.413716],[102.677905,32.413876],[102.677892,32.413908],[102.677769,32.414159],[102.677728,32.414243],[102.677693,32.414457],[102.677711,32.414723],[102.67773,32.414988],[102.67775,32.415283],[102.677771,32.415578],[102.677764,32.415849],[102.677757,32.416121],[102.677785,32.416363],[102.677885,32.416649],[102.677985,32.416863],[102.678266,32.41705],[102.678328,32.417091],[102.678635,32.417245],[102.678942,32.417398],[102.679249,32.417552],[102.679556,32.417705],[102.679913,32.417873],[102.68027,32.418041],[102.680626,32.418209],[102.680983,32.418376],[102.68135,32.418567],[102.681716,32.418757],[102.682083,32.418947],[102.682259,32.419093],[102.682509,32.419298],[102.682758,32.419504],[102.682967,32.419772],[102.683175,32.42004],[102.683238,32.420119],[102.683455,32.42039],[102.683672,32.420661],[102.683774,32.420788],[102.683889,32.420932],[102.684031,32.421086],[102.684044,32.421089],[102.684281,32.421134],[102.684376,32.421134],[102.684797,32.421019],[102.685217,32.420904],[102.685638,32.420789],[102.686011,32.420668],[102.686385,32.420546],[102.686758,32.420425],[102.68685,32.420395],[102.687132,32.420304],[102.687505,32.420182],[102.687749,32.420135],[102.687993,32.420087],[102.68835,32.419992],[102.688493,32.419968],[102.688719,32.419968],[102.688814,32.419956],[102.688945,32.419992],[102.6891,32.420123],[102.689442,32.420346],[102.689784,32.420569],[102.690126,32.420792],[102.690468,32.421015],[102.690801,32.421217],[102.691134,32.42142],[102.691274,32.421497],[102.691484,32.421613],[102.691693,32.421729],[102.692098,32.421833],[102.692503,32.421937],[102.692621,32.421967],[102.692907,32.422106],[102.693192,32.422244],[102.693478,32.422383],[102.693728,32.422502],[102.693978,32.422621],[102.694186,32.422794],[102.694394,32.422966],[102.694602,32.423169],[102.69481,32.423371],[102.695032,32.423625],[102.695255,32.423878],[102.695477,32.424132],[102.695534,32.424226],[102.695687,32.424475],[102.695897,32.424818],[102.696107,32.425161],[102.696317,32.425504],[102.696528,32.425847],[102.696738,32.42619],[102.69691,32.426488],[102.697083,32.426785],[102.697255,32.427083],[102.697428,32.42738],[102.697614,32.427725],[102.69765,32.427791],[102.697801,32.42807],[102.697987,32.428415],[102.69803,32.428514],[102.698165,32.428826],[102.698344,32.429236],[102.698395,32.42936],[102.698451,32.429498],[102.698592,32.4296],[102.698665,32.429653],[102.698903,32.429772],[102.699045,32.429819],[102.699248,32.429888],[102.699333,32.429916],[102.699593,32.430004],[102.699938,32.43012],[102.700283,32.430236],[102.700622,32.430432],[102.700961,32.430628],[102.701239,32.430747],[102.701517,32.430866],[102.701794,32.430985],[102.702205,32.431122],[102.702615,32.431259],[102.70283,32.431348],[102.702972,32.431407],[102.703329,32.431556],[102.703597,32.431723],[102.703864,32.431889],[102.704114,32.432187],[102.704441,32.432395],[102.704768,32.432603],[102.705113,32.432799],[102.705458,32.432996],[102.70583,32.433128],[102.706078,32.433216],[102.706327,32.433305],[102.706583,32.433454],[102.706839,32.433602],[102.707005,32.43365],[102.707219,32.433626],[102.707517,32.433495],[102.707722,32.433447],[102.707921,32.4334],[102.708225,32.433376],[102.708528,32.433353],[102.708814,32.433394],[102.709099,32.433436],[102.709504,32.433567],[102.709849,32.433769],[102.709854,32.433775],[102.710027,32.433971],[102.710164,32.434257],[102.710301,32.434542],[102.710432,32.43478],[102.710562,32.435018],[102.710729,32.43522],[102.710979,32.43528],[102.711324,32.435399],[102.711669,32.435518],[102.711851,32.435626],[102.712131,32.43578],[102.712411,32.435934],[102.712545,32.43601],[102.712649,32.436172],[102.712802,32.436515],[102.712954,32.436858],[102.713055,32.437082],[102.713157,32.437307],[102.713268,32.437552],[102.713411,32.437943],[102.713468,32.438142],[102.713531,32.43825],[102.713601,32.438371],[102.713815,32.438656],[102.714029,32.438942],[102.714291,32.439204],[102.714553,32.439465],[102.71491,32.439689],[102.715031,32.439765],[102.715267,32.439913],[102.715476,32.440022],[102.715685,32.440132],[102.715847,32.440265],[102.715876,32.44037],[102.715919,32.440665],[102.715961,32.44096],[102.715985,32.441279],[102.716009,32.441597],[102.715985,32.441761],[102.715971,32.441854],[102.715941,32.442132],[102.715913,32.442383],[102.715885,32.442635],[102.715886,32.442638],[102.715923,32.442844],[102.715941,32.442876],[102.716038,32.443054],[102.716223,32.443249],[102.716409,32.443444],[102.716605,32.44371],[102.716802,32.443977],[102.716999,32.444243],[102.717132,32.444481],[102.717208,32.444843],[102.71724,32.445259],[102.717272,32.445674],[102.717303,32.44609],[102.717367,32.446509],[102.71743,32.446927],[102.717494,32.447346],[102.717583,32.44766],[102.717671,32.447974],[102.71776,32.448288],[102.717804,32.448405],[102.717855,32.448545],[102.717989,32.448717],[102.718112,32.448888],[102.718465,32.449107],[102.718574,32.449179],[102.718757,32.449301],[102.719048,32.449494],[102.71934,32.449688],[102.719349,32.449691],[102.719621,32.449784],[102.719892,32.449878],[102.720268,32.449987],[102.720644,32.450097],[102.721015,32.450282],[102.721127,32.450338],[102.721387,32.450468],[102.721526,32.450524],[102.721608,32.450567],[102.721796,32.450678],[102.721824,32.450706],[102.721862,32.450868],[102.721834,32.451011],[102.721672,32.451229],[102.721577,32.451448],[102.721558,32.451734],[102.721558,32.451953],[102.721434,32.452324],[102.721305,32.452689],[102.721175,32.453055],[102.72112,32.453209],[102.720992,32.453533],[102.720863,32.453856],[102.720787,32.454113],[102.720673,32.454313],[102.720494,32.454394],[102.720378,32.454447],[102.720159,32.454542],[102.719987,32.454713],[102.719792,32.454999],[102.71979,32.455001],[102.719642,32.455218],[102.719597,32.455284],[102.719437,32.455552],[102.719276,32.455819],[102.719116,32.456087],[102.719026,32.456236],[102.718879,32.456474],[102.718731,32.456712],[102.718598,32.45694],[102.718512,32.457131],[102.718512,32.457245],[102.718655,32.45733],[102.718971,32.457495],[102.718778,32.457557],[102.718069,32.457644],[102.717122,32.45786],[102.715839,32.458306],[102.7153,32.458493],[102.713919,32.458767],[102.712851,32.459081],[102.711503,32.459589],[102.709838,32.460224],[102.708442,32.461098],[102.70796,32.461391],[102.707743,32.461523],[102.707325,32.461777],[102.705837,32.462569],[102.705694,32.462646],[102.70442,32.463321],[102.703025,32.464161],[102.702303,32.464747],[102.701285,32.464629],[102.699758,32.464468],[102.698109,32.464471],[102.696979,32.464118],[102.696354,32.464006],[102.696304,32.464007],[102.694665,32.464042],[102.693445,32.464153],[102.691914,32.464125],[102.691043,32.464409],[102.689386,32.464744],[102.688008,32.464885],[102.686659,32.465427],[102.685268,32.4661],[102.683992,32.466842],[102.682959,32.467322],[102.681996,32.468137],[102.680831,32.469147],[102.680198,32.469335],[102.679673,32.468394],[102.679419,32.467557],[102.678424,32.466573],[102.677165,32.465119],[102.676399,32.464406],[102.675509,32.46389],[102.673834,32.46336],[102.672971,32.463344],[102.671747,32.463587],[102.671317,32.463546],[102.671691,32.462721],[102.671722,32.461523],[102.67209,32.459433],[102.672349,32.458506],[102.672094,32.457769],[102.671048,32.457217],[102.669418,32.456488],[102.667513,32.455754],[102.666433,32.455002],[102.665082,32.454111],[102.66374,32.452888],[102.662891,32.452306],[102.662136,32.452314],[102.661713,32.452318],[102.66137,32.452311],[102.660497,32.452295],[102.659429,32.452575],[102.658992,32.4528],[102.65831,32.453353],[102.657613,32.454505],[102.656853,32.455057],[102.655635,32.455067],[102.654573,32.455181],[102.652817,32.456279],[102.651823,32.45676],[102.648767,32.458034],[102.648555,32.458134],[102.646926,32.45709],[102.645651,32.456373],[102.644645,32.455777],[102.643154,32.455518],[102.642086,32.455336],[102.642062,32.454784],[102.641667,32.453802],[102.64168,32.453283],[102.641417,32.453083],[102.640118,32.452994],[102.639168,32.452684],[102.638217,32.452438],[102.637417,32.452261],[102.636745,32.451631],[102.635926,32.450707],[102.635334,32.449916],[102.634595,32.448896],[102.634037,32.448268],[102.633699,32.448002],[102.633019,32.447665],[102.632531,32.447266],[102.631846,32.447091],[102.630589,32.44684],[102.629403,32.446785],[102.628138,32.446858],[102.627704,32.447337],[102.627062,32.448116],[102.626764,32.448476],[102.626755,32.448488],[102.626744,32.448499],[102.626046,32.449222],[102.625449,32.450087],[102.625067,32.450048],[102.624124,32.44951],[102.623403,32.449237],[102.622301,32.448924],[102.62145,32.448637],[102.620972,32.448476],[102.619525,32.448157],[102.619196,32.448167],[102.618222,32.448197],[102.618083,32.448202],[102.61711,32.448241],[102.61585,32.44812],[102.61501,32.448087],[102.614386,32.448063],[102.614205,32.448056],[102.61394,32.447994],[102.61341,32.447871],[102.612682,32.447702],[102.61112,32.447413],[102.609444,32.447056],[102.607959,32.446736],[102.606124,32.446636],[102.604169,32.446696],[102.603164,32.447034],[102.601913,32.448017],[102.601593,32.44829],[102.601388,32.448466],[102.601208,32.44862],[102.600517,32.448672],[102.599369,32.448618],[102.599103,32.44862],[102.598918,32.448621],[102.598772,32.448623],[102.598182,32.448628],[102.596761,32.448763],[102.596137,32.449205],[102.595746,32.44949],[102.59475,32.449504],[102.59391,32.449423],[102.593035,32.449211],[102.592622,32.448911],[102.592072,32.447959],[102.591138,32.447097],[102.589935,32.446262],[102.588311,32.445386],[102.586495,32.444572],[102.584527,32.44369],[102.583009,32.443174],[102.581255,32.442913],[102.580868,32.44287],[102.579498,32.442717],[102.579065,32.44266],[102.577781,32.442489],[102.576027,32.442228],[102.574966,32.441786],[102.573031,32.441131],[102.571286,32.440513],[102.569919,32.440065],[102.567794,32.439374],[102.566501,32.439025],[102.565743,32.438718],[102.565107,32.438186],[102.564399,32.437458],[102.563736,32.436471],[102.562842,32.435544],[102.562561,32.434597],[102.562118,32.434004],[102.561318,32.433826],[102.560255,32.433513],[102.558222,32.432841],[102.556984,32.432157],[102.556042,32.431289],[102.553949,32.429358],[102.553757,32.429224],[102.55254,32.428367],[102.550491,32.426704],[102.548578,32.425304],[102.548572,32.4253],[102.548567,32.425296],[102.548552,32.425285],[102.548521,32.425262],[102.548496,32.425244],[102.548491,32.425241],[102.54848,32.425234],[102.548362,32.425162],[102.5482,32.425063],[102.546613,32.424091],[102.54649,32.42401],[102.546463,32.423992],[102.544321,32.422575],[102.543751,32.422217],[102.543321,32.421947],[102.540902,32.420733],[102.538959,32.419788],[102.538835,32.419728],[102.538407,32.419519],[102.536887,32.418777],[102.535523,32.418344],[102.534512,32.418121],[102.534201,32.418159],[102.533943,32.418191],[102.533156,32.418286],[102.532712,32.41834],[102.532553,32.418385],[102.531386,32.41872],[102.529342,32.419085],[102.528362,32.419155],[102.527846,32.419192],[102.527664,32.419205],[102.526508,32.419228],[102.52509,32.419256],[102.523884,32.419232],[102.523122,32.419217],[102.521922,32.419193],[102.520065,32.419258],[102.518846,32.419234],[102.518773,32.419233],[102.516419,32.419186],[102.513727,32.419184],[102.512634,32.419771],[102.511778,32.420464],[102.511402,32.421066],[102.511323,32.421215],[102.511263,32.421327],[102.511246,32.421359],[102.511236,32.421379],[102.511223,32.421402],[102.510749,32.422294],[102.510708,32.422371],[102.510669,32.423791],[102.511394,32.425733],[102.512401,32.428239],[102.513938,32.43111],[102.514308,32.432894],[102.514031,32.434258],[102.513027,32.435963],[102.511793,32.437308],[102.510628,32.438351],[102.509176,32.438931],[102.507601,32.43961],[102.506141,32.440494],[102.50465,32.442494],[102.502618,32.444584],[102.501934,32.445535],[102.501265,32.445927],[102.500299,32.446213],[102.499732,32.447445],[102.498921,32.448001],[102.496884,32.448531],[102.495789,32.44825],[102.494777,32.447191],[102.493962,32.445668],[102.493447,32.444359],[102.492802,32.443308],[102.492528,32.44216],[102.492023,32.440487],[102.491511,32.439075],[102.491415,32.438086],[102.491259,32.437096],[102.490313,32.435882],[102.488331,32.43444],[102.487322,32.433277],[102.48649,32.432378],[102.485528,32.431735],[102.484503,32.431143],[102.48343,32.430083],[102.482739,32.428511],[102.482403,32.427362],[102.481591,32.425735],[102.481169,32.423285],[102.480743,32.420991],[102.480725,32.419433],[102.480701,32.418082],[102.480625,32.416418],[102.480722,32.415121],[102.481419,32.412071],[102.481512,32.41093],[102.481502,32.409111],[102.481535,32.407917],[102.481934,32.406782],[102.481957,32.405952],[102.481929,32.404757],[102.482146,32.403566],[102.48292,32.402127],[102.483981,32.401421],[102.485717,32.400625],[102.487793,32.39864],[102.488665,32.398086],[102.48943,32.397011],[102.490508,32.395682],[102.490781,32.394648],[102.490756,32.393349],[102.490554,32.391787],[102.490778,32.390337],[102.491056,32.386914],[102.491462,32.385519],[102.491141,32.383851],[102.491049,32.382758],[102.490598,32.381346],[102.490509,32.38015],[102.490542,32.378956],[102.490394,32.377654],[102.488845,32.376117],[102.488027,32.374698],[102.487249,32.374059],[102.486154,32.37383],[102.486108,32.373257],[102.486269,32.371858],[102.486611,32.370566],[102.48628,32.369261],[102.485027,32.368093],[102.484561,32.367252],[102.483433,32.365983],[102.482675,32.364617],[102.482273,32.363674],[102.482135,32.362009],[102.482039,32.361072],[102.481338,32.359864],[102.480688,32.359019],[102.479785,32.358482],[102.478407,32.357402],[102.476598,32.356457],[102.475767,32.356051],[102.47458,32.354728],[102.473468,32.353472],[102.472326,32.353254],[102.471258,32.353168],[102.470661,32.353029],[102.470346,32.352955],[102.468904,32.352536],[102.467467,32.351923],[102.466106,32.351376],[102.464668,32.350827],[102.462705,32.349879],[102.460597,32.348667],[102.458786,32.347787],[102.458579,32.347678],[102.456977,32.346841],[102.455953,32.34682],[102.455753,32.346816],[102.454523,32.347051],[102.454496,32.347052],[102.454452,32.347055],[102.453604,32.347097],[102.451698,32.346864],[102.450859,32.346782],[102.450575,32.346601],[102.45045,32.346521],[102.450444,32.346518],[102.450239,32.346387],[102.449807,32.346111],[102.449363,32.346021],[102.449228,32.346117],[102.449219,32.346108],[102.449134,32.346058],[102.448742,32.345895],[102.447984,32.345262],[102.447546,32.344897],[102.44698,32.343262],[102.446265,32.341494],[102.445203,32.33947],[102.444765,32.338635],[102.444755,32.338616],[102.444737,32.338582],[102.444719,32.338546],[102.444639,32.338395],[102.444552,32.338229],[102.441805,32.337214],[102.441275,32.337018],[102.441245,32.337007],[102.441061,32.336939],[102.440769,32.336831],[102.43883,32.336226],[102.438076,32.335918],[102.437753,32.335786],[102.437611,32.335728],[102.437505,32.335685],[102.437468,32.33567],[102.437419,32.335626],[102.437413,32.33562],[102.437005,32.335257],[102.436948,32.335206],[102.436784,32.334713],[102.437072,32.333964],[102.437296,32.333477],[102.437515,32.332959],[102.437551,32.331684],[102.437254,32.330243],[102.437252,32.330237],[102.437211,32.330039],[102.437177,32.32987],[102.43713,32.329646],[102.437047,32.329495],[102.436936,32.329295],[102.43685,32.329139],[102.436744,32.328948],[102.436634,32.32875],[102.436548,32.328594],[102.436481,32.328474],[102.436415,32.328355],[102.436403,32.328213],[102.436392,32.328078],[102.436313,32.327135],[102.435728,32.326079],[102.435735,32.325853],[102.435736,32.325798],[102.435756,32.325081],[102.435761,32.324933],[102.435784,32.324108],[102.435787,32.324072],[102.435809,32.32385],[102.43588,32.323124],[102.435498,32.322131],[102.435123,32.320905],[102.434873,32.320088],[102.434672,32.319572],[102.434554,32.31927],[102.434412,32.318963],[102.434182,32.318469],[102.434105,32.318304],[102.433846,32.317747],[102.433206,32.316368],[102.433116,32.315485],[102.432948,32.314634],[102.432878,32.313389],[102.432877,32.313361],[102.432877,32.313359],[102.432875,32.313349],[102.432875,32.313348],[102.432874,32.313331],[102.432871,32.313262],[102.432873,32.31325],[102.432892,32.313138],[102.43301,32.312416],[102.433662,32.311092],[102.434185,32.310287],[102.434708,32.309417],[102.435152,32.308676],[102.435335,32.307636],[102.435919,32.305984],[102.436223,32.30475],[102.436339,32.30335],[102.436629,32.302605],[102.436964,32.301633],[102.436959,32.300459],[102.436929,32.298794],[102.437037,32.297687],[102.437007,32.297452],[102.436785,32.295692],[102.436772,32.295461],[102.436747,32.295033],[102.436708,32.294353],[102.436507,32.293305],[102.436316,32.291898],[102.436036,32.290947],[102.435917,32.289704],[102.436169,32.288678],[102.436182,32.288624],[102.436194,32.288578],[102.436202,32.288543],[102.436235,32.288407],[102.436307,32.288114],[102.436334,32.287824],[102.436342,32.287743],[102.436418,32.286909],[102.436614,32.285412],[102.43739,32.283764],[102.437437,32.283638],[102.437464,32.283566],[102.437639,32.283096],[102.437764,32.28276],[102.438077,32.281961],[102.438138,32.281807],[102.438715,32.280333],[102.4387,32.279674],[102.438698,32.279582],[102.438861,32.278874],[102.438884,32.278774],[102.438982,32.278347],[102.439004,32.278251],[102.439146,32.278018],[102.439512,32.277416],[102.439729,32.277058],[102.440042,32.276506],[102.440265,32.276111],[102.440295,32.276059],[102.441318,32.275166],[102.442267,32.274206],[102.442676,32.273379],[102.442715,32.273302],[102.442814,32.272488],[102.443153,32.271353],[102.443212,32.270637],[102.443232,32.269919],[102.443138,32.269167],[102.443246,32.268412],[102.443258,32.268332],[102.443329,32.267833],[102.44334,32.267658],[102.443397,32.266791],[102.443412,32.266237],[102.443079,32.265806],[102.442676,32.265112],[102.441852,32.264378],[102.441138,32.263809],[102.440476,32.262784],[102.439117,32.261941],[102.438684,32.260953],[102.438684,32.260652],[102.438684,32.260357],[102.438685,32.25955],[102.438666,32.259208],[102.438634,32.258636],[102.438868,32.258063],[102.438964,32.257827],[102.439515,32.257349],[102.439681,32.256895],[102.439581,32.256575],[102.439525,32.256395],[102.439364,32.255878],[102.438638,32.254395],[102.438405,32.253118],[102.438039,32.252164],[102.437815,32.251581],[102.437761,32.251441],[102.43736,32.250654],[102.437106,32.250155],[102.437021,32.249991],[102.43699,32.24993],[102.436342,32.248671],[102.436359,32.248052],[102.4364,32.247982],[102.436461,32.247878],[102.436559,32.247711],[102.436687,32.247494],[102.436843,32.247229],[102.437004,32.246956],[102.437136,32.246815],[102.43739,32.246546],[102.437637,32.246283],[102.437652,32.246254],[102.437776,32.246008],[102.437881,32.245799],[102.437759,32.245448],[102.437653,32.245144],[102.437561,32.244879],[102.437409,32.244509],[102.437305,32.244257],[102.43712,32.243808],[102.436897,32.243267],[102.436716,32.242829],[102.436598,32.242544],[102.436524,32.242362],[102.436425,32.242124],[102.436197,32.24157],[102.436012,32.241121],[102.435746,32.240476],[102.435513,32.239911],[102.43535,32.239616],[102.435111,32.239185],[102.434893,32.238843],[102.43467,32.238491],[102.434286,32.238198],[102.433961,32.237949],[102.433618,32.237687],[102.433231,32.237395],[102.432801,32.237072],[102.432415,32.236781],[102.431821,32.236423],[102.431154,32.23602],[102.430659,32.235721],[102.430175,32.235429],[102.429741,32.235167],[102.429395,32.234958],[102.428998,32.234783],[102.428598,32.234556],[102.428109,32.234279],[102.427614,32.234056],[102.427028,32.233792],[102.426517,32.233562],[102.426057,32.233454],[102.425297,32.233276],[102.424565,32.233198],[102.424149,32.233154],[102.42345,32.23314],[102.422776,32.233126],[102.422269,32.233116],[102.421705,32.233208],[102.421206,32.23329],[102.420495,32.233406],[102.419798,32.23362],[102.419399,32.233719],[102.419766,32.23299],[102.420302,32.231677],[102.420339,32.230355],[102.420318,32.230043],[102.420208,32.228394],[102.419875,32.226958],[102.419912,32.225636],[102.419688,32.224732],[102.419273,32.223626],[102.419167,32.223345],[102.419013,32.222177],[102.418602,32.221322],[102.417815,32.220512],[102.417531,32.219554],[102.417613,32.218867],[102.418141,32.21782],[102.418535,32.217087],[102.419814,32.215896],[102.419914,32.215689],[102.419942,32.215631],[102.420144,32.215214],[102.420069,32.215005],[102.420014,32.214855],[102.419855,32.214414],[102.419601,32.214079],[102.419035,32.213332],[102.418648,32.212336],[102.417692,32.211151],[102.417605,32.211043],[102.417051,32.210043],[102.416984,32.209705],[102.416927,32.209422],[102.416782,32.208527],[102.416637,32.207632],[102.416547,32.20681],[102.416104,32.206066],[102.415356,32.204808],[102.414411,32.204114],[102.413637,32.203423],[102.413632,32.203286],[102.413614,32.202796],[102.413605,32.202554],[102.413513,32.202148],[102.413353,32.20144],[102.41318,32.201208],[102.412911,32.200846],[102.41282,32.200724],[102.412705,32.200569],[102.412587,32.20041],[102.412478,32.200265],[102.412438,32.200171],[102.412379,32.200033],[102.412318,32.199855],[102.412229,32.199627],[102.412156,32.199442],[102.412074,32.199232],[102.412002,32.199049],[102.411959,32.19887],[102.411933,32.198756],[102.411898,32.198606],[102.411863,32.198457],[102.4118,32.198187],[102.411547,32.19711],[102.411356,32.196353],[102.411247,32.19592],[102.410986,32.194881],[102.410968,32.19354],[102.410968,32.19353],[102.410954,32.19333],[102.410847,32.191792],[102.410594,32.190966],[102.410432,32.190433],[102.410091,32.189611],[102.409848,32.189023],[102.40958,32.188638],[102.409432,32.188425],[102.409318,32.188261],[102.409303,32.18824],[102.408992,32.187221],[102.408253,32.185277],[102.407528,32.184828],[102.406406,32.184419],[102.40533,32.184349],[102.404833,32.183904],[102.404709,32.183709],[102.404692,32.183682],[102.404271,32.183019],[102.404182,32.182879],[102.403964,32.182536],[102.403043,32.181022],[102.402338,32.179899],[102.401627,32.178968],[102.40031,32.177446],[102.399263,32.176363],[102.398376,32.17567],[102.396988,32.174629],[102.395433,32.173487],[102.394544,32.172842],[102.393159,32.171705],[102.391037,32.170552],[102.388857,32.169446],[102.387477,32.168163],[102.387211,32.167531],[102.387169,32.167444],[102.387355,32.167478],[102.387528,32.167489],[102.387694,32.167454],[102.387903,32.167376],[102.388093,32.16724],[102.388224,32.167008],[102.388378,32.166609],[102.388468,32.16635],[102.388557,32.166092],[102.388557,32.165741],[102.388483,32.165467],[102.388408,32.165193],[102.388269,32.16492],[102.38813,32.164646],[102.388069,32.164527],[102.387938,32.164343],[102.387807,32.164158],[102.387665,32.163944],[102.387522,32.16373],[102.387385,32.163343],[102.387296,32.163086],[102.387208,32.162829],[102.387141,32.162635],[102.387037,32.16243],[102.386933,32.162225],[102.386927,32.161945],[102.386992,32.161577],[102.387023,32.16152],[102.387153,32.161285],[102.387266,32.161035],[102.387349,32.160782],[102.38745,32.16047],[102.387474,32.160232],[102.387456,32.159982],[102.387385,32.159792],[102.387364,32.159737],[102.387278,32.159506],[102.387278,32.159268],[102.387278,32.159031],[102.387278,32.158644],[102.38729,32.158394],[102.387302,32.158144],[102.38739,32.157894],[102.387478,32.157644],[102.387522,32.15752],[102.387599,32.157151],[102.387641,32.156871],[102.387635,32.156759],[102.387629,32.156657],[102.387605,32.156422],[102.387581,32.156187],[102.387599,32.156032],[102.387676,32.155902],[102.387885,32.155705],[102.388194,32.15539],[102.388372,32.15517],[102.388408,32.155039],[102.388551,32.154753],[102.388735,32.154504],[102.388902,32.154349],[102.388932,32.154312],[102.388958,32.154279],[102.389229,32.153944],[102.389515,32.153724],[102.389735,32.153451],[102.389961,32.153284],[102.390127,32.153058],[102.390252,32.152838],[102.390336,32.152707],[102.390371,32.152546],[102.390371,32.152404],[102.390318,32.152094],[102.390264,32.151785],[102.390264,32.151601],[102.390217,32.151398],[102.390062,32.151214],[102.38983,32.15103],[102.389598,32.150845],[102.389598,32.150845],[102.38936,32.150685],[102.389289,32.150625],[102.389267,32.15048],[102.389235,32.150268],[102.389283,32.149822],[102.389238,32.149557],[102.389193,32.149293],[102.389125,32.149019],[102.389057,32.148745],[102.389068,32.148608],[102.389098,32.148537],[102.38917,32.148489],[102.389515,32.148388],[102.389729,32.148308],[102.389943,32.148228],[102.390108,32.148185],[102.390377,32.148115],[102.390432,32.148112],[102.39074,32.148097],[102.391008,32.148133],[102.39121,32.148139],[102.391472,32.148097],[102.391766,32.148008],[102.392061,32.147918],[102.392459,32.14785],[102.392858,32.147782],[102.39323,32.147683],[102.393601,32.147585],[102.394024,32.147496],[102.394458,32.147383],[102.394862,32.147222],[102.395112,32.147008],[102.395231,32.146788],[102.395321,32.146479],[102.395333,32.146349],[102.395369,32.145991],[102.395404,32.145634],[102.395422,32.145361],[102.395535,32.145013],[102.395648,32.144665],[102.395802,32.144349],[102.395892,32.144117],[102.395892,32.143757],[102.395892,32.143397],[102.395945,32.143035],[102.396022,32.142862],[102.396124,32.142761],[102.396326,32.142654],[102.396458,32.142588],[102.39679,32.142422],[102.396998,32.142345],[102.397171,32.142339],[102.397309,32.142365],[102.397355,32.142374],[102.397522,32.142434],[102.39764,32.142446],[102.397861,32.142428],[102.398096,32.142356],[102.398331,32.142285],[102.398705,32.142166],[102.398961,32.142047],[102.399205,32.141988],[102.399479,32.141898],[102.399776,32.141768],[102.399961,32.141698],[102.400091,32.141649],[102.400401,32.141536],[102.40074,32.141488],[102.400978,32.141428],[102.401293,32.141256],[102.401513,32.141149],[102.401733,32.141042],[102.402138,32.140887],[102.402459,32.140798],[102.402634,32.140637],[102.40281,32.140477],[102.402991,32.140254],[102.403173,32.140031],[102.403446,32.139697],[102.403571,32.13937],[102.403666,32.138966],[102.403747,32.138524],[102.403828,32.138082],[102.403846,32.137999],[102.403903,32.137736],[102.403935,32.137371],[102.404,32.137172],[102.404022,32.137138],[102.404117,32.136993],[102.404264,32.136822],[102.40441,32.13665],[102.404567,32.136408],[102.404724,32.136165],[102.405028,32.135847],[102.405095,32.135756],[102.40516,32.135669],[102.405238,32.135483],[102.405252,32.135351],[102.405299,32.135259],[102.405374,32.135255],[102.405481,32.135269],[102.405566,32.135291],[102.405616,32.135312],[102.405789,32.135348],[102.405938,32.135383],[102.406051,32.135461],[102.406134,32.135496],[102.406223,32.13552],[102.406378,32.135538],[102.406574,32.13555],[102.406818,32.135598],[102.407074,32.135675],[102.407229,32.135705],[102.407417,32.135705],[102.407603,32.13568],[102.407845,32.135648],[102.408088,32.135616],[102.408348,32.135606],[102.408608,32.135595],[102.408869,32.135585],[102.409129,32.135574],[102.409514,32.13553],[102.409884,32.135487],[102.41013,32.13542],[102.410375,32.135354],[102.410488,32.135282],[102.410566,32.13514],[102.410619,32.135021],[102.410738,32.134967],[102.410946,32.134967],[102.411101,32.135021],[102.41122,32.13514],[102.411369,32.135235],[102.411506,32.135282],[102.411874,32.135342],[102.412243,32.135401],[102.412535,32.135434],[102.412666,32.135449],[102.412957,32.135491],[102.413314,32.135693],[102.413558,32.135865],[102.413654,32.136022],[102.413796,32.136252],[102.413927,32.136612],[102.414058,32.136972],[102.414257,32.137262],[102.414456,32.137552],[102.414462,32.137561],[102.414617,32.137715],[102.414736,32.137787],[102.414873,32.137864],[102.415057,32.137894],[102.415417,32.138001],[102.415777,32.138108],[102.416205,32.138173],[102.416336,32.138179],[102.416526,32.138167],[102.416806,32.138096],[102.417234,32.138066],[102.417549,32.138025],[102.417712,32.13802],[102.418136,32.138007],[102.418561,32.137995],[102.418858,32.138007],[102.419072,32.138072],[102.419179,32.13815],[102.41928,32.13834],[102.41934,32.138377],[102.41941,32.138421],[102.419674,32.138564],[102.420003,32.138635],[102.42022,32.138667],[102.420338,32.138685],[102.420406,32.138693],[102.420681,32.138728],[102.420981,32.138756],[102.421209,32.138735],[102.421437,32.138678],[102.421759,32.138728],[102.421923,32.138835],[102.42213,32.13902],[102.422401,32.139177],[102.42263,32.139335],[102.422972,32.139484],[102.423179,32.139542],[102.423415,32.139777],[102.423661,32.139955],[102.423938,32.140155],[102.424214,32.140355],[102.424443,32.140473],[102.424671,32.140591],[102.424892,32.140719],[102.425042,32.140762],[102.425406,32.140841],[102.42577,32.140798],[102.425899,32.140698],[102.42602,32.140441],[102.426183,32.140161],[102.426199,32.140134],[102.426497,32.13987],[102.426796,32.139606],[102.427094,32.139342],[102.427392,32.139078],[102.427691,32.138813],[102.427878,32.138647],[102.428066,32.138482],[102.428312,32.138264],[102.428554,32.137982],[102.428797,32.1377],[102.429,32.137336],[102.429111,32.137136],[102.429354,32.136879],[102.429697,32.136636],[102.430018,32.136472],[102.430308,32.136363],[102.430598,32.136253],[102.430889,32.136144],[102.431205,32.136025],[102.431522,32.135906],[102.431838,32.135787],[102.432107,32.135639],[102.432376,32.135492],[102.432645,32.135344],[102.432852,32.135116],[102.433059,32.134887],[102.433284,32.134627],[102.433508,32.134366],[102.433662,32.134145],[102.433815,32.133924],[102.434046,32.133729],[102.434277,32.133533],[102.434508,32.133338],[102.434851,32.133081],[102.43515,32.133081],[102.435429,32.133096],[102.435821,32.133074],[102.436082,32.133059],[102.436314,32.133046],[102.436571,32.133003],[102.436935,32.132953],[102.437231,32.132899],[102.437527,32.132846],[102.437824,32.132757],[102.43812,32.132667],[102.438434,32.132477],[102.438748,32.132287],[102.439062,32.132096],[102.439419,32.131868],[102.439776,32.131639],[102.439976,32.131486],[102.440176,32.131332],[102.440368,32.13099],[102.440383,32.130633],[102.440383,32.130269],[102.440354,32.129998],[102.440254,32.129783],[102.44039,32.129498],[102.44049,32.129319],[102.440504,32.129227],[102.440461,32.129062],[102.440297,32.128805],[102.44023,32.128738],[102.440097,32.128606],[102.439933,32.128527],[102.439862,32.128434],[102.439776,32.128199],[102.43969,32.12796],[102.439605,32.12772],[102.439565,32.127496],[102.439526,32.127271],[102.4395,32.127214],[102.439401,32.127035],[102.439281,32.126817],[102.438974,32.126494],[102.438667,32.12617],[102.438505,32.125999],[102.438343,32.125828],[102.438181,32.125657],[102.438018,32.125486],[102.437856,32.125315],[102.437694,32.125144],[102.437643,32.125111],[102.437358,32.124932],[102.437073,32.124753],[102.436834,32.124669],[102.436596,32.124585],[102.436377,32.124455],[102.436308,32.124264],[102.436407,32.124045],[102.436506,32.123826],[102.436685,32.123624],[102.436864,32.123422],[102.437043,32.123221],[102.437221,32.123019],[102.4374,32.122817],[102.437579,32.122615],[102.437725,32.122397],[102.43787,32.122179],[102.438035,32.121933],[102.438285,32.1217],[102.438536,32.121467],[102.438639,32.121389],[102.438736,32.121315],[102.438984,32.121086],[102.43906,32.120763],[102.439079,32.120511],[102.439098,32.120258],[102.43912,32.120108],[102.439167,32.119792],[102.439214,32.119476],[102.439203,32.119166],[102.43915,32.118934],[102.439143,32.118904],[102.43906,32.118571],[102.439131,32.118197],[102.439203,32.117822],[102.439274,32.117596],[102.439345,32.11737],[102.439512,32.117156],[102.439726,32.117048],[102.43994,32.116941],[102.440285,32.116822],[102.44046,32.116807],[102.44069,32.116787],[102.441005,32.116822],[102.44132,32.116858],[102.44153,32.116767],[102.441741,32.116676],[102.442095,32.116399],[102.442449,32.116122],[102.442716,32.115989],[102.442984,32.115855],[102.443103,32.115849],[102.443258,32.115885],[102.443371,32.115944],[102.443555,32.115986],[102.443799,32.116039],[102.443948,32.116057],[102.444186,32.116093],[102.444388,32.116099],[102.444389,32.116099],[102.44439,32.1161],[102.444548,32.116176],[102.444691,32.116277],[102.444858,32.116456],[102.444983,32.116634],[102.445274,32.116842],[102.445595,32.117068],[102.445881,32.117202],[102.446166,32.117336],[102.446378,32.117479],[102.446589,32.117622],[102.446922,32.117842],[102.447166,32.117883],[102.447493,32.117836],[102.447707,32.117806],[102.448058,32.117812],[102.448415,32.117859],[102.448576,32.117854],[102.448837,32.117804],[102.448921,32.117788],[102.449147,32.117776],[102.449373,32.117764],[102.449783,32.117782],[102.450194,32.117824],[102.45058,32.117919],[102.450884,32.11802],[102.451005,32.118055],[102.45111,32.118086],[102.451264,32.118086],[102.451455,32.118032],[102.451669,32.117984],[102.451923,32.117786],[102.452177,32.117588],[102.45243,32.11739],[102.452567,32.117265],[102.45257,32.117248],[102.452597,32.117098],[102.452591,32.116872],[102.452591,32.116711],[102.45265,32.116503],[102.452817,32.116283],[102.452984,32.116063],[102.453177,32.11587],[102.45337,32.115676],[102.453715,32.115522],[102.453938,32.115438],[102.454161,32.115355],[102.454322,32.115273],[102.454646,32.115106],[102.45497,32.114939],[102.455318,32.114745],[102.455666,32.114552],[102.45597,32.114362],[102.456136,32.1141],[102.456184,32.11388],[102.456184,32.113851],[102.456184,32.113648],[102.456184,32.113422],[102.456285,32.113148],[102.456422,32.112976],[102.45669,32.112809],[102.457076,32.112583],[102.457317,32.112321],[102.457558,32.11206],[102.45778,32.111802],[102.457927,32.111631],[102.458147,32.111334],[102.458367,32.111036],[102.458617,32.110665],[102.458867,32.110293],[102.459049,32.110132],[102.459232,32.109972],[102.459421,32.109805],[102.45961,32.109638],[102.459848,32.109496],[102.460134,32.109436],[102.460425,32.109436],[102.460654,32.109484],[102.460883,32.109531],[102.460894,32.109532],[102.461199,32.109561],[102.461395,32.109555],[102.461657,32.109525],[102.461924,32.109454],[102.462109,32.109448],[102.462299,32.109448],[102.462466,32.109424],[102.462698,32.109335],[102.462765,32.109305],[102.463138,32.109139],[102.463271,32.109087],[102.463489,32.109002],[102.46384,32.108865],[102.464084,32.108818],[102.46434,32.108823],[102.464578,32.108853],[102.464708,32.108859],[102.464804,32.108859],[102.464917,32.108835],[102.465053,32.108764],[102.465143,32.108764],[102.465262,32.108794],[102.465375,32.108794],[102.465523,32.108758],[102.465624,32.108722],[102.465708,32.108705],[102.465845,32.108746],[102.465922,32.10877],[102.465981,32.10877],[102.466124,32.108764],[102.466285,32.108716],[102.466428,32.108716],[102.466573,32.108793],[102.466642,32.108829],[102.466856,32.108942],[102.466999,32.10902],[102.467141,32.109044],[102.467344,32.10902],[102.467516,32.108966],[102.467748,32.108806],[102.468046,32.108609],[102.468343,32.108413],[102.468605,32.108285],[102.468866,32.108157],[102.469146,32.107973],[102.469426,32.107788],[102.469673,32.10755],[102.469919,32.107313],[102.470065,32.107109],[102.470211,32.106906],[102.470401,32.10664],[102.470657,32.106301],[102.470734,32.106057],[102.470758,32.105843],[102.4708,32.10557],[102.470949,32.105367],[102.471127,32.105183],[102.471157,32.105064],[102.471109,32.104975],[102.470972,32.104862],[102.470889,32.104695],[102.470835,32.104261],[102.470762,32.103861],[102.470711,32.103583],[102.470687,32.10325],[102.470722,32.103053],[102.470865,32.102798],[102.471076,32.102542],[102.471288,32.102286],[102.471298,32.102262],[102.471472,32.101864],[102.471484,32.101709],[102.471389,32.101483],[102.471308,32.101221],[102.471228,32.100959],[102.470978,32.100686],[102.470835,32.100555],[102.470776,32.100329],[102.470865,32.100049],[102.471127,32.099782],[102.471347,32.099544],[102.471407,32.099341],[102.471347,32.099121],[102.47124,32.098919],[102.471189,32.098544],[102.471139,32.098169],[102.471118,32.098068],[102.471032,32.097652],[102.470984,32.097283],[102.470895,32.097134],[102.470788,32.097039],[102.470454,32.096894],[102.470294,32.096825],[102.470104,32.096801],[102.469967,32.096658],[102.469878,32.096462],[102.469717,32.096313],[102.469551,32.09623],[102.469503,32.096177],[102.469557,32.095909],[102.469723,32.095582],[102.469907,32.095255],[102.469949,32.094969],[102.470044,32.094535],[102.470047,32.094237],[102.47005,32.09394],[102.470074,32.093559],[102.470145,32.093321],[102.470306,32.093125],[102.470592,32.092917],[102.470818,32.092679],[102.470978,32.092441],[102.471112,32.092248],[102.471246,32.092054],[102.471418,32.091923],[102.471627,32.091864],[102.471918,32.091804],[102.472275,32.091715],[102.472558,32.091632],[102.47284,32.091549],[102.473251,32.091507],[102.47357,32.091545],[102.473602,32.091549],[102.473923,32.091644],[102.474232,32.091679],[102.47444,32.091632],[102.474666,32.091549],[102.474892,32.091465],[102.475038,32.091423],[102.475297,32.091346],[102.475678,32.091264],[102.476059,32.091181],[102.47627,32.091146],[102.476527,32.091104],[102.476784,32.091062],[102.477042,32.09102],[102.477299,32.090978],[102.477556,32.090935],[102.477813,32.090893],[102.478068,32.090861],[102.478322,32.090829],[102.478576,32.090797],[102.478831,32.090765],[102.478955,32.090749],[102.479217,32.090722],[102.479342,32.0907],[102.479565,32.090666],[102.479787,32.090632],[102.480011,32.090597],[102.480235,32.090562],[102.48028,32.090548],[102.480692,32.09049],[102.480918,32.090377],[102.481079,32.090264],[102.481281,32.090103],[102.481286,32.090095],[102.481466,32.089818],[102.48162,32.08949],[102.481727,32.089086],[102.481727,32.088664],[102.48167,32.088362],[102.481612,32.088061],[102.481555,32.087759],[102.481534,32.087521],[102.481513,32.087283],[102.481427,32.086888],[102.481341,32.086492],[102.481258,32.086195],[102.481228,32.085868],[102.481311,32.08557],[102.481377,32.085291],[102.481347,32.085071],[102.481258,32.084761],[102.481269,32.084422],[102.481335,32.084143],[102.4814,32.083863],[102.48142,32.083796],[102.481466,32.083637],[102.481531,32.08353],[102.481799,32.083334],[102.482004,32.083078],[102.482209,32.082822],[102.482299,32.082513],[102.482275,32.082239],[102.482215,32.082049],[102.482074,32.081797],[102.481936,32.081549],[102.481846,32.081323],[102.481846,32.081198],[102.481874,32.081151],[102.481962,32.081005],[102.482078,32.080811],[102.4822,32.080558],[102.482322,32.080306],[102.482326,32.080293],[102.482375,32.080123],[102.482494,32.079708],[102.482614,32.079294],[102.482706,32.079071],[102.482798,32.078848],[102.482887,32.078598],[102.482852,32.078491],[102.482673,32.078322],[102.482495,32.078152],[102.482435,32.077974],[102.482423,32.077831],[102.482402,32.077813],[102.482334,32.07776],[102.482186,32.0777],[102.48209,32.077545],[102.482078,32.077266],[102.482144,32.07698],[102.482293,32.076719],[102.482385,32.076501],[102.482477,32.076284],[102.482534,32.076061],[102.48259,32.075838],[102.482653,32.075505],[102.482717,32.075172],[102.48278,32.074839],[102.482864,32.074482],[102.482965,32.074381],[102.482995,32.07438],[102.483185,32.074375],[102.48334,32.074375],[102.483589,32.074321],[102.483893,32.074259],[102.484196,32.074196],[102.484473,32.074134],[102.484749,32.074071],[102.485008,32.074083],[102.485267,32.074095],[102.485618,32.074149],[102.485903,32.074149],[102.486141,32.074122],[102.486379,32.074095],[102.486748,32.074006],[102.486992,32.074006],[102.487236,32.074006],[102.487253,32.074005],[102.487462,32.073988],[102.487587,32.073905],[102.487759,32.073804],[102.488063,32.07375],[102.488206,32.073679],[102.488366,32.073542],[102.488527,32.073441],[102.48886,32.07334],[102.48892,32.07332],[102.489163,32.073239],[102.489247,32.073209],[102.489258,32.07309],[102.489223,32.0729],[102.489092,32.072566],[102.488967,32.072364],[102.488759,32.072227],[102.488551,32.072091],[102.488313,32.071948],[102.488152,32.071805],[102.487938,32.071466],[102.48777,32.071215],[102.487602,32.070964],[102.487444,32.070728],[102.487349,32.070496],[102.487284,32.070223],[102.487278,32.069901],[102.487236,32.06964],[102.4872,32.069483],[102.487176,32.069378],[102.487218,32.069125],[102.48726,32.068872],[102.487397,32.068539],[102.487391,32.06839],[102.487343,32.068331],[102.487176,32.068254],[102.487016,32.068075],[102.486861,32.06779],[102.486706,32.067564],[102.486588,32.067355],[102.486528,32.06704],[102.486514,32.066731],[102.4865,32.066421],[102.486486,32.066112],[102.486466,32.065877],[102.486445,32.065642],[102.486428,32.065553],[102.486391,32.065357],[102.48634,32.065302],[102.486147,32.065095],[102.486108,32.065035],[102.485952,32.064794],[102.485796,32.064554],[102.485668,32.064325],[102.485541,32.064096],[102.485416,32.063786],[102.485332,32.063423],[102.485286,32.063325],[102.485231,32.063209],[102.485255,32.062953],[102.485368,32.062775],[102.485606,32.062555],[102.48571,32.062353],[102.485814,32.06215],[102.48584,32.062081],[102.485963,32.061752],[102.486096,32.061472],[102.486229,32.061193],[102.486361,32.060913],[102.486546,32.060702],[102.48673,32.060491],[102.486828,32.06028],[102.486927,32.060068],[102.487006,32.059775],[102.487085,32.059481],[102.487165,32.059188],[102.48722,32.058883],[102.487276,32.058577],[102.487331,32.058272],[102.487329,32.058243],[102.487301,32.057897],[102.48748,32.057582],[102.487692,32.057354],[102.487724,32.05732],[102.487843,32.056969],[102.487843,32.056808],[102.487799,32.056725],[102.487789,32.056707],[102.487694,32.056606],[102.487587,32.056523],[102.487456,32.056422],[102.487414,32.056124],[102.487527,32.055714],[102.487611,32.055303],[102.487543,32.05496],[102.487476,32.054617],[102.487408,32.054274],[102.487285,32.053935],[102.487266,32.053882],[102.487123,32.053507],[102.487004,32.053293],[102.486712,32.053001],[102.486546,32.052757],[102.486414,32.052368],[102.486281,32.05198],[102.486254,32.051901],[102.486131,32.05156],[102.486058,32.05136],[102.485933,32.051116],[102.48579,32.051014],[102.485592,32.050953],[102.485523,32.050931],[102.485112,32.050901],[102.484714,32.050842],[102.484428,32.050782],[102.484083,32.050658],[102.483821,32.050497],[102.483598,32.050274],[102.483375,32.050051],[102.483232,32.049777],[102.483195,32.049647],[102.483143,32.049468],[102.483066,32.04923],[102.482917,32.049123],[102.482483,32.049016],[102.482132,32.048921],[102.481727,32.048808],[102.481341,32.048766],[102.481088,32.048775],[102.480835,32.048784],[102.480556,32.048927],[102.480276,32.049069],[102.479901,32.049218],[102.479526,32.049367],[102.479114,32.049439],[102.478702,32.049511],[102.47861,32.049527],[102.478313,32.049581],[102.478016,32.049634],[102.477718,32.049688],[102.477337,32.049819],[102.476957,32.04995],[102.476788,32.050007],[102.476399,32.050139],[102.476011,32.050271],[102.475776,32.050292],[102.475541,32.050313],[102.475309,32.050271],[102.475184,32.050081],[102.475092,32.04981],[102.475,32.049539],[102.474863,32.049272],[102.474512,32.049031],[102.474161,32.04879],[102.473843,32.048587],[102.473524,32.048385],[102.47326,32.048347],[102.472995,32.048308],[102.472791,32.048354],[102.472578,32.048403],[102.472305,32.048427],[102.472108,32.04832],[102.471954,32.048135],[102.47165,32.048082],[102.471362,32.048028],[102.471073,32.047975],[102.470713,32.047877],[102.470352,32.04778],[102.470351,32.047779],[102.470348,32.047778],[102.470003,32.047731],[102.469741,32.047776],[102.469729,32.047778],[102.469336,32.047874],[102.469051,32.047862],[102.468876,32.04777],[102.468813,32.047737],[102.468521,32.047653],[102.468284,32.047662],[102.468046,32.047671],[102.46763,32.047689],[102.467423,32.047697],[102.467215,32.047706],[102.467046,32.047713],[102.466624,32.047814],[102.466201,32.047915],[102.465955,32.047966],[102.465708,32.048016],[102.465309,32.04801],[102.465095,32.047933],[102.465006,32.047683],[102.46492,32.047433],[102.464833,32.047184],[102.464732,32.046934],[102.464716,32.046821],[102.464696,32.046684],[102.464685,32.046297],[102.464631,32.04603],[102.464512,32.04575],[102.464429,32.045518],[102.464203,32.045357],[102.464084,32.045316],[102.463929,32.045203],[102.463893,32.04509],[102.463905,32.044822],[102.463923,32.044542],[102.463998,32.044218],[102.464072,32.043894],[102.464213,32.04361],[102.464354,32.043325],[102.464548,32.042936],[102.464619,32.04274],[102.464613,32.042555],[102.464566,32.042139],[102.464566,32.041895],[102.464662,32.041631],[102.464759,32.041367],[102.46481,32.041229],[102.464829,32.041092],[102.464866,32.040836],[102.464923,32.040444],[102.464923,32.040164],[102.464869,32.040015],[102.464661,32.039789],[102.464542,32.039581],[102.464471,32.039378],[102.464346,32.039016],[102.464232,32.038784],[102.464119,32.038552],[102.46392,32.038287],[102.463721,32.038023],[102.463435,32.037823],[102.46315,32.037624],[102.462918,32.037517],[102.462698,32.037481],[102.462293,32.03744],[102.462004,32.037359],[102.461714,32.037278],[102.461424,32.037197],[102.461335,32.037172],[102.461252,32.037101],[102.461205,32.036988],[102.461205,32.036756],[102.461222,32.036345],[102.46127,32.035911],[102.461336,32.035666],[102.461401,32.03542],[102.461461,32.035199],[102.46152,32.034977],[102.461588,32.034751],[102.461657,32.034525],[102.461829,32.03415],[102.461972,32.033817],[102.462049,32.033606],[102.462127,32.033395],[102.462174,32.033067],[102.462189,32.032728],[102.462204,32.032389],[102.46224,32.03213],[102.462275,32.031872],[102.462301,32.031707],[102.462341,32.031443],[102.462335,32.031057],[102.462263,32.030747],[102.462148,32.03036],[102.462145,32.030349],[102.462133,32.030269],[102.462109,32.030099],[102.462109,32.029754],[102.462159,32.029507],[102.46221,32.02926],[102.46229,32.028847],[102.462371,32.028433],[102.462375,32.028422],[102.46248,32.028163],[102.462585,32.027904],[102.462668,32.027636],[102.462751,32.027369],[102.462888,32.026958],[102.462906,32.026595],[102.462823,32.026185],[102.462722,32.025956],[102.46262,32.025727],[102.462583,32.025671],[102.462382,32.025376],[102.462281,32.025174],[102.462216,32.02484],[102.462134,32.024578],[102.462133,32.024573],[102.46199,32.024287],[102.46193,32.024085],[102.461883,32.023651],[102.461895,32.023288],[102.461907,32.022925],[102.461918,32.022562],[102.461901,32.022125],[102.461883,32.021688],[102.461901,32.021509],[102.462002,32.021206],[102.462186,32.020929],[102.462371,32.020653],[102.46254,32.020373],[102.46271,32.020093],[102.462775,32.019817],[102.46284,32.01954],[102.46284,32.019261],[102.46284,32.01907],[102.462811,32.01888],[102.462789,32.018757],[102.462757,32.018582],[102.462762,32.018448],[102.462769,32.018249],[102.462835,32.018017],[102.463061,32.017654],[102.463376,32.017351],[102.463554,32.01719],[102.463673,32.016982],[102.463792,32.016774],[102.463956,32.016373],[102.464119,32.015971],[102.46425,32.015549],[102.464346,32.015186],[102.464476,32.014912],[102.464661,32.014731],[102.464845,32.014549],[102.465056,32.014412],[102.465268,32.014276],[102.46556,32.014089],[102.465595,32.014067],[102.465865,32.013874],[102.466136,32.013681],[102.466359,32.013511],[102.466582,32.013342],[102.466787,32.013111],[102.466992,32.01288],[102.467046,32.012818],[102.467281,32.012628],[102.467516,32.012437],[102.467825,32.012295],[102.468075,32.012223],[102.468361,32.012188],[102.468593,32.012176],[102.468872,32.01217],[102.469086,32.012159],[102.469223,32.012152],[102.469551,32.012146],[102.469786,32.01214],[102.470021,32.012134],[102.470383,32.01211],[102.470675,32.012051],[102.470731,32.012023],[102.470894,32.012023],[102.47116,32.012023],[102.471425,32.012023],[102.471691,32.012023],[102.471957,32.012023],[102.472216,32.012044],[102.472475,32.012065],[102.472828,32.012093],[102.4729,32.012194],[102.473191,32.012408],[102.473495,32.01255],[102.473721,32.012616],[102.473911,32.012652],[102.474114,32.012679],[102.474345,32.012711],[102.474601,32.012705],[102.474857,32.012699],[102.475267,32.012738],[102.475678,32.012777],[102.475957,32.01283],[102.476267,32.012913],[102.476484,32.013023],[102.476701,32.013133],[102.477022,32.013336],[102.477343,32.013538],[102.477599,32.013693],[102.477813,32.013728],[102.478027,32.013728],[102.478146,32.013707],[102.47842,32.013657],[102.478652,32.013669],[102.478884,32.013681],[102.479315,32.013731],[102.479747,32.013782],[102.47991,32.013826],[102.480121,32.013883],[102.480389,32.013978],[102.480508,32.014067],[102.480835,32.014311],[102.481017,32.014484],[102.481198,32.014656],[102.481356,32.015031],[102.481513,32.015406],[102.481594,32.01562],[102.481674,32.015834],[102.481799,32.015947],[102.4819,32.015977],[102.482129,32.015992],[102.482358,32.016007],[102.482679,32.016102],[102.482923,32.016292],[102.483081,32.016497],[102.483238,32.016703],[102.483417,32.016887],[102.483631,32.016994],[102.483728,32.017044],[102.484107,32.017238],[102.484367,32.017418],[102.484626,32.017599],[102.484886,32.017779],[102.485005,32.017886],[102.485048,32.018017],[102.485094,32.01816],[102.48512,32.018351],[102.48513,32.018428],[102.485172,32.018612],[102.485332,32.01882],[102.485535,32.018969],[102.485701,32.019124],[102.48588,32.019272],[102.486106,32.019493],[102.486201,32.019733],[102.486296,32.019974],[102.486397,32.020212],[102.486516,32.020278],[102.48673,32.020272],[102.487031,32.020201],[102.487057,32.020195],[102.487474,32.020064],[102.487721,32.020001],[102.487968,32.019939],[102.488125,32.01991],[102.488265,32.019885],[102.488568,32.019873],[102.488997,32.019861],[102.48933,32.019784],[102.489606,32.019725],[102.489883,32.019665],[102.490157,32.019677],[102.490466,32.019713],[102.490769,32.01979],[102.49096,32.019963],[102.491156,32.020189],[102.491329,32.020313],[102.491518,32.020342],[102.491601,32.020309],[102.491864,32.020172],[102.492024,32.02009],[102.492298,32.01983],[102.492572,32.01957],[102.49278,32.019374],[102.492887,32.019207],[102.492935,32.01888],[102.492982,32.018612],[102.493101,32.01844],[102.493279,32.018228],[102.493457,32.018017],[102.493714,32.017798],[102.493952,32.017646],[102.494076,32.017403],[102.494116,32.017132],[102.494157,32.016861],[102.494177,32.016754],[102.494237,32.016439],[102.494297,32.016124],[102.494356,32.015809],[102.494395,32.015495],[102.494433,32.015181],[102.494514,32.014781],[102.494656,32.014546],[102.49468,32.014505],[102.494851,32.01421],[102.494951,32.013994],[102.495051,32.013777],[102.495106,32.013511],[102.495161,32.013244],[102.495227,32.013144],[102.495342,32.013073],[102.495508,32.013054],[102.495756,32.01303],[102.496151,32.013035],[102.49648,32.013058],[102.49681,32.013082],[102.49714,32.013105],[102.49715,32.013106],[102.49755,32.013144],[102.497802,32.013144],[102.498054,32.013144],[102.498368,32.01312],[102.498604,32.013063],[102.498839,32.013006],[102.499015,32.012973],[102.499187,32.012901],[102.499253,32.012873],[102.499501,32.012768],[102.499715,32.012659],[102.499972,32.012535],[102.50017,32.012468],[102.500252,32.012417],[102.500282,32.012416],[102.500405,32.012412],[102.50071,32.012401],[102.500916,32.012393],[102.501128,32.012416],[102.501304,32.012449],[102.501604,32.012459],[102.501833,32.012459],[102.50218,32.012445],[102.502399,32.012445],[102.502811,32.012411],[102.502923,32.012402],[102.502965,32.012397],[102.50321,32.012368],[102.503456,32.01234],[102.503853,32.012371],[102.50425,32.012402],[102.504488,32.012452],[102.504726,32.012502],[102.505031,32.012583],[102.505353,32.012752],[102.505383,32.012768],[102.505599,32.012866],[102.505816,32.012963],[102.50604,32.013049],[102.506411,32.013168],[102.506539,32.013168],[102.506701,32.013163],[102.506982,32.013173],[102.507139,32.013201],[102.507286,32.01322],[102.507439,32.013206],[102.507639,32.013182],[102.507877,32.013135],[102.508057,32.013063],[102.508262,32.012987],[102.508476,32.012954],[102.508733,32.012835],[102.508897,32.012652],[102.509062,32.012468],[102.509204,32.012188],[102.509209,32.012182],[102.509317,32.012058],[102.509364,32.012004],[102.509518,32.011826],[102.509699,32.011636],[102.509999,32.011469],[102.510242,32.011345],[102.510656,32.011226],[102.510965,32.011169],[102.511023,32.011159],[102.511246,32.011122],[102.511484,32.01106],[102.511727,32.01096],[102.511879,32.010798],[102.512045,32.01056],[102.512212,32.010322],[102.512421,32.009932],[102.512476,32.009607],[102.512548,32.009182],[102.512574,32.009032],[102.512672,32.008607],[102.51277,32.008182],[102.512869,32.007757],[102.512954,32.007459],[102.51304,32.00716],[102.513073,32.007043],[102.513133,32.006887],[102.513273,32.00652],[102.513392,32.006334],[102.513559,32.00613],[102.513825,32.005887],[102.514032,32.005765],[102.514239,32.005644],[102.514522,32.005542],[102.514806,32.005439],[102.515116,32.005365],[102.515427,32.00529],[102.515738,32.005216],[102.516143,32.005087],[102.516305,32.004992],[102.516419,32.00483],[102.516471,32.004669],[102.516562,32.004388],[102.51669,32.004126],[102.516776,32.003998],[102.516966,32.003874],[102.517214,32.003783],[102.517461,32.003693],[102.517725,32.003614],[102.517989,32.003536],[102.518372,32.003419],[102.518475,32.003388],[102.518755,32.003346],[102.518823,32.003337],[102.518984,32.003317],[102.519217,32.003288],[102.519531,32.003246],[102.519798,32.003165],[102.520107,32.003027],[102.520416,32.002889],[102.520591,32.002823],[102.520695,32.002825],[102.520852,32.002876],[102.521159,32.003103],[102.52152,32.003322],[102.521735,32.00355],[102.521949,32.003779],[102.522156,32.0041],[102.522363,32.004421],[102.52251,32.004531],[102.522682,32.004573],[102.522829,32.00455],[102.523072,32.004404],[102.523314,32.004259],[102.52369,32.004102],[102.523857,32.004026],[102.524123,32.003905],[102.52439,32.003783],[102.524623,32.003726],[102.524842,32.003726],[102.525042,32.00375],[102.525184,32.00375],[102.525204,32.00375],[102.525446,32.003702],[102.525632,32.003688],[102.525827,32.00365],[102.525999,32.003526],[102.526169,32.003336],[102.526203,32.003298],[102.526355,32.00307],[102.526562,32.002979],[102.526769,32.002889],[102.527105,32.002774],[102.52744,32.00266],[102.527702,32.002525],[102.527964,32.002389],[102.528259,32.002318],[102.528568,32.002327],[102.528835,32.002408],[102.528876,32.002424],[102.529025,32.002479],[102.529173,32.002465],[102.529252,32.002448],[102.52933,32.002432],[102.529744,32.00227],[102.53009,32.0022],[102.530435,32.00213],[102.530781,32.002061],[102.530981,32.00197],[102.531072,32.00191],[102.531134,32.001892],[102.531316,32.001732],[102.531497,32.001572],[102.531648,32.001341],[102.531798,32.001111],[102.531902,32.000852],[102.532006,32.000594],[102.532048,32.000199],[102.532066,32.000145],[102.532078,32.000111],[102.532206,31.999738],[102.5323,31.999466],[102.532468,31.999275],[102.532542,31.999191],[102.53269,31.998958],[102.532837,31.998725],[102.532924,31.998522],[102.533081,31.998203],[102.533237,31.997884],[102.533301,31.997792],[102.533508,31.997496],[102.533703,31.997131],[102.533898,31.996767],[102.533927,31.996712],[102.534115,31.996445],[102.534303,31.996179],[102.534561,31.995885],[102.53482,31.995592],[102.535079,31.995298],[102.535233,31.995103],[102.535388,31.994908],[102.535631,31.994727],[102.535907,31.994556],[102.53613,31.994423],[102.53624,31.994242],[102.536368,31.99408],[102.536613,31.993928],[102.536858,31.993775],[102.537089,31.99364],[102.53732,31.993504],[102.537482,31.993385],[102.537591,31.993242],[102.537739,31.992966],[102.537905,31.992778],[102.538072,31.99259],[102.538286,31.992352],[102.538538,31.992224],[102.538881,31.992134],[102.539205,31.992086],[102.539492,31.992119],[102.53958,31.992129],[102.539757,31.992076],[102.54,31.991885],[102.540236,31.991772],[102.540488,31.991652],[102.54079,31.991358],[102.540822,31.991286],[102.540972,31.991086],[102.541122,31.990887],[102.541259,31.990675],[102.541346,31.990539],[102.541422,31.990289],[102.541498,31.99004],[102.541475,31.989816],[102.541379,31.989488],[102.541275,31.989169],[102.54127,31.98901],[102.541265,31.988817],[102.541265,31.988436],[102.541229,31.9882],[102.541203,31.988036],[102.541084,31.987698],[102.541075,31.987384],[102.541102,31.987018],[102.541113,31.98687],[102.54116,31.986487],[102.541208,31.986104],[102.541346,31.985766],[102.541407,31.985669],[102.541603,31.985356],[102.541798,31.985043],[102.542027,31.984757],[102.542317,31.9845],[102.542612,31.984291],[102.542671,31.984264],[102.54305,31.984091],[102.54334,31.983905],[102.543445,31.983767],[102.543554,31.983496],[102.543641,31.983306],[102.543697,31.983182],[102.543949,31.982887],[102.544172,31.982561],[102.544396,31.982236],[102.544416,31.982206],[102.544525,31.981949],[102.544544,31.981745],[102.544525,31.981671],[102.544416,31.981255],[102.544392,31.981002],[102.544368,31.98075],[102.544344,31.980455],[102.544388,31.980269],[102.544463,31.979951],[102.544554,31.979646],[102.544638,31.979539],[102.544696,31.979465],[102.544925,31.979303],[102.545106,31.978999],[102.545286,31.978694],[102.545467,31.97839],[102.545645,31.978088],[102.545823,31.977787],[102.546,31.977486],[102.546272,31.977157],[102.546483,31.976998],[102.546695,31.976838],[102.546969,31.976608],[102.547242,31.976377],[102.547388,31.976174],[102.547533,31.975972],[102.547656,31.975696],[102.547837,31.975506],[102.54791,31.975445],[102.548004,31.975368],[102.548133,31.975294],[102.548204,31.975254],[102.548537,31.975063],[102.548727,31.97493],[102.548778,31.974838],[102.548924,31.974577],[102.54907,31.974316],[102.549148,31.9741],[102.549227,31.973883],[102.549255,31.973583],[102.54926,31.973379],[102.549312,31.973079],[102.549293,31.972879],[102.549232,31.972746],[102.549241,31.972679],[102.549251,31.97261],[102.54926,31.972551],[102.549379,31.972289],[102.549591,31.972058],[102.549803,31.971827],[102.549824,31.97181],[102.550058,31.97162],[102.550292,31.971431],[102.550526,31.971242],[102.550712,31.97108],[102.550921,31.971013],[102.551161,31.970992],[102.551402,31.970971],[102.551728,31.970928],[102.552054,31.970886],[102.552274,31.970902],[102.552522,31.970957],[102.55277,31.971012],[102.552974,31.971042],[102.553349,31.971067],[102.553473,31.971075],[102.553708,31.97108],[102.553906,31.971042],[102.553944,31.971034],[102.554239,31.97099],[102.55448,31.97077],[102.554647,31.97056],[102.554814,31.97035],[102.554865,31.970094],[102.554916,31.969839],[102.554967,31.969584],[102.555018,31.969329],[102.555087,31.96893],[102.555157,31.968532],[102.555177,31.968414],[102.555152,31.968396],[102.555152,31.968272],[102.55519,31.968063],[102.555342,31.967682],[102.55549,31.96748],[102.55568,31.967221],[102.555801,31.96698],[102.55585,31.966884],[102.555923,31.96674],[102.556094,31.966378],[102.556265,31.966017],[102.556465,31.965679],[102.556665,31.965341],[102.556941,31.965044],[102.557217,31.964748],[102.557493,31.964451],[102.557636,31.964156],[102.557677,31.96402],[102.557717,31.963889],[102.557707,31.963761],[102.557674,31.963666],[102.557674,31.963504],[102.557726,31.963318],[102.557883,31.963204],[102.557976,31.963092],[102.557977,31.963091],[102.557978,31.96309],[102.558088,31.962811],[102.558197,31.962533],[102.558388,31.962167],[102.558526,31.962024],[102.558707,31.961957],[102.558849,31.961924],[102.559173,31.961795],[102.559492,31.961505],[102.559677,31.961391],[102.559834,31.961315],[102.559944,31.961243],[102.560006,31.961058],[102.56022,31.960668],[102.560467,31.96048],[102.560715,31.960292],[102.560973,31.960092],[102.561232,31.959892],[102.561491,31.959692],[102.561769,31.959487],[102.562047,31.959283],[102.562404,31.959149],[102.562695,31.959059],[102.562789,31.959033],[102.56319,31.958921],[102.563494,31.958821],[102.563799,31.958721],[102.564127,31.958588],[102.564351,31.958478],[102.564631,31.958355],[102.564974,31.95824],[102.565191,31.958089],[102.565413,31.957934],[102.565636,31.957779],[102.56584,31.957565],[102.566045,31.957351],[102.566207,31.957279],[102.566478,31.957236],[102.566811,31.957184],[102.567054,31.957113],[102.56733,31.956908],[102.567615,31.95657],[102.567644,31.956513],[102.567801,31.956206],[102.567986,31.955842],[102.568245,31.955499],[102.568504,31.955157],[102.568762,31.954814],[102.568843,31.954586],[102.568924,31.954357],[102.569005,31.954067],[102.569042,31.953958],[102.569043,31.953956],[102.569044,31.953954],[102.569133,31.953691],[102.5694,31.953477],[102.569666,31.953263],[102.570004,31.952977],[102.570095,31.952806],[102.570102,31.952758],[102.570147,31.952482],[102.570143,31.952378],[102.570142,31.952328],[102.570138,31.952211],[102.570118,31.951949],[102.570044,31.951767],[102.569985,31.951626],[102.569961,31.951473],[102.56998,31.951078],[102.569957,31.950907],[102.569933,31.950764],[102.569831,31.950438],[102.569728,31.950112],[102.569676,31.94995],[102.569671,31.949822],[102.569764,31.949426],[102.569771,31.949398],[102.569807,31.949207],[102.569877,31.948836],[102.569947,31.948466],[102.569949,31.948447],[102.569984,31.948152],[102.570019,31.947857],[102.569966,31.947614],[102.569857,31.947364],[102.569747,31.947114],[102.569552,31.946767],[102.569357,31.946419],[102.569176,31.94601],[102.568951,31.945814],[102.568881,31.945753],[102.568641,31.945429],[102.568401,31.945106],[102.568348,31.945015],[102.568353,31.944873],[102.56844,31.94469],[102.568448,31.944673],[102.568619,31.944461],[102.568853,31.944116],[102.568967,31.943921],[102.569019,31.94374],[102.569019,31.943521],[102.569014,31.943326],[102.569008,31.943255],[102.569,31.943169],[102.568953,31.942988],[102.568748,31.94265],[102.56861,31.942469],[102.568472,31.942289],[102.568433,31.942222],[102.568324,31.942036],[102.568248,31.941894],[102.568239,31.941722],[102.568327,31.941491],[102.568415,31.941261],[102.568581,31.941061],[102.568748,31.940861],[102.568881,31.940661],[102.569088,31.940547],[102.569295,31.940433],[102.569533,31.940349],[102.569771,31.940266],[102.570045,31.940111],[102.570318,31.939957],[102.570635,31.939835],[102.570951,31.939714],[102.571364,31.939575],[102.571475,31.939538],[102.57151,31.939521],[102.57166,31.939448],[102.571822,31.939338],[102.572122,31.939219],[102.572408,31.939024],[102.572669,31.938743],[102.572812,31.9386],[102.572991,31.938434],[102.573169,31.938267],[102.573469,31.938063],[102.573564,31.937863],[102.573616,31.93772],[102.573792,31.937539],[102.573968,31.937358],[102.574264,31.937039],[102.574471,31.936923],[102.574678,31.936806],[102.574835,31.936697],[102.575101,31.936378],[102.575258,31.936097],[102.575415,31.935816],[102.575517,31.935571],[102.57562,31.935326],[102.575824,31.935117],[102.576029,31.934907],[102.576086,31.934855],[102.576224,31.934855],[102.576383,31.934901],[102.576438,31.934917],[102.576741,31.935012],[102.577043,31.935107],[102.5774,31.935184],[102.577718,31.935248],[102.578037,31.935312],[102.578375,31.935382],[102.578404,31.935388],[102.578749,31.935541],[102.578832,31.935578],[102.579155,31.935756],[102.579477,31.935934],[102.57987,31.93615],[102.580117,31.936307],[102.580226,31.936326],[102.580273,31.936332],[102.580522,31.936364],[102.580916,31.936554],[102.581083,31.936678],[102.581335,31.936854],[102.581464,31.936921],[102.581539,31.936965],[102.581616,31.937011],[102.581726,31.93712],[102.581992,31.937468],[102.58226,31.937698],[102.582464,31.937873],[102.582668,31.938048],[102.582801,31.938144],[102.582872,31.938191],[102.583006,31.938224],[102.583313,31.938255],[102.58362,31.938286],[102.58386,31.938292],[102.584257,31.938301],[102.584424,31.938305],[102.584866,31.938329],[102.5852,31.938415],[102.585418,31.938522],[102.58549,31.938558],[102.585723,31.93871],[102.585885,31.938891],[102.585978,31.939098],[102.58607,31.939305],[102.586156,31.939462],[102.586204,31.939557],[102.586461,31.939823],[102.58668,31.940066],[102.586898,31.940309],[102.587015,31.94042],[102.587094,31.940494],[102.587289,31.94068],[102.587357,31.940712],[102.587736,31.940889],[102.587836,31.941008],[102.587964,31.941323],[102.587991,31.941376],[102.588074,31.941537],[102.588088,31.941565],[102.588245,31.941922],[102.588383,31.942217],[102.588583,31.942389],[102.58875,31.94246],[102.588767,31.942472],[102.588814,31.942505],[102.588956,31.942604],[102.589145,31.942736],[102.58925,31.942782],[102.589354,31.942826],[102.589506,31.942941],[102.589835,31.943212],[102.5899,31.943249],[102.590268,31.943459],[102.590415,31.943688],[102.590658,31.943983],[102.590798,31.944187],[102.590939,31.944392],[102.591172,31.944613],[102.591405,31.944835],[102.59152,31.945066],[102.59173,31.945392],[102.591912,31.945564],[102.592095,31.945737],[102.592278,31.945909],[102.59246,31.946081],[102.592643,31.946253],[102.592826,31.946426],[102.592914,31.946509],[102.592914,31.946509],[102.593008,31.946598],[102.593191,31.94677],[102.593374,31.946942],[102.593556,31.947114],[102.593726,31.947282],[102.593895,31.94745],[102.594064,31.947618],[102.594234,31.947786],[102.594403,31.947954],[102.594572,31.948122],[102.594742,31.94829],[102.594911,31.948458],[102.59508,31.948626],[102.59525,31.948794],[102.595419,31.948962],[102.595589,31.94913],[102.595781,31.949312],[102.595973,31.949494],[102.596165,31.949676],[102.596357,31.949858],[102.596549,31.95004],[102.596741,31.950222],[102.596933,31.950404],[102.597125,31.950586],[102.597317,31.950768],[102.597509,31.95095],[102.597701,31.951132],[102.597874,31.951296],[102.597893,31.951314],[102.598091,31.95148],[102.598289,31.951646],[102.598487,31.951812],[102.598686,31.951979],[102.598884,31.952145],[102.599082,31.952311],[102.59928,31.952478],[102.599479,31.952644],[102.599677,31.95281],[102.599875,31.952976],[102.600183,31.953191],[102.600491,31.953405],[102.600798,31.953619],[102.601058,31.953732],[102.601161,31.953776],[102.601524,31.953933],[102.601933,31.954028],[102.602342,31.954123],[102.602737,31.954194],[102.603132,31.954264],[102.603468,31.954308],[102.603804,31.954352],[102.604233,31.954427],[102.604662,31.954502],[102.605091,31.954577],[102.605513,31.954727],[102.605935,31.954876],[102.606357,31.955026],[102.606463,31.955064],[102.606779,31.955176],[102.607201,31.955326],[102.607476,31.955369],[102.60775,31.955411],[102.608024,31.955454],[102.608298,31.955497],[102.608572,31.955539],[102.608846,31.955582],[102.60912,31.955624],[102.609394,31.955667],[102.609661,31.955682],[102.609928,31.955697],[102.610195,31.955712],[102.610462,31.955727],[102.610729,31.955742],[102.610996,31.955757],[102.611263,31.955772],[102.61153,31.955787],[102.611797,31.955802],[102.612064,31.955818],[102.612308,31.955817],[102.612551,31.955817],[102.612795,31.955816],[102.613039,31.955816],[102.613283,31.955815],[102.613526,31.955815],[102.61377,31.955814],[102.614014,31.955814],[102.614257,31.955813],[102.614501,31.955813],[102.614874,31.955828],[102.614921,31.95583],[102.615342,31.955846],[102.615762,31.955863],[102.61599,31.955864],[102.616217,31.955865],[102.616445,31.955866],[102.616672,31.955867],[102.6169,31.955868],[102.617128,31.955869],[102.617355,31.95587],[102.617518,31.955871],[102.617583,31.955871],[102.617812,31.955863],[102.618041,31.955855],[102.618271,31.955847],[102.6185,31.955839],[102.618729,31.955831],[102.618959,31.955823],[102.619354,31.955855],[102.61975,31.955888],[102.619976,31.955923],[102.620203,31.955958],[102.620429,31.955994],[102.620655,31.956029],[102.62105,31.9561],[102.621446,31.95617],[102.621815,31.956252],[102.622185,31.956334],[102.622397,31.956381],[102.622555,31.956416],[102.622963,31.956523],[102.623372,31.956631],[102.623733,31.956838],[102.624094,31.957045],[102.624281,31.957199],[102.624468,31.957352],[102.624655,31.957506],[102.624738,31.957574],[102.624843,31.957659],[102.625026,31.95779],[102.625209,31.957921],[102.625393,31.958051],[102.625576,31.958182],[102.625759,31.958313],[102.625943,31.958443],[102.626166,31.958603],[102.626285,31.958687],[102.626516,31.958817],[102.626748,31.958946],[102.626979,31.959075],[102.627211,31.959205],[102.627442,31.959334],[102.627674,31.959463],[102.62792,31.959587],[102.628054,31.959654],[102.628055,31.959654],[102.628167,31.95971],[102.628413,31.959834],[102.62866,31.959957],[102.628973,31.960066],[102.629038,31.960089],[102.629416,31.960221],[102.629826,31.960287],[102.630236,31.960353],[102.630645,31.960419],[102.630878,31.96045],[102.63111,31.960482],[102.631343,31.960514],[102.631575,31.960546],[102.631807,31.960577],[102.63204,31.960609],[102.632272,31.960641],[102.632505,31.960672],[102.632737,31.960704],[102.632969,31.960736],[102.633202,31.960767],[102.633356,31.960788],[102.633434,31.960799],[102.633694,31.960836],[102.633954,31.960873],[102.634214,31.960911],[102.634473,31.960948],[102.634733,31.960985],[102.634993,31.961022],[102.635309,31.961028],[102.635624,31.961034],[102.635773,31.961016],[102.635879,31.961002],[102.636133,31.96097],[102.636366,31.960921],[102.636508,31.960891],[102.636516,31.960889],[102.636549,31.960882],[102.6366,31.960872],[102.636644,31.960851],[102.636898,31.960734],[102.637132,31.960543],[102.637199,31.960489],[102.637373,31.960276],[102.637485,31.960096],[102.637508,31.960059],[102.637563,31.959971],[102.637653,31.959827],[102.637712,31.959732],[102.637753,31.959666],[102.637783,31.959617],[102.637814,31.959566],[102.637971,31.959373],[102.638072,31.95925],[102.638213,31.959079],[102.638293,31.958981],[102.63831,31.958961],[102.638331,31.958935],[102.638404,31.958845],[102.638579,31.958632],[102.63859,31.958619],[102.638606,31.958606],[102.638635,31.958582],[102.638805,31.958443],[102.639015,31.958272],[102.639226,31.9581],[102.639436,31.957928],[102.639647,31.957757],[102.63991,31.957601],[102.63995,31.957577],[102.64,31.957548],[102.640029,31.957531],[102.640172,31.957446],[102.640462,31.95713],[102.640659,31.956794],[102.640856,31.956457],[102.641015,31.956239],[102.641173,31.956022],[102.641189,31.955999],[102.641331,31.955805],[102.641489,31.955588],[102.641815,31.955348],[102.64214,31.955108],[102.642466,31.954868],[102.642623,31.9547],[102.642624,31.954699],[102.642626,31.954697],[102.64278,31.954533],[102.642937,31.954366],[102.643094,31.954199],[102.643323,31.953816],[102.643552,31.953433],[102.643782,31.95305],[102.643863,31.952803],[102.643945,31.952556],[102.644026,31.952309],[102.644108,31.952062],[102.64419,31.951815],[102.644271,31.951568],[102.64434,31.95136],[102.644353,31.951321],[102.644366,31.951281],[102.644435,31.951074],[102.644516,31.950827],[102.644574,31.950651],[102.644596,31.950585],[102.644597,31.950583],[102.644598,31.95058],[102.644656,31.950141],[102.644657,31.950109],[102.644657,31.950085],[102.644659,31.950031],[102.644662,31.949901],[102.644384,31.949696],[102.644109,31.94941],[102.643834,31.949125],[102.64356,31.948839],[102.643355,31.948574],[102.643151,31.94831],[102.643086,31.948078],[102.643021,31.947847],[102.642956,31.947615],[102.642892,31.947383],[102.64284,31.946942],[102.642789,31.9465],[102.642737,31.946058],[102.642709,31.945731],[102.642701,31.945644],[102.642689,31.945509],[102.642674,31.945334],[102.642665,31.945229],[102.642662,31.945195],[102.642662,31.945195],[102.642628,31.944814],[102.642671,31.944564],[102.642715,31.944314],[102.642758,31.944064],[102.642801,31.943813],[102.642844,31.943563],[102.642888,31.943313],[102.642928,31.943077],[102.642931,31.943062],[102.642974,31.942812],[102.643017,31.942562],[102.64306,31.942312],[102.643067,31.942178],[102.643077,31.941998],[102.643077,31.941989],[102.643083,31.941871],[102.643084,31.941869],[102.643084,31.941867],[102.643091,31.941725],[102.643107,31.941431],[102.643107,31.941431],[102.643107,31.941431],[102.643113,31.941304],[102.64313,31.940991],[102.643152,31.940562],[102.643153,31.940551],[102.643198,31.9404],[102.643203,31.940384],[102.643255,31.940212],[102.643282,31.940122],[102.643303,31.940055],[102.643307,31.94004],[102.643352,31.939892],[102.643357,31.939873],[102.643503,31.939696],[102.643649,31.939518],[102.643794,31.93934],[102.64394,31.939163],[102.644085,31.938985],[102.644231,31.938808],[102.644489,31.938505],[102.644748,31.938203],[102.645006,31.937901],[102.645269,31.937766],[102.645532,31.93763],[102.645633,31.937616],[102.645791,31.937595],[102.646051,31.937559],[102.646297,31.937579],[102.64639,31.937586],[102.646422,31.937589],[102.646502,31.937595],[102.646502,31.937595],[102.646502,31.937595],[102.646544,31.937598],[102.64679,31.937618],[102.647035,31.937637],[102.647035,31.937638],[102.647036,31.937638],[102.647202,31.937651],[102.647283,31.937657],[102.6473,31.937659],[102.647529,31.937677],[102.647761,31.937695],[102.647776,31.937696],[102.647876,31.937704],[102.648022,31.937716],[102.6482,31.937747],[102.648251,31.937756],[102.648481,31.937797],[102.648679,31.937831],[102.64871,31.937837],[102.648785,31.93785],[102.648842,31.93786],[102.648939,31.937877],[102.649024,31.937892],[102.649169,31.937918],[102.649398,31.937958],[102.649627,31.937998],[102.649857,31.938038],[102.650086,31.938079],[102.650315,31.938119],[102.65055,31.938163],[102.650784,31.938208],[102.651018,31.938252],[102.651252,31.938296],[102.651333,31.938306],[102.651608,31.938339],[102.65165,31.938344],[102.651663,31.938346],[102.651736,31.938354],[102.651918,31.938376],[102.652049,31.938392],[102.652378,31.938398],[102.652706,31.938404],[102.652789,31.938385],[102.653038,31.938331],[102.653163,31.938228],[102.653177,31.938217],[102.653224,31.938179],[102.65323,31.938174],[102.653257,31.938073],[102.653283,31.937973],[102.653195,31.937731],[102.653059,31.937509],[102.652924,31.937286],[102.652716,31.937132],[102.65257,31.937024],[102.652508,31.936978],[102.6523,31.936824],[102.652092,31.93667],[102.651893,31.93658],[102.65169,31.936489],[102.651288,31.936308],[102.650885,31.936127],[102.650667,31.936027],[102.650448,31.935926],[102.650229,31.935826],[102.650011,31.935726],[102.649792,31.935626],[102.649573,31.935525],[102.649355,31.935425],[102.649136,31.935325],[102.648917,31.935225],[102.648699,31.935124],[102.648325,31.935017],[102.647951,31.93491],[102.647769,31.934707],[102.647766,31.934695],[102.647751,31.934639],[102.647751,31.934637],[102.647727,31.934546],[102.647731,31.93439],[102.647732,31.934346],[102.647903,31.934183],[102.648075,31.93402],[102.648246,31.933857],[102.648418,31.933695],[102.648611,31.933518],[102.648803,31.933341],[102.648996,31.933164],[102.649189,31.932987],[102.64925,31.932888],[102.649256,31.93288],[102.649385,31.932671],[102.649581,31.932354],[102.649682,31.93219],[102.649777,31.932037],[102.649873,31.931882],[102.649948,31.93176],[102.65012,31.931483],[102.650199,31.931144],[102.650229,31.931016],[102.650279,31.930805],[102.650285,31.930534],[102.650292,31.930264],[102.650299,31.929994],[102.650306,31.929723],[102.650271,31.929282],[102.650232,31.928881],[102.650285,31.928661],[102.650338,31.928442],[102.650391,31.928222],[102.650444,31.928003],[102.65048,31.927753],[102.650515,31.927503],[102.650551,31.927254],[102.650587,31.927004],[102.650622,31.926754],[102.650658,31.926504],[102.650693,31.926255],[102.650729,31.926005],[102.650759,31.925605],[102.650788,31.925204],[102.650818,31.924804],[102.650852,31.924528],[102.650936,31.924391],[102.651128,31.924257],[102.651371,31.924239],[102.651642,31.924243],[102.651935,31.92441],[102.652228,31.924576],[102.652399,31.924737],[102.65257,31.924899],[102.652742,31.92506],[102.652913,31.925222],[102.653084,31.925383],[102.653255,31.925545],[102.653427,31.925706],[102.653598,31.925867],[102.653892,31.925989],[102.654042,31.926023],[102.654109,31.926038],[102.654158,31.926045],[102.654295,31.926064],[102.654486,31.926023],[102.654733,31.925842],[102.654874,31.925637],[102.655011,31.925439],[102.655015,31.925433],[102.655051,31.925363],[102.655086,31.925292],[102.655142,31.925182],[102.655269,31.924932],[102.655363,31.924496],[102.655316,31.924197],[102.655247,31.923956],[102.655246,31.923951],[102.655221,31.923862],[102.655179,31.923715],[102.65511,31.923475],[102.655042,31.923234],[102.654807,31.922855],[102.654699,31.92268],[102.654572,31.922475],[102.654464,31.922374],[102.65435,31.922266],[102.654127,31.922057],[102.654079,31.921902],[102.654028,31.921733],[102.654027,31.921726],[102.65401,31.921365],[102.654048,31.921294],[102.654083,31.92123],[102.654139,31.921125],[102.65416,31.921085],[102.654168,31.921071],[102.654181,31.921046],[102.654271,31.92091],[102.654405,31.920705],[102.654572,31.920547],[102.654789,31.920459],[102.655062,31.920395],[102.655318,31.920388],[102.655574,31.920382],[102.655822,31.920386],[102.655872,31.920387],[102.656144,31.920392],[102.656169,31.920392],[102.656505,31.920456],[102.656841,31.92052],[102.657163,31.920572],[102.657486,31.920624],[102.657863,31.920666],[102.65824,31.920707],[102.658523,31.920735],[102.658806,31.920763],[102.659144,31.92077],[102.659448,31.920776],[102.659481,31.920776],[102.659725,31.920734],[102.65981,31.920726],[102.660019,31.920704],[102.660312,31.920674],[102.66055,31.920502],[102.660787,31.92033],[102.66082,31.920282],[102.660829,31.920269],[102.660838,31.920255],[102.660922,31.920134],[102.661045,31.919955],[102.661057,31.919937],[102.661063,31.919903],[102.661082,31.919806],[102.661116,31.91963],[102.660812,31.919358],[102.660427,31.919197],[102.660043,31.919035],[102.659811,31.918942],[102.65958,31.918849],[102.659378,31.918668],[102.659175,31.918488],[102.659064,31.918243],[102.658954,31.917998],[102.658843,31.917753],[102.658732,31.917508],[102.658635,31.917142],[102.658554,31.916837],[102.658538,31.916777],[102.65853,31.916748],[102.65847,31.916521],[102.658402,31.916265],[102.658393,31.916167],[102.658393,31.916166],[102.658388,31.91611],[102.658385,31.916088],[102.658361,31.915823],[102.658063,31.915602],[102.658056,31.915596],[102.657746,31.915524],[102.657436,31.915452],[102.657178,31.915403],[102.656921,31.915354],[102.656663,31.915305],[102.656405,31.915256],[102.656097,31.915118],[102.65579,31.91498],[102.655546,31.914898],[102.655302,31.914817],[102.655058,31.914735],[102.654814,31.914653],[102.654584,31.914516],[102.654354,31.914379],[102.654287,31.914239],[102.654258,31.914177],[102.654248,31.914157],[102.654206,31.914067],[102.654109,31.9138],[102.654171,31.91336],[102.654237,31.913094],[102.654303,31.912827],[102.654487,31.912643],[102.654671,31.912458],[102.654855,31.912274],[102.655016,31.912113],[102.65504,31.912089],[102.655436,31.911926],[102.655832,31.911763],[102.656229,31.9116],[102.656625,31.911437],[102.656964,31.911266],[102.657304,31.911096],[102.657643,31.910925],[102.657871,31.910767],[102.658099,31.910609],[102.658247,31.910346],[102.658249,31.910232],[102.658254,31.909963],[102.658228,31.909668],[102.658113,31.909415],[102.657998,31.909162],[102.657744,31.908936],[102.657491,31.90871],[102.657173,31.908498],[102.656855,31.908286],[102.656538,31.908073],[102.656181,31.907816],[102.655873,31.907594],[102.655824,31.907558],[102.655742,31.907491],[102.655587,31.907363],[102.655349,31.907167],[102.655209,31.906939],[102.655184,31.906898],[102.655184,31.906887],[102.655192,31.906468],[102.655259,31.90624],[102.655325,31.906013],[102.655376,31.905838],[102.655392,31.905785],[102.655458,31.905557],[102.655577,31.905324],[102.655695,31.90509],[102.655813,31.904856],[102.655932,31.904622],[102.656093,31.904389],[102.656113,31.904361],[102.656255,31.904156],[102.656607,31.903928],[102.65686,31.903852],[102.657112,31.903775],[102.657365,31.903698],[102.657618,31.903622],[102.657857,31.903582],[102.658096,31.903542],[102.658335,31.903502],[102.658574,31.903462],[102.658813,31.903422],[102.659052,31.903382],[102.659291,31.903342],[102.659529,31.903302],[102.659946,31.903266],[102.660121,31.903251],[102.660293,31.903236],[102.660363,31.90323],[102.660675,31.903206],[102.66083,31.903195],[102.66087,31.903193],[102.66102,31.903183],[102.66116,31.903127],[102.661228,31.903072],[102.661267,31.90304],[102.661377,31.902806],[102.661383,31.902541],[102.661286,31.902302],[102.661099,31.902122],[102.660913,31.901942],[102.660807,31.90187],[102.660763,31.90184],[102.660699,31.901796],[102.660655,31.901767],[102.660626,31.901747],[102.660503,31.901663],[102.660484,31.901651],[102.66027,31.901505],[102.660056,31.90136],[102.659842,31.901215],[102.659627,31.901069],[102.659413,31.900924],[102.659199,31.900778],[102.658985,31.900633],[102.65877,31.900487],[102.658578,31.900331],[102.658386,31.900176],[102.658194,31.90002],[102.658002,31.899864],[102.65781,31.899708],[102.657618,31.899552],[102.657449,31.899372],[102.65728,31.899192],[102.657254,31.899078],[102.657221,31.89894],[102.657218,31.898925],[102.657156,31.898659],[102.657197,31.898394],[102.657239,31.898129],[102.657417,31.897911],[102.657595,31.897693],[102.657617,31.897685],[102.657784,31.897622],[102.657944,31.897562],[102.658294,31.897431],[102.658643,31.8973],[102.658896,31.897256],[102.659149,31.897213],[102.659403,31.897169],[102.659656,31.897125],[102.659909,31.897081],[102.66004,31.897058],[102.660162,31.897037],[102.660416,31.896993],[102.660669,31.89695],[102.660922,31.896906],[102.661175,31.896862],[102.661429,31.896818],[102.661682,31.896774],[102.661935,31.89673],[102.662164,31.896691],[102.662188,31.896687],[102.662561,31.896647],[102.662705,31.896632],[102.662868,31.896615],[102.662935,31.896608],[102.663308,31.896568],[102.663318,31.896565],[102.663656,31.896456],[102.664005,31.896344],[102.664165,31.896185],[102.664183,31.896166],[102.664238,31.896111],[102.664324,31.896025],[102.664329,31.895993],[102.664331,31.89598],[102.664334,31.895962],[102.664366,31.895761],[102.664358,31.89572],[102.664305,31.895436],[102.664101,31.895284],[102.663897,31.895133],[102.663687,31.895006],[102.663476,31.894879],[102.663266,31.894753],[102.663056,31.894626],[102.662845,31.894499],[102.662635,31.894372],[102.662425,31.894246],[102.662215,31.894119],[102.662004,31.893992],[102.661794,31.893866],[102.661584,31.893739],[102.661373,31.893612],[102.661161,31.893472],[102.660949,31.893332],[102.660737,31.893193],[102.660525,31.893053],[102.66022,31.892735],[102.66007,31.892526],[102.659919,31.892316],[102.659836,31.892166],[102.659821,31.892139],[102.659754,31.892019],[102.659749,31.891965],[102.659742,31.891889],[102.659727,31.891723],[102.659873,31.891431],[102.660242,31.891188],[102.660611,31.890944],[102.660874,31.890816],[102.661137,31.890689],[102.661331,31.890529],[102.661526,31.89037],[102.661774,31.890154],[102.662021,31.889937],[102.662165,31.889718],[102.662293,31.889523],[102.662309,31.889499],[102.66233,31.889458],[102.66234,31.889437],[102.662455,31.889207],[102.662601,31.888915],[102.662643,31.888842],[102.662697,31.888748],[102.662727,31.888696],[102.662813,31.888545],[102.662818,31.888536],[102.663067,31.888274],[102.663379,31.888222],[102.66363,31.888205],[102.663882,31.888187],[102.664133,31.88817],[102.664385,31.888152],[102.664614,31.88816],[102.664843,31.888168],[102.665072,31.888176],[102.665301,31.888184],[102.66553,31.888192],[102.665759,31.8882],[102.665988,31.888208],[102.666217,31.888216],[102.666587,31.888197],[102.666851,31.888184],[102.666958,31.888179],[102.667358,31.888098],[102.667708,31.888027],[102.667758,31.888017],[102.668177,31.887877],[102.668213,31.887848],[102.668495,31.887618],[102.668643,31.887238],[102.668645,31.887174],[102.668646,31.887125],[102.668648,31.887051],[102.668648,31.887043],[102.668653,31.886855],[102.668623,31.886794],[102.668488,31.886527],[102.668251,31.886346],[102.668013,31.886164],[102.667683,31.885991],[102.667352,31.885818],[102.667022,31.885645],[102.666762,31.885515],[102.666737,31.885503],[102.666714,31.885491],[102.666589,31.885358],[102.666546,31.885312],[102.666381,31.885013],[102.66627,31.884745],[102.666229,31.884646],[102.666076,31.88428],[102.665928,31.883922],[102.665924,31.883913],[102.66572,31.88364],[102.665672,31.883575],[102.665516,31.883368],[102.665331,31.883157],[102.665146,31.882947],[102.66501,31.882826],[102.664975,31.882636],[102.664963,31.882575],[102.664953,31.882519],[102.66495,31.882501],[102.664954,31.882344],[102.664958,31.882177],[102.665139,31.881885],[102.665357,31.881801],[102.665575,31.881716],[102.665793,31.881631],[102.666011,31.881547],[102.666197,31.881521],[102.666218,31.881518],[102.666382,31.881495],[102.666752,31.881443],[102.667122,31.881391],[102.667418,31.881323],[102.667471,31.88131],[102.667667,31.881265],[102.667714,31.881254],[102.66793,31.881179],[102.668145,31.881105],[102.66836,31.88103],[102.668575,31.880955],[102.668791,31.880881],[102.669006,31.880806],[102.669413,31.880666],[102.66982,31.880526],[102.670228,31.880387],[102.670526,31.8802],[102.670592,31.880159],[102.67066,31.880116],[102.670825,31.880013],[102.670849,31.879987],[102.671039,31.879782],[102.671277,31.879523],[102.671315,31.879246],[102.671323,31.878913],[102.671139,31.87852],[102.670832,31.878335],[102.670525,31.87815],[102.67014,31.877948],[102.669887,31.877816],[102.669755,31.877746],[102.669623,31.877678],[102.6695,31.877613],[102.66941,31.877566],[102.669369,31.877544],[102.669177,31.877444],[102.669123,31.877415],[102.668984,31.877342],[102.668776,31.877201],[102.668569,31.87706],[102.668375,31.876886],[102.66828,31.876772],[102.668236,31.876685],[102.668217,31.876648],[102.668186,31.876588],[102.668122,31.876462],[102.668157,31.876138],[102.668162,31.876094],[102.668421,31.875904],[102.668679,31.875714],[102.669027,31.875513],[102.669375,31.875311],[102.669723,31.87511],[102.670013,31.874942],[102.670311,31.874756],[102.67061,31.87457],[102.670823,31.874338],[102.671036,31.874106],[102.671163,31.873887],[102.67129,31.873668],[102.671357,31.873482],[102.671439,31.873258],[102.671446,31.872963],[102.671418,31.872698],[102.671346,31.872339],[102.671201,31.872166],[102.671118,31.872067],[102.670912,31.87182],[102.67089,31.871794],[102.670823,31.87176],[102.670751,31.871724],[102.670718,31.871707],[102.670669,31.871682],[102.670449,31.87157],[102.670228,31.871458],[102.670007,31.871345],[102.669786,31.871233],[102.669566,31.871121],[102.669345,31.871009],[102.669124,31.870896],[102.668741,31.870753],[102.668358,31.870611],[102.667974,31.870468],[102.66792,31.870441],[102.667919,31.870441],[102.667852,31.870408],[102.667837,31.870401],[102.667599,31.870284],[102.667395,31.870134],[102.667295,31.869954],[102.6673,31.869748],[102.667386,31.869525],[102.667471,31.869303],[102.667557,31.86908],[102.667642,31.868857],[102.667772,31.868642],[102.667901,31.868428],[102.66803,31.868213],[102.668159,31.867998],[102.668288,31.867784],[102.668417,31.867569],[102.668546,31.867354],[102.668675,31.86714],[102.668804,31.866925],[102.668933,31.86671],[102.669227,31.866384],[102.669521,31.866057],[102.669814,31.865731],[102.670108,31.865405],[102.67023,31.865212],[102.670352,31.86502],[102.670474,31.864827],[102.670596,31.864635],[102.670719,31.864442],[102.670841,31.86425],[102.670954,31.863883],[102.671031,31.863633],[102.671067,31.863517],[102.671125,31.863252],[102.671183,31.862988],[102.671156,31.862737],[102.671128,31.862486],[102.671091,31.862441],[102.670976,31.8623],[102.670914,31.862223],[102.670858,31.862155],[102.670605,31.8619],[102.670572,31.861867],[102.670473,31.861767],[102.670419,31.861713],[102.670418,31.861712],[102.670376,31.86167],[102.670371,31.861664],[102.670352,31.861645],[102.670184,31.861451],[102.670016,31.861256],[102.669935,31.861033],[102.669854,31.860811],[102.669878,31.860546],[102.669902,31.860281],[102.67005,31.85992],[102.670197,31.859559],[102.670345,31.859198],[102.670493,31.858807],[102.670641,31.858417],[102.670789,31.858026],[102.670868,31.857681],[102.670892,31.857421],[102.670904,31.857291],[102.670915,31.857166],[102.670915,31.857161],[102.670939,31.856901],[102.670963,31.856641],[102.670987,31.856381],[102.671011,31.856121],[102.67109,31.855699],[102.67117,31.855278],[102.67125,31.854856],[102.671364,31.854461],[102.671479,31.854065],[102.671577,31.853814],[102.671675,31.853563],[102.67178,31.853315],[102.671885,31.853067],[102.672123,31.852698],[102.672401,31.852482],[102.67249,31.852413],[102.67268,31.852265],[102.67276,31.852329],[102.672798,31.85236],[102.67292,31.852458],[102.67319,31.852728],[102.673436,31.853035],[102.673685,31.853353],[102.673933,31.853672],[102.674138,31.854025],[102.67431,31.854308],[102.674467,31.854632],[102.674623,31.8549],[102.674781,31.85514],[102.674831,31.855257],[102.674825,31.855671],[102.674821,31.855953],[102.674845,31.856319],[102.674869,31.856685],[102.674922,31.856852],[102.675111,31.857037],[102.675327,31.85725],[102.675341,31.857261],[102.675536,31.857404],[102.675731,31.857548],[102.675898,31.857768],[102.675963,31.858071],[102.675945,31.858321],[102.675871,31.858541],[102.675797,31.858761],[102.675797,31.859023],[102.675853,31.859259],[102.675856,31.859273],[102.675981,31.859475],[102.676058,31.859522],[102.676177,31.859594],[102.676505,31.859814],[102.676612,31.859915],[102.676689,31.860046],[102.676737,31.860189],[102.676784,31.86032],[102.676856,31.860433],[102.676939,31.860534],[102.677082,31.860671],[102.677314,31.860808],[102.677557,31.860909],[102.677843,31.861099],[102.678129,31.861289],[102.678295,31.861459],[102.678462,31.861628],[102.678503,31.861825],[102.678501,31.861893],[102.678497,31.862021],[102.678485,31.862289],[102.678474,31.862556],[102.67842,31.862818],[102.67839,31.863009],[102.678319,31.863305],[102.678248,31.863602],[102.678248,31.863603],[102.678248,31.863603],[102.678223,31.863687],[102.678223,31.863689],[102.67817,31.863871],[102.678027,31.864032],[102.677682,31.864222],[102.677593,31.864341],[102.677589,31.864459],[102.677587,31.86452],[102.677623,31.864769],[102.677659,31.864989],[102.677831,31.865299],[102.678004,31.86568],[102.678099,31.865804],[102.678277,31.86587],[102.678401,31.86591],[102.67844,31.865922],[102.678442,31.865923],[102.678444,31.865923],[102.678557,31.866025],[102.678569,31.866155],[102.678557,31.866286],[102.678527,31.866459],[102.678533,31.866631],[102.678652,31.86697],[102.678682,31.867119],[102.678682,31.867202],[102.67861,31.867315],[102.678521,31.867399],[102.678367,31.867494],[102.678057,31.86775],[102.677861,31.867916],[102.677737,31.86802],[102.677635,31.868107],[102.677436,31.868309],[102.677236,31.868511],[102.677088,31.86874],[102.677082,31.868749],[102.677082,31.868948],[102.677082,31.868975],[102.677093,31.869082],[102.677207,31.869433],[102.677409,31.869748],[102.677516,31.870141],[102.677555,31.870444],[102.677593,31.870748],[102.677617,31.870836],[102.677665,31.871014],[102.677742,31.871301],[102.67775,31.871323],[102.677871,31.871669],[102.677992,31.872015],[102.678033,31.87228],[102.678075,31.872544],[102.678111,31.872848],[102.678069,31.873264],[102.678013,31.873526],[102.677957,31.873788],[102.677891,31.874097],[102.677891,31.87421],[102.677891,31.874299],[102.677932,31.874382],[102.678051,31.87446],[102.678105,31.874502],[102.678349,31.874692],[102.678593,31.874882],[102.678771,31.875215],[102.678793,31.87529],[102.67886,31.875513],[102.678908,31.875816],[102.678979,31.876119],[102.679092,31.876328],[102.67919,31.876551],[102.679289,31.876774],[102.679402,31.876968],[102.679473,31.877089],[102.679526,31.877404],[102.679528,31.877433],[102.679544,31.877696],[102.679604,31.877934],[102.679741,31.878178],[102.679988,31.878499],[102.680056,31.878588],[102.680115,31.878721],[102.680199,31.878909],[102.680211,31.879177],[102.680208,31.879425],[102.680205,31.879861],[102.680175,31.880224],[102.680104,31.880593],[102.680032,31.880914],[102.679848,31.881116],[102.679613,31.881396],[102.679378,31.881675],[102.679146,31.882015],[102.678914,31.882354],[102.678696,31.882558],[102.678521,31.882722],[102.678515,31.882853],[102.678525,31.88289],[102.678539,31.882948],[102.678694,31.883056],[102.678725,31.883075],[102.678906,31.883189],[102.679117,31.883323],[102.679401,31.883664],[102.679685,31.884006],[102.679969,31.884348],[102.680253,31.884689],[102.680536,31.885031],[102.680348,31.885416],[102.680159,31.885801],[102.679971,31.886186],[102.679782,31.886571],[102.679594,31.886956],[102.679594,31.886957],[102.679593,31.886957],[102.679405,31.887341],[102.679217,31.887727],[102.679032,31.888008],[102.678847,31.88829],[102.67871,31.888506],[102.678573,31.888721],[102.678437,31.888936],[102.6783,31.889152],[102.678164,31.889367],[102.678027,31.889582],[102.677891,31.889798],[102.677754,31.890013],[102.677617,31.890229],[102.677481,31.890444],[102.677344,31.890659],[102.677208,31.890875],[102.677071,31.89109],[102.676934,31.891305],[102.676813,31.891521],[102.676691,31.891737],[102.67657,31.891953],[102.676448,31.892169],[102.676327,31.892385],[102.676205,31.892601],[102.676084,31.892817],[102.675962,31.893033],[102.67584,31.893249],[102.675719,31.893464],[102.675668,31.89359],[102.675629,31.893688],[102.675591,31.893782],[102.675547,31.893966],[102.675562,31.894151],[102.675596,31.894335],[102.675632,31.894453],[102.675739,31.894703],[102.675847,31.894952],[102.675954,31.895202],[102.676061,31.895451],[102.676273,31.89584],[102.676485,31.896228],[102.676698,31.896617],[102.67691,31.897006],[102.677023,31.897201],[102.677137,31.897396],[102.677251,31.897592],[102.677364,31.897787],[102.677478,31.897982],[102.677592,31.898177],[102.677704,31.898393],[102.677817,31.898609],[102.67793,31.898825],[102.678043,31.899041],[102.678155,31.899258],[102.678268,31.899474],[102.678381,31.89969],[102.678493,31.899906],[102.678605,31.900177],[102.678715,31.900547],[102.678757,31.900801],[102.6788,31.901054],[102.67885,31.901467],[102.678841,31.901787],[102.678796,31.902003],[102.678754,31.902138],[102.678712,31.902237],[102.678538,31.902404],[102.678364,31.902571],[102.67819,31.902738],[102.678016,31.902904],[102.677842,31.903071],[102.677668,31.903238],[102.677494,31.903405],[102.677319,31.903571],[102.677159,31.903751],[102.676998,31.90393],[102.676837,31.904109],[102.676676,31.904289],[102.676516,31.904468],[102.676355,31.904647],[102.676194,31.904826],[102.676034,31.905006],[102.675873,31.905185],[102.675712,31.905364],[102.675551,31.905544],[102.675391,31.905723],[102.67523,31.905902],[102.675069,31.906081],[102.674929,31.906261],[102.674788,31.906441],[102.674647,31.90662],[102.674507,31.9068],[102.674366,31.906979],[102.674225,31.907159],[102.674085,31.907338],[102.673944,31.907518],[102.673922,31.907651],[102.673923,31.907658],[102.673938,31.907769],[102.673947,31.90778],[102.674014,31.907855],[102.674111,31.907923],[102.674312,31.908025],[102.674513,31.908127],[102.674714,31.908229],[102.674915,31.90833],[102.675116,31.908432],[102.675318,31.908534],[102.675693,31.908742],[102.676069,31.908951],[102.676151,31.908996],[102.676445,31.909159],[102.676792,31.9094],[102.677042,31.90969],[102.677193,31.909928],[102.677286,31.910198],[102.677301,31.910383],[102.677297,31.910484],[102.677276,31.9106],[102.677273,31.910668],[102.677136,31.91089],[102.676999,31.911112],[102.676862,31.911334],[102.676725,31.911557],[102.676593,31.91179],[102.676461,31.912024],[102.676329,31.912257],[102.676197,31.912491],[102.676065,31.912724],[102.675933,31.912958],[102.675912,31.912996],[102.675801,31.913192],[102.675669,31.913425],[102.675555,31.9137],[102.67544,31.913974],[102.675345,31.914224],[102.67525,31.914474],[102.675214,31.914759],[102.675177,31.915044],[102.675164,31.915298],[102.675151,31.915553],[102.675138,31.915807],[102.675125,31.916061],[102.675111,31.916316],[102.675098,31.91657],[102.675111,31.916776],[102.675126,31.91704],[102.675163,31.917246],[102.675177,31.917319],[102.675229,31.917571],[102.675273,31.917684],[102.675378,31.91795],[102.675526,31.918329],[102.675608,31.918539],[102.675674,31.918708],[102.675794,31.919046],[102.675914,31.919383],[102.67598,31.9196],[102.676046,31.919818],[102.676112,31.920035],[102.676177,31.920252],[102.676243,31.92047],[102.676309,31.920687],[102.676375,31.920904],[102.676441,31.921122],[102.676484,31.921366],[102.676528,31.92161],[102.676523,31.921795],[102.676479,31.921928],[102.676378,31.922077],[102.676209,31.922267],[102.67604,31.922457],[102.675871,31.922647],[102.675702,31.922837],[102.675533,31.923027],[102.675364,31.923217],[102.675201,31.923417],[102.675038,31.923616],[102.674876,31.923816],[102.674713,31.924016],[102.674551,31.924216],[102.674388,31.924416],[102.674225,31.924615],[102.674063,31.924815],[102.6739,31.925015],[102.673737,31.925215],[102.67353,31.925598],[102.673445,31.925831],[102.673421,31.926049],[102.673416,31.92625],[102.673468,31.926469],[102.673523,31.926621],[102.673599,31.926774],[102.673886,31.927087],[102.674174,31.9274],[102.674462,31.927713],[102.674673,31.927952],[102.674786,31.928172],[102.674859,31.928391],[102.674876,31.928527],[102.67489,31.928729],[102.674876,31.928986],[102.674863,31.929243],[102.674849,31.929501],[102.674835,31.929758],[102.674821,31.930016],[102.674807,31.930273],[102.674793,31.93053],[102.674779,31.930788],[102.674777,31.931065],[102.674775,31.931342],[102.674773,31.931619],[102.674771,31.931896],[102.674703,31.932256],[102.674635,31.932615],[102.674569,31.932891],[102.674502,31.933167],[102.674476,31.933434],[102.674515,31.933616],[102.674565,31.933697],[102.67461,31.933768],[102.674898,31.934084],[102.674916,31.934103],[102.675186,31.934399],[102.675454,31.934701],[102.675721,31.935002],[102.675989,31.935303],[102.676136,31.935494],[102.676283,31.935685],[102.67643,31.935875],[102.676577,31.936066],[102.676724,31.936257],[102.676871,31.936448],[102.677018,31.936638],[102.677165,31.936829],[102.677312,31.93702],[102.677459,31.937211],[102.677647,31.937566],[102.67774,31.937828],[102.677832,31.938091],[102.677885,31.938391],[102.677937,31.938691],[102.677955,31.938955],[102.677973,31.93922],[102.677991,31.939484],[102.678009,31.939749],[102.678033,31.939993],[102.678056,31.940238],[102.67812,31.940457],[102.678183,31.940676],[102.678312,31.941039],[102.67844,31.941402],[102.678534,31.941622],[102.678627,31.941842],[102.678808,31.942114],[102.678988,31.942385],[102.679122,31.942622],[102.679256,31.942859],[102.679391,31.943096],[102.679525,31.943332],[102.679659,31.943569],[102.679793,31.943806],[102.679928,31.944043],[102.680062,31.94428],[102.680196,31.944517],[102.680331,31.944753],[102.680471,31.945077],[102.680508,31.945159],[102.680684,31.945565],[102.680861,31.945971],[102.681038,31.946377],[102.681158,31.946707],[102.681271,31.947015],[102.681278,31.947036],[102.681361,31.947298],[102.681444,31.94756],[102.681493,31.947924],[102.681495,31.948058],[102.681496,31.948167],[102.6815,31.94841],[102.681433,31.948728],[102.681366,31.949047],[102.681271,31.949305],[102.681176,31.949564],[102.681112,31.949747],[102.681108,31.949999],[102.681122,31.9501],[102.681159,31.950235],[102.681472,31.950538],[102.681785,31.950842],[102.682098,31.951145],[102.682411,31.951449],[102.682622,31.951676],[102.682833,31.951903],[102.682987,31.952107],[102.683042,31.952226],[102.683118,31.952361],[102.683126,31.952431],[102.68315,31.952631],[102.683124,31.952899],[102.683027,31.953216],[102.682931,31.953533],[102.682872,31.953884],[102.682814,31.954236],[102.682787,31.954536],[102.682782,31.954779],[102.682812,31.955132],[102.682872,31.95539],[102.682931,31.955649],[102.682991,31.955907],[102.68305,31.956166],[102.683109,31.956424],[102.683159,31.95664],[102.683159,31.95664],[102.683169,31.956683],[102.683223,31.956903],[102.683278,31.957123],[102.683332,31.957343],[102.683387,31.957563],[102.683441,31.957783],[102.683496,31.958003],[102.68355,31.958223],[102.683605,31.958443],[102.683662,31.958672],[102.683718,31.958901],[102.683775,31.959129],[102.683832,31.959358],[102.683911,31.959729],[102.683991,31.9601],[102.684118,31.960505],[102.684306,31.960878],[102.684444,31.961103],[102.684582,31.961328],[102.68472,31.961554],[102.684857,31.961779],[102.684995,31.962004],[102.685034,31.962068],[102.685035,31.96207],[102.685133,31.962229],[102.685304,31.96251],[102.685336,31.962585],[102.685341,31.962599],[102.685456,31.962924],[102.685509,31.963072],[102.685571,31.963248],[102.685631,31.963375],[102.685757,31.963641],[102.68584,31.963749],[102.685993,31.963948],[102.686157,31.964105],[102.686364,31.964248],[102.686635,31.964334],[102.686799,31.964369],[102.686937,31.964424],[102.686978,31.964441],[102.68717,31.964555],[102.687206,31.964612],[102.687272,31.964722],[102.687456,31.965026],[102.687479,31.965076],[102.687644,31.965432],[102.687809,31.965789],[102.688112,31.966075],[102.688148,31.96611],[102.688274,31.966228],[102.688339,31.966288],[102.688422,31.96636],[102.688487,31.966413],[102.688505,31.966455],[102.688517,31.966526],[102.68844,31.966633],[102.688279,31.966901],[102.688119,31.967169],[102.688005,31.967396],[102.687934,31.967537],[102.687774,31.967758],[102.687632,31.967903],[102.687565,31.967972],[102.687357,31.968132],[102.687149,31.968293],[102.686958,31.968461],[102.68686,31.968547],[102.68681,31.96859],[102.686679,31.968608],[102.686572,31.968608],[102.686453,31.968674],[102.686388,31.96881],[102.686411,31.969054],[102.686411,31.969447],[102.68639,31.969673],[102.68637,31.969899],[102.686313,31.970142],[102.686287,31.970248],[102.686255,31.970384],[102.686135,31.970637],[102.686049,31.970818],[102.685969,31.970986],[102.685803,31.971336],[102.685764,31.971396],[102.685709,31.971481],[102.68568,31.971527],[102.685609,31.971637],[102.685556,31.971718],[102.685433,31.971908],[102.68531,31.972099],[102.68515,31.972255],[102.685007,31.972395],[102.684787,31.972542],[102.684508,31.972655],[102.684168,31.972783],[102.684089,31.972805],[102.683913,31.972854],[102.683658,31.972924],[102.683403,31.972994],[102.683148,31.973064],[102.682893,31.973135],[102.682638,31.973205],[102.682383,31.973275],[102.682128,31.973345],[102.681873,31.973416],[102.681618,31.973486],[102.681369,31.973565],[102.68112,31.973645],[102.680872,31.973724],[102.680805,31.973745],[102.680623,31.973803],[102.68052,31.973844],[102.680236,31.973956],[102.680071,31.97402],[102.679859,31.974104],[102.679848,31.974108],[102.679622,31.974232],[102.679538,31.974278],[102.679486,31.974307],[102.679227,31.974449],[102.678946,31.974637],[102.678665,31.974826],[102.678599,31.974884],[102.678349,31.975105],[102.678034,31.975384],[102.677718,31.975664],[102.677564,31.975844],[102.67741,31.976025],[102.677256,31.976205],[102.677102,31.976385],[102.676948,31.976566],[102.676794,31.976746],[102.67664,31.976926],[102.676486,31.977107],[102.676333,31.977285],[102.676181,31.977464],[102.676181,31.977464],[102.676181,31.977464],[102.676025,31.977686],[102.675832,31.977998],[102.675638,31.97831],[102.675513,31.978507],[102.675478,31.978679],[102.675478,31.978894],[102.675478,31.979018],[102.675489,31.979188],[102.67549,31.979197],[102.675608,31.979406],[102.67562,31.979429],[102.675815,31.979757],[102.67601,31.980084],[102.676031,31.980119],[102.676233,31.980428],[102.676435,31.980738],[102.67656,31.981059],[102.676703,31.981338],[102.67675,31.981441],[102.676882,31.981725],[102.677015,31.98204],[102.677149,31.982356],[102.677156,31.982381],[102.677273,31.982806],[102.67739,31.983231],[102.677465,31.983504],[102.677601,31.983789],[102.677619,31.983932],[102.677625,31.984057],[102.677578,31.984158],[102.677384,31.984429],[102.677191,31.984699],[102.677062,31.984898],[102.676793,31.985163],[102.676525,31.985428],[102.676257,31.985693],[102.676061,31.985855],[102.675882,31.986002],[102.67561,31.986348],[102.675597,31.986365],[102.675365,31.986609],[102.67524,31.98674],[102.675139,31.986924],[102.675109,31.98718],[102.675109,31.98762],[102.675091,31.987953],[102.675186,31.988227],[102.675192,31.988393],[102.675079,31.988631],[102.675061,31.98906],[102.675064,31.989145],[102.675073,31.989381],[102.675133,31.989756],[102.675145,31.990119],[102.675145,31.990273],[102.675087,31.990423],[102.675055,31.990505],[102.674966,31.99066],[102.674913,31.99088],[102.674918,31.991005],[102.674948,31.991142],[102.675121,31.991308],[102.675127,31.991362],[102.675097,31.991469],[102.674936,31.991695],[102.674776,31.991921],[102.674615,31.992272],[102.674598,31.992368],[102.674531,31.992744],[102.674526,31.992772],[102.67449,31.99309],[102.674455,31.993408],[102.674397,31.993677],[102.67433,31.993991],[102.674312,31.994235],[102.674307,31.994332],[102.674306,31.994366],[102.674371,31.994467],[102.674532,31.994705],[102.674675,31.994913],[102.674752,31.995145],[102.674827,31.995447],[102.674903,31.995749],[102.674918,31.995811],[102.675061,31.996127],[102.675171,31.996356],[102.675281,31.996585],[102.675378,31.996729],[102.675538,31.996966],[102.675698,31.997203],[102.675927,31.997444],[102.676156,31.997685],[102.676251,31.997828],[102.676322,31.997971],[102.676394,31.998007],[102.676453,31.998036],[102.676483,31.998114],[102.676471,31.998256],[102.676424,31.998387],[102.67637,31.998488],[102.676282,31.998528],[102.676263,31.998536],[102.676049,31.998619],[102.675882,31.998744],[102.675751,31.998881],[102.675742,31.998895],[102.675715,31.998936],[102.675591,31.999125],[102.675466,31.999458],[102.675377,31.999583],[102.675153,31.999816],[102.674942,32.000035],[102.674698,32.000326],[102.674496,32.000487],[102.674228,32.000707],[102.673976,32.000862],[102.673723,32.001016],[102.673604,32.001129],[102.673544,32.001314],[102.673408,32.001736],[102.673312,32.002099],[102.673275,32.002198],[102.673247,32.002272],[102.673158,32.002403],[102.67308,32.00248],[102.672902,32.002557],[102.672718,32.002649],[102.672569,32.002724],[102.672397,32.002808],[102.672265,32.002872],[102.672031,32.002925],[102.671796,32.002977],[102.671784,32.00298],[102.671587,32.003009],[102.671308,32.003104],[102.671022,32.00336],[102.670975,32.003568],[102.670992,32.003729],[102.671053,32.003925],[102.671125,32.004159],[102.671171,32.004306],[102.671284,32.004621],[102.671308,32.004776],[102.671236,32.004907],[102.671141,32.005073],[102.671064,32.00524],[102.671033,32.005277],[102.670844,32.005508],[102.670683,32.005752],[102.670661,32.005808],[102.670591,32.00599],[102.670499,32.006227],[102.670415,32.006567],[102.670338,32.006784],[102.670261,32.007001],[102.670112,32.007254],[102.669963,32.007506],[102.669832,32.007703],[102.669672,32.007798],[102.66941,32.007932],[102.669148,32.008065],[102.669113,32.008083],[102.668976,32.008191],[102.668973,32.008215],[102.668958,32.008327],[102.668982,32.008434],[102.669035,32.008589],[102.669046,32.008637],[102.669071,32.008744],[102.669089,32.008892],[102.669136,32.009053],[102.669214,32.00919],[102.669386,32.009351],[102.669559,32.009511],[102.669752,32.009856],[102.669945,32.010201],[102.670094,32.010412],[102.670243,32.010624],[102.670326,32.010689],[102.670451,32.010743],[102.670473,32.010749],[102.670869,32.010859],[102.671028,32.010903],[102.671168,32.010983],[102.671236,32.011022],[102.671563,32.011302],[102.671754,32.011453],[102.671944,32.011605],[102.672063,32.011685],[102.672164,32.011754],[102.672462,32.011908],[102.672729,32.012164],[102.67278,32.012213],[102.672914,32.012343],[102.673057,32.012515],[102.673092,32.012646],[102.673106,32.012724],[102.673122,32.012813],[102.673211,32.012961],[102.673354,32.013167],[102.673425,32.013415],[102.673491,32.013552],[102.673516,32.013605],[102.67358,32.01369],[102.673673,32.013813],[102.673706,32.013857],[102.673816,32.01399],[102.674011,32.014109],[102.674073,32.014157],[102.674077,32.014228],[102.674073,32.014333],[102.674038,32.014456],[102.674025,32.0145],[102.673973,32.014609],[102.673968,32.014757],[102.673958,32.014918],[102.673916,32.015109],[102.673868,32.015209],[102.673836,32.015301],[102.673811,32.015375],[102.673868,32.015689],[102.673849,32.015861],[102.673839,32.016132],[102.673839,32.016312],[102.673839,32.016384],[102.673915,32.016695],[102.673944,32.016813],[102.673996,32.017046],[102.674009,32.017109],[102.674092,32.017536],[102.674151,32.017895],[102.674211,32.018254],[102.674234,32.018535],[102.674196,32.018764],[102.674125,32.018945],[102.674123,32.018958],[102.674101,32.019159],[102.67412,32.019306],[102.674215,32.019458],[102.674401,32.019749],[102.674501,32.019953],[102.674539,32.020063],[102.674582,32.020187],[102.674636,32.020406],[102.674644,32.020439],[102.674625,32.020696],[102.674587,32.020896],[102.674604,32.021106],[102.674606,32.021129],[102.674632,32.021353],[102.674634,32.021368],[102.674658,32.021576],[102.674701,32.021881],[102.67471,32.022085],[102.674691,32.02229],[102.674644,32.022576],[102.674644,32.02278],[102.674682,32.022999],[102.674698,32.023062],[102.674777,32.023361],[102.674796,32.023508],[102.674789,32.0237],[102.674786,32.023775],[102.674677,32.024108],[102.674644,32.024355],[102.674639,32.024589],[102.674601,32.024755],[102.674544,32.024874],[102.674265,32.02512],[102.673891,32.025317],[102.673792,32.025369],[102.673571,32.025446],[102.673351,32.025522],[102.67334,32.025526],[102.673021,32.025636],[102.672726,32.025816],[102.672359,32.025926],[102.671993,32.026035],[102.671631,32.026173],[102.671296,32.02643],[102.671265,32.026454],[102.671079,32.026545],[102.670851,32.026659],[102.670568,32.026813],[102.670284,32.026968],[102.670047,32.027106],[102.669882,32.02738],[102.669804,32.027511],[102.669667,32.027902],[102.669657,32.027948],[102.669589,32.028259],[102.669639,32.028495],[102.66976,32.028666],[102.669924,32.028841],[102.670088,32.029016],[102.67026,32.029159],[102.670481,32.029337],[102.670602,32.029701],[102.670738,32.029915],[102.670888,32.030115],[102.670995,32.030265],[102.671022,32.030333],[102.671109,32.030551],[102.671159,32.030693],[102.67138,32.030875],[102.671602,32.031057],[102.671877,32.031264],[102.672151,32.031471],[102.672176,32.031499],[102.672395,32.031741],[102.672428,32.031778],[102.67268,32.032057],[102.672837,32.032232],[102.672994,32.032407],[102.673029,32.03242],[102.673379,32.032556],[102.673686,32.032671],[102.673886,32.032799],[102.673906,32.032832],[102.674036,32.033042],[102.67405,32.033137],[102.674072,32.033277],[102.67405,32.03367],[102.673953,32.033997],[102.673907,32.034148],[102.67379,32.034496],[102.673722,32.034698],[102.673658,32.034905],[102.673693,32.035105],[102.673702,32.035114],[102.6738,32.035219],[102.673922,32.035298],[102.674022,32.035462],[102.67405,32.035655],[102.674036,32.035883],[102.67392,32.036165],[102.673805,32.036447],[102.673766,32.036542],[102.67371,32.036679],[102.673615,32.036911],[102.673527,32.037131],[102.673465,32.037289],[102.673212,32.037566],[102.673158,32.037625],[102.672894,32.037967],[102.672772,32.038189],[102.672694,32.038421],[102.672615,32.038653],[102.672423,32.038988],[102.672291,32.039181],[102.672159,32.039374],[102.67215,32.039387],[102.671976,32.039641],[102.671802,32.039895],[102.671752,32.04013],[102.671652,32.040344],[102.67153,32.04043],[102.67142,32.040487],[102.671266,32.040566],[102.671007,32.040717],[102.670924,32.040766],[102.670595,32.041008],[102.670481,32.041094],[102.670438,32.041201],[102.670424,32.041494],[102.67041,32.041786],[102.670353,32.042215],[102.670346,32.04224],[102.67034,32.042263],[102.670243,32.042646],[102.670146,32.043028],[102.670074,32.043207],[102.670003,32.043307],[102.669839,32.043343],[102.669739,32.043347],[102.669532,32.043357],[102.669367,32.043357],[102.669096,32.043303],[102.668825,32.04325],[102.668554,32.043207],[102.668282,32.043164],[102.667933,32.04315],[102.667669,32.043143],[102.667577,32.043164],[102.667483,32.043186],[102.667269,32.043278],[102.667019,32.043321],[102.666669,32.043271],[102.666369,32.04325],[102.666237,32.04325],[102.666091,32.04325],[102.666017,32.043296],[102.665698,32.043492],[102.665394,32.043779],[102.665191,32.043971],[102.664949,32.044106],[102.664763,32.044256],[102.664556,32.044328],[102.664378,32.04442],[102.664256,32.04452],[102.664064,32.04471],[102.663871,32.044899],[102.663849,32.04492],[102.663585,32.045091],[102.663278,32.045199],[102.663064,32.045234],[102.662814,32.045234]]]]},"properties":{"cp":[102.49877817263959,32.16081640345188],"code":"513233101","name":"刷经寺镇","level":"street","center":[102.49877817263959,32.16081640345188],"fullCode":"513233101000","fullName":"四川省阿坝藏族羌族自治州红原县刷经寺镇","acreageMu":1479646.49,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.661,31.9177]}},{"id":"513233103","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.190465,32.696137],[102.190648,32.695897],[102.1908,32.695656],[102.19099,32.695463],[102.19118,32.69527],[102.19137,32.695077],[102.19156,32.694884],[102.191781,32.694532],[102.191877,32.694281],[102.191973,32.694031],[102.192053,32.693751],[102.192132,32.69347],[102.192144,32.693222],[102.192157,32.692973],[102.192157,32.692964],[102.192169,32.692725],[102.192181,32.692476],[102.192193,32.692228],[102.192206,32.691979],[102.192218,32.691731],[102.19223,32.691482],[102.192191,32.691051],[102.192169,32.690812],[102.192152,32.690619],[102.192166,32.690348],[102.192167,32.690321],[102.192174,32.690188],[102.192196,32.689758],[102.192219,32.689328],[102.192241,32.688898],[102.192293,32.688642],[102.192345,32.688386],[102.192398,32.68813],[102.19245,32.687874],[102.192502,32.687618],[102.192555,32.687361],[102.192607,32.687105],[102.192611,32.687088],[102.192659,32.686849],[102.192712,32.686593],[102.192738,32.686466],[102.192764,32.686337],[102.192816,32.686081],[102.192854,32.685898],[102.192865,32.685841],[102.192869,32.685825],[102.192956,32.685578],[102.193042,32.685331],[102.193129,32.685084],[102.193216,32.684837],[102.193303,32.684591],[102.193325,32.684528],[102.19339,32.684344],[102.193425,32.684243],[102.193477,32.684097],[102.193564,32.68385],[102.193677,32.683607],[102.19379,32.683365],[102.193903,32.683122],[102.194017,32.68288],[102.19413,32.682637],[102.194243,32.682395],[102.194356,32.682152],[102.194379,32.682104],[102.194469,32.68191],[102.194548,32.681812],[102.19475,32.681561],[102.19503,32.681212],[102.195311,32.680863],[102.195591,32.680514],[102.195872,32.680165],[102.196009,32.680089],[102.196105,32.680037],[102.19628,32.67994],[102.196299,32.679929],[102.196337,32.679909],[102.196684,32.679795],[102.196763,32.679769],[102.197011,32.67973],[102.197093,32.679718],[102.197258,32.679692],[102.197259,32.679692],[102.197259,32.679692],[102.197279,32.679689],[102.197452,32.679664],[102.197612,32.679641],[102.197877,32.679609],[102.198142,32.679578],[102.198406,32.679547],[102.198664,32.679516],[102.198671,32.679515],[102.198685,32.679506],[102.198713,32.679487],[102.198745,32.679465],[102.198883,32.67937],[102.198924,32.679343],[102.199142,32.679109],[102.199221,32.678815],[102.199234,32.678399],[102.199224,32.678146],[102.199215,32.677893],[102.199152,32.677639],[102.19909,32.677386],[102.199091,32.677363],[102.199095,32.677215],[102.199098,32.677109],[102.199101,32.677035],[102.199101,32.677032],[102.199101,32.67703],[102.199215,32.676735],[102.199399,32.676502],[102.199687,32.6763],[102.19992,32.676142],[102.200154,32.675984],[102.200387,32.67584],[102.20062,32.675697],[102.200818,32.675553],[102.201016,32.675409],[102.201234,32.675206],[102.201398,32.675016],[102.201562,32.674826],[102.20182,32.674485],[102.202077,32.674145],[102.202335,32.673804],[102.202507,32.673576],[102.202515,32.673565],[102.202592,32.673463],[102.20266,32.673267],[102.202669,32.673238],[102.202747,32.673013],[102.202812,32.672825],[102.202824,32.672788],[102.202902,32.672563],[102.202979,32.672339],[102.203057,32.672114],[102.203134,32.671889],[102.20316,32.671815],[102.203161,32.67181],[102.203212,32.671664],[102.20335,32.67147],[102.203487,32.671277],[102.203625,32.671083],[102.203763,32.670889],[102.203901,32.670696],[102.204039,32.670502],[102.204111,32.6704],[102.204138,32.670363],[102.204177,32.670308],[102.204231,32.670233],[102.204315,32.670115],[102.204444,32.669924],[102.204486,32.669863],[102.204506,32.669832],[102.204573,32.669734],[102.204793,32.669471],[102.205023,32.669409],[102.205253,32.669348],[102.205483,32.669286],[102.205672,32.669235],[102.20569,32.669231],[102.205714,32.669224],[102.205744,32.669228],[102.20576,32.66923],[102.20603,32.669262],[102.206203,32.669354],[102.206408,32.669537],[102.206543,32.669733],[102.206678,32.66993],[102.20683,32.670141],[102.206982,32.670353],[102.207169,32.67055],[102.207357,32.670746],[102.207711,32.670927],[102.208064,32.671107],[102.208343,32.671202],[102.208621,32.671298],[102.208864,32.671407],[102.208992,32.671465],[102.20903,32.671481],[102.209107,32.671516],[102.209135,32.671534],[102.209452,32.671732],[102.209688,32.672064],[102.209853,32.672425],[102.209915,32.672708],[102.209976,32.672992],[102.210126,32.673263],[102.210276,32.673533],[102.210445,32.673745],[102.210615,32.673957],[102.210922,32.674231],[102.211266,32.674476],[102.211474,32.674585],[102.211682,32.674693],[102.212066,32.674791],[102.212451,32.674859],[102.212838,32.674853],[102.213225,32.674847],[102.213507,32.674823],[102.21372,32.674768],[102.213953,32.674677],[102.214006,32.674656],[102.214063,32.674633],[102.214156,32.674596],[102.214284,32.674546],[102.21429,32.674544],[102.214507,32.674371],[102.214653,32.674225],[102.214958,32.673909],[102.215263,32.673592],[102.215488,32.67336],[102.215569,32.673276],[102.215802,32.672945],[102.216035,32.672613],[102.216268,32.672281],[102.216467,32.672093],[102.216667,32.671904],[102.216899,32.67182],[102.216997,32.671784],[102.217086,32.671753],[102.217131,32.671736],[102.217178,32.671737],[102.217235,32.671739],[102.217301,32.671754],[102.217375,32.671771],[102.217514,32.671834],[102.217753,32.672047],[102.217906,32.672214],[102.218059,32.67238],[102.218212,32.672547],[102.218366,32.672714],[102.218536,32.672881],[102.218707,32.673048],[102.219019,32.673204],[102.219298,32.6733],[102.219578,32.673305],[102.219826,32.673266],[102.220074,32.673227],[102.220141,32.673191],[102.22016,32.673182],[102.220181,32.67317],[102.220367,32.673059],[102.220385,32.673048],[102.2204,32.673039],[102.220437,32.673017],[102.220468,32.672998],[102.220519,32.672952],[102.220638,32.672845],[102.220808,32.672691],[102.220978,32.672537],[102.221148,32.672383],[102.221318,32.67223],[102.221488,32.672076],[102.221658,32.671922],[102.22173,32.671857],[102.221811,32.671785],[102.221829,32.671769],[102.221914,32.671691],[102.221999,32.671615],[102.222169,32.671461],[102.222365,32.671276],[102.22256,32.67109],[102.222756,32.670904],[102.222924,32.670745],[102.222927,32.670742],[102.222952,32.670718],[102.223007,32.670666],[102.223012,32.670661],[102.223019,32.670655],[102.223148,32.670533],[102.223344,32.670347],[102.223539,32.670161],[102.223634,32.670072],[102.223638,32.670068],[102.223735,32.669975],[102.223931,32.66979],[102.223967,32.669756],[102.224127,32.669604],[102.224268,32.669406],[102.224409,32.669208],[102.22455,32.66901],[102.2246,32.668939],[102.22469,32.668811],[102.224787,32.668676],[102.224787,32.668676],[102.224831,32.668613],[102.224846,32.668592],[102.224847,32.668592],[102.224937,32.668465],[102.224972,32.668415],[102.225113,32.668217],[102.225254,32.668019],[102.225314,32.667935],[102.225385,32.667834],[102.225395,32.667821],[102.225455,32.667736],[102.225536,32.667623],[102.225677,32.667425],[102.225818,32.667226],[102.225959,32.667028],[102.226067,32.666876],[102.2261,32.66683],[102.226226,32.666786],[102.226476,32.666699],[102.226727,32.666611],[102.226977,32.666524],[102.227017,32.66651],[102.227019,32.666509],[102.227021,32.666508],[102.227131,32.66647],[102.227131,32.66647],[102.227227,32.666437],[102.227275,32.66642],[102.227478,32.666349],[102.227728,32.666262],[102.227959,32.66615],[102.228191,32.666038],[102.228422,32.665926],[102.228474,32.665901],[102.228622,32.665829],[102.228653,32.665814],[102.228885,32.665702],[102.229116,32.66559],[102.229347,32.665478],[102.229482,32.665413],[102.229578,32.665367],[102.22961,32.665345],[102.229931,32.665124],[102.230283,32.664881],[102.230636,32.664639],[102.230988,32.664396],[102.231336,32.664118],[102.231684,32.66384],[102.23187,32.66367],[102.232056,32.663501],[102.232307,32.663241],[102.232557,32.662981],[102.232708,32.662785],[102.232859,32.662589],[102.233011,32.662393],[102.233162,32.662197],[102.23326,32.661956],[102.233358,32.661715],[102.233456,32.661474],[102.233554,32.661233],[102.233652,32.660993],[102.23375,32.660752],[102.233827,32.660589],[102.233978,32.66041],[102.234128,32.660249],[102.234275,32.660191],[102.234689,32.660097],[102.234697,32.660097],[102.235077,32.660086],[102.235319,32.660101],[102.23556,32.660116],[102.235971,32.660146],[102.236211,32.660182],[102.236451,32.660218],[102.236738,32.660326],[102.237123,32.660437],[102.237431,32.660669],[102.237598,32.660795],[102.237738,32.6609],[102.237937,32.66112],[102.237992,32.661181],[102.238135,32.661339],[102.238299,32.661516],[102.238463,32.661693],[102.238518,32.661757],[102.238627,32.661881],[102.239059,32.661973],[102.239196,32.661976],[102.239375,32.661979],[102.239691,32.661935],[102.240007,32.661891],[102.240235,32.661548],[102.240375,32.661337],[102.240514,32.661126],[102.240653,32.660934],[102.240791,32.660743],[102.241041,32.660504],[102.241317,32.660223],[102.241564,32.660005],[102.24186,32.659846],[102.242227,32.659742],[102.242593,32.659638],[102.242907,32.659624],[102.243293,32.659674],[102.243703,32.659714],[102.244113,32.659754],[102.244367,32.659735],[102.244621,32.659716],[102.244875,32.659697],[102.245128,32.659678],[102.245382,32.659659],[102.245636,32.65964],[102.24589,32.659621],[102.246143,32.659603],[102.246397,32.659584],[102.246651,32.659565],[102.24691,32.659526],[102.247169,32.659487],[102.247294,32.659469],[102.247429,32.659449],[102.247688,32.65941],[102.247947,32.659371],[102.248207,32.659333],[102.248448,32.659348],[102.24869,32.659363],[102.248931,32.659389],[102.248993,32.659396],[102.249158,32.659414],[102.249171,32.659415],[102.249244,32.659443],[102.24927,32.659452],[102.249338,32.659478],[102.24944,32.659516],[102.249459,32.659523],[102.249744,32.659714],[102.249932,32.659882],[102.250121,32.660049],[102.250455,32.660219],[102.250887,32.660331],[102.251174,32.660321],[102.251226,32.660319],[102.251493,32.660263],[102.251551,32.660248],[102.251667,32.660218],[102.25175,32.660197],[102.252006,32.660131],[102.252282,32.659791],[102.252283,32.65979],[102.252283,32.65979],[102.252283,32.65979],[102.252303,32.659765],[102.252484,32.659539],[102.252559,32.659444],[102.252684,32.659288],[102.252692,32.659281],[102.252871,32.659129],[102.253058,32.658969],[102.253381,32.65869],[102.253626,32.658573],[102.253872,32.658456],[102.254117,32.658379],[102.254458,32.658345],[102.254771,32.658352],[102.255058,32.65846],[102.255273,32.658567],[102.255487,32.658674],[102.255846,32.658805],[102.256085,32.658892],[102.256317,32.658836],[102.256323,32.658834],[102.256374,32.658822],[102.256425,32.658809],[102.256549,32.658779],[102.256768,32.658723],[102.257032,32.658475],[102.257189,32.658328],[102.257296,32.658228],[102.257424,32.657985],[102.257503,32.657772],[102.257582,32.657559],[102.257618,32.657298],[102.257655,32.657036],[102.257691,32.656775],[102.257727,32.656513],[102.257764,32.656252],[102.2578,32.65599],[102.257849,32.655552],[102.257899,32.655113],[102.257979,32.654859],[102.25806,32.654606],[102.25814,32.654352],[102.258221,32.654099],[102.258374,32.653836],[102.258552,32.653554],[102.258801,32.653284],[102.25905,32.653013],[102.259234,32.652841],[102.259418,32.652669],[102.259601,32.652496],[102.259785,32.652324],[102.259969,32.652152],[102.260152,32.65198],[102.260353,32.651791],[102.260553,32.651601],[102.260739,32.651432],[102.260925,32.651262],[102.261238,32.650941],[102.261454,32.650719],[102.26155,32.65062],[102.261753,32.650319],[102.261801,32.650206],[102.261883,32.650015],[102.26194,32.64973],[102.261944,32.649587],[102.261947,32.649481],[102.261955,32.649232],[102.261962,32.648983],[102.26197,32.648734],[102.261978,32.648485],[102.261985,32.648236],[102.261993,32.647987],[102.262,32.647738],[102.262008,32.647489],[102.262015,32.64724],[102.262055,32.646812],[102.262095,32.646383],[102.262135,32.645954],[102.262174,32.645526],[102.262245,32.645271],[102.262315,32.645017],[102.262385,32.644762],[102.262455,32.644508],[102.262542,32.644276],[102.262629,32.644045],[102.262717,32.643813],[102.262804,32.643582],[102.263076,32.643257],[102.263347,32.642931],[102.263619,32.642606],[102.263926,32.642291],[102.264233,32.641976],[102.26447,32.641733],[102.26454,32.641661],[102.2647,32.641484],[102.264859,32.641307],[102.265019,32.64113],[102.265179,32.640952],[102.265338,32.640775],[102.265498,32.640598],[102.265542,32.640501],[102.265594,32.640386],[102.26569,32.640174],[102.265786,32.639962],[102.265881,32.63975],[102.265977,32.639538],[102.266073,32.639326],[102.266169,32.639114],[102.266265,32.638902],[102.266267,32.638842],[102.266302,32.638571],[102.266336,32.638301],[102.266371,32.638031],[102.266406,32.63776],[102.266485,32.637506],[102.266565,32.637251],[102.266788,32.636956],[102.266974,32.636689],[102.267087,32.63651],[102.267252,32.636348],[102.267417,32.636185],[102.267532,32.635948],[102.267683,32.635649],[102.267797,32.635441],[102.267879,32.635082],[102.267873,32.634841],[102.267867,32.634599],[102.267861,32.634358],[102.267855,32.634117],[102.267849,32.633876],[102.267846,32.633787],[102.267842,32.633635],[102.267836,32.633394],[102.26783,32.633153],[102.267787,32.632919],[102.267743,32.632685],[102.267699,32.632451],[102.267656,32.632217],[102.267612,32.631983],[102.267568,32.63175],[102.267525,32.631516],[102.267481,32.631282],[102.267437,32.631048],[102.267394,32.630814],[102.26735,32.63058],[102.267306,32.630346],[102.267236,32.630082],[102.267166,32.629819],[102.267095,32.629555],[102.267025,32.629292],[102.266955,32.629028],[102.266884,32.628764],[102.266814,32.628501],[102.266744,32.628237],[102.266673,32.627974],[102.266603,32.62771],[102.266504,32.627479],[102.266406,32.627248],[102.266307,32.627017],[102.266208,32.626786],[102.266109,32.626555],[102.266011,32.626324],[102.265912,32.626092],[102.265813,32.625861],[102.265715,32.62563],[102.265616,32.625399],[102.26548,32.625119],[102.26536,32.624869],[102.265239,32.62462],[102.265119,32.624371],[102.264998,32.624122],[102.264878,32.623873],[102.264757,32.623624],[102.264637,32.623375],[102.264516,32.623126],[102.264415,32.622702],[102.264411,32.6225],[102.264407,32.622298],[102.264416,32.622023],[102.264455,32.621787],[102.264495,32.62155],[102.264534,32.621314],[102.264574,32.621078],[102.264613,32.620841],[102.264653,32.620605],[102.264722,32.620354],[102.264792,32.620103],[102.264862,32.619851],[102.264932,32.6196],[102.265002,32.619349],[102.265072,32.619098],[102.265142,32.618847],[102.265212,32.618596],[102.265291,32.618346],[102.26537,32.618097],[102.265449,32.61785],[102.26545,32.617848],[102.265529,32.617599],[102.265599,32.617382],[102.265609,32.61735],[102.265688,32.617101],[102.265768,32.616852],[102.265847,32.616603],[102.265927,32.616353],[102.265969,32.616219],[102.266006,32.616104],[102.266065,32.61592],[102.266086,32.615855],[102.266165,32.615606],[102.266225,32.615369],[102.266285,32.615132],[102.266345,32.614895],[102.266405,32.614658],[102.266413,32.614375],[102.266422,32.614092],[102.266449,32.613882],[102.266515,32.613725],[102.26657,32.613593],[102.26671,32.61341],[102.266851,32.613227],[102.267085,32.612876],[102.267319,32.612525],[102.267553,32.612175],[102.267591,32.61211],[102.267694,32.611935],[102.267817,32.611663],[102.267844,32.611388],[102.267858,32.610968],[102.267849,32.610612],[102.267839,32.610256],[102.267782,32.610022],[102.267725,32.609788],[102.267668,32.609554],[102.267611,32.609321],[102.267554,32.609087],[102.267497,32.608853],[102.26744,32.608619],[102.267383,32.608385],[102.267347,32.608239],[102.267341,32.608213],[102.267326,32.608151],[102.267269,32.607917],[102.26721,32.607683],[102.267176,32.607548],[102.267151,32.607448],[102.267092,32.607214],[102.267078,32.607156],[102.267068,32.607116],[102.267051,32.607047],[102.267034,32.606979],[102.266876,32.60665],[102.266719,32.606321],[102.26651,32.605944],[102.266282,32.605558],[102.266053,32.605171],[102.265759,32.604878],[102.265747,32.604865],[102.26544,32.604559],[102.265134,32.604253],[102.264827,32.603947],[102.264652,32.603784],[102.264478,32.60362],[102.264303,32.603457],[102.264129,32.603294],[102.263954,32.603131],[102.263779,32.602968],[102.263605,32.602805],[102.26343,32.602642],[102.263256,32.602479],[102.263081,32.602316],[102.262907,32.602152],[102.262732,32.601989],[102.262557,32.601826],[102.262383,32.601663],[102.262203,32.601518],[102.262105,32.601439],[102.262024,32.601374],[102.261845,32.601229],[102.261665,32.601084],[102.261486,32.60094],[102.261447,32.600908],[102.261413,32.600881],[102.261306,32.600795],[102.261127,32.60065],[102.260948,32.600505],[102.260768,32.600361],[102.260589,32.600216],[102.260433,32.600037],[102.260277,32.599859],[102.260122,32.59968],[102.259966,32.599501],[102.25981,32.599323],[102.259654,32.599144],[102.259499,32.598965],[102.259343,32.598787],[102.259187,32.598608],[102.259031,32.598429],[102.259009,32.598404],[102.258875,32.598251],[102.258869,32.598243],[102.258838,32.598207],[102.25872,32.598072],[102.258552,32.597914],[102.258385,32.597757],[102.258266,32.597552],[102.258147,32.597347],[102.258065,32.596958],[102.258045,32.59669],[102.258027,32.596454],[102.258025,32.596424],[102.258025,32.596423],[102.258026,32.596418],[102.258047,32.596314],[102.25805,32.596301],[102.258054,32.596284],[102.258077,32.596171],[102.25813,32.595918],[102.258182,32.595666],[102.258235,32.595413],[102.258287,32.595161],[102.25834,32.594908],[102.258461,32.59448],[102.258582,32.594051],[102.258704,32.593623],[102.258808,32.593407],[102.258913,32.593191],[102.259017,32.592974],[102.259046,32.592916],[102.259122,32.592758],[102.259226,32.592542],[102.259331,32.592326],[102.259435,32.59211],[102.25954,32.591894],[102.259644,32.591678],[102.259749,32.591462],[102.259894,32.591109],[102.259904,32.59109],[102.260057,32.590806],[102.260157,32.590662],[102.260317,32.590424],[102.260466,32.590248],[102.260615,32.590073],[102.260775,32.589866],[102.260993,32.589596],[102.261173,32.589373],[102.261314,32.589134],[102.261458,32.588829],[102.261544,32.588507],[102.261591,32.5882],[102.261618,32.587934],[102.261646,32.587667],[102.261674,32.587401],[102.261702,32.587135],[102.261665,32.586895],[102.261629,32.586656],[102.261593,32.586417],[102.261557,32.586177],[102.261478,32.585957],[102.261398,32.585737],[102.261319,32.585517],[102.261239,32.585297],[102.261117,32.584922],[102.261069,32.584613],[102.261078,32.58429],[102.261106,32.583999],[102.261134,32.583773],[102.261137,32.583643],[102.261177,32.583451],[102.261181,32.583434],[102.261225,32.58329],[102.261305,32.58313],[102.261506,32.582827],[102.261648,32.582571],[102.261828,32.582316],[102.261969,32.582076],[102.262076,32.581739],[102.262165,32.581336],[102.262254,32.580934],[102.262343,32.580532],[102.26239,32.580089],[102.262438,32.579647],[102.262486,32.579205],[102.262534,32.578762],[102.262581,32.57832],[102.262596,32.578248],[102.262631,32.578083],[102.26268,32.577847],[102.26273,32.57761],[102.26278,32.577374],[102.262829,32.577137],[102.262879,32.5769],[102.262928,32.576664],[102.262978,32.576427],[102.263027,32.57619],[102.263077,32.575954],[102.263101,32.575825],[102.263176,32.575543],[102.263252,32.575262],[102.263436,32.574876],[102.263637,32.574565],[102.263838,32.574254],[102.264017,32.574016],[102.264361,32.57374],[102.264704,32.573464],[102.264939,32.573316],[102.265173,32.573167],[102.265407,32.573018],[102.265641,32.572869],[102.265875,32.572721],[102.26611,32.572572],[102.266339,32.572427],[102.266568,32.572283],[102.266797,32.572138],[102.267026,32.571993],[102.267255,32.571848],[102.267484,32.571703],[102.267693,32.571619],[102.267901,32.571534],[102.268109,32.57145],[102.268318,32.571365],[102.26865,32.571178],[102.26894,32.571039],[102.269163,32.570939],[102.269387,32.570838],[102.269621,32.57069],[102.269855,32.570541],[102.270089,32.570393],[102.270323,32.570245],[102.270501,32.570083],[102.270678,32.569921],[102.270855,32.569759],[102.271033,32.569597],[102.27121,32.569435],[102.271388,32.569273],[102.271565,32.569111],[102.271743,32.568948],[102.271928,32.568801],[102.272112,32.568653],[102.272297,32.568506],[102.272482,32.568358],[102.272666,32.56821],[102.272851,32.568063],[102.273036,32.567915],[102.273221,32.567768],[102.273431,32.567594],[102.273642,32.567421],[102.273853,32.567247],[102.274064,32.567074],[102.274226,32.566904],[102.274388,32.566735],[102.274551,32.566565],[102.274713,32.566395],[102.274875,32.566226],[102.275037,32.566056],[102.275199,32.565886],[102.275362,32.565716],[102.275524,32.565547],[102.275686,32.565377],[102.275851,32.565215],[102.276016,32.565052],[102.276181,32.56489],[102.276346,32.564728],[102.276511,32.564565],[102.276676,32.564403],[102.276842,32.564241],[102.277007,32.564078],[102.277216,32.563916],[102.277425,32.563753],[102.277634,32.56359],[102.277843,32.563427],[102.278052,32.563264],[102.278261,32.563102],[102.278454,32.562973],[102.278647,32.562845],[102.278839,32.562717],[102.279032,32.562589],[102.279225,32.562461],[102.279417,32.562333],[102.279681,32.562161],[102.279944,32.561989],[102.280204,32.561622],[102.280326,32.561398],[102.280469,32.561125],[102.280572,32.560853],[102.280638,32.560564],[102.280704,32.560306],[102.280732,32.559967],[102.280743,32.559626],[102.280735,32.559354],[102.280734,32.559302],[102.28066,32.559042],[102.280587,32.558782],[102.280513,32.558521],[102.28044,32.558261],[102.280329,32.558042],[102.280317,32.558018],[102.280218,32.557823],[102.280107,32.557604],[102.279996,32.557385],[102.279885,32.557166],[102.279774,32.556947],[102.279663,32.556729],[102.279553,32.55651],[102.279485,32.556233],[102.279419,32.555891],[102.279425,32.555666],[102.279491,32.555408],[102.279593,32.555151],[102.279795,32.554799],[102.279918,32.554559],[102.28004,32.554383],[102.280276,32.554146],[102.280501,32.554005],[102.280726,32.553863],[102.280951,32.553722],[102.281177,32.55358],[102.281402,32.553439],[102.281627,32.553297],[102.281853,32.553156],[102.282078,32.553014],[102.282303,32.552873],[102.282528,32.552731],[102.282754,32.55259],[102.282979,32.552448],[102.283204,32.552307],[102.283348,32.552217],[102.28343,32.552165],[102.283677,32.552057],[102.283839,32.551986],[102.283924,32.551949],[102.283953,32.551937],[102.284171,32.551841],[102.284418,32.551733],[102.284666,32.551625],[102.284913,32.551517],[102.28516,32.55141],[102.285407,32.551302],[102.285756,32.551163],[102.286105,32.551025],[102.286453,32.550887],[102.286742,32.550829],[102.28703,32.55077],[102.287376,32.550753],[102.287721,32.550736],[102.287962,32.550693],[102.288203,32.550649],[102.2884,32.550609],[102.288978,32.55096],[102.289086,32.551026],[102.289096,32.551032],[102.289111,32.551039],[102.289115,32.551044],[102.289186,32.551087],[102.290274,32.551748],[102.292411,32.552783],[102.292504,32.552828],[102.29276,32.552991],[102.293699,32.553591],[102.294988,32.554134],[102.296448,32.554755],[102.298365,32.554649],[102.300189,32.554762],[102.301324,32.554639],[102.302104,32.554729],[102.302954,32.555411],[102.304401,32.556473],[102.306281,32.557619],[102.307993,32.55854],[102.309784,32.559757],[102.310799,32.560737],[102.312079,32.561575],[102.314074,32.561765],[102.31669,32.5616],[102.318094,32.561187],[102.319668,32.560926],[102.321407,32.560963],[102.322418,32.560466],[102.322485,32.560433],[102.322555,32.560398],[102.322969,32.560219],[102.323031,32.560192],[102.323525,32.559977],[102.323552,32.559976],[102.323697,32.559917],[102.323706,32.559915],[102.32385,32.559884],[102.323856,32.559882],[102.324016,32.559867],[102.32406,32.559863],[102.324067,32.559862],[102.324288,32.559863],[102.324574,32.559872],[102.324613,32.559874],[102.324932,32.559491],[102.325323,32.558026],[102.326171,32.555833],[102.326524,32.555242],[102.32676,32.554848],[102.326793,32.554865],[102.326831,32.554874],[102.326996,32.554451],[102.327033,32.554427],[102.327067,32.554405],[102.328045,32.553776],[102.328214,32.553667],[102.32853,32.553583],[102.328755,32.553524],[102.328977,32.553487],[102.329052,32.553474],[102.329113,32.553464],[102.33093,32.553798],[102.331867,32.553762],[102.332677,32.55284],[102.333546,32.55214],[102.334344,32.551659],[102.336023,32.552248],[102.33634,32.552322],[102.336358,32.552326],[102.336378,32.552331],[102.336436,32.552345],[102.33656,32.552374],[102.336584,32.552379],[102.336695,32.552405],[102.336849,32.552441],[102.337578,32.552612],[102.337747,32.552734],[102.338165,32.553037],[102.338258,32.553062],[102.338364,32.553181],[102.338472,32.553259],[102.33851,32.553287],[102.3386,32.553352],[102.33868,32.553364],[102.340021,32.553555],[102.34042,32.553612],[102.340496,32.553624],[102.340656,32.553649],[102.340686,32.553653],[102.340766,32.553666],[102.341371,32.55376],[102.343833,32.554143],[102.344319,32.554218],[102.345357,32.55438],[102.345758,32.554485],[102.345826,32.554502],[102.345829,32.554503],[102.34583,32.554504],[102.345877,32.554516],[102.346591,32.554702],[102.346649,32.554718],[102.346683,32.554727],[102.346714,32.554735],[102.346736,32.55474],[102.346762,32.554785],[102.346801,32.554847],[102.34683,32.554943],[102.346816,32.55505],[102.349894,32.555709],[102.349823,32.555859],[102.349919,32.55586],[102.349923,32.55586],[102.349925,32.555861],[102.349986,32.555876],[102.349987,32.555876],[102.349991,32.555878],[102.349991,32.555878],[102.35,32.555883],[102.349989,32.555919],[102.349878,32.556201],[102.349798,32.556311],[102.349759,32.556404],[102.349703,32.55654],[102.349695,32.556553],[102.349512,32.556771],[102.349418,32.556897],[102.349318,32.557032],[102.349231,32.55715],[102.349142,32.557271],[102.349038,32.557411],[102.348932,32.557554],[102.348847,32.55767],[102.348749,32.557802],[102.348666,32.557914],[102.348583,32.558026],[102.348522,32.558109],[102.348425,32.558238],[102.348367,32.558314],[102.346041,32.561381],[102.346003,32.56141],[102.345821,32.561634],[102.345548,32.561984],[102.345343,32.562247],[102.345385,32.562283],[102.345399,32.562296],[102.345415,32.56231],[102.345486,32.562374],[102.34583,32.56268],[102.345982,32.56263],[102.34695,32.562316],[102.347883,32.561673],[102.348553,32.561079],[102.349333,32.561206],[102.349438,32.561272],[102.349447,32.561278],[102.349503,32.561313],[102.352248,32.563027],[102.354179,32.563897],[102.3566,32.564735],[102.358537,32.565397],[102.360432,32.565851],[102.361909,32.565818],[102.362341,32.565808],[102.363617,32.565669],[102.36504,32.565492],[102.366579,32.564737],[102.367625,32.564096],[102.369078,32.562925],[102.36994,32.561866],[102.370662,32.560597],[102.371375,32.559618],[102.371833,32.559007],[102.372095,32.558432],[102.371835,32.557267],[102.371419,32.55643],[102.37106,32.555345],[102.371336,32.554274],[102.371367,32.553198],[102.371143,32.552489],[102.371114,32.551825],[102.371133,32.551163],[102.370768,32.550244],[102.370621,32.548584],[102.370863,32.547015],[102.371485,32.545785],[102.371856,32.544799],[102.37271,32.54403],[102.373359,32.543588],[102.374689,32.543243],[102.37572,32.542705],[102.374962,32.542285],[102.373745,32.541235],[102.373035,32.540443],[102.372261,32.539308],[102.371856,32.538088],[102.371844,32.537249],[102.372117,32.536696],[102.372542,32.535959],[102.373334,32.535199],[102.37504,32.534551],[102.376016,32.533795],[102.376584,32.533185],[102.377136,32.531861],[102.377549,32.530254],[102.377631,32.528702],[102.377972,32.527063],[102.377871,32.525476],[102.377822,32.524668],[102.378211,32.523868],[102.379417,32.522775],[102.380539,32.522021],[102.381558,32.521017],[102.382207,32.52013],[102.382852,32.519367],[102.383332,32.51801],[102.383771,32.516776],[102.383657,32.515655],[102.383724,32.5146],[102.383698,32.512953],[102.383621,32.511833],[102.383438,32.510556],[102.383064,32.509554],[102.382738,32.508149],[102.382615,32.507307],[102.383365,32.506733],[102.385074,32.50596],[102.38572,32.505197],[102.387068,32.5042],[102.388941,32.502841],[102.390805,32.501761],[102.39145,32.500998],[102.392357,32.500053],[102.39345,32.49902],[102.394946,32.49672],[102.395597,32.495771],[102.396198,32.495255],[102.39755,32.494134],[102.398591,32.493627],[102.39955,32.493429],[102.401838,32.492886],[102.403426,32.492484],[102.404943,32.492018],[102.406641,32.491587],[102.408235,32.490968],[102.409793,32.490316],[102.410346,32.490203],[102.4104,32.490262],[102.411555,32.491533],[102.412076,32.492538],[102.412626,32.493823],[102.413291,32.494893],[102.414039,32.495654],[102.414671,32.49663],[102.415415,32.497547],[102.416129,32.498214],[102.41708,32.498295],[102.417991,32.498501],[102.418382,32.498912],[102.419134,32.499549],[102.419839,32.500527],[102.420953,32.501327],[102.421837,32.502463],[102.422733,32.503165],[102.423334,32.503954],[102.423749,32.504832],[102.424621,32.506404],[102.425108,32.507315],[102.425522,32.508224],[102.425981,32.508855],[102.426506,32.509704],[102.426945,32.509744],[102.427608,32.509634],[102.428243,32.509243],[102.429025,32.508824],[102.429867,32.508841],[102.430677,32.508733],[102.431598,32.508597],[102.432183,32.50864],[102.432931,32.509401],[102.43312,32.509575],[102.433824,32.510227],[102.433868,32.510285],[102.434672,32.511362],[102.435728,32.512906],[102.436284,32.514005],[102.436475,32.515003],[102.43655,32.516247],[102.436476,32.51755],[102.436642,32.518175],[102.437275,32.51912],[102.438334,32.520571],[102.438827,32.521264],[102.439554,32.522802],[102.440397,32.524124],[102.441493,32.525544],[102.44224,32.526367],[102.443353,32.528502],[102.443733,32.529318],[102.444486,32.529924],[102.445242,32.530436],[102.445887,32.530977],[102.446146,32.532194],[102.446018,32.534118],[102.445949,32.535266],[102.445777,32.536164],[102.445894,32.537191],[102.446332,32.538567],[102.446959,32.53973],[102.448003,32.541739],[102.448533,32.542433],[102.448991,32.543126],[102.449447,32.54385],[102.449856,32.544946],[102.450201,32.54573],[102.451184,32.547272],[102.451482,32.547123],[102.452302,32.546642],[102.453052,32.546067],[102.454127,32.545685],[102.455121,32.54555],[102.456446,32.54539],[102.457791,32.545821],[102.458958,32.546062],[102.459078,32.546094],[102.460086,32.546365],[102.463179,32.547266],[102.4643,32.547848],[102.46605,32.548225],[102.467287,32.548592],[102.468744,32.548963],[102.470299,32.54974],[102.471013,32.550438],[102.472159,32.551424],[102.473065,32.551846],[102.47367,32.55248],[102.474416,32.553365],[102.475829,32.553983],[102.476735,32.554374],[102.477734,32.554084],[102.478815,32.553484],[102.479813,32.553193],[102.480878,32.553153],[102.481977,32.553206],[102.483219,32.553417],[102.484481,32.554188],[102.485368,32.555262],[102.486081,32.555991],[102.487423,32.556546],[102.489647,32.557056],[102.491842,32.557256],[102.492686,32.557272],[102.494116,32.557301],[102.495354,32.557636],[102.496292,32.558183],[102.496792,32.55869],[102.497559,32.558799],[102.49861,32.559286],[102.499293,32.559765],[102.500186,32.560653],[102.500606,32.561157],[102.501691,32.561911],[102.502444,32.562496],[102.503587,32.562885],[102.504697,32.562744],[102.506481,32.562576],[102.507486,32.562718],[102.50877,32.563232],[102.510436,32.563876],[102.511419,32.564832],[102.512154,32.566068],[102.512405,32.566541],[102.512657,32.567015],[102.51295,32.567733],[102.513242,32.568451],[102.514165,32.571605],[102.514792,32.573286],[102.515348,32.57403],[102.515912,32.57453],[102.516473,32.574236],[102.517034,32.573942],[102.517669,32.573588],[102.518304,32.573234],[102.519256,32.572703],[102.520208,32.572172],[102.521015,32.571679],[102.521822,32.571186],[102.522416,32.570587],[102.523355,32.569669],[102.5254,32.568732],[102.526094,32.569723],[102.526843,32.570471],[102.527781,32.571344],[102.529045,32.572591],[102.530168,32.573712],[102.530854,32.574988],[102.531133,32.575374],[102.531688,32.576144],[102.532809,32.577347],[102.534077,32.578471],[102.535204,32.579471],[102.536107,32.579855],[102.537194,32.580568],[102.539476,32.581509],[102.540609,32.582305],[102.541491,32.583462],[102.541791,32.583844],[102.54218,32.584338],[102.542467,32.584703],[102.543554,32.585416],[102.544673,32.5867],[102.54536,32.587976],[102.545678,32.588996],[102.545921,32.590114],[102.545948,32.591135],[102.546462,32.592397],[102.54731,32.593434],[102.548332,32.59415],[102.549407,32.594913],[102.549878,32.595711],[102.550069,32.596782],[102.550293,32.598595],[102.550447,32.59897],[102.550905,32.600277],[102.551303,32.60177],[102.551884,32.60257],[102.552908,32.603193],[102.554367,32.603963],[102.555829,32.604595],[102.556955,32.605545],[102.557915,32.606495],[102.557927,32.607061],[102.557933,32.607364],[102.557939,32.607651],[102.559003,32.608832],[102.559016,32.609776],[102.559021,32.610177],[102.559138,32.611041],[102.559204,32.611526],[102.55848,32.612442],[102.558409,32.612531],[102.557392,32.613671],[102.556752,32.615004],[102.556441,32.61639],[102.555649,32.617302],[102.554907,32.618354],[102.554006,32.619265],[102.552711,32.620455],[102.552375,32.620764],[102.550863,32.62194],[102.550262,32.621882],[102.548618,32.62185],[102.546576,32.622367],[102.544679,32.623582],[102.543939,32.624588],[102.542642,32.625908],[102.540786,32.627635],[102.539552,32.628631],[102.537873,32.629897],[102.536416,32.631074],[102.535564,32.632125],[102.534097,32.633673],[102.53276,32.634435],[102.530926,32.635327],[102.529309,32.636316],[102.52798,32.6368],[102.527296,32.63776],[102.526438,32.639042],[102.525754,32.640003],[102.524899,32.641192],[102.523992,32.642241],[102.523307,32.643248],[102.521664,32.645164],[102.520916,32.646448],[102.520448,32.647506],[102.52031,32.648524],[102.520001,32.64977],[102.519915,32.650928],[102.519496,32.652172],[102.519503,32.653935],[102.519855,32.655056],[102.51988,32.65512],[102.520021,32.655484],[102.520043,32.65554],[102.52047,32.656645],[102.520796,32.658739],[102.521132,32.660462],[102.521262,32.661717],[102.521115,32.663059],[102.521091,32.66394],[102.521381,32.665338],[102.521565,32.66664],[102.522027,32.667118],[102.522782,32.668224],[102.523542,32.669141],[102.524245,32.670104],[102.52453,32.670541],[102.524742,32.670868],[102.525214,32.671594],[102.525301,32.672498],[102.525806,32.674549],[102.525959,32.675027],[102.526549,32.676878],[102.526578,32.676968],[102.526736,32.677462],[102.527029,32.678396],[102.5272,32.678942],[102.527282,32.679131],[102.527495,32.679618],[102.527779,32.68027],[102.527947,32.680656],[102.528097,32.681001],[102.52822,32.681302],[102.528275,32.681436],[102.528298,32.681492],[102.528939,32.683058],[102.529464,32.68435],[102.529523,32.684686],[102.529572,32.684969],[102.529755,32.686017],[102.52993,32.687429],[102.529948,32.68758],[102.529975,32.687791],[102.529975,32.687791],[102.529985,32.687872],[102.530726,32.689501],[102.530923,32.689729],[102.531977,32.690949],[102.533055,32.69229],[102.533356,32.692665],[102.533876,32.693312],[102.534739,32.69445],[102.535047,32.694857],[102.535447,32.695384],[102.535735,32.696639],[102.535783,32.696847],[102.535798,32.696909],[102.536601,32.698301],[102.535597,32.698092],[102.534147,32.697731],[102.531396,32.697772],[102.53041,32.697799],[102.529879,32.697813],[102.528949,32.697838],[102.527351,32.697882],[102.526799,32.697831],[102.526433,32.697797],[102.525392,32.697701],[102.523367,32.697851],[102.523164,32.697857],[102.523039,32.697861],[102.519425,32.697971],[102.518648,32.697995],[102.518122,32.698068],[102.517859,32.698104],[102.517796,32.698112],[102.517796,32.698113],[102.517795,32.698113],[102.517768,32.698116],[102.517738,32.698121],[102.517212,32.698193],[102.517204,32.698194],[102.517151,32.698202],[102.517149,32.698202],[102.51627,32.698323],[102.516141,32.698341],[102.515943,32.698368],[102.515786,32.698361],[102.515777,32.69836],[102.515754,32.698359],[102.515608,32.698352],[102.515484,32.698346],[102.515438,32.698344],[102.515414,32.698343],[102.514305,32.69829],[102.514262,32.698288],[102.513131,32.69821],[102.512285,32.698152],[102.511348,32.698088],[102.511166,32.698065],[102.509502,32.697861],[102.509215,32.697769],[102.507934,32.69736],[102.507444,32.697203],[102.506688,32.696966],[102.50583,32.696696],[102.505234,32.696437],[102.503889,32.695851],[102.500492,32.69406],[102.500386,32.693993],[102.500211,32.693882],[102.499525,32.693627],[102.499003,32.69334],[102.497618,32.693278],[102.497331,32.693371],[102.496712,32.693571],[102.496321,32.69363],[102.495114,32.693815],[102.493923,32.694136],[102.492317,32.694655],[102.491319,32.695325],[102.49061,32.695897],[102.490429,32.696549],[102.490532,32.698391],[102.49058,32.698415],[102.490842,32.699282],[102.490906,32.699904],[102.491016,32.701804],[102.491064,32.702137],[102.49109,32.702322],[102.491104,32.702415],[102.491175,32.702907],[102.491183,32.702962],[102.491255,32.703464],[102.491399,32.704139],[102.491543,32.704815],[102.491631,32.705317],[102.491719,32.705819],[102.492025,32.706549],[102.492331,32.707279],[102.492622,32.707803],[102.492914,32.708326],[102.493385,32.708991],[102.493856,32.709655],[102.494348,32.710286],[102.49484,32.710917],[102.495136,32.711285],[102.495432,32.711653],[102.495767,32.712073],[102.496102,32.712494],[102.496531,32.71321],[102.496959,32.713925],[102.49707,32.714359],[102.49718,32.714792],[102.497412,32.715245],[102.497644,32.715698],[102.497995,32.716291],[102.498345,32.716885],[102.498375,32.717282],[102.498405,32.717679],[102.498409,32.718248],[102.498414,32.718818],[102.498422,32.719266],[102.49843,32.719715],[102.498577,32.720269],[102.498725,32.720824],[102.498832,32.721361],[102.49894,32.721898],[102.499112,32.722315],[102.499284,32.722732],[102.499438,32.723063],[102.499592,32.723394],[102.499828,32.723692],[102.500065,32.72399],[102.500346,32.724151],[102.500627,32.724311],[102.50109,32.725033],[102.501553,32.725754],[102.501973,32.72643],[102.502393,32.727106],[102.502505,32.727813],[102.502617,32.728519],[102.502643,32.72915],[102.502669,32.729781],[102.502666,32.729885],[102.502664,32.729988],[102.502662,32.730055],[102.502637,32.730957],[102.502601,32.732227],[102.502609,32.732461],[102.502644,32.733493],[102.502649,32.733637],[102.5027,32.733757],[102.502777,32.733942],[102.503308,32.735207],[102.503789,32.737993],[102.503744,32.739619],[102.503859,32.740319],[102.50403,32.741365],[102.504039,32.741419],[102.504047,32.741937],[102.504051,32.742242],[102.504056,32.742587],[102.504698,32.744352],[102.505915,32.746712],[102.50593,32.746729],[102.507251,32.748257],[102.507493,32.748537],[102.507648,32.748691],[102.507986,32.749029],[102.508823,32.749863],[102.50903,32.750069],[102.510096,32.7508],[102.510977,32.751402],[102.513051,32.752819],[102.515087,32.754152],[102.516244,32.755135],[102.516861,32.756023],[102.517078,32.757112],[102.517079,32.758864],[102.516983,32.76053],[102.517102,32.761576],[102.517273,32.762538],[102.517578,32.764004],[102.516656,32.765196],[102.515981,32.766392],[102.515761,32.76718],[102.515443,32.767967],[102.514966,32.769167],[102.514105,32.771694],[102.513882,32.772608],[102.513609,32.773562],[102.513343,32.774527],[102.51306,32.775553],[102.512259,32.77764],[102.512186,32.777831],[102.512155,32.777913],[102.511574,32.779277],[102.510617,32.78036],[102.510271,32.780752],[102.510266,32.780757],[102.510201,32.78083],[102.510197,32.780835],[102.510189,32.780844],[102.510189,32.780845],[102.510189,32.780845],[102.510189,32.780845],[102.510178,32.780858],[102.510073,32.780984],[102.510024,32.781043],[102.510009,32.781062],[102.510009,32.781062],[102.510009,32.781062],[102.509912,32.781178],[102.50989,32.781205],[102.509817,32.781214],[102.509771,32.78122],[102.509279,32.781286],[102.5088,32.78135],[102.508286,32.781517],[102.508275,32.78152],[102.508199,32.781545],[102.508198,32.781545],[102.508188,32.781549],[102.507953,32.781625],[102.507932,32.781638],[102.507897,32.781662],[102.507803,32.781723],[102.507766,32.781748],[102.5074,32.781989],[102.507134,32.782651],[102.507301,32.783739],[102.508457,32.784805],[102.51011,32.785714],[102.510517,32.786236],[102.510549,32.786278],[102.510969,32.786816],[102.510992,32.787734],[102.510518,32.788809],[102.510266,32.789151],[102.509851,32.789713],[102.50972,32.789768],[102.509469,32.789874],[102.509383,32.789911],[102.509337,32.78993],[102.509164,32.790003],[102.509001,32.790072],[102.508743,32.79008],[102.50869,32.790082],[102.508606,32.790085],[102.508393,32.790092],[102.50821,32.790098],[102.508191,32.79008],[102.507873,32.789799],[102.507965,32.789429],[102.508047,32.789097],[102.508079,32.78897],[102.50812,32.788804],[102.508151,32.788678],[102.508389,32.788239],[102.508444,32.788136],[102.50862,32.787812],[102.508552,32.787428],[102.508526,32.787282],[102.508449,32.786849],[102.507623,32.786374],[102.506392,32.786224],[102.50592,32.786141],[102.505311,32.786035],[102.504282,32.785765],[102.504006,32.78575],[102.503785,32.785738],[102.503049,32.785698],[102.501936,32.786064],[102.501923,32.786069],[102.501884,32.786081],[102.501853,32.786092],[102.501849,32.786096],[102.501844,32.7861],[102.501785,32.786155],[102.501756,32.786183],[102.5015,32.786423],[102.50146,32.786461],[102.501361,32.786554],[102.501244,32.786663],[102.501171,32.786828],[102.500958,32.787305],[102.500876,32.78749],[102.500866,32.78783],[102.50085,32.788408],[102.500847,32.788526],[102.500834,32.788964],[102.500832,32.789058],[102.500825,32.789283],[102.500816,32.789612],[102.500808,32.789908],[102.500871,32.790208],[102.500526,32.790463],[102.499896,32.790929],[102.499671,32.79104],[102.499216,32.791264],[102.499195,32.791265],[102.498545,32.791294],[102.497803,32.791083],[102.497119,32.790656],[102.496484,32.790294],[102.496227,32.790781],[102.496206,32.790821],[102.496141,32.790943],[102.495977,32.791253],[102.495958,32.79129],[102.495957,32.791291],[102.495942,32.79132],[102.495743,32.791696],[102.495741,32.791699],[102.495701,32.791776],[102.495681,32.791814],[102.495664,32.791847],[102.495631,32.791908],[102.495601,32.791966],[102.495368,32.792407],[102.495357,32.79243],[102.495353,32.792439],[102.495339,32.792471],[102.495326,32.792499],[102.495311,32.792533],[102.495295,32.792567],[102.494921,32.793398],[102.494913,32.793415],[102.4949,32.793443],[102.494882,32.793483],[102.494849,32.793556],[102.494832,32.793593],[102.492391,32.799006],[102.492233,32.799358],[102.49192,32.800476],[102.491908,32.80052],[102.491803,32.800895],[102.491777,32.801788],[102.492419,32.802825],[102.493538,32.804306],[102.493553,32.80433],[102.494254,32.805432],[102.495026,32.80679],[102.495057,32.806843],[102.495058,32.806845],[102.495059,32.806847],[102.495091,32.806903],[102.495094,32.806909],[102.495557,32.807723],[102.496219,32.808956],[102.497089,32.810106],[102.497608,32.810922],[102.498223,32.81198],[102.498437,32.812638],[102.498573,32.813294],[102.498883,32.814215],[102.499278,32.814855],[102.49959,32.815689],[102.499831,32.816281],[102.500433,32.816903],[102.500655,32.817166],[102.501321,32.817952],[102.501299,32.818746],[102.501091,32.819456],[102.500798,32.819848],[102.500413,32.820158],[102.500339,32.820256],[102.500151,32.820513],[102.49959,32.821199],[102.498942,32.82221],[102.498588,32.8229],[102.498463,32.82366],[102.498227,32.824722],[102.498076,32.825525],[102.4977,32.82604],[102.497083,32.826899],[102.495954,32.829005],[102.495721,32.829684],[102.495588,32.830294],[102.495507,32.830836],[102.495287,32.832198],[102.495258,32.833215],[102.495307,32.834429],[102.495517,32.835172],[102.495487,32.835659],[102.49553,32.836469],[102.495488,32.836897],[102.495484,32.836942],[102.495393,32.837247],[102.495116,32.837687],[102.494919,32.838241],[102.49473,32.839101],[102.494596,32.839754],[102.494555,32.840302],[102.494771,32.840636],[102.495224,32.841623],[102.495537,32.842264],[102.495721,32.842674],[102.496027,32.843048],[102.496249,32.843674],[102.496327,32.84412],[102.496437,32.84449],[102.496502,32.84486],[102.496385,32.845276],[102.495856,32.8459],[102.494546,32.847029],[102.49356,32.847885],[102.492679,32.848706],[102.491861,32.849463],[102.490759,32.850338],[102.490281,32.850567],[102.489742,32.850826],[102.48862,32.851531],[102.487537,32.852254],[102.486855,32.85272],[102.486127,32.852953],[102.485238,32.853184],[102.484649,32.853194],[102.484003,32.853362],[102.483244,32.85373],[102.481971,32.854314],[102.481052,32.854679],[102.480214,32.854978],[102.479001,32.855337],[102.478111,32.85559],[102.477274,32.855889],[102.476142,32.856205],[102.475173,32.856433],[102.474545,32.856895],[102.474161,32.857282],[102.473931,32.857514],[102.473231,32.858282],[102.47278,32.859116],[102.472702,32.859232],[102.472222,32.859947],[102.471984,32.860785],[102.471528,32.861768],[102.470434,32.863912],[102.469976,32.864956],[102.469819,32.865465],[102.469365,32.866388],[102.469019,32.867284],[102.468038,32.869159],[102.467217,32.870467],[102.466829,32.871572],[102.466809,32.872264],[102.466789,32.872955],[102.466629,32.873584],[102.466434,32.874182],[102.465427,32.875726],[102.464908,32.876407],[102.464274,32.877387],[102.463539,32.878155],[102.463198,32.87887],[102.463072,32.879529],[102.463009,32.880491],[102.463611,32.881887],[102.463871,32.882795],[102.46356,32.883691],[102.463218,32.884437],[102.463022,32.885034],[102.462597,32.886199],[102.462401,32.886827],[102.462111,32.886972],[102.461397,32.887017],[102.460608,32.887152],[102.460165,32.887684],[102.459612,32.888305],[102.459053,32.889166],[102.458239,32.890203],[102.45739,32.891208],[102.45657,32.892425],[102.456305,32.892992],[102.456412,32.894227],[102.456252,32.89609],[102.456064,32.89765],[102.456207,32.898887],[102.456001,32.902145],[102.456122,32.903515],[102.456031,32.904303],[102.455844,32.905262],[102.455799,32.905636],[102.455754,32.906011],[102.45571,32.906751],[102.455666,32.907492],[102.455584,32.907943],[102.455503,32.908393],[102.455421,32.908864],[102.455339,32.909334],[102.45526,32.909717],[102.45518,32.910101],[102.45526,32.910487],[102.455341,32.910874],[102.455408,32.911299],[102.455476,32.911724],[102.455475,32.912157],[102.455474,32.912591],[102.455472,32.913062],[102.45547,32.913534],[102.45562,32.913855],[102.455771,32.914176],[102.455876,32.914515],[102.45598,32.914854],[102.456185,32.915263],[102.45639,32.915671],[102.45673,32.916159],[102.45707,32.916648],[102.457233,32.916949],[102.457395,32.917251],[102.457431,32.917608],[102.457466,32.917965],[102.45745,32.918523],[102.457434,32.919081],[102.457412,32.919221],[102.457389,32.919361],[102.457323,32.919772],[102.45741,32.921526],[102.457363,32.922373],[102.457186,32.922966],[102.456974,32.923193],[102.456693,32.923437],[102.455973,32.923866],[102.455301,32.924218],[102.454694,32.924668],[102.454021,32.925039],[102.453259,32.925351],[102.452633,32.925685],[102.452324,32.926121],[102.451945,32.926576],[102.451478,32.926932],[102.45119,32.927446],[102.450741,32.927976],[102.450068,32.928328],[102.449606,32.928531],[102.449481,32.928894],[102.449331,32.929353],[102.449001,32.929712],[102.448442,32.930105],[102.447794,32.930381],[102.446633,32.931069],[102.445596,32.931414],[102.444741,32.931762],[102.444338,32.932255],[102.444121,32.932655],[102.44351,32.933259],[102.442815,32.934419],[102.44229,32.935178],[102.441734,32.935456],[102.440916,32.935324],[102.440455,32.935375],[102.44039,32.935328],[102.440358,32.935305],[102.440217,32.935204],[102.440052,32.935086],[102.440038,32.935076],[102.439918,32.93499],[102.439561,32.934787],[102.439204,32.934584],[102.438942,32.934421],[102.43868,32.934259],[102.438465,32.934126],[102.438251,32.933994],[102.438037,32.933861],[102.437822,32.933728],[102.437599,32.933479],[102.437429,32.933329],[102.437258,32.933179],[102.437044,32.93304],[102.43683,32.932901],[102.436558,32.93276],[102.436286,32.93262],[102.435943,32.932442],[102.435726,32.932376],[102.43551,32.932311],[102.435077,32.932253],[102.434716,32.93216],[102.434355,32.932067],[102.434053,32.931963],[102.43375,32.931859],[102.433508,32.931707],[102.433265,32.931555],[102.433041,32.931306],[102.43283,32.931057],[102.432619,32.930808],[102.432462,32.930619],[102.432305,32.93043],[102.432149,32.930241],[102.431992,32.930052],[102.431835,32.929863],[102.431678,32.929675],[102.431521,32.929486],[102.431364,32.929297],[102.431207,32.929108],[102.431051,32.928919],[102.430894,32.92873],[102.430737,32.928541],[102.430619,32.928333],[102.430502,32.928124],[102.430384,32.927915],[102.430266,32.927706],[102.430149,32.927498],[102.430031,32.927289],[102.429913,32.92708],[102.429796,32.926872],[102.429678,32.926663],[102.42956,32.926454],[102.429437,32.926209],[102.429313,32.925965],[102.429189,32.92572],[102.429066,32.925475],[102.428942,32.92523],[102.428818,32.924985],[102.428694,32.92474],[102.428571,32.924496],[102.428447,32.924251],[102.428323,32.924006],[102.428071,32.923683],[102.427759,32.923407],[102.427502,32.923255],[102.427299,32.923251],[102.427067,32.923247],[102.426817,32.923339],[102.426567,32.923432],[102.426287,32.923573],[102.426006,32.923715],[102.425754,32.923893],[102.425502,32.924071],[102.425147,32.924284],[102.424792,32.924497],[102.424585,32.924639],[102.424377,32.924782],[102.42417,32.924924],[102.423962,32.925067],[102.42375,32.92518],[102.423537,32.925293],[102.423324,32.925406],[102.423112,32.925519],[102.422899,32.925632],[102.422687,32.925745],[102.422474,32.925858],[102.422262,32.925971],[102.422049,32.926084],[102.421837,32.926197],[102.421411,32.926335],[102.420986,32.926474],[102.420752,32.926505],[102.420519,32.926537],[102.420113,32.926504],[102.419929,32.926366],[102.419744,32.926227],[102.419559,32.926089],[102.419374,32.925951],[102.419204,32.9258],[102.419034,32.92565],[102.41885,32.925462],[102.418666,32.925274],[102.418415,32.924976],[102.418148,32.924653],[102.41788,32.924329],[102.417716,32.92413],[102.417551,32.923931],[102.417386,32.923731],[102.417221,32.923532],[102.417056,32.923333],[102.416891,32.923134],[102.416726,32.922935],[102.416561,32.922736],[102.416353,32.922576],[102.416145,32.922416],[102.415936,32.922256],[102.415728,32.922097],[102.415519,32.921937],[102.415311,32.921777],[102.415103,32.921617],[102.414894,32.921457],[102.414686,32.921298],[102.414478,32.921138],[102.414269,32.920978],[102.414061,32.920818],[102.413853,32.920659],[102.413644,32.920499],[102.413436,32.920339],[102.413228,32.920179],[102.413044,32.920012],[102.41286,32.919844],[102.412676,32.919676],[102.412491,32.919508],[102.412307,32.91934],[102.412123,32.919173],[102.411939,32.919005],[102.411755,32.918837],[102.411571,32.918669],[102.411387,32.918501],[102.411203,32.918333],[102.411019,32.918166],[102.410835,32.917998],[102.410651,32.91783],[102.410381,32.917617],[102.410111,32.917404],[102.409861,32.917031],[102.409778,32.916788],[102.409727,32.916637],[102.409736,32.916343],[102.409743,32.916099],[102.409777,32.915904],[102.409812,32.915734],[102.41001,32.915548],[102.410208,32.915362],[102.410405,32.915177],[102.410603,32.914991],[102.410801,32.914806],[102.410999,32.91462],[102.411197,32.914434],[102.411395,32.914249],[102.41154,32.914049],[102.411685,32.913849],[102.411831,32.913649],[102.411976,32.913449],[102.412121,32.913249],[102.412267,32.913049],[102.412412,32.912849],[102.412557,32.912649],[102.412703,32.912449],[102.412848,32.912249],[102.413033,32.912072],[102.413217,32.911895],[102.413402,32.911718],[102.413587,32.911541],[102.413772,32.911364],[102.413956,32.911187],[102.414141,32.91101],[102.414326,32.910834],[102.414511,32.910657],[102.414695,32.91048],[102.414918,32.910325],[102.41514,32.910171],[102.415363,32.910016],[102.415585,32.909862],[102.415706,32.909693],[102.415712,32.909547],[102.415688,32.909302],[102.415606,32.909128],[102.415489,32.909012],[102.415352,32.908878],[102.41521,32.908802],[102.414948,32.908772],[102.414612,32.908765],[102.4142,32.908673],[102.413788,32.908581],[102.413376,32.908489],[102.413011,32.908409],[102.412646,32.90833],[102.41228,32.908251],[102.411961,32.908164],[102.411641,32.908076],[102.411321,32.907988],[102.411004,32.907824],[102.410686,32.90766],[102.410463,32.907462],[102.41024,32.907265],[102.410041,32.90703],[102.409846,32.906799],[102.409669,32.906487],[102.409491,32.906176],[102.409163,32.905978],[102.408836,32.905781],[102.408508,32.905583],[102.408319,32.905456],[102.407983,32.905228],[102.407647,32.904999],[102.40731,32.904771],[102.407096,32.904621],[102.406882,32.904471],[102.406528,32.904272],[102.406356,32.90415],[102.40602,32.904051],[102.405783,32.903964],[102.405521,32.903895],[102.405259,32.903826],[102.404959,32.903772],[102.40466,32.903717],[102.404497,32.903718],[102.40416,32.90372],[102.403822,32.903722],[102.403405,32.903725],[102.403184,32.903727],[102.402802,32.90369],[102.40242,32.903654],[102.402037,32.903617],[102.401792,32.903555],[102.401547,32.903493],[102.401347,32.903384],[102.401129,32.903198],[102.400915,32.902969],[102.400734,32.902775],[102.400572,32.902527],[102.40041,32.90228],[102.400232,32.901934],[102.400055,32.901588],[102.399877,32.901242],[102.39981,32.900916],[102.399744,32.90059],[102.399601,32.900291],[102.399463,32.900086],[102.399358,32.899834],[102.399296,32.899534],[102.399234,32.899234],[102.399209,32.898915],[102.399184,32.898596],[102.399158,32.898278],[102.399149,32.898025],[102.39912,32.897806],[102.399122,32.89758],[102.399122,32.897514],[102.399124,32.897221],[102.399125,32.897126],[102.399096,32.896955],[102.399044,32.896798],[102.398858,32.896441],[102.39869,32.89611],[102.398521,32.895779],[102.398477,32.895674],[102.398356,32.895381],[102.398235,32.895089],[102.398168,32.894846],[102.398102,32.894604],[102.398035,32.894228],[102.397969,32.893852],[102.397923,32.893557],[102.397904,32.89344],[102.397877,32.893265],[102.39784,32.893028],[102.397808,32.89293],[102.39763,32.892784],[102.397452,32.892637],[102.397283,32.89245],[102.397115,32.892263],[102.396893,32.891941],[102.396848,32.891605],[102.396851,32.891506],[102.396883,32.891385],[102.397003,32.891241],[102.39712,32.891243],[102.397411,32.891249],[102.397583,32.891301],[102.397959,32.891359],[102.398222,32.891314],[102.398456,32.891246],[102.398601,32.891177],[102.398824,32.89107],[102.39909,32.890944],[102.399091,32.890943],[102.399092,32.890943],[102.399193,32.890895],[102.399549,32.890657],[102.39977,32.890527],[102.399991,32.890397],[102.400288,32.890183],[102.400555,32.89003],[102.400821,32.889876],[102.400967,32.889696],[102.401112,32.889515],[102.401257,32.889335],[102.401403,32.889155],[102.401548,32.888974],[102.401694,32.888794],[102.401847,32.888516],[102.401944,32.888342],[102.402061,32.888217],[102.402142,32.888084],[102.402323,32.887846],[102.402428,32.887646],[102.402418,32.887508],[102.402352,32.887422],[102.402285,32.887365],[102.402194,32.887161],[102.402152,32.88705],[102.402071,32.886837],[102.401999,32.886604],[102.402009,32.886466],[102.402061,32.886347],[102.402118,32.886176],[102.402149,32.886117],[102.402218,32.885985],[102.402214,32.885881],[102.402097,32.885754],[102.402004,32.885652],[102.401933,32.885581],[102.401923,32.885495],[102.401985,32.885333],[102.402019,32.885258],[102.402104,32.885067],[102.402099,32.884938],[102.402076,32.884848],[102.401971,32.88461],[102.401967,32.884602],[102.401899,32.884472],[102.401895,32.884329],[102.401933,32.883982],[102.401972,32.883634],[102.402011,32.883286],[102.402049,32.882939],[102.402054,32.882898],[102.40207,32.882577],[102.402104,32.882343],[102.402164,32.882126],[102.402225,32.881909],[102.402395,32.881664],[102.402481,32.881601],[102.402789,32.88137],[102.403097,32.881139],[102.403405,32.880909],[102.403643,32.880717],[102.403942,32.880429],[102.404126,32.880103],[102.40431,32.879777],[102.404413,32.879555],[102.404516,32.879333],[102.404619,32.879112],[102.404722,32.87889],[102.404826,32.878668],[102.404929,32.878447],[102.404968,32.878203],[102.405007,32.877959],[102.405046,32.877715],[102.405085,32.877471],[102.405124,32.877227],[102.405163,32.876983],[102.405202,32.87674],[102.405241,32.876496],[102.40528,32.876252],[102.405291,32.876186],[102.405319,32.876008],[102.405357,32.87574],[102.405394,32.875471],[102.405403,32.875154],[102.405404,32.875121],[102.405409,32.874909],[102.405391,32.874554],[102.405373,32.874199],[102.405321,32.873965],[102.405269,32.873731],[102.405203,32.87352],[102.405178,32.873312],[102.405088,32.873184],[102.405087,32.873183],[102.404783,32.872984],[102.404579,32.872855],[102.404517,32.872713],[102.404455,32.872584],[102.404493,32.872365],[102.404493,32.872284],[102.404393,32.872146],[102.404331,32.87197],[102.404283,32.871903],[102.404198,32.871785],[102.404103,32.871689],[102.403879,32.871452],[102.403772,32.871241],[102.403771,32.871239],[102.40377,32.871237],[102.403736,32.871099],[102.403774,32.871014],[102.403803,32.870895],[102.403741,32.87079],[102.403679,32.87069],[102.403655,32.870595],[102.403708,32.870495],[102.40377,32.870428],[102.403808,32.870324],[102.403805,32.8703],[102.403773,32.870204],[102.403746,32.870171],[102.403475,32.869991],[102.40337,32.869857],[102.403337,32.869743],[102.403327,32.869619],[102.403322,32.869519],[102.403256,32.869434],[102.40308,32.869291],[102.402898,32.868954],[102.402862,32.868794],[102.402856,32.868544],[102.402862,32.868336],[102.40291,32.868062],[102.402969,32.867913],[102.403011,32.86783],[102.40304,32.867771],[102.403034,32.867663],[102.403017,32.867556],[102.402957,32.867372],[102.402924,32.867295],[102.402922,32.867281],[102.402878,32.866916],[102.402939,32.866688],[102.402927,32.866533],[102.402898,32.866426],[102.402868,32.866271],[102.402808,32.866051],[102.402767,32.866001],[102.402624,32.865825],[102.40241,32.865647],[102.402368,32.86554],[102.402351,32.865307],[102.402334,32.865073],[102.402266,32.864738],[102.402198,32.864402],[102.402195,32.86435],[102.402184,32.864124],[102.402189,32.863736],[102.402193,32.863348],[102.402198,32.86296],[102.402219,32.862636],[102.402241,32.862311],[102.40217,32.861961],[102.402105,32.861725],[102.402041,32.86149],[102.402041,32.861247],[102.402062,32.860869],[102.402098,32.860662],[102.402105,32.860419],[102.402048,32.860262],[102.402027,32.860048],[102.40207,32.85982],[102.402048,32.859591],[102.401991,32.859427],[102.40177,32.859284],[102.401698,32.859063],[102.401684,32.858752],[102.401683,32.858751],[102.401682,32.85875],[102.401664,32.858723],[102.401529,32.858515],[102.401452,32.858299],[102.401374,32.858084],[102.401296,32.857868],[102.401218,32.857653],[102.40114,32.857438],[102.401062,32.857222],[102.400984,32.857007],[102.400906,32.856792],[102.400801,32.856422],[102.400663,32.856175],[102.400465,32.855975],[102.400267,32.855824],[102.400088,32.85567],[102.399908,32.855515],[102.399729,32.85536],[102.39955,32.855206],[102.39937,32.855051],[102.399191,32.854896],[102.399,32.854703],[102.39881,32.854509],[102.39862,32.854315],[102.398429,32.854122],[102.398348,32.85404],[102.398343,32.854034],[102.398239,32.853928],[102.398049,32.853735],[102.397858,32.853541],[102.397668,32.853347],[102.397499,32.853179],[102.397329,32.85301],[102.39716,32.852842],[102.396991,32.852673],[102.396821,32.852504],[102.396652,32.852336],[102.396483,32.852167],[102.396314,32.851998],[102.396124,32.85186],[102.395934,32.851722],[102.395744,32.851584],[102.395554,32.851446],[102.395364,32.851308],[102.395174,32.851171],[102.394985,32.851033],[102.394795,32.850895],[102.394605,32.850757],[102.394415,32.850619],[102.394225,32.850481],[102.394035,32.850343],[102.39383,32.850176],[102.393624,32.85001],[102.393418,32.849843],[102.393212,32.849677],[102.393007,32.84951],[102.392801,32.849344],[102.392595,32.849177],[102.39239,32.849011],[102.392261,32.848806],[102.392133,32.848602],[102.392005,32.848397],[102.391876,32.848193],[102.391748,32.847988],[102.39162,32.847784],[102.391492,32.847579],[102.391363,32.847375],[102.391318,32.846934],[102.391328,32.846591],[102.391394,32.846299],[102.391461,32.846006],[102.391586,32.84574],[102.39171,32.845461],[102.391834,32.845182],[102.3919,32.844891],[102.391903,32.844821],[102.391907,32.844686],[102.391908,32.844645],[102.391913,32.84445],[102.391892,32.84424],[102.391891,32.84423],[102.391692,32.843971],[102.391684,32.843961],[102.391642,32.843869],[102.391635,32.843863],[102.391563,32.843805],[102.391305,32.843595],[102.391046,32.843384],[102.390838,32.84323],[102.390631,32.843075],[102.390307,32.842868],[102.389982,32.842661],[102.389628,32.842401],[102.389274,32.84214],[102.38892,32.84188],[102.388873,32.841844],[102.388599,32.841629],[102.388325,32.841414],[102.388051,32.841199],[102.387777,32.840984],[102.38762,32.840885],[102.387218,32.840736],[102.386895,32.840616],[102.386572,32.840496],[102.386329,32.840428],[102.386087,32.84036],[102.38573,32.840303],[102.385409,32.840275],[102.385087,32.840246],[102.384798,32.840235],[102.384509,32.840225],[102.384202,32.8402],[102.383895,32.840175],[102.383598,32.840087],[102.3833,32.839999],[102.383003,32.839911],[102.38267,32.839801],[102.382337,32.839692],[102.382004,32.839582],[102.381797,32.839493],[102.38159,32.839404],[102.38133,32.839236],[102.38107,32.839068],[102.380734,32.83885],[102.380397,32.838633],[102.380041,32.838397],[102.379685,32.83816],[102.379328,32.837924],[102.379024,32.837723],[102.378721,32.837522],[102.378417,32.837321],[102.378113,32.837119],[102.377849,32.836991],[102.377585,32.836862],[102.377235,32.836763],[102.377021,32.836634],[102.37685,32.83652],[102.3766,32.836456],[102.376329,32.836395],[102.376057,32.836334],[102.375715,32.836256],[102.375483,32.836131],[102.375251,32.836006],[102.375008,32.835849],[102.374765,32.835692],[102.374544,32.835442],[102.374394,32.835074],[102.374244,32.834707],[102.374059,32.834475],[102.373873,32.834243],[102.373709,32.834061],[102.373545,32.833879],[102.37328,32.833722],[102.373016,32.833565],[102.372661,32.833422],[102.372307,32.83328],[102.371952,32.833137],[102.371931,32.833129],[102.371524,32.832965],[102.371189,32.832979],[102.371039,32.833022],[102.370825,32.833168],[102.370611,32.833315],[102.37033,32.833448],[102.370049,32.833581],[102.369768,32.833714],[102.369376,32.833839],[102.368983,32.833964],[102.368665,32.834026],[102.368314,32.834095],[102.367964,32.834163],[102.367848,32.834186],[102.367508,32.834202],[102.367168,32.834219],[102.366827,32.834236],[102.366501,32.8342],[102.366175,32.834164],[102.365849,32.834128],[102.365454,32.834083],[102.365059,32.834038],[102.364664,32.833993],[102.364407,32.833918],[102.36415,32.833843],[102.363808,32.833657],[102.363565,32.833424],[102.363322,32.833191],[102.36308,32.832958],[102.362891,32.832712],[102.362701,32.832465],[102.362484,32.832226],[102.362266,32.831987],[102.36206,32.831831],[102.361785,32.831624],[102.361509,32.831416],[102.361259,32.831221],[102.36101,32.831026],[102.36076,32.830831],[102.360446,32.830645],[102.360148,32.830531],[102.359851,32.830417],[102.359553,32.830302],[102.359211,32.830081],[102.358868,32.82986],[102.358791,32.82981],[102.358491,32.829617],[102.35819,32.829424],[102.35789,32.829232],[102.357705,32.829064],[102.357519,32.828896],[102.357383,32.828646],[102.357248,32.828396],[102.357119,32.828275],[102.356934,32.828196],[102.356634,32.828204],[102.356348,32.828214],[102.356063,32.828225],[102.355813,32.828225],[102.355563,32.828225],[102.355254,32.828144],[102.354944,32.828063],[102.354635,32.827982],[102.354325,32.827896],[102.354021,32.827811],[102.35365,32.827668],[102.353563,32.827643],[102.353257,32.827554],[102.3529,32.827511],[102.352472,32.827447],[102.352094,32.827354],[102.351803,32.827157],[102.351513,32.826959],[102.351223,32.826762],[102.351016,32.826448],[102.350809,32.826134],[102.350545,32.825805],[102.350281,32.825477],[102.350066,32.825098],[102.34997,32.824799],[102.349874,32.824499],[102.349817,32.824099],[102.349753,32.823761],[102.349688,32.823422],[102.349638,32.823157],[102.349517,32.822907],[102.34931,32.8226],[102.348959,32.822377],[102.348739,32.822236],[102.348467,32.821893],[102.348343,32.821668],[102.348218,32.821444],[102.348077,32.82117],[102.347937,32.820896],[102.347743,32.820639],[102.347548,32.820381],[102.347354,32.820123],[102.347199,32.819885],[102.347045,32.819647],[102.346955,32.819409],[102.346866,32.819171],[102.346818,32.818731],[102.346652,32.818493],[102.346366,32.818267],[102.345948,32.818227],[102.34553,32.818187],[102.345112,32.818147],[102.344731,32.818111],[102.344412,32.818116],[102.344094,32.81812],[102.34382,32.818125],[102.343547,32.818129],[102.343246,32.818051],[102.342946,32.817974],[102.342786,32.817906],[102.342536,32.8178],[102.342286,32.817694],[102.341911,32.81748],[102.341729,32.81729],[102.341548,32.8171],[102.341364,32.816847],[102.341181,32.816595],[102.341036,32.816398],[102.340894,32.816118],[102.340751,32.815838],[102.340608,32.815559],[102.340397,32.815247],[102.340186,32.814934],[102.340055,32.814696],[102.339924,32.814458],[102.339668,32.814274],[102.339668,32.814274],[102.339319,32.814213],[102.339135,32.814189],[102.33888,32.81422],[102.338625,32.81425],[102.338343,32.814351],[102.33806,32.814453],[102.337735,32.814553],[102.33741,32.814653],[102.337156,32.814648],[102.336902,32.814642],[102.336651,32.814598],[102.336399,32.814553],[102.336338,32.81453],[102.336011,32.81436],[102.335796,32.814215],[102.335581,32.814071],[102.335338,32.813965],[102.335096,32.81386],[102.334854,32.813832],[102.334612,32.813804],[102.334416,32.813755],[102.334069,32.813723],[102.333722,32.813691],[102.333606,32.81368],[102.333574,32.813677],[102.333389,32.81366],[102.333097,32.813632],[102.332869,32.813548],[102.33264,32.813465],[102.332405,32.813334],[102.332291,32.813234],[102.332161,32.81312],[102.332024,32.812924],[102.331905,32.812638],[102.33181,32.812409],[102.331715,32.81218],[102.331554,32.811936],[102.331382,32.811704],[102.331162,32.811609],[102.330852,32.811442],[102.33065,32.811163],[102.330448,32.810883],[102.330308,32.810702],[102.330168,32.81052],[102.329972,32.810348],[102.329776,32.810175],[102.329585,32.809917],[102.329395,32.809658],[102.329193,32.809289],[102.329153,32.809154],[102.329097,32.808962],[102.328907,32.808739],[102.328717,32.808516],[102.328447,32.808243],[102.328187,32.80798],[102.328026,32.807723],[102.327908,32.807534],[102.327833,32.807278],[102.327759,32.807023],[102.327682,32.806743],[102.327485,32.80635],[102.327307,32.805999],[102.327194,32.805803],[102.326962,32.805642],[102.32673,32.805482],[102.326641,32.80541],[102.326581,32.805196],[102.326534,32.80497],[102.326557,32.804607],[102.326665,32.804176],[102.326772,32.803751],[102.326795,32.803483],[102.326748,32.803257],[102.326611,32.803037],[102.32651,32.802912],[102.32645,32.802751],[102.326454,32.802713],[102.326468,32.802537],[102.326486,32.802395],[102.326534,32.802002],[102.326528,32.801701],[102.326522,32.801401],[102.326486,32.801122],[102.326415,32.801003],[102.326337,32.800931],[102.326218,32.800578],[102.326212,32.800562],[102.326141,32.800324],[102.325909,32.800188],[102.325748,32.800069],[102.325582,32.800057],[102.325557,32.800056],[102.325125,32.800038],[102.324693,32.800021],[102.324261,32.800003],[102.324038,32.799959],[102.323815,32.799914],[102.323589,32.799825],[102.323363,32.799735],[102.323012,32.799634],[102.322661,32.799533],[102.322286,32.799355],[102.322013,32.799236],[102.321834,32.799081],[102.321733,32.79891],[102.321626,32.79873],[102.321449,32.798579],[102.321424,32.798558],[102.321245,32.79848],[102.320983,32.79848],[102.320632,32.798714],[102.320486,32.798811],[102.320258,32.798962],[102.319984,32.799004],[102.319841,32.799016],[102.319544,32.798956],[102.319264,32.798932],[102.319116,32.798956],[102.318878,32.79898],[102.318455,32.798904],[102.31834,32.798799],[102.318217,32.798628],[102.318015,32.798408],[102.318007,32.798399],[102.317779,32.798238],[102.317462,32.798109],[102.317146,32.797981],[102.317046,32.797924],[102.316713,32.797714],[102.316565,32.79749],[102.316418,32.797267],[102.316293,32.796923],[102.316169,32.796578],[102.316206,32.796345],[102.316269,32.796027],[102.31632,32.795771],[102.316371,32.795516],[102.316423,32.795261],[102.316474,32.795005],[102.316525,32.79475],[102.316576,32.794494],[102.316539,32.794261],[102.316503,32.794028],[102.316339,32.793682],[102.316148,32.793311],[102.315953,32.793038],[102.315754,32.792874],[102.315555,32.792711],[102.315297,32.792403],[102.315038,32.792095],[102.314779,32.791787],[102.314504,32.791459],[102.314228,32.79113],[102.313952,32.790802],[102.313676,32.790474],[102.313483,32.790244],[102.313328,32.790078],[102.313173,32.789911],[102.313019,32.789744],[102.312864,32.789578],[102.312709,32.789411],[102.312554,32.789245],[102.312399,32.789078],[102.312244,32.788911],[102.31209,32.788745],[102.311935,32.788578],[102.311826,32.788331],[102.311717,32.788084],[102.311638,32.78782],[102.31156,32.787555],[102.311481,32.78729],[102.311402,32.787025],[102.311337,32.786767],[102.311272,32.786509],[102.311194,32.786213],[102.311115,32.785918],[102.311005,32.785494],[102.310894,32.785069],[102.310784,32.784645],[102.310674,32.784221],[102.310593,32.784011],[102.310512,32.783801],[102.310287,32.783552],[102.310059,32.7834],[102.309774,32.783246],[102.309398,32.783214],[102.309122,32.783208],[102.308847,32.783203],[102.308581,32.78321],[102.308315,32.783218],[102.308049,32.783226],[102.307783,32.783234],[102.307494,32.783191],[102.307204,32.783148],[102.30693,32.783105],[102.306656,32.783063],[102.306223,32.78298],[102.30579,32.782922],[102.305412,32.782913],[102.305005,32.782929],[102.304714,32.782984],[102.304422,32.783039],[102.304201,32.783144],[102.303981,32.78325],[102.3039,32.783265],[102.303587,32.783327],[102.303192,32.783404],[102.302959,32.783448],[102.302726,32.783492],[102.302389,32.783595],[102.302052,32.783698],[102.301717,32.783764],[102.301381,32.78383],[102.301175,32.783924],[102.300969,32.784017],[102.30066,32.784169],[102.300351,32.784321],[102.299982,32.784558],[102.299613,32.784795],[102.299427,32.784931],[102.299241,32.785068],[102.299055,32.785205],[102.298869,32.785341],[102.298688,32.785582],[102.298507,32.785823],[102.298328,32.78599],[102.298148,32.786158],[102.297969,32.786325],[102.29779,32.786493],[102.297788,32.786493],[102.297787,32.786494],[102.297481,32.786699],[102.297174,32.786904],[102.29689,32.787011],[102.296523,32.78715],[102.29623,32.787218],[102.295938,32.787285],[102.295692,32.78728],[102.295445,32.787274],[102.295377,32.787276],[102.295068,32.787218],[102.294755,32.787226],[102.294441,32.787233],[102.294157,32.787392],[102.293873,32.78755],[102.29353,32.787657],[102.293364,32.787705],[102.293112,32.787778],[102.29286,32.787852],[102.292625,32.78792],[102.292391,32.787988],[102.292355,32.787999],[102.292115,32.788036],[102.291874,32.788074],[102.291634,32.788112],[102.291394,32.78815],[102.291045,32.788142],[102.290697,32.788134],[102.290335,32.788102],[102.289974,32.78807],[102.289714,32.788015],[102.289455,32.78796],[102.289169,32.78782],[102.288883,32.787679],[102.288584,32.787489],[102.288285,32.787299],[102.288002,32.787073],[102.287719,32.786846],[102.287479,32.786632],[102.287239,32.786419],[102.287028,32.786207],[102.286817,32.785995],[102.28662,32.785783],[102.286422,32.78557],[102.286253,32.78542],[102.286084,32.785269],[102.285801,32.785043],[102.285514,32.784914],[102.285226,32.784883],[102.284907,32.784877],[102.284584,32.785016],[102.284418,32.785221],[102.284252,32.785426],[102.284065,32.785813],[102.283867,32.786115],[102.283669,32.786416],[102.283507,32.786617],[102.283345,32.786819],[102.283183,32.78702],[102.283021,32.787222],[102.282859,32.787423],[102.282697,32.787624],[102.282535,32.787826],[102.282373,32.788027],[102.282165,32.788194],[102.281956,32.788361],[102.281748,32.788527],[102.28154,32.788694],[102.281275,32.788835],[102.281009,32.788976],[102.280673,32.789067],[102.280337,32.789158],[102.280104,32.789189],[102.279871,32.789221],[102.279637,32.789253],[102.279404,32.789284],[102.279039,32.789374],[102.278675,32.789463],[102.278447,32.789551],[102.278218,32.789638],[102.27799,32.789725],[102.277761,32.789812],[102.277532,32.789899],[102.277304,32.789986],[102.277073,32.790091],[102.276843,32.790196],[102.276613,32.790301],[102.276382,32.790406],[102.276152,32.790511],[102.275921,32.790617],[102.275511,32.79073],[102.275101,32.790843],[102.274692,32.790944],[102.274283,32.791046],[102.27386,32.791122],[102.273437,32.791198],[102.273,32.791262],[102.272563,32.791326],[102.272258,32.791332],[102.271952,32.791338],[102.271705,32.791345],[102.271459,32.791352],[102.271212,32.791358],[102.270965,32.791365],[102.270673,32.79142],[102.270381,32.791474],[102.270074,32.791578],[102.269766,32.791681],[102.269675,32.791722],[102.269529,32.791787],[102.269309,32.791886],[102.269089,32.791984],[102.268764,32.792161],[102.268439,32.792337],[102.268087,32.792476],[102.267735,32.792615],[102.267516,32.792672],[102.267297,32.792728],[102.266861,32.792743],[102.266629,32.792726],[102.266398,32.792708],[102.266167,32.792673],[102.265936,32.792637],[102.265705,32.792602],[102.265474,32.792566],[102.265039,32.792532],[102.264808,32.79249],[102.264578,32.792449],[102.26429,32.792394],[102.26396,32.792264],[102.26363,32.792134],[102.2633,32.792005],[102.26297,32.791875],[102.262877,32.791788],[102.26265,32.791573],[102.262422,32.791359],[102.262238,32.79122],[102.262053,32.791081],[102.261893,32.79096],[102.261869,32.790942],[102.261685,32.790804],[102.2615,32.790665],[102.261316,32.790526],[102.261131,32.790387],[102.260947,32.790248],[102.260707,32.790148],[102.260467,32.790048],[102.260227,32.789949],[102.259988,32.789849],[102.259748,32.789749],[102.259508,32.789649],[102.259268,32.789549],[102.259028,32.789449],[102.258745,32.789329],[102.258588,32.789243],[102.258205,32.789027],[102.257822,32.788811],[102.257412,32.788652],[102.257002,32.788493],[102.256689,32.788391],[102.256376,32.788288],[102.256063,32.788186],[102.255717,32.78815],[102.255371,32.788114],[102.255059,32.78814],[102.254748,32.788167],[102.254436,32.788193],[102.254075,32.788265],[102.253713,32.788336],[102.253368,32.788391],[102.253022,32.788446],[102.252677,32.788501],[102.252662,32.788507],[102.25226,32.788685],[102.251858,32.788863],[102.25162,32.789005],[102.251487,32.789034],[102.251325,32.789053],[102.251102,32.789029],[102.250878,32.789005],[102.250764,32.789034],[102.250697,32.789129],[102.250526,32.789396],[102.250283,32.789621],[102.25004,32.789846],[102.249701,32.789965],[102.249609,32.789992],[102.249475,32.790031],[102.249142,32.78993],[102.248916,32.789948],[102.248725,32.790067],[102.248469,32.790102],[102.24845,32.790098],[102.248192,32.790041],[102.247934,32.789983],[102.247669,32.789855],[102.247405,32.789727],[102.247063,32.7896],[102.246721,32.789472],[102.246358,32.789228],[102.245995,32.788984],[102.245632,32.78874],[102.245266,32.788588],[102.2449,32.788437],[102.244872,32.788417],[102.244689,32.788287],[102.244395,32.78808],[102.244174,32.787925],[102.243984,32.787842],[102.243675,32.78786],[102.243383,32.788014],[102.24307,32.788179],[102.242757,32.788344],[102.242693,32.788377],[102.242342,32.788597],[102.241991,32.788817],[102.241852,32.789005],[102.241712,32.789192],[102.241406,32.789412],[102.241101,32.789632],[102.240796,32.789852],[102.240587,32.789954],[102.240379,32.790055],[102.239933,32.790084],[102.239749,32.790072],[102.239523,32.789942],[102.239308,32.789852],[102.238999,32.789775],[102.238681,32.789743],[102.238559,32.789731],[102.238345,32.78971],[102.23797,32.789656],[102.237595,32.789603],[102.237381,32.78962],[102.237102,32.789698],[102.236733,32.789716],[102.236594,32.789697],[102.236262,32.789595],[102.236113,32.789549],[102.236001,32.78946],[102.235787,32.78924],[102.235571,32.78903],[102.235412,32.788877],[102.235186,32.788496],[102.235014,32.788335],[102.234847,32.788228],[102.234651,32.788163],[102.234508,32.788157],[102.234353,32.788169],[102.234175,32.788151],[102.233943,32.788062],[102.233865,32.787985],[102.233723,32.787889],[102.233437,32.787758],[102.233294,32.787628],[102.233179,32.787434],[102.233054,32.787308],[102.232882,32.787089],[102.232711,32.786871],[102.232362,32.786663],[102.232067,32.786613],[102.231772,32.786564],[102.231576,32.786644],[102.231181,32.786804],[102.231103,32.786835],[102.230988,32.786923],[102.230624,32.787158],[102.230431,32.787283],[102.230239,32.787407],[102.229897,32.787693],[102.229554,32.787979],[102.229345,32.78817],[102.229136,32.788361],[102.228854,32.788551],[102.228573,32.78874],[102.228351,32.788863],[102.22813,32.788986],[102.227909,32.78911],[102.227687,32.789233],[102.227361,32.789459],[102.227035,32.789684],[102.226794,32.789973],[102.226553,32.790261],[102.226388,32.790441],[102.226223,32.790621],[102.226016,32.790726],[102.22581,32.790832],[102.22552,32.790827],[102.22526,32.790783],[102.225,32.79074],[102.224756,32.790637],[102.224513,32.790534],[102.2242,32.790343],[102.223887,32.790153],[102.223561,32.789914],[102.223234,32.789674],[102.223075,32.789502],[102.222915,32.78933],[102.222755,32.789157],[102.222595,32.788985],[102.222435,32.788813],[102.222275,32.788641],[102.222115,32.788469],[102.221956,32.788296],[102.221796,32.788124],[102.221636,32.787952],[102.221476,32.78778],[102.221316,32.787608],[102.221199,32.787388],[102.221081,32.787169],[102.220964,32.78695],[102.220846,32.78673],[102.220729,32.786511],[102.220611,32.786292],[102.220494,32.786072],[102.220376,32.785853],[102.220259,32.785634],[102.220141,32.785414],[102.220024,32.785195],[102.219906,32.784975],[102.219789,32.784756],[102.219671,32.784537],[102.219546,32.784289],[102.21942,32.784042],[102.219295,32.783795],[102.21917,32.783548],[102.219044,32.783301],[102.218919,32.783053],[102.218794,32.782806],[102.218668,32.782559],[102.218543,32.782312],[102.218418,32.782064],[102.218292,32.781817],[102.218167,32.78157],[102.218041,32.781323],[102.217916,32.781075],[102.217791,32.780828],[102.217665,32.780581],[102.217513,32.780363],[102.21736,32.780146],[102.217207,32.779928],[102.217054,32.779711],[102.216901,32.779493],[102.216749,32.779276],[102.216596,32.779058],[102.216443,32.778841],[102.216309,32.778495],[102.216176,32.77815],[102.216069,32.777829],[102.215963,32.777509],[102.215883,32.777262],[102.215804,32.777016],[102.215695,32.776793],[102.215585,32.77657],[102.215476,32.776348],[102.215367,32.776125],[102.215114,32.7759],[102.214856,32.775771],[102.21461,32.775742],[102.214365,32.775712],[102.214061,32.775705],[102.213756,32.775698],[102.21333,32.775729],[102.212903,32.775761],[102.212477,32.775792],[102.212112,32.775882],[102.211746,32.775971],[102.211424,32.776062],[102.211102,32.776153],[102.210677,32.776278],[102.210253,32.776403],[102.210029,32.776447],[102.209805,32.776491],[102.209582,32.776535],[102.209358,32.776579],[102.209134,32.776623],[102.208911,32.776667],[102.208511,32.776764],[102.208111,32.776861],[102.207712,32.776958],[102.207331,32.777072],[102.20695,32.777186],[102.206756,32.777312],[102.206563,32.777438],[102.206369,32.777564],[102.206176,32.77769],[102.205982,32.777816],[102.205789,32.777942],[102.205595,32.778068],[102.205401,32.778194],[102.205192,32.778434],[102.205055,32.778615],[102.204919,32.778796],[102.204795,32.77905],[102.204671,32.779303],[102.204617,32.779607],[102.204564,32.779911],[102.204526,32.780217],[102.204488,32.780523],[102.204333,32.780825],[102.204178,32.781127],[102.204006,32.781307],[102.203833,32.781486],[102.203661,32.781666],[102.203488,32.781845],[102.203301,32.782035],[102.203113,32.782225],[102.202926,32.782414],[102.202739,32.782604],[102.202551,32.782794],[102.202364,32.782983],[102.202039,32.783172],[102.201715,32.78336],[102.201419,32.783525],[102.201124,32.78369],[102.200755,32.783889],[102.200386,32.784089],[102.200263,32.784162],[102.200046,32.78429],[102.199706,32.78449],[102.199478,32.784803],[102.19925,32.785115],[102.199066,32.785454],[102.198882,32.785792],[102.198743,32.786035],[102.198605,32.786277],[102.198483,32.786469],[102.198361,32.786662],[102.198095,32.786827],[102.197748,32.786795],[102.197519,32.786704],[102.19729,32.786614],[102.197004,32.78646],[102.196718,32.786307],[102.196421,32.786068],[102.196124,32.785829],[102.195942,32.785629],[102.195759,32.785429],[102.195565,32.785156],[102.195547,32.78513],[102.195371,32.784883],[102.195135,32.784547],[102.194898,32.784211],[102.194706,32.783864],[102.194514,32.783517],[102.194322,32.783158],[102.19413,32.782799],[102.194073,32.782529],[102.194016,32.782258],[102.193958,32.781988],[102.193901,32.781718],[102.193916,32.78148],[102.193931,32.781242],[102.193945,32.781003],[102.19396,32.780765],[102.193975,32.780527],[102.193989,32.780289],[102.194004,32.780051],[102.194019,32.779812],[102.194015,32.77947],[102.194012,32.779127],[102.193946,32.778893],[102.193881,32.778659],[102.193714,32.778435],[102.193373,32.778208],[102.193173,32.778093],[102.192974,32.777978],[102.192688,32.77785],[102.192402,32.777721],[102.192136,32.777664],[102.19187,32.777607],[102.191604,32.777549],[102.191337,32.777492],[102.191071,32.777435],[102.190805,32.777378],[102.190538,32.77732],[102.190272,32.777263],[102.190006,32.777206],[102.189739,32.777149],[102.189473,32.777091],[102.189207,32.777034],[102.188941,32.776977],[102.188674,32.77692],[102.188265,32.776832],[102.187855,32.776744],[102.187445,32.776656],[102.187015,32.776548],[102.186786,32.776396],[102.186763,32.776225],[102.186801,32.775932],[102.186891,32.775714],[102.18698,32.775497],[102.187069,32.77528],[102.187159,32.775063],[102.187248,32.774846],[102.187337,32.774629],[102.187366,32.774562],[102.187433,32.774407],[102.187528,32.774185],[102.187624,32.773963],[102.187719,32.773741],[102.187815,32.773519],[102.18791,32.773297],[102.188006,32.773076],[102.188101,32.772854],[102.188197,32.772632],[102.188292,32.77241],[102.188388,32.772188],[102.188483,32.771966],[102.188579,32.771744],[102.188674,32.771523],[102.188714,32.77143],[102.188818,32.771173],[102.188922,32.770917],[102.189026,32.77066],[102.18913,32.770404],[102.189234,32.770147],[102.189338,32.769891],[102.189442,32.769634],[102.189546,32.769378],[102.18965,32.769121],[102.189754,32.768865],[102.189864,32.768623],[102.189973,32.768381],[102.190082,32.768138],[102.190191,32.767896],[102.190301,32.767654],[102.19041,32.767412],[102.190424,32.767345],[102.190467,32.767145],[102.190524,32.766878],[102.190581,32.766611],[102.190638,32.766344],[102.190696,32.766077],[102.190753,32.76581],[102.19081,32.765543],[102.190867,32.765275],[102.190924,32.765008],[102.190981,32.764741],[102.191038,32.764474],[102.191075,32.764301],[102.191096,32.764207],[102.191225,32.763794],[102.191319,32.763551],[102.191414,32.763309],[102.191599,32.762946],[102.191694,32.762704],[102.191875,32.762463],[102.192041,32.762271],[102.192206,32.762079],[102.192515,32.761793],[102.192824,32.761506],[102.193133,32.761219],[102.193327,32.761056],[102.19352,32.760894],[102.193714,32.760731],[102.193908,32.760568],[102.194101,32.760405],[102.194295,32.760242],[102.194595,32.75993],[102.194895,32.759619],[102.195148,32.759392],[102.195402,32.759165],[102.1956,32.759011],[102.195798,32.758856],[102.195996,32.758702],[102.196194,32.758547],[102.196392,32.758393],[102.196591,32.758238],[102.196919,32.757952],[102.197131,32.757663],[102.197255,32.757428],[102.197379,32.757193],[102.197503,32.756957],[102.197627,32.756722],[102.197709,32.756508],[102.197791,32.756295],[102.197873,32.756082],[102.197955,32.755868],[102.198037,32.755655],[102.198119,32.755442],[102.198202,32.755228],[102.198284,32.755015],[102.198366,32.754801],[102.198367,32.754799],[102.198367,32.754797],[102.198448,32.754588],[102.198604,32.754249],[102.198667,32.754055],[102.198675,32.753798],[102.198684,32.753541],[102.198694,32.753248],[102.198643,32.753002],[102.198568,32.752766],[102.198493,32.75253],[102.198418,32.752295],[102.198342,32.752059],[102.198267,32.751823],[102.198192,32.751587],[102.198117,32.751352],[102.198042,32.751116],[102.197967,32.75088],[102.197892,32.750645],[102.197817,32.750409],[102.197741,32.750173],[102.197718,32.750121],[102.197608,32.749874],[102.197497,32.749627],[102.197387,32.74938],[102.197277,32.749133],[102.197166,32.748886],[102.197056,32.748639],[102.196946,32.748392],[102.196835,32.748145],[102.196725,32.747898],[102.196615,32.747651],[102.196504,32.747405],[102.196394,32.747158],[102.196284,32.746911],[102.196173,32.746664],[102.196063,32.746417],[102.195953,32.74617],[102.195822,32.745943],[102.195692,32.745716],[102.195561,32.745489],[102.19543,32.745262],[102.1953,32.745035],[102.195169,32.744808],[102.195038,32.744581],[102.194908,32.744354],[102.194777,32.744127],[102.194646,32.7439],[102.194516,32.743673],[102.194385,32.743446],[102.19432,32.7432],[102.194255,32.742954],[102.19419,32.742708],[102.194126,32.742462],[102.194104,32.742217],[102.194083,32.741972],[102.194091,32.741703],[102.1941,32.741434],[102.194109,32.74114],[102.194178,32.740824],[102.194274,32.740508],[102.194397,32.740266],[102.194491,32.740073],[102.194644,32.739807],[102.194795,32.739608],[102.194946,32.73941],[102.195098,32.739212],[102.195249,32.739013],[102.1954,32.738815],[102.195551,32.738616],[102.195702,32.738418],[102.195854,32.73822],[102.196001,32.738015],[102.196148,32.737811],[102.196295,32.737606],[102.196442,32.737402],[102.196589,32.737198],[102.196736,32.736993],[102.196884,32.736789],[102.197031,32.736584],[102.197178,32.73638],[102.197325,32.736176],[102.197472,32.735971],[102.197619,32.735767],[102.197798,32.735599],[102.198124,32.735386],[102.198333,32.735195],[102.198484,32.735003],[102.198651,32.734774],[102.198818,32.734546],[102.198993,32.734207],[102.199168,32.733868],[102.199343,32.73353],[102.199438,32.733275],[102.199533,32.73302],[102.199628,32.732765],[102.199723,32.732511],[102.199817,32.732256],[102.199818,32.732255],[102.199818,32.732254],[102.199912,32.732001],[102.200017,32.731777],[102.200122,32.731553],[102.200171,32.731448],[102.200227,32.731329],[102.200332,32.731105],[102.200437,32.730881],[102.200542,32.730657],[102.200646,32.730433],[102.200751,32.730209],[102.200898,32.730023],[102.201044,32.729837],[102.201191,32.729651],[102.201337,32.729465],[102.201484,32.729279],[102.20163,32.729093],[102.201777,32.728907],[102.201924,32.728721],[102.20207,32.728534],[102.202217,32.728348],[102.202363,32.728162],[102.20251,32.727976],[102.202649,32.727763],[102.202788,32.727549],[102.202927,32.727335],[102.203066,32.727122],[102.203206,32.726908],[102.203345,32.726695],[102.203484,32.726481],[102.203623,32.726267],[102.203762,32.726054],[102.203902,32.72584],[102.204041,32.725627],[102.20418,32.725413],[102.204319,32.725199],[102.204458,32.724986],[102.204573,32.724759],[102.204688,32.724532],[102.204802,32.724305],[102.204917,32.724078],[102.205032,32.723851],[102.205147,32.723624],[102.205261,32.723397],[102.205376,32.72317],[102.205491,32.722943],[102.205566,32.722793],[102.205605,32.722716],[102.205613,32.722448],[102.205682,32.722132],[102.205805,32.72189],[102.206015,32.721674],[102.206194,32.721507],[102.206461,32.721317],[102.206699,32.721102],[102.20694,32.720838],[102.20712,32.720573],[102.207229,32.720363],[102.207337,32.720153],[102.207445,32.719944],[102.207553,32.719734],[102.207661,32.719524],[102.207769,32.719315],[102.207985,32.718928],[102.208108,32.718711],[102.20823,32.718493],[102.208427,32.718229],[102.208624,32.717964],[102.208791,32.717699],[102.208959,32.717433],[102.209244,32.717134],[102.209529,32.716834],[102.209798,32.716571],[102.210067,32.716308],[102.210311,32.715946],[102.210453,32.715734],[102.210595,32.715521],[102.210737,32.715309],[102.210879,32.715096],[102.211021,32.714884],[102.211163,32.714671],[102.211186,32.714427],[102.211208,32.714183],[102.211217,32.713865],[102.211229,32.713498],[102.211125,32.713129],[102.21102,32.71276],[102.210932,32.712521],[102.210844,32.712281],[102.210755,32.712042],[102.210667,32.711803],[102.210579,32.711563],[102.210491,32.711324],[102.210403,32.711085],[102.210314,32.710845],[102.210226,32.710606],[102.210138,32.710366],[102.210016,32.710095],[102.209893,32.709823],[102.20973,32.709526],[102.209564,32.709295],[102.209549,32.709275],[102.209479,32.709178],[102.209437,32.709135],[102.209392,32.709088],[102.209304,32.708997],[102.209129,32.708816],[102.208954,32.708635],[102.208779,32.708454],[102.2086,32.708269],[102.208422,32.708084],[102.208209,32.707933],[102.207996,32.707781],[102.207784,32.70763],[102.207571,32.707478],[102.207358,32.707326],[102.207146,32.707175],[102.206933,32.707023],[102.20672,32.706872],[102.206508,32.70672],[102.206295,32.706568],[102.206082,32.706417],[102.20587,32.706265],[102.205657,32.706114],[102.205444,32.705962],[102.205302,32.705906],[102.205264,32.705892],[102.205205,32.705868],[102.204983,32.705781],[102.204965,32.705774],[102.204725,32.70568],[102.20465,32.705651],[102.204485,32.705586],[102.204246,32.705492],[102.204006,32.705398],[102.203766,32.705304],[102.203526,32.705211],[102.203287,32.70512],[102.203049,32.705029],[102.20281,32.704938],[102.202571,32.704847],[102.202332,32.704756],[102.202094,32.704665],[102.201846,32.704576],[102.201599,32.704488],[102.201352,32.7044],[102.201104,32.704312],[102.200857,32.704224],[102.20061,32.704136],[102.200362,32.704048],[102.200115,32.70396],[102.199887,32.703844],[102.19966,32.703729],[102.199475,32.703591],[102.19929,32.703453],[102.199096,32.703202],[102.198873,32.702904],[102.198784,32.702658],[102.198695,32.702413],[102.198606,32.702167],[102.198517,32.701921],[102.198369,32.701563],[102.19822,32.701205],[102.198087,32.700834],[102.197921,32.700562],[102.197725,32.700337],[102.197613,32.700213],[102.197329,32.700035],[102.196985,32.699904],[102.196741,32.69985],[102.196496,32.699796],[102.196397,32.699773],[102.196151,32.699715],[102.195805,32.699634],[102.195518,32.699566],[102.19523,32.699499],[102.194913,32.69943],[102.194596,32.699362],[102.194266,32.699281],[102.193936,32.6992],[102.193633,32.69912],[102.193468,32.699076],[102.193331,32.69904],[102.193073,32.698948],[102.192815,32.698857],[102.192544,32.698729],[102.192273,32.698601],[102.191943,32.69834],[102.191613,32.69808],[102.191283,32.697819],[102.191071,32.697631],[102.19086,32.697443],[102.190677,32.697255],[102.190494,32.697068],[102.190388,32.696772],[102.190396,32.696528],[102.190432,32.696308],[102.190465,32.696137]]]]},"properties":{"cp":[102.35372199561037,32.712944518303445],"code":"513233103","name":"安曲镇","level":"street","center":[102.35372199561037,32.712944518303445],"fullCode":"513233103000","fullName":"四川省阿坝藏族羌族自治州红原县安曲镇","acreageMu":1327057.45,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.222,32.6709]}},{"id":"513233105","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.277244,32.524826],[102.277274,32.524758],[102.277761,32.523683],[102.278447,32.522401],[102.278934,32.521489],[102.279246,32.520805],[102.279632,32.520638],[102.280189,32.520398],[102.280201,32.520393],[102.280417,32.5203],[102.280661,32.520194],[102.281662,32.519821],[102.282892,32.519601],[102.283165,32.519536],[102.284592,32.519194],[102.286228,32.519032],[102.287337,32.518908],[102.287869,32.518673],[102.288122,32.517988],[102.288597,32.517196],[102.289346,32.515511],[102.29019,32.513605],[102.290391,32.512721],[102.29064,32.511691],[102.290603,32.510025],[102.290392,32.508318],[102.290556,32.507212],[102.290941,32.506036],[102.291382,32.504418],[102.29147,32.503999],[102.291505,32.503833],[102.291597,32.503393],[102.291601,32.503375],[102.291637,32.503202],[102.291887,32.502135],[102.291976,32.50062],[102.29189,32.499101],[102.291871,32.498286],[102.292101,32.497884],[102.292726,32.497454],[102.293911,32.49722],[102.295037,32.497541],[102.296037,32.497673],[102.297387,32.497776],[102.298297,32.498018],[102.299338,32.498225],[102.300303,32.498583],[102.300373,32.498609],[102.300504,32.498657],[102.301595,32.49868],[102.303308,32.49831],[102.304271,32.498257],[102.30559,32.497915],[102.307147,32.49745],[102.30744,32.497363],[102.308144,32.49723],[102.308319,32.497197],[102.308369,32.49715],[102.308633,32.496907],[102.308664,32.495872],[102.308679,32.495343],[102.30869,32.494985],[102.308318,32.494274],[102.308133,32.49316],[102.307815,32.492117],[102.307839,32.491304],[102.307999,32.490345],[102.308286,32.4895],[102.308793,32.488586],[102.309694,32.487643],[102.31063,32.486997],[102.31153,32.486092],[102.311816,32.485284],[102.311739,32.4847],[102.311673,32.484208],[102.311089,32.483307],[102.310916,32.481787],[102.311219,32.480334],[102.311323,32.479834],[102.312199,32.478262],[102.313131,32.476667],[102.313395,32.476216],[102.313725,32.475775],[102.314213,32.475123],[102.314795,32.474618],[102.316193,32.474574],[102.317894,32.47461],[102.318993,32.474375],[102.320272,32.473921],[102.321372,32.473611],[102.322209,32.47337],[102.323588,32.472475],[102.324006,32.471633],[102.324606,32.470535],[102.32456,32.469129],[102.324727,32.467911],[102.324895,32.466657],[102.325061,32.465477],[102.325074,32.463553],[102.325561,32.461861],[102.325773,32.460608],[102.32624,32.459545],[102.326497,32.458256],[102.326407,32.456885],[102.325506,32.454868],[102.323044,32.449599],[102.322678,32.448703],[102.321883,32.447539],[102.321341,32.446714],[102.32067,32.445774],[102.320434,32.444918],[102.320409,32.442809],[102.32037,32.44118],[102.320417,32.43959],[102.32067,32.438412],[102.32075,32.437193],[102.320707,32.435712],[102.320407,32.434041],[102.320451,32.432562],[102.320371,32.430858],[102.319935,32.429369],[102.319737,32.428699],[102.319588,32.427807],[102.319457,32.426362],[102.319034,32.422949],[102.318856,32.421613],[102.318847,32.420988],[102.318842,32.420614],[102.31871,32.419168],[102.319057,32.41777],[102.319248,32.417219],[102.320608,32.416952],[102.321596,32.417454],[102.322646,32.417365],[102.323692,32.417387],[102.324757,32.416781],[102.326135,32.415885],[102.327275,32.415687],[102.329636,32.416958],[102.330141,32.417065],[102.331197,32.417287],[102.332497,32.417574],[102.334328,32.417613],[102.334971,32.417589],[102.335594,32.417565],[102.336382,32.417471],[102.336462,32.417397],[102.336616,32.417255],[102.336623,32.417249],[102.336666,32.417209],[102.336699,32.417179],[102.336709,32.417169],[102.33675,32.417132],[102.337247,32.416674],[102.338886,32.415163],[102.342031,32.412263],[102.343993,32.410485],[102.344227,32.410274],[102.345215,32.409296],[102.345283,32.409199],[102.345289,32.40919],[102.3453,32.409175],[102.345373,32.409072],[102.345772,32.408509],[102.345785,32.408491],[102.34617,32.407947],[102.349568,32.402136],[102.351006,32.400686],[102.352698,32.399464],[102.35438,32.397131],[102.355089,32.395259],[102.355108,32.394594],[102.354352,32.393616],[102.354038,32.392425],[102.353635,32.39127],[102.353459,32.38986],[102.353236,32.389172],[102.352677,32.387444],[102.352579,32.387141],[102.352564,32.386142],[102.352552,32.385068],[102.351995,32.383244],[102.351449,32.381049],[102.350881,32.379595],[102.351855,32.37906],[102.352253,32.378883],[102.353004,32.378529],[102.353545,32.377949],[102.353752,32.376806],[102.354044,32.375776],[102.354239,32.375077],[102.354258,32.374412],[102.355159,32.373432],[102.356533,32.372647],[102.357558,32.371891],[102.358235,32.371091],[102.35931,32.370115],[102.35968,32.369383],[102.359798,32.368312],[102.359888,32.366723],[102.360052,32.36558],[102.360385,32.364625],[102.36063,32.363705],[102.361068,32.360643],[102.361199,32.359129],[102.36127,32.358168],[102.361379,32.357431],[102.361414,32.35621],[102.361683,32.354477],[102.362164,32.353634],[102.362371,32.353271],[102.362957,32.352617],[102.363549,32.351741],[102.364567,32.351208],[102.366066,32.35061],[102.367472,32.350232],[102.367972,32.34954],[102.368694,32.348667],[102.369292,32.347606],[102.369589,32.346355],[102.370191,32.345146],[102.371335,32.343283],[102.372027,32.341928],[102.372799,32.340872],[102.373813,32.338969],[102.375079,32.337367],[102.376028,32.336203],[102.376615,32.335512],[102.376631,32.334957],[102.376298,32.334395],[102.375032,32.33349],[102.375252,32.332881],[102.37576,32.332763],[102.376519,32.332736],[102.377477,32.332756],[102.378605,32.332179],[102.37984,32.33139],[102.380272,32.330413],[102.381055,32.329529],[102.381861,32.328876],[102.381887,32.328856],[102.382089,32.328693],[102.382162,32.328655],[102.382502,32.328481],[102.382698,32.328381],[102.382758,32.32835],[102.383216,32.328116],[102.384245,32.327451],[102.38475,32.32725],[102.384819,32.327222],[102.385082,32.327118],[102.385102,32.32711],[102.385369,32.327003],[102.386012,32.326709],[102.386085,32.326675],[102.386572,32.326499],[102.387208,32.326269],[102.387618,32.326291],[102.387649,32.326293],[102.387743,32.326298],[102.388139,32.326319],[102.388387,32.326332],[102.388519,32.326339],[102.389165,32.326696],[102.389704,32.327264],[102.389636,32.328009],[102.38963,32.328077],[102.389561,32.328778],[102.389525,32.329151],[102.389487,32.329532],[102.389464,32.330346],[102.389392,32.331457],[102.389373,32.331759],[102.389149,32.332155],[102.388894,32.332607],[102.388925,32.333294],[102.389072,32.333468],[102.389526,32.333597],[102.390993,32.334108],[102.391188,32.334133],[102.392014,32.33424],[102.393033,32.334372],[102.394551,32.334625],[102.395766,32.334799],[102.396598,32.334668],[102.397563,32.334466],[102.399008,32.335154],[102.399234,32.333035],[102.399466,32.33021],[102.399947,32.327518],[102.400234,32.326324],[102.400363,32.32534],[102.400456,32.324518],[102.400633,32.322953],[102.400807,32.322453],[102.401235,32.321224],[102.401741,32.320095],[102.401858,32.318758],[102.402707,32.316632],[102.403697,32.315111],[102.405008,32.313397],[102.405829,32.312275],[102.406189,32.310741],[102.406383,32.309472],[102.406479,32.308814],[102.406578,32.308137],[102.406573,32.306147],[102.406573,32.30611],[102.406573,32.306104],[102.406573,32.305983],[102.406572,32.305719],[102.406572,32.305591],[102.406571,32.305404],[102.406571,32.305289],[102.40657,32.305096],[102.406569,32.304863],[102.406569,32.304796],[102.406568,32.304556],[102.406567,32.304287],[102.406566,32.304193],[102.406566,32.304154],[102.406566,32.304044],[102.406565,32.303804],[102.406564,32.303568],[102.406563,32.303463],[102.406563,32.303396],[102.406562,32.303179],[102.406534,32.302981],[102.406507,32.302783],[102.406478,32.302577],[102.406446,32.302345],[102.40643,32.302229],[102.406403,32.30204],[102.406373,32.301825],[102.406345,32.301622],[102.406323,32.301464],[102.4063,32.301298],[102.406304,32.301146],[102.406309,32.300995],[102.406314,32.300817],[102.406319,32.300652],[102.406325,32.300416],[102.40633,32.300231],[102.406333,32.300126],[102.406337,32.299987],[102.406341,32.299853],[102.406342,32.299808],[102.406432,32.298755],[102.406286,32.297647],[102.406307,32.296894],[102.407203,32.296611],[102.408561,32.296689],[102.40948,32.296754],[102.409512,32.296756],[102.410499,32.296826],[102.410568,32.29683],[102.412026,32.29686],[102.412283,32.296866],[102.413298,32.296535],[102.413604,32.296585],[102.414055,32.29669],[102.414842,32.296875],[102.41684,32.296757],[102.418769,32.296758],[102.419457,32.296758],[102.419915,32.296739],[102.421203,32.296688],[102.422145,32.29657],[102.423392,32.296415],[102.424268,32.296274],[102.425403,32.295821],[102.425946,32.295245],[102.426431,32.29473],[102.427089,32.293474],[102.427678,32.29248],[102.428025,32.291217],[102.428394,32.289825],[102.428442,32.289646],[102.428583,32.289111],[102.429164,32.288382],[102.429922,32.287892],[102.430116,32.287767],[102.430546,32.28719],[102.43056,32.287172],[102.430585,32.287138],[102.430613,32.2871],[102.430642,32.287061],[102.430652,32.287048],[102.430739,32.286932],[102.430826,32.286815],[102.430842,32.286793],[102.430894,32.286724],[102.431242,32.285408],[102.431586,32.284251],[102.431994,32.28392],[102.43216,32.283786],[102.432327,32.283519],[102.432813,32.282741],[102.432974,32.281421],[102.432511,32.280194],[102.432303,32.278708],[102.432357,32.278597],[102.432394,32.27852],[102.432833,32.277608],[102.433249,32.276081],[102.433659,32.274819],[102.433592,32.272754],[102.433464,32.270687],[102.433526,32.268466],[102.433452,32.268119],[102.433317,32.267488],[102.433196,32.266924],[102.433139,32.266782],[102.433073,32.266629],[102.433007,32.266472],[102.432961,32.26634],[102.432896,32.266178],[102.432849,32.266061],[102.432788,32.26591],[102.432709,32.265757],[102.43262,32.265584],[102.432531,32.265416],[102.432429,32.265219],[102.432316,32.265001],[102.432211,32.264868],[102.432121,32.264754],[102.431988,32.264584],[102.431843,32.2644],[102.431713,32.264233],[102.431545,32.264019],[102.431401,32.263838],[102.431296,32.263705],[102.431173,32.263549],[102.431113,32.26361],[102.430917,32.263808],[102.430749,32.263871],[102.43055,32.263945],[102.430244,32.264061],[102.430032,32.26414],[102.429846,32.26421],[102.429622,32.264307],[102.429491,32.264364],[102.429196,32.264492],[102.428911,32.264616],[102.42863,32.26474],[102.428333,32.264867],[102.428111,32.264902],[102.427928,32.264931],[102.42776,32.264957],[102.427519,32.264995],[102.427291,32.265031],[102.427144,32.265054],[102.426934,32.265119],[102.426658,32.265204],[102.42637,32.265294],[102.426128,32.265369],[102.425892,32.265442],[102.425699,32.265501],[102.425453,32.265654],[102.425256,32.265777],[102.425064,32.265896],[102.424874,32.266014],[102.424673,32.26614],[102.424513,32.266241],[102.424304,32.266372],[102.424033,32.266405],[102.423829,32.26643],[102.423554,32.266463],[102.423305,32.26658],[102.423073,32.266688],[102.422796,32.266818],[102.422632,32.266984],[102.422484,32.267134],[102.422254,32.267366],[102.422059,32.267564],[102.421921,32.267703],[102.42177,32.267856],[102.420893,32.268049],[102.420724,32.267411],[102.420628,32.266403],[102.420277,32.265602],[102.420045,32.265385],[102.419549,32.264922],[102.419002,32.264412],[102.418229,32.263126],[102.417456,32.26206],[102.417453,32.262056],[102.41745,32.262051],[102.416786,32.261297],[102.416699,32.261108],[102.416492,32.260656],[102.416143,32.259802],[102.416096,32.259672],[102.416011,32.259436],[102.415904,32.259139],[102.415796,32.258842],[102.415811,32.258313],[102.415819,32.258033],[102.415832,32.257572],[102.415802,32.257217],[102.415758,32.256703],[102.415692,32.255929],[102.415631,32.255493],[102.415592,32.255207],[102.415537,32.254814],[102.415461,32.254511],[102.415391,32.254232],[102.415257,32.253697],[102.415242,32.253404],[102.415223,32.253017],[102.415206,32.252674],[102.415178,32.252108],[102.415166,32.251793],[102.415155,32.251458],[102.415141,32.251063],[102.415139,32.251002],[102.415135,32.2509],[102.415131,32.250786],[102.415126,32.250681],[102.415122,32.250547],[102.415117,32.250437],[102.415114,32.250319],[102.415112,32.250244],[102.415108,32.250148],[102.415105,32.250051],[102.415101,32.24994],[102.415097,32.249807],[102.415093,32.249679],[102.415087,32.249517],[102.415083,32.249368],[102.415078,32.249232],[102.415075,32.249142],[102.415024,32.249023],[102.414938,32.248818],[102.414838,32.248624],[102.414781,32.248501],[102.41477,32.2484],[102.414747,32.248199],[102.414739,32.248127],[102.414724,32.248002],[102.414703,32.247831],[102.414679,32.247592],[102.414652,32.247353],[102.414632,32.247174],[102.414657,32.246967],[102.414686,32.246721],[102.414722,32.246418],[102.414757,32.246127],[102.414796,32.245802],[102.414839,32.245634],[102.414889,32.245437],[102.414936,32.245253],[102.414985,32.24506],[102.415006,32.244978],[102.415018,32.244933],[102.415031,32.24488],[102.41505,32.244809],[102.415068,32.244738],[102.415088,32.244659],[102.415101,32.244609],[102.415114,32.244559],[102.415129,32.244497],[102.415142,32.244446],[102.415146,32.244433],[102.415148,32.244403],[102.415152,32.244359],[102.415158,32.24429],[102.415166,32.2442],[102.415175,32.244101],[102.415181,32.244025],[102.415187,32.243961],[102.415192,32.243905],[102.415198,32.243836],[102.415202,32.24379],[102.415209,32.243711],[102.415221,32.243576],[102.415229,32.243481],[102.415238,32.243376],[102.415243,32.243317],[102.41525,32.24324],[102.415259,32.243138],[102.415269,32.243022],[102.41528,32.242898],[102.415292,32.242763],[102.415303,32.242639],[102.415315,32.242508],[102.415325,32.242392],[102.415337,32.242266],[102.415347,32.242148],[102.415355,32.242057],[102.415364,32.241956],[102.415371,32.241877],[102.415376,32.241816],[102.415384,32.241737],[102.41539,32.241667],[102.415421,32.241316],[102.415506,32.240951],[102.415533,32.240835],[102.415551,32.240761],[102.415572,32.240669],[102.415577,32.240649],[102.415604,32.240533],[102.415608,32.240515],[102.41565,32.240335],[102.415676,32.240225],[102.415704,32.240104],[102.415726,32.240027],[102.415764,32.239893],[102.415806,32.239744],[102.415843,32.239614],[102.415883,32.239472],[102.41593,32.239304],[102.415968,32.239168],[102.416023,32.238974],[102.416052,32.238872],[102.416079,32.238774],[102.41612,32.238631],[102.416143,32.23856],[102.416174,32.238463],[102.416218,32.238329],[102.416279,32.238147],[102.416352,32.237915],[102.41642,32.237706],[102.41649,32.23749],[102.416555,32.237289],[102.416619,32.237092],[102.416665,32.236948],[102.416716,32.236876],[102.416804,32.236747],[102.416916,32.236586],[102.417037,32.236412],[102.417174,32.236213],[102.417309,32.236018],[102.417414,32.235866],[102.417541,32.235682],[102.417639,32.235539],[102.41775,32.235438],[102.417853,32.235344],[102.418007,32.235202],[102.418158,32.235063],[102.418325,32.23491],[102.418473,32.234774],[102.418598,32.234659],[102.418705,32.234556],[102.418831,32.234433],[102.418983,32.234286],[102.419122,32.234151],[102.419239,32.234037],[102.419323,32.23387],[102.419399,32.233719],[102.419798,32.23362],[102.420495,32.233406],[102.421206,32.23329],[102.421705,32.233208],[102.422269,32.233116],[102.422776,32.233126],[102.42345,32.23314],[102.424149,32.233154],[102.424565,32.233198],[102.425297,32.233276],[102.426057,32.233454],[102.426517,32.233562],[102.427028,32.233792],[102.427614,32.234056],[102.428109,32.234279],[102.428598,32.234556],[102.428998,32.234783],[102.429395,32.234958],[102.429741,32.235167],[102.430175,32.235429],[102.430659,32.235721],[102.431154,32.23602],[102.431821,32.236423],[102.432415,32.236781],[102.432801,32.237072],[102.433231,32.237395],[102.433618,32.237687],[102.433961,32.237949],[102.434286,32.238198],[102.43467,32.238491],[102.434893,32.238843],[102.435111,32.239185],[102.43535,32.239616],[102.435513,32.239911],[102.435746,32.240476],[102.436012,32.241121],[102.436197,32.24157],[102.436425,32.242124],[102.436524,32.242362],[102.436598,32.242544],[102.436716,32.242829],[102.436897,32.243267],[102.43712,32.243808],[102.437305,32.244257],[102.437409,32.244509],[102.437561,32.244879],[102.437653,32.245144],[102.437759,32.245448],[102.437881,32.245799],[102.437776,32.246008],[102.437652,32.246254],[102.437637,32.246283],[102.43739,32.246546],[102.437136,32.246815],[102.437004,32.246956],[102.436843,32.247229],[102.436687,32.247494],[102.436559,32.247711],[102.436461,32.247878],[102.4364,32.247982],[102.436359,32.248052],[102.436342,32.248671],[102.43699,32.24993],[102.437021,32.249991],[102.437106,32.250155],[102.43736,32.250654],[102.437761,32.251441],[102.437815,32.251581],[102.438039,32.252164],[102.438405,32.253118],[102.438638,32.254395],[102.439364,32.255878],[102.439525,32.256395],[102.439581,32.256575],[102.439681,32.256895],[102.439515,32.257349],[102.438964,32.257827],[102.438868,32.258063],[102.438634,32.258636],[102.438666,32.259208],[102.438685,32.25955],[102.438684,32.260357],[102.438684,32.260652],[102.438684,32.260953],[102.439117,32.261941],[102.440476,32.262784],[102.441138,32.263809],[102.441852,32.264378],[102.442676,32.265112],[102.443079,32.265806],[102.443412,32.266237],[102.443397,32.266791],[102.44334,32.267658],[102.443329,32.267833],[102.443258,32.268332],[102.443246,32.268412],[102.443138,32.269167],[102.443232,32.269919],[102.443212,32.270637],[102.443153,32.271353],[102.442814,32.272488],[102.442715,32.273302],[102.442676,32.273379],[102.442267,32.274206],[102.441318,32.275166],[102.440295,32.276059],[102.440265,32.276111],[102.440042,32.276506],[102.439729,32.277058],[102.439512,32.277416],[102.439146,32.278018],[102.439004,32.278251],[102.438982,32.278347],[102.438884,32.278774],[102.438861,32.278874],[102.438698,32.279582],[102.4387,32.279674],[102.438715,32.280333],[102.438138,32.281807],[102.438077,32.281961],[102.437764,32.28276],[102.437639,32.283096],[102.437464,32.283566],[102.437437,32.283638],[102.43739,32.283764],[102.436614,32.285412],[102.436418,32.286909],[102.436342,32.287743],[102.436334,32.287824],[102.436307,32.288114],[102.436235,32.288407],[102.436202,32.288543],[102.436194,32.288578],[102.436182,32.288624],[102.436169,32.288678],[102.435917,32.289704],[102.436036,32.290947],[102.436316,32.291898],[102.436507,32.293305],[102.436708,32.294353],[102.436747,32.295033],[102.436772,32.295461],[102.436785,32.295692],[102.437007,32.297452],[102.437037,32.297687],[102.436929,32.298794],[102.436959,32.300459],[102.436964,32.301633],[102.436629,32.302605],[102.436339,32.30335],[102.436223,32.30475],[102.435919,32.305984],[102.435335,32.307636],[102.435152,32.308676],[102.434708,32.309417],[102.434185,32.310287],[102.433662,32.311092],[102.43301,32.312416],[102.432892,32.313138],[102.432873,32.31325],[102.432871,32.313262],[102.432874,32.313331],[102.432875,32.313348],[102.432875,32.313349],[102.432877,32.313359],[102.432877,32.313361],[102.432878,32.313389],[102.432948,32.314634],[102.433116,32.315485],[102.433206,32.316368],[102.433846,32.317747],[102.434105,32.318304],[102.434182,32.318469],[102.434412,32.318963],[102.434554,32.31927],[102.434672,32.319572],[102.434873,32.320088],[102.435123,32.320905],[102.435498,32.322131],[102.43588,32.323124],[102.435809,32.32385],[102.435787,32.324072],[102.435784,32.324108],[102.435761,32.324933],[102.435756,32.325081],[102.435736,32.325798],[102.435735,32.325853],[102.435728,32.326079],[102.436313,32.327135],[102.436392,32.328078],[102.436403,32.328213],[102.436415,32.328355],[102.436481,32.328474],[102.436548,32.328594],[102.436634,32.32875],[102.436744,32.328948],[102.43685,32.329139],[102.436936,32.329295],[102.437047,32.329495],[102.43713,32.329646],[102.437177,32.32987],[102.437211,32.330039],[102.437252,32.330237],[102.437254,32.330243],[102.437551,32.331684],[102.437515,32.332959],[102.437296,32.333477],[102.437072,32.333964],[102.436784,32.334713],[102.436948,32.335206],[102.437005,32.335257],[102.437413,32.33562],[102.437419,32.335626],[102.437468,32.33567],[102.437505,32.335685],[102.437611,32.335728],[102.437753,32.335786],[102.438076,32.335918],[102.43883,32.336226],[102.440769,32.336831],[102.441061,32.336939],[102.441245,32.337007],[102.441275,32.337018],[102.441805,32.337214],[102.444552,32.338229],[102.444639,32.338395],[102.444719,32.338546],[102.444737,32.338582],[102.444755,32.338616],[102.444765,32.338635],[102.445203,32.33947],[102.446265,32.341494],[102.44698,32.343262],[102.447546,32.344897],[102.447984,32.345262],[102.448742,32.345895],[102.449134,32.346058],[102.449219,32.346108],[102.449228,32.346117],[102.449363,32.346021],[102.449807,32.346111],[102.450239,32.346387],[102.450444,32.346518],[102.45045,32.346521],[102.450575,32.346601],[102.450859,32.346782],[102.451698,32.346864],[102.453604,32.347097],[102.454452,32.347055],[102.454496,32.347052],[102.454523,32.347051],[102.455753,32.346816],[102.455953,32.34682],[102.456977,32.346841],[102.458579,32.347678],[102.458786,32.347787],[102.460597,32.348667],[102.462705,32.349879],[102.464668,32.350827],[102.466106,32.351376],[102.467467,32.351923],[102.468904,32.352536],[102.470346,32.352955],[102.470661,32.353029],[102.471258,32.353168],[102.472326,32.353254],[102.473468,32.353472],[102.47458,32.354728],[102.475767,32.356051],[102.476598,32.356457],[102.478407,32.357402],[102.479785,32.358482],[102.480688,32.359019],[102.481338,32.359864],[102.482039,32.361072],[102.482135,32.362009],[102.482273,32.363674],[102.482675,32.364617],[102.483433,32.365983],[102.484561,32.367252],[102.485027,32.368093],[102.48628,32.369261],[102.486611,32.370566],[102.486269,32.371858],[102.486108,32.373257],[102.486154,32.37383],[102.487249,32.374059],[102.488027,32.374698],[102.488845,32.376117],[102.490394,32.377654],[102.490542,32.378956],[102.490509,32.38015],[102.490598,32.381346],[102.491049,32.382758],[102.491141,32.383851],[102.491462,32.385519],[102.491056,32.386914],[102.490778,32.390337],[102.490554,32.391787],[102.490756,32.393349],[102.490781,32.394648],[102.490508,32.395682],[102.48943,32.397011],[102.488665,32.398086],[102.487793,32.39864],[102.485717,32.400625],[102.483981,32.401421],[102.48292,32.402127],[102.482146,32.403566],[102.481929,32.404757],[102.481957,32.405952],[102.481934,32.406782],[102.481535,32.407917],[102.481502,32.409111],[102.481512,32.41093],[102.481419,32.412071],[102.480722,32.415121],[102.480625,32.416418],[102.480701,32.418082],[102.480725,32.419433],[102.480743,32.420991],[102.481169,32.423285],[102.481591,32.425735],[102.482403,32.427362],[102.482739,32.428511],[102.48343,32.430083],[102.484503,32.431143],[102.485528,32.431735],[102.48649,32.432378],[102.487322,32.433277],[102.488331,32.43444],[102.490313,32.435882],[102.491259,32.437096],[102.491415,32.438086],[102.491511,32.439075],[102.492023,32.440487],[102.492528,32.44216],[102.492802,32.443308],[102.493447,32.444359],[102.493962,32.445668],[102.494777,32.447191],[102.495789,32.44825],[102.496884,32.448531],[102.498921,32.448001],[102.499732,32.447445],[102.500299,32.446213],[102.501265,32.445927],[102.501934,32.445535],[102.502618,32.444584],[102.50465,32.442494],[102.506141,32.440494],[102.507601,32.43961],[102.509176,32.438931],[102.510628,32.438351],[102.511793,32.437308],[102.513027,32.435963],[102.514031,32.434258],[102.514308,32.432894],[102.513938,32.43111],[102.512401,32.428239],[102.511394,32.425733],[102.510669,32.423791],[102.510708,32.422371],[102.510749,32.422294],[102.511223,32.421402],[102.511236,32.421379],[102.511246,32.421359],[102.511263,32.421327],[102.511323,32.421215],[102.511402,32.421066],[102.511778,32.420464],[102.512634,32.419771],[102.513727,32.419184],[102.516419,32.419186],[102.518773,32.419233],[102.518846,32.419234],[102.520065,32.419258],[102.521922,32.419193],[102.523122,32.419217],[102.523884,32.419232],[102.52509,32.419256],[102.526508,32.419228],[102.527664,32.419205],[102.527846,32.419192],[102.528362,32.419155],[102.529342,32.419085],[102.531386,32.41872],[102.532553,32.418385],[102.532712,32.41834],[102.533156,32.418286],[102.533943,32.418191],[102.534201,32.418159],[102.534512,32.418121],[102.535523,32.418344],[102.536887,32.418777],[102.538407,32.419519],[102.538835,32.419728],[102.538959,32.419788],[102.540902,32.420733],[102.543321,32.421947],[102.543751,32.422217],[102.544321,32.422575],[102.546463,32.423992],[102.54649,32.42401],[102.546613,32.424091],[102.5482,32.425063],[102.548362,32.425162],[102.54848,32.425234],[102.548491,32.425241],[102.548496,32.425244],[102.548521,32.425262],[102.548552,32.425285],[102.548567,32.425296],[102.548572,32.4253],[102.548578,32.425304],[102.550491,32.426704],[102.55254,32.428367],[102.553757,32.429224],[102.553949,32.429358],[102.556042,32.431289],[102.556984,32.432157],[102.558222,32.432841],[102.560255,32.433513],[102.561318,32.433826],[102.562118,32.434004],[102.562561,32.434597],[102.562842,32.435544],[102.563736,32.436471],[102.564399,32.437458],[102.565107,32.438186],[102.565743,32.438718],[102.566501,32.439025],[102.567794,32.439374],[102.569919,32.440065],[102.571286,32.440513],[102.573031,32.441131],[102.574966,32.441786],[102.576027,32.442228],[102.577781,32.442489],[102.579065,32.44266],[102.579498,32.442717],[102.580868,32.44287],[102.581255,32.442913],[102.583009,32.443174],[102.584527,32.44369],[102.586495,32.444572],[102.588311,32.445386],[102.589935,32.446262],[102.591138,32.447097],[102.592072,32.447959],[102.592622,32.448911],[102.593035,32.449211],[102.59391,32.449423],[102.59475,32.449504],[102.595746,32.44949],[102.596137,32.449205],[102.596761,32.448763],[102.598182,32.448628],[102.598772,32.448623],[102.598918,32.448621],[102.599103,32.44862],[102.599369,32.448618],[102.600517,32.448672],[102.601208,32.44862],[102.601388,32.448466],[102.601593,32.44829],[102.601913,32.448017],[102.603164,32.447034],[102.604169,32.446696],[102.606124,32.446636],[102.607959,32.446736],[102.609444,32.447056],[102.61112,32.447413],[102.612682,32.447702],[102.61341,32.447871],[102.61394,32.447994],[102.614205,32.448056],[102.614386,32.448063],[102.61501,32.448087],[102.61585,32.44812],[102.61711,32.448241],[102.618083,32.448202],[102.618222,32.448197],[102.619196,32.448167],[102.619525,32.448157],[102.620972,32.448476],[102.62145,32.448637],[102.622301,32.448924],[102.623403,32.449237],[102.624124,32.44951],[102.625067,32.450048],[102.625449,32.450087],[102.626046,32.449222],[102.626744,32.448499],[102.626755,32.448488],[102.626764,32.448476],[102.627062,32.448116],[102.627704,32.447337],[102.628138,32.446858],[102.629403,32.446785],[102.630589,32.44684],[102.631846,32.447091],[102.632531,32.447266],[102.633019,32.447665],[102.633699,32.448002],[102.634037,32.448268],[102.634595,32.448896],[102.635334,32.449916],[102.635926,32.450707],[102.636745,32.451631],[102.637417,32.452261],[102.638217,32.452438],[102.639168,32.452684],[102.640118,32.452994],[102.641417,32.453083],[102.64168,32.453283],[102.641667,32.453802],[102.642062,32.454784],[102.642086,32.455336],[102.643154,32.455518],[102.644645,32.455777],[102.645651,32.456373],[102.646926,32.45709],[102.648555,32.458134],[102.648767,32.458034],[102.651823,32.45676],[102.652817,32.456279],[102.654573,32.455181],[102.655635,32.455067],[102.656853,32.455057],[102.657613,32.454505],[102.65831,32.453353],[102.658992,32.4528],[102.659429,32.452575],[102.660497,32.452295],[102.66137,32.452311],[102.661713,32.452318],[102.662136,32.452314],[102.662891,32.452306],[102.66374,32.452888],[102.665082,32.454111],[102.666433,32.455002],[102.667513,32.455754],[102.669418,32.456488],[102.671048,32.457217],[102.672094,32.457769],[102.672349,32.458506],[102.67209,32.459433],[102.671722,32.461523],[102.671691,32.462721],[102.671317,32.463546],[102.671747,32.463587],[102.672971,32.463344],[102.673834,32.46336],[102.675509,32.46389],[102.676399,32.464406],[102.677165,32.465119],[102.678424,32.466573],[102.679419,32.467557],[102.679673,32.468394],[102.680198,32.469335],[102.680831,32.469147],[102.681996,32.468137],[102.682959,32.467322],[102.683992,32.466842],[102.685268,32.4661],[102.686659,32.465427],[102.688008,32.464885],[102.689386,32.464744],[102.691043,32.464409],[102.691914,32.464125],[102.693445,32.464153],[102.694665,32.464042],[102.696304,32.464007],[102.696354,32.464006],[102.696979,32.464118],[102.698109,32.464471],[102.699758,32.464468],[102.701285,32.464629],[102.702303,32.464747],[102.703025,32.464161],[102.70442,32.463321],[102.705694,32.462646],[102.705837,32.462569],[102.707325,32.461777],[102.707743,32.461523],[102.70796,32.461391],[102.708442,32.461098],[102.709838,32.460224],[102.711503,32.459589],[102.712851,32.459081],[102.713919,32.458767],[102.7153,32.458493],[102.715839,32.458306],[102.717122,32.45786],[102.718069,32.457644],[102.718778,32.457557],[102.718971,32.457495],[102.719038,32.45753],[102.719421,32.45773],[102.719804,32.45793],[102.720187,32.45813],[102.720484,32.458292],[102.72078,32.458455],[102.721076,32.458617],[102.721076,32.458617],[102.721076,32.458618],[102.72121,32.458703],[102.721395,32.458822],[102.721395,32.458822],[102.721396,32.458822],[102.721596,32.458976],[102.721796,32.459129],[102.722062,32.459472],[102.722308,32.459787],[102.722556,32.460105],[102.722805,32.460424],[102.723109,32.460712],[102.723414,32.461001],[102.723718,32.46129],[102.723912,32.46144],[102.724215,32.461674],[102.724518,32.461909],[102.724837,32.462175],[102.725156,32.462442],[102.725403,32.46257],[102.725651,32.462699],[102.726048,32.462863],[102.726445,32.463027],[102.726843,32.463191],[102.72724,32.463355],[102.727607,32.463443],[102.727975,32.46353],[102.728342,32.463618],[102.72871,32.463705],[102.729077,32.463793],[102.729464,32.463963],[102.729851,32.464133],[102.730127,32.464255],[102.730403,32.464376],[102.730657,32.464488],[102.731,32.464685],[102.731342,32.464883],[102.731685,32.46508],[102.732028,32.465278],[102.732315,32.465468],[102.732603,32.465659],[102.732891,32.465849],[102.733179,32.466039],[102.733517,32.466256],[102.733855,32.466472],[102.734193,32.466689],[102.734531,32.466905],[102.734654,32.466915],[102.734988,32.466867],[102.73518,32.466712],[102.735235,32.466667],[102.735514,32.466379],[102.735793,32.46609],[102.736073,32.465801],[102.736321,32.465624],[102.73657,32.465447],[102.736818,32.465269],[102.736837,32.465252],[102.737156,32.464969],[102.737474,32.464685],[102.737786,32.464479],[102.737832,32.464449],[102.737995,32.464297],[102.738357,32.46415],[102.738719,32.464002],[102.739147,32.463917],[102.739518,32.464002],[102.739651,32.464013],[102.739675,32.464012],[102.739993,32.464036],[102.740311,32.464061],[102.740352,32.464071],[102.740441,32.464079],[102.740548,32.464119],[102.740923,32.464261],[102.741298,32.464402],[102.741655,32.464535],[102.742012,32.464669],[102.742212,32.464726],[102.742335,32.464726],[102.742497,32.46464],[102.74265,32.464528],[102.742897,32.464346],[102.743145,32.464165],[102.743392,32.463983],[102.743763,32.463788],[102.744134,32.463593],[102.744553,32.463441],[102.744801,32.463384],[102.745134,32.463374],[102.745464,32.463412],[102.745794,32.46345],[102.746123,32.463488],[102.746287,32.463552],[102.746522,32.463644],[102.746823,32.463761],[102.747123,32.463879],[102.747432,32.463979],[102.747742,32.464079],[102.747973,32.464103],[102.748275,32.464136],[102.748627,32.464207],[102.748979,32.464278],[102.749179,32.464221],[102.749341,32.464155],[102.749565,32.463957],[102.749578,32.463945],[102.749807,32.463726],[102.750031,32.463655],[102.750254,32.463584],[102.750511,32.463536],[102.750768,32.463488],[102.75113,32.463469],[102.75135,32.463488],[102.751473,32.463498],[102.751787,32.463498],[102.752148,32.463403],[102.752407,32.463352],[102.752681,32.463298],[102.752986,32.463284],[102.75329,32.46327],[102.753592,32.4632],[102.753893,32.46313],[102.754272,32.463043],[102.754651,32.462955],[102.754694,32.462948],[102.755034,32.46289],[102.755375,32.462832],[102.755689,32.462784],[102.755993,32.462813],[102.756118,32.462857],[102.756498,32.462994],[102.756679,32.463003],[102.756907,32.462955],[102.757288,32.462917],[102.757592,32.462984],[102.757897,32.463051],[102.758259,32.463212],[102.758582,32.463251],[102.758968,32.46327],[102.759353,32.463289],[102.759715,32.463327],[102.760048,32.463554],[102.760077,32.463574],[102.760372,32.463815],[102.760667,32.464056],[102.760962,32.464297],[102.761238,32.464483],[102.761514,32.464669],[102.761536,32.464681],[102.761856,32.46485],[102.762132,32.464973],[102.762504,32.465059],[102.76278,32.465126],[102.763056,32.465192],[102.763408,32.465211],[102.76376,32.46523],[102.764112,32.465325],[102.764464,32.465449],[102.764693,32.465497],[102.764988,32.465516],[102.765205,32.46558],[102.765422,32.465645],[102.765422,32.465645],[102.765422,32.465645],[102.765547,32.465686],[102.765721,32.465744],[102.765721,32.465745],[102.765721,32.465745],[102.766039,32.465868],[102.766358,32.465992],[102.766625,32.466249],[102.766798,32.466407],[102.766971,32.466565],[102.767291,32.466858],[102.766968,32.467029],[102.764686,32.468174],[102.763549,32.468578],[102.762228,32.468925],[102.761659,32.469075],[102.760208,32.469527],[102.757623,32.470277],[102.755668,32.470826],[102.754269,32.471703],[102.752602,32.473318],[102.750992,32.475094],[102.750684,32.475398],[102.750094,32.47598],[102.748555,32.477438],[102.746753,32.479422],[102.745918,32.480256],[102.743611,32.482391],[102.742389,32.483696],[102.740655,32.485416],[102.740527,32.485544],[102.738793,32.487293],[102.736673,32.48943],[102.734052,32.491559],[102.733208,32.492503],[102.732184,32.493648],[102.731148,32.495009],[102.730612,32.495811],[102.729782,32.497054],[102.728646,32.498293],[102.728629,32.498311],[102.72856,32.498386],[102.728511,32.49844],[102.728492,32.49846],[102.728485,32.498468],[102.728471,32.498483],[102.728395,32.498566],[102.728367,32.498597],[102.728166,32.498816],[102.727914,32.49909],[102.726435,32.500656],[102.724504,32.502743],[102.724398,32.502835],[102.72393,32.50324],[102.723844,32.503314],[102.723843,32.503314],[102.723842,32.503315],[102.723817,32.503337],[102.723805,32.503348],[102.723691,32.503446],[102.723365,32.503728],[102.722519,32.504459],[102.722037,32.504752],[102.721877,32.504849],[102.721875,32.50485],[102.721873,32.504851],[102.721542,32.505053],[102.721438,32.505116],[102.721414,32.50513],[102.721334,32.505179],[102.72121,32.505255],[102.721208,32.505255],[102.721208,32.505256],[102.721117,32.505311],[102.721051,32.505351],[102.720993,32.505386],[102.720291,32.505904],[102.720151,32.505862],[102.720048,32.505831],[102.720017,32.505821],[102.720007,32.505818],[102.720007,32.505818],[102.720006,32.505818],[102.719977,32.505809],[102.719934,32.505796],[102.719359,32.505622],[102.71921,32.505691],[102.719204,32.505693],[102.71919,32.5057],[102.719185,32.505702],[102.718915,32.505826],[102.718782,32.506142],[102.718745,32.50632],[102.718639,32.50683],[102.718252,32.5073],[102.717491,32.507658],[102.716892,32.507487],[102.716857,32.507477],[102.7166,32.507404],[102.716496,32.507374],[102.71638,32.507319],[102.71622,32.507243],[102.716046,32.50716],[102.715942,32.507111],[102.715862,32.507073],[102.71583,32.507058],[102.715692,32.506992],[102.715631,32.506963],[102.715568,32.506933],[102.714991,32.507453],[102.714349,32.508078],[102.713785,32.508121],[102.713287,32.508006],[102.713075,32.507869],[102.713074,32.507869],[102.713073,32.507868],[102.713047,32.507852],[102.713025,32.507837],[102.712937,32.507781],[102.712847,32.507723],[102.712821,32.507706],[102.712609,32.507569],[102.712168,32.507667],[102.712118,32.507679],[102.711979,32.507714],[102.711945,32.507722],[102.711917,32.507729],[102.711916,32.507729],[102.711915,32.507729],[102.71116,32.507914],[102.710723,32.508037],[102.71031,32.508154],[102.710292,32.508174],[102.710504,32.50832],[102.71083,32.508545],[102.710882,32.50897],[102.710806,32.5095],[102.710493,32.509494],[102.710127,32.509116],[102.710063,32.509093],[102.710039,32.509084],[102.709979,32.509063],[102.709954,32.509053],[102.709887,32.509029],[102.709817,32.509004],[102.709529,32.509284],[102.709496,32.509317],[102.709494,32.50933],[102.70949,32.509363],[102.709487,32.509387],[102.709475,32.50948],[102.709417,32.509952],[102.709095,32.510318],[102.708462,32.510571],[102.708224,32.510567],[102.708024,32.510563],[102.70764,32.510325],[102.707622,32.510314],[102.707532,32.510258],[102.707499,32.510238],[102.707407,32.510181],[102.7071,32.509963],[102.70694,32.510034],[102.706669,32.510155],[102.706659,32.51016],[102.70656,32.510204],[102.706534,32.510216],[102.706532,32.510217],[102.706529,32.510218],[102.706572,32.511015],[102.706493,32.51165],[102.706044,32.512066],[102.705732,32.512007],[102.705623,32.511782],[102.705623,32.511782],[102.705622,32.511781],[102.705622,32.511781],[102.705612,32.51176],[102.70556,32.511652],[102.705536,32.511604],[102.705316,32.511151],[102.704959,32.510401],[102.704482,32.510437],[102.704444,32.51044],[102.704394,32.510444],[102.704368,32.510512],[102.704368,32.510512],[102.704368,32.510512],[102.704323,32.510627],[102.704126,32.511129],[102.703558,32.511331],[102.70256,32.511154],[102.702492,32.511159],[102.702484,32.51116],[102.702421,32.511165],[102.702386,32.511168],[102.702384,32.511168],[102.702383,32.511168],[102.701667,32.511226],[102.701654,32.511227],[102.70162,32.51123],[102.70153,32.511237],[102.701513,32.511239],[102.701493,32.51124],[102.70036,32.511485],[102.699908,32.512007],[102.700016,32.512699],[102.700255,32.513128],[102.700242,32.513658],[102.699918,32.514077],[102.698342,32.514473],[102.697181,32.514664],[102.697136,32.514672],[102.697061,32.514684],[102.696895,32.514711],[102.696545,32.514754],[102.696356,32.514778],[102.695765,32.51485],[102.695268,32.514682],[102.695342,32.514081],[102.695344,32.514065],[102.695347,32.514047],[102.695347,32.514047],[102.695347,32.514046],[102.695447,32.513931],[102.695492,32.513878],[102.695798,32.513524],[102.695699,32.513401],[102.695663,32.513356],[102.695617,32.513298],[102.695589,32.513264],[102.695589,32.513264],[102.695589,32.513264],[102.695495,32.513147],[102.694769,32.513134],[102.694744,32.513133],[102.69471,32.513123],[102.694688,32.513116],[102.694515,32.513064],[102.694498,32.513059],[102.694386,32.513025],[102.694049,32.512923],[102.694022,32.512914],[102.693998,32.512907],[102.693927,32.512948],[102.693926,32.512948],[102.693926,32.512948],[102.693915,32.512954],[102.693903,32.512961],[102.693362,32.513267],[102.692987,32.51326],[102.692613,32.5132],[102.692448,32.513257],[102.691931,32.513438],[102.691602,32.513553],[102.69077,32.514228],[102.690441,32.514858],[102.690046,32.514998],[102.689303,32.515262],[102.688716,32.51535],[102.688046,32.515451],[102.687724,32.515764],[102.687266,32.516551],[102.686701,32.516594],[102.686671,32.516504],[102.686655,32.516456],[102.686651,32.516445],[102.686625,32.516366],[102.686613,32.516331],[102.686606,32.51631],[102.686468,32.5159],[102.686179,32.515759],[102.686095,32.515718],[102.686083,32.515712],[102.68597,32.515657],[102.685954,32.515649],[102.685788,32.515569],[102.684905,32.515818],[102.684625,32.515951],[102.68351,32.516482],[102.68311,32.517089],[102.682923,32.517373],[102.682352,32.517681],[102.681919,32.517461],[102.681926,32.51717],[102.681929,32.517076],[102.681933,32.516899],[102.681933,32.516894],[102.681934,32.516877],[102.681434,32.516815],[102.681022,32.51715],[102.681017,32.517154],[102.680962,32.517198],[102.680957,32.517203],[102.680882,32.517263],[102.680855,32.517285],[102.680667,32.517438],[102.680585,32.518179],[102.680821,32.518767],[102.680557,32.519293],[102.680065,32.518912],[102.679507,32.51869],[102.679367,32.518942],[102.679245,32.519163],[102.679067,32.519549],[102.679013,32.519669],[102.678979,32.519741],[102.678266,32.520027],[102.678163,32.520069],[102.677981,32.520142],[102.677587,32.520299],[102.677006,32.520979],[102.676171,32.521759],[102.675023,32.522587],[102.67383,32.522671],[102.673602,32.522737],[102.67358,32.522743],[102.673464,32.522776],[102.673439,32.522784],[102.673136,32.52287],[102.673223,32.522998],[102.673237,32.523004],[102.673251,32.52301],[102.673382,32.523068],[102.673403,32.523078],[102.673758,32.523236],[102.673671,32.523595],[102.672697,32.523936],[102.67211,32.524252],[102.671554,32.524486],[102.671291,32.524597],[102.670986,32.524491],[102.670793,32.524424],[102.670553,32.524212],[102.670528,32.524189],[102.670513,32.524176],[102.670492,32.524157],[102.670432,32.524104],[102.670432,32.524104],[102.670431,32.524103],[102.670378,32.524057],[102.669892,32.523459],[102.669558,32.52293],[102.669515,32.522935],[102.669513,32.522936],[102.66951,32.522936],[102.669403,32.522951],[102.6694,32.522951],[102.669399,32.522951],[102.669367,32.522955],[102.669294,32.522965],[102.669132,32.522987],[102.668774,32.523406],[102.669075,32.523706],[102.66941,32.524202],[102.66932,32.524691],[102.669042,32.52498],[102.668617,32.525005],[102.668159,32.5248],[102.668065,32.524686],[102.668035,32.52465],[102.668012,32.524621],[102.667961,32.524559],[102.667961,32.524559],[102.667961,32.524558],[102.667951,32.524547],[102.66786,32.524435],[102.667492,32.524569],[102.667477,32.524574],[102.667431,32.524591],[102.6674,32.524619],[102.667395,32.524624],[102.66728,32.524732],[102.666917,32.525072],[102.666295,32.525224],[102.666055,32.525546],[102.665926,32.526067],[102.665566,32.526551],[102.664905,32.526735],[102.664518,32.52676],[102.664161,32.527146],[102.66307,32.527518],[102.661943,32.527824],[102.661704,32.528114],[102.66135,32.528369],[102.660922,32.528492],[102.660698,32.528418],[102.66068,32.528412],[102.660672,32.52841],[102.660566,32.528375],[102.660548,32.528369],[102.660501,32.528353],[102.66008,32.528215],[102.660071,32.528223],[102.660043,32.528249],[102.66003,32.528261],[102.659953,32.528333],[102.659942,32.528343],[102.659902,32.528379],[102.659803,32.528471],[102.659987,32.528834],[102.659938,32.529226],[102.659581,32.529579],[102.658259,32.529947],[102.657409,32.529996],[102.657263,32.52996],[102.657244,32.529955],[102.657237,32.529953],[102.65713,32.529926],[102.657123,32.529925],[102.656565,32.529784],[102.65641,32.529815],[102.656314,32.529834],[102.655669,32.529963],[102.655662,32.529965],[102.655534,32.52999],[102.655517,32.529994],[102.654879,32.53081],[102.654094,32.531286],[102.653944,32.531337],[102.653643,32.53144],[102.653072,32.531635],[102.651862,32.531816],[102.651536,32.531764],[102.650709,32.531631],[102.650693,32.531584],[102.65053,32.531097],[102.650534,32.531043],[102.650535,32.531031],[102.650536,32.531019],[102.650545,32.530898],[102.650546,32.530877],[102.650605,32.530077],[102.650322,32.529826],[102.650269,32.52985],[102.650259,32.529855],[102.650175,32.529894],[102.650146,32.529907],[102.649875,32.530032],[102.649638,32.53014],[102.649002,32.530496],[102.647929,32.530966],[102.646955,32.531316],[102.646118,32.531954],[102.645453,32.532333],[102.645388,32.532371],[102.645358,32.532387],[102.645329,32.532404],[102.645286,32.532429],[102.645275,32.532438],[102.645266,32.532445],[102.64499,32.532668],[102.645046,32.532714],[102.645294,32.532915],[102.645509,32.533089],[102.645557,32.533128],[102.64564,32.533307],[102.645627,32.533787],[102.645269,32.533806],[102.644856,32.533577],[102.644796,32.533544],[102.644769,32.533529],[102.644706,32.533494],[102.644682,32.533481],[102.644681,32.53348],[102.644681,32.53348],[102.64468,32.53348],[102.644393,32.533265],[102.644197,32.533295],[102.644196,32.533295],[102.644196,32.533295],[102.644091,32.533311],[102.64409,32.533311],[102.64408,32.533313],[102.643938,32.533334],[102.643625,32.533382],[102.643052,32.533827],[102.643167,32.534021],[102.643403,32.534187],[102.643595,32.534421],[102.643747,32.534606],[102.643747,32.534607],[102.643747,32.534607],[102.643783,32.534908],[102.643805,32.535024],[102.643814,32.535071],[102.643861,32.535323],[102.643453,32.535653],[102.643005,32.535605],[102.643002,32.535605],[102.643001,32.535604],[102.642943,32.535598],[102.642909,32.535594],[102.642891,32.535593],[102.642613,32.535562],[102.642035,32.535411],[102.641925,32.535382],[102.641818,32.535354],[102.641818,32.535354],[102.641735,32.535332],[102.641687,32.535319],[102.641299,32.535284],[102.641281,32.535282],[102.641211,32.535275],[102.641096,32.535265],[102.640967,32.535253],[102.640669,32.535225],[102.640672,32.535242],[102.640675,32.535254],[102.640694,32.535356],[102.640747,32.53564],[102.640563,32.5359],[102.640427,32.535948],[102.640397,32.535959],[102.640236,32.536015],[102.640215,32.536023],[102.64016,32.536042],[102.64012,32.536042],[102.639752,32.536035],[102.639724,32.536034],[102.63956,32.536031],[102.639527,32.536031],[102.639376,32.536028],[102.639317,32.536027],[102.638913,32.536207],[102.638812,32.536694],[102.638761,32.536728],[102.638676,32.536787],[102.638603,32.536836],[102.638587,32.536847],[102.638587,32.536848],[102.638586,32.536848],[102.638572,32.536858],[102.638505,32.536904],[102.638494,32.536911],[102.638493,32.536912],[102.638376,32.536992],[102.638376,32.536992],[102.638375,32.536993],[102.638283,32.537056],[102.638224,32.537096],[102.637999,32.537479],[102.637977,32.537517],[102.637927,32.537602],[102.637863,32.537711],[102.637853,32.537728],[102.637723,32.537886],[102.637682,32.537935],[102.637676,32.537942],[102.637616,32.538015],[102.637606,32.538026],[102.637599,32.538036],[102.637578,32.538061],[102.637513,32.538057],[102.637285,32.538045],[102.637269,32.538044],[102.637093,32.538035],[102.637073,32.538034],[102.636613,32.538009],[102.636583,32.538007],[102.636515,32.538003],[102.636483,32.538003],[102.636457,32.538002],[102.636312,32.538],[102.635849,32.537991],[102.635572,32.538437],[102.635523,32.538508],[102.635512,32.538524],[102.635443,32.538626],[102.635439,32.538632],[102.63535,32.538763],[102.635295,32.538845],[102.634716,32.538909],[102.634383,32.539042],[102.634369,32.539048],[102.63427,32.539088],[102.634269,32.539088],[102.634268,32.539088],[102.634267,32.539116],[102.634263,32.539258],[102.634261,32.539351],[102.63426,32.539366],[102.63426,32.539389],[102.634332,32.539479],[102.634336,32.539484],[102.634465,32.539644],[102.634475,32.539656],[102.634502,32.539652],[102.634853,32.539595],[102.635012,32.539569],[102.635099,32.539555],[102.635224,32.539591],[102.635234,32.539594],[102.635296,32.539612],[102.635763,32.539745],[102.635773,32.539748],[102.635803,32.539756],[102.635805,32.539763],[102.635849,32.539881],[102.635864,32.539923],[102.635927,32.540097],[102.635744,32.540319],[102.635162,32.540337],[102.635121,32.540338],[102.634989,32.540342],[102.634727,32.540324],[102.634704,32.540323],[102.634236,32.540291],[102.634144,32.540353],[102.633965,32.540473],[102.633956,32.5405],[102.633821,32.540884],[102.633902,32.541164],[102.633902,32.541164],[102.633902,32.541166],[102.633928,32.541255],[102.633928,32.541256],[102.633933,32.541275],[102.633966,32.541389],[102.633984,32.541451],[102.634002,32.541525],[102.634022,32.541607],[102.634025,32.541618],[102.634028,32.54163],[102.634043,32.541692],[102.634043,32.541694],[102.634044,32.541696],[102.634104,32.541942],[102.633512,32.542532],[102.632525,32.542927],[102.632235,32.542876],[102.632217,32.542873],[102.632135,32.542859],[102.632132,32.542858],[102.63213,32.542858],[102.632039,32.542842],[102.631989,32.54277],[102.631935,32.542694],[102.631934,32.542692],[102.631933,32.54269],[102.631826,32.542538],[102.631837,32.542473],[102.63184,32.542455],[102.631842,32.542444],[102.631869,32.542291],[102.631889,32.542171],[102.631892,32.542158],[102.63193,32.541938],[102.631845,32.541759],[102.631836,32.54174],[102.63176,32.541581],[102.631678,32.541408],[102.631678,32.541408],[102.631678,32.541407],[102.631635,32.541408],[102.630901,32.541419],[102.630886,32.541419],[102.630884,32.541419],[102.630883,32.541419],[102.630881,32.541419],[102.630813,32.54142],[102.630765,32.541421],[102.630765,32.541421],[102.630756,32.541421],[102.630568,32.541424],[102.629999,32.541316],[102.629969,32.541311],[102.62988,32.541294],[102.629861,32.54129],[102.629685,32.541257],[102.629664,32.541304],[102.629571,32.54151],[102.629563,32.541528],[102.629517,32.541628],[102.629508,32.54165],[102.62945,32.541779],[102.629441,32.541815],[102.629349,32.542228],[102.629265,32.542271],[102.62922,32.542295],[102.629207,32.542302],[102.629114,32.54235],[102.629104,32.542355],[102.629047,32.542384],[102.628719,32.542554],[102.628708,32.54261],[102.628705,32.542621],[102.628685,32.542719],[102.628655,32.54286],[102.628621,32.543023],[102.628618,32.543041],[102.628567,32.543054],[102.628128,32.543169],[102.627813,32.543251],[102.626966,32.542985],[102.626669,32.542891],[102.62662,32.542915],[102.626593,32.542927],[102.626426,32.543006],[102.626403,32.543016],[102.626329,32.543051],[102.62613,32.543144],[102.625855,32.543477],[102.62537,32.543724],[102.625351,32.543734],[102.62531,32.543755],[102.62528,32.54377],[102.625001,32.543912],[102.624776,32.544049],[102.624695,32.544097],[102.624693,32.544098],[102.624692,32.544099],[102.624691,32.5441],[102.624451,32.544246],[102.624279,32.54435],[102.622941,32.544625],[102.62239,32.545329],[102.621734,32.545806],[102.6217,32.545832],[102.621648,32.545869],[102.621587,32.545914],[102.621511,32.545969],[102.621485,32.545988],[102.62146,32.546013],[102.621385,32.546088],[102.621333,32.546139],[102.621213,32.546259],[102.621212,32.54626],[102.621211,32.546261],[102.621171,32.546301],[102.620892,32.546578],[102.620664,32.54663],[102.620648,32.546634],[102.620533,32.546661],[102.620532,32.546661],[102.62053,32.546661],[102.620412,32.546688],[102.620133,32.546752],[102.619927,32.546707],[102.619825,32.546684],[102.619653,32.546646],[102.619616,32.546638],[102.619578,32.54663],[102.619383,32.546587],[102.618569,32.547173],[102.61838,32.547621],[102.618233,32.548144],[102.618076,32.549043],[102.617824,32.550203],[102.617631,32.550764],[102.617712,32.551066],[102.618283,32.551302],[102.618628,32.551647],[102.61853,32.552021],[102.618168,32.552277],[102.617194,32.552183],[102.617168,32.552177],[102.616737,32.552072],[102.616357,32.55198],[102.616033,32.552462],[102.616057,32.553252],[102.615821,32.553774],[102.614949,32.554847],[102.614437,32.555777],[102.614384,32.55592],[102.614365,32.555971],[102.614348,32.556017],[102.614332,32.556062],[102.614149,32.556561],[102.614135,32.557124],[102.61425,32.557803],[102.614545,32.558372],[102.614831,32.559317],[102.615034,32.560035],[102.615287,32.560529],[102.615703,32.560952],[102.615734,32.560985],[102.615762,32.561012],[102.616151,32.561409],[102.616296,32.56148],[102.616302,32.561483],[102.616353,32.561508],[102.616994,32.561823],[102.617028,32.561839],[102.617147,32.56201],[102.617148,32.56201],[102.617228,32.562125],[102.617354,32.562305],[102.617369,32.562326],[102.61737,32.562328],[102.617371,32.562329],[102.617405,32.562378],[102.617435,32.562421],[102.617455,32.562449],[102.617449,32.562674],[102.617223,32.562857],[102.617187,32.562887],[102.617086,32.562968],[102.616705,32.563109],[102.616523,32.563175],[102.616504,32.563183],[102.616316,32.563555],[102.616205,32.564417],[102.616144,32.565017],[102.616011,32.565504],[102.615988,32.565587],[102.615899,32.565915],[102.6159,32.565956],[102.615901,32.566006],[102.61592,32.56678],[102.615962,32.566833],[102.616059,32.56696],[102.616069,32.566972],[102.616119,32.567038],[102.616138,32.567062],[102.616478,32.567504],[102.617125,32.568231],[102.617211,32.56852],[102.617235,32.568598],[102.617237,32.568605],[102.617303,32.568825],[102.617329,32.568911],[102.617329,32.568932],[102.61733,32.569001],[102.617331,32.56903],[102.617347,32.569889],[102.617188,32.570863],[102.617127,32.571108],[102.617046,32.571433],[102.617039,32.571461],[102.616982,32.571949],[102.617373,32.572257],[102.618068,32.572834],[102.618411,32.573291],[102.618447,32.573593],[102.618232,32.573802],[102.61822,32.573814],[102.618214,32.573818],[102.618213,32.573818],[102.618213,32.573818],[102.618204,32.573824],[102.618086,32.573899],[102.618041,32.573927],[102.617779,32.574093],[102.617618,32.574196],[102.617617,32.574197],[102.617617,32.574197],[102.617588,32.574215],[102.617564,32.574246],[102.617547,32.574268],[102.617547,32.574268],[102.617546,32.574269],[102.617128,32.574808],[102.617024,32.57537],[102.616962,32.576045],[102.616933,32.577135],[102.617007,32.57732],[102.617135,32.577638],[102.617158,32.577697],[102.617264,32.577963],[102.617266,32.577968],[102.617266,32.577979],[102.617244,32.578794],[102.617495,32.5794],[102.617835,32.579564],[102.6179,32.579595],[102.617943,32.579616],[102.618065,32.579674],[102.618076,32.579699],[102.618076,32.579699],[102.618076,32.579699],[102.618089,32.579725],[102.618191,32.57994],[102.618139,32.580202],[102.61809,32.580389],[102.617912,32.580468],[102.617675,32.580574],[102.617655,32.580583],[102.617559,32.580625],[102.617559,32.580625],[102.617559,32.580626],[102.617533,32.580637],[102.617281,32.580749],[102.617094,32.581122],[102.617205,32.581575],[102.61721,32.581597],[102.617214,32.581612],[102.617246,32.581645],[102.61735,32.581753],[102.617388,32.581793],[102.617473,32.581881],[102.617738,32.581961],[102.617747,32.582039],[102.61777,32.582225],[102.617774,32.582262],[102.61777,32.582433],[102.617768,32.582485],[102.617767,32.582521],[102.617765,32.5826],[102.617679,32.582635],[102.617522,32.582697],[102.617414,32.582741],[102.617406,32.582744],[102.617249,32.582799],[102.617226,32.582808],[102.6166,32.583029],[102.616367,32.583438],[102.616362,32.583475],[102.616362,32.583477],[102.616361,32.583478],[102.61636,32.583488],[102.616351,32.583557],[102.616346,32.583592],[102.616342,32.583623],[102.616311,32.58385],[102.616365,32.584163],[102.616381,32.584261],[102.616384,32.584277],[102.616389,32.584305],[102.616401,32.584379],[102.616404,32.584397],[102.616407,32.584412],[102.616427,32.584529],[102.616227,32.585352],[102.616278,32.585615],[102.61628,32.585623],[102.616338,32.585925],[102.616344,32.585956],[102.616352,32.585974],[102.616478,32.586297],[102.616519,32.586401],[102.616552,32.586486],[102.616534,32.586583],[102.616514,32.586694],[102.616449,32.587048],[102.616342,32.587288],[102.616305,32.58737],[102.616298,32.587384],[102.616253,32.587485],[102.616247,32.587499],[102.616242,32.587511],[102.616241,32.587512],[102.616241,32.587512],[102.616166,32.587681],[102.616333,32.58806],[102.616396,32.588181],[102.616442,32.58827],[102.616519,32.588418],[102.616522,32.588425],[102.616564,32.588505],[102.616629,32.58863],[102.616997,32.588719],[102.616998,32.588719],[102.616999,32.58872],[102.617029,32.588727],[102.617206,32.58877],[102.617207,32.58877],[102.617208,32.588771],[102.617467,32.588833],[102.617815,32.589103],[102.617765,32.589328],[102.617676,32.589356],[102.617661,32.589361],[102.617608,32.589378],[102.617561,32.589394],[102.617546,32.589399],[102.617158,32.589524],[102.617122,32.589536],[102.617074,32.589552],[102.616999,32.589576],[102.616972,32.589585],[102.616779,32.589647],[102.616592,32.59002],[102.6166,32.5901],[102.616607,32.59016],[102.616616,32.590252],[102.61662,32.590286],[102.616627,32.590359],[102.617152,32.590885],[102.617265,32.590998],[102.617276,32.59101],[102.617339,32.591066],[102.617358,32.591082],[102.617441,32.591156],[102.617462,32.591174],[102.61797,32.591624],[102.618629,32.5919],[102.618865,32.592067],[102.619065,32.592209],[102.619144,32.592549],[102.618648,32.592833],[102.61849,32.592893],[102.618389,32.592931],[102.618246,32.592986],[102.618143,32.593025],[102.617866,32.59313],[102.617563,32.593467],[102.617771,32.593939],[102.618056,32.594319],[102.618823,32.594552],[102.619408,32.59475],[102.619447,32.594821],[102.619482,32.594884],[102.619536,32.59498],[102.619583,32.595065],[102.619583,32.595065],[102.619583,32.595066],[102.619571,32.595143],[102.619564,32.595186],[102.619539,32.595345],[102.619523,32.595354],[102.619127,32.595587],[102.619023,32.595659],[102.618996,32.595678],[102.618947,32.595711],[102.618912,32.595736],[102.61891,32.595738],[102.618908,32.595739],[102.618602,32.595951],[102.618557,32.596287],[102.618556,32.596293],[102.618919,32.596421],[102.618953,32.596433],[102.619213,32.596524],[102.619244,32.596551],[102.619282,32.596584],[102.61935,32.596645],[102.619548,32.59682],[102.619609,32.596874],[102.619648,32.596927],[102.620002,32.597411],[102.620046,32.59747],[102.62011,32.597558],[102.620125,32.597578],[102.620143,32.597602],[102.620386,32.598168],[102.620451,32.598311],[102.620462,32.598333],[102.62052,32.598459],[102.620521,32.598461],[102.620521,32.598461],[102.620541,32.598504],[102.620541,32.598505],[102.620541,32.598506],[102.62056,32.598545],[102.620145,32.598912],[102.62012,32.598941],[102.620093,32.598973],[102.619988,32.599097],[102.619979,32.599108],[102.619941,32.599153],[102.619624,32.599528],[102.619614,32.59954],[102.619574,32.599587],[102.619776,32.599746],[102.619899,32.599843],[102.619891,32.599908],[102.619889,32.599925],[102.619879,32.600015],[102.619878,32.600022],[102.619875,32.600045],[102.619852,32.600247],[102.619406,32.600395],[102.619385,32.600493],[102.619374,32.600544],[102.619357,32.600628],[102.619352,32.60065],[102.61934,32.60071],[102.619337,32.600725],[102.61933,32.600758],[102.619321,32.600799],[102.619576,32.601376],[102.619599,32.601428],[102.619655,32.601528],[102.619753,32.601704],[102.619784,32.601759],[102.619805,32.601797],[102.61981,32.601806],[102.620164,32.602357],[102.620595,32.602738],[102.620996,32.603038],[102.620927,32.603277],[102.620717,32.603433],[102.620715,32.603434],[102.620713,32.603436],[102.620627,32.6035],[102.620613,32.60351],[102.620611,32.603512],[102.620609,32.603513],[102.620366,32.603694],[102.620353,32.603704],[102.620236,32.603791],[102.620229,32.603796],[102.620124,32.603874],[102.620124,32.603875],[102.620124,32.603876],[102.620081,32.604039],[102.620076,32.604059],[102.620063,32.604105],[102.620037,32.604206],[102.620019,32.604272],[102.619949,32.604537],[102.619936,32.604566],[102.619885,32.604681],[102.619715,32.605065],[102.619722,32.605083],[102.619725,32.605092],[102.619734,32.605116],[102.619765,32.605202],[102.619773,32.605222],[102.619777,32.605235],[102.619869,32.605487],[102.619891,32.605547],[102.619896,32.605554],[102.620058,32.605784],[102.620064,32.605791],[102.620064,32.605792],[102.620065,32.605793],[102.620241,32.606042],[102.620407,32.606276],[102.620674,32.606738],[102.620675,32.606739],[102.620675,32.606739],[102.620718,32.606814],[102.620722,32.60682],[102.620723,32.606821],[102.620723,32.606822],[102.620828,32.607003],[102.621488,32.607016],[102.621904,32.607142],[102.621934,32.607151],[102.622028,32.607179],[102.62203,32.60718],[102.622031,32.60718],[102.62205,32.607186],[102.62205,32.607187],[102.62205,32.607188],[102.622056,32.607288],[102.622056,32.607289],[102.622056,32.60729],[102.622058,32.60732],[102.622072,32.607559],[102.621903,32.607706],[102.621892,32.607716],[102.621809,32.607789],[102.621802,32.607795],[102.621774,32.607819],[102.621653,32.607924],[102.621549,32.608132],[102.62152,32.608188],[102.621798,32.608406],[102.622085,32.60853],[102.622103,32.608538],[102.62212,32.608545],[102.622575,32.608741],[102.623239,32.608937],[102.623824,32.609111],[102.624476,32.609443],[102.625058,32.609693],[102.625316,32.609805],[102.6257,32.610144],[102.626085,32.610485],[102.626103,32.610498],[102.626128,32.610517],[102.62614,32.610526],[102.626181,32.610556],[102.626207,32.610575],[102.626208,32.610576],[102.626208,32.610576],[102.626225,32.610588],[102.626455,32.610758],[102.626729,32.610703],[102.626824,32.610684],[102.62685,32.610678],[102.627056,32.610636],[102.627375,32.610483],[102.627402,32.61047],[102.627463,32.61044],[102.627524,32.610411],[102.627534,32.610406],[102.628151,32.610442],[102.628191,32.610445],[102.628193,32.610445],[102.628194,32.610445],[102.628207,32.610464],[102.628234,32.610503],[102.628258,32.610537],[102.628436,32.610796],[102.628396,32.611017],[102.628373,32.61114],[102.628373,32.611142],[102.628372,32.611145],[102.628363,32.611194],[102.628333,32.611245],[102.628327,32.611257],[102.628317,32.611274],[102.628165,32.611536],[102.627812,32.611823],[102.627149,32.611975],[102.627071,32.611993],[102.627054,32.611997],[102.627017,32.612006],[102.626968,32.612017],[102.626966,32.612017],[102.626965,32.612018],[102.626957,32.612019],[102.626769,32.612071],[102.626761,32.612073],[102.626749,32.612076],[102.626707,32.612088],[102.626667,32.612099],[102.626667,32.612099],[102.626667,32.612099],[102.62666,32.612101],[102.626415,32.612168],[102.626406,32.612171],[102.626355,32.612185],[102.626338,32.61219],[102.626323,32.612194],[102.626323,32.612194],[102.626323,32.612194],[102.626309,32.612255],[102.626302,32.612287],[102.626252,32.612512],[102.626312,32.612569],[102.625465,32.612859],[102.624053,32.613234],[102.623637,32.613392],[102.623002,32.613632],[102.621617,32.614163],[102.620392,32.614882],[102.619166,32.615647],[102.61789,32.616226],[102.617115,32.616743],[102.616607,32.617083],[102.615944,32.617552],[102.615944,32.617552],[102.615932,32.61756],[102.615859,32.617612],[102.615854,32.617616],[102.615852,32.617617],[102.615849,32.617619],[102.615713,32.617715],[102.614268,32.618476],[102.613601,32.618651],[102.61344,32.618693],[102.613437,32.618693],[102.613434,32.618693],[102.613217,32.618688],[102.613205,32.618688],[102.613203,32.618688],[102.613201,32.618688],[102.613188,32.618688],[102.612932,32.618683],[102.611947,32.618664],[102.611765,32.618661],[102.61174,32.61866],[102.611682,32.618659],[102.61147,32.618655],[102.611469,32.618655],[102.611467,32.618655],[102.61119,32.618646],[102.611136,32.618644],[102.611033,32.618641],[102.608017,32.618543],[102.606769,32.618055],[102.606245,32.617966],[102.606222,32.617962],[102.606214,32.617961],[102.606199,32.617958],[102.606198,32.617958],[102.605241,32.617794],[102.603269,32.617757],[102.602074,32.617363],[102.602038,32.617348],[102.601474,32.617115],[102.60143,32.617097],[102.601357,32.617067],[102.601329,32.617056],[102.600466,32.6167],[102.600068,32.616536],[102.597516,32.615606],[102.595497,32.615288],[102.595396,32.615221],[102.595355,32.615193],[102.582898,32.606836],[102.582228,32.607287],[102.581482,32.608525],[102.58152,32.609175],[102.581008,32.609861],[102.57961,32.610901],[102.578108,32.611707],[102.576709,32.612793],[102.575478,32.613697],[102.573846,32.615289],[102.573049,32.616387],[102.571868,32.617478],[102.571581,32.617982],[102.571601,32.618039],[102.57126,32.617698],[102.569487,32.616365],[102.568248,32.615552],[102.566533,32.614127],[102.564395,32.612091],[102.563974,32.611707],[102.563718,32.611475],[102.562416,32.61029],[102.562163,32.610092],[102.561452,32.609536],[102.561153,32.609302],[102.560591,32.608863],[102.558981,32.607625],[102.557963,32.606542],[102.557915,32.606495],[102.556955,32.605545],[102.555829,32.604595],[102.554367,32.603963],[102.552908,32.603193],[102.551884,32.60257],[102.551303,32.60177],[102.550905,32.600277],[102.550447,32.59897],[102.550293,32.598595],[102.550069,32.596782],[102.549878,32.595711],[102.549407,32.594913],[102.548332,32.59415],[102.54731,32.593434],[102.546462,32.592397],[102.545948,32.591135],[102.545921,32.590114],[102.545678,32.588996],[102.54536,32.587976],[102.544673,32.5867],[102.543554,32.585416],[102.542467,32.584703],[102.54218,32.584338],[102.541791,32.583844],[102.541491,32.583462],[102.540609,32.582305],[102.539476,32.581509],[102.537194,32.580568],[102.536107,32.579855],[102.535204,32.579471],[102.534077,32.578471],[102.532809,32.577347],[102.531688,32.576144],[102.531133,32.575374],[102.530854,32.574988],[102.530168,32.573712],[102.529045,32.572591],[102.527781,32.571344],[102.526843,32.570471],[102.526094,32.569723],[102.5254,32.568732],[102.523355,32.569669],[102.522416,32.570587],[102.521822,32.571186],[102.521015,32.571679],[102.520208,32.572172],[102.519256,32.572703],[102.518304,32.573234],[102.517669,32.573588],[102.517034,32.573942],[102.516473,32.574236],[102.515912,32.57453],[102.515348,32.57403],[102.514792,32.573286],[102.514165,32.571605],[102.513242,32.568451],[102.51295,32.567733],[102.512657,32.567015],[102.512405,32.566541],[102.512154,32.566068],[102.511419,32.564832],[102.510436,32.563876],[102.50877,32.563232],[102.507486,32.562718],[102.506481,32.562576],[102.504697,32.562744],[102.503587,32.562885],[102.502444,32.562496],[102.501691,32.561911],[102.500606,32.561157],[102.500186,32.560653],[102.499293,32.559765],[102.49861,32.559286],[102.497559,32.558799],[102.496792,32.55869],[102.496292,32.558183],[102.495354,32.557636],[102.494116,32.557301],[102.492686,32.557272],[102.491842,32.557256],[102.489647,32.557056],[102.487423,32.556546],[102.486081,32.555991],[102.485368,32.555262],[102.484481,32.554188],[102.483219,32.553417],[102.481977,32.553206],[102.480878,32.553153],[102.479813,32.553193],[102.478815,32.553484],[102.477734,32.554084],[102.476735,32.554374],[102.475829,32.553983],[102.474416,32.553365],[102.47367,32.55248],[102.473065,32.551846],[102.472159,32.551424],[102.471013,32.550438],[102.470299,32.54974],[102.468744,32.548963],[102.467287,32.548592],[102.46605,32.548225],[102.4643,32.547848],[102.463179,32.547266],[102.460086,32.546365],[102.459078,32.546094],[102.458958,32.546062],[102.457791,32.545821],[102.456446,32.54539],[102.455121,32.54555],[102.454127,32.545685],[102.453052,32.546067],[102.452302,32.546642],[102.451482,32.547123],[102.451184,32.547272],[102.450201,32.54573],[102.449856,32.544946],[102.449447,32.54385],[102.448991,32.543126],[102.448533,32.542433],[102.448003,32.541739],[102.446959,32.53973],[102.446332,32.538567],[102.445894,32.537191],[102.445777,32.536164],[102.445949,32.535266],[102.446018,32.534118],[102.446146,32.532194],[102.445887,32.530977],[102.445242,32.530436],[102.444486,32.529924],[102.443733,32.529318],[102.443353,32.528502],[102.44224,32.526367],[102.441493,32.525544],[102.440397,32.524124],[102.439554,32.522802],[102.438827,32.521264],[102.438334,32.520571],[102.437275,32.51912],[102.436642,32.518175],[102.436476,32.51755],[102.43655,32.516247],[102.436475,32.515003],[102.436284,32.514005],[102.435728,32.512906],[102.434672,32.511362],[102.433868,32.510285],[102.433824,32.510227],[102.43312,32.509575],[102.432931,32.509401],[102.432183,32.50864],[102.431598,32.508597],[102.430677,32.508733],[102.429867,32.508841],[102.429025,32.508824],[102.428243,32.509243],[102.427608,32.509634],[102.426945,32.509744],[102.426506,32.509704],[102.425981,32.508855],[102.425522,32.508224],[102.425108,32.507315],[102.424621,32.506404],[102.423749,32.504832],[102.423334,32.503954],[102.422733,32.503165],[102.421837,32.502463],[102.420953,32.501327],[102.419839,32.500527],[102.419134,32.499549],[102.418382,32.498912],[102.417991,32.498501],[102.41708,32.498295],[102.416129,32.498214],[102.415415,32.497547],[102.414671,32.49663],[102.414039,32.495654],[102.413291,32.494893],[102.412626,32.493823],[102.412076,32.492538],[102.411555,32.491533],[102.4104,32.490262],[102.410346,32.490203],[102.409793,32.490316],[102.408235,32.490968],[102.406641,32.491587],[102.404943,32.492018],[102.403426,32.492484],[102.401838,32.492886],[102.39955,32.493429],[102.398591,32.493627],[102.39755,32.494134],[102.396198,32.495255],[102.395597,32.495771],[102.394946,32.49672],[102.39345,32.49902],[102.392357,32.500053],[102.39145,32.500998],[102.390805,32.501761],[102.388941,32.502841],[102.387068,32.5042],[102.38572,32.505197],[102.385074,32.50596],[102.383365,32.506733],[102.382615,32.507307],[102.382738,32.508149],[102.383064,32.509554],[102.383438,32.510556],[102.383621,32.511833],[102.383698,32.512953],[102.383724,32.5146],[102.383657,32.515655],[102.383771,32.516776],[102.383332,32.51801],[102.382852,32.519367],[102.382207,32.52013],[102.381558,32.521017],[102.380539,32.522021],[102.379417,32.522775],[102.378211,32.523868],[102.377822,32.524668],[102.377871,32.525476],[102.377972,32.527063],[102.377631,32.528702],[102.377549,32.530254],[102.377136,32.531861],[102.376584,32.533185],[102.376016,32.533795],[102.37504,32.534551],[102.373334,32.535199],[102.372542,32.535959],[102.372117,32.536696],[102.371844,32.537249],[102.371856,32.538088],[102.372261,32.539308],[102.373035,32.540443],[102.373745,32.541235],[102.374962,32.542285],[102.37572,32.542705],[102.374689,32.543243],[102.373359,32.543588],[102.37271,32.54403],[102.371856,32.544799],[102.371485,32.545785],[102.370863,32.547015],[102.370621,32.548584],[102.370768,32.550244],[102.371133,32.551163],[102.371114,32.551825],[102.371143,32.552489],[102.371367,32.553198],[102.371336,32.554274],[102.37106,32.555345],[102.371419,32.55643],[102.371835,32.557267],[102.372095,32.558432],[102.371833,32.559007],[102.371375,32.559618],[102.370662,32.560597],[102.36994,32.561866],[102.369078,32.562925],[102.367625,32.564096],[102.366579,32.564737],[102.36504,32.565492],[102.363617,32.565669],[102.362341,32.565808],[102.361909,32.565818],[102.360432,32.565851],[102.358537,32.565397],[102.3566,32.564735],[102.354179,32.563897],[102.352248,32.563027],[102.349503,32.561313],[102.349447,32.561278],[102.349438,32.561272],[102.349333,32.561206],[102.348553,32.561079],[102.347883,32.561673],[102.34695,32.562316],[102.345982,32.56263],[102.34583,32.56268],[102.345486,32.562374],[102.345415,32.56231],[102.345399,32.562296],[102.345385,32.562283],[102.345343,32.562247],[102.345548,32.561984],[102.345821,32.561634],[102.346003,32.56141],[102.346041,32.561381],[102.348367,32.558314],[102.348425,32.558238],[102.348522,32.558109],[102.348583,32.558026],[102.348666,32.557914],[102.348749,32.557802],[102.348847,32.55767],[102.348932,32.557554],[102.349038,32.557411],[102.349142,32.557271],[102.349231,32.55715],[102.349318,32.557032],[102.349418,32.556897],[102.349512,32.556771],[102.349695,32.556553],[102.349703,32.55654],[102.349759,32.556404],[102.349798,32.556311],[102.349878,32.556201],[102.349989,32.555919],[102.35,32.555883],[102.349991,32.555878],[102.349991,32.555878],[102.349987,32.555876],[102.349986,32.555876],[102.349925,32.555861],[102.349923,32.55586],[102.349919,32.55586],[102.349823,32.555859],[102.349894,32.555709],[102.346816,32.55505],[102.34683,32.554943],[102.346801,32.554847],[102.346762,32.554785],[102.346736,32.55474],[102.346714,32.554735],[102.346683,32.554727],[102.346649,32.554718],[102.346591,32.554702],[102.345877,32.554516],[102.34583,32.554504],[102.345829,32.554503],[102.345826,32.554502],[102.345758,32.554485],[102.345357,32.55438],[102.344319,32.554218],[102.343833,32.554143],[102.341371,32.55376],[102.340766,32.553666],[102.340686,32.553653],[102.340656,32.553649],[102.340496,32.553624],[102.34042,32.553612],[102.340021,32.553555],[102.33868,32.553364],[102.3386,32.553352],[102.33851,32.553287],[102.338472,32.553259],[102.338364,32.553181],[102.338258,32.553062],[102.338165,32.553037],[102.337747,32.552734],[102.337578,32.552612],[102.336849,32.552441],[102.336695,32.552405],[102.336584,32.552379],[102.33656,32.552374],[102.336436,32.552345],[102.336378,32.552331],[102.336358,32.552326],[102.33634,32.552322],[102.336023,32.552248],[102.334344,32.551659],[102.333546,32.55214],[102.332677,32.55284],[102.331867,32.553762],[102.33093,32.553798],[102.329113,32.553464],[102.329052,32.553474],[102.328977,32.553487],[102.328755,32.553524],[102.32853,32.553583],[102.328214,32.553667],[102.328045,32.553776],[102.327067,32.554405],[102.327033,32.554427],[102.326996,32.554451],[102.326831,32.554874],[102.326793,32.554865],[102.32676,32.554848],[102.326524,32.555242],[102.326171,32.555833],[102.325323,32.558026],[102.324932,32.559491],[102.324613,32.559874],[102.324574,32.559872],[102.324288,32.559863],[102.324067,32.559862],[102.32406,32.559863],[102.324016,32.559867],[102.323856,32.559882],[102.32385,32.559884],[102.323706,32.559915],[102.323697,32.559917],[102.323552,32.559976],[102.323525,32.559977],[102.323031,32.560192],[102.322969,32.560219],[102.322555,32.560398],[102.322485,32.560433],[102.322418,32.560466],[102.321407,32.560963],[102.319668,32.560926],[102.318094,32.561187],[102.31669,32.5616],[102.314074,32.561765],[102.312079,32.561575],[102.310799,32.560737],[102.309784,32.559757],[102.307993,32.55854],[102.306281,32.557619],[102.304401,32.556473],[102.302954,32.555411],[102.302104,32.554729],[102.301324,32.554639],[102.300189,32.554762],[102.298365,32.554649],[102.296448,32.554755],[102.294988,32.554134],[102.293699,32.553591],[102.29276,32.552991],[102.292504,32.552828],[102.292411,32.552783],[102.290274,32.551748],[102.289186,32.551087],[102.289115,32.551044],[102.289111,32.551039],[102.289096,32.551032],[102.289086,32.551026],[102.288978,32.55096],[102.2884,32.550609],[102.288414,32.550606],[102.288469,32.550587],[102.28855,32.55056],[102.288645,32.550496],[102.288745,32.550402],[102.288845,32.550276],[102.288937,32.550067],[102.28903,32.549859],[102.289039,32.549804],[102.289077,32.549568],[102.289077,32.549557],[102.28908,32.54948],[102.289081,32.549434],[102.289085,32.54931],[102.289093,32.549052],[102.289101,32.548794],[102.289109,32.548536],[102.289133,32.54839],[102.28915,32.548296],[102.28916,32.548245],[102.289175,32.548166],[102.289178,32.548149],[102.289221,32.547987],[102.28928,32.54785],[102.289303,32.547796],[102.289345,32.547706],[102.289386,32.547619],[102.289411,32.547564],[102.289487,32.547397],[102.28953,32.54725],[102.289573,32.547074],[102.289619,32.546864],[102.289623,32.546706],[102.289624,32.546653],[102.289617,32.546281],[102.289617,32.546281],[102.289617,32.546281],[102.289607,32.545957],[102.289607,32.545957],[102.2896,32.545586],[102.2896,32.545586],[102.2896,32.545586],[102.289626,32.545359],[102.289635,32.545332],[102.289667,32.545241],[102.28971,32.545118],[102.289751,32.544979],[102.289758,32.544954],[102.289779,32.544881],[102.289848,32.544644],[102.289918,32.544406],[102.289987,32.544169],[102.290056,32.543938],[102.290058,32.543929],[102.290092,32.543816],[102.290124,32.543711],[102.290191,32.543486],[102.290198,32.543463],[102.290193,32.543306],[102.290188,32.543155],[102.290166,32.542956],[102.290157,32.542879],[102.290115,32.542721],[102.290088,32.54262],[102.29002,32.542495],[102.289962,32.54239],[102.289864,32.54229],[102.28972,32.542143],[102.289495,32.541959],[102.28935,32.541812],[102.289348,32.541811],[102.289333,32.541784],[102.289308,32.541738],[102.289275,32.541679],[102.28928,32.54155],[102.28928,32.541534],[102.289411,32.541302],[102.289542,32.54107],[102.289565,32.541044],[102.28976,32.540832],[102.289841,32.540751],[102.289997,32.540595],[102.29006,32.540515],[102.290166,32.54038],[102.290335,32.540165],[102.290613,32.539815],[102.290782,32.539617],[102.29087,32.539513],[102.291002,32.539234],[102.291014,32.539208],[102.291158,32.538904],[102.291228,32.538686],[102.291285,32.538512],[102.291411,32.53812],[102.291443,32.537688],[102.291444,32.537673],[102.291473,32.537281],[102.291475,32.537256],[102.291482,32.537162],[102.291498,32.536943],[102.291507,32.536823],[102.291539,32.536391],[102.291543,32.53619],[102.291544,32.536135],[102.291545,32.536106],[102.29155,32.53588],[102.291551,32.535845],[102.291552,32.535791],[102.291556,32.535646],[102.291556,32.535635],[102.291556,32.535624],[102.291557,32.535586],[102.291558,32.535548],[102.29156,32.535457],[102.291561,32.535431],[102.291561,32.535421],[102.291562,32.535369],[102.291568,32.535128],[102.291568,32.535113],[102.291571,32.534988],[102.291574,32.534858],[102.291576,32.534775],[102.291577,32.534741],[102.29158,32.534602],[102.291585,32.534369],[102.291586,32.534347],[102.291587,32.534278],[102.291591,32.534095],[102.291591,32.534091],[102.291593,32.534041],[102.291597,32.533836],[102.2916,32.533667],[102.291601,32.533607],[102.291603,32.533474],[102.291604,32.533377],[102.291607,32.533202],[102.291608,32.533148],[102.291608,32.533143],[102.291611,32.532919],[102.291615,32.53269],[102.291618,32.532461],[102.291606,32.532234],[102.291594,32.532007],[102.2916,32.5318],[102.291606,32.531603],[102.291693,32.531281],[102.291856,32.530929],[102.291958,32.530728],[102.29206,32.530528],[102.292179,32.530385],[102.292181,32.530384],[102.292182,32.530383],[102.292266,32.530315],[102.292316,32.530275],[102.292329,32.530268],[102.292334,32.530266],[102.292363,32.53025],[102.292381,32.530241],[102.292429,32.530215],[102.29255,32.530151],[102.292693,32.530093],[102.292867,32.530023],[102.292988,32.529974],[102.293019,32.529961],[102.293185,32.529894],[102.293198,32.529882],[102.293227,32.529854],[102.293283,32.529803],[102.293323,32.529766],[102.293335,32.529728],[102.29336,32.529658],[102.293427,32.529462],[102.293358,32.529217],[102.293284,32.528984],[102.29327,32.528941],[102.293276,32.528885],[102.293287,32.528783],[102.293297,32.528699],[102.293526,32.52838],[102.293617,32.528253],[102.293646,32.528213],[102.293756,32.52806],[102.293755,32.528047],[102.293754,32.528022],[102.293746,32.52777],[102.2936,32.527508],[102.293413,32.527382],[102.293225,32.527256],[102.292904,32.527136],[102.292579,32.527113],[102.292176,32.527136],[102.291888,32.527196],[102.291654,32.52732],[102.291325,32.527442],[102.291077,32.527428],[102.290834,32.527415],[102.290829,32.527414],[102.290694,32.527395],[102.29058,32.527378],[102.290573,32.527377],[102.290447,32.527359],[102.29019,32.527312],[102.289934,32.527266],[102.289834,32.527264],[102.289666,32.527261],[102.289398,32.527255],[102.289158,32.527298],[102.288918,32.527341],[102.288762,32.527395],[102.288754,32.527398],[102.288674,32.527425],[102.288608,32.527448],[102.288592,32.527453],[102.28853,32.527475],[102.28833,32.527544],[102.288299,32.527555],[102.288066,32.527687],[102.288017,32.527715],[102.287832,32.52782],[102.287531,32.527943],[102.287231,32.528066],[102.286942,32.528141],[102.28688,32.528137],[102.286713,32.528128],[102.286645,32.528124],[102.286485,32.528114],[102.286484,32.528114],[102.286484,32.528114],[102.286415,32.528068],[102.286346,32.528022],[102.286183,32.527914],[102.286152,32.527884],[102.285979,32.527715],[102.285893,32.527406],[102.285882,32.527132],[102.285884,32.527047],[102.285889,32.526855],[102.285856,32.526676],[102.285856,32.526675],[102.285855,32.526673],[102.285855,32.526673],[102.285847,32.526658],[102.285766,32.526496],[102.285504,32.52633],[102.285296,32.526214],[102.285087,32.526098],[102.284958,32.525966],[102.284809,32.525784],[102.284718,32.525619],[102.284717,32.525617],[102.28468,32.52555],[102.284665,32.525522],[102.284656,32.525453],[102.284639,32.525333],[102.284635,32.525304],[102.284633,32.525287],[102.284602,32.525053],[102.284611,32.524729],[102.284548,32.524322],[102.284436,32.524207],[102.284286,32.524139],[102.284056,32.524134],[102.283644,32.524115],[102.28349,32.524142],[102.283199,32.52425],[102.283117,32.524298],[102.282927,32.524406],[102.2829,32.52443],[102.282726,32.52458],[102.282672,32.524628],[102.282626,32.524697],[102.282432,32.524994],[102.28231,32.525243],[102.282187,32.525491],[102.281985,32.525843],[102.281807,32.526001],[102.281711,32.526047],[102.281622,32.526062],[102.281542,32.526075],[102.281268,32.526119],[102.281229,32.526115],[102.281124,32.526105],[102.28104,32.526098],[102.280778,32.526024],[102.280517,32.52595],[102.280255,32.525876],[102.279993,32.525803],[102.279731,32.525729],[102.279469,32.525655],[102.279207,32.525582],[102.278945,32.525508],[102.278684,32.525434],[102.278422,32.52536],[102.278187,32.525303],[102.278015,32.525261],[102.277989,32.525255],[102.277952,32.525246],[102.277718,32.525189],[102.277483,32.525132],[102.277248,32.525075],[102.277143,32.525049],[102.277244,32.524826]]]]},"properties":{"cp":[102.40058259505227,32.42604846213644],"code":"513233105","name":"龙日镇","level":"street","center":[102.40058259505227,32.42604846213644],"fullCode":"513233105000","fullName":"四川省阿坝藏族羌族自治州红原县龙日镇","acreageMu":967058.51,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.484,32.3605]}},{"id":"513233202","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.164139,32.32538],[102.164223,32.325168],[102.164246,32.325109],[102.164401,32.324716],[102.164763,32.323798],[102.165261,32.322312],[102.16556,32.321436],[102.165852,32.320752],[102.165879,32.319908],[102.165875,32.318564],[102.166,32.317454],[102.16583,32.315684],[102.165822,32.315506],[102.165819,32.31544],[102.165725,32.313225],[102.165894,32.312154],[102.166521,32.310901],[102.167013,32.309607],[102.167377,32.308079],[102.167576,32.307548],[102.168019,32.306366],[102.168943,32.304276],[102.169317,32.303862],[102.169594,32.303676],[102.169845,32.303446],[102.16988,32.303412],[102.169881,32.303412],[102.170149,32.303418],[102.170447,32.303456],[102.170666,32.303588],[102.170876,32.303971],[102.171014,32.304353],[102.171151,32.304735],[102.171234,32.304987],[102.171316,32.30524],[102.171399,32.305492],[102.171482,32.305744],[102.171565,32.305997],[102.171647,32.306249],[102.17173,32.306501],[102.171761,32.306596],[102.171761,32.306597],[102.171813,32.306754],[102.171896,32.307006],[102.171978,32.307258],[102.172061,32.307511],[102.172144,32.307763],[102.172227,32.308015],[102.17231,32.308268],[102.172392,32.30852],[102.172475,32.308772],[102.172542,32.309035],[102.172609,32.309297],[102.172676,32.309559],[102.172743,32.309821],[102.172809,32.310084],[102.172876,32.310346],[102.172943,32.310608],[102.17301,32.31087],[102.173077,32.311132],[102.173144,32.311395],[102.173147,32.31153],[102.173149,32.311626],[102.173154,32.311858],[102.173159,32.31209],[102.173162,32.312223],[102.173164,32.312322],[102.173169,32.312553],[102.173174,32.312785],[102.173174,32.312789],[102.173149,32.313195],[102.173135,32.313427],[102.173124,32.313604],[102.173099,32.314014],[102.173089,32.314313],[102.17308,32.314613],[102.173092,32.314845],[102.173103,32.315054],[102.173243,32.315374],[102.173448,32.315537],[102.173654,32.315699],[102.17386,32.315862],[102.174066,32.316024],[102.174272,32.316187],[102.174442,32.316321],[102.174477,32.316349],[102.174659,32.316489],[102.174841,32.316629],[102.175022,32.316768],[102.175204,32.316908],[102.175386,32.317048],[102.175567,32.317188],[102.175749,32.317328],[102.175931,32.317467],[102.176112,32.317607],[102.176294,32.317747],[102.176508,32.317907],[102.176722,32.318068],[102.176937,32.318228],[102.177151,32.318388],[102.177365,32.318549],[102.17758,32.318709],[102.177807,32.318848],[102.178035,32.318988],[102.178263,32.319127],[102.178491,32.319266],[102.178762,32.319381],[102.178804,32.319399],[102.179102,32.319526],[102.179117,32.319532],[102.179485,32.319666],[102.179852,32.319801],[102.18013,32.319854],[102.180408,32.319908],[102.180502,32.319915],[102.180705,32.319931],[102.180802,32.319938],[102.181002,32.319953],[102.181411,32.319931],[102.181646,32.319857],[102.181881,32.319783],[102.182116,32.319709],[102.182314,32.319647],[102.182351,32.319636],[102.18258,32.31957],[102.182766,32.319517],[102.18281,32.319504],[102.18304,32.319438],[102.18327,32.319373],[102.1835,32.319307],[102.183729,32.319241],[102.183959,32.319176],[102.184189,32.31911],[102.18446,32.31906],[102.184732,32.319011],[102.185003,32.318961],[102.185223,32.318921],[102.185275,32.318912],[102.18561,32.318888],[102.185791,32.318875],[102.185946,32.318864],[102.186261,32.318887],[102.186577,32.31891],[102.186809,32.318957],[102.186836,32.318963],[102.187094,32.319015],[102.187309,32.31913],[102.187388,32.319173],[102.187524,32.319246],[102.187739,32.319361],[102.187954,32.319476],[102.188311,32.319699],[102.188668,32.319923],[102.188859,32.320043],[102.189051,32.320163],[102.189272,32.320247],[102.189493,32.32033],[102.189806,32.320432],[102.190119,32.320534],[102.190509,32.320542],[102.190899,32.320551],[102.191218,32.320479],[102.191536,32.320407],[102.191744,32.320291],[102.191953,32.320174],[102.192161,32.320058],[102.192369,32.319941],[102.192577,32.319825],[102.192786,32.319708],[102.192987,32.319574],[102.193188,32.319439],[102.193335,32.319342],[102.19339,32.319305],[102.193591,32.319171],[102.193793,32.319036],[102.193994,32.318902],[102.194001,32.318897],[102.194195,32.318767],[102.194397,32.318633],[102.194598,32.318499],[102.194799,32.318364],[102.194991,32.318175],[102.195183,32.317986],[102.195375,32.317797],[102.195567,32.317608],[102.195759,32.317419],[102.195951,32.31723],[102.196143,32.317041],[102.196335,32.316852],[102.196538,32.316678],[102.196742,32.316504],[102.196945,32.31633],[102.197149,32.316155],[102.197352,32.315981],[102.197556,32.315807],[102.197925,32.315602],[102.198295,32.315397],[102.198664,32.315192],[102.199033,32.314987],[102.199385,32.314847],[102.199736,32.314707],[102.200087,32.314567],[102.200306,32.314499],[102.200526,32.31443],[102.200745,32.314361],[102.200964,32.314293],[102.201183,32.314224],[102.201403,32.314155],[102.201644,32.314107],[102.201884,32.314059],[102.202125,32.31401],[102.202366,32.313962],[102.202607,32.313914],[102.202848,32.313866],[102.203088,32.313818],[102.203329,32.31377],[102.203579,32.313723],[102.203828,32.313676],[102.204078,32.313629],[102.204327,32.313582],[102.204576,32.313535],[102.204826,32.313488],[102.205237,32.313444],[102.205648,32.3134],[102.20602,32.313361],[102.206058,32.313357],[102.206288,32.31333],[102.206518,32.313304],[102.206748,32.313277],[102.206978,32.313251],[102.207208,32.313225],[102.207438,32.313198],[102.207863,32.313113],[102.208288,32.313027],[102.208712,32.312942],[102.209126,32.312793],[102.20954,32.312644],[102.209953,32.312495],[102.210367,32.312347],[102.210758,32.312145],[102.211149,32.311944],[102.211539,32.311742],[102.21193,32.31153],[102.212321,32.311318],[102.212712,32.311105],[102.213038,32.310797],[102.213365,32.310489],[102.213616,32.310155],[102.213756,32.309971],[102.213868,32.309821],[102.21412,32.309487],[102.214371,32.309153],[102.214513,32.308931],[102.214654,32.308708],[102.214795,32.308485],[102.214936,32.308263],[102.215037,32.308036],[102.215137,32.307809],[102.215237,32.307583],[102.215337,32.307356],[102.215384,32.307025],[102.215432,32.306695],[102.215329,32.306393],[102.215227,32.306091],[102.215127,32.305694],[102.215027,32.305298],[102.215004,32.304887],[102.215051,32.304541],[102.215224,32.304356],[102.215397,32.30417],[102.215602,32.304009],[102.215807,32.303847],[102.216012,32.303686],[102.216217,32.303525],[102.216422,32.303363],[102.216627,32.303202],[102.216832,32.303041],[102.217037,32.302879],[102.21723,32.302764],[102.217423,32.302648],[102.217616,32.302532],[102.217809,32.302417],[102.218003,32.302301],[102.218196,32.302185],[102.218389,32.30207],[102.218582,32.301954],[102.218637,32.301921],[102.218775,32.301838],[102.218969,32.301723],[102.21927,32.301635],[102.219604,32.301642],[102.219939,32.30165],[102.220196,32.30175],[102.220235,32.301766],[102.220453,32.301851],[102.220471,32.301866],[102.220635,32.301997],[102.220763,32.3021],[102.220817,32.302143],[102.220973,32.302364],[102.221129,32.302584],[102.221285,32.302804],[102.221441,32.303025],[102.221597,32.303245],[102.221753,32.303465],[102.221797,32.303528],[102.221799,32.303531],[102.221909,32.303686],[102.222065,32.303906],[102.222204,32.304209],[102.222343,32.304511],[102.22248,32.304925],[102.222492,32.304998],[102.222543,32.305305],[102.222456,32.305682],[102.222299,32.305995],[102.222177,32.306307],[102.222073,32.306598],[102.222054,32.306652],[102.222007,32.306998],[102.222069,32.30741],[102.222191,32.307665],[102.222313,32.30792],[102.222602,32.308211],[102.222891,32.308502],[102.22318,32.308792],[102.223365,32.30897],[102.223371,32.308976],[102.223507,32.309106],[102.22355,32.309147],[102.223707,32.309298],[102.223736,32.309325],[102.223921,32.309503],[102.224106,32.30968],[102.224167,32.309738],[102.224292,32.309858],[102.224477,32.310035],[102.224662,32.310213],[102.224901,32.310561],[102.22514,32.310909],[102.225379,32.311257],[102.225455,32.311511],[102.225531,32.311765],[102.225608,32.31202],[102.225684,32.312274],[102.225709,32.312546],[102.225721,32.312675],[102.22575,32.312987],[102.225758,32.313075],[102.225761,32.313099],[102.225796,32.313476],[102.225813,32.31374],[102.225819,32.313846],[102.225829,32.314003],[102.225833,32.314065],[102.225846,32.314266],[102.225861,32.3145],[102.225863,32.31453],[102.225872,32.314667],[102.22588,32.314793],[102.225896,32.315057],[102.225911,32.315172],[102.225931,32.315331],[102.225966,32.315605],[102.226001,32.31588],[102.226036,32.316154],[102.226072,32.316429],[102.226096,32.316619],[102.226107,32.316703],[102.226141,32.316878],[102.226155,32.316946],[102.226203,32.317189],[102.226252,32.317432],[102.2263,32.317675],[102.226348,32.317918],[102.226375,32.318049],[102.226397,32.318162],[102.226432,32.318253],[102.226518,32.318474],[102.226539,32.318529],[102.226627,32.318667],[102.226682,32.318754],[102.226926,32.318907],[102.226977,32.31894],[102.22717,32.319061],[102.227247,32.319081],[102.227346,32.319105],[102.227707,32.319167],[102.227909,32.319201],[102.228069,32.319229],[102.22832,32.319253],[102.22857,32.319276],[102.228571,32.319276],[102.228573,32.319277],[102.228881,32.319343],[102.229189,32.31941],[102.229497,32.319476],[102.229725,32.319529],[102.229954,32.319581],[102.230315,32.319572],[102.230734,32.319505],[102.231077,32.319434],[102.231419,32.319362],[102.231848,32.319391],[102.2322,32.31941],[102.23259,32.319524],[102.232904,32.31961],[102.233247,32.319708],[102.233589,32.319806],[102.233932,32.319905],[102.234266,32.319999],[102.234599,32.320093],[102.23485,32.320164],[102.235101,32.320235],[102.235245,32.320276],[102.235655,32.320333],[102.235861,32.320326],[102.23595,32.320323],[102.236197,32.320285],[102.236483,32.320047],[102.236721,32.319695],[102.236935,32.319567],[102.237149,32.319438],[102.237544,32.319267],[102.237939,32.319096],[102.238269,32.31895],[102.238599,32.318804],[102.238929,32.318658],[102.238996,32.318618],[102.239298,32.318442],[102.2396,32.318265],[102.239966,32.318051],[102.240333,32.317836],[102.240699,32.317621],[102.241066,32.317407],[102.241432,32.317192],[102.241825,32.317054],[102.242217,32.316916],[102.24261,32.316778],[102.243002,32.31664],[102.243343,32.316533],[102.243683,32.316426],[102.244023,32.316319],[102.244364,32.316212],[102.244792,32.316131],[102.245207,32.316052],[102.24522,32.31605],[102.24542,32.315917],[102.245439,32.315869],[102.245553,32.315584],[102.245653,32.315327],[102.245753,32.31507],[102.245841,32.314868],[102.24587,32.314813],[102.24594,32.31466],[102.246035,32.314455],[102.2462,32.314096],[102.246365,32.313737],[102.246617,32.313396],[102.24687,32.313055],[102.246953,32.312756],[102.247037,32.312457],[102.247063,32.312205],[102.24709,32.311953],[102.247022,32.311715],[102.246955,32.311477],[102.24687,32.311215],[102.246784,32.310953],[102.246699,32.310691],[102.246614,32.310429],[102.246582,32.31032],[102.246528,32.31014],[102.246496,32.310032],[102.246419,32.309773],[102.246378,32.309634],[102.24633,32.309365],[102.246307,32.309234],[102.246282,32.309095],[102.246292,32.308796],[102.246301,32.308496],[102.246422,32.308214],[102.24654,32.308001],[102.246658,32.307788],[102.246776,32.307575],[102.246894,32.307362],[102.247012,32.307149],[102.24713,32.306937],[102.247284,32.306756],[102.247439,32.306575],[102.247593,32.306394],[102.247747,32.306213],[102.247901,32.306032],[102.248055,32.305851],[102.248209,32.30567],[102.248363,32.30549],[102.248491,32.305279],[102.248618,32.305069],[102.248746,32.304858],[102.248873,32.304648],[102.249016,32.304225],[102.249158,32.303803],[102.249226,32.303394],[102.249294,32.302985],[102.24933,32.302734],[102.249366,32.302482],[102.249401,32.30223],[102.249437,32.301979],[102.249417,32.301706],[102.249403,32.301508],[102.249397,32.301434],[102.249377,32.301162],[102.249358,32.300889],[102.24932,32.300489],[102.249283,32.300088],[102.249245,32.299688],[102.249252,32.299451],[102.24926,32.299215],[102.249267,32.298978],[102.249269,32.298897],[102.249274,32.298742],[102.24932,32.298471],[102.249365,32.298201],[102.249411,32.29793],[102.249456,32.29766],[102.249502,32.297389],[102.249547,32.297118],[102.249592,32.296848],[102.249638,32.296577],[102.249683,32.296307],[102.249729,32.296036],[102.249787,32.295813],[102.249844,32.295589],[102.249902,32.295365],[102.24996,32.295142],[102.250018,32.294918],[102.250076,32.294695],[102.250133,32.294471],[102.250191,32.294247],[102.250296,32.293871],[102.2504,32.293494],[102.25041,32.293162],[102.25042,32.292831],[102.250437,32.292571],[102.250454,32.292311],[102.25046,32.292224],[102.250471,32.292051],[102.250488,32.291791],[102.250489,32.29178],[102.250493,32.291689],[102.250511,32.291335],[102.250518,32.291193],[102.250534,32.290891],[102.250556,32.290446],[102.250579,32.290002],[102.250677,32.289636],[102.250775,32.28927],[102.250873,32.288904],[102.251021,32.288592],[102.251168,32.28828],[102.251279,32.288045],[102.25139,32.28781],[102.251518,32.287584],[102.251645,32.287358],[102.251773,32.287132],[102.251901,32.286906],[102.252068,32.286699],[102.252236,32.286493],[102.252403,32.286286],[102.252571,32.286079],[102.252738,32.285873],[102.252906,32.285666],[102.252966,32.285581],[102.253061,32.285448],[102.253216,32.285231],[102.253371,32.285013],[102.253526,32.284795],[102.253656,32.28461],[102.253663,32.284601],[102.253799,32.284407],[102.253935,32.284212],[102.254071,32.284018],[102.254092,32.283969],[102.254094,32.283964],[102.254171,32.283783],[102.254271,32.283548],[102.254292,32.283364],[102.254321,32.283108],[102.254239,32.282743],[102.254158,32.282378],[102.25409,32.282157],[102.254022,32.281936],[102.253955,32.281715],[102.253887,32.281493],[102.253819,32.281272],[102.253752,32.281051],[102.253764,32.28063],[102.253777,32.28021],[102.25379,32.279789],[102.253948,32.279509],[102.254228,32.279263],[102.254508,32.279016],[102.254788,32.278769],[102.254877,32.278676],[102.254967,32.278584],[102.255029,32.27852],[102.255032,32.278516],[102.255146,32.278398],[102.255325,32.278213],[102.255504,32.278027],[102.255669,32.277856],[102.255862,32.277656],[102.256071,32.277324],[102.256279,32.276992],[102.256488,32.27666],[102.256714,32.276318],[102.256759,32.276171],[102.25687,32.275881],[102.256981,32.275591],[102.257092,32.2753],[102.257194,32.275101],[102.257236,32.27502],[102.257381,32.274739],[102.257488,32.274477],[102.257595,32.274215],[102.257623,32.274142],[102.257745,32.273822],[102.257895,32.273429],[102.257957,32.273152],[102.25802,32.272876],[102.258052,32.272647],[102.258085,32.272418],[102.258115,32.271972],[102.258117,32.271752],[102.258121,32.271317],[102.258101,32.270958],[102.258081,32.270599],[102.258061,32.270241],[102.258017,32.269881],[102.257972,32.269521],[102.257929,32.269168],[102.257907,32.268985],[102.257835,32.268646],[102.257621,32.26842],[102.257389,32.268111],[102.257297,32.267769],[102.257205,32.267427],[102.256985,32.267103],[102.256765,32.266778],[102.256437,32.266517],[102.256176,32.266267],[102.256009,32.266172],[102.255979,32.266047],[102.256039,32.265898],[102.256164,32.265708],[102.256191,32.265684],[102.256384,32.265517],[102.256604,32.265327],[102.256931,32.265079],[102.257258,32.264831],[102.257585,32.264583],[102.257895,32.26431],[102.258204,32.264036],[102.258513,32.263762],[102.258537,32.263749],[102.258784,32.263613],[102.259031,32.263477],[102.259221,32.263328],[102.259282,32.263234],[102.25934,32.263144],[102.259376,32.26284],[102.259376,32.262487],[102.259376,32.262486],[102.259376,32.262484],[102.259346,32.262222],[102.259272,32.261909],[102.259197,32.261597],[102.259111,32.261285],[102.259025,32.260973],[102.258894,32.260681],[102.258704,32.260324],[102.258484,32.260021],[102.258264,32.259717],[102.258139,32.259533],[102.258103,32.259408],[102.258168,32.259212],[102.258264,32.259063],[102.258359,32.258891],[102.258302,32.258546],[102.258246,32.2582],[102.258252,32.257873],[102.258296,32.257621],[102.258341,32.257368],[102.258389,32.257127],[102.258437,32.256886],[102.25846,32.256773],[102.258418,32.256345],[102.258377,32.255916],[102.258264,32.255637],[102.258118,32.255428],[102.257972,32.25522],[102.257868,32.254991],[102.257764,32.254762],[102.257609,32.254423],[102.257556,32.254188],[102.257502,32.253953],[102.257466,32.253575],[102.257431,32.253198],[102.257389,32.252936],[102.257336,32.252728],[102.257246,32.252567],[102.257133,32.252442],[102.257104,32.252293],[102.257115,32.252079],[102.257234,32.251758],[102.257336,32.251502],[102.257337,32.251474],[102.257357,32.25106],[102.257377,32.250646],[102.257336,32.250378],[102.25727,32.250182],[102.257128,32.250035],[102.257092,32.249997],[102.256936,32.249788],[102.256919,32.249765],[102.256753,32.249355],[102.256634,32.249153],[102.256485,32.249028],[102.256408,32.248766],[102.25639,32.248516],[102.256402,32.248254],[102.256443,32.247923],[102.256485,32.247592],[102.256527,32.247261],[102.256515,32.246862],[102.256517,32.246441],[102.25652,32.246019],[102.256521,32.245976],[102.256592,32.245661],[102.256628,32.24542],[102.256663,32.245179],[102.25686,32.244822],[102.256989,32.244548],[102.257117,32.244275],[102.257246,32.244001],[102.257353,32.243739],[102.257496,32.243537],[102.257663,32.243478],[102.257919,32.243472],[102.258204,32.243478],[102.25843,32.243495],[102.258656,32.243513],[102.258914,32.2436],[102.259172,32.243686],[102.25936,32.243775],[102.259539,32.243859],[102.259749,32.243958],[102.25996,32.244057],[102.260175,32.244125],[102.26039,32.244193],[102.260604,32.24426],[102.260819,32.244328],[102.261034,32.244396],[102.261223,32.244456],[102.261249,32.244464],[102.261629,32.244609],[102.261892,32.244709],[102.262247,32.244895],[102.262602,32.245081],[102.262779,32.245185],[102.263064,32.245329],[102.263109,32.245351],[102.263439,32.245518],[102.263689,32.245589],[102.264081,32.245723],[102.264474,32.245857],[102.264516,32.245864],[102.264737,32.245959],[102.265141,32.246134],[102.265495,32.246382],[102.265848,32.24663],[102.266223,32.246842],[102.266598,32.247053],[102.266901,32.247326],[102.267026,32.247523],[102.267097,32.247707],[102.267197,32.247788],[102.267258,32.247838],[102.267523,32.24804],[102.267787,32.248242],[102.26794,32.248354],[102.268055,32.248439],[102.268364,32.248663],[102.268674,32.248887],[102.268983,32.249111],[102.269304,32.249283],[102.269544,32.249486],[102.269679,32.2496],[102.269843,32.249804],[102.270091,32.250113],[102.270242,32.250301],[102.270393,32.250489],[102.270544,32.250677],[102.270695,32.250865],[102.270846,32.251054],[102.270997,32.251242],[102.271173,32.251419],[102.271349,32.251597],[102.271525,32.251775],[102.271701,32.251952],[102.271876,32.25213],[102.272052,32.252308],[102.272228,32.252485],[102.272404,32.252663],[102.272629,32.25282],[102.272853,32.252977],[102.273078,32.253135],[102.273302,32.253292],[102.273527,32.253449],[102.273752,32.253607],[102.273971,32.253722],[102.274191,32.253837],[102.274411,32.253952],[102.27463,32.254067],[102.27485,32.254182],[102.27507,32.254297],[102.275439,32.2544],[102.275808,32.254503],[102.276102,32.254588],[102.276397,32.254673],[102.276749,32.254713],[102.277101,32.254752],[102.277548,32.25473],[102.27797,32.25471],[102.277996,32.254708],[102.278294,32.254667],[102.278476,32.254642],[102.278593,32.254626],[102.278628,32.254615],[102.278839,32.254549],[102.278874,32.254538],[102.279156,32.25445],[102.279421,32.25425],[102.279687,32.25405],[102.279842,32.253856],[102.279996,32.253662],[102.280151,32.253468],[102.280306,32.253274],[102.280484,32.252884],[102.280663,32.252493],[102.28071,32.252194],[102.280757,32.251895],[102.280875,32.251676],[102.281065,32.251538],[102.281255,32.251401],[102.2815,32.25128],[102.281744,32.251159],[102.28212,32.25102],[102.282496,32.250881],[102.282871,32.250741],[102.283094,32.250677],[102.283318,32.250613],[102.283541,32.250548],[102.283764,32.250484],[102.283987,32.25042],[102.28421,32.250355],[102.284418,32.25025],[102.284626,32.250144],[102.284662,32.250113],[102.284949,32.249866],[102.285211,32.24964],[102.285235,32.24962],[102.285354,32.249378],[102.285473,32.249136],[102.285592,32.248894],[102.285711,32.248652],[102.285797,32.248409],[102.285883,32.248166],[102.285969,32.247924],[102.286056,32.247681],[102.286142,32.247438],[102.286228,32.247195],[102.286314,32.246952],[102.286401,32.24671],[102.286512,32.246504],[102.286624,32.246299],[102.286735,32.246093],[102.286847,32.245888],[102.286958,32.245683],[102.287069,32.245477],[102.287181,32.245272],[102.287292,32.245066],[102.28738,32.244905],[102.28738,32.244905],[102.287404,32.244861],[102.287515,32.244656],[102.287627,32.24445],[102.287738,32.244245],[102.287954,32.243924],[102.288169,32.243603],[102.288436,32.24342],[102.288651,32.243277],[102.288866,32.243134],[102.28908,32.242992],[102.289295,32.242849],[102.28951,32.242706],[102.289725,32.242564],[102.289897,32.24241],[102.290069,32.242255],[102.29024,32.242101],[102.290412,32.241947],[102.290584,32.241793],[102.29071,32.24168],[102.290756,32.241639],[102.290931,32.241406],[102.291105,32.241173],[102.291226,32.240828],[102.291348,32.240484],[102.291383,32.240248],[102.291418,32.240012],[102.291453,32.239776],[102.291488,32.23954],[102.291497,32.23924],[102.291505,32.23894],[102.291426,32.238691],[102.291347,32.238442],[102.291267,32.238193],[102.291188,32.237944],[102.291109,32.237696],[102.291029,32.237447],[102.290958,32.237234],[102.290886,32.23702],[102.290814,32.236807],[102.290742,32.236594],[102.29067,32.236381],[102.290599,32.236168],[102.290527,32.235955],[102.290455,32.235742],[102.290383,32.235529],[102.290312,32.235316],[102.29025,32.234904],[102.290295,32.234653],[102.290431,32.234435],[102.290568,32.234217],[102.29083,32.233852],[102.290958,32.233672],[102.291091,32.233486],[102.291353,32.233121],[102.291615,32.232755],[102.291785,32.232554],[102.291955,32.232353],[102.292124,32.232153],[102.292294,32.231952],[102.292464,32.231751],[102.292634,32.23155],[102.292804,32.231349],[102.292974,32.231149],[102.293003,32.231101],[102.293106,32.230934],[102.293237,32.23072],[102.293369,32.230506],[102.293501,32.230292],[102.293632,32.230078],[102.293764,32.229864],[102.293896,32.22965],[102.294027,32.229435],[102.294121,32.229187],[102.29414,32.229135],[102.294214,32.228938],[102.294308,32.22869],[102.294401,32.228441],[102.294471,32.228254],[102.294472,32.228254],[102.294495,32.228193],[102.294588,32.227944],[102.294682,32.227696],[102.294775,32.227447],[102.294869,32.227198],[102.294962,32.22695],[102.295055,32.226701],[102.295149,32.226453],[102.295226,32.226248],[102.295226,32.226248],[102.295226,32.226248],[102.295395,32.225923],[102.295575,32.225674],[102.295811,32.225519],[102.296154,32.225385],[102.296496,32.225251],[102.296668,32.225251],[102.296924,32.225394],[102.297043,32.225602],[102.297105,32.225843],[102.297168,32.226084],[102.297418,32.226435],[102.297644,32.226607],[102.297935,32.226905],[102.298227,32.227202],[102.298476,32.227434],[102.29875,32.227618],[102.299022,32.227847],[102.299293,32.228075],[102.299565,32.228303],[102.299849,32.228545],[102.300133,32.228788],[102.300402,32.229018],[102.300672,32.229248],[102.300925,32.229498],[102.301179,32.229748],[102.301433,32.229998],[102.30165,32.230188],[102.301867,32.230379],[102.302111,32.230569],[102.302355,32.230759],[102.302599,32.23095],[102.302878,32.231137],[102.303158,32.231324],[102.303313,32.231503],[102.303377,32.231638],[102.30342,32.231729],[102.303485,32.231973],[102.303568,32.232092],[102.303872,32.232258],[102.304253,32.232389],[102.304485,32.23249],[102.304657,32.232657],[102.30483,32.232847],[102.305002,32.232999],[102.305175,32.233151],[102.305398,32.233258],[102.305621,32.233365],[102.305832,32.23352],[102.306043,32.233674],[102.306218,32.233868],[102.306329,32.233989],[102.306531,32.234239],[102.306662,32.234483],[102.306793,32.234727],[102.306828,32.234793],[102.307054,32.235149],[102.307164,32.235465],[102.307275,32.23578],[102.307435,32.236179],[102.307596,32.236577],[102.307611,32.236937],[102.307625,32.237297],[102.307679,32.237606],[102.307744,32.237767],[102.307991,32.237942],[102.308238,32.238118],[102.3085,32.238252],[102.308762,32.238386],[102.309196,32.238493],[102.309398,32.238558],[102.309559,32.238671],[102.309803,32.238826],[102.309969,32.239052],[102.310154,32.239314],[102.31035,32.239444],[102.310618,32.239504],[102.311037,32.239644],[102.311181,32.239692],[102.311456,32.239783],[102.311772,32.239849],[102.31198,32.239837],[102.312283,32.239789],[102.312432,32.239744],[102.312634,32.239682],[102.312908,32.239608],[102.313182,32.239534],[102.313455,32.23954],[102.313836,32.239605],[102.314183,32.239728],[102.314185,32.239729],[102.314187,32.23973],[102.314463,32.239798],[102.31474,32.239867],[102.31496,32.239926],[102.31518,32.239986],[102.315424,32.239989],[102.315668,32.239992],[102.315909,32.239992],[102.31615,32.239992],[102.316406,32.239965],[102.316661,32.239938],[102.317084,32.239861],[102.317456,32.239792],[102.317626,32.239761],[102.317827,32.239724],[102.318256,32.239659],[102.318684,32.239593],[102.318958,32.23954],[102.319362,32.239403],[102.3196,32.239391],[102.319838,32.239379],[102.320177,32.239409],[102.320516,32.239438],[102.320903,32.239482],[102.32129,32.239526],[102.321676,32.239569],[102.321811,32.239579],[102.322127,32.239602],[102.322443,32.239624],[102.322759,32.239647],[102.322946,32.239643],[102.323044,32.239641],[102.323425,32.239563],[102.323642,32.239465],[102.323859,32.239367],[102.3241,32.239254],[102.324341,32.239141],[102.324698,32.239016],[102.325055,32.238891],[102.325373,32.238817],[102.325692,32.238742],[102.325954,32.238667],[102.326177,32.238604],[102.326399,32.23854],[102.326774,32.238368],[102.327149,32.238195],[102.327506,32.238073],[102.327863,32.237951],[102.328142,32.237842],[102.328422,32.237733],[102.328484,32.237709],[102.328702,32.237624],[102.329017,32.237535],[102.329332,32.237446],[102.329346,32.237443],[102.329613,32.237394],[102.329879,32.237345],[102.330127,32.237337],[102.330419,32.237329],[102.330712,32.237321],[102.331087,32.237291],[102.331462,32.237261],[102.331575,32.237261],[102.331854,32.237309],[102.332074,32.237333],[102.332425,32.237327],[102.332705,32.237321],[102.332985,32.237309],[102.33301,32.237302],[102.333098,32.237279],[102.333407,32.237065],[102.333681,32.236809],[102.333898,32.236654],[102.334055,32.236541],[102.334305,32.236422],[102.334579,32.236405],[102.334633,32.236396],[102.334633,32.236396],[102.334633,32.236396],[102.334894,32.236356],[102.335156,32.236315],[102.335578,32.236202],[102.335888,32.236048],[102.336286,32.235869],[102.336471,32.235787],[102.336664,32.235701],[102.336768,32.235655],[102.337012,32.235578],[102.337256,32.2355],[102.337497,32.235453],[102.337738,32.235405],[102.337992,32.235362],[102.338247,32.235318],[102.338326,32.235304],[102.338675,32.235189],[102.339024,32.235074],[102.339373,32.234959],[102.339635,32.234849],[102.339897,32.234739],[102.340144,32.234626],[102.340391,32.234513],[102.340715,32.234332],[102.341039,32.23415],[102.341322,32.234022],[102.341604,32.233894],[102.341967,32.233644],[102.34233,32.233395],[102.342693,32.233145],[102.342976,32.232946],[102.34326,32.232748],[102.343543,32.23255],[102.343829,32.232241],[102.344091,32.23189],[102.344358,32.23161],[102.344648,32.231398],[102.344937,32.231186],[102.345227,32.230974],[102.345465,32.230843],[102.345703,32.230712],[102.345893,32.230556],[102.346083,32.230401],[102.346095,32.230391],[102.346434,32.230141],[102.346613,32.229977],[102.346791,32.229814],[102.347,32.229715],[102.347208,32.229617],[102.347567,32.229427],[102.347926,32.229237],[102.348285,32.229046],[102.348692,32.228871],[102.349099,32.228695],[102.349415,32.22857],[102.349748,32.228433],[102.350085,32.228287],[102.350422,32.22814],[102.350759,32.227993],[102.351125,32.227862],[102.351491,32.227731],[102.351817,32.227606],[102.35183,32.227601],[102.352228,32.227571],[102.352615,32.227601],[102.352953,32.227658],[102.353002,32.227666],[102.353269,32.22772],[102.353424,32.227726],[102.353609,32.227708],[102.3539,32.227648],[102.354156,32.227565],[102.354382,32.227497],[102.354608,32.227428],[102.354635,32.22742],[102.355037,32.227355],[102.355145,32.227337],[102.355233,32.227333],[102.355414,32.227293],[102.355474,32.22728],[102.355506,32.227273],[102.35572,32.227208],[102.355725,32.227198],[102.35581,32.227024],[102.35582,32.226992],[102.355899,32.226744],[102.355982,32.226533],[102.356065,32.226322],[102.356089,32.226096],[102.356113,32.22587],[102.356172,32.22556],[102.356214,32.225435],[102.356428,32.225281],[102.356684,32.225037],[102.356821,32.224936],[102.356892,32.224823],[102.356976,32.224626],[102.357118,32.224489],[102.357119,32.224489],[102.35712,32.224489],[102.357326,32.224365],[102.357493,32.22424],[102.357695,32.223901],[102.357862,32.223698],[102.358153,32.223478],[102.35835,32.223371],[102.358463,32.223288],[102.358522,32.223169],[102.358599,32.22302],[102.358891,32.222717],[102.359101,32.222425],[102.359153,32.222354],[102.359211,32.222263],[102.359301,32.222122],[102.359426,32.222021],[102.359569,32.221961],[102.359719,32.221781],[102.359868,32.2216],[102.360077,32.221348],[102.360218,32.221164],[102.360345,32.220965],[102.360473,32.220766],[102.36064,32.220403],[102.360821,32.220046],[102.361003,32.219689],[102.361107,32.219335],[102.361211,32.218981],[102.361407,32.218636],[102.361621,32.218345],[102.361717,32.218113],[102.361812,32.217881],[102.361919,32.217581],[102.362026,32.217282],[102.362133,32.216982],[102.362156,32.216877],[102.362237,32.216504],[102.362317,32.216132],[102.362414,32.215829],[102.362419,32.215816],[102.362573,32.215406],[102.362674,32.215067],[102.362722,32.214734],[102.362784,32.214392],[102.362847,32.21405],[102.362972,32.213627],[102.363007,32.213455],[102.363168,32.213264],[102.363345,32.213066],[102.363522,32.212868],[102.363561,32.212824],[102.36365,32.212592],[102.363715,32.212378],[102.363769,32.21214],[102.363787,32.211839],[102.363805,32.211537],[102.363822,32.211236],[102.363786,32.210824],[102.363749,32.210413],[102.363739,32.210296],[102.363717,32.21005],[102.363715,32.210028],[102.363793,32.209689],[102.3639,32.209314],[102.36405,32.209049],[102.364064,32.209024],[102.364102,32.208958],[102.364393,32.208642],[102.364646,32.208425],[102.364899,32.208208],[102.365185,32.208044],[102.36547,32.207881],[102.365613,32.207809],[102.365672,32.207746],[102.365684,32.207732],[102.365684,32.207643],[102.365625,32.207458],[102.365595,32.2072],[102.365565,32.206941],[102.365502,32.206706],[102.365452,32.206522],[102.365339,32.206102],[102.365316,32.205829],[102.365339,32.205507],[102.365423,32.205252],[102.365537,32.204975],[102.365652,32.204699],[102.365666,32.204663],[102.36572,32.204413],[102.365747,32.204151],[102.365774,32.203889],[102.365683,32.20361],[102.365637,32.203467],[102.365559,32.203294],[102.365464,32.203062],[102.365369,32.202926],[102.365185,32.202747],[102.365101,32.20264],[102.365113,32.202343],[102.365119,32.202075],[102.365125,32.201807],[102.365131,32.201563],[102.365238,32.20123],[102.365298,32.201111],[102.365452,32.200986],[102.365637,32.200873],[102.36575,32.200719],[102.365876,32.200404],[102.36594,32.200243],[102.366012,32.200011],[102.36616,32.199749],[102.366374,32.199452],[102.366398,32.199412],[102.366402,32.199402],[102.366478,32.199242],[102.366582,32.198942],[102.366598,32.198896],[102.366572,32.198549],[102.366545,32.198478],[102.36644,32.198417],[102.366142,32.19825],[102.365893,32.198024],[102.365637,32.197816],[102.365557,32.197774],[102.3655,32.197744],[102.365434,32.197709],[102.365357,32.197619],[102.365262,32.197364],[102.365119,32.196965],[102.365039,32.196694],[102.364959,32.196424],[102.364881,32.196067],[102.36478,32.19593],[102.364593,32.195671],[102.364405,32.195412],[102.364395,32.195397],[102.364162,32.195066],[102.363929,32.194734],[102.363834,32.194556],[102.363781,32.194383],[102.363739,32.194074],[102.363674,32.193896],[102.363543,32.193723],[102.363332,32.193423],[102.36312,32.193122],[102.362948,32.192908],[102.362938,32.19271],[102.362936,32.192682],[102.362859,32.192498],[102.362639,32.192117],[102.362439,32.191879],[102.36224,32.191641],[102.362044,32.191397],[102.361943,32.191225],[102.361904,32.19115],[102.361859,32.191064],[102.361782,32.190939],[102.361681,32.19088],[102.361496,32.190874],[102.361357,32.19087],[102.360997,32.190862],[102.360824,32.190838],[102.36067,32.190737],[102.360529,32.190663],[102.360455,32.190624],[102.360271,32.190594],[102.360104,32.190523],[102.359962,32.190392],[102.359831,32.190291],[102.359724,32.190243],[102.359456,32.190225],[102.359022,32.190237],[102.358977,32.190237],[102.358843,32.190237],[102.358707,32.190166],[102.35854,32.190059],[102.358415,32.190029],[102.358201,32.190011],[102.357892,32.190035],[102.357731,32.190017],[102.357614,32.189973],[102.357558,32.189952],[102.35738,32.189767],[102.357178,32.189488],[102.357023,32.189262],[102.356934,32.18894],[102.356868,32.188661],[102.356857,32.188523],[102.356857,32.18852],[102.356857,32.188518],[102.356773,32.188411],[102.356607,32.188215],[102.356494,32.187977],[102.356529,32.187768],[102.356636,32.187584],[102.35672,32.187394],[102.356708,32.187301],[102.356702,32.187251],[102.356517,32.186906],[102.356419,32.18676],[102.356369,32.186686],[102.356268,32.186585],[102.356024,32.186424],[102.355804,32.18624],[102.355628,32.186094],[102.355453,32.185948],[102.355298,32.18571],[102.355149,32.185383],[102.355131,32.185181],[102.355042,32.18502],[102.354882,32.184866],[102.354617,32.18472],[102.354352,32.184574],[102.353954,32.184407],[102.353626,32.184158],[102.35343,32.18392],[102.353258,32.183741],[102.353097,32.183581],[102.352924,32.183515],[102.352703,32.183441],[102.352481,32.183367],[102.352193,32.183271],[102.351958,32.183182],[102.351723,32.183093],[102.35139,32.183045],[102.351223,32.183015],[102.351134,32.182873],[102.351074,32.182676],[102.351059,32.182498],[102.351039,32.182272],[102.350973,32.181887],[102.350908,32.181503],[102.350842,32.181118],[102.350765,32.180927],[102.35061,32.180761],[102.350429,32.180588],[102.350248,32.180416],[102.350019,32.180279],[102.34979,32.180142],[102.349447,32.179997],[102.349105,32.179851],[102.348963,32.179791],[102.348927,32.17972],[102.348927,32.179607],[102.349004,32.179452],[102.349123,32.179292],[102.349399,32.179026],[102.349675,32.17876],[102.349896,32.178609],[102.350117,32.178458],[102.35052,32.17832],[102.350924,32.178182],[102.351328,32.178044],[102.351731,32.177905],[102.352105,32.177791],[102.352479,32.177676],[102.352853,32.177562],[102.353226,32.177447],[102.353576,32.177364],[102.353925,32.177281],[102.354275,32.177198],[102.354703,32.177097],[102.355078,32.177055],[102.35531,32.177046],[102.355542,32.177037],[102.355851,32.176942],[102.355869,32.176936],[102.355893,32.176928],[102.356014,32.176886],[102.356243,32.176809],[102.356472,32.176732],[102.356696,32.176633],[102.356919,32.176534],[102.357171,32.176423],[102.357367,32.176336],[102.35759,32.176237],[102.357814,32.176138],[102.358013,32.17605],[102.35829,32.175865],[102.358593,32.175692],[102.358895,32.175519],[102.359198,32.175347],[102.359331,32.17527],[102.35962,32.175128],[102.359908,32.174985],[102.360021,32.174878],[102.360099,32.174753],[102.36011,32.17461],[102.360116,32.174383],[102.360122,32.174146],[102.360146,32.173944],[102.360206,32.173837],[102.360348,32.173753],[102.360551,32.173623],[102.360676,32.173426],[102.360729,32.1732],[102.360705,32.172962],[102.360661,32.172605],[102.360616,32.172248],[102.360616,32.172022],[102.360646,32.171921],[102.360967,32.171659],[102.361211,32.171576],[102.361532,32.171499],[102.361764,32.17138],[102.361931,32.171291],[102.362145,32.171148],[102.362401,32.170987],[102.362656,32.170827],[102.36293,32.170708],[102.363261,32.170513],[102.363591,32.170318],[102.363656,32.170279],[102.3639,32.170154],[102.364072,32.170006],[102.364251,32.16975],[102.36434,32.169405],[102.36434,32.169149],[102.364304,32.168953],[102.364292,32.168925],[102.364191,32.168689],[102.36409,32.168453],[102.36398,32.168185],[102.36387,32.167918],[102.363779,32.167605],[102.363727,32.167424],[102.363668,32.16702],[102.363573,32.166799],[102.363424,32.16663],[102.363275,32.16646],[102.363014,32.166281],[102.362754,32.166103],[102.362493,32.165924],[102.36246,32.165901],[102.362335,32.165776],[102.36227,32.165628],[102.362234,32.16536],[102.362198,32.165092],[102.362198,32.164848],[102.362198,32.164604],[102.362202,32.164547],[102.362213,32.164366],[102.362235,32.163995],[102.362258,32.163623],[102.362258,32.163454],[102.362258,32.163325],[102.362234,32.163129],[102.362127,32.162796],[102.362103,32.162671],[102.362109,32.162534],[102.362192,32.162427],[102.362532,32.162201],[102.362766,32.161937],[102.363,32.161674],[102.363233,32.16141],[102.363495,32.161243],[102.363727,32.161124],[102.364025,32.161047],[102.364289,32.160991],[102.364554,32.160934],[102.364881,32.160934],[102.365155,32.160952],[102.365321,32.160964],[102.365546,32.160933],[102.365583,32.160928],[102.365653,32.1609],[102.365851,32.160821],[102.366184,32.16072],[102.366449,32.160663],[102.366713,32.160607],[102.366945,32.160577],[102.367183,32.160583],[102.367198,32.160583],[102.367264,32.16057],[102.367663,32.160494],[102.368061,32.160418],[102.368253,32.160397],[102.368468,32.160339],[102.368778,32.160155],[102.369045,32.160083],[102.369273,32.160032],[102.369501,32.159981],[102.369599,32.159958],[102.370018,32.159828],[102.370437,32.159697],[102.370622,32.159661],[102.370764,32.159673],[102.370943,32.159715],[102.370988,32.159727],[102.371098,32.159756],[102.37127,32.159804],[102.371496,32.159828],[102.371764,32.159881],[102.372032,32.159935],[102.372252,32.160033],[102.372472,32.160131],[102.372692,32.160214],[102.372882,32.160286],[102.373236,32.160342],[102.37359,32.160399],[102.373745,32.160494],[102.37381,32.160619],[102.37381,32.160768],[102.37378,32.160922],[102.373774,32.160952],[102.373774,32.161148],[102.373828,32.161368],[102.373965,32.161553],[102.37406,32.161618],[102.374328,32.161713],[102.374548,32.161826],[102.374839,32.16191],[102.375048,32.161975],[102.37528,32.162017],[102.375399,32.162037],[102.375601,32.16207],[102.375672,32.162171],[102.375697,32.162262],[102.375761,32.162493],[102.37588,32.162695],[102.376071,32.162933],[102.376243,32.163218],[102.376368,32.163427],[102.3766,32.163581],[102.376975,32.16376],[102.377266,32.163891],[102.377427,32.163938],[102.377724,32.164158],[102.377897,32.164301],[102.377939,32.164372],[102.37801,32.164557],[102.378069,32.164783],[102.378135,32.164884],[102.378266,32.164949],[102.378593,32.165039],[102.378884,32.165086],[102.379122,32.165086],[102.37936,32.165074],[102.379509,32.165134],[102.379586,32.165175],[102.379795,32.165288],[102.379884,32.165336],[102.380181,32.165348],[102.38036,32.165413],[102.380538,32.165491],[102.380693,32.165544],[102.38097,32.165549],[102.381062,32.16555],[102.381466,32.165651],[102.381752,32.165782],[102.382055,32.165943],[102.382192,32.166084],[102.382233,32.166127],[102.382394,32.166401],[102.382442,32.166457],[102.382662,32.166716],[102.382799,32.166829],[102.382947,32.166871],[102.38312,32.166901],[102.383304,32.166907],[102.383602,32.166889],[102.383754,32.166892],[102.383923,32.166895],[102.384185,32.166942],[102.384369,32.166972],[102.384708,32.16696],[102.38491,32.166936],[102.385255,32.16702],[102.385427,32.167057],[102.385666,32.167109],[102.385904,32.16718],[102.386186,32.167245],[102.386468,32.167309],[102.386606,32.167341],[102.386981,32.167409],[102.387169,32.167444],[102.387211,32.167531],[102.387477,32.168163],[102.388857,32.169446],[102.391037,32.170552],[102.393159,32.171705],[102.394544,32.172842],[102.395433,32.173487],[102.396988,32.174629],[102.398376,32.17567],[102.399263,32.176363],[102.40031,32.177446],[102.401627,32.178968],[102.402338,32.179899],[102.403043,32.181022],[102.403964,32.182536],[102.404182,32.182879],[102.404271,32.183019],[102.404692,32.183682],[102.404709,32.183709],[102.404833,32.183904],[102.40533,32.184349],[102.406406,32.184419],[102.407528,32.184828],[102.408253,32.185277],[102.408992,32.187221],[102.409303,32.18824],[102.409318,32.188261],[102.409432,32.188425],[102.40958,32.188638],[102.409848,32.189023],[102.410091,32.189611],[102.410432,32.190433],[102.410594,32.190966],[102.410847,32.191792],[102.410954,32.19333],[102.410968,32.19353],[102.410968,32.19354],[102.410986,32.194881],[102.411247,32.19592],[102.411356,32.196353],[102.411547,32.19711],[102.4118,32.198187],[102.411863,32.198457],[102.411898,32.198606],[102.411933,32.198756],[102.411959,32.19887],[102.412002,32.199049],[102.412074,32.199232],[102.412156,32.199442],[102.412229,32.199627],[102.412318,32.199855],[102.412379,32.200033],[102.412438,32.200171],[102.412478,32.200265],[102.412587,32.20041],[102.412705,32.200569],[102.41282,32.200724],[102.412911,32.200846],[102.41318,32.201208],[102.413353,32.20144],[102.413513,32.202148],[102.413605,32.202554],[102.413614,32.202796],[102.413632,32.203286],[102.413637,32.203423],[102.414411,32.204114],[102.415356,32.204808],[102.416104,32.206066],[102.416547,32.20681],[102.416637,32.207632],[102.416782,32.208527],[102.416927,32.209422],[102.416984,32.209705],[102.417051,32.210043],[102.417605,32.211043],[102.417692,32.211151],[102.418648,32.212336],[102.419035,32.213332],[102.419601,32.214079],[102.419855,32.214414],[102.420014,32.214855],[102.420069,32.215005],[102.420144,32.215214],[102.419942,32.215631],[102.419914,32.215689],[102.419814,32.215896],[102.418535,32.217087],[102.418141,32.21782],[102.417613,32.218867],[102.417531,32.219554],[102.417815,32.220512],[102.418602,32.221322],[102.419013,32.222177],[102.419167,32.223345],[102.419273,32.223626],[102.419688,32.224732],[102.419912,32.225636],[102.419875,32.226958],[102.420208,32.228394],[102.420318,32.230043],[102.420339,32.230355],[102.420302,32.231677],[102.419766,32.23299],[102.419399,32.233719],[102.419323,32.23387],[102.419239,32.234037],[102.419122,32.234151],[102.418983,32.234286],[102.418831,32.234433],[102.418705,32.234556],[102.418598,32.234659],[102.418473,32.234774],[102.418325,32.23491],[102.418158,32.235063],[102.418007,32.235202],[102.417853,32.235344],[102.41775,32.235438],[102.417639,32.235539],[102.417541,32.235682],[102.417414,32.235866],[102.417309,32.236018],[102.417174,32.236213],[102.417037,32.236412],[102.416916,32.236586],[102.416804,32.236747],[102.416716,32.236876],[102.416665,32.236948],[102.416619,32.237092],[102.416555,32.237289],[102.41649,32.23749],[102.41642,32.237706],[102.416352,32.237915],[102.416279,32.238147],[102.416218,32.238329],[102.416174,32.238463],[102.416143,32.23856],[102.41612,32.238631],[102.416079,32.238774],[102.416052,32.238872],[102.416023,32.238974],[102.415968,32.239168],[102.41593,32.239304],[102.415883,32.239472],[102.415843,32.239614],[102.415806,32.239744],[102.415764,32.239893],[102.415726,32.240027],[102.415704,32.240104],[102.415676,32.240225],[102.41565,32.240335],[102.415608,32.240515],[102.415604,32.240533],[102.415577,32.240649],[102.415572,32.240669],[102.415551,32.240761],[102.415533,32.240835],[102.415506,32.240951],[102.415421,32.241316],[102.41539,32.241667],[102.415384,32.241737],[102.415376,32.241816],[102.415371,32.241877],[102.415364,32.241956],[102.415355,32.242057],[102.415347,32.242148],[102.415337,32.242266],[102.415325,32.242392],[102.415315,32.242508],[102.415303,32.242639],[102.415292,32.242763],[102.41528,32.242898],[102.415269,32.243022],[102.415259,32.243138],[102.41525,32.24324],[102.415243,32.243317],[102.415238,32.243376],[102.415229,32.243481],[102.415221,32.243576],[102.415209,32.243711],[102.415202,32.24379],[102.415198,32.243836],[102.415192,32.243905],[102.415187,32.243961],[102.415181,32.244025],[102.415175,32.244101],[102.415166,32.2442],[102.415158,32.24429],[102.415152,32.244359],[102.415148,32.244403],[102.415146,32.244433],[102.415142,32.244446],[102.415129,32.244497],[102.415114,32.244559],[102.415101,32.244609],[102.415088,32.244659],[102.415068,32.244738],[102.41505,32.244809],[102.415031,32.24488],[102.415018,32.244933],[102.415006,32.244978],[102.414985,32.24506],[102.414936,32.245253],[102.414889,32.245437],[102.414839,32.245634],[102.414796,32.245802],[102.414757,32.246127],[102.414722,32.246418],[102.414686,32.246721],[102.414657,32.246967],[102.414632,32.247174],[102.414652,32.247353],[102.414679,32.247592],[102.414703,32.247831],[102.414724,32.248002],[102.414739,32.248127],[102.414747,32.248199],[102.41477,32.2484],[102.414781,32.248501],[102.414838,32.248624],[102.414938,32.248818],[102.415024,32.249023],[102.415075,32.249142],[102.415078,32.249232],[102.415083,32.249368],[102.415087,32.249517],[102.415093,32.249679],[102.415097,32.249807],[102.415101,32.24994],[102.415105,32.250051],[102.415108,32.250148],[102.415112,32.250244],[102.415114,32.250319],[102.415117,32.250437],[102.415122,32.250547],[102.415126,32.250681],[102.415131,32.250786],[102.415135,32.2509],[102.415139,32.251002],[102.415141,32.251063],[102.415155,32.251458],[102.415166,32.251793],[102.415178,32.252108],[102.415206,32.252674],[102.415223,32.253017],[102.415242,32.253404],[102.415257,32.253697],[102.415391,32.254232],[102.415461,32.254511],[102.415537,32.254814],[102.415592,32.255207],[102.415631,32.255493],[102.415692,32.255929],[102.415758,32.256703],[102.415802,32.257217],[102.415832,32.257572],[102.415819,32.258033],[102.415811,32.258313],[102.415796,32.258842],[102.415904,32.259139],[102.416011,32.259436],[102.416096,32.259672],[102.416143,32.259802],[102.416492,32.260656],[102.416699,32.261108],[102.416786,32.261297],[102.41745,32.262051],[102.417453,32.262056],[102.417456,32.26206],[102.418229,32.263126],[102.419002,32.264412],[102.419549,32.264922],[102.420045,32.265385],[102.420277,32.265602],[102.420628,32.266403],[102.420724,32.267411],[102.420893,32.268049],[102.42177,32.267856],[102.421921,32.267703],[102.422059,32.267564],[102.422254,32.267366],[102.422484,32.267134],[102.422632,32.266984],[102.422796,32.266818],[102.423073,32.266688],[102.423305,32.26658],[102.423554,32.266463],[102.423829,32.26643],[102.424033,32.266405],[102.424304,32.266372],[102.424513,32.266241],[102.424673,32.26614],[102.424874,32.266014],[102.425064,32.265896],[102.425256,32.265777],[102.425453,32.265654],[102.425699,32.265501],[102.425892,32.265442],[102.426128,32.265369],[102.42637,32.265294],[102.426658,32.265204],[102.426934,32.265119],[102.427144,32.265054],[102.427291,32.265031],[102.427519,32.264995],[102.42776,32.264957],[102.427928,32.264931],[102.428111,32.264902],[102.428333,32.264867],[102.42863,32.26474],[102.428911,32.264616],[102.429196,32.264492],[102.429491,32.264364],[102.429622,32.264307],[102.429846,32.26421],[102.430032,32.26414],[102.430244,32.264061],[102.43055,32.263945],[102.430749,32.263871],[102.430917,32.263808],[102.431113,32.26361],[102.431173,32.263549],[102.431296,32.263705],[102.431401,32.263838],[102.431545,32.264019],[102.431713,32.264233],[102.431843,32.2644],[102.431988,32.264584],[102.432121,32.264754],[102.432211,32.264868],[102.432316,32.265001],[102.432429,32.265219],[102.432531,32.265416],[102.43262,32.265584],[102.432709,32.265757],[102.432788,32.26591],[102.432849,32.266061],[102.432896,32.266178],[102.432961,32.26634],[102.433007,32.266472],[102.433073,32.266629],[102.433139,32.266782],[102.433196,32.266924],[102.433317,32.267488],[102.433452,32.268119],[102.433526,32.268466],[102.433464,32.270687],[102.433592,32.272754],[102.433659,32.274819],[102.433249,32.276081],[102.432833,32.277608],[102.432394,32.27852],[102.432357,32.278597],[102.432303,32.278708],[102.432511,32.280194],[102.432974,32.281421],[102.432813,32.282741],[102.432327,32.283519],[102.43216,32.283786],[102.431994,32.28392],[102.431586,32.284251],[102.431242,32.285408],[102.430894,32.286724],[102.430842,32.286793],[102.430826,32.286815],[102.430739,32.286932],[102.430652,32.287048],[102.430642,32.287061],[102.430613,32.2871],[102.430585,32.287138],[102.43056,32.287172],[102.430546,32.28719],[102.430116,32.287767],[102.429922,32.287892],[102.429164,32.288382],[102.428583,32.289111],[102.428442,32.289646],[102.428394,32.289825],[102.428025,32.291217],[102.427678,32.29248],[102.427089,32.293474],[102.426431,32.29473],[102.425946,32.295245],[102.425403,32.295821],[102.424268,32.296274],[102.423392,32.296415],[102.422145,32.29657],[102.421203,32.296688],[102.419915,32.296739],[102.419457,32.296758],[102.418769,32.296758],[102.41684,32.296757],[102.414842,32.296875],[102.414055,32.29669],[102.413604,32.296585],[102.413298,32.296535],[102.412283,32.296866],[102.412026,32.29686],[102.410568,32.29683],[102.410499,32.296826],[102.409512,32.296756],[102.40948,32.296754],[102.408561,32.296689],[102.407203,32.296611],[102.406307,32.296894],[102.406286,32.297647],[102.406432,32.298755],[102.406342,32.299808],[102.406341,32.299853],[102.406337,32.299987],[102.406333,32.300126],[102.40633,32.300231],[102.406325,32.300416],[102.406319,32.300652],[102.406314,32.300817],[102.406309,32.300995],[102.406304,32.301146],[102.4063,32.301298],[102.406323,32.301464],[102.406345,32.301622],[102.406373,32.301825],[102.406403,32.30204],[102.40643,32.302229],[102.406446,32.302345],[102.406478,32.302577],[102.406507,32.302783],[102.406534,32.302981],[102.406562,32.303179],[102.406563,32.303396],[102.406563,32.303463],[102.406564,32.303568],[102.406565,32.303804],[102.406566,32.304044],[102.406566,32.304154],[102.406566,32.304193],[102.406567,32.304287],[102.406568,32.304556],[102.406569,32.304796],[102.406569,32.304863],[102.40657,32.305096],[102.406571,32.305289],[102.406571,32.305404],[102.406572,32.305591],[102.406572,32.305719],[102.406573,32.305983],[102.406573,32.306104],[102.406573,32.30611],[102.406573,32.306147],[102.406578,32.308137],[102.406479,32.308814],[102.406383,32.309472],[102.406189,32.310741],[102.405829,32.312275],[102.405008,32.313397],[102.403697,32.315111],[102.402707,32.316632],[102.401858,32.318758],[102.401741,32.320095],[102.401235,32.321224],[102.400807,32.322453],[102.400633,32.322953],[102.400456,32.324518],[102.400363,32.32534],[102.400234,32.326324],[102.399947,32.327518],[102.399466,32.33021],[102.399234,32.333035],[102.399008,32.335154],[102.397563,32.334466],[102.396598,32.334668],[102.395766,32.334799],[102.394551,32.334625],[102.393033,32.334372],[102.392014,32.33424],[102.391188,32.334133],[102.390993,32.334108],[102.389526,32.333597],[102.389072,32.333468],[102.388925,32.333294],[102.388894,32.332607],[102.389149,32.332155],[102.389373,32.331759],[102.389392,32.331457],[102.389464,32.330346],[102.389487,32.329532],[102.389525,32.329151],[102.389561,32.328778],[102.38963,32.328077],[102.389636,32.328009],[102.389704,32.327264],[102.389165,32.326696],[102.388519,32.326339],[102.388387,32.326332],[102.388139,32.326319],[102.387743,32.326298],[102.387649,32.326293],[102.387618,32.326291],[102.387208,32.326269],[102.386572,32.326499],[102.386085,32.326675],[102.386012,32.326709],[102.385369,32.327003],[102.385102,32.32711],[102.385082,32.327118],[102.384819,32.327222],[102.38475,32.32725],[102.384245,32.327451],[102.383216,32.328116],[102.382758,32.32835],[102.382698,32.328381],[102.382502,32.328481],[102.382162,32.328655],[102.382089,32.328693],[102.381887,32.328856],[102.381861,32.328876],[102.381055,32.329529],[102.380272,32.330413],[102.37984,32.33139],[102.378605,32.332179],[102.377477,32.332756],[102.376519,32.332736],[102.37576,32.332763],[102.375252,32.332881],[102.375032,32.33349],[102.376298,32.334395],[102.376631,32.334957],[102.376615,32.335512],[102.376028,32.336203],[102.375079,32.337367],[102.373813,32.338969],[102.372799,32.340872],[102.372027,32.341928],[102.371335,32.343283],[102.370191,32.345146],[102.369589,32.346355],[102.369292,32.347606],[102.368694,32.348667],[102.367972,32.34954],[102.367472,32.350232],[102.366066,32.35061],[102.364567,32.351208],[102.363549,32.351741],[102.362957,32.352617],[102.362371,32.353271],[102.362164,32.353634],[102.361683,32.354477],[102.361414,32.35621],[102.361379,32.357431],[102.36127,32.358168],[102.361199,32.359129],[102.361068,32.360643],[102.36063,32.363705],[102.360385,32.364625],[102.360052,32.36558],[102.359888,32.366723],[102.359798,32.368312],[102.35968,32.369383],[102.35931,32.370115],[102.358235,32.371091],[102.357558,32.371891],[102.356533,32.372647],[102.355159,32.373432],[102.354258,32.374412],[102.354239,32.375077],[102.354044,32.375776],[102.353752,32.376806],[102.353545,32.377949],[102.353004,32.378529],[102.352253,32.378883],[102.351855,32.37906],[102.350881,32.379595],[102.351449,32.381049],[102.351995,32.383244],[102.352552,32.385068],[102.352564,32.386142],[102.352579,32.387141],[102.352677,32.387444],[102.353236,32.389172],[102.353459,32.38986],[102.353635,32.39127],[102.354038,32.392425],[102.354352,32.393616],[102.355108,32.394594],[102.355089,32.395259],[102.35438,32.397131],[102.352698,32.399464],[102.351006,32.400686],[102.349568,32.402136],[102.34617,32.407947],[102.345785,32.408491],[102.345772,32.408509],[102.345373,32.409072],[102.3453,32.409175],[102.345289,32.40919],[102.345283,32.409199],[102.345215,32.409296],[102.344227,32.410274],[102.343993,32.410485],[102.342031,32.412263],[102.338886,32.415163],[102.337247,32.416674],[102.33675,32.417132],[102.336709,32.417169],[102.336699,32.417179],[102.336666,32.417209],[102.336623,32.417249],[102.336616,32.417255],[102.336462,32.417397],[102.336382,32.417471],[102.335594,32.417565],[102.334971,32.417589],[102.334328,32.417613],[102.332497,32.417574],[102.331197,32.417287],[102.330141,32.417065],[102.329636,32.416958],[102.327275,32.415687],[102.326135,32.415885],[102.324757,32.416781],[102.323692,32.417387],[102.322646,32.417365],[102.321596,32.417454],[102.320608,32.416952],[102.319248,32.417219],[102.319057,32.41777],[102.31871,32.419168],[102.318842,32.420614],[102.318847,32.420988],[102.318856,32.421613],[102.319034,32.422949],[102.319457,32.426362],[102.319588,32.427807],[102.319737,32.428699],[102.319935,32.429369],[102.320371,32.430858],[102.320451,32.432562],[102.320407,32.434041],[102.320707,32.435712],[102.32075,32.437193],[102.32067,32.438412],[102.320417,32.43959],[102.32037,32.44118],[102.320409,32.442809],[102.320434,32.444918],[102.32067,32.445774],[102.321341,32.446714],[102.321883,32.447539],[102.322678,32.448703],[102.323044,32.449599],[102.325506,32.454868],[102.326407,32.456885],[102.326497,32.458256],[102.32624,32.459545],[102.325773,32.460608],[102.325561,32.461861],[102.325074,32.463553],[102.325061,32.465477],[102.324895,32.466657],[102.324727,32.467911],[102.32456,32.469129],[102.324606,32.470535],[102.324006,32.471633],[102.323588,32.472475],[102.322209,32.47337],[102.321372,32.473611],[102.320272,32.473921],[102.318993,32.474375],[102.317894,32.47461],[102.316193,32.474574],[102.314795,32.474618],[102.314213,32.475123],[102.313725,32.475775],[102.313395,32.476216],[102.313131,32.476667],[102.312199,32.478262],[102.311323,32.479834],[102.311219,32.480334],[102.310916,32.481787],[102.311089,32.483307],[102.311673,32.484208],[102.311739,32.4847],[102.311816,32.485284],[102.31153,32.486092],[102.31063,32.486997],[102.309694,32.487643],[102.308793,32.488586],[102.308286,32.4895],[102.307999,32.490345],[102.307839,32.491304],[102.307815,32.492117],[102.308133,32.49316],[102.308318,32.494274],[102.30869,32.494985],[102.308679,32.495343],[102.308664,32.495872],[102.308633,32.496907],[102.308369,32.49715],[102.308319,32.497197],[102.308144,32.49723],[102.30744,32.497363],[102.307147,32.49745],[102.30559,32.497915],[102.304271,32.498257],[102.303308,32.49831],[102.301595,32.49868],[102.300504,32.498657],[102.300373,32.498609],[102.300303,32.498583],[102.299338,32.498225],[102.298297,32.498018],[102.297387,32.497776],[102.296037,32.497673],[102.295037,32.497541],[102.293911,32.49722],[102.292726,32.497454],[102.292101,32.497884],[102.291871,32.498286],[102.29189,32.499101],[102.291976,32.50062],[102.291887,32.502135],[102.291637,32.503202],[102.291601,32.503375],[102.291597,32.503393],[102.291505,32.503833],[102.29147,32.503999],[102.291382,32.504418],[102.290941,32.506036],[102.290556,32.507212],[102.290392,32.508318],[102.290603,32.510025],[102.29064,32.511691],[102.290391,32.512721],[102.29019,32.513605],[102.289346,32.515511],[102.288597,32.517196],[102.288122,32.517988],[102.287869,32.518673],[102.287337,32.518908],[102.286228,32.519032],[102.284592,32.519194],[102.283165,32.519536],[102.282892,32.519601],[102.281662,32.519821],[102.280661,32.520194],[102.280417,32.5203],[102.280201,32.520393],[102.280189,32.520398],[102.279632,32.520638],[102.279246,32.520805],[102.278934,32.521489],[102.278447,32.522401],[102.277761,32.523683],[102.277274,32.524758],[102.277244,32.524826],[102.277143,32.525049],[102.277014,32.525018],[102.276779,32.524961],[102.276544,32.524904],[102.27631,32.524846],[102.276075,32.524789],[102.275857,32.52472],[102.275639,32.524651],[102.275299,32.52453],[102.275037,32.524347],[102.274816,32.524082],[102.274802,32.52406],[102.274785,32.524033],[102.27465,32.523819],[102.274563,32.523527],[102.274535,32.523284],[102.274531,32.523251],[102.274517,32.523138],[102.274515,32.523108],[102.274514,32.523097],[102.274505,32.522976],[102.274553,32.522872],[102.274604,32.522763],[102.274627,32.522713],[102.274749,32.522451],[102.27489,32.522227],[102.274992,32.522052],[102.274988,32.522033],[102.274974,32.52197],[102.27492,32.521911],[102.274887,32.521875],[102.274809,32.521789],[102.274619,32.521705],[102.274498,32.52168],[102.274354,32.52165],[102.274185,32.521646],[102.274086,32.521644],[102.273972,32.521641],[102.273945,32.52164],[102.273685,32.521627],[102.273398,32.521613],[102.273015,32.521516],[102.27298,32.521506],[102.272871,32.521439],[102.272714,32.521341],[102.272665,32.52131],[102.272604,32.521273],[102.272433,32.521087],[102.272345,32.520991],[102.272162,32.520727],[102.271881,32.520495],[102.2716,32.520327],[102.271536,32.5203],[102.271419,32.52025],[102.271333,32.520214],[102.271306,32.520202],[102.271279,32.520191],[102.271266,32.520188],[102.27088,32.520102],[102.270641,32.520104],[102.270403,32.520107],[102.270124,32.520142],[102.269985,32.520159],[102.269845,32.520177],[102.269719,32.520168],[102.26968,32.520165],[102.2695,32.520152],[102.269215,32.520099],[102.268971,32.519948],[102.268958,32.519931],[102.268931,32.519895],[102.268903,32.519857],[102.268713,32.519601],[102.268591,32.519445],[102.268569,32.519417],[102.268556,32.5194],[102.268475,32.519297],[102.268456,32.519273],[102.268363,32.519104],[102.268242,32.518884],[102.268083,32.518596],[102.268068,32.518568],[102.268027,32.518495],[102.267986,32.51842],[102.267813,32.518106],[102.267707,32.517914],[102.267599,32.517717],[102.267445,32.517468],[102.267417,32.517423],[102.267269,32.517226],[102.267177,32.517127],[102.267019,32.517056],[102.266987,32.517041],[102.26689,32.517035],[102.266644,32.517018],[102.266565,32.517012],[102.266367,32.516998],[102.266319,32.516995],[102.26613,32.51691],[102.265982,32.51676],[102.265873,32.516548],[102.265846,32.516223],[102.265853,32.515964],[102.26592,32.515658],[102.265986,32.515353],[102.266042,32.515195],[102.266049,32.515177],[102.266072,32.515048],[102.266122,32.514677],[102.266013,32.514495],[102.265967,32.514459],[102.265938,32.514437],[102.265863,32.514378],[102.265843,32.514363],[102.265829,32.514356],[102.265524,32.514209],[102.265145,32.514023],[102.264943,32.513842],[102.264759,32.513594],[102.26463,32.513381],[102.264601,32.513044],[102.264572,32.512706],[102.264564,32.512342],[102.264564,32.512341],[102.264562,32.512254],[102.264561,32.512191],[102.264558,32.512084],[102.264557,32.51201],[102.264556,32.511978],[102.264542,32.511781],[102.264535,32.511685],[102.264529,32.511604],[102.264423,32.511328],[102.264391,32.511291],[102.26438,32.511278],[102.264308,32.511196],[102.264219,32.511096],[102.264206,32.511081],[102.2642,32.511073],[102.264173,32.511041],[102.264145,32.511008],[102.264035,32.510876],[102.263985,32.510817],[102.263944,32.510767],[102.263917,32.510743],[102.263897,32.510726],[102.263744,32.51059],[102.263644,32.510502],[102.263581,32.510464],[102.263525,32.510431],[102.263363,32.510333],[102.263221,32.510303],[102.263191,32.510297],[102.263105,32.510295],[102.263045,32.510294],[102.26302,32.510294],[102.262713,32.510303],[102.262465,32.510395],[102.262424,32.51041],[102.262381,32.510443],[102.262272,32.510524],[102.262227,32.510558],[102.262141,32.510622],[102.26211,32.510645],[102.262074,32.510672],[102.261757,32.510913],[102.261519,32.511073],[102.26149,32.511092],[102.261406,32.511148],[102.261268,32.511221],[102.26123,32.511242],[102.261069,32.511285],[102.261006,32.511302],[102.260951,32.511316],[102.260909,32.511328],[102.26085,32.511343],[102.260794,32.511358],[102.260671,32.511391],[102.260385,32.511445],[102.26027,32.511466],[102.260128,32.511493],[102.259869,32.511541],[102.259798,32.511556],[102.259764,32.511563],[102.259715,32.511573],[102.259562,32.511606],[102.259429,32.511666],[102.25942,32.511671],[102.259378,32.51169],[102.259329,32.511712],[102.259096,32.511819],[102.258952,32.511885],[102.258914,32.511902],[102.258876,32.51192],[102.258863,32.511926],[102.258699,32.512001],[102.258629,32.512032],[102.258391,32.512086],[102.258301,32.512106],[102.258153,32.51214],[102.258097,32.512144],[102.257916,32.512158],[102.257678,32.512177],[102.257343,32.512216],[102.257006,32.512303],[102.256693,32.512556],[102.256596,32.512904],[102.256523,32.513161],[102.256498,32.513251],[102.256349,32.513602],[102.256259,32.513811],[102.256169,32.514021],[102.255982,32.514205],[102.255796,32.514389],[102.255623,32.514562],[102.255451,32.514735],[102.255306,32.514932],[102.255161,32.51513],[102.254807,32.51531],[102.254454,32.515491],[102.254177,32.515462],[102.25393,32.515339],[102.253742,32.515123],[102.25361,32.514861],[102.253524,32.514484],[102.253438,32.514108],[102.253385,32.513706],[102.253332,32.513305],[102.25328,32.512903],[102.25327,32.512677],[102.25326,32.512451],[102.25325,32.512225],[102.25324,32.511999],[102.25323,32.511772],[102.25322,32.511546],[102.253211,32.51132],[102.253201,32.511094],[102.253191,32.510867],[102.253181,32.510641],[102.25318,32.510373],[102.25318,32.510106],[102.253179,32.509838],[102.253178,32.50957],[102.253178,32.509303],[102.253177,32.509035],[102.253176,32.508767],[102.253175,32.5085],[102.253175,32.508232],[102.253174,32.507964],[102.253173,32.507696],[102.253173,32.507429],[102.253172,32.507161],[102.253171,32.506893],[102.253171,32.506626],[102.25317,32.506358],[102.253154,32.50612],[102.253138,32.505882],[102.253122,32.505645],[102.253106,32.505407],[102.25309,32.505169],[102.253074,32.504931],[102.253058,32.504694],[102.253042,32.504456],[102.253026,32.504218],[102.25301,32.503981],[102.252994,32.503743],[102.252978,32.503505],[102.25293,32.503249],[102.252882,32.502993],[102.252834,32.502737],[102.252786,32.50248],[102.252738,32.502224],[102.252691,32.501968],[102.252605,32.501755],[102.25252,32.501542],[102.252435,32.501328],[102.25235,32.501115],[102.252265,32.500902],[102.252179,32.500688],[102.252094,32.500475],[102.252009,32.500262],[102.25194,32.500117],[102.251924,32.500082],[102.251843,32.499911],[102.251745,32.499705],[102.251647,32.499499],[102.25155,32.499293],[102.251452,32.499088],[102.251355,32.498882],[102.251263,32.498536],[102.251172,32.49819],[102.25111,32.497955],[102.251048,32.49772],[102.250987,32.497485],[102.250925,32.497251],[102.250863,32.497016],[102.250801,32.496781],[102.250739,32.496547],[102.250677,32.496312],[102.250615,32.496077],[102.250554,32.495842],[102.250492,32.495608],[102.25043,32.495373],[102.250368,32.495138],[102.250306,32.494904],[102.250179,32.494548],[102.250121,32.494388],[102.250051,32.494192],[102.249838,32.493833],[102.249649,32.493642],[102.249348,32.493493],[102.24896,32.493415],[102.248703,32.493409],[102.248446,32.493403],[102.248189,32.493397],[102.247931,32.493392],[102.247666,32.493421],[102.247402,32.49345],[102.247136,32.49348],[102.246871,32.493509],[102.246501,32.49376],[102.246132,32.494011],[102.245762,32.494262],[102.245711,32.494302],[102.245563,32.494415],[102.245363,32.494568],[102.245164,32.49472],[102.244965,32.494873],[102.244765,32.495025],[102.244566,32.495178],[102.244366,32.49533],[102.244167,32.495483],[102.243968,32.495635],[102.243768,32.495788],[102.243569,32.495941],[102.24337,32.496093],[102.243205,32.496252],[102.24304,32.49641],[102.242875,32.496568],[102.24271,32.496727],[102.242545,32.496885],[102.24238,32.497043],[102.242215,32.497202],[102.24205,32.49736],[102.241891,32.497565],[102.241731,32.497771],[102.241572,32.497976],[102.241413,32.498182],[102.241253,32.498387],[102.241176,32.498487],[102.241094,32.498593],[102.240934,32.498798],[102.240775,32.499004],[102.24077,32.499014],[102.240604,32.499375],[102.240433,32.499746],[102.240262,32.500117],[102.240142,32.500378],[102.24003,32.500582],[102.239918,32.500787],[102.239806,32.500992],[102.239694,32.501197],[102.239582,32.501401],[102.23947,32.501606],[102.239358,32.501811],[102.239246,32.502016],[102.239134,32.50222],[102.239022,32.502425],[102.238908,32.502678],[102.238793,32.50293],[102.238679,32.503183],[102.238565,32.503435],[102.238451,32.503688],[102.238393,32.503815],[102.238336,32.50394],[102.238282,32.50419],[102.238228,32.50444],[102.238174,32.50469],[102.23812,32.504941],[102.238066,32.505191],[102.238011,32.505441],[102.237976,32.505699],[102.23794,32.505957],[102.237934,32.506192],[102.237927,32.506427],[102.237959,32.506687],[102.237992,32.506947],[102.238086,32.507165],[102.23818,32.507384],[102.238273,32.507603],[102.238367,32.507822],[102.238461,32.508041],[102.238555,32.50826],[102.238649,32.508479],[102.238742,32.508697],[102.238836,32.508916],[102.23893,32.509135],[102.238986,32.509354],[102.239042,32.509574],[102.239099,32.509793],[102.239155,32.510012],[102.239199,32.510366],[102.239162,32.510672],[102.239042,32.510975],[102.238808,32.5113],[102.238636,32.511473],[102.238464,32.511646],[102.238175,32.511968],[102.237945,32.512246],[102.237826,32.512491],[102.237707,32.512736],[102.237615,32.513016],[102.237608,32.513257],[102.237605,32.513345],[102.237595,32.513674],[102.237694,32.514077],[102.237727,32.514337],[102.237761,32.514597],[102.237753,32.514867],[102.237744,32.515138],[102.237706,32.515514],[102.237615,32.515723],[102.237493,32.516074],[102.237432,32.516293],[102.23737,32.516512],[102.237383,32.516655],[102.237401,32.516853],[102.237433,32.517195],[102.237437,32.517501],[102.237442,32.517807],[102.237442,32.51792],[102.237443,32.518059],[102.237445,32.51831],[102.237446,32.518561],[102.237448,32.518813],[102.237449,32.519064],[102.237451,32.519315],[102.237508,32.519717],[102.237566,32.520118],[102.237527,32.520447],[102.237489,32.520776],[102.237394,32.521174],[102.237246,32.521453],[102.237099,32.521733],[102.236927,32.522082],[102.236755,32.522431],[102.236583,32.52278],[102.236322,32.523136],[102.23606,32.523491],[102.235799,32.523847],[102.235644,32.52402],[102.23549,32.524193],[102.235335,32.524366],[102.23518,32.524539],[102.235025,32.524712],[102.23487,32.524885],[102.234715,32.525059],[102.234561,32.525232],[102.234394,32.525446],[102.234227,32.52566],[102.23406,32.525874],[102.233893,32.526089],[102.233761,32.526333],[102.233629,32.526577],[102.233452,32.526903],[102.2334,32.527196],[102.233349,32.52749],[102.233335,32.527741],[102.23332,32.527992],[102.233306,32.528244],[102.233292,32.528495],[102.233336,32.528861],[102.23338,32.529227],[102.233342,32.529544],[102.233305,32.529861],[102.233239,32.530201],[102.233174,32.530541],[102.233139,32.530776],[102.233104,32.53101],[102.233047,32.531244],[102.232991,32.531479],[102.23295,32.53165],[102.232935,32.531713],[102.232879,32.531947],[102.232781,32.532192],[102.232683,32.532437],[102.232585,32.532682],[102.232487,32.532927],[102.232425,32.533144],[102.232362,32.533361],[102.2323,32.533578],[102.232238,32.533794],[102.232239,32.534027],[102.23224,32.53426],[102.23224,32.534492],[102.232241,32.534725],[102.232242,32.534958],[102.232242,32.535108],[102.232243,32.53519],[102.232244,32.535423],[102.232244,32.535656],[102.232245,32.535888],[102.232246,32.536121],[102.232205,32.536387],[102.232165,32.536653],[102.232124,32.536919],[102.232083,32.537185],[102.232043,32.537451],[102.232002,32.537717],[102.231908,32.538068],[102.231814,32.538419],[102.231733,32.538601],[102.231679,32.538722],[102.231545,32.539025],[102.231382,32.539328],[102.231219,32.539631],[102.23107,32.539933],[102.23099,32.540097],[102.230922,32.540235],[102.230841,32.540611],[102.23076,32.540986],[102.230695,32.541279],[102.230631,32.541571],[102.230618,32.541704],[102.230609,32.541784],[102.23058,32.542065],[102.230551,32.542346],[102.230566,32.542731],[102.230582,32.543115],[102.230597,32.543499],[102.230716,32.543726],[102.230834,32.543954],[102.23088,32.544262],[102.230842,32.54459],[102.230691,32.544963],[102.230652,32.545011],[102.230431,32.545287],[102.230233,32.545424],[102.230035,32.545561],[102.229751,32.545696],[102.229468,32.545831],[102.229215,32.545919],[102.228962,32.546008],[102.228623,32.546095],[102.228373,32.546112],[102.228234,32.54611],[102.227848,32.545983],[102.227462,32.545857],[102.227227,32.545731],[102.226992,32.545606],[102.226757,32.54548],[102.226523,32.545355],[102.226288,32.545229],[102.226182,32.545173],[102.226053,32.545104],[102.225859,32.54497],[102.225666,32.544836],[102.225472,32.544702],[102.225279,32.544568],[102.225086,32.544435],[102.224892,32.544301],[102.224699,32.544167],[102.224505,32.544033],[102.224312,32.543899],[102.224118,32.543765],[102.223886,32.543629],[102.223653,32.543492],[102.223421,32.543356],[102.223189,32.543219],[102.222956,32.543083],[102.222724,32.542946],[102.222491,32.542809],[102.222259,32.542673],[102.222026,32.542536],[102.221794,32.5424],[102.221562,32.542263],[102.221329,32.542126],[102.221082,32.541955],[102.220835,32.541784],[102.220508,32.541558],[102.220182,32.541332],[102.219855,32.541106],[102.219655,32.540853],[102.219504,32.540664],[102.219489,32.540645],[102.219471,32.540623],[102.219454,32.540601],[102.219242,32.540244],[102.219058,32.539886],[102.218985,32.539579],[102.218913,32.53916],[102.218841,32.538742],[102.21877,32.538323],[102.218698,32.537904],[102.21866,32.537661],[102.218622,32.537419],[102.218585,32.537177],[102.218547,32.536934],[102.218509,32.536692],[102.218471,32.53645],[102.218434,32.536208],[102.218396,32.535965],[102.218379,32.535588],[102.218249,32.535326],[102.218005,32.535062],[102.217814,32.53494],[102.217623,32.534817],[102.217266,32.534717],[102.216987,32.53471],[102.216743,32.53471],[102.2165,32.534711],[102.21634,32.534711],[102.216256,32.534712],[102.216013,32.534712],[102.215614,32.534703],[102.215215,32.534694],[102.214816,32.534686],[102.214383,32.534711],[102.213951,32.534737],[102.213688,32.5348],[102.213425,32.534862],[102.213287,32.534895],[102.213239,32.534906],[102.213172,32.534922],[102.213163,32.534925],[102.213151,32.534927],[102.213123,32.534934],[102.2129,32.534987],[102.212727,32.535028],[102.212638,32.535049],[102.212375,32.535112],[102.212113,32.535174],[102.21185,32.535237],[102.211587,32.535299],[102.211325,32.535361],[102.211063,32.535416],[102.210802,32.535472],[102.21054,32.535527],[102.210279,32.535582],[102.210017,32.535637],[102.209755,32.535692],[102.209494,32.535747],[102.209232,32.535802],[102.209173,32.535814],[102.208971,32.535857],[102.208709,32.535912],[102.208448,32.535967],[102.208291,32.536],[102.208275,32.536004],[102.208186,32.536022],[102.207774,32.53613],[102.20765,32.536163],[102.207552,32.536189],[102.207363,32.536239],[102.206951,32.536347],[102.206559,32.536393],[102.206168,32.53644],[102.205777,32.536486],[102.205771,32.536486],[102.205443,32.536491],[102.205108,32.536495],[102.204873,32.536466],[102.204637,32.536437],[102.204276,32.536406],[102.203859,32.536326],[102.203532,32.536177],[102.203313,32.536054],[102.203126,32.535791],[102.203044,32.535537],[102.202962,32.535283],[102.202879,32.535029],[102.202797,32.534774],[102.202715,32.53452],[102.202633,32.534266],[102.202551,32.534011],[102.202469,32.533757],[102.202387,32.533503],[102.202305,32.533248],[102.202223,32.532994],[102.202141,32.53274],[102.202059,32.532486],[102.201977,32.532231],[102.201895,32.531977],[102.201813,32.531723],[102.201731,32.531468],[102.201648,32.531214],[102.201566,32.53096],[102.201484,32.530706],[102.201402,32.530451],[102.20132,32.530197],[102.201247,32.529978],[102.201173,32.529758],[102.2011,32.529539],[102.201027,32.529319],[102.200953,32.5291],[102.20088,32.52888],[102.200806,32.528661],[102.200733,32.528441],[102.200675,32.528178],[102.200617,32.527915],[102.200559,32.527652],[102.200502,32.527388],[102.200444,32.527125],[102.200386,32.526862],[102.200328,32.526599],[102.20027,32.526335],[102.200253,32.525984],[102.200264,32.525605],[102.200298,32.525419],[102.200359,32.525254],[102.20053,32.525105],[102.200681,32.524974],[102.200689,32.524968],[102.200701,32.524957],[102.200874,32.524808],[102.201046,32.524659],[102.201218,32.524511],[102.20139,32.524362],[102.201563,32.524213],[102.201643,32.524144],[102.201645,32.524143],[102.201735,32.524065],[102.201907,32.523916],[102.201961,32.52387],[102.202079,32.523767],[102.202245,32.523571],[102.202412,32.523374],[102.202578,32.523178],[102.202744,32.522982],[102.202949,32.52268],[102.203069,32.522425],[102.203174,32.522191],[102.203278,32.521957],[102.203345,32.521712],[102.203411,32.521466],[102.203478,32.52122],[102.203545,32.520975],[102.203612,32.520729],[102.203679,32.520483],[102.203745,32.520238],[102.203812,32.519992],[102.203867,32.519552],[102.203922,32.519112],[102.203977,32.518671],[102.204001,32.518481],[102.204001,32.518479],[102.204002,32.518477],[102.204033,32.518231],[102.204031,32.518193],[102.204011,32.517808],[102.203989,32.517385],[102.203967,32.516961],[102.203946,32.516538],[102.203898,32.516278],[102.20385,32.516018],[102.203803,32.515758],[102.203755,32.515498],[102.203666,32.515237],[102.203577,32.514976],[102.20342,32.514643],[102.203318,32.514359],[102.203191,32.513955],[102.203108,32.513694],[102.203025,32.513433],[102.202943,32.513172],[102.20286,32.512911],[102.202851,32.512676],[102.202842,32.512441],[102.202833,32.512206],[102.202824,32.511971],[102.202815,32.511735],[102.202806,32.5115],[102.202797,32.511265],[102.202788,32.51103],[102.202779,32.510795],[102.20277,32.510559],[102.202761,32.510324],[102.202757,32.510228],[102.202752,32.510089],[102.202713,32.509853],[102.202674,32.509616],[102.202634,32.50938],[102.202595,32.509144],[102.202556,32.508907],[102.202517,32.508671],[102.202478,32.508435],[102.202439,32.508198],[102.2024,32.507962],[102.202361,32.507726],[102.202322,32.507489],[102.202282,32.507253],[102.202255,32.506992],[102.202228,32.506731],[102.202201,32.50647],[102.202174,32.506209],[102.202147,32.505948],[102.20212,32.505686],[102.202093,32.505425],[102.202066,32.505164],[102.202039,32.504903],[102.202012,32.504642],[102.201985,32.504381],[102.201958,32.50412],[102.201931,32.503859],[102.201904,32.503598],[102.201877,32.503337],[102.20185,32.503076],[102.201797,32.502674],[102.201744,32.502272],[102.201692,32.50187],[102.201537,32.501514],[102.201376,32.501276],[102.201215,32.501084],[102.201,32.500867],[102.200702,32.500578],[102.200461,32.500219],[102.200418,32.500117],[102.200281,32.499791],[102.200176,32.499577],[102.200072,32.499362],[102.19997,32.499031],[102.199923,32.498765],[102.199876,32.498499],[102.199828,32.498233],[102.199781,32.497968],[102.199731,32.497724],[102.199682,32.49748],[102.199632,32.497237],[102.199582,32.496993],[102.199532,32.496749],[102.199482,32.496506],[102.199387,32.496284],[102.199292,32.496062],[102.199274,32.496021],[102.199197,32.49584],[102.199102,32.495618],[102.199006,32.495396],[102.198989,32.495356],[102.198911,32.495175],[102.198699,32.494863],[102.198535,32.494765],[102.198314,32.49469],[102.198009,32.494685],[102.197618,32.494699],[102.197395,32.494728],[102.197172,32.494758],[102.196907,32.494776],[102.196642,32.494794],[102.196196,32.494807],[102.195751,32.494798],[102.195306,32.494788],[102.195023,32.494782],[102.194862,32.494779],[102.19464,32.494738],[102.194419,32.494697],[102.194032,32.494606],[102.193645,32.494515],[102.193386,32.494419],[102.193127,32.494323],[102.192868,32.494227],[102.192609,32.494131],[102.19235,32.494035],[102.192091,32.493939],[102.191832,32.493843],[102.191572,32.493747],[102.191313,32.493651],[102.191054,32.493555],[102.190795,32.493458],[102.190536,32.493362],[102.190422,32.493317],[102.190407,32.493101],[102.190308,32.49166],[102.190146,32.489163],[102.190196,32.48754],[102.190116,32.484999],[102.190245,32.484007],[102.190247,32.483987],[102.190347,32.483219],[102.190356,32.483147],[102.190431,32.482569],[102.190829,32.48004],[102.191084,32.478285],[102.191362,32.477039],[102.191566,32.475622],[102.191625,32.475014],[102.190869,32.473643],[102.190209,32.473019],[102.190121,32.472689],[102.189816,32.471555],[102.189845,32.470611],[102.189847,32.470541],[102.189853,32.470371],[102.189859,32.468887],[102.189859,32.468882],[102.189841,32.468837],[102.189451,32.467891],[102.189325,32.466805],[102.189001,32.465647],[102.188354,32.464651],[102.187653,32.46406],[102.186502,32.463865],[102.185543,32.463877],[102.184357,32.463512],[102.182871,32.462497],[102.182061,32.461599],[102.181184,32.460259],[102.180516,32.458653],[102.179957,32.457355],[102.178293,32.455659],[102.177609,32.45456],[102.177051,32.453262],[102.177122,32.452248],[102.17725,32.450899],[102.177301,32.450356],[102.177262,32.449069],[102.176963,32.447133],[102.176604,32.445839],[102.176494,32.444245],[102.176729,32.4431],[102.178165,32.440593],[102.178953,32.439629],[102.179582,32.438662],[102.179974,32.437621],[102.180074,32.43698],[102.179828,32.435892],[102.179334,32.435102],[102.179353,32.434493],[102.17904,32.432997],[102.178558,32.431835],[102.177884,32.430398],[102.177654,32.428802],[102.177956,32.428098],[102.17782,32.427317],[102.178134,32.426207],[102.178769,32.42507],[102.179495,32.423529],[102.180289,32.422689],[102.180403,32.422568],[102.181511,32.421577],[102.182488,32.420956],[102.183544,32.420371],[102.184198,32.419877],[102.184373,32.419374],[102.184315,32.418695],[102.183905,32.417738],[102.183051,32.416975],[102.182793,32.416292],[102.182047,32.415903],[102.181391,32.415177],[102.180948,32.414017],[102.180106,32.412881],[102.178906,32.411703],[102.178143,32.41047],[102.177899,32.409269],[102.177831,32.407833],[102.177736,32.403623],[102.177688,32.401566],[102.177022,32.3994],[102.176786,32.397915],[102.176776,32.397853],[102.176769,32.397807],[102.176743,32.397648],[102.17674,32.397624],[102.176606,32.396474],[102.177087,32.395528],[102.177899,32.394769],[102.178099,32.394304],[102.178118,32.394259],[102.178127,32.394237],[102.178067,32.394221],[102.178007,32.394204],[102.177247,32.394002],[102.1769,32.39387],[102.176874,32.39386],[102.176767,32.393819],[102.176719,32.393801],[102.176618,32.393763],[102.176551,32.393737],[102.176434,32.393693],[102.176244,32.393621],[102.176065,32.393549],[102.176002,32.393524],[102.175933,32.393496],[102.175651,32.393383],[102.175632,32.393375],[102.175611,32.393369],[102.175201,32.393203],[102.174777,32.393229],[102.174767,32.393573],[102.174765,32.393624],[102.174763,32.393681],[102.174762,32.393731],[102.174325,32.394187],[102.173881,32.394177],[102.173814,32.394176],[102.173734,32.394174],[102.173727,32.394165],[102.173699,32.394124],[102.173289,32.393519],[102.173214,32.392941],[102.173208,32.39289],[102.173205,32.392866],[102.1732,32.392827],[102.173187,32.392727],[102.173166,32.392559],[102.17316,32.392508],[102.173113,32.392123],[102.173109,32.392091],[102.173102,32.392034],[102.173086,32.3919],[102.172956,32.391882],[102.172826,32.391863],[102.17277,32.391855],[102.172758,32.391853],[102.172497,32.391815],[102.17169,32.391941],[102.170849,32.391778],[102.170823,32.391733],[102.170806,32.391705],[102.170568,32.391306],[102.170609,32.391013],[102.170614,32.390974],[102.170637,32.390813],[102.170642,32.390776],[102.170666,32.3906],[102.170655,32.390583],[102.170641,32.390528],[102.170661,32.390492],[102.170679,32.390479],[102.170687,32.390204],[102.170688,32.390169],[102.1707,32.389803],[102.170631,32.389302],[102.170641,32.389284],[102.170649,32.389249],[102.170643,32.38922],[102.170616,32.389186],[102.170597,32.389047],[102.170133,32.388674],[102.17012,32.388663],[102.170104,32.38866],[102.170087,32.388637],[102.169996,32.388564],[102.169967,32.388471],[102.169955,32.388416],[102.169912,32.388356],[102.169845,32.388303],[102.169816,32.38829],[102.169784,32.388289],[102.169707,32.388312],[102.169688,32.388329],[102.169652,32.388339],[102.16964,32.38834],[102.169601,32.388324],[102.169541,32.388284],[102.169454,32.38823],[102.169358,32.38817],[102.169323,32.388123],[102.169322,32.388089],[102.169369,32.388026],[102.169373,32.388022],[102.169378,32.388018],[102.169383,32.388014],[102.169389,32.388012],[102.169422,32.388],[102.169427,32.387998],[102.169433,32.387997],[102.16944,32.387997],[102.169446,32.387997],[102.169491,32.388002],[102.169525,32.387997],[102.169538,32.387984],[102.169543,32.387957],[102.169489,32.38785],[102.169447,32.387798],[102.169418,32.387779],[102.169411,32.387776],[102.169376,32.387748],[102.169325,32.387735],[102.169262,32.387734],[102.169219,32.387728],[102.169185,32.387711],[102.169162,32.38768],[102.169194,32.387663],[102.169185,32.38761],[102.169195,32.38756],[102.169239,32.387476],[102.169242,32.387471],[102.169289,32.387423],[102.169345,32.387398],[102.169648,32.387353],[102.169878,32.387286],[102.169979,32.387248],[102.169989,32.387242],[102.170015,32.387232],[102.170167,32.387193],[102.170272,32.387137],[102.170298,32.387088],[102.170294,32.387056],[102.17029,32.387052],[102.17026,32.387022],[102.170225,32.387013],[102.170143,32.387018],[102.170072,32.386993],[102.170057,32.386982],[102.170029,32.386963],[102.169999,32.386921],[102.169933,32.386753],[102.169897,32.386712],[102.169867,32.386677],[102.169861,32.386637],[102.169882,32.386604],[102.169927,32.386579],[102.170049,32.386559],[102.170082,32.386548],[102.170127,32.386511],[102.170136,32.386465],[102.170126,32.386438],[102.170088,32.386394],[102.169938,32.386337],[102.169927,32.38633],[102.169856,32.386286],[102.169838,32.386258],[102.16983,32.386195],[102.169857,32.386111],[102.169867,32.386081],[102.169944,32.385946],[102.170015,32.385858],[102.170108,32.385784],[102.170167,32.385569],[102.170209,32.385536],[102.170203,32.3855],[102.170304,32.385444],[102.170333,32.385419],[102.17031,32.385366],[102.170183,32.385245],[102.170178,32.385199],[102.170207,32.385147],[102.170285,32.385077],[102.170356,32.385045],[102.170419,32.385047],[102.170445,32.385062],[102.170474,32.385098],[102.170513,32.385111],[102.170544,32.385112],[102.170576,32.385106],[102.170606,32.385091],[102.170657,32.385033],[102.170657,32.384891],[102.170646,32.384821],[102.170615,32.384752],[102.170517,32.384628],[102.170476,32.384524],[102.170451,32.384503],[102.170284,32.384454],[102.170138,32.384382],[102.170112,32.38436],[102.170101,32.38434],[102.170094,32.384291],[102.170114,32.384232],[102.170167,32.384179],[102.170241,32.384142],[102.170379,32.384108],[102.170453,32.38408],[102.170512,32.384046],[102.170542,32.383997],[102.17057,32.383861],[102.170566,32.383838],[102.17054,32.383806],[102.170477,32.38378],[102.170437,32.383764],[102.170391,32.383721],[102.170312,32.383597],[102.1703,32.383573],[102.170263,32.383499],[102.170254,32.383431],[102.170266,32.383394],[102.170276,32.383384],[102.170305,32.383353],[102.170387,32.383301],[102.17053,32.38324],[102.170601,32.383166],[102.170641,32.383081],[102.170679,32.383003],[102.170783,32.382744],[102.170786,32.38271],[102.17077,32.382669],[102.170709,32.382594],[102.170627,32.382546],[102.170605,32.38254],[102.170571,32.382549],[102.170517,32.382564],[102.170486,32.382573],[102.17044,32.38257],[102.170403,32.382554],[102.170357,32.3825],[102.1703,32.382457],[102.170276,32.382424],[102.170233,32.382311],[102.170224,32.382298],[102.170189,32.382245],[102.170168,32.38223],[102.170129,32.382233],[102.170089,32.382224],[102.170053,32.382187],[102.170029,32.382121],[102.169986,32.382001],[102.16989,32.381849],[102.16989,32.381807],[102.169916,32.381785],[102.169969,32.381775],[102.170082,32.381776],[102.17011,32.38176],[102.170137,32.381729],[102.170151,32.381649],[102.170115,32.381563],[102.170123,32.381548],[102.170155,32.381529],[102.170163,32.381436],[102.170198,32.381417],[102.170226,32.381416],[102.170233,32.381406],[102.170238,32.381368],[102.170219,32.38134],[102.170209,32.381299],[102.17021,32.381261],[102.170223,32.381212],[102.170248,32.381168],[102.170283,32.381133],[102.170324,32.381115],[102.17038,32.38109],[102.17041,32.381035],[102.170411,32.381012],[102.170402,32.380993],[102.170313,32.381027],[102.1703,32.381028],[102.170252,32.381034],[102.170184,32.381022],[102.170136,32.381006],[102.170116,32.380999],[102.170083,32.380965],[102.17008,32.380928],[102.170111,32.380859],[102.170162,32.380814],[102.170226,32.380755],[102.170237,32.380746],[102.170243,32.380706],[102.170228,32.380672],[102.170213,32.380664],[102.170201,32.380664],[102.17019,32.380664],[102.170129,32.380682],[102.170051,32.380736],[102.170031,32.38079],[102.170001,32.380819],[102.169953,32.380838],[102.1699,32.380833],[102.169856,32.380804],[102.169801,32.38073],[102.169573,32.380514],[102.169541,32.380485],[102.169495,32.38043],[102.169498,32.380404],[102.169519,32.380374],[102.169658,32.380312],[102.169811,32.380203],[102.16985,32.380187],[102.16995,32.380176],[102.170017,32.380158],[102.170052,32.380128],[102.170084,32.380069],[102.170071,32.38001],[102.170048,32.379984],[102.170022,32.37997],[102.169991,32.379968],[102.169867,32.380011],[102.169842,32.380008],[102.169812,32.379992],[102.16978,32.379947],[102.169766,32.379849],[102.16978,32.379776],[102.169803,32.379745],[102.169819,32.379736],[102.169856,32.37974],[102.169943,32.37978],[102.16996,32.379769],[102.169959,32.37974],[102.169927,32.379628],[102.169877,32.379541],[102.169876,32.37952],[102.169896,32.379486],[102.169936,32.379464],[102.169967,32.37946],[102.170063,32.379508],[102.170086,32.379494],[102.170108,32.379481],[102.170135,32.379444],[102.170131,32.379421],[102.17007,32.379335],[102.170021,32.379268],[102.170007,32.379205],[102.169968,32.37916],[102.169948,32.379087],[102.169959,32.379055],[102.170025,32.378995],[102.170032,32.378983],[102.170043,32.378964],[102.170037,32.378771],[102.17003,32.378737],[102.170006,32.378733],[102.169923,32.378717],[102.16983,32.378681],[102.169701,32.378599],[102.169569,32.37854],[102.169417,32.378418],[102.169397,32.378371],[102.169415,32.378299],[102.169406,32.378264],[102.169366,32.378216],[102.169267,32.378134],[102.169085,32.377896],[102.169081,32.377878],[102.169089,32.377852],[102.169125,32.377829],[102.169139,32.3778],[102.169133,32.377781],[102.169121,32.377747],[102.169062,32.377678],[102.168867,32.377543],[102.168839,32.377493],[102.16884,32.377462],[102.168878,32.377413],[102.168897,32.377405],[102.168961,32.377401],[102.169013,32.377412],[102.169022,32.377418],[102.169062,32.377442],[102.169078,32.377458],[102.169104,32.377517],[102.169122,32.37754],[102.169204,32.377521],[102.169256,32.377492],[102.16929,32.377458],[102.169309,32.37745],[102.169344,32.377461],[102.169367,32.377481],[102.169384,32.377547],[102.169398,32.377567],[102.169432,32.377562],[102.169476,32.377519],[102.169487,32.377396],[102.169517,32.377365],[102.169554,32.377361],[102.169584,32.377234],[102.169582,32.377135],[102.169595,32.377064],[102.169588,32.377048],[102.169542,32.377018],[102.169533,32.37699],[102.169552,32.376952],[102.16963,32.376884],[102.169643,32.376861],[102.169645,32.376827],[102.169628,32.376779],[102.169601,32.376733],[102.169564,32.37674],[102.169478,32.376734],[102.169433,32.376716],[102.169417,32.376701],[102.169411,32.376683],[102.169481,32.376592],[102.169469,32.376521],[102.169481,32.376482],[102.1695,32.376463],[102.169547,32.376445],[102.169608,32.37645],[102.169641,32.376463],[102.169674,32.376454],[102.169698,32.376419],[102.169706,32.376394],[102.169707,32.376378],[102.16968,32.376327],[102.169689,32.376298],[102.16972,32.376269],[102.169846,32.376197],[102.169828,32.376162],[102.169724,32.376146],[102.169696,32.37613],[102.169658,32.376089],[102.169655,32.376069],[102.169667,32.376042],[102.169731,32.375996],[102.169733,32.37598],[102.169721,32.375955],[102.169675,32.375951],[102.169586,32.375959],[102.169542,32.37595],[102.169503,32.375921],[102.169497,32.375895],[102.169503,32.375863],[102.169532,32.375813],[102.169565,32.375793],[102.169625,32.375792],[102.169772,32.375806],[102.169921,32.375785],[102.169955,32.375757],[102.169956,32.375702],[102.169854,32.375672],[102.1698,32.375635],[102.169758,32.375595],[102.169717,32.375606],[102.169652,32.375662],[102.16963,32.375669],[102.169584,32.375661],[102.169511,32.375609],[102.169506,32.375598],[102.169493,32.375565],[102.169497,32.375535],[102.169524,32.375495],[102.169599,32.375427],[102.169606,32.375396],[102.169599,32.375325],[102.169585,32.375302],[102.169565,32.375289],[102.169513,32.375344],[102.169452,32.375366],[102.169391,32.375347],[102.169348,32.375319],[102.169341,32.375289],[102.169355,32.375259],[102.169486,32.375188],[102.169482,32.375151],[102.169455,32.375089],[102.169419,32.375068],[102.169344,32.375096],[102.169297,32.375159],[102.169256,32.375182],[102.169205,32.375182],[102.169196,32.37518],[102.169121,32.375165],[102.169104,32.375203],[102.169075,32.375271],[102.169071,32.37531],[102.169059,32.37541],[102.169025,32.375441],[102.168996,32.375454],[102.168961,32.375463],[102.168871,32.375464],[102.168844,32.375471],[102.168844,32.375478],[102.16887,32.375496],[102.168879,32.375524],[102.16886,32.37557],[102.168846,32.375582],[102.168803,32.375581],[102.168723,32.375521],[102.168668,32.37546],[102.168653,32.375429],[102.168653,32.375412],[102.168673,32.375396],[102.168711,32.375392],[102.168753,32.375359],[102.168829,32.37521],[102.168866,32.375089],[102.168885,32.375061],[102.168914,32.375041],[102.168949,32.37503],[102.168965,32.375025],[102.168992,32.375016],[102.169014,32.374997],[102.169026,32.374964],[102.169009,32.374825],[102.168987,32.374825],[102.16895,32.374837],[102.168935,32.37485],[102.168904,32.374906],[102.168897,32.374911],[102.168884,32.374919],[102.168843,32.37493],[102.16881,32.374919],[102.168761,32.374876],[102.168681,32.374878],[102.168637,32.374857],[102.168615,32.374837],[102.168604,32.374778],[102.168621,32.37474],[102.168641,32.374718],[102.168654,32.374709],[102.168705,32.374678],[102.168812,32.374645],[102.168822,32.374641],[102.168832,32.374631],[102.168835,32.374604],[102.168821,32.374578],[102.168816,32.374569],[102.168783,32.374539],[102.168764,32.374531],[102.168663,32.374557],[102.168618,32.374552],[102.168539,32.374492],[102.168512,32.374461],[102.168458,32.374334],[102.16839,32.374252],[102.16838,32.374212],[102.168397,32.374181],[102.168432,32.374166],[102.168461,32.374166],[102.168516,32.374192],[102.168546,32.374193],[102.168555,32.374178],[102.168551,32.374145],[102.168525,32.374086],[102.168496,32.374076],[102.168456,32.37408],[102.168365,32.37413],[102.168253,32.374179],[102.168245,32.374181],[102.168218,32.374189],[102.168154,32.374188],[102.168037,32.374152],[102.167963,32.374101],[102.167917,32.374041],[102.167903,32.373986],[102.167914,32.373875],[102.167914,32.373867],[102.167943,32.373783],[102.168012,32.373713],[102.16814,32.373634],[102.168688,32.373499],[102.168792,32.373495],[102.168914,32.373512],[102.168927,32.373507],[102.168953,32.373479],[102.16897,32.373441],[102.168973,32.373364],[102.168894,32.37321],[102.16888,32.373168],[102.168886,32.373145],[102.168963,32.373085],[102.16928,32.372897],[102.1693,32.372875],[102.169316,32.372826],[102.169308,32.372778],[102.169163,32.372715],[102.169156,32.37271],[102.169134,32.372691],[102.169122,32.372671],[102.169106,32.372597],[102.169107,32.372562],[102.169111,32.37248],[102.169065,32.372477],[102.169044,32.372487],[102.169023,32.372497],[102.169001,32.372555],[102.168971,32.372595],[102.168924,32.37263],[102.16885,32.372657],[102.168799,32.372651],[102.168759,32.372618],[102.168746,32.372591],[102.168743,32.372533],[102.16876,32.372475],[102.168781,32.372437],[102.168815,32.372373],[102.168864,32.372323],[102.16898,32.372278],[102.169223,32.372225],[102.169236,32.372212],[102.169231,32.372176],[102.169167,32.372149],[102.169142,32.372129],[102.169121,32.372068],[102.169128,32.372053],[102.169145,32.372039],[102.169276,32.371999],[102.169273,32.371982],[102.16925,32.37195],[102.169142,32.371925],[102.169115,32.371908],[102.169077,32.371883],[102.16905,32.371847],[102.16904,32.371789],[102.169064,32.371659],[102.169127,32.371533],[102.169184,32.37148],[102.169268,32.371455],[102.169289,32.371398],[102.169288,32.371316],[102.169271,32.371268],[102.169229,32.371224],[102.169115,32.371142],[102.169099,32.371108],[102.169103,32.371085],[102.169126,32.371047],[102.1692,32.371021],[102.169204,32.370976],[102.169193,32.370869],[102.169209,32.370821],[102.169226,32.370803],[102.169248,32.370797],[102.169286,32.370803],[102.169328,32.370822],[102.16934,32.370827],[102.169383,32.370867],[102.16947,32.370981],[102.169495,32.370997],[102.169705,32.370998],[102.169759,32.37098],[102.169799,32.370951],[102.169801,32.370894],[102.169781,32.37086],[102.169626,32.370755],[102.169604,32.370733],[102.16956,32.37069],[102.169533,32.37063],[102.169517,32.370542],[102.169484,32.370471],[102.16948,32.370425],[102.169507,32.370358],[102.169547,32.370323],[102.169611,32.370292],[102.169715,32.37028],[102.16974,32.370263],[102.169752,32.370221],[102.169658,32.370152],[102.169651,32.370131],[102.169656,32.370114],[102.169709,32.370051],[102.1698,32.369988],[102.169856,32.369935],[102.169884,32.369886],[102.169914,32.369784],[102.169895,32.369735],[102.169858,32.369687],[102.169718,32.369591],[102.169694,32.369575],[102.169625,32.369514],[102.169594,32.369468],[102.169589,32.369443],[102.169595,32.369384],[102.169619,32.369298],[102.169664,32.36919],[102.169682,32.369114],[102.169684,32.36909],[102.169685,32.369077],[102.169687,32.369057],[102.16969,32.369029],[102.169684,32.368983],[102.169668,32.368941],[102.16961,32.368871],[102.1695,32.368737],[102.169472,32.368669],[102.169462,32.368612],[102.169462,32.368533],[102.169498,32.368414],[102.169514,32.368363],[102.169512,32.368345],[102.169507,32.368289],[102.169487,32.368279],[102.169469,32.368277],[102.169427,32.368274],[102.169356,32.368282],[102.169313,32.368295],[102.169185,32.368357],[102.169178,32.368363],[102.169155,32.368383],[102.169112,32.368441],[102.169072,32.368451],[102.169007,32.368433],[102.168944,32.368372],[102.168881,32.368338],[102.168831,32.368328],[102.168739,32.368364],[102.168687,32.36837],[102.168625,32.368368],[102.168577,32.368347],[102.168541,32.36829],[102.168529,32.368238],[102.168535,32.368194],[102.168552,32.36817],[102.168616,32.368117],[102.168635,32.368045],[102.168637,32.367966],[102.168597,32.36788],[102.168603,32.367816],[102.168652,32.367733],[102.168738,32.367663],[102.168828,32.367566],[102.168907,32.367455],[102.168976,32.367326],[102.169049,32.367237],[102.16907,32.367174],[102.169066,32.367124],[102.169052,32.367089],[102.169023,32.36706],[102.168976,32.367031],[102.168878,32.366994],[102.168829,32.366988],[102.168738,32.366995],[102.168663,32.367001],[102.168645,32.367002],[102.168628,32.366998],[102.168547,32.366978],[102.168504,32.366954],[102.168482,32.366907],[102.168486,32.366788],[102.168464,32.366718],[102.168429,32.3666],[102.168404,32.366558],[102.168381,32.366519],[102.168354,32.36649],[102.168316,32.366464],[102.16831,32.36646],[102.168223,32.366436],[102.168128,32.366436],[102.168047,32.366471],[102.167941,32.366518],[102.1678,32.366549],[102.167746,32.366553],[102.167653,32.36654],[102.167592,32.366519],[102.167567,32.3665],[102.167545,32.366463],[102.167533,32.366374],[102.167542,32.366341],[102.16758,32.366279],[102.167614,32.366242],[102.167694,32.366179],[102.167739,32.366152],[102.167853,32.36611],[102.167907,32.366011],[102.167918,32.365934],[102.167908,32.365912],[102.16788,32.365885],[102.16786,32.365875],[102.167841,32.365877],[102.167735,32.365924],[102.167681,32.365928],[102.167646,32.365909],[102.167593,32.365852],[102.167577,32.365817],[102.167573,32.365776],[102.167581,32.365729],[102.167606,32.36568],[102.167653,32.365625],[102.167709,32.365578],[102.167769,32.365546],[102.167908,32.365525],[102.16797,32.365495],[102.167994,32.365468],[102.168009,32.365413],[102.16801,32.36534],[102.167986,32.365265],[102.167947,32.365194],[102.167919,32.365161],[102.16787,32.365104],[102.167772,32.365021],[102.167707,32.364984],[102.167658,32.364969],[102.167472,32.364956],[102.16735,32.364963],[102.167209,32.364984],[102.167163,32.364995],[102.166876,32.36506],[102.166765,32.365072],[102.166667,32.365059],[102.166609,32.365039],[102.166578,32.365003],[102.166573,32.364939],[102.166597,32.364869],[102.166648,32.364813],[102.166681,32.364791],[102.166729,32.364779],[102.166822,32.36478],[102.166903,32.364768],[102.16695,32.364749],[102.166962,32.364724],[102.166964,32.364696],[102.166967,32.364621],[102.166957,32.364539],[102.166782,32.364058],[102.166783,32.364],[102.166802,32.363901],[102.166824,32.363859],[102.166873,32.36383],[102.167037,32.363758],[102.167562,32.363567],[102.167807,32.363446],[102.167923,32.363402],[102.168021,32.363383],[102.168041,32.363372],[102.168045,32.36336],[102.168038,32.363307],[102.168025,32.363283],[102.168007,32.363276],[102.167879,32.363274],[102.167844,32.363266],[102.167823,32.363252],[102.167804,32.363226],[102.167783,32.363167],[102.167797,32.363124],[102.167846,32.363088],[102.167901,32.363064],[102.168006,32.363051],[102.168024,32.363037],[102.168085,32.362884],[102.168087,32.362825],[102.168063,32.362756],[102.168041,32.362751],[102.167971,32.362762],[102.167942,32.36278],[102.167862,32.362862],[102.16785,32.362873],[102.167823,32.362885],[102.16779,32.362878],[102.16775,32.362837],[102.167732,32.3628],[102.16774,32.362479],[102.167729,32.362436],[102.167687,32.362384],[102.167632,32.362341],[102.167529,32.362277],[102.167496,32.362266],[102.167412,32.36227],[102.167294,32.362299],[102.167195,32.362308],[102.167155,32.362305],[102.167095,32.362286],[102.167039,32.362247],[102.167,32.362201],[102.166941,32.362036],[102.166929,32.361939],[102.166928,32.361931],[102.166935,32.361833],[102.166951,32.361774],[102.167044,32.361546],[102.16708,32.361486],[102.167123,32.361436],[102.167177,32.361399],[102.167272,32.361357],[102.167298,32.361326],[102.167317,32.361267],[102.167291,32.361079],[102.167297,32.361049],[102.167326,32.361023],[102.167403,32.360995],[102.167426,32.360977],[102.16747,32.360919],[102.167508,32.360841],[102.167496,32.360826],[102.167385,32.360805],[102.167338,32.360762],[102.16733,32.360748],[102.167287,32.360669],[102.167272,32.360624],[102.167267,32.360568],[102.167292,32.360491],[102.167299,32.360485],[102.167309,32.360476],[102.16735,32.360467],[102.167423,32.360475],[102.167517,32.360499],[102.167602,32.360483],[102.167647,32.360453],[102.167662,32.360366],[102.167691,32.360307],[102.167718,32.360282],[102.16777,32.360267],[102.16792,32.360263],[102.168093,32.360207],[102.168135,32.3602],[102.168202,32.360208],[102.168329,32.360274],[102.168493,32.360332],[102.16851,32.360305],[102.168508,32.360247],[102.168461,32.360113],[102.168474,32.360055],[102.168509,32.359999],[102.168642,32.359892],[102.168736,32.359758],[102.168799,32.359669],[102.168822,32.359649],[102.168864,32.359632],[102.168892,32.359632],[102.168936,32.359644],[102.168987,32.359679],[102.168999,32.359727],[102.16904,32.359892],[102.169061,32.359925],[102.169095,32.359944],[102.169189,32.359971],[102.169243,32.359977],[102.169269,32.359971],[102.169307,32.359889],[102.169367,32.359825],[102.169426,32.359793],[102.169503,32.359791],[102.169536,32.359783],[102.169587,32.359745],[102.169621,32.359695],[102.169622,32.359654],[102.169549,32.359438],[102.169538,32.359405],[102.169516,32.359272],[102.169517,32.359237],[102.169537,32.359174],[102.169568,32.359126],[102.169593,32.359109],[102.169642,32.359099],[102.169753,32.35911],[102.169807,32.359126],[102.169831,32.359143],[102.169857,32.359184],[102.169867,32.359225],[102.169851,32.359377],[102.169857,32.359439],[102.169873,32.359472],[102.169894,32.359489],[102.169942,32.359512],[102.169963,32.35951],[102.170001,32.359484],[102.170051,32.359416],[102.170156,32.359349],[102.170223,32.359327],[102.170374,32.359304],[102.170404,32.359294],[102.170457,32.359262],[102.170478,32.359236],[102.170481,32.359192],[102.170472,32.359122],[102.170438,32.359024],[102.170367,32.358887],[102.170252,32.358731],[102.17023,32.358661],[102.170225,32.358642],[102.170224,32.358563],[102.170244,32.358498],[102.170265,32.358475],[102.170355,32.358375],[102.170366,32.358344],[102.170345,32.358277],[102.170256,32.358148],[102.170244,32.358132],[102.170225,32.358092],[102.170216,32.357994],[102.170221,32.35798],[102.17024,32.35793],[102.170426,32.357646],[102.170476,32.357598],[102.170529,32.357569],[102.170606,32.35755],[102.170676,32.357546],[102.170732,32.357562],[102.170817,32.357611],[102.170892,32.357643],[102.170912,32.357645],[102.170934,32.357632],[102.170972,32.357586],[102.170984,32.357553],[102.170997,32.357263],[102.171007,32.357212],[102.171047,32.357128],[102.171077,32.357091],[102.171125,32.357076],[102.171192,32.357081],[102.171309,32.357146],[102.171434,32.35719],[102.171486,32.357186],[102.171547,32.357157],[102.171565,32.357122],[102.171563,32.357065],[102.171502,32.356999],[102.171426,32.356954],[102.171401,32.356928],[102.171391,32.356879],[102.171401,32.35683],[102.17142,32.356808],[102.171479,32.35678],[102.17181,32.356693],[102.171849,32.356651],[102.171866,32.356598],[102.171863,32.356548],[102.171841,32.356496],[102.1718,32.356454],[102.171766,32.35645],[102.171642,32.356474],[102.17158,32.35647],[102.171552,32.356468],[102.17146,32.356446],[102.17143,32.356428],[102.171407,32.356401],[102.171391,32.35637],[102.171368,32.356279],[102.171364,32.356163],[102.171326,32.355972],[102.171329,32.355919],[102.171379,32.355773],[102.171372,32.355711],[102.171346,32.355649],[102.171305,32.355599],[102.171261,32.355566],[102.171176,32.355528],[102.171165,32.355509],[102.171164,32.355483],[102.171176,32.355448],[102.171199,32.355432],[102.171342,32.355415],[102.171439,32.355373],[102.171464,32.355352],[102.171473,32.355317],[102.171463,32.355266],[102.171384,32.355181],[102.171353,32.355127],[102.17135,32.355109],[102.171365,32.355086],[102.171395,32.35507],[102.171457,32.355066],[102.17149,32.355063],[102.171511,32.35505],[102.171556,32.354979],[102.171577,32.354915],[102.171573,32.354877],[102.171554,32.354859],[102.171395,32.354777],[102.171339,32.354748],[102.171297,32.354708],[102.171285,32.354639],[102.171312,32.354543],[102.171345,32.354493],[102.171355,32.354479],[102.171411,32.354429],[102.171537,32.354369],[102.171707,32.35433],[102.171785,32.354281],[102.171808,32.354257],[102.171823,32.354223],[102.171821,32.354155],[102.171773,32.354048],[102.171752,32.353948],[102.171753,32.353903],[102.171789,32.353806],[102.171789,32.353776],[102.171707,32.353686],[102.171519,32.353383],[102.1715,32.353331],[102.171509,32.353286],[102.171547,32.353236],[102.171572,32.353229],[102.171601,32.353232],[102.171727,32.353282],[102.171848,32.353345],[102.17193,32.353368],[102.172115,32.353399],[102.172148,32.353398],[102.172199,32.353378],[102.17223,32.353346],[102.172255,32.35327],[102.172272,32.35276],[102.172239,32.352665],[102.172203,32.352624],[102.171834,32.352528],[102.171722,32.352481],[102.171665,32.352448],[102.171626,32.352404],[102.171615,32.352391],[102.171592,32.352337],[102.171589,32.352302],[102.171604,32.35227],[102.171625,32.352249],[102.171706,32.352203],[102.171744,32.352198],[102.171882,32.352205],[102.17191,32.352192],[102.171934,32.352105],[102.171937,32.351919],[102.171954,32.351843],[102.171988,32.351756],[102.172034,32.351672],[102.17206,32.351623],[102.17211,32.351561],[102.172188,32.351504],[102.17226,32.351464],[102.17229,32.351448],[102.172431,32.351391],[102.17254,32.351329],[102.172582,32.351279],[102.172616,32.35121],[102.172634,32.351145],[102.172636,32.351095],[102.172618,32.351045],[102.172566,32.350973],[102.172475,32.350905],[102.172248,32.350737],[102.172169,32.350662],[102.172068,32.350508],[102.171938,32.350361],[102.171902,32.350277],[102.17189,32.350183],[102.171896,32.35013],[102.171907,32.350106],[102.171938,32.350074],[102.172128,32.349964],[102.172167,32.349904],[102.172178,32.349843],[102.172164,32.349765],[102.172113,32.349665],[102.172055,32.349517],[102.171983,32.349425],[102.171968,32.349411],[102.171929,32.349373],[102.171838,32.349308],[102.171786,32.349255],[102.171718,32.349139],[102.171672,32.349019],[102.171662,32.348993],[102.171618,32.348796],[102.17164,32.348765],[102.17171,32.348738],[102.171724,32.348696],[102.171718,32.348673],[102.17165,32.348581],[102.17164,32.348554],[102.171652,32.348522],[102.171697,32.348471],[102.171746,32.348432],[102.171756,32.348413],[102.171764,32.348254],[102.171758,32.348217],[102.17174,32.348176],[102.171713,32.348155],[102.171633,32.348157],[102.171541,32.348193],[102.171371,32.34826],[102.171262,32.348319],[102.171203,32.348334],[102.171121,32.34832],[102.171066,32.348296],[102.171014,32.348252],[102.170998,32.348207],[102.170996,32.34811],[102.171015,32.34806],[102.17103,32.348018],[102.171363,32.34756],[102.171437,32.34743],[102.171526,32.347229],[102.171562,32.347183],[102.171661,32.347055],[102.171671,32.347008],[102.171646,32.346928],[102.171613,32.346894],[102.171548,32.346866],[102.171455,32.346848],[102.171363,32.346853],[102.171288,32.34688],[102.171222,32.346903],[102.171085,32.346999],[102.170982,32.347058],[102.170881,32.347086],[102.170826,32.347085],[102.170787,32.347067],[102.170749,32.347024],[102.170727,32.346989],[102.170699,32.346909],[102.170662,32.346868],[102.170633,32.34686],[102.170465,32.346855],[102.170423,32.346844],[102.170398,32.346828],[102.170357,32.346782],[102.170302,32.346678],[102.170283,32.346606],[102.170278,32.346537],[102.170292,32.346408],[102.170297,32.346357],[102.170314,32.346288],[102.170335,32.34625],[102.170419,32.346185],[102.170425,32.346144],[102.170417,32.346112],[102.170402,32.346079],[102.170368,32.346048],[102.170262,32.345999],[102.170219,32.345971],[102.170143,32.345896],[102.170133,32.345886],[102.170101,32.345842],[102.170068,32.345763],[102.170054,32.345677],[102.169977,32.345398],[102.169974,32.345376],[102.169952,32.345233],[102.169951,32.3451],[102.169938,32.345017],[102.169903,32.344971],[102.169821,32.344921],[102.169747,32.344857],[102.169729,32.344829],[102.169724,32.344802],[102.169742,32.344742],[102.169763,32.344716],[102.169782,32.344693],[102.169965,32.344557],[102.170078,32.344489],[102.170104,32.344464],[102.170152,32.344396],[102.17025,32.344219],[102.170274,32.344147],[102.170278,32.3441],[102.170252,32.34373],[102.170254,32.343703],[102.170259,32.343651],[102.170253,32.343622],[102.170216,32.343578],[102.170178,32.343584],[102.170085,32.343598],[102.170012,32.343584],[102.169974,32.343566],[102.16993,32.343501],[102.16991,32.343487],[102.169867,32.343473],[102.169801,32.34347],[102.169767,32.343456],[102.16974,32.343422],[102.169723,32.343359],[102.169762,32.343222],[102.169716,32.343183],[102.169693,32.34315],[102.169675,32.343113],[102.169662,32.343027],[102.169633,32.343007],[102.169526,32.342982],[102.169483,32.342965],[102.169382,32.342887],[102.16933,32.3428],[102.16923,32.342777],[102.169168,32.342739],[102.169148,32.342717],[102.16913,32.342682],[102.169147,32.342589],[102.169129,32.342545],[102.16912,32.342534],[102.16909,32.342501],[102.169071,32.34248],[102.168939,32.342378],[102.168918,32.342344],[102.168913,32.342304],[102.168926,32.342287],[102.168948,32.342282],[102.169023,32.342288],[102.169045,32.342282],[102.169111,32.342241],[102.169143,32.34219],[102.169152,32.342147],[102.169148,32.341922],[102.169157,32.341827],[102.169187,32.341653],[102.169249,32.341475],[102.169253,32.34139],[102.169245,32.34133],[102.16922,32.341248],[102.169198,32.341218],[102.169086,32.341122],[102.16905,32.341032],[102.169046,32.340959],[102.169058,32.340888],[102.169085,32.340813],[102.169122,32.340771],[102.169123,32.340734],[102.169081,32.340707],[102.168968,32.340699],[102.168851,32.34066],[102.168829,32.34064],[102.16881,32.340624],[102.168806,32.340588],[102.16882,32.340556],[102.168826,32.340541],[102.168871,32.340522],[102.169106,32.340527],[102.169201,32.340517],[102.169203,32.34049],[102.169128,32.340437],[102.169105,32.3404],[102.16909,32.340348],[102.169082,32.340246],[102.169101,32.340141],[102.169179,32.340024],[102.169182,32.340009],[102.169175,32.339999],[102.169129,32.339989],[102.169091,32.339965],[102.169067,32.339937],[102.169059,32.339899],[102.169073,32.339858],[102.169152,32.339809],[102.169191,32.33975],[102.169265,32.339678],[102.169292,32.339627],[102.169296,32.339581],[102.169289,32.339556],[102.169265,32.339532],[102.169148,32.339476],[102.169033,32.339436],[102.169,32.339417],[102.168975,32.339393],[102.168939,32.339325],[102.168927,32.339263],[102.168926,32.339189],[102.168917,32.33916],[102.168877,32.339098],[102.168871,32.339067],[102.16888,32.339004],[102.168917,32.338955],[102.168924,32.338927],[102.168911,32.338904],[102.168854,32.33887],[102.168845,32.338818],[102.16885,32.338779],[102.168877,32.338701],[102.168967,32.338549],[102.168919,32.338527],[102.168826,32.338501],[102.168681,32.33847],[102.168657,32.338453],[102.168625,32.338407],[102.168628,32.33835],[102.168652,32.338305],[102.16863,32.338193],[102.168636,32.338108],[102.168662,32.338085],[102.168706,32.338073],[102.168724,32.338064],[102.16871,32.338046],[102.168695,32.338026],[102.168656,32.337908],[102.168648,32.337886],[102.168599,32.337739],[102.168537,32.33769],[102.168557,32.337613],[102.168535,32.337548],[102.168539,32.337535],[102.168541,32.337528],[102.168541,32.337492],[102.168542,32.337441],[102.168524,32.33739],[102.168534,32.337302],[102.16851,32.337278],[102.16848,32.337268],[102.168447,32.337257],[102.168446,32.33725],[102.168437,32.33722],[102.168431,32.337185],[102.168319,32.336685],[102.167762,32.3361],[102.167753,32.336091],[102.167747,32.336085],[102.167743,32.336079],[102.167643,32.335987],[102.167638,32.335982],[102.167621,32.335966],[102.167556,32.335904],[102.167511,32.335862],[102.167202,32.335569],[102.16714,32.335508],[102.167098,32.335466],[102.167094,32.335462],[102.167046,32.335415],[102.167022,32.335392],[102.166812,32.335183],[102.166782,32.335155],[102.166736,32.335109],[102.166732,32.335105],[102.166719,32.335091],[102.166714,32.335083],[102.166574,32.334914],[102.166537,32.334869],[102.166422,32.334808],[102.166336,32.334723],[102.166258,32.334664],[102.166216,32.334649],[102.166071,32.334624],[102.166032,32.334606],[102.166016,32.334589],[102.165978,32.334479],[102.165947,32.334241],[102.16591,32.334055],[102.165879,32.333994],[102.165787,32.333925],[102.165776,32.333895],[102.165778,32.333851],[102.165755,32.333809],[102.165716,32.333792],[102.165603,32.333798],[102.165537,32.333789],[102.165478,32.333762],[102.165421,32.333701],[102.165355,32.333563],[102.165327,32.333515],[102.165265,32.333494],[102.165103,32.333333],[102.164966,32.333262],[102.164921,32.333151],[102.164927,32.33305],[102.165002,32.332933],[102.164698,32.332057],[102.164263,32.331119],[102.1638,32.330034],[102.163611,32.32884],[102.163562,32.327495],[102.163733,32.326386],[102.163901,32.325966],[102.163923,32.325912],[102.164095,32.325494],[102.164139,32.32538]]]]},"properties":{"cp":[102.26744142868846,32.352994695555495],"code":"513233202","name":"江茸乡","level":"street","center":[102.26744142868846,32.352994695555495],"fullCode":"513233202000","fullName":"四川省阿坝藏族羌族自治州红原县江茸乡","acreageMu":770863.29,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.412,32.3022]}},{"id":"513233203","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[101.851556,32.335369],[101.851603,32.335224],[101.851669,32.335022],[101.851663,32.334903],[101.851614,32.334563],[101.851521,32.334334],[101.851478,32.334227],[101.851405,32.333878],[101.851332,32.333528],[101.851259,32.333178],[101.851185,32.332829],[101.851144,32.33246],[101.851457,32.332486],[101.85148,32.332488],[101.85177,32.332511],[101.852084,32.332537],[101.852316,32.332555],[101.852548,32.332573],[101.852977,32.332573],[101.852993,32.332573],[101.853317,32.332573],[101.853356,32.332573],[101.853407,32.332573],[101.85378,32.332564],[101.854063,32.332557],[101.854153,32.332555],[101.854402,32.332533],[101.854651,32.33251],[101.854901,32.332488],[101.85515,32.332465],[101.855547,32.332423],[101.855795,32.332349],[101.856043,32.332276],[101.856262,32.332211],[101.856481,32.332146],[101.856744,32.332105],[101.857042,32.332009],[101.857208,32.331896],[101.857287,32.331765],[101.857315,32.331718],[101.857565,32.331498],[101.857836,32.331284],[101.858107,32.331069],[101.858386,32.330829],[101.858666,32.330588],[101.858936,32.330341],[101.859207,32.330094],[101.859549,32.329817],[101.859891,32.329541],[101.860097,32.329273],[101.860304,32.329005],[101.86051,32.328738],[101.860703,32.328393],[101.860896,32.328048],[101.861055,32.327724],[101.861214,32.327401],[101.861372,32.327078],[101.861485,32.326798],[101.861497,32.326477],[101.861462,32.326168],[101.861446,32.32603],[101.861427,32.325859],[101.861392,32.32555],[101.861383,32.325361],[101.861373,32.325173],[101.861355,32.324797],[101.861307,32.324438],[101.861258,32.324079],[101.861208,32.323706],[101.861166,32.323448],[101.861125,32.323191],[101.861091,32.32298],[101.861069,32.322844],[101.861069,32.322552],[101.861069,32.32226],[101.861069,32.322238],[101.861065,32.321903],[101.861061,32.321546],[101.861057,32.321189],[101.861035,32.321012],[101.861021,32.320906],[101.860986,32.320624],[101.860983,32.320614],[101.860902,32.320314],[101.860819,32.320088],[101.860575,32.319714],[101.860361,32.319345],[101.860266,32.319035],[101.860135,32.318637],[101.86007,32.318304],[101.860082,32.318054],[101.860195,32.31763],[101.86023,32.317501],[101.860244,32.317407],[101.86029,32.317102],[101.860284,32.316828],[101.860224,32.316537],[101.860135,32.316287],[101.860129,32.31628],[101.859915,32.316049],[101.859713,32.315859],[101.85951,32.315668],[101.859225,32.315484],[101.858939,32.3153],[101.858701,32.314993],[101.858463,32.314687],[101.858324,32.314452],[101.858184,32.314217],[101.857964,32.313842],[101.857809,32.313711],[101.857601,32.313574],[101.857339,32.313271],[101.857317,32.313226],[101.857119,32.312825],[101.856979,32.312498],[101.856839,32.312171],[101.856756,32.311974],[101.856494,32.311742],[101.856218,32.311484],[101.855941,32.311225],[101.855674,32.310993],[101.855561,32.310796],[101.855495,32.310517],[101.85542,32.31019],[101.855345,32.309862],[101.855233,32.309503],[101.855175,32.309208],[101.855117,32.308913],[101.855112,32.30887],[101.855072,32.308494],[101.855026,32.308075],[101.854981,32.307656],[101.854975,32.307599],[101.855007,32.30722],[101.855059,32.306797],[101.855111,32.306373],[101.855144,32.306097],[101.855186,32.305734],[101.855187,32.305722],[101.855227,32.305371],[101.855227,32.30508],[101.855323,32.304788],[101.855388,32.304503],[101.855394,32.304162],[101.8554,32.303821],[101.855406,32.30348],[101.855477,32.303182],[101.855566,32.303033],[101.855627,32.303011],[101.8559,32.302909],[101.85617,32.302888],[101.856441,32.302867],[101.856784,32.302861],[101.857127,32.302855],[101.85747,32.302849],[101.857823,32.302903],[101.858176,32.302956],[101.858529,32.30301],[101.858904,32.303041],[101.859278,32.303072],[101.859653,32.303103],[101.860028,32.303135],[101.860299,32.303152],[101.860569,32.30317],[101.860831,32.30317],[101.861128,32.303111],[101.861541,32.303012],[101.861953,32.302913],[101.862366,32.302813],[101.862586,32.302715],[101.862806,32.302617],[101.863171,32.302379],[101.863181,32.302373],[101.863567,32.302189],[101.863879,32.301945],[101.863936,32.3019],[101.86419,32.301701],[101.864501,32.301457],[101.864739,32.301222],[101.864977,32.300987],[101.865156,32.300821],[101.865215,32.30066],[101.865346,32.300505],[101.865501,32.30038],[101.865685,32.300226],[101.865865,32.300075],[101.86587,32.300071],[101.866045,32.299848],[101.866221,32.299625],[101.86626,32.299547],[101.866362,32.299345],[101.866464,32.299143],[101.866726,32.298863],[101.866905,32.298727],[101.866952,32.298691],[101.867211,32.29853],[101.86747,32.29837],[101.867689,32.298179],[101.867696,32.298173],[101.867868,32.297953],[101.868154,32.297858],[101.868456,32.29773],[101.868758,32.297601],[101.868868,32.297555],[101.869103,32.297498],[101.869338,32.297442],[101.869599,32.297454],[101.869879,32.297507],[101.870254,32.297644],[101.870426,32.297757],[101.870605,32.297888],[101.870878,32.298025],[101.871194,32.298221],[101.871509,32.298417],[101.871765,32.29862],[101.872014,32.298727],[101.872181,32.298858],[101.872294,32.299],[101.872341,32.299096],[101.872354,32.299123],[101.87252,32.299458],[101.872609,32.299643],[101.872764,32.299768],[101.872919,32.299845],[101.873145,32.299994],[101.873341,32.300363],[101.873466,32.300654],[101.873573,32.300785],[101.873674,32.300838],[101.874019,32.301011],[101.874227,32.301124],[101.87437,32.301279],[101.874447,32.301421],[101.874685,32.301552],[101.874914,32.301712],[101.875138,32.301868],[101.875328,32.302028],[101.875447,32.302159],[101.875548,32.30232],[101.875715,32.302534],[101.875881,32.302629],[101.876066,32.302712],[101.876244,32.302867],[101.876345,32.303004],[101.876524,32.303325],[101.876708,32.30345],[101.877047,32.303718],[101.877246,32.303881],[101.877446,32.304045],[101.877719,32.304176],[101.877957,32.304229],[101.878368,32.304271],[101.878689,32.304425],[101.878915,32.304574],[101.879073,32.304833],[101.87923,32.305092],[101.879395,32.305349],[101.879559,32.305607],[101.879724,32.305865],[101.879867,32.306064],[101.88001,32.306263],[101.880064,32.306574],[101.880119,32.306884],[101.880173,32.307194],[101.880364,32.307514],[101.880493,32.307588],[101.880593,32.307747],[101.880879,32.307927],[101.881165,32.308107],[101.881384,32.308246],[101.881604,32.308385],[101.881823,32.308525],[101.882043,32.308664],[101.882262,32.308803],[101.882482,32.308942],[101.882701,32.309081],[101.882921,32.309221],[101.883085,32.309299],[101.883225,32.309366],[101.883529,32.309512],[101.883913,32.309621],[101.884296,32.309731],[101.884638,32.309791],[101.884979,32.309851],[101.885379,32.309842],[101.885778,32.309833],[101.886178,32.309824],[101.886615,32.309735],[101.887052,32.309645],[101.887489,32.309556],[101.887845,32.309464],[101.888211,32.309441],[101.888577,32.309419],[101.889005,32.309352],[101.889374,32.309256],[101.889743,32.30916],[101.890111,32.309064],[101.89048,32.308968],[101.890861,32.30873],[101.891042,32.308663],[101.891185,32.308602],[101.891318,32.308525],[101.891508,32.308383],[101.891675,32.308283],[101.891875,32.308187],[101.892189,32.307997],[101.892431,32.307802],[101.892601,32.307547],[101.892641,32.307488],[101.892769,32.307298],[101.892898,32.307107],[101.893162,32.30681],[101.893426,32.306512],[101.893659,32.306174],[101.89384,32.305951],[101.894064,32.305639],[101.894287,32.305327],[101.894414,32.305132],[101.89454,32.304937],[101.894706,32.304782],[101.894873,32.304628],[101.895096,32.304518],[101.895254,32.30438],[101.895501,32.304119],[101.895748,32.303857],[101.895915,32.303747],[101.89604,32.303692],[101.896077,32.303676],[101.896235,32.303621],[101.89631,32.303595],[101.896472,32.303557],[101.896605,32.303481],[101.896753,32.303338],[101.896848,32.303176],[101.897019,32.302886],[101.897233,32.302624],[101.89724,32.302616],[101.897424,32.302408],[101.897607,32.302199],[101.897652,32.302148],[101.897859,32.301972],[101.898066,32.301796],[101.898223,32.301382],[101.898223,32.301342],[101.898223,32.301101],[101.898214,32.30084],[101.898128,32.300497],[101.898102,32.300327],[101.898071,32.300121],[101.898009,32.299786],[101.897947,32.29945],[101.897947,32.29916],[101.897947,32.299081],[101.897947,32.299012],[101.897999,32.298941],[101.898095,32.298912],[101.89829,32.298974],[101.898499,32.299103],[101.898786,32.299369],[101.899073,32.299636],[101.89936,32.299902],[101.899508,32.299945],[101.899751,32.299945],[101.900041,32.299938],[101.900331,32.299931],[101.900693,32.299893],[101.900883,32.299821],[101.901121,32.299688],[101.901395,32.299476],[101.901478,32.299412],[101.901759,32.299146],[101.902073,32.298931],[101.902335,32.298827],[101.902516,32.298717],[101.902739,32.298413],[101.902925,32.298256],[101.90313,32.297975],[101.903201,32.297813],[101.903268,32.297632],[101.903344,32.297551],[101.903501,32.29747],[101.903701,32.297351],[101.903858,32.29718],[101.903929,32.296956],[101.904062,32.296628],[101.904191,32.296414],[101.904338,32.296304],[101.904552,32.296205],[101.904857,32.296086],[101.905069,32.296005],[101.905281,32.295924],[101.905499,32.295819],[101.90578,32.295629],[101.905946,32.295543],[101.906185,32.295419],[101.90648,32.295317],[101.906775,32.295215],[101.907025,32.295106],[101.907072,32.295077],[101.90728,32.294946],[101.907487,32.294816],[101.907866,32.294579],[101.907979,32.294496],[101.908279,32.29423],[101.908483,32.294058],[101.908626,32.293806],[101.908645,32.29354],[101.908702,32.29334],[101.908821,32.29313],[101.908959,32.293045],[101.909283,32.29294],[101.909468,32.292835],[101.909568,32.292716],[101.909615,32.292525],[101.909615,32.292524],[101.909616,32.292521],[101.909616,32.29235],[101.909616,32.29215],[101.909616,32.292095],[101.909616,32.291998],[101.909702,32.291731],[101.909713,32.291496],[101.909725,32.29126],[101.909678,32.290998],[101.909652,32.29095],[101.909526,32.290708],[101.909506,32.290537],[101.909521,32.290475],[101.90964,32.290399],[101.909863,32.290313],[101.910049,32.290137],[101.910135,32.289866],[101.910163,32.289609],[101.910358,32.289385],[101.910525,32.289295],[101.910756,32.289271],[101.910987,32.289247],[101.911282,32.289289],[101.911577,32.289332],[101.911824,32.289457],[101.912071,32.289581],[101.912393,32.28967],[101.912716,32.289759],[101.913039,32.289848],[101.913326,32.289939],[101.913613,32.29003],[101.913983,32.290168],[101.914353,32.290307],[101.914723,32.290446],[101.915094,32.290585],[101.915464,32.290724],[101.915772,32.290794],[101.91603,32.290852],[101.916287,32.290911],[101.916542,32.29095],[101.916796,32.29099],[101.917051,32.291029],[101.917305,32.291068],[101.917559,32.291108],[101.917697,32.291129],[101.917814,32.291147],[101.918068,32.291186],[101.918323,32.291225],[101.918577,32.291265],[101.918832,32.291304],[101.919086,32.291343],[101.91934,32.291383],[101.919611,32.291419],[101.919883,32.291455],[101.920154,32.291491],[101.920425,32.291527],[101.920696,32.291563],[101.920967,32.2916],[101.921238,32.291636],[101.921509,32.291672],[101.921902,32.291709],[101.922296,32.291747],[101.922689,32.291784],[101.922953,32.291809],[101.923232,32.291802],[101.923511,32.291796],[101.923583,32.291784],[101.923989,32.291717],[101.924225,32.291575],[101.92446,32.291434],[101.924653,32.291226],[101.924685,32.291191],[101.924846,32.291017],[101.925006,32.290796],[101.925166,32.290574],[101.925326,32.290352],[101.925486,32.29013],[101.925578,32.290002],[101.925578,32.290002],[101.925646,32.289909],[101.925806,32.289687],[101.925966,32.289465],[101.926126,32.289243],[101.926267,32.289028],[101.926407,32.288812],[101.926547,32.288596],[101.926688,32.28838],[101.926828,32.288164],[101.926968,32.287948],[101.927253,32.287662],[101.927278,32.287636],[101.927555,32.287526],[101.927993,32.287518],[101.928276,32.287613],[101.928559,32.287708],[101.928751,32.287829],[101.928942,32.28795],[101.929072,32.288032],[101.929294,32.288119],[101.929672,32.288362],[101.930051,32.288605],[101.930261,32.288744],[101.930471,32.288884],[101.930531,32.288923],[101.93076,32.289047],[101.930988,32.289171],[101.931301,32.289368],[101.931342,32.289391],[101.931559,32.289508],[101.931775,32.289626],[101.931991,32.289744],[101.932208,32.289862],[101.932383,32.289958],[101.932744,32.290094],[101.933011,32.290204],[101.933244,32.290354],[101.933477,32.290505],[101.933689,32.290642],[101.933901,32.290779],[101.933912,32.290784],[101.934043,32.290832],[101.934172,32.29086],[101.934539,32.290932],[101.934906,32.291003],[101.935328,32.29115],[101.935696,32.291249],[101.936063,32.291349],[101.93643,32.291448],[101.936868,32.291459],[101.937305,32.29147],[101.937662,32.291385],[101.938018,32.291301],[101.938352,32.291141],[101.938686,32.290981],[101.93902,32.290821],[101.939354,32.290661],[101.939634,32.290515],[101.939914,32.290369],[101.940194,32.290223],[101.940407,32.290136],[101.940621,32.290048],[101.940834,32.28996],[101.941048,32.289872],[101.941343,32.28974],[101.941638,32.289607],[101.941934,32.289475],[101.94222,32.289304],[101.942554,32.289028],[101.942601,32.288977],[101.942667,32.288905],[101.942734,32.288803],[101.942837,32.288509],[101.942939,32.288215],[101.943,32.287839],[101.94306,32.287463],[101.943064,32.28738],[101.943068,32.287292],[101.943065,32.287271],[101.94305,32.287174],[101.94293,32.286813],[101.94281,32.286453],[101.94269,32.286092],[101.942601,32.285873],[101.942512,32.285653],[101.942511,32.285653],[101.942511,32.285652],[101.94244,32.28543],[101.942369,32.285208],[101.942317,32.284853],[101.942265,32.284498],[101.942264,32.284395],[101.942338,32.284224],[101.942457,32.284221],[101.942699,32.284283],[101.94293,32.284425],[101.943161,32.284567],[101.943444,32.28474],[101.943623,32.28485],[101.943855,32.284992],[101.944086,32.285133],[101.944196,32.285195],[101.944318,32.285259],[101.944726,32.285419],[101.945133,32.285579],[101.945442,32.285658],[101.945751,32.285737],[101.946084,32.285751],[101.946417,32.285765],[101.946802,32.285717],[101.947169,32.285628],[101.947552,32.285516],[101.947935,32.285404],[101.948259,32.285283],[101.948583,32.285162],[101.948843,32.285125],[101.949103,32.285089],[101.949365,32.285097],[101.949779,32.285148],[101.950198,32.285222],[101.950616,32.285297],[101.950951,32.285343],[101.951287,32.285389],[101.951622,32.285435],[101.951731,32.285456],[101.95204,32.285515],[101.952458,32.285596],[101.952875,32.285676],[101.95314,32.285742],[101.953405,32.285809],[101.95363,32.285897],[101.953647,32.285903],[101.953981,32.286034],[101.954343,32.286224],[101.954656,32.286423],[101.954969,32.286622],[101.955281,32.286821],[101.955594,32.287019],[101.955949,32.287263],[101.956038,32.287324],[101.956155,32.287396],[101.956337,32.287529],[101.956434,32.287596],[101.956624,32.287726],[101.956911,32.287924],[101.957166,32.288112],[101.957261,32.288182],[101.957421,32.288301],[101.957757,32.288595],[101.957906,32.288791],[101.957948,32.288868],[101.957961,32.28888],[101.958028,32.289011],[101.958166,32.289258],[101.958304,32.289505],[101.95837,32.289725],[101.9585,32.290082],[101.95853,32.290249],[101.958542,32.290392],[101.958546,32.290705],[101.95855,32.291018],[101.958554,32.291332],[101.95856,32.291362],[101.958637,32.291736],[101.958679,32.291885],[101.958774,32.292081],[101.958967,32.292435],[101.959161,32.292789],[101.959277,32.292988],[101.959298,32.293025],[101.959393,32.293187],[101.959404,32.293209],[101.959464,32.293318],[101.95947,32.29333],[101.959565,32.293521],[101.959649,32.293657],[101.959756,32.293782],[101.960029,32.294023],[101.960303,32.294264],[101.960596,32.294514],[101.960889,32.294765],[101.961084,32.294931],[101.961278,32.295097],[101.961433,32.295234],[101.961546,32.295412],[101.961623,32.29568],[101.961629,32.295936],[101.961552,32.296147],[101.961475,32.296358],[101.961449,32.296404],[101.961353,32.296575],[101.961231,32.296792],[101.960954,32.297123],[101.960678,32.297453],[101.960537,32.297593],[101.960277,32.297853],[101.960017,32.298113],[101.959875,32.298339],[101.959732,32.298565],[101.959633,32.298732],[101.959601,32.298785],[101.959619,32.299029],[101.959666,32.29919],[101.959738,32.299484],[101.959809,32.299779],[101.959884,32.300001],[101.959958,32.300223],[101.960032,32.300444],[101.960107,32.300665],[101.960261,32.301064],[101.960362,32.30129],[101.960562,32.301608],[101.960761,32.301926],[101.961026,32.302285],[101.961291,32.302644],[101.961527,32.302947],[101.96153,32.302952],[101.96153,32.302952],[101.96153,32.302952],[101.961566,32.303006],[101.961713,32.303232],[101.96186,32.303458],[101.962008,32.303683],[101.962155,32.303909],[101.962275,32.304117],[101.962395,32.304325],[101.962516,32.304533],[101.962636,32.304741],[101.962757,32.304949],[101.962877,32.305157],[101.962997,32.305365],[101.963063,32.305478],[101.963066,32.305484],[101.963118,32.305573],[101.963238,32.305781],[101.963358,32.30599],[101.963479,32.306198],[101.963564,32.306345],[101.963599,32.306406],[101.963706,32.306629],[101.963813,32.306853],[101.96392,32.307077],[101.964028,32.307301],[101.964063,32.307375],[101.964135,32.307525],[101.964205,32.307671],[101.964242,32.307749],[101.964324,32.308013],[101.964406,32.308276],[101.964488,32.30854],[101.96457,32.308804],[101.964652,32.309068],[101.964734,32.309332],[101.964838,32.309588],[101.964943,32.309843],[101.965047,32.310098],[101.965151,32.310354],[101.965255,32.310609],[101.96536,32.310865],[101.965464,32.31112],[101.965492,32.311188],[101.965568,32.311376],[101.965673,32.311631],[101.965777,32.311886],[101.965938,32.312275],[101.966099,32.312663],[101.966259,32.313049],[101.966259,32.31305],[101.966259,32.31305],[101.96626,32.313052],[101.966386,32.313252],[101.966512,32.313453],[101.966638,32.313653],[101.966764,32.313853],[101.966839,32.31393],[101.967068,32.314163],[101.967372,32.314472],[101.967676,32.314782],[101.967853,32.31494],[101.96803,32.315099],[101.968207,32.315258],[101.968384,32.315416],[101.968561,32.315575],[101.968738,32.315734],[101.968915,32.315892],[101.969092,32.316051],[101.969269,32.31621],[101.969446,32.316368],[101.969669,32.31653],[101.969891,32.316692],[101.970114,32.316854],[101.970336,32.317016],[101.970558,32.317178],[101.970781,32.31734],[101.971003,32.317502],[101.971226,32.317664],[101.971448,32.317826],[101.971671,32.317988],[101.971893,32.31815],[101.971945,32.318188],[101.972116,32.318312],[101.972338,32.318474],[101.97256,32.318636],[101.972754,32.318779],[101.972903,32.318891],[101.972904,32.318891],[101.972947,32.318923],[101.97314,32.319066],[101.973333,32.319209],[101.973527,32.319353],[101.973716,32.319493],[101.973718,32.319494],[101.97372,32.319496],[101.973913,32.319639],[101.974106,32.319782],[101.9743,32.319926],[101.974493,32.320069],[101.974686,32.320212],[101.974879,32.320356],[101.975073,32.320499],[101.975266,32.320642],[101.975431,32.320798],[101.975596,32.320953],[101.975761,32.321109],[101.975926,32.321264],[101.976091,32.32142],[101.976256,32.321575],[101.976421,32.321731],[101.976587,32.321886],[101.976752,32.322042],[101.976917,32.322197],[101.977109,32.322383],[101.977302,32.322569],[101.977495,32.322755],[101.977687,32.322941],[101.97788,32.323127],[101.978073,32.323313],[101.978265,32.323499],[101.978458,32.323685],[101.978651,32.323871],[101.978843,32.324057],[101.979036,32.324243],[101.979228,32.324429],[101.979421,32.324615],[101.979614,32.324801],[101.979771,32.324991],[101.979929,32.325181],[101.980087,32.325372],[101.980244,32.325562],[101.980402,32.325752],[101.980559,32.325942],[101.980717,32.326132],[101.980875,32.326322],[101.981032,32.326513],[101.98119,32.326703],[101.981347,32.326893],[101.981505,32.327083],[101.981663,32.327273],[101.98182,32.327463],[101.981986,32.327636],[101.982152,32.327809],[101.982317,32.327981],[101.982483,32.328154],[101.982649,32.328326],[101.982815,32.328499],[101.98298,32.328671],[101.983146,32.328844],[101.983312,32.329016],[101.983478,32.329189],[101.983831,32.329424],[101.984185,32.32966],[101.984344,32.329767],[101.984379,32.329791],[101.984573,32.329922],[101.984767,32.330053],[101.984857,32.330114],[101.984865,32.330119],[101.984921,32.330157],[101.984961,32.330185],[101.985037,32.330269],[101.985169,32.330416],[101.985215,32.330586],[101.985149,32.330738],[101.985065,32.330929],[101.984714,32.331191],[101.984563,32.331304],[101.98455,32.331314],[101.984363,32.331453],[101.984358,32.331456],[101.984329,32.331468],[101.984234,32.331507],[101.984179,32.33153],[101.984146,32.331543],[101.98393,32.331634],[101.98369,32.331656],[101.983451,32.331679],[101.983129,32.331653],[101.982808,32.331627],[101.982586,32.331655],[101.982559,32.331658],[101.982472,32.331669],[101.982311,32.331689],[101.982062,32.33172],[101.981813,32.331751],[101.981595,32.331824],[101.981378,32.331897],[101.98116,32.331971],[101.980943,32.332044],[101.980726,32.332139],[101.980509,32.332235],[101.980292,32.332331],[101.980075,32.332426],[101.979859,32.332522],[101.97983,32.332535],[101.979642,32.332618],[101.979289,32.33283],[101.978936,32.333042],[101.978583,32.333254],[101.978343,32.333353],[101.978249,32.333392],[101.978141,32.333436],[101.978102,32.333452],[101.9781,32.333452],[101.978099,32.333453],[101.978013,32.333488],[101.977738,32.333704],[101.977463,32.333921],[101.977269,32.334108],[101.977075,32.334295],[101.976864,32.334431],[101.976653,32.334566],[101.976389,32.334653],[101.976262,32.334695],[101.976228,32.334706],[101.975835,32.334911],[101.975536,32.335067],[101.975508,32.335082],[101.975442,32.335116],[101.975432,32.335121],[101.975238,32.335212],[101.975034,32.335308],[101.97483,32.335404],[101.974625,32.335499],[101.974351,32.335571],[101.974076,32.335643],[101.973848,32.335714],[101.973621,32.335784],[101.973486,32.335846],[101.973438,32.335868],[101.973062,32.336085],[101.972686,32.336302],[101.972293,32.336511],[101.9719,32.33672],[101.971506,32.336929],[101.971144,32.33712],[101.970782,32.337311],[101.970705,32.337351],[101.970554,32.337431],[101.97042,32.337502],[101.970009,32.337642],[101.969598,32.337782],[101.969481,32.33782],[101.969302,32.337876],[101.969275,32.337885],[101.969005,32.33797],[101.96873,32.338015],[101.968654,32.338028],[101.968489,32.338055],[101.968455,32.338061],[101.968226,32.338099],[101.967997,32.338137],[101.967767,32.338175],[101.967726,32.338182],[101.967685,32.338189],[101.967582,32.338206],[101.967538,32.338213],[101.967364,32.338251],[101.967277,32.33827],[101.967271,32.338271],[101.967164,32.338295],[101.967004,32.33833],[101.966807,32.338373],[101.966737,32.338388],[101.966624,32.338412],[101.96647,32.338446],[101.966076,32.338625],[101.965683,32.338804],[101.965426,32.338954],[101.965364,32.33899],[101.965267,32.339047],[101.965254,32.339054],[101.96517,32.339103],[101.965007,32.339296],[101.964844,32.339489],[101.964811,32.339528],[101.964811,32.339529],[101.964738,32.339615],[101.964738,32.339615],[101.964682,32.339681],[101.964519,32.339874],[101.96435,32.340043],[101.964182,32.340212],[101.964013,32.340381],[101.963844,32.34055],[101.963675,32.340719],[101.963507,32.340888],[101.963333,32.341135],[101.963306,32.341173],[101.963306,32.341173],[101.963306,32.341173],[101.963301,32.34118],[101.963275,32.341217],[101.963267,32.341229],[101.96325,32.341252],[101.963236,32.341272],[101.963187,32.341342],[101.963181,32.341351],[101.963096,32.341471],[101.962988,32.341669],[101.962879,32.341868],[101.96277,32.342066],[101.962675,32.342239],[101.962662,32.342264],[101.962425,32.342569],[101.962378,32.34263],[101.962378,32.34263],[101.962378,32.34263],[101.962314,32.342713],[101.962189,32.342875],[101.961938,32.343212],[101.961688,32.343549],[101.961542,32.343801],[101.961397,32.344052],[101.961304,32.344269],[101.961211,32.344486],[101.961118,32.344703],[101.961026,32.34492],[101.960972,32.345151],[101.960918,32.345382],[101.960864,32.345613],[101.96081,32.345843],[101.960756,32.346074],[101.960702,32.346305],[101.960648,32.346536],[101.960594,32.346766],[101.96054,32.346997],[101.960486,32.347228],[101.960436,32.347464],[101.960386,32.347699],[101.960336,32.347935],[101.96032,32.348009],[101.960286,32.348171],[101.960236,32.348406],[101.960186,32.348642],[101.960136,32.348878],[101.960124,32.348935],[101.960086,32.349113],[101.960004,32.349434],[101.959977,32.349542],[101.959868,32.34997],[101.959851,32.350037],[101.959759,32.350398],[101.959733,32.35045],[101.959564,32.350792],[101.959506,32.35091],[101.959369,32.351186],[101.959174,32.35158],[101.95898,32.351974],[101.958856,32.35219],[101.958732,32.352406],[101.958609,32.352622],[101.958485,32.352838],[101.958362,32.353054],[101.958238,32.35327],[101.958182,32.353367],[101.958114,32.353485],[101.957991,32.353701],[101.957867,32.353917],[101.957744,32.354133],[101.95762,32.354349],[101.957496,32.354565],[101.957404,32.354684],[101.957339,32.354769],[101.957231,32.35491],[101.956966,32.355254],[101.956856,32.355396],[101.956831,32.355428],[101.95683,32.355429],[101.956772,32.355504],[101.956759,32.355521],[101.956748,32.355618],[101.956723,32.355848],[101.956688,32.356174],[101.956701,32.356565],[101.956703,32.356577],[101.956741,32.356775],[101.956766,32.356905],[101.956775,32.356954],[101.956905,32.357146],[101.956989,32.357272],[101.957024,32.357323],[101.957034,32.357338],[101.957091,32.357375],[101.957127,32.357397],[101.957135,32.357402],[101.957199,32.357443],[101.9572,32.357443],[101.957203,32.357445],[101.957253,32.357477],[101.957473,32.357615],[101.957583,32.357643],[101.957606,32.357649],[101.957652,32.357661],[101.957708,32.357675],[101.957744,32.357684],[101.957752,32.357686],[101.957796,32.357694],[101.958123,32.357757],[101.958431,32.357763],[101.958511,32.357764],[101.958604,32.357766],[101.958606,32.357766],[101.958609,32.357766],[101.958739,32.357768],[101.959093,32.357786],[101.959447,32.357804],[101.959877,32.357794],[101.960307,32.357784],[101.960631,32.357828],[101.960955,32.357873],[101.961187,32.357919],[101.96142,32.357966],[101.961652,32.358012],[101.961884,32.358059],[101.962276,32.358145],[101.962668,32.358232],[101.96306,32.358319],[101.963066,32.358321],[101.963286,32.358411],[101.963512,32.358503],[101.963738,32.358596],[101.963752,32.358601],[101.963964,32.358688],[101.964168,32.358813],[101.964295,32.358892],[101.964372,32.358939],[101.964576,32.359065],[101.96478,32.35919],[101.964841,32.359228],[101.964983,32.359316],[101.965187,32.359441],[101.965384,32.359582],[101.965581,32.359723],[101.965777,32.359863],[101.965974,32.360004],[101.966086,32.360084],[101.966171,32.360145],[101.966367,32.360286],[101.966577,32.36042],[101.966786,32.360554],[101.966995,32.360687],[101.967205,32.360821],[101.967414,32.360955],[101.967623,32.361089],[101.967919,32.361226],[101.968216,32.361363],[101.968434,32.361436],[101.968651,32.361509],[101.969052,32.361552],[101.969221,32.361548],[101.96939,32.361544],[101.969696,32.36151],[101.970123,32.361396],[101.970383,32.361351],[101.970642,32.361306],[101.970919,32.361298],[101.971165,32.361294],[101.971339,32.36129],[101.971411,32.361289],[101.971719,32.36132],[101.972027,32.361352],[101.972367,32.361396],[101.972739,32.361491],[101.972973,32.361603],[101.973207,32.361715],[101.973613,32.361887],[101.97366,32.361908],[101.973799,32.361967],[101.974019,32.36206],[101.974265,32.362107],[101.974512,32.362153],[101.974835,32.362146],[101.975159,32.362138],[101.975541,32.36209],[101.975924,32.362042],[101.976332,32.361988],[101.97674,32.361935],[101.977148,32.361881],[101.977525,32.36182],[101.977902,32.361759],[101.978279,32.361699],[101.978523,32.361628],[101.978766,32.361557],[101.97901,32.361486],[101.979192,32.361433],[101.979192,32.361433],[101.979253,32.361416],[101.979497,32.361345],[101.97974,32.361274],[101.979985,32.361209],[101.980044,32.361194],[101.980229,32.361145],[101.980473,32.36108],[101.980717,32.361015],[101.98074,32.36101],[101.980938,32.360965],[101.981159,32.360914],[101.98138,32.360863],[101.981601,32.360813],[101.981968,32.360642],[101.982334,32.360472],[101.982602,32.360192],[101.98287,32.359912],[101.983017,32.359751],[101.983044,32.359594],[101.982963,32.359335],[101.98294,32.359259],[101.982779,32.359015],[101.982617,32.358771],[101.982583,32.358689],[101.982516,32.358526],[101.982503,32.358493],[101.982463,32.358396],[101.982415,32.358281],[101.982402,32.357838],[101.982437,32.357498],[101.982472,32.357159],[101.982555,32.356883],[101.982638,32.356607],[101.982937,32.356365],[101.983165,32.356281],[101.983392,32.356198],[101.983804,32.35611],[101.983976,32.356073],[101.984217,32.356022],[101.984521,32.35595],[101.984826,32.355878],[101.985079,32.355845],[101.985221,32.355827],[101.985332,32.355813],[101.985584,32.355781],[101.985837,32.355749],[101.986221,32.355643],[101.986605,32.355538],[101.986877,32.3554],[101.986893,32.355392],[101.987036,32.35532],[101.987149,32.355263],[101.987268,32.355221],[101.987468,32.355151],[101.987786,32.355039],[101.988185,32.354979],[101.98863,32.354968],[101.989075,32.354957],[101.989393,32.354964],[101.98971,32.35497],[101.98994,32.354964],[101.99017,32.354959],[101.9904,32.354953],[101.990619,32.354948],[101.99063,32.354947],[101.990875,32.354909],[101.99112,32.354871],[101.991365,32.354833],[101.99161,32.354794],[101.991762,32.354751],[101.992036,32.354673],[101.992463,32.354552],[101.992889,32.354431],[101.993315,32.35431],[101.993533,32.354231],[101.99375,32.354152],[101.993968,32.354073],[101.994186,32.353994],[101.994403,32.353916],[101.994621,32.353837],[101.994838,32.353703],[101.995056,32.353569],[101.995273,32.353436],[101.99549,32.353302],[101.995708,32.353168],[101.995925,32.353035],[101.996142,32.352901],[101.99636,32.352767],[101.996577,32.352634],[101.996794,32.3525],[101.997012,32.352367],[101.997229,32.352233],[101.997446,32.352099],[101.997664,32.351966],[101.997878,32.351832],[101.998092,32.351699],[101.998306,32.351566],[101.99852,32.351433],[101.998734,32.3513],[101.998949,32.351167],[101.999163,32.351033],[101.999254,32.350977],[101.999255,32.350976],[101.999377,32.3509],[101.999591,32.350767],[101.999805,32.350634],[102.000019,32.350501],[102.000233,32.350368],[102.000238,32.350363],[102.000548,32.350136],[102.000749,32.349989],[102.000749,32.349989],[102.000858,32.349909],[102.001168,32.349683],[102.001268,32.349609],[102.001444,32.349481],[102.00172,32.349279],[102.001932,32.349149],[102.002143,32.349019],[102.002355,32.348889],[102.002566,32.348759],[102.002777,32.348629],[102.002871,32.348571],[102.002989,32.348499],[102.0032,32.348369],[102.003412,32.34824],[102.00377,32.348063],[102.004129,32.347887],[102.004488,32.347711],[102.004741,32.347612],[102.004991,32.347552],[102.005242,32.347492],[102.005476,32.347471],[102.00571,32.34745],[102.005943,32.347469],[102.006176,32.347487],[102.006439,32.347533],[102.006702,32.347578],[102.006946,32.347703],[102.007191,32.347828],[102.007468,32.348171],[102.007745,32.348514],[102.008022,32.348858],[102.008299,32.349201],[102.008456,32.349396],[102.008613,32.349591],[102.00877,32.349786],[102.008927,32.349982],[102.009047,32.350117],[102.009263,32.350175],[102.009606,32.350155],[102.009935,32.350071],[102.010265,32.349987],[102.010531,32.349927],[102.010798,32.349868],[102.011065,32.349808],[102.011331,32.349749],[102.011642,32.349703],[102.011952,32.349657],[102.012335,32.349665],[102.012719,32.349674],[102.013102,32.349683],[102.013536,32.349737],[102.013695,32.349757],[102.013971,32.349791],[102.01426,32.349828],[102.014405,32.349846],[102.014669,32.349852],[102.014933,32.349857],[102.015291,32.349853],[102.01565,32.349848],[102.01593,32.349829],[102.01621,32.349809],[102.016505,32.349817],[102.016801,32.349824],[102.017225,32.349878],[102.017648,32.349931],[102.018072,32.349985],[102.018287,32.350065],[102.018503,32.350145],[102.018718,32.350225],[102.018934,32.350305],[102.01909,32.350363],[102.019111,32.35037],[102.019149,32.350385],[102.019365,32.350465],[102.019465,32.350531],[102.019654,32.350656],[102.019682,32.350674],[102.019944,32.350848],[102.020184,32.351118],[102.020424,32.351389],[102.020728,32.351633],[102.021031,32.351877],[102.021161,32.351955],[102.021305,32.352042],[102.021312,32.352044],[102.021676,32.352156],[102.021939,32.352189],[102.022203,32.352222],[102.022591,32.352231],[102.022868,32.352237],[102.022979,32.35224],[102.023213,32.352232],[102.023446,32.352224],[102.023628,32.352218],[102.02368,32.352216],[102.023913,32.352209],[102.024143,32.352188],[102.024372,32.352167],[102.024601,32.352146],[102.02483,32.352124],[102.02506,32.352103],[102.025289,32.352082],[102.025505,32.35203],[102.025687,32.351986],[102.026085,32.35189],[102.026483,32.351793],[102.026734,32.351714],[102.026876,32.351669],[102.026985,32.351634],[102.027237,32.351555],[102.027488,32.351475],[102.027701,32.351394],[102.027913,32.351313],[102.028126,32.351233],[102.028339,32.351152],[102.028569,32.351012],[102.02863,32.350975],[102.028686,32.350941],[102.0288,32.350872],[102.028994,32.350754],[102.02903,32.350732],[102.029044,32.350724],[102.029066,32.350711],[102.029261,32.350593],[102.029508,32.350317],[102.029756,32.350041],[102.030004,32.349765],[102.030034,32.349732],[102.030147,32.349604],[102.030156,32.349593],[102.030308,32.349422],[102.03046,32.34925],[102.030612,32.349078],[102.030764,32.348906],[102.030916,32.348734],[102.031068,32.348562],[102.03122,32.34839],[102.03136,32.348159],[102.031499,32.347928],[102.031639,32.347697],[102.031779,32.347466],[102.031919,32.347235],[102.032058,32.347004],[102.032198,32.346773],[102.032338,32.346542],[102.032424,32.346289],[102.03251,32.346036],[102.032596,32.345782],[102.032682,32.345529],[102.032769,32.345276],[102.032855,32.345023],[102.032904,32.344773],[102.032954,32.344524],[102.033004,32.344274],[102.033053,32.344024],[102.033103,32.343775],[102.033153,32.343525],[102.033244,32.343274],[102.033335,32.343022],[102.033426,32.342771],[102.033518,32.342519],[102.033609,32.342268],[102.0337,32.342016],[102.033799,32.341765],[102.033897,32.341514],[102.033996,32.341263],[102.034094,32.341012],[102.034193,32.340761],[102.034291,32.34051],[102.03439,32.340259],[102.034488,32.340008],[102.034586,32.339757],[102.034685,32.339505],[102.034811,32.339201],[102.034837,32.339139],[102.034988,32.338773],[102.035015,32.338721],[102.035176,32.338343],[102.03521,32.338295],[102.035324,32.338135],[102.03555,32.337968],[102.035788,32.337855],[102.036127,32.33773],[102.03649,32.337683],[102.036874,32.337704],[102.037258,32.337724],[102.037507,32.337724],[102.037698,32.337707],[102.037858,32.337665],[102.03809,32.337576],[102.038263,32.337617],[102.038376,32.337796],[102.038488,32.338104],[102.03855,32.338276],[102.0386,32.338412],[102.038614,32.33845],[102.038804,32.338849],[102.038923,32.339003],[102.039072,32.339075],[102.039209,32.33914],[102.039298,32.339176],[102.039578,32.339378],[102.03975,32.339456],[102.03981,32.339539],[102.039863,32.33967],[102.039929,32.339824],[102.04,32.339925],[102.040101,32.340009],[102.040375,32.340086],[102.040667,32.340349],[102.040743,32.340401],[102.040989,32.34057],[102.041167,32.340699],[102.041296,32.340849],[102.041353,32.341034],[102.041375,32.341164],[102.041445,32.341577],[102.041545,32.341777],[102.04171,32.34208],[102.041874,32.342383],[102.042006,32.342608],[102.042138,32.342833],[102.042359,32.343104],[102.042502,32.343269],[102.042745,32.343454],[102.042811,32.343479],[102.043016,32.343554],[102.043287,32.34369],[102.043551,32.343768],[102.043815,32.343847],[102.044072,32.343932],[102.044294,32.343961],[102.044615,32.343961],[102.044865,32.343915],[102.045115,32.343868],[102.045339,32.343886],[102.045564,32.343904],[102.0457,32.343975],[102.045828,32.344118],[102.045936,32.344268],[102.046071,32.344575],[102.046159,32.344762],[102.04625,32.344953],[102.046335,32.345216],[102.046335,32.345217],[102.046335,32.345217],[102.046428,32.345374],[102.046678,32.345589],[102.046792,32.345617],[102.047096,32.345716],[102.047239,32.345852],[102.047425,32.346028],[102.047611,32.346204],[102.047797,32.34638],[102.047983,32.346556],[102.048166,32.346692],[102.048348,32.346829],[102.04853,32.346965],[102.048712,32.347101],[102.048895,32.347238],[102.049077,32.347374],[102.049305,32.347531],[102.049534,32.347688],[102.049762,32.347846],[102.049991,32.348003],[102.050219,32.34816],[102.050448,32.348317],[102.050676,32.348474],[102.050905,32.348631],[102.051232,32.348891],[102.051559,32.349151],[102.051887,32.34941],[102.052133,32.349508],[102.052379,32.349606],[102.052749,32.349693],[102.053014,32.349686],[102.053279,32.349679],[102.053513,32.349658],[102.053747,32.349637],[102.053981,32.349617],[102.054216,32.349596],[102.054636,32.349579],[102.055057,32.349562],[102.055384,32.34957],[102.05571,32.349578],[102.05602,32.349612],[102.056331,32.349645],[102.056717,32.34972],[102.057103,32.349796],[102.057536,32.349911],[102.057968,32.350026],[102.058338,32.350128],[102.058631,32.350208],[102.058709,32.35023],[102.058987,32.350275],[102.059266,32.350321],[102.059638,32.350383],[102.060009,32.350444],[102.060197,32.350481],[102.060396,32.350519],[102.060782,32.350594],[102.061046,32.350626],[102.061309,32.350659],[102.061573,32.350691],[102.061836,32.350724],[102.062272,32.35076],[102.06255,32.350832],[102.062828,32.350905],[102.063058,32.351003],[102.063288,32.351101],[102.063478,32.351237],[102.063668,32.351373],[102.063745,32.351428],[102.063942,32.351565],[102.06414,32.351702],[102.064337,32.351839],[102.064535,32.351975],[102.064711,32.352138],[102.064888,32.352301],[102.065087,32.352411],[102.065286,32.35252],[102.06553,32.352631],[102.065717,32.352637],[102.066092,32.352592],[102.06644,32.352455],[102.066787,32.352319],[102.067156,32.352133],[102.067525,32.351948],[102.067894,32.351762],[102.068124,32.351629],[102.068354,32.351496],[102.068584,32.351362],[102.068814,32.351229],[102.069105,32.350919],[102.069395,32.350608],[102.069587,32.350448],[102.069779,32.350288],[102.069971,32.350128],[102.070162,32.349968],[102.070374,32.349794],[102.070586,32.349621],[102.070798,32.349448],[102.07101,32.349275],[102.071221,32.349101],[102.071433,32.348928],[102.071645,32.348755],[102.071857,32.348581],[102.072064,32.348448],[102.072271,32.348314],[102.072478,32.348181],[102.072685,32.348047],[102.072914,32.347933],[102.073143,32.34782],[102.073372,32.347706],[102.073452,32.347666],[102.0736,32.347592],[102.073789,32.34752],[102.073821,32.347508],[102.074042,32.347424],[102.074263,32.34734],[102.074483,32.347256],[102.074704,32.347172],[102.074925,32.347088],[102.075146,32.347004],[102.075366,32.34692],[102.075612,32.346841],[102.075857,32.346763],[102.07613,32.346675],[102.076519,32.34654],[102.076542,32.346532],[102.076908,32.346405],[102.07711,32.346335],[102.077297,32.34627],[102.077686,32.346135],[102.078075,32.346],[102.078465,32.345865],[102.078854,32.34573],[102.079243,32.345595],[102.079632,32.34546],[102.079876,32.345386],[102.080121,32.345312],[102.080462,32.345186],[102.080803,32.34506],[102.081145,32.344934],[102.081486,32.344808],[102.081827,32.344682],[102.082059,32.3446],[102.082291,32.344518],[102.082491,32.344404],[102.082712,32.344275],[102.082838,32.34422],[102.082955,32.344168],[102.08326,32.344042],[102.083564,32.343916],[102.083869,32.34379],[102.084233,32.343554],[102.084383,32.343461],[102.084547,32.343426],[102.084711,32.343383],[102.084904,32.343297],[102.085197,32.343126],[102.085211,32.343122],[102.085389,32.343076],[102.085596,32.343069],[102.085903,32.342997],[102.086125,32.342876],[102.08626,32.342698],[102.08641,32.342526],[102.086532,32.342441],[102.086917,32.342276],[102.087203,32.342148],[102.087438,32.342019],[102.087688,32.341927],[102.088038,32.341798],[102.08838,32.341691],[102.088659,32.341613],[102.088823,32.341548],[102.088916,32.341441],[102.089116,32.34127],[102.089315,32.341177],[102.089465,32.34107],[102.089587,32.340884],[102.08973,32.340635],[102.08987,32.340335],[102.09001,32.340035],[102.090151,32.339735],[102.090161,32.339439],[102.090172,32.339143],[102.090186,32.338893],[102.090201,32.338643],[102.090236,32.3383],[102.090244,32.338268],[102.090297,32.338049],[102.090351,32.337829],[102.09046,32.337425],[102.09057,32.337021],[102.0906,32.336908],[102.090679,32.336666],[102.090686,32.336451],[102.09067,32.336369],[102.090586,32.335952],[102.090565,32.335758],[102.090529,32.335416],[102.090436,32.335138],[102.090429,32.334917],[102.090472,32.33471],[102.090465,32.334531],[102.090379,32.334331],[102.090343,32.334103],[102.090408,32.333967],[102.090508,32.333882],[102.090757,32.333746],[102.090936,32.333525],[102.091057,32.333175],[102.091129,32.332847],[102.091137,32.332429],[102.091145,32.332011],[102.09119,32.331725],[102.09119,32.331722],[102.091191,32.331721],[102.091193,32.331707],[102.091269,32.331431],[102.091357,32.331313],[102.091383,32.331279],[102.091545,32.331079],[102.091707,32.330879],[102.091816,32.330674],[102.091926,32.330469],[102.092069,32.330232],[102.09224,32.329927],[102.092402,32.32966],[102.092563,32.329394],[102.092699,32.3292],[102.092787,32.329076],[102.093075,32.328841],[102.093295,32.32866],[102.093515,32.32848],[102.093715,32.328352],[102.093915,32.328223],[102.094181,32.328081],[102.094372,32.328033],[102.0946,32.327957],[102.094762,32.327728],[102.094924,32.3275],[102.095114,32.327291],[102.095305,32.327081],[102.09539,32.326862],[102.095457,32.326746],[102.095581,32.326529],[102.095571,32.326158],[102.095504,32.32583],[102.095438,32.325501],[102.095448,32.325322],[102.095457,32.325168],[102.095562,32.32493],[102.095666,32.324692],[102.095799,32.324527],[102.095942,32.32435],[102.096099,32.324093],[102.096256,32.323836],[102.096409,32.323563],[102.096561,32.32329],[102.096713,32.323017],[102.096846,32.322789],[102.097075,32.322551],[102.097208,32.322341],[102.097341,32.322132],[102.097379,32.321922],[102.097484,32.321665],[102.097646,32.321504],[102.097806,32.321201],[102.097965,32.320897],[102.09809,32.320739],[102.098342,32.320455],[102.098595,32.320171],[102.098848,32.319887],[102.099024,32.319768],[102.099029,32.319765],[102.099301,32.319603],[102.099574,32.319442],[102.099851,32.319321],[102.100084,32.319219],[102.100316,32.319117],[102.100549,32.319016],[102.100782,32.318914],[102.101014,32.318813],[102.101247,32.318711],[102.101479,32.318609],[102.101712,32.318508],[102.101945,32.318406],[102.102177,32.318304],[102.10241,32.318203],[102.102643,32.318101],[102.102875,32.317999],[102.103108,32.317898],[102.103341,32.317796],[102.103573,32.317694],[102.103784,32.317611],[102.103995,32.317527],[102.104206,32.317444],[102.104417,32.31736],[102.104628,32.317277],[102.104839,32.317193],[102.10505,32.31711],[102.105261,32.317026],[102.105472,32.316943],[102.105683,32.316859],[102.10608,32.316679],[102.106476,32.316499],[102.106873,32.316319],[102.107269,32.316139],[102.107477,32.316022],[102.107685,32.315906],[102.107894,32.31579],[102.108102,32.315674],[102.10831,32.315558],[102.108518,32.315441],[102.108872,32.315249],[102.109153,32.315096],[102.109153,32.315096],[102.109225,32.315057],[102.109578,32.314865],[102.109988,32.3147],[102.110397,32.314534],[102.110806,32.314369],[102.111195,32.314241],[102.111583,32.314113],[102.111972,32.313985],[102.112236,32.313881],[102.112499,32.313777],[102.112729,32.313592],[102.112922,32.313375],[102.112935,32.312995],[102.112907,32.31268],[102.112902,32.312621],[102.11288,32.312364],[102.11285,32.312139],[102.11282,32.311913],[102.11279,32.311687],[102.112759,32.311462],[102.112729,32.311236],[102.112699,32.31101],[102.112669,32.310785],[102.112639,32.310559],[102.112646,32.310323],[102.112654,32.310086],[102.112736,32.309852],[102.112818,32.309617],[102.1129,32.309382],[102.112982,32.309147],[102.113068,32.308786],[102.113153,32.308425],[102.113148,32.307998],[102.113143,32.307572],[102.113122,32.307339],[102.113102,32.307105],[102.113081,32.306872],[102.113061,32.306639],[102.11304,32.306406],[102.11302,32.306173],[102.112999,32.305939],[102.112979,32.305706],[102.112968,32.305474],[102.112956,32.305243],[102.112945,32.305011],[102.112934,32.304779],[102.112923,32.304547],[102.112911,32.304316],[102.112936,32.30409],[102.112962,32.303864],[102.112987,32.303639],[102.113012,32.303413],[102.113136,32.303006],[102.113261,32.302598],[102.113495,32.302288],[102.113523,32.302261],[102.113725,32.302072],[102.114149,32.301987],[102.114573,32.301902],[102.114926,32.301831],[102.114998,32.301817],[102.115437,32.301748],[102.115876,32.301679],[102.116315,32.301611],[102.11661,32.301564],[102.116755,32.301542],[102.117153,32.301509],[102.117551,32.301476],[102.117949,32.301443],[102.118265,32.301434],[102.118582,32.301425],[102.118952,32.301466],[102.119323,32.301506],[102.119768,32.301516],[102.120192,32.301636],[102.120507,32.301725],[102.120617,32.301757],[102.12065,32.30178],[102.120999,32.302025],[102.121035,32.302051],[102.121381,32.302294],[102.121572,32.302429],[102.121764,32.302563],[102.121955,32.302697],[102.122146,32.302832],[102.12251,32.303093],[102.122873,32.303354],[102.122873,32.303354],[102.122873,32.303354],[102.123203,32.303488],[102.123534,32.303622],[102.123923,32.303678],[102.124312,32.303734],[102.124696,32.303753],[102.12508,32.303773],[102.125463,32.303792],[102.125815,32.303793],[102.126167,32.303795],[102.126419,32.303796],[102.12667,32.303797],[102.127107,32.303799],[102.127174,32.303799],[102.127191,32.3038],[102.127456,32.303818],[102.127721,32.303835],[102.127994,32.303853],[102.128268,32.303871],[102.128541,32.303889],[102.128815,32.303907],[102.12917,32.30393],[102.129362,32.303943],[102.129602,32.30398],[102.129843,32.304017],[102.130084,32.304054],[102.130325,32.304092],[102.130749,32.304196],[102.131173,32.3043],[102.131467,32.304402],[102.131761,32.304503],[102.13202,32.304556],[102.132279,32.304609],[102.132614,32.304617],[102.132767,32.304495],[102.13278,32.304464],[102.132864,32.304278],[102.132864,32.304278],[102.132886,32.304229],[102.133006,32.303964],[102.133065,32.303704],[102.133101,32.303546],[102.133104,32.303534],[102.133104,32.303534],[102.133124,32.303445],[102.133184,32.303186],[102.133243,32.302927],[102.133257,32.302865],[102.133302,32.302667],[102.133362,32.302408],[102.133421,32.302149],[102.13348,32.30189],[102.133566,32.301545],[102.133587,32.301461],[102.133653,32.3012],[102.13381,32.30092],[102.133894,32.300769],[102.133967,32.300639],[102.134215,32.30044],[102.134462,32.30024],[102.134679,32.300097],[102.134785,32.300027],[102.134968,32.299906],[102.135108,32.299813],[102.135353,32.299701],[102.135598,32.29959],[102.135865,32.299406],[102.135942,32.299353],[102.136131,32.299223],[102.136325,32.298959],[102.13652,32.298695],[102.136643,32.298455],[102.136765,32.298215],[102.136888,32.297975],[102.137011,32.297734],[102.137134,32.297494],[102.137257,32.297254],[102.137379,32.297014],[102.137502,32.296774],[102.137625,32.296533],[102.137748,32.296293],[102.137851,32.296075],[102.137955,32.295856],[102.138059,32.295637],[102.138162,32.295419],[102.138266,32.2952],[102.138369,32.294982],[102.138473,32.294763],[102.138577,32.294544],[102.13868,32.294326],[102.138784,32.294107],[102.13888,32.293857],[102.138976,32.293606],[102.139073,32.293356],[102.139169,32.293105],[102.139265,32.292855],[102.139361,32.292604],[102.139457,32.292354],[102.139554,32.292103],[102.139727,32.291781],[102.139844,32.291564],[102.13996,32.291347],[102.140077,32.29113],[102.140194,32.290914],[102.14031,32.290697],[102.140427,32.29048],[102.140543,32.290263],[102.14066,32.290046],[102.140819,32.289853],[102.140979,32.289659],[102.141244,32.289507],[102.141509,32.289354],[102.141847,32.289267],[102.142083,32.289207],[102.142184,32.289181],[102.142484,32.289109],[102.142784,32.289036],[102.143193,32.289046],[102.143433,32.289083],[102.143674,32.28912],[102.144042,32.289255],[102.14441,32.289389],[102.14463,32.289481],[102.144851,32.289573],[102.145071,32.289665],[102.145292,32.289756],[102.145386,32.289796],[102.145418,32.289809],[102.145512,32.289848],[102.145732,32.28994],[102.145953,32.290032],[102.145967,32.290038],[102.146173,32.290124],[102.146411,32.290261],[102.146648,32.290397],[102.146885,32.290534],[102.147123,32.290671],[102.14736,32.290808],[102.147597,32.290945],[102.147925,32.291184],[102.148252,32.291423],[102.148579,32.291662],[102.148731,32.291776],[102.148737,32.291781],[102.149051,32.292019],[102.149212,32.292228],[102.149373,32.292437],[102.149459,32.29266],[102.149545,32.292883],[102.149541,32.29296],[102.14953,32.293151],[102.149515,32.293419],[102.149513,32.293471],[102.149548,32.293716],[102.149584,32.29396],[102.149588,32.294227],[102.149582,32.29457],[102.149575,32.294914],[102.149569,32.295257],[102.149562,32.2956],[102.149522,32.29595],[102.149481,32.2963],[102.149441,32.296649],[102.1494,32.296999],[102.149389,32.297378],[102.149377,32.297757],[102.149365,32.298136],[102.14941,32.298528],[102.149432,32.298718],[102.149456,32.298921],[102.1495,32.299116],[102.14957,32.299418],[102.149639,32.29972],[102.149709,32.300022],[102.149804,32.30025],[102.149899,32.300479],[102.150008,32.300698],[102.150018,32.300717],[102.150118,32.300917],[102.150321,32.301234],[102.150548,32.301588],[102.150776,32.301942],[102.150924,32.302173],[102.151003,32.302297],[102.151193,32.302544],[102.151384,32.302792],[102.151574,32.303039],[102.15175,32.303182],[102.151787,32.303212],[102.151926,32.303325],[102.152212,32.303567],[102.152378,32.303708],[102.152497,32.30381],[102.152635,32.304015],[102.152773,32.304219],[102.152897,32.304533],[102.152983,32.30479],[102.153013,32.305201],[102.153021,32.305304],[102.153173,32.305475],[102.153306,32.305623],[102.153592,32.305942],[102.15383,32.306123],[102.153935,32.306153],[102.15423,32.306237],[102.154591,32.306247],[102.154953,32.306256],[102.155272,32.306304],[102.155581,32.306351],[102.155962,32.306375],[102.156343,32.306399],[102.156714,32.306361],[102.157085,32.306323],[102.157404,32.306318],[102.157723,32.306313],[102.157989,32.306366],[102.158256,32.306418],[102.158503,32.306518],[102.158751,32.306618],[102.159021,32.306746],[102.159274,32.306865],[102.159617,32.307037],[102.159633,32.30704],[102.160035,32.307122],[102.160359,32.307094],[102.160673,32.307113],[102.160987,32.307132],[102.161315,32.307079],[102.161576,32.307085],[102.161814,32.30709],[102.162052,32.307096],[102.162393,32.307067],[102.162499,32.307059],[102.162947,32.307021],[102.163339,32.306968],[102.163731,32.306914],[102.164135,32.306839],[102.164539,32.306764],[102.164803,32.306628],[102.165067,32.306492],[102.165404,32.306197],[102.165741,32.305901],[102.166077,32.305606],[102.166414,32.305311],[102.166751,32.305015],[102.166949,32.304841],[102.167146,32.304666],[102.167344,32.304491],[102.167542,32.304317],[102.16774,32.304142],[102.167937,32.303968],[102.16822,32.303832],[102.168503,32.303696],[102.168748,32.303607],[102.168993,32.303518],[102.169237,32.30346],[102.16948,32.303403],[102.169815,32.30341],[102.16988,32.303412],[102.169845,32.303446],[102.169594,32.303676],[102.169317,32.303862],[102.168943,32.304276],[102.168019,32.306366],[102.167576,32.307548],[102.167377,32.308079],[102.167013,32.309607],[102.166521,32.310901],[102.165894,32.312154],[102.165725,32.313225],[102.165819,32.31544],[102.165822,32.315506],[102.16583,32.315684],[102.166,32.317454],[102.165875,32.318564],[102.165879,32.319908],[102.165852,32.320752],[102.16556,32.321436],[102.165261,32.322312],[102.164763,32.323798],[102.164401,32.324716],[102.164246,32.325109],[102.164223,32.325168],[102.164139,32.32538],[102.164095,32.325494],[102.163923,32.325912],[102.163901,32.325966],[102.163733,32.326386],[102.163562,32.327495],[102.163611,32.32884],[102.1638,32.330034],[102.164263,32.331119],[102.164698,32.332057],[102.165002,32.332933],[102.164927,32.33305],[102.164921,32.333151],[102.164966,32.333262],[102.165103,32.333333],[102.165265,32.333494],[102.165327,32.333515],[102.165355,32.333563],[102.165421,32.333701],[102.165478,32.333762],[102.165537,32.333789],[102.165603,32.333798],[102.165716,32.333792],[102.165755,32.333809],[102.165778,32.333851],[102.165776,32.333895],[102.165787,32.333925],[102.165879,32.333994],[102.16591,32.334055],[102.165947,32.334241],[102.165978,32.334479],[102.166016,32.334589],[102.166032,32.334606],[102.166071,32.334624],[102.166216,32.334649],[102.166258,32.334664],[102.166336,32.334723],[102.166422,32.334808],[102.166537,32.334869],[102.166574,32.334914],[102.166714,32.335083],[102.166719,32.335091],[102.166732,32.335105],[102.166736,32.335109],[102.166782,32.335155],[102.166812,32.335183],[102.167022,32.335392],[102.167046,32.335415],[102.167094,32.335462],[102.167098,32.335466],[102.16714,32.335508],[102.167202,32.335569],[102.167511,32.335862],[102.167556,32.335904],[102.167621,32.335966],[102.167638,32.335982],[102.167643,32.335987],[102.167743,32.336079],[102.167747,32.336085],[102.167753,32.336091],[102.167762,32.3361],[102.168319,32.336685],[102.168431,32.337185],[102.168437,32.33722],[102.168446,32.33725],[102.168447,32.337257],[102.16848,32.337268],[102.16851,32.337278],[102.168534,32.337302],[102.168524,32.33739],[102.168542,32.337441],[102.168541,32.337492],[102.168541,32.337528],[102.168539,32.337535],[102.168535,32.337548],[102.168557,32.337613],[102.168537,32.33769],[102.168599,32.337739],[102.168648,32.337886],[102.168656,32.337908],[102.168695,32.338026],[102.16871,32.338046],[102.168724,32.338064],[102.168706,32.338073],[102.168662,32.338085],[102.168636,32.338108],[102.16863,32.338193],[102.168652,32.338305],[102.168628,32.33835],[102.168625,32.338407],[102.168657,32.338453],[102.168681,32.33847],[102.168826,32.338501],[102.168919,32.338527],[102.168967,32.338549],[102.168877,32.338701],[102.16885,32.338779],[102.168845,32.338818],[102.168854,32.33887],[102.168911,32.338904],[102.168924,32.338927],[102.168917,32.338955],[102.16888,32.339004],[102.168871,32.339067],[102.168877,32.339098],[102.168917,32.33916],[102.168926,32.339189],[102.168927,32.339263],[102.168939,32.339325],[102.168975,32.339393],[102.169,32.339417],[102.169033,32.339436],[102.169148,32.339476],[102.169265,32.339532],[102.169289,32.339556],[102.169296,32.339581],[102.169292,32.339627],[102.169265,32.339678],[102.169191,32.33975],[102.169152,32.339809],[102.169073,32.339858],[102.169059,32.339899],[102.169067,32.339937],[102.169091,32.339965],[102.169129,32.339989],[102.169175,32.339999],[102.169182,32.340009],[102.169179,32.340024],[102.169101,32.340141],[102.169082,32.340246],[102.16909,32.340348],[102.169105,32.3404],[102.169128,32.340437],[102.169203,32.34049],[102.169201,32.340517],[102.169106,32.340527],[102.168871,32.340522],[102.168826,32.340541],[102.16882,32.340556],[102.168806,32.340588],[102.16881,32.340624],[102.168829,32.34064],[102.168851,32.34066],[102.168968,32.340699],[102.169081,32.340707],[102.169123,32.340734],[102.169122,32.340771],[102.169085,32.340813],[102.169058,32.340888],[102.169046,32.340959],[102.16905,32.341032],[102.169086,32.341122],[102.169198,32.341218],[102.16922,32.341248],[102.169245,32.34133],[102.169253,32.34139],[102.169249,32.341475],[102.169187,32.341653],[102.169157,32.341827],[102.169148,32.341922],[102.169152,32.342147],[102.169143,32.34219],[102.169111,32.342241],[102.169045,32.342282],[102.169023,32.342288],[102.168948,32.342282],[102.168926,32.342287],[102.168913,32.342304],[102.168918,32.342344],[102.168939,32.342378],[102.169071,32.34248],[102.16909,32.342501],[102.16912,32.342534],[102.169129,32.342545],[102.169147,32.342589],[102.16913,32.342682],[102.169148,32.342717],[102.169168,32.342739],[102.16923,32.342777],[102.16933,32.3428],[102.169382,32.342887],[102.169483,32.342965],[102.169526,32.342982],[102.169633,32.343007],[102.169662,32.343027],[102.169675,32.343113],[102.169693,32.34315],[102.169716,32.343183],[102.169762,32.343222],[102.169723,32.343359],[102.16974,32.343422],[102.169767,32.343456],[102.169801,32.34347],[102.169867,32.343473],[102.16991,32.343487],[102.16993,32.343501],[102.169974,32.343566],[102.170012,32.343584],[102.170085,32.343598],[102.170178,32.343584],[102.170216,32.343578],[102.170253,32.343622],[102.170259,32.343651],[102.170254,32.343703],[102.170252,32.34373],[102.170278,32.3441],[102.170274,32.344147],[102.17025,32.344219],[102.170152,32.344396],[102.170104,32.344464],[102.170078,32.344489],[102.169965,32.344557],[102.169782,32.344693],[102.169763,32.344716],[102.169742,32.344742],[102.169724,32.344802],[102.169729,32.344829],[102.169747,32.344857],[102.169821,32.344921],[102.169903,32.344971],[102.169938,32.345017],[102.169951,32.3451],[102.169952,32.345233],[102.169974,32.345376],[102.169977,32.345398],[102.170054,32.345677],[102.170068,32.345763],[102.170101,32.345842],[102.170133,32.345886],[102.170143,32.345896],[102.170219,32.345971],[102.170262,32.345999],[102.170368,32.346048],[102.170402,32.346079],[102.170417,32.346112],[102.170425,32.346144],[102.170419,32.346185],[102.170335,32.34625],[102.170314,32.346288],[102.170297,32.346357],[102.170292,32.346408],[102.170278,32.346537],[102.170283,32.346606],[102.170302,32.346678],[102.170357,32.346782],[102.170398,32.346828],[102.170423,32.346844],[102.170465,32.346855],[102.170633,32.34686],[102.170662,32.346868],[102.170699,32.346909],[102.170727,32.346989],[102.170749,32.347024],[102.170787,32.347067],[102.170826,32.347085],[102.170881,32.347086],[102.170982,32.347058],[102.171085,32.346999],[102.171222,32.346903],[102.171288,32.34688],[102.171363,32.346853],[102.171455,32.346848],[102.171548,32.346866],[102.171613,32.346894],[102.171646,32.346928],[102.171671,32.347008],[102.171661,32.347055],[102.171562,32.347183],[102.171526,32.347229],[102.171437,32.34743],[102.171363,32.34756],[102.17103,32.348018],[102.171015,32.34806],[102.170996,32.34811],[102.170998,32.348207],[102.171014,32.348252],[102.171066,32.348296],[102.171121,32.34832],[102.171203,32.348334],[102.171262,32.348319],[102.171371,32.34826],[102.171541,32.348193],[102.171633,32.348157],[102.171713,32.348155],[102.17174,32.348176],[102.171758,32.348217],[102.171764,32.348254],[102.171756,32.348413],[102.171746,32.348432],[102.171697,32.348471],[102.171652,32.348522],[102.17164,32.348554],[102.17165,32.348581],[102.171718,32.348673],[102.171724,32.348696],[102.17171,32.348738],[102.17164,32.348765],[102.171618,32.348796],[102.171662,32.348993],[102.171672,32.349019],[102.171718,32.349139],[102.171786,32.349255],[102.171838,32.349308],[102.171929,32.349373],[102.171968,32.349411],[102.171983,32.349425],[102.172055,32.349517],[102.172113,32.349665],[102.172164,32.349765],[102.172178,32.349843],[102.172167,32.349904],[102.172128,32.349964],[102.171938,32.350074],[102.171907,32.350106],[102.171896,32.35013],[102.17189,32.350183],[102.171902,32.350277],[102.171938,32.350361],[102.172068,32.350508],[102.172169,32.350662],[102.172248,32.350737],[102.172475,32.350905],[102.172566,32.350973],[102.172618,32.351045],[102.172636,32.351095],[102.172634,32.351145],[102.172616,32.35121],[102.172582,32.351279],[102.17254,32.351329],[102.172431,32.351391],[102.17229,32.351448],[102.17226,32.351464],[102.172188,32.351504],[102.17211,32.351561],[102.17206,32.351623],[102.172034,32.351672],[102.171988,32.351756],[102.171954,32.351843],[102.171937,32.351919],[102.171934,32.352105],[102.17191,32.352192],[102.171882,32.352205],[102.171744,32.352198],[102.171706,32.352203],[102.171625,32.352249],[102.171604,32.35227],[102.171589,32.352302],[102.171592,32.352337],[102.171615,32.352391],[102.171626,32.352404],[102.171665,32.352448],[102.171722,32.352481],[102.171834,32.352528],[102.172203,32.352624],[102.172239,32.352665],[102.172272,32.35276],[102.172255,32.35327],[102.17223,32.353346],[102.172199,32.353378],[102.172148,32.353398],[102.172115,32.353399],[102.17193,32.353368],[102.171848,32.353345],[102.171727,32.353282],[102.171601,32.353232],[102.171572,32.353229],[102.171547,32.353236],[102.171509,32.353286],[102.1715,32.353331],[102.171519,32.353383],[102.171707,32.353686],[102.171789,32.353776],[102.171789,32.353806],[102.171753,32.353903],[102.171752,32.353948],[102.171773,32.354048],[102.171821,32.354155],[102.171823,32.354223],[102.171808,32.354257],[102.171785,32.354281],[102.171707,32.35433],[102.171537,32.354369],[102.171411,32.354429],[102.171355,32.354479],[102.171345,32.354493],[102.171312,32.354543],[102.171285,32.354639],[102.171297,32.354708],[102.171339,32.354748],[102.171395,32.354777],[102.171554,32.354859],[102.171573,32.354877],[102.171577,32.354915],[102.171556,32.354979],[102.171511,32.35505],[102.17149,32.355063],[102.171457,32.355066],[102.171395,32.35507],[102.171365,32.355086],[102.17135,32.355109],[102.171353,32.355127],[102.171384,32.355181],[102.171463,32.355266],[102.171473,32.355317],[102.171464,32.355352],[102.171439,32.355373],[102.171342,32.355415],[102.171199,32.355432],[102.171176,32.355448],[102.171164,32.355483],[102.171165,32.355509],[102.171176,32.355528],[102.171261,32.355566],[102.171305,32.355599],[102.171346,32.355649],[102.171372,32.355711],[102.171379,32.355773],[102.171329,32.355919],[102.171326,32.355972],[102.171364,32.356163],[102.171368,32.356279],[102.171391,32.35637],[102.171407,32.356401],[102.17143,32.356428],[102.17146,32.356446],[102.171552,32.356468],[102.17158,32.35647],[102.171642,32.356474],[102.171766,32.35645],[102.1718,32.356454],[102.171841,32.356496],[102.171863,32.356548],[102.171866,32.356598],[102.171849,32.356651],[102.17181,32.356693],[102.171479,32.35678],[102.17142,32.356808],[102.171401,32.35683],[102.171391,32.356879],[102.171401,32.356928],[102.171426,32.356954],[102.171502,32.356999],[102.171563,32.357065],[102.171565,32.357122],[102.171547,32.357157],[102.171486,32.357186],[102.171434,32.35719],[102.171309,32.357146],[102.171192,32.357081],[102.171125,32.357076],[102.171077,32.357091],[102.171047,32.357128],[102.171007,32.357212],[102.170997,32.357263],[102.170984,32.357553],[102.170972,32.357586],[102.170934,32.357632],[102.170912,32.357645],[102.170892,32.357643],[102.170817,32.357611],[102.170732,32.357562],[102.170676,32.357546],[102.170606,32.35755],[102.170529,32.357569],[102.170476,32.357598],[102.170426,32.357646],[102.17024,32.35793],[102.170221,32.35798],[102.170216,32.357994],[102.170225,32.358092],[102.170244,32.358132],[102.170256,32.358148],[102.170345,32.358277],[102.170366,32.358344],[102.170355,32.358375],[102.170265,32.358475],[102.170244,32.358498],[102.170224,32.358563],[102.170225,32.358642],[102.17023,32.358661],[102.170252,32.358731],[102.170367,32.358887],[102.170438,32.359024],[102.170472,32.359122],[102.170481,32.359192],[102.170478,32.359236],[102.170457,32.359262],[102.170404,32.359294],[102.170374,32.359304],[102.170223,32.359327],[102.170156,32.359349],[102.170051,32.359416],[102.170001,32.359484],[102.169963,32.35951],[102.169942,32.359512],[102.169894,32.359489],[102.169873,32.359472],[102.169857,32.359439],[102.169851,32.359377],[102.169867,32.359225],[102.169857,32.359184],[102.169831,32.359143],[102.169807,32.359126],[102.169753,32.35911],[102.169642,32.359099],[102.169593,32.359109],[102.169568,32.359126],[102.169537,32.359174],[102.169517,32.359237],[102.169516,32.359272],[102.169538,32.359405],[102.169549,32.359438],[102.169622,32.359654],[102.169621,32.359695],[102.169587,32.359745],[102.169536,32.359783],[102.169503,32.359791],[102.169426,32.359793],[102.169367,32.359825],[102.169307,32.359889],[102.169269,32.359971],[102.169243,32.359977],[102.169189,32.359971],[102.169095,32.359944],[102.169061,32.359925],[102.16904,32.359892],[102.168999,32.359727],[102.168987,32.359679],[102.168936,32.359644],[102.168892,32.359632],[102.168864,32.359632],[102.168822,32.359649],[102.168799,32.359669],[102.168736,32.359758],[102.168642,32.359892],[102.168509,32.359999],[102.168474,32.360055],[102.168461,32.360113],[102.168508,32.360247],[102.16851,32.360305],[102.168493,32.360332],[102.168329,32.360274],[102.168202,32.360208],[102.168135,32.3602],[102.168093,32.360207],[102.16792,32.360263],[102.16777,32.360267],[102.167718,32.360282],[102.167691,32.360307],[102.167662,32.360366],[102.167647,32.360453],[102.167602,32.360483],[102.167517,32.360499],[102.167423,32.360475],[102.16735,32.360467],[102.167309,32.360476],[102.167299,32.360485],[102.167292,32.360491],[102.167267,32.360568],[102.167272,32.360624],[102.167287,32.360669],[102.16733,32.360748],[102.167338,32.360762],[102.167385,32.360805],[102.167496,32.360826],[102.167508,32.360841],[102.16747,32.360919],[102.167426,32.360977],[102.167403,32.360995],[102.167326,32.361023],[102.167297,32.361049],[102.167291,32.361079],[102.167317,32.361267],[102.167298,32.361326],[102.167272,32.361357],[102.167177,32.361399],[102.167123,32.361436],[102.16708,32.361486],[102.167044,32.361546],[102.166951,32.361774],[102.166935,32.361833],[102.166928,32.361931],[102.166929,32.361939],[102.166941,32.362036],[102.167,32.362201],[102.167039,32.362247],[102.167095,32.362286],[102.167155,32.362305],[102.167195,32.362308],[102.167294,32.362299],[102.167412,32.36227],[102.167496,32.362266],[102.167529,32.362277],[102.167632,32.362341],[102.167687,32.362384],[102.167729,32.362436],[102.16774,32.362479],[102.167732,32.3628],[102.16775,32.362837],[102.16779,32.362878],[102.167823,32.362885],[102.16785,32.362873],[102.167862,32.362862],[102.167942,32.36278],[102.167971,32.362762],[102.168041,32.362751],[102.168063,32.362756],[102.168087,32.362825],[102.168085,32.362884],[102.168024,32.363037],[102.168006,32.363051],[102.167901,32.363064],[102.167846,32.363088],[102.167797,32.363124],[102.167783,32.363167],[102.167804,32.363226],[102.167823,32.363252],[102.167844,32.363266],[102.167879,32.363274],[102.168007,32.363276],[102.168025,32.363283],[102.168038,32.363307],[102.168045,32.36336],[102.168041,32.363372],[102.168021,32.363383],[102.167923,32.363402],[102.167807,32.363446],[102.167562,32.363567],[102.167037,32.363758],[102.166873,32.36383],[102.166824,32.363859],[102.166802,32.363901],[102.166783,32.364],[102.166782,32.364058],[102.166957,32.364539],[102.166967,32.364621],[102.166964,32.364696],[102.166962,32.364724],[102.16695,32.364749],[102.166903,32.364768],[102.166822,32.36478],[102.166729,32.364779],[102.166681,32.364791],[102.166648,32.364813],[102.166597,32.364869],[102.166573,32.364939],[102.166578,32.365003],[102.166609,32.365039],[102.166667,32.365059],[102.166765,32.365072],[102.166876,32.36506],[102.167163,32.364995],[102.167209,32.364984],[102.16735,32.364963],[102.167472,32.364956],[102.167658,32.364969],[102.167707,32.364984],[102.167772,32.365021],[102.16787,32.365104],[102.167919,32.365161],[102.167947,32.365194],[102.167986,32.365265],[102.16801,32.36534],[102.168009,32.365413],[102.167994,32.365468],[102.16797,32.365495],[102.167908,32.365525],[102.167769,32.365546],[102.167709,32.365578],[102.167653,32.365625],[102.167606,32.36568],[102.167581,32.365729],[102.167573,32.365776],[102.167577,32.365817],[102.167593,32.365852],[102.167646,32.365909],[102.167681,32.365928],[102.167735,32.365924],[102.167841,32.365877],[102.16786,32.365875],[102.16788,32.365885],[102.167908,32.365912],[102.167918,32.365934],[102.167907,32.366011],[102.167853,32.36611],[102.167739,32.366152],[102.167694,32.366179],[102.167614,32.366242],[102.16758,32.366279],[102.167542,32.366341],[102.167533,32.366374],[102.167545,32.366463],[102.167567,32.3665],[102.167592,32.366519],[102.167653,32.36654],[102.167746,32.366553],[102.1678,32.366549],[102.167941,32.366518],[102.168047,32.366471],[102.168128,32.366436],[102.168223,32.366436],[102.16831,32.36646],[102.168316,32.366464],[102.168354,32.36649],[102.168381,32.366519],[102.168404,32.366558],[102.168429,32.3666],[102.168464,32.366718],[102.168486,32.366788],[102.168482,32.366907],[102.168504,32.366954],[102.168547,32.366978],[102.168628,32.366998],[102.168645,32.367002],[102.168663,32.367001],[102.168738,32.366995],[102.168829,32.366988],[102.168878,32.366994],[102.168976,32.367031],[102.169023,32.36706],[102.169052,32.367089],[102.169066,32.367124],[102.16907,32.367174],[102.169049,32.367237],[102.168976,32.367326],[102.168907,32.367455],[102.168828,32.367566],[102.168738,32.367663],[102.168652,32.367733],[102.168603,32.367816],[102.168597,32.36788],[102.168637,32.367966],[102.168635,32.368045],[102.168616,32.368117],[102.168552,32.36817],[102.168535,32.368194],[102.168529,32.368238],[102.168541,32.36829],[102.168577,32.368347],[102.168625,32.368368],[102.168687,32.36837],[102.168739,32.368364],[102.168831,32.368328],[102.168881,32.368338],[102.168944,32.368372],[102.169007,32.368433],[102.169072,32.368451],[102.169112,32.368441],[102.169155,32.368383],[102.169178,32.368363],[102.169185,32.368357],[102.169313,32.368295],[102.169356,32.368282],[102.169427,32.368274],[102.169469,32.368277],[102.169487,32.368279],[102.169507,32.368289],[102.169512,32.368345],[102.169514,32.368363],[102.169498,32.368414],[102.169462,32.368533],[102.169462,32.368612],[102.169472,32.368669],[102.1695,32.368737],[102.16961,32.368871],[102.169668,32.368941],[102.169684,32.368983],[102.16969,32.369029],[102.169687,32.369057],[102.169685,32.369077],[102.169684,32.36909],[102.169682,32.369114],[102.169664,32.36919],[102.169619,32.369298],[102.169595,32.369384],[102.169589,32.369443],[102.169594,32.369468],[102.169625,32.369514],[102.169694,32.369575],[102.169718,32.369591],[102.169858,32.369687],[102.169895,32.369735],[102.169914,32.369784],[102.169884,32.369886],[102.169856,32.369935],[102.1698,32.369988],[102.169709,32.370051],[102.169656,32.370114],[102.169651,32.370131],[102.169658,32.370152],[102.169752,32.370221],[102.16974,32.370263],[102.169715,32.37028],[102.169611,32.370292],[102.169547,32.370323],[102.169507,32.370358],[102.16948,32.370425],[102.169484,32.370471],[102.169517,32.370542],[102.169533,32.37063],[102.16956,32.37069],[102.169604,32.370733],[102.169626,32.370755],[102.169781,32.37086],[102.169801,32.370894],[102.169799,32.370951],[102.169759,32.37098],[102.169705,32.370998],[102.169495,32.370997],[102.16947,32.370981],[102.169383,32.370867],[102.16934,32.370827],[102.169328,32.370822],[102.169286,32.370803],[102.169248,32.370797],[102.169226,32.370803],[102.169209,32.370821],[102.169193,32.370869],[102.169204,32.370976],[102.1692,32.371021],[102.169126,32.371047],[102.169103,32.371085],[102.169099,32.371108],[102.169115,32.371142],[102.169229,32.371224],[102.169271,32.371268],[102.169288,32.371316],[102.169289,32.371398],[102.169268,32.371455],[102.169184,32.37148],[102.169127,32.371533],[102.169064,32.371659],[102.16904,32.371789],[102.16905,32.371847],[102.169077,32.371883],[102.169115,32.371908],[102.169142,32.371925],[102.16925,32.37195],[102.169273,32.371982],[102.169276,32.371999],[102.169145,32.372039],[102.169128,32.372053],[102.169121,32.372068],[102.169142,32.372129],[102.169167,32.372149],[102.169231,32.372176],[102.169236,32.372212],[102.169223,32.372225],[102.16898,32.372278],[102.168864,32.372323],[102.168815,32.372373],[102.168781,32.372437],[102.16876,32.372475],[102.168743,32.372533],[102.168746,32.372591],[102.168759,32.372618],[102.168799,32.372651],[102.16885,32.372657],[102.168924,32.37263],[102.168971,32.372595],[102.169001,32.372555],[102.169023,32.372497],[102.169044,32.372487],[102.169065,32.372477],[102.169111,32.37248],[102.169107,32.372562],[102.169106,32.372597],[102.169122,32.372671],[102.169134,32.372691],[102.169156,32.37271],[102.169163,32.372715],[102.169308,32.372778],[102.169316,32.372826],[102.1693,32.372875],[102.16928,32.372897],[102.168963,32.373085],[102.168886,32.373145],[102.16888,32.373168],[102.168894,32.37321],[102.168973,32.373364],[102.16897,32.373441],[102.168953,32.373479],[102.168927,32.373507],[102.168914,32.373512],[102.168792,32.373495],[102.168688,32.373499],[102.16814,32.373634],[102.168012,32.373713],[102.167943,32.373783],[102.167914,32.373867],[102.167914,32.373875],[102.167903,32.373986],[102.167917,32.374041],[102.167963,32.374101],[102.168037,32.374152],[102.168154,32.374188],[102.168218,32.374189],[102.168245,32.374181],[102.168253,32.374179],[102.168365,32.37413],[102.168456,32.37408],[102.168496,32.374076],[102.168525,32.374086],[102.168551,32.374145],[102.168555,32.374178],[102.168546,32.374193],[102.168516,32.374192],[102.168461,32.374166],[102.168432,32.374166],[102.168397,32.374181],[102.16838,32.374212],[102.16839,32.374252],[102.168458,32.374334],[102.168512,32.374461],[102.168539,32.374492],[102.168618,32.374552],[102.168663,32.374557],[102.168764,32.374531],[102.168783,32.374539],[102.168816,32.374569],[102.168821,32.374578],[102.168835,32.374604],[102.168832,32.374631],[102.168822,32.374641],[102.168812,32.374645],[102.168705,32.374678],[102.168654,32.374709],[102.168641,32.374718],[102.168621,32.37474],[102.168604,32.374778],[102.168615,32.374837],[102.168637,32.374857],[102.168681,32.374878],[102.168761,32.374876],[102.16881,32.374919],[102.168843,32.37493],[102.168884,32.374919],[102.168897,32.374911],[102.168904,32.374906],[102.168935,32.37485],[102.16895,32.374837],[102.168987,32.374825],[102.169009,32.374825],[102.169026,32.374964],[102.169014,32.374997],[102.168992,32.375016],[102.168965,32.375025],[102.168949,32.37503],[102.168914,32.375041],[102.168885,32.375061],[102.168866,32.375089],[102.168829,32.37521],[102.168753,32.375359],[102.168711,32.375392],[102.168673,32.375396],[102.168653,32.375412],[102.168653,32.375429],[102.168668,32.37546],[102.168723,32.375521],[102.168803,32.375581],[102.168846,32.375582],[102.16886,32.37557],[102.168879,32.375524],[102.16887,32.375496],[102.168844,32.375478],[102.168844,32.375471],[102.168871,32.375464],[102.168961,32.375463],[102.168996,32.375454],[102.169025,32.375441],[102.169059,32.37541],[102.169071,32.37531],[102.169075,32.375271],[102.169104,32.375203],[102.169121,32.375165],[102.169196,32.37518],[102.169205,32.375182],[102.169256,32.375182],[102.169297,32.375159],[102.169344,32.375096],[102.169419,32.375068],[102.169455,32.375089],[102.169482,32.375151],[102.169486,32.375188],[102.169355,32.375259],[102.169341,32.375289],[102.169348,32.375319],[102.169391,32.375347],[102.169452,32.375366],[102.169513,32.375344],[102.169565,32.375289],[102.169585,32.375302],[102.169599,32.375325],[102.169606,32.375396],[102.169599,32.375427],[102.169524,32.375495],[102.169497,32.375535],[102.169493,32.375565],[102.169506,32.375598],[102.169511,32.375609],[102.169584,32.375661],[102.16963,32.375669],[102.169652,32.375662],[102.169717,32.375606],[102.169758,32.375595],[102.1698,32.375635],[102.169854,32.375672],[102.169956,32.375702],[102.169955,32.375757],[102.169921,32.375785],[102.169772,32.375806],[102.169625,32.375792],[102.169565,32.375793],[102.169532,32.375813],[102.169503,32.375863],[102.169497,32.375895],[102.169503,32.375921],[102.169542,32.37595],[102.169586,32.375959],[102.169675,32.375951],[102.169721,32.375955],[102.169733,32.37598],[102.169731,32.375996],[102.169667,32.376042],[102.169655,32.376069],[102.169658,32.376089],[102.169696,32.37613],[102.169724,32.376146],[102.169828,32.376162],[102.169846,32.376197],[102.16972,32.376269],[102.169689,32.376298],[102.16968,32.376327],[102.169707,32.376378],[102.169706,32.376394],[102.169698,32.376419],[102.169674,32.376454],[102.169641,32.376463],[102.169608,32.37645],[102.169547,32.376445],[102.1695,32.376463],[102.169481,32.376482],[102.169469,32.376521],[102.169481,32.376592],[102.169411,32.376683],[102.169417,32.376701],[102.169433,32.376716],[102.169478,32.376734],[102.169564,32.37674],[102.169601,32.376733],[102.169628,32.376779],[102.169645,32.376827],[102.169643,32.376861],[102.16963,32.376884],[102.169552,32.376952],[102.169533,32.37699],[102.169542,32.377018],[102.169588,32.377048],[102.169595,32.377064],[102.169582,32.377135],[102.169584,32.377234],[102.169554,32.377361],[102.169517,32.377365],[102.169487,32.377396],[102.169476,32.377519],[102.169432,32.377562],[102.169398,32.377567],[102.169384,32.377547],[102.169367,32.377481],[102.169344,32.377461],[102.169309,32.37745],[102.16929,32.377458],[102.169256,32.377492],[102.169204,32.377521],[102.169122,32.37754],[102.169104,32.377517],[102.169078,32.377458],[102.169062,32.377442],[102.169022,32.377418],[102.169013,32.377412],[102.168961,32.377401],[102.168897,32.377405],[102.168878,32.377413],[102.16884,32.377462],[102.168839,32.377493],[102.168867,32.377543],[102.169062,32.377678],[102.169121,32.377747],[102.169133,32.377781],[102.169139,32.3778],[102.169125,32.377829],[102.169089,32.377852],[102.169081,32.377878],[102.169085,32.377896],[102.169267,32.378134],[102.169366,32.378216],[102.169406,32.378264],[102.169415,32.378299],[102.169397,32.378371],[102.169417,32.378418],[102.169569,32.37854],[102.169701,32.378599],[102.16983,32.378681],[102.169923,32.378717],[102.170006,32.378733],[102.17003,32.378737],[102.170037,32.378771],[102.170043,32.378964],[102.170032,32.378983],[102.170025,32.378995],[102.169959,32.379055],[102.169948,32.379087],[102.169968,32.37916],[102.170007,32.379205],[102.170021,32.379268],[102.17007,32.379335],[102.170131,32.379421],[102.170135,32.379444],[102.170108,32.379481],[102.170086,32.379494],[102.170063,32.379508],[102.169967,32.37946],[102.169936,32.379464],[102.169896,32.379486],[102.169876,32.37952],[102.169877,32.379541],[102.169927,32.379628],[102.169959,32.37974],[102.16996,32.379769],[102.169943,32.37978],[102.169856,32.37974],[102.169819,32.379736],[102.169803,32.379745],[102.16978,32.379776],[102.169766,32.379849],[102.16978,32.379947],[102.169812,32.379992],[102.169842,32.380008],[102.169867,32.380011],[102.169991,32.379968],[102.170022,32.37997],[102.170048,32.379984],[102.170071,32.38001],[102.170084,32.380069],[102.170052,32.380128],[102.170017,32.380158],[102.16995,32.380176],[102.16985,32.380187],[102.169811,32.380203],[102.169658,32.380312],[102.169519,32.380374],[102.169498,32.380404],[102.169495,32.38043],[102.169541,32.380485],[102.169573,32.380514],[102.169801,32.38073],[102.169856,32.380804],[102.1699,32.380833],[102.169953,32.380838],[102.170001,32.380819],[102.170031,32.38079],[102.170051,32.380736],[102.170129,32.380682],[102.17019,32.380664],[102.170201,32.380664],[102.170213,32.380664],[102.170228,32.380672],[102.170243,32.380706],[102.170237,32.380746],[102.170226,32.380755],[102.170162,32.380814],[102.170111,32.380859],[102.17008,32.380928],[102.170083,32.380965],[102.170116,32.380999],[102.170136,32.381006],[102.170184,32.381022],[102.170252,32.381034],[102.1703,32.381028],[102.170313,32.381027],[102.170402,32.380993],[102.170411,32.381012],[102.17041,32.381035],[102.17038,32.38109],[102.170324,32.381115],[102.170283,32.381133],[102.170248,32.381168],[102.170223,32.381212],[102.17021,32.381261],[102.170209,32.381299],[102.170219,32.38134],[102.170238,32.381368],[102.170233,32.381406],[102.170226,32.381416],[102.170198,32.381417],[102.170163,32.381436],[102.170155,32.381529],[102.170123,32.381548],[102.170115,32.381563],[102.170151,32.381649],[102.170137,32.381729],[102.17011,32.38176],[102.170082,32.381776],[102.169969,32.381775],[102.169916,32.381785],[102.16989,32.381807],[102.16989,32.381849],[102.169986,32.382001],[102.170029,32.382121],[102.170053,32.382187],[102.170089,32.382224],[102.170129,32.382233],[102.170168,32.38223],[102.170189,32.382245],[102.170224,32.382298],[102.170233,32.382311],[102.170276,32.382424],[102.1703,32.382457],[102.170357,32.3825],[102.170403,32.382554],[102.17044,32.38257],[102.170486,32.382573],[102.170517,32.382564],[102.170571,32.382549],[102.170605,32.38254],[102.170627,32.382546],[102.170709,32.382594],[102.17077,32.382669],[102.170786,32.38271],[102.170783,32.382744],[102.170679,32.383003],[102.170641,32.383081],[102.170601,32.383166],[102.17053,32.38324],[102.170387,32.383301],[102.170305,32.383353],[102.170276,32.383384],[102.170266,32.383394],[102.170254,32.383431],[102.170263,32.383499],[102.1703,32.383573],[102.170312,32.383597],[102.170391,32.383721],[102.170437,32.383764],[102.170477,32.38378],[102.17054,32.383806],[102.170566,32.383838],[102.17057,32.383861],[102.170542,32.383997],[102.170512,32.384046],[102.170453,32.38408],[102.170379,32.384108],[102.170241,32.384142],[102.170167,32.384179],[102.170114,32.384232],[102.170094,32.384291],[102.170101,32.38434],[102.170112,32.38436],[102.170138,32.384382],[102.170284,32.384454],[102.170451,32.384503],[102.170476,32.384524],[102.170517,32.384628],[102.170615,32.384752],[102.170646,32.384821],[102.170657,32.384891],[102.170657,32.385033],[102.170606,32.385091],[102.170576,32.385106],[102.170544,32.385112],[102.170513,32.385111],[102.170474,32.385098],[102.170445,32.385062],[102.170419,32.385047],[102.170356,32.385045],[102.170285,32.385077],[102.170207,32.385147],[102.170178,32.385199],[102.170183,32.385245],[102.17031,32.385366],[102.170333,32.385419],[102.170304,32.385444],[102.170203,32.3855],[102.170209,32.385536],[102.170167,32.385569],[102.170108,32.385784],[102.170015,32.385858],[102.169944,32.385946],[102.169867,32.386081],[102.169857,32.386111],[102.16983,32.386195],[102.169838,32.386258],[102.169856,32.386286],[102.169927,32.38633],[102.169938,32.386337],[102.170088,32.386394],[102.170126,32.386438],[102.170136,32.386465],[102.170127,32.386511],[102.170082,32.386548],[102.170049,32.386559],[102.169927,32.386579],[102.169882,32.386604],[102.169861,32.386637],[102.169867,32.386677],[102.169897,32.386712],[102.169933,32.386753],[102.169999,32.386921],[102.170029,32.386963],[102.170057,32.386982],[102.170072,32.386993],[102.170143,32.387018],[102.170225,32.387013],[102.17026,32.387022],[102.17029,32.387052],[102.170294,32.387056],[102.170298,32.387088],[102.170272,32.387137],[102.170167,32.387193],[102.170015,32.387232],[102.169989,32.387242],[102.169979,32.387248],[102.169878,32.387286],[102.169648,32.387353],[102.169345,32.387398],[102.169289,32.387423],[102.169242,32.387471],[102.169239,32.387476],[102.169195,32.38756],[102.169185,32.38761],[102.169194,32.387663],[102.169162,32.38768],[102.169185,32.387711],[102.169219,32.387728],[102.169262,32.387734],[102.169325,32.387735],[102.169376,32.387748],[102.169411,32.387776],[102.169418,32.387779],[102.169447,32.387798],[102.169489,32.38785],[102.169543,32.387957],[102.169538,32.387984],[102.169525,32.387997],[102.169491,32.388002],[102.169446,32.387997],[102.16944,32.387997],[102.169433,32.387997],[102.169427,32.387998],[102.169422,32.388],[102.169389,32.388012],[102.169383,32.388014],[102.169378,32.388018],[102.169373,32.388022],[102.169369,32.388026],[102.169322,32.388089],[102.169323,32.388123],[102.169358,32.38817],[102.169454,32.38823],[102.169541,32.388284],[102.169601,32.388324],[102.16964,32.38834],[102.169652,32.388339],[102.169688,32.388329],[102.169707,32.388312],[102.169784,32.388289],[102.169816,32.38829],[102.169845,32.388303],[102.169912,32.388356],[102.169955,32.388416],[102.169967,32.388471],[102.169996,32.388564],[102.170087,32.388637],[102.170104,32.38866],[102.17012,32.388663],[102.170133,32.388674],[102.170597,32.389047],[102.170616,32.389186],[102.170643,32.38922],[102.170649,32.389249],[102.170641,32.389284],[102.170631,32.389302],[102.1707,32.389803],[102.170688,32.390169],[102.170687,32.390204],[102.170679,32.390479],[102.170661,32.390492],[102.170641,32.390528],[102.170655,32.390583],[102.170666,32.3906],[102.170642,32.390776],[102.170637,32.390813],[102.170614,32.390974],[102.170609,32.391013],[102.170568,32.391306],[102.170806,32.391705],[102.170823,32.391733],[102.170849,32.391778],[102.17169,32.391941],[102.172497,32.391815],[102.172758,32.391853],[102.17277,32.391855],[102.172826,32.391863],[102.172956,32.391882],[102.173086,32.3919],[102.173102,32.392034],[102.173109,32.392091],[102.173113,32.392123],[102.17316,32.392508],[102.173166,32.392559],[102.173187,32.392727],[102.1732,32.392827],[102.173205,32.392866],[102.173208,32.39289],[102.173214,32.392941],[102.173289,32.393519],[102.173699,32.394124],[102.173727,32.394165],[102.173734,32.394174],[102.173814,32.394176],[102.173881,32.394177],[102.174325,32.394187],[102.174762,32.393731],[102.174763,32.393681],[102.174765,32.393624],[102.174767,32.393573],[102.174777,32.393229],[102.175201,32.393203],[102.175611,32.393369],[102.175632,32.393375],[102.175651,32.393383],[102.175933,32.393496],[102.176002,32.393524],[102.176065,32.393549],[102.176244,32.393621],[102.176434,32.393693],[102.176551,32.393737],[102.176618,32.393763],[102.176719,32.393801],[102.176767,32.393819],[102.176874,32.39386],[102.1769,32.39387],[102.177247,32.394002],[102.178007,32.394204],[102.178067,32.394221],[102.178127,32.394237],[102.178118,32.394259],[102.178099,32.394304],[102.177899,32.394769],[102.177087,32.395528],[102.176606,32.396474],[102.17674,32.397624],[102.176743,32.397648],[102.176769,32.397807],[102.176776,32.397853],[102.176786,32.397915],[102.177022,32.3994],[102.177688,32.401566],[102.177736,32.403623],[102.177831,32.407833],[102.177899,32.409269],[102.178143,32.41047],[102.178906,32.411703],[102.180106,32.412881],[102.180948,32.414017],[102.181391,32.415177],[102.182047,32.415903],[102.182793,32.416292],[102.183051,32.416975],[102.183905,32.417738],[102.184315,32.418695],[102.184373,32.419374],[102.184198,32.419877],[102.183544,32.420371],[102.182488,32.420956],[102.181511,32.421577],[102.180403,32.422568],[102.180289,32.422689],[102.179495,32.423529],[102.178769,32.42507],[102.178134,32.426207],[102.17782,32.427317],[102.177956,32.428098],[102.177654,32.428802],[102.177884,32.430398],[102.178558,32.431835],[102.17904,32.432997],[102.179353,32.434493],[102.179334,32.435102],[102.179828,32.435892],[102.180074,32.43698],[102.179974,32.437621],[102.179582,32.438662],[102.178953,32.439629],[102.178165,32.440593],[102.176729,32.4431],[102.176494,32.444245],[102.176604,32.445839],[102.176963,32.447133],[102.177262,32.449069],[102.177301,32.450356],[102.17725,32.450899],[102.177122,32.452248],[102.177051,32.453262],[102.177609,32.45456],[102.178293,32.455659],[102.179957,32.457355],[102.180516,32.458653],[102.181184,32.460259],[102.182061,32.461599],[102.182871,32.462497],[102.184357,32.463512],[102.185543,32.463877],[102.186502,32.463865],[102.187653,32.46406],[102.188354,32.464651],[102.189001,32.465647],[102.189325,32.466805],[102.189451,32.467891],[102.189841,32.468837],[102.189859,32.468882],[102.189859,32.468887],[102.189853,32.470371],[102.189847,32.470541],[102.189845,32.470611],[102.189816,32.471555],[102.190121,32.472689],[102.190209,32.473019],[102.190869,32.473643],[102.191625,32.475014],[102.191566,32.475622],[102.191362,32.477039],[102.191084,32.478285],[102.190829,32.48004],[102.190431,32.482569],[102.190356,32.483147],[102.190347,32.483219],[102.190247,32.483987],[102.190245,32.484007],[102.190116,32.484999],[102.190196,32.48754],[102.190146,32.489163],[102.190308,32.49166],[102.190407,32.493101],[102.190422,32.493317],[102.190289,32.493264],[102.190041,32.493187],[102.189735,32.49318],[102.18965,32.493201],[102.189537,32.49327],[102.189418,32.493503],[102.189328,32.493713],[102.189211,32.493923],[102.189121,32.494108],[102.188996,32.494439],[102.18897,32.494508],[102.18882,32.494909],[102.18867,32.495309],[102.188546,32.495638],[102.188422,32.495968],[102.188242,32.496378],[102.188062,32.496789],[102.187883,32.4972],[102.187703,32.49761],[102.187523,32.498021],[102.187445,32.498283],[102.187368,32.498545],[102.18729,32.498807],[102.187213,32.499069],[102.187135,32.499331],[102.187058,32.499593],[102.18698,32.499855],[102.186903,32.500116],[102.186895,32.500143],[102.186803,32.500435],[102.18671,32.500727],[102.186614,32.501126],[102.186482,32.501323],[102.186351,32.501519],[102.186282,32.501581],[102.186155,32.501696],[102.18596,32.501872],[102.185764,32.502048],[102.185568,32.502224],[102.185373,32.5024],[102.185177,32.502576],[102.184977,32.502736],[102.184777,32.502897],[102.184577,32.503057],[102.184378,32.503218],[102.184178,32.503378],[102.184055,32.503476],[102.183978,32.503538],[102.183769,32.503671],[102.183561,32.503804],[102.183353,32.503936],[102.183144,32.504069],[102.182936,32.504202],[102.182728,32.504334],[102.182566,32.504537],[102.182403,32.504739],[102.182241,32.504941],[102.182079,32.505143],[102.181916,32.505345],[102.181754,32.505547],[102.181592,32.505749],[102.181429,32.505951],[102.181267,32.506153],[102.181105,32.506355],[102.180942,32.506557],[102.18078,32.506759],[102.180611,32.506935],[102.180442,32.507111],[102.180273,32.507287],[102.180104,32.507462],[102.179935,32.507638],[102.179766,32.507814],[102.179597,32.50799],[102.179428,32.508165],[102.179254,32.50831],[102.179079,32.508454],[102.178905,32.508599],[102.178731,32.508743],[102.178556,32.508887],[102.178382,32.509032],[102.178208,32.509176],[102.178033,32.509321],[102.177859,32.509465],[102.177685,32.50961],[102.177468,32.509723],[102.177251,32.509835],[102.177035,32.509948],[102.176818,32.510061],[102.176601,32.510174],[102.176384,32.510287],[102.176147,32.510417],[102.17591,32.510547],[102.175673,32.510677],[102.175436,32.510807],[102.175198,32.510937],[102.174961,32.511067],[102.174724,32.511197],[102.174487,32.511327],[102.174155,32.511563],[102.173822,32.511799],[102.17349,32.512035],[102.173305,32.512184],[102.173119,32.512332],[102.172934,32.512481],[102.172748,32.512629],[102.172694,32.512692],[102.17258,32.512823],[102.172412,32.513017],[102.172244,32.513211],[102.172076,32.513404],[102.171907,32.513598],[102.171739,32.513792],[102.171571,32.513986],[102.171403,32.514179],[102.171235,32.514373],[102.171066,32.514567],[102.170878,32.514742],[102.17069,32.514918],[102.170501,32.515094],[102.170313,32.515269],[102.170124,32.515445],[102.169936,32.515621],[102.169748,32.515796],[102.169559,32.515972],[102.169371,32.516148],[102.169182,32.516323],[102.168994,32.516499],[102.168805,32.516675],[102.168617,32.51685],[102.168429,32.517026],[102.168222,32.517192],[102.168015,32.517358],[102.167808,32.517525],[102.167601,32.517691],[102.167394,32.517857],[102.167187,32.518023],[102.166981,32.518189],[102.166774,32.518356],[102.166567,32.518522],[102.16636,32.518688],[102.166153,32.518854],[102.165946,32.51902],[102.16574,32.519187],[102.165533,32.519353],[102.165351,32.519507],[102.165169,32.519661],[102.164987,32.519815],[102.164806,32.519969],[102.164624,32.520123],[102.164442,32.520277],[102.16426,32.520431],[102.164078,32.520585],[102.163897,32.520739],[102.163715,32.520894],[102.163533,32.521048],[102.163351,32.521202],[102.16317,32.521356],[102.163048,32.521459],[102.162988,32.52151],[102.16279,32.521653],[102.162593,32.521797],[102.162395,32.52194],[102.162198,32.522084],[102.162,32.522227],[102.161803,32.522371],[102.161605,32.522514],[102.161408,32.522658],[102.16121,32.522801],[102.161013,32.522945],[102.160816,32.523088],[102.160618,32.523232],[102.160421,32.523375],[102.160223,32.523519],[102.160165,32.523555],[102.160001,32.523658],[102.159779,32.523798],[102.159557,32.523938],[102.159336,32.524077],[102.159114,32.524217],[102.158892,32.524356],[102.15867,32.524496],[102.158448,32.524635],[102.158226,32.524775],[102.158004,32.524914],[102.157782,32.525054],[102.15756,32.525193],[102.157338,32.525333],[102.1572,32.52542],[102.157117,32.525473],[102.157002,32.525578],[102.156787,32.525777],[102.156457,32.526082],[102.156128,32.526386],[102.155798,32.526691],[102.155603,32.526858],[102.155409,32.527026],[102.155214,32.527193],[102.155019,32.52736],[102.154825,32.527528],[102.15463,32.527695],[102.154436,32.527863],[102.154241,32.52803],[102.154046,32.528198],[102.153852,32.528365],[102.153549,32.528688],[102.153246,32.529011],[102.153017,32.52923],[102.152787,32.529448],[102.152614,32.529667],[102.15244,32.529887],[102.15235,32.530097],[102.15226,32.530307],[102.152196,32.530576],[102.152132,32.530845],[102.15211,32.53108],[102.152089,32.531315],[102.152024,32.531573],[102.151893,32.53177],[102.151762,32.531968],[102.151691,32.53207],[102.151631,32.532157],[102.1515,32.532346],[102.151368,32.532535],[102.151237,32.532724],[102.151106,32.532913],[102.150975,32.533102],[102.150843,32.533291],[102.150712,32.53348],[102.150581,32.533669],[102.15045,32.533858],[102.150287,32.534054],[102.150123,32.534249],[102.14996,32.534444],[102.149797,32.53464],[102.149634,32.534835],[102.14947,32.53503],[102.149307,32.535226],[102.149144,32.535421],[102.149072,32.535662],[102.148999,32.535904],[102.148927,32.536146],[102.148854,32.536387],[102.148782,32.536629],[102.148709,32.536871],[102.148555,32.537267],[102.148463,32.537572],[102.148421,32.537994],[102.148427,32.538265],[102.148433,32.538536],[102.148516,32.538767],[102.148599,32.538998],[102.148682,32.53923],[102.148766,32.539461],[102.148849,32.539693],[102.148932,32.539924],[102.149015,32.540156],[102.149098,32.540387],[102.149217,32.540613],[102.149335,32.540838],[102.149395,32.541123],[102.149455,32.541407],[102.149462,32.541785],[102.149465,32.541969],[102.149408,32.54223],[102.149351,32.54249],[102.149294,32.542751],[102.149237,32.543011],[102.14918,32.543272],[102.149123,32.543533],[102.149065,32.543793],[102.149008,32.544054],[102.148965,32.544288],[102.148921,32.544523],[102.148878,32.544757],[102.148834,32.544992],[102.148791,32.545226],[102.148747,32.545461],[102.148703,32.545695],[102.14866,32.54593],[102.148616,32.546164],[102.148573,32.546399],[102.148563,32.546676],[102.148554,32.546954],[102.148544,32.547232],[102.148535,32.547509],[102.148525,32.547787],[102.148516,32.548064],[102.148485,32.548456],[102.148485,32.548457],[102.148485,32.548457],[102.148454,32.548848],[102.148423,32.54924],[102.148388,32.549451],[102.148277,32.549748],[102.148266,32.549777],[102.148095,32.549926],[102.147923,32.550075],[102.14758,32.55035],[102.147237,32.550625],[102.147037,32.550797],[102.146879,32.550933],[102.146836,32.550969],[102.146715,32.55107],[102.146657,32.551118],[102.146479,32.551267],[102.1463,32.551416],[102.146121,32.551565],[102.146048,32.551652],[102.14587,32.551866],[102.145619,32.552166],[102.145368,32.552466],[102.145221,32.55268],[102.145113,32.552837],[102.145074,32.552894],[102.144927,32.553107],[102.14478,32.553321],[102.144633,32.553535],[102.144486,32.553749],[102.144339,32.553963],[102.144192,32.554176],[102.144142,32.554246],[102.144052,32.554371],[102.143912,32.554565],[102.143772,32.55476],[102.143633,32.554955],[102.143493,32.555149],[102.143353,32.555344],[102.143214,32.555538],[102.143074,32.555733],[102.142934,32.555928],[102.142798,32.556117],[102.142795,32.556122],[102.142746,32.556158],[102.142595,32.556271],[102.142395,32.556419],[102.142204,32.556558],[102.14209,32.556641],[102.142081,32.556648],[102.141954,32.556715],[102.141742,32.556828],[102.141582,32.556863],[102.141348,32.556914],[102.140972,32.556929],[102.140596,32.556943],[102.140177,32.556981],[102.139758,32.557019],[102.139507,32.557014],[102.139257,32.557008],[102.138978,32.557025],[102.138699,32.557042],[102.13842,32.557047],[102.138142,32.557053],[102.137905,32.557083],[102.137667,32.557113],[102.1374,32.557189],[102.137133,32.557266],[102.136737,32.557445],[102.136506,32.557699],[102.136304,32.557929],[102.136102,32.558159],[102.135934,32.558364],[102.135765,32.558568],[102.135596,32.558773],[102.135428,32.558977],[102.135259,32.559182],[102.13509,32.559386],[102.134921,32.55959],[102.134753,32.559795],[102.134585,32.559948],[102.134418,32.560101],[102.134251,32.560254],[102.134083,32.560407],[102.133916,32.56056],[102.133749,32.560713],[102.133438,32.560859],[102.133126,32.561005],[102.132816,32.56114],[102.132506,32.561274],[102.132224,32.561385],[102.131942,32.561496],[102.131606,32.561559],[102.13127,32.561622],[102.131011,32.561669],[102.130752,32.561716],[102.130493,32.561763],[102.130233,32.56181],[102.129813,32.561895],[102.129553,32.561966],[102.129293,32.562036],[102.129034,32.562107],[102.128774,32.562177],[102.128521,32.562254],[102.128268,32.56233],[102.128014,32.562407],[102.127929,32.562433],[102.127761,32.562484],[102.127508,32.56256],[102.127255,32.562637],[102.127002,32.562713],[102.126749,32.56279],[102.126524,32.562855],[102.126299,32.562921],[102.126172,32.562948],[102.125795,32.563027],[102.125542,32.563022],[102.125197,32.562955],[102.124851,32.562888],[102.124607,32.562718],[102.124335,32.562499],[102.12416,32.562331],[102.123984,32.562162],[102.123856,32.561962],[102.123728,32.561761],[102.1236,32.56156],[102.123472,32.561359],[102.123268,32.561225],[102.123064,32.56109],[102.122761,32.560966],[102.122457,32.560889],[102.122384,32.56087],[102.122153,32.560812],[102.121919,32.560747],[102.121685,32.560682],[102.12145,32.560642],[102.121215,32.560601],[102.120937,32.560559],[102.12066,32.560517],[102.120405,32.560492],[102.120151,32.560467],[102.119896,32.560441],[102.119642,32.560416],[102.119387,32.560391],[102.119133,32.560365],[102.118701,32.560367],[102.118348,32.560368],[102.118269,32.560368],[102.117906,32.560395],[102.117543,32.560422],[102.11718,32.560449],[102.116817,32.560476],[102.116466,32.560563],[102.116116,32.56065],[102.115863,32.560761],[102.115611,32.560872],[102.115359,32.560983],[102.115107,32.561095],[102.114855,32.561206],[102.114603,32.561317],[102.114353,32.561423],[102.114102,32.561529],[102.113852,32.561636],[102.113601,32.561742],[102.113351,32.561848],[102.1131,32.561954],[102.11285,32.56206],[102.112599,32.562166],[102.112396,32.562265],[102.112192,32.562364],[102.111988,32.562463],[102.111785,32.562562],[102.111581,32.562661],[102.111377,32.562759],[102.111173,32.562858],[102.11097,32.562957],[102.110766,32.563056],[102.110562,32.563155],[102.110374,32.56328],[102.110186,32.563405],[102.109997,32.563531],[102.109809,32.563656],[102.109631,32.563774],[102.10962,32.563781],[102.109533,32.563839],[102.109432,32.563906],[102.109243,32.564031],[102.109055,32.564157],[102.108827,32.564304],[102.1086,32.564452],[102.108372,32.5646],[102.108144,32.564748],[102.108007,32.564837],[102.107991,32.564847],[102.107917,32.564895],[102.107839,32.564946],[102.107689,32.565043],[102.107462,32.565191],[102.107234,32.565338],[102.106839,32.565494],[102.106443,32.565649],[102.106119,32.565795],[102.105794,32.565941],[102.105532,32.566004],[102.10527,32.566066],[102.105008,32.566129],[102.104747,32.566191],[102.104485,32.566254],[102.104223,32.566317],[102.103961,32.566379],[102.103699,32.566442],[102.103467,32.566501],[102.103236,32.56656],[102.103004,32.56662],[102.102772,32.566679],[102.102541,32.566738],[102.102309,32.566798],[102.102077,32.566857],[102.101846,32.566917],[102.101602,32.566997],[102.101358,32.567078],[102.101114,32.567159],[102.10087,32.56724],[102.100626,32.56732],[102.100382,32.567401],[102.100072,32.567524],[102.099762,32.567646],[102.099515,32.567746],[102.099268,32.567846],[102.099021,32.567946],[102.098774,32.568046],[102.098406,32.568214],[102.098039,32.568382],[102.097773,32.568447],[102.097506,32.568512],[102.097213,32.568552],[102.096919,32.568592],[102.096655,32.568575],[102.096391,32.568557],[102.095947,32.568499],[102.095726,32.568435],[102.095505,32.568372],[102.095286,32.568272],[102.095067,32.568173],[102.094833,32.568038],[102.0946,32.567903],[102.094219,32.567683],[102.093986,32.567548],[102.093754,32.567413],[102.093521,32.567278],[102.093289,32.567143],[102.09311,32.567039],[102.093056,32.567008],[102.092851,32.566889],[102.092824,32.566873],[102.092629,32.566816],[102.092492,32.566775],[102.092419,32.566754],[102.092015,32.566634],[102.091611,32.566515],[102.091223,32.566436],[102.090835,32.566357],[102.090552,32.566334],[102.090419,32.566324],[102.090002,32.566291],[102.089683,32.566271],[102.089363,32.566251],[102.089319,32.56625],[102.089057,32.566244],[102.088751,32.566238],[102.088514,32.566256],[102.088276,32.566274],[102.088039,32.566292],[102.087801,32.56631],[102.08752,32.566397],[102.087239,32.566485],[102.086985,32.566597],[102.086591,32.566729],[102.086284,32.566722],[102.086012,32.566726],[102.085739,32.566731],[102.085409,32.566607],[102.08516,32.566543],[102.084911,32.566478],[102.08465,32.566378],[102.084388,32.566277],[102.084074,32.566117],[102.083759,32.565957],[102.083542,32.565864],[102.083326,32.56577],[102.08311,32.565677],[102.082894,32.565583],[102.082677,32.56549],[102.082618,32.565464],[102.082461,32.565397],[102.082353,32.56535],[102.082245,32.565303],[102.082179,32.565275],[102.082029,32.56521],[102.081819,32.565149],[102.081767,32.565133],[102.081505,32.565057],[102.081254,32.565039],[102.081004,32.565022],[102.080863,32.565018],[102.080804,32.565016],[102.080753,32.565015],[102.080643,32.565012],[102.080614,32.565011],[102.080302,32.565098],[102.080279,32.565105],[102.080222,32.565121],[102.080139,32.56517],[102.0801,32.565193],[102.07988,32.565325],[102.079666,32.565465],[102.079453,32.565606],[102.07924,32.565747],[102.079026,32.565888],[102.078813,32.566028],[102.0786,32.566169],[102.078386,32.56631],[102.078173,32.56645],[102.077959,32.566591],[102.077746,32.566732],[102.077533,32.566872],[102.077319,32.567013],[102.077106,32.567154],[102.076892,32.567294],[102.076679,32.567435],[102.076466,32.567576],[102.076257,32.567746],[102.076049,32.567916],[102.075841,32.568085],[102.075632,32.568255],[102.075404,32.568463],[102.075342,32.568626],[102.075338,32.568735],[102.075337,32.568767],[102.075385,32.569004],[102.075502,32.569278],[102.075619,32.569551],[102.075723,32.569751],[102.075828,32.56995],[102.075933,32.57015],[102.076038,32.570349],[102.076143,32.570549],[102.076247,32.570749],[102.076352,32.570948],[102.076457,32.571148],[102.076595,32.571339],[102.076732,32.571531],[102.07687,32.571722],[102.077008,32.571914],[102.077146,32.572105],[102.077283,32.572297],[102.077582,32.572563],[102.07788,32.572782],[102.078183,32.57293],[102.078457,32.573054],[102.078732,32.573131],[102.079007,32.573255],[102.079256,32.573355],[102.079501,32.573502],[102.07973,32.573628],[102.07996,32.573754],[102.080189,32.573879],[102.080419,32.574005],[102.080649,32.574131],[102.080878,32.574257],[102.081111,32.574396],[102.081343,32.574534],[102.081575,32.574673],[102.081807,32.574812],[102.08204,32.57495],[102.082272,32.575089],[102.082515,32.575307],[102.082676,32.575476],[102.082754,32.575689],[102.082801,32.575926],[102.082797,32.576066],[102.082796,32.576124],[102.082794,32.576208],[102.082754,32.576536],[102.082628,32.576958],[102.082601,32.577016],[102.082595,32.57703],[102.082591,32.577038],[102.082587,32.577047],[102.082586,32.577048],[102.082574,32.577074],[102.082524,32.577179],[102.082508,32.577214],[102.082466,32.577302],[102.082424,32.577391],[102.08242,32.5774],[102.082239,32.577796],[102.082061,32.578169],[102.082006,32.578586],[102.081979,32.578799],[102.081952,32.579004],[102.081922,32.579271],[102.081893,32.579538],[102.081878,32.579673],[102.081863,32.579805],[102.081834,32.580073],[102.081804,32.58034],[102.081774,32.580607],[102.081745,32.580874],[102.081715,32.581141],[102.081734,32.581448],[102.081835,32.581756],[102.081991,32.582066],[102.082204,32.582385],[102.082417,32.582704],[102.08263,32.583023],[102.08284,32.583405],[102.082862,32.583454],[102.082965,32.583677],[102.082971,32.58369],[102.083016,32.583974],[102.083007,32.584244],[102.082999,32.584515],[102.082876,32.584841],[102.08277,32.585145],[102.082663,32.585448],[102.082445,32.585795],[102.082228,32.586141],[102.082049,32.586426],[102.082011,32.586487],[102.081738,32.586741],[102.081465,32.586994],[102.081121,32.587267],[102.080893,32.587427],[102.080665,32.587587],[102.08027,32.587742],[102.079962,32.587829],[102.079653,32.587916],[102.079357,32.588027],[102.079061,32.588138],[102.078789,32.588332],[102.078518,32.588526],[102.078287,32.588768],[102.078056,32.589009],[102.077931,32.589204],[102.077807,32.589399],[102.077682,32.589593],[102.077557,32.589788],[102.077385,32.589974],[102.07724,32.590134],[102.077089,32.590484],[102.077134,32.590814],[102.077199,32.591049],[102.077264,32.591284],[102.077329,32.591518],[102.077394,32.591753],[102.077459,32.591987],[102.077524,32.592222],[102.077589,32.592457],[102.077654,32.592691],[102.077719,32.592926],[102.077784,32.59316],[102.077829,32.593468],[102.077805,32.593773],[102.07778,32.594078],[102.077731,32.594313],[102.077682,32.594547],[102.077576,32.594938],[102.077471,32.595328],[102.077365,32.595718],[102.077266,32.595974],[102.077167,32.59623],[102.077167,32.596231],[102.077068,32.596487],[102.076969,32.596744],[102.076908,32.597007],[102.076846,32.597271],[102.076785,32.597534],[102.076724,32.597798],[102.076663,32.598062],[102.076601,32.598325],[102.07654,32.598589],[102.076479,32.598853],[102.076418,32.599116],[102.076356,32.59938],[102.07629,32.59972],[102.076224,32.60006],[102.076045,32.600384],[102.07587,32.600664],[102.075592,32.600937],[102.075315,32.60121],[102.075219,32.601304],[102.075119,32.601402],[102.074922,32.601594],[102.074726,32.601785],[102.074529,32.601977],[102.074333,32.602169],[102.074137,32.60236],[102.074053,32.602461],[102.073967,32.602564],[102.073798,32.602768],[102.073629,32.602972],[102.07346,32.603176],[102.073291,32.60338],[102.073121,32.603584],[102.072952,32.603788],[102.072783,32.603992],[102.072614,32.604196],[102.072444,32.6044],[102.072275,32.604604],[102.072106,32.604808],[102.071957,32.605016],[102.071808,32.605224],[102.071757,32.605296],[102.071659,32.605432],[102.07151,32.60564],[102.071361,32.605849],[102.071212,32.606057],[102.071063,32.606265],[102.070913,32.606473],[102.070764,32.606681],[102.070615,32.606889],[102.070466,32.607097],[102.070317,32.607305],[102.070074,32.607645],[102.069831,32.607985],[102.069588,32.608325],[102.069445,32.60856],[102.069301,32.608795],[102.069158,32.609029],[102.069014,32.609264],[102.068882,32.609481],[102.068871,32.609499],[102.068727,32.609734],[102.068584,32.609969],[102.06844,32.610204],[102.068307,32.610448],[102.068173,32.610692],[102.068124,32.610915],[102.068075,32.611137],[102.06808,32.611431],[102.068084,32.611726],[102.068112,32.611953],[102.068139,32.612179],[102.068145,32.612228],[102.068167,32.612406],[102.068195,32.612633],[102.068237,32.612717],[102.068326,32.612895],[102.068457,32.613158],[102.068575,32.613373],[102.068693,32.613588],[102.068853,32.613803],[102.069014,32.614018],[102.069229,32.614258],[102.06928,32.61437],[102.069359,32.614543],[102.069366,32.614653],[102.069377,32.614827],[102.069314,32.615174],[102.069309,32.615202],[102.069191,32.615412],[102.068971,32.615759],[102.068937,32.615812],[102.068927,32.615828],[102.06875,32.616106],[102.068627,32.616486],[102.068504,32.616865],[102.06838,32.617244],[102.068359,32.617479],[102.068337,32.617714],[102.068315,32.617949],[102.068294,32.618184],[102.068272,32.618419],[102.06825,32.618654],[102.068229,32.618889],[102.068207,32.619124],[102.068186,32.619547],[102.068166,32.61997],[102.068145,32.620393],[102.068124,32.620816],[102.068039,32.621038],[102.067954,32.621259],[102.067869,32.62148],[102.067784,32.621702],[102.067699,32.621923],[102.067614,32.622144],[102.067529,32.622365],[102.067444,32.622587],[102.06738,32.622698],[102.067369,32.622719],[102.06734,32.622769],[102.06732,32.622804],[102.067197,32.62302],[102.067074,32.623237],[102.067017,32.623337],[102.067013,32.623344],[102.066993,32.623378],[102.066991,32.623383],[102.06695,32.623454],[102.066827,32.623671],[102.066704,32.623888],[102.066563,32.624093],[102.066422,32.624299],[102.066281,32.624504],[102.06614,32.62471],[102.065998,32.624916],[102.065857,32.625121],[102.065797,32.625209],[102.065621,32.625452],[102.065446,32.625694],[102.065296,32.626045],[102.065181,32.626135],[102.064959,32.626108],[102.064628,32.626006],[102.064463,32.625908],[102.064276,32.625692],[102.064069,32.625407],[102.063862,32.625121],[102.063672,32.624859],[102.063501,32.624622],[102.06333,32.624385],[102.063205,32.624153],[102.06308,32.62392],[102.062955,32.623687],[102.06283,32.623455],[102.062768,32.62323],[102.062705,32.623005],[102.062606,32.62265],[102.062507,32.622271],[102.062463,32.621916],[102.062416,32.621655],[102.06234,32.621466],[102.062204,32.621275],[102.062016,32.621105],[102.061797,32.620983],[102.061482,32.620834],[102.061166,32.620685],[102.060951,32.620593],[102.060735,32.620502],[102.06052,32.620411],[102.060305,32.620319],[102.060089,32.620228],[102.059874,32.620137],[102.059658,32.620045],[102.059443,32.619954],[102.059228,32.619863],[102.059012,32.619771],[102.058797,32.61968],[102.058582,32.619588],[102.058348,32.619501],[102.058114,32.619413],[102.057852,32.619324],[102.057589,32.619235],[102.057229,32.619204],[102.056949,32.619267],[102.056722,32.619404],[102.056462,32.619657],[102.056287,32.619865],[102.056169,32.620074],[102.056051,32.620283],[102.055876,32.620537],[102.055564,32.620719],[102.055226,32.620829],[102.05496,32.620846],[102.054694,32.620863],[102.054327,32.620807],[102.053959,32.620751],[102.053569,32.620718],[102.053161,32.620708],[102.052752,32.620698],[102.052344,32.620689],[102.051953,32.620719],[102.051562,32.620749],[102.051171,32.620778],[102.050735,32.620875],[102.0503,32.620971],[102.050071,32.621028],[102.049841,32.621086],[102.049612,32.621143],[102.049382,32.6212],[102.049153,32.621258],[102.048924,32.621315],[102.048666,32.621349],[102.048409,32.621383],[102.048151,32.621417],[102.047894,32.621451],[102.047637,32.621485],[102.047379,32.621519],[102.047122,32.621553],[102.046864,32.621587],[102.046607,32.621621],[102.046349,32.621655],[102.046073,32.62167],[102.045796,32.621685],[102.045519,32.6217],[102.045242,32.621715],[102.044965,32.62173],[102.044688,32.621745],[102.044411,32.62176],[102.044135,32.621775],[102.043858,32.62179],[102.043581,32.621805],[102.043304,32.62182],[102.043027,32.621835],[102.042679,32.621815],[102.042331,32.621795],[102.041887,32.621749],[102.041509,32.62171],[102.041443,32.621704],[102.041125,32.621637],[102.040806,32.621571],[102.040378,32.621479],[102.039949,32.621386],[102.039728,32.621318],[102.039565,32.621268],[102.039517,32.621253],[102.039507,32.62125],[102.039286,32.621182],[102.039066,32.621114],[102.038845,32.621046],[102.038624,32.620979],[102.038432,32.620862],[102.038239,32.620746],[102.037854,32.620513],[102.03747,32.62028],[102.037085,32.620048],[102.036893,32.619931],[102.0367,32.619815],[102.036501,32.619676],[102.036302,32.619537],[102.036104,32.619399],[102.035905,32.61926],[102.035706,32.619121],[102.035507,32.618982],[102.035308,32.618843],[102.035109,32.618705],[102.03491,32.618566],[102.034711,32.618427],[102.03454,32.618274],[102.034369,32.61812],[102.034197,32.617967],[102.034026,32.617814],[102.033854,32.617661],[102.033683,32.617507],[102.033443,32.617172],[102.033204,32.616837],[102.032964,32.616501],[102.032936,32.616436],[102.032917,32.616392],[102.032874,32.616292],[102.032783,32.616083],[102.032692,32.615873],[102.032602,32.615664],[102.032511,32.615455],[102.032421,32.615246],[102.03233,32.615036],[102.032239,32.614827],[102.032149,32.614618],[102.032058,32.614409],[102.031964,32.614199],[102.03187,32.61399],[102.031776,32.613781],[102.031682,32.613572],[102.031588,32.613363],[102.031494,32.613153],[102.0314,32.612944],[102.031307,32.612735],[102.031213,32.612526],[102.031119,32.612317],[102.031052,32.612088],[102.030985,32.611858],[102.030919,32.611629],[102.030852,32.6114],[102.030785,32.611171],[102.030719,32.610942],[102.030698,32.610718],[102.030678,32.610494],[102.030658,32.610269],[102.030637,32.610045],[102.030617,32.609821],[102.030597,32.609597],[102.030605,32.60936],[102.030613,32.609123],[102.03062,32.608886],[102.030628,32.608649],[102.030636,32.608412],[102.030644,32.608175],[102.030652,32.607938],[102.03066,32.607701],[102.030747,32.60726],[102.030834,32.60682],[102.03092,32.606379],[102.031007,32.605938],[102.031094,32.605498],[102.031075,32.605236],[102.031027,32.605002],[102.030868,32.604739],[102.030668,32.604475],[102.030468,32.604211],[102.030197,32.60397],[102.029927,32.603728],[102.029761,32.603576],[102.029595,32.603425],[102.029473,32.603313],[102.029437,32.60328],[102.029429,32.603273],[102.029263,32.603121],[102.029097,32.60297],[102.028931,32.602818],[102.028765,32.602666],[102.028599,32.602515],[102.028433,32.602363],[102.028267,32.602212],[102.02794,32.601968],[102.027928,32.601958],[102.027614,32.601724],[102.027356,32.601381],[102.027099,32.601037],[102.026841,32.600694],[102.026544,32.600381],[102.026398,32.600177],[102.026251,32.599972],[102.026181,32.599595],[102.026105,32.599346],[102.02603,32.599097],[102.025876,32.598693],[102.025716,32.598478],[102.025528,32.598285],[102.025338,32.598139],[102.025145,32.598064],[102.024922,32.598035],[102.024631,32.598028],[102.024339,32.598021],[102.024047,32.59799],[102.023756,32.59796],[102.023534,32.597908],[102.023312,32.597856],[102.023065,32.597756],[102.022817,32.597656],[102.022612,32.597557],[102.022406,32.597457],[102.022202,32.597323],[102.021998,32.597189],[102.021793,32.597055],[102.021589,32.596921],[102.021309,32.596645],[102.021029,32.596369],[102.020748,32.596094],[102.020471,32.595766],[102.020194,32.595437],[102.019917,32.595109],[102.019686,32.59476],[102.019455,32.594411],[102.019314,32.594199],[102.019224,32.594062],[102.019111,32.593671],[102.018999,32.59328],[102.018958,32.593049],[102.018916,32.592819],[102.018902,32.592738],[102.018875,32.592589],[102.018834,32.592358],[102.018744,32.592144],[102.018653,32.59193],[102.01844,32.591619],[102.018172,32.591353],[102.017954,32.59116],[102.017655,32.590964],[102.017336,32.590769],[102.017018,32.590573],[102.016699,32.590377],[102.016441,32.590292],[102.016183,32.590206],[102.016,32.590145],[102.015999,32.590145],[102.015997,32.590145],[102.015925,32.59012],[102.015667,32.590035],[102.015408,32.589949],[102.01515,32.589864],[102.014892,32.589778],[102.014634,32.589692],[102.014344,32.589615],[102.014053,32.589537],[102.01382,32.589438],[102.013587,32.589338],[102.013287,32.589119],[102.012988,32.588876],[102.012813,32.588696],[102.012639,32.588515],[102.012455,32.588129],[102.012271,32.587743],[102.012087,32.587358],[102.011902,32.586972],[102.011655,32.586597],[102.011407,32.586222],[102.01116,32.585848],[102.010845,32.585542],[102.01053,32.585236],[102.010473,32.585181],[102.010215,32.584931],[102.009949,32.584571],[102.009761,32.584366],[102.009573,32.584161],[102.009412,32.58397],[102.009251,32.583778],[102.009046,32.583455],[102.009039,32.583443],[102.008866,32.583078],[102.008692,32.582713],[102.008519,32.582348],[102.008446,32.582132],[102.008372,32.581916],[102.008299,32.5817],[102.008225,32.581484],[102.008152,32.581268],[102.008078,32.581052],[102.008005,32.580836],[102.007931,32.58062],[102.00786,32.580379],[102.007789,32.580139],[102.007719,32.579898],[102.007648,32.579657],[102.007577,32.579416],[102.007506,32.579175],[102.007418,32.578947],[102.007331,32.57872],[102.007243,32.578492],[102.007156,32.578264],[102.007068,32.578036],[102.00698,32.577809],[102.006893,32.577581],[102.006805,32.577353],[102.006717,32.577126],[102.00663,32.576898],[102.006542,32.57667],[102.006455,32.576443],[102.006355,32.576225],[102.006255,32.576007],[102.006155,32.575789],[102.006055,32.575572],[102.005956,32.575354],[102.005856,32.575136],[102.005756,32.574918],[102.005656,32.574701],[102.005556,32.574483],[102.005522,32.574409],[102.005457,32.574265],[102.005344,32.574051],[102.005231,32.573836],[102.005118,32.573622],[102.005005,32.573407],[102.004893,32.573193],[102.00478,32.572978],[102.004667,32.572764],[102.004554,32.57255],[102.004441,32.572335],[102.004329,32.572121],[102.004051,32.571792],[102.003773,32.571462],[102.003496,32.571133],[102.003218,32.570804],[102.003002,32.570568],[102.002786,32.570332],[102.002578,32.57006],[102.002371,32.569789],[102.002204,32.569486],[102.002037,32.569183],[102.001893,32.568796],[102.001748,32.56841],[102.001672,32.568153],[102.001595,32.567896],[102.001592,32.567888],[102.001574,32.567827],[102.001518,32.567639],[102.001492,32.567551],[102.001481,32.567513],[102.001442,32.567383],[102.001365,32.567126],[102.001352,32.567084],[102.001318,32.566968],[102.001288,32.566869],[102.001171,32.566511],[102.001155,32.566461],[102.001095,32.56628],[102.001035,32.566096],[102.001028,32.566073],[102.00102,32.56605],[102.000944,32.565819],[102.000868,32.565588],[102.000793,32.565357],[102.000717,32.565126],[102.000597,32.565004],[102.000597,32.565004],[102.000478,32.564882],[102.000247,32.564647],[102.000238,32.564638],[102.000138,32.564678],[102.000062,32.564708],[102.000009,32.564736],[102.000001,32.56474],[101.999995,32.564744],[101.999941,32.564772],[101.999928,32.564779],[101.999928,32.564779],[101.999916,32.564786],[101.999876,32.564807],[101.999844,32.564824],[101.999844,32.564824],[101.999839,32.564827],[101.999708,32.564896],[101.999627,32.564939],[101.999354,32.565084],[101.99922,32.565155],[101.99922,32.565155],[101.999,32.565273],[101.998824,32.565428],[101.998647,32.565584],[101.998471,32.565739],[101.998295,32.565895],[101.998119,32.56605],[101.997943,32.566206],[101.997766,32.566361],[101.99759,32.566517],[101.997414,32.566673],[101.997238,32.566828],[101.997097,32.567004],[101.996957,32.567181],[101.996816,32.567357],[101.996676,32.567534],[101.996536,32.56771],[101.996395,32.567886],[101.996255,32.568063],[101.996115,32.568239],[101.995974,32.568415],[101.995834,32.568592],[101.995645,32.568733],[101.995456,32.568874],[101.995267,32.569015],[101.995078,32.569157],[101.994889,32.569298],[101.9947,32.569439],[101.994511,32.56958],[101.994322,32.569722],[101.994133,32.569863],[101.993944,32.570004],[101.993752,32.570135],[101.99356,32.570265],[101.993369,32.570396],[101.993177,32.570527],[101.992985,32.570657],[101.992793,32.570788],[101.992602,32.570919],[101.99241,32.571049],[101.992218,32.57118],[101.992027,32.571311],[101.991835,32.571441],[101.991643,32.571572],[101.991439,32.571696],[101.991235,32.57182],[101.99103,32.571944],[101.990826,32.572068],[101.990621,32.572192],[101.990417,32.572316],[101.990213,32.57244],[101.990008,32.572564],[101.98981,32.572672],[101.989611,32.572781],[101.989413,32.57289],[101.989214,32.572998],[101.988912,32.57314],[101.988611,32.573281],[101.988244,32.573352],[101.987897,32.573195],[101.987792,32.573011],[101.987723,32.572774],[101.987654,32.572537],[101.987652,32.572472],[101.987643,32.572227],[101.987654,32.572152],[101.987679,32.571967],[101.987714,32.571707],[101.98775,32.571448],[101.987785,32.571188],[101.987821,32.570928],[101.987834,32.570834],[101.987856,32.570668],[101.987892,32.570408],[101.987927,32.570148],[101.987963,32.569888],[101.987998,32.569628],[101.988061,32.56936],[101.988123,32.569091],[101.988185,32.568822],[101.988192,32.568791],[101.988247,32.568553],[101.98831,32.568284],[101.988372,32.568015],[101.988435,32.567746],[101.988497,32.567477],[101.988559,32.567208],[101.988622,32.566939],[101.988684,32.566687],[101.988747,32.566435],[101.98881,32.566183],[101.988873,32.565931],[101.988935,32.565678],[101.988998,32.565426],[101.989061,32.565174],[101.989124,32.564922],[101.989186,32.56467],[101.989249,32.564417],[101.989278,32.564157],[101.989306,32.563897],[101.989335,32.563638],[101.989363,32.563378],[101.989324,32.562943],[101.989284,32.562509],[101.989245,32.562075],[101.989206,32.561641],[101.989192,32.561206],[101.989177,32.560772],[101.989163,32.560338],[101.989186,32.560112],[101.98921,32.559886],[101.989233,32.55966],[101.989256,32.559434],[101.989279,32.559208],[101.989302,32.558982],[101.989326,32.558757],[101.989339,32.558624],[101.989349,32.558531],[101.989386,32.558261],[101.989423,32.557992],[101.98946,32.557722],[101.989498,32.557453],[101.989517,32.557314],[101.989535,32.557183],[101.989572,32.556914],[101.989609,32.556645],[101.989646,32.556375],[101.989684,32.556106],[101.989721,32.555836],[101.989724,32.555583],[101.989728,32.555331],[101.989732,32.555078],[101.989733,32.555017],[101.989736,32.554825],[101.989739,32.554572],[101.989741,32.554473],[101.989743,32.554319],[101.989747,32.554066],[101.989751,32.553813],[101.989754,32.553561],[101.989758,32.553308],[101.989699,32.552978],[101.989594,32.552772],[101.989468,32.55265],[101.989292,32.55253],[101.989071,32.552494],[101.988859,32.552516],[101.988802,32.552521],[101.988567,32.552545],[101.988533,32.552548],[101.988119,32.55262],[101.98783,32.552794],[101.987542,32.552967],[101.987321,32.553084],[101.9871,32.553202],[101.986879,32.553319],[101.986658,32.553437],[101.986449,32.553548],[101.986438,32.553554],[101.986335,32.553609],[101.986217,32.553672],[101.986123,32.553722],[101.985996,32.553789],[101.985775,32.553907],[101.985555,32.554024],[101.985334,32.554142],[101.985113,32.554259],[101.984892,32.554377],[101.984811,32.554406],[101.98466,32.554461],[101.984461,32.554533],[101.984434,32.554543],[101.984429,32.554545],[101.984418,32.554548],[101.984197,32.554628],[101.983965,32.554712],[101.983829,32.554762],[101.983733,32.554796],[101.983501,32.55488],[101.983269,32.554964],[101.983038,32.555048],[101.982806,32.555132],[101.982574,32.555216],[101.982342,32.5553],[101.982127,32.555378],[101.98211,32.555384],[101.982047,32.555406],[101.981905,32.555458],[101.981878,32.555467],[101.981647,32.555551],[101.98125,32.555726],[101.980853,32.5559],[101.980568,32.556026],[101.980546,32.556035],[101.980457,32.556075],[101.980247,32.556167],[101.980213,32.556182],[101.980203,32.556186],[101.980129,32.556219],[101.980107,32.556228],[101.98006,32.556249],[101.979906,32.556392],[101.979739,32.556547],[101.979548,32.556724],[101.979485,32.556783],[101.979419,32.556845],[101.979098,32.557142],[101.978778,32.55744],[101.978736,32.557471],[101.978687,32.557508],[101.978613,32.557563],[101.978565,32.557598],[101.978353,32.557756],[101.97814,32.557914],[101.977928,32.558072],[101.977715,32.558229],[101.977503,32.558387],[101.977291,32.558545],[101.977128,32.558666],[101.977078,32.558703],[101.976893,32.558837],[101.976707,32.558971],[101.976603,32.559046],[101.976601,32.559048],[101.976599,32.559049],[101.976558,32.559079],[101.976552,32.559083],[101.976522,32.559105],[101.976337,32.559239],[101.975989,32.559454],[101.975716,32.559623],[101.97564,32.55967],[101.97535,32.559791],[101.975196,32.559855],[101.975059,32.559912],[101.97485,32.559963],[101.974779,32.55998],[101.9745,32.560049],[101.974277,32.560103],[101.974054,32.560156],[101.973831,32.56021],[101.973608,32.560263],[101.973385,32.560317],[101.973162,32.560371],[101.972898,32.560533],[101.972634,32.560695],[101.972622,32.560711],[101.972621,32.560712],[101.972551,32.560806],[101.972521,32.560847],[101.972476,32.560908],[101.972469,32.560916],[101.972305,32.561138],[101.97216,32.561319],[101.972014,32.561501],[101.971985,32.561538],[101.971869,32.561682],[101.971724,32.561864],[101.971694,32.561902],[101.971683,32.561915],[101.971578,32.562046],[101.971478,32.562171],[101.971477,32.562172],[101.971448,32.562209],[101.971433,32.562227],[101.971288,32.562409],[101.971143,32.56259],[101.970946,32.562761],[101.97075,32.562931],[101.970553,32.563101],[101.970492,32.563155],[101.970479,32.563166],[101.970432,32.563207],[101.970425,32.563213],[101.970357,32.563272],[101.97016,32.563442],[101.969964,32.563613],[101.969767,32.563783],[101.96957,32.563953],[101.969417,32.564173],[101.969375,32.564233],[101.969317,32.564317],[101.969264,32.564392],[101.96921,32.56447],[101.969156,32.564548],[101.969111,32.564611],[101.968958,32.56483],[101.968858,32.564974],[101.968842,32.564997],[101.968805,32.56505],[101.968775,32.565093],[101.968652,32.565269],[101.968441,32.565564],[101.968351,32.565691],[101.96835,32.565691],[101.96835,32.565692],[101.96823,32.565859],[101.968227,32.565862],[101.968204,32.565882],[101.967897,32.566158],[101.967563,32.566436],[101.967351,32.566506],[101.96733,32.566512],[101.967208,32.566552],[101.96717,32.566564],[101.967151,32.566571],[101.966859,32.566639],[101.966817,32.566649],[101.966795,32.566655],[101.966567,32.566708],[101.966311,32.566756],[101.966055,32.566803],[101.965641,32.566897],[101.965241,32.56701],[101.965214,32.567017],[101.965017,32.567072],[101.964891,32.567108],[101.96484,32.567122],[101.964617,32.567249],[101.964575,32.567273],[101.964451,32.56739],[101.964416,32.567424],[101.964373,32.567465],[101.964263,32.567569],[101.964235,32.567596],[101.964171,32.567656],[101.964008,32.567898],[101.963844,32.56814],[101.963638,32.568325],[101.963629,32.568332],[101.963476,32.568469],[101.963474,32.568471],[101.963423,32.568516],[101.963415,32.568524],[101.963125,32.568649],[101.963113,32.568655],[101.963101,32.56866],[101.963047,32.568684],[101.962957,32.568722],[101.96295,32.568725],[101.962811,32.568786],[101.962469,32.568836],[101.9622,32.568842],[101.961857,32.56885],[101.961635,32.568893],[101.961613,32.568897],[101.961516,32.568921],[101.961438,32.569151],[101.961417,32.569214],[101.961382,32.569315],[101.961375,32.569337],[101.96136,32.569381],[101.961306,32.56962],[101.961273,32.569769],[101.96127,32.569781],[101.961266,32.569801],[101.961252,32.569859],[101.961125,32.57007],[101.961079,32.570145],[101.960997,32.57028],[101.960662,32.570578],[101.960459,32.570738],[101.960348,32.570825],[101.960255,32.570899],[101.960035,32.571001],[101.959814,32.571102],[101.959594,32.571204],[101.959373,32.571306],[101.959136,32.571519],[101.959048,32.571598],[101.959036,32.571608],[101.958999,32.571641],[101.958999,32.571641],[101.958999,32.571641],[101.958939,32.571695],[101.958939,32.571695],[101.958723,32.571889],[101.958397,32.57218],[101.958348,32.572224],[101.95827,32.572295],[101.958266,32.572299],[101.958247,32.572315],[101.958148,32.572404],[101.957899,32.572628],[101.957624,32.572862],[101.957417,32.573039],[101.957397,32.573056],[101.95735,32.573096],[101.957338,32.573101],[101.957095,32.573196],[101.956841,32.573295],[101.956562,32.573395],[101.956284,32.573494],[101.956079,32.573603],[101.955874,32.573712],[101.955623,32.573924],[101.955373,32.574137],[101.955233,32.574348],[101.955093,32.574558],[101.954957,32.574798],[101.954955,32.574801],[101.954953,32.574803],[101.954914,32.574872],[101.954907,32.574885],[101.954902,32.574894],[101.954841,32.575001],[101.954839,32.575004],[101.954799,32.575075],[101.954722,32.575211],[101.954388,32.575508],[101.95412,32.575555],[101.954099,32.575552],[101.953848,32.575521],[101.95365,32.575442],[101.953399,32.575283],[101.953109,32.57501],[101.953068,32.574971],[101.953004,32.574911],[101.952819,32.574737],[101.952563,32.574432],[101.952394,32.574146],[101.952225,32.573859],[101.952125,32.573655],[101.952025,32.573451],[101.951924,32.573246],[101.951824,32.573042],[101.951724,32.572838],[101.951624,32.572633],[101.951524,32.572429],[101.951423,32.572225],[101.951323,32.572021],[101.951223,32.571816],[101.951103,32.571598],[101.950984,32.57138],[101.950864,32.571161],[101.950745,32.570943],[101.950625,32.570725],[101.950506,32.570506],[101.95044,32.570386],[101.95042,32.57035],[101.950386,32.570288],[101.950267,32.57007],[101.950147,32.569851],[101.950028,32.569633],[101.949908,32.569414],[101.949789,32.569196],[101.949762,32.569146],[101.949669,32.568968],[101.949549,32.56874],[101.949429,32.568511],[101.949309,32.568283],[101.9493,32.568266],[101.949189,32.568055],[101.949069,32.567827],[101.948949,32.567598],[101.948829,32.56737],[101.948709,32.567142],[101.948589,32.566913],[101.948469,32.566685],[101.948348,32.566457],[101.948271,32.566239],[101.948194,32.566021],[101.948116,32.565803],[101.948039,32.565584],[101.947961,32.565366],[101.947884,32.565148],[101.947806,32.56493],[101.947729,32.564712],[101.947634,32.564493],[101.947539,32.564274],[101.947444,32.564055],[101.947349,32.563836],[101.947254,32.563617],[101.947159,32.563399],[101.947064,32.56318],[101.946969,32.562961],[101.946874,32.562742],[101.946779,32.562523],[101.946684,32.562304],[101.946589,32.562085],[101.946483,32.561855],[101.946376,32.561624],[101.94627,32.561394],[101.946164,32.561163],[101.946058,32.560933],[101.945951,32.560702],[101.945845,32.560472],[101.945739,32.560241],[101.945622,32.560044],[101.945506,32.559847],[101.945389,32.559651],[101.945272,32.559454],[101.945155,32.559257],[101.945039,32.559061],[101.944922,32.558864],[101.944873,32.558781],[101.944805,32.558667],[101.944672,32.558459],[101.94465,32.558426],[101.944538,32.558252],[101.944405,32.558044],[101.944271,32.557837],[101.944138,32.557629],[101.944004,32.557421],[101.943827,32.557252],[101.94365,32.557083],[101.943473,32.556913],[101.943295,32.556744],[101.943118,32.556574],[101.942941,32.556405],[101.942764,32.556236],[101.942642,32.556119],[101.942623,32.556101],[101.942587,32.556066],[101.942428,32.55589],[101.942269,32.555714],[101.942111,32.555537],[101.941952,32.555361],[101.941793,32.555184],[101.941635,32.555008],[101.941476,32.554832],[101.941318,32.554655],[101.941159,32.554479],[101.941072,32.554382],[101.941,32.554303],[101.940974,32.554277],[101.940893,32.554199],[101.940817,32.554125],[101.94068,32.553992],[101.940591,32.553906],[101.940538,32.553854],[101.940408,32.553729],[101.940382,32.553704],[101.94036,32.553682],[101.940228,32.553554],[101.940039,32.553372],[101.939697,32.553117],[101.939484,32.552959],[101.939437,32.552924],[101.939354,32.552863],[101.939315,32.552834],[101.939269,32.552799],[101.939012,32.552608],[101.938669,32.552354],[101.938462,32.5522],[101.938255,32.552046],[101.937891,32.55179],[101.937527,32.551534],[101.937164,32.551279],[101.937117,32.551245],[101.9368,32.551023],[101.936623,32.550893],[101.936486,32.550792],[101.936172,32.550561],[101.936145,32.550526],[101.936131,32.550508],[101.936127,32.550504],[101.936121,32.550496],[101.936031,32.550381],[101.935989,32.550327],[101.935969,32.550301],[101.935891,32.550201],[101.93575,32.550022],[101.935609,32.549842],[101.935547,32.549763],[101.935468,32.549662],[101.935328,32.549483],[101.935261,32.549413],[101.935153,32.549301],[101.934978,32.549119],[101.934804,32.548937],[101.93472,32.548849],[101.934675,32.548803],[101.934629,32.548755],[101.934574,32.548697],[101.934454,32.548573],[101.93428,32.548391],[101.934268,32.548383],[101.933916,32.548135],[101.933553,32.547879],[101.933347,32.547734],[101.933345,32.547733],[101.933343,32.547731],[101.933189,32.547623],[101.932959,32.547461],[101.932826,32.547368],[101.932788,32.547334],[101.932759,32.547308],[101.932643,32.547204],[101.932601,32.547167],[101.932579,32.547147],[101.932562,32.547132],[101.932555,32.547126],[101.93246,32.547041],[101.932277,32.546878],[101.932094,32.546715],[101.931911,32.546551],[101.931728,32.546388],[101.931698,32.546361],[101.931578,32.546255],[101.931545,32.546225],[101.931361,32.546062],[101.931178,32.545898],[101.930995,32.545735],[101.930812,32.545572],[101.930629,32.545409],[101.930496,32.545262],[101.930465,32.545228],[101.930426,32.545184],[101.930301,32.545047],[101.930147,32.544877],[101.930138,32.544866],[101.929974,32.544685],[101.92981,32.544504],[101.929646,32.544323],[101.929482,32.544142],[101.92946,32.544118],[101.929319,32.543962],[101.929155,32.543781],[101.928991,32.5436],[101.928827,32.543419],[101.928663,32.543238],[101.928598,32.543165],[101.9285,32.543057],[101.928336,32.542876],[101.928134,32.542705],[101.927932,32.542533],[101.927732,32.542364],[101.92773,32.542362],[101.927698,32.542335],[101.927528,32.54219],[101.927339,32.542019],[101.92715,32.541848],[101.927087,32.541789],[101.926876,32.541591],[101.926846,32.541563],[101.92684,32.541557],[101.926592,32.541279],[101.926384,32.540916],[101.926177,32.540553],[101.925969,32.540191],[101.925873,32.540023],[101.925851,32.539986],[101.925761,32.539828],[101.925708,32.53971],[101.925692,32.539675],[101.925664,32.539611],[101.925658,32.539599],[101.925634,32.539545],[101.925567,32.539394],[101.925469,32.539178],[101.92539,32.539001],[101.925372,32.538961],[101.92532,32.538844],[101.925275,32.538744],[101.925178,32.538528],[101.925081,32.538311],[101.925052,32.538245],[101.925035,32.538208],[101.924984,32.538094],[101.924887,32.537877],[101.92479,32.537661],[101.924714,32.537492],[101.924692,32.537444],[101.924595,32.537227],[101.924528,32.537089],[101.924477,32.536983],[101.924359,32.536739],[101.924318,32.536654],[101.924294,32.536604],[101.924241,32.536495],[101.924122,32.53625],[101.924038,32.536076],[101.924021,32.536041],[101.924004,32.536006],[101.923886,32.535762],[101.923768,32.535518],[101.923649,32.535274],[101.923531,32.535029],[101.923413,32.534785],[101.923295,32.534541],[101.923177,32.534297],[101.923081,32.53407],[101.922986,32.533843],[101.922891,32.533616],[101.922877,32.533582],[101.922796,32.533389],[101.922701,32.533162],[101.922667,32.533082],[101.922606,32.532935],[101.922511,32.532708],[101.922415,32.532481],[101.92232,32.532254],[101.922225,32.532027],[101.92213,32.531801],[101.922035,32.531574],[101.92194,32.531347],[101.921844,32.53112],[101.921746,32.530891],[101.921648,32.530663],[101.921549,32.530434],[101.921451,32.530205],[101.921352,32.529977],[101.921254,32.529748],[101.92122,32.52967],[101.921201,32.529626],[101.921156,32.52952],[101.921057,32.529291],[101.921003,32.529164],[101.920959,32.529062],[101.92086,32.528834],[101.920825,32.528751],[101.920762,32.528605],[101.920664,32.528377],[101.920565,32.528148],[101.920524,32.528054],[101.920509,32.528019],[101.920467,32.52792],[101.920457,32.527899],[101.920361,32.527692],[101.920353,32.527676],[101.920255,32.527464],[101.920211,32.52737],[101.920149,32.527237],[101.920067,32.527061],[101.920043,32.527009],[101.91995,32.526808],[101.919938,32.526782],[101.919929,32.526763],[101.919832,32.526554],[101.919726,32.526326],[101.91962,32.526099],[101.919548,32.525943],[101.919545,32.525936],[101.919527,32.525899],[101.919514,32.525871],[101.919413,32.525653],[101.919409,32.525644],[101.919395,32.525619],[101.91939,32.52561],[101.919226,32.525302],[101.919217,32.525286],[101.919203,32.52526],[101.919043,32.524961],[101.918947,32.524781],[101.91886,32.52462],[101.918856,32.52461],[101.918703,32.524292],[101.918649,32.524086],[101.918617,32.523924],[101.918604,32.523859],[101.918567,32.523667],[101.91856,32.523632],[101.918543,32.523537],[101.918517,32.523397],[101.918515,32.523385],[101.91847,32.523137],[101.918426,32.52289],[101.918381,32.522642],[101.918322,32.522363],[101.918301,32.522262],[101.918263,32.522085],[101.918202,32.521651],[101.918195,32.521453],[101.918192,32.52134],[101.918196,32.521192],[101.918204,32.520967],[101.91822,32.520718],[101.918227,32.520685],[101.918234,32.520657],[101.918263,32.520531],[101.918354,32.520301],[101.91836,32.520286],[101.918366,32.520271],[101.918458,32.52004],[101.918555,32.519795],[101.918653,32.51955],[101.918738,32.519314],[101.918824,32.519078],[101.918909,32.518842],[101.918994,32.518606],[101.919055,32.518436],[101.919067,32.518405],[101.919079,32.518369],[101.919165,32.518133],[101.91925,32.517897],[101.919312,32.517725],[101.919325,32.517688],[101.919335,32.517661],[101.91942,32.517425],[101.919506,32.517189],[101.919536,32.517082],[101.91954,32.517066],[101.919574,32.516946],[101.919643,32.516704],[101.919712,32.516461],[101.91978,32.516219],[101.919832,32.516039],[101.919849,32.515976],[101.919903,32.515785],[101.919918,32.515734],[101.919987,32.515491],[101.920034,32.515325],[101.920055,32.515249],[101.920108,32.515016],[101.920141,32.514868],[101.920177,32.514708],[101.920184,32.514678],[101.920227,32.514487],[101.920313,32.514106],[101.920311,32.513853],[101.920309,32.513599],[101.920306,32.513345],[101.920304,32.513092],[101.920346,32.512863],[101.920348,32.512855],[101.920356,32.512822],[101.920418,32.51258],[101.920425,32.512553],[101.92044,32.512494],[101.92048,32.512337],[101.920488,32.512306],[101.920535,32.512126],[101.920629,32.511757],[101.920694,32.511487],[101.92071,32.511259],[101.920704,32.511051],[101.92068,32.510972],[101.920673,32.510946],[101.920649,32.510866],[101.920514,32.510497],[101.920379,32.510128],[101.920245,32.509767],[101.920197,32.509637],[101.920177,32.509581],[101.920123,32.509438],[101.920112,32.509406],[101.920067,32.509166],[101.920023,32.508926],[101.919979,32.508686],[101.919934,32.508445],[101.91989,32.508205],[101.919846,32.507965],[101.919843,32.507701],[101.919841,32.507437],[101.919839,32.507206],[101.919839,32.507172],[101.919836,32.506908],[101.919834,32.506857],[101.919834,32.50683],[101.919823,32.506515],[101.91986,32.506182],[101.919927,32.505974],[101.920045,32.505764],[101.920075,32.50569],[101.920085,32.505664],[101.920112,32.505596],[101.920091,32.505348],[101.920071,32.5051],[101.920051,32.505037],[101.919962,32.50475],[101.919852,32.5044],[101.919772,32.504174],[101.919691,32.503948],[101.919546,32.503641],[101.919528,32.503603],[101.919402,32.503333],[101.91939,32.503313],[101.919292,32.503158],[101.919273,32.503128],[101.919168,32.50296],[101.919134,32.502905],[101.918934,32.502588],[101.918899,32.502531],[101.918701,32.502215],[101.91861,32.501973],[101.91852,32.501732],[101.918463,32.50158],[101.918435,32.501506],[101.918429,32.50149],[101.918339,32.501249],[101.918248,32.501008],[101.918158,32.500766],[101.918067,32.500525],[101.917977,32.500283],[101.917936,32.500122],[101.917877,32.499887],[101.917818,32.499653],[101.917777,32.499492],[101.917759,32.499418],[101.917729,32.4993],[101.917722,32.499272],[101.9177,32.499184],[101.917641,32.49895],[101.917623,32.498879],[101.917616,32.498851],[101.917582,32.498715],[101.917553,32.498599],[101.917478,32.498292],[101.917458,32.498211],[101.917451,32.498185],[101.91744,32.498137],[101.917406,32.497999],[101.917406,32.497998],[101.917401,32.497979],[101.917374,32.497868],[101.917358,32.497804],[101.917342,32.497738],[101.917308,32.497601],[101.91727,32.497445],[101.917149,32.497247],[101.917029,32.497049],[101.916969,32.496952],[101.916908,32.496852],[101.916788,32.496654],[101.916667,32.496457],[101.916546,32.496259],[101.916402,32.495972],[101.916258,32.495685],[101.916098,32.495296],[101.915992,32.49505],[101.915958,32.494751],[101.915923,32.494451],[101.915928,32.494217],[101.915933,32.493984],[101.915938,32.493751],[101.915942,32.493549],[101.915942,32.493517],[101.915922,32.493269],[101.915901,32.493021],[101.915867,32.49269],[101.915762,32.492464],[101.915657,32.492239],[101.915608,32.492148],[101.915593,32.492121],[101.91554,32.492024],[101.915422,32.49181],[101.915304,32.491596],[101.915186,32.491382],[101.915063,32.49108],[101.915052,32.491054],[101.915035,32.491012],[101.914926,32.490744],[101.914884,32.490642],[101.914734,32.490272],[101.914652,32.490025],[101.914571,32.489779],[101.914489,32.489532],[101.914408,32.489285],[101.914349,32.488955],[101.91429,32.488666],[101.914253,32.488315],[101.914247,32.4881],[101.914246,32.488072],[101.914245,32.488045],[101.914239,32.487842],[101.914237,32.487776],[101.914241,32.487571],[101.914241,32.487534],[101.914246,32.487292],[101.91425,32.48705],[101.914255,32.486808],[101.914259,32.4866],[101.914259,32.486567],[101.91426,32.486554],[101.91426,32.486545],[101.914264,32.486338],[101.914264,32.486325],[101.91425,32.486222],[101.914238,32.486134],[101.914232,32.486088],[101.914202,32.485869],[101.914199,32.48585],[101.914196,32.485839],[101.914194,32.485832],[101.914137,32.485651],[101.914137,32.485651],[101.914124,32.48561],[101.914048,32.485369],[101.913973,32.485128],[101.913897,32.484887],[101.913833,32.484659],[101.913768,32.484431],[101.913704,32.484202],[101.913639,32.483974],[101.913575,32.483746],[101.91351,32.483517],[101.913446,32.483289],[101.913381,32.483061],[101.913317,32.482833],[101.913252,32.482604],[101.913188,32.482376],[101.913123,32.482148],[101.913034,32.481922],[101.912945,32.481696],[101.912855,32.481471],[101.912766,32.481245],[101.912677,32.481019],[101.912588,32.480794],[101.912498,32.480568],[101.912409,32.480342],[101.91232,32.480116],[101.912231,32.479891],[101.912142,32.479665],[101.912052,32.479439],[101.91195,32.479216],[101.911847,32.478992],[101.911744,32.478769],[101.911641,32.478545],[101.911538,32.478322],[101.911436,32.478098],[101.911339,32.477887],[101.911333,32.477874],[101.911322,32.477851],[101.911266,32.477728],[101.91123,32.477651],[101.911127,32.477427],[101.911025,32.477204],[101.910969,32.477064],[101.910939,32.47699],[101.910934,32.476976],[101.910854,32.476777],[101.910769,32.476563],[101.910683,32.476349],[101.910598,32.476136],[101.910513,32.475922],[101.910431,32.475717],[101.910427,32.475709],[101.910342,32.475495],[101.910296,32.47538],[101.910257,32.475281],[101.910171,32.475068],[101.910147,32.474912],[101.910141,32.474872],[101.910121,32.474749],[101.910102,32.474625],[101.910092,32.474564],[101.910032,32.474182],[101.909963,32.473739],[101.909893,32.473296],[101.90985,32.472849],[101.909806,32.472403],[101.909763,32.471956],[101.909719,32.471509],[101.909675,32.471063],[101.909676,32.47071],[101.909677,32.470407],[101.909677,32.470358],[101.909669,32.470089],[101.90966,32.469978],[101.909648,32.469841],[101.909628,32.469593],[101.909606,32.469282],[101.909596,32.469139],[101.909584,32.468972],[101.909527,32.468735],[101.90951,32.468665],[101.90947,32.468499],[101.909418,32.468282],[101.909413,32.468263],[101.909409,32.468244],[101.90936,32.468042],[101.909356,32.468027],[101.909264,32.467822],[101.909172,32.467617],[101.909079,32.467412],[101.908987,32.467207],[101.908895,32.467002],[101.908891,32.466995],[101.908882,32.466974],[101.90887,32.466947],[101.908849,32.4669],[101.908836,32.466871],[101.908809,32.466812],[101.908802,32.466797],[101.908734,32.466646],[101.908732,32.466641],[101.90871,32.466592],[101.908617,32.466387],[101.90856,32.466259],[101.908556,32.46625],[101.908537,32.466208],[101.908527,32.466186],[101.908526,32.466184],[101.908525,32.466182],[101.908498,32.466122],[101.908433,32.465977],[101.908356,32.465737],[101.908278,32.465497],[101.908201,32.465257],[101.908124,32.465017],[101.908047,32.464776],[101.907969,32.464536],[101.907915,32.464281],[101.90787,32.464069],[101.90786,32.464026],[101.907855,32.464003],[101.907845,32.463955],[101.907823,32.46385],[101.907806,32.463771],[101.907751,32.463516],[101.907697,32.463261],[101.907642,32.463006],[101.907621,32.462904],[101.907616,32.462881],[101.907607,32.462838],[101.907605,32.462828],[101.907588,32.46275],[101.907533,32.462495],[101.907494,32.462311],[101.907479,32.46224],[101.907476,32.462228],[101.907424,32.461985],[101.90738,32.461793],[101.907367,32.461738],[101.907357,32.461694],[101.907338,32.461613],[101.90731,32.461491],[101.907275,32.461159],[101.907252,32.460936],[101.907238,32.460808],[101.907228,32.460456],[101.907245,32.460207],[101.907282,32.459853],[101.907344,32.459521],[101.907346,32.459505],[101.907386,32.45925],[101.907372,32.458858],[101.907372,32.458858],[101.907372,32.458858],[101.907353,32.458718],[101.907316,32.458454],[101.907313,32.458427],[101.907313,32.458427],[101.907264,32.45807],[101.907256,32.458017],[101.907211,32.457686],[101.907168,32.457452],[101.907126,32.457217],[101.907107,32.457113],[101.907083,32.456983],[101.90706,32.456854],[101.907041,32.456748],[101.906998,32.456514],[101.906956,32.456279],[101.906913,32.456045],[101.906871,32.455811],[101.906829,32.455576],[101.906786,32.455342],[101.906786,32.455342],[101.906744,32.455107],[101.906743,32.455105],[101.906743,32.455103],[101.906701,32.454873],[101.906659,32.454639],[101.906616,32.454404],[101.906572,32.454162],[101.906527,32.45392],[101.906497,32.453758],[101.906497,32.453755],[101.906494,32.453738],[101.906483,32.453678],[101.906464,32.453578],[101.906464,32.453576],[101.906438,32.453435],[101.906438,32.453433],[101.906438,32.453432],[101.906425,32.453361],[101.906394,32.453193],[101.906349,32.452951],[101.906305,32.452709],[101.90626,32.452467],[101.906252,32.452424],[101.906247,32.452397],[101.906239,32.45235],[101.906229,32.452296],[101.906216,32.452225],[101.906171,32.451983],[101.906157,32.451905],[101.906144,32.451837],[101.906127,32.45174],[101.906107,32.451634],[101.906105,32.451621],[101.906101,32.451602],[101.9061,32.451594],[101.906082,32.451498],[101.906064,32.451245],[101.906045,32.450993],[101.906026,32.45074],[101.906008,32.450487],[101.905989,32.450234],[101.90597,32.449982],[101.905952,32.449729],[101.905933,32.449476],[101.905914,32.449223],[101.905896,32.448971],[101.905877,32.448718],[101.905868,32.448597],[101.905868,32.448595],[101.905868,32.448593],[101.905858,32.448465],[101.90584,32.448212],[101.905821,32.447959],[101.905832,32.447525],[101.905844,32.447091],[101.905855,32.446657],[101.905862,32.44638],[101.905866,32.446223],[101.905902,32.445984],[101.905937,32.445744],[101.905972,32.445505],[101.906007,32.445266],[101.906042,32.445027],[101.906078,32.444788],[101.906113,32.444549],[101.906148,32.444309],[101.906196,32.444078],[101.906243,32.443846],[101.906291,32.443615],[101.906338,32.443383],[101.906386,32.443151],[101.906433,32.44292],[101.906481,32.442688],[101.906529,32.442457],[101.90656,32.442192],[101.906591,32.441927],[101.906623,32.441663],[101.906654,32.441398],[101.906674,32.441229],[101.906686,32.441133],[101.906717,32.440869],[101.906748,32.440604],[101.90678,32.440339],[101.906784,32.440101],[101.906789,32.439862],[101.906793,32.439624],[101.906798,32.439385],[101.906803,32.439147],[101.906807,32.438908],[101.906812,32.43867],[101.906816,32.438431],[101.906821,32.438193],[101.906826,32.437954],[101.90683,32.437716],[101.906835,32.437477],[101.906799,32.437217],[101.906763,32.436957],[101.906727,32.436697],[101.906691,32.436437],[101.906655,32.436176],[101.906619,32.435916],[101.906583,32.435656],[101.906547,32.435396],[101.906502,32.435143],[101.906457,32.43489],[101.906412,32.434637],[101.906367,32.434384],[101.906322,32.434132],[101.906278,32.433879],[101.906233,32.433626],[101.906188,32.433373],[101.906155,32.43319],[101.906143,32.43312],[101.906098,32.432867],[101.906053,32.432615],[101.906008,32.432362],[101.905975,32.432087],[101.905942,32.431813],[101.905909,32.431538],[101.905876,32.431263],[101.905843,32.430989],[101.90581,32.430714],[101.905847,32.430361],[101.905884,32.430007],[101.906031,32.42959],[101.906178,32.429172],[101.906285,32.428949],[101.906392,32.428725],[101.906498,32.428501],[101.906605,32.428278],[101.906712,32.428055],[101.906712,32.428054],[101.906713,32.428052],[101.906716,32.428046],[101.906819,32.42783],[101.906945,32.427673],[101.906955,32.427661],[101.906986,32.427623],[101.90715,32.427418],[101.907315,32.427213],[101.907479,32.427009],[101.907643,32.426804],[101.907808,32.426599],[101.907972,32.426395],[101.908155,32.426209],[101.908337,32.426024],[101.90839,32.42597],[101.908403,32.425957],[101.90846,32.425899],[101.90847,32.425889],[101.90852,32.425838],[101.908702,32.425653],[101.908885,32.425467],[101.909067,32.425282],[101.90925,32.425097],[101.909432,32.424911],[101.909615,32.424726],[101.909797,32.42454],[101.90998,32.424355],[101.910162,32.42417],[101.910378,32.424023],[101.910593,32.423877],[101.910809,32.42373],[101.911024,32.423584],[101.91124,32.423437],[101.911455,32.42329],[101.911664,32.423182],[101.911873,32.423073],[101.912081,32.422965],[101.91229,32.422856],[101.912499,32.422748],[101.912707,32.422639],[101.912892,32.422532],[101.912935,32.422506],[101.912952,32.422496],[101.913026,32.422454],[101.913164,32.422373],[101.913173,32.422368],[101.913392,32.42224],[101.91362,32.422107],[101.913848,32.421974],[101.914018,32.421875],[101.914076,32.421841],[101.914385,32.421551],[101.914694,32.42126],[101.915003,32.420969],[101.915174,32.420753],[101.915344,32.420536],[101.915515,32.42032],[101.915685,32.420104],[101.91582,32.419708],[101.915824,32.419459],[101.915828,32.419209],[101.915793,32.418899],[101.915761,32.418672],[101.915619,32.418267],[101.915476,32.417861],[101.915394,32.417627],[101.915333,32.417456],[101.915191,32.417051],[101.915094,32.416787],[101.915009,32.416559],[101.914925,32.41633],[101.914841,32.416102],[101.914757,32.415873],[101.914673,32.415645],[101.914589,32.415416],[101.914505,32.415188],[101.914484,32.415132],[101.914459,32.415065],[101.914453,32.415048],[101.914421,32.41496],[101.914336,32.414731],[101.914252,32.414503],[101.914045,32.414145],[101.913838,32.413787],[101.91366,32.413574],[101.913482,32.41336],[101.913292,32.413177],[101.913102,32.412995],[101.912919,32.412649],[101.912736,32.412303],[101.912692,32.412071],[101.912648,32.411838],[101.912603,32.411606],[101.912559,32.411373],[101.912453,32.411066],[101.912346,32.410799],[101.912214,32.410532],[101.912024,32.41035],[101.911835,32.410168],[101.911637,32.41003],[101.911439,32.409891],[101.911242,32.409753],[101.911044,32.409614],[101.910846,32.409476],[101.910649,32.409337],[101.910451,32.409199],[101.910253,32.40906],[101.910056,32.408922],[101.909858,32.408783],[101.909636,32.408618],[101.909414,32.408453],[101.909192,32.408287],[101.908971,32.408122],[101.908749,32.407956],[101.908527,32.407791],[101.908305,32.407626],[101.908248,32.407583],[101.908083,32.40746],[101.907861,32.407295],[101.907691,32.407168],[101.907666,32.407149],[101.90764,32.407129],[101.907418,32.406964],[101.907196,32.406799],[101.907012,32.406649],[101.906827,32.4065],[101.906643,32.40635],[101.906459,32.406201],[101.906275,32.406051],[101.90609,32.405902],[101.905906,32.405752],[101.905722,32.405603],[101.905538,32.405453],[101.905353,32.405304],[101.905169,32.405155],[101.904985,32.405005],[101.904761,32.404896],[101.904537,32.404787],[101.904254,32.404731],[101.903971,32.404676],[101.903676,32.40463],[101.903522,32.404606],[101.903381,32.404585],[101.903252,32.404574],[101.903147,32.404565],[101.903098,32.40456],[101.902975,32.40455],[101.902816,32.404536],[101.902547,32.404553],[101.902279,32.40457],[101.902106,32.404607],[101.902013,32.404627],[101.901747,32.404685],[101.901584,32.40472],[101.901517,32.404734],[101.901481,32.404742],[101.901467,32.404745],[101.901215,32.404799],[101.901112,32.40484],[101.900913,32.40492],[101.900751,32.404985],[101.90061,32.405041],[101.900283,32.405132],[101.899955,32.405223],[101.899724,32.405259],[101.899493,32.405296],[101.899066,32.405336],[101.898639,32.405377],[101.898395,32.405393],[101.89815,32.405409],[101.897796,32.405438],[101.897442,32.405467],[101.897174,32.405504],[101.896906,32.405542],[101.896555,32.405622],[101.896204,32.405702],[101.89596,32.40576],[101.895717,32.405817],[101.895461,32.405875],[101.895206,32.405932],[101.894891,32.406002],[101.894475,32.406012],[101.894179,32.405956],[101.893907,32.40588],[101.893683,32.40575],[101.893459,32.405621],[101.893182,32.405379],[101.892964,32.405073],[101.892747,32.404767],[101.892565,32.404459],[101.89246,32.404208],[101.892354,32.403957],[101.892248,32.403705],[101.892142,32.403454],[101.892036,32.403202],[101.89193,32.402951],[101.891824,32.402699],[101.891719,32.402448],[101.891593,32.402233],[101.891467,32.402019],[101.891341,32.401804],[101.891215,32.40159],[101.89109,32.401376],[101.890964,32.401161],[101.890838,32.400947],[101.890712,32.400732],[101.890586,32.400518],[101.890461,32.400303],[101.890335,32.400089],[101.890209,32.399875],[101.890046,32.399655],[101.889883,32.399436],[101.88972,32.399217],[101.889557,32.398997],[101.889394,32.398778],[101.889231,32.398559],[101.889068,32.39834],[101.888905,32.39812],[101.888569,32.397831],[101.888233,32.397542],[101.887897,32.397253],[101.887703,32.397107],[101.887509,32.396961],[101.887314,32.396815],[101.88712,32.39667],[101.886908,32.39653],[101.886696,32.39639],[101.886435,32.396271],[101.886175,32.396152],[101.885903,32.396065],[101.885631,32.395978],[101.885368,32.395911],[101.885335,32.395902],[101.885244,32.395878],[101.885124,32.395848],[101.885086,32.395838],[101.885039,32.395826],[101.884791,32.395738],[101.884544,32.39565],[101.884221,32.395523],[101.883899,32.395396],[101.883588,32.395217],[101.883278,32.395038],[101.883141,32.394839],[101.883004,32.394641],[101.882867,32.394442],[101.88273,32.394243],[101.882614,32.394041],[101.882497,32.393839],[101.882381,32.393636],[101.882264,32.393434],[101.882148,32.393231],[101.882031,32.393029],[101.881914,32.392826],[101.881798,32.392624],[101.881681,32.392421],[101.881565,32.392219],[101.881439,32.392003],[101.881313,32.391787],[101.881188,32.391571],[101.881062,32.391355],[101.880936,32.391139],[101.880883,32.391048],[101.88081,32.390924],[101.880801,32.390908],[101.88074,32.390803],[101.880685,32.390708],[101.880559,32.390492],[101.880433,32.390276],[101.88035,32.390133],[101.880307,32.39006],[101.880182,32.389844],[101.880056,32.389628],[101.879877,32.389373],[101.879697,32.389119],[101.879517,32.38896],[101.879337,32.388802],[101.879156,32.388644],[101.878976,32.388485],[101.878796,32.388327],[101.878616,32.388169],[101.878316,32.38801],[101.87797,32.387893],[101.877674,32.387817],[101.877256,32.387745],[101.876819,32.387693],[101.876814,32.387693],[101.876771,32.387682],[101.876717,32.387668],[101.876703,32.387664],[101.876592,32.387635],[101.876371,32.387578],[101.876167,32.387479],[101.875798,32.387301],[101.875586,32.387171],[101.875375,32.387041],[101.87516,32.38687],[101.874946,32.386698],[101.874733,32.386516],[101.87452,32.386334],[101.874318,32.386142],[101.874116,32.385951],[101.873978,32.385827],[101.873919,32.385773],[101.87389,32.385748],[101.873848,32.38571],[101.873665,32.385545],[101.873337,32.385264],[101.873105,32.385161],[101.873026,32.385126],[101.873018,32.385123],[101.873018,32.385122],[101.872938,32.385087],[101.872831,32.385039],[101.872716,32.384988],[101.872456,32.38489],[101.872196,32.384793],[101.871854,32.384545],[101.871852,32.384543],[101.871849,32.384542],[101.871772,32.384486],[101.871772,32.384486],[101.871511,32.384297],[101.871169,32.384049],[101.871085,32.384],[101.870949,32.38392],[101.870897,32.38389],[101.870729,32.383791],[101.870621,32.383728],[101.870554,32.383688],[101.870509,32.383662],[101.870289,32.383533],[101.870069,32.383404],[101.869848,32.383275],[101.869628,32.383146],[101.869408,32.383017],[101.869188,32.382888],[101.868968,32.382759],[101.868748,32.38263],[101.868528,32.3825],[101.868308,32.382371],[101.868087,32.382242],[101.867867,32.382113],[101.867647,32.381984],[101.867597,32.381959],[101.867468,32.381894],[101.867443,32.381881],[101.867371,32.381846],[101.867264,32.381792],[101.867238,32.381779],[101.867033,32.381676],[101.866829,32.381573],[101.866624,32.38147],[101.866419,32.381368],[101.866215,32.381265],[101.86601,32.381162],[101.865805,32.381059],[101.865601,32.380957],[101.865367,32.3809],[101.865132,32.380843],[101.864895,32.380828],[101.864658,32.380813],[101.864422,32.380797],[101.864185,32.380782],[101.863948,32.380766],[101.863711,32.380751],[101.863416,32.380717],[101.863121,32.380661],[101.862895,32.380479],[101.862765,32.380243],[101.862635,32.380008],[101.862501,32.379638],[101.862444,32.379479],[101.862443,32.379474],[101.86242,32.379412],[101.862414,32.379393],[101.862389,32.379323],[101.86234,32.379186],[101.862336,32.379073],[101.862336,32.37907],[101.862332,32.378937],[101.862324,32.378689],[101.862316,32.37844],[101.862309,32.378192],[101.862301,32.377943],[101.862293,32.377695],[101.862285,32.377447],[101.862277,32.377198],[101.862294,32.376938],[101.862312,32.376679],[101.862329,32.376419],[101.862346,32.376159],[101.862363,32.375899],[101.862381,32.37564],[101.862398,32.37538],[101.862415,32.37512],[101.862427,32.374938],[101.862439,32.3747],[101.862451,32.374461],[101.862463,32.374223],[101.862475,32.373984],[101.862487,32.373745],[101.862493,32.373626],[101.862499,32.373507],[101.862503,32.373436],[101.862511,32.373268],[101.862524,32.37303],[101.862536,32.372791],[101.862548,32.372552],[101.862559,32.37212],[101.862565,32.371876],[101.86257,32.371687],[101.862579,32.37132],[101.862581,32.371255],[101.862592,32.370822],[101.862646,32.370603],[101.862701,32.370384],[101.862723,32.370326],[101.862783,32.370172],[101.862814,32.370091],[101.862879,32.36984],[101.862888,32.369811],[101.862937,32.36965],[101.862968,32.369548],[101.863084,32.369339],[101.863149,32.369094],[101.863215,32.368849],[101.86328,32.368603],[101.863333,32.368405],[101.863346,32.368358],[101.863373,32.368131],[101.863377,32.368101],[101.863409,32.367845],[101.863439,32.367599],[101.863497,32.367259],[101.863552,32.366935],[101.863553,32.366933],[101.863555,32.36692],[101.863613,32.36658],[101.86364,32.366294],[101.863666,32.366008],[101.863667,32.365995],[101.863623,32.365553],[101.863578,32.36511],[101.863534,32.364668],[101.863489,32.364226],[101.863466,32.364002],[101.863387,32.363576],[101.863307,32.363151],[101.863227,32.362725],[101.863148,32.3623],[101.863068,32.361874],[101.862977,32.361468],[101.862899,32.361123],[101.862827,32.360804],[101.862821,32.360779],[101.862757,32.360492],[101.862693,32.360206],[101.862693,32.35993],[101.862693,32.359654],[101.862697,32.359392],[101.862702,32.35913],[101.862702,32.358972],[101.862702,32.358683],[101.862636,32.358369],[101.862588,32.358102],[101.862626,32.357769],[101.862759,32.357455],[101.862869,32.357231],[101.862978,32.357008],[101.863035,32.356684],[101.863026,32.356427],[101.862908,32.355998],[101.862855,32.355805],[101.862848,32.355787],[101.862848,32.355786],[101.862848,32.355786],[101.862844,32.355774],[101.862771,32.355566],[101.86276,32.355533],[101.862687,32.355327],[101.862606,32.355138],[101.862606,32.355138],[101.862606,32.355138],[101.862444,32.354762],[101.862282,32.354387],[101.86222,32.354295],[101.862181,32.354238],[101.862043,32.354056],[101.861905,32.353875],[101.861866,32.353832],[101.861791,32.35375],[101.86152,32.35345],[101.861352,32.353286],[101.861184,32.353122],[101.861006,32.352969],[101.860827,32.352815],[101.860513,32.352615],[101.860335,32.352458],[101.86027,32.352244],[101.860263,32.352016],[101.860227,32.351701],[101.860162,32.351579],[101.860121,32.351503],[101.860042,32.351412],[101.859817,32.351167],[101.859593,32.350922],[101.859365,32.350659],[101.859192,32.35046],[101.859019,32.350261],[101.858847,32.350062],[101.858674,32.349863],[101.858448,32.349511],[101.858221,32.349159],[101.857995,32.348808],[101.857768,32.348456],[101.857588,32.348295],[101.857407,32.348133],[101.857226,32.347972],[101.857046,32.34781],[101.856865,32.347648],[101.856685,32.347487],[101.856367,32.347217],[101.856049,32.346948],[101.855731,32.346679],[101.8555,32.346345],[101.85527,32.346012],[101.855039,32.345679],[101.854922,32.345464],[101.854819,32.345274],[101.854805,32.345249],[101.854689,32.345034],[101.854572,32.344819],[101.854437,32.34457],[101.854326,32.344477],[101.854012,32.344242],[101.853892,32.344132],[101.853822,32.344069],[101.853777,32.344028],[101.853591,32.343746],[101.853406,32.343464],[101.853313,32.343232],[101.85322,32.343],[101.853077,32.342714],[101.852934,32.342429],[101.852791,32.342125],[101.852749,32.342036],[101.852656,32.341615],[101.852649,32.341237],[101.852642,32.340858],[101.852599,32.34068],[101.852549,32.340516],[101.852492,32.340409],[101.852406,32.340209],[101.852406,32.340002],[101.852392,32.339873],[101.852335,32.339709],[101.852381,32.339416],[101.852428,32.339124],[101.852499,32.338867],[101.852497,32.338843],[101.85247,32.338574],[101.852473,32.338228],[101.852475,32.337882],[101.852404,32.337654],[101.852379,32.337504],[101.852297,32.337083],[101.852254,32.336958],[101.852198,32.336881],[101.852198,32.33688],[101.852197,32.336879],[101.852111,32.336804],[101.851942,32.336622],[101.851785,32.336343],[101.851627,32.336063],[101.851514,32.335801],[101.851478,32.335605],[101.851556,32.335369]]]]},"properties":{"cp":[102.04239391087305,32.455224568167694],"code":"513233203","name":"查尔玛乡","level":"street","center":[102.04239391087305,32.455224568167694],"fullCode":"513233203000","fullName":"四川省阿坝藏族羌族自治州红原县查尔玛乡","acreageMu":1092920.26,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[101.921,32.5029]}},{"id":"513233204","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.485374,33.088931],[102.485341,33.088785],[102.485348,33.088537],[102.485356,33.088289],[102.485367,33.087863],[102.485377,33.087532],[102.485397,33.087205],[102.485417,33.086878],[102.485309,33.086675],[102.485202,33.086471],[102.48493,33.086183],[102.484751,33.086002],[102.484573,33.08582],[102.484395,33.085675],[102.484216,33.085529],[102.484007,33.085442],[102.483798,33.085355],[102.48338,33.085251],[102.483112,33.085246],[102.482844,33.085241],[102.482449,33.08528],[102.482155,33.085262],[102.48186,33.085245],[102.481496,33.085167],[102.481246,33.08502],[102.481032,33.08466],[102.480954,33.084446],[102.480876,33.084231],[102.480797,33.084005],[102.480719,33.083778],[102.480506,33.083457],[102.480449,33.083371],[102.480314,33.083155],[102.48018,33.08294],[102.480046,33.082712],[102.479912,33.082485],[102.479791,33.082293],[102.47967,33.082102],[102.479455,33.081718],[102.479351,33.081456],[102.479162,33.08113],[102.479138,33.080902],[102.479113,33.080675],[102.479089,33.080447],[102.479064,33.080219],[102.479039,33.079992],[102.479015,33.079764],[102.47899,33.079537],[102.478966,33.079309],[102.478941,33.079082],[102.478916,33.078854],[102.478894,33.078579],[102.478871,33.078305],[102.478849,33.07803],[102.478826,33.077756],[102.478803,33.077481],[102.478781,33.077207],[102.478758,33.076932],[102.478735,33.076658],[102.478713,33.076383],[102.47869,33.076109],[102.478667,33.075834],[102.478645,33.075559],[102.478596,33.075299],[102.478548,33.075038],[102.478502,33.074634],[102.478427,33.074325],[102.478354,33.074104],[102.478281,33.073883],[102.478208,33.073662],[102.478135,33.073441],[102.478062,33.07322],[102.477988,33.072999],[102.477907,33.07279],[102.477826,33.07258],[102.477745,33.07237],[102.477664,33.07216],[102.477582,33.071951],[102.477501,33.071741],[102.47742,33.071531],[102.477339,33.071321],[102.477257,33.071111],[102.477176,33.070902],[102.477092,33.070676],[102.477007,33.070449],[102.476923,33.070223],[102.476839,33.069997],[102.476755,33.069771],[102.47667,33.069545],[102.476586,33.069319],[102.476502,33.069093],[102.476417,33.068867],[102.476333,33.068641],[102.47625,33.068381],[102.476167,33.06812],[102.476084,33.06786],[102.476001,33.0676],[102.475918,33.06734],[102.475835,33.06708],[102.475752,33.066819],[102.475669,33.066559],[102.475586,33.066299],[102.475503,33.066039],[102.47542,33.065779],[102.475337,33.065518],[102.475254,33.065258],[102.475171,33.064998],[102.475042,33.064577],[102.474914,33.064157],[102.474785,33.063736],[102.474694,33.063427],[102.474604,33.063117],[102.474633,33.062859],[102.474662,33.0626],[102.474691,33.062341],[102.47472,33.062082],[102.474788,33.061843],[102.474856,33.061604],[102.474924,33.061364],[102.474992,33.061125],[102.47508,33.060812],[102.475292,33.060436],[102.475504,33.060061],[102.475702,33.059694],[102.475901,33.059327],[102.476099,33.05896],[102.476316,33.058571],[102.476533,33.058181],[102.476623,33.057788],[102.476713,33.057395],[102.476716,33.057121],[102.476719,33.056847],[102.476682,33.05653],[102.476644,33.056213],[102.476607,33.055896],[102.476555,33.055455],[102.476549,33.055064],[102.476543,33.054673],[102.476537,33.054282],[102.476531,33.05406],[102.476521,33.053734],[102.476511,33.053408],[102.476504,33.053084],[102.476496,33.052759],[102.476488,33.052435],[102.47642,33.052174],[102.476351,33.051913],[102.476291,33.051686],[102.476231,33.051459],[102.476115,33.051083],[102.475999,33.050706],[102.47598,33.050644],[102.475833,33.050356],[102.475686,33.050069],[102.47554,33.049781],[102.475349,33.049436],[102.475159,33.049091],[102.47512,33.048987],[102.474994,33.048655],[102.474868,33.048323],[102.474743,33.047991],[102.474637,33.047791],[102.474528,33.047586],[102.474291,33.047212],[102.474008,33.046911],[102.473725,33.046611],[102.473689,33.046536],[102.473642,33.046438],[102.473666,33.046212],[102.47366,33.045849],[102.473654,33.045486],[102.473688,33.045178],[102.473722,33.04487],[102.473749,33.044624],[102.473775,33.044255],[102.473801,33.043886],[102.473827,33.043517],[102.473828,33.043352],[102.47383,33.042991],[102.473833,33.042629],[102.473836,33.042267],[102.473838,33.041905],[102.473856,33.041537],[102.473904,33.041311],[102.474047,33.041067],[102.474172,33.040847],[102.474296,33.040626],[102.474499,33.040406],[102.474701,33.040186],[102.474826,33.039996],[102.474945,33.039764],[102.474998,33.039484],[102.475117,33.039223],[102.475177,33.039116],[102.475179,33.039109],[102.47519,33.03866],[102.475201,33.03829],[102.475211,33.03792],[102.475222,33.037549],[102.475261,33.037297],[102.475299,33.037044],[102.475338,33.036792],[102.475377,33.036539],[102.475416,33.036287],[102.475455,33.036034],[102.475493,33.035782],[102.475532,33.035529],[102.475574,33.035261],[102.475582,33.035207],[102.475637,33.03523],[102.476507,33.035744],[102.477346,33.03604],[102.478298,33.036277],[102.478923,33.036351],[102.478959,33.036352],[102.479841,33.036463],[102.480447,33.03719],[102.480949,33.037666],[102.481976,33.037842],[102.482808,33.038417],[102.483751,33.038964],[102.484244,33.03975],[102.484622,33.04072],[102.484898,33.041378],[102.485531,33.042477],[102.486396,33.043147],[102.487775,33.04392],[102.489316,33.044199],[102.490709,33.044015],[102.490944,33.043984],[102.492318,33.043639],[102.493072,33.043033],[102.494461,33.04216],[102.494835,33.040647],[102.495199,33.039536],[102.495965,33.038496],[102.497306,33.036691],[102.498087,33.035154],[102.499122,33.035051],[102.499675,33.035062],[102.500222,33.035185],[102.500546,33.035083],[102.501299,33.034557],[102.501858,33.034108],[102.502507,33.033851],[102.502766,33.033775],[102.503184,33.033756],[102.503601,33.033792],[102.504169,33.034128],[102.505439,33.034667],[102.506104,33.035005],[102.506864,33.035372],[102.507595,33.03563],[102.508559,33.035622],[102.509431,33.03545],[102.510549,33.035218],[102.511503,33.035064],[102.512043,33.035053],[102.512733,33.035197],[102.51329,33.035489],[102.513953,33.035654],[102.514969,33.036085],[102.515863,33.036276],[102.516349,33.036351],[102.517473,33.036568],[102.518386,33.036997],[102.519404,33.037342],[102.519916,33.037396],[102.522811,33.038062],[102.523696,33.038027],[102.524803,33.03817],[102.525561,33.038272],[102.526239,33.038286],[102.526871,33.038454],[102.527509,33.038449],[102.528049,33.038269],[102.528543,33.038227],[102.529272,33.037913],[102.530071,33.037407],[102.530795,33.036826],[102.531727,33.035888],[102.532038,33.03534],[102.532231,33.034928],[102.53248,33.034849],[102.532688,33.035034],[102.533093,33.035277],[102.533533,33.035438],[102.53399,33.035572],[102.534416,33.035636],[102.534951,33.035924],[102.535533,33.03631],[102.536001,33.036638],[102.537837,33.037931],[102.538575,33.038537],[102.539558,33.039192],[102.540183,33.039411],[102.540789,33.039719],[102.542123,33.040346],[102.543113,33.040937],[102.543737,33.041245],[102.544176,33.041431],[102.544879,33.041406],[102.545443,33.041338],[102.546175,33.041096],[102.54684,33.040735],[102.547299,33.040231],[102.54766,33.039864],[102.54839,33.039701],[102.549396,33.03972],[102.550049,33.039812],[102.550889,33.039908],[102.551708,33.039904],[102.553137,33.039853],[102.553888,33.039809],[102.554891,33.039927],[102.555916,33.040105],[102.556472,33.040293],[102.556985,33.040382],[102.557617,33.040375],[102.559062,33.04058],[102.559556,33.040511],[102.560478,33.040155],[102.561196,33.039597],[102.561634,33.038994],[102.561676,33.038325],[102.56179,33.037558],[102.561623,33.036826],[102.5616,33.035978],[102.561842,33.034839],[102.562602,33.033573],[102.563055,33.032418],[102.563595,33.030334],[102.563754,33.029327],[102.564152,33.027113],[102.564351,33.026233],[102.564996,33.024583],[102.565489,33.023014],[102.565268,33.022255],[102.564832,33.021152],[102.564503,33.019769],[102.564702,33.017414],[102.565032,33.016325],[102.565145,33.01585],[102.565203,33.015718],[102.565244,33.015624],[102.565393,33.015285],[102.565433,33.015195],[102.565508,33.015198],[102.565561,33.015211],[102.565608,33.015223],[102.565636,33.015245],[102.565658,33.015278],[102.565666,33.015309],[102.565667,33.01538],[102.565662,33.015432],[102.565642,33.015471],[102.565607,33.015517],[102.565605,33.01553],[102.565637,33.015558],[102.565684,33.01556],[102.565717,33.01555],[102.56577,33.01552],[102.565802,33.015493],[102.565852,33.015458],[102.565891,33.015428],[102.565952,33.015401],[102.566021,33.015384],[102.566053,33.015381],[102.566192,33.015377],[102.566269,33.015359],[102.566301,33.015328],[102.566314,33.015297],[102.566315,33.015268],[102.566298,33.01524],[102.566274,33.015213],[102.56634,33.015218],[102.566342,33.015157],[102.566316,33.015122],[102.566235,33.015069],[102.566174,33.015041],[102.56612,33.015038],[102.566059,33.015055],[102.565981,33.015083],[102.565927,33.015105],[102.565874,33.015116],[102.565848,33.015115],[102.565803,33.015099],[102.565774,33.015075],[102.56575,33.015037],[102.565722,33.014962],[102.56572,33.014955],[102.565709,33.014878],[102.565705,33.014794],[102.56569,33.014713],[102.565667,33.014665],[102.565623,33.014628],[102.565608,33.014616],[102.56554,33.014581],[102.565446,33.014556],[102.56541,33.014546],[102.56533,33.014531],[102.565257,33.014509],[102.565201,33.014488],[102.565159,33.014465],[102.565139,33.014437],[102.565127,33.014387],[102.56515,33.014316],[102.565187,33.014265],[102.56524,33.014238],[102.565273,33.014237],[102.56535,33.014261],[102.565421,33.01431],[102.565487,33.014334],[102.56553,33.014338],[102.565605,33.014317],[102.56566,33.01428],[102.565718,33.014212],[102.565756,33.014174],[102.565796,33.014128],[102.565832,33.014114],[102.565868,33.014113],[102.565929,33.014147],[102.566033,33.014201],[102.5661,33.014221],[102.566184,33.014236],[102.566269,33.01423],[102.566342,33.014224],[102.566406,33.014238],[102.566455,33.014276],[102.566501,33.01421],[102.56654,33.0142],[102.566559,33.014235],[102.566561,33.014264],[102.566558,33.014317],[102.566541,33.014371],[102.566525,33.01441],[102.566502,33.014452],[102.566472,33.014505],[102.566449,33.014539],[102.566419,33.014589],[102.566413,33.014636],[102.566427,33.014654],[102.566458,33.014667],[102.566533,33.01467],[102.566574,33.014662],[102.566625,33.014637],[102.566657,33.014613],[102.566684,33.014584],[102.56671,33.014548],[102.566742,33.014499],[102.566751,33.014475],[102.566762,33.014449],[102.566762,33.014384],[102.566753,33.014335],[102.566738,33.014279],[102.56672,33.014238],[102.566706,33.014202],[102.566684,33.014162],[102.566687,33.014128],[102.566694,33.014109],[102.56671,33.014092],[102.566746,33.014059],[102.566768,33.014035],[102.566794,33.014014],[102.566837,33.014003],[102.566886,33.014005],[102.56692,33.014019],[102.566961,33.014052],[102.566988,33.014081],[102.567028,33.014119],[102.567072,33.014156],[102.567113,33.014192],[102.567205,33.014274],[102.567256,33.014326],[102.567285,33.01437],[102.567332,33.014434],[102.567387,33.014464],[102.567442,33.014478],[102.567501,33.014482],[102.56754,33.014474],[102.567603,33.014452],[102.567646,33.014432],[102.567725,33.014424],[102.567768,33.014426],[102.567805,33.01443],[102.567845,33.01444],[102.56788,33.014448],[102.567914,33.014463],[102.567944,33.014481],[102.567966,33.014504],[102.567994,33.014572],[102.567994,33.014617],[102.567991,33.014652],[102.56796,33.014701],[102.567908,33.014749],[102.567853,33.014792],[102.567788,33.014833],[102.567713,33.014859],[102.567706,33.014862],[102.567675,33.014873],[102.567639,33.014903],[102.567637,33.014943],[102.567647,33.014967],[102.567668,33.014986],[102.567695,33.015012],[102.567728,33.015039],[102.567748,33.015072],[102.567799,33.015115],[102.567837,33.01514],[102.567889,33.015149],[102.567947,33.015145],[102.567987,33.015124],[102.568009,33.015103],[102.568033,33.015064],[102.568051,33.015022],[102.568057,33.01498],[102.56807,33.014907],[102.568073,33.01486],[102.568082,33.014828],[102.568115,33.014775],[102.568146,33.014746],[102.568178,33.014721],[102.568183,33.014718],[102.568234,33.01469],[102.568272,33.01468],[102.568333,33.01469],[102.568385,33.014721],[102.568425,33.014737],[102.568571,33.014829],[102.568597,33.014883],[102.568605,33.014951],[102.568596,33.015006],[102.568559,33.015057],[102.568512,33.015102],[102.568484,33.015122],[102.568456,33.015143],[102.568398,33.015176],[102.568353,33.015191],[102.568317,33.015215],[102.568267,33.015253],[102.568229,33.015291],[102.568249,33.015338],[102.568283,33.015382],[102.568316,33.015398],[102.56837,33.015403],[102.568408,33.015372],[102.568414,33.015368],[102.568466,33.015337],[102.568536,33.015276],[102.56859,33.015241],[102.568607,33.015225],[102.568662,33.01519],[102.568715,33.015156],[102.568759,33.015133],[102.568801,33.015106],[102.56884,33.015082],[102.568899,33.015046],[102.568917,33.015033],[102.569055,33.015019],[102.569089,33.015016],[102.569146,33.01501],[102.569426,33.014529],[102.569787,33.014311],[102.570199,33.014242],[102.57059,33.014177],[102.570725,33.014127],[102.570748,33.014119],[102.570984,33.014032],[102.571029,33.014015],[102.571149,33.013971],[102.571212,33.013973],[102.571312,33.013987],[102.571378,33.013999],[102.57148,33.014024],[102.57152,33.014066],[102.571586,33.014136],[102.571648,33.014213],[102.571679,33.014289],[102.571686,33.014315],[102.571705,33.014382],[102.571895,33.014331],[102.572006,33.014429],[102.571682,33.01491],[102.571574,33.015164],[102.571572,33.015169],[102.571586,33.01517],[102.57161,33.015172],[102.57163,33.015177],[102.571651,33.015183],[102.571701,33.015202],[102.571753,33.015256],[102.571792,33.015319],[102.571839,33.015361],[102.571897,33.015427],[102.571952,33.015495],[102.571989,33.015561],[102.571998,33.015576],[102.572005,33.015578],[102.57224,33.015632],[102.572479,33.015843],[102.57249,33.015853],[102.572602,33.015851],[102.572703,33.015863],[102.572802,33.015895],[102.572828,33.015924],[102.572855,33.015967],[102.572873,33.015994],[102.572882,33.016036],[102.572882,33.016083],[102.572857,33.016122],[102.572807,33.016178],[102.572758,33.016214],[102.572672,33.016248],[102.572706,33.016465],[102.572606,33.016875],[102.572569,33.016975],[102.572567,33.01698],[102.572514,33.017123],[102.57251,33.017135],[102.572587,33.017165],[102.572601,33.01717],[102.572818,33.017254],[102.573309,33.017151],[102.573531,33.017193],[102.573914,33.017799],[102.574333,33.018077],[102.574453,33.018156],[102.574533,33.01821],[102.574612,33.018262],[102.574703,33.018313],[102.575218,33.018598],[102.57523,33.018604],[102.575247,33.018595],[102.575282,33.018579],[102.575326,33.01858],[102.575384,33.01858],[102.57547,33.018581],[102.575537,33.018614],[102.57562,33.018684],[102.575653,33.018748],[102.575669,33.018787],[102.575929,33.018887],[102.576139,33.01934],[102.576176,33.019603],[102.576066,33.019799],[102.575989,33.019937],[102.57597,33.019953],[102.575993,33.019987],[102.57599,33.020037],[102.575967,33.020082],[102.575907,33.02015],[102.575843,33.020201],[102.575753,33.020236],[102.575708,33.020251],[102.57564,33.020246],[102.575625,33.020258],[102.575533,33.02034],[102.575489,33.020564],[102.575482,33.020602],[102.575479,33.020714],[102.575467,33.021125],[102.575115,33.021513],[102.575101,33.021529],[102.575107,33.021604],[102.575111,33.021674],[102.57511,33.021715],[102.575103,33.021787],[102.57509,33.021827],[102.575045,33.021888],[102.574983,33.021913],[102.574898,33.021918],[102.574812,33.021904],[102.574724,33.021856],[102.574624,33.021791],[102.574606,33.021779],[102.574594,33.021766],[102.57456,33.021781],[102.574404,33.021932],[102.574332,33.022001],[102.574501,33.022342],[102.574928,33.022949],[102.574919,33.023286],[102.574688,33.023618],[102.574313,33.024323],[102.574305,33.024612],[102.574305,33.024622],[102.574304,33.024659],[102.574358,33.024698],[102.574415,33.024738],[102.574522,33.024814],[102.574835,33.024745],[102.575447,33.024217],[102.575472,33.024195],[102.575488,33.024185],[102.575602,33.02411],[102.57565,33.024079],[102.57597,33.023868],[102.576169,33.023872],[102.576459,33.023878],[102.576574,33.024062],[102.576519,33.024115],[102.576576,33.024175],[102.576621,33.024138],[102.576672,33.024219],[102.576877,33.024822],[102.57682,33.025308],[102.577393,33.025468],[102.577466,33.025474],[102.577488,33.025476],[102.577502,33.025471],[102.577597,33.025435],[102.577719,33.025382],[102.577846,33.025382],[102.577993,33.025375],[102.578068,33.025354],[102.578151,33.0253],[102.578271,33.025223],[102.578381,33.025173],[102.578465,33.025182],[102.578554,33.02523],[102.578613,33.025312],[102.578625,33.025407],[102.578603,33.025482],[102.578573,33.025518],[102.578536,33.025544],[102.578459,33.025577],[102.578394,33.025597],[102.578412,33.025601],[102.578422,33.025619],[102.578624,33.025979],[102.578856,33.026539],[102.578865,33.026561],[102.578919,33.0266],[102.578967,33.026692],[102.578958,33.026736],[102.578945,33.026754],[102.578999,33.026885],[102.579209,33.027339],[102.579322,33.027438],[102.579386,33.027371],[102.579474,33.027289],[102.579553,33.027281],[102.579635,33.027288],[102.5797,33.027316],[102.579741,33.02735],[102.579766,33.027376],[102.579776,33.027395],[102.579781,33.027391],[102.579831,33.027351],[102.580229,33.027433],[102.580349,33.027715],[102.580365,33.027754],[102.580407,33.027851],[102.580409,33.027857],[102.580438,33.027924],[102.580833,33.028082],[102.58106,33.027936],[102.581295,33.027454],[102.5814,33.026857],[102.581564,33.02686],[102.581712,33.026863],[102.5818,33.026865],[102.581869,33.02692],[102.581881,33.026929],[102.581881,33.026973],[102.581879,33.027013],[102.581875,33.027071],[102.58188,33.027106],[102.581897,33.027129],[102.58193,33.027138],[102.582007,33.02714],[102.58206,33.027141],[102.582107,33.027138],[102.582137,33.027135],[102.582155,33.027137],[102.582207,33.027148],[102.582294,33.027218],[102.582492,33.027366],[102.58253,33.027407],[102.582562,33.027427],[102.582632,33.027511],[102.582682,33.027584],[102.582714,33.027629],[102.582759,33.027683],[102.582788,33.027724],[102.582816,33.027764],[102.582829,33.027774],[102.58285,33.027768],[102.582867,33.027746],[102.582872,33.027719],[102.582876,33.027658],[102.582875,33.027625],[102.582891,33.027635],[102.583036,33.0277],[102.583051,33.027706],[102.583154,33.027752],[102.583203,33.027803],[102.583413,33.028019],[102.583445,33.028507],[102.583558,33.028618],[102.58373,33.028787],[102.583777,33.028794],[102.583863,33.028828],[102.583938,33.028918],[102.584161,33.028982],[102.584225,33.029],[102.58454,33.02909],[102.58478,33.029044],[102.584898,33.029022],[102.585206,33.028996],[102.585243,33.028993],[102.585345,33.028985],[102.585759,33.028951],[102.585767,33.028951],[102.586011,33.028931],[102.586039,33.028928],[102.586204,33.028913],[102.586367,33.028897],[102.586502,33.028885],[102.586629,33.028873],[102.587086,33.02883],[102.587403,33.0288],[102.587423,33.028798],[102.58766,33.028776],[102.587814,33.028606],[102.588027,33.028371],[102.58808,33.028104],[102.588233,33.027326],[102.588196,33.027087],[102.588099,33.026455],[102.588082,33.02635],[102.587868,33.025627],[102.587867,33.025622],[102.587835,33.025516],[102.587821,33.025516],[102.587808,33.025504],[102.587795,33.025484],[102.587779,33.025436],[102.587752,33.025364],[102.587722,33.025307],[102.587693,33.025238],[102.587682,33.025154],[102.58767,33.025072],[102.587637,33.024948],[102.587601,33.024853],[102.587576,33.024778],[102.587537,33.024649],[102.587518,33.024537],[102.587511,33.024436],[102.587522,33.02426],[102.587533,33.02416],[102.587567,33.024012],[102.587602,33.023894],[102.58767,33.023781],[102.587689,33.023667],[102.587717,33.023529],[102.587717,33.023498],[102.587708,33.023479],[102.587684,33.023436],[102.587651,33.023372],[102.587611,33.0233],[102.587566,33.023207],[102.587534,33.023077],[102.587502,33.022953],[102.587477,33.022865],[102.587484,33.022815],[102.587525,33.022743],[102.587584,33.022693],[102.587663,33.022666],[102.587759,33.022624],[102.587813,33.022599],[102.587852,33.022603],[102.587872,33.022622],[102.587871,33.022651],[102.587857,33.022688],[102.587833,33.022713],[102.587836,33.022727],[102.587852,33.022736],[102.587876,33.022744],[102.587911,33.02274],[102.587944,33.02273],[102.587992,33.022703],[102.588098,33.022645],[102.588169,33.022586],[102.5882,33.022549],[102.5882,33.02253],[102.588183,33.02251],[102.588143,33.022492],[102.588106,33.022475],[102.588079,33.022449],[102.588085,33.022421],[102.5881,33.022403],[102.588144,33.022386],[102.588218,33.022382],[102.588312,33.022383],[102.588379,33.022393],[102.588426,33.022415],[102.588438,33.022402],[102.588579,33.022258],[102.58907,33.022159],[102.589152,33.022143],[102.589212,33.022163],[102.589334,33.022195],[102.589411,33.022213],[102.589576,33.022218],[102.589647,33.022218],[102.589704,33.022208],[102.589786,33.022188],[102.589907,33.022161],[102.590051,33.02212],[102.590142,33.022091],[102.590266,33.02204],[102.590511,33.021851],[102.591144,33.021708],[102.591161,33.021702],[102.591167,33.021699],[102.591902,33.021417],[102.592401,33.021225],[102.593002,33.020995],[102.59303,33.020981],[102.5936,33.020705],[102.593784,33.020616],[102.594183,33.020423],[102.594985,33.020034],[102.595286,33.019805],[102.595949,33.019299],[102.596136,33.019157],[102.596736,33.018017],[102.596761,33.017969],[102.596793,33.017892],[102.596987,33.017422],[102.597047,33.017276],[102.59709,33.01717],[102.597085,33.017167],[102.597084,33.017153],[102.597096,33.017099],[102.597126,33.01699],[102.597157,33.016801],[102.597174,33.016722],[102.597173,33.016653],[102.597178,33.016596],[102.597201,33.016546],[102.597226,33.016476],[102.597221,33.016398],[102.597217,33.016297],[102.597218,33.016187],[102.597169,33.015997],[102.597145,33.015832],[102.597124,33.015689],[102.597101,33.015493],[102.597057,33.015335],[102.597028,33.015083],[102.596998,33.014977],[102.596958,33.014857],[102.59689,33.014527],[102.596855,33.014254],[102.5968,33.013921],[102.596793,33.01388],[102.59678,33.013734],[102.596735,33.013516],[102.596723,33.013455],[102.596676,33.01334],[102.596637,33.01322],[102.596618,33.013132],[102.596619,33.012985],[102.5966,33.012861],[102.596583,33.012755],[102.596582,33.012722],[102.596587,33.01271],[102.596602,33.012707],[102.596501,33.012145],[102.596487,33.012067],[102.596486,33.012062],[102.596409,33.011956],[102.596377,33.011896],[102.596351,33.011828],[102.596329,33.011745],[102.596306,33.01165],[102.596279,33.011572],[102.596241,33.01145],[102.596222,33.011359],[102.596203,33.01129],[102.596194,33.0112],[102.596176,33.011106],[102.596159,33.011058],[102.596128,33.011012],[102.596117,33.010984],[102.596114,33.010931],[102.596111,33.010826],[102.596103,33.010737],[102.596067,33.010644],[102.596038,33.010551],[102.59602,33.010378],[102.596016,33.010342],[102.595964,33.009979],[102.595842,33.009421],[102.59581,33.00918],[102.595808,33.009091],[102.595796,33.008998],[102.595795,33.008862],[102.595803,33.00879],[102.595822,33.008722],[102.595851,33.008616],[102.595873,33.00855],[102.595979,33.008387],[102.596019,33.008347],[102.596058,33.00829],[102.596133,33.008224],[102.596165,33.008181],[102.59621,33.008151],[102.596247,33.008125],[102.596271,33.008089],[102.596302,33.00806],[102.596341,33.008054],[102.596361,33.008056],[102.596374,33.008063],[102.596502,33.007872],[102.597201,33.007266],[102.597291,33.007188],[102.597632,33.006829],[102.597681,33.006776],[102.597774,33.006678],[102.597988,33.006453],[102.598268,33.006157],[102.598568,33.005621],[102.598841,33.005135],[102.599175,33.004538],[102.599514,33.003933],[102.599699,33.003498],[102.599772,33.003328],[102.599868,33.003102],[102.600175,33.002382],[102.600288,33.002117],[102.600337,33.002],[102.600242,33.001836],[102.600198,33.001761],[102.599949,33.00133],[102.599487,33.000535],[102.599261,32.999641],[102.599114,32.999063],[102.599064,32.998867],[102.599032,32.998739],[102.599097,32.998698],[102.598982,32.998588],[102.598888,32.998445],[102.598769,32.998313],[102.597865,32.996847],[102.597802,32.996745],[102.597653,32.996432],[102.597535,32.996184],[102.59753,32.996173],[102.597496,32.996102],[102.597438,32.99598],[102.597539,32.995619],[102.597571,32.995504],[102.597736,32.995108],[102.597751,32.994957],[102.597837,32.994828],[102.597933,32.994676],[102.597978,32.994587],[102.59798,32.994457],[102.597985,32.994385],[102.597985,32.994376],[102.598043,32.994268],[102.598142,32.994094],[102.598145,32.994089],[102.598198,32.994014],[102.5982,32.99401],[102.598241,32.993894],[102.598252,32.99382],[102.598252,32.993758],[102.59824,32.993684],[102.598225,32.993622],[102.598197,32.993556],[102.598165,32.993482],[102.598135,32.993447],[102.598473,32.99306],[102.598643,32.992707],[102.598882,32.99221],[102.599116,32.991723],[102.599161,32.991631],[102.59971,32.991318],[102.599707,32.991307],[102.599715,32.991277],[102.599762,32.991106],[102.5998,32.991002],[102.599868,32.990857],[102.599935,32.990717],[102.600071,32.990565],[102.600144,32.990448],[102.600212,32.990406],[102.600289,32.990359],[102.600339,32.990322],[102.600399,32.990296],[102.600477,32.990284],[102.600506,32.990336],[102.600635,32.990232],[102.601333,32.989671],[102.60139,32.989583],[102.60146,32.989478],[102.601489,32.989433],[102.601541,32.989354],[102.601927,32.988769],[102.602002,32.988656],[102.602137,32.988388],[102.602371,32.987928],[102.602399,32.987871],[102.602545,32.987584],[102.602738,32.986789],[102.60284,32.986373],[102.602852,32.986324],[102.602978,32.985807],[102.60364,32.985062],[102.603682,32.98503],[102.603843,32.984905],[102.604081,32.984722],[102.604093,32.984712],[102.604134,32.984681],[102.604552,32.984358],[102.60496,32.984044],[102.605213,32.983848],[102.605268,32.983813],[102.606012,32.983334],[102.606602,32.982955],[102.607282,32.982517],[102.607396,32.982444],[102.6075,32.982377],[102.607528,32.982322],[102.607575,32.982231],[102.607727,32.981937],[102.607807,32.981784],[102.607811,32.981776],[102.607824,32.98175],[102.607817,32.981747],[102.607814,32.981738],[102.607814,32.981721],[102.607797,32.981674],[102.607784,32.981641],[102.607752,32.981596],[102.607727,32.981564],[102.607714,32.981534],[102.607699,32.981491],[102.607691,32.981449],[102.607691,32.981409],[102.607697,32.981342],[102.60771,32.981293],[102.607782,32.981204],[102.607824,32.98115],[102.60785,32.981107],[102.607863,32.981065],[102.607859,32.981006],[102.607853,32.980936],[102.607853,32.980869],[102.607853,32.980823],[102.607876,32.980759],[102.6079,32.980714],[102.607973,32.980628],[102.608028,32.980565],[102.608067,32.980495],[102.608097,32.980417],[102.608111,32.980371],[102.608148,32.980306],[102.608179,32.980261],[102.608216,32.980212],[102.608255,32.98014],[102.608276,32.980093],[102.608318,32.980065],[102.608326,32.980026],[102.60836,32.979838],[102.608452,32.979338],[102.608634,32.978352],[102.608636,32.978341],[102.608683,32.978282],[102.609001,32.977883],[102.609661,32.977056],[102.609699,32.977009],[102.610059,32.976693],[102.610081,32.976673],[102.610133,32.976627],[102.611094,32.975783],[102.611145,32.975738],[102.61265,32.974684],[102.612817,32.973998],[102.612939,32.9735],[102.612956,32.972851],[102.612603,32.972121],[102.612486,32.971878],[102.612348,32.971595],[102.612087,32.971478],[102.611207,32.971086],[102.611063,32.971029],[102.609539,32.970427],[102.609448,32.970391],[102.609047,32.970233],[102.609021,32.970216],[102.608589,32.969944],[102.608164,32.969675],[102.60807,32.969515],[102.608028,32.969443],[102.607989,32.969376],[102.60784,32.969122],[102.607427,32.968416],[102.607465,32.968105],[102.60747,32.968069],[102.607479,32.967994],[102.607494,32.967873],[102.607592,32.967067],[102.608788,32.965575],[102.609314,32.96527],[102.609357,32.965245],[102.609366,32.965239],[102.609626,32.965088],[102.609643,32.965079],[102.609676,32.96506],[102.609724,32.965032],[102.609961,32.964894],[102.610591,32.964906],[102.610987,32.964914],[102.611173,32.964917],[102.611051,32.964849],[102.611023,32.964837],[102.611,32.964814],[102.611003,32.96479],[102.611042,32.964775],[102.611113,32.964775],[102.611178,32.964775],[102.611226,32.964791],[102.611283,32.964827],[102.611354,32.964876],[102.611411,32.964929],[102.611433,32.964949],[102.611508,32.964992],[102.611579,32.965007],[102.611763,32.964986],[102.611856,32.964984],[102.611934,32.964987],[102.61198,32.964988],[102.612054,32.964968],[102.612068,32.964969],[102.612279,32.964982],[102.612445,32.964992],[102.612526,32.964997],[102.613554,32.964913],[102.614134,32.964866],[102.6142,32.964794],[102.614205,32.96479],[102.614255,32.964736],[102.614498,32.964475],[102.614554,32.964459],[102.61458,32.964406],[102.614576,32.96435],[102.614576,32.964278],[102.614606,32.964203],[102.614633,32.964126],[102.614661,32.964044],[102.614694,32.963962],[102.614731,32.963871],[102.614782,32.963811],[102.614795,32.96374],[102.614801,32.963688],[102.614816,32.963624],[102.614839,32.963528],[102.614901,32.963397],[102.614914,32.963326],[102.614924,32.963263],[102.61495,32.963164],[102.614992,32.963075],[102.614993,32.963056],[102.614996,32.963009],[102.615004,32.962926],[102.615008,32.96285],[102.615013,32.962764],[102.615004,32.962685],[102.61501,32.962636],[102.615045,32.962578],[102.615087,32.962527],[102.615101,32.96249],[102.615068,32.962424],[102.61506,32.962364],[102.615063,32.962228],[102.615074,32.962184],[102.61514,32.962163],[102.615175,32.962145],[102.615148,32.962077],[102.615143,32.962032],[102.615145,32.961999],[102.615167,32.961966],[102.615228,32.961926],[102.615258,32.961906],[102.615264,32.961873],[102.61569,32.962006],[102.615704,32.962011],[102.615916,32.962077],[102.615949,32.962087],[102.61794,32.962709],[102.618418,32.962804],[102.618494,32.962819],[102.619296,32.962979],[102.619415,32.963002],[102.619534,32.963026],[102.619545,32.963028],[102.619898,32.963098],[102.621186,32.963584],[102.621599,32.963739],[102.621695,32.963776],[102.621943,32.963869],[102.62215,32.963947],[102.622206,32.963968],[102.622228,32.963976],[102.622259,32.963988],[102.622854,32.964212],[102.624804,32.965004],[102.625129,32.96511],[102.62515,32.965116],[102.625202,32.965133],[102.625251,32.965149],[102.625517,32.965235],[102.625633,32.965272],[102.627837,32.965465],[102.628738,32.965587],[102.629563,32.965699],[102.631407,32.965986],[102.633611,32.965652],[102.635503,32.965123],[102.637224,32.964289],[102.638671,32.963675],[102.640033,32.962872],[102.641353,32.961992],[102.642505,32.960695],[102.643612,32.959435],[102.644205,32.958994],[102.644971,32.958744],[102.645697,32.958343],[102.646026,32.957747],[102.647238,32.957543],[102.649124,32.95724],[102.650025,32.956955],[102.651058,32.956786],[102.652834,32.957234],[102.653898,32.957593],[102.655903,32.95782],[102.657777,32.957968],[102.658295,32.958001],[102.65869,32.958026],[102.659473,32.958075],[102.661343,32.958374],[102.66317,32.958597],[102.664637,32.958888],[102.665795,32.95906],[102.66674,32.958814],[102.667381,32.958529],[102.668662,32.960426],[102.669856,32.962223],[102.670758,32.962785],[102.672389,32.964408],[102.673007,32.965511],[102.673966,32.965984],[102.676001,32.966568],[102.677882,32.966876],[102.678521,32.967068],[102.678685,32.967118],[102.680498,32.96797],[102.681946,32.968316],[102.68301,32.968881],[102.683574,32.970029],[102.683979,32.971037],[102.684403,32.973411],[102.685128,32.974561],[102.685795,32.975893],[102.686783,32.977321],[102.687721,32.978612],[102.688071,32.979665],[102.689113,32.981094],[102.690873,32.9819],[102.692481,32.982339],[102.693452,32.982357],[102.694762,32.98179],[102.695747,32.981262],[102.695866,32.981138],[102.695949,32.981122],[102.69608,32.981094],[102.696233,32.98102],[102.696396,32.98088],[102.696599,32.98065],[102.696966,32.980321],[102.697073,32.980172],[102.697083,32.98012],[102.697123,32.98001],[102.697098,32.979899],[102.697029,32.979737],[102.697309,32.97929],[102.697858,32.978936],[102.698725,32.978816],[102.699548,32.978648],[102.699627,32.978666],[102.699777,32.978697],[102.700037,32.978715],[102.700187,32.978722],[102.700314,32.978727],[102.700434,32.978724],[102.700581,32.978702],[102.70066,32.97867],[102.700754,32.978623],[102.700955,32.978536],[102.701082,32.978495],[102.701226,32.978445],[102.701421,32.978385],[102.701515,32.978352],[102.701665,32.978326],[102.701746,32.97832],[102.701882,32.978319],[102.701913,32.978323],[102.702012,32.978316],[102.703087,32.978242],[102.703451,32.978201],[102.703688,32.978167],[102.703748,32.978161],[102.704193,32.97812],[102.704448,32.978073],[102.704826,32.978018],[102.705015,32.978002],[102.705063,32.977983],[102.705176,32.977944],[102.705261,32.977908],[102.705345,32.977862],[102.705402,32.977816],[102.705455,32.977756],[102.705514,32.977692],[102.705592,32.977591],[102.705654,32.977498],[102.705701,32.977438],[102.705777,32.977349],[102.705929,32.977236],[102.706028,32.977181],[102.706146,32.977142],[102.706271,32.977108],[102.706395,32.977078],[102.706595,32.977039],[102.706776,32.976986],[102.706875,32.97694],[102.706993,32.976875],[102.7071,32.976786],[102.707246,32.976649],[102.707364,32.976534],[102.707446,32.976455],[102.707496,32.97638],[102.707563,32.976304],[102.707645,32.97626],[102.707797,32.976183],[102.707851,32.97613],[102.70789,32.976049],[102.70794,32.975956],[102.708021,32.975874],[102.708083,32.975847],[102.708153,32.975752],[102.708215,32.975644],[102.708262,32.97557],[102.708321,32.975493],[102.708383,32.975431],[102.708473,32.975335],[102.708599,32.975219],[102.708675,32.975162],[102.708742,32.975111],[102.708855,32.975044],[102.708968,32.975],[102.709075,32.974973],[102.7092,32.974968],[102.709358,32.974967],[102.709545,32.975005],[102.70956,32.975008],[102.709755,32.97507],[102.709911,32.975114],[102.710064,32.975178],[102.710224,32.975261],[102.710373,32.97535],[102.710505,32.975432],[102.710686,32.975545],[102.71072,32.975526],[102.7109,32.975471],[102.711006,32.975453],[102.711225,32.975434],[102.711476,32.975414],[102.711653,32.975396],[102.711836,32.975377],[102.71196,32.975352],[102.71213,32.975309],[102.712468,32.975191],[102.712683,32.975071],[102.712852,32.97495],[102.713024,32.97483],[102.713334,32.974629],[102.713465,32.974586],[102.713638,32.974546],[102.713804,32.974495],[102.714033,32.974407],[102.714198,32.974334],[102.714286,32.974262],[102.714346,32.974178],[102.714388,32.974089],[102.714387,32.974044],[102.714425,32.973969],[102.714527,32.973873],[102.714594,32.973861],[102.714697,32.973869],[102.714828,32.973904],[102.714963,32.973957],[102.715048,32.974001],[102.715319,32.974173],[102.715432,32.974247],[102.715685,32.974424],[102.715777,32.974477],[102.715951,32.974551],[102.716065,32.974607],[102.716239,32.974666],[102.716452,32.974739],[102.716675,32.974797],[102.716814,32.974844],[102.71697,32.974912],[102.717108,32.974968],[102.717218,32.975006],[102.717499,32.975141],[102.717655,32.975236],[102.717801,32.975354],[102.717933,32.975476],[102.718022,32.975586],[102.71819,32.975776],[102.71824,32.975859],[102.718309,32.975966],[102.718401,32.976016],[102.718468,32.976039],[102.718649,32.976068],[102.718776,32.976068],[102.718918,32.976058],[102.719013,32.976066],[102.719176,32.976113],[102.719279,32.97616],[102.719386,32.976219],[102.719532,32.976287],[102.719667,32.976334],[102.719759,32.976366],[102.719823,32.976401],[102.719858,32.976449],[102.719887,32.976517],[102.719902,32.976604],[102.719917,32.976684],[102.719931,32.976726],[102.719953,32.97675],[102.720045,32.976809],[102.72012,32.976841],[102.720233,32.976873],[102.720347,32.976896],[102.720489,32.976955],[102.720574,32.977035],[102.720646,32.977139],[102.72075,32.977303],[102.7208,32.977377],[102.720875,32.977466],[102.720936,32.977522],[102.721003,32.977576],[102.721106,32.977641],[102.721164,32.977697],[102.721189,32.97775],[102.721189,32.977813],[102.721188,32.977826],[102.721282,32.977901],[102.721369,32.977982],[102.721563,32.978086],[102.721599,32.978114],[102.721593,32.978136],[102.721591,32.978159],[102.721591,32.97819],[102.721607,32.978197],[102.721657,32.978226],[102.721664,32.97826],[102.72168,32.978298],[102.721687,32.978327],[102.721706,32.97834],[102.72176,32.97834],[102.721801,32.978332],[102.721843,32.978325],[102.721848,32.978324],[102.721873,32.978343],[102.721873,32.978358],[102.721871,32.978381],[102.721851,32.978402],[102.721845,32.978421],[102.721874,32.978432],[102.721924,32.978432],[102.721936,32.97843],[102.721995,32.978499],[102.722054,32.978557],[102.722056,32.97858],[102.722057,32.978607],[102.72205,32.978643],[102.722039,32.978682],[102.722023,32.978703],[102.722008,32.978724],[102.72199,32.978733],[102.72196,32.978739],[102.721949,32.978745],[102.721965,32.978768],[102.721986,32.978785],[102.722008,32.978806],[102.722027,32.978829],[102.722028,32.978843],[102.722032,32.978871],[102.722016,32.97888],[102.721986,32.97888],[102.721974,32.978862],[102.721961,32.978842],[102.721941,32.978816],[102.721918,32.978793],[102.72189,32.978782],[102.721823,32.97878],[102.721771,32.978788],[102.721721,32.978794],[102.721712,32.978813],[102.721737,32.978828],[102.72176,32.978861],[102.721773,32.97887],[102.721776,32.978873],[102.721713,32.978899],[102.721774,32.978931],[102.721718,32.978952],[102.7216,32.978993],[102.7216,32.978999],[102.721602,32.979054],[102.721838,32.980377],[102.721906,32.981925],[102.722161,32.982521],[102.723982,32.983055],[102.726878,32.98379],[102.72754,32.983958],[102.727843,32.984035],[102.729457,32.984246],[102.730261,32.984443],[102.730849,32.984681],[102.730877,32.98523],[102.73089,32.985484],[102.730894,32.985565],[102.730902,32.985731],[102.730921,32.986092],[102.73105,32.987368],[102.731337,32.988351],[102.731398,32.988557],[102.73255,32.989943],[102.73399,32.990606],[102.734674,32.991301],[102.735613,32.992591],[102.736182,32.993557],[102.737294,32.994396],[102.739037,32.995883],[102.740258,32.996724],[102.741226,32.996832],[102.741881,32.996571],[102.741919,32.995071],[102.742054,32.994027],[102.74248,32.993057],[102.742569,32.992854],[102.743522,32.991461],[102.743771,32.990192],[102.744401,32.988747],[102.744713,32.98707],[102.74496,32.985846],[102.74509,32.984984],[102.745489,32.984173],[102.745726,32.983313],[102.745721,32.981402],[102.74575,32.980266],[102.746421,32.979322],[102.747383,32.977566],[102.748527,32.976023],[102.748573,32.97596],[102.748677,32.97582],[102.748602,32.975817],[102.748514,32.975799],[102.748427,32.975771],[102.748302,32.97573],[102.74822,32.975692],[102.748206,32.975637],[102.748201,32.975555],[102.748229,32.975442],[102.748291,32.975306],[102.748423,32.975139],[102.748536,32.975063],[102.748577,32.975041],[102.74874,32.974867],[102.748886,32.974742],[102.749074,32.974619],[102.749236,32.974514],[102.749238,32.974513],[102.749338,32.974456],[102.749484,32.974377],[102.749566,32.974292],[102.74959,32.974253],[102.749638,32.974219],[102.74975,32.9742],[102.749773,32.974205],[102.749867,32.974226],[102.749954,32.974109],[102.752386,32.971833],[102.753006,32.97119],[102.753331,32.970853],[102.754014,32.970145],[102.754325,32.969821],[102.755924,32.968485],[102.756612,32.967712],[102.756631,32.967691],[102.75665,32.96767],[102.756662,32.967656],[102.756709,32.967604],[102.756723,32.967588],[102.756737,32.967572],[102.756973,32.967307],[102.756987,32.967291],[102.757178,32.967077],[102.757175,32.967062],[102.757137,32.966989],[102.7571,32.966894],[102.7571,32.966864],[102.757109,32.966842],[102.757133,32.966819],[102.757146,32.966812],[102.757174,32.966812],[102.757209,32.966816],[102.757316,32.96684],[102.757377,32.966849],[102.757429,32.966861],[102.757473,32.966848],[102.757499,32.966829],[102.757519,32.966804],[102.757526,32.966782],[102.757538,32.966744],[102.757537,32.966673],[102.757706,32.966483],[102.757757,32.966426],[102.758814,32.965171],[102.759517,32.964523],[102.759649,32.9644],[102.759974,32.9641],[102.760814,32.962887],[102.76097,32.962704],[102.76101,32.962656],[102.762149,32.961319],[102.764134,32.959673],[102.764298,32.959538],[102.76462,32.959262],[102.766063,32.958023],[102.767549,32.956867],[102.768272,32.955942],[102.768497,32.955655],[102.768538,32.955606],[102.768894,32.955187],[102.769094,32.954952],[102.769219,32.954804],[102.769561,32.954415],[102.769858,32.954077],[102.770164,32.953729],[102.770371,32.953438],[102.770611,32.9531],[102.77083,32.953415],[102.771028,32.953699],[102.77153,32.953991],[102.771908,32.95421],[102.772304,32.954447],[102.77269,32.954674],[102.773048,32.954872],[102.773346,32.955001],[102.773607,32.955113],[102.773923,32.955249],[102.774347,32.955432],[102.77481,32.955632],[102.775093,32.955812],[102.775548,32.956102],[102.775941,32.956354],[102.77635,32.956614],[102.776161,32.958036],[102.776151,32.958112],[102.776143,32.958432],[102.776118,32.959431],[102.776114,32.959593],[102.776077,32.961067],[102.776039,32.962568],[102.776066,32.96366],[102.776523,32.964805],[102.77741,32.966004],[102.77878,32.967302],[102.779723,32.968456],[102.781472,32.969715],[102.786111,32.971981],[102.787012,32.972634],[102.788022,32.973243],[102.789142,32.973764],[102.789884,32.974323],[102.791195,32.975847],[102.792179,32.977502],[102.792915,32.978288],[102.794242,32.979176],[102.795519,32.979927],[102.796524,32.980763],[102.798027,32.981063],[102.799009,32.98067],[102.80048,32.980105],[102.801797,32.979218],[102.801875,32.979166],[102.802073,32.979035],[102.803059,32.978376],[102.804862,32.977498],[102.805465,32.977145],[102.806382,32.977161],[102.807907,32.976597],[102.809487,32.975987],[102.810955,32.975558],[102.811809,32.975937],[102.813195,32.976644],[102.814265,32.977026],[102.815819,32.977463],[102.816384,32.977446],[102.817384,32.976424],[102.817708,32.976191],[102.818462,32.975606],[102.819401,32.974725],[102.820127,32.974064],[102.820311,32.973953],[102.820849,32.973626],[102.821336,32.973013],[102.821793,32.972472],[102.822168,32.971681],[102.822274,32.971483],[102.822335,32.971369],[102.822974,32.970174],[102.823218,32.969968],[102.823477,32.96975],[102.823699,32.969563],[102.824126,32.96954],[102.82438,32.969525],[102.826164,32.970354],[102.827426,32.97075],[102.828182,32.971287],[102.829415,32.971683],[102.830507,32.971776],[102.831339,32.971641],[102.832757,32.971716],[102.833971,32.971687],[102.835834,32.971694],[102.837553,32.971574],[102.839267,32.971268],[102.839335,32.971256],[102.84064,32.971129],[102.841619,32.971021],[102.84238,32.971334],[102.84263,32.97147],[102.842919,32.97144],[102.843118,32.971444],[102.843218,32.971431],[102.843486,32.971518],[102.843563,32.97156],[102.84357,32.971563],[102.843797,32.971686],[102.843972,32.971822],[102.844076,32.971876],[102.844129,32.971926],[102.84419,32.971994],[102.844191,32.972072],[102.844142,32.972126],[102.844075,32.972171],[102.843972,32.972247],[102.843996,32.972277],[102.844927,32.973424],[102.845412,32.975118],[102.84538,32.976404],[102.845782,32.977209],[102.845784,32.977216],[102.84612,32.978163],[102.846225,32.978459],[102.846324,32.978653],[102.846332,32.978669],[102.846525,32.979047],[102.846553,32.979101],[102.846727,32.979443],[102.846785,32.980114],[102.846813,32.980434],[102.846845,32.980817],[102.846856,32.980936],[102.846892,32.981354],[102.847113,32.983087],[102.847091,32.983208],[102.847085,32.983243],[102.847078,32.983278],[102.847073,32.983306],[102.847006,32.983679],[102.847003,32.983697],[102.846999,32.983722],[102.846965,32.983908],[102.84693,32.984104],[102.846533,32.985295],[102.846467,32.985599],[102.846456,32.985653],[102.846456,32.985653],[102.846356,32.986117],[102.846309,32.986335],[102.846295,32.9864],[102.846271,32.986698],[102.846121,32.988511],[102.846126,32.98858],[102.84622,32.988564],[102.846298,32.988564],[102.846337,32.988587],[102.84637,32.988697],[102.846336,32.988793],[102.84629,32.988838],[102.846149,32.988913],[102.846226,32.989992],[102.846212,32.990035],[102.846145,32.990243],[102.84577,32.991403],[102.845761,32.991448],[102.845653,32.991957],[102.845557,32.992407],[102.845532,32.992523],[102.84578,32.993888],[102.846594,32.995025],[102.848012,32.998625],[102.84811,32.998776],[102.848335,32.999122],[102.848353,32.99915],[102.848753,32.999765],[102.848992,33.000135],[102.849273,33.000567],[102.849408,33.000739],[102.84943,33.000767],[102.849431,33.000768],[102.849522,33.000883],[102.849565,33.000939],[102.849953,33.001413],[102.849954,33.001414],[102.84996,33.001421],[102.850149,33.001653],[102.850544,33.003383],[102.850866,33.003953],[102.850895,33.004014],[102.851009,33.004252],[102.851248,33.00475],[102.851266,33.004823],[102.851285,33.004902],[102.851583,33.006139],[102.851562,33.007013],[102.851312,33.00763],[102.850754,33.008552],[102.850632,33.008782],[102.850449,33.008855],[102.850304,33.008986],[102.850136,33.009268],[102.850107,33.009517],[102.850117,33.009651],[102.850162,33.009757],[102.84989,33.01102],[102.849655,33.012427],[102.849572,33.013075],[102.849761,33.013586],[102.851089,33.014291],[102.85133,33.014245],[102.852178,33.014483],[102.852586,33.014663],[102.853221,33.01522],[102.853395,33.015513],[102.85453,33.016079],[102.85455,33.016089],[102.854623,33.016126],[102.855511,33.016434],[102.855534,33.016442],[102.855541,33.016445],[102.855544,33.016446],[102.855579,33.016458],[102.855598,33.016465],[102.856308,33.016712],[102.856349,33.016726],[102.857779,33.017224],[102.858539,33.017689],[102.858594,33.018169],[102.858102,33.01912],[102.857836,33.019781],[102.857759,33.01997],[102.857639,33.02027],[102.85701,33.021331],[102.856625,33.022002],[102.856544,33.022593],[102.85659,33.023469],[102.857227,33.024806],[102.857501,33.025968],[102.857282,33.026698],[102.856808,33.02827],[102.856445,33.02945],[102.856091,33.030234],[102.855469,33.030985],[102.854791,33.03134],[102.854443,33.031842],[102.854085,33.032796],[102.853801,33.034173],[102.85374,33.034468],[102.853592,33.035186],[102.853084,33.036786],[102.852846,33.038278],[102.852891,33.039182],[102.852986,33.04082],[102.852059,33.044501],[102.851659,33.045792],[102.851163,33.046885],[102.85111,33.04701],[102.851068,33.04711],[102.850947,33.047394],[102.850701,33.047977],[102.850368,33.049242],[102.850289,33.049748],[102.849892,33.050927],[102.849238,33.051621],[102.848508,33.052709],[102.848225,33.053325],[102.847498,33.054272],[102.846876,33.055023],[102.846806,33.056518],[102.846591,33.057107],[102.846445,33.057584],[102.845688,33.058389],[102.845335,33.059145],[102.845546,33.060108],[102.84563,33.060759],[102.84601,33.061697],[102.846066,33.062149],[102.84569,33.062453],[102.845547,33.062818],[102.844961,33.063485],[102.843901,33.064313],[102.843883,33.065075],[102.844117,33.066462],[102.844119,33.066488],[102.844189,33.06762],[102.844198,33.067669],[102.844589,33.069865],[102.844711,33.07062],[102.844725,33.070707],[102.84485,33.071477],[102.845118,33.072038],[102.845204,33.072041],[102.845242,33.072058],[102.845263,33.072102],[102.845273,33.072178],[102.845272,33.072264],[102.845259,33.072336],[102.845459,33.073577],[102.845469,33.073643],[102.8455,33.073836],[102.845496,33.073923],[102.845548,33.073897],[102.845582,33.073888],[102.845607,33.073897],[102.845605,33.073935],[102.845592,33.073981],[102.845563,33.07405],[102.845532,33.074119],[102.845519,33.074188],[102.84552,33.074258],[102.845527,33.074306],[102.845541,33.074363],[102.845541,33.074403],[102.845535,33.074447],[102.845517,33.07448],[102.845469,33.074509],[102.845455,33.074811],[102.845218,33.075529],[102.845265,33.075541],[102.845276,33.075575],[102.84528,33.075629],[102.845258,33.075685],[102.845243,33.075728],[102.845203,33.075757],[102.845141,33.075762],[102.84501,33.076158],[102.845079,33.076199],[102.845103,33.076236],[102.845115,33.076287],[102.845117,33.076336],[102.845099,33.076369],[102.845065,33.076391],[102.845031,33.0764],[102.844994,33.076401],[102.844935,33.07639],[102.844671,33.077231],[102.84467,33.077303],[102.844669,33.077341],[102.844646,33.078265],[102.844645,33.078323],[102.844641,33.07835],[102.844578,33.07883],[102.844569,33.078895],[102.844506,33.079376],[102.84443,33.079385],[102.844382,33.079401],[102.844495,33.079459],[102.844487,33.079513],[102.844508,33.079591],[102.84451,33.079602],[102.844512,33.07961],[102.844514,33.079618],[102.844559,33.079789],[102.844655,33.080159],[102.84525,33.080499],[102.845257,33.080503],[102.845298,33.080522],[102.845361,33.080552],[102.845363,33.080553],[102.845381,33.080562],[102.845398,33.080569],[102.845445,33.080591],[102.846283,33.080984],[102.846558,33.081086],[102.847221,33.081334],[102.847443,33.08131],[102.847586,33.081323],[102.847683,33.081317],[102.847819,33.0813],[102.847929,33.081285],[102.848028,33.081272],[102.84815,33.081248],[102.848238,33.081223],[102.848321,33.081192],[102.84839,33.081165],[102.84849,33.081112],[102.848577,33.081023],[102.84862,33.080975],[102.848658,33.080933],[102.848697,33.080876],[102.848697,33.080876],[102.848701,33.08087],[102.848731,33.080818],[102.848758,33.080799],[102.848817,33.080776],[102.848885,33.080757],[102.848931,33.080737],[102.848963,33.080715],[102.848969,33.080701],[102.848998,33.080643],[102.849001,33.080629],[102.849112,33.080743],[102.849713,33.080503],[102.850058,33.08164],[102.850294,33.083945],[102.8503,33.084349],[102.850301,33.084383],[102.850301,33.0844],[102.850318,33.085526],[102.850086,33.086506],[102.850374,33.089233],[102.850422,33.09071],[102.850403,33.09149],[102.850402,33.091519],[102.850378,33.092483],[102.850522,33.092517],[102.851355,33.092713],[102.851419,33.092728],[102.851453,33.092736],[102.851526,33.092753],[102.851535,33.092755],[102.852391,33.092957],[102.852889,33.093255],[102.852894,33.093258],[102.854324,33.094114],[102.855045,33.094495],[102.856554,33.095223],[102.857046,33.095461],[102.858194,33.096306],[102.858509,33.09655],[102.85889,33.096845],[102.85994,33.097442],[102.861071,33.098129],[102.861065,33.098389],[102.861061,33.098533],[102.861061,33.098539],[102.86106,33.098556],[102.861044,33.098582],[102.861033,33.098598],[102.861023,33.098613],[102.86101,33.098642],[102.861004,33.098666],[102.860991,33.098698],[102.860981,33.098735],[102.860968,33.098759],[102.86095,33.098794],[102.86093,33.098823],[102.860904,33.098841],[102.860862,33.09888],[102.860836,33.098903],[102.860807,33.098916],[102.860786,33.098915],[102.860755,33.098913],[102.860741,33.098919],[102.860737,33.098931],[102.860733,33.098949],[102.860725,33.098969],[102.860716,33.099011],[102.860713,33.099037],[102.860705,33.099086],[102.86071,33.099107],[102.860719,33.099122],[102.860743,33.099141],[102.860767,33.099153],[102.860783,33.099167],[102.8608,33.099188],[102.860808,33.099205],[102.860823,33.099223],[102.86055,33.099531],[102.860332,33.099777],[102.86032,33.099766],[102.860306,33.099764],[102.860286,33.099765],[102.860274,33.09978],[102.860267,33.099809],[102.860262,33.099833],[102.860259,33.099867],[102.860109,33.100093],[102.859586,33.100879],[102.859505,33.101633],[102.85946,33.102616],[102.859614,33.104024],[102.85943,33.104706],[102.859011,33.105138],[102.859009,33.105141],[102.85894,33.105212],[102.858917,33.105196],[102.85889,33.105181],[102.858874,33.105183],[102.858854,33.105195],[102.858841,33.105217],[102.858842,33.10523],[102.858861,33.105255],[102.858881,33.105272],[102.858927,33.105335],[102.858942,33.105392],[102.858947,33.105411],[102.858932,33.105501],[102.85888,33.105546],[102.858816,33.10557],[102.858744,33.10554],[102.858651,33.105511],[102.858625,33.105504],[102.858593,33.1055],[102.858585,33.105513],[102.858585,33.105536],[102.858591,33.105555],[102.858601,33.105574],[102.858535,33.105655],[102.858533,33.105658],[102.858459,33.10575],[102.8581,33.106194],[102.858056,33.106573],[102.858054,33.106595],[102.858049,33.106638],[102.858048,33.10665],[102.858042,33.1067],[102.857995,33.107105],[102.85789,33.107543],[102.85791,33.107566],[102.857915,33.107591],[102.857909,33.107607],[102.857891,33.107625],[102.857869,33.107631],[102.857842,33.107648],[102.857822,33.10766],[102.857799,33.107671],[102.857769,33.10769],[102.857747,33.107706],[102.857732,33.107722],[102.857725,33.107741],[102.857732,33.107759],[102.857748,33.107772],[102.857774,33.107783],[102.857804,33.10779],[102.85783,33.107792],[102.85779,33.107866],[102.857773,33.107899],[102.857133,33.109093],[102.857054,33.109278],[102.857044,33.109303],[102.857035,33.109324],[102.856712,33.110087],[102.856575,33.110577],[102.856583,33.111086],[102.856485,33.111682],[102.855896,33.112743],[102.855313,33.113541],[102.85473,33.114357],[102.854244,33.115437],[102.854168,33.116016],[102.854051,33.11654],[102.854206,33.117035],[102.854426,33.117408],[102.854543,33.117761],[102.854455,33.117953],[102.854298,33.118248],[102.854264,33.11824],[102.854234,33.11824],[102.854211,33.118248],[102.854176,33.118258],[102.854148,33.11827],[102.854131,33.118289],[102.854114,33.118314],[102.854114,33.118362],[102.854129,33.118395],[102.854151,33.11842],[102.854175,33.118441],[102.854193,33.118461],[102.854211,33.118491],[102.854222,33.118521],[102.854223,33.118562],[102.854217,33.118592],[102.854213,33.118627],[102.854211,33.118663],[102.854225,33.118689],[102.854252,33.118707],[102.854291,33.11872],[102.854306,33.118726],[102.854362,33.118723],[102.854394,33.118731],[102.85441,33.118759],[102.854413,33.118787],[102.854399,33.118796],[102.854376,33.118803],[102.854335,33.118801],[102.854301,33.118794],[102.854286,33.118788],[102.854248,33.118772],[102.854212,33.118761],[102.854139,33.118735],[102.854094,33.118716],[102.854077,33.118712],[102.854031,33.118709],[102.853997,33.118714],[102.853972,33.118723],[102.853954,33.118751],[102.853947,33.118778],[102.853949,33.118823],[102.853966,33.118863],[102.854038,33.118965],[102.854095,33.119045],[102.854166,33.119131],[102.854181,33.11914],[102.854178,33.11916],[102.854174,33.119177],[102.85412,33.119686],[102.853982,33.12021],[102.853571,33.120801],[102.85348,33.121958],[102.853504,33.122696],[102.853509,33.123364],[102.853622,33.123875],[102.85372,33.124966],[102.853662,33.125633],[102.853441,33.126173],[102.852825,33.127445],[102.852286,33.128138],[102.851337,33.129387],[102.850987,33.130066],[102.85087,33.130573],[102.850819,33.130941],[102.850642,33.131377],[102.850197,33.132493],[102.8502,33.133214],[102.850457,33.133798],[102.851046,33.134493],[102.8511,33.134863],[102.851124,33.135206],[102.851131,33.135302],[102.851089,33.135465],[102.851015,33.135757],[102.851047,33.136144],[102.851189,33.136322],[102.851521,33.136416],[102.851627,33.136446],[102.851671,33.136459],[102.851688,33.136473],[102.851702,33.136484],[102.851723,33.136495],[102.851751,33.136504],[102.851779,33.136511],[102.851798,33.136513],[102.851827,33.136512],[102.851832,33.136504],[102.851847,33.13649],[102.851868,33.136476],[102.851891,33.136467],[102.851923,33.136459],[102.851946,33.136454],[102.851979,33.136456],[102.852017,33.136465],[102.852053,33.136475],[102.852095,33.136494],[102.852112,33.136522],[102.852121,33.136544],[102.852123,33.136568],[102.852104,33.136603],[102.85209,33.136639],[102.852091,33.136659],[102.852091,33.136678],[102.852095,33.136698],[102.852105,33.136728],[102.852118,33.136748],[102.852128,33.136758],[102.852173,33.136778],[102.852215,33.136781],[102.852248,33.136776],[102.852266,33.13679],[102.852469,33.136941],[102.852832,33.137457],[102.852861,33.138121],[102.852869,33.138295],[102.852872,33.138371],[102.852986,33.138727],[102.853008,33.138794],[102.853026,33.138802],[102.853035,33.138805],[102.853088,33.138824],[102.853089,33.138839],[102.853089,33.13888],[102.853092,33.138913],[102.853098,33.138939],[102.853107,33.138956],[102.853122,33.138961],[102.853139,33.138962],[102.85316,33.138958],[102.853177,33.13895],[102.853205,33.138929],[102.85322,33.138914],[102.853244,33.138881],[102.853256,33.138865],[102.853286,33.138848],[102.853316,33.138835],[102.853345,33.138832],[102.853376,33.138832],[102.853393,33.138841],[102.853413,33.13886],[102.853423,33.138881],[102.853436,33.13895],[102.853567,33.138998],[102.85381,33.139045],[102.853848,33.139052],[102.853854,33.139064],[102.853864,33.139078],[102.853873,33.139094],[102.853881,33.139114],[102.853877,33.139125],[102.853863,33.139138],[102.853841,33.139155],[102.853816,33.139177],[102.853795,33.139206],[102.853791,33.139229],[102.853786,33.139245],[102.853798,33.139281],[102.853832,33.139319],[102.853866,33.139336],[102.853909,33.139338],[102.853982,33.139336],[102.854048,33.139305],[102.854106,33.139261],[102.854139,33.139216],[102.854173,33.139158],[102.854186,33.139134],[102.854293,33.139168],[102.854451,33.13954],[102.854528,33.139805],[102.854537,33.139898],[102.854561,33.140174],[102.85473,33.140365],[102.854846,33.140495],[102.854948,33.140517],[102.854987,33.140525],[102.854982,33.140539],[102.854952,33.140618],[102.854951,33.140664],[102.854965,33.140707],[102.854985,33.140758],[102.855005,33.140816],[102.855021,33.140868],[102.855043,33.140907],[102.855063,33.140926],[102.855073,33.140935],[102.855143,33.140953],[102.855172,33.140954],[102.855249,33.140936],[102.855349,33.1409],[102.855441,33.140877],[102.855493,33.140839],[102.855528,33.140789],[102.855553,33.14073],[102.85556,33.140705],[102.855567,33.14069],[102.855716,33.140756],[102.855855,33.14104],[102.855825,33.141443],[102.855628,33.141791],[102.855242,33.142224],[102.854334,33.142629],[102.853763,33.142953],[102.853168,33.143365],[102.852716,33.143919],[102.852429,33.144564],[102.852192,33.144876],[102.852083,33.145032],[102.85227,33.145088],[102.852482,33.144951],[102.852932,33.144777],[102.852965,33.144764],[102.852951,33.144732],[102.852939,33.144708],[102.852936,33.144686],[102.852938,33.144657],[102.852957,33.144616],[102.852969,33.144585],[102.852982,33.144554],[102.852993,33.144536],[102.853022,33.144513],[102.853061,33.1445],[102.853092,33.144486],[102.853135,33.144481],[102.853134,33.144491],[102.853139,33.144507],[102.853148,33.144523],[102.853164,33.144545],[102.853181,33.144557],[102.853198,33.144572],[102.853213,33.144591],[102.853239,33.144635],[102.853263,33.144665],[102.85331,33.144793],[102.853336,33.144851],[102.853364,33.144872],[102.853389,33.144883],[102.85342,33.144891],[102.853441,33.144889],[102.853486,33.14488],[102.85354,33.144859],[102.85365,33.144798],[102.853749,33.144732],[102.853756,33.144743],[102.853817,33.144838],[102.853821,33.144845],[102.853837,33.14487],[102.853755,33.144926],[102.8537,33.145038],[102.853699,33.145148],[102.853781,33.145297],[102.853896,33.145411],[102.854034,33.145519],[102.854226,33.145579],[102.85439,33.145581],[102.85455,33.145567],[102.854776,33.145569],[102.854947,33.145547],[102.855225,33.145487],[102.855509,33.145482],[102.855613,33.145539],[102.855598,33.145652],[102.85554,33.145764],[102.855516,33.145842],[102.855599,33.145876],[102.855789,33.145868],[102.855974,33.145804],[102.856089,33.14567],[102.856094,33.145585],[102.856045,33.145471],[102.856066,33.145388],[102.85616,33.145378],[102.856239,33.145446],[102.856245,33.145579],[102.856248,33.145822],[102.856272,33.145942],[102.856332,33.146023],[102.856461,33.146098],[102.856477,33.146163],[102.856424,33.146239],[102.856377,33.146316],[102.856421,33.146351],[102.856472,33.146434],[102.856384,33.146497],[102.856284,33.146505],[102.856168,33.146517],[102.856006,33.146612],[102.855852,33.146782],[102.855717,33.14691],[102.855579,33.146957],[102.855498,33.146889],[102.855453,33.146737],[102.855495,33.146601],[102.855659,33.146507],[102.855919,33.14642],[102.855979,33.146311],[102.855956,33.146215],[102.855822,33.146085],[102.855653,33.146024],[102.855534,33.146069],[102.85545,33.146149],[102.855352,33.146178],[102.855179,33.146183],[102.85511,33.146201],[102.855055,33.146318],[102.855086,33.14641],[102.855192,33.146522],[102.855236,33.146616],[102.855235,33.146732],[102.855157,33.146821],[102.855105,33.146836],[102.854999,33.146813],[102.854734,33.146718],[102.854548,33.146725],[102.854436,33.146795],[102.854388,33.146909],[102.854392,33.147019],[102.854387,33.147135],[102.854312,33.147169],[102.854224,33.14718],[102.854104,33.147179],[102.854015,33.14711],[102.853843,33.146878],[102.853679,33.146759],[102.853561,33.146715],[102.853444,33.146772],[102.853351,33.146871],[102.853303,33.147027],[102.853313,33.147122],[102.8534,33.147209],[102.853387,33.147215],[102.853364,33.147242],[102.853354,33.147254],[102.853194,33.14744],[102.853204,33.147897],[102.8534,33.148427],[102.853415,33.148458],[102.854155,33.149986],[102.85451,33.150835],[102.854685,33.151383],[102.854651,33.151927],[102.854557,33.152364],[102.854841,33.152703],[102.855174,33.152744],[102.855307,33.152592],[102.855372,33.152518],[102.855379,33.15251],[102.855508,33.152364],[102.85544,33.152273],[102.85541,33.152176],[102.855457,33.152109],[102.855547,33.152032],[102.855608,33.152005],[102.855643,33.151981],[102.855684,33.151956],[102.855704,33.151944],[102.855746,33.151933],[102.855789,33.151913],[102.855806,33.151899],[102.855822,33.151871],[102.855829,33.151844],[102.85583,33.151806],[102.855824,33.151769],[102.855803,33.15173],[102.855774,33.151695],[102.855752,33.151676],[102.855729,33.151658],[102.85571,33.151645],[102.855697,33.151634],[102.855689,33.151627],[102.855693,33.151609],[102.855704,33.151558],[102.855902,33.15114],[102.856594,33.151029],[102.857314,33.150602],[102.857804,33.150347],[102.857815,33.150341],[102.857839,33.150329],[102.857872,33.150312],[102.857882,33.150306],[102.858096,33.150194],[102.858822,33.1504],[102.85898,33.150789],[102.85901,33.151264],[102.859011,33.151537],[102.859011,33.151654],[102.859011,33.15167],[102.859012,33.151914],[102.859012,33.152037],[102.859004,33.152152],[102.858998,33.152237],[102.858995,33.152278],[102.858981,33.152475],[102.859028,33.152578],[102.859159,33.152865],[102.859383,33.153097],[102.859653,33.153154],[102.859765,33.153089],[102.859773,33.153084],[102.859809,33.153063],[102.859868,33.153076],[102.859935,33.153071],[102.860054,33.153038],[102.860215,33.152977],[102.860474,33.152937],[102.860837,33.152894],[102.860979,33.15291],[102.861046,33.153017],[102.861085,33.15315],[102.861123,33.153199],[102.861209,33.153191],[102.861275,33.15311],[102.86129,33.152994],[102.861229,33.152841],[102.861199,33.152716],[102.861222,33.152602],[102.861298,33.152558],[102.861424,33.152514],[102.861549,33.152506],[102.861616,33.152473],[102.861647,33.152404],[102.861624,33.152334],[102.861546,33.152268],[102.861504,33.152214],[102.861509,33.152158],[102.861555,33.152114],[102.861664,33.152065],[102.861823,33.152065],[102.861971,33.15208],[102.862039,33.152125],[102.862069,33.152217],[102.862069,33.152279],[102.862075,33.152367],[102.862058,33.152421],[102.862004,33.152495],[102.861962,33.152606],[102.862011,33.152698],[102.862113,33.152775],[102.862352,33.15288],[102.862458,33.15295],[102.862465,33.153008],[102.862453,33.153064],[102.862355,33.153086],[102.862212,33.153072],[102.862068,33.153041],[102.861989,33.153035],[102.861933,33.15307],[102.861884,33.153142],[102.861932,33.153235],[102.862139,33.153353],[102.862346,33.153449],[102.862383,33.153511],[102.862355,33.153554],[102.862262,33.153572],[102.862172,33.153568],[102.862053,33.153518],[102.861934,33.15344],[102.861797,33.153295],[102.861669,33.153154],[102.861592,33.153088],[102.861501,33.153072],[102.861445,33.153084],[102.861412,33.153129],[102.861378,33.153225],[102.86138,33.153301],[102.861445,33.153399],[102.861568,33.153538],[102.861669,33.153586],[102.861786,33.153597],[102.861951,33.153617],[102.862159,33.153744],[102.862241,33.153789],[102.862326,33.153777],[102.862478,33.153719],[102.862541,33.153721],[102.862582,33.153802],[102.86254,33.153853],[102.86244,33.153904],[102.862327,33.153945],[102.86223,33.153974],[102.8622,33.154043],[102.862199,33.154105],[102.862288,33.154155],[102.862377,33.154192],[102.862501,33.154205],[102.862604,33.154185],[102.862698,33.154113],[102.862897,33.153876],[102.86303,33.153675],[102.863146,33.153478],[102.863233,33.153429],[102.863339,33.153423],[102.863418,33.153405],[102.863483,33.153358],[102.863523,33.153372],[102.863529,33.153375],[102.863801,33.153472],[102.863919,33.153772],[102.864053,33.154249],[102.864187,33.15476],[102.864531,33.155241],[102.864896,33.155651],[102.865472,33.156047],[102.86569,33.156508],[102.865764,33.156895],[102.865664,33.157596],[102.86563,33.158123],[102.865555,33.158631],[102.865422,33.158975],[102.865406,33.159015],[102.865324,33.159033],[102.865248,33.159128],[102.865281,33.159241],[102.865596,33.159537],[102.865897,33.159707],[102.865913,33.159812],[102.865844,33.159867],[102.865668,33.15994],[102.865293,33.159982],[102.865059,33.159868],[102.864926,33.159835],[102.8648,33.159867],[102.864647,33.159967],[102.864519,33.159978],[102.864448,33.159918],[102.864468,33.159805],[102.864648,33.159691],[102.864819,33.159546],[102.86477,33.159426],[102.864538,33.159352],[102.864366,33.159369],[102.864263,33.159523],[102.864195,33.159734],[102.864172,33.159927],[102.864097,33.15993],[102.864087,33.15993],[102.864074,33.159931],[102.863895,33.159937],[102.863574,33.160248],[102.863502,33.160633],[102.863574,33.161108],[102.863879,33.161447],[102.864355,33.161631],[102.864754,33.161533],[102.864783,33.161509],[102.864873,33.161516],[102.864999,33.161521],[102.86525,33.161519],[102.865401,33.161506],[102.865589,33.161469],[102.865705,33.161424],[102.865759,33.16138],[102.865898,33.161269],[102.865943,33.161156],[102.865944,33.161058],[102.866143,33.161082],[102.866454,33.161227],[102.866535,33.161265],[102.86663,33.16167],[102.866684,33.162022],[102.866571,33.16213],[102.866565,33.162137],[102.866534,33.162126],[102.866468,33.162123],[102.866373,33.162138],[102.866243,33.162176],[102.866144,33.162241],[102.866104,33.162299],[102.866091,33.162355],[102.86609,33.162408],[102.866102,33.162461],[102.866124,33.162507],[102.866115,33.162514],[102.865747,33.162779],[102.865361,33.163177],[102.865602,33.163567],[102.866019,33.163627],[102.866049,33.163623],[102.866067,33.16362],[102.866087,33.163638],[102.866129,33.163664],[102.866189,33.163679],[102.866274,33.163688],[102.866401,33.163689],[102.86647,33.163684],[102.866604,33.163657],[102.866747,33.163615],[102.866805,33.163586],[102.866848,33.163563],[102.867022,33.163591],[102.86706,33.16375],[102.866885,33.164063],[102.866586,33.164357],[102.865868,33.164661],[102.865665,33.164893],[102.865616,33.16495],[102.86546,33.165128],[102.865702,33.165501],[102.866131,33.165877],[102.866544,33.166939],[102.86676,33.167373],[102.866764,33.167381],[102.866766,33.167386],[102.866786,33.167427],[102.866659,33.167582],[102.866645,33.167692],[102.866774,33.167739],[102.867033,33.167719],[102.867305,33.167618],[102.867519,33.167525],[102.86762,33.167553],[102.86763,33.167738],[102.8675,33.167968],[102.867306,33.168085],[102.86713,33.168122],[102.866879,33.16811],[102.866426,33.167984],[102.866066,33.167791],[102.865703,33.16752],[102.865508,33.167464],[102.865339,33.167433],[102.864892,33.167447],[102.864819,33.167533],[102.864747,33.167748],[102.864756,33.167881],[102.864866,33.168042],[102.864779,33.168146],[102.864555,33.168273],[102.864278,33.168436],[102.864056,33.168472],[102.863676,33.168258],[102.863466,33.168173],[102.863342,33.168191],[102.86317,33.168344],[102.86302,33.168427],[102.862941,33.168382],[102.862874,33.168211],[102.862836,33.167979],[102.862764,33.167736],[102.86265,33.167623],[102.862477,33.167608],[102.862307,33.167643],[102.862227,33.167727],[102.862176,33.167832],[102.862188,33.167935],[102.862212,33.168096],[102.862176,33.168216],[102.862051,33.168323],[102.861926,33.168373],[102.861776,33.168376],[102.861677,33.168331],[102.861593,33.168154],[102.861512,33.168096],[102.861444,33.168095],[102.861402,33.168229],[102.861505,33.168555],[102.861583,33.168773],[102.861749,33.168787],[102.862067,33.168776],[102.862206,33.168813],[102.862234,33.168919],[102.862153,33.169042],[102.861936,33.169123],[102.861687,33.169168],[102.861351,33.169146],[102.861059,33.16906],[102.860881,33.168954],[102.860573,33.16873],[102.860453,33.168635],[102.860316,33.168625],[102.860218,33.168672],[102.860066,33.168801],[102.859907,33.168838],[102.859743,33.168882],[102.859713,33.168954],[102.859809,33.169103],[102.860098,33.169344],[102.860249,33.169469],[102.860213,33.169551],[102.860084,33.169589],[102.859929,33.169577],[102.859826,33.169508],[102.859616,33.169344],[102.859416,33.169167],[102.859409,33.169194],[102.859404,33.169211],[102.8594,33.169228],[102.859343,33.169437],[102.859239,33.169561],[102.859056,33.169544],[102.858712,33.169257],[102.858524,33.168762],[102.858248,33.16842],[102.857959,33.167952],[102.857931,33.167917],[102.857922,33.167907],[102.857972,33.167881],[102.858029,33.167835],[102.858095,33.167748],[102.858135,33.167654],[102.858139,33.16759],[102.85813,33.167542],[102.858114,33.167501],[102.858093,33.167467],[102.858071,33.167444],[102.858038,33.16743],[102.857942,33.167426],[102.857857,33.167432],[102.857825,33.16744],[102.857799,33.167465],[102.857777,33.16751],[102.857736,33.167605],[102.857718,33.167656],[102.857711,33.167647],[102.857643,33.167564],[102.857122,33.166926],[102.8571,33.166922],[102.857076,33.166912],[102.857051,33.166896],[102.857039,33.166879],[102.85703,33.166857],[102.857034,33.166819],[102.857039,33.166796],[102.85706,33.16675],[102.857104,33.166699],[102.857175,33.166641],[102.857276,33.166588],[102.857307,33.166574],[102.857309,33.166554],[102.857302,33.166535],[102.857291,33.166525],[102.857284,33.166519],[102.857252,33.166501],[102.857208,33.166477],[102.857132,33.16644],[102.85696,33.166411],[102.856906,33.166414],[102.856868,33.166425],[102.856835,33.166424],[102.85679,33.166425],[102.856746,33.166441],[102.856711,33.166475],[102.856688,33.166519],[102.856692,33.166568],[102.856691,33.166602],[102.856673,33.166599],[102.856625,33.166589],[102.8566,33.166584],[102.85634,33.166533],[102.855953,33.166653],[102.85588,33.166919],[102.855957,33.167187],[102.856167,33.167472],[102.856597,33.167662],[102.856908,33.167892],[102.856943,33.168003],[102.856966,33.168075],[102.856987,33.168142],[102.856926,33.16813],[102.856884,33.168128],[102.856872,33.168127],[102.856856,33.168134],[102.856843,33.168161],[102.85684,33.168189],[102.856841,33.168213],[102.85685,33.168257],[102.85686,33.168311],[102.856863,33.168345],[102.856859,33.168364],[102.856843,33.168379],[102.85681,33.168398],[102.85676,33.168403],[102.856693,33.168403],[102.856622,33.168396],[102.856574,33.168388],[102.856517,33.168351],[102.856489,33.168322],[102.856458,33.168259],[102.856444,33.168215],[102.856441,33.168165],[102.856449,33.168129],[102.856521,33.167951],[102.856551,33.167918],[102.856582,33.167874],[102.856595,33.167834],[102.856603,33.167797],[102.856603,33.167773],[102.856599,33.167758],[102.856592,33.167748],[102.856569,33.167743],[102.856545,33.167745],[102.8565,33.16775],[102.856354,33.167807],[102.856333,33.167814],[102.856278,33.167848],[102.856262,33.167865],[102.856256,33.167881],[102.856258,33.167899],[102.856292,33.167954],[102.856306,33.167983],[102.856312,33.168014],[102.856313,33.168053],[102.856313,33.168071],[102.856309,33.168124],[102.85632,33.16818],[102.856335,33.168224],[102.856349,33.168261],[102.856368,33.1683],[102.856373,33.16831],[102.856379,33.168347],[102.856378,33.16838],[102.856371,33.168405],[102.856354,33.168429],[102.856326,33.168455],[102.856297,33.168464],[102.856263,33.168472],[102.856219,33.168475],[102.85618,33.168471],[102.856149,33.168464],[102.856094,33.168422],[102.856034,33.168371],[102.856021,33.168364],[102.856004,33.168361],[102.855992,33.168367],[102.855983,33.168388],[102.855949,33.168487],[102.85587,33.168433],[102.855857,33.168446],[102.855838,33.168458],[102.855817,33.168462],[102.855788,33.168459],[102.855756,33.168447],[102.855734,33.168435],[102.85572,33.168431],[102.855609,33.168429],[102.855538,33.16843],[102.855463,33.168429],[102.855406,33.168438],[102.855371,33.168453],[102.855337,33.168482],[102.85532,33.16852],[102.855319,33.168555],[102.855329,33.168594],[102.855358,33.168637],[102.855403,33.168671],[102.855457,33.168681],[102.855518,33.168681],[102.855547,33.168681],[102.855583,33.168693],[102.855594,33.168696],[102.855595,33.168758],[102.855513,33.168811],[102.855466,33.168844],[102.855409,33.168881],[102.855308,33.16893],[102.855245,33.168964],[102.855212,33.168993],[102.855192,33.169022],[102.855186,33.169059],[102.855195,33.169088],[102.85521,33.169108],[102.855252,33.169131],[102.855296,33.169159],[102.855341,33.169185],[102.855382,33.169193],[102.855413,33.16919],[102.855477,33.169174],[102.855521,33.16917],[102.855528,33.169169],[102.855675,33.169172],[102.855712,33.169172],[102.855764,33.169166],[102.85581,33.169145],[102.855842,33.169141],[102.855865,33.169169],[102.855874,33.169204],[102.85589,33.169255],[102.855918,33.169305],[102.855948,33.16934],[102.85598,33.169407],[102.855999,33.169492],[102.856027,33.169536],[102.856061,33.169569],[102.856104,33.169579],[102.856156,33.169578],[102.856212,33.16957],[102.856246,33.16956],[102.856274,33.169541],[102.856326,33.169505],[102.856363,33.169483],[102.856448,33.169426],[102.856501,33.169407],[102.856552,33.169407],[102.856612,33.169411],[102.856653,33.16942],[102.856692,33.169455],[102.856706,33.169484],[102.856704,33.169532],[102.856683,33.169562],[102.856641,33.169596],[102.856597,33.169639],[102.856585,33.169674],[102.856589,33.169718],[102.856601,33.169763],[102.856625,33.169799],[102.856671,33.169839],[102.856709,33.169865],[102.856788,33.169907],[102.856839,33.16992],[102.856891,33.169935],[102.856928,33.169946],[102.856944,33.169959],[102.856947,33.169976],[102.856942,33.169997],[102.856916,33.170026],[102.856879,33.170054],[102.856835,33.170071],[102.856783,33.170071],[102.856735,33.170068],[102.856697,33.17006],[102.85666,33.170041],[102.856613,33.170009],[102.856572,33.169987],[102.85653,33.169983],[102.856442,33.169986],[102.856364,33.170004],[102.856315,33.170021],[102.85626,33.170055],[102.856233,33.170104],[102.856207,33.170157],[102.856186,33.17017],[102.856143,33.170184],[102.856097,33.170204],[102.856064,33.170227],[102.856049,33.170249],[102.85605,33.170283],[102.856063,33.170315],[102.85609,33.170345],[102.856108,33.17036],[102.856173,33.170398],[102.856287,33.17043],[102.856386,33.170435],[102.856585,33.170469],[102.856712,33.170487],[102.856807,33.170497],[102.856898,33.17051],[102.85694,33.170544],[102.856957,33.170575],[102.856962,33.170616],[102.856962,33.170674],[102.856957,33.170714],[102.856938,33.170765],[102.856924,33.170825],[102.856924,33.170884],[102.856935,33.170937],[102.856946,33.170997],[102.856957,33.17105],[102.85694,33.171077],[102.856903,33.171114],[102.856845,33.171171],[102.856805,33.171211],[102.856777,33.171246],[102.856779,33.171275],[102.856786,33.171303],[102.856801,33.171337],[102.856807,33.171369],[102.856807,33.171396],[102.85679,33.171408],[102.856761,33.171403],[102.856675,33.171325],[102.856601,33.171244],[102.856562,33.171184],[102.856514,33.17112],[102.856492,33.171103],[102.856459,33.171087],[102.85643,33.17108],[102.856393,33.17108],[102.856363,33.171088],[102.856339,33.171101],[102.856314,33.171125],[102.856312,33.171128],[102.856289,33.171179],[102.85628,33.171261],[102.856287,33.171378],[102.85631,33.171476],[102.85633,33.171511],[102.856336,33.171525],[102.856337,33.171558],[102.856331,33.171578],[102.856317,33.171582],[102.856267,33.171576],[102.85629,33.17162],[102.856245,33.171608],[102.85606,33.171533],[102.856043,33.171431],[102.856113,33.171284],[102.856257,33.170989],[102.856186,33.170805],[102.856081,33.170778],[102.855947,33.17082],[102.855806,33.170955],[102.855686,33.171148],[102.855636,33.171369],[102.855642,33.171499],[102.855575,33.171539],[102.855532,33.171497],[102.855523,33.171488],[102.855469,33.171435],[102.855461,33.171429],[102.855157,33.171219],[102.855041,33.171202],[102.855005,33.171286],[102.854901,33.171467],[102.854511,33.171713],[102.854437,33.171779],[102.854426,33.171789],[102.85433,33.171874],[102.854049,33.172126],[102.853644,33.17233],[102.852718,33.172623],[102.85213,33.172768],[102.852044,33.172905],[102.852058,33.172935],[102.852073,33.172976],[102.852082,33.173006],[102.852099,33.173051],[102.85214,33.173095],[102.852192,33.173125],[102.852237,33.173137],[102.852301,33.173148],[102.852331,33.173199],[102.852582,33.173393],[102.852959,33.173695],[102.853418,33.174068],[102.853463,33.174094],[102.85351,33.174122],[102.853906,33.173709],[102.854238,33.173342],[102.854302,33.173219],[102.854332,33.173127],[102.85435,33.172652],[102.854404,33.172652],[102.854494,33.172654],[102.854534,33.17279],[102.854684,33.172877],[102.855221,33.172888],[102.855663,33.172954],[102.856086,33.173109],[102.856217,33.17329],[102.856137,33.173504],[102.855868,33.173689],[102.855719,33.173823],[102.855707,33.17396],[102.855776,33.174117],[102.85594,33.174207],[102.856179,33.174188],[102.856328,33.173994],[102.856494,33.173635],[102.856714,33.173269],[102.857016,33.173076],[102.857299,33.173132],[102.857395,33.173369],[102.857242,33.173623],[102.856968,33.173815],[102.856708,33.174051],[102.856567,33.174424],[102.856441,33.174547],[102.856024,33.174698],[102.855619,33.174788],[102.855425,33.17492],[102.855369,33.175146],[102.855541,33.175322],[102.856057,33.175644],[102.856167,33.175862],[102.856038,33.176036],[102.855606,33.176157],[102.855556,33.176287],[102.855665,33.176531],[102.855851,33.176542],[102.856289,33.176468],[102.856598,33.176491],[102.856723,33.176825],[102.85676,33.177042],[102.856698,33.177297],[102.856483,33.177428],[102.856151,33.177578],[102.855763,33.177666],[102.855164,33.177819],[102.854894,33.177926],[102.854849,33.178117],[102.854903,33.178352],[102.855138,33.178474],[102.855364,33.178674],[102.855804,33.179088],[102.856238,33.17942],[102.856454,33.179801],[102.856415,33.179975],[102.85608,33.18014],[102.855702,33.180375],[102.855445,33.180412],[102.855288,33.180313],[102.855175,33.180115],[102.8552,33.179943],[102.855286,33.179729],[102.855208,33.179613],[102.855038,33.179555],[102.854861,33.17962],[102.854819,33.179859],[102.854888,33.180189],[102.854971,33.180526],[102.854965,33.180722],[102.85484,33.180846],[102.854603,33.180874],[102.854372,33.180787],[102.854121,33.18066],[102.854027,33.180679],[102.853948,33.180836],[102.853887,33.181026],[102.853915,33.181135],[102.854056,33.181274],[102.854435,33.181477],[102.854627,33.181643],[102.854615,33.181885],[102.854597,33.182196],[102.854584,33.182508],[102.854372,33.182789],[102.85431,33.183057],[102.854236,33.183283],[102.854177,33.183334],[102.854064,33.183327],[102.853893,33.183215],[102.853636,33.182961],[102.853336,33.182695],[102.853154,33.182295],[102.853024,33.181977],[102.852848,33.181963],[102.852663,33.182093],[102.852549,33.182296],[102.852552,33.182487],[102.852691,33.18277],[102.852761,33.183031],[102.852804,33.18326],[102.852919,33.183342],[102.85319,33.183439],[102.853239,33.183504],[102.853136,33.183586],[102.852772,33.18371],[102.852448,33.183722],[102.85214,33.183616],[102.852051,33.18333],[102.851944,33.182979],[102.851841,33.182918],[102.851651,33.183053],[102.851108,33.18347],[102.850898,33.183715],[102.850819,33.183976],[102.851029,33.184095],[102.851538,33.184096],[102.852272,33.184126],[102.85259,33.184497],[102.852927,33.185096],[102.853149,33.185151],[102.853271,33.185035],[102.853386,33.184747],[102.853548,33.184514],[102.853971,33.184332],[102.854266,33.184372],[102.854544,33.184654],[102.854868,33.18493],[102.855164,33.185104],[102.85541,33.185052],[102.855977,33.184947],[102.856161,33.185002],[102.856193,33.185223],[102.856055,33.18546],[102.855861,33.185676],[102.855846,33.185837],[102.856065,33.185865],[102.856291,33.185584],[102.856502,33.185369],[102.856712,33.185359],[102.856835,33.185578],[102.856954,33.186002],[102.85706,33.186716],[102.857127,33.186833],[102.857288,33.186878],[102.857428,33.186812],[102.857578,33.186476],[102.857712,33.186129],[102.857964,33.186082],[102.858294,33.186339],[102.858553,33.186566],[102.858638,33.186848],[102.858746,33.187039],[102.858977,33.18702],[102.859235,33.186823],[102.859393,33.18688],[102.859741,33.187323],[102.860062,33.187779],[102.860288,33.188138],[102.860301,33.188496],[102.860373,33.188691],[102.860739,33.18882],[102.861396,33.188919],[102.861854,33.189231],[102.862218,33.189396],[102.862522,33.189389],[102.862897,33.189376],[102.863164,33.189458],[102.863532,33.189559],[102.863676,33.189272],[102.863892,33.189149],[102.864033,33.189344],[102.863899,33.18961],[102.863689,33.189923],[102.863695,33.190473],[102.863618,33.190695],[102.863271,33.190752],[102.86302,33.190831],[102.862945,33.190957],[102.863189,33.191131],[102.863653,33.19119],[102.864031,33.191048],[102.864323,33.19085],[102.864723,33.19076],[102.86515,33.19083],[102.865354,33.191015],[102.865437,33.191342],[102.865572,33.191543],[102.865916,33.191681],[102.866537,33.191707],[102.866913,33.191579],[102.867118,33.191274],[102.867154,33.190942],[102.866997,33.19073],[102.866556,33.190579],[102.866222,33.190423],[102.865726,33.190372],[102.865304,33.19031],[102.865188,33.190118],[102.865233,33.189854],[102.865637,33.18949],[102.866046,33.189096],[102.866163,33.188845],[102.866085,33.188669],[102.865865,33.188487],[102.86585,33.188391],[102.866066,33.188317],[102.866306,33.188392],[102.8669,33.188803],[102.867363,33.189134],[102.867759,33.18938],[102.868,33.189369],[102.868087,33.189224],[102.868062,33.188988],[102.867732,33.188688],[102.867612,33.188564],[102.867667,33.188406],[102.867978,33.188293],[102.868247,33.188182],[102.868295,33.188021],[102.868124,33.187929],[102.86795,33.187698],[102.867821,33.187109],[102.867654,33.18676],[102.867559,33.186512],[102.867636,33.186342],[102.867811,33.186257],[102.868261,33.186406],[102.868873,33.186657],[102.868996,33.186802],[102.86901,33.186978],[102.869012,33.187142],[102.869186,33.187254],[102.869403,33.187321],[102.869645,33.187264],[102.869943,33.187205],[102.870056,33.187295],[102.870022,33.187494],[102.869847,33.187687],[102.869735,33.187858],[102.869765,33.188021],[102.869903,33.188075],[102.870106,33.187997],[102.87034,33.187774],[102.870545,33.187568],[102.870774,33.18752],[102.870958,33.187566],[102.871106,33.187748],[102.871219,33.187862],[102.871402,33.187851],[102.871574,33.187525],[102.871766,33.187247],[102.872046,33.187197],[102.872172,33.187269],[102.872207,33.187451],[102.872124,33.187605],[102.872107,33.187895],[102.872055,33.188207],[102.872009,33.188515],[102.872182,33.188655],[102.872397,33.188704],[102.872461,33.188719],[102.872783,33.188895],[102.87286,33.188897],[102.873122,33.188904],[102.873336,33.188737],[102.87347,33.188385],[102.873641,33.188082],[102.873879,33.188068],[102.874013,33.188298],[102.873936,33.188647],[102.873724,33.189367],[102.873707,33.189662],[102.873812,33.189904],[102.874092,33.189954],[102.874436,33.189882],[102.874778,33.189949],[102.874902,33.190154],[102.874874,33.190339],[102.874562,33.19054],[102.874168,33.190886],[102.873756,33.19115],[102.87376,33.191274],[102.873942,33.191373],[102.874351,33.191556],[102.874508,33.191868],[102.874645,33.19205],[102.875228,33.19206],[102.875511,33.192157],[102.875701,33.192389],[102.875536,33.192611],[102.875157,33.192781],[102.874901,33.192999],[102.874933,33.193129],[102.875286,33.1932],[102.875919,33.193122],[102.87614,33.192925],[102.876395,33.192531],[102.876719,33.192525],[102.876817,33.192882],[102.876812,33.193258],[102.877043,33.193372],[102.877263,33.1933],[102.877451,33.192989],[102.877415,33.19263],[102.877449,33.192332],[102.877707,33.192285],[102.877897,33.192712],[102.877772,33.193017],[102.877537,33.19345],[102.877164,33.193916],[102.876879,33.194242],[102.876882,33.194419],[102.877191,33.194468],[102.877701,33.194402],[102.878099,33.194368],[102.878267,33.19459],[102.878249,33.194794],[102.877983,33.19503],[102.877598,33.195196],[102.87714,33.195287],[102.876999,33.195394],[102.877035,33.195574],[102.877286,33.195692],[102.87745,33.1958],[102.877485,33.195929],[102.877387,33.196029],[102.877212,33.196114],[102.877071,33.196216],[102.877068,33.196344],[102.877256,33.196444],[102.877707,33.196482],[102.878042,33.196635],[102.878419,33.197029],[102.878504,33.197386],[102.878398,33.197604],[102.878233,33.197725],[102.877974,33.197868],[102.877907,33.198012],[102.878042,33.198175],[102.878364,33.198178],[102.879058,33.198093],[102.879687,33.198165],[102.879742,33.198317],[102.87966,33.198478],[102.879259,33.19879],[102.879215,33.19896],[102.879372,33.199172],[102.879953,33.199189],[102.880336,33.199244],[102.880946,33.19957],[102.881179,33.199804],[102.881181,33.19999],[102.881012,33.200122],[102.880801,33.20031],[102.88065,33.2005],[102.880722,33.200646],[102.880923,33.200765],[102.881327,33.200729],[102.881942,33.200578],[102.882119,33.200652],[102.882102,33.200846],[102.881928,33.20102],[102.881786,33.201224],[102.881844,33.201388],[102.882159,33.20152],[102.882604,33.201581],[102.882693,33.201699],[102.882907,33.201918],[102.883051,33.202162],[102.883038,33.202385],[102.882941,33.2026],[102.88274,33.202735],[102.882372,33.202846],[102.881961,33.2029],[102.881688,33.202817],[102.881583,33.202584],[102.881501,33.202238],[102.881393,33.202143],[102.881229,33.202132],[102.880979,33.202245],[102.880859,33.202455],[102.880912,33.202619],[102.881126,33.202932],[102.881335,33.203136],[102.881566,33.20326],[102.881841,33.2034],[102.881906,33.203546],[102.881774,33.203669],[102.881377,33.203707],[102.881129,33.20364],[102.88073,33.203266],[102.880498,33.20312],[102.880336,33.203098],[102.880178,33.203187],[102.88006,33.203396],[102.879948,33.20361],[102.879794,33.203701],[102.879562,33.203741],[102.879305,33.203841],[102.879244,33.204007],[102.879455,33.204408],[102.879752,33.204771],[102.880229,33.204905],[102.88027,33.205071],[102.880021,33.205196],[102.879562,33.205345],[102.879447,33.205494],[102.879475,33.205672],[102.880042,33.205948],[102.880437,33.206174],[102.880653,33.206459],[102.880786,33.206708],[102.88097,33.206753],[102.881599,33.20656],[102.881807,33.206692],[102.882021,33.207197],[102.882086,33.207533],[102.881954,33.207666],[102.88177,33.207706],[102.88148,33.207627],[102.880866,33.207459],[102.880327,33.207389],[102.879435,33.207332],[102.878863,33.207368],[102.878347,33.207519],[102.878146,33.207542],[102.878058,33.207389],[102.878141,33.207131],[102.87815,33.206971],[102.877948,33.206934],[102.877598,33.20697],[102.877276,33.207013],[102.876899,33.207062],[102.876816,33.207255],[102.876904,33.207495],[102.877028,33.207618],[102.877392,33.208067],[102.877455,33.208384],[102.877327,33.208604],[102.877053,33.208925],[102.876723,33.209343],[102.876555,33.20959],[102.876614,33.209746],[102.877007,33.209719],[102.877352,33.20954],[102.877606,33.20926],[102.87784,33.208646],[102.878047,33.208411],[102.87839,33.208345],[102.878707,33.208739],[102.878609,33.209555],[102.878665,33.210143],[102.878486,33.210202],[102.878036,33.210041],[102.877638,33.210067],[102.87749,33.210271],[102.877402,33.21071],[102.877371,33.211157],[102.877482,33.211476],[102.877831,33.211528],[102.87822,33.211259],[102.878891,33.210734],[102.879219,33.210952],[102.879335,33.211228],[102.879264,33.211475],[102.878795,33.211747],[102.878261,33.211904],[102.877611,33.211889],[102.876957,33.211928],[102.876879,33.212038],[102.876911,33.212229],[102.87745,33.212346],[102.878098,33.212251],[102.878578,33.212178],[102.878935,33.212246],[102.879453,33.212491],[102.879793,33.212787],[102.879963,33.213079],[102.879914,33.213325],[102.879743,33.213542],[102.879436,33.213658],[102.878894,33.213612],[102.878588,33.213428],[102.87789,33.21295],[102.87759,33.212991],[102.877485,33.213115],[102.87748,33.213354],[102.877595,33.213788],[102.877638,33.214136],[102.877576,33.214323],[102.877072,33.214298],[102.876716,33.214141],[102.876528,33.213858],[102.876565,33.213449],[102.876725,33.213034],[102.876722,33.212873],[102.876289,33.212859],[102.876145,33.213003],[102.876081,33.213211],[102.876195,33.213451],[102.876171,33.213722],[102.876054,33.214189],[102.875865,33.214363],[102.875557,33.214765],[102.875677,33.214959],[102.876039,33.214946],[102.876602,33.214694],[102.876906,33.21466],[102.877047,33.214934],[102.876838,33.215236],[102.876453,33.215431],[102.87584,33.215588],[102.87548,33.215566],[102.875188,33.215411],[102.874663,33.214707],[102.874311,33.214335],[102.874007,33.214233],[102.873825,33.214297],[102.873742,33.214479],[102.873798,33.214896],[102.874043,33.215262],[102.87456,33.215623],[102.875222,33.215942],[102.875718,33.215945],[102.876598,33.215851],[102.876764,33.21598],[102.876791,33.216186],[102.876742,33.21636],[102.876501,33.216491],[102.876018,33.216626],[102.875401,33.216764],[102.87527,33.216943],[102.87526,33.217109],[102.875468,33.217255],[102.875901,33.217478],[102.876438,33.217628],[102.876517,33.21763],[102.876919,33.217639],[102.877422,33.217525],[102.878134,33.217403],[102.878452,33.217475],[102.878655,33.217627],[102.878813,33.21783],[102.878788,33.218144],[102.878636,33.218257],[102.878276,33.218302],[102.877835,33.218388],[102.877646,33.218529],[102.877591,33.218741],[102.87769,33.218967],[102.878208,33.219444],[102.878635,33.219896],[102.878605,33.220041],[102.878397,33.220148],[102.878032,33.220276],[102.877952,33.220433],[102.878093,33.220621],[102.878608,33.220927],[102.879037,33.221043],[102.879335,33.220916],[102.879482,33.220651],[102.87951,33.220405],[102.879434,33.220021],[102.879404,33.219671],[102.879485,33.219508],[102.879722,33.219436],[102.880109,33.219437],[102.880335,33.219572],[102.880419,33.219811],[102.880538,33.220309],[102.880496,33.220597],[102.880425,33.22094],[102.880412,33.221079],[102.88056,33.221167],[102.880773,33.221087],[102.880946,33.220894],[102.881144,33.220709],[102.881418,33.220599],[102.881724,33.220602],[102.882309,33.220678],[102.882516,33.220616],[102.882813,33.22048],[102.883136,33.220489],[102.883571,33.220592],[102.883763,33.220655],[102.884003,33.220622],[102.884236,33.22061],[102.884372,33.220649],[102.884458,33.220786],[102.884507,33.220964],[102.884587,33.221201],[102.884615,33.221397],[102.884611,33.221624],[102.884594,33.222066],[102.88469,33.222463],[102.884879,33.222571],[102.885279,33.222559],[102.885777,33.222554],[102.885982,33.22267],[102.88598,33.222849],[102.88569,33.223094],[102.885317,33.223368],[102.885301,33.223496],[102.885456,33.223606],[102.885738,33.223582],[102.886025,33.223404],[102.886486,33.222829],[102.886929,33.222156],[102.887182,33.222059],[102.88735,33.222165],[102.887351,33.222323],[102.887083,33.223284],[102.886881,33.224173],[102.886656,33.224978],[102.886652,33.225178],[102.886773,33.225222],[102.887335,33.224988],[102.887719,33.22489],[102.88793,33.224916],[102.888442,33.225208],[102.888722,33.225427],[102.888766,33.225625],[102.88868,33.225783],[102.888423,33.226394],[102.888141,33.227232],[102.887977,33.227336],[102.887689,33.227256],[102.887502,33.227143],[102.886993,33.22674],[102.886835,33.226434],[102.886748,33.225892],[102.886656,33.225617],[102.88636,33.225543],[102.886035,33.225567],[102.885743,33.225722],[102.885578,33.225929],[102.885606,33.226216],[102.885872,33.226623],[102.886061,33.226983],[102.886162,33.227884],[102.886237,33.228639],[102.886503,33.228746],[102.886771,33.228909],[102.88681,33.229111],[102.88671,33.229269],[102.886361,33.229416],[102.885909,33.229402],[102.884948,33.229353],[102.884144,33.229267],[102.883596,33.229144],[102.883219,33.22881],[102.882999,33.228686],[102.882816,33.228726],[102.88273,33.229128],[102.882805,33.229593],[102.883041,33.230494],[102.883432,33.230886],[102.883645,33.230958],[102.8839,33.230826],[102.88417,33.230331],[102.884403,33.229662],[102.884605,33.229554],[102.884872,33.22964],[102.885304,33.229768],[102.885683,33.229834],[102.886169,33.229821],[102.886355,33.22985],[102.886318,33.23],[102.886141,33.230177],[102.885533,33.230879],[102.885255,33.231377],[102.88518,33.231593],[102.885261,33.231703],[102.885497,33.231744],[102.885966,33.23162],[102.886469,33.231435],[102.886753,33.231426],[102.88693,33.231496],[102.887065,33.231665],[102.887173,33.231934],[102.887334,33.232467],[102.887353,33.232666],[102.887254,33.232817],[102.887074,33.232833],[102.88683,33.232844],[102.886515,33.232891],[102.886205,33.232957],[102.886112,33.233058],[102.886143,33.233207],[102.886338,33.233358],[102.886677,33.233472],[102.88697,33.23345],[102.887288,33.233387],[102.887654,33.233339],[102.888415,33.233116],[102.889023,33.232847],[102.889106,33.232582],[102.889187,33.232291],[102.889355,33.232205],[102.889523,33.232236],[102.889832,33.232529],[102.890171,33.232977],[102.890233,33.233132],[102.89004,33.233276],[102.889766,33.233494],[102.889417,33.233794],[102.888742,33.234203],[102.888388,33.234381],[102.888307,33.234524],[102.888403,33.234632],[102.888722,33.234691],[102.889308,33.23478],[102.889447,33.234878],[102.889469,33.235083],[102.889301,33.235258],[102.888952,33.235426],[102.888621,33.235487],[102.888223,33.235521],[102.887839,33.235474],[102.887152,33.235156],[102.886755,33.234968],[102.886697,33.234862],[102.886779,33.234708],[102.886945,33.234411],[102.886993,33.234245],[102.886818,33.234178],[102.886645,33.234228],[102.886336,33.234504],[102.886005,33.234933],[102.885894,33.235239],[102.88575,33.235887],[102.885654,33.235997],[102.885538,33.236025],[102.885424,33.235934],[102.885224,33.235722],[102.885037,33.235579],[102.884805,33.235541],[102.884645,33.235591],[102.884464,33.235773],[102.884382,33.236088],[102.884376,33.236331],[102.884594,33.236461],[102.885068,33.236788],[102.885294,33.237065],[102.885354,33.237343],[102.885254,33.237528],[102.885069,33.23768],[102.884622,33.237852],[102.884345,33.23784],[102.883727,33.237662],[102.883055,33.237506],[102.882795,33.237591],[102.882744,33.237793],[102.88296,33.238079],[102.883384,33.238282],[102.884197,33.238521],[102.884537,33.238525],[102.884742,33.23831],[102.885012,33.238159],[102.88524,33.23813],[102.885324,33.238343],[102.885333,33.238752],[102.885351,33.239348],[102.88529,33.239803],[102.88507,33.239879],[102.884398,33.239742],[102.884024,33.239736],[102.883863,33.239882],[102.883846,33.240162],[102.884194,33.240336],[102.884848,33.240541],[102.885931,33.240851],[102.886625,33.241094],[102.886962,33.241286],[102.887068,33.241412],[102.887066,33.241559],[102.886971,33.241722],[102.886906,33.241905],[102.886872,33.242161],[102.886869,33.242297],[102.887023,33.242332],[102.88727,33.242238],[102.887805,33.24201],[102.888687,33.241701],[102.889379,33.241501],[102.889574,33.241516],[102.889703,33.241628],[102.889737,33.241851],[102.889561,33.242176],[102.88931,33.242391],[102.889041,33.242784],[102.889042,33.242905],[102.889181,33.243007],[102.889383,33.243044],[102.889892,33.24299],[102.890284,33.242971],[102.890503,33.243012],[102.890846,33.243211],[102.891113,33.243297],[102.891266,33.243225],[102.891251,33.243046],[102.89107,33.242802],[102.890757,33.242475],[102.890742,33.242299],[102.890848,33.242154],[102.891057,33.242077],[102.891472,33.242111],[102.892056,33.242296],[102.892356,33.242473],[102.892435,33.242723],[102.892283,33.243067],[102.891935,33.243422],[102.891163,33.24389],[102.890562,33.244241],[102.889853,33.244604],[102.889654,33.244733],[102.889557,33.244944],[102.889802,33.245114],[102.890317,33.2452],[102.890887,33.245127],[102.891293,33.244869],[102.891645,33.244558],[102.892258,33.244044],[102.892504,33.243968],[102.892716,33.243995],[102.893113,33.244172],[102.893426,33.244428],[102.893923,33.244959],[102.89429,33.245438],[102.894264,33.245594],[102.894022,33.245742],[102.893459,33.245776],[102.89241,33.245672],[102.892226,33.245703],[102.892149,33.245779],[102.892141,33.245979],[102.892439,33.24628],[102.892784,33.24648],[102.893311,33.246555],[102.893818,33.246548],[102.894883,33.246468],[102.895153,33.246499],[102.895398,33.24658],[102.89582,33.246931],[102.896192,33.247056],[102.896394,33.246997],[102.896449,33.246828],[102.896273,33.246549],[102.895895,33.246229],[102.895818,33.246078],[102.895906,33.245939],[102.896189,33.245865],[102.896799,33.245863],[102.897115,33.245915],[102.897341,33.246041],[102.897529,33.24623],[102.897822,33.246552],[102.898129,33.246865],[102.898144,33.24697],[102.897862,33.247193],[102.897746,33.24737],[102.89772,33.247506],[102.897828,33.247606],[102.89805,33.247686],[102.898386,33.247744],[102.899047,33.247929],[102.899276,33.248081],[102.899398,33.248322],[102.899431,33.248606],[102.899403,33.2491],[102.899288,33.249309],[102.898936,33.249619],[102.898817,33.249805],[102.898974,33.249935],[102.899372,33.250204],[102.899654,33.250625],[102.899824,33.251013],[102.899726,33.251142],[102.899016,33.251156],[102.898378,33.251233],[102.897627,33.251277],[102.897016,33.251388],[102.896725,33.251494],[102.896494,33.251712],[102.89637,33.251827],[102.896213,33.25182],[102.896089,33.25161],[102.895998,33.251345],[102.895913,33.250906],[102.895741,33.250662],[102.895498,33.250669],[102.895342,33.250815],[102.895287,33.251103],[102.895287,33.251499],[102.895229,33.251543],[102.895215,33.251553],[102.895108,33.251635],[102.895065,33.251667],[102.8946,33.252208],[102.894164,33.252633],[102.894157,33.252639],[102.894068,33.252726],[102.894085,33.252752],[102.894194,33.252928],[102.894255,33.253026],[102.895721,33.255386],[102.895736,33.255445],[102.895739,33.255484],[102.895741,33.255526],[102.895741,33.255564],[102.895732,33.255602],[102.895716,33.25565],[102.895714,33.25568],[102.895713,33.2557],[102.895726,33.255718],[102.895744,33.255718],[102.89575,33.255705],[102.895762,33.255691],[102.895771,33.255693],[102.895782,33.255703],[102.895788,33.25571],[102.895805,33.255748],[102.89583,33.255811],[102.895843,33.255845],[102.895863,33.255849],[102.895875,33.255844],[102.895879,33.255821],[102.895877,33.255776],[102.895862,33.25574],[102.895853,33.255707],[102.895852,33.25568],[102.895851,33.255654],[102.895862,33.255613],[102.896195,33.256149],[102.896639,33.256863],[102.896783,33.257095],[102.897857,33.258822],[102.918741,33.29242],[102.918913,33.292696],[102.918917,33.292834],[102.919007,33.292947],[102.919032,33.293128],[102.918998,33.293294],[102.918977,33.293403],[102.918996,33.293508],[102.919071,33.293562],[102.919194,33.293638],[102.91929,33.293746],[102.919345,33.29385],[102.919388,33.29395],[102.919384,33.294087],[102.919316,33.294215],[102.91927,33.294281],[102.919245,33.294396],[102.91929,33.294488],[102.919364,33.29455],[102.919532,33.29459],[102.919662,33.294607],[102.919821,33.294617],[102.919901,33.294644],[102.920008,33.294696],[102.920188,33.294747],[102.920341,33.29463],[102.920409,33.294639],[102.92046,33.294618],[102.920504,33.294597],[102.920524,33.294569],[102.920537,33.294543],[102.920567,33.294497],[102.920603,33.294483],[102.920786,33.294569],[102.921041,33.294573],[102.921283,33.294565],[102.921339,33.294614],[102.92125,33.294756],[102.920962,33.29493],[102.920874,33.295036],[102.920799,33.295032],[102.920757,33.295015],[102.920713,33.294983],[102.920685,33.294959],[102.920664,33.294929],[102.920652,33.294904],[102.920621,33.294895],[102.920584,33.294903],[102.920547,33.294919],[102.920524,33.294925],[102.920476,33.294921],[102.920443,33.294912],[102.92039,33.294918],[102.92035,33.294943],[102.920329,33.294973],[102.920226,33.295043],[102.920174,33.295158],[102.920147,33.295233],[102.9201,33.295312],[102.920066,33.295363],[102.920028,33.295426],[102.920021,33.295494],[102.920026,33.295557],[102.920055,33.295598],[102.920094,33.295609],[102.92021,33.295614],[102.920307,33.295606],[102.920416,33.29558],[102.920493,33.295573],[102.92057,33.295515],[102.92063,33.295457],[102.920666,33.295516],[102.92071,33.295589],[102.920946,33.295986],[102.921019,33.296109],[102.92084,33.296106],[102.920608,33.296102],[102.920377,33.296098],[102.920145,33.296095],[102.919913,33.296091],[102.919682,33.296087],[102.91945,33.296083],[102.919219,33.296079],[102.918987,33.296075],[102.918746,33.296088],[102.918506,33.2961],[102.918265,33.296112],[102.918024,33.296125],[102.917783,33.296137],[102.917542,33.296149],[102.917301,33.296161],[102.917061,33.296174],[102.91682,33.296186],[102.916666,33.296194],[102.916579,33.296198],[102.916338,33.296211],[102.916097,33.296223],[102.915841,33.296232],[102.915585,33.296242],[102.915329,33.296251],[102.915072,33.29626],[102.914816,33.29627],[102.91456,33.296279],[102.914303,33.296288],[102.914047,33.296297],[102.913791,33.296307],[102.913534,33.296316],[102.913278,33.296325],[102.913022,33.296335],[102.912766,33.296344],[102.912509,33.296353],[102.912253,33.296363],[102.911997,33.296372],[102.911729,33.296377],[102.911462,33.296381],[102.911195,33.296385],[102.910927,33.29639],[102.91066,33.296394],[102.910392,33.296399],[102.910125,33.296403],[102.909858,33.296408],[102.90959,33.296412],[102.909323,33.296417],[102.909065,33.296439],[102.908808,33.296462],[102.908486,33.296493],[102.908164,33.296524],[102.907886,33.296609],[102.907561,33.296751],[102.907552,33.296755],[102.907217,33.296902],[102.906998,33.297096],[102.906779,33.297289],[102.906645,33.297448],[102.906462,33.297587],[102.906278,33.297726],[102.906095,33.297866],[102.905912,33.298005],[102.905728,33.298144],[102.905545,33.298283],[102.905362,33.298422],[102.905178,33.298561],[102.904894,33.298843],[102.904609,33.299125],[102.904325,33.299407],[102.904115,33.299655],[102.903906,33.299902],[102.903742,33.30007],[102.903578,33.300238],[102.903381,33.300379],[102.903056,33.300553],[102.902731,33.300727],[102.902397,33.300855],[102.902063,33.300984],[102.901842,33.301061],[102.90162,33.301138],[102.901399,33.301215],[102.901178,33.301293],[102.900797,33.301404],[102.900416,33.301516],[102.900116,33.301566],[102.899838,33.301579],[102.899582,33.301539],[102.899347,33.301518],[102.898919,33.301493],[102.898585,33.301603],[102.898251,33.301713],[102.898056,33.30185],[102.89786,33.301988],[102.897664,33.302125],[102.897469,33.302263],[102.897273,33.3024],[102.897078,33.302538],[102.896903,33.302696],[102.896728,33.302854],[102.896553,33.303013],[102.896378,33.303171],[102.896203,33.30333],[102.896028,33.303488],[102.895853,33.303647],[102.895678,33.303805],[102.895483,33.303972],[102.895288,33.304138],[102.895093,33.304305],[102.894898,33.304471],[102.894703,33.304637],[102.894508,33.304804],[102.894212,33.305077],[102.893916,33.30535],[102.893763,33.305509],[102.893567,33.305684],[102.893349,33.305807],[102.893198,33.305857],[102.892907,33.305969],[102.892616,33.30608],[102.892337,33.306165],[102.892014,33.306215],[102.891725,33.306237],[102.891436,33.306258],[102.891007,33.306269],[102.890579,33.306279],[102.890354,33.306302],[102.89013,33.306326],[102.88984,33.306356],[102.88955,33.306387],[102.889388,33.306385],[102.889136,33.306343],[102.888883,33.3063],[102.888587,33.306231],[102.888291,33.306162],[102.88793,33.306061],[102.887568,33.30596],[102.887359,33.305848],[102.887149,33.305736],[102.886927,33.305643],[102.886705,33.30555],[102.886483,33.305456],[102.88626,33.305363],[102.886038,33.305269],[102.885816,33.305176],[102.885594,33.305082],[102.885371,33.304989],[102.885022,33.304839],[102.884829,33.304853],[102.88453,33.304884],[102.884206,33.304968],[102.884009,33.305163],[102.883766,33.305499],[102.883586,33.305882],[102.883405,33.306264],[102.883206,33.306584],[102.883006,33.30685],[102.882841,33.307053],[102.882676,33.307257],[102.882521,33.307443],[102.882367,33.307629],[102.882189,33.307904],[102.882011,33.308178],[102.881919,33.308462],[102.88185,33.308677],[102.88178,33.308892],[102.881676,33.309175],[102.881571,33.309458],[102.881455,33.309814],[102.881428,33.310066],[102.881442,33.310371],[102.881519,33.310696],[102.881566,33.310983],[102.881612,33.311271],[102.88165,33.311504],[102.881685,33.311847],[102.881719,33.312151],[102.881713,33.312402],[102.881707,33.312653],[102.881636,33.31294],[102.881566,33.31319],[102.881428,33.313598],[102.881326,33.313968],[102.881225,33.314337],[102.881123,33.314707],[102.881055,33.31495],[102.880988,33.315192],[102.88092,33.315435],[102.880853,33.315678],[102.880785,33.315921],[102.880718,33.316164],[102.88065,33.316406],[102.880583,33.316649],[102.880463,33.316898],[102.880343,33.317147],[102.880223,33.317396],[102.880103,33.317646],[102.879983,33.317895],[102.879863,33.318144],[102.879661,33.318517],[102.879419,33.318835],[102.879176,33.319154],[102.878903,33.319392],[102.878629,33.319629],[102.878304,33.319785],[102.878067,33.319871],[102.877679,33.319972],[102.877336,33.320012],[102.876993,33.320051],[102.876591,33.320052],[102.87619,33.320053],[102.876116,33.320053],[102.875867,33.320025],[102.875619,33.319996],[102.87537,33.319968],[102.875121,33.31994],[102.874872,33.319912],[102.874623,33.319884],[102.874353,33.319885],[102.874083,33.319886],[102.873813,33.319887],[102.873543,33.319888],[102.873147,33.31989],[102.872751,33.319892],[102.872386,33.319958],[102.872133,33.32003],[102.87188,33.320102],[102.871627,33.320174],[102.871374,33.320246],[102.871121,33.320317],[102.870868,33.320389],[102.870615,33.320461],[102.870362,33.320533],[102.870137,33.320602],[102.869913,33.320672],[102.869688,33.320741],[102.869464,33.320811],[102.869239,33.32088],[102.869015,33.32095],[102.868791,33.321019],[102.868566,33.321088],[102.868342,33.321158],[102.868117,33.321227],[102.867893,33.321297],[102.867668,33.321366],[102.867268,33.32142],[102.867031,33.321452],[102.866796,33.321448],[102.866561,33.321444],[102.866338,33.321378],[102.866115,33.321311],[102.865936,33.321164],[102.865757,33.321017],[102.865454,33.320725],[102.865151,33.320432],[102.864936,33.320272],[102.864721,33.320111],[102.864506,33.319951],[102.864291,33.31979],[102.864059,33.319643],[102.863828,33.319495],[102.863572,33.319455],[102.863316,33.319415],[102.863048,33.319354],[102.86278,33.319294],[102.862512,33.319234],[102.862244,33.319174],[102.861976,33.319114],[102.861708,33.319054],[102.86144,33.318993],[102.861172,33.318933],[102.860904,33.318873],[102.860636,33.318813],[102.860259,33.318641],[102.859882,33.318469],[102.859505,33.318297],[102.859092,33.318124],[102.858679,33.317951],[102.858266,33.317778],[102.857853,33.317605],[102.857639,33.317525],[102.857424,33.317445],[102.857209,33.317365],[102.856995,33.317285],[102.85678,33.317205],[102.856566,33.317125],[102.856351,33.317045],[102.856136,33.316965],[102.855892,33.316916],[102.855648,33.316866],[102.855351,33.316772],[102.855011,33.316641],[102.854652,33.316473],[102.854421,33.316272],[102.854171,33.316034],[102.854,33.315851],[102.85383,33.315669],[102.85366,33.315487],[102.85349,33.315304],[102.85332,33.315122],[102.853149,33.31494],[102.852878,33.314675],[102.852606,33.31441],[102.85233,33.314315],[102.851914,33.314281],[102.851498,33.314246],[102.851082,33.314212],[102.850683,33.314199],[102.850284,33.314186],[102.849885,33.314172],[102.849671,33.314222],[102.849498,33.314256],[102.849248,33.314404],[102.848998,33.314552],[102.848747,33.314763],[102.848496,33.314973],[102.848324,33.315025],[102.848217,33.31504],[102.847896,33.315035],[102.847661,33.315013],[102.847342,33.314935],[102.847096,33.314814],[102.846851,33.314694],[102.846605,33.314573],[102.84636,33.314452],[102.846114,33.314331],[102.845868,33.31421],[102.845623,33.314089],[102.845377,33.313969],[102.845153,33.313826],[102.84493,33.313683],[102.844706,33.31354],[102.844482,33.313397],[102.844258,33.313254],[102.844034,33.313112],[102.843811,33.312969],[102.843587,33.312826],[102.84337,33.312715],[102.843154,33.312603],[102.842938,33.312492],[102.842721,33.312381],[102.842478,33.312287],[102.842234,33.312192],[102.842011,33.31213],[102.841788,33.312068],[102.841565,33.312006],[102.841341,33.311944],[102.841065,33.311903],[102.840788,33.311863],[102.840516,33.311844],[102.840244,33.311826],[102.839972,33.311807],[102.839701,33.311789],[102.839429,33.31177],[102.839157,33.311752],[102.838886,33.311733],[102.838614,33.311714],[102.838386,33.311701],[102.838158,33.311688],[102.83793,33.311675],[102.837702,33.311662],[102.837474,33.311649],[102.837246,33.311636],[102.836842,33.311594],[102.836628,33.311573],[102.836393,33.311567],[102.836072,33.31158],[102.835672,33.31177],[102.835271,33.31196],[102.835096,33.312125],[102.834921,33.312289],[102.834746,33.312454],[102.834571,33.312619],[102.834396,33.312783],[102.834221,33.312948],[102.833979,33.313176],[102.833827,33.313244],[102.833612,33.313313],[102.833333,33.313345],[102.832991,33.313356],[102.832565,33.31326],[102.832237,33.313137],[102.831908,33.313015],[102.831741,33.312841],[102.831574,33.312668],[102.831408,33.312463],[102.831242,33.312258],[102.831076,33.312054],[102.83091,33.311849],[102.830744,33.311644],[102.830578,33.31144],[102.830412,33.311235],[102.830246,33.31103],[102.830037,33.310834],[102.829815,33.31067],[102.829593,33.310506],[102.829319,33.310369],[102.829046,33.310232],[102.828983,33.310219],[102.828625,33.310122],[102.828266,33.310025],[102.827908,33.309928],[102.827566,33.309922],[102.827225,33.309916],[102.82686,33.309964],[102.826579,33.310031],[102.826451,33.310083],[102.826255,33.310258],[102.826032,33.310612],[102.82596,33.310926],[102.825887,33.311239],[102.825839,33.311489],[102.82579,33.31174],[102.825632,33.312059],[102.825475,33.312289],[102.825301,33.312465],[102.824954,33.312621],[102.824707,33.31268],[102.824459,33.312739],[102.824237,33.312792],[102.824015,33.312844],[102.823792,33.312897],[102.82357,33.31295],[102.823348,33.313003],[102.823125,33.313056],[102.822899,33.313112],[102.822672,33.313168],[102.822445,33.313225],[102.822218,33.313281],[102.821991,33.313337],[102.821764,33.313393],[102.821537,33.313449],[102.82131,33.313506],[102.821083,33.313562],[102.820856,33.313618],[102.820641,33.313684],[102.820425,33.313749],[102.82021,33.313815],[102.819994,33.31388],[102.819779,33.313946],[102.819563,33.314011],[102.819348,33.314077],[102.819132,33.314142],[102.818743,33.314338],[102.818353,33.314533],[102.817964,33.314728],[102.817574,33.314924],[102.817247,33.315178],[102.816919,33.315433],[102.816688,33.315698],[102.816456,33.315962],[102.816149,33.316284],[102.815841,33.316607],[102.815534,33.316929],[102.815227,33.317251],[102.814895,33.317529],[102.814563,33.317808],[102.814301,33.318001],[102.813977,33.318138],[102.813689,33.318168],[102.813677,33.318169],[102.813292,33.318143],[102.812933,33.318029],[102.812592,33.317917],[102.812347,33.317867],[102.812103,33.317818],[102.811739,33.317789],[102.811665,33.317783],[102.811228,33.317748],[102.810958,33.317746],[102.810688,33.317743],[102.810418,33.317741],[102.810148,33.317739],[102.809878,33.317736],[102.809608,33.317734],[102.809517,33.317733],[102.809338,33.317731],[102.809211,33.31773],[102.809068,33.317729],[102.808798,33.317726],[102.808528,33.317724],[102.808456,33.317723],[102.808258,33.317721],[102.807988,33.317719],[102.807718,33.317716],[102.807448,33.317714],[102.807178,33.317711],[102.806908,33.317709],[102.806639,33.317717],[102.80637,33.317724],[102.8061,33.317732],[102.805831,33.31774],[102.805562,33.317748],[102.805292,33.317756],[102.805023,33.317763],[102.804754,33.317771],[102.804484,33.317779],[102.804215,33.317787],[102.803946,33.317795],[102.803676,33.317802],[102.803407,33.31781],[102.803138,33.317818],[102.802868,33.317826],[102.802599,33.317833],[102.80233,33.317841],[102.80206,33.317849],[102.801791,33.317857],[102.801522,33.317865],[102.801251,33.317896],[102.80098,33.317927],[102.800709,33.317958],[102.800439,33.317989],[102.800168,33.31802],[102.799897,33.318051],[102.799626,33.318082],[102.799355,33.318113],[102.799085,33.318144],[102.798814,33.318175],[102.798543,33.318206],[102.798272,33.318237],[102.798001,33.318268],[102.797731,33.318299],[102.79746,33.31833],[102.797189,33.318361],[102.796943,33.318396],[102.796698,33.318431],[102.796453,33.318466],[102.796207,33.3185],[102.795962,33.318535],[102.795716,33.31857],[102.795481,33.318584],[102.795245,33.318597],[102.79501,33.318611],[102.794774,33.318625],[102.794538,33.318638],[102.794303,33.318652],[102.7942,33.318647],[102.79387,33.318631],[102.793438,33.31861],[102.793005,33.318589],[102.792573,33.318567],[102.792196,33.318525],[102.791818,33.318482],[102.791441,33.318439],[102.791079,33.318406],[102.790717,33.318373],[102.790267,33.318365],[102.789818,33.318357],[102.789551,33.318339],[102.789284,33.318321],[102.789017,33.318302],[102.788751,33.318284],[102.788484,33.318266],[102.788217,33.318248],[102.78795,33.31823],[102.787683,33.318212],[102.787324,33.318122],[102.786964,33.318032],[102.786557,33.317924],[102.786196,33.317795],[102.785945,33.3177],[102.785693,33.317605],[102.785369,33.317518],[102.785045,33.31743],[102.784816,33.317366],[102.784586,33.317301],[102.784356,33.317236],[102.784127,33.317171],[102.783897,33.317106],[102.783667,33.317041],[102.783437,33.316976],[102.783208,33.316911],[102.782978,33.316846],[102.782748,33.316781],[102.782519,33.316716],[102.782289,33.316651],[102.782059,33.316586],[102.78183,33.316521],[102.781544,33.316374],[102.781329,33.316259],[102.781114,33.316144],[102.780846,33.315961],[102.780577,33.315778],[102.780309,33.315595],[102.779943,33.315336],[102.779577,33.315077],[102.77921,33.314818],[102.778844,33.314559],[102.778711,33.31433],[102.778644,33.314111],[102.77854,33.313688],[102.778435,33.313264],[102.778297,33.313031],[102.778159,33.312798],[102.778111,33.312725],[102.77793,33.312455],[102.777769,33.312303],[102.777768,33.312303],[102.77755,33.312227],[102.777232,33.312171],[102.777226,33.31217],[102.776969,33.312093],[102.776817,33.312017],[102.776731,33.311913],[102.776636,33.311741],[102.776494,33.311622],[102.776383,33.311554],[102.776174,33.311426],[102.775965,33.311298],[102.775756,33.311169],[102.775547,33.311041],[102.775337,33.310913],[102.775128,33.310785],[102.774919,33.310657],[102.77471,33.310529],[102.774353,33.31031],[102.774095,33.310276],[102.773705,33.310171],[102.77345,33.310067],[102.773333,33.310019],[102.773086,33.309838],[102.772867,33.309543],[102.772751,33.309225],[102.772635,33.308906],[102.772518,33.308588],[102.772505,33.308553],[102.772315,33.308381],[102.771925,33.308172],[102.771606,33.308025],[102.771287,33.307877],[102.771147,33.307815],[102.771049,33.307772],[102.770878,33.307687],[102.770659,33.307658],[102.770373,33.30763],[102.770069,33.307534],[102.76974,33.307434],[102.769412,33.307335],[102.769098,33.307135],[102.768869,33.306963],[102.768842,33.306882],[102.768727,33.306542],[102.768612,33.306202],[102.768543,33.306032],[102.768368,33.305901],[102.768181,33.305762],[102.767995,33.305623],[102.767643,33.30536],[102.767316,33.305187],[102.766988,33.305014],[102.766661,33.304841],[102.766376,33.304699],[102.76609,33.304558],[102.7657,33.304365],[102.765395,33.304089],[102.765215,33.303861],[102.765189,33.303824],[102.765053,33.303632],[102.764862,33.30347],[102.764615,33.303404],[102.764196,33.303356],[102.763904,33.303437],[102.763612,33.303517],[102.763473,33.303556],[102.763346,33.303581],[102.763178,33.303613],[102.762854,33.303584],[102.762473,33.303508],[102.762212,33.303423],[102.76195,33.303337],[102.761769,33.303223],[102.761636,33.303097],[102.761598,33.303061],[102.76148,33.302914],[102.761295,33.302844],[102.76114,33.302794],[102.760907,33.302813],[102.760675,33.302833],[102.760351,33.302804],[102.760027,33.30268],[102.759732,33.302595],[102.759437,33.302509],[102.759171,33.302394],[102.759085,33.302357],[102.758762,33.302252],[102.758438,33.302147],[102.758124,33.302109],[102.75781,33.302223],[102.757496,33.302484],[102.757182,33.302744],[102.756867,33.303004],[102.756866,33.303004],[102.756865,33.303005],[102.756605,33.303123],[102.756344,33.303242],[102.755906,33.303318],[102.75564,33.303328],[102.755373,33.303337],[102.755021,33.303251],[102.75481,33.303166],[102.7546,33.303081],[102.754574,33.303071],[102.754269,33.302918],[102.753917,33.302658],[102.753566,33.302398],[102.753214,33.302137],[102.75306,33.302024],[102.75281,33.301849],[102.752559,33.301675],[102.752308,33.3015],[102.752213,33.301433],[102.752118,33.301272],[102.752099,33.30092],[102.75208,33.300567],[102.752054,33.300482],[102.751948,33.300129],[102.751842,33.299777],[102.751731,33.299489],[102.75162,33.2992],[102.751536,33.298981],[102.751509,33.298911],[102.751515,33.298699],[102.751518,33.298578],[102.75154,33.298207],[102.751562,33.297836],[102.751583,33.297479],[102.751604,33.297122],[102.751585,33.296694],[102.751573,33.296427],[102.751561,33.29616],[102.751477,33.295949],[102.751443,33.295901],[102.751362,33.295786],[102.751219,33.295702],[102.751187,33.295684],[102.750976,33.295561],[102.750701,33.295465],[102.750425,33.295368],[102.750285,33.295321],[102.750227,33.295254],[102.750195,33.295218],[102.750005,33.294971],[102.749848,33.294766],[102.749691,33.294562],[102.749482,33.294409],[102.74922,33.294309],[102.748958,33.294209],[102.748673,33.294117],[102.748387,33.294025],[102.748102,33.293933],[102.747883,33.293819],[102.74773,33.293667],[102.747678,33.293573],[102.747645,33.293515],[102.747645,33.293463],[102.747645,33.293018],[102.747645,33.292572],[102.747616,33.292334],[102.747501,33.291937],[102.747387,33.29154],[102.747272,33.291142],[102.747226,33.290983],[102.747116,33.290655],[102.747007,33.290326],[102.746769,33.290079],[102.746498,33.290017],[102.746227,33.289955],[102.745836,33.289879],[102.745541,33.289755],[102.745227,33.289527],[102.744994,33.289256],[102.744761,33.288985],[102.74458,33.288775],[102.744294,33.288613],[102.744018,33.288565],[102.743601,33.288615],[102.743557,33.288603],[102.743279,33.288588],[102.743094,33.288578],[102.743001,33.288573],[102.742638,33.288565],[102.742325,33.288539],[102.742013,33.288473],[102.741701,33.288406],[102.741364,33.288339],[102.741102,33.288194],[102.740914,33.287987],[102.740753,33.28768],[102.740674,33.287446],[102.740595,33.287211],[102.740485,33.286864],[102.74037,33.286558],[102.740257,33.286292],[102.740021,33.286086],[102.739773,33.285868],[102.739525,33.285651],[102.739364,33.285475],[102.739202,33.2853],[102.73904,33.285125],[102.738879,33.28495],[102.738717,33.284775],[102.738555,33.284599],[102.738393,33.284424],[102.738232,33.284249],[102.738042,33.284099],[102.737853,33.283948],[102.737664,33.283798],[102.737474,33.283647],[102.737285,33.283497],[102.737095,33.283346],[102.736906,33.283196],[102.736717,33.283045],[102.736473,33.282943],[102.73623,33.282842],[102.735942,33.282746],[102.735655,33.282649],[102.735392,33.282553],[102.735128,33.282457],[102.734816,33.28236],[102.734504,33.282263],[102.734203,33.282237],[102.733902,33.282212],[102.733712,33.282244],[102.733417,33.282387],[102.733121,33.282531],[102.732825,33.282674],[102.732464,33.282798],[102.73215,33.282817],[102.731921,33.282798],[102.731636,33.282702],[102.731322,33.282502],[102.731007,33.282303],[102.73077,33.282248],[102.730567,33.282232],[102.730254,33.282226],[102.73004,33.282235],[102.729796,33.282293],[102.729551,33.28235],[102.729199,33.282388],[102.729018,33.28235],[102.728733,33.282245],[102.728585,33.282118],[102.72839,33.28195],[102.728228,33.281779],[102.728162,33.281532],[102.728151,33.281488],[102.728095,33.281256],[102.728019,33.280865],[102.727762,33.28077],[102.727376,33.280713],[102.726991,33.280656],[102.726779,33.280578],[102.726705,33.280551],[102.726477,33.280437],[102.72623,33.280342],[102.725925,33.28018],[102.725738,33.279968],[102.725448,33.279638],[102.72544,33.279628],[102.725225,33.279433],[102.725011,33.279238],[102.724791,33.279128],[102.724571,33.279018],[102.724554,33.279009],[102.724269,33.278902],[102.723983,33.278794],[102.723698,33.278686],[102.723422,33.278643],[102.723146,33.2786],[102.722781,33.278575],[102.722416,33.278549],[102.722051,33.278524],[102.721623,33.278476],[102.721261,33.278305],[102.721004,33.278115],[102.720814,33.277734],[102.720647,33.277496],[102.720481,33.277258],[102.72029,33.277001],[102.720162,33.276778],[102.720148,33.276754],[102.720014,33.276525],[102.719795,33.276316],[102.71951,33.27604],[102.719509,33.276039],[102.719509,33.276038],[102.719301,33.275678],[102.71911,33.27545],[102.718882,33.275126],[102.718644,33.274917],[102.718463,33.274745],[102.718257,33.274498],[102.718051,33.274251],[102.717892,33.27406],[102.717678,33.27376],[102.717464,33.273461],[102.717424,33.273264],[102.717375,33.273193],[102.717264,33.27303],[102.71713,33.272937],[102.716907,33.272785],[102.716683,33.272632],[102.71646,33.272326],[102.716237,33.272019],[102.71615,33.2719],[102.716084,33.2717],[102.716055,33.271424],[102.716029,33.271202],[102.716007,33.271014],[102.715961,33.270858],[102.71595,33.270824],[102.715865,33.270634],[102.715722,33.270443],[102.715579,33.270253],[102.715403,33.27011],[102.715227,33.269967],[102.715181,33.269933],[102.714968,33.26977],[102.71483,33.269592],[102.714692,33.269413],[102.714462,33.269201],[102.714231,33.26899],[102.714114,33.268771],[102.713998,33.268552],[102.713931,33.268457],[102.713803,33.268361],[102.713741,33.268261],[102.713739,33.268248],[102.713717,33.268076],[102.713684,33.267766],[102.713677,33.267674],[102.71366,33.26741],[102.713555,33.267005],[102.713455,33.266798],[102.713355,33.266591],[102.713222,33.266443],[102.713046,33.266334],[102.712807,33.266241],[102.712665,33.266187],[102.71228,33.265996],[102.711894,33.265806],[102.711642,33.265634],[102.711494,33.265515],[102.71128,33.265187],[102.711214,33.265092],[102.71119,33.264973],[102.711171,33.264849],[102.711028,33.264649],[102.710909,33.26444],[102.7107,33.264354],[102.710533,33.264259],[102.710428,33.264164],[102.710338,33.26405],[102.710262,33.263974],[102.710133,33.263897],[102.709857,33.26384],[102.70947,33.263733],[102.709082,33.263626],[102.708782,33.263498],[102.708425,33.263257],[102.708068,33.263017],[102.707721,33.262765],[102.707602,33.262608],[102.707421,33.26237],[102.707383,33.262284],[102.707359,33.262118],[102.707349,33.262078],[102.707311,33.261932],[102.707235,33.261832],[102.707069,33.261737],[102.706975,33.261688],[102.706686,33.261539],[102.706398,33.26139],[102.706298,33.261294],[102.706274,33.261223],[102.706272,33.261209],[102.70626,33.261123],[102.706198,33.261014],[102.706074,33.260952],[102.705908,33.260937],[102.7059,33.260938],[102.705636,33.260971],[102.705432,33.260937],[102.705294,33.260876],[102.70507,33.260709],[102.704846,33.260542],[102.704632,33.260447],[102.704342,33.260352],[102.704144,33.260237],[102.704013,33.260162],[102.703785,33.259986],[102.703633,33.259795],[102.703452,33.259434],[102.703361,33.259348],[102.703138,33.259267],[102.702947,33.259196],[102.702729,33.259096],[102.702581,33.258967],[102.702315,33.258748],[102.702048,33.258529],[102.701846,33.258284],[102.701644,33.258039],[102.701501,33.257768],[102.701372,33.25772],[102.701229,33.25773],[102.70112,33.257801],[102.700977,33.257901],[102.700735,33.257977],[102.70071,33.25798],[102.700421,33.258009],[102.700363,33.258015],[102.700225,33.258039],[102.70013,33.258073],[102.70004,33.258149],[102.699887,33.258353],[102.699714,33.258701],[102.69954,33.259048],[102.699335,33.259265],[102.699131,33.259481],[102.698926,33.259614],[102.698769,33.259729],[102.698541,33.259781],[102.698312,33.25981],[102.698208,33.259857],[102.698096,33.260183],[102.697984,33.260509],[102.697872,33.260835],[102.69776,33.261161],[102.697629,33.261572],[102.697497,33.261983],[102.697365,33.262394],[102.69734,33.262465],[102.697212,33.262828],[102.697108,33.263122],[102.69698,33.263369],[102.696885,33.263502],[102.696516,33.263729],[102.696147,33.263955],[102.696071,33.263974],[102.695866,33.26395],[102.695505,33.263888],[102.695152,33.263737],[102.6948,33.263587],[102.694448,33.263436],[102.694086,33.263291],[102.693725,33.263146],[102.693472,33.263086],[102.69322,33.263027],[102.692898,33.262995],[102.692576,33.262963],[102.692254,33.262931],[102.691914,33.262858],[102.691878,33.262851],[102.691721,33.262822],[102.691517,33.262865],[102.691226,33.263036],[102.690967,33.263329],[102.690707,33.263622],[102.690448,33.263915],[102.690188,33.264207],[102.689894,33.264346],[102.689568,33.26433],[102.689242,33.264314],[102.688954,33.264248],[102.688686,33.264124],[102.68846,33.264019],[102.688121,33.263729],[102.687782,33.263439],[102.687444,33.263148],[102.687261,33.262959],[102.687079,33.262771],[102.686897,33.262582],[102.686715,33.262393],[102.686533,33.262204],[102.68635,33.262015],[102.686168,33.261826],[102.685986,33.261637],[102.685804,33.261448],[102.685622,33.26126],[102.685439,33.261071],[102.685257,33.260882],[102.685075,33.260693],[102.684893,33.260504],[102.68471,33.260315],[102.684528,33.260126],[102.684415,33.260009],[102.684379,33.259972],[102.684346,33.259937],[102.684164,33.259748],[102.684042,33.259622],[102.683982,33.25956],[102.683911,33.259486],[102.683799,33.259371],[102.68353,33.259111],[102.683261,33.258852],[102.682992,33.258592],[102.68278,33.258366],[102.682569,33.258139],[102.682418,33.257913],[102.682267,33.257687],[102.682117,33.257431],[102.681967,33.257174],[102.681814,33.256979],[102.681662,33.256783],[102.681416,33.256525],[102.68117,33.256267],[102.680963,33.256096],[102.680756,33.255925],[102.680549,33.255754],[102.680342,33.255583],[102.68014,33.255455],[102.679938,33.255327],[102.679736,33.255199],[102.679535,33.255071],[102.679333,33.254943],[102.679131,33.254815],[102.678929,33.254687],[102.678727,33.254559],[102.678498,33.254435],[102.678305,33.254331],[102.67827,33.254312],[102.678269,33.254311],[102.678247,33.254299],[102.678179,33.254262],[102.678041,33.254188],[102.677812,33.254064],[102.677584,33.25394],[102.677355,33.253816],[102.677127,33.253693],[102.676969,33.253607],[102.676899,33.253569],[102.676899,33.253569],[102.676898,33.253569],[102.67667,33.253445],[102.676441,33.253321],[102.676242,33.253204],[102.676043,33.253086],[102.675844,33.252969],[102.675645,33.252851],[102.675418,33.252766],[102.675191,33.25268],[102.674759,33.252591],[102.674519,33.252525],[102.67428,33.25246],[102.673872,33.252351],[102.673621,33.252266],[102.67337,33.25218],[102.673119,33.252063],[102.672868,33.251946],[102.67256,33.251739],[102.672322,33.251593],[102.672238,33.251559],[102.672107,33.251507],[102.671939,33.25144],[102.671893,33.251421],[102.671652,33.251367],[102.671412,33.251312],[102.671123,33.251266],[102.670834,33.25122],[102.670497,33.251194],[102.670147,33.251187],[102.669797,33.25118],[102.669674,33.251259],[102.669623,33.251379],[102.669594,33.251562],[102.669601,33.251767],[102.669607,33.251927],[102.66964,33.251985],[102.669816,33.252294],[102.66998,33.252481],[102.670144,33.252667],[102.670304,33.252968],[102.670351,33.253055],[102.670351,33.253056],[102.670351,33.253056],[102.670319,33.253339],[102.670098,33.253497],[102.669829,33.253633],[102.669797,33.253661],[102.669705,33.253741],[102.669671,33.253771],[102.669557,33.25387],[102.669532,33.253892],[102.669502,33.254094],[102.669554,33.254439],[102.669564,33.254499],[102.669644,33.254669],[102.669747,33.254889],[102.669908,33.255195],[102.669962,33.25543],[102.670016,33.255664],[102.670033,33.255949],[102.670025,33.256242],[102.670017,33.256536],[102.669961,33.256819],[102.669877,33.257014],[102.669698,33.257229],[102.669684,33.257246],[102.669627,33.257314],[102.669553,33.257393],[102.669532,33.257407],[102.669481,33.257441],[102.669233,33.25761],[102.668915,33.257767],[102.668524,33.257942],[102.668255,33.258058],[102.668156,33.258158],[102.668129,33.258259],[102.668172,33.258442],[102.668334,33.258729],[102.668373,33.258803],[102.668402,33.258859],[102.668464,33.258977],[102.668477,33.259001],[102.668495,33.259036],[102.668497,33.259042],[102.668529,33.259172],[102.668581,33.259382],[102.668575,33.259686],[102.668525,33.259726],[102.668427,33.259764],[102.668395,33.259769],[102.668268,33.259789],[102.668245,33.259792],[102.668185,33.259801],[102.66799,33.259847],[102.667869,33.259875],[102.667567,33.25987],[102.667495,33.259868],[102.667423,33.259867],[102.667359,33.259866],[102.667224,33.259863],[102.666976,33.259859],[102.666529,33.259851],[102.666388,33.259848],[102.666319,33.259847],[102.666082,33.259842],[102.665719,33.259886],[102.665355,33.25993],[102.665303,33.259939],[102.665101,33.259976],[102.664846,33.260021],[102.66458,33.260046],[102.664313,33.260072],[102.664059,33.260067],[102.663805,33.260063],[102.663384,33.260005],[102.662963,33.259947],[102.66253,33.259867],[102.662098,33.259787],[102.661784,33.259781],[102.661351,33.259753],[102.660965,33.259746],[102.660531,33.259658],[102.660196,33.259549],[102.659861,33.259441],[102.659623,33.259317],[102.659384,33.259194],[102.659146,33.25907],[102.658908,33.258947],[102.65867,33.258823],[102.658431,33.258699],[102.658193,33.258576],[102.657955,33.258452],[102.657658,33.258237],[102.657352,33.257947],[102.657045,33.257657],[102.656809,33.25745],[102.65655,33.257203],[102.656336,33.257077],[102.656003,33.256868],[102.655693,33.25673],[102.655384,33.256592],[102.655169,33.256492],[102.654954,33.256392],[102.654739,33.256291],[102.654524,33.256191],[102.654225,33.256094],[102.653926,33.255997],[102.653661,33.255911],[102.653303,33.255783],[102.652993,33.255655],[102.652635,33.255466],[102.652495,33.255302],[102.652235,33.255113],[102.652045,33.254928],[102.651788,33.254659],[102.651482,33.254349],[102.651285,33.254051],[102.651088,33.253753],[102.650862,33.2534],[102.650636,33.253046],[102.65041,33.252692],[102.650184,33.252338],[102.649918,33.252038],[102.649716,33.251923],[102.649514,33.251808],[102.649154,33.251699],[102.648746,33.25163],[102.648337,33.251562],[102.64817,33.251519],[102.647881,33.251432],[102.647585,33.251244],[102.647288,33.251056],[102.647103,33.250907],[102.646918,33.250758],[102.646733,33.25061],[102.646548,33.250461],[102.646363,33.250312],[102.646178,33.250163],[102.646109,33.250122],[102.645797,33.249933],[102.645462,33.249805],[102.64521,33.249759],[102.644957,33.249714],[102.644729,33.249679],[102.6445,33.249645],[102.644117,33.249516],[102.64371,33.249387],[102.643499,33.249243],[102.643288,33.249099],[102.643077,33.248955],[102.642866,33.248811],[102.642642,33.248656],[102.642419,33.248501],[102.642195,33.248346],[102.641972,33.248192],[102.641748,33.248037],[102.641525,33.247882],[102.641301,33.247727],[102.641078,33.247572],[102.640854,33.247417],[102.640631,33.247263],[102.640407,33.247108],[102.640184,33.246953],[102.63996,33.246798],[102.639737,33.246643],[102.639545,33.246507],[102.639521,33.24649],[102.639304,33.246336],[102.639088,33.246182],[102.638872,33.246029],[102.638655,33.245875],[102.638439,33.245722],[102.638223,33.245568],[102.638007,33.245415],[102.637669,33.245265],[102.637641,33.245252],[102.637344,33.24512],[102.637305,33.245103],[102.637275,33.24509],[102.637194,33.245053],[102.637148,33.245033],[102.636988,33.244962],[102.63691,33.244927],[102.636563,33.244789],[102.636217,33.244651],[102.635792,33.244516],[102.635367,33.244381],[102.634942,33.244247],[102.634516,33.244112],[102.634115,33.243939],[102.633713,33.243767],[102.633311,33.243595],[102.633074,33.243428],[102.632863,33.243201],[102.632841,33.243162],[102.632755,33.24301],[102.632748,33.242996],[102.632734,33.242611],[102.632812,33.242389],[102.632891,33.242168],[102.633048,33.24187],[102.633081,33.241806],[102.633272,33.241445],[102.633376,33.241183],[102.633479,33.240922],[102.633537,33.240579],[102.633572,33.240194],[102.633583,33.240099],[102.633603,33.239931],[102.633634,33.239668],[102.633642,33.239371],[102.633644,33.239304],[102.633614,33.239081],[102.633584,33.238857],[102.633509,33.238637],[102.633469,33.238517],[102.633435,33.238416],[102.63336,33.238195],[102.633286,33.237975],[102.633211,33.237754],[102.633137,33.237533],[102.633027,33.237336],[102.632918,33.237139],[102.632808,33.236942],[102.632699,33.236745],[102.63259,33.236547],[102.63248,33.23635],[102.632371,33.236153],[102.632262,33.235956],[102.63209,33.235598],[102.631919,33.23524],[102.631794,33.234954],[102.631669,33.234669],[102.631578,33.234446],[102.631488,33.234224],[102.631397,33.234002],[102.631306,33.233779],[102.631216,33.233557],[102.631125,33.233335],[102.631034,33.233112],[102.630944,33.23289],[102.630843,33.232635],[102.630742,33.232381],[102.630632,33.231953],[102.630614,33.231694],[102.630638,33.231606],[102.630696,33.23139],[102.630809,33.23119],[102.630923,33.23099],[102.631111,33.23073],[102.631299,33.230469],[102.631454,33.230087],[102.631546,33.229816],[102.631639,33.229544],[102.631674,33.229119],[102.631638,33.228672],[102.631596,33.228418],[102.631555,33.228164],[102.631457,33.227787],[102.631359,33.22741],[102.631274,33.227149],[102.631189,33.226888],[102.631105,33.226627],[102.63102,33.226366],[102.630935,33.226105],[102.630851,33.225844],[102.630766,33.225583],[102.630681,33.225322],[102.630597,33.225061],[102.630512,33.224799],[102.630449,33.22458],[102.630386,33.22436],[102.630323,33.22414],[102.630261,33.22392],[102.630198,33.2237],[102.630135,33.223481],[102.630098,33.223074],[102.630044,33.22283],[102.629991,33.222585],[102.629902,33.2223],[102.629813,33.222015],[102.629591,33.221767],[102.629368,33.22152],[102.629146,33.221253],[102.628923,33.220985],[102.628779,33.220786],[102.628635,33.220586],[102.62849,33.220387],[102.628346,33.220187],[102.628202,33.219988],[102.628057,33.219789],[102.627913,33.219589],[102.627769,33.21939],[102.627625,33.21919],[102.62748,33.218991],[102.627288,33.218624],[102.627095,33.218258],[102.626903,33.217891],[102.626801,33.217666],[102.626698,33.217442],[102.626613,33.217054],[102.626571,33.216821],[102.62653,33.216587],[102.626439,33.216373],[102.626347,33.216159],[102.626185,33.215904],[102.626046,33.215686],[102.625812,33.215418],[102.625554,33.21515],[102.625244,33.214962],[102.625019,33.214836],[102.624793,33.21471],[102.624436,33.21446],[102.62413,33.214231],[102.623979,33.214045],[102.623827,33.21386],[102.623724,33.213634],[102.623621,33.213409],[102.623593,33.213145],[102.623564,33.212881],[102.623646,33.212526],[102.62375,33.212265],[102.623853,33.212003],[102.624077,33.211744],[102.624252,33.211524],[102.624427,33.211304],[102.624583,33.21111],[102.62474,33.210916],[102.624896,33.210721],[102.625052,33.210527],[102.625196,33.210332],[102.62534,33.210137],[102.625484,33.209942],[102.625628,33.209747],[102.625731,33.209545],[102.625821,33.209304],[102.625912,33.209063],[102.625965,33.20876],[102.626018,33.208457],[102.626054,33.208254],[102.626089,33.207871],[102.626097,33.207597],[102.626106,33.207324],[102.626053,33.206988],[102.626001,33.206652],[102.625885,33.20641],[102.625746,33.206163],[102.625631,33.205918],[102.625615,33.205634],[102.625716,33.205473],[102.625951,33.205129],[102.626186,33.204785],[102.626194,33.204773],[102.62646,33.204447],[102.626726,33.204122],[102.626992,33.203796],[102.627284,33.203497],[102.627576,33.203199],[102.627868,33.2029],[102.628159,33.202601],[102.628333,33.202363],[102.628489,33.201979],[102.62855,33.201758],[102.628611,33.201536],[102.628671,33.201314],[102.628732,33.201092],[102.628805,33.200827],[102.628879,33.200563],[102.628952,33.200298],[102.629026,33.200033],[102.629099,33.199769],[102.629173,33.199504],[102.629246,33.199239],[102.62932,33.198975],[102.629332,33.198573],[102.629289,33.19835],[102.629247,33.198127],[102.629162,33.19772],[102.629076,33.197312],[102.628917,33.196934],[102.628758,33.196556],[102.628631,33.196202],[102.628504,33.195848],[102.628377,33.195495],[102.628263,33.195249],[102.628149,33.195004],[102.628047,33.194759],[102.627945,33.194514],[102.627759,33.194185],[102.627573,33.193959],[102.627349,33.193793],[102.627124,33.193626],[102.626811,33.193424],[102.626498,33.193222],[102.626186,33.19302],[102.626057,33.192937],[102.625814,33.192758],[102.625648,33.192613],[102.625416,33.192305],[102.625301,33.19207],[102.625187,33.191835],[102.625121,33.1916],[102.625054,33.191366],[102.624968,33.190989],[102.624882,33.190613],[102.624749,33.190226],[102.624658,33.18999],[102.624567,33.189755],[102.624455,33.189449],[102.624342,33.189142],[102.624146,33.188824],[102.62395,33.188507],[102.623754,33.188148],[102.623558,33.18779],[102.623385,33.187496],[102.623211,33.187201],[102.623049,33.186934],[102.622861,33.186768],[102.622552,33.18656],[102.62222,33.186391],[102.621788,33.186292],[102.621355,33.186192],[102.621098,33.186152],[102.620842,33.186112],[102.620585,33.186071],[102.620328,33.186031],[102.620071,33.18599],[102.619815,33.18595],[102.619558,33.185909],[102.619301,33.185869],[102.619044,33.185829],[102.618788,33.185788],[102.618531,33.185748],[102.618274,33.185707],[102.618017,33.185667],[102.61776,33.185626],[102.617504,33.185586],[102.617247,33.185546],[102.616973,33.185514],[102.616698,33.185482],[102.616424,33.185451],[102.61615,33.185419],[102.615875,33.185388],[102.615601,33.185356],[102.615327,33.185325],[102.615053,33.185293],[102.614778,33.185262],[102.614504,33.18523],[102.61427,33.185192],[102.614195,33.185179],[102.614169,33.185175],[102.614036,33.185153],[102.613803,33.185115],[102.613569,33.185076],[102.613335,33.185038],[102.613101,33.185],[102.612868,33.184961],[102.612634,33.184923],[102.6124,33.184885],[102.612166,33.184846],[102.611933,33.184808],[102.611699,33.18477],[102.611435,33.184704],[102.611171,33.184638],[102.611034,33.184604],[102.610908,33.184572],[102.610644,33.184507],[102.61038,33.184441],[102.610117,33.184375],[102.609882,33.184338],[102.609786,33.184322],[102.6097,33.184308],[102.609648,33.1843],[102.609479,33.184273],[102.609414,33.184263],[102.609179,33.184225],[102.609081,33.184209],[102.609001,33.184196],[102.608945,33.184188],[102.608774,33.18416],[102.608711,33.18415],[102.608477,33.184113],[102.608242,33.184075],[102.608014,33.184054],[102.607968,33.184049],[102.607785,33.184032],[102.607557,33.184011],[102.607376,33.183994],[102.607328,33.183989],[102.6071,33.183968],[102.606871,33.183946],[102.606437,33.183939],[102.606098,33.183973],[102.605735,33.184047],[102.605371,33.184121],[102.605121,33.184197],[102.604872,33.184273],[102.604863,33.184276],[102.604622,33.184349],[102.604373,33.184426],[102.604123,33.184502],[102.604109,33.184506],[102.604085,33.184514],[102.603873,33.184578],[102.603624,33.184654],[102.603374,33.184731],[102.60313,33.184843],[102.602886,33.184954],[102.602641,33.185066],[102.602397,33.185178],[102.602152,33.18529],[102.601908,33.185402],[102.601842,33.185432],[102.601664,33.185514],[102.601419,33.185626],[102.60117,33.185713],[102.600922,33.185801],[102.600531,33.185915],[102.600313,33.185972],[102.600094,33.186029],[102.599744,33.186052],[102.599393,33.186076],[102.598966,33.186108],[102.598539,33.18614],[102.598112,33.186173],[102.597668,33.186168],[102.597224,33.186163],[102.59678,33.186158],[102.596655,33.186157],[102.596348,33.186154],[102.596301,33.186154],[102.595916,33.186151],[102.595688,33.186123],[102.595687,33.186123],[102.595687,33.186123],[102.59555,33.186107],[102.595459,33.186096],[102.595418,33.186091],[102.595231,33.186069],[102.595002,33.186042],[102.594774,33.186015],[102.594545,33.185987],[102.594316,33.18596],[102.594088,33.185933],[102.593835,33.185915],[102.593582,33.185896],[102.593329,33.185878],[102.593076,33.185859],[102.592824,33.185841],[102.592571,33.185822],[102.592341,33.18578],[102.592111,33.185738],[102.591881,33.185696],[102.591651,33.185653],[102.591421,33.185611],[102.591191,33.185569],[102.590961,33.185527],[102.590731,33.185485],[102.59047,33.185421],[102.590209,33.185357],[102.589948,33.185294],[102.589688,33.18523],[102.589427,33.185167],[102.589166,33.185103],[102.588906,33.185039],[102.588645,33.184976],[102.588384,33.184912],[102.588124,33.184848],[102.58801,33.184821],[102.587863,33.184785],[102.587662,33.184736],[102.587602,33.184721],[102.587452,33.184685],[102.587342,33.184658],[102.587081,33.184594],[102.587175,33.184202],[102.58727,33.18381],[102.587269,33.183796],[102.587251,33.1834],[102.587198,33.183066],[102.587115,33.182782],[102.58695,33.182623],[102.586923,33.182597],[102.586922,33.182595],[102.586785,33.182463],[102.58662,33.182303],[102.586456,33.182144],[102.586171,33.181972],[102.585887,33.1818],[102.585586,33.181679],[102.585284,33.181558],[102.584936,33.181449],[102.584588,33.18134],[102.584349,33.181284],[102.58411,33.181228],[102.584043,33.181212],[102.583989,33.1812],[102.583872,33.181172],[102.583633,33.181116],[102.583394,33.18106],[102.583156,33.181004],[102.582917,33.180949],[102.582678,33.180893],[102.582378,33.180747],[102.582373,33.180745],[102.582348,33.180733],[102.582017,33.180573],[102.581701,33.180387],[102.581386,33.180202],[102.581163,33.180005],[102.580939,33.179809],[102.580777,33.179601],[102.580615,33.179393],[102.580561,33.179157],[102.580506,33.178921],[102.580452,33.178684],[102.580398,33.178448],[102.580405,33.178141],[102.580444,33.177861],[102.580541,33.177631],[102.580638,33.17748],[102.58088,33.177242],[102.580919,33.177203],[102.581023,33.177009],[102.581123,33.176823],[102.581326,33.176443],[102.581469,33.176178],[102.581481,33.176155],[102.58153,33.176063],[102.581546,33.175853],[102.581554,33.175744],[102.58156,33.175671],[102.581572,33.175503],[102.581579,33.175424],[102.581583,33.175369],[102.581595,33.175242],[102.5816,33.175181],[102.581622,33.174939],[102.581753,33.174583],[102.581948,33.174227],[102.582134,33.174053],[102.582207,33.173939],[102.582238,33.173889],[102.582459,33.173746],[102.582572,33.17362],[102.582688,33.173403],[102.582664,33.173274],[102.58261,33.173017],[102.582583,33.172928],[102.582507,33.172677],[102.582242,33.172338],[102.582176,33.1722],[102.582069,33.171976],[102.581984,33.171758],[102.581898,33.171539],[102.581808,33.171437],[102.581692,33.171304],[102.581421,33.171171],[102.581086,33.171138],[102.580843,33.171082],[102.580658,33.171055],[102.580449,33.171024],[102.580087,33.170862],[102.579908,33.170705],[102.579733,33.170446],[102.579554,33.170059],[102.579376,33.169672],[102.579256,33.169431],[102.579135,33.169189],[102.579015,33.168948],[102.578894,33.168707],[102.578774,33.168466],[102.578653,33.168224],[102.578448,33.167965],[102.57818,33.167728],[102.577968,33.167648],[102.577756,33.167568],[102.577438,33.167497],[102.577121,33.167426],[102.576755,33.167336],[102.576726,33.167329],[102.576534,33.167282],[102.576332,33.167232],[102.576163,33.167177],[102.576,33.167123],[102.575667,33.167014],[102.575304,33.166905],[102.574941,33.166795],[102.574924,33.166791],[102.57454,33.166683],[102.574155,33.166575],[102.57373,33.166477],[102.573306,33.166378],[102.572897,33.166281],[102.572487,33.166184],[102.572064,33.166073],[102.57164,33.165962],[102.5714,33.165829],[102.57116,33.165697],[102.570921,33.1655],[102.570683,33.165303],[102.57052,33.165121],[102.570358,33.164939],[102.570182,33.164562],[102.570007,33.164185],[102.569832,33.163808],[102.569654,33.163599],[102.569491,33.163443],[102.569328,33.163287],[102.569091,33.163052],[102.568971,33.162985],[102.568957,33.162966],[102.568761,33.162752],[102.568642,33.16252],[102.568386,33.16236],[102.568095,33.162253],[102.567803,33.162276],[102.567473,33.162475],[102.56722,33.162627],[102.567095,33.162717],[102.566923,33.16274],[102.566739,33.162675],[102.566643,33.162449],[102.566582,33.162157],[102.56656,33.16205],[102.56653,33.161747],[102.566352,33.161467],[102.566123,33.161203],[102.565929,33.16098],[102.565784,33.160751],[102.565638,33.160522],[102.565538,33.160194],[102.565437,33.159867],[102.565412,33.159784],[102.565341,33.159683],[102.565263,33.159611],[102.565132,33.159582],[102.564919,33.159593],[102.564811,33.1596],[102.56446,33.159641],[102.564234,33.159611],[102.564074,33.159492],[102.563901,33.159356],[102.563776,33.15926],[102.563663,33.159254],[102.563366,33.159272],[102.56314,33.15935],[102.562908,33.159308],[102.562673,33.159189],[102.562438,33.15907],[102.562075,33.158969],[102.561712,33.158868],[102.561357,33.158746],[102.56114,33.15882],[102.560923,33.158895],[102.560521,33.159091],[102.560242,33.159253],[102.559963,33.159414],[102.559649,33.159715],[102.559463,33.159852],[102.559277,33.15999],[102.559242,33.160013],[102.559043,33.160151],[102.559011,33.160174],[102.558809,33.160313],[102.558532,33.160423],[102.558254,33.160533],[102.557827,33.160601],[102.557477,33.160568],[102.557127,33.160536],[102.556896,33.160504],[102.556679,33.160385],[102.55656,33.160319],[102.55634,33.16026],[102.556013,33.160319],[102.555922,33.160351],[102.555757,33.160408],[102.555531,33.160485],[102.555305,33.160563],[102.555011,33.160674],[102.554717,33.160785],[102.554423,33.160896],[102.554187,33.160986],[102.553848,33.161152],[102.553616,33.161164],[102.553431,33.161099],[102.553211,33.160956],[102.553033,33.160664],[102.552955,33.160441],[102.552878,33.160218],[102.552747,33.160099],[102.552609,33.160041],[102.55242,33.159962],[102.552345,33.159906],[102.552182,33.159784],[102.551926,33.159605],[102.551629,33.159397],[102.551492,33.159189],[102.55132,33.158817],[102.551147,33.158445],[102.550992,33.158083],[102.550927,33.157904],[102.550772,33.15772],[102.550736,33.157565],[102.550593,33.157486],[102.550201,33.15727],[102.549809,33.157053],[102.549613,33.156946],[102.549464,33.156964],[102.549291,33.156845],[102.548928,33.15675],[102.548637,33.156673],[102.548593,33.156656],[102.548256,33.15653],[102.548051,33.156408],[102.547846,33.156286],[102.547542,33.156012],[102.547358,33.155825],[102.547173,33.155638],[102.546878,33.155473],[102.546582,33.155308],[102.546477,33.155227],[102.546251,33.154864],[102.54621,33.154692],[102.546073,33.154507],[102.546002,33.154377],[102.545906,33.15418],[102.545847,33.153948],[102.545834,33.153855],[102.545787,33.153512],[102.54574,33.153169],[102.545752,33.152824],[102.545829,33.152527],[102.545829,33.152417],[102.545829,33.151993],[102.545829,33.151569],[102.545805,33.15142],[102.545696,33.151243],[102.54534,33.151018],[102.544948,33.150856],[102.544624,33.150778],[102.544374,33.150752],[102.544223,33.150736],[102.543946,33.150706],[102.54367,33.150677],[102.543414,33.150629],[102.543301,33.150558],[102.543174,33.150431],[102.543075,33.150332],[102.542849,33.150308],[102.542726,33.150324],[102.542533,33.150349],[102.542233,33.150445],[102.541933,33.15054],[102.541671,33.150546],[102.541377,33.15046],[102.541084,33.150375],[102.54079,33.15029],[102.540416,33.150236],[102.539987,33.150254],[102.539583,33.150314],[102.539268,33.150465],[102.538952,33.150617],[102.538875,33.150666],[102.538562,33.150864],[102.538248,33.151062],[102.537935,33.151259],[102.537656,33.151518],[102.537376,33.151777],[102.537351,33.151829],[102.537215,33.15211],[102.536971,33.152259],[102.536626,33.15239],[102.5365,33.15241],[102.536186,33.152461],[102.535832,33.152717],[102.535478,33.152973],[102.535303,33.153139],[102.535127,33.153306],[102.534954,33.153376],[102.534878,33.153407],[102.534741,33.153413],[102.534574,33.153365],[102.534342,33.153234],[102.534166,33.153212],[102.533994,33.153216],[102.533704,33.153223],[102.533606,33.153207],[102.533491,33.153211],[102.533242,33.153258],[102.532992,33.153306],[102.532778,33.153246],[102.53254,33.153145],[102.532236,33.153115],[102.532187,33.153119],[102.531964,33.153136],[102.531921,33.153139],[102.53186,33.153156],[102.531522,33.153246],[102.531195,33.153425],[102.530868,33.153603],[102.530621,33.153779],[102.530374,33.153955],[102.530136,33.154096],[102.529898,33.154236],[102.529897,33.154236],[102.529896,33.154237],[102.529638,33.154324],[102.529381,33.154412],[102.529149,33.154501],[102.528917,33.154589],[102.528662,33.154584],[102.528407,33.154579],[102.52811,33.154523],[102.527814,33.154467],[102.527551,33.154147],[102.527482,33.153881],[102.527413,33.153615],[102.527356,33.15322],[102.527299,33.152826],[102.527212,33.152588],[102.527125,33.15235],[102.526877,33.152031],[102.526764,33.151885],[102.526764,33.151885],[102.526763,33.151884],[102.526361,33.151698],[102.525958,33.151511],[102.525559,33.151403],[102.525159,33.151295],[102.52476,33.151187],[102.52445,33.15109],[102.524141,33.150993],[102.523832,33.150897],[102.523523,33.150786],[102.523215,33.150675],[102.522906,33.150563],[102.522716,33.150352],[102.522527,33.150141],[102.522457,33.149911],[102.522387,33.14968],[102.522402,33.149428],[102.522432,33.14909],[102.522462,33.148753],[102.522492,33.148416],[102.522546,33.148071],[102.522582,33.147785],[102.522617,33.1475],[102.52257,33.147238],[102.522522,33.146976],[102.522445,33.146759],[102.522368,33.146542],[102.522198,33.14626],[102.522028,33.145977],[102.521922,33.145791],[102.521755,33.1455],[102.521588,33.14521],[102.521474,33.144993],[102.521309,33.14468],[102.52113,33.144347],[102.520934,33.144062],[102.520708,33.143913],[102.520342,33.14372],[102.519976,33.143526],[102.519792,33.143306],[102.51972,33.143003],[102.519688,33.14278],[102.519655,33.142557],[102.519697,33.14211],[102.519738,33.141664],[102.51978,33.141218],[102.519756,33.140921],[102.519738,33.14065],[102.51972,33.140378],[102.519628,33.140072],[102.519616,33.140031],[102.519536,33.139765],[102.519278,33.139469],[102.51902,33.139173],[102.518762,33.138877],[102.518428,33.138656],[102.518161,33.138479],[102.517893,33.138301],[102.51748,33.138193],[102.517066,33.138085],[102.516768,33.138017],[102.516469,33.137949],[102.516171,33.137881],[102.516062,33.137847],[102.51606,33.137846],[102.516058,33.137846],[102.515742,33.137718],[102.515425,33.137589],[102.515211,33.137471],[102.514914,33.137195],[102.514616,33.136919],[102.514319,33.136644],[102.514105,33.136352],[102.514004,33.136025],[102.513962,33.135686],[102.513994,33.135377],[102.514026,33.135067],[102.514057,33.134758],[102.514016,33.134356],[102.513974,33.133955],[102.513967,33.133598],[102.51396,33.13324],[102.513956,33.133063],[102.513909,33.132694],[102.513825,33.132414],[102.513647,33.132081],[102.513638,33.132068],[102.513467,33.131822],[102.513296,33.131575],[102.513128,33.13137],[102.512961,33.131164],[102.512774,33.130934],[102.512517,33.130618],[102.512344,33.13035],[102.512172,33.130082],[102.511975,33.129847],[102.511779,33.129612],[102.511603,33.129458],[102.511428,33.129303],[102.511285,33.129],[102.511249,33.12875],[102.511291,33.128339],[102.511398,33.128066],[102.511505,33.127792],[102.511624,33.127572],[102.511725,33.127167],[102.511535,33.126906],[102.511336,33.1267],[102.511136,33.126495],[102.510904,33.126311],[102.510672,33.126126],[102.51039,33.125988],[102.510108,33.12585],[102.509766,33.125682],[102.509423,33.125514],[102.509106,33.125397],[102.508789,33.12528],[102.508471,33.125163],[102.508125,33.125022],[102.507778,33.124881],[102.507431,33.12474],[102.507129,33.124617],[102.506828,33.124494],[102.506526,33.124372],[102.506187,33.124215],[102.505848,33.124058],[102.505509,33.123902],[102.505268,33.123795],[102.505027,33.123687],[102.5047,33.123497],[102.504495,33.123334],[102.50429,33.12317],[102.504052,33.12298],[102.503703,33.122823],[102.503354,33.122666],[102.503005,33.12251],[102.502658,33.122361],[102.502311,33.122212],[102.501964,33.122064],[102.501658,33.121951],[102.501353,33.121838],[102.501252,33.121786],[102.500924,33.121574],[102.500596,33.121363],[102.500267,33.121151],[102.500176,33.121076],[102.499831,33.120791],[102.499486,33.120506],[102.499217,33.120271],[102.49892,33.120013],[102.498622,33.119754],[102.498325,33.119495],[102.498023,33.119332],[102.497722,33.119168],[102.49742,33.119005],[102.497119,33.118841],[102.496763,33.118629],[102.496408,33.118417],[102.496367,33.118384],[102.496163,33.118132],[102.495959,33.117879],[102.495715,33.117543],[102.495556,33.117185],[102.495507,33.116937],[102.495457,33.11669],[102.49546,33.116438],[102.495462,33.116185],[102.495465,33.115933],[102.495467,33.115681],[102.49547,33.115428],[102.495472,33.115176],[102.495511,33.114799],[102.495507,33.114697],[102.495495,33.114396],[102.495459,33.114135],[102.495424,33.113874],[102.495366,33.113448],[102.495308,33.113021],[102.49537,33.112809],[102.495404,33.112597],[102.495556,33.112221],[102.495763,33.11187],[102.495911,33.111613],[102.496002,33.111379],[102.496041,33.111001],[102.496019,33.110811],[102.495996,33.110679],[102.495994,33.110668],[102.495944,33.110455],[102.495767,33.110205],[102.49559,33.109955],[102.495497,33.109728],[102.495404,33.109501],[102.495304,33.109074],[102.495258,33.108695],[102.495271,33.108269],[102.49528,33.107914],[102.495289,33.107608],[102.495325,33.107324],[102.495449,33.106948],[102.495455,33.106711],[102.495376,33.106497],[102.495187,33.106233],[102.494911,33.106038],[102.494578,33.105889],[102.494342,33.105766],[102.494106,33.105644],[102.493787,33.105495],[102.493467,33.105347],[102.493204,33.105188],[102.492942,33.105029],[102.492763,33.104871],[102.492584,33.104714],[102.492338,33.104449],[102.492327,33.104204],[102.492315,33.103958],[102.4923,33.103509],[102.492211,33.103242],[102.492196,33.1032],[102.492093,33.10289],[102.491899,33.102744],[102.491851,33.102722],[102.491622,33.10262],[102.491491,33.102592],[102.491383,33.102569],[102.491259,33.102542],[102.491191,33.102499],[102.49112,33.102454],[102.491065,33.102419],[102.491054,33.102412],[102.490871,33.102297],[102.490655,33.101938],[102.490592,33.1017],[102.490528,33.101462],[102.49051,33.101411],[102.490484,33.10134],[102.490424,33.101177],[102.49018,33.100864],[102.489877,33.100621],[102.489517,33.100425],[102.489302,33.100357],[102.489196,33.100324],[102.489086,33.100289],[102.488875,33.100223],[102.488608,33.100194],[102.488341,33.100165],[102.488232,33.100168],[102.488185,33.10017],[102.488102,33.100172],[102.488087,33.100173],[102.487862,33.100179],[102.487814,33.100203],[102.487785,33.100218],[102.487591,33.100315],[102.487457,33.100383],[102.48732,33.100452],[102.487115,33.100731],[102.486944,33.100964],[102.486909,33.101011],[102.486705,33.101256],[102.486502,33.1015],[102.486273,33.101613],[102.486079,33.101539],[102.486032,33.101437],[102.485974,33.101313],[102.485945,33.101251],[102.485955,33.100897],[102.486053,33.100497],[102.486156,33.100286],[102.486157,33.100285],[102.486158,33.100284],[102.486241,33.100115],[102.48626,33.100075],[102.48632,33.099937],[102.486356,33.099852],[102.486451,33.09963],[102.486547,33.099407],[102.486642,33.099184],[102.486738,33.098961],[102.486834,33.098739],[102.486945,33.098511],[102.487057,33.098284],[102.487169,33.098057],[102.487281,33.09783],[102.487288,33.097592],[102.487212,33.097284],[102.487136,33.096998],[102.487059,33.096713],[102.486952,33.09651],[102.486846,33.096307],[102.486683,33.09609],[102.48652,33.095874],[102.486371,33.095694],[102.486221,33.095513],[102.486034,33.095155],[102.48599,33.094752],[102.485997,33.094492],[102.486004,33.094232],[102.486044,33.09383],[102.486112,33.093405],[102.486189,33.093171],[102.486266,33.092936],[102.486417,33.09256],[102.486569,33.092184],[102.486661,33.091925],[102.486674,33.091501],[102.486593,33.09131],[102.486406,33.090935],[102.486299,33.09072],[102.486193,33.090505],[102.486058,33.09029],[102.485924,33.090074],[102.485803,33.089882],[102.485682,33.08969],[102.485561,33.089464],[102.485518,33.089381],[102.485472,33.089294],[102.485441,33.089237],[102.485391,33.089011],[102.485382,33.08897],[102.485374,33.088931]]]]},"properties":{"cp":[102.6838973693402,33.13732598840634],"code":"513233204","name":"瓦切镇","level":"street","center":[102.6838973693402,33.13732598840634],"fullCode":"513233204000","fullName":"四川省阿坝藏族羌族自治州红原县瓦切镇","acreageMu":1486490.28,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.669,33.2578]}},{"id":"513233205","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.615039,32.961439],[102.615041,32.961423],[102.61506,32.961253],[102.615113,32.960767],[102.615237,32.959638],[102.615775,32.958729],[102.615969,32.958606],[102.616157,32.958487],[102.61641,32.958327],[102.616466,32.958292],[102.616657,32.958171],[102.616683,32.958155],[102.616813,32.958071],[102.616773,32.957989],[102.61714,32.957866],[102.617603,32.957574],[102.61982,32.956263],[102.620567,32.955685],[102.621524,32.954943],[102.622672,32.953755],[102.62291,32.953509],[102.623137,32.953362],[102.623227,32.953304],[102.62369,32.953007],[102.623828,32.952861],[102.623952,32.952768],[102.624102,32.95268],[102.624407,32.952583],[102.624521,32.952567],[102.624575,32.952549],[102.624634,32.95253],[102.624718,32.952503],[102.624784,32.952481],[102.624898,32.952443],[102.624993,32.952412],[102.625048,32.952413],[102.625092,32.952414],[102.625819,32.952428],[102.625966,32.95243],[102.626001,32.952431],[102.62601,32.952431],[102.626055,32.952432],[102.626411,32.952439],[102.626533,32.952441],[102.628126,32.95285],[102.629362,32.95283],[102.629667,32.952825],[102.629867,32.952653],[102.630014,32.952525],[102.630043,32.952501],[102.630072,32.952476],[102.630581,32.952036],[102.630586,32.952031],[102.631193,32.951022],[102.631212,32.950989],[102.631325,32.950801],[102.631305,32.95058],[102.631292,32.950435],[102.631289,32.950407],[102.631281,32.950321],[102.631268,32.950179],[102.631261,32.950096],[102.631253,32.950011],[102.631239,32.949864],[102.631226,32.949717],[102.631147,32.949632],[102.631026,32.949501],[102.630945,32.949414],[102.630797,32.949254],[102.630717,32.949168],[102.630664,32.949111],[102.630559,32.949094],[102.630223,32.94904],[102.630073,32.949016],[102.629896,32.948988],[102.629789,32.94897],[102.629708,32.948958],[102.629671,32.948952],[102.62965,32.948949],[102.629514,32.948927],[102.629305,32.949017],[102.629284,32.949026],[102.629275,32.949029],[102.629149,32.949084],[102.629124,32.949091],[102.629128,32.949072],[102.629128,32.949052],[102.629128,32.94903],[102.629132,32.94902],[102.62915,32.949005],[102.629183,32.948969],[102.629237,32.948921],[102.629284,32.948885],[102.62931,32.948845],[102.629287,32.948833],[102.629242,32.94884],[102.62918,32.948888],[102.629121,32.948941],[102.629036,32.948996],[102.628909,32.949071],[102.628805,32.949141],[102.628718,32.949208],[102.628679,32.949261],[102.628679,32.949286],[102.62867,32.94929],[102.627807,32.949785],[102.627695,32.949759],[102.627607,32.949758],[102.627511,32.949803],[102.627333,32.949871],[102.627195,32.949893],[102.627028,32.949901],[102.626858,32.949902],[102.626711,32.949872],[102.626617,32.949834],[102.626523,32.949756],[102.626241,32.949485],[102.62597,32.949274],[102.625912,32.949199],[102.625857,32.949129],[102.625849,32.949119],[102.625835,32.949102],[102.625803,32.949061],[102.625727,32.948963],[102.625684,32.948907],[102.625731,32.948804],[102.625736,32.948794],[102.625673,32.948727],[102.625545,32.948604],[102.625474,32.948537],[102.625371,32.948488],[102.625351,32.948476],[102.625221,32.948308],[102.624921,32.94792],[102.624661,32.947719],[102.624519,32.94761],[102.624337,32.947469],[102.62409,32.947278],[102.6239,32.947298],[102.623772,32.947322],[102.623654,32.947338],[102.623541,32.947333],[102.623575,32.947311],[102.623661,32.947282],[102.623752,32.947253],[102.623829,32.94723],[102.623969,32.947185],[102.62395,32.94717],[102.623915,32.947143],[102.623865,32.947114],[102.623832,32.947094],[102.623569,32.946939],[102.62325,32.946751],[102.622588,32.94636],[102.622215,32.94592],[102.622203,32.945672],[102.6222,32.945615],[102.622184,32.94527],[102.622188,32.945178],[102.622282,32.945131],[102.622399,32.94504],[102.622461,32.944995],[102.62253,32.944946],[102.622554,32.944902],[102.622627,32.944914],[102.624358,32.944947],[102.624897,32.944973],[102.624921,32.944974],[102.624962,32.944976],[102.625021,32.944979],[102.6252,32.944988],[102.625312,32.944994],[102.625517,32.945004],[102.625704,32.945013],[102.625829,32.945011],[102.625877,32.945011],[102.626547,32.945002],[102.626715,32.944999],[102.626771,32.944999],[102.626956,32.944996],[102.627475,32.944827],[102.627538,32.944807],[102.627781,32.944728],[102.627788,32.944485],[102.627799,32.944073],[102.6278,32.944038],[102.6278,32.94398],[102.627805,32.943247],[102.627806,32.943155],[102.627807,32.942856],[102.627808,32.94282],[102.627809,32.94268],[102.62781,32.942466],[102.62781,32.942438],[102.627811,32.942347],[102.627815,32.941644],[102.627778,32.941492],[102.627763,32.941406],[102.627746,32.941325],[102.627734,32.941265],[102.627706,32.941115],[102.627707,32.941113],[102.627744,32.94106],[102.627748,32.941041],[102.627755,32.941008],[102.627766,32.94096],[102.627786,32.940914],[102.627817,32.940889],[102.627836,32.940881],[102.627841,32.940702],[102.627853,32.940184],[102.627855,32.940176],[102.627857,32.940081],[102.627863,32.93986],[102.627846,32.939758],[102.627841,32.939733],[102.627815,32.93958],[102.627797,32.939471],[102.627788,32.939417],[102.627655,32.938638],[102.627586,32.938556],[102.627572,32.938538],[102.627485,32.938434],[102.62737,32.938296],[102.627091,32.937961],[102.627068,32.937934],[102.627002,32.937855],[102.626862,32.937789],[102.626004,32.937389],[102.625218,32.937134],[102.625103,32.937156],[102.62506,32.937158],[102.624961,32.937152],[102.624854,32.937123],[102.624805,32.937105],[102.624752,32.937074],[102.624729,32.936978],[102.623426,32.93661],[102.623307,32.936597],[102.622872,32.936552],[102.622375,32.936501],[102.62226,32.936489],[102.621987,32.936461],[102.621837,32.936446],[102.620499,32.936311],[102.620468,32.936312],[102.620401,32.936314],[102.620007,32.936327],[102.618958,32.936362],[102.618905,32.936357],[102.617919,32.936263],[102.617902,32.936261],[102.617001,32.935757],[102.616202,32.934903],[102.616183,32.934882],[102.616112,32.934807],[102.616086,32.933994],[102.616977,32.933038],[102.617518,32.933099],[102.617755,32.933125],[102.617769,32.933127],[102.617902,32.933142],[102.618273,32.933184],[102.618315,32.933188],[102.618538,32.933206],[102.618546,32.933207],[102.619521,32.933289],[102.619924,32.933347],[102.620041,32.933364],[102.620127,32.933377],[102.620815,32.933476],[102.621431,32.933512],[102.621677,32.933527],[102.621682,32.933559],[102.621699,32.933675],[102.621698,32.93368],[102.621696,32.93369],[102.621693,32.933708],[102.621769,32.93371],[102.621854,32.933686],[102.621881,32.933675],[102.621992,32.933632],[102.622146,32.933591],[102.622308,32.933513],[102.622452,32.933447],[102.622607,32.933378],[102.622749,32.933313],[102.622869,32.933262],[102.622959,32.933214],[102.623006,32.933178],[102.623085,32.933154],[102.623205,32.933127],[102.623314,32.933071],[102.623394,32.933046],[102.62347,32.932992],[102.623547,32.932913],[102.623691,32.932796],[102.623785,32.932719],[102.623863,32.932619],[102.623915,32.932574],[102.624021,32.932543],[102.624131,32.932516],[102.624212,32.932505],[102.62425,32.932496],[102.624268,32.932451],[102.624296,32.932367],[102.624322,32.932275],[102.62434,32.932118],[102.624352,32.932108],[102.624417,32.932049],[102.624694,32.931801],[102.62483,32.931679],[102.624812,32.931628],[102.624823,32.931597],[102.624853,32.931583],[102.624893,32.931572],[102.624945,32.931545],[102.62497,32.931512],[102.624988,32.931461],[102.624994,32.931421],[102.625017,32.931375],[102.625046,32.931365],[102.625083,32.931365],[102.625159,32.931349],[102.625181,32.931332],[102.625195,32.931307],[102.625206,32.931274],[102.625206,32.931252],[102.625197,32.931232],[102.625169,32.931228],[102.625177,32.931215],[102.625332,32.930966],[102.625345,32.930946],[102.625524,32.93066],[102.625606,32.930529],[102.625621,32.930505],[102.625668,32.93043],[102.625868,32.930111],[102.626012,32.929882],[102.626642,32.929153],[102.626655,32.929138],[102.626676,32.929114],[102.626806,32.928964],[102.627594,32.928481],[102.627833,32.928334],[102.628244,32.927368],[102.62809,32.926724],[102.628072,32.926649],[102.628035,32.926495],[102.627952,32.926149],[102.627941,32.926104],[102.627842,32.925932],[102.627826,32.925905],[102.627822,32.925898],[102.627717,32.925716],[102.627565,32.925452],[102.627544,32.925416],[102.627509,32.925355],[102.627443,32.925242],[102.62737,32.925116],[102.62724,32.924891],[102.627204,32.924827],[102.627159,32.92475],[102.627123,32.924718],[102.626866,32.924491],[102.626683,32.92433],[102.626609,32.924265],[102.626462,32.924135],[102.626306,32.923997],[102.626219,32.92392],[102.626133,32.923866],[102.625869,32.923702],[102.625858,32.923709],[102.625821,32.923754],[102.625802,32.923772],[102.625774,32.923775],[102.625746,32.923751],[102.625732,32.923722],[102.625703,32.92369],[102.625661,32.923676],[102.625633,32.923653],[102.625586,32.923629],[102.62553,32.923609],[102.625475,32.923596],[102.625424,32.923582],[102.625375,32.923548],[102.625368,32.923522],[102.625361,32.923485],[102.625316,32.923467],[102.625238,32.923459],[102.625196,32.923452],[102.625141,32.923431],[102.625101,32.923415],[102.625048,32.923421],[102.624994,32.923441],[102.624965,32.923437],[102.624953,32.923416],[102.624956,32.923393],[102.624992,32.923371],[102.625042,32.923351],[102.625088,32.923338],[102.625125,32.923322],[102.625135,32.923302],[102.625123,32.923279],[102.625064,32.923265],[102.624911,32.923211],[102.624853,32.923176],[102.62479,32.923129],[102.624716,32.923072],[102.624547,32.922905],[102.624522,32.922893],[102.62437,32.922788],[102.624427,32.922741],[102.624406,32.922721],[102.624385,32.922701],[102.62438,32.922696],[102.62423,32.922553],[102.62413,32.922457],[102.623484,32.921839],[102.622876,32.921123],[102.622695,32.920909],[102.6226,32.920797],[102.622552,32.92074],[102.622518,32.920701],[102.622504,32.920684],[102.622472,32.920638],[102.622378,32.920501],[102.622343,32.92045],[102.622252,32.920318],[102.622187,32.920224],[102.622164,32.92019],[102.622167,32.919965],[102.622119,32.919923],[102.62206,32.91986],[102.622022,32.919816],[102.622121,32.919364],[102.622252,32.918768],[102.622264,32.91871],[102.622268,32.918691],[102.622344,32.918642],[102.622456,32.91857],[102.622537,32.918518],[102.622575,32.918494],[102.622727,32.918396],[102.623325,32.91801],[102.624304,32.91738],[102.624471,32.917272],[102.624972,32.916551],[102.625006,32.916494],[102.625056,32.91641],[102.625147,32.916259],[102.625475,32.915709],[102.626131,32.914873],[102.62621,32.914864],[102.626231,32.91482],[102.626316,32.914762],[102.626331,32.914751],[102.626464,32.914602],[102.62657,32.914466],[102.626826,32.914228],[102.627014,32.914039],[102.627174,32.913921],[102.627188,32.913927],[102.627293,32.913989],[102.6273,32.913985],[102.62732,32.913971],[102.627406,32.913915],[102.627409,32.913899],[102.627408,32.913845],[102.627407,32.913819],[102.627407,32.913805],[102.627403,32.913797],[102.627386,32.913787],[102.627359,32.913775],[102.627343,32.913764],[102.627329,32.913749],[102.627312,32.913727],[102.627311,32.913725],[102.627301,32.913705],[102.627296,32.913693],[102.627294,32.913681],[102.627293,32.913665],[102.627293,32.913637],[102.627372,32.913652],[102.627486,32.913682],[102.627566,32.913712],[102.627622,32.913737],[102.627673,32.913766],[102.627717,32.913797],[102.627757,32.913764],[102.627804,32.913724],[102.627857,32.913679],[102.627826,32.913638],[102.627938,32.913564],[102.628346,32.913364],[102.628357,32.913358],[102.628468,32.913304],[102.628729,32.913174],[102.629248,32.912921],[102.629346,32.912872],[102.629352,32.912869],[102.629619,32.912738],[102.630083,32.91251],[102.630222,32.912471],[102.630646,32.912353],[102.63074,32.912327],[102.63089,32.912285],[102.63096,32.912265],[102.631066,32.912236],[102.631528,32.912107],[102.631709,32.912057],[102.632098,32.911948],[102.632122,32.911942],[102.632265,32.911902],[102.632352,32.911849],[102.632554,32.911727],[102.63295,32.911488],[102.633064,32.911482],[102.633099,32.911405],[102.633161,32.911223],[102.633158,32.911157],[102.633459,32.910423],[102.633451,32.909577],[102.633448,32.909315],[102.633446,32.909084],[102.633672,32.908455],[102.633697,32.908384],[102.633706,32.908358],[102.633669,32.908378],[102.633673,32.90837],[102.63376,32.908214],[102.633982,32.908013],[102.634106,32.907965],[102.634151,32.907921],[102.634259,32.907906],[102.634405,32.907885],[102.634408,32.907894],[102.634425,32.907924],[102.63444,32.907938],[102.63451,32.907935],[102.634578,32.90792],[102.634622,32.90792],[102.634669,32.907916],[102.634725,32.907908],[102.634773,32.907902],[102.63481,32.907899],[102.634866,32.90789],[102.634881,32.90788],[102.634845,32.907863],[102.634825,32.907857],[102.634803,32.907842],[102.6348,32.907831],[102.634893,32.907818],[102.634924,32.907813],[102.635186,32.907955],[102.635295,32.908014],[102.635437,32.90806],[102.635548,32.908071],[102.635648,32.908099],[102.635734,32.908135],[102.635777,32.908162],[102.635831,32.908216],[102.635759,32.908208],[102.635631,32.908196],[102.636014,32.908402],[102.636056,32.908415],[102.636157,32.908447],[102.636298,32.908491],[102.636569,32.908575],[102.636573,32.908576],[102.637189,32.908768],[102.637197,32.90877],[102.6372,32.908772],[102.637379,32.908827],[102.637467,32.908792],[102.637512,32.908781],[102.637542,32.908784],[102.637562,32.908815],[102.637562,32.90884],[102.637544,32.908877],[102.63776,32.908864],[102.637774,32.908863],[102.638553,32.908816],[102.638689,32.908634],[102.638712,32.908603],[102.638719,32.908595],[102.638775,32.908519],[102.63883,32.908446],[102.638818,32.908252],[102.638808,32.908094],[102.638816,32.907979],[102.638854,32.907902],[102.638858,32.907849],[102.638857,32.907807],[102.638875,32.907784],[102.638899,32.907758],[102.638926,32.907731],[102.638949,32.907703],[102.638974,32.907675],[102.638991,32.907659],[102.638979,32.90757],[102.638977,32.90756],[102.638906,32.907058],[102.638899,32.907013],[102.638848,32.906654],[102.638847,32.906642],[102.638846,32.906641],[102.63881,32.906386],[102.638776,32.906093],[102.638742,32.905803],[102.638736,32.905752],[102.638736,32.90575],[102.638653,32.905044],[102.638717,32.904836],[102.63872,32.904826],[102.638729,32.904799],[102.638725,32.904683],[102.638813,32.904022],[102.638917,32.903767],[102.639114,32.903378],[102.639166,32.903117],[102.639282,32.902909],[102.639399,32.90291],[102.639537,32.902585],[102.639571,32.902558],[102.639772,32.902395],[102.63978,32.902389],[102.640913,32.901475],[102.641605,32.901035],[102.64163,32.901019],[102.641649,32.901007],[102.641843,32.900884],[102.642057,32.900824],[102.642078,32.900818],[102.642113,32.900808],[102.6432,32.900504],[102.643417,32.900587],[102.643604,32.900659],[102.643616,32.900664],[102.643849,32.900753],[102.643867,32.90076],[102.644057,32.900946],[102.644144,32.901032],[102.644163,32.901051],[102.644176,32.901064],[102.644289,32.901174],[102.644939,32.902038],[102.645604,32.902375],[102.646228,32.902343],[102.646439,32.902333],[102.64648,32.90233],[102.64676,32.902316],[102.647604,32.901963],[102.64764,32.901948],[102.647781,32.901889],[102.647921,32.901721],[102.647949,32.901687],[102.647956,32.901679],[102.647988,32.90164],[102.648278,32.90129],[102.648493,32.900872],[102.64858,32.900704],[102.648589,32.900687],[102.648685,32.900502],[102.648717,32.900438],[102.648734,32.900406],[102.648746,32.900349],[102.64878,32.900186],[102.648955,32.899355],[102.648741,32.898383],[102.64874,32.898377],[102.648705,32.898318],[102.648697,32.898305],[102.648722,32.898283],[102.648726,32.898265],[102.648715,32.89824],[102.64869,32.898216],[102.648662,32.898199],[102.64862,32.898176],[102.648604,32.89815],[102.648575,32.8981],[102.648468,32.897922],[102.648421,32.897844],[102.648415,32.897833],[102.648333,32.897805],[102.648051,32.897713],[102.647969,32.897665],[102.64793,32.897624],[102.64786,32.897547],[102.647846,32.897512],[102.647823,32.897475],[102.647788,32.897445],[102.647752,32.897419],[102.647728,32.897394],[102.647717,32.897316],[102.647714,32.897294],[102.647879,32.896904],[102.647916,32.896819],[102.648151,32.89655],[102.648187,32.896508],[102.648212,32.89648],[102.64829,32.896338],[102.648418,32.896141],[102.648588,32.895963],[102.648795,32.895776],[102.649038,32.895568],[102.64909,32.895525],[102.649158,32.895495],[102.649227,32.895473],[102.649337,32.895435],[102.649552,32.895349],[102.649682,32.895287],[102.649687,32.895212],[102.649741,32.895177],[102.650277,32.894835],[102.650313,32.894808],[102.651363,32.894026],[102.651553,32.893885],[102.652916,32.893261],[102.65373,32.893353],[102.653779,32.893359],[102.654404,32.893727],[102.654774,32.893945],[102.654798,32.893966],[102.654896,32.894049],[102.654965,32.894054],[102.655054,32.894067],[102.655118,32.894094],[102.655163,32.894122],[102.655207,32.894169],[102.655241,32.89421],[102.655286,32.894246],[102.655358,32.894329],[102.655407,32.894417],[102.655436,32.894503],[102.655666,32.894697],[102.655688,32.894715],[102.655809,32.894817],[102.656172,32.895635],[102.65702,32.896301],[102.657266,32.89632],[102.657312,32.896324],[102.657283,32.896342],[102.657314,32.896348],[102.657345,32.896369],[102.657355,32.896381],[102.657375,32.896389],[102.657405,32.896396],[102.657512,32.896339],[102.657554,32.89631],[102.657595,32.896269],[102.657647,32.896223],[102.65768,32.896189],[102.657707,32.89615],[102.657719,32.896123],[102.657734,32.896075],[102.657742,32.896022],[102.657748,32.895951],[102.65776,32.895902],[102.657775,32.895842],[102.657791,32.89579],[102.657799,32.895756],[102.657788,32.895639],[102.657788,32.895596],[102.657781,32.895561],[102.657774,32.895521],[102.657763,32.89547],[102.657763,32.89542],[102.657769,32.895364],[102.657779,32.895304],[102.657807,32.895215],[102.657831,32.895167],[102.657837,32.895136],[102.657844,32.895084],[102.657853,32.895028],[102.657877,32.894944],[102.657896,32.894884],[102.657916,32.894839],[102.65794,32.894795],[102.657951,32.894777],[102.65794,32.894737],[102.657903,32.8946],[102.65772,32.893918],[102.657717,32.893906],[102.657666,32.893716],[102.657708,32.893378],[102.657727,32.89323],[102.658175,32.893014],[102.658214,32.892995],[102.659423,32.892734],[102.659453,32.892706],[102.660163,32.892018],[102.660845,32.891706],[102.661289,32.891693],[102.661711,32.891681],[102.662236,32.891849],[102.662522,32.89194],[102.662943,32.892394],[102.663252,32.89328],[102.663256,32.893293],[102.663256,32.893314],[102.663254,32.893365],[102.663282,32.893498],[102.663286,32.893564],[102.663283,32.89368],[102.663284,32.893795],[102.663309,32.893941],[102.663343,32.893988],[102.663323,32.89421],[102.66337,32.89451],[102.663371,32.89486],[102.663359,32.895057],[102.663396,32.895284],[102.663669,32.895898],[102.664223,32.89676],[102.664933,32.89722],[102.664967,32.897222],[102.664991,32.897223],[102.665116,32.897231],[102.665347,32.897244],[102.665707,32.897265],[102.665743,32.897268],[102.665941,32.897279],[102.666727,32.896685],[102.668332,32.895985],[102.668715,32.895839],[102.668775,32.895816],[102.668799,32.895807],[102.669116,32.895686],[102.669132,32.89568],[102.669277,32.895625],[102.66945,32.895559],[102.66958,32.895536],[102.66962,32.895528],[102.669704,32.895513],[102.670465,32.895375],[102.67052,32.895342],[102.670569,32.895312],[102.670716,32.895224],[102.671247,32.894903],[102.671862,32.894594],[102.671904,32.894503],[102.67193,32.894503],[102.671994,32.894497],[102.672181,32.894434],[102.672417,32.894316],[102.672699,32.894213],[102.673208,32.894028],[102.673582,32.893891],[102.673727,32.893784],[102.673732,32.89378],[102.673905,32.893652],[102.673934,32.893631],[102.67406,32.893538],[102.674171,32.893456],[102.674267,32.893385],[102.674244,32.893347],[102.674224,32.89325],[102.674259,32.893207],[102.674391,32.893184],[102.674546,32.89318],[102.67471,32.89306],[102.674932,32.893105],[102.674934,32.893105],[102.675121,32.893143],[102.675156,32.89315],[102.675214,32.893161],[102.67538,32.893194],[102.67542,32.893233],[102.675437,32.893248],[102.6766,32.894353],[102.67769,32.89476],[102.677699,32.894764],[102.677744,32.89478],[102.677992,32.89485],[102.678985,32.895128],[102.679132,32.895223],[102.67922,32.895247],[102.679411,32.895317],[102.679629,32.895423],[102.679745,32.895517],[102.679779,32.895555],[102.679814,32.895643],[102.67982,32.895665],[102.680026,32.895797],[102.680198,32.895948],[102.680475,32.896192],[102.68052,32.896233],[102.681483,32.897082],[102.682138,32.897476],[102.682161,32.89749],[102.682273,32.897558],[102.682409,32.89764],[102.682525,32.89771],[102.682605,32.89778],[102.682616,32.89779],[102.683137,32.898249],[102.683128,32.898592],[102.683182,32.898554],[102.683219,32.89852],[102.683253,32.898474],[102.683266,32.898424],[102.683302,32.898416],[102.683301,32.898442],[102.683301,32.89855],[102.683286,32.898632],[102.683259,32.898671],[102.683163,32.898703],[102.683124,32.898712],[102.683121,32.898865],[102.683117,32.898998],[102.683116,32.899033],[102.683115,32.89906],[102.683071,32.899073],[102.683051,32.899082],[102.683031,32.899093],[102.683013,32.899108],[102.682987,32.89914],[102.682675,32.899336],[102.682595,32.899352],[102.682578,32.899356],[102.682538,32.899364],[102.68195,32.899485],[102.681367,32.899717],[102.68106,32.9],[102.680776,32.900262],[102.680677,32.900354],[102.680458,32.900829],[102.680429,32.90089],[102.680419,32.900913],[102.680306,32.901158],[102.680333,32.90119],[102.680348,32.901209],[102.680387,32.901265],[102.680397,32.901294],[102.680399,32.901325],[102.680397,32.90136],[102.68039,32.9014],[102.680548,32.901609],[102.681053,32.901841],[102.681107,32.901866],[102.681351,32.901978],[102.681595,32.90209],[102.682116,32.902328],[102.683152,32.9032],[102.683054,32.903717],[102.683052,32.903728],[102.682995,32.904034],[102.682939,32.904074],[102.682898,32.904094],[102.68285,32.904113],[102.682817,32.904128],[102.682796,32.904149],[102.68277,32.904196],[102.682647,32.904257],[102.682643,32.904259],[102.681571,32.904794],[102.681325,32.905214],[102.681288,32.905277],[102.681218,32.905396],[102.681343,32.906169],[102.68191,32.906545],[102.682449,32.906578],[102.682606,32.906587],[102.682777,32.906597],[102.682784,32.906598],[102.682832,32.906601],[102.682871,32.906603],[102.683042,32.906606],[102.683315,32.906611],[102.683784,32.90662],[102.683806,32.906623],[102.684065,32.906654],[102.684176,32.906668],[102.684588,32.906717],[102.684669,32.906727],[102.685024,32.90677],[102.685174,32.906788],[102.685367,32.906812],[102.685487,32.906818],[102.68578,32.906834],[102.685877,32.906839],[102.686487,32.906872],[102.68652,32.906874],[102.686622,32.906833],[102.686633,32.906829],[102.686929,32.90671],[102.686953,32.906701],[102.687006,32.90668],[102.688349,32.906826],[102.688397,32.906859],[102.688524,32.906942],[102.689484,32.907578],[102.689666,32.907732],[102.689737,32.907793],[102.689756,32.907809],[102.690044,32.908054],[102.690057,32.908066],[102.690442,32.908393],[102.690785,32.908684],[102.690849,32.908739],[102.691092,32.908822],[102.691436,32.908938],[102.691508,32.908962],[102.691524,32.908967],[102.691541,32.908973],[102.691632,32.909004],[102.691648,32.909009],[102.692375,32.909255],[102.694242,32.909614],[102.695183,32.90955],[102.69524,32.909546],[102.696122,32.909486],[102.697161,32.909169],[102.697536,32.909054],[102.697544,32.909051],[102.697625,32.909027],[102.697734,32.908993],[102.69829,32.90882],[102.698352,32.908801],[102.698446,32.908772],[102.698983,32.908605],[102.700235,32.908392],[102.700258,32.908388],[102.700469,32.908352],[102.700916,32.908276],[102.701927,32.907981],[102.702094,32.907932],[102.702106,32.907929],[102.702224,32.907894],[102.702512,32.907857],[102.703616,32.907717],[102.703656,32.907712],[102.703674,32.90771],[102.703898,32.907681],[102.704457,32.90761],[102.704478,32.907608],[102.704734,32.907575],[102.704856,32.907609],[102.70505,32.907662],[102.705442,32.907771],[102.705574,32.907808],[102.705833,32.907879],[102.705886,32.907918],[102.705893,32.907924],[102.706339,32.908251],[102.706367,32.908272],[102.706412,32.908304],[102.706683,32.908504],[102.707575,32.908692],[102.707646,32.908707],[102.707735,32.908726],[102.708094,32.908687],[102.708159,32.90868],[102.708216,32.908674],[102.708361,32.908658],[102.7087,32.908622],[102.709571,32.908435],[102.710292,32.908524],[102.710722,32.908578],[102.710755,32.908581],[102.710802,32.908622],[102.710956,32.908706],[102.71108,32.908821],[102.711279,32.908959],[102.711516,32.909092],[102.711733,32.909211],[102.711933,32.909306],[102.712116,32.909376],[102.712227,32.909408],[102.712252,32.909414],[102.712418,32.909461],[102.712609,32.909589],[102.712665,32.909666],[102.712776,32.909808],[102.712907,32.910053],[102.713413,32.910575],[102.713932,32.910911],[102.714123,32.911034],[102.714274,32.911047],[102.714299,32.911049],[102.714365,32.911054],[102.714747,32.911086],[102.71487,32.911103],[102.714956,32.911162],[102.715039,32.911186],[102.715117,32.911207],[102.715182,32.911236],[102.715254,32.911274],[102.715321,32.911309],[102.715372,32.911327],[102.715443,32.911336],[102.715582,32.911339],[102.715599,32.911339],[102.716182,32.911853],[102.716183,32.911854],[102.716218,32.911884],[102.716229,32.911912],[102.71643,32.912388],[102.716465,32.91247],[102.71658,32.912743],[102.71758,32.913167],[102.718304,32.913058],[102.71978,32.912873],[102.719994,32.912846],[102.720509,32.912563],[102.720696,32.91246],[102.721067,32.912257],[102.722416,32.911998],[102.722522,32.911978],[102.722528,32.911977],[102.722541,32.911974],[102.722608,32.911961],[102.722614,32.91196],[102.722804,32.912009],[102.722942,32.912045],[102.72308,32.91208],[102.723202,32.912112],[102.723754,32.912254],[102.72387,32.912284],[102.724068,32.912336],[102.724086,32.91234],[102.724443,32.912432],[102.724455,32.912436],[102.724466,32.912438],[102.724754,32.912513],[102.724813,32.912528],[102.724963,32.912605],[102.72498,32.912613],[102.724997,32.912622],[102.726047,32.913159],[102.726388,32.913223],[102.726459,32.913236],[102.726484,32.913241],[102.726503,32.913245],[102.726707,32.913283],[102.726669,32.913316],[102.726672,32.913328],[102.726683,32.913328],[102.726769,32.913295],[102.727005,32.913339],[102.727323,32.913157],[102.727329,32.913152],[102.727385,32.913042],[102.727519,32.912918],[102.727617,32.912821],[102.727718,32.912715],[102.7278,32.912634],[102.72786,32.9126],[102.727891,32.912583],[102.728089,32.912489],[102.728131,32.912471],[102.728178,32.912451],[102.728273,32.91241],[102.728318,32.91239],[102.728723,32.912359],[102.728853,32.912364],[102.728923,32.912373],[102.728956,32.912386],[102.729003,32.912416],[102.729104,32.912447],[102.729271,32.91247],[102.729416,32.912485],[102.729546,32.912448],[102.729624,32.912485],[102.72991,32.912621],[102.730192,32.913232],[102.730268,32.913397],[102.730317,32.913503],[102.730318,32.913505],[102.730393,32.913668],[102.730416,32.913718],[102.730457,32.913807],[102.730451,32.914056],[102.73045,32.914098],[102.730431,32.914821],[102.730604,32.915148],[102.730611,32.915197],[102.730646,32.915269],[102.730666,32.915328],[102.730692,32.915396],[102.73071,32.915442],[102.730742,32.915484],[102.730774,32.915564],[102.730825,32.915564],[102.730844,32.9156],[102.7311,32.915744],[102.731291,32.915851],[102.732131,32.916324],[102.732409,32.916481],[102.732834,32.917172],[102.732956,32.917371],[102.733084,32.91758],[102.733241,32.917835],[102.733385,32.91797],[102.733601,32.918174],[102.733813,32.918373],[102.733821,32.918381],[102.733962,32.918514],[102.734196,32.918751],[102.734407,32.918941],[102.734604,32.919118],[102.734786,32.919267],[102.734929,32.919384],[102.735104,32.919528],[102.735408,32.919777],[102.735575,32.919913],[102.735707,32.920021],[102.735922,32.920198],[102.736177,32.920407],[102.736439,32.920621],[102.73663,32.920778],[102.736807,32.920895],[102.736945,32.920987],[102.737116,32.921101],[102.737241,32.921184],[102.737408,32.921296],[102.737582,32.921412],[102.737763,32.921532],[102.737933,32.921646],[102.738081,32.921744],[102.73822,32.921837],[102.738326,32.921907],[102.738424,32.921973],[102.738578,32.922075],[102.738677,32.922141],[102.738759,32.922196],[102.738913,32.922291],[102.739069,32.922388],[102.73921,32.922475],[102.739349,32.922569],[102.739501,32.92266],[102.739661,32.922755],[102.739811,32.922848],[102.739923,32.922917],[102.740037,32.922988],[102.740175,32.923074],[102.740282,32.92314],[102.740368,32.923194],[102.74047,32.923257],[102.740621,32.923268],[102.740795,32.923289],[102.740974,32.92334],[102.74112,32.923392],[102.741241,32.923447],[102.74136,32.923474],[102.742381,32.923703],[102.742473,32.923724],[102.742664,32.923748],[102.742859,32.923772],[102.742902,32.923777],[102.742914,32.923778],[102.742972,32.923786],[102.743241,32.923819],[102.74332,32.923671],[102.743392,32.923538],[102.743306,32.923128],[102.743254,32.923076],[102.743238,32.923032],[102.74322,32.922971],[102.743208,32.92291],[102.743198,32.922843],[102.743198,32.922799],[102.743221,32.922724],[102.743266,32.922591],[102.743284,32.92251],[102.743288,32.922482],[102.743265,32.922461],[102.743185,32.922477],[102.743209,32.92233],[102.743253,32.922069],[102.743256,32.922054],[102.74328,32.921913],[102.743304,32.921767],[102.743312,32.921719],[102.74334,32.921553],[102.743591,32.921428],[102.743748,32.92135],[102.74378,32.921278],[102.743816,32.921258],[102.743884,32.921212],[102.744126,32.921157],[102.744397,32.92113],[102.744411,32.921129],[102.744895,32.921081],[102.744916,32.92106],[102.744943,32.921059],[102.744962,32.921075],[102.745525,32.92102],[102.746005,32.921121],[102.746019,32.921124],[102.746121,32.921145],[102.746329,32.921189],[102.746567,32.921239],[102.746578,32.921241],[102.747119,32.921684],[102.747138,32.9217],[102.747181,32.921783],[102.747305,32.922024],[102.747367,32.922131],[102.747411,32.922251],[102.747439,32.922325],[102.747439,32.922335],[102.747441,32.92239],[102.748182,32.922896],[102.748981,32.923567],[102.749043,32.92362],[102.749067,32.92364],[102.749539,32.923916],[102.75014,32.924268],[102.750821,32.924666],[102.750897,32.92471],[102.752718,32.925775],[102.753762,32.926362],[102.754013,32.926339],[102.754486,32.926294],[102.755005,32.926005],[102.75512,32.92594],[102.755324,32.925675],[102.755343,32.92565],[102.755767,32.9251],[102.755851,32.925049],[102.75694,32.92439],[102.757962,32.923922],[102.759033,32.923413],[102.760483,32.923155],[102.76197,32.923076],[102.763326,32.923003],[102.763664,32.922917],[102.763759,32.922893],[102.763859,32.922868],[102.765263,32.922511],[102.768211,32.921995],[102.768917,32.921832],[102.769064,32.921799],[102.770498,32.921468],[102.770824,32.921393],[102.771647,32.921183],[102.772644,32.92093],[102.772761,32.9209],[102.774166,32.920519],[102.774659,32.920528],[102.775261,32.920538],[102.775272,32.920539],[102.775292,32.920549],[102.775406,32.92053],[102.775565,32.920533],[102.775685,32.920557],[102.775724,32.920578],[102.775837,32.920637],[102.775953,32.920716],[102.77599,32.920763],[102.776038,32.920889],[102.776038,32.920923],[102.776003,32.920942],[102.776782,32.921742],[102.777396,32.9222],[102.778451,32.92234],[102.779793,32.922567],[102.780707,32.922543],[102.780821,32.922521],[102.780877,32.92251],[102.781004,32.922486],[102.781198,32.922448],[102.781227,32.922443],[102.781286,32.922431],[102.781674,32.922357],[102.781909,32.922218],[102.781916,32.922214],[102.782113,32.922097],[102.782407,32.921923],[102.783091,32.921058],[102.783102,32.921043],[102.783114,32.921025],[102.783167,32.92094],[102.783366,32.92062],[102.783454,32.920564],[102.783543,32.920473],[102.783617,32.920393],[102.783675,32.920321],[102.78412,32.920115],[102.784185,32.920084],[102.78422,32.920068],[102.784388,32.919977],[102.784709,32.919681],[102.785332,32.919338],[102.785571,32.919205],[102.785616,32.919177],[102.785818,32.919049],[102.785914,32.918988],[102.786003,32.918932],[102.786149,32.918839],[102.786208,32.918801],[102.786525,32.918546],[102.786551,32.918524],[102.78661,32.918476],[102.786756,32.918358],[102.787174,32.918127],[102.78726,32.918079],[102.787287,32.918051],[102.787318,32.917956],[102.787394,32.917881],[102.787617,32.917841],[102.787644,32.917837],[102.787859,32.917819],[102.787935,32.917821],[102.788048,32.917806],[102.788186,32.917746],[102.788313,32.917692],[102.788329,32.917688],[102.788463,32.917656],[102.788542,32.91766],[102.788644,32.917719],[102.788656,32.91774],[102.78886,32.917735],[102.789098,32.91773],[102.789228,32.917726],[102.789246,32.917726],[102.789323,32.917724],[102.789727,32.917693],[102.790093,32.91736],[102.790161,32.917035],[102.790185,32.91692],[102.790195,32.916871],[102.790195,32.916856],[102.790184,32.916358],[102.790176,32.915935],[102.790175,32.915889],[102.790168,32.915826],[102.790066,32.914868],[102.790069,32.914745],[102.790084,32.91414],[102.79009,32.913887],[102.790291,32.913022],[102.790959,32.912533],[102.791086,32.91244],[102.791095,32.912434],[102.791248,32.912322],[102.791313,32.912243],[102.791388,32.912299],[102.791459,32.912257],[102.791503,32.91218],[102.791515,32.912118],[102.791531,32.912086],[102.791561,32.912038],[102.791593,32.911993],[102.79161,32.911953],[102.791637,32.911851],[102.791772,32.911688],[102.791795,32.91166],[102.792171,32.911206],[102.79235,32.910484],[102.792381,32.91036],[102.792427,32.910174],[102.79243,32.91016],[102.792448,32.91009],[102.792451,32.910076],[102.792469,32.910003],[102.792499,32.909857],[102.792674,32.908987],[102.792659,32.908868],[102.792589,32.908296],[102.792588,32.908293],[102.792562,32.908079],[102.79258,32.907362],[102.792598,32.906607],[102.792311,32.905583],[102.792201,32.904599],[102.792147,32.904164],[102.79194,32.902481],[102.791918,32.901574],[102.791897,32.90063],[102.792016,32.899424],[102.792136,32.898708],[102.792174,32.898483],[102.792529,32.897642],[102.792982,32.896572],[102.793136,32.895782],[102.793334,32.894993],[102.793577,32.894242],[102.794106,32.892741],[102.794852,32.891546],[102.795242,32.890232],[102.795807,32.887297],[102.796124,32.88534],[102.795936,32.884076],[102.795932,32.884053],[102.795721,32.883558],[102.794845,32.882788],[102.794064,32.88183],[102.792755,32.880486],[102.792195,32.879607],[102.792015,32.87783],[102.791732,32.876617],[102.791887,32.875789],[102.791954,32.874884],[102.791453,32.873441],[102.790717,32.872446],[102.790649,32.871614],[102.790525,32.871394],[102.789877,32.870242],[102.78952,32.869795],[102.789357,32.869591],[102.788486,32.868632],[102.787961,32.868131],[102.787511,32.86784],[102.787497,32.867831],[102.787411,32.867776],[102.787402,32.86777],[102.787301,32.867705],[102.786635,32.867461],[102.78658,32.867441],[102.786548,32.867429],[102.786326,32.867347],[102.785864,32.867321],[102.785395,32.867294],[102.785388,32.867293],[102.784325,32.866859],[102.784121,32.866063],[102.784091,32.865458],[102.78402,32.864739],[102.783364,32.862349],[102.782933,32.859888],[102.782824,32.858867],[102.782848,32.857923],[102.782782,32.856978],[102.78237,32.855536],[102.781341,32.853782],[102.780965,32.852718],[102.780298,32.850743],[102.77869,32.848865],[102.778394,32.84818],[102.778601,32.847051],[102.77866,32.844711],[102.778935,32.840828],[102.779019,32.839244],[102.778864,32.838297],[102.778723,32.836784],[102.777969,32.834732],[102.777469,32.833251],[102.777068,32.831432],[102.776906,32.830668],[102.776818,32.830249],[102.776788,32.830105],[102.776835,32.829659],[102.776963,32.828447],[102.777092,32.8281],[102.77749,32.827022],[102.777562,32.825929],[102.777201,32.824299],[102.776928,32.822671],[102.776819,32.82165],[102.77715,32.820938],[102.778082,32.819407],[102.778698,32.818021],[102.778842,32.815834],[102.778791,32.814285],[102.778952,32.813193],[102.778714,32.811981],[102.778086,32.810271],[102.778451,32.808201],[102.778828,32.807415],[102.779383,32.80667],[102.779207,32.806553],[102.777841,32.805774],[102.774801,32.803983],[102.772867,32.802665],[102.771281,32.801731],[102.77063,32.800927],[102.769432,32.798791],[102.7685,32.796736],[102.767758,32.794231],[102.767846,32.792496],[102.768283,32.791107],[102.768401,32.789977],[102.768603,32.789036],[102.768283,32.783934],[102.766972,32.782778],[102.764572,32.780432],[102.76358,32.779018],[102.762794,32.778286],[102.762059,32.777292],[102.760564,32.776321],[102.759334,32.775469],[102.757893,32.774121],[102.757023,32.7732],[102.756686,32.772363],[102.756347,32.77164],[102.755127,32.77041],[102.753668,32.76978],[102.751567,32.769817],[102.749698,32.769482],[102.749676,32.769478],[102.749675,32.769477],[102.74874,32.769307],[102.748725,32.769304],[102.748457,32.769256],[102.748441,32.769253],[102.74832,32.769231],[102.747987,32.769127],[102.747886,32.769096],[102.747007,32.768823],[102.746988,32.768817],[102.746903,32.768791],[102.746896,32.768786],[102.746884,32.768778],[102.745408,32.767744],[102.743606,32.766541],[102.74239,32.76516],[102.740571,32.764057],[102.739106,32.763074],[102.738288,32.762456],[102.736213,32.762066],[102.734195,32.761778],[102.733005,32.761706],[102.732346,32.761845],[102.731268,32.762077],[102.729958,32.762053],[102.728347,32.762125],[102.726982,32.761949],[102.725669,32.762026],[102.723295,32.761681],[102.722461,32.761665],[102.721722,32.761859],[102.721562,32.761901],[102.721528,32.761909],[102.721535,32.761574],[102.721403,32.760994],[102.721183,32.760042],[102.721268,32.758641],[102.721303,32.758239],[102.721475,32.756253],[102.72146,32.754933],[102.721534,32.753945],[102.720966,32.753233],[102.720301,32.75252],[102.719211,32.751263],[102.719018,32.751013],[102.718502,32.750343],[102.717787,32.749711],[102.717373,32.748714],[102.717,32.748006],[102.71673,32.745239],[102.716646,32.743862],[102.716626,32.743546],[102.716983,32.73914],[102.717228,32.737165],[102.717499,32.736098],[102.717708,32.735566],[102.716965,32.734109],[102.716123,32.732691],[102.715777,32.730953],[102.714921,32.728174],[102.71461,32.727312],[102.714009,32.725642],[102.713869,32.723495],[102.713414,32.722209],[102.713119,32.720389],[102.712902,32.719354],[102.712407,32.717695],[102.711905,32.716367],[102.711114,32.714868],[102.710765,32.713253],[102.709942,32.711094],[102.709183,32.710255],[102.709519,32.70857],[102.710358,32.706276],[102.710897,32.705149],[102.711045,32.704072],[102.710474,32.703337],[102.710017,32.702332],[102.709341,32.701549],[102.708339,32.700897],[102.707656,32.700386],[102.706591,32.70014],[102.705215,32.699435],[102.704211,32.698918],[102.703359,32.698676],[102.702284,32.698838],[102.70224,32.698831],[102.701003,32.698633],[102.699845,32.697841],[102.69933,32.697017],[102.698919,32.696329],[102.698738,32.695012],[102.698869,32.694109],[102.698802,32.692522],[102.698076,32.691602],[102.696438,32.690711],[102.695055,32.690323],[102.693941,32.690213],[102.693933,32.690212],[102.693482,32.690181],[102.693023,32.69015],[102.691877,32.691413],[102.68777,32.695936],[102.687705,32.696008],[102.683759,32.700354],[102.68316,32.700868],[102.682445,32.701482],[102.681951,32.701906],[102.680319,32.702827],[102.678915,32.703254],[102.678,32.703419],[102.676411,32.70271],[102.675476,32.70156],[102.675466,32.701628],[102.675395,32.701302],[102.675186,32.700339],[102.675227,32.698736],[102.674756,32.696418],[102.674282,32.694228],[102.673717,32.692614],[102.67323,32.690937],[102.672292,32.689059],[102.671802,32.687511],[102.671464,32.685901],[102.671496,32.684682],[102.67192,32.682958],[102.672356,32.681203],[102.672635,32.680083],[102.672656,32.679999],[102.672682,32.679893],[102.673309,32.679135],[102.674451,32.678964],[102.67544,32.678854],[102.676287,32.679232],[102.67635,32.67926],[102.676639,32.67939],[102.678383,32.679422],[102.680135,32.679134],[102.681366,32.678451],[102.681637,32.678265],[102.681667,32.678244],[102.681706,32.678218],[102.681757,32.678183],[102.681831,32.678132],[102.682246,32.677847],[102.682241,32.677779],[102.682238,32.677683],[102.682263,32.677557],[102.682279,32.677463],[102.68229,32.677449],[102.682321,32.677414],[102.682326,32.677409],[102.682385,32.677355],[102.682413,32.677294],[102.682416,32.677278],[102.682431,32.677204],[102.68247,32.677154],[102.682618,32.677107],[102.682743,32.677065],[102.682844,32.677026],[102.682918,32.677014],[102.682963,32.677006],[102.683032,32.677005],[102.683093,32.677005],[102.683215,32.676868],[102.683384,32.676676],[102.683689,32.675608],[102.683601,32.675309],[102.683561,32.675298],[102.683283,32.675222],[102.68256,32.675187],[102.682356,32.675177],[102.682117,32.675122],[102.681991,32.67516],[102.681835,32.675168],[102.681748,32.675149],[102.681649,32.6751],[102.681521,32.675014],[102.681482,32.674975],[102.681411,32.674893],[102.681323,32.674784],[102.681159,32.674621],[102.681082,32.674508],[102.681038,32.674407],[102.681001,32.674262],[102.681076,32.673936],[102.681534,32.673566],[102.682123,32.673486],[102.68224,32.67347],[102.682334,32.673489],[102.683125,32.673646],[102.683294,32.673679],[102.683994,32.673692],[102.684191,32.67371],[102.684761,32.673761],[102.685199,32.673653],[102.685276,32.673635],[102.685326,32.673616],[102.685475,32.673561],[102.685527,32.673541],[102.68576,32.673454],[102.685769,32.673103],[102.685713,32.672804],[102.685395,32.672717],[102.684462,32.672916],[102.684081,32.672828],[102.683798,32.672606],[102.683765,32.672199],[102.683765,32.672191],[102.68375,32.67201],[102.68374,32.671985],[102.683692,32.67186],[102.683682,32.671834],[102.683669,32.671799],[102.683542,32.67147],[102.68354,32.671465],[102.683467,32.671388],[102.683452,32.671372],[102.683415,32.671332],[102.683073,32.670969],[102.682674,32.670861],[102.682626,32.670848],[102.682328,32.670767],[102.682315,32.670764],[102.68225,32.670765],[102.682149,32.670761],[102.682008,32.670744],[102.681933,32.670728],[102.681834,32.670695],[102.681696,32.670622],[102.681564,32.670516],[102.681539,32.670496],[102.681376,32.670362],[102.681293,32.670263],[102.681219,32.670179],[102.681207,32.670113],[102.681199,32.670106],[102.680891,32.669823],[102.680857,32.669791],[102.68084,32.669776],[102.680831,32.669767],[102.680707,32.669653],[102.680427,32.669351],[102.679888,32.669178],[102.67976,32.669138],[102.679442,32.669037],[102.679356,32.66901],[102.679342,32.669005],[102.679253,32.668977],[102.67908,32.668782],[102.678911,32.668592],[102.678699,32.668128],[102.678713,32.667587],[102.67855,32.666735],[102.678393,32.666535],[102.678355,32.666486],[102.678324,32.666447],[102.678085,32.66614],[102.678058,32.666133],[102.677949,32.666105],[102.677937,32.666103],[102.677703,32.666043],[102.67728,32.665935],[102.677243,32.665925],[102.677131,32.665897],[102.677008,32.665897],[102.676871,32.665897],[102.675732,32.6659],[102.675723,32.6659],[102.675556,32.6659],[102.675492,32.6659],[102.675141,32.665901],[102.675118,32.665901],[102.674944,32.665901],[102.674897,32.665896],[102.674869,32.665893],[102.674833,32.665856],[102.674781,32.665836],[102.674713,32.665832],[102.674644,32.665833],[102.674558,32.665833],[102.674498,32.665851],[102.674354,32.665835],[102.674347,32.665834],[102.674246,32.665823],[102.674038,32.665799],[102.6739,32.665784],[102.673508,32.665739],[102.673251,32.665666],[102.673228,32.665659],[102.6732,32.665651],[102.672814,32.66554],[102.672603,32.665479],[102.672538,32.6654],[102.672506,32.665382],[102.672453,32.665356],[102.672368,32.665317],[102.672287,32.665292],[102.672161,32.665199],[102.671979,32.665064],[102.671966,32.665055],[102.671874,32.664987],[102.671203,32.664118],[102.670967,32.663856],[102.670925,32.663809],[102.670858,32.663736],[102.67085,32.663727],[102.670729,32.663593],[102.670713,32.663575],[102.670581,32.663429],[102.67017,32.662835],[102.669943,32.662767],[102.669939,32.662765],[102.669852,32.662739],[102.669561,32.662815],[102.669047,32.66295],[102.668465,32.663198],[102.668238,32.663295],[102.667752,32.663338],[102.667533,32.663334],[102.667305,32.663349],[102.6669,32.66324],[102.666766,32.663204],[102.666715,32.66319],[102.665581,32.662885],[102.664943,32.662681],[102.664908,32.66267],[102.664897,32.662666],[102.664682,32.662598],[102.664653,32.662576],[102.664645,32.662571],[102.66456,32.662507],[102.664054,32.662135],[102.664002,32.661992],[102.663999,32.661985],[102.663952,32.661856],[102.663873,32.661639],[102.663914,32.66163],[102.663935,32.661619],[102.664063,32.661558],[102.664012,32.661519],[102.663976,32.661466],[102.663946,32.661403],[102.66393,32.661365],[102.663909,32.661314],[102.663901,32.661238],[102.664145,32.660693],[102.664301,32.660276],[102.664308,32.660258],[102.664328,32.660206],[102.664431,32.659931],[102.664496,32.659481],[102.664352,32.659195],[102.664291,32.659076],[102.664166,32.658972],[102.663957,32.658847],[102.663842,32.65881],[102.663774,32.658798],[102.663745,32.658782],[102.663392,32.658874],[102.663113,32.659534],[102.663051,32.65968],[102.662612,32.660168],[102.662547,32.660146],[102.662537,32.660143],[102.662515,32.660135],[102.662432,32.660107],[102.662423,32.660104],[102.662194,32.660027],[102.662165,32.660017],[102.662145,32.66001],[102.661976,32.659953],[102.661766,32.659881],[102.661715,32.659887],[102.661588,32.659901],[102.661071,32.659959],[102.66048,32.660083],[102.660468,32.660086],[102.660331,32.660115],[102.660263,32.660129],[102.660221,32.660138],[102.660115,32.66016],[102.659891,32.660207],[102.659854,32.660197],[102.658885,32.659918],[102.658876,32.659914],[102.658804,32.659884],[102.658717,32.659846],[102.65828,32.65966],[102.658154,32.659607],[102.657777,32.659446],[102.657708,32.659398],[102.657242,32.659078],[102.657165,32.658991],[102.656969,32.658771],[102.656384,32.658111],[102.6562,32.657822],[102.655813,32.657212],[102.655451,32.656865],[102.655442,32.656856],[102.655278,32.656699],[102.655095,32.65655],[102.655075,32.656533],[102.655036,32.656501],[102.655026,32.656493],[102.654896,32.656387],[102.654696,32.656224],[102.654614,32.656204],[102.654515,32.656123],[102.654352,32.656076],[102.654241,32.656052],[102.654197,32.656099],[102.654116,32.656229],[102.653911,32.656557],[102.65393,32.657544],[102.65393,32.657563],[102.653927,32.657591],[102.65391,32.657751],[102.65394,32.657765],[102.654034,32.657839],[102.654096,32.657886],[102.654141,32.657929],[102.654177,32.65799],[102.654189,32.658071],[102.654178,32.658126],[102.654139,32.658164],[102.654065,32.658218],[102.653984,32.658258],[102.65393,32.658313],[102.653873,32.658375],[102.653794,32.658421],[102.65373,32.658464],[102.65366,32.658502],[102.653657,32.658504],[102.653635,32.658509],[102.653568,32.658526],[102.653463,32.658536],[102.653388,32.658525],[102.653297,32.658495],[102.653215,32.658451],[102.653212,32.658448],[102.653197,32.658435],[102.653175,32.658414],[102.653146,32.658386],[102.653084,32.658345],[102.653027,32.658352],[102.652912,32.658365],[102.652811,32.658376],[102.652703,32.658389],[102.652586,32.658402],[102.6524,32.658423],[102.65181,32.658258],[102.651782,32.658126],[102.651773,32.658083],[102.651744,32.657942],[102.651729,32.65787],[102.651863,32.65769],[102.651868,32.657683],[102.651958,32.657562],[102.652013,32.657488],[102.652065,32.657399],[102.652131,32.657286],[102.652137,32.657275],[102.652146,32.65726],[102.652178,32.657206],[102.652329,32.656947],[102.652348,32.656915],[102.652341,32.656723],[102.652334,32.65654],[102.652321,32.65618],[102.652298,32.65615],[102.652172,32.655985],[102.651953,32.6557],[102.651995,32.655655],[102.652012,32.655609],[102.652021,32.655556],[102.652023,32.655492],[102.652016,32.655442],[102.651995,32.655409],[102.651961,32.655391],[102.651932,32.65539],[102.65192,32.655396],[102.651906,32.655414],[102.651905,32.655441],[102.651905,32.655491],[102.651904,32.655534],[102.651904,32.655567],[102.651907,32.655641],[102.651844,32.655558],[102.651851,32.655516],[102.651856,32.655485],[102.651856,32.655457],[102.651846,32.655427],[102.651826,32.655408],[102.6518,32.655389],[102.651773,32.655371],[102.651747,32.655363],[102.651682,32.655348],[102.651658,32.655317],[102.651494,32.655286],[102.651474,32.655282],[102.650978,32.655188],[102.650023,32.654938],[102.649976,32.654918],[102.649797,32.654842],[102.6496,32.654759],[102.649299,32.654632],[102.649164,32.654574],[102.648968,32.654534],[102.64823,32.654383],[102.648138,32.654364],[102.647894,32.654314],[102.64771,32.654277],[102.647462,32.654346],[102.64723,32.654411],[102.647189,32.654423],[102.647065,32.654458],[102.64697,32.65444],[102.6469,32.654426],[102.646513,32.654353],[102.646156,32.654286],[102.646001,32.654009],[102.645981,32.653973],[102.645964,32.653355],[102.646166,32.652983],[102.646516,32.652746],[102.646582,32.652727],[102.646644,32.652708],[102.64667,32.6527],[102.646794,32.652663],[102.646825,32.652654],[102.646914,32.652627],[102.647089,32.652574],[102.647419,32.652475],[102.647597,32.652484],[102.647701,32.652483],[102.647775,32.652486],[102.647845,32.65248],[102.647933,32.652445],[102.647995,32.652416],[102.648144,32.652384],[102.648169,32.652376],[102.648164,32.652357],[102.648169,32.652348],[102.648201,32.652328],[102.648233,32.652318],[102.64829,32.652285],[102.648312,32.65226],[102.648334,32.652229],[102.648366,32.652188],[102.648393,32.652157],[102.648441,32.652112],[102.648468,32.652086],[102.648502,32.65205],[102.648537,32.652014],[102.64856,32.651958],[102.648568,32.651915],[102.648578,32.651865],[102.64858,32.651819],[102.648579,32.651759],[102.648575,32.651712],[102.64855,32.651674],[102.648505,32.651632],[102.64847,32.6516],[102.648426,32.65157],[102.648366,32.651541],[102.648281,32.651509],[102.648176,32.651471],[102.648223,32.651471],[102.648271,32.651475],[102.648312,32.651489],[102.648381,32.651514],[102.648417,32.651528],[102.648461,32.651549],[102.64852,32.651575],[102.648556,32.651602],[102.648582,32.651622],[102.648614,32.651649],[102.648631,32.651676],[102.64865,32.651705],[102.648686,32.651785],[102.648693,32.651852],[102.64869,32.651893],[102.648689,32.651941],[102.648679,32.651971],[102.648671,32.651991],[102.64865,32.652053],[102.648731,32.651947],[102.648825,32.651823],[102.64883,32.651649],[102.648832,32.651555],[102.648833,32.651528],[102.648838,32.651321],[102.648067,32.651187],[102.647838,32.651148],[102.646467,32.651122],[102.646263,32.651067],[102.646112,32.650997],[102.646097,32.651022],[102.646091,32.651021],[102.64607,32.651015],[102.646024,32.651003],[102.646015,32.651],[102.645972,32.651079],[102.64594,32.651134],[102.64584,32.651101],[102.645741,32.651096],[102.645628,32.651118],[102.645614,32.65112],[102.645556,32.651139],[102.645458,32.651296],[102.645486,32.651413],[102.645481,32.651488],[102.645476,32.651547],[102.645477,32.651662],[102.645463,32.651673],[102.645447,32.651715],[102.645425,32.651879],[102.645396,32.651912],[102.645371,32.651967],[102.645358,32.652007],[102.645341,32.652059],[102.645298,32.652125],[102.645292,32.652155],[102.64527,32.652195],[102.645229,32.652236],[102.645194,32.652271],[102.645171,32.652291],[102.645118,32.652329],[102.645079,32.652351],[102.645011,32.652382],[102.644947,32.652408],[102.644877,32.652428],[102.644819,32.652438],[102.64478,32.652438],[102.644741,32.652462],[102.644727,32.652471],[102.644661,32.65251],[102.64456,32.652469],[102.644537,32.652481],[102.644492,32.65248],[102.64442,32.652467],[102.644323,32.65244],[102.644241,32.652409],[102.644178,32.652405],[102.644126,32.652437],[102.644092,32.652477],[102.644052,32.652526],[102.64399,32.65255],[102.643908,32.652568],[102.643872,32.652504],[102.643885,32.652001],[102.643881,32.651991],[102.643868,32.651966],[102.643823,32.651874],[102.643845,32.651854],[102.643842,32.651837],[102.643825,32.651802],[102.643802,32.651766],[102.643774,32.65173],[102.643712,32.65165],[102.643629,32.651628],[102.643304,32.65154],[102.643265,32.65153],[102.643258,32.651528],[102.64294,32.651442],[102.642827,32.651464],[102.642411,32.651544],[102.642375,32.651551],[102.642338,32.651558],[102.642118,32.6516],[102.642042,32.651658],[102.642012,32.651676],[102.641971,32.651695],[102.641925,32.651696],[102.641851,32.651719],[102.641762,32.651737],[102.641696,32.651726],[102.641652,32.651713],[102.641614,32.651704],[102.641545,32.651695],[102.641479,32.651693],[102.641428,32.651698],[102.641348,32.651694],[102.64127,32.651691],[102.641198,32.65168],[102.641184,32.651674],[102.641069,32.65165],[102.640984,32.651616],[102.640909,32.651578],[102.640842,32.65154],[102.640778,32.651495],[102.640749,32.651456],[102.64075,32.651425],[102.640756,32.651378],[102.640767,32.651324],[102.640776,32.65128],[102.640792,32.651222],[102.640869,32.651121],[102.640918,32.65108],[102.640971,32.651057],[102.641024,32.651053],[102.641096,32.651054],[102.641233,32.650909],[102.641238,32.650903],[102.641464,32.650665],[102.641482,32.650646],[102.641594,32.650527],[102.6417,32.650316],[102.641725,32.650267],[102.641779,32.650159],[102.641854,32.65019],[102.641842,32.650144],[102.641847,32.650098],[102.641835,32.650049],[102.641836,32.650018],[102.641844,32.649988],[102.641878,32.64995],[102.641809,32.649892],[102.641788,32.649839],[102.641754,32.649773],[102.641713,32.649751],[102.641682,32.649738],[102.641637,32.64972],[102.641591,32.649711],[102.641516,32.649696],[102.641514,32.649688],[102.641502,32.649682],[102.641474,32.649688],[102.641448,32.649701],[102.641429,32.6497],[102.641406,32.649681],[102.641388,32.649639],[102.641373,32.649595],[102.641362,32.649555],[102.641355,32.649515],[102.641167,32.64936],[102.640851,32.649238],[102.640534,32.649116],[102.640256,32.649266],[102.640241,32.649274],[102.639978,32.649415],[102.639883,32.649521],[102.639815,32.649597],[102.63958,32.649859],[102.639559,32.649884],[102.639396,32.650066],[102.639383,32.65008],[102.639366,32.650099],[102.639039,32.650364],[102.638588,32.650123],[102.638462,32.649486],[102.638391,32.649507],[102.638388,32.649487],[102.638388,32.649476],[102.638381,32.649463],[102.638382,32.649447],[102.638393,32.649429],[102.638405,32.649414],[102.63844,32.649372],[102.638427,32.649308],[102.638406,32.649244],[102.638403,32.649235],[102.638398,32.649219],[102.638374,32.649146],[102.638258,32.648789],[102.638176,32.64872],[102.638128,32.64867],[102.638039,32.648598],[102.637989,32.648553],[102.637953,32.648494],[102.637928,32.648438],[102.637878,32.648376],[102.63779,32.648292],[102.637703,32.6482],[102.637607,32.648111],[102.637508,32.64809],[102.636909,32.647966],[102.636895,32.64797],[102.636676,32.648048],[102.636641,32.64806],[102.636494,32.648112],[102.636437,32.64868],[102.636436,32.648687],[102.636432,32.64873],[102.636395,32.648859],[102.636376,32.648927],[102.63628,32.649268],[102.636256,32.649282],[102.636118,32.649359],[102.636105,32.649366],[102.635796,32.649538],[102.63569,32.649598],[102.63568,32.649603],[102.635178,32.649768],[102.635153,32.649776],[102.635004,32.649825],[102.634991,32.649829],[102.634957,32.64984],[102.634894,32.64986],[102.634653,32.64992],[102.634284,32.650011],[102.63402,32.650076],[102.633705,32.649915],[102.633645,32.649691],[102.63359,32.64969],[102.633558,32.649691],[102.633564,32.6496],[102.633585,32.649578],[102.63359,32.64957],[102.633605,32.649544],[102.633615,32.649434],[102.633619,32.64936],[102.633595,32.649235],[102.633557,32.64912],[102.63354,32.649026],[102.633506,32.648948],[102.633469,32.648894],[102.633404,32.648827],[102.633373,32.648769],[102.633357,32.648718],[102.633338,32.648674],[102.633326,32.64866],[102.633296,32.648666],[102.633277,32.648675],[102.633258,32.648684],[102.63325,32.648698],[102.63322,32.648699],[102.633203,32.648688],[102.633183,32.648672],[102.633158,32.648647],[102.633136,32.648631],[102.633071,32.648598],[102.633005,32.648566],[102.632908,32.648529],[102.632804,32.648476],[102.632706,32.648412],[102.632522,32.648303],[102.632396,32.648214],[102.63231,32.648166],[102.632105,32.648184],[102.632104,32.648217],[102.632101,32.648348],[102.632096,32.648532],[102.632808,32.649241],[102.632558,32.649501],[102.632541,32.649519],[102.632512,32.649549],[102.63248,32.649583],[102.632467,32.649588],[102.631907,32.649842],[102.63174,32.649917],[102.631415,32.649935],[102.630687,32.649974],[102.630377,32.649879],[102.63037,32.649878],[102.629463,32.649603],[102.628923,32.649284],[102.628938,32.648743],[102.629165,32.648404],[102.62919,32.648367],[102.629271,32.648247],[102.629329,32.648163],[102.629346,32.648138],[102.62936,32.648141],[102.629374,32.648141],[102.629399,32.648129],[102.629418,32.648096],[102.629461,32.648035],[102.629481,32.647999],[102.629498,32.647951],[102.629543,32.647885],[102.629574,32.647841],[102.629597,32.647817],[102.629628,32.647802],[102.629659,32.647782],[102.629718,32.647744],[102.629771,32.647687],[102.629857,32.647492],[102.629887,32.647434],[102.629909,32.647389],[102.629915,32.647365],[102.629915,32.647354],[102.62991,32.647343],[102.629906,32.647337],[102.629891,32.647289],[102.629792,32.647173],[102.629766,32.647138],[102.629731,32.647103],[102.629681,32.647056],[102.629548,32.646963],[102.629532,32.646956],[102.629469,32.646928],[102.629217,32.646815],[102.628614,32.646829],[102.628551,32.646831],[102.628425,32.646834],[102.628404,32.646834],[102.628302,32.646837],[102.628276,32.646863],[102.627867,32.647264],[102.627784,32.647345],[102.627824,32.647393],[102.627842,32.64742],[102.627854,32.647442],[102.627855,32.647458],[102.627853,32.647466],[102.627844,32.647475],[102.627818,32.647486],[102.627799,32.647495],[102.627785,32.647505],[102.62777,32.647517],[102.62776,32.647528],[102.627754,32.647544],[102.62775,32.647559],[102.627746,32.647577],[102.627735,32.647597],[102.627723,32.647608],[102.6277,32.647623],[102.627673,32.647635],[102.627609,32.647639],[102.627595,32.647639],[102.627567,32.647637],[102.627493,32.647633],[102.627459,32.647624],[102.627409,32.647608],[102.627375,32.647589],[102.627176,32.647669],[102.627165,32.647674],[102.627145,32.647682],[102.627092,32.647703],[102.626417,32.64769],[102.626356,32.647689],[102.626224,32.647686],[102.626168,32.647672],[102.626156,32.647669],[102.626006,32.647629],[102.625589,32.64752],[102.625589,32.647488],[102.625602,32.64702],[102.625664,32.646948],[102.625811,32.646784],[102.625832,32.64676],[102.625842,32.64675],[102.625867,32.646721],[102.626103,32.646457],[102.626159,32.646395],[102.626178,32.646418],[102.626202,32.646444],[102.626213,32.64646],[102.626216,32.646457],[102.626223,32.646445],[102.626223,32.646432],[102.62622,32.646402],[102.62622,32.646374],[102.626216,32.646332],[102.626573,32.646042],[102.626583,32.646035],[102.626595,32.646025],[102.626614,32.64601],[102.626733,32.645913],[102.626742,32.645906],[102.626868,32.645804],[102.627083,32.645475],[102.627088,32.645468],[102.627124,32.645413],[102.627184,32.645323],[102.627197,32.645303],[102.6272,32.645298],[102.627344,32.645079],[102.627494,32.645015],[102.627505,32.64501],[102.627553,32.64499],[102.627697,32.644929],[102.627714,32.644922],[102.628129,32.644746],[102.628065,32.643701],[102.62774,32.643381],[102.627773,32.643365],[102.627792,32.643357],[102.627833,32.643358],[102.6278,32.643345],[102.627768,32.643337],[102.627736,32.64333],[102.627716,32.643315],[102.627683,32.643285],[102.627652,32.643251],[102.62762,32.643225],[102.627593,32.643198],[102.627548,32.643157],[102.627463,32.643137],[102.627452,32.643152],[102.627443,32.643145],[102.627155,32.642935],[102.627103,32.642935],[102.626987,32.642894],[102.626939,32.642875],[102.626893,32.642851],[102.626865,32.642816],[102.626845,32.642772],[102.626824,32.642728],[102.626794,32.642697],[102.626737,32.64267],[102.626647,32.642619],[102.626611,32.642578],[102.626596,32.642531],[102.626578,32.642495],[102.626576,32.642456],[102.626588,32.642396],[102.626415,32.642201],[102.626363,32.641808],[102.626358,32.64177],[102.626374,32.641763],[102.626391,32.641751],[102.626407,32.641713],[102.626462,32.641605],[102.626511,32.641553],[102.62656,32.641504],[102.626569,32.641496],[102.626634,32.641435],[102.626767,32.641306],[102.627,32.641052],[102.62712,32.640927],[102.627319,32.64076],[102.627601,32.640522],[102.62797,32.640143],[102.628064,32.640045],[102.628118,32.639991],[102.62806,32.639901],[102.628013,32.639828],[102.627959,32.639744],[102.627942,32.639717],[102.627741,32.639565],[102.627629,32.639479],[102.627123,32.639585],[102.626942,32.639769],[102.626928,32.639782],[102.626915,32.639796],[102.626824,32.639888],[102.626748,32.639965],[102.626732,32.639974],[102.626713,32.639973],[102.626673,32.639961],[102.626613,32.639958],[102.626546,32.639963],[102.62647,32.63998],[102.626389,32.64003],[102.62635,32.640055],[102.626332,32.640083],[102.626311,32.640101],[102.62629,32.640105],[102.626254,32.640108],[102.626168,32.64015],[102.626149,32.640171],[102.626143,32.640198],[102.626141,32.640219],[102.626136,32.640243],[102.626126,32.640256],[102.626099,32.640264],[102.626074,32.640276],[102.626022,32.640335],[102.626011,32.640364],[102.625999,32.640385],[102.625998,32.640401],[102.625997,32.640411],[102.62595,32.640439],[102.625866,32.640489],[102.625755,32.64051],[102.625683,32.640524],[102.625131,32.64063],[102.624709,32.640828],[102.624669,32.640847],[102.624653,32.640854],[102.62453,32.640866],[102.624426,32.640901],[102.624365,32.640937],[102.624306,32.640993],[102.624265,32.641052],[102.624211,32.641122],[102.624108,32.641187],[102.623956,32.641283],[102.623925,32.641303],[102.623331,32.64133],[102.622841,32.640819],[102.622849,32.640525],[102.62285,32.640505],[102.622852,32.640433],[102.622854,32.640355],[102.622942,32.640263],[102.622984,32.64022],[102.623183,32.640013],[102.623913,32.640027],[102.624517,32.639652],[102.624478,32.639223],[102.624446,32.638877],[102.624339,32.638636],[102.624188,32.638293],[102.623922,32.638299],[102.623867,32.6383],[102.623826,32.638301],[102.623522,32.638308],[102.623511,32.638309],[102.623273,32.638314],[102.622581,32.638572],[102.622298,32.638459],[102.622234,32.638433],[102.622226,32.638408],[102.622218,32.638381],[102.622209,32.638351],[102.622197,32.638314],[102.622178,32.63827],[102.622146,32.638221],[102.62212,32.638188],[102.622075,32.638137],[102.621974,32.637859],[102.621961,32.637825],[102.622061,32.637636],[102.622087,32.637586],[102.622202,32.637366],[102.622242,32.637317],[102.622579,32.636909],[102.622619,32.636891],[102.623227,32.636612],[102.623736,32.636598],[102.623709,32.636569],[102.623661,32.636536],[102.62384,32.636548],[102.623961,32.636569],[102.62406,32.636582],[102.624076,32.636571],[102.624422,32.636326],[102.624567,32.636049],[102.624609,32.635969],[102.624568,32.635921],[102.624521,32.635878],[102.624414,32.635802],[102.624326,32.635751],[102.624304,32.635733],[102.624297,32.635714],[102.624291,32.635699],[102.624273,32.635671],[102.624212,32.635638],[102.624154,32.635618],[102.624089,32.635615],[102.624033,32.635618],[102.623957,32.635651],[102.623899,32.63569],[102.623853,32.635693],[102.623799,32.635695],[102.623595,32.635824],[102.62358,32.63588],[102.623579,32.635904],[102.623549,32.635903],[102.623492,32.635916],[102.623472,32.635938],[102.623449,32.635967],[102.623423,32.635991],[102.623391,32.636009],[102.623358,32.636024],[102.623311,32.636038],[102.623236,32.636054],[102.623213,32.63605],[102.62319,32.636023],[102.623158,32.635977],[102.623155,32.635954],[102.623085,32.635952],[102.623025,32.635951],[102.623011,32.635951],[102.62297,32.63595],[102.622878,32.635882],[102.622872,32.635878],[102.622867,32.635874],[102.622701,32.635752],[102.622802,32.635406],[102.622929,32.635292],[102.622945,32.635277],[102.622952,32.635249],[102.622961,32.635228],[102.622988,32.635201],[102.623045,32.635153],[102.623142,32.635072],[102.623261,32.634973],[102.623259,32.634943],[102.623269,32.634927],[102.623291,32.634903],[102.623309,32.634889],[102.623364,32.634868],[102.623413,32.634838],[102.623455,32.634817],[102.623474,32.634804],[102.623512,32.634789],[102.623581,32.634765],[102.62364,32.63472],[102.623701,32.634688],[102.623756,32.634668],[102.623806,32.63465],[102.623857,32.634616],[102.623897,32.634583],[102.623929,32.634542],[102.623941,32.63451],[102.623969,32.634443],[102.624022,32.634379],[102.624045,32.634351],[102.624072,32.634278],[102.624101,32.634209],[102.624124,32.634171],[102.624132,32.634145],[102.624138,32.63412],[102.624144,32.634063],[102.624174,32.63402],[102.624231,32.633945],[102.624248,32.633897],[102.624256,32.633857],[102.624258,32.63382],[102.624254,32.633795],[102.624238,32.633779],[102.624231,32.633768],[102.624223,32.633759],[102.62421,32.633742],[102.624198,32.633719],[102.624192,32.633697],[102.624189,32.633673],[102.624188,32.633651],[102.624181,32.63361],[102.624173,32.633609],[102.62409,32.633596],[102.623628,32.633527],[102.623071,32.633865],[102.622798,32.634106],[102.622783,32.634119],[102.622692,32.634199],[102.622557,32.634319],[102.622451,32.634349],[102.622082,32.634455],[102.622065,32.634459],[102.62205,32.634464],[102.622031,32.63443],[102.621963,32.634307],[102.621964,32.634275],[102.621986,32.63425],[102.622042,32.63418],[102.622046,32.634175],[102.62207,32.634127],[102.62207,32.634117],[102.622076,32.634029],[102.622103,32.633843],[102.622148,32.633676],[102.622175,32.633609],[102.62218,32.633586],[102.622182,32.633571],[102.622179,32.633564],[102.622172,32.63356],[102.622267,32.633335],[102.62236,32.633117],[102.622331,32.632498],[102.622075,32.632303],[102.622017,32.63226],[102.621846,32.632138],[102.62184,32.632134],[102.621807,32.632111],[102.62168,32.632021],[102.621662,32.632008],[102.621344,32.631783],[102.621257,32.631659],[102.621237,32.63163],[102.621219,32.631604],[102.621124,32.63147],[102.621132,32.63116],[102.621273,32.631113],[102.621303,32.631102],[102.62132,32.631097],[102.621642,32.630987],[102.621737,32.630955],[102.621778,32.630941],[102.622201,32.630485],[102.62213,32.62971],[102.622103,32.629658],[102.622102,32.629657],[102.622088,32.62963],[102.622083,32.629619],[102.622036,32.629529],[102.622026,32.629509],[102.622001,32.629462],[102.621924,32.629313],[102.621826,32.629125],[102.622087,32.628956],[102.622102,32.628946],[102.622158,32.62891],[102.622224,32.628867],[102.622286,32.628878],[102.622343,32.628893],[102.622382,32.628908],[102.622437,32.628921],[102.622477,32.628922],[102.62256,32.628907],[102.622586,32.628892],[102.622627,32.628872],[102.622669,32.628869],[102.622691,32.62887],[102.622737,32.628865],[102.622773,32.628851],[102.622801,32.628841],[102.622837,32.628835],[102.622907,32.628829],[102.622941,32.628825],[102.623011,32.628821],[102.623081,32.628828],[102.62321,32.628868],[102.623298,32.628917],[102.623359,32.628922],[102.623886,32.62897],[102.624528,32.628867],[102.625035,32.628488],[102.625051,32.628476],[102.625078,32.628456],[102.625085,32.628451],[102.625134,32.628414],[102.625142,32.628097],[102.625147,32.627908],[102.625159,32.627448],[102.625101,32.626937],[102.625074,32.626704],[102.625048,32.62648],[102.624968,32.62631],[102.624943,32.626257],[102.624939,32.626249],[102.62493,32.626229],[102.624909,32.626185],[102.624597,32.625522],[102.624576,32.625477],[102.624561,32.625447],[102.624345,32.624987],[102.624313,32.624919],[102.624322,32.624879],[102.6244,32.624549],[102.624463,32.624281],[102.624486,32.624265],[102.624863,32.624273],[102.624876,32.624273],[102.624971,32.624253],[102.625082,32.624253],[102.625161,32.624285],[102.625295,32.624371],[102.625402,32.624458],[102.625533,32.624554],[102.625551,32.624586],[102.625921,32.625222],[102.625926,32.62523],[102.62593,32.625237],[102.625986,32.625333],[102.625994,32.625347],[102.626004,32.625364],[102.626079,32.625494],[102.626268,32.625571],[102.626576,32.625697],[102.626607,32.625687],[102.626673,32.625666],[102.626807,32.625624],[102.62684,32.625532],[102.626845,32.625518],[102.626961,32.625203],[102.626968,32.625182],[102.627102,32.624818],[102.627107,32.624623],[102.627108,32.624593],[102.62711,32.624529],[102.62711,32.624521],[102.627111,32.624469],[102.627112,32.624435],[102.62712,32.624122],[102.626967,32.623588],[102.626957,32.623553],[102.626953,32.623539],[102.626959,32.623484],[102.626971,32.623374],[102.626956,32.623352],[102.626953,32.62333],[102.626951,32.623303],[102.626954,32.623277],[102.626967,32.623244],[102.626988,32.623223],[102.627064,32.623118],[102.627155,32.623061],[102.627307,32.622987],[102.627439,32.622946],[102.627606,32.62301],[102.627689,32.62332],[102.627692,32.623327],[102.627731,32.623476],[102.627745,32.623485],[102.627846,32.623551],[102.627966,32.623628],[102.627983,32.623639],[102.628041,32.6237],[102.628085,32.623727],[102.628151,32.623761],[102.628334,32.623809],[102.628397,32.623817],[102.628444,32.623818],[102.628508,32.623811],[102.628561,32.623796],[102.628588,32.623785],[102.628717,32.623675],[102.628803,32.623708],[102.628935,32.623537],[102.629142,32.62327],[102.6292,32.623195],[102.629267,32.622988],[102.62935,32.622734],[102.629314,32.622685],[102.629246,32.622589],[102.629232,32.62257],[102.629041,32.622303],[102.628513,32.622107],[102.628496,32.622101],[102.628477,32.622093],[102.628362,32.622051],[102.628335,32.622086],[102.628316,32.62211],[102.628308,32.622136],[102.628293,32.62217],[102.628282,32.622188],[102.628255,32.622197],[102.628187,32.622181],[102.628165,32.622161],[102.628151,32.62213],[102.628127,32.622091],[102.628104,32.622059],[102.628054,32.622022],[102.628022,32.622004],[102.627994,32.621985],[102.627975,32.621956],[102.627964,32.621917],[102.627948,32.62186],[102.627935,32.621842],[102.627927,32.621828],[102.627905,32.621813],[102.627891,32.621803],[102.627875,32.62179],[102.627858,32.621771],[102.62785,32.621752],[102.627851,32.621739],[102.627858,32.621721],[102.627867,32.621707],[102.627882,32.621691],[102.627898,32.621668],[102.627901,32.621655],[102.627902,32.62163],[102.627898,32.621606],[102.627881,32.621591],[102.627879,32.621572],[102.627888,32.621522],[102.627909,32.621483],[102.62792,32.621467],[102.627935,32.621453],[102.627948,32.621443],[102.627959,32.621436],[102.627975,32.621437],[102.627984,32.621442],[102.627998,32.621386],[102.628,32.62138],[102.628003,32.621367],[102.628067,32.621125],[102.628506,32.620979],[102.62862,32.620942],[102.628627,32.620947],[102.628634,32.620953],[102.628766,32.621054],[102.628787,32.621071],[102.628932,32.621183],[102.628969,32.621235],[102.629037,32.6213],[102.629104,32.62135],[102.629144,32.621379],[102.629176,32.621402],[102.629193,32.62141],[102.629226,32.621418],[102.629255,32.621422],[102.629277,32.621429],[102.629291,32.621447],[102.629301,32.621469],[102.629337,32.621496],[102.629422,32.621507],[102.629432,32.621508],[102.629701,32.621542],[102.62987,32.62133],[102.629905,32.621285],[102.62992,32.621268],[102.630058,32.621094],[102.630126,32.621009],[102.630125,32.620995],[102.630123,32.620981],[102.630053,32.620312],[102.630051,32.620293],[102.62995,32.620178],[102.629837,32.6201],[102.629772,32.620038],[102.629754,32.619986],[102.629754,32.619921],[102.629819,32.619935],[102.629952,32.61994],[102.630005,32.619941],[102.630003,32.619926],[102.629994,32.619862],[102.629992,32.619847],[102.629977,32.61973],[102.629827,32.619381],[102.629822,32.61937],[102.629809,32.619339],[102.629793,32.619302],[102.629778,32.61931],[102.629764,32.619314],[102.629753,32.619317],[102.629744,32.61932],[102.629733,32.619318],[102.629723,32.619315],[102.629706,32.619314],[102.629696,32.619316],[102.629685,32.619322],[102.629676,32.619332],[102.629667,32.619343],[102.629637,32.619291],[102.62964,32.619268],[102.629706,32.619233],[102.629742,32.619184],[102.629676,32.619029],[102.629823,32.618645],[102.629966,32.618136],[102.629805,32.617975],[102.629496,32.617618],[102.629476,32.617571],[102.629432,32.617523],[102.629352,32.617438],[102.629347,32.617432],[102.628642,32.616651],[102.628652,32.616278],[102.628664,32.616229],[102.628667,32.616217],[102.628674,32.616187],[102.628701,32.616074],[102.628707,32.616047],[102.628718,32.615648],[102.62832,32.615214],[102.628268,32.615004],[102.628255,32.614951],[102.628235,32.614866],[102.62831,32.614415],[102.628316,32.614403],[102.62847,32.614105],[102.628542,32.613967],[102.628628,32.613684],[102.628679,32.613517],[102.628681,32.613503],[102.628698,32.613319],[102.628723,32.613065],[102.628543,32.612715],[102.62836,32.612499],[102.62808,32.612387],[102.627877,32.612463],[102.62785,32.612473],[102.627798,32.612493],[102.627674,32.612539],[102.627626,32.612589],[102.62759,32.612638],[102.62755,32.612693],[102.627505,32.612733],[102.627436,32.612777],[102.627426,32.612784],[102.627376,32.6128],[102.6273,32.612826],[102.62729,32.612828],[102.627266,32.612851],[102.627185,32.612929],[102.626827,32.612922],[102.626681,32.61292],[102.626531,32.612777],[102.626375,32.612629],[102.626329,32.612585],[102.626312,32.612569],[102.626252,32.612512],[102.626302,32.612287],[102.626309,32.612255],[102.626323,32.612194],[102.626323,32.612194],[102.626323,32.612194],[102.626338,32.61219],[102.626355,32.612185],[102.626406,32.612171],[102.626415,32.612168],[102.62666,32.612101],[102.626667,32.612099],[102.626667,32.612099],[102.626667,32.612099],[102.626707,32.612088],[102.626749,32.612076],[102.626761,32.612073],[102.626769,32.612071],[102.626957,32.612019],[102.626965,32.612018],[102.626966,32.612017],[102.626968,32.612017],[102.627017,32.612006],[102.627054,32.611997],[102.627071,32.611993],[102.627149,32.611975],[102.627812,32.611823],[102.628165,32.611536],[102.628317,32.611274],[102.628327,32.611257],[102.628333,32.611245],[102.628363,32.611194],[102.628372,32.611145],[102.628373,32.611142],[102.628373,32.61114],[102.628396,32.611017],[102.628436,32.610796],[102.628258,32.610537],[102.628234,32.610503],[102.628207,32.610464],[102.628194,32.610445],[102.628193,32.610445],[102.628191,32.610445],[102.628151,32.610442],[102.627534,32.610406],[102.627524,32.610411],[102.627463,32.61044],[102.627402,32.61047],[102.627375,32.610483],[102.627056,32.610636],[102.62685,32.610678],[102.626824,32.610684],[102.626729,32.610703],[102.626455,32.610758],[102.626225,32.610588],[102.626208,32.610576],[102.626208,32.610576],[102.626207,32.610575],[102.626181,32.610556],[102.62614,32.610526],[102.626128,32.610517],[102.626103,32.610498],[102.626085,32.610485],[102.6257,32.610144],[102.625316,32.609805],[102.625058,32.609693],[102.624476,32.609443],[102.623824,32.609111],[102.623239,32.608937],[102.622575,32.608741],[102.62212,32.608545],[102.622103,32.608538],[102.622085,32.60853],[102.621798,32.608406],[102.62152,32.608188],[102.621549,32.608132],[102.621653,32.607924],[102.621774,32.607819],[102.621802,32.607795],[102.621809,32.607789],[102.621892,32.607716],[102.621903,32.607706],[102.622072,32.607559],[102.622058,32.60732],[102.622056,32.60729],[102.622056,32.607289],[102.622056,32.607288],[102.62205,32.607188],[102.62205,32.607187],[102.62205,32.607186],[102.622031,32.60718],[102.62203,32.60718],[102.622028,32.607179],[102.621934,32.607151],[102.621904,32.607142],[102.621488,32.607016],[102.620828,32.607003],[102.620723,32.606822],[102.620723,32.606821],[102.620722,32.60682],[102.620718,32.606814],[102.620675,32.606739],[102.620675,32.606739],[102.620674,32.606738],[102.620407,32.606276],[102.620241,32.606042],[102.620065,32.605793],[102.620064,32.605792],[102.620064,32.605791],[102.620058,32.605784],[102.619896,32.605554],[102.619891,32.605547],[102.619869,32.605487],[102.619777,32.605235],[102.619773,32.605222],[102.619765,32.605202],[102.619734,32.605116],[102.619725,32.605092],[102.619722,32.605083],[102.619715,32.605065],[102.619885,32.604681],[102.619936,32.604566],[102.619949,32.604537],[102.620019,32.604272],[102.620037,32.604206],[102.620063,32.604105],[102.620076,32.604059],[102.620081,32.604039],[102.620124,32.603876],[102.620124,32.603875],[102.620124,32.603874],[102.620229,32.603796],[102.620236,32.603791],[102.620353,32.603704],[102.620366,32.603694],[102.620609,32.603513],[102.620611,32.603512],[102.620613,32.60351],[102.620627,32.6035],[102.620713,32.603436],[102.620715,32.603434],[102.620717,32.603433],[102.620927,32.603277],[102.620996,32.603038],[102.620595,32.602738],[102.620164,32.602357],[102.61981,32.601806],[102.619805,32.601797],[102.619784,32.601759],[102.619753,32.601704],[102.619655,32.601528],[102.619599,32.601428],[102.619576,32.601376],[102.619321,32.600799],[102.61933,32.600758],[102.619337,32.600725],[102.61934,32.60071],[102.619352,32.60065],[102.619357,32.600628],[102.619374,32.600544],[102.619385,32.600493],[102.619406,32.600395],[102.619852,32.600247],[102.619875,32.600045],[102.619878,32.600022],[102.619879,32.600015],[102.619889,32.599925],[102.619891,32.599908],[102.619899,32.599843],[102.619776,32.599746],[102.619574,32.599587],[102.619614,32.59954],[102.619624,32.599528],[102.619941,32.599153],[102.619979,32.599108],[102.619988,32.599097],[102.620093,32.598973],[102.62012,32.598941],[102.620145,32.598912],[102.62056,32.598545],[102.620541,32.598506],[102.620541,32.598505],[102.620541,32.598504],[102.620521,32.598461],[102.620521,32.598461],[102.62052,32.598459],[102.620462,32.598333],[102.620451,32.598311],[102.620386,32.598168],[102.620143,32.597602],[102.620125,32.597578],[102.62011,32.597558],[102.620046,32.59747],[102.620002,32.597411],[102.619648,32.596927],[102.619609,32.596874],[102.619548,32.59682],[102.61935,32.596645],[102.619282,32.596584],[102.619244,32.596551],[102.619213,32.596524],[102.618953,32.596433],[102.618919,32.596421],[102.618556,32.596293],[102.618557,32.596287],[102.618602,32.595951],[102.618908,32.595739],[102.61891,32.595738],[102.618912,32.595736],[102.618947,32.595711],[102.618996,32.595678],[102.619023,32.595659],[102.619127,32.595587],[102.619523,32.595354],[102.619539,32.595345],[102.619564,32.595186],[102.619571,32.595143],[102.619583,32.595066],[102.619583,32.595065],[102.619583,32.595065],[102.619536,32.59498],[102.619482,32.594884],[102.619447,32.594821],[102.619408,32.59475],[102.618823,32.594552],[102.618056,32.594319],[102.617771,32.593939],[102.617563,32.593467],[102.617866,32.59313],[102.618143,32.593025],[102.618246,32.592986],[102.618389,32.592931],[102.61849,32.592893],[102.618648,32.592833],[102.619144,32.592549],[102.619065,32.592209],[102.618865,32.592067],[102.618629,32.5919],[102.61797,32.591624],[102.617462,32.591174],[102.617441,32.591156],[102.617358,32.591082],[102.617339,32.591066],[102.617276,32.59101],[102.617265,32.590998],[102.617152,32.590885],[102.616627,32.590359],[102.61662,32.590286],[102.616616,32.590252],[102.616607,32.59016],[102.6166,32.5901],[102.616592,32.59002],[102.616779,32.589647],[102.616972,32.589585],[102.616999,32.589576],[102.617074,32.589552],[102.617122,32.589536],[102.617158,32.589524],[102.617546,32.589399],[102.617561,32.589394],[102.617608,32.589378],[102.617661,32.589361],[102.617676,32.589356],[102.617765,32.589328],[102.617815,32.589103],[102.617467,32.588833],[102.617208,32.588771],[102.617207,32.58877],[102.617206,32.58877],[102.617029,32.588727],[102.616999,32.58872],[102.616998,32.588719],[102.616997,32.588719],[102.616629,32.58863],[102.616564,32.588505],[102.616522,32.588425],[102.616519,32.588418],[102.616442,32.58827],[102.616396,32.588181],[102.616333,32.58806],[102.616166,32.587681],[102.616241,32.587512],[102.616241,32.587512],[102.616242,32.587511],[102.616247,32.587499],[102.616253,32.587485],[102.616298,32.587384],[102.616305,32.58737],[102.616342,32.587288],[102.616449,32.587048],[102.616514,32.586694],[102.616534,32.586583],[102.616552,32.586486],[102.616519,32.586401],[102.616478,32.586297],[102.616352,32.585974],[102.616344,32.585956],[102.616338,32.585925],[102.61628,32.585623],[102.616278,32.585615],[102.616227,32.585352],[102.616427,32.584529],[102.616407,32.584412],[102.616404,32.584397],[102.616401,32.584379],[102.616389,32.584305],[102.616384,32.584277],[102.616381,32.584261],[102.616365,32.584163],[102.616311,32.58385],[102.616342,32.583623],[102.616346,32.583592],[102.616351,32.583557],[102.61636,32.583488],[102.616361,32.583478],[102.616362,32.583477],[102.616362,32.583475],[102.616367,32.583438],[102.6166,32.583029],[102.617226,32.582808],[102.617249,32.582799],[102.617406,32.582744],[102.617414,32.582741],[102.617522,32.582697],[102.617679,32.582635],[102.617765,32.5826],[102.617767,32.582521],[102.617768,32.582485],[102.61777,32.582433],[102.617774,32.582262],[102.61777,32.582225],[102.617747,32.582039],[102.617738,32.581961],[102.617473,32.581881],[102.617388,32.581793],[102.61735,32.581753],[102.617246,32.581645],[102.617214,32.581612],[102.61721,32.581597],[102.617205,32.581575],[102.617094,32.581122],[102.617281,32.580749],[102.617533,32.580637],[102.617559,32.580626],[102.617559,32.580625],[102.617559,32.580625],[102.617655,32.580583],[102.617675,32.580574],[102.617912,32.580468],[102.61809,32.580389],[102.618139,32.580202],[102.618191,32.57994],[102.618089,32.579725],[102.618076,32.579699],[102.618076,32.579699],[102.618076,32.579699],[102.618065,32.579674],[102.617943,32.579616],[102.6179,32.579595],[102.617835,32.579564],[102.617495,32.5794],[102.617244,32.578794],[102.617266,32.577979],[102.617266,32.577968],[102.617264,32.577963],[102.617158,32.577697],[102.617135,32.577638],[102.617007,32.57732],[102.616933,32.577135],[102.616962,32.576045],[102.617024,32.57537],[102.617128,32.574808],[102.617546,32.574269],[102.617547,32.574268],[102.617547,32.574268],[102.617564,32.574246],[102.617588,32.574215],[102.617617,32.574197],[102.617617,32.574197],[102.617618,32.574196],[102.617779,32.574093],[102.618041,32.573927],[102.618086,32.573899],[102.618204,32.573824],[102.618213,32.573818],[102.618213,32.573818],[102.618214,32.573818],[102.61822,32.573814],[102.618232,32.573802],[102.618447,32.573593],[102.618411,32.573291],[102.618068,32.572834],[102.617373,32.572257],[102.616982,32.571949],[102.617039,32.571461],[102.617046,32.571433],[102.617127,32.571108],[102.617188,32.570863],[102.617347,32.569889],[102.617331,32.56903],[102.61733,32.569001],[102.617329,32.568932],[102.617329,32.568911],[102.617303,32.568825],[102.617237,32.568605],[102.617235,32.568598],[102.617211,32.56852],[102.617125,32.568231],[102.616478,32.567504],[102.616138,32.567062],[102.616119,32.567038],[102.616069,32.566972],[102.616059,32.56696],[102.615962,32.566833],[102.61592,32.56678],[102.615901,32.566006],[102.6159,32.565956],[102.615899,32.565915],[102.615988,32.565587],[102.616011,32.565504],[102.616144,32.565017],[102.616205,32.564417],[102.616316,32.563555],[102.616504,32.563183],[102.616523,32.563175],[102.616705,32.563109],[102.617086,32.562968],[102.617187,32.562887],[102.617223,32.562857],[102.617449,32.562674],[102.617455,32.562449],[102.617435,32.562421],[102.617405,32.562378],[102.617371,32.562329],[102.61737,32.562328],[102.617369,32.562326],[102.617354,32.562305],[102.617228,32.562125],[102.617148,32.56201],[102.617147,32.56201],[102.617028,32.561839],[102.616994,32.561823],[102.616353,32.561508],[102.616302,32.561483],[102.616296,32.56148],[102.616151,32.561409],[102.615762,32.561012],[102.615734,32.560985],[102.615703,32.560952],[102.615287,32.560529],[102.615034,32.560035],[102.614831,32.559317],[102.614545,32.558372],[102.61425,32.557803],[102.614135,32.557124],[102.614149,32.556561],[102.614332,32.556062],[102.614348,32.556017],[102.614365,32.555971],[102.614384,32.55592],[102.614437,32.555777],[102.614949,32.554847],[102.615821,32.553774],[102.616057,32.553252],[102.616033,32.552462],[102.616357,32.55198],[102.616737,32.552072],[102.617168,32.552177],[102.617194,32.552183],[102.618168,32.552277],[102.61853,32.552021],[102.618628,32.551647],[102.618283,32.551302],[102.617712,32.551066],[102.617631,32.550764],[102.617824,32.550203],[102.618076,32.549043],[102.618233,32.548144],[102.61838,32.547621],[102.618569,32.547173],[102.619383,32.546587],[102.619578,32.54663],[102.619616,32.546638],[102.619653,32.546646],[102.619825,32.546684],[102.619927,32.546707],[102.620133,32.546752],[102.620412,32.546688],[102.62053,32.546661],[102.620532,32.546661],[102.620533,32.546661],[102.620648,32.546634],[102.620664,32.54663],[102.620892,32.546578],[102.621171,32.546301],[102.621211,32.546261],[102.621212,32.54626],[102.621213,32.546259],[102.621333,32.546139],[102.621385,32.546088],[102.62146,32.546013],[102.621485,32.545988],[102.621511,32.545969],[102.621587,32.545914],[102.621648,32.545869],[102.6217,32.545832],[102.621734,32.545806],[102.62239,32.545329],[102.622941,32.544625],[102.624279,32.54435],[102.624451,32.544246],[102.624691,32.5441],[102.624692,32.544099],[102.624693,32.544098],[102.624695,32.544097],[102.624776,32.544049],[102.625001,32.543912],[102.62528,32.54377],[102.62531,32.543755],[102.625351,32.543734],[102.62537,32.543724],[102.625855,32.543477],[102.62613,32.543144],[102.626329,32.543051],[102.626403,32.543016],[102.626426,32.543006],[102.626593,32.542927],[102.62662,32.542915],[102.626669,32.542891],[102.626966,32.542985],[102.627813,32.543251],[102.628128,32.543169],[102.628567,32.543054],[102.628618,32.543041],[102.628621,32.543023],[102.628655,32.54286],[102.628685,32.542719],[102.628705,32.542621],[102.628708,32.54261],[102.628719,32.542554],[102.629047,32.542384],[102.629104,32.542355],[102.629114,32.54235],[102.629207,32.542302],[102.62922,32.542295],[102.629265,32.542271],[102.629349,32.542228],[102.629441,32.541815],[102.62945,32.541779],[102.629508,32.54165],[102.629517,32.541628],[102.629563,32.541528],[102.629571,32.54151],[102.629664,32.541304],[102.629685,32.541257],[102.629861,32.54129],[102.62988,32.541294],[102.629969,32.541311],[102.629999,32.541316],[102.630568,32.541424],[102.630756,32.541421],[102.630765,32.541421],[102.630765,32.541421],[102.630813,32.54142],[102.630881,32.541419],[102.630883,32.541419],[102.630884,32.541419],[102.630886,32.541419],[102.630901,32.541419],[102.631635,32.541408],[102.631678,32.541407],[102.631678,32.541408],[102.631678,32.541408],[102.63176,32.541581],[102.631836,32.54174],[102.631845,32.541759],[102.63193,32.541938],[102.631892,32.542158],[102.631889,32.542171],[102.631869,32.542291],[102.631842,32.542444],[102.63184,32.542455],[102.631837,32.542473],[102.631826,32.542538],[102.631933,32.54269],[102.631934,32.542692],[102.631935,32.542694],[102.631989,32.54277],[102.632039,32.542842],[102.63213,32.542858],[102.632132,32.542858],[102.632135,32.542859],[102.632217,32.542873],[102.632235,32.542876],[102.632525,32.542927],[102.633512,32.542532],[102.634104,32.541942],[102.634044,32.541696],[102.634043,32.541694],[102.634043,32.541692],[102.634028,32.54163],[102.634025,32.541618],[102.634022,32.541607],[102.634002,32.541525],[102.633984,32.541451],[102.633966,32.541389],[102.633933,32.541275],[102.633928,32.541256],[102.633928,32.541255],[102.633902,32.541166],[102.633902,32.541164],[102.633902,32.541164],[102.633821,32.540884],[102.633956,32.5405],[102.633965,32.540473],[102.634144,32.540353],[102.634236,32.540291],[102.634704,32.540323],[102.634727,32.540324],[102.634989,32.540342],[102.635121,32.540338],[102.635162,32.540337],[102.635744,32.540319],[102.635927,32.540097],[102.635864,32.539923],[102.635849,32.539881],[102.635805,32.539763],[102.635803,32.539756],[102.635773,32.539748],[102.635763,32.539745],[102.635296,32.539612],[102.635234,32.539594],[102.635224,32.539591],[102.635099,32.539555],[102.635012,32.539569],[102.634853,32.539595],[102.634502,32.539652],[102.634475,32.539656],[102.634465,32.539644],[102.634336,32.539484],[102.634332,32.539479],[102.63426,32.539389],[102.63426,32.539366],[102.634261,32.539351],[102.634263,32.539258],[102.634267,32.539116],[102.634268,32.539088],[102.634269,32.539088],[102.63427,32.539088],[102.634369,32.539048],[102.634383,32.539042],[102.634716,32.538909],[102.635295,32.538845],[102.63535,32.538763],[102.635439,32.538632],[102.635443,32.538626],[102.635512,32.538524],[102.635523,32.538508],[102.635572,32.538437],[102.635849,32.537991],[102.636312,32.538],[102.636457,32.538002],[102.636483,32.538003],[102.636515,32.538003],[102.636583,32.538007],[102.636613,32.538009],[102.637073,32.538034],[102.637093,32.538035],[102.637269,32.538044],[102.637285,32.538045],[102.637513,32.538057],[102.637578,32.538061],[102.637599,32.538036],[102.637606,32.538026],[102.637616,32.538015],[102.637676,32.537942],[102.637682,32.537935],[102.637723,32.537886],[102.637853,32.537728],[102.637863,32.537711],[102.637927,32.537602],[102.637977,32.537517],[102.637999,32.537479],[102.638224,32.537096],[102.638283,32.537056],[102.638375,32.536993],[102.638376,32.536992],[102.638376,32.536992],[102.638493,32.536912],[102.638494,32.536911],[102.638505,32.536904],[102.638572,32.536858],[102.638586,32.536848],[102.638587,32.536848],[102.638587,32.536847],[102.638603,32.536836],[102.638676,32.536787],[102.638761,32.536728],[102.638812,32.536694],[102.638913,32.536207],[102.639317,32.536027],[102.639376,32.536028],[102.639527,32.536031],[102.63956,32.536031],[102.639724,32.536034],[102.639752,32.536035],[102.64012,32.536042],[102.64016,32.536042],[102.640215,32.536023],[102.640236,32.536015],[102.640397,32.535959],[102.640427,32.535948],[102.640563,32.5359],[102.640747,32.53564],[102.640694,32.535356],[102.640675,32.535254],[102.640672,32.535242],[102.640669,32.535225],[102.640967,32.535253],[102.641096,32.535265],[102.641211,32.535275],[102.641281,32.535282],[102.641299,32.535284],[102.641687,32.535319],[102.641735,32.535332],[102.641818,32.535354],[102.641818,32.535354],[102.641925,32.535382],[102.642035,32.535411],[102.642613,32.535562],[102.642891,32.535593],[102.642909,32.535594],[102.642943,32.535598],[102.643001,32.535604],[102.643002,32.535605],[102.643005,32.535605],[102.643453,32.535653],[102.643861,32.535323],[102.643814,32.535071],[102.643805,32.535024],[102.643783,32.534908],[102.643747,32.534607],[102.643747,32.534607],[102.643747,32.534606],[102.643595,32.534421],[102.643403,32.534187],[102.643167,32.534021],[102.643052,32.533827],[102.643625,32.533382],[102.643938,32.533334],[102.64408,32.533313],[102.64409,32.533311],[102.644091,32.533311],[102.644196,32.533295],[102.644196,32.533295],[102.644197,32.533295],[102.644393,32.533265],[102.64468,32.53348],[102.644681,32.53348],[102.644681,32.53348],[102.644682,32.533481],[102.644706,32.533494],[102.644769,32.533529],[102.644796,32.533544],[102.644856,32.533577],[102.645269,32.533806],[102.645627,32.533787],[102.64564,32.533307],[102.645557,32.533128],[102.645509,32.533089],[102.645294,32.532915],[102.645046,32.532714],[102.64499,32.532668],[102.645266,32.532445],[102.645275,32.532438],[102.645286,32.532429],[102.645329,32.532404],[102.645358,32.532387],[102.645388,32.532371],[102.645453,32.532333],[102.646118,32.531954],[102.646955,32.531316],[102.647929,32.530966],[102.649002,32.530496],[102.649638,32.53014],[102.649875,32.530032],[102.650146,32.529907],[102.650175,32.529894],[102.650259,32.529855],[102.650269,32.52985],[102.650322,32.529826],[102.650605,32.530077],[102.650546,32.530877],[102.650545,32.530898],[102.650536,32.531019],[102.650535,32.531031],[102.650534,32.531043],[102.65053,32.531097],[102.650693,32.531584],[102.650709,32.531631],[102.651536,32.531764],[102.651862,32.531816],[102.653072,32.531635],[102.653643,32.53144],[102.653944,32.531337],[102.654094,32.531286],[102.654879,32.53081],[102.655517,32.529994],[102.655534,32.52999],[102.655662,32.529965],[102.655669,32.529963],[102.656314,32.529834],[102.65641,32.529815],[102.656565,32.529784],[102.657123,32.529925],[102.65713,32.529926],[102.657237,32.529953],[102.657244,32.529955],[102.657263,32.52996],[102.657409,32.529996],[102.658259,32.529947],[102.659581,32.529579],[102.659938,32.529226],[102.659987,32.528834],[102.659803,32.528471],[102.659902,32.528379],[102.659942,32.528343],[102.659953,32.528333],[102.66003,32.528261],[102.660043,32.528249],[102.660071,32.528223],[102.66008,32.528215],[102.660501,32.528353],[102.660548,32.528369],[102.660566,32.528375],[102.660672,32.52841],[102.66068,32.528412],[102.660698,32.528418],[102.660922,32.528492],[102.66135,32.528369],[102.661704,32.528114],[102.661943,32.527824],[102.66307,32.527518],[102.664161,32.527146],[102.664518,32.52676],[102.664905,32.526735],[102.665566,32.526551],[102.665926,32.526067],[102.666055,32.525546],[102.666295,32.525224],[102.666917,32.525072],[102.66728,32.524732],[102.667395,32.524624],[102.6674,32.524619],[102.667431,32.524591],[102.667477,32.524574],[102.667492,32.524569],[102.66786,32.524435],[102.667951,32.524547],[102.667961,32.524558],[102.667961,32.524559],[102.667961,32.524559],[102.668012,32.524621],[102.668035,32.52465],[102.668065,32.524686],[102.668159,32.5248],[102.668617,32.525005],[102.669042,32.52498],[102.66932,32.524691],[102.66941,32.524202],[102.669075,32.523706],[102.668774,32.523406],[102.669132,32.522987],[102.669294,32.522965],[102.669367,32.522955],[102.669399,32.522951],[102.6694,32.522951],[102.669403,32.522951],[102.66951,32.522936],[102.669513,32.522936],[102.669515,32.522935],[102.669558,32.52293],[102.669892,32.523459],[102.670378,32.524057],[102.670431,32.524103],[102.670432,32.524104],[102.670432,32.524104],[102.670492,32.524157],[102.670513,32.524176],[102.670528,32.524189],[102.670553,32.524212],[102.670793,32.524424],[102.670986,32.524491],[102.671291,32.524597],[102.671554,32.524486],[102.67211,32.524252],[102.672697,32.523936],[102.673671,32.523595],[102.673758,32.523236],[102.673403,32.523078],[102.673382,32.523068],[102.673251,32.52301],[102.673237,32.523004],[102.673223,32.522998],[102.673136,32.52287],[102.673439,32.522784],[102.673464,32.522776],[102.67358,32.522743],[102.673602,32.522737],[102.67383,32.522671],[102.675023,32.522587],[102.676171,32.521759],[102.677006,32.520979],[102.677587,32.520299],[102.677981,32.520142],[102.678163,32.520069],[102.678266,32.520027],[102.678979,32.519741],[102.679013,32.519669],[102.679067,32.519549],[102.679245,32.519163],[102.679367,32.518942],[102.679507,32.51869],[102.680065,32.518912],[102.680557,32.519293],[102.680821,32.518767],[102.680585,32.518179],[102.680667,32.517438],[102.680855,32.517285],[102.680882,32.517263],[102.680957,32.517203],[102.680962,32.517198],[102.681017,32.517154],[102.681022,32.51715],[102.681434,32.516815],[102.681934,32.516877],[102.681933,32.516894],[102.681933,32.516899],[102.681929,32.517076],[102.681926,32.51717],[102.681919,32.517461],[102.682352,32.517681],[102.682923,32.517373],[102.68311,32.517089],[102.68351,32.516482],[102.684625,32.515951],[102.684905,32.515818],[102.685788,32.515569],[102.685954,32.515649],[102.68597,32.515657],[102.686083,32.515712],[102.686095,32.515718],[102.686179,32.515759],[102.686468,32.5159],[102.686606,32.51631],[102.686613,32.516331],[102.686625,32.516366],[102.686651,32.516445],[102.686655,32.516456],[102.686671,32.516504],[102.686701,32.516594],[102.687266,32.516551],[102.687724,32.515764],[102.688046,32.515451],[102.688716,32.51535],[102.689303,32.515262],[102.690046,32.514998],[102.690441,32.514858],[102.69077,32.514228],[102.691602,32.513553],[102.691931,32.513438],[102.692448,32.513257],[102.692613,32.5132],[102.692987,32.51326],[102.693362,32.513267],[102.693903,32.512961],[102.693915,32.512954],[102.693926,32.512948],[102.693926,32.512948],[102.693927,32.512948],[102.693998,32.512907],[102.694022,32.512914],[102.694049,32.512923],[102.694386,32.513025],[102.694498,32.513059],[102.694515,32.513064],[102.694688,32.513116],[102.69471,32.513123],[102.694744,32.513133],[102.694769,32.513134],[102.695495,32.513147],[102.695589,32.513264],[102.695589,32.513264],[102.695589,32.513264],[102.695617,32.513298],[102.695663,32.513356],[102.695699,32.513401],[102.695798,32.513524],[102.695492,32.513878],[102.695447,32.513931],[102.695347,32.514046],[102.695347,32.514047],[102.695347,32.514047],[102.695344,32.514065],[102.695342,32.514081],[102.695268,32.514682],[102.695765,32.51485],[102.696356,32.514778],[102.696545,32.514754],[102.696895,32.514711],[102.697061,32.514684],[102.697136,32.514672],[102.697181,32.514664],[102.698342,32.514473],[102.699918,32.514077],[102.700242,32.513658],[102.700255,32.513128],[102.700016,32.512699],[102.699908,32.512007],[102.70036,32.511485],[102.701493,32.51124],[102.701513,32.511239],[102.70153,32.511237],[102.70162,32.51123],[102.701654,32.511227],[102.701667,32.511226],[102.702383,32.511168],[102.702384,32.511168],[102.702386,32.511168],[102.702421,32.511165],[102.702484,32.51116],[102.702492,32.511159],[102.70256,32.511154],[102.703558,32.511331],[102.704126,32.511129],[102.704323,32.510627],[102.704368,32.510512],[102.704368,32.510512],[102.704368,32.510512],[102.704394,32.510444],[102.704444,32.51044],[102.704482,32.510437],[102.704959,32.510401],[102.705316,32.511151],[102.705536,32.511604],[102.70556,32.511652],[102.705612,32.51176],[102.705622,32.511781],[102.705622,32.511781],[102.705623,32.511782],[102.705623,32.511782],[102.705732,32.512007],[102.706044,32.512066],[102.706493,32.51165],[102.706572,32.511015],[102.706529,32.510218],[102.706532,32.510217],[102.706534,32.510216],[102.70656,32.510204],[102.706659,32.51016],[102.706669,32.510155],[102.70694,32.510034],[102.7071,32.509963],[102.707407,32.510181],[102.707499,32.510238],[102.707532,32.510258],[102.707622,32.510314],[102.70764,32.510325],[102.708024,32.510563],[102.708224,32.510567],[102.708462,32.510571],[102.709095,32.510318],[102.709417,32.509952],[102.709475,32.50948],[102.709487,32.509387],[102.70949,32.509363],[102.709494,32.50933],[102.709496,32.509317],[102.709529,32.509284],[102.709817,32.509004],[102.709887,32.509029],[102.709954,32.509053],[102.709979,32.509063],[102.710039,32.509084],[102.710063,32.509093],[102.710127,32.509116],[102.710493,32.509494],[102.710806,32.5095],[102.710882,32.50897],[102.71083,32.508545],[102.710504,32.50832],[102.710292,32.508174],[102.71031,32.508154],[102.710723,32.508037],[102.71116,32.507914],[102.711915,32.507729],[102.711916,32.507729],[102.711917,32.507729],[102.711945,32.507722],[102.711979,32.507714],[102.712118,32.507679],[102.712168,32.507667],[102.712609,32.507569],[102.712821,32.507706],[102.712847,32.507723],[102.712937,32.507781],[102.713025,32.507837],[102.713047,32.507852],[102.713073,32.507868],[102.713074,32.507869],[102.713075,32.507869],[102.713287,32.508006],[102.713785,32.508121],[102.714349,32.508078],[102.714991,32.507453],[102.715568,32.506933],[102.715631,32.506963],[102.715692,32.506992],[102.71583,32.507058],[102.715862,32.507073],[102.715942,32.507111],[102.716046,32.50716],[102.71622,32.507243],[102.71638,32.507319],[102.716496,32.507374],[102.7166,32.507404],[102.716857,32.507477],[102.716892,32.507487],[102.717491,32.507658],[102.718252,32.5073],[102.718639,32.50683],[102.718745,32.50632],[102.718782,32.506142],[102.718915,32.505826],[102.719185,32.505702],[102.71919,32.5057],[102.719204,32.505693],[102.71921,32.505691],[102.719359,32.505622],[102.719934,32.505796],[102.719977,32.505809],[102.720006,32.505818],[102.720007,32.505818],[102.720007,32.505818],[102.720017,32.505821],[102.720048,32.505831],[102.720151,32.505862],[102.720291,32.505904],[102.720993,32.505386],[102.721051,32.505351],[102.721117,32.505311],[102.721208,32.505256],[102.721208,32.505255],[102.72121,32.505255],[102.721334,32.505179],[102.721414,32.50513],[102.721438,32.505116],[102.721542,32.505053],[102.721873,32.504851],[102.721875,32.50485],[102.721877,32.504849],[102.722037,32.504752],[102.722519,32.504459],[102.723365,32.503728],[102.723691,32.503446],[102.723805,32.503348],[102.723817,32.503337],[102.723842,32.503315],[102.723843,32.503314],[102.723844,32.503314],[102.72393,32.50324],[102.724398,32.502835],[102.724504,32.502743],[102.726435,32.500656],[102.727914,32.49909],[102.728166,32.498816],[102.728367,32.498597],[102.728395,32.498566],[102.728471,32.498483],[102.728485,32.498468],[102.728492,32.49846],[102.728511,32.49844],[102.72856,32.498386],[102.728629,32.498311],[102.728646,32.498293],[102.729782,32.497054],[102.730612,32.495811],[102.731148,32.495009],[102.732184,32.493648],[102.733208,32.492503],[102.734052,32.491559],[102.736673,32.48943],[102.738793,32.487293],[102.740527,32.485544],[102.740655,32.485416],[102.742389,32.483696],[102.743611,32.482391],[102.745918,32.480256],[102.746753,32.479422],[102.748555,32.477438],[102.750094,32.47598],[102.750684,32.475398],[102.750992,32.475094],[102.752602,32.473318],[102.754269,32.471703],[102.755668,32.470826],[102.757623,32.470277],[102.760208,32.469527],[102.761659,32.469075],[102.762228,32.468925],[102.763549,32.468578],[102.764686,32.468174],[102.766968,32.467029],[102.767291,32.466858],[102.767291,32.466858],[102.767291,32.466858],[102.767501,32.46702],[102.76771,32.467181],[102.768054,32.467329],[102.768399,32.467477],[102.768643,32.467581],[102.768995,32.467731],[102.769195,32.46781],[102.76928,32.467902],[102.769409,32.467974],[102.769609,32.468024],[102.769837,32.468124],[102.769894,32.468338],[102.769909,32.468588],[102.76998,32.468709],[102.770058,32.46883],[102.77008,32.468973],[102.770101,32.469405],[102.770123,32.469837],[102.770116,32.470037],[102.769923,32.470372],[102.769959,32.470629],[102.770044,32.471],[102.770098,32.471089],[102.770242,32.471326],[102.770387,32.471564],[102.77058,32.4718],[102.770672,32.472078],[102.770779,32.472278],[102.770979,32.472535],[102.771022,32.47261],[102.771186,32.472892],[102.771222,32.473071],[102.771251,32.473328],[102.771279,32.473585],[102.771251,32.47397],[102.771183,32.474402],[102.771115,32.474834],[102.771086,32.475159],[102.771058,32.475483],[102.770919,32.475847],[102.770779,32.476211],[102.770669,32.476579],[102.770558,32.476947],[102.770572,32.477089],[102.770658,32.477168],[102.770787,32.477254],[102.771097,32.477325],[102.771408,32.477396],[102.771734,32.477444],[102.77206,32.477492],[102.772236,32.477518],[102.772525,32.477625],[102.772814,32.477732],[102.773092,32.477832],[102.773371,32.477932],[102.773799,32.478053],[102.774049,32.478203],[102.774299,32.478353],[102.774391,32.478406],[102.774598,32.478524],[102.774798,32.478524],[102.775195,32.478453],[102.775591,32.478382],[102.775912,32.478336],[102.776233,32.478291],[102.776554,32.478246],[102.776933,32.478224],[102.777222,32.478142],[102.777511,32.47806],[102.777729,32.477946],[102.777946,32.477832],[102.778268,32.477632],[102.778632,32.477596],[102.77886,32.477582],[102.779146,32.47755],[102.779431,32.477518],[102.77971,32.477511],[102.779988,32.477504],[102.780213,32.477507],[102.780438,32.477511],[102.780677,32.477589],[102.780916,32.477668],[102.781166,32.477775],[102.781416,32.477882],[102.781698,32.47797],[102.781981,32.478059],[102.782008,32.478067],[102.782312,32.47811],[102.782615,32.478153],[102.782847,32.478192],[102.783079,32.478232],[102.783222,32.47821],[102.783621,32.478082],[102.783832,32.477971],[102.784043,32.47786],[102.784235,32.477714],[102.784428,32.477568],[102.784709,32.477406],[102.78499,32.477244],[102.78527,32.477082],[102.785531,32.477064],[102.785791,32.477047],[102.78617,32.477068],[102.786548,32.477089],[102.786934,32.477125],[102.787276,32.477318],[102.787612,32.477549],[102.787947,32.47778],[102.788283,32.47801],[102.788603,32.478216],[102.788922,32.478422],[102.789004,32.478474],[102.789289,32.478724],[102.789575,32.478974],[102.789867,32.479224],[102.790067,32.479395],[102.790126,32.479539],[102.790146,32.479588],[102.790274,32.479802],[102.790396,32.479959],[102.790681,32.480177],[102.790967,32.480395],[102.791202,32.480602],[102.791356,32.480826],[102.791509,32.481051],[102.791756,32.481397],[102.792002,32.481744],[102.79208,32.481886],[102.79208,32.482001],[102.791995,32.482101],[102.791659,32.482393],[102.791496,32.482604],[102.791388,32.482743],[102.791238,32.482957],[102.791152,32.483071],[102.790995,32.483107],[102.790767,32.483164],[102.790738,32.483171],[102.79036,32.483257],[102.790232,32.483321],[102.790053,32.483507],[102.789875,32.483757],[102.789718,32.483935],[102.789603,32.484042],[102.789518,32.484214],[102.789511,32.484328],[102.789546,32.484553],[102.789582,32.484778],[102.789482,32.484985],[102.78935,32.48517],[102.789218,32.485356],[102.789218,32.485356],[102.789217,32.485357],[102.789056,32.485639],[102.788989,32.485755],[102.788911,32.486051],[102.788832,32.486346],[102.788754,32.486641],[102.788691,32.486903],[102.788628,32.487166],[102.788568,32.487412],[102.788472,32.487811],[102.788376,32.488211],[102.788276,32.488514],[102.788176,32.488818],[102.788088,32.488952],[102.787957,32.489153],[102.787826,32.489353],[102.78764,32.489639],[102.787569,32.489856],[102.787498,32.490074],[102.787492,32.490101],[102.787405,32.490503],[102.787405,32.490838],[102.787405,32.491174],[102.787405,32.491438],[102.787365,32.491662],[102.787326,32.491887],[102.787324,32.491912],[102.787298,32.492151],[102.787291,32.492294],[102.787233,32.492551],[102.787169,32.492851],[102.787151,32.493276],[102.787133,32.4937],[102.787098,32.494122],[102.786976,32.494329],[102.786898,32.494557],[102.786877,32.494871],[102.786877,32.495128],[102.786905,32.495407],[102.786869,32.495564],[102.786812,32.495655],[102.786748,32.495756],[102.78647,32.495949],[102.786248,32.496045],[102.786027,32.496142],[102.785767,32.496164],[102.785692,32.49617],[102.78527,32.496206],[102.784963,32.496277],[102.784656,32.496349],[102.78435,32.49642],[102.78395,32.496531],[102.78355,32.496642],[102.783186,32.496763],[102.782912,32.496903],[102.782639,32.497044],[102.782365,32.497184],[102.782058,32.497373],[102.781751,32.497562],[102.781394,32.497805],[102.781037,32.498048],[102.780843,32.498153],[102.780558,32.498307],[102.780274,32.498462],[102.780071,32.498557],[102.779724,32.498719],[102.779453,32.498883],[102.779181,32.498919],[102.778953,32.498947],[102.778724,32.498976],[102.778697,32.498981],[102.778654,32.498989],[102.778408,32.499036],[102.778161,32.499083],[102.777889,32.499165],[102.777618,32.499247],[102.777261,32.49934],[102.776947,32.499554],[102.776769,32.499761],[102.776583,32.500161],[102.776441,32.50041],[102.776347,32.500575],[102.776069,32.500917],[102.775849,32.501231],[102.77563,32.501546],[102.77541,32.50186],[102.775191,32.502174],[102.774984,32.502395],[102.774777,32.502616],[102.774584,32.502859],[102.774391,32.503102],[102.774263,32.503237],[102.774042,32.503316],[102.773795,32.503395],[102.773548,32.503474],[102.77337,32.503531],[102.773085,32.503623],[102.772735,32.503773],[102.772386,32.503923],[102.772022,32.504105],[102.771657,32.504287],[102.7714,32.504447],[102.771144,32.504608],[102.770858,32.504851],[102.770826,32.504881],[102.770587,32.505108],[102.77043,32.505436],[102.770339,32.505684],[102.77022,32.506009],[102.770101,32.506335],[102.769994,32.506564],[102.769887,32.506792],[102.769616,32.507056],[102.769345,32.507321],[102.76906,32.507473],[102.768775,32.507626],[102.768545,32.507749],[102.768367,32.507892],[102.768317,32.507956],[102.768295,32.508042],[102.768324,32.508077],[102.768663,32.508231],[102.769002,32.508384],[102.769327,32.508498],[102.769652,32.508613],[102.77003,32.508727],[102.770255,32.508837],[102.77048,32.508948],[102.770815,32.509087],[102.771151,32.509226],[102.771536,32.509419],[102.771779,32.509562],[102.772067,32.509793],[102.772355,32.510024],[102.772643,32.510254],[102.772821,32.510472],[102.772999,32.51069],[102.773185,32.51109],[102.773264,32.511439],[102.773342,32.511789],[102.773406,32.512125],[102.773571,32.51246],[102.773689,32.512655],[102.773848,32.512914],[102.774006,32.513174],[102.774056,32.513506],[102.774106,32.513838],[102.77422,32.514148],[102.774334,32.514459],[102.774347,32.514488],[102.774448,32.514713],[102.774549,32.514937],[102.774602,32.515233],[102.774656,32.51553],[102.774756,32.515851],[102.774855,32.516079],[102.774955,32.516308],[102.775162,32.516636],[102.775344,32.5169],[102.775526,32.517164],[102.775634,32.517371],[102.775741,32.517578],[102.775791,32.517914],[102.775813,32.518135],[102.775841,32.518414],[102.775883,32.518671],[102.775926,32.518928],[102.776048,32.519263],[102.776172,32.519455],[102.776297,32.519647],[102.776326,32.519691],[102.776526,32.51992],[102.776597,32.520155],[102.776612,32.520498],[102.776597,32.520759],[102.776583,32.521019],[102.776644,32.521362],[102.776704,32.521704],[102.776751,32.521947],[102.776797,32.52219],[102.776859,32.522497],[102.776921,32.522804],[102.776983,32.523111],[102.777004,32.52341],[102.776963,32.523703],[102.776922,32.523997],[102.776881,32.524289],[102.77684,32.524581],[102.776729,32.524845],[102.776619,32.525109],[102.776612,32.525288],[102.776647,32.525473],[102.776738,32.525614],[102.776917,32.525891],[102.777096,32.526168],[102.777275,32.526444],[102.77749,32.526769],[102.777704,32.527094],[102.777875,32.527222],[102.777996,32.527279],[102.778325,32.527272],[102.778675,32.527229],[102.778903,32.527215],[102.779109,32.527215],[102.779153,32.527215],[102.77936,32.527258],[102.779667,32.527429],[102.779912,32.52761],[102.780168,32.527798],[102.780423,32.527986],[102.780766,32.528161],[102.781109,32.528336],[102.781401,32.528557],[102.781544,32.528757],[102.781798,32.528796],[102.782051,32.528836],[102.782322,32.528832],[102.782593,32.528828],[102.782915,32.528768],[102.783236,32.528707],[102.783644,32.528625],[102.783871,32.528579],[102.784292,32.528543],[102.784477,32.528554],[102.784792,32.528571],[102.785188,32.5285],[102.785584,32.528429],[102.785906,32.528354],[102.786227,32.528279],[102.786612,32.528207],[102.786948,32.528179],[102.787191,32.528172],[102.787483,32.5282],[102.787726,32.528272],[102.787922,32.528386],[102.788119,32.5285],[102.78849,32.5287],[102.788647,32.528821],[102.788847,32.529082],[102.789047,32.529342],[102.789314,32.529564],[102.789582,32.529785],[102.789921,32.530063],[102.79026,32.530342],[102.790588,32.530549],[102.790917,32.530756],[102.791139,32.530865],[102.791452,32.53102],[102.791458,32.531025],[102.791701,32.531233],[102.791945,32.531441],[102.792162,32.53162],[102.79238,32.531798],[102.792673,32.53198],[102.792966,32.532162],[102.793287,32.532401],[102.793608,32.53264],[102.793821,32.532942],[102.793915,32.533076],[102.794099,32.53344],[102.794243,32.533725],[102.794347,32.533975],[102.79445,32.534225],[102.794498,32.534335],[102.794485,32.534424],[102.794612,32.53465],[102.794622,32.534682],[102.79475,32.534775],[102.794776,32.534784],[102.794971,32.534853],[102.795014,32.534862],[102.795384,32.534921],[102.795522,32.534971],[102.795671,32.535003],[102.795819,32.535079],[102.795835,32.535084],[102.795841,32.535089],[102.796163,32.535253],[102.796485,32.535417],[102.796678,32.535589],[102.796929,32.535954],[102.797064,32.53615],[102.797199,32.536345],[102.797317,32.5366],[102.797418,32.536819],[102.79752,32.537038],[102.797547,32.537102],[102.79762,32.537273],[102.797741,32.537373],[102.798041,32.537602],[102.798255,32.537809],[102.798469,32.538016],[102.798612,32.538251],[102.798912,32.538351],[102.799304,32.538487],[102.799573,32.538581],[102.79959,32.538587],[102.799811,32.538665],[102.79999,32.538794],[102.800166,32.538946],[102.800342,32.539098],[102.800493,32.5392],[102.800702,32.539342],[102.800911,32.539483],[102.801021,32.539639],[102.801041,32.539794],[102.800921,32.540004],[102.80078,32.540208],[102.800638,32.540413],[102.800497,32.540618],[102.800355,32.540822],[102.800281,32.541013],[102.800276,32.541265],[102.80043,32.541478],[102.800727,32.541781],[102.800896,32.541953],[102.801066,32.542125],[102.801235,32.542297],[102.801404,32.542469],[102.801573,32.542641],[102.801742,32.542813],[102.801974,32.543067],[102.802207,32.543322],[102.802362,32.543497],[102.80247,32.54373],[102.802596,32.544162],[102.802722,32.544593],[102.802848,32.545025],[102.8029,32.545252],[102.802951,32.545479],[102.803003,32.545707],[102.803054,32.545934],[102.803048,32.546261],[102.802881,32.54649],[102.802608,32.546813],[102.802334,32.547136],[102.802061,32.547459],[102.801913,32.547673],[102.801766,32.547887],[102.801619,32.548101],[102.801471,32.548316],[102.801326,32.548673],[102.80118,32.54903],[102.801035,32.549387],[102.800926,32.549743],[102.800817,32.550099],[102.800708,32.550455],[102.800665,32.550781],[102.800626,32.551087],[102.800623,32.551107],[102.800637,32.551483],[102.800651,32.551859],[102.800733,32.552208],[102.800783,32.552418],[102.800816,32.552557],[102.800931,32.552734],[102.800953,32.552878],[102.801062,32.553169],[102.801203,32.553549],[102.801307,32.553759],[102.80141,32.55397],[102.801692,32.55432],[102.80176,32.554405],[102.802067,32.554648],[102.802374,32.554891],[102.802745,32.555142],[102.803116,32.555394],[102.803488,32.555646],[102.803859,32.555897],[102.804201,32.556115],[102.804544,32.556333],[102.804758,32.55649],[102.804944,32.556583],[102.805094,32.556697],[102.805158,32.556839],[102.805186,32.557002],[102.805188,32.55709],[102.805196,32.557363],[102.805118,32.55776],[102.805099,32.557855],[102.805062,32.558178],[102.805024,32.558501],[102.804987,32.558824],[102.804851,32.559238],[102.804818,32.559337],[102.804715,32.559638],[102.804595,32.559812],[102.804523,32.559916],[102.804316,32.560123],[102.804247,32.560195],[102.803992,32.560462],[102.803737,32.56073],[102.803537,32.560951],[102.803338,32.561172],[102.803211,32.561378],[102.803085,32.561583],[102.802938,32.561822],[102.802795,32.562093],[102.802652,32.562365],[102.802463,32.562682],[102.802274,32.563],[102.802103,32.563271],[102.801839,32.56361],[102.801574,32.563949],[102.80146,32.564149],[102.801377,32.564292],[102.801153,32.564677],[102.801004,32.564859],[102.800889,32.564999],[102.800889,32.565106],[102.800953,32.565249],[102.801253,32.565427],[102.80134,32.565504],[102.80151,32.565655],[102.801741,32.565879],[102.801972,32.566103],[102.802203,32.566326],[102.802213,32.566341],[102.802395,32.566605],[102.802542,32.56683],[102.802688,32.567055],[102.802834,32.567265],[102.802981,32.567476],[102.803273,32.56774],[102.803552,32.567958],[102.80383,32.568175],[102.804134,32.568325],[102.804437,32.568475],[102.804751,32.568539],[102.805151,32.568625],[102.805465,32.568561],[102.805779,32.568496],[102.806122,32.568447],[102.806432,32.568418],[102.806743,32.568389],[102.807088,32.568382],[102.807433,32.568375],[102.807778,32.568368],[102.80811,32.568404],[102.808442,32.568439],[102.808781,32.568504],[102.80912,32.568568],[102.809441,32.568621],[102.809762,32.568675],[102.810164,32.568851],[102.810402,32.568956],[102.81064,32.56906],[102.810658,32.569069],[102.811009,32.569247],[102.811359,32.569425],[102.81171,32.569603],[102.812061,32.569781],[102.812396,32.569956],[102.812732,32.570131],[102.813017,32.570414],[102.813303,32.570697],[102.813588,32.570981],[102.813831,32.571184],[102.814074,32.571388],[102.814381,32.571509],[102.814523,32.571559],[102.814895,32.571473],[102.815152,32.571259],[102.815409,32.571045],[102.815787,32.570809],[102.816165,32.570574],[102.816558,32.570502],[102.816951,32.570431],[102.817386,32.570364],[102.817821,32.570298],[102.818257,32.570231],[102.81857,32.5702],[102.818913,32.570165],[102.819256,32.570131],[102.819556,32.570174],[102.819857,32.570216],[102.820157,32.570259],[102.820363,32.570288],[102.820795,32.570388],[102.821226,32.570488],[102.821521,32.570559],[102.821817,32.570631],[102.822112,32.570702],[102.822461,32.570838],[102.822811,32.570973],[102.823128,32.571271],[102.823444,32.571568],[102.823761,32.571866],[102.824032,32.572206],[102.824303,32.572546],[102.824574,32.572887],[102.824769,32.573201],[102.824965,32.573515],[102.82516,32.573829],[102.825289,32.574103],[102.825418,32.574377],[102.825547,32.57465],[102.825567,32.574693],[102.825752,32.575092],[102.825913,32.575289],[102.826073,32.575485],[102.826395,32.575696],[102.826716,32.575906],[102.827111,32.576075],[102.827506,32.576244],[102.827901,32.576413],[102.828215,32.576538],[102.828529,32.576663],[102.828907,32.576877],[102.829286,32.577091],[102.8296,32.577227],[102.829914,32.577362],[102.830214,32.577562],[102.830242,32.577605],[102.830242,32.577606],[102.830242,32.577607],[102.830242,32.577684],[102.830157,32.577841],[102.829885,32.578055],[102.829718,32.578217],[102.8296,32.578333],[102.829478,32.57864],[102.829357,32.579068],[102.829236,32.579497],[102.829114,32.579925],[102.829014,32.580339],[102.828914,32.580753],[102.828879,32.581181],[102.828864,32.581446],[102.828972,32.581806],[102.829079,32.582166],[102.82916,32.582481],[102.82924,32.582795],[102.829321,32.583109],[102.829418,32.58338],[102.829514,32.583651],[102.829694,32.584014],[102.829875,32.584377],[102.830055,32.584739],[102.830206,32.585043],[102.830367,32.585432],[102.830528,32.585821],[102.830688,32.58621],[102.830849,32.586599],[102.831031,32.586994],[102.831106,32.587156],[102.831127,32.587313],[102.831085,32.587563],[102.830956,32.587749],[102.830737,32.588004],[102.830519,32.588259],[102.830485,32.588298],[102.830197,32.588627],[102.82991,32.588957],[102.829842,32.589034],[102.829734,32.589242],[102.829626,32.589451],[102.829564,32.589569],[102.829386,32.58994],[102.829207,32.590311],[102.829076,32.590663],[102.828946,32.591015],[102.828886,32.591175],[102.828907,32.591475],[102.828929,32.591775],[102.828872,32.592139],[102.828797,32.592481],[102.828722,32.592824],[102.828658,32.593115],[102.828595,32.593406],[102.828544,32.59364],[102.828493,32.593873],[102.828493,32.59428],[102.828496,32.59434],[102.828506,32.594577],[102.828516,32.594813],[102.828529,32.595143],[102.828543,32.595472],[102.828632,32.595772],[102.828722,32.596072],[102.828738,32.596151],[102.828822,32.596565],[102.828836,32.596789],[102.82885,32.597014],[102.828793,32.5974],[102.828679,32.59765],[102.828565,32.597899],[102.828364,32.598181],[102.82819,32.598426],[102.828015,32.59867],[102.82795,32.598777],[102.827614,32.599066],[102.827303,32.599387],[102.826992,32.599708],[102.826681,32.600028],[102.826371,32.600349],[102.826206,32.600549],[102.826041,32.600748],[102.825896,32.601112],[102.825843,32.601419],[102.825813,32.601766],[102.825806,32.601997],[102.8258,32.602228],[102.825761,32.602458],[102.825721,32.602688],[102.825659,32.602918],[102.825596,32.603149],[102.825522,32.603379],[102.825448,32.603609],[102.82534,32.603847],[102.825231,32.604086],[102.825181,32.604317],[102.82513,32.604547],[102.82506,32.604786],[102.824991,32.605024],[102.824922,32.605263],[102.824852,32.605501],[102.824731,32.605807],[102.824611,32.606113],[102.824509,32.606516],[102.8245,32.606921],[102.824582,32.607289],[102.824732,32.607657],[102.824928,32.608027],[102.825124,32.608396],[102.82532,32.608766],[102.825516,32.609135],[102.825579,32.609358],[102.825643,32.60958],[102.825749,32.60989],[102.825855,32.610201],[102.825938,32.610604],[102.826021,32.611007],[102.826059,32.611296],[102.825983,32.611602],[102.825817,32.611947],[102.825716,32.612186],[102.825615,32.612425],[102.825514,32.612664],[102.825414,32.612903],[102.825313,32.613142],[102.825233,32.613332],[102.825212,32.613381],[102.825113,32.613687],[102.824924,32.613954],[102.824715,32.614124],[102.824472,32.614255],[102.824229,32.614385],[102.823848,32.61459],[102.823667,32.614688],[102.823539,32.614725],[102.823232,32.614767],[102.822925,32.61481],[102.82254,32.614857],[102.822154,32.614903],[102.821826,32.614989],[102.821433,32.615117],[102.821085,32.615334],[102.820791,32.615517],[102.820505,32.615649],[102.82022,32.615781],[102.820179,32.615813],[102.819917,32.61602],[102.819613,32.616259],[102.819501,32.616394],[102.819328,32.616602],[102.819063,32.616909],[102.819006,32.617095],[102.819006,32.617344],[102.819091,32.617611],[102.819092,32.617616],[102.819263,32.617889],[102.819435,32.618163],[102.819606,32.618437],[102.819681,32.618686],[102.819756,32.618936],[102.819777,32.619074],[102.819799,32.619215],[102.819763,32.619572],[102.819699,32.619804],[102.819635,32.620036],[102.819583,32.62019],[102.81952,32.620378],[102.819456,32.620535],[102.819346,32.620669],[102.819292,32.620735],[102.819067,32.620906],[102.818842,32.621078],[102.818704,32.621131],[102.818348,32.621269],[102.817993,32.621406],[102.817707,32.621575],[102.817422,32.621744],[102.817136,32.621913],[102.816911,32.622064],[102.81671,32.622199],[102.816508,32.622334],[102.816322,32.622491],[102.816208,32.62262],[102.816237,32.622791],[102.816239,32.62287],[102.816244,32.623005],[102.81623,32.62321],[102.81623,32.623219],[102.81613,32.623533],[102.81593,32.623893],[102.81573,32.624252],[102.81553,32.624611],[102.81528,32.624915],[102.81503,32.625218],[102.814702,32.625518],[102.814374,32.625818],[102.814045,32.626118],[102.813753,32.626417],[102.813653,32.626482],[102.813467,32.626546],[102.81341,32.626565],[102.813296,32.626603],[102.813046,32.626717],[102.812832,32.626888],[102.812618,32.627045],[102.81251,32.627167],[102.812296,32.627324],[102.812196,32.627481],[102.812096,32.627738],[102.811954,32.627938],[102.811832,32.628045],[102.811718,32.628159],[102.81164,32.628316],[102.811618,32.628516],[102.811661,32.628896],[102.811668,32.628959],[102.811725,32.629401],[102.811781,32.629844],[102.811782,32.629851],[102.811782,32.630229],[102.811707,32.630618],[102.811632,32.631007],[102.811554,32.6314],[102.81144,32.631714],[102.811404,32.631892],[102.81144,32.632],[102.811604,32.632199],[102.811911,32.632464],[102.812218,32.632728],[102.812453,32.63302],[102.812689,32.633199],[102.812889,32.633263],[102.813131,32.633299],[102.813141,32.633302],[102.813223,32.633361],[102.813512,32.633655],[102.813682,32.633973],[102.813708,32.634024],[102.813906,32.634374],[102.81402,32.634574],[102.814135,32.634774],[102.81425,32.634973],[102.814365,32.635173],[102.814553,32.635388],[102.814741,32.635602],[102.814944,32.635731],[102.815111,32.635838],[102.815147,32.63586],[102.815392,32.636048],[102.815628,32.636228],[102.815638,32.636235],[102.815958,32.636504],[102.816279,32.636773],[102.816599,32.637042],[102.816824,32.63719],[102.817049,32.637338],[102.817377,32.637553],[102.817507,32.637682],[102.81751,32.637687],[102.81765,32.637932],[102.817832,32.638185],[102.818014,32.638438],[102.81825,32.63866],[102.818649,32.638831],[102.818985,32.639092],[102.81932,32.639352],[102.819556,32.639645],[102.819877,32.639887],[102.820141,32.64008],[102.820405,32.640273],[102.820712,32.640392],[102.821019,32.640511],[102.821326,32.64063],[102.821601,32.640786],[102.821875,32.640942],[102.822104,32.641072],[102.822291,32.641237],[102.822597,32.641508],[102.822861,32.641708],[102.823125,32.641908],[102.823389,32.642107],[102.823624,32.642257],[102.823859,32.642406],[102.824192,32.642617],[102.824524,32.642828],[102.82481,32.643071],[102.825095,32.643314],[102.825285,32.643507],[102.825474,32.643699],[102.825602,32.643956],[102.825816,32.644206],[102.826009,32.644285],[102.826384,32.644424],[102.826759,32.644563],[102.827073,32.644717],[102.827387,32.64487],[102.827662,32.645077],[102.827936,32.645284],[102.828163,32.645553],[102.828389,32.645822],[102.828615,32.646091],[102.828712,32.64618],[102.828872,32.646326],[102.829086,32.646433],[102.82945,32.646655],[102.829624,32.646755],[102.829735,32.646819],[102.82985,32.646954],[102.829892,32.647154],[102.829895,32.647186],[102.829921,32.647461],[102.829875,32.647861],[102.829828,32.648261],[102.829757,32.648614],[102.829685,32.648967],[102.829589,32.649207],[102.829493,32.649446],[102.829279,32.64981],[102.829209,32.649879],[102.829029,32.65006],[102.828857,32.650217],[102.828743,32.650452],[102.828686,32.650788],[102.828661,32.650906],[102.828593,32.65123],[102.828465,32.651559],[102.828336,32.651887],[102.828168,32.652187],[102.828001,32.652487],[102.827929,32.652658],[102.827737,32.652879],[102.827423,32.653116],[102.827109,32.653353],[102.827094,32.653365],[102.82683,32.6536],[102.826666,32.653836],[102.826644,32.654136],[102.826752,32.654336],[102.827019,32.65461],[102.827287,32.654885],[102.827555,32.65516],[102.827822,32.655435],[102.827978,32.655628],[102.828133,32.655821],[102.828236,32.655949],[102.828336,32.656142],[102.828429,32.656299],[102.828429,32.656491],[102.828386,32.656663],[102.828193,32.656955],[102.82812,32.657215],[102.828047,32.657474],[102.828018,32.657682],[102.827976,32.657981],[102.827953,32.658152],[102.827949,32.658176],[102.827938,32.658404],[102.827926,32.658633],[102.827922,32.658704],[102.827869,32.658943],[102.827815,32.659182],[102.827722,32.659418],[102.827672,32.659618],[102.82768,32.659854],[102.827887,32.66025],[102.828094,32.660646],[102.82826,32.660901],[102.828322,32.660996],[102.828436,32.661217],[102.828436,32.661345],[102.828543,32.661424],[102.828765,32.661538],[102.829139,32.661624],[102.829514,32.661709],[102.829889,32.661795],[102.830264,32.661881],[102.830606,32.662021],[102.830949,32.662162],[102.831292,32.662302],[102.83157,32.662454],[102.831848,32.662607],[102.832127,32.662759],[102.83234,32.662956],[102.832576,32.663175],[102.832812,32.663394],[102.832998,32.663682],[102.833183,32.66397],[102.833369,32.664258],[102.833643,32.664585],[102.83389,32.664879],[102.834068,32.665222],[102.834168,32.665386],[102.834325,32.665436],[102.834482,32.665393],[102.834732,32.665332],[102.834982,32.665272],[102.835239,32.665261],[102.835496,32.66525],[102.835808,32.665298],[102.836119,32.665346],[102.836162,32.665358],[102.836554,32.665558],[102.836946,32.665757],[102.837338,32.665957],[102.837663,32.666128],[102.837987,32.666299],[102.838348,32.666564],[102.838708,32.666828],[102.839008,32.667078],[102.839308,32.667327],[102.839672,32.66757],[102.839779,32.667749],[102.839929,32.667998],[102.840079,32.668248],[102.8401,32.668284],[102.840322,32.668512],[102.8405,32.668634],[102.84075,32.668748],[102.841064,32.668791],[102.841378,32.668834],[102.841685,32.668886],[102.841992,32.668938],[102.842299,32.668991],[102.842486,32.669046],[102.842784,32.669133],[102.843113,32.669355],[102.843434,32.669469],[102.843655,32.669569],[102.843827,32.669847],[102.844059,32.6702],[102.844225,32.670452],[102.84439,32.670704],[102.844559,32.670923],[102.844728,32.671142],[102.844945,32.671422],[102.845161,32.671703],[102.845347,32.67191],[102.845533,32.672117],[102.845694,32.672245],[102.845704,32.672253],[102.84574,32.67227],[102.845802,32.672302],[102.845825,32.672308],[102.845924,32.672334],[102.846118,32.672346],[102.846375,32.67231],[102.846561,32.672285],[102.847003,32.672224],[102.847267,32.672224],[102.84753,32.672224],[102.847596,32.672224],[102.847986,32.672286],[102.848244,32.672327],[102.848376,32.672348],[102.848766,32.67241],[102.849159,32.672481],[102.849552,32.672553],[102.849944,32.672624],[102.850183,32.672674],[102.850422,32.672724],[102.850601,32.672791],[102.851001,32.672939],[102.8514,32.673088],[102.8518,32.67325],[102.8522,32.673413],[102.8526,32.673575],[102.852999,32.673738],[102.853263,32.673905],[102.853528,32.674073],[102.853727,32.674252],[102.853927,32.674344],[102.854113,32.674355],[102.85417,32.674359],[102.85451,32.674249],[102.854851,32.67414],[102.855191,32.67403],[102.855278,32.67398],[102.855541,32.673827],[102.855805,32.673673],[102.856033,32.673449],[102.856262,32.673224],[102.856487,32.673073],[102.856519,32.673052],[102.856761,32.67296],[102.857068,32.672924],[102.857318,32.672938],[102.857568,32.672952],[102.857839,32.673013],[102.85811,32.673074],[102.858209,32.673122],[102.858452,32.673199],[102.858668,32.673285],[102.858885,32.673371],[102.859101,32.673457],[102.859317,32.673543],[102.859533,32.673629],[102.859749,32.673715],[102.859955,32.673849],[102.860161,32.673984],[102.860296,32.674072],[102.860581,32.674232],[102.860866,32.674392],[102.861151,32.674551],[102.861398,32.674753],[102.861645,32.674954],[102.861651,32.674958],[102.861777,32.675088],[102.861953,32.67527],[102.862129,32.675451],[102.862286,32.675644],[102.862579,32.675908],[102.862869,32.676067],[102.86316,32.676227],[102.86345,32.676386],[102.863714,32.67652],[102.863979,32.676653],[102.864278,32.676804],[102.864578,32.676956],[102.864878,32.677107],[102.865107,32.677208],[102.86519,32.677318],[102.865304,32.677458],[102.865312,32.677546],[102.865295,32.677613],[102.865074,32.677945],[102.864853,32.678277],[102.864781,32.678484],[102.864674,32.678798],[102.864696,32.679112],[102.864781,32.679384],[102.864938,32.679698],[102.865232,32.679999],[102.865488,32.680262],[102.865631,32.680476],[102.865773,32.68069],[102.865848,32.680943],[102.865923,32.681197],[102.865945,32.681425],[102.865816,32.681682],[102.865823,32.681868],[102.865909,32.682011],[102.865952,32.682196],[102.865995,32.68241],[102.865988,32.682646],[102.866016,32.682839],[102.866088,32.683046],[102.866173,32.683188],[102.866316,32.683281],[102.866687,32.683388],[102.866998,32.683428],[102.867308,32.683467],[102.867465,32.683545],[102.867697,32.683692],[102.867929,32.683838],[102.868136,32.683995],[102.868229,32.684145],[102.868251,32.684331],[102.868272,32.684538],[102.86835,32.684652],[102.868486,32.684752],[102.868832,32.684912],[102.869178,32.685073],[102.869236,32.685141],[102.8694,32.685337],[102.869568,32.685505],[102.869735,32.685673],[102.869887,32.685872],[102.870142,32.686208],[102.870385,32.686493],[102.870613,32.686743],[102.87091,32.686954],[102.871206,32.687164],[102.871225,32.68718],[102.871563,32.68745],[102.871834,32.687764],[102.871977,32.687989],[102.87212,32.688214],[102.872173,32.688612],[102.872198,32.688799],[102.872177,32.68911],[102.872155,32.68942],[102.872127,32.689583],[102.872062,32.689948],[102.871985,32.690345],[102.871907,32.690741],[102.871905,32.690748],[102.871913,32.690934],[102.872034,32.691162],[102.872079,32.691238],[102.872198,32.69144],[102.872323,32.691651],[102.872448,32.691862],[102.872499,32.691967],[102.872662,32.692304],[102.872719,32.692529],[102.872725,32.692553],[102.872776,32.692754],[102.872933,32.693054],[102.873078,32.693209],[102.873138,32.69329],[102.873315,32.693446],[102.873331,32.69346],[102.873637,32.693638],[102.873943,32.693816],[102.874084,32.693819],[102.874226,32.693797],[102.874496,32.693671],[102.874785,32.69354],[102.875074,32.693409],[102.875362,32.693278],[102.87564,32.69318],[102.875917,32.693082],[102.876263,32.693053],[102.87661,32.693023],[102.876667,32.693018],[102.877021,32.693008],[102.877376,32.692999],[102.87773,32.692989],[102.878059,32.692925],[102.878401,32.692775],[102.87866,32.692634],[102.878919,32.692493],[102.878951,32.692475],[102.879151,32.69234],[102.87954,32.692236],[102.879929,32.692133],[102.880286,32.692083],[102.880643,32.692033],[102.880886,32.691999],[102.88109,32.691948],[102.881454,32.691905],[102.881817,32.691862],[102.882169,32.691848],[102.882313,32.691891],[102.882335,32.69189],[102.882592,32.69194],[102.882849,32.69199],[102.88317,32.692126],[102.883484,32.692375],[102.883798,32.692625],[102.883962,32.692854],[102.884155,32.693196],[102.88425,32.693335],[102.884485,32.693493],[102.884719,32.69365],[102.884972,32.693763],[102.885225,32.693877],[102.885251,32.693885],[102.885481,32.693994],[102.885711,32.694103],[102.885979,32.694206],[102.886246,32.69431],[102.886599,32.694331],[102.886951,32.694353],[102.887303,32.694374],[102.887703,32.694474],[102.887981,32.694474],[102.888145,32.694353],[102.888171,32.694333],[102.888499,32.694072],[102.888828,32.693812],[102.888866,32.693782],[102.889188,32.693547],[102.889511,32.693312],[102.889523,32.693303],[102.88983,32.693089],[102.890227,32.693034],[102.890237,32.693032],[102.890451,32.693061],[102.890858,32.693096],[102.891161,32.693139],[102.891465,32.693182],[102.891842,32.693225],[102.892188,32.693264],[102.892535,32.693303],[102.892835,32.693313],[102.893135,32.693323],[102.893435,32.693332],[102.893627,32.693361],[102.893892,32.693432],[102.894093,32.693514],[102.894371,32.693626],[102.894648,32.693739],[102.894962,32.693867],[102.895276,32.693996],[102.895519,32.694067],[102.895748,32.694124],[102.895976,32.694182],[102.896267,32.694221],[102.896497,32.694253],[102.89674,32.694274],[102.896968,32.69436],[102.897197,32.694446],[102.897446,32.694681],[102.897604,32.694863],[102.897761,32.695045],[102.897937,32.695274],[102.898003,32.695359],[102.8982,32.695612],[102.898396,32.695866],[102.898549,32.696082],[102.898589,32.696137],[102.898731,32.696402],[102.898867,32.69663],[102.899088,32.696716],[102.899388,32.696762],[102.899688,32.696808],[102.900026,32.696844],[102.900364,32.69688],[102.900702,32.696916],[102.901087,32.697037],[102.901473,32.697158],[102.901687,32.697233],[102.901901,32.697308],[102.902229,32.697426],[102.902558,32.697544],[102.902797,32.697676],[102.903036,32.697808],[102.903375,32.698033],[102.903714,32.698258],[102.903925,32.698365],[102.904135,32.698472],[102.904378,32.698661],[102.904621,32.69885],[102.904856,32.698993],[102.905227,32.699128],[102.905366,32.699249],[102.90562,32.699471],[102.905756,32.699542],[102.905899,32.69957],[102.905972,32.699593],[102.906074,32.699581],[102.906177,32.699539],[102.90634,32.699435],[102.906635,32.699134],[102.906929,32.698833],[102.907224,32.698532],[102.907519,32.698231],[102.907787,32.698006],[102.908054,32.697782],[102.908277,32.697642],[102.908475,32.697531],[102.908672,32.69742],[102.908955,32.697318],[102.909237,32.697216],[102.909545,32.697148],[102.909853,32.69708],[102.910139,32.69713],[102.910306,32.697196],[102.910517,32.69728],[102.910827,32.697433],[102.911138,32.697587],[102.911452,32.697782],[102.911802,32.698001],[102.912134,32.69824],[102.912466,32.698479],[102.912644,32.698566],[102.913022,32.69875],[102.913262,32.698896],[102.913501,32.699043],[102.913822,32.69915],[102.913869,32.699175],[102.914143,32.699321],[102.914257,32.699421],[102.914285,32.69954],[102.914286,32.699541],[102.914286,32.699542],[102.914343,32.699735],[102.914436,32.699807],[102.9147,32.699821],[102.914814,32.699792],[102.915171,32.699814],[102.915457,32.699899],[102.915771,32.699878],[102.916024,32.699824],[102.916278,32.699771],[102.916645,32.699749],[102.917013,32.699728],[102.917248,32.699714],[102.917484,32.699699],[102.917789,32.699623],[102.918084,32.69955],[102.918394,32.699528],[102.918705,32.699507],[102.918972,32.699528],[102.91924,32.69955],[102.919612,32.699654],[102.919954,32.699749],[102.920351,32.699804],[102.920749,32.699859],[102.921146,32.699914],[102.921179,32.69992],[102.921484,32.699977],[102.921788,32.700035],[102.92221,32.700049],[102.92247,32.700021],[102.922731,32.699992],[102.923049,32.699895],[102.923368,32.699797],[102.923687,32.699699],[102.924078,32.699517],[102.924469,32.699334],[102.924805,32.699121],[102.924805,32.699121],[102.924806,32.69912],[102.925015,32.698987],[102.925224,32.698855],[102.925433,32.698722],[102.925642,32.698589],[102.925851,32.698456],[102.92606,32.698323],[102.926269,32.69819],[102.926478,32.698057],[102.926825,32.697921],[102.927173,32.697784],[102.927491,32.697691],[102.92781,32.697597],[102.928068,32.697552],[102.928326,32.697506],[102.928641,32.697531],[102.928957,32.697556],[102.929235,32.69765],[102.929513,32.697743],[102.92987,32.697996],[102.930227,32.698249],[102.930485,32.698543],[102.930678,32.698763],[102.930768,32.699014],[102.930938,32.699353],[102.930954,32.699385],[102.931118,32.699621],[102.931218,32.699792],[102.931368,32.700078],[102.931468,32.700378],[102.931639,32.700735],[102.931875,32.701113],[102.931996,32.701227],[102.932196,32.701377],[102.932481,32.701625],[102.932667,32.701787],[102.932753,32.701862],[102.932896,32.702005],[102.932981,32.702127],[102.933053,32.702266],[102.933081,32.702319],[102.93314,32.702599],[102.933198,32.702878],[102.933238,32.703265],[102.933278,32.703653],[102.933319,32.70404],[102.933339,32.704234],[102.933369,32.704521],[102.933399,32.704808],[102.933459,32.705029],[102.933519,32.705249],[102.933565,32.705421],[102.933706,32.705768],[102.933829,32.706082],[102.933952,32.706395],[102.934059,32.706624],[102.934166,32.706852],[102.934281,32.707038],[102.93453,32.707252],[102.934656,32.707324],[102.934903,32.707466],[102.935151,32.707609],[102.935432,32.707694],[102.935595,32.707743],[102.935623,32.707752],[102.935987,32.70798],[102.936269,32.708191],[102.936551,32.708401],[102.936746,32.708637],[102.936941,32.708872],[102.937136,32.709108],[102.937346,32.709479],[102.937557,32.70985],[102.937678,32.710134],[102.9377,32.710186],[102.937832,32.710497],[102.937964,32.710808],[102.938021,32.710942],[102.938085,32.711107],[102.938157,32.71121],[102.93831,32.711319],[102.93862,32.711454],[102.938929,32.711589],[102.939301,32.711725],[102.939673,32.711862],[102.940044,32.711999],[102.940416,32.712136],[102.940813,32.712337],[102.941205,32.712535],[102.941597,32.712734],[102.94199,32.712932],[102.942382,32.713131],[102.94239,32.713133],[102.942561,32.713181],[102.942826,32.713255],[102.943029,32.713312],[102.943089,32.713329],[102.943351,32.713402],[102.943614,32.713476],[102.943877,32.713549],[102.94414,32.713623],[102.944402,32.713696],[102.944665,32.71377],[102.944928,32.713843],[102.945315,32.713928],[102.945702,32.714013],[102.94609,32.714099],[102.946475,32.714174],[102.946859,32.71425],[102.947112,32.714267],[102.947366,32.714284],[102.947619,32.714302],[102.947872,32.714319],[102.948125,32.714336],[102.948378,32.714354],[102.948818,32.714374],[102.949259,32.714395],[102.949488,32.714406],[102.949699,32.714416],[102.949933,32.71442],[102.950142,32.714522],[102.950347,32.714723],[102.950471,32.714918],[102.950595,32.715112],[102.95065,32.715199],[102.950818,32.715361],[102.951057,32.715726],[102.951296,32.716092],[102.951457,32.71627],[102.951617,32.716449],[102.951831,32.716651],[102.952046,32.716853],[102.952176,32.717091],[102.95226,32.717376],[102.952323,32.717633],[102.952387,32.71789],[102.952415,32.718005],[102.952445,32.718127],[102.952522,32.718435],[102.952587,32.718697],[102.952652,32.718959],[102.952807,32.719209],[102.953069,32.719518],[102.95336,32.719831],[102.95339,32.719863],[102.953711,32.720049],[102.954032,32.720236],[102.954354,32.720422],[102.954556,32.720517],[102.95477,32.720636],[102.95483,32.720755],[102.954861,32.720923],[102.954865,32.720946],[102.954888,32.721244],[102.954889,32.721255],[102.954877,32.721636],[102.955032,32.721886],[102.95521,32.722052],[102.955282,32.72235],[102.955329,32.722695],[102.955591,32.72304],[102.955829,32.723295],[102.956067,32.723551],[102.956373,32.72369],[102.956567,32.723777],[102.956799,32.723849],[102.957031,32.72392],[102.957366,32.724001],[102.957667,32.724073],[102.957967,32.724145],[102.958268,32.724217],[102.958613,32.724467],[102.958684,32.724527],[102.958744,32.724753],[102.958732,32.724991],[102.95872,32.725229],[102.958714,32.72552],[102.958708,32.725812],[102.958803,32.726157],[102.959029,32.72643],[102.959351,32.72668],[102.959707,32.726859],[102.959815,32.726966],[102.959823,32.726983],[102.959922,32.72718],[102.959986,32.727502],[102.959993,32.727537],[102.959981,32.727838],[102.959969,32.72814],[102.959957,32.728441],[102.959962,32.728774],[102.959979,32.728813],[102.960143,32.729193],[102.960343,32.729412],[102.960619,32.729574],[102.961,32.729716],[102.961212,32.729778],[102.961428,32.72984],[102.961871,32.729894],[102.962294,32.729945],[102.96257,32.73005],[102.962722,32.730211],[102.962894,32.730392],[102.96291,32.730419],[102.963046,32.730639],[102.963183,32.73086],[102.963217,32.730916],[102.963465,32.73122],[102.963779,32.731392],[102.964093,32.731582],[102.964407,32.731772],[102.96455,32.731858],[102.964731,32.731991],[102.964864,32.732172],[102.964917,32.732264],[102.965007,32.732419],[102.965179,32.732592],[102.965197,32.73261],[102.965549,32.732857],[102.965755,32.732983],[102.965961,32.733108],[102.965987,32.733124],[102.966239,32.733343],[102.966491,32.733562],[102.966634,32.733761],[102.966758,32.733999],[102.966929,32.734171],[102.967072,32.734342],[102.967111,32.734414],[102.967186,32.734551],[102.967321,32.734969],[102.967367,32.735113],[102.967557,32.73547],[102.967629,32.735584],[102.96765,32.73577],[102.967586,32.73597],[102.967357,32.736277],[102.96715,32.736551],[102.966943,32.736826],[102.966747,32.737105],[102.966551,32.737383],[102.966551,32.737383],[102.966551,32.737383],[102.96636,32.737635],[102.966168,32.737886],[102.966144,32.737918],[102.965965,32.738254],[102.965659,32.738518],[102.96538,32.738789],[102.96508,32.739053],[102.964852,32.73925],[102.964773,32.739318],[102.964524,32.73956],[102.964523,32.739562],[102.964427,32.739781],[102.964424,32.739789],[102.964331,32.740133],[102.964295,32.740267],[102.964247,32.740533],[102.964198,32.740799],[102.964181,32.740895],[102.964167,32.74094],[102.964109,32.74112],[102.964038,32.741345],[102.963931,32.741559],[102.963738,32.741702],[102.963417,32.741745],[102.963146,32.741784],[102.962875,32.741823],[102.96276,32.741849],[102.962496,32.741909],[102.962132,32.741959],[102.961797,32.74198],[102.961497,32.741966],[102.961439,32.741961],[102.961254,32.741944],[102.96123,32.741944],[102.96099,32.741944],[102.960783,32.742041],[102.960576,32.742137],[102.960393,32.74239],[102.960254,32.742452],[102.96004,32.742547],[102.959825,32.742643],[102.95961,32.742738],[102.959395,32.742833],[102.959185,32.742926],[102.95918,32.742929],[102.958965,32.743024],[102.958751,32.743119],[102.958536,32.743215],[102.958165,32.743393],[102.957795,32.743571],[102.957424,32.74375],[102.957208,32.743911],[102.956991,32.744073],[102.956774,32.744235],[102.956557,32.744396],[102.956395,32.744576],[102.956233,32.744756],[102.956071,32.744936],[102.955909,32.745116],[102.955715,32.745449],[102.95552,32.745782],[102.955439,32.746013],[102.955357,32.746244],[102.955276,32.746474],[102.955194,32.746705],[102.955122,32.746953],[102.95505,32.747201],[102.954979,32.747449],[102.954907,32.747697],[102.954761,32.747942],[102.954614,32.748187],[102.954363,32.748449],[102.954112,32.748712],[102.953945,32.748867],[102.953777,32.749023],[102.95361,32.749178],[102.953442,32.749333],[102.953275,32.749489],[102.953107,32.749644],[102.953075,32.749672],[102.952832,32.74988],[102.952557,32.750116],[102.952533,32.750136],[102.952248,32.750381],[102.951904,32.750553],[102.951879,32.750566],[102.951561,32.750725],[102.951255,32.750818],[102.950948,32.750912],[102.950524,32.751014],[102.9501,32.751116],[102.949992,32.75113],[102.949684,32.751169],[102.949267,32.751221],[102.948851,32.751274],[102.948435,32.751326],[102.948189,32.751337],[102.947943,32.751348],[102.947697,32.751358],[102.947451,32.751369],[102.947207,32.75138],[102.947205,32.75138],[102.946959,32.751391],[102.946713,32.751401],[102.946467,32.751412],[102.946221,32.751423],[102.945975,32.751434],[102.945729,32.751444],[102.945483,32.751455],[102.945251,32.751473],[102.945019,32.751491],[102.944788,32.751509],[102.944556,32.751527],[102.94418,32.7516],[102.943803,32.751673],[102.943556,32.751748],[102.943309,32.751822],[102.943046,32.752035],[102.942829,32.752348],[102.942667,32.752528],[102.942504,32.752708],[102.942342,32.752888],[102.94218,32.753068],[102.942026,32.753285],[102.941983,32.753346],[102.941976,32.753355],[102.941872,32.753502],[102.941718,32.75372],[102.941563,32.753937],[102.941543,32.753966],[102.941485,32.754047],[102.941409,32.754154],[102.941395,32.754175],[102.941255,32.754372],[102.941101,32.754589],[102.940947,32.754806],[102.940816,32.755011],[102.940685,32.755215],[102.940555,32.755419],[102.940424,32.755623],[102.940293,32.755827],[102.940162,32.756031],[102.940047,32.756252],[102.939931,32.756472],[102.939815,32.756692],[102.939699,32.756912],[102.939527,32.757255],[102.939354,32.757598],[102.93926,32.757959],[102.939167,32.75832],[102.939073,32.758681],[102.939087,32.759089],[102.939101,32.759497],[102.939115,32.759906],[102.939144,32.760171],[102.939173,32.760437],[102.939202,32.760702],[102.939231,32.760968],[102.93926,32.761233],[102.939289,32.761498],[102.939246,32.761804],[102.939203,32.76211],[102.939032,32.762482],[102.93891,32.762707],[102.938788,32.762932],[102.938684,32.763024],[102.93846,32.763221],[102.938237,32.763418],[102.937973,32.763729],[102.937825,32.763904],[102.937709,32.76404],[102.937608,32.76435],[102.937553,32.764703],[102.937616,32.764972],[102.937643,32.765085],[102.93768,32.765241],[102.937769,32.765449],[102.937858,32.765658],[102.937947,32.765867],[102.938036,32.766076],[102.938147,32.766315],[102.938259,32.766554],[102.938323,32.766822],[102.938388,32.767089],[102.93841,32.767475],[102.938432,32.76786],[102.938454,32.768246],[102.938495,32.768493],[102.938536,32.768741],[102.938684,32.769157],[102.938712,32.769237],[102.938893,32.769517],[102.939052,32.769718],[102.939211,32.769918],[102.939324,32.770137],[102.939437,32.770355],[102.939476,32.770634],[102.939491,32.771029],[102.93946,32.771343],[102.939404,32.771719],[102.93942,32.772094],[102.939461,32.772247],[102.939528,32.772491],[102.939655,32.772707],[102.939782,32.772923],[102.939909,32.773139],[102.940036,32.773355],[102.940163,32.773571],[102.94029,32.773787],[102.940418,32.774003],[102.940545,32.774219],[102.940651,32.774443],[102.940757,32.774667],[102.940862,32.774891],[102.940968,32.775115],[102.941067,32.775413],[102.941166,32.775711],[102.941251,32.776068],[102.941336,32.776425],[102.941398,32.776791],[102.94146,32.777158],[102.941453,32.777444],[102.941446,32.77773],[102.941429,32.777987],[102.941411,32.778243],[102.94137,32.778509],[102.941337,32.778722],[102.941329,32.778775],[102.941265,32.779031],[102.941201,32.779287],[102.941107,32.779531],[102.941014,32.779775],[102.94092,32.78002],[102.940826,32.780264],[102.940608,32.780609],[102.940389,32.780954],[102.940171,32.781299],[102.939944,32.781664],[102.939717,32.782029],[102.93949,32.782394],[102.939221,32.782737],[102.938953,32.783081],[102.938684,32.783424],[102.938414,32.783769],[102.938143,32.784115],[102.937873,32.78446],[102.937766,32.784672],[102.93766,32.784883],[102.937553,32.785094],[102.937534,32.785132],[102.937486,32.785226],[102.937452,32.785294],[102.937446,32.785306],[102.93734,32.785517],[102.937233,32.785728],[102.937191,32.785833],[102.937139,32.785964],[102.937133,32.785979],[102.937122,32.786009],[102.937034,32.786229],[102.936934,32.786479],[102.936835,32.786729],[102.936724,32.787142],[102.936613,32.787555],[102.936524,32.787886],[102.936502,32.787968],[102.936457,32.788363],[102.936413,32.788758],[102.936404,32.789139],[102.936395,32.789521],[102.936387,32.789902],[102.936423,32.790326],[102.936459,32.79075],[102.936453,32.791027],[102.936447,32.791304],[102.936427,32.791544],[102.936406,32.791784],[102.936383,32.792054],[102.936327,32.792448],[102.936296,32.79267],[102.936271,32.792842],[102.936237,32.793024],[102.936193,32.793255],[102.936191,32.793268],[102.936111,32.793695],[102.936076,32.793879],[102.93603,32.794122],[102.93599,32.794375],[102.935968,32.79451],[102.935959,32.794566],[102.935949,32.794627],[102.935908,32.79488],[102.935867,32.795133],[102.935839,32.795311],[102.935829,32.79537],[102.935827,32.795386],[102.935786,32.795639],[102.93571,32.795874],[102.935645,32.796076],[102.935634,32.79611],[102.935602,32.796209],[102.935558,32.796346],[102.935482,32.796581],[102.935396,32.796818],[102.93531,32.797055],[102.935278,32.797143],[102.935224,32.797292],[102.935138,32.797529],[102.935053,32.797766],[102.934967,32.798003],[102.934881,32.79824],[102.934795,32.798477],[102.934709,32.798714],[102.934623,32.798952],[102.934537,32.799189],[102.934452,32.799426],[102.934395,32.799682],[102.934338,32.799938],[102.934281,32.800194],[102.934225,32.80045],[102.934168,32.800706],[102.934111,32.800962],[102.934074,32.801215],[102.934037,32.801468],[102.934,32.801721],[102.933963,32.801973],[102.933926,32.802226],[102.933889,32.802479],[102.93388,32.802884],[102.933871,32.803289],[102.9339,32.80371],[102.933929,32.80413],[102.933958,32.804551],[102.934029,32.804765],[102.9341,32.804978],[102.934172,32.805192],[102.934243,32.805406],[102.934399,32.805725],[102.934555,32.806043],[102.934797,32.806389],[102.935039,32.806736],[102.935281,32.807082],[102.935459,32.807248],[102.935637,32.807414],[102.935814,32.80758],[102.935992,32.807746],[102.936063,32.807793],[102.936013,32.80783],[102.934879,32.808317],[102.933789,32.808695],[102.933748,32.808709],[102.932941,32.809186],[102.932352,32.809534],[102.931927,32.809785],[102.931088,32.810276],[102.930562,32.810583],[102.929342,32.811574],[102.928809,32.811976],[102.927929,32.812814],[102.927908,32.812834],[102.92793,32.813059],[102.927881,32.813193],[102.927826,32.813299],[102.927769,32.813337],[102.927719,32.813338],[102.927605,32.813305],[102.927426,32.813288],[102.926973,32.813715],[102.92583,32.814612],[102.924806,32.815195],[102.923798,32.815581],[102.922549,32.81651],[102.921764,32.817317],[102.921287,32.818021],[102.920757,32.818833],[102.920502,32.819929],[102.920294,32.821177],[102.920074,32.821821],[102.919937,32.822229],[102.919542,32.823064],[102.919081,32.823862],[102.918583,32.824746],[102.917569,32.825852],[102.916515,32.827186],[102.916182,32.828332],[102.916115,32.829712],[102.916032,32.83184],[102.916081,32.832647],[102.916265,32.833514],[102.915939,32.83581],[102.915777,32.83693],[102.915502,32.837198],[102.915253,32.837439],[102.91442,32.838099],[102.913864,32.838538],[102.912854,32.839471],[102.912321,32.840383],[102.912231,32.841331],[102.912993,32.843704],[102.913418,32.844488],[102.913605,32.844679],[102.914017,32.845102],[102.914889,32.845721],[102.914945,32.84624],[102.914884,32.846419],[102.914653,32.847098],[102.914301,32.847809],[102.914116,32.848183],[102.913412,32.849121],[102.912774,32.850175],[102.912105,32.851084],[102.911271,32.851346],[102.910971,32.85144],[102.909854,32.851133],[102.909759,32.851113],[102.909691,32.851098],[102.909683,32.851097],[102.909637,32.851087],[102.90952,32.851062],[102.909397,32.851035],[102.909209,32.850995],[102.909152,32.850983],[102.909006,32.850952],[102.9089,32.850929],[102.908868,32.850922],[102.908844,32.850917],[102.908804,32.850908],[102.908682,32.850882],[102.908667,32.850879],[102.908656,32.850877],[102.908603,32.850866],[102.908585,32.850862],[102.908395,32.850821],[102.907379,32.850545],[102.906262,32.850181],[102.905111,32.849845],[102.904054,32.849827],[102.902658,32.849775],[102.901531,32.849871],[102.900031,32.849846],[102.899478,32.850182],[102.899453,32.851218],[102.899529,32.852341],[102.900031,32.854191],[102.900346,32.85529],[102.900999,32.85651],[102.901606,32.858247],[102.90189,32.85923],[102.901703,32.859946],[102.901726,32.860407],[102.901708,32.861155],[102.901659,32.861816],[102.901196,32.86552],[102.901096,32.866871],[102.900589,32.868129],[102.899904,32.871167],[102.899493,32.874124],[102.899108,32.875988],[102.899044,32.877282],[102.898907,32.878719],[102.898709,32.881334],[102.899057,32.882491],[102.899003,32.883325],[102.898817,32.883983],[102.89849,32.884389],[102.89829,32.884636],[102.8978,32.885175],[102.897787,32.885186],[102.897278,32.885626],[102.896146,32.887334],[102.895571,32.88859],[102.895698,32.888995],[102.895751,32.889629],[102.895731,32.890464],[102.895235,32.8927],[102.894937,32.893759],[102.894535,32.894904],[102.894308,32.895821],[102.894356,32.896685],[102.894163,32.897215],[102.894094,32.897403],[102.893845,32.898086],[102.893579,32.899262],[102.89373,32.90007],[102.893743,32.900962],[102.893818,32.902114],[102.893929,32.903181],[102.893877,32.903928],[102.893691,32.904587],[102.893298,32.905329],[102.893252,32.905846],[102.89303,32.906561],[102.892434,32.907242],[102.891588,32.908408],[102.891018,32.909434],[102.890012,32.910136],[102.887136,32.912016],[102.886416,32.912147],[102.885692,32.91248],[102.884545,32.913353],[102.883882,32.914004],[102.883036,32.91514],[102.882087,32.916275],[102.881664,32.916844],[102.880757,32.917692],[102.879803,32.917647],[102.879321,32.91756],[102.87904,32.917509],[102.877821,32.917289],[102.876403,32.917034],[102.8761,32.916979],[102.876038,32.917017],[102.871981,32.91947],[102.871968,32.919496],[102.870938,32.920345],[102.870533,32.921255],[102.870228,32.923298],[102.870064,32.924805],[102.869858,32.925394],[102.869007,32.926242],[102.868257,32.92817],[102.867081,32.929228],[102.865955,32.93088],[102.865398,32.932757],[102.86523,32.934426],[102.865707,32.935889],[102.866382,32.937033],[102.866716,32.937779],[102.866746,32.937848],[102.866625,32.938309],[102.866394,32.939189],[102.865904,32.94096],[102.864585,32.942662],[102.863643,32.944587],[102.862638,32.94651],[102.861969,32.947739],[102.861808,32.949137],[102.861775,32.950484],[102.861744,32.950788],[102.861691,32.951315],[102.86162,32.951313],[102.861651,32.951857],[102.86167,32.952186],[102.861624,32.953016],[102.861455,32.953297],[102.861363,32.953469],[102.861205,32.953713],[102.861087,32.953893],[102.860996,32.95408],[102.860905,32.954352],[102.860864,32.954539],[102.86083,32.954846],[102.860635,32.955175],[102.860484,32.955576],[102.860467,32.955601],[102.8603,32.955824],[102.860098,32.956054],[102.859863,32.956364],[102.859755,32.956557],[102.85963,32.956773],[102.859496,32.956982],[102.859387,32.957147],[102.859254,32.957377],[102.859153,32.957528],[102.85902,32.957772],[102.858932,32.957991],[102.858705,32.9583],[102.858044,32.95907],[102.854856,32.961091],[102.853988,32.961587],[102.853286,32.962597],[102.85298,32.963434],[102.851996,32.964319],[102.850872,32.965052],[102.84967,32.966084],[102.8473,32.968208],[102.845807,32.969445],[102.844901,32.970021],[102.843744,32.970467],[102.842155,32.970493],[102.840628,32.970574],[102.839288,32.970765],[102.839267,32.971268],[102.837553,32.971574],[102.835834,32.971694],[102.833971,32.971687],[102.832757,32.971716],[102.831339,32.971641],[102.830507,32.971776],[102.829415,32.971683],[102.828182,32.971287],[102.827426,32.97075],[102.826164,32.970354],[102.82438,32.969525],[102.824126,32.96954],[102.823699,32.969563],[102.823477,32.96975],[102.823218,32.969968],[102.822974,32.970174],[102.822335,32.971369],[102.822274,32.971483],[102.822168,32.971681],[102.821793,32.972472],[102.821336,32.973013],[102.820849,32.973626],[102.820311,32.973953],[102.820127,32.974064],[102.819401,32.974725],[102.818462,32.975606],[102.817708,32.976191],[102.817384,32.976424],[102.816384,32.977446],[102.815819,32.977463],[102.814265,32.977026],[102.813195,32.976644],[102.811809,32.975937],[102.810955,32.975558],[102.809487,32.975987],[102.807907,32.976597],[102.806382,32.977161],[102.805465,32.977145],[102.804862,32.977498],[102.803059,32.978376],[102.802073,32.979035],[102.801875,32.979166],[102.801797,32.979218],[102.80048,32.980105],[102.799009,32.98067],[102.798027,32.981063],[102.796524,32.980763],[102.795519,32.979927],[102.794242,32.979176],[102.792915,32.978288],[102.792179,32.977502],[102.791195,32.975847],[102.789884,32.974323],[102.789142,32.973764],[102.788022,32.973243],[102.787012,32.972634],[102.786111,32.971981],[102.781472,32.969715],[102.779723,32.968456],[102.77878,32.967302],[102.77741,32.966004],[102.776523,32.964805],[102.776066,32.96366],[102.776039,32.962568],[102.776077,32.961067],[102.776114,32.959593],[102.776118,32.959431],[102.776143,32.958432],[102.776151,32.958112],[102.776161,32.958036],[102.77635,32.956614],[102.775941,32.956354],[102.775548,32.956102],[102.775093,32.955812],[102.77481,32.955632],[102.774347,32.955432],[102.773923,32.955249],[102.773607,32.955113],[102.773346,32.955001],[102.773048,32.954872],[102.77269,32.954674],[102.772304,32.954447],[102.771908,32.95421],[102.77153,32.953991],[102.771028,32.953699],[102.77083,32.953415],[102.770611,32.9531],[102.770371,32.953438],[102.770164,32.953729],[102.769858,32.954077],[102.769561,32.954415],[102.769219,32.954804],[102.769094,32.954952],[102.768894,32.955187],[102.768538,32.955606],[102.768497,32.955655],[102.768272,32.955942],[102.767549,32.956867],[102.766063,32.958023],[102.76462,32.959262],[102.764298,32.959538],[102.764134,32.959673],[102.762149,32.961319],[102.76101,32.962656],[102.76097,32.962704],[102.760814,32.962887],[102.759974,32.9641],[102.759649,32.9644],[102.759517,32.964523],[102.758814,32.965171],[102.757757,32.966426],[102.757706,32.966483],[102.757537,32.966673],[102.757538,32.966744],[102.757526,32.966782],[102.757519,32.966804],[102.757499,32.966829],[102.757473,32.966848],[102.757429,32.966861],[102.757377,32.966849],[102.757316,32.96684],[102.757209,32.966816],[102.757174,32.966812],[102.757146,32.966812],[102.757133,32.966819],[102.757109,32.966842],[102.7571,32.966864],[102.7571,32.966894],[102.757137,32.966989],[102.757175,32.967062],[102.757178,32.967077],[102.756987,32.967291],[102.756973,32.967307],[102.756737,32.967572],[102.756723,32.967588],[102.756709,32.967604],[102.756662,32.967656],[102.75665,32.96767],[102.756631,32.967691],[102.756612,32.967712],[102.755924,32.968485],[102.754325,32.969821],[102.754014,32.970145],[102.753331,32.970853],[102.753006,32.97119],[102.752386,32.971833],[102.749954,32.974109],[102.749867,32.974226],[102.749773,32.974205],[102.74975,32.9742],[102.749638,32.974219],[102.74959,32.974253],[102.749566,32.974292],[102.749484,32.974377],[102.749338,32.974456],[102.749238,32.974513],[102.749236,32.974514],[102.749074,32.974619],[102.748886,32.974742],[102.74874,32.974867],[102.748577,32.975041],[102.748536,32.975063],[102.748423,32.975139],[102.748291,32.975306],[102.748229,32.975442],[102.748201,32.975555],[102.748206,32.975637],[102.74822,32.975692],[102.748302,32.97573],[102.748427,32.975771],[102.748514,32.975799],[102.748602,32.975817],[102.748677,32.97582],[102.748573,32.97596],[102.748527,32.976023],[102.747383,32.977566],[102.746421,32.979322],[102.74575,32.980266],[102.745721,32.981402],[102.745726,32.983313],[102.745489,32.984173],[102.74509,32.984984],[102.74496,32.985846],[102.744713,32.98707],[102.744401,32.988747],[102.743771,32.990192],[102.743522,32.991461],[102.742569,32.992854],[102.74248,32.993057],[102.742054,32.994027],[102.741919,32.995071],[102.741881,32.996571],[102.741226,32.996832],[102.740258,32.996724],[102.739037,32.995883],[102.737294,32.994396],[102.736182,32.993557],[102.735613,32.992591],[102.734674,32.991301],[102.73399,32.990606],[102.73255,32.989943],[102.731398,32.988557],[102.731337,32.988351],[102.73105,32.987368],[102.730921,32.986092],[102.730902,32.985731],[102.730894,32.985565],[102.73089,32.985484],[102.730877,32.98523],[102.730849,32.984681],[102.730261,32.984443],[102.729457,32.984246],[102.727843,32.984035],[102.72754,32.983958],[102.726878,32.98379],[102.723982,32.983055],[102.722161,32.982521],[102.721906,32.981925],[102.721838,32.980377],[102.721602,32.979054],[102.7216,32.978999],[102.7216,32.978993],[102.721718,32.978952],[102.721774,32.978931],[102.721713,32.978899],[102.721776,32.978873],[102.721773,32.97887],[102.72176,32.978861],[102.721737,32.978828],[102.721712,32.978813],[102.721721,32.978794],[102.721771,32.978788],[102.721823,32.97878],[102.72189,32.978782],[102.721918,32.978793],[102.721941,32.978816],[102.721961,32.978842],[102.721974,32.978862],[102.721986,32.97888],[102.722016,32.97888],[102.722032,32.978871],[102.722028,32.978843],[102.722027,32.978829],[102.722008,32.978806],[102.721986,32.978785],[102.721965,32.978768],[102.721949,32.978745],[102.72196,32.978739],[102.72199,32.978733],[102.722008,32.978724],[102.722023,32.978703],[102.722039,32.978682],[102.72205,32.978643],[102.722057,32.978607],[102.722056,32.97858],[102.722054,32.978557],[102.721995,32.978499],[102.721936,32.97843],[102.721924,32.978432],[102.721874,32.978432],[102.721845,32.978421],[102.721851,32.978402],[102.721871,32.978381],[102.721873,32.978358],[102.721873,32.978343],[102.721848,32.978324],[102.721843,32.978325],[102.721801,32.978332],[102.72176,32.97834],[102.721706,32.97834],[102.721687,32.978327],[102.72168,32.978298],[102.721664,32.97826],[102.721657,32.978226],[102.721607,32.978197],[102.721591,32.97819],[102.721591,32.978159],[102.721593,32.978136],[102.721599,32.978114],[102.721563,32.978086],[102.721369,32.977982],[102.721282,32.977901],[102.721188,32.977826],[102.721189,32.977813],[102.721189,32.97775],[102.721164,32.977697],[102.721106,32.977641],[102.721003,32.977576],[102.720936,32.977522],[102.720875,32.977466],[102.7208,32.977377],[102.72075,32.977303],[102.720646,32.977139],[102.720574,32.977035],[102.720489,32.976955],[102.720347,32.976896],[102.720233,32.976873],[102.72012,32.976841],[102.720045,32.976809],[102.719953,32.97675],[102.719931,32.976726],[102.719917,32.976684],[102.719902,32.976604],[102.719887,32.976517],[102.719858,32.976449],[102.719823,32.976401],[102.719759,32.976366],[102.719667,32.976334],[102.719532,32.976287],[102.719386,32.976219],[102.719279,32.97616],[102.719176,32.976113],[102.719013,32.976066],[102.718918,32.976058],[102.718776,32.976068],[102.718649,32.976068],[102.718468,32.976039],[102.718401,32.976016],[102.718309,32.975966],[102.71824,32.975859],[102.71819,32.975776],[102.718022,32.975586],[102.717933,32.975476],[102.717801,32.975354],[102.717655,32.975236],[102.717499,32.975141],[102.717218,32.975006],[102.717108,32.974968],[102.71697,32.974912],[102.716814,32.974844],[102.716675,32.974797],[102.716452,32.974739],[102.716239,32.974666],[102.716065,32.974607],[102.715951,32.974551],[102.715777,32.974477],[102.715685,32.974424],[102.715432,32.974247],[102.715319,32.974173],[102.715048,32.974001],[102.714963,32.973957],[102.714828,32.973904],[102.714697,32.973869],[102.714594,32.973861],[102.714527,32.973873],[102.714425,32.973969],[102.714387,32.974044],[102.714388,32.974089],[102.714346,32.974178],[102.714286,32.974262],[102.714198,32.974334],[102.714033,32.974407],[102.713804,32.974495],[102.713638,32.974546],[102.713465,32.974586],[102.713334,32.974629],[102.713024,32.97483],[102.712852,32.97495],[102.712683,32.975071],[102.712468,32.975191],[102.71213,32.975309],[102.71196,32.975352],[102.711836,32.975377],[102.711653,32.975396],[102.711476,32.975414],[102.711225,32.975434],[102.711006,32.975453],[102.7109,32.975471],[102.71072,32.975526],[102.710686,32.975545],[102.710505,32.975432],[102.710373,32.97535],[102.710224,32.975261],[102.710064,32.975178],[102.709911,32.975114],[102.709755,32.97507],[102.70956,32.975008],[102.709545,32.975005],[102.709358,32.974967],[102.7092,32.974968],[102.709075,32.974973],[102.708968,32.975],[102.708855,32.975044],[102.708742,32.975111],[102.708675,32.975162],[102.708599,32.975219],[102.708473,32.975335],[102.708383,32.975431],[102.708321,32.975493],[102.708262,32.97557],[102.708215,32.975644],[102.708153,32.975752],[102.708083,32.975847],[102.708021,32.975874],[102.70794,32.975956],[102.70789,32.976049],[102.707851,32.97613],[102.707797,32.976183],[102.707645,32.97626],[102.707563,32.976304],[102.707496,32.97638],[102.707446,32.976455],[102.707364,32.976534],[102.707246,32.976649],[102.7071,32.976786],[102.706993,32.976875],[102.706875,32.97694],[102.706776,32.976986],[102.706595,32.977039],[102.706395,32.977078],[102.706271,32.977108],[102.706146,32.977142],[102.706028,32.977181],[102.705929,32.977236],[102.705777,32.977349],[102.705701,32.977438],[102.705654,32.977498],[102.705592,32.977591],[102.705514,32.977692],[102.705455,32.977756],[102.705402,32.977816],[102.705345,32.977862],[102.705261,32.977908],[102.705176,32.977944],[102.705063,32.977983],[102.705015,32.978002],[102.704826,32.978018],[102.704448,32.978073],[102.704193,32.97812],[102.703748,32.978161],[102.703688,32.978167],[102.703451,32.978201],[102.703087,32.978242],[102.702012,32.978316],[102.701913,32.978323],[102.701882,32.978319],[102.701746,32.97832],[102.701665,32.978326],[102.701515,32.978352],[102.701421,32.978385],[102.701226,32.978445],[102.701082,32.978495],[102.700955,32.978536],[102.700754,32.978623],[102.70066,32.97867],[102.700581,32.978702],[102.700434,32.978724],[102.700314,32.978727],[102.700187,32.978722],[102.700037,32.978715],[102.699777,32.978697],[102.699627,32.978666],[102.699548,32.978648],[102.698725,32.978816],[102.697858,32.978936],[102.697309,32.97929],[102.697029,32.979737],[102.697098,32.979899],[102.697123,32.98001],[102.697083,32.98012],[102.697073,32.980172],[102.696966,32.980321],[102.696599,32.98065],[102.696396,32.98088],[102.696233,32.98102],[102.69608,32.981094],[102.695949,32.981122],[102.695866,32.981138],[102.695747,32.981262],[102.694762,32.98179],[102.693452,32.982357],[102.692481,32.982339],[102.690873,32.9819],[102.689113,32.981094],[102.688071,32.979665],[102.687721,32.978612],[102.686783,32.977321],[102.685795,32.975893],[102.685128,32.974561],[102.684403,32.973411],[102.683979,32.971037],[102.683574,32.970029],[102.68301,32.968881],[102.681946,32.968316],[102.680498,32.96797],[102.678685,32.967118],[102.678521,32.967068],[102.677882,32.966876],[102.676001,32.966568],[102.673966,32.965984],[102.673007,32.965511],[102.672389,32.964408],[102.670758,32.962785],[102.669856,32.962223],[102.668662,32.960426],[102.667381,32.958529],[102.66674,32.958814],[102.665795,32.95906],[102.664637,32.958888],[102.66317,32.958597],[102.661343,32.958374],[102.659473,32.958075],[102.65869,32.958026],[102.658295,32.958001],[102.657777,32.957968],[102.655903,32.95782],[102.653898,32.957593],[102.652834,32.957234],[102.651058,32.956786],[102.650025,32.956955],[102.649124,32.95724],[102.647238,32.957543],[102.646026,32.957747],[102.645697,32.958343],[102.644971,32.958744],[102.644205,32.958994],[102.643612,32.959435],[102.642505,32.960695],[102.641353,32.961992],[102.640033,32.962872],[102.638671,32.963675],[102.637224,32.964289],[102.635503,32.965123],[102.633611,32.965652],[102.631407,32.965986],[102.629563,32.965699],[102.628738,32.965587],[102.627837,32.965465],[102.625633,32.965272],[102.625517,32.965235],[102.625251,32.965149],[102.625202,32.965133],[102.62515,32.965116],[102.625129,32.96511],[102.624804,32.965004],[102.622854,32.964212],[102.622259,32.963988],[102.622228,32.963976],[102.622206,32.963968],[102.62215,32.963947],[102.621943,32.963869],[102.621695,32.963776],[102.621599,32.963739],[102.621186,32.963584],[102.619898,32.963098],[102.619545,32.963028],[102.619534,32.963026],[102.619415,32.963002],[102.619296,32.962979],[102.618494,32.962819],[102.618418,32.962804],[102.61794,32.962709],[102.615949,32.962087],[102.615916,32.962077],[102.615704,32.962011],[102.61569,32.962006],[102.615264,32.961873],[102.615128,32.961831],[102.615001,32.961791],[102.615024,32.961581],[102.615039,32.961439]]]]},"properties":{"cp":[102.84021326842111,32.73181473528267],"code":"513233205","name":"阿木乡","level":"street","center":[102.84021326842111,32.73181473528267],"fullCode":"513233205000","fullName":"四川省阿坝藏族羌族自治州红原县阿木乡","acreageMu":1338297.24,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.789,32.9154]}},{"id":"513233207","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.844495,33.079459],[102.844382,33.079401],[102.84443,33.079385],[102.844506,33.079376],[102.844569,33.078895],[102.844578,33.07883],[102.844641,33.07835],[102.844645,33.078323],[102.844646,33.078265],[102.844669,33.077341],[102.84467,33.077303],[102.844671,33.077231],[102.844935,33.07639],[102.844994,33.076401],[102.845031,33.0764],[102.845065,33.076391],[102.845099,33.076369],[102.845117,33.076336],[102.845115,33.076287],[102.845103,33.076236],[102.845079,33.076199],[102.84501,33.076158],[102.845141,33.075762],[102.845203,33.075757],[102.845243,33.075728],[102.845258,33.075685],[102.84528,33.075629],[102.845276,33.075575],[102.845265,33.075541],[102.845218,33.075529],[102.845455,33.074811],[102.845469,33.074509],[102.845517,33.07448],[102.845535,33.074447],[102.845541,33.074403],[102.845541,33.074363],[102.845527,33.074306],[102.84552,33.074258],[102.845519,33.074188],[102.845532,33.074119],[102.845563,33.07405],[102.845592,33.073981],[102.845605,33.073935],[102.845607,33.073897],[102.845582,33.073888],[102.845548,33.073897],[102.845496,33.073923],[102.8455,33.073836],[102.845469,33.073643],[102.845459,33.073577],[102.845259,33.072336],[102.845272,33.072264],[102.845273,33.072178],[102.845263,33.072102],[102.845242,33.072058],[102.845204,33.072041],[102.845118,33.072038],[102.84485,33.071477],[102.844725,33.070707],[102.844711,33.07062],[102.844589,33.069865],[102.844198,33.067669],[102.844189,33.06762],[102.844119,33.066488],[102.844117,33.066462],[102.843883,33.065075],[102.843901,33.064313],[102.844961,33.063485],[102.845547,33.062818],[102.84569,33.062453],[102.846066,33.062149],[102.84601,33.061697],[102.84563,33.060759],[102.845546,33.060108],[102.845335,33.059145],[102.845688,33.058389],[102.846445,33.057584],[102.846591,33.057107],[102.846806,33.056518],[102.846876,33.055023],[102.847498,33.054272],[102.848225,33.053325],[102.848508,33.052709],[102.849238,33.051621],[102.849892,33.050927],[102.850289,33.049748],[102.850368,33.049242],[102.850701,33.047977],[102.850947,33.047394],[102.851068,33.04711],[102.85111,33.04701],[102.851163,33.046885],[102.851659,33.045792],[102.852059,33.044501],[102.852986,33.04082],[102.852891,33.039182],[102.852846,33.038278],[102.853084,33.036786],[102.853592,33.035186],[102.85374,33.034468],[102.853801,33.034173],[102.854085,33.032796],[102.854443,33.031842],[102.854791,33.03134],[102.855469,33.030985],[102.856091,33.030234],[102.856445,33.02945],[102.856808,33.02827],[102.857282,33.026698],[102.857501,33.025968],[102.857227,33.024806],[102.85659,33.023469],[102.856544,33.022593],[102.856625,33.022002],[102.85701,33.021331],[102.857639,33.02027],[102.857759,33.01997],[102.857836,33.019781],[102.858102,33.01912],[102.858594,33.018169],[102.858539,33.017689],[102.857779,33.017224],[102.856349,33.016726],[102.856308,33.016712],[102.855598,33.016465],[102.855579,33.016458],[102.855544,33.016446],[102.855541,33.016445],[102.855534,33.016442],[102.855511,33.016434],[102.854623,33.016126],[102.85455,33.016089],[102.85453,33.016079],[102.853395,33.015513],[102.853221,33.01522],[102.852586,33.014663],[102.852178,33.014483],[102.85133,33.014245],[102.851089,33.014291],[102.849761,33.013586],[102.849572,33.013075],[102.849655,33.012427],[102.84989,33.01102],[102.850162,33.009757],[102.850117,33.009651],[102.850107,33.009517],[102.850136,33.009268],[102.850304,33.008986],[102.850449,33.008855],[102.850632,33.008782],[102.850754,33.008552],[102.851312,33.00763],[102.851562,33.007013],[102.851583,33.006139],[102.851285,33.004902],[102.851266,33.004823],[102.851248,33.00475],[102.851009,33.004252],[102.850895,33.004014],[102.850866,33.003953],[102.850544,33.003383],[102.850149,33.001653],[102.84996,33.001421],[102.849954,33.001414],[102.849953,33.001413],[102.849565,33.000939],[102.849522,33.000883],[102.849431,33.000768],[102.84943,33.000767],[102.849408,33.000739],[102.849273,33.000567],[102.848992,33.000135],[102.848753,32.999765],[102.848353,32.99915],[102.848335,32.999122],[102.84811,32.998776],[102.848012,32.998625],[102.846594,32.995025],[102.84578,32.993888],[102.845532,32.992523],[102.845557,32.992407],[102.845653,32.991957],[102.845761,32.991448],[102.84577,32.991403],[102.846145,32.990243],[102.846212,32.990035],[102.846226,32.989992],[102.846149,32.988913],[102.84629,32.988838],[102.846336,32.988793],[102.84637,32.988697],[102.846337,32.988587],[102.846298,32.988564],[102.84622,32.988564],[102.846126,32.98858],[102.846121,32.988511],[102.846271,32.986698],[102.846295,32.9864],[102.846309,32.986335],[102.846356,32.986117],[102.846456,32.985653],[102.846456,32.985653],[102.846467,32.985599],[102.846533,32.985295],[102.84693,32.984104],[102.846965,32.983908],[102.846999,32.983722],[102.847003,32.983697],[102.847006,32.983679],[102.847073,32.983306],[102.847078,32.983278],[102.847085,32.983243],[102.847091,32.983208],[102.847113,32.983087],[102.846892,32.981354],[102.846856,32.980936],[102.846845,32.980817],[102.846813,32.980434],[102.846785,32.980114],[102.846727,32.979443],[102.846553,32.979101],[102.846525,32.979047],[102.846332,32.978669],[102.846324,32.978653],[102.846225,32.978459],[102.84612,32.978163],[102.845784,32.977216],[102.845782,32.977209],[102.84538,32.976404],[102.845412,32.975118],[102.844927,32.973424],[102.843996,32.972277],[102.843972,32.972247],[102.844075,32.972171],[102.844142,32.972126],[102.844191,32.972072],[102.84419,32.971994],[102.844129,32.971926],[102.844076,32.971876],[102.843972,32.971822],[102.843797,32.971686],[102.84357,32.971563],[102.843563,32.97156],[102.843486,32.971518],[102.843218,32.971431],[102.843118,32.971444],[102.842919,32.97144],[102.84263,32.97147],[102.84238,32.971334],[102.841619,32.971021],[102.84064,32.971129],[102.839335,32.971256],[102.839267,32.971268],[102.839288,32.970765],[102.840628,32.970574],[102.842155,32.970493],[102.843744,32.970467],[102.844901,32.970021],[102.845807,32.969445],[102.8473,32.968208],[102.84967,32.966084],[102.850872,32.965052],[102.851996,32.964319],[102.85298,32.963434],[102.853286,32.962597],[102.853988,32.961587],[102.854856,32.961091],[102.858044,32.95907],[102.858705,32.9583],[102.858932,32.957991],[102.85902,32.957772],[102.859153,32.957528],[102.859254,32.957377],[102.859387,32.957147],[102.859496,32.956982],[102.85963,32.956773],[102.859755,32.956557],[102.859863,32.956364],[102.860098,32.956054],[102.8603,32.955824],[102.860467,32.955601],[102.860484,32.955576],[102.860635,32.955175],[102.86083,32.954846],[102.860864,32.954539],[102.860905,32.954352],[102.860996,32.95408],[102.861087,32.953893],[102.861205,32.953713],[102.861363,32.953469],[102.861455,32.953297],[102.861624,32.953016],[102.86167,32.952186],[102.861651,32.951857],[102.86162,32.951313],[102.861691,32.951315],[102.861744,32.950788],[102.861775,32.950484],[102.861808,32.949137],[102.861969,32.947739],[102.862638,32.94651],[102.863643,32.944587],[102.864585,32.942662],[102.865904,32.94096],[102.866394,32.939189],[102.866625,32.938309],[102.866746,32.937848],[102.866716,32.937779],[102.866382,32.937033],[102.865707,32.935889],[102.86523,32.934426],[102.865398,32.932757],[102.865955,32.93088],[102.867081,32.929228],[102.868257,32.92817],[102.869007,32.926242],[102.869858,32.925394],[102.870064,32.924805],[102.870228,32.923298],[102.870533,32.921255],[102.870938,32.920345],[102.871968,32.919496],[102.871693,32.92007],[102.871316,32.92156],[102.871284,32.922912],[102.871605,32.923752],[102.872158,32.924883],[102.87269,32.925439],[102.873804,32.925947],[102.874892,32.92611],[102.875972,32.926617],[102.876812,32.92715],[102.877686,32.927682],[102.878487,32.928444],[102.879622,32.929499],[102.880462,32.93006],[102.88147,32.930711],[102.882746,32.931567],[102.88366,32.931899],[102.884597,32.932663],[102.885266,32.933221],[102.886338,32.934045],[102.887179,32.934577],[102.888025,32.93485],[102.889218,32.934928],[102.89017,32.935088],[102.890806,32.935588],[102.891001,32.935994],[102.891224,32.93666],[102.891513,32.937442],[102.89211,32.938171],[102.892844,32.938845],[102.893542,32.939663],[102.893773,32.939983],[102.89386,32.940647],[102.893875,32.941453],[102.893751,32.942343],[102.893623,32.943434],[102.893464,32.944352],[102.8936,32.944383],[102.894722,32.944575],[102.89584,32.944939],[102.897195,32.945336],[102.898181,32.945496],[102.899676,32.945809],[102.900765,32.945914],[102.901924,32.945962],[102.902951,32.945864],[102.903707,32.945618],[102.904564,32.945489],[102.905414,32.945589],[102.906153,32.94612],[102.907391,32.947176],[102.907846,32.948134],[102.908545,32.948893],[102.909038,32.949679],[102.909909,32.950384],[102.911449,32.951647],[102.912465,32.951981],[102.912939,32.952161],[102.913242,32.952339],[102.912622,32.952587],[102.912574,32.952611],[102.912009,32.952887],[102.911482,32.953144],[102.910888,32.953738],[102.910227,32.954274],[102.909535,32.954665],[102.908971,32.955404],[102.908231,32.956428],[102.907793,32.957629],[102.907528,32.958718],[102.907099,32.959545],[102.907069,32.960811],[102.906946,32.961701],[102.906749,32.96423],[102.906522,32.965176],[102.906497,32.965334],[102.906495,32.965869],[102.906499,32.966255],[102.906439,32.966646],[102.90634,32.966847],[102.906244,32.967051],[102.906205,32.967212],[102.90613,32.967694],[102.906121,32.967749],[102.906063,32.968122],[102.906027,32.968355],[102.905999,32.968534],[102.906001,32.968584],[102.906008,32.968794],[102.906009,32.968813],[102.906011,32.968862],[102.906043,32.969763],[102.906044,32.969792],[102.906081,32.970837],[102.906163,32.971906],[102.906168,32.971965],[102.906193,32.972293],[102.906212,32.972537],[102.90621,32.972547],[102.906126,32.973054],[102.905943,32.97316],[102.905842,32.973237],[102.905686,32.973453],[102.905547,32.973693],[102.905436,32.973985],[102.905404,32.974157],[102.905462,32.974266],[102.905519,32.974347],[102.905554,32.974447],[102.905561,32.974561],[102.905513,32.974791],[102.90551,32.974799],[102.905355,32.975544],[102.90527,32.976262],[102.905155,32.976807],[102.904836,32.97732],[102.9047,32.978167],[102.904686,32.978259],[102.904675,32.978324],[102.904655,32.97847],[102.904633,32.978632],[102.904594,32.978913],[102.904561,32.979147],[102.904447,32.979969],[102.904366,32.980111],[102.904266,32.980259],[102.904233,32.980345],[102.904212,32.980503],[102.90423,32.980617],[102.904332,32.980799],[102.90433,32.98081],[102.904305,32.980994],[102.904256,32.981626],[102.904443,32.982349],[102.905163,32.983859],[102.905481,32.984526],[102.90555,32.98467],[102.906417,32.9869],[102.906576,32.987204],[102.906623,32.987326],[102.906681,32.987451],[102.906775,32.987602],[102.906836,32.987721],[102.90684,32.987808],[102.906877,32.987951],[102.906932,32.988087],[102.906997,32.988218],[102.907083,32.988337],[102.907148,32.988468],[102.907153,32.988593],[102.907112,32.988706],[102.907123,32.988829],[102.907153,32.98893],[102.907203,32.989031],[102.907229,32.989134],[102.907256,32.989241],[102.907257,32.989243],[102.907289,32.989367],[102.907377,32.989707],[102.907402,32.989805],[102.907673,32.989889],[102.907766,32.989945],[102.907883,32.990079],[102.907984,32.990283],[102.908002,32.990469],[102.907905,32.990584],[102.907786,32.990689],[102.907644,32.99074],[102.907704,32.990972],[102.907721,32.991037],[102.90796,32.99248],[102.908895,32.993387],[102.910068,32.994328],[102.910665,32.995057],[102.911393,32.996048],[102.911415,32.996074],[102.911493,32.996166],[102.91169,32.99629],[102.911844,32.996382],[102.911964,32.996527],[102.912034,32.996735],[102.912104,32.996916],[102.912156,32.996998],[102.912232,32.997048],[102.913258,32.998065],[102.913707,32.998406],[102.913747,32.998558],[102.913804,32.998675],[102.91386,32.998768],[102.91392,32.998843],[102.914031,32.998892],[102.914129,32.998931],[102.914209,32.998956],[102.914892,32.999732],[102.915434,32.999943],[102.916052,32.99978],[102.916126,32.999771],[102.916174,32.999764],[102.9162,32.999761],[102.917011,32.999653],[102.917514,32.999675],[102.918035,32.999698],[102.919982,32.999645],[102.920907,32.999516],[102.92169,32.999644],[102.922491,32.999642],[102.922543,32.999642],[102.923193,32.999641],[102.924316,32.999774],[102.925448,32.999592],[102.926467,32.99981],[102.926518,32.999816],[102.92683,32.999855],[102.927284,32.99991],[102.927557,32.999943],[102.928347,32.999726],[102.929353,32.999111],[102.929906,32.998774],[102.930204,32.998433],[102.930503,32.998093],[102.930961,32.997598],[102.930748,32.997514],[102.930684,32.997468],[102.930679,32.997396],[102.930704,32.997321],[102.930788,32.997263],[102.930902,32.997248],[102.931051,32.997236],[102.931208,32.997199],[102.93139,32.997147],[102.931714,32.997056],[102.932275,32.99677],[102.932608,32.996656],[102.932769,32.996601],[102.933285,32.996425],[102.933962,32.996193],[102.934749,32.996211],[102.935232,32.996222],[102.935324,32.99626],[102.935719,32.996425],[102.935852,32.996481],[102.936192,32.996622],[102.936612,32.996739],[102.936622,32.996741],[102.936887,32.996815],[102.936929,32.996827],[102.936943,32.997076],[102.93695,32.997206],[102.93694,32.997237],[102.936909,32.997338],[102.936905,32.997399],[102.936909,32.997525],[102.936929,32.997644],[102.936947,32.997751],[102.936954,32.99777],[102.936963,32.997787],[102.93698,32.997818],[102.937059,32.9979],[102.937139,32.997955],[102.937163,32.997974],[102.937142,32.998014],[102.937106,32.998043],[102.937052,32.998056],[102.936996,32.99804],[102.936958,32.998015],[102.936957,32.998075],[102.936956,32.998086],[102.936945,32.998557],[102.937224,32.99885],[102.93752,32.998759],[102.937586,32.998738],[102.937629,32.998709],[102.937689,32.99868],[102.937752,32.998662],[102.937807,32.99867],[102.938021,32.998604],[102.93804,32.998564],[102.93806,32.998523],[102.938081,32.998497],[102.938108,32.998472],[102.93813,32.998454],[102.938159,32.998434],[102.938193,32.998422],[102.938222,32.998415],[102.938256,32.998408],[102.938292,32.99841],[102.938331,32.998411],[102.938357,32.998413],[102.938389,32.998419],[102.938415,32.998425],[102.938434,32.998436],[102.938453,32.99845],[102.938469,32.998464],[102.938477,32.998497],[102.93883,32.998444],[102.93911,32.998689],[102.939105,32.998697],[102.9391,32.998709],[102.93907,32.998767],[102.939059,32.99879],[102.939043,32.998821],[102.938956,32.998995],[102.938944,32.999019],[102.938928,32.99905],[102.938898,32.999111],[102.938885,32.999137],[102.938751,32.999404],[102.938834,32.999835],[102.938853,32.999934],[102.938867,32.999974],[102.938875,32.999997],[102.938895,33.000053],[102.939019,33.000403],[102.939021,33.00041],[102.939024,33.000418],[102.939042,33.000467],[102.939069,33.000543],[102.939078,33.000571],[102.93931,33.001223],[102.939829,33.001618],[102.939572,33.002059],[102.940057,33.002453],[102.940541,33.002848],[102.940178,33.003287],[102.940114,33.003419],[102.939985,33.003684],[102.939919,33.003818],[102.939759,33.004002],[102.939731,33.004033],[102.93961,33.004071],[102.939537,33.004108],[102.939495,33.004134],[102.939403,33.004261],[102.939403,33.004286],[102.93889,33.004098],[102.938337,33.003766],[102.938229,33.003701],[102.938188,33.003968],[102.938272,33.004117],[102.938274,33.00412],[102.938383,33.004314],[102.938409,33.00436],[102.938425,33.004388],[102.938358,33.004432],[102.938342,33.004443],[102.938327,33.004453],[102.938262,33.004496],[102.938249,33.004505],[102.93823,33.004517],[102.937816,33.004794],[102.937788,33.004904],[102.937787,33.00491],[102.937786,33.004917],[102.93777,33.004977],[102.937741,33.005091],[102.937714,33.005202],[102.93766,33.005415],[102.93767,33.005428],[102.937918,33.005742],[102.937935,33.005764],[102.937969,33.005806],[102.93811,33.005948],[102.938167,33.006005],[102.93821,33.006048],[102.938205,33.006077],[102.938199,33.006109],[102.938197,33.006118],[102.938129,33.006492],[102.937805,33.006754],[102.937096,33.006951],[102.936373,33.007711],[102.936262,33.007878],[102.936249,33.007898],[102.936213,33.007952],[102.93608,33.008152],[102.935914,33.008704],[102.935908,33.008724],[102.935813,33.009039],[102.935438,33.009984],[102.934819,33.010806],[102.934762,33.010955],[102.934481,33.011691],[102.93449,33.011729],[102.934704,33.012705],[102.935033,33.013621],[102.935054,33.013682],[102.935069,33.013722],[102.935134,33.013858],[102.935164,33.013919],[102.935204,33.014003],[102.935674,33.01498],[102.93571,33.01506],[102.935717,33.015074],[102.935734,33.015114],[102.935742,33.01513],[102.935778,33.015212],[102.935942,33.015578],[102.936065,33.015696],[102.936191,33.015817],[102.936235,33.015859],[102.937046,33.016636],[102.93746,33.017342],[102.937508,33.017424],[102.937521,33.017447],[102.93782,33.017896],[102.938168,33.01842],[102.938174,33.01843],[102.938274,33.018581],[102.938279,33.018589],[102.938286,33.018599],[102.938339,33.018678],[102.938343,33.018702],[102.938345,33.018712],[102.93837,33.018701],[102.938446,33.018669],[102.938521,33.018625],[102.93852,33.018718],[102.938376,33.018899],[102.938525,33.019781],[102.938288,33.020847],[102.938445,33.021681],[102.938479,33.021746],[102.939121,33.02297],[102.939399,33.023421],[102.939937,33.024291],[102.940119,33.024354],[102.940279,33.024408],[102.940391,33.024447],[102.940623,33.024366],[102.940872,33.024278],[102.940879,33.024276],[102.941164,33.024176],[102.94128,33.024135],[102.942032,33.02392],[102.942559,33.02377],[102.943649,33.023907],[102.944453,33.024217],[102.945046,33.024524],[102.945566,33.024919],[102.945727,33.025575],[102.945435,33.026194],[102.945281,33.026518],[102.945072,33.026791],[102.944445,33.027604],[102.944594,33.027943],[102.944814,33.028442],[102.944982,33.028989],[102.945043,33.029189],[102.945058,33.030051],[102.944664,33.031827],[102.94418,33.032918],[102.943913,33.033805],[102.944072,33.034551],[102.944095,33.034921],[102.944123,33.035384],[102.944424,33.036102],[102.944406,33.036874],[102.944209,33.037241],[102.944185,33.037286],[102.943602,33.038079],[102.943658,33.038704],[102.943924,33.039421],[102.94475,33.040297],[102.945123,33.040957],[102.945112,33.041432],[102.944747,33.041931],[102.944704,33.042287],[102.944946,33.042499],[102.945685,33.04257],[102.946802,33.042783],[102.946879,33.042798],[102.947222,33.043098],[102.94723,33.043106],[102.947401,33.043255],[102.947433,33.043283],[102.947847,33.043646],[102.950089,33.046339],[102.950358,33.046662],[102.950379,33.046815],[102.950431,33.046911],[102.950535,33.047031],[102.950573,33.047075],[102.950715,33.047228],[102.950835,33.047306],[102.95104,33.047444],[102.951177,33.047521],[102.951336,33.04762],[102.951473,33.047748],[102.951564,33.047883],[102.951633,33.048022],[102.951643,33.048115],[102.951621,33.048179],[102.952035,33.048677],[102.952143,33.048753],[102.953077,33.049407],[102.954887,33.050447],[102.955224,33.051136],[102.954598,33.052421],[102.954577,33.052464],[102.954345,33.05294],[102.95424,33.053644],[102.954164,33.054391],[102.954105,33.054534],[102.954077,33.054667],[102.954007,33.054911],[102.953928,33.055083],[102.953828,33.055234],[102.953817,33.055363],[102.953789,33.055517],[102.953701,33.055665],[102.953639,33.05583],[102.95362,33.056019],[102.95363,33.056188],[102.953632,33.056324],[102.953616,33.056485],[102.953635,33.056631],[102.953696,33.056813],[102.953668,33.056932],[102.953601,33.057025],[102.953547,33.057108],[102.953527,33.057188],[102.953518,33.057226],[102.953515,33.057373],[102.953482,33.057455],[102.953438,33.057575],[102.953429,33.057599],[102.953401,33.057727],[102.953395,33.057754],[102.953401,33.058019],[102.953426,33.05914],[102.953439,33.059687],[102.953557,33.060173],[102.953721,33.060844],[102.954309,33.062117],[102.954944,33.063279],[102.955595,33.063773],[102.956519,33.063899],[102.957133,33.064058],[102.958356,33.064598],[102.959416,33.064541],[102.960792,33.064192],[102.962617,33.063516],[102.963865,33.06317],[102.96396,33.063143],[102.96426,33.06306],[102.965237,33.062816],[102.966028,33.06294],[102.966722,33.063472],[102.967116,33.06407],[102.967168,33.06407],[102.967212,33.06407],[102.967249,33.064082],[102.967288,33.064113],[102.9673,33.064167],[102.967297,33.064203],[102.96728,33.064215],[102.967228,33.064239],[102.967489,33.064636],[102.967934,33.065222],[102.968175,33.065539],[102.968292,33.06621],[102.968286,33.066451],[102.96828,33.06672],[102.968278,33.06679],[102.968298,33.066793],[102.968312,33.066798],[102.968323,33.066807],[102.96833,33.066818],[102.968346,33.066844],[102.968384,33.066858],[102.968404,33.066859],[102.968424,33.06686],[102.968462,33.066864],[102.96848,33.066872],[102.96849,33.066884],[102.968491,33.066904],[102.968473,33.066925],[102.968445,33.066929],[102.968403,33.066932],[102.96835,33.066937],[102.968321,33.066945],[102.968296,33.066961],[102.968281,33.066974],[102.96827,33.066993],[102.968269,33.067009],[102.968271,33.067024],[102.968278,33.067036],[102.96829,33.067047],[102.968302,33.067056],[102.968321,33.067071],[102.968356,33.067091],[102.968372,33.067101],[102.968392,33.067112],[102.968426,33.067137],[102.968447,33.067161],[102.968454,33.06718],[102.968445,33.067198],[102.968411,33.067212],[102.968398,33.067212],[102.968356,33.06722],[102.96835,33.067222],[102.968337,33.067232],[102.968324,33.06725],[102.968318,33.067277],[102.968322,33.0673],[102.968335,33.067312],[102.968363,33.067332],[102.968384,33.067336],[102.968404,33.067423],[102.968477,33.067736],[102.968553,33.067811],[102.969168,33.068416],[102.969685,33.068683],[102.969735,33.068709],[102.969749,33.068733],[102.969759,33.068742],[102.969795,33.068764],[102.969825,33.068783],[102.969864,33.068801],[102.969896,33.06882],[102.96992,33.068804],[102.969985,33.068838],[102.970433,33.069069],[102.971306,33.06967],[102.971649,33.069906],[102.971661,33.069933],[102.972195,33.071104],[102.972578,33.072109],[102.972614,33.072204],[102.972621,33.072223],[102.972648,33.072262],[102.972665,33.072291],[102.972677,33.072314],[102.972691,33.072337],[102.972705,33.072352],[102.972723,33.072365],[102.972746,33.07238],[102.972775,33.072413],[102.972803,33.072437],[102.972827,33.072459],[102.972831,33.072473],[102.972835,33.072484],[102.972837,33.072503],[102.972834,33.072516],[102.972809,33.072543],[102.972789,33.072563],[102.972789,33.072577],[102.972797,33.072602],[102.972803,33.072619],[102.972833,33.072668],[102.97286,33.072701],[102.972888,33.072742],[102.97291,33.072771],[102.972938,33.072801],[102.972978,33.072833],[102.972995,33.072855],[102.973046,33.072884],[102.973066,33.072893],[102.973059,33.072937],[102.973106,33.072967],[102.973176,33.073006],[102.973223,33.073032],[102.973267,33.073062],[102.973277,33.073082],[102.973282,33.073118],[102.973292,33.073146],[102.973322,33.073165],[102.97335,33.073177],[102.973391,33.07319],[102.973423,33.073214],[102.973442,33.07323],[102.973454,33.073252],[102.973466,33.073296],[102.973482,33.073314],[102.973529,33.073341],[102.973559,33.073361],[102.973583,33.073397],[102.973606,33.073428],[102.973636,33.073459],[102.97366,33.073485],[102.973776,33.073635],[102.973819,33.073704],[102.973849,33.07375],[102.973854,33.073756],[102.973904,33.07375],[102.97394,33.073796],[102.973967,33.07383],[102.973998,33.073857],[102.974025,33.073888],[102.974102,33.073961],[102.974151,33.074007],[102.974187,33.074036],[102.974217,33.074074],[102.974257,33.074135],[102.974299,33.074177],[102.974345,33.074214],[102.974391,33.074242],[102.974457,33.074265],[102.974485,33.07427],[102.974528,33.07428],[102.974546,33.074304],[102.974551,33.074329],[102.97453,33.074342],[102.9745,33.074373],[102.974482,33.074397],[102.974482,33.074409],[102.974503,33.074424],[102.974517,33.074424],[102.97453,33.074424],[102.974557,33.074417],[102.974592,33.074408],[102.974623,33.074427],[102.974632,33.074449],[102.97463,33.074478],[102.974618,33.0745],[102.974619,33.074523],[102.974631,33.074543],[102.974665,33.074558],[102.97468,33.074559],[102.974696,33.074559],[102.974716,33.074547],[102.974725,33.074528],[102.974725,33.0745],[102.974726,33.074486],[102.974729,33.074471],[102.974754,33.07446],[102.974774,33.074456],[102.974815,33.074466],[102.974832,33.074474],[102.974852,33.074486],[102.97486,33.074507],[102.974866,33.074527],[102.974873,33.074544],[102.974891,33.07456],[102.974915,33.074575],[102.974927,33.074586],[102.974935,33.074608],[102.974944,33.074623],[102.974963,33.074639],[102.974976,33.074656],[102.974975,33.074673],[102.974957,33.074692],[102.974947,33.074706],[102.974947,33.074717],[102.974953,33.074723],[102.974965,33.074727],[102.97498,33.074728],[102.974994,33.074725],[102.975017,33.074722],[102.975035,33.074711],[102.975037,33.074695],[102.97504,33.074675],[102.975047,33.074666],[102.975082,33.074672],[102.975101,33.074697],[102.97511,33.074721],[102.975128,33.074737],[102.975135,33.07474],[102.975155,33.07475],[102.975167,33.074772],[102.975148,33.074797],[102.975138,33.074808],[102.975132,33.074814],[102.975117,33.074839],[102.975114,33.07485],[102.975118,33.074861],[102.975127,33.074869],[102.975139,33.074872],[102.975161,33.074879],[102.975185,33.074894],[102.975209,33.074905],[102.97523,33.074922],[102.975258,33.074939],[102.975287,33.07496],[102.975302,33.074971],[102.975311,33.074994],[102.975308,33.075013],[102.975285,33.075026],[102.975268,33.075031],[102.975247,33.075035],[102.975233,33.07504],[102.975231,33.075048],[102.975234,33.07506],[102.975243,33.075066],[102.975253,33.075068],[102.975269,33.075069],[102.97529,33.075067],[102.975329,33.075072],[102.975356,33.075084],[102.975399,33.075081],[102.975412,33.075079],[102.975424,33.075074],[102.975457,33.075066],[102.975472,33.075075],[102.975479,33.075096],[102.975493,33.075107],[102.975505,33.075119],[102.975504,33.075149],[102.975497,33.075178],[102.975475,33.0752],[102.975454,33.075205],[102.975431,33.075194],[102.975432,33.075175],[102.975438,33.075152],[102.975437,33.075143],[102.975418,33.075143],[102.975409,33.075149],[102.975405,33.075162],[102.975405,33.07518],[102.975408,33.075202],[102.975409,33.075212],[102.975411,33.075229],[102.975412,33.075243],[102.97541,33.075255],[102.975403,33.075271],[102.975456,33.075352],[102.975708,33.075731],[102.975784,33.07606],[102.97587,33.076434],[102.9759,33.076565],[102.975931,33.076617],[102.975964,33.076668],[102.975994,33.076703],[102.976014,33.076721],[102.976044,33.076726],[102.976075,33.076731],[102.976139,33.076753],[102.976173,33.076777],[102.976197,33.076794],[102.976206,33.07682],[102.976207,33.076849],[102.976188,33.07689],[102.976152,33.076913],[102.976124,33.076942],[102.97611,33.076969],[102.976124,33.076997],[102.976134,33.077043],[102.976141,33.077065],[102.97615,33.077096],[102.976148,33.077127],[102.976137,33.077151],[102.976115,33.077176],[102.976067,33.077204],[102.976021,33.077226],[102.975987,33.077236],[102.975936,33.077246],[102.975916,33.077252],[102.975882,33.07774],[102.976311,33.078305],[102.977408,33.078583],[102.97755,33.078663],[102.978148,33.079003],[102.978661,33.079571],[102.978966,33.079908],[102.979567,33.080661],[102.980294,33.081676],[102.981612,33.081958],[102.982003,33.082224],[102.982649,33.082903],[102.983512,33.083772],[102.984031,33.084226],[102.984499,33.085014],[102.985049,33.086026],[102.985132,33.086162],[102.985363,33.086542],[102.985606,33.086943],[102.985688,33.087077],[102.985791,33.087132],[102.985844,33.087097],[102.985954,33.087109],[102.986004,33.08717],[102.986062,33.087192],[102.986151,33.087228],[102.986235,33.087244],[102.986326,33.087276],[102.986372,33.087311],[102.986403,33.08737],[102.986421,33.087408],[102.986387,33.087446],[102.98656,33.087537],[102.986654,33.087565],[102.987126,33.087706],[102.987181,33.087722],[102.987238,33.087739],[102.987875,33.08793],[102.988353,33.088182],[102.98871,33.08837],[102.988824,33.08843],[102.988965,33.088505],[102.988999,33.088951],[102.988992,33.089262],[102.988989,33.08941],[102.989081,33.089449],[102.989128,33.089493],[102.989139,33.089546],[102.989134,33.089602],[102.989111,33.089673],[102.989084,33.08971],[102.989027,33.089721],[102.988982,33.089715],[102.988919,33.08973],[102.988867,33.089752],[102.988813,33.08978],[102.988806,33.089824],[102.988826,33.089876],[102.98889,33.089939],[102.988927,33.089973],[102.988983,33.090017],[102.989034,33.090084],[102.989064,33.090145],[102.98911,33.090215],[102.989172,33.090273],[102.989269,33.090339],[102.989364,33.090465],[102.989491,33.090631],[102.990656,33.091231],[102.990756,33.091283],[102.990985,33.092048],[102.991003,33.092105],[102.991231,33.092496],[102.991257,33.092503],[102.991334,33.092519],[102.99138,33.092545],[102.99138,33.09259],[102.991339,33.092682],[102.99128,33.092725],[102.991255,33.092758],[102.991244,33.092806],[102.99125,33.092842],[102.991264,33.092873],[102.991287,33.092873],[102.99143,33.092838],[102.991706,33.093312],[102.991724,33.093342],[102.991725,33.093344],[102.991776,33.093355],[102.99183,33.093432],[102.991842,33.093494],[102.991864,33.093598],[102.991904,33.093685],[102.991958,33.093747],[102.992026,33.093815],[102.992094,33.093871],[102.992155,33.093915],[102.992219,33.093995],[102.992241,33.094058],[102.992209,33.094111],[102.992198,33.094183],[102.992208,33.094264],[102.992217,33.094338],[102.99226,33.094404],[102.992323,33.094442],[102.992435,33.094488],[102.992556,33.094709],[102.992569,33.094733],[102.992645,33.094872],[102.992657,33.094894],[102.992714,33.094999],[102.992724,33.095018],[102.992778,33.095116],[102.992791,33.09514],[102.992882,33.095307],[102.992893,33.095326],[102.992898,33.095336],[102.992957,33.095443],[102.992963,33.095448],[102.992987,33.095468],[102.993024,33.095499],[102.993059,33.095529],[102.993073,33.09554],[102.993191,33.09555],[102.993223,33.095552],[102.993248,33.09558],[102.993257,33.095624],[102.993266,33.095702],[102.993371,33.09579],[102.993453,33.095858],[102.993528,33.095921],[102.993551,33.09594],[102.993953,33.096277],[102.994552,33.097104],[102.995163,33.097344],[102.99534,33.097414],[102.995491,33.097303],[102.995513,33.097287],[102.995616,33.097212],[102.995789,33.097086],[102.995836,33.097096],[102.996039,33.097137],[102.996049,33.097139],[102.996102,33.09715],[102.99658,33.097248],[102.996695,33.097323],[102.996696,33.097265],[102.996695,33.097258],[102.996755,33.097256],[102.996838,33.097266],[102.996882,33.097285],[102.996913,33.097317],[102.996921,33.097354],[102.996911,33.097401],[102.996895,33.097455],[102.996909,33.097464],[102.997102,33.097591],[102.997232,33.097846],[102.99729,33.097841],[102.997343,33.097873],[102.997366,33.097918],[102.997368,33.097952],[102.99735,33.098004],[102.997308,33.098053],[102.997269,33.098059],[102.997233,33.09805],[102.997188,33.098032],[102.997137,33.098023],[102.997117,33.098035],[102.997103,33.098058],[102.997106,33.098094],[102.997135,33.098114],[102.997192,33.098145],[102.997242,33.098183],[102.997264,33.098226],[102.997264,33.098252],[102.997253,33.09827],[102.997227,33.098283],[102.997205,33.098296],[102.997209,33.098322],[102.997229,33.098339],[102.997277,33.09835],[102.997257,33.09855],[102.997256,33.098559],[102.997261,33.098615],[102.997271,33.098733],[102.997283,33.098875],[102.997206,33.098814],[102.997176,33.098787],[102.997123,33.098759],[102.99708,33.098754],[102.997051,33.098769],[102.997049,33.098811],[102.997095,33.098853],[102.997173,33.098898],[102.997243,33.098937],[102.997298,33.098966],[102.997385,33.099005],[102.997433,33.099035],[102.997437,33.099062],[102.997408,33.099089],[102.997359,33.099106],[102.997245,33.09913],[102.997172,33.099122],[102.99712,33.099096],[102.997095,33.099069],[102.997072,33.099044],[102.997038,33.099053],[102.997021,33.099073],[102.997039,33.099118],[102.997092,33.099162],[102.997137,33.099183],[102.997202,33.099217],[102.997226,33.099245],[102.997236,33.099284],[102.99724,33.099318],[102.997229,33.099362],[102.997202,33.099375],[102.997156,33.09938],[102.997122,33.099373],[102.9971,33.099379],[102.997073,33.099441],[102.997065,33.09949],[102.997027,33.099529],[102.996954,33.099554],[102.996924,33.099588],[102.996922,33.099634],[102.996923,33.099675],[102.996888,33.099719],[102.99685,33.09973],[102.996832,33.099749],[102.996854,33.099772],[102.99689,33.099779],[102.996915,33.099769],[102.996949,33.099732],[102.996991,33.099665],[102.997023,33.099625],[102.997057,33.099629],[102.997096,33.09965],[102.997132,33.099661],[102.997193,33.099649],[102.99725,33.099618],[102.997295,33.099615],[102.997341,33.099643],[102.997363,33.099695],[102.997361,33.099735],[102.997318,33.09976],[102.997232,33.099787],[102.997161,33.099794],[102.99711,33.09981],[102.997119,33.099837],[102.997156,33.099868],[102.997185,33.099874],[102.997206,33.099869],[102.997239,33.099837],[102.997281,33.099804],[102.997319,33.099782],[102.997366,33.099756],[102.997403,33.09975],[102.997437,33.099751],[102.997473,33.099767],[102.997485,33.099807],[102.99749,33.099873],[102.997499,33.099931],[102.997508,33.09996],[102.997532,33.100005],[102.99756,33.100042],[102.997607,33.100056],[102.997651,33.100049],[102.9978,33.099964],[102.997858,33.099933],[102.997886,33.099945],[102.997924,33.099988],[102.997929,33.100036],[102.997922,33.100064],[102.997913,33.10008],[102.997882,33.10011],[102.997876,33.100149],[102.997883,33.100164],[102.997911,33.100193],[102.997955,33.100218],[102.998054,33.100247],[102.99809,33.100244],[102.998117,33.100225],[102.998153,33.100255],[102.998188,33.100283],[102.998445,33.100478],[102.998839,33.100777],[102.999123,33.101199],[102.999213,33.101333],[102.999221,33.101345],[102.999211,33.101419],[102.999219,33.10149],[102.99924,33.101526],[102.999299,33.101548],[102.999332,33.101555],[102.999365,33.10156],[102.999383,33.101556],[102.999431,33.101555],[102.99948,33.101555],[102.99955,33.101557],[102.999567,33.101567],[102.99956,33.101582],[102.999525,33.101596],[102.999425,33.10163],[102.999457,33.101658],[102.99957,33.101757],[102.999784,33.101944],[103.000106,33.102294],[103.000462,33.10268],[103.000611,33.103062],[103.000655,33.103075],[103.000689,33.103106],[103.000712,33.103138],[103.000733,33.103183],[103.000763,33.103218],[103.000804,33.103233],[103.000831,33.103253],[103.000861,33.103282],[103.000853,33.103309],[103.000822,33.103328],[103.000788,33.10334],[103.00074,33.103394],[103.000745,33.103408],[103.000818,33.103578],[103.000854,33.103663],[103.001029,33.104074],[103.001466,33.104616],[103.00167,33.104724],[103.001836,33.104811],[103.002321,33.104818],[103.002523,33.104738],[103.002571,33.104718],[103.00256,33.104701],[103.002561,33.104674],[103.002573,33.104646],[103.002598,33.10461],[103.002622,33.104577],[103.002643,33.104541],[103.002658,33.104529],[103.002673,33.104527],[103.002698,33.104549],[103.002706,33.104574],[103.002712,33.104598],[103.002719,33.104615],[103.002728,33.104625],[103.002753,33.10463],[103.002788,33.104621],[103.002821,33.104602],[103.002833,33.104573],[103.002837,33.104544],[103.002842,33.104515],[103.002854,33.104493],[103.002885,33.104484],[103.002919,33.104494],[103.002962,33.104516],[103.002983,33.104539],[103.00299,33.104569],[103.003026,33.104565],[103.003063,33.104554],[103.003089,33.104541],[103.003113,33.104531],[103.003137,33.104528],[103.003157,33.104528],[103.003185,33.104535],[103.003215,33.104544],[103.003236,33.104542],[103.003675,33.104494],[103.003857,33.104717],[103.00381,33.105126],[103.003771,33.105182],[103.003661,33.105336],[103.003653,33.105348],[103.003608,33.105411],[103.003668,33.105385],[103.003688,33.105378],[103.003733,33.105374],[103.003761,33.105384],[103.003766,33.105404],[103.003751,33.105424],[103.003718,33.105444],[103.003664,33.105459],[103.003608,33.105478],[103.003584,33.105493],[103.003553,33.105529],[103.003535,33.105556],[103.003519,33.105584],[103.003495,33.105613],[103.003465,33.10564],[103.003447,33.105681],[103.003393,33.105798],[103.003386,33.105814],[103.003347,33.105898],[103.003344,33.105905],[103.003415,33.106097],[103.003428,33.106132],[103.003433,33.106145],[103.003433,33.106145],[103.003507,33.106343],[103.003516,33.106369],[103.003487,33.10638],[103.00347,33.106374],[103.003449,33.106364],[103.003438,33.106356],[103.003432,33.106401],[103.003435,33.106458],[103.003453,33.106491],[103.003558,33.10652],[103.003708,33.106527],[103.003742,33.106542],[103.003747,33.10657],[103.003729,33.106607],[103.003699,33.10671],[103.003699,33.106752],[103.003701,33.106825],[103.003722,33.106883],[103.003756,33.106942],[103.003803,33.106974],[103.003907,33.106978],[103.004004,33.106968],[103.004061,33.106946],[103.004131,33.106907],[103.004186,33.106848],[103.004233,33.106786],[103.004308,33.106712],[103.004325,33.106664],[103.004345,33.106648],[103.00437,33.106652],[103.004399,33.106657],[103.00444,33.10668],[103.004461,33.106699],[103.004482,33.106748],[103.004496,33.106799],[103.004506,33.106828],[103.004519,33.106844],[103.00455,33.106869],[103.004616,33.106874],[103.004659,33.106866],[103.004743,33.106819],[103.00483,33.106814],[103.004875,33.10685],[103.004908,33.10688],[103.004916,33.106908],[103.004904,33.106996],[103.004934,33.10703],[103.004985,33.107085],[103.005013,33.107163],[103.004992,33.107208],[103.004963,33.107274],[103.004968,33.107329],[103.004978,33.107358],[103.005021,33.107416],[103.005063,33.107478],[103.005115,33.10752],[103.005172,33.107558],[103.005246,33.107583],[103.005359,33.107587],[103.005458,33.107614],[103.005522,33.107672],[103.005559,33.107681],[103.005603,33.10769],[103.005652,33.107725],[103.005677,33.10776],[103.005706,33.107784],[103.005742,33.107806],[103.00579,33.107832],[103.005847,33.107851],[103.005915,33.107876],[103.005961,33.107893],[103.005998,33.107912],[103.006019,33.107956],[103.006044,33.107994],[103.006084,33.108065],[103.006087,33.108071],[103.006123,33.108138],[103.006175,33.108189],[103.006197,33.108208],[103.006188,33.108258],[103.006154,33.108294],[103.006129,33.108331],[103.006118,33.108386],[103.006117,33.108444],[103.006144,33.108498],[103.006168,33.108517],[103.00619,33.108526],[103.006234,33.108528],[103.006266,33.108524],[103.006357,33.108508],[103.00638,33.108531],[103.006379,33.10856],[103.006369,33.108576],[103.006348,33.108603],[103.006355,33.10864],[103.006369,33.10867],[103.006384,33.108684],[103.00641,33.108697],[103.006518,33.108739],[103.006557,33.108762],[103.006601,33.108786],[103.006632,33.108787],[103.006687,33.108786],[103.006695,33.10878],[103.006728,33.108793],[103.006768,33.10882],[103.006804,33.108836],[103.006842,33.108845],[103.006822,33.108886],[103.006861,33.108955],[103.006867,33.108965],[103.006869,33.108988],[103.006866,33.10903],[103.006872,33.109076],[103.006899,33.109105],[103.006951,33.109125],[103.00699,33.109143],[103.007032,33.109168],[103.007074,33.109199],[103.007127,33.109235],[103.00719,33.109263],[103.007251,33.109271],[103.007288,33.109267],[103.007331,33.109251],[103.007364,33.109229],[103.007389,33.109207],[103.007427,33.10919],[103.007481,33.109181],[103.007532,33.109172],[103.007569,33.109152],[103.0076,33.109133],[103.00762,33.109107],[103.007631,33.109081],[103.00765,33.109055],[103.007681,33.109035],[103.00774,33.109025],[103.007767,33.109031],[103.007805,33.109058],[103.007843,33.109091],[103.007875,33.109118],[103.007899,33.109136],[103.007941,33.109158],[103.007972,33.109163],[103.008006,33.109164],[103.008024,33.109151],[103.008034,33.10913],[103.008035,33.109108],[103.008104,33.109123],[103.008133,33.109129],[103.008298,33.10914],[103.00854,33.109156],[103.008569,33.109158],[103.008768,33.109171],[103.008904,33.10925],[103.008943,33.109273],[103.0091,33.109365],[103.009122,33.109384],[103.00918,33.109435],[103.009376,33.109607],[103.00943,33.109653],[103.009375,33.109836],[103.00936,33.109883],[103.009268,33.110186],[103.009288,33.110682],[103.009292,33.110784],[103.009659,33.111186],[103.009682,33.11121],[103.009723,33.111256],[103.00973,33.111263],[103.009893,33.111342],[103.009935,33.111325],[103.01,33.111311],[103.010083,33.111311],[103.010156,33.111314],[103.010265,33.11135],[103.010366,33.111375],[103.010445,33.111369],[103.010554,33.111331],[103.010665,33.111322],[103.010739,33.111335],[103.010801,33.111368],[103.010876,33.111395],[103.010967,33.111397],[103.011032,33.111365],[103.011101,33.111305],[103.011155,33.111273],[103.01121,33.111226],[103.011258,33.111167],[103.011289,33.111109],[103.011292,33.111046],[103.011297,33.110965],[103.011296,33.110948],[103.011294,33.110872],[103.011289,33.110846],[103.011283,33.110811],[103.011261,33.110768],[103.011244,33.110724],[103.011261,33.110682],[103.01129,33.110681],[103.011367,33.110686],[103.011415,33.110684],[103.011445,33.110668],[103.01145,33.110631],[103.01145,33.110589],[103.011445,33.110502],[103.011426,33.110441],[103.011399,33.110405],[103.011351,33.110362],[103.011326,33.110322],[103.011289,33.110261],[103.011244,33.110198],[103.011191,33.110137],[103.011166,33.110087],[103.011161,33.110039],[103.01121,33.110019],[103.011342,33.110021],[103.01139,33.11003],[103.011419,33.110059],[103.011431,33.110094],[103.011452,33.110135],[103.011465,33.110176],[103.011465,33.110202],[103.011477,33.110236],[103.011494,33.110262],[103.011517,33.110275],[103.011539,33.110286],[103.011574,33.110294],[103.011618,33.110295],[103.011663,33.110288],[103.011723,33.110264],[103.01176,33.110249],[103.011802,33.110238],[103.011854,33.110239],[103.011867,33.110243],[103.011884,33.11025],[103.011908,33.110262],[103.011949,33.110279],[103.011996,33.11031],[103.012034,33.110329],[103.012073,33.110335],[103.012119,33.110336],[103.01215,33.110323],[103.012179,33.110306],[103.012215,33.110292],[103.012249,33.110307],[103.012279,33.110326],[103.012294,33.110346],[103.012315,33.110363],[103.01233,33.110377],[103.012354,33.110384],[103.012387,33.110395],[103.012399,33.110411],[103.012417,33.110456],[103.012438,33.110483],[103.01246,33.110524],[103.012476,33.110539],[103.012514,33.110544],[103.012549,33.110541],[103.012582,33.110521],[103.012608,33.11049],[103.012624,33.110462],[103.012635,33.110433],[103.012645,33.110402],[103.012647,33.110383],[103.012651,33.110309],[103.012655,33.110247],[103.012664,33.110181],[103.012681,33.110114],[103.012711,33.110064],[103.012754,33.110042],[103.012834,33.110054],[103.012879,33.11008],[103.01294,33.110128],[103.012976,33.110158],[103.013011,33.110179],[103.013046,33.110188],[103.013076,33.11019],[103.013119,33.110184],[103.013163,33.110173],[103.013213,33.110147],[103.013263,33.110121],[103.013321,33.110092],[103.013499,33.110002],[103.013621,33.110004],[103.014019,33.11001],[103.014171,33.110012],[103.014503,33.110238],[103.01452,33.110348],[103.01456,33.110604],[103.014577,33.110714],[103.014617,33.110722],[103.01463,33.110731],[103.014637,33.110752],[103.014632,33.110773],[103.014622,33.110794],[103.014613,33.110827],[103.014606,33.110852],[103.014608,33.110882],[103.014616,33.110908],[103.014622,33.11093],[103.014623,33.11095],[103.014608,33.11097],[103.014606,33.110971],[103.01461,33.111045],[103.014627,33.111373],[103.014501,33.112],[103.014595,33.112058],[103.014631,33.112079],[103.014639,33.112084],[103.01468,33.112056],[103.014699,33.112052],[103.01473,33.112067],[103.01474,33.112083],[103.014753,33.112105],[103.01476,33.112128],[103.014799,33.112181],[103.014803,33.11219],[103.01483,33.112213],[103.014869,33.112235],[103.014891,33.112254],[103.0149,33.112265],[103.014899,33.112282],[103.014883,33.112291],[103.014869,33.112315],[103.01487,33.112339],[103.014885,33.112356],[103.014915,33.112368],[103.014983,33.11238],[103.015029,33.112371],[103.015072,33.112441],[103.015159,33.112584],[103.015171,33.112604],[103.015233,33.112705],[103.015147,33.113207],[103.015495,33.113537],[103.015586,33.113623],[103.015586,33.113623],[103.015607,33.113647],[103.015956,33.114065],[103.015987,33.114101],[103.016025,33.114142],[103.016091,33.114214],[103.016252,33.114387],[103.016462,33.114613],[103.016481,33.114728],[103.016576,33.115299],[103.016578,33.115309],[103.016582,33.115332],[103.016593,33.115402],[103.016594,33.115406],[103.016597,33.115423],[103.016625,33.115571],[103.016629,33.115591],[103.016629,33.115595],[103.016641,33.115655],[103.016642,33.11566],[103.016644,33.115674],[103.016688,33.11591],[103.016692,33.115932],[103.016736,33.116165],[103.01674,33.116186],[103.016794,33.116475],[103.017154,33.116731],[103.017179,33.116749],[103.017276,33.116817],[103.017298,33.116833],[103.017383,33.116893],[103.017663,33.116975],[103.017705,33.116953],[103.017729,33.116943],[103.017775,33.11694],[103.017807,33.116952],[103.01784,33.116968],[103.01788,33.116993],[103.017896,33.117014],[103.01791,33.117046],[103.018059,33.11709],[103.018113,33.117106],[103.018131,33.117111],[103.018339,33.117171],[103.018373,33.117162],[103.01848,33.11713],[103.018576,33.117134],[103.018644,33.117219],[103.018717,33.117248],[103.018781,33.117259],[103.01886,33.117251],[103.018922,33.117232],[103.018993,33.117217],[103.019029,33.117227],[103.019063,33.117257],[103.01909,33.117324],[103.019136,33.117383],[103.019171,33.117423],[103.019227,33.117455],[103.019271,33.117467],[103.01934,33.117468],[103.01941,33.117467],[103.019487,33.117487],[103.019513,33.1175],[103.019526,33.117542],[103.019522,33.117614],[103.019517,33.117658],[103.019664,33.117741],[103.019643,33.117793],[103.019632,33.117834],[103.019632,33.117883],[103.019655,33.117933],[103.019679,33.11796],[103.01971,33.117963],[103.019749,33.117945],[103.019803,33.117915],[103.01985,33.117903],[103.019911,33.117897],[103.019928,33.117944],[103.019958,33.118024],[103.019978,33.118007],[103.019996,33.11798],[103.020016,33.117962],[103.020043,33.117953],[103.020088,33.11795],[103.020128,33.117959],[103.020157,33.117976],[103.02019,33.117999],[103.020206,33.118021],[103.020221,33.118044],[103.020234,33.11808],[103.020226,33.118118],[103.020222,33.118142],[103.020238,33.118171],[103.02026,33.118182],[103.020298,33.118188],[103.020332,33.118208],[103.020321,33.118223],[103.020284,33.118238],[103.020264,33.11825],[103.020241,33.118255],[103.020212,33.118261],[103.020172,33.118265],[103.020138,33.11826],[103.020111,33.118242],[103.020092,33.118216],[103.020085,33.11819],[103.020078,33.118171],[103.020058,33.118124],[103.02004,33.118113],[103.020011,33.1181],[103.019985,33.118097],[103.020003,33.118145],[103.020047,33.118264],[103.020116,33.118448],[103.020461,33.118531],[103.020674,33.118582],[103.021023,33.118707],[103.021082,33.118727],[103.02123,33.11878],[103.021264,33.118818],[103.021668,33.119259],[103.021699,33.119563],[103.021709,33.119658],[103.021755,33.119696],[103.021771,33.119717],[103.0218,33.119749],[103.021803,33.119782],[103.021798,33.119809],[103.02179,33.119836],[103.021779,33.119871],[103.02177,33.119906],[103.021761,33.119946],[103.02174,33.119989],[103.021719,33.120008],[103.021712,33.120032],[103.021712,33.120054],[103.021732,33.120073],[103.021747,33.120079],[103.02175,33.120118],[103.02175,33.120128],[103.021751,33.120141],[103.021759,33.120236],[103.021818,33.120291],[103.021938,33.120401],[103.022415,33.120837],[103.022528,33.120941],[103.022644,33.121014],[103.022688,33.121041],[103.022719,33.12106],[103.022731,33.121077],[103.022764,33.121121],[103.022797,33.121165],[103.022819,33.121194],[103.022852,33.121206],[103.022891,33.121212],[103.023045,33.121264],[103.023128,33.121265],[103.023429,33.12127],[103.023567,33.121273],[103.023582,33.121267],[103.023599,33.121261],[103.023618,33.121256],[103.023699,33.121247],[103.023802,33.121254],[103.023859,33.121263],[103.024107,33.121217],[103.024118,33.121215],[103.024267,33.121187],[103.024305,33.121197],[103.024323,33.121202],[103.024347,33.121204],[103.024391,33.121216],[103.024421,33.121228],[103.024436,33.121242],[103.024437,33.121252],[103.024436,33.121282],[103.024428,33.121298],[103.024411,33.121327],[103.024412,33.121345],[103.024417,33.121366],[103.024447,33.12138],[103.024487,33.121386],[103.024533,33.121385],[103.024584,33.121375],[103.024615,33.121359],[103.024641,33.121332],[103.024656,33.121303],[103.024667,33.12127],[103.024676,33.121243],[103.02469,33.121208],[103.024697,33.121179],[103.024707,33.12115],[103.024712,33.121132],[103.024706,33.121106],[103.024694,33.121069],[103.024691,33.121055],[103.024673,33.121016],[103.024667,33.120986],[103.024668,33.120965],[103.024707,33.120954],[103.024752,33.120978],[103.024784,33.121002],[103.02483,33.121043],[103.024841,33.12108],[103.024842,33.1211],[103.024838,33.12112],[103.024832,33.121139],[103.024827,33.121157],[103.024818,33.121179],[103.02481,33.1212],[103.02481,33.12122],[103.024813,33.121242],[103.024828,33.121258],[103.024857,33.121269],[103.024913,33.12128],[103.024953,33.12128],[103.024998,33.121276],[103.025021,33.121267],[103.025046,33.121243],[103.025058,33.121226],[103.025074,33.121189],[103.025083,33.121166],[103.02508,33.121149],[103.025077,33.121132],[103.025074,33.121114],[103.02507,33.121097],[103.025068,33.12108],[103.025069,33.12106],[103.025233,33.121048],[103.025968,33.120996],[103.026047,33.121012],[103.027122,33.121234],[103.027291,33.121322],[103.027936,33.121656],[103.028157,33.122108],[103.028165,33.122123],[103.028195,33.122184],[103.028227,33.12225],[103.028294,33.122386],[103.028276,33.123172],[103.028262,33.123248],[103.02826,33.123263],[103.028233,33.123408],[103.028224,33.123457],[103.028215,33.123508],[103.028197,33.12361],[103.028191,33.123643],[103.02828,33.123744],[103.028341,33.123746],[103.028413,33.123757],[103.028481,33.123776],[103.028525,33.123794],[103.028573,33.123817],[103.028609,33.123843],[103.028641,33.123869],[103.028654,33.123896],[103.028675,33.123929],[103.028697,33.123947],[103.028743,33.123974],[103.028931,33.124001],[103.029399,33.123982],[103.029492,33.123979],[103.029903,33.124017],[103.030231,33.124303],[103.030184,33.124324],[103.030172,33.124341],[103.03015,33.12438],[103.03015,33.124395],[103.030169,33.124422],[103.030176,33.124426],[103.0302,33.124441],[103.030236,33.124452],[103.030261,33.124464],[103.030276,33.12446],[103.030311,33.124589],[103.030332,33.124666],[103.030344,33.124711],[103.030371,33.124811],[103.030514,33.125128],[103.030848,33.125228],[103.031089,33.125104],[103.031158,33.125069],[103.031265,33.125014],[103.031688,33.124485],[103.032065,33.124366],[103.032677,33.124505],[103.032726,33.124516],[103.032809,33.124535],[103.032961,33.124553],[103.033704,33.124643],[103.034095,33.12459],[103.034243,33.12457],[103.034517,33.124532],[103.034525,33.124553],[103.034536,33.124568],[103.034593,33.124613],[103.034631,33.124633],[103.034661,33.124638],[103.034692,33.124636],[103.034729,33.124615],[103.034762,33.124594],[103.034789,33.124577],[103.034813,33.124572],[103.034847,33.124581],[103.034875,33.124596],[103.034905,33.124603],[103.034955,33.1246],[103.034989,33.124583],[103.035013,33.124569],[103.035031,33.124554],[103.035045,33.124538],[103.035058,33.124523],[103.03507,33.124501],[103.03508,33.124475],[103.035076,33.124449],[103.035065,33.124432],[103.035036,33.124404],[103.035004,33.124382],[103.034983,33.124362],[103.034979,33.124341],[103.034987,33.12433],[103.035002,33.124321],[103.035036,33.124313],[103.03506,33.124312],[103.035083,33.124318],[103.035103,33.124328],[103.035114,33.124342],[103.035128,33.124365],[103.03514,33.124393],[103.035152,33.12442],[103.035161,33.124444],[103.035171,33.124467],[103.035184,33.124484],[103.035197,33.124492],[103.035224,33.124505],[103.035254,33.124513],[103.035282,33.124514],[103.035358,33.124509],[103.035388,33.124499],[103.035418,33.124485],[103.035435,33.12447],[103.035452,33.124452],[103.035468,33.124439],[103.03549,33.124428],[103.035528,33.124416],[103.035556,33.124417],[103.035585,33.124433],[103.035582,33.12446],[103.035569,33.124475],[103.035554,33.12448],[103.035521,33.124498],[103.035506,33.124507],[103.035488,33.124515],[103.035468,33.124537],[103.035457,33.124556],[103.03545,33.124578],[103.035469,33.124601],[103.035495,33.124618],[103.035524,33.124635],[103.0356,33.124646],[103.035688,33.124632],[103.035736,33.124615],[103.035986,33.124648],[103.036034,33.124659],[103.036544,33.124782],[103.037105,33.12476],[103.037527,33.124326],[103.037817,33.124189],[103.03798,33.124113],[103.038271,33.124135],[103.038306,33.124154],[103.038333,33.124163],[103.038373,33.124166],[103.038415,33.124173],[103.038444,33.124185],[103.038464,33.124202],[103.038484,33.124223],[103.038517,33.124245],[103.038539,33.124276],[103.038553,33.12431],[103.038555,33.124333],[103.038546,33.124362],[103.038518,33.124381],[103.038501,33.124398],[103.038481,33.124411],[103.038436,33.124434],[103.038411,33.124474],[103.038413,33.124513],[103.038425,33.124551],[103.038448,33.124571],[103.038513,33.124587],[103.038555,33.124586],[103.038605,33.124583],[103.038675,33.124583],[103.038688,33.124588],[103.0387,33.12462],[103.038692,33.124676],[103.03867,33.124712],[103.038656,33.124758],[103.038661,33.124809],[103.038684,33.124856],[103.038519,33.125097],[103.038596,33.125186],[103.038802,33.125427],[103.038847,33.12548],[103.038988,33.125489],[103.039482,33.125521],[103.039545,33.125507],[103.040122,33.125374],[103.040426,33.125425],[103.040679,33.125468],[103.040783,33.125486],[103.040853,33.125498],[103.040882,33.125522],[103.040899,33.125528],[103.040928,33.125534],[103.040956,33.125543],[103.040983,33.125552],[103.041059,33.125596],[103.041078,33.12561],[103.041119,33.125639],[103.041149,33.12566],[103.041236,33.125722],[103.041531,33.125931],[103.041659,33.126276],[103.041739,33.126492],[103.041742,33.126501],[103.041752,33.126598],[103.041773,33.126816],[103.042328,33.127077],[103.04289,33.127023],[103.043303,33.126866],[103.043569,33.126765],[103.043607,33.126751],[103.044159,33.126667],[103.044217,33.126658],[103.044232,33.126656],[103.044241,33.126667],[103.044264,33.126685],[103.044317,33.1267],[103.044374,33.12671],[103.04443,33.126712],[103.044487,33.126698],[103.044542,33.126679],[103.044581,33.126657],[103.044608,33.126639],[103.044652,33.126598],[103.044706,33.126591],[103.044869,33.12657],[103.045201,33.126527],[103.045221,33.126524],[103.045236,33.126522],[103.045671,33.126437],[103.046265,33.126666],[103.04653,33.126727],[103.047009,33.126836],[103.04773,33.126817],[103.047767,33.126806],[103.047826,33.12679],[103.047852,33.126782],[103.047872,33.126786],[103.048322,33.126667],[103.048922,33.126582],[103.048939,33.126581],[103.049416,33.126555],[103.049724,33.126539],[103.049737,33.126538],[103.049821,33.126533],[103.05046,33.126324],[103.051291,33.126053],[103.052377,33.125975],[103.053574,33.125963],[103.054513,33.12582],[103.055303,33.125741],[103.055351,33.125736],[103.0556,33.125711],[103.05683,33.12561],[103.057211,33.125579],[103.058862,33.125353],[103.06006,33.125308],[103.061785,33.125115],[103.062842,33.125031],[103.063434,33.124983],[103.064328,33.125155],[103.065495,33.128226],[103.065744,33.128796],[103.066639,33.128904],[103.067463,33.128854],[103.069706,33.128952],[103.070755,33.128874],[103.072174,33.12899],[103.073453,33.130363],[103.073888,33.131056],[103.073944,33.131144],[103.074176,33.131514],[103.074196,33.131545],[103.074197,33.131547],[103.074212,33.131571],[103.074849,33.133249],[103.074696,33.133199],[103.074522,33.1332],[103.074424,33.133219],[103.074404,33.133266],[103.074413,33.133348],[103.074453,33.133441],[103.074526,33.133497],[103.07465,33.13355],[103.07474,33.13361],[103.074899,33.133736],[103.074911,33.133848],[103.075345,33.134516],[103.075937,33.13484],[103.078205,33.135473],[103.080146,33.135692],[103.081307,33.135615],[103.082047,33.135973],[103.082068,33.135976],[103.082831,33.136079],[103.083459,33.136435],[103.083375,33.136533],[103.083405,33.136675],[103.083504,33.136861],[103.083655,33.137189],[103.083754,33.137388],[103.083836,33.137593],[103.083871,33.137692],[103.083958,33.137849],[103.084016,33.137963],[103.084086,33.138087],[103.084166,33.138143],[103.084226,33.138185],[103.084857,33.139622],[103.085072,33.140113],[103.085129,33.140151],[103.085224,33.140233],[103.085315,33.140379],[103.085354,33.14045],[103.085389,33.140536],[103.085421,33.140686],[103.085444,33.140803],[103.085465,33.141064],[103.085475,33.141297],[103.085472,33.141386],[103.085452,33.141455],[103.085415,33.141544],[103.085437,33.141634],[103.085523,33.141687],[103.085621,33.141764],[103.085691,33.14185],[103.085825,33.14194],[103.085881,33.142075],[103.08591,33.142201],[103.085918,33.142236],[103.08612,33.143117],[103.086857,33.144555],[103.086859,33.144561],[103.08696,33.144758],[103.087435,33.145684],[103.087456,33.145725],[103.08805,33.146885],[103.0884,33.146937],[103.088753,33.147005],[103.089233,33.147077],[103.089483,33.147159],[103.089447,33.147234],[103.089426,33.147278],[103.08918,33.147425],[103.089075,33.14754],[103.088967,33.147656],[103.088687,33.147881],[103.088571,33.147901],[103.088994,33.148728],[103.088996,33.148731],[103.089146,33.149024],[103.08933,33.149383],[103.089382,33.149484],[103.089539,33.14979],[103.089566,33.149843],[103.089882,33.150504],[103.090067,33.150889],[103.090161,33.15174],[103.090206,33.152182],[103.090263,33.152222],[103.090656,33.152496],[103.09081,33.152518],[103.090868,33.152624],[103.090998,33.152814],[103.091019,33.15284],[103.09107,33.152903],[103.091142,33.152998],[103.091137,33.153141],[103.091011,33.153279],[103.090636,33.153434],[103.090474,33.153492],[103.090573,33.153681],[103.090963,33.154428],[103.091088,33.154546],[103.09188,33.155292],[103.092615,33.155869],[103.093157,33.15679],[103.093466,33.157091],[103.093816,33.15743],[103.093868,33.157689],[103.093918,33.157935],[103.093917,33.157965],[103.093906,33.158476],[103.093905,33.158502],[103.093633,33.159001],[103.093483,33.159257],[103.09305,33.159999],[103.092612,33.160511],[103.09225,33.160935],[103.091754,33.161517],[103.09159,33.161708],[103.09157,33.162652],[103.091701,33.163844],[103.091756,33.164341],[103.091772,33.164486],[103.091883,33.165497],[103.091888,33.165537],[103.09182,33.1656],[103.091591,33.165584],[103.091443,33.165639],[103.091433,33.165645],[103.09152,33.165732],[103.091714,33.165909],[103.091808,33.166057],[103.091888,33.166253],[103.092005,33.166424],[103.092069,33.166813],[103.09211,33.167067],[103.092237,33.168139],[103.093096,33.169946],[103.093294,33.170724],[103.093337,33.170894],[103.09339,33.171894],[103.09339,33.171902],[103.093389,33.172164],[103.093385,33.172831],[103.093383,33.173386],[103.093379,33.174136],[103.093372,33.174438],[103.093362,33.174923],[103.093373,33.175038],[103.093422,33.175514],[103.093454,33.175837],[103.093441,33.175994],[103.093354,33.177032],[103.093047,33.17776],[103.092959,33.17797],[103.092198,33.178525],[103.091267,33.179046],[103.090721,33.179352],[103.090478,33.179431],[103.088874,33.179953],[103.087701,33.180367],[103.087594,33.180405],[103.087304,33.180507],[103.087252,33.180526],[103.086823,33.180677],[103.08563,33.181099],[103.085248,33.181439],[103.085214,33.181739],[103.085211,33.181768],[103.085202,33.181848],[103.085297,33.182636],[103.085289,33.182678],[103.085324,33.182877],[103.08527,33.183026],[103.085192,33.183183],[103.08519,33.183189],[103.08515,33.183397],[103.08506,33.183867],[103.085001,33.184174],[103.084871,33.18499],[103.084533,33.185342],[103.084335,33.185548],[103.083301,33.186533],[103.082806,33.187004],[103.082559,33.187315],[103.08246,33.187439],[103.082395,33.187642],[103.082383,33.187679],[103.082203,33.188242],[103.082092,33.188588],[103.082058,33.188692],[103.082014,33.188936],[103.081956,33.189255],[103.081952,33.189281],[103.081888,33.189634],[103.081577,33.190154],[103.081422,33.190414],[103.080772,33.191033],[103.080742,33.191309],[103.080725,33.191473],[103.080745,33.191523],[103.080751,33.191537],[103.080823,33.191713],[103.080836,33.191745],[103.08084,33.191756],[103.080867,33.191821],[103.081351,33.191955],[103.081721,33.191943],[103.081886,33.191938],[103.081899,33.191938],[103.081958,33.191902],[103.082066,33.19181],[103.082112,33.191757],[103.082329,33.19159],[103.082392,33.191547],[103.082398,33.191543],[103.082451,33.191505],[103.082488,33.191492],[103.082516,33.191495],[103.082555,33.191513],[103.082596,33.191542],[103.08263,33.191599],[103.082653,33.191658],[103.082677,33.191719],[103.082695,33.191768],[103.082716,33.191841],[103.082902,33.191816],[103.082976,33.191806],[103.083019,33.1918],[103.083076,33.191792],[103.083448,33.191924],[103.083553,33.19224],[103.082907,33.192671],[103.081883,33.19365],[103.081745,33.194453],[103.081953,33.194776],[103.08197,33.194802],[103.082122,33.195038],[103.082174,33.19506],[103.082217,33.195077],[103.082723,33.195284],[103.082857,33.195266],[103.082981,33.19525],[103.083076,33.195224],[103.083133,33.195194],[103.083142,33.195189],[103.083191,33.195164],[103.083254,33.195153],[103.08331,33.195161],[103.083358,33.195175],[103.083421,33.195206],[103.083501,33.195271],[103.083544,33.195327],[103.083584,33.19541],[103.083614,33.195485],[103.083626,33.195557],[103.083651,33.195652],[103.083755,33.195693],[103.083847,33.195835],[103.083875,33.195878],[103.083887,33.196067],[103.083859,33.196239],[103.083729,33.196406],[103.083663,33.196439],[103.083446,33.196549],[103.083383,33.196555],[103.083266,33.196556],[103.0831,33.196536],[103.082739,33.196522],[103.082591,33.196513],[103.082365,33.196522],[103.082357,33.196523],[103.08222,33.196539],[103.082137,33.196549],[103.081945,33.196573],[103.081785,33.196592],[103.081622,33.196605],[103.081491,33.196606],[103.081331,33.196609],[103.081241,33.1966],[103.081251,33.196628],[103.08127,33.196648],[103.081124,33.196732],[103.081085,33.196772],[103.080943,33.196909],[103.080742,33.197243],[103.080539,33.197582],[103.080587,33.198112],[103.080676,33.198268],[103.080688,33.19829],[103.080789,33.198467],[103.080895,33.198517],[103.081137,33.19863],[103.081144,33.198634],[103.081234,33.198676],[103.081715,33.198582],[103.081888,33.198513],[103.082099,33.198428],[103.08244,33.198291],[103.082489,33.198296],[103.082555,33.198217],[103.08262,33.198143],[103.082697,33.198082],[103.082699,33.198079],[103.082786,33.198074],[103.082865,33.19809],[103.082921,33.198124],[103.082945,33.19817],[103.082961,33.19822],[103.082971,33.198278],[103.082963,33.198341],[103.083068,33.198351],[103.083177,33.198456],[103.083157,33.198507],[103.08312,33.198664],[103.083084,33.198775],[103.083059,33.198872],[103.083042,33.198998],[103.083035,33.199121],[103.083008,33.199311],[103.083005,33.199443],[103.083003,33.199518],[103.082924,33.199781],[103.082907,33.199878],[103.082892,33.199956],[103.082862,33.199997],[103.082788,33.200041],[103.082741,33.20011],[103.082688,33.200272],[103.082583,33.200607],[103.082499,33.200811],[103.082465,33.200898],[103.082445,33.200929],[103.082419,33.200969],[103.082386,33.201009],[103.082332,33.201038],[103.08222,33.201098],[103.082175,33.20115],[103.082164,33.201173],[103.082127,33.201252],[103.082114,33.201326],[103.082113,33.201417],[103.082133,33.201491],[103.082138,33.201509],[103.082184,33.201616],[103.082276,33.20179],[103.082301,33.201884],[103.082302,33.201969],[103.082285,33.202088],[103.082246,33.202247],[103.0822,33.202403],[103.082153,33.202553],[103.082127,33.202666],[103.082116,33.202755],[103.082113,33.202857],[103.082111,33.202899],[103.082112,33.203],[103.082119,33.203097],[103.082164,33.203194],[103.082263,33.203352],[103.082379,33.203491],[103.082453,33.203514],[103.082527,33.203537],[103.082759,33.203546],[103.082942,33.20351],[103.083046,33.203846],[103.083152,33.204185],[103.083178,33.20427],[103.083508,33.204275],[103.084149,33.203898],[103.084175,33.203883],[103.084268,33.203856],[103.08441,33.203814],[103.084467,33.203797],[103.084665,33.203739],[103.084748,33.203715],[103.08492,33.204071],[103.084919,33.204119],[103.084809,33.204158],[103.084768,33.204206],[103.084741,33.204302],[103.08475,33.204377],[103.084751,33.204513],[103.084662,33.204581],[103.084546,33.204601],[103.084496,33.204653],[103.084471,33.20473],[103.084434,33.204851],[103.084458,33.204939],[103.084369,33.205068],[103.08418,33.20523],[103.083937,33.2055],[103.083681,33.205639],[103.083577,33.205667],[103.083534,33.205638],[103.083541,33.20545],[103.083512,33.205459],[103.083355,33.205349],[103.083251,33.205276],[103.083043,33.20513],[103.082716,33.2049],[103.082598,33.204817],[103.082133,33.204598],[103.082023,33.205058],[103.082209,33.20634],[103.082276,33.206795],[103.082283,33.20685],[103.082431,33.207171],[103.082703,33.207763],[103.083185,33.20825],[103.083445,33.208513],[103.083783,33.208807],[103.0838,33.208759],[103.083913,33.208796],[103.084071,33.208828],[103.084195,33.208844],[103.084357,33.20886],[103.084457,33.208862],[103.084523,33.208973],[103.084538,33.209077],[103.084512,33.209245],[103.084455,33.209414],[103.084403,33.209471],[103.084466,33.209557],[103.0845,33.209603],[103.084356,33.209695],[103.084287,33.209739],[103.084253,33.209761],[103.084202,33.209769],[103.084099,33.209766],[103.083986,33.209752],[103.083821,33.209821],[103.083671,33.209884],[103.083589,33.209832],[103.083535,33.209788],[103.08346,33.209738],[103.083403,33.209732],[103.083301,33.209763],[103.083195,33.209848],[103.083094,33.209968],[103.082996,33.210085],[103.082863,33.210232],[103.082793,33.210313],[103.082724,33.210421],[103.082694,33.210516],[103.082618,33.210733],[103.082548,33.211232],[103.082421,33.211445],[103.082177,33.21175],[103.082181,33.211758],[103.082168,33.211786],[103.082143,33.211857],[103.082129,33.211944],[103.082133,33.212066],[103.082149,33.212129],[103.082156,33.212156],[103.082211,33.21222],[103.082311,33.212262],[103.082484,33.212292],[103.082946,33.212355],[103.083309,33.212205],[103.08364,33.212147],[103.08384,33.212116],[103.084106,33.211842],[103.084296,33.211648],[103.084646,33.211327],[103.084655,33.211319],[103.084809,33.211178],[103.085233,33.21079],[103.085705,33.211133],[103.085768,33.21129],[103.085838,33.211467],[103.085894,33.211606],[103.085928,33.211682],[103.085923,33.211687],[103.085892,33.211741],[103.085868,33.211806],[103.085862,33.21189],[103.085868,33.211953],[103.085904,33.21204],[103.085956,33.212135],[103.086012,33.212196],[103.086132,33.212289],[103.08628,33.212369],[103.086416,33.212429],[103.086487,33.212438],[103.086579,33.212419],[103.086675,33.212388],[103.086749,33.21234],[103.086809,33.212274],[103.086863,33.212205],[103.086918,33.212132],[103.086974,33.212107],[103.087082,33.21206],[103.087138,33.212024],[103.087409,33.211845],[103.087483,33.211797],[103.088134,33.211368],[103.088166,33.211322],[103.088214,33.211253],[103.088284,33.211175],[103.088358,33.211118],[103.088428,33.211072],[103.088509,33.211018],[103.088594,33.210987],[103.088654,33.210987],[103.088718,33.211004],[103.0888,33.211058],[103.089103,33.21095],[103.08945,33.211051],[103.089505,33.211067],[103.089515,33.21107],[103.08963,33.211104],[103.089752,33.211139],[103.089768,33.211352],[103.089793,33.211677],[103.089357,33.212118],[103.089001,33.212424],[103.088595,33.212772],[103.088567,33.212796],[103.088552,33.212809],[103.088538,33.212821],[103.088515,33.212841],[103.088435,33.212909],[103.088319,33.213355],[103.088362,33.213803],[103.088473,33.213777],[103.088578,33.213753],[103.088595,33.213749],[103.088854,33.213688],[103.088898,33.213677],[103.089024,33.213628],[103.089207,33.213476],[103.089281,33.213397],[103.089287,33.213362],[103.08933,33.213327],[103.089548,33.21315],[103.089597,33.213132],[103.089609,33.213127],[103.089959,33.212995],[103.090418,33.212822],[103.090461,33.212806],[103.09061,33.21291],[103.090615,33.212914],[103.090723,33.212989],[103.090518,33.213398],[103.090501,33.213433],[103.090215,33.213892],[103.090059,33.214143],[103.090069,33.214208],[103.090071,33.214221],[103.090102,33.214434],[103.090105,33.214456],[103.090846,33.214692],[103.091044,33.214685],[103.091067,33.214685],[103.091566,33.214668],[103.091568,33.214682],[103.091641,33.215074],[103.091658,33.215388],[103.091622,33.215637],[103.091606,33.215711],[103.091756,33.215721],[103.091844,33.216224],[103.091862,33.216351],[103.091967,33.217109],[103.09238,33.217454],[103.092421,33.217488],[103.092437,33.217502],[103.092636,33.217668],[103.092713,33.217735],[103.092743,33.217743],[103.0928,33.21776],[103.092896,33.217811],[103.092979,33.217875],[103.093082,33.217944],[103.093176,33.218056],[103.093206,33.218121],[103.093223,33.218182],[103.093224,33.218229],[103.093224,33.218296],[103.093214,33.218354],[103.093201,33.218384],[103.093205,33.218526],[103.09321,33.218703],[103.092939,33.219019],[103.092929,33.219031],[103.092482,33.219551],[103.092484,33.219643],[103.092484,33.219656],[103.09249,33.219883],[103.092495,33.220173],[103.092511,33.220188],[103.09257,33.220251],[103.092636,33.220322],[103.092932,33.220641],[103.092978,33.220654],[103.093031,33.220665],[103.093087,33.220684],[103.093155,33.220711],[103.093251,33.220765],[103.093483,33.220904],[103.093548,33.220946],[103.093591,33.220984],[103.093632,33.22102],[103.093642,33.221031],[103.093765,33.221058],[103.094547,33.22123],[103.095763,33.221463],[103.096141,33.221538],[103.096285,33.221519],[103.096425,33.22151],[103.096561,33.221496],[103.09672,33.221477],[103.096929,33.221462],[103.096986,33.221467],[103.097043,33.221491],[103.097086,33.221531],[103.097135,33.221597],[103.09716,33.221682],[103.097175,33.221786],[103.097163,33.221866],[103.097342,33.221965],[103.097471,33.222561],[103.097457,33.222587],[103.0971,33.223158],[103.096815,33.223719],[103.096935,33.224042],[103.096969,33.22413],[103.09709,33.224442],[103.097097,33.224505],[103.097104,33.224577],[103.09712,33.224732],[103.096991,33.224807],[103.096842,33.224777],[103.096861,33.224728],[103.096861,33.224691],[103.096851,33.224655],[103.09679,33.224609],[103.096716,33.224561],[103.096663,33.224547],[103.096632,33.224553],[103.096611,33.224584],[103.096581,33.22463],[103.096538,33.22466],[103.096477,33.224672],[103.09609,33.224472],[103.096048,33.224451],[103.09594,33.224397],[103.095932,33.224394],[103.095875,33.224422],[103.095818,33.22444],[103.09572,33.224456],[103.095604,33.224454],[103.095539,33.224448],[103.095476,33.224429],[103.09542,33.224401],[103.095369,33.224345],[103.09537,33.224363],[103.095378,33.224614],[103.095442,33.225012],[103.095644,33.225207],[103.09578,33.225338],[103.095913,33.225464],[103.095934,33.225483],[103.096224,33.225756],[103.096264,33.225744],[103.096297,33.22573],[103.096315,33.225718],[103.096334,33.225706],[103.096384,33.22567],[103.096491,33.225626],[103.096537,33.225627],[103.0966,33.225634],[103.096638,33.225651],[103.096667,33.225676],[103.096691,33.225713],[103.096719,33.225773],[103.096734,33.225832],[103.096735,33.225903],[103.096725,33.225978],[103.096709,33.226027],[103.09669,33.226065],[103.096745,33.226101],[103.096919,33.226408],[103.09683,33.226647],[103.096784,33.226809],[103.096704,33.226972],[103.096666,33.227085],[103.096622,33.227148],[103.096586,33.227188],[103.096527,33.227243],[103.096425,33.2273],[103.096347,33.227339],[103.096229,33.227373],[103.096149,33.227384],[103.096029,33.227385],[103.095937,33.227377],[103.095831,33.227359],[103.095741,33.227323],[103.095695,33.2273],[103.095665,33.227304],[103.095555,33.22732],[103.095094,33.227619],[103.095262,33.22781],[103.095272,33.22782],[103.095649,33.228009],[103.095724,33.228028],[103.095804,33.228019],[103.095927,33.228014],[103.096073,33.228025],[103.096131,33.228036],[103.096223,33.228053],[103.096376,33.228103],[103.096436,33.228135],[103.096444,33.228134],[103.096628,33.228131],[103.096658,33.228128],[103.096794,33.228165],[103.097034,33.228201],[103.097134,33.2282],[103.097209,33.228193],[103.097287,33.228165],[103.097357,33.228118],[103.097421,33.228052],[103.097723,33.228063],[103.097757,33.228052],[103.097831,33.228048],[103.097926,33.228043],[103.098002,33.228044],[103.098058,33.228058],[103.098091,33.228076],[103.098138,33.228078],[103.098486,33.228197],[103.098532,33.228213],[103.098932,33.22835],[103.099295,33.228594],[103.099292,33.228707],[103.099287,33.228849],[103.099295,33.228928],[103.099287,33.229126],[103.099325,33.22928],[103.099552,33.229709],[103.099744,33.230109],[103.100051,33.230478],[103.100121,33.230493],[103.100202,33.23052],[103.100289,33.230561],[103.100326,33.230579],[103.100366,33.230599],[103.100409,33.230632],[103.100463,33.230692],[103.100528,33.230765],[103.100568,33.230821],[103.100579,33.230837],[103.100614,33.230895],[103.100655,33.230996],[103.100684,33.231063],[103.100689,33.231081],[103.100689,33.231104],[103.100688,33.231119],[103.100718,33.231151],[103.10072,33.231157],[103.100749,33.231288],[103.100771,33.231443],[103.100749,33.231626],[103.10069,33.231778],[103.100632,33.23193],[103.100545,33.232049],[103.100442,33.232165],[103.100277,33.232264],[103.100119,33.232345],[103.099925,33.232418],[103.099787,33.232437],[103.099344,33.232369],[103.099155,33.23234],[103.098956,33.232232],[103.098755,33.232122],[103.098728,33.232107],[103.098594,33.232107],[103.098442,33.232104],[103.09829,33.232067],[103.098153,33.232022],[103.098016,33.231963],[103.097934,33.231907],[103.0979,33.231872],[103.097881,33.231868],[103.097324,33.231742],[103.097318,33.23174],[103.097265,33.231699],[103.09715,33.231639],[103.096787,33.231478],[103.09662,33.231412],[103.096522,33.231383],[103.09642,33.231365],[103.096359,33.231365],[103.096214,33.231302],[103.095845,33.231263],[103.095799,33.231303],[103.095737,33.231346],[103.095626,33.23137],[103.09555,33.231379],[103.095468,33.231383],[103.095388,33.231375],[103.09527,33.231347],[103.095188,33.231414],[103.095121,33.231468],[103.095046,33.231529],[103.094911,33.231893],[103.094936,33.232413],[103.095287,33.232969],[103.095344,33.233096],[103.095505,33.233459],[103.095547,33.233553],[103.095446,33.233682],[103.095427,33.233831],[103.095392,33.233918],[103.095369,33.233996],[103.095327,33.234115],[103.095307,33.234211],[103.095288,33.234339],[103.095314,33.234396],[103.095291,33.234466],[103.095281,33.234628],[103.095263,33.234939],[103.095433,33.235172],[103.095446,33.235188],[103.095601,33.235402],[103.095648,33.235405],[103.095684,33.235412],[103.095766,33.235437],[103.095816,33.235462],[103.095876,33.235499],[103.095926,33.235521],[103.095945,33.235528],[103.095987,33.235544],[103.096051,33.235563],[103.096155,33.235592],[103.096252,33.235624],[103.096329,33.235652],[103.096461,33.235733],[103.09651,33.235776],[103.09656,33.235827],[103.09677,33.235863],[103.096823,33.235886],[103.097226,33.236057],[103.097256,33.236069],[103.097298,33.236126],[103.097415,33.236286],[103.097153,33.236633],[103.096642,33.23702],[103.09658,33.237067],[103.096548,33.237115],[103.096541,33.237126],[103.096373,33.237385],[103.09642,33.23759],[103.096439,33.237676],[103.096569,33.23777],[103.096656,33.23776],[103.096791,33.237769],[103.096885,33.237802],[103.096928,33.237856],[103.096977,33.237861],[103.097072,33.237869],[103.097192,33.237772],[103.09722,33.237749],[103.097479,33.237539],[103.09754,33.237492],[103.09764,33.237417],[103.098183,33.237006],[103.09831,33.23691],[103.098607,33.236733],[103.098702,33.236676],[103.09891,33.236552],[103.099157,33.236404],[103.099791,33.236551],[103.100005,33.236738],[103.100003,33.237054],[103.099892,33.237211],[103.099339,33.237771],[103.09873,33.238018],[103.098694,33.238166],[103.098626,33.238444],[103.098623,33.238457],[103.098599,33.238467],[103.098535,33.238496],[103.098348,33.238579],[103.098347,33.238579],[103.098255,33.23862],[103.098144,33.238772],[103.09788,33.239134],[103.097791,33.239548],[103.097771,33.239638],[103.097739,33.239789],[103.097794,33.240092],[103.097852,33.240417],[103.097885,33.240519],[103.097887,33.240527],[103.098125,33.241276],[103.097955,33.241564],[103.097685,33.241568],[103.097427,33.241571],[103.097363,33.241517],[103.097327,33.241487],[103.097325,33.241485],[103.097318,33.241479],[103.096892,33.24112],[103.096243,33.240104],[103.096112,33.239932],[103.096064,33.239941],[103.095986,33.239892],[103.095795,33.239738],[103.095763,33.239739],[103.095589,33.239747],[103.095525,33.239749],[103.095508,33.23975],[103.095431,33.239753],[103.094674,33.240119],[103.09465,33.240131],[103.094604,33.240153],[103.094458,33.240168],[103.093711,33.240246],[103.093265,33.240223],[103.093203,33.24022],[103.093182,33.240235],[103.093065,33.240286],[103.092893,33.240343],[103.092764,33.240367],[103.092608,33.240354],[103.092525,33.240332],[103.092486,33.240345],[103.092473,33.24035],[103.092267,33.240606],[103.092307,33.24074],[103.092327,33.240806],[103.092386,33.241005],[103.092683,33.241544],[103.093072,33.242039],[103.093301,33.242525],[103.093305,33.242533],[103.09342,33.242778],[103.093421,33.242783],[103.093453,33.242923],[103.093569,33.243437],[103.093523,33.24391],[103.093321,33.24409],[103.093037,33.244345],[103.092837,33.244526],[103.092437,33.244641],[103.092251,33.244694],[103.092233,33.2447],[103.091934,33.244669],[103.091544,33.244628],[103.090967,33.244466],[103.090912,33.244451],[103.0906,33.24443],[103.090583,33.244461],[103.090563,33.244491],[103.09053,33.244517],[103.090472,33.244538],[103.09038,33.244557],[103.090299,33.244561],[103.09025,33.244564],[103.090176,33.244558],[103.090102,33.244548],[103.090046,33.244537],[103.089991,33.244511],[103.089965,33.244502],[103.089934,33.244497],[103.089894,33.244499],[103.089852,33.2445],[103.089812,33.244501],[103.089776,33.244494],[103.089752,33.24448],[103.08974,33.244463],[103.08973,33.244436],[103.08942,33.244487],[103.089341,33.2445],[103.089328,33.244502],[103.08932,33.244508],[103.088878,33.244814],[103.088572,33.245025],[103.088561,33.245036],[103.088527,33.245073],[103.08848,33.245123],[103.088445,33.245086],[103.088406,33.245035],[103.088365,33.24502],[103.08834,33.245031],[103.088307,33.245079],[103.088296,33.24512],[103.088294,33.245131],[103.088296,33.245173],[103.088306,33.245224],[103.08834,33.245273],[103.08805,33.245582],[103.087851,33.245679],[103.087788,33.24571],[103.087607,33.245798],[103.087614,33.245824],[103.087593,33.24584],[103.087561,33.245853],[103.0875,33.245888],[103.087463,33.245911],[103.087416,33.245933],[103.087372,33.245959],[103.087356,33.245968],[103.087303,33.245946],[103.087076,33.246056],[103.087027,33.246056],[103.086943,33.246081],[103.086814,33.246122],[103.086683,33.246157],[103.086539,33.246182],[103.086428,33.246182],[103.0863,33.246182],[103.086194,33.24617],[103.086052,33.246147],[103.085975,33.246138],[103.085801,33.246174],[103.085379,33.246351],[103.084995,33.246483],[103.0845,33.246658],[103.084142,33.246792],[103.08395,33.246864],[103.083719,33.247186],[103.08376,33.247533],[103.083928,33.247652],[103.084217,33.247855],[103.084235,33.247868],[103.084261,33.247887],[103.085003,33.248306],[103.085645,33.248507],[103.085822,33.248563],[103.086052,33.248559],[103.086387,33.248554],[103.086477,33.248552],[103.086523,33.248548],[103.086823,33.24852],[103.087035,33.2485],[103.087184,33.248481],[103.087235,33.248413],[103.087267,33.248361],[103.087309,33.248372],[103.087344,33.248379],[103.087366,33.248406],[103.08738,33.248455],[103.087594,33.248427],[103.087619,33.248493],[103.087686,33.248673],[103.087685,33.248704],[103.087685,33.248725],[103.087673,33.249284],[103.087682,33.249314],[103.087619,33.249334],[103.087603,33.249357],[103.087608,33.24938],[103.087635,33.249395],[103.08767,33.249402],[103.087711,33.249408],[103.087783,33.249642],[103.087784,33.249646],[103.087786,33.249652],[103.088002,33.249757],[103.088269,33.249741],[103.088346,33.249678],[103.08859,33.249481],[103.088721,33.24935],[103.088728,33.249343],[103.088729,33.249343],[103.088816,33.249256],[103.088817,33.249256],[103.08883,33.249243],[103.089247,33.248829],[103.089358,33.248719],[103.089398,33.248706],[103.089704,33.248606],[103.089895,33.248544],[103.090329,33.248632],[103.090575,33.248813],[103.090608,33.248838],[103.090861,33.249024],[103.090882,33.24904],[103.090949,33.24909],[103.091106,33.249389],[103.091229,33.249624],[103.091336,33.25027],[103.091286,33.251084],[103.09112,33.251642],[103.091077,33.251787],[103.091058,33.252656],[103.091151,33.252795],[103.091204,33.252875],[103.091277,33.252985],[103.091881,33.253429],[103.092194,33.253895],[103.092359,33.254247],[103.092367,33.254264],[103.092421,33.254379],[103.092564,33.254652],[103.092666,33.254847],[103.092823,33.255148],[103.093182,33.255414],[103.093252,33.255466],[103.093575,33.255705],[103.093655,33.255764],[103.093717,33.255731],[103.093745,33.255719],[103.09378,33.255712],[103.093804,33.255707],[103.093842,33.255707],[103.093769,33.255827],[103.09397,33.255932],[103.094051,33.25584],[103.094098,33.255785],[103.094187,33.255693],[103.094362,33.255544],[103.09443,33.255476],[103.094524,33.255409],[103.0946,33.255361],[103.094616,33.255352],[103.09468,33.255315],[103.094766,33.255283],[103.094871,33.255247],[103.094972,33.255226],[103.095045,33.255226],[103.095123,33.255228],[103.095227,33.25524],[103.095352,33.255273],[103.095397,33.255293],[103.095583,33.255369],[103.095668,33.255422],[103.095859,33.255611],[103.095962,33.25579],[103.096067,33.256109],[103.096083,33.256266],[103.096084,33.256348],[103.096116,33.256321],[103.09613,33.256316],[103.09612,33.256447],[103.096106,33.256565],[103.096063,33.25668],[103.095973,33.25677],[103.095749,33.256918],[103.095601,33.257018],[103.095316,33.257127],[103.095308,33.257131],[103.095097,33.257227],[103.094745,33.25737],[103.094507,33.257493],[103.094269,33.257598],[103.093969,33.257731],[103.093603,33.257865],[103.093255,33.257948],[103.092908,33.258031],[103.092798,33.258069],[103.09266,33.258084],[103.092575,33.258079],[103.092446,33.258036],[103.092342,33.258003],[103.092166,33.257993],[103.092042,33.257998],[103.091923,33.258041],[103.091828,33.258122],[103.091771,33.258207],[103.091747,33.258283],[103.091747,33.258341],[103.091766,33.25845],[103.091818,33.25855],[103.091894,33.258645],[103.092037,33.258755],[103.092166,33.25884],[103.09242,33.258931],[103.092675,33.259021],[103.092922,33.259064],[103.09317,33.259107],[103.093376,33.259156],[103.093565,33.259202],[103.093674,33.25925],[103.093812,33.259383],[103.093826,33.259497],[103.093779,33.259654],[103.093712,33.259749],[103.093652,33.259806],[103.093617,33.25984],[103.09338,33.259992],[103.093143,33.260145],[103.092987,33.260256],[103.09273,33.260456],[103.092427,33.260606],[103.092123,33.260756],[103.091724,33.260863],[103.091395,33.260927],[103.091117,33.260963],[103.09071,33.260963],[103.090372,33.260906],[103.090034,33.260849],[103.089696,33.260792],[103.089368,33.260728],[103.089061,33.260728],[103.08879,33.260749],[103.088618,33.260813],[103.088404,33.260956],[103.088247,33.261134],[103.08814,33.261334],[103.088062,33.261513],[103.088056,33.261535],[103.087997,33.261763],[103.087933,33.261905],[103.087812,33.262034],[103.087633,33.26212],[103.087455,33.262198],[103.087284,33.262212],[103.087119,33.262184],[103.086955,33.262127],[103.086691,33.261948],[103.08657,33.261663],[103.086391,33.261256],[103.086353,33.261155],[103.086299,33.261013],[103.086227,33.26087],[103.08612,33.260713],[103.085992,33.260628],[103.085877,33.260628],[103.085706,33.260685],[103.085606,33.260792],[103.085492,33.26097],[103.085374,33.261234],[103.085256,33.261498],[103.085092,33.261841],[103.085006,33.262048],[103.084892,33.262277],[103.084749,33.262455],[103.084478,33.262683],[103.084307,33.262812],[103.084286,33.262825],[103.084086,33.262948],[103.083893,33.263147],[103.083857,33.263326],[103.0839,33.263483],[103.083979,33.263669],[103.084093,33.263861],[103.084378,33.264061],[103.084585,33.26414],[103.084807,33.264161],[103.084921,33.264154],[103.085006,33.264083],[103.085174,33.263865],[103.085342,33.263647],[103.085417,33.26354],[103.085485,33.263444],[103.085628,33.26324],[103.085742,33.263076],[103.08592,33.262876],[103.086199,33.262691],[103.086406,33.262612],[103.086527,33.262583],[103.08667,33.262576],[103.087019,33.262583],[103.087405,33.262683],[103.087562,33.262748],[103.087691,33.262833],[103.087862,33.263005],[103.087905,33.263083],[103.087927,33.263104],[103.088019,33.26319],[103.088147,33.263255],[103.088297,33.263276],[103.088454,33.263269],[103.088633,33.263219],[103.08879,33.263112],[103.088795,33.263107],[103.088897,33.263005],[103.088997,33.262762],[103.089061,33.262612],[103.089082,33.262491],[103.089111,33.262376],[103.089218,33.262277],[103.089397,33.262205],[103.089438,33.262195],[103.089539,33.262169],[103.089704,33.262169],[103.08982,33.262178],[103.090003,33.262191],[103.090253,33.262341],[103.090382,33.262519],[103.090467,33.262691],[103.090471,33.262696],[103.090537,33.262805],[103.090624,33.262948],[103.090717,33.263205],[103.090717,33.263387],[103.090717,33.263404],[103.090689,33.263547],[103.090574,33.263776],[103.090417,33.264054],[103.090324,33.264232],[103.09026,33.264354],[103.090068,33.264468],[103.089868,33.264568],[103.089642,33.264632],[103.089589,33.264646],[103.089254,33.264675],[103.088861,33.264704],[103.088497,33.264768],[103.088119,33.264961],[103.08793,33.2651],[103.08774,33.265239],[103.087405,33.265482],[103.087069,33.265724],[103.086827,33.265917],[103.086684,33.26611],[103.08667,33.266267],[103.086677,33.266374],[103.086741,33.266502],[103.086884,33.266688],[103.087066,33.266984],[103.087248,33.267281],[103.087298,33.267566],[103.087434,33.267894],[103.087619,33.268173],[103.087876,33.268423],[103.088112,33.268608],[103.088362,33.26874],[103.088611,33.268872],[103.088875,33.268922],[103.089268,33.268894],[103.089561,33.268822],[103.089961,33.268808],[103.090332,33.268808],[103.090374,33.26881],[103.090564,33.268819],[103.090796,33.26883],[103.091106,33.26888],[103.091417,33.26893],[103.091595,33.268979],[103.091874,33.269101],[103.091945,33.269186],[103.091995,33.269308],[103.091999,33.269389],[103.092002,33.269458],[103.091959,33.269743],[103.091902,33.270022],[103.091816,33.270222],[103.091652,33.270414],[103.091445,33.270564],[103.091231,33.2707],[103.090931,33.270857],[103.09066,33.270971],[103.090389,33.271085],[103.090091,33.271221],[103.089794,33.271357],[103.089497,33.271492],[103.089254,33.271671],[103.08904,33.271871],[103.089025,33.271999],[103.089054,33.272149],[103.089161,33.272299],[103.089361,33.272434],[103.089618,33.27257],[103.089946,33.272646],[103.090275,33.272722],[103.090603,33.272799],[103.090913,33.272913],[103.091224,33.273027],[103.091253,33.273038],[103.091502,33.273134],[103.091709,33.273355],[103.091781,33.273519],[103.091838,33.273698],[103.091824,33.273862],[103.091774,33.273983],[103.091717,33.274041],[103.09151,33.274126],[103.091388,33.274169],[103.09106,33.274226],[103.090817,33.274226],[103.09046,33.274191],[103.090075,33.274133],[103.089778,33.274108],[103.089482,33.274083],[103.089132,33.274033],[103.088783,33.273983],[103.088404,33.273983],[103.088382,33.273984],[103.088133,33.273991],[103.087898,33.274041],[103.087698,33.274141],[103.087491,33.274326],[103.087391,33.274483],[103.087312,33.274626],[103.087298,33.274797],[103.087298,33.274997],[103.087326,33.275176],[103.08744,33.275524],[103.087604,33.275835],[103.087631,33.276088],[103.087561,33.276411],[103.087496,33.276564],[103.08737,33.276716],[103.0873,33.276784],[103.087238,33.276844],[103.087197,33.276884],[103.087024,33.277052],[103.086852,33.27722],[103.086824,33.277248],[103.086679,33.277388],[103.086603,33.277462],[103.086506,33.277557],[103.086333,33.277725],[103.08616,33.277893],[103.085987,33.278061],[103.085842,33.278234],[103.085831,33.278248],[103.085674,33.278436],[103.085518,33.278623],[103.085455,33.278697],[103.085403,33.27876],[103.085361,33.27881],[103.085205,33.278997],[103.085048,33.279184],[103.084892,33.279371],[103.084736,33.279559],[103.084579,33.279746],[103.084423,33.279933],[103.084266,33.28012],[103.08411,33.280307],[103.083934,33.280496],[103.083759,33.280685],[103.083583,33.280874],[103.083408,33.281064],[103.083233,33.281253],[103.083057,33.281442],[103.082882,33.281631],[103.082706,33.28182],[103.082505,33.281957],[103.082304,33.282094],[103.081905,33.282241],[103.081492,33.282312],[103.081079,33.282383],[103.080833,33.282412],[103.080587,33.282441],[103.080341,33.282471],[103.080095,33.2825],[103.079849,33.282529],[103.079603,33.282558],[103.079357,33.282587],[103.079112,33.282616],[103.078859,33.282666],[103.078607,33.282715],[103.078354,33.282765],[103.078102,33.282814],[103.07785,33.282863],[103.077597,33.282913],[103.077345,33.282962],[103.077093,33.283011],[103.07684,33.283061],[103.076588,33.28311],[103.076336,33.28316],[103.076083,33.283209],[103.075847,33.28326],[103.075611,33.283311],[103.075375,33.283362],[103.075139,33.283413],[103.074902,33.283464],[103.074666,33.283516],[103.07443,33.283567],[103.074194,33.283618],[103.073958,33.283669],[103.073722,33.28372],[103.073486,33.283771],[103.07325,33.283822],[103.073013,33.283873],[103.072777,33.283924],[103.072616,33.283965],[103.07244,33.284009],[103.072103,33.284093],[103.071886,33.284268],[103.071822,33.28442],[103.07182,33.284427],[103.07181,33.284481],[103.071753,33.284778],[103.071647,33.284981],[103.071541,33.285184],[103.071435,33.285386],[103.071328,33.285589],[103.071222,33.285792],[103.071116,33.285994],[103.070927,33.286299],[103.070738,33.286603],[103.070458,33.286871],[103.070178,33.287139],[103.069898,33.287408],[103.069744,33.287614],[103.06959,33.287821],[103.069436,33.288028],[103.069282,33.288234],[103.069173,33.28838],[103.069128,33.288441],[103.06906,33.288531],[103.069056,33.288537],[103.068973,33.288648],[103.068819,33.288854],[103.068665,33.289061],[103.068521,33.289269],[103.068376,33.289476],[103.068231,33.289683],[103.068087,33.289891],[103.067942,33.290098],[103.067797,33.290306],[103.067653,33.290513],[103.067564,33.29064],[103.067508,33.290721],[103.067364,33.290928],[103.067275,33.291055],[103.06725,33.29109],[103.067219,33.291136],[103.066996,33.291463],[103.066986,33.291478],[103.066773,33.29179],[103.066644,33.29198],[103.066515,33.29217],[103.066386,33.29236],[103.066256,33.29255],[103.066127,33.29274],[103.065998,33.29293],[103.065868,33.29312],[103.065739,33.29331],[103.06559,33.29353],[103.065441,33.29375],[103.065292,33.293969],[103.065143,33.294189],[103.065045,33.294334],[103.064994,33.294408],[103.064977,33.294434],[103.064845,33.294628],[103.064696,33.294848],[103.064547,33.295067],[103.064398,33.295287],[103.064249,33.295507],[103.06411,33.295704],[103.064078,33.29575],[103.063971,33.295901],[103.063832,33.296099],[103.063731,33.296241],[103.063693,33.296296],[103.063539,33.296514],[103.063385,33.296732],[103.063231,33.296951],[103.063077,33.297169],[103.062923,33.297387],[103.062769,33.297606],[103.062568,33.297781],[103.062366,33.297956],[103.061968,33.298079],[103.061539,33.298166],[103.06111,33.298252],[103.060682,33.298339],[103.060652,33.298344],[103.060246,33.298416],[103.05981,33.298492],[103.059374,33.298568],[103.058938,33.298644],[103.058693,33.298705],[103.058448,33.298765],[103.058203,33.298825],[103.057958,33.298885],[103.057799,33.29892],[103.057717,33.298938],[103.057476,33.29899],[103.057236,33.299042],[103.056995,33.299094],[103.056754,33.299146],[103.056513,33.299198],[103.056273,33.299251],[103.056266,33.299252],[103.056032,33.299303],[103.055791,33.299355],[103.05555,33.299407],[103.05531,33.299459],[103.055069,33.299511],[103.054811,33.299579],[103.054554,33.299646],[103.054296,33.299714],[103.054039,33.299782],[103.053781,33.299849],[103.053524,33.299917],[103.053266,33.299984],[103.053009,33.300052],[103.052751,33.300119],[103.052494,33.300187],[103.052251,33.300221],[103.052007,33.300256],[103.051764,33.30029],[103.051521,33.300325],[103.051277,33.300359],[103.051034,33.300394],[103.050791,33.300428],[103.050547,33.300462],[103.050304,33.300497],[103.050061,33.300531],[103.049817,33.300566],[103.049574,33.3006],[103.049331,33.300635],[103.049088,33.300669],[103.048844,33.300704],[103.048601,33.300738],[103.048344,33.30076],[103.04833,33.300761],[103.04828,33.300765],[103.048087,33.300781],[103.04783,33.300803],[103.047573,33.300824],[103.047316,33.300846],[103.047059,33.300867],[103.046802,33.300889],[103.046545,33.30091],[103.046458,33.300918],[103.046404,33.300922],[103.046288,33.300932],[103.046031,33.300953],[103.045774,33.300975],[103.045517,33.300997],[103.045283,33.301014],[103.045049,33.301031],[103.044815,33.301049],[103.044581,33.301066],[103.044347,33.301084],[103.044113,33.301101],[103.043894,33.301141],[103.043874,33.301144],[103.043634,33.301188],[103.043395,33.301231],[103.043155,33.301274],[103.042944,33.301312],[103.042916,33.301317],[103.042676,33.30136],[103.042257,33.301385],[103.041837,33.301411],[103.041417,33.301436],[103.040997,33.301461],[103.040733,33.301457],[103.040469,33.301453],[103.040205,33.301449],[103.039941,33.301444],[103.039677,33.30144],[103.039413,33.301436],[103.039151,33.301435],[103.038889,33.301433],[103.038627,33.301432],[103.038365,33.30143],[103.038103,33.301429],[103.037841,33.301427],[103.037579,33.301426],[103.037317,33.301424],[103.037055,33.301423],[103.036793,33.301421],[103.036474,33.301409],[103.036388,33.301406],[103.035982,33.301391],[103.035576,33.301376],[103.035171,33.301338],[103.035149,33.301336],[103.034722,33.301296],[103.034295,33.301256],[103.033868,33.301216],[103.033442,33.301157],[103.033015,33.301097],[103.032588,33.301037],[103.032162,33.300977],[103.0318,33.300879],[103.031439,33.30078],[103.031213,33.300741],[103.030987,33.300702],[103.030733,33.300689],[103.030376,33.300683],[103.030366,33.300682],[103.03008,33.300661],[103.029818,33.300639],[103.029524,33.300599],[103.029209,33.300541],[103.028894,33.300483],[103.028662,33.300431],[103.028586,33.300413],[103.028483,33.30039],[103.028431,33.300378],[103.028166,33.300343],[103.0279,33.300307],[103.027635,33.300272],[103.02737,33.300237],[103.027097,33.300195],[103.026824,33.300154],[103.026793,33.300149],[103.026552,33.300112],[103.026279,33.30007],[103.026047,33.300053],[103.025816,33.300036],[103.025489,33.300031],[103.025162,33.300026],[103.024935,33.300036],[103.024708,33.300045],[103.02439,33.30008],[103.024073,33.300115],[103.02384,33.300154],[103.023607,33.300193],[103.023374,33.300232],[103.023142,33.300271],[103.022909,33.30031],[103.022676,33.300349],[103.02228,33.300404],[103.021884,33.300459],[103.021586,33.300521],[103.021289,33.300584],[103.020896,33.300692],[103.020751,33.300754],[103.02068,33.300785],[103.020463,33.300877],[103.020314,33.300963],[103.020121,33.301132],[103.019928,33.301302],[103.019731,33.301564],[103.019653,33.301757],[103.019567,33.302039],[103.019482,33.302321],[103.01938,33.302603],[103.01925,33.302761],[103.019154,33.302864],[103.019045,33.30296],[103.01895,33.303003],[103.018811,33.30308],[103.018673,33.303131],[103.018365,33.303188],[103.018111,33.3032],[103.017858,33.303211],[103.017605,33.303223],[103.017352,33.303234],[103.016904,33.303223],[103.016457,33.303213],[103.016009,33.303202],[103.015567,33.303144],[103.015124,33.303086],[103.014682,33.303029],[103.014239,33.302971],[103.013977,33.302925],[103.013715,33.302878],[103.013454,33.302831],[103.013192,33.302785],[103.01293,33.302738],[103.012668,33.302692],[103.012484,33.302659],[103.012406,33.302645],[103.012144,33.302599],[103.011882,33.302552],[103.011621,33.302506],[103.011359,33.302459],[103.011097,33.302413],[103.010835,33.302366],[103.010573,33.30232],[103.010311,33.302273],[103.010049,33.302227],[103.009787,33.30218],[103.009526,33.302134],[103.009264,33.302087],[103.009024,33.302044],[103.009002,33.302041],[103.0088,33.302005],[103.00874,33.301994],[103.008478,33.301948],[103.008216,33.301901],[103.007954,33.301854],[103.007693,33.301808],[103.007431,33.301761],[103.007169,33.301715],[103.006907,33.301668],[103.006653,33.301629],[103.006398,33.30159],[103.006144,33.301551],[103.005889,33.301511],[103.005635,33.301472],[103.005381,33.301433],[103.005126,33.301394],[103.004872,33.301355],[103.004618,33.301315],[103.004363,33.301276],[103.004109,33.301237],[103.003855,33.301198],[103.0036,33.301158],[103.003346,33.301119],[103.003076,33.301076],[103.002807,33.301032],[103.002538,33.300988],[103.002269,33.300945],[103.001999,33.300901],[103.00173,33.300857],[103.001461,33.300814],[103.001191,33.30077],[103.000961,33.300733],[103.000731,33.300696],[103.000501,33.300658],[103.000271,33.300621],[103.000029,33.300608],[102.999786,33.300594],[102.999544,33.300581],[102.999301,33.300567],[102.999059,33.300554],[102.998816,33.30054],[102.998574,33.300527],[102.998332,33.300513],[102.998089,33.3005],[102.997847,33.300486],[102.997604,33.300472],[102.997362,33.300459],[102.997124,33.300415],[102.996887,33.300372],[102.99665,33.300328],[102.996412,33.300285],[102.996406,33.300283],[102.996184,33.300243],[102.996175,33.300241],[102.995938,33.300198],[102.995815,33.300175],[102.995733,33.30016],[102.995701,33.300154],[102.995463,33.30011],[102.995226,33.300067],[102.994989,33.300023],[102.994751,33.29998],[102.994514,33.299936],[102.994277,33.299893],[102.994039,33.299849],[102.993613,33.299825],[102.99342,33.299822],[102.993205,33.29989],[102.99287,33.300178],[102.992535,33.300466],[102.992201,33.300754],[102.99194,33.300937],[102.99168,33.301121],[102.991431,33.301243],[102.991181,33.301364],[102.990771,33.301528],[102.990361,33.301692],[102.990352,33.301696],[102.990108,33.301776],[102.989855,33.301859],[102.989601,33.301942],[102.989348,33.302025],[102.989095,33.302108],[102.988841,33.302191],[102.988461,33.302281],[102.988081,33.30237],[102.987701,33.302459],[102.987455,33.302482],[102.987209,33.302505],[102.986824,33.302499],[102.986439,33.302494],[102.98611,33.302398],[102.985781,33.302302],[102.98558,33.302198],[102.985379,33.302094],[102.985178,33.30199],[102.984977,33.301886],[102.984776,33.301782],[102.984575,33.301677],[102.984374,33.301573],[102.984174,33.301469],[102.983947,33.301322],[102.983721,33.301175],[102.983494,33.301028],[102.983268,33.30088],[102.983041,33.300733],[102.982815,33.300586],[102.982588,33.300439],[102.982362,33.300292],[102.981996,33.300082],[102.98163,33.299873],[102.981264,33.299664],[102.98091,33.29952],[102.980556,33.299376],[102.980168,33.29919],[102.97978,33.299004],[102.979392,33.298818],[102.979095,33.298697],[102.978799,33.298576],[102.978671,33.298558],[102.978372,33.298515],[102.978138,33.298476],[102.977903,33.298436],[102.977669,33.298396],[102.977441,33.298357],[102.977435,33.298356],[102.977201,33.298317],[102.976967,33.298277],[102.976714,33.298264],[102.976461,33.298251],[102.976209,33.298238],[102.975956,33.298225],[102.975703,33.298212],[102.97545,33.298199],[102.975197,33.298185],[102.974944,33.298172],[102.974692,33.298159],[102.974439,33.298146],[102.974186,33.298133],[102.973933,33.29812],[102.973665,33.298117],[102.973396,33.298114],[102.973127,33.298111],[102.972859,33.298108],[102.97259,33.298105],[102.972321,33.298102],[102.972053,33.298098],[102.971784,33.298095],[102.971515,33.298092],[102.971247,33.298089],[102.970978,33.298086],[102.970709,33.298083],[102.970441,33.29808],[102.970172,33.298077],[102.969907,33.298083],[102.969642,33.29809],[102.969377,33.298097],[102.969113,33.298104],[102.968848,33.298111],[102.968583,33.298117],[102.968318,33.298124],[102.968053,33.298131],[102.967661,33.298149],[102.967268,33.298167],[102.966876,33.298184],[102.966515,33.298168],[102.966484,33.298166],[102.966093,33.298148],[102.965701,33.29813],[102.965472,33.298112],[102.965242,33.298095],[102.965013,33.298078],[102.964784,33.29806],[102.964554,33.298043],[102.964325,33.298026],[102.964096,33.298009],[102.963867,33.297991],[102.963609,33.29799],[102.963351,33.297988],[102.963093,33.297987],[102.962836,33.297985],[102.962578,33.297984],[102.96232,33.297982],[102.962062,33.29798],[102.961805,33.297979],[102.961547,33.297977],[102.961289,33.297976],[102.961031,33.297974],[102.960774,33.297973],[102.960516,33.297971],[102.960258,33.297969],[102.960001,33.297968],[102.959743,33.297966],[102.959485,33.297965],[102.959227,33.297963],[102.95897,33.297962],[102.958712,33.29796],[102.958453,33.297957],[102.958195,33.297954],[102.957936,33.297951],[102.957678,33.297949],[102.957419,33.297946],[102.957161,33.297943],[102.956902,33.29794],[102.956643,33.297937],[102.956385,33.297934],[102.956126,33.297931],[102.955868,33.297928],[102.955609,33.297925],[102.955351,33.297923],[102.955092,33.29792],[102.954834,33.297917],[102.954575,33.297914],[102.954317,33.297911],[102.954058,33.297908],[102.953799,33.297905],[102.953541,33.297902],[102.953282,33.2979],[102.953024,33.297897],[102.952765,33.297894],[102.952507,33.297891],[102.952248,33.297888],[102.95199,33.297885],[102.951731,33.297882],[102.951473,33.297879],[102.951214,33.297864],[102.950955,33.297848],[102.950697,33.297832],[102.950438,33.297816],[102.950179,33.2978],[102.94992,33.297784],[102.949662,33.297768],[102.94946,33.297756],[102.949403,33.297753],[102.949322,33.297748],[102.949144,33.297737],[102.948886,33.297721],[102.948627,33.297705],[102.948368,33.297689],[102.94811,33.297673],[102.947851,33.297657],[102.947598,33.297657],[102.947345,33.297656],[102.947092,33.297655],[102.946839,33.297654],[102.946586,33.297654],[102.946333,33.297653],[102.94608,33.297652],[102.945968,33.297652],[102.945827,33.297651],[102.945573,33.29765],[102.94532,33.29765],[102.944872,33.297678],[102.944636,33.297728],[102.944336,33.297759],[102.94393,33.297752],[102.943502,33.297741],[102.943075,33.297729],[102.942647,33.297718],[102.942564,33.297716],[102.942219,33.297707],[102.941985,33.2977],[102.941979,33.2977],[102.941739,33.297694],[102.941498,33.297688],[102.941258,33.297681],[102.941018,33.297675],[102.940778,33.297669],[102.940537,33.297662],[102.940297,33.297656],[102.940083,33.297653],[102.939977,33.297615],[102.939871,33.297505],[102.939834,33.297307],[102.939865,33.296913],[102.939876,33.296465],[102.939837,33.296349],[102.939815,33.296284],[102.93967,33.29612],[102.939544,33.296029],[102.939352,33.296007],[102.939158,33.296004],[102.938966,33.296055],[102.93879,33.296213],[102.93869,33.296416],[102.938538,33.296724],[102.938387,33.297032],[102.938358,33.29711],[102.938341,33.297157],[102.938296,33.297211],[102.938257,33.297253],[102.938231,33.297281],[102.938122,33.297316],[102.937972,33.29733],[102.937674,33.297289],[102.937399,33.29716],[102.937273,33.297062],[102.937232,33.29703],[102.937125,33.297011],[102.936976,33.29701],[102.936903,33.297018],[102.936718,33.29704],[102.936483,33.297054],[102.936248,33.297037],[102.936162,33.297031],[102.93602,33.297012],[102.936014,33.297011],[102.935908,33.296937],[102.935869,33.296793],[102.935853,33.296541],[102.935927,33.296112],[102.935934,33.296077],[102.935977,33.295827],[102.936002,33.295683],[102.935985,33.295521],[102.935945,33.295359],[102.935929,33.295336],[102.935884,33.295268],[102.935849,33.295257],[102.935649,33.295193],[102.935308,33.295169],[102.934988,33.29524],[102.934977,33.295243],[102.93491,33.295258],[102.934513,33.295346],[102.934115,33.295434],[102.933834,33.295483],[102.933428,33.295513],[102.933065,33.295506],[102.932787,33.295511],[102.932509,33.295515],[102.932245,33.295531],[102.93198,33.295548],[102.931716,33.295565],[102.931452,33.295581],[102.931188,33.295598],[102.930924,33.295614],[102.930658,33.29562],[102.930392,33.295626],[102.930126,33.295632],[102.92986,33.295637],[102.929595,33.295643],[102.929329,33.295649],[102.929063,33.295655],[102.928797,33.295661],[102.928531,33.295666],[102.928265,33.295672],[102.927999,33.295678],[102.927733,33.295684],[102.927467,33.295689],[102.927202,33.295695],[102.926962,33.295714],[102.926723,33.295733],[102.926483,33.295752],[102.926244,33.295771],[102.926004,33.29579],[102.925765,33.295809],[102.925526,33.295828],[102.925286,33.295847],[102.925047,33.295866],[102.924807,33.295885],[102.924572,33.295906],[102.924336,33.295928],[102.9241,33.295949],[102.923865,33.29597],[102.923629,33.295991],[102.923393,33.296013],[102.923158,33.296034],[102.922922,33.296055],[102.922686,33.296076],[102.922451,33.296097],[102.922066,33.29609],[102.921766,33.296122],[102.921535,33.296118],[102.921303,33.296114],[102.921071,33.29611],[102.921019,33.296109],[102.920946,33.295986],[102.92071,33.295589],[102.920666,33.295516],[102.92063,33.295457],[102.92057,33.295515],[102.920493,33.295573],[102.920416,33.29558],[102.920307,33.295606],[102.92021,33.295614],[102.920094,33.295609],[102.920055,33.295598],[102.920026,33.295557],[102.920021,33.295494],[102.920028,33.295426],[102.920066,33.295363],[102.9201,33.295312],[102.920147,33.295233],[102.920174,33.295158],[102.920226,33.295043],[102.920329,33.294973],[102.92035,33.294943],[102.92039,33.294918],[102.920443,33.294912],[102.920476,33.294921],[102.920524,33.294925],[102.920547,33.294919],[102.920584,33.294903],[102.920621,33.294895],[102.920652,33.294904],[102.920664,33.294929],[102.920685,33.294959],[102.920713,33.294983],[102.920757,33.295015],[102.920799,33.295032],[102.920874,33.295036],[102.920962,33.29493],[102.92125,33.294756],[102.921339,33.294614],[102.921283,33.294565],[102.921041,33.294573],[102.920786,33.294569],[102.920603,33.294483],[102.920567,33.294497],[102.920537,33.294543],[102.920524,33.294569],[102.920504,33.294597],[102.92046,33.294618],[102.920409,33.294639],[102.920341,33.29463],[102.920188,33.294747],[102.920008,33.294696],[102.919901,33.294644],[102.919821,33.294617],[102.919662,33.294607],[102.919532,33.29459],[102.919364,33.29455],[102.91929,33.294488],[102.919245,33.294396],[102.91927,33.294281],[102.919316,33.294215],[102.919384,33.294087],[102.919388,33.29395],[102.919345,33.29385],[102.91929,33.293746],[102.919194,33.293638],[102.919071,33.293562],[102.918996,33.293508],[102.918977,33.293403],[102.918998,33.293294],[102.919032,33.293128],[102.919007,33.292947],[102.918917,33.292834],[102.918913,33.292696],[102.918741,33.29242],[102.897857,33.258822],[102.896783,33.257095],[102.896639,33.256863],[102.896195,33.256149],[102.895862,33.255613],[102.895851,33.255654],[102.895852,33.25568],[102.895853,33.255707],[102.895862,33.25574],[102.895877,33.255776],[102.895879,33.255821],[102.895875,33.255844],[102.895863,33.255849],[102.895843,33.255845],[102.89583,33.255811],[102.895805,33.255748],[102.895788,33.25571],[102.895782,33.255703],[102.895771,33.255693],[102.895762,33.255691],[102.89575,33.255705],[102.895744,33.255718],[102.895726,33.255718],[102.895713,33.2557],[102.895714,33.25568],[102.895716,33.25565],[102.895732,33.255602],[102.895741,33.255564],[102.895741,33.255526],[102.895739,33.255484],[102.895736,33.255445],[102.895721,33.255386],[102.894255,33.253026],[102.894194,33.252928],[102.894085,33.252752],[102.894068,33.252726],[102.894157,33.252639],[102.894164,33.252633],[102.8946,33.252208],[102.895065,33.251667],[102.895108,33.251635],[102.895215,33.251553],[102.895229,33.251543],[102.895287,33.251499],[102.895287,33.251103],[102.895342,33.250815],[102.895498,33.250669],[102.895741,33.250662],[102.895913,33.250906],[102.895998,33.251345],[102.896089,33.25161],[102.896213,33.25182],[102.89637,33.251827],[102.896494,33.251712],[102.896725,33.251494],[102.897016,33.251388],[102.897627,33.251277],[102.898378,33.251233],[102.899016,33.251156],[102.899726,33.251142],[102.899824,33.251013],[102.899654,33.250625],[102.899372,33.250204],[102.898974,33.249935],[102.898817,33.249805],[102.898936,33.249619],[102.899288,33.249309],[102.899403,33.2491],[102.899431,33.248606],[102.899398,33.248322],[102.899276,33.248081],[102.899047,33.247929],[102.898386,33.247744],[102.89805,33.247686],[102.897828,33.247606],[102.89772,33.247506],[102.897746,33.24737],[102.897862,33.247193],[102.898144,33.24697],[102.898129,33.246865],[102.897822,33.246552],[102.897529,33.24623],[102.897341,33.246041],[102.897115,33.245915],[102.896799,33.245863],[102.896189,33.245865],[102.895906,33.245939],[102.895818,33.246078],[102.895895,33.246229],[102.896273,33.246549],[102.896449,33.246828],[102.896394,33.246997],[102.896192,33.247056],[102.89582,33.246931],[102.895398,33.24658],[102.895153,33.246499],[102.894883,33.246468],[102.893818,33.246548],[102.893311,33.246555],[102.892784,33.24648],[102.892439,33.24628],[102.892141,33.245979],[102.892149,33.245779],[102.892226,33.245703],[102.89241,33.245672],[102.893459,33.245776],[102.894022,33.245742],[102.894264,33.245594],[102.89429,33.245438],[102.893923,33.244959],[102.893426,33.244428],[102.893113,33.244172],[102.892716,33.243995],[102.892504,33.243968],[102.892258,33.244044],[102.891645,33.244558],[102.891293,33.244869],[102.890887,33.245127],[102.890317,33.2452],[102.889802,33.245114],[102.889557,33.244944],[102.889654,33.244733],[102.889853,33.244604],[102.890562,33.244241],[102.891163,33.24389],[102.891935,33.243422],[102.892283,33.243067],[102.892435,33.242723],[102.892356,33.242473],[102.892056,33.242296],[102.891472,33.242111],[102.891057,33.242077],[102.890848,33.242154],[102.890742,33.242299],[102.890757,33.242475],[102.89107,33.242802],[102.891251,33.243046],[102.891266,33.243225],[102.891113,33.243297],[102.890846,33.243211],[102.890503,33.243012],[102.890284,33.242971],[102.889892,33.24299],[102.889383,33.243044],[102.889181,33.243007],[102.889042,33.242905],[102.889041,33.242784],[102.88931,33.242391],[102.889561,33.242176],[102.889737,33.241851],[102.889703,33.241628],[102.889574,33.241516],[102.889379,33.241501],[102.888687,33.241701],[102.887805,33.24201],[102.88727,33.242238],[102.887023,33.242332],[102.886869,33.242297],[102.886872,33.242161],[102.886906,33.241905],[102.886971,33.241722],[102.887066,33.241559],[102.887068,33.241412],[102.886962,33.241286],[102.886625,33.241094],[102.885931,33.240851],[102.884848,33.240541],[102.884194,33.240336],[102.883846,33.240162],[102.883863,33.239882],[102.884024,33.239736],[102.884398,33.239742],[102.88507,33.239879],[102.88529,33.239803],[102.885351,33.239348],[102.885333,33.238752],[102.885324,33.238343],[102.88524,33.23813],[102.885012,33.238159],[102.884742,33.23831],[102.884537,33.238525],[102.884197,33.238521],[102.883384,33.238282],[102.88296,33.238079],[102.882744,33.237793],[102.882795,33.237591],[102.883055,33.237506],[102.883727,33.237662],[102.884345,33.23784],[102.884622,33.237852],[102.885069,33.23768],[102.885254,33.237528],[102.885354,33.237343],[102.885294,33.237065],[102.885068,33.236788],[102.884594,33.236461],[102.884376,33.236331],[102.884382,33.236088],[102.884464,33.235773],[102.884645,33.235591],[102.884805,33.235541],[102.885037,33.235579],[102.885224,33.235722],[102.885424,33.235934],[102.885538,33.236025],[102.885654,33.235997],[102.88575,33.235887],[102.885894,33.235239],[102.886005,33.234933],[102.886336,33.234504],[102.886645,33.234228],[102.886818,33.234178],[102.886993,33.234245],[102.886945,33.234411],[102.886779,33.234708],[102.886697,33.234862],[102.886755,33.234968],[102.887152,33.235156],[102.887839,33.235474],[102.888223,33.235521],[102.888621,33.235487],[102.888952,33.235426],[102.889301,33.235258],[102.889469,33.235083],[102.889447,33.234878],[102.889308,33.23478],[102.888722,33.234691],[102.888403,33.234632],[102.888307,33.234524],[102.888388,33.234381],[102.888742,33.234203],[102.889417,33.233794],[102.889766,33.233494],[102.89004,33.233276],[102.890233,33.233132],[102.890171,33.232977],[102.889832,33.232529],[102.889523,33.232236],[102.889355,33.232205],[102.889187,33.232291],[102.889106,33.232582],[102.889023,33.232847],[102.888415,33.233116],[102.887654,33.233339],[102.887288,33.233387],[102.88697,33.23345],[102.886677,33.233472],[102.886338,33.233358],[102.886143,33.233207],[102.886112,33.233058],[102.886205,33.232957],[102.886515,33.232891],[102.88683,33.232844],[102.887074,33.232833],[102.887254,33.232817],[102.887353,33.232666],[102.887334,33.232467],[102.887173,33.231934],[102.887065,33.231665],[102.88693,33.231496],[102.886753,33.231426],[102.886469,33.231435],[102.885966,33.23162],[102.885497,33.231744],[102.885261,33.231703],[102.88518,33.231593],[102.885255,33.231377],[102.885533,33.230879],[102.886141,33.230177],[102.886318,33.23],[102.886355,33.22985],[102.886169,33.229821],[102.885683,33.229834],[102.885304,33.229768],[102.884872,33.22964],[102.884605,33.229554],[102.884403,33.229662],[102.88417,33.230331],[102.8839,33.230826],[102.883645,33.230958],[102.883432,33.230886],[102.883041,33.230494],[102.882805,33.229593],[102.88273,33.229128],[102.882816,33.228726],[102.882999,33.228686],[102.883219,33.22881],[102.883596,33.229144],[102.884144,33.229267],[102.884948,33.229353],[102.885909,33.229402],[102.886361,33.229416],[102.88671,33.229269],[102.88681,33.229111],[102.886771,33.228909],[102.886503,33.228746],[102.886237,33.228639],[102.886162,33.227884],[102.886061,33.226983],[102.885872,33.226623],[102.885606,33.226216],[102.885578,33.225929],[102.885743,33.225722],[102.886035,33.225567],[102.88636,33.225543],[102.886656,33.225617],[102.886748,33.225892],[102.886835,33.226434],[102.886993,33.22674],[102.887502,33.227143],[102.887689,33.227256],[102.887977,33.227336],[102.888141,33.227232],[102.888423,33.226394],[102.88868,33.225783],[102.888766,33.225625],[102.888722,33.225427],[102.888442,33.225208],[102.88793,33.224916],[102.887719,33.22489],[102.887335,33.224988],[102.886773,33.225222],[102.886652,33.225178],[102.886656,33.224978],[102.886881,33.224173],[102.887083,33.223284],[102.887351,33.222323],[102.88735,33.222165],[102.887182,33.222059],[102.886929,33.222156],[102.886486,33.222829],[102.886025,33.223404],[102.885738,33.223582],[102.885456,33.223606],[102.885301,33.223496],[102.885317,33.223368],[102.88569,33.223094],[102.88598,33.222849],[102.885982,33.22267],[102.885777,33.222554],[102.885279,33.222559],[102.884879,33.222571],[102.88469,33.222463],[102.884594,33.222066],[102.884611,33.221624],[102.884615,33.221397],[102.884587,33.221201],[102.884507,33.220964],[102.884458,33.220786],[102.884372,33.220649],[102.884236,33.22061],[102.884003,33.220622],[102.883763,33.220655],[102.883571,33.220592],[102.883136,33.220489],[102.882813,33.22048],[102.882516,33.220616],[102.882309,33.220678],[102.881724,33.220602],[102.881418,33.220599],[102.881144,33.220709],[102.880946,33.220894],[102.880773,33.221087],[102.88056,33.221167],[102.880412,33.221079],[102.880425,33.22094],[102.880496,33.220597],[102.880538,33.220309],[102.880419,33.219811],[102.880335,33.219572],[102.880109,33.219437],[102.879722,33.219436],[102.879485,33.219508],[102.879404,33.219671],[102.879434,33.220021],[102.87951,33.220405],[102.879482,33.220651],[102.879335,33.220916],[102.879037,33.221043],[102.878608,33.220927],[102.878093,33.220621],[102.877952,33.220433],[102.878032,33.220276],[102.878397,33.220148],[102.878605,33.220041],[102.878635,33.219896],[102.878208,33.219444],[102.87769,33.218967],[102.877591,33.218741],[102.877646,33.218529],[102.877835,33.218388],[102.878276,33.218302],[102.878636,33.218257],[102.878788,33.218144],[102.878813,33.21783],[102.878655,33.217627],[102.878452,33.217475],[102.878134,33.217403],[102.877422,33.217525],[102.876919,33.217639],[102.876517,33.21763],[102.876438,33.217628],[102.875901,33.217478],[102.875468,33.217255],[102.87526,33.217109],[102.87527,33.216943],[102.875401,33.216764],[102.876018,33.216626],[102.876501,33.216491],[102.876742,33.21636],[102.876791,33.216186],[102.876764,33.21598],[102.876598,33.215851],[102.875718,33.215945],[102.875222,33.215942],[102.87456,33.215623],[102.874043,33.215262],[102.873798,33.214896],[102.873742,33.214479],[102.873825,33.214297],[102.874007,33.214233],[102.874311,33.214335],[102.874663,33.214707],[102.875188,33.215411],[102.87548,33.215566],[102.87584,33.215588],[102.876453,33.215431],[102.876838,33.215236],[102.877047,33.214934],[102.876906,33.21466],[102.876602,33.214694],[102.876039,33.214946],[102.875677,33.214959],[102.875557,33.214765],[102.875865,33.214363],[102.876054,33.214189],[102.876171,33.213722],[102.876195,33.213451],[102.876081,33.213211],[102.876145,33.213003],[102.876289,33.212859],[102.876722,33.212873],[102.876725,33.213034],[102.876565,33.213449],[102.876528,33.213858],[102.876716,33.214141],[102.877072,33.214298],[102.877576,33.214323],[102.877638,33.214136],[102.877595,33.213788],[102.87748,33.213354],[102.877485,33.213115],[102.87759,33.212991],[102.87789,33.21295],[102.878588,33.213428],[102.878894,33.213612],[102.879436,33.213658],[102.879743,33.213542],[102.879914,33.213325],[102.879963,33.213079],[102.879793,33.212787],[102.879453,33.212491],[102.878935,33.212246],[102.878578,33.212178],[102.878098,33.212251],[102.87745,33.212346],[102.876911,33.212229],[102.876879,33.212038],[102.876957,33.211928],[102.877611,33.211889],[102.878261,33.211904],[102.878795,33.211747],[102.879264,33.211475],[102.879335,33.211228],[102.879219,33.210952],[102.878891,33.210734],[102.87822,33.211259],[102.877831,33.211528],[102.877482,33.211476],[102.877371,33.211157],[102.877402,33.21071],[102.87749,33.210271],[102.877638,33.210067],[102.878036,33.210041],[102.878486,33.210202],[102.878665,33.210143],[102.878609,33.209555],[102.878707,33.208739],[102.87839,33.208345],[102.878047,33.208411],[102.87784,33.208646],[102.877606,33.20926],[102.877352,33.20954],[102.877007,33.209719],[102.876614,33.209746],[102.876555,33.20959],[102.876723,33.209343],[102.877053,33.208925],[102.877327,33.208604],[102.877455,33.208384],[102.877392,33.208067],[102.877028,33.207618],[102.876904,33.207495],[102.876816,33.207255],[102.876899,33.207062],[102.877276,33.207013],[102.877598,33.20697],[102.877948,33.206934],[102.87815,33.206971],[102.878141,33.207131],[102.878058,33.207389],[102.878146,33.207542],[102.878347,33.207519],[102.878863,33.207368],[102.879435,33.207332],[102.880327,33.207389],[102.880866,33.207459],[102.88148,33.207627],[102.88177,33.207706],[102.881954,33.207666],[102.882086,33.207533],[102.882021,33.207197],[102.881807,33.206692],[102.881599,33.20656],[102.88097,33.206753],[102.880786,33.206708],[102.880653,33.206459],[102.880437,33.206174],[102.880042,33.205948],[102.879475,33.205672],[102.879447,33.205494],[102.879562,33.205345],[102.880021,33.205196],[102.88027,33.205071],[102.880229,33.204905],[102.879752,33.204771],[102.879455,33.204408],[102.879244,33.204007],[102.879305,33.203841],[102.879562,33.203741],[102.879794,33.203701],[102.879948,33.20361],[102.88006,33.203396],[102.880178,33.203187],[102.880336,33.203098],[102.880498,33.20312],[102.88073,33.203266],[102.881129,33.20364],[102.881377,33.203707],[102.881774,33.203669],[102.881906,33.203546],[102.881841,33.2034],[102.881566,33.20326],[102.881335,33.203136],[102.881126,33.202932],[102.880912,33.202619],[102.880859,33.202455],[102.880979,33.202245],[102.881229,33.202132],[102.881393,33.202143],[102.881501,33.202238],[102.881583,33.202584],[102.881688,33.202817],[102.881961,33.2029],[102.882372,33.202846],[102.88274,33.202735],[102.882941,33.2026],[102.883038,33.202385],[102.883051,33.202162],[102.882907,33.201918],[102.882693,33.201699],[102.882604,33.201581],[102.882159,33.20152],[102.881844,33.201388],[102.881786,33.201224],[102.881928,33.20102],[102.882102,33.200846],[102.882119,33.200652],[102.881942,33.200578],[102.881327,33.200729],[102.880923,33.200765],[102.880722,33.200646],[102.88065,33.2005],[102.880801,33.20031],[102.881012,33.200122],[102.881181,33.19999],[102.881179,33.199804],[102.880946,33.19957],[102.880336,33.199244],[102.879953,33.199189],[102.879372,33.199172],[102.879215,33.19896],[102.879259,33.19879],[102.87966,33.198478],[102.879742,33.198317],[102.879687,33.198165],[102.879058,33.198093],[102.878364,33.198178],[102.878042,33.198175],[102.877907,33.198012],[102.877974,33.197868],[102.878233,33.197725],[102.878398,33.197604],[102.878504,33.197386],[102.878419,33.197029],[102.878042,33.196635],[102.877707,33.196482],[102.877256,33.196444],[102.877068,33.196344],[102.877071,33.196216],[102.877212,33.196114],[102.877387,33.196029],[102.877485,33.195929],[102.87745,33.1958],[102.877286,33.195692],[102.877035,33.195574],[102.876999,33.195394],[102.87714,33.195287],[102.877598,33.195196],[102.877983,33.19503],[102.878249,33.194794],[102.878267,33.19459],[102.878099,33.194368],[102.877701,33.194402],[102.877191,33.194468],[102.876882,33.194419],[102.876879,33.194242],[102.877164,33.193916],[102.877537,33.19345],[102.877772,33.193017],[102.877897,33.192712],[102.877707,33.192285],[102.877449,33.192332],[102.877415,33.19263],[102.877451,33.192989],[102.877263,33.1933],[102.877043,33.193372],[102.876812,33.193258],[102.876817,33.192882],[102.876719,33.192525],[102.876395,33.192531],[102.87614,33.192925],[102.875919,33.193122],[102.875286,33.1932],[102.874933,33.193129],[102.874901,33.192999],[102.875157,33.192781],[102.875536,33.192611],[102.875701,33.192389],[102.875511,33.192157],[102.875228,33.19206],[102.874645,33.19205],[102.874508,33.191868],[102.874351,33.191556],[102.873942,33.191373],[102.87376,33.191274],[102.873756,33.19115],[102.874168,33.190886],[102.874562,33.19054],[102.874874,33.190339],[102.874902,33.190154],[102.874778,33.189949],[102.874436,33.189882],[102.874092,33.189954],[102.873812,33.189904],[102.873707,33.189662],[102.873724,33.189367],[102.873936,33.188647],[102.874013,33.188298],[102.873879,33.188068],[102.873641,33.188082],[102.87347,33.188385],[102.873336,33.188737],[102.873122,33.188904],[102.87286,33.188897],[102.872783,33.188895],[102.872461,33.188719],[102.872397,33.188704],[102.872182,33.188655],[102.872009,33.188515],[102.872055,33.188207],[102.872107,33.187895],[102.872124,33.187605],[102.872207,33.187451],[102.872172,33.187269],[102.872046,33.187197],[102.871766,33.187247],[102.871574,33.187525],[102.871402,33.187851],[102.871219,33.187862],[102.871106,33.187748],[102.870958,33.187566],[102.870774,33.18752],[102.870545,33.187568],[102.87034,33.187774],[102.870106,33.187997],[102.869903,33.188075],[102.869765,33.188021],[102.869735,33.187858],[102.869847,33.187687],[102.870022,33.187494],[102.870056,33.187295],[102.869943,33.187205],[102.869645,33.187264],[102.869403,33.187321],[102.869186,33.187254],[102.869012,33.187142],[102.86901,33.186978],[102.868996,33.186802],[102.868873,33.186657],[102.868261,33.186406],[102.867811,33.186257],[102.867636,33.186342],[102.867559,33.186512],[102.867654,33.18676],[102.867821,33.187109],[102.86795,33.187698],[102.868124,33.187929],[102.868295,33.188021],[102.868247,33.188182],[102.867978,33.188293],[102.867667,33.188406],[102.867612,33.188564],[102.867732,33.188688],[102.868062,33.188988],[102.868087,33.189224],[102.868,33.189369],[102.867759,33.18938],[102.867363,33.189134],[102.8669,33.188803],[102.866306,33.188392],[102.866066,33.188317],[102.86585,33.188391],[102.865865,33.188487],[102.866085,33.188669],[102.866163,33.188845],[102.866046,33.189096],[102.865637,33.18949],[102.865233,33.189854],[102.865188,33.190118],[102.865304,33.19031],[102.865726,33.190372],[102.866222,33.190423],[102.866556,33.190579],[102.866997,33.19073],[102.867154,33.190942],[102.867118,33.191274],[102.866913,33.191579],[102.866537,33.191707],[102.865916,33.191681],[102.865572,33.191543],[102.865437,33.191342],[102.865354,33.191015],[102.86515,33.19083],[102.864723,33.19076],[102.864323,33.19085],[102.864031,33.191048],[102.863653,33.19119],[102.863189,33.191131],[102.862945,33.190957],[102.86302,33.190831],[102.863271,33.190752],[102.863618,33.190695],[102.863695,33.190473],[102.863689,33.189923],[102.863899,33.18961],[102.864033,33.189344],[102.863892,33.189149],[102.863676,33.189272],[102.863532,33.189559],[102.863164,33.189458],[102.862897,33.189376],[102.862522,33.189389],[102.862218,33.189396],[102.861854,33.189231],[102.861396,33.188919],[102.860739,33.18882],[102.860373,33.188691],[102.860301,33.188496],[102.860288,33.188138],[102.860062,33.187779],[102.859741,33.187323],[102.859393,33.18688],[102.859235,33.186823],[102.858977,33.18702],[102.858746,33.187039],[102.858638,33.186848],[102.858553,33.186566],[102.858294,33.186339],[102.857964,33.186082],[102.857712,33.186129],[102.857578,33.186476],[102.857428,33.186812],[102.857288,33.186878],[102.857127,33.186833],[102.85706,33.186716],[102.856954,33.186002],[102.856835,33.185578],[102.856712,33.185359],[102.856502,33.185369],[102.856291,33.185584],[102.856065,33.185865],[102.855846,33.185837],[102.855861,33.185676],[102.856055,33.18546],[102.856193,33.185223],[102.856161,33.185002],[102.855977,33.184947],[102.85541,33.185052],[102.855164,33.185104],[102.854868,33.18493],[102.854544,33.184654],[102.854266,33.184372],[102.853971,33.184332],[102.853548,33.184514],[102.853386,33.184747],[102.853271,33.185035],[102.853149,33.185151],[102.852927,33.185096],[102.85259,33.184497],[102.852272,33.184126],[102.851538,33.184096],[102.851029,33.184095],[102.850819,33.183976],[102.850898,33.183715],[102.851108,33.18347],[102.851651,33.183053],[102.851841,33.182918],[102.851944,33.182979],[102.852051,33.18333],[102.85214,33.183616],[102.852448,33.183722],[102.852772,33.18371],[102.853136,33.183586],[102.853239,33.183504],[102.85319,33.183439],[102.852919,33.183342],[102.852804,33.18326],[102.852761,33.183031],[102.852691,33.18277],[102.852552,33.182487],[102.852549,33.182296],[102.852663,33.182093],[102.852848,33.181963],[102.853024,33.181977],[102.853154,33.182295],[102.853336,33.182695],[102.853636,33.182961],[102.853893,33.183215],[102.854064,33.183327],[102.854177,33.183334],[102.854236,33.183283],[102.85431,33.183057],[102.854372,33.182789],[102.854584,33.182508],[102.854597,33.182196],[102.854615,33.181885],[102.854627,33.181643],[102.854435,33.181477],[102.854056,33.181274],[102.853915,33.181135],[102.853887,33.181026],[102.853948,33.180836],[102.854027,33.180679],[102.854121,33.18066],[102.854372,33.180787],[102.854603,33.180874],[102.85484,33.180846],[102.854965,33.180722],[102.854971,33.180526],[102.854888,33.180189],[102.854819,33.179859],[102.854861,33.17962],[102.855038,33.179555],[102.855208,33.179613],[102.855286,33.179729],[102.8552,33.179943],[102.855175,33.180115],[102.855288,33.180313],[102.855445,33.180412],[102.855702,33.180375],[102.85608,33.18014],[102.856415,33.179975],[102.856454,33.179801],[102.856238,33.17942],[102.855804,33.179088],[102.855364,33.178674],[102.855138,33.178474],[102.854903,33.178352],[102.854849,33.178117],[102.854894,33.177926],[102.855164,33.177819],[102.855763,33.177666],[102.856151,33.177578],[102.856483,33.177428],[102.856698,33.177297],[102.85676,33.177042],[102.856723,33.176825],[102.856598,33.176491],[102.856289,33.176468],[102.855851,33.176542],[102.855665,33.176531],[102.855556,33.176287],[102.855606,33.176157],[102.856038,33.176036],[102.856167,33.175862],[102.856057,33.175644],[102.855541,33.175322],[102.855369,33.175146],[102.855425,33.17492],[102.855619,33.174788],[102.856024,33.174698],[102.856441,33.174547],[102.856567,33.174424],[102.856708,33.174051],[102.856968,33.173815],[102.857242,33.173623],[102.857395,33.173369],[102.857299,33.173132],[102.857016,33.173076],[102.856714,33.173269],[102.856494,33.173635],[102.856328,33.173994],[102.856179,33.174188],[102.85594,33.174207],[102.855776,33.174117],[102.855707,33.17396],[102.855719,33.173823],[102.855868,33.173689],[102.856137,33.173504],[102.856217,33.17329],[102.856086,33.173109],[102.855663,33.172954],[102.855221,33.172888],[102.854684,33.172877],[102.854534,33.17279],[102.854494,33.172654],[102.854404,33.172652],[102.85435,33.172652],[102.854332,33.173127],[102.854302,33.173219],[102.854238,33.173342],[102.853906,33.173709],[102.85351,33.174122],[102.853463,33.174094],[102.853418,33.174068],[102.852959,33.173695],[102.852582,33.173393],[102.852331,33.173199],[102.852301,33.173148],[102.852237,33.173137],[102.852192,33.173125],[102.85214,33.173095],[102.852099,33.173051],[102.852082,33.173006],[102.852073,33.172976],[102.852058,33.172935],[102.852044,33.172905],[102.85213,33.172768],[102.852718,33.172623],[102.853644,33.17233],[102.854049,33.172126],[102.85433,33.171874],[102.854426,33.171789],[102.854437,33.171779],[102.854511,33.171713],[102.854901,33.171467],[102.855005,33.171286],[102.855041,33.171202],[102.855157,33.171219],[102.855461,33.171429],[102.855469,33.171435],[102.855523,33.171488],[102.855532,33.171497],[102.855575,33.171539],[102.855642,33.171499],[102.855636,33.171369],[102.855686,33.171148],[102.855806,33.170955],[102.855947,33.17082],[102.856081,33.170778],[102.856186,33.170805],[102.856257,33.170989],[102.856113,33.171284],[102.856043,33.171431],[102.85606,33.171533],[102.856245,33.171608],[102.85629,33.17162],[102.856267,33.171576],[102.856317,33.171582],[102.856331,33.171578],[102.856337,33.171558],[102.856336,33.171525],[102.85633,33.171511],[102.85631,33.171476],[102.856287,33.171378],[102.85628,33.171261],[102.856289,33.171179],[102.856312,33.171128],[102.856314,33.171125],[102.856339,33.171101],[102.856363,33.171088],[102.856393,33.17108],[102.85643,33.17108],[102.856459,33.171087],[102.856492,33.171103],[102.856514,33.17112],[102.856562,33.171184],[102.856601,33.171244],[102.856675,33.171325],[102.856761,33.171403],[102.85679,33.171408],[102.856807,33.171396],[102.856807,33.171369],[102.856801,33.171337],[102.856786,33.171303],[102.856779,33.171275],[102.856777,33.171246],[102.856805,33.171211],[102.856845,33.171171],[102.856903,33.171114],[102.85694,33.171077],[102.856957,33.17105],[102.856946,33.170997],[102.856935,33.170937],[102.856924,33.170884],[102.856924,33.170825],[102.856938,33.170765],[102.856957,33.170714],[102.856962,33.170674],[102.856962,33.170616],[102.856957,33.170575],[102.85694,33.170544],[102.856898,33.17051],[102.856807,33.170497],[102.856712,33.170487],[102.856585,33.170469],[102.856386,33.170435],[102.856287,33.17043],[102.856173,33.170398],[102.856108,33.17036],[102.85609,33.170345],[102.856063,33.170315],[102.85605,33.170283],[102.856049,33.170249],[102.856064,33.170227],[102.856097,33.170204],[102.856143,33.170184],[102.856186,33.17017],[102.856207,33.170157],[102.856233,33.170104],[102.85626,33.170055],[102.856315,33.170021],[102.856364,33.170004],[102.856442,33.169986],[102.85653,33.169983],[102.856572,33.169987],[102.856613,33.170009],[102.85666,33.170041],[102.856697,33.17006],[102.856735,33.170068],[102.856783,33.170071],[102.856835,33.170071],[102.856879,33.170054],[102.856916,33.170026],[102.856942,33.169997],[102.856947,33.169976],[102.856944,33.169959],[102.856928,33.169946],[102.856891,33.169935],[102.856839,33.16992],[102.856788,33.169907],[102.856709,33.169865],[102.856671,33.169839],[102.856625,33.169799],[102.856601,33.169763],[102.856589,33.169718],[102.856585,33.169674],[102.856597,33.169639],[102.856641,33.169596],[102.856683,33.169562],[102.856704,33.169532],[102.856706,33.169484],[102.856692,33.169455],[102.856653,33.16942],[102.856612,33.169411],[102.856552,33.169407],[102.856501,33.169407],[102.856448,33.169426],[102.856363,33.169483],[102.856326,33.169505],[102.856274,33.169541],[102.856246,33.16956],[102.856212,33.16957],[102.856156,33.169578],[102.856104,33.169579],[102.856061,33.169569],[102.856027,33.169536],[102.855999,33.169492],[102.85598,33.169407],[102.855948,33.16934],[102.855918,33.169305],[102.85589,33.169255],[102.855874,33.169204],[102.855865,33.169169],[102.855842,33.169141],[102.85581,33.169145],[102.855764,33.169166],[102.855712,33.169172],[102.855675,33.169172],[102.855528,33.169169],[102.855521,33.16917],[102.855477,33.169174],[102.855413,33.16919],[102.855382,33.169193],[102.855341,33.169185],[102.855296,33.169159],[102.855252,33.169131],[102.85521,33.169108],[102.855195,33.169088],[102.855186,33.169059],[102.855192,33.169022],[102.855212,33.168993],[102.855245,33.168964],[102.855308,33.16893],[102.855409,33.168881],[102.855466,33.168844],[102.855513,33.168811],[102.855595,33.168758],[102.855594,33.168696],[102.855583,33.168693],[102.855547,33.168681],[102.855518,33.168681],[102.855457,33.168681],[102.855403,33.168671],[102.855358,33.168637],[102.855329,33.168594],[102.855319,33.168555],[102.85532,33.16852],[102.855337,33.168482],[102.855371,33.168453],[102.855406,33.168438],[102.855463,33.168429],[102.855538,33.16843],[102.855609,33.168429],[102.85572,33.168431],[102.855734,33.168435],[102.855756,33.168447],[102.855788,33.168459],[102.855817,33.168462],[102.855838,33.168458],[102.855857,33.168446],[102.85587,33.168433],[102.855949,33.168487],[102.855983,33.168388],[102.855992,33.168367],[102.856004,33.168361],[102.856021,33.168364],[102.856034,33.168371],[102.856094,33.168422],[102.856149,33.168464],[102.85618,33.168471],[102.856219,33.168475],[102.856263,33.168472],[102.856297,33.168464],[102.856326,33.168455],[102.856354,33.168429],[102.856371,33.168405],[102.856378,33.16838],[102.856379,33.168347],[102.856373,33.16831],[102.856368,33.1683],[102.856349,33.168261],[102.856335,33.168224],[102.85632,33.16818],[102.856309,33.168124],[102.856313,33.168071],[102.856313,33.168053],[102.856312,33.168014],[102.856306,33.167983],[102.856292,33.167954],[102.856258,33.167899],[102.856256,33.167881],[102.856262,33.167865],[102.856278,33.167848],[102.856333,33.167814],[102.856354,33.167807],[102.8565,33.16775],[102.856545,33.167745],[102.856569,33.167743],[102.856592,33.167748],[102.856599,33.167758],[102.856603,33.167773],[102.856603,33.167797],[102.856595,33.167834],[102.856582,33.167874],[102.856551,33.167918],[102.856521,33.167951],[102.856449,33.168129],[102.856441,33.168165],[102.856444,33.168215],[102.856458,33.168259],[102.856489,33.168322],[102.856517,33.168351],[102.856574,33.168388],[102.856622,33.168396],[102.856693,33.168403],[102.85676,33.168403],[102.85681,33.168398],[102.856843,33.168379],[102.856859,33.168364],[102.856863,33.168345],[102.85686,33.168311],[102.85685,33.168257],[102.856841,33.168213],[102.85684,33.168189],[102.856843,33.168161],[102.856856,33.168134],[102.856872,33.168127],[102.856884,33.168128],[102.856926,33.16813],[102.856987,33.168142],[102.856966,33.168075],[102.856943,33.168003],[102.856908,33.167892],[102.856597,33.167662],[102.856167,33.167472],[102.855957,33.167187],[102.85588,33.166919],[102.855953,33.166653],[102.85634,33.166533],[102.8566,33.166584],[102.856625,33.166589],[102.856673,33.166599],[102.856691,33.166602],[102.856692,33.166568],[102.856688,33.166519],[102.856711,33.166475],[102.856746,33.166441],[102.85679,33.166425],[102.856835,33.166424],[102.856868,33.166425],[102.856906,33.166414],[102.85696,33.166411],[102.857132,33.16644],[102.857208,33.166477],[102.857252,33.166501],[102.857284,33.166519],[102.857291,33.166525],[102.857302,33.166535],[102.857309,33.166554],[102.857307,33.166574],[102.857276,33.166588],[102.857175,33.166641],[102.857104,33.166699],[102.85706,33.16675],[102.857039,33.166796],[102.857034,33.166819],[102.85703,33.166857],[102.857039,33.166879],[102.857051,33.166896],[102.857076,33.166912],[102.8571,33.166922],[102.857122,33.166926],[102.857643,33.167564],[102.857711,33.167647],[102.857718,33.167656],[102.857736,33.167605],[102.857777,33.16751],[102.857799,33.167465],[102.857825,33.16744],[102.857857,33.167432],[102.857942,33.167426],[102.858038,33.16743],[102.858071,33.167444],[102.858093,33.167467],[102.858114,33.167501],[102.85813,33.167542],[102.858139,33.16759],[102.858135,33.167654],[102.858095,33.167748],[102.858029,33.167835],[102.857972,33.167881],[102.857922,33.167907],[102.857931,33.167917],[102.857959,33.167952],[102.858248,33.16842],[102.858524,33.168762],[102.858712,33.169257],[102.859056,33.169544],[102.859239,33.169561],[102.859343,33.169437],[102.8594,33.169228],[102.859404,33.169211],[102.859409,33.169194],[102.859416,33.169167],[102.859616,33.169344],[102.859826,33.169508],[102.859929,33.169577],[102.860084,33.169589],[102.860213,33.169551],[102.860249,33.169469],[102.860098,33.169344],[102.859809,33.169103],[102.859713,33.168954],[102.859743,33.168882],[102.859907,33.168838],[102.860066,33.168801],[102.860218,33.168672],[102.860316,33.168625],[102.860453,33.168635],[102.860573,33.16873],[102.860881,33.168954],[102.861059,33.16906],[102.861351,33.169146],[102.861687,33.169168],[102.861936,33.169123],[102.862153,33.169042],[102.862234,33.168919],[102.862206,33.168813],[102.862067,33.168776],[102.861749,33.168787],[102.861583,33.168773],[102.861505,33.168555],[102.861402,33.168229],[102.861444,33.168095],[102.861512,33.168096],[102.861593,33.168154],[102.861677,33.168331],[102.861776,33.168376],[102.861926,33.168373],[102.862051,33.168323],[102.862176,33.168216],[102.862212,33.168096],[102.862188,33.167935],[102.862176,33.167832],[102.862227,33.167727],[102.862307,33.167643],[102.862477,33.167608],[102.86265,33.167623],[102.862764,33.167736],[102.862836,33.167979],[102.862874,33.168211],[102.862941,33.168382],[102.86302,33.168427],[102.86317,33.168344],[102.863342,33.168191],[102.863466,33.168173],[102.863676,33.168258],[102.864056,33.168472],[102.864278,33.168436],[102.864555,33.168273],[102.864779,33.168146],[102.864866,33.168042],[102.864756,33.167881],[102.864747,33.167748],[102.864819,33.167533],[102.864892,33.167447],[102.865339,33.167433],[102.865508,33.167464],[102.865703,33.16752],[102.866066,33.167791],[102.866426,33.167984],[102.866879,33.16811],[102.86713,33.168122],[102.867306,33.168085],[102.8675,33.167968],[102.86763,33.167738],[102.86762,33.167553],[102.867519,33.167525],[102.867305,33.167618],[102.867033,33.167719],[102.866774,33.167739],[102.866645,33.167692],[102.866659,33.167582],[102.866786,33.167427],[102.866766,33.167386],[102.866764,33.167381],[102.86676,33.167373],[102.866544,33.166939],[102.866131,33.165877],[102.865702,33.165501],[102.86546,33.165128],[102.865616,33.16495],[102.865665,33.164893],[102.865868,33.164661],[102.866586,33.164357],[102.866885,33.164063],[102.86706,33.16375],[102.867022,33.163591],[102.866848,33.163563],[102.866805,33.163586],[102.866747,33.163615],[102.866604,33.163657],[102.86647,33.163684],[102.866401,33.163689],[102.866274,33.163688],[102.866189,33.163679],[102.866129,33.163664],[102.866087,33.163638],[102.866067,33.16362],[102.866049,33.163623],[102.866019,33.163627],[102.865602,33.163567],[102.865361,33.163177],[102.865747,33.162779],[102.866115,33.162514],[102.866124,33.162507],[102.866102,33.162461],[102.86609,33.162408],[102.866091,33.162355],[102.866104,33.162299],[102.866144,33.162241],[102.866243,33.162176],[102.866373,33.162138],[102.866468,33.162123],[102.866534,33.162126],[102.866565,33.162137],[102.866571,33.16213],[102.866684,33.162022],[102.86663,33.16167],[102.866535,33.161265],[102.866454,33.161227],[102.866143,33.161082],[102.865944,33.161058],[102.865943,33.161156],[102.865898,33.161269],[102.865759,33.16138],[102.865705,33.161424],[102.865589,33.161469],[102.865401,33.161506],[102.86525,33.161519],[102.864999,33.161521],[102.864873,33.161516],[102.864783,33.161509],[102.864754,33.161533],[102.864355,33.161631],[102.863879,33.161447],[102.863574,33.161108],[102.863502,33.160633],[102.863574,33.160248],[102.863895,33.159937],[102.864074,33.159931],[102.864087,33.15993],[102.864097,33.15993],[102.864172,33.159927],[102.864195,33.159734],[102.864263,33.159523],[102.864366,33.159369],[102.864538,33.159352],[102.86477,33.159426],[102.864819,33.159546],[102.864648,33.159691],[102.864468,33.159805],[102.864448,33.159918],[102.864519,33.159978],[102.864647,33.159967],[102.8648,33.159867],[102.864926,33.159835],[102.865059,33.159868],[102.865293,33.159982],[102.865668,33.15994],[102.865844,33.159867],[102.865913,33.159812],[102.865897,33.159707],[102.865596,33.159537],[102.865281,33.159241],[102.865248,33.159128],[102.865324,33.159033],[102.865406,33.159015],[102.865422,33.158975],[102.865555,33.158631],[102.86563,33.158123],[102.865664,33.157596],[102.865764,33.156895],[102.86569,33.156508],[102.865472,33.156047],[102.864896,33.155651],[102.864531,33.155241],[102.864187,33.15476],[102.864053,33.154249],[102.863919,33.153772],[102.863801,33.153472],[102.863529,33.153375],[102.863523,33.153372],[102.863483,33.153358],[102.863418,33.153405],[102.863339,33.153423],[102.863233,33.153429],[102.863146,33.153478],[102.86303,33.153675],[102.862897,33.153876],[102.862698,33.154113],[102.862604,33.154185],[102.862501,33.154205],[102.862377,33.154192],[102.862288,33.154155],[102.862199,33.154105],[102.8622,33.154043],[102.86223,33.153974],[102.862327,33.153945],[102.86244,33.153904],[102.86254,33.153853],[102.862582,33.153802],[102.862541,33.153721],[102.862478,33.153719],[102.862326,33.153777],[102.862241,33.153789],[102.862159,33.153744],[102.861951,33.153617],[102.861786,33.153597],[102.861669,33.153586],[102.861568,33.153538],[102.861445,33.153399],[102.86138,33.153301],[102.861378,33.153225],[102.861412,33.153129],[102.861445,33.153084],[102.861501,33.153072],[102.861592,33.153088],[102.861669,33.153154],[102.861797,33.153295],[102.861934,33.15344],[102.862053,33.153518],[102.862172,33.153568],[102.862262,33.153572],[102.862355,33.153554],[102.862383,33.153511],[102.862346,33.153449],[102.862139,33.153353],[102.861932,33.153235],[102.861884,33.153142],[102.861933,33.15307],[102.861989,33.153035],[102.862068,33.153041],[102.862212,33.153072],[102.862355,33.153086],[102.862453,33.153064],[102.862465,33.153008],[102.862458,33.15295],[102.862352,33.15288],[102.862113,33.152775],[102.862011,33.152698],[102.861962,33.152606],[102.862004,33.152495],[102.862058,33.152421],[102.862075,33.152367],[102.862069,33.152279],[102.862069,33.152217],[102.862039,33.152125],[102.861971,33.15208],[102.861823,33.152065],[102.861664,33.152065],[102.861555,33.152114],[102.861509,33.152158],[102.861504,33.152214],[102.861546,33.152268],[102.861624,33.152334],[102.861647,33.152404],[102.861616,33.152473],[102.861549,33.152506],[102.861424,33.152514],[102.861298,33.152558],[102.861222,33.152602],[102.861199,33.152716],[102.861229,33.152841],[102.86129,33.152994],[102.861275,33.15311],[102.861209,33.153191],[102.861123,33.153199],[102.861085,33.15315],[102.861046,33.153017],[102.860979,33.15291],[102.860837,33.152894],[102.860474,33.152937],[102.860215,33.152977],[102.860054,33.153038],[102.859935,33.153071],[102.859868,33.153076],[102.859809,33.153063],[102.859773,33.153084],[102.859765,33.153089],[102.859653,33.153154],[102.859383,33.153097],[102.859159,33.152865],[102.859028,33.152578],[102.858981,33.152475],[102.858995,33.152278],[102.858998,33.152237],[102.859004,33.152152],[102.859012,33.152037],[102.859012,33.151914],[102.859011,33.15167],[102.859011,33.151654],[102.859011,33.151537],[102.85901,33.151264],[102.85898,33.150789],[102.858822,33.1504],[102.858096,33.150194],[102.857882,33.150306],[102.857872,33.150312],[102.857839,33.150329],[102.857815,33.150341],[102.857804,33.150347],[102.857314,33.150602],[102.856594,33.151029],[102.855902,33.15114],[102.855704,33.151558],[102.855693,33.151609],[102.855689,33.151627],[102.855697,33.151634],[102.85571,33.151645],[102.855729,33.151658],[102.855752,33.151676],[102.855774,33.151695],[102.855803,33.15173],[102.855824,33.151769],[102.85583,33.151806],[102.855829,33.151844],[102.855822,33.151871],[102.855806,33.151899],[102.855789,33.151913],[102.855746,33.151933],[102.855704,33.151944],[102.855684,33.151956],[102.855643,33.151981],[102.855608,33.152005],[102.855547,33.152032],[102.855457,33.152109],[102.85541,33.152176],[102.85544,33.152273],[102.855508,33.152364],[102.855379,33.15251],[102.855372,33.152518],[102.855307,33.152592],[102.855174,33.152744],[102.854841,33.152703],[102.854557,33.152364],[102.854651,33.151927],[102.854685,33.151383],[102.85451,33.150835],[102.854155,33.149986],[102.853415,33.148458],[102.8534,33.148427],[102.853204,33.147897],[102.853194,33.14744],[102.853354,33.147254],[102.853364,33.147242],[102.853387,33.147215],[102.8534,33.147209],[102.853313,33.147122],[102.853303,33.147027],[102.853351,33.146871],[102.853444,33.146772],[102.853561,33.146715],[102.853679,33.146759],[102.853843,33.146878],[102.854015,33.14711],[102.854104,33.147179],[102.854224,33.14718],[102.854312,33.147169],[102.854387,33.147135],[102.854392,33.147019],[102.854388,33.146909],[102.854436,33.146795],[102.854548,33.146725],[102.854734,33.146718],[102.854999,33.146813],[102.855105,33.146836],[102.855157,33.146821],[102.855235,33.146732],[102.855236,33.146616],[102.855192,33.146522],[102.855086,33.14641],[102.855055,33.146318],[102.85511,33.146201],[102.855179,33.146183],[102.855352,33.146178],[102.85545,33.146149],[102.855534,33.146069],[102.855653,33.146024],[102.855822,33.146085],[102.855956,33.146215],[102.855979,33.146311],[102.855919,33.14642],[102.855659,33.146507],[102.855495,33.146601],[102.855453,33.146737],[102.855498,33.146889],[102.855579,33.146957],[102.855717,33.14691],[102.855852,33.146782],[102.856006,33.146612],[102.856168,33.146517],[102.856284,33.146505],[102.856384,33.146497],[102.856472,33.146434],[102.856421,33.146351],[102.856377,33.146316],[102.856424,33.146239],[102.856477,33.146163],[102.856461,33.146098],[102.856332,33.146023],[102.856272,33.145942],[102.856248,33.145822],[102.856245,33.145579],[102.856239,33.145446],[102.85616,33.145378],[102.856066,33.145388],[102.856045,33.145471],[102.856094,33.145585],[102.856089,33.14567],[102.855974,33.145804],[102.855789,33.145868],[102.855599,33.145876],[102.855516,33.145842],[102.85554,33.145764],[102.855598,33.145652],[102.855613,33.145539],[102.855509,33.145482],[102.855225,33.145487],[102.854947,33.145547],[102.854776,33.145569],[102.85455,33.145567],[102.85439,33.145581],[102.854226,33.145579],[102.854034,33.145519],[102.853896,33.145411],[102.853781,33.145297],[102.853699,33.145148],[102.8537,33.145038],[102.853755,33.144926],[102.853837,33.14487],[102.853821,33.144845],[102.853817,33.144838],[102.853756,33.144743],[102.853749,33.144732],[102.85365,33.144798],[102.85354,33.144859],[102.853486,33.14488],[102.853441,33.144889],[102.85342,33.144891],[102.853389,33.144883],[102.853364,33.144872],[102.853336,33.144851],[102.85331,33.144793],[102.853263,33.144665],[102.853239,33.144635],[102.853213,33.144591],[102.853198,33.144572],[102.853181,33.144557],[102.853164,33.144545],[102.853148,33.144523],[102.853139,33.144507],[102.853134,33.144491],[102.853135,33.144481],[102.853092,33.144486],[102.853061,33.1445],[102.853022,33.144513],[102.852993,33.144536],[102.852982,33.144554],[102.852969,33.144585],[102.852957,33.144616],[102.852938,33.144657],[102.852936,33.144686],[102.852939,33.144708],[102.852951,33.144732],[102.852965,33.144764],[102.852932,33.144777],[102.852482,33.144951],[102.85227,33.145088],[102.852083,33.145032],[102.852192,33.144876],[102.852429,33.144564],[102.852716,33.143919],[102.853168,33.143365],[102.853763,33.142953],[102.854334,33.142629],[102.855242,33.142224],[102.855628,33.141791],[102.855825,33.141443],[102.855855,33.14104],[102.855716,33.140756],[102.855567,33.14069],[102.85556,33.140705],[102.855553,33.14073],[102.855528,33.140789],[102.855493,33.140839],[102.855441,33.140877],[102.855349,33.1409],[102.855249,33.140936],[102.855172,33.140954],[102.855143,33.140953],[102.855073,33.140935],[102.855063,33.140926],[102.855043,33.140907],[102.855021,33.140868],[102.855005,33.140816],[102.854985,33.140758],[102.854965,33.140707],[102.854951,33.140664],[102.854952,33.140618],[102.854982,33.140539],[102.854987,33.140525],[102.854948,33.140517],[102.854846,33.140495],[102.85473,33.140365],[102.854561,33.140174],[102.854537,33.139898],[102.854528,33.139805],[102.854451,33.13954],[102.854293,33.139168],[102.854186,33.139134],[102.854173,33.139158],[102.854139,33.139216],[102.854106,33.139261],[102.854048,33.139305],[102.853982,33.139336],[102.853909,33.139338],[102.853866,33.139336],[102.853832,33.139319],[102.853798,33.139281],[102.853786,33.139245],[102.853791,33.139229],[102.853795,33.139206],[102.853816,33.139177],[102.853841,33.139155],[102.853863,33.139138],[102.853877,33.139125],[102.853881,33.139114],[102.853873,33.139094],[102.853864,33.139078],[102.853854,33.139064],[102.853848,33.139052],[102.85381,33.139045],[102.853567,33.138998],[102.853436,33.13895],[102.853423,33.138881],[102.853413,33.13886],[102.853393,33.138841],[102.853376,33.138832],[102.853345,33.138832],[102.853316,33.138835],[102.853286,33.138848],[102.853256,33.138865],[102.853244,33.138881],[102.85322,33.138914],[102.853205,33.138929],[102.853177,33.13895],[102.85316,33.138958],[102.853139,33.138962],[102.853122,33.138961],[102.853107,33.138956],[102.853098,33.138939],[102.853092,33.138913],[102.853089,33.13888],[102.853089,33.138839],[102.853088,33.138824],[102.853035,33.138805],[102.853026,33.138802],[102.853008,33.138794],[102.852986,33.138727],[102.852872,33.138371],[102.852869,33.138295],[102.852861,33.138121],[102.852832,33.137457],[102.852469,33.136941],[102.852266,33.13679],[102.852248,33.136776],[102.852215,33.136781],[102.852173,33.136778],[102.852128,33.136758],[102.852118,33.136748],[102.852105,33.136728],[102.852095,33.136698],[102.852091,33.136678],[102.852091,33.136659],[102.85209,33.136639],[102.852104,33.136603],[102.852123,33.136568],[102.852121,33.136544],[102.852112,33.136522],[102.852095,33.136494],[102.852053,33.136475],[102.852017,33.136465],[102.851979,33.136456],[102.851946,33.136454],[102.851923,33.136459],[102.851891,33.136467],[102.851868,33.136476],[102.851847,33.13649],[102.851832,33.136504],[102.851827,33.136512],[102.851798,33.136513],[102.851779,33.136511],[102.851751,33.136504],[102.851723,33.136495],[102.851702,33.136484],[102.851688,33.136473],[102.851671,33.136459],[102.851627,33.136446],[102.851521,33.136416],[102.851189,33.136322],[102.851047,33.136144],[102.851015,33.135757],[102.851089,33.135465],[102.851131,33.135302],[102.851124,33.135206],[102.8511,33.134863],[102.851046,33.134493],[102.850457,33.133798],[102.8502,33.133214],[102.850197,33.132493],[102.850642,33.131377],[102.850819,33.130941],[102.85087,33.130573],[102.850987,33.130066],[102.851337,33.129387],[102.852286,33.128138],[102.852825,33.127445],[102.853441,33.126173],[102.853662,33.125633],[102.85372,33.124966],[102.853622,33.123875],[102.853509,33.123364],[102.853504,33.122696],[102.85348,33.121958],[102.853571,33.120801],[102.853982,33.12021],[102.85412,33.119686],[102.854174,33.119177],[102.854178,33.11916],[102.854181,33.11914],[102.854166,33.119131],[102.854095,33.119045],[102.854038,33.118965],[102.853966,33.118863],[102.853949,33.118823],[102.853947,33.118778],[102.853954,33.118751],[102.853972,33.118723],[102.853997,33.118714],[102.854031,33.118709],[102.854077,33.118712],[102.854094,33.118716],[102.854139,33.118735],[102.854212,33.118761],[102.854248,33.118772],[102.854286,33.118788],[102.854301,33.118794],[102.854335,33.118801],[102.854376,33.118803],[102.854399,33.118796],[102.854413,33.118787],[102.85441,33.118759],[102.854394,33.118731],[102.854362,33.118723],[102.854306,33.118726],[102.854291,33.11872],[102.854252,33.118707],[102.854225,33.118689],[102.854211,33.118663],[102.854213,33.118627],[102.854217,33.118592],[102.854223,33.118562],[102.854222,33.118521],[102.854211,33.118491],[102.854193,33.118461],[102.854175,33.118441],[102.854151,33.11842],[102.854129,33.118395],[102.854114,33.118362],[102.854114,33.118314],[102.854131,33.118289],[102.854148,33.11827],[102.854176,33.118258],[102.854211,33.118248],[102.854234,33.11824],[102.854264,33.11824],[102.854298,33.118248],[102.854455,33.117953],[102.854543,33.117761],[102.854426,33.117408],[102.854206,33.117035],[102.854051,33.11654],[102.854168,33.116016],[102.854244,33.115437],[102.85473,33.114357],[102.855313,33.113541],[102.855896,33.112743],[102.856485,33.111682],[102.856583,33.111086],[102.856575,33.110577],[102.856712,33.110087],[102.857035,33.109324],[102.857044,33.109303],[102.857054,33.109278],[102.857133,33.109093],[102.857773,33.107899],[102.85779,33.107866],[102.85783,33.107792],[102.857804,33.10779],[102.857774,33.107783],[102.857748,33.107772],[102.857732,33.107759],[102.857725,33.107741],[102.857732,33.107722],[102.857747,33.107706],[102.857769,33.10769],[102.857799,33.107671],[102.857822,33.10766],[102.857842,33.107648],[102.857869,33.107631],[102.857891,33.107625],[102.857909,33.107607],[102.857915,33.107591],[102.85791,33.107566],[102.85789,33.107543],[102.857995,33.107105],[102.858042,33.1067],[102.858048,33.10665],[102.858049,33.106638],[102.858054,33.106595],[102.858056,33.106573],[102.8581,33.106194],[102.858459,33.10575],[102.858533,33.105658],[102.858535,33.105655],[102.858601,33.105574],[102.858591,33.105555],[102.858585,33.105536],[102.858585,33.105513],[102.858593,33.1055],[102.858625,33.105504],[102.858651,33.105511],[102.858744,33.10554],[102.858816,33.10557],[102.85888,33.105546],[102.858932,33.105501],[102.858947,33.105411],[102.858942,33.105392],[102.858927,33.105335],[102.858881,33.105272],[102.858861,33.105255],[102.858842,33.10523],[102.858841,33.105217],[102.858854,33.105195],[102.858874,33.105183],[102.85889,33.105181],[102.858917,33.105196],[102.85894,33.105212],[102.859009,33.105141],[102.859011,33.105138],[102.85943,33.104706],[102.859614,33.104024],[102.85946,33.102616],[102.859505,33.101633],[102.859586,33.100879],[102.860109,33.100093],[102.860259,33.099867],[102.860262,33.099833],[102.860267,33.099809],[102.860274,33.09978],[102.860286,33.099765],[102.860306,33.099764],[102.86032,33.099766],[102.860332,33.099777],[102.86055,33.099531],[102.860823,33.099223],[102.860808,33.099205],[102.8608,33.099188],[102.860783,33.099167],[102.860767,33.099153],[102.860743,33.099141],[102.860719,33.099122],[102.86071,33.099107],[102.860705,33.099086],[102.860713,33.099037],[102.860716,33.099011],[102.860725,33.098969],[102.860733,33.098949],[102.860737,33.098931],[102.860741,33.098919],[102.860755,33.098913],[102.860786,33.098915],[102.860807,33.098916],[102.860836,33.098903],[102.860862,33.09888],[102.860904,33.098841],[102.86093,33.098823],[102.86095,33.098794],[102.860968,33.098759],[102.860981,33.098735],[102.860991,33.098698],[102.861004,33.098666],[102.86101,33.098642],[102.861023,33.098613],[102.861033,33.098598],[102.861044,33.098582],[102.86106,33.098556],[102.861061,33.098539],[102.861061,33.098533],[102.861065,33.098389],[102.861071,33.098129],[102.85994,33.097442],[102.85889,33.096845],[102.858509,33.09655],[102.858194,33.096306],[102.857046,33.095461],[102.856554,33.095223],[102.855045,33.094495],[102.854324,33.094114],[102.852894,33.093258],[102.852889,33.093255],[102.852391,33.092957],[102.851535,33.092755],[102.851526,33.092753],[102.851453,33.092736],[102.851419,33.092728],[102.851355,33.092713],[102.850522,33.092517],[102.850378,33.092483],[102.850402,33.091519],[102.850403,33.09149],[102.850422,33.09071],[102.850374,33.089233],[102.850086,33.086506],[102.850318,33.085526],[102.850301,33.0844],[102.850301,33.084383],[102.8503,33.084349],[102.850294,33.083945],[102.850058,33.08164],[102.849713,33.080503],[102.849112,33.080743],[102.849001,33.080629],[102.848998,33.080643],[102.848969,33.080701],[102.848963,33.080715],[102.848931,33.080737],[102.848885,33.080757],[102.848817,33.080776],[102.848758,33.080799],[102.848731,33.080818],[102.848701,33.08087],[102.848697,33.080876],[102.848697,33.080876],[102.848658,33.080933],[102.84862,33.080975],[102.848577,33.081023],[102.84849,33.081112],[102.84839,33.081165],[102.848321,33.081192],[102.848238,33.081223],[102.84815,33.081248],[102.848028,33.081272],[102.847929,33.081285],[102.847819,33.0813],[102.847683,33.081317],[102.847586,33.081323],[102.847443,33.08131],[102.847221,33.081334],[102.846558,33.081086],[102.846283,33.080984],[102.845445,33.080591],[102.845398,33.080569],[102.845381,33.080562],[102.845363,33.080553],[102.845361,33.080552],[102.845298,33.080522],[102.845257,33.080503],[102.84525,33.080499],[102.844655,33.080159],[102.844559,33.079789],[102.844514,33.079618],[102.844512,33.07961],[102.84451,33.079602],[102.844508,33.079591],[102.844487,33.079513],[102.844495,33.079459]]]]},"properties":{"cp":[102.93341761730755,33.11135771891013],"code":"513233207","name":"麦洼乡","level":"street","center":[102.93341761730755,33.11135771891013],"fullCode":"513233207000","fullName":"四川省阿坝藏族羌族自治州红原县麦洼乡","acreageMu":838703.39,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.918,32.9156]}},{"id":"513233208","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.876403,32.917034],[102.877821,32.917289],[102.87904,32.917509],[102.879321,32.91756],[102.879803,32.917647],[102.880757,32.917692],[102.881664,32.916844],[102.882087,32.916275],[102.883036,32.91514],[102.883882,32.914004],[102.884545,32.913353],[102.885692,32.91248],[102.886416,32.912147],[102.887136,32.912016],[102.890012,32.910136],[102.891018,32.909434],[102.891588,32.908408],[102.892434,32.907242],[102.89303,32.906561],[102.893252,32.905846],[102.893298,32.905329],[102.893691,32.904587],[102.893877,32.903928],[102.893929,32.903181],[102.893818,32.902114],[102.893743,32.900962],[102.89373,32.90007],[102.893579,32.899262],[102.893845,32.898086],[102.894094,32.897403],[102.894163,32.897215],[102.894356,32.896685],[102.894308,32.895821],[102.894535,32.894904],[102.894937,32.893759],[102.895235,32.8927],[102.895731,32.890464],[102.895751,32.889629],[102.895698,32.888995],[102.895571,32.88859],[102.896146,32.887334],[102.897278,32.885626],[102.897787,32.885186],[102.8978,32.885175],[102.89829,32.884636],[102.89849,32.884389],[102.898817,32.883983],[102.899003,32.883325],[102.899057,32.882491],[102.898709,32.881334],[102.898907,32.878719],[102.899044,32.877282],[102.899108,32.875988],[102.899493,32.874124],[102.899904,32.871167],[102.900589,32.868129],[102.901096,32.866871],[102.901196,32.86552],[102.901659,32.861816],[102.901708,32.861155],[102.901726,32.860407],[102.901703,32.859946],[102.90189,32.85923],[102.901606,32.858247],[102.900999,32.85651],[102.900346,32.85529],[102.900031,32.854191],[102.899529,32.852341],[102.899453,32.851218],[102.899478,32.850182],[102.900031,32.849846],[102.901531,32.849871],[102.902658,32.849775],[102.904054,32.849827],[102.905111,32.849845],[102.906262,32.850181],[102.907379,32.850545],[102.908395,32.850821],[102.908585,32.850862],[102.908603,32.850866],[102.908656,32.850877],[102.908667,32.850879],[102.908682,32.850882],[102.908804,32.850908],[102.908844,32.850917],[102.908868,32.850922],[102.9089,32.850929],[102.909006,32.850952],[102.909152,32.850983],[102.909209,32.850995],[102.909397,32.851035],[102.90952,32.851062],[102.909637,32.851087],[102.909683,32.851097],[102.909691,32.851098],[102.909759,32.851113],[102.909854,32.851133],[102.910971,32.85144],[102.911271,32.851346],[102.912105,32.851084],[102.912774,32.850175],[102.913412,32.849121],[102.914116,32.848183],[102.914301,32.847809],[102.914653,32.847098],[102.914884,32.846419],[102.914945,32.84624],[102.914889,32.845721],[102.914017,32.845102],[102.913605,32.844679],[102.913418,32.844488],[102.912993,32.843704],[102.912231,32.841331],[102.912321,32.840383],[102.912854,32.839471],[102.913864,32.838538],[102.91442,32.838099],[102.915253,32.837439],[102.915502,32.837198],[102.915777,32.83693],[102.915939,32.83581],[102.916265,32.833514],[102.916081,32.832647],[102.916032,32.83184],[102.916115,32.829712],[102.916182,32.828332],[102.916515,32.827186],[102.917569,32.825852],[102.918583,32.824746],[102.919081,32.823862],[102.919542,32.823064],[102.919937,32.822229],[102.920074,32.821821],[102.920294,32.821177],[102.920502,32.819929],[102.920757,32.818833],[102.921287,32.818021],[102.921764,32.817317],[102.922549,32.81651],[102.923798,32.815581],[102.924806,32.815195],[102.92583,32.814612],[102.926973,32.813715],[102.927426,32.813288],[102.927605,32.813305],[102.927719,32.813338],[102.927769,32.813337],[102.927826,32.813299],[102.927881,32.813193],[102.92793,32.813059],[102.927908,32.812834],[102.927929,32.812814],[102.928809,32.811976],[102.929342,32.811574],[102.930562,32.810583],[102.931088,32.810276],[102.931927,32.809785],[102.932352,32.809534],[102.932941,32.809186],[102.933748,32.808709],[102.933789,32.808695],[102.934879,32.808317],[102.936013,32.80783],[102.936063,32.807793],[102.936182,32.807873],[102.936372,32.808],[102.936563,32.808126],[102.936753,32.808253],[102.937055,32.808366],[102.937357,32.80848],[102.937721,32.808585],[102.938085,32.808689],[102.93845,32.808794],[102.938684,32.808886],[102.938914,32.808975],[102.939144,32.809065],[102.939373,32.809155],[102.939603,32.809245],[102.939832,32.809335],[102.940062,32.809424],[102.940291,32.809514],[102.940521,32.809604],[102.940751,32.809694],[102.94098,32.809784],[102.941207,32.809896],[102.941434,32.810007],[102.941662,32.810119],[102.941889,32.810231],[102.942116,32.810343],[102.942343,32.810454],[102.942562,32.810599],[102.942781,32.810745],[102.943,32.81089],[102.94322,32.811035],[102.943439,32.81118],[102.943658,32.811325],[102.943877,32.81147],[102.944096,32.811616],[102.944315,32.811761],[102.944534,32.811906],[102.944753,32.812051],[102.944972,32.812196],[102.945342,32.812425],[102.945712,32.812653],[102.946081,32.812882],[102.946451,32.81311],[102.946787,32.813264],[102.947123,32.813417],[102.947425,32.813501],[102.947752,32.813556],[102.948078,32.81361],[102.94845,32.813735],[102.948798,32.813918],[102.949012,32.814078],[102.949226,32.814238],[102.94944,32.814397],[102.949654,32.814557],[102.949868,32.814716],[102.950083,32.814876],[102.950297,32.815036],[102.950511,32.815195],[102.950725,32.815355],[102.950939,32.815514],[102.951132,32.815656],[102.951325,32.815797],[102.951518,32.815939],[102.951711,32.81608],[102.951903,32.816222],[102.952096,32.816363],[102.952289,32.816505],[102.952482,32.816646],[102.952793,32.816951],[102.953105,32.817255],[102.953416,32.81756],[102.953727,32.817865],[102.954085,32.818098],[102.954444,32.818331],[102.954675,32.818433],[102.954907,32.818535],[102.955168,32.818615],[102.955428,32.818694],[102.955689,32.818773],[102.955949,32.818853],[102.95621,32.818932],[102.95647,32.819011],[102.956731,32.819091],[102.956991,32.81917],[102.957252,32.819249],[102.957512,32.819329],[102.957883,32.819499],[102.958254,32.81967],[102.958625,32.819841],[102.95889,32.820022],[102.959156,32.820204],[102.959454,32.820486],[102.959679,32.820846],[102.959756,32.821084],[102.959832,32.821323],[102.959909,32.821541],[102.959986,32.82176],[102.960082,32.822008],[102.960179,32.822256],[102.960275,32.822504],[102.960371,32.822752],[102.960467,32.823],[102.960563,32.823248],[102.96066,32.823497],[102.960756,32.823745],[102.960852,32.823993],[102.960948,32.824241],[102.96106,32.82448],[102.961171,32.824719],[102.961283,32.824958],[102.961394,32.825197],[102.961427,32.825243],[102.961621,32.825516],[102.961704,32.825577],[102.961899,32.825718],[102.96209,32.825839],[102.962282,32.825961],[102.962473,32.826083],[102.962665,32.826205],[102.962856,32.826326],[102.963048,32.826448],[102.963239,32.82657],[102.963431,32.826691],[102.963621,32.826812],[102.963622,32.826813],[102.963761,32.826901],[102.963814,32.826935],[102.964229,32.827093],[102.964644,32.827252],[102.965059,32.827411],[102.965475,32.82757],[102.96589,32.827728],[102.966084,32.827845],[102.966092,32.82785],[102.966178,32.827902],[102.966467,32.828075],[102.966742,32.828316],[102.96697,32.828636],[102.967049,32.828814],[102.967148,32.829035],[102.967178,32.829262],[102.967208,32.829489],[102.967257,32.829895],[102.967306,32.830301],[102.967318,32.830568],[102.967329,32.830834],[102.967341,32.831101],[102.967353,32.831368],[102.967336,32.831598],[102.967319,32.831829],[102.967302,32.832059],[102.967285,32.83229],[102.967262,32.832526],[102.967239,32.832762],[102.967216,32.832999],[102.967193,32.833235],[102.967174,32.833451],[102.967138,32.833853],[102.967103,32.834255],[102.967067,32.834656],[102.966978,32.834971],[102.966888,32.835285],[102.966755,32.835501],[102.966621,32.835717],[102.966476,32.835902],[102.966332,32.836087],[102.966176,32.836262],[102.966019,32.836437],[102.965863,32.836613],[102.965707,32.836788],[102.96555,32.836964],[102.965394,32.837139],[102.965099,32.837444],[102.964804,32.837749],[102.964508,32.838053],[102.964213,32.838358],[102.964213,32.838359],[102.964212,32.83836],[102.964139,32.838534],[102.964134,32.838691],[102.964223,32.838892],[102.964409,32.839183],[102.964455,32.839256],[102.964687,32.83962],[102.964919,32.839984],[102.965151,32.840348],[102.965275,32.840554],[102.965399,32.84076],[102.965524,32.840966],[102.965648,32.841173],[102.965772,32.841379],[102.965896,32.841585],[102.96602,32.841791],[102.966144,32.841997],[102.966269,32.842203],[102.966339,32.84232],[102.966393,32.842409],[102.966517,32.842615],[102.966641,32.842822],[102.966814,32.84298],[102.966987,32.843139],[102.967159,32.843298],[102.967258,32.843388],[102.967332,32.843456],[102.967505,32.843615],[102.967678,32.843774],[102.96785,32.843932],[102.968023,32.844091],[102.968196,32.84425],[102.968368,32.844409],[102.968493,32.844598],[102.968618,32.844788],[102.968721,32.844994],[102.968742,32.845037],[102.968865,32.845286],[102.968988,32.84569],[102.969112,32.846093],[102.969235,32.846497],[102.969253,32.846725],[102.969272,32.846953],[102.969287,32.847308],[102.969279,32.847664],[102.969214,32.847939],[102.969149,32.848215],[102.969008,32.848594],[102.968867,32.848974],[102.968726,32.849353],[102.968566,32.849716],[102.968406,32.850079],[102.968241,32.850253],[102.968076,32.850428],[102.967911,32.850602],[102.967746,32.850776],[102.967581,32.850951],[102.967416,32.851125],[102.967234,32.851409],[102.967051,32.851692],[102.966974,32.852007],[102.966991,32.852303],[102.967068,32.852542],[102.967144,32.85278],[102.967255,32.853058],[102.967366,32.853336],[102.967473,32.853773],[102.967488,32.854129],[102.967471,32.854386],[102.967453,32.854642],[102.967415,32.854866],[102.967377,32.85509],[102.967339,32.855314],[102.967301,32.855538],[102.967263,32.855762],[102.967225,32.855986],[102.967187,32.85621],[102.96715,32.856434],[102.967112,32.856657],[102.967074,32.856881],[102.967026,32.857276],[102.966978,32.857671],[102.966931,32.858065],[102.966936,32.858352],[102.966941,32.858639],[102.967005,32.858936],[102.967068,32.859234],[102.967168,32.859477],[102.967267,32.85972],[102.967367,32.859964],[102.967467,32.860207],[102.96757,32.860361],[102.967639,32.860462],[102.967811,32.860717],[102.968064,32.860937],[102.968435,32.861121],[102.968666,32.861254],[102.968898,32.861386],[102.969129,32.861518],[102.96936,32.861651],[102.969634,32.86195],[102.969816,32.86225],[102.969939,32.862499],[102.970063,32.862748],[102.970082,32.862793],[102.970151,32.862957],[102.970239,32.863166],[102.970326,32.863473],[102.970413,32.86378],[102.970511,32.864138],[102.970608,32.864496],[102.970876,32.864809],[102.971144,32.865121],[102.971412,32.865433],[102.97171,32.865754],[102.972007,32.866075],[102.972304,32.866396],[102.972602,32.866717],[102.972749,32.866936],[102.972896,32.867156],[102.973052,32.867494],[102.973116,32.867832],[102.973128,32.868266],[102.973118,32.868701],[102.973039,32.869085],[102.972961,32.869469],[102.972883,32.869784],[102.972806,32.870098],[102.972798,32.870493],[102.972815,32.87075],[102.972833,32.871008],[102.97285,32.871265],[102.972868,32.871522],[102.97291,32.871586],[102.973072,32.871828],[102.973396,32.871992],[102.973722,32.872076],[102.974168,32.872043],[102.974311,32.871967],[102.974696,32.871828],[102.975082,32.87169],[102.975468,32.871551],[102.975728,32.871471],[102.975988,32.871391],[102.976248,32.871312],[102.976508,32.871232],[102.976848,32.871178],[102.977188,32.871125],[102.977626,32.871118],[102.978064,32.871112],[102.978501,32.871105],[102.978774,32.87113],[102.979048,32.871154],[102.979321,32.871178],[102.979594,32.871203],[102.979867,32.871227],[102.98014,32.871251],[102.980384,32.871322],[102.980629,32.871392],[102.980873,32.871463],[102.981117,32.871533],[102.981362,32.871604],[102.981606,32.871675],[102.981851,32.871745],[102.982095,32.871816],[102.98232,32.871911],[102.982545,32.872006],[102.98277,32.872102],[102.982995,32.872197],[102.983219,32.872293],[102.983444,32.872388],[102.983669,32.872483],[102.983894,32.872579],[102.984134,32.872666],[102.984373,32.872753],[102.984447,32.872779],[102.984612,32.87284],[102.984852,32.872927],[102.985091,32.873013],[102.985331,32.8731],[102.98557,32.873187],[102.98581,32.873274],[102.986049,32.873361],[102.986289,32.873448],[102.986542,32.873649],[102.986887,32.873931],[102.986937,32.873947],[102.987283,32.874056],[102.98761,32.874101],[102.987882,32.874103],[102.988155,32.874105],[102.988427,32.874107],[102.988699,32.874108],[102.988972,32.87411],[102.989244,32.874112],[102.989516,32.874114],[102.989789,32.874116],[102.990043,32.874103],[102.990297,32.87409],[102.990321,32.874088],[102.99055,32.874077],[102.990804,32.874064],[102.991058,32.874051],[102.991312,32.874038],[102.991566,32.874025],[102.99182,32.874012],[102.992127,32.873973],[102.992231,32.873959],[102.992642,32.873906],[102.993066,32.873795],[102.99349,32.873683],[102.993711,32.873564],[102.993932,32.873445],[102.994153,32.873326],[102.994373,32.873207],[102.994594,32.873088],[102.994815,32.872969],[102.995035,32.87285],[102.995114,32.872808],[102.995256,32.872732],[102.995477,32.872613],[102.995697,32.872494],[102.995923,32.872372],[102.996068,32.872294],[102.996148,32.872251],[102.996374,32.872129],[102.996599,32.872008],[102.996825,32.871887],[102.997051,32.871765],[102.997408,32.871494],[102.997765,32.871223],[102.997893,32.870988],[102.998022,32.870753],[102.99815,32.870518],[102.998279,32.870283],[102.998492,32.869933],[102.998705,32.869583],[102.998917,32.869234],[102.99911,32.869],[102.999303,32.868765],[102.99959,32.868524],[102.999876,32.868282],[103.000272,32.868072],[103.000501,32.86791],[103.000729,32.867747],[103.000958,32.867582],[103.001187,32.867417],[103.001378,32.867279],[103.001568,32.867142],[103.001839,32.866968],[103.002172,32.866684],[103.002376,32.86655],[103.00258,32.866416],[103.002784,32.866282],[103.002988,32.866149],[103.003291,32.86587],[103.003594,32.865592],[103.003772,32.865337],[103.00395,32.865082],[103.004137,32.864759],[103.004325,32.864436],[103.004512,32.864113],[103.004619,32.863897],[103.004726,32.863681],[103.004833,32.863465],[103.00494,32.863248],[103.005047,32.863032],[103.005154,32.862816],[103.005304,32.862399],[103.005453,32.861982],[103.005603,32.861564],[103.005765,32.861214],[103.005926,32.860864],[103.006087,32.860514],[103.006192,32.860293],[103.006297,32.860073],[103.006402,32.859853],[103.006508,32.859632],[103.006667,32.859393],[103.006784,32.859314],[103.006879,32.859315],[103.006994,32.859333],[103.007068,32.859431],[103.007121,32.859593],[103.007114,32.859948],[103.007094,32.860392],[103.007075,32.860835],[103.00704,32.861099],[103.007005,32.861363],[103.006971,32.861628],[103.006936,32.861892],[103.006907,32.862328],[103.006911,32.862578],[103.006914,32.862828],[103.006981,32.863083],[103.007047,32.863339],[103.007114,32.863594],[103.00718,32.863849],[103.007242,32.864073],[103.007304,32.864297],[103.007366,32.864522],[103.007428,32.864746],[103.00749,32.86497],[103.007552,32.865194],[103.007709,32.865579],[103.007866,32.865963],[103.008023,32.866347],[103.008144,32.866606],[103.008206,32.86674],[103.008389,32.867133],[103.008573,32.867526],[103.008751,32.867907],[103.008756,32.867919],[103.008856,32.868149],[103.008956,32.868379],[103.009057,32.868608],[103.009157,32.868838],[103.009257,32.869068],[103.009357,32.869297],[103.009366,32.869317],[103.009398,32.869391],[103.009457,32.869527],[103.009557,32.869757],[103.009686,32.869992],[103.009815,32.870228],[103.009945,32.870464],[103.010074,32.870699],[103.010203,32.870935],[103.010332,32.87117],[103.010461,32.871406],[103.01059,32.871642],[103.0107,32.871885],[103.010809,32.872129],[103.010919,32.872373],[103.011028,32.872616],[103.011138,32.87286],[103.011247,32.873104],[103.011357,32.873348],[103.011466,32.873591],[103.011641,32.873973],[103.011815,32.874355],[103.01199,32.874736],[103.012164,32.875118],[103.012317,32.875452],[103.01247,32.875787],[103.012588,32.876002],[103.012705,32.876217],[103.012759,32.876315],[103.012823,32.876432],[103.012941,32.876647],[103.013017,32.876786],[103.013058,32.876862],[103.013176,32.877077],[103.013294,32.877293],[103.013412,32.877508],[103.01362,32.877893],[103.013828,32.878278],[103.014036,32.878663],[103.014156,32.879042],[103.014275,32.87942],[103.014395,32.879799],[103.014504,32.880023],[103.014614,32.880248],[103.014763,32.880482],[103.014841,32.880603],[103.015068,32.880957],[103.015294,32.881312],[103.015298,32.881318],[103.015521,32.881667],[103.015631,32.881911],[103.015758,32.882187],[103.01581,32.882462],[103.015843,32.882688],[103.015876,32.882915],[103.015885,32.883157],[103.015894,32.883399],[103.015903,32.883641],[103.015912,32.883884],[103.015921,32.884143],[103.01593,32.884403],[103.015939,32.884662],[103.015948,32.884922],[103.015958,32.885182],[103.015967,32.885441],[103.015976,32.885701],[103.015985,32.88596],[103.016026,32.886407],[103.016067,32.886854],[103.016108,32.887301],[103.01616,32.887552],[103.016211,32.887803],[103.016262,32.888135],[103.016313,32.888466],[103.016445,32.888816],[103.016577,32.889167],[103.016709,32.889517],[103.016917,32.889866],[103.016932,32.889892],[103.017099,32.890121],[103.017287,32.89027],[103.017514,32.890353],[103.017887,32.89051],[103.018261,32.890666],[103.018634,32.890822],[103.018889,32.890972],[103.019028,32.891053],[103.019144,32.891121],[103.019388,32.891352],[103.019594,32.891596],[103.019779,32.89189],[103.01989,32.892102],[103.02,32.892313],[103.020134,32.892727],[103.020268,32.893141],[103.020389,32.893528],[103.020509,32.893916],[103.02063,32.894304],[103.020731,32.894508],[103.020832,32.894711],[103.020979,32.894955],[103.021298,32.895267],[103.021582,32.895434],[103.021824,32.89553],[103.022066,32.895627],[103.022308,32.895723],[103.022549,32.89582],[103.02278,32.895911],[103.022825,32.895929],[103.023058,32.896022],[103.0231,32.896039],[103.02327,32.896185],[103.02338,32.896382],[103.023433,32.896591],[103.023428,32.896785],[103.023404,32.897043],[103.023358,32.897366],[103.02333,32.897736],[103.023324,32.898026],[103.023384,32.898201],[103.023571,32.898413],[103.023835,32.89858],[103.024138,32.898714],[103.024482,32.898768],[103.024703,32.898805],[103.024925,32.898843],[103.025147,32.898881],[103.025369,32.898919],[103.025591,32.898956],[103.025812,32.898994],[103.026034,32.899032],[103.026256,32.89907],[103.02657,32.899139],[103.026885,32.899209],[103.027069,32.89928],[103.027122,32.899301],[103.027359,32.899393],[103.027496,32.899464],[103.027681,32.89956],[103.028002,32.899727],[103.028267,32.8999],[103.028532,32.900073],[103.028737,32.900302],[103.028943,32.900532],[103.029087,32.900716],[103.029232,32.9009],[103.029376,32.901084],[103.029521,32.901268],[103.029737,32.901605],[103.029953,32.901942],[103.030168,32.902279],[103.030447,32.902539],[103.030725,32.902799],[103.031004,32.903059],[103.031279,32.903414],[103.031553,32.90377],[103.031828,32.904125],[103.032103,32.904481],[103.032388,32.904778],[103.032396,32.904786],[103.03252,32.904916],[103.032541,32.904938],[103.032689,32.905092],[103.032766,32.905172],[103.032918,32.905331],[103.032983,32.905398],[103.033003,32.905416],[103.033007,32.90542],[103.033183,32.905578],[103.033383,32.905759],[103.033583,32.90594],[103.033783,32.90612],[103.033984,32.906301],[103.034184,32.906482],[103.034276,32.90655],[103.034337,32.906596],[103.034492,32.906713],[103.034514,32.906729],[103.034845,32.906976],[103.035148,32.907236],[103.035286,32.907354],[103.035451,32.907496],[103.035641,32.907662],[103.035695,32.90771],[103.035721,32.907732],[103.035739,32.907748],[103.035761,32.907767],[103.03594,32.907923],[103.036167,32.908057],[103.036409,32.908088],[103.036434,32.908091],[103.036454,32.908094],[103.036787,32.908128],[103.036816,32.90813],[103.03683,32.908129],[103.03722,32.90808],[103.037623,32.90803],[103.038057,32.907916],[103.03849,32.907802],[103.038923,32.907688],[103.039357,32.907574],[103.039599,32.907465],[103.039841,32.907355],[103.039904,32.907216],[103.040001,32.907003],[103.040023,32.906809],[103.040032,32.906756],[103.040069,32.906536],[103.040094,32.9063],[103.040118,32.906064],[103.040143,32.905828],[103.040167,32.905593],[103.040211,32.905335],[103.040255,32.905078],[103.040376,32.904822],[103.040562,32.904491],[103.040749,32.90416],[103.040935,32.90383],[103.041054,32.903635],[103.041173,32.903441],[103.041273,32.903276],[103.041292,32.903246],[103.041298,32.903235],[103.041411,32.903052],[103.04153,32.902857],[103.041564,32.902801],[103.041595,32.902751],[103.041649,32.902662],[103.041792,32.902434],[103.041935,32.902206],[103.042079,32.901978],[103.042222,32.90175],[103.042366,32.901522],[103.042462,32.901368],[103.042509,32.901294],[103.042612,32.901169],[103.042661,32.901111],[103.042765,32.900985],[103.042812,32.900927],[103.042964,32.900744],[103.043115,32.900561],[103.043267,32.900378],[103.043303,32.900334],[103.043418,32.900195],[103.043543,32.900043],[103.04357,32.900011],[103.043721,32.899828],[103.043873,32.899645],[103.044024,32.899462],[103.044177,32.899296],[103.044329,32.899129],[103.044482,32.898963],[103.044634,32.898797],[103.044701,32.898725],[103.044787,32.898631],[103.044939,32.898465],[103.045092,32.898299],[103.045244,32.898132],[103.045406,32.89796],[103.045568,32.897788],[103.04573,32.897616],[103.045892,32.897444],[103.046054,32.897271],[103.046215,32.897099],[103.046377,32.896927],[103.046539,32.896755],[103.046701,32.896582],[103.046863,32.89641],[103.047025,32.896238],[103.047186,32.896066],[103.047373,32.895892],[103.047443,32.895826],[103.047559,32.895718],[103.047745,32.895544],[103.047932,32.89537],[103.047965,32.89534],[103.048118,32.895196],[103.048276,32.895049],[103.048304,32.895022],[103.048491,32.894849],[103.048677,32.894675],[103.048699,32.894653],[103.04884,32.894513],[103.048848,32.894504],[103.049002,32.89435],[103.049165,32.894188],[103.049327,32.894026],[103.04949,32.893864],[103.049559,32.893795],[103.049652,32.893702],[103.049815,32.89354],[103.049977,32.893378],[103.05014,32.893216],[103.050303,32.893053],[103.050574,32.892881],[103.050604,32.892874],[103.050844,32.892821],[103.05119,32.89281],[103.05155,32.892928],[103.051792,32.893033],[103.051879,32.89307],[103.052034,32.893137],[103.052275,32.893242],[103.052517,32.893346],[103.052763,32.893495],[103.053009,32.893644],[103.053309,32.893964],[103.053609,32.894283],[103.053898,32.894619],[103.054187,32.894955],[103.05446,32.8952],[103.054732,32.895446],[103.055009,32.895609],[103.055053,32.895635],[103.055054,32.895635],[103.055057,32.895636],[103.055287,32.895771],[103.055544,32.895896],[103.0558,32.896021],[103.056219,32.896109],[103.056545,32.896097],[103.056618,32.896074],[103.056833,32.896005],[103.056911,32.895966],[103.05722,32.89581],[103.0573,32.89577],[103.057513,32.895662],[103.057608,32.895614],[103.057995,32.895418],[103.058382,32.895222],[103.058627,32.895128],[103.058872,32.895034],[103.059118,32.89494],[103.059363,32.894846],[103.059608,32.894752],[103.059685,32.894723],[103.059853,32.894658],[103.060099,32.894564],[103.060344,32.89447],[103.060584,32.894397],[103.060825,32.894324],[103.061065,32.894251],[103.061305,32.894178],[103.061747,32.89417],[103.062186,32.894208],[103.062439,32.894245],[103.062692,32.894281],[103.062945,32.894317],[103.063198,32.894354],[103.063443,32.894418],[103.063688,32.894481],[103.0641,32.894589],[103.064511,32.894696],[103.064796,32.89483],[103.065081,32.894964],[103.065288,32.895144],[103.065494,32.895325],[103.065701,32.895506],[103.065907,32.895686],[103.065943,32.895717],[103.066114,32.895867],[103.066321,32.896048],[103.066505,32.896254],[103.06669,32.89646],[103.066875,32.896666],[103.06706,32.896873],[103.067257,32.897037],[103.067454,32.897202],[103.067651,32.897367],[103.067849,32.897531],[103.068037,32.897704],[103.068224,32.897876],[103.068412,32.898048],[103.0686,32.898221],[103.068788,32.898393],[103.068976,32.898566],[103.069249,32.89878],[103.069523,32.898994],[103.069594,32.899032],[103.069741,32.89911],[103.069958,32.899227],[103.070176,32.899343],[103.070394,32.89946],[103.070643,32.899546],[103.070892,32.899632],[103.071141,32.899718],[103.07139,32.899804],[103.071639,32.89989],[103.071888,32.899976],[103.072137,32.900062],[103.072386,32.900148],[103.072635,32.900234],[103.072884,32.90032],[103.07312,32.900391],[103.073355,32.900462],[103.073464,32.900495],[103.073591,32.900533],[103.073826,32.900604],[103.074062,32.900675],[103.074298,32.900746],[103.074533,32.900817],[103.074769,32.900888],[103.075005,32.900959],[103.07524,32.90103],[103.075476,32.901101],[103.075711,32.901172],[103.075947,32.901243],[103.076183,32.901314],[103.076429,32.901423],[103.076676,32.901531],[103.076923,32.90164],[103.07717,32.901749],[103.077483,32.901916],[103.077795,32.902083],[103.07798,32.902231],[103.078165,32.902379],[103.07835,32.902527],[103.078535,32.902675],[103.078721,32.902823],[103.078906,32.902971],[103.079083,32.903175],[103.079261,32.90338],[103.079568,32.90369],[103.079875,32.904],[103.080182,32.90431],[103.080489,32.90462],[103.080697,32.904744],[103.080905,32.904868],[103.081211,32.904954],[103.081535,32.904975],[103.081842,32.904914],[103.082132,32.90479],[103.082483,32.904521],[103.082493,32.904506],[103.082621,32.904314],[103.082704,32.90404],[103.082824,32.903783],[103.083004,32.903464],[103.083259,32.90321],[103.083531,32.902972],[103.083685,32.90291],[103.08384,32.902848],[103.084166,32.902853],[103.084479,32.902963],[103.084793,32.903072],[103.084926,32.90313],[103.085033,32.903176],[103.08506,32.903188],[103.085272,32.903281],[103.085335,32.903308],[103.085512,32.903385],[103.085752,32.90349],[103.085992,32.903594],[103.086231,32.903699],[103.086471,32.903803],[103.086711,32.903907],[103.086878,32.904104],[103.086967,32.904262],[103.087044,32.904398],[103.087179,32.904803],[103.087315,32.905209],[103.087377,32.905413],[103.087414,32.905533],[103.087513,32.905857],[103.087634,32.906083],[103.087755,32.906309],[103.087876,32.906536],[103.087998,32.906762],[103.088119,32.906988],[103.08824,32.907214],[103.088383,32.907426],[103.088525,32.907638],[103.088667,32.90785],[103.08881,32.908063],[103.088952,32.908275],[103.089095,32.908487],[103.089365,32.908809],[103.089636,32.909131],[103.089907,32.909454],[103.090177,32.909776],[103.090446,32.910076],[103.090714,32.910376],[103.090983,32.910677],[103.091161,32.910848],[103.09134,32.911019],[103.091519,32.911191],[103.091698,32.911362],[103.091981,32.911496],[103.092285,32.91163],[103.092542,32.911721],[103.092799,32.911812],[103.093055,32.911903],[103.093312,32.911994],[103.093568,32.912085],[103.093825,32.912176],[103.094082,32.912267],[103.094338,32.912358],[103.094429,32.91239],[103.094595,32.912449],[103.094851,32.91254],[103.09502,32.912597],[103.095086,32.912619],[103.09532,32.912698],[103.095555,32.912777],[103.09579,32.912856],[103.096024,32.912935],[103.096259,32.913014],[103.096602,32.913067],[103.096794,32.913038],[103.096882,32.912988],[103.096989,32.912928],[103.097145,32.912769],[103.097175,32.912726],[103.097276,32.912585],[103.097408,32.912402],[103.097539,32.912218],[103.097671,32.912034],[103.097803,32.911851],[103.097934,32.911667],[103.09809,32.911438],[103.098246,32.911209],[103.098403,32.91098],[103.098559,32.910751],[103.098679,32.910503],[103.0988,32.910255],[103.098876,32.909812],[103.098952,32.90937],[103.09903,32.909153],[103.099108,32.908937],[103.099186,32.90872],[103.099264,32.908503],[103.099342,32.908287],[103.09942,32.90807],[103.09964,32.907679],[103.09986,32.907288],[103.10008,32.906897],[103.1003,32.906506],[103.100435,32.906286],[103.100569,32.906065],[103.100704,32.905844],[103.100839,32.905624],[103.100974,32.905403],[103.101109,32.905182],[103.101244,32.904962],[103.101378,32.904741],[103.101513,32.90452],[103.101648,32.9043],[103.101867,32.903977],[103.102085,32.903653],[103.102304,32.90333],[103.102434,32.90309],[103.102563,32.90285],[103.102626,32.902601],[103.102688,32.902352],[103.102773,32.902006],[103.102857,32.90166],[103.102904,32.901241],[103.102952,32.900822],[103.103139,32.900435],[103.103326,32.900048],[103.103513,32.899661],[103.103723,32.899273],[103.103932,32.898885],[103.104142,32.898497],[103.104351,32.898109],[103.104508,32.897933],[103.104664,32.897758],[103.104821,32.897583],[103.104977,32.897407],[103.105281,32.897121],[103.105585,32.896836],[103.105815,32.896712],[103.105824,32.896707],[103.106063,32.896579],[103.106302,32.896451],[103.106448,32.896373],[103.106541,32.896323],[103.10685,32.896199],[103.107159,32.896075],[103.107419,32.896039],[103.107679,32.896003],[103.108083,32.895912],[103.108486,32.895821],[103.108686,32.895767],[103.108852,32.895721],[103.109218,32.895622],[103.109422,32.895512],[103.109626,32.895402],[103.109867,32.895192],[103.109908,32.895156],[103.11019,32.89491],[103.110364,32.894762],[103.110537,32.894613],[103.110711,32.894464],[103.110884,32.894316],[103.111057,32.894167],[103.111231,32.894019],[103.111404,32.89387],[103.111578,32.893721],[103.111769,32.893535],[103.11196,32.893349],[103.112152,32.893163],[103.112343,32.892977],[103.112535,32.892791],[103.112726,32.892606],[103.112917,32.89242],[103.113109,32.892234],[103.113313,32.89208],[103.113517,32.891927],[103.113722,32.891773],[103.113926,32.89162],[103.11413,32.891467],[103.114335,32.891313],[103.114539,32.89116],[103.114743,32.891006],[103.114948,32.890853],[103.115152,32.8907],[103.115325,32.890555],[103.115497,32.89041],[103.11567,32.890266],[103.115843,32.890121],[103.116016,32.889976],[103.116189,32.889832],[103.116361,32.889687],[103.116534,32.889542],[103.116755,32.88941],[103.116769,32.889402],[103.117003,32.889263],[103.117237,32.889123],[103.117472,32.888983],[103.11783,32.888779],[103.118189,32.888575],[103.11839,32.888452],[103.11859,32.888328],[103.118791,32.888205],[103.118991,32.888081],[103.119192,32.887958],[103.119393,32.887834],[103.119486,32.887731],[103.119637,32.887564],[103.119882,32.887293],[103.119947,32.887222],[103.120002,32.887195],[103.120189,32.887105],[103.120226,32.887086],[103.12043,32.886987],[103.12078,32.886775],[103.121129,32.886562],[103.121275,32.886424],[103.121431,32.886276],[103.121733,32.88599],[103.121962,32.885639],[103.12199,32.885595],[103.12219,32.885287],[103.1223,32.885063],[103.122306,32.885051],[103.12241,32.884838],[103.122546,32.884469],[103.122681,32.8841],[103.122817,32.883731],[103.122832,32.883478],[103.122847,32.883226],[103.122862,32.882973],[103.122877,32.882721],[103.122882,32.882472],[103.122885,32.882312],[103.122894,32.881904],[103.122897,32.881761],[103.122902,32.881495],[103.122883,32.881413],[103.122851,32.88127],[103.12284,32.881224],[103.122809,32.881085],[103.122715,32.880676],[103.122622,32.880266],[103.122555,32.880068],[103.122495,32.879892],[103.12245,32.879756],[103.122369,32.879519],[103.122317,32.879364],[103.122243,32.879145],[103.122121,32.878929],[103.121998,32.878713],[103.121803,32.87846],[103.121607,32.878207],[103.121483,32.877991],[103.121358,32.877775],[103.121234,32.877559],[103.121109,32.877344],[103.120981,32.877027],[103.120853,32.876709],[103.12083,32.876484],[103.120806,32.876259],[103.120819,32.876012],[103.120824,32.87592],[103.120834,32.87572],[103.120841,32.875582],[103.120883,32.87535],[103.120925,32.875117],[103.120965,32.874895],[103.121005,32.874673],[103.121045,32.87445],[103.121085,32.874228],[103.121125,32.874006],[103.121165,32.873784],[103.121316,32.873415],[103.121467,32.873047],[103.121685,32.87271],[103.121911,32.872415],[103.122137,32.87212],[103.12236,32.872035],[103.12242,32.872012],[103.122582,32.87195],[103.122843,32.87184],[103.123104,32.871731],[103.123382,32.871712],[103.12366,32.871692],[103.124081,32.871633],[103.124199,32.871555],[103.12424,32.871377],[103.124254,32.871349],[103.124402,32.871044],[103.124564,32.870711],[103.124698,32.870503],[103.124831,32.870295],[103.124965,32.870087],[103.125099,32.869879],[103.12531,32.869522],[103.125521,32.869165],[103.125733,32.868808],[103.125913,32.868614],[103.126094,32.86842],[103.126187,32.868366],[103.12641,32.868239],[103.126424,32.868231],[103.126655,32.868122],[103.126736,32.868102],[103.12704,32.868031],[103.127285,32.867982],[103.12753,32.867933],[103.127776,32.867884],[103.128021,32.867835],[103.128266,32.867786],[103.128511,32.867737],[103.128608,32.867718],[103.128757,32.867689],[103.129002,32.86764],[103.129234,32.867593],[103.129466,32.867547],[103.129699,32.867501],[103.129931,32.867455],[103.130163,32.867408],[103.130395,32.867362],[103.130628,32.867316],[103.13086,32.867269],[103.131092,32.867223],[103.131151,32.867211],[103.131182,32.867205],[103.131324,32.867177],[103.131556,32.867131],[103.131789,32.867084],[103.132057,32.867072],[103.132325,32.86706],[103.132594,32.867048],[103.132862,32.867036],[103.13313,32.867023],[103.133399,32.867011],[103.13357,32.86702],[103.133817,32.867033],[103.133862,32.867036],[103.134236,32.867055],[103.134655,32.867078],[103.135073,32.8671],[103.1353,32.867089],[103.135528,32.867078],[103.135755,32.867067],[103.135983,32.867057],[103.13621,32.867046],[103.136438,32.867035],[103.136665,32.867024],[103.136892,32.867014],[103.137122,32.867019],[103.137352,32.867025],[103.137581,32.86703],[103.137811,32.867036],[103.137887,32.867037],[103.138041,32.867041],[103.13827,32.867047],[103.1385,32.867052],[103.13873,32.867057],[103.139027,32.867038],[103.139324,32.867018],[103.139655,32.866971],[103.139737,32.866959],[103.140151,32.8669],[103.140377,32.866835],[103.140603,32.86677],[103.140829,32.866705],[103.141055,32.86664],[103.141293,32.866571],[103.14153,32.866502],[103.141767,32.866432],[103.142005,32.866363],[103.142242,32.866293],[103.142479,32.866224],[103.142717,32.866154],[103.142954,32.866085],[103.14318,32.866028],[103.143407,32.86597],[103.143633,32.865913],[103.143859,32.865856],[103.144225,32.865796],[103.14459,32.865737],[103.14483,32.865676],[103.145001,32.865633],[103.145001,32.865633],[103.14507,32.865615],[103.145311,32.865554],[103.145551,32.865493],[103.145722,32.865437],[103.145956,32.865359],[103.146361,32.865225],[103.146766,32.865092],[103.147004,32.864954],[103.147241,32.864816],[103.147478,32.864679],[103.147716,32.864541],[103.147953,32.864403],[103.148191,32.864266],[103.148428,32.864128],[103.148665,32.86399],[103.148982,32.863863],[103.148993,32.863858],[103.149321,32.863726],[103.149552,32.863713],[103.149934,32.863751],[103.1503,32.863893],[103.150666,32.864034],[103.150895,32.864069],[103.151105,32.864056],[103.151318,32.864018],[103.151355,32.864012],[103.15152,32.863972],[103.151701,32.863928],[103.152047,32.863844],[103.152298,32.863727],[103.15255,32.863609],[103.152801,32.863492],[103.153052,32.863375],[103.153304,32.863258],[103.153555,32.863141],[103.153806,32.863024],[103.154058,32.862906],[103.154309,32.862789],[103.15456,32.862672],[103.154925,32.862544],[103.154936,32.86254],[103.155312,32.862408],[103.155639,32.862332],[103.156063,32.86229],[103.156326,32.862286],[103.156589,32.862282],[103.156853,32.862278],[103.157116,32.862273],[103.157187,32.862274],[103.157342,32.862274],[103.157568,32.862275],[103.157794,32.862275],[103.157998,32.862276],[103.15802,32.862276],[103.158246,32.862277],[103.158472,32.862278],[103.158699,32.862278],[103.158925,32.862279],[103.159308,32.862244],[103.159691,32.86221],[103.159937,32.86217],[103.160184,32.862131],[103.16043,32.862092],[103.160677,32.862052],[103.160923,32.862013],[103.161169,32.861973],[103.161554,32.861906],[103.161939,32.861839],[103.1622,32.861722],[103.162461,32.861605],[103.162733,32.861362],[103.16274,32.861356],[103.162756,32.861341],[103.162837,32.861165],[103.162861,32.860939],[103.162862,32.860907],[103.162864,32.860783],[103.162867,32.860617],[103.162797,32.860309],[103.162652,32.859952],[103.162449,32.859553],[103.162247,32.859155],[103.162101,32.85883],[103.162012,32.85849],[103.16198,32.858215],[103.161948,32.85794],[103.161924,32.857714],[103.161899,32.857488],[103.161875,32.857262],[103.161851,32.857035],[103.161826,32.856809],[103.161802,32.856583],[103.161809,32.856182],[103.161815,32.855781],[103.161844,32.855552],[103.161873,32.855322],[103.161902,32.855093],[103.16193,32.854863],[103.161959,32.854634],[103.161988,32.854404],[103.162017,32.854175],[103.162045,32.853945],[103.162069,32.853519],[103.162092,32.853094],[103.162115,32.852668],[103.162139,32.852242],[103.162157,32.851823],[103.162175,32.851403],[103.162193,32.850984],[103.162212,32.850564],[103.162278,32.850126],[103.162345,32.849689],[103.162411,32.849251],[103.162466,32.849023],[103.162521,32.848796],[103.162576,32.848569],[103.162631,32.848342],[103.162686,32.848115],[103.162741,32.847888],[103.162791,32.84768],[103.162795,32.847661],[103.16285,32.847433],[103.162928,32.847037],[103.162932,32.84702],[103.163007,32.84664],[103.163085,32.846243],[103.163167,32.846032],[103.163249,32.845821],[103.16333,32.84561],[103.163412,32.845399],[103.163678,32.845072],[103.163943,32.844745],[103.164138,32.844575],[103.164333,32.844404],[103.164528,32.844233],[103.164722,32.844063],[103.164992,32.843891],[103.165033,32.843866],[103.165343,32.843668],[103.16559,32.843567],[103.165836,32.843465],[103.166083,32.843364],[103.166329,32.843263],[103.16656,32.84321],[103.16679,32.843157],[103.167021,32.843104],[103.167251,32.843051],[103.167482,32.842998],[103.167713,32.842944],[103.168098,32.842885],[103.168337,32.842897],[103.168576,32.842908],[103.168851,32.842969],[103.169054,32.843013],[103.169087,32.843021],[103.169127,32.843029],[103.169491,32.843068],[103.169758,32.843063],[103.17002,32.843059],[103.170026,32.843059],[103.170257,32.842959],[103.170303,32.84294],[103.170579,32.84282],[103.170794,32.842599],[103.170872,32.842518],[103.170992,32.842293],[103.171112,32.842069],[103.17131,32.841733],[103.171508,32.841397],[103.171657,32.841001],[103.171805,32.840605],[103.171954,32.840209],[103.172074,32.83997],[103.172195,32.839732],[103.172315,32.839493],[103.172436,32.839255],[103.172652,32.838951],[103.172963,32.838714],[103.173071,32.838648],[103.173195,32.838572],[103.173618,32.838465],[103.174021,32.838471],[103.174256,32.838517],[103.17449,32.838564],[103.174725,32.83861],[103.17496,32.838657],[103.175194,32.838703],[103.175429,32.83875],[103.175667,32.83884],[103.175904,32.83893],[103.176142,32.83902],[103.17638,32.839111],[103.176617,32.839201],[103.176855,32.839291],[103.177092,32.839381],[103.17733,32.839471],[103.177524,32.839587],[103.177718,32.839703],[103.177911,32.839819],[103.178105,32.839935],[103.178247,32.840042],[103.178287,32.840072],[103.178387,32.840148],[103.178669,32.840362],[103.17903,32.840545],[103.1793,32.840629],[103.179337,32.84064],[103.179439,32.840672],[103.179849,32.840798],[103.180189,32.840846],[103.18053,32.840894],[103.180931,32.8409],[103.181211,32.840799],[103.18149,32.840698],[103.181857,32.840494],[103.181977,32.840354],[103.182014,32.84031],[103.182172,32.840127],[103.182349,32.83988],[103.182527,32.839632],[103.182684,32.839457],[103.18284,32.839282],[103.182997,32.839107],[103.183153,32.838931],[103.183494,32.838729],[103.183512,32.838719],[103.18387,32.838506],[103.184112,32.838401],[103.184354,32.838295],[103.184596,32.83819],[103.184838,32.838084],[103.18508,32.837979],[103.185322,32.837873],[103.185564,32.837768],[103.185807,32.837662],[103.186049,32.837557],[103.186291,32.837451],[103.18653,32.837336],[103.18677,32.837222],[103.18701,32.837107],[103.18725,32.836993],[103.187489,32.836878],[103.187729,32.836764],[103.187969,32.836649],[103.188208,32.836535],[103.188448,32.83642],[103.188688,32.836306],[103.188917,32.836196],[103.189145,32.836087],[103.189374,32.835978],[103.189603,32.835868],[103.189831,32.835759],[103.19006,32.83565],[103.190446,32.835482],[103.190832,32.835314],[103.191218,32.835147],[103.191604,32.834979],[103.192008,32.834871],[103.192412,32.834764],[103.192817,32.834657],[103.193221,32.83455],[103.193463,32.834502],[103.193705,32.834454],[103.193947,32.834407],[103.194189,32.834359],[103.194536,32.834189],[103.194867,32.833927],[103.194878,32.833919],[103.195198,32.833666],[103.195295,32.833537],[103.195533,32.833313],[103.195771,32.833089],[103.196009,32.832865],[103.196178,32.832611],[103.196346,32.832358],[103.196526,32.832028],[103.196568,32.83195],[103.196706,32.831697],[103.196885,32.831367],[103.197065,32.831037],[103.197182,32.830782],[103.197287,32.830497],[103.197365,32.830282],[103.197391,32.830212],[103.197467,32.830005],[103.197496,32.829928],[103.197573,32.829607],[103.19765,32.829286],[103.197727,32.828965],[103.197749,32.828835],[103.197829,32.828571],[103.197894,32.828356],[103.19796,32.82814],[103.198043,32.827921],[103.198049,32.827908],[103.198096,32.827803],[103.198178,32.827657],[103.198416,32.827419],[103.198681,32.827316],[103.198945,32.827212],[103.199241,32.827116],[103.199537,32.827019],[103.199737,32.826998],[103.199994,32.827055],[103.200251,32.827112],[103.200529,32.827184],[103.200808,32.827255],[103.200921,32.827251],[103.201029,32.827248],[103.201429,32.827155],[103.201494,32.827135],[103.2019,32.827012],[103.202092,32.826991],[103.202127,32.826987],[103.202353,32.826961],[103.202771,32.826899],[103.202871,32.826884],[103.203162,32.82683],[103.203388,32.826699],[103.203638,32.826527],[103.203811,32.826339],[103.203983,32.826152],[103.20416,32.825835],[103.204337,32.825518],[103.204369,32.825468],[103.204475,32.8253],[103.204614,32.825081],[103.204762,32.824737],[103.20491,32.824394],[103.20513,32.824015],[103.205212,32.823969],[103.20534,32.823927],[103.205725,32.823883],[103.206164,32.823907],[103.206469,32.823958],[103.206707,32.82401],[103.206944,32.824063],[103.207147,32.824133],[103.207287,32.824181],[103.207629,32.824299],[103.207968,32.824513],[103.208289,32.824775],[103.208569,32.825118],[103.20869,32.825314],[103.20881,32.82551],[103.208864,32.825728],[103.208917,32.825947],[103.208946,32.826382],[103.208938,32.826762],[103.208931,32.827141],[103.208934,32.827566],[103.208937,32.827991],[103.208987,32.828346],[103.209096,32.828573],[103.20932,32.828852],[103.209613,32.829066],[103.209906,32.82928],[103.210091,32.829412],[103.210277,32.829543],[103.210462,32.829675],[103.210648,32.829807],[103.210833,32.829939],[103.211019,32.830071],[103.211243,32.830195],[103.211468,32.830319],[103.211693,32.830443],[103.211918,32.830567],[103.212142,32.830691],[103.212367,32.830815],[103.212592,32.83094],[103.212817,32.831064],[103.213161,32.831234],[103.213506,32.831403],[103.213851,32.831573],[103.21427,32.831692],[103.214391,32.831702],[103.214708,32.831731],[103.214957,32.831742],[103.215206,32.831754],[103.215474,32.831756],[103.215742,32.831757],[103.21601,32.831759],[103.216278,32.831761],[103.216546,32.831762],[103.216814,32.831764],[103.217082,32.831766],[103.21735,32.831767],[103.21779,32.831779],[103.21823,32.831791],[103.218502,32.831799],[103.218669,32.831803],[103.218898,32.831838],[103.219126,32.831874],[103.219506,32.832025],[103.219754,32.832189],[103.219932,32.832353],[103.22011,32.832518],[103.220412,32.832828],[103.220715,32.833139],[103.221017,32.833449],[103.221258,32.833696],[103.221499,32.833943],[103.221653,32.834107],[103.221808,32.834272],[103.221963,32.834436],[103.222117,32.8346],[103.222272,32.834765],[103.222426,32.834929],[103.222581,32.835093],[103.222736,32.835258],[103.22289,32.835422],[103.223045,32.835586],[103.223355,32.835888],[103.223664,32.83619],[103.223823,32.836419],[103.223981,32.836648],[103.224167,32.836933],[103.224352,32.837218],[103.224517,32.837422],[103.224682,32.837626],[103.224847,32.83783],[103.225012,32.838034],[103.225177,32.838238],[103.225342,32.838442],[103.225483,32.838664],[103.225625,32.838887],[103.225766,32.83911],[103.225908,32.839333],[103.226049,32.839555],[103.226191,32.839778],[103.226332,32.840001],[103.226474,32.840224],[103.226615,32.840447],[103.226757,32.840669],[103.22682,32.840888],[103.226882,32.841107],[103.226945,32.841325],[103.227008,32.841544],[103.227087,32.841884],[103.227166,32.842224],[103.227219,32.842467],[103.227272,32.84271],[103.227373,32.843103],[103.227474,32.843495],[103.227575,32.843888],[103.227702,32.844261],[103.227828,32.844634],[103.228032,32.844943],[103.228237,32.845221],[103.228415,32.845426],[103.228593,32.84563],[103.228853,32.84594],[103.229021,32.846217],[103.229189,32.846493],[103.229437,32.846868],[103.229684,32.847243],[103.229932,32.847618],[103.23006,32.847902],[103.230187,32.848186],[103.230302,32.8486],[103.230416,32.849015],[103.23053,32.849429],[103.230602,32.849689],[103.230673,32.849948],[103.230745,32.850207],[103.230816,32.850466],[103.230944,32.850775],[103.231169,32.850988],[103.231416,32.851119],[103.231757,32.851222],[103.232141,32.851243],[103.232428,32.851248],[103.232715,32.851253],[103.232945,32.851207],[103.233176,32.851161],[103.233579,32.851102],[103.233982,32.851044],[103.234211,32.851079],[103.23444,32.851115],[103.234697,32.851183],[103.234954,32.851251],[103.235239,32.851368],[103.235524,32.851485],[103.235921,32.851634],[103.236318,32.851782],[103.236715,32.851931],[103.237113,32.852079],[103.237532,32.852182],[103.23777,32.852234],[103.238009,32.852286],[103.238247,32.852338],[103.238485,32.85239],[103.238731,32.852404],[103.238976,32.852418],[103.239221,32.852432],[103.239467,32.852446],[103.239712,32.85246],[103.239957,32.852474],[103.240202,32.852482],[103.240447,32.852491],[103.240692,32.852499],[103.240937,32.852507],[103.241182,32.852515],[103.241426,32.852524],[103.241671,32.852532],[103.241916,32.85254],[103.242161,32.852549],[103.242406,32.852557],[103.242664,32.852581],[103.242922,32.852605],[103.243179,32.852628],[103.243437,32.852652],[103.243695,32.852676],[103.243953,32.8527],[103.244211,32.852724],[103.244469,32.852747],[103.244828,32.852827],[103.245187,32.852906],[103.24553,32.852992],[103.245873,32.853077],[103.245913,32.853095],[103.245991,32.853129],[103.246216,32.853228],[103.246574,32.853442],[103.24679,32.853542],[103.247006,32.853642],[103.247221,32.853742],[103.247437,32.853842],[103.247653,32.853942],[103.247869,32.854041],[103.248084,32.854141],[103.2483,32.854241],[103.248306,32.854244],[103.2487,32.854408],[103.249027,32.85445],[103.249119,32.854462],[103.249339,32.854465],[103.249371,32.854466],[103.249552,32.854468],[103.249623,32.854469],[103.249875,32.854473],[103.250127,32.854476],[103.250379,32.85448],[103.250631,32.854484],[103.25091,32.854454],[103.251188,32.854424],[103.251578,32.854382],[103.251968,32.85434],[103.252358,32.854298],[103.252799,32.854229],[103.253241,32.854159],[103.253683,32.85409],[103.253934,32.854041],[103.254184,32.853992],[103.254435,32.853943],[103.254686,32.853894],[103.254937,32.853845],[103.255188,32.853796],[103.255439,32.853747],[103.25569,32.853698],[103.255941,32.853649],[103.256191,32.8536],[103.256442,32.853551],[103.256693,32.853502],[103.256923,32.853489],[103.257153,32.853476],[103.257421,32.853512],[103.257649,32.853612],[103.257877,32.85376],[103.258075,32.853916],[103.258272,32.854073],[103.25847,32.854229],[103.258668,32.854385],[103.258827,32.854565],[103.258986,32.854744],[103.259145,32.854924],[103.259304,32.855104],[103.259464,32.855283],[103.259623,32.855463],[103.259782,32.855642],[103.259941,32.855822],[103.26013,32.85597],[103.260318,32.856119],[103.260698,32.856318],[103.260923,32.856411],[103.261149,32.856505],[103.261374,32.856599],[103.2616,32.856693],[103.261822,32.856786],[103.261825,32.856787],[103.26205,32.856881],[103.262276,32.856975],[103.262501,32.857068],[103.26279,32.857256],[103.263079,32.857444],[103.263419,32.857696],[103.263759,32.857948],[103.264099,32.8582],[103.264272,32.858348],[103.264444,32.858496],[103.264617,32.858643],[103.264789,32.858791],[103.264962,32.858939],[103.265134,32.859087],[103.265456,32.859268],[103.265664,32.859368],[103.265872,32.859469],[103.266101,32.85955],[103.266329,32.859631],[103.266557,32.859712],[103.266785,32.859793],[103.267013,32.859874],[103.267241,32.859955],[103.26746,32.860023],[103.267679,32.86009],[103.267898,32.860158],[103.268117,32.860225],[103.268336,32.860293],[103.268555,32.86036],[103.268774,32.860428],[103.268993,32.860495],[103.269212,32.860562],[103.269431,32.86063],[103.269696,32.860755],[103.269961,32.860881],[103.270284,32.861046],[103.270567,32.861243],[103.270774,32.861457],[103.270999,32.861701],[103.27114,32.861885],[103.271281,32.862069],[103.271423,32.862253],[103.271564,32.862437],[103.271705,32.862621],[103.271847,32.862804],[103.2721,32.863106],[103.272353,32.863408],[103.27255,32.863596],[103.272747,32.863784],[103.272939,32.863946],[103.27313,32.864107],[103.273321,32.864268],[103.273513,32.86443],[103.273704,32.864591],[103.273896,32.864753],[103.274122,32.864965],[103.274327,32.865307],[103.274437,32.865511],[103.274548,32.865714],[103.274689,32.865953],[103.274829,32.866191],[103.27497,32.866429],[103.27511,32.866667],[103.275256,32.866992],[103.275402,32.867318],[103.275493,32.867601],[103.275584,32.867885],[103.275757,32.868299],[103.275931,32.868713],[103.276089,32.868973],[103.276247,32.869233],[103.276445,32.869421],[103.276642,32.86961],[103.276865,32.869752],[103.277088,32.869894],[103.277311,32.870036],[103.277534,32.870178],[103.277748,32.870262],[103.277962,32.870345],[103.278176,32.870429],[103.278389,32.870512],[103.27879,32.870588],[103.279191,32.870664],[103.279591,32.87074],[103.279859,32.870774],[103.280126,32.870808],[103.280393,32.870841],[103.280661,32.870875],[103.280928,32.870909],[103.281195,32.870943],[103.281463,32.870977],[103.28173,32.871011],[103.282163,32.87107],[103.282596,32.87113],[103.28303,32.87119],[103.283267,32.871266],[103.283505,32.871342],[103.283743,32.871418],[103.283981,32.871494],[103.28423,32.871611],[103.284479,32.871729],[103.284728,32.871847],[103.284978,32.871965],[103.285215,32.872065],[103.285453,32.872165],[103.285688,32.872267],[103.285923,32.872369],[103.286158,32.872471],[103.286393,32.872573],[103.286628,32.872675],[103.286863,32.872777],[103.287098,32.872879],[103.287333,32.872981],[103.287546,32.873061],[103.287759,32.873142],[103.287972,32.873222],[103.288185,32.873303],[103.288398,32.873383],[103.288611,32.873464],[103.288824,32.873544],[103.289037,32.873625],[103.28925,32.873705],[103.289463,32.873786],[103.289709,32.873894],[103.289956,32.874002],[103.290203,32.87411],[103.29045,32.874218],[103.290696,32.874326],[103.290943,32.874434],[103.291205,32.874492],[103.291468,32.87455],[103.29173,32.874609],[103.291992,32.874667],[103.292254,32.874725],[103.292516,32.874783],[103.292779,32.874841],[103.293041,32.874899],[103.293464,32.87493],[103.293887,32.874961],[103.294311,32.874992],[103.294734,32.875022],[103.295096,32.875093],[103.29514,32.875115],[103.295514,32.875307],[103.295662,32.875519],[103.295848,32.875861],[103.295994,32.876202],[103.296141,32.876542],[103.296262,32.876897],[103.296383,32.877252],[103.296503,32.877607],[103.296515,32.877995],[103.296471,32.878316],[103.296254,32.878653],[103.296135,32.878853],[103.296016,32.879053],[103.295838,32.879349],[103.29566,32.879645],[103.295554,32.879855],[103.295447,32.880065],[103.295341,32.880275],[103.295234,32.880485],[103.295128,32.880694],[103.295021,32.880904],[103.294909,32.881282],[103.294796,32.88166],[103.294764,32.881886],[103.294731,32.882112],[103.294724,32.882442],[103.294717,32.882773],[103.294691,32.88312],[103.294665,32.883467],[103.294612,32.883736],[103.294559,32.884005],[103.294506,32.884275],[103.294453,32.884544],[103.294343,32.884796],[103.294232,32.885047],[103.294121,32.885298],[103.294011,32.88555],[103.293865,32.885741],[103.29372,32.885933],[103.293575,32.886125],[103.293429,32.886316],[103.293284,32.886508],[103.293139,32.8867],[103.292993,32.886891],[103.292848,32.887083],[103.292703,32.887275],[103.292557,32.887466],[103.292438,32.88774],[103.292449,32.888095],[103.292615,32.888436],[103.292745,32.888639],[103.292876,32.888842],[103.293178,32.889054],[103.293481,32.889265],[103.29385,32.889472],[103.294219,32.88968],[103.294432,32.88984],[103.294644,32.890001],[103.294857,32.890161],[103.29507,32.890322],[103.295263,32.890473],[103.295456,32.890625],[103.29565,32.890777],[103.295843,32.890929],[103.296036,32.89108],[103.29623,32.891232],[103.296423,32.891384],[103.296616,32.891535],[103.296795,32.891724],[103.296973,32.891912],[103.297151,32.8921],[103.29733,32.892288],[103.297418,32.892579],[103.29739,32.892745],[103.297375,32.892837],[103.297357,32.892895],[103.297357,32.892896],[103.297305,32.893068],[103.297236,32.893299],[103.297166,32.893531],[103.297097,32.893762],[103.297033,32.894035],[103.29697,32.894309],[103.296888,32.894678],[103.29686,32.895082],[103.296837,32.895308],[103.296814,32.895534],[103.296822,32.895887],[103.296824,32.895953],[103.296862,32.896193],[103.296892,32.89639],[103.296961,32.896777],[103.297,32.897003],[103.297039,32.897228],[103.297077,32.897453],[103.297083,32.897488],[103.297116,32.897678],[103.297244,32.898019],[103.297371,32.898359],[103.297528,32.898644],[103.297556,32.898695],[103.297686,32.898929],[103.297843,32.89923],[103.298,32.89953],[103.2981,32.899822],[103.2982,32.900114],[103.298318,32.900446],[103.298335,32.900494],[103.298436,32.900778],[103.298486,32.901183],[103.298491,32.90142],[103.298496,32.901657],[103.298501,32.901894],[103.298506,32.902131],[103.298499,32.902368],[103.298491,32.902604],[103.298483,32.902841],[103.298475,32.903078],[103.298468,32.903314],[103.29846,32.903551],[103.298453,32.903914],[103.298446,32.904277],[103.298459,32.904616],[103.298472,32.904955],[103.298504,32.905238],[103.298537,32.905521],[103.298542,32.905769],[103.298547,32.906017],[103.298552,32.906264],[103.298556,32.906512],[103.298561,32.90676],[103.298566,32.907008],[103.298571,32.907255],[103.298576,32.907503],[103.298552,32.907777],[103.298528,32.908051],[103.298503,32.908326],[103.298479,32.9086],[103.298474,32.908852],[103.298469,32.909103],[103.298464,32.909355],[103.298459,32.909607],[103.298455,32.909859],[103.29845,32.910111],[103.298445,32.910363],[103.29844,32.910615],[103.298452,32.910877],[103.298463,32.911139],[103.298475,32.9114],[103.298487,32.911662],[103.298499,32.911924],[103.29851,32.912186],[103.298522,32.912448],[103.298534,32.912709],[103.298582,32.913151],[103.298631,32.913593],[103.29868,32.914034],[103.298702,32.914438],[103.298723,32.914842],[103.298724,32.915277],[103.298726,32.915711],[103.298625,32.916016],[103.298408,32.91632],[103.298184,32.916518],[103.29796,32.916716],[103.297858,32.916782],[103.297494,32.917017],[103.297282,32.917103],[103.29707,32.917189],[103.296858,32.917275],[103.296645,32.917361],[103.2964,32.917455],[103.296154,32.91755],[103.295909,32.917645],[103.295663,32.917739],[103.295418,32.917834],[103.295173,32.917928],[103.294927,32.918023],[103.294682,32.918118],[103.294436,32.918212],[103.294191,32.918307],[103.293945,32.918402],[103.2937,32.918496],[103.293454,32.918591],[103.293209,32.918686],[103.292841,32.918882],[103.292474,32.919078],[103.29226,32.919253],[103.291987,32.919492],[103.291847,32.919781],[103.291792,32.920011],[103.291737,32.920241],[103.291729,32.920604],[103.291722,32.920967],[103.291708,32.921201],[103.291694,32.921434],[103.29168,32.921668],[103.291666,32.921902],[103.29166,32.922209],[103.291653,32.922515],[103.29161,32.922805],[103.291566,32.923094],[103.291444,32.92348],[103.291304,32.923786],[103.291137,32.924126],[103.29097,32.924465],[103.290803,32.924805],[103.290592,32.925163],[103.29038,32.925521],[103.290169,32.925878],[103.290026,32.926082],[103.289883,32.926286],[103.28974,32.92649],[103.289597,32.926694],[103.289476,32.926886],[103.289354,32.927078],[103.289232,32.92727],[103.28911,32.927462],[103.288989,32.927654],[103.288867,32.927846],[103.288706,32.928046],[103.288546,32.928247],[103.288385,32.928448],[103.288224,32.928648],[103.288064,32.928849],[103.287903,32.929049],[103.287742,32.92925],[103.287582,32.929451],[103.287421,32.929651],[103.28726,32.929852],[103.2871,32.930052],[103.286939,32.930253],[103.286627,32.930507],[103.286506,32.930605],[103.286315,32.930761],[103.286083,32.930895],[103.285851,32.931029],[103.285542,32.931113],[103.285233,32.931197],[103.284898,32.931217],[103.284563,32.931237],[103.284299,32.931231],[103.284036,32.931226],[103.283773,32.93122],[103.283509,32.931214],[103.283246,32.931209],[103.282982,32.931203],[103.282719,32.931197],[103.282456,32.931192],[103.282321,32.931255],[103.28228,32.931383],[103.282275,32.931625],[103.282384,32.931966],[103.282554,32.932162],[103.282761,32.932213],[103.283144,32.932291],[103.283526,32.932369],[103.283767,32.932425],[103.284007,32.932481],[103.284248,32.932536],[103.284489,32.932592],[103.284729,32.932648],[103.28497,32.932704],[103.285022,32.932716],[103.285211,32.93276],[103.285451,32.932815],[103.285857,32.932952],[103.286262,32.933089],[103.286667,32.933226],[103.287073,32.933363],[103.28711,32.933375],[103.28733,32.933447],[103.28744,32.933483],[103.287587,32.933531],[103.287844,32.933615],[103.288101,32.9337],[103.288463,32.933834],[103.288701,32.933912],[103.288748,32.933927],[103.289033,32.93402],[103.289397,32.934056],[103.289628,32.934045],[103.289646,32.934044],[103.289668,32.934035],[103.289955,32.93392],[103.290172,32.93378],[103.290389,32.933639],[103.290607,32.933498],[103.290735,32.933415],[103.290824,32.933357],[103.290998,32.933244],[103.291041,32.933217],[103.291155,32.933143],[103.291259,32.933076],[103.291476,32.932935],[103.291693,32.932794],[103.291911,32.932654],[103.292128,32.932513],[103.292325,32.932379],[103.292522,32.932245],[103.292718,32.932111],[103.292915,32.931977],[103.293112,32.931844],[103.293309,32.93171],[103.293506,32.931576],[103.293702,32.931442],[103.293899,32.931308],[103.294096,32.931174],[103.294277,32.931016],[103.294458,32.930857],[103.29464,32.930698],[103.294821,32.930539],[103.295002,32.93038],[103.295183,32.930221],[103.295365,32.930062],[103.295546,32.929904],[103.295727,32.929745],[103.295908,32.929586],[103.296092,32.929383],[103.296276,32.929179],[103.296459,32.928976],[103.296643,32.928773],[103.296826,32.928569],[103.29701,32.928366],[103.297194,32.928163],[103.297377,32.927959],[103.297531,32.92778],[103.297684,32.9276],[103.297838,32.92742],[103.297991,32.92724],[103.298145,32.927061],[103.298299,32.926881],[103.298452,32.926701],[103.298606,32.926521],[103.298759,32.926342],[103.298913,32.926162],[103.299103,32.925987],[103.299294,32.925812],[103.299484,32.925637],[103.299674,32.925462],[103.299964,32.925352],[103.300308,32.925309],[103.300559,32.92524],[103.30081,32.92517],[103.301032,32.925092],[103.301253,32.925014],[103.301548,32.924836],[103.301842,32.924658],[103.30201,32.924504],[103.302178,32.92435],[103.302346,32.924195],[103.302513,32.924041],[103.302681,32.923887],[103.302849,32.923732],[103.303016,32.923578],[103.303184,32.923424],[103.303352,32.923269],[103.30352,32.923115],[103.303723,32.922977],[103.303927,32.922838],[103.304131,32.9227],[103.304335,32.922561],[103.304538,32.922423],[103.304742,32.922284],[103.304946,32.922146],[103.30515,32.922007],[103.305526,32.921851],[103.305657,32.921797],[103.305902,32.921695],[103.305997,32.921687],[103.306209,32.921667],[103.306592,32.921672],[103.306801,32.921788],[103.306952,32.921919],[103.30707,32.922155],[103.307082,32.922179],[103.307116,32.922357],[103.307101,32.922457],[103.307073,32.922647],[103.307029,32.922937],[103.306966,32.923188],[103.306966,32.92319],[103.306965,32.923192],[103.306904,32.923439],[103.306841,32.923691],[103.306779,32.923942],[103.306716,32.924193],[103.306654,32.924445],[103.306592,32.924696],[103.306529,32.924947],[103.306572,32.925244],[103.306615,32.925541],[103.306696,32.925967],[103.306777,32.926393],[103.306858,32.926819],[103.306985,32.927176],[103.307112,32.927532],[103.307233,32.927756],[103.307354,32.927979],[103.307457,32.928171],[103.307469,32.928193],[103.307474,32.928203],[103.307474,32.928203],[103.307595,32.928426],[103.307694,32.928534],[103.307763,32.92861],[103.307857,32.928712],[103.30812,32.928999],[103.308298,32.929195],[103.308476,32.929391],[103.308655,32.929587],[103.308833,32.929784],[103.309151,32.930045],[103.309235,32.930115],[103.309468,32.930306],[103.309484,32.930319],[103.309785,32.930567],[103.309992,32.930763],[103.310103,32.931024],[103.310077,32.931346],[103.309977,32.931683],[103.309884,32.931964],[103.309792,32.932246],[103.309698,32.932504],[103.309603,32.932762],[103.309508,32.93302],[103.309414,32.933278],[103.309319,32.933536],[103.309224,32.933793],[103.309129,32.934051],[103.309035,32.934309],[103.308817,32.934699],[103.3086,32.935089],[103.308581,32.935123],[103.308531,32.935212],[103.308383,32.935478],[103.308101,32.935803],[103.308098,32.935807],[103.308056,32.935855],[103.307898,32.936037],[103.30782,32.936127],[103.307539,32.936452],[103.307133,32.936625],[103.307085,32.936636],[103.306863,32.93669],[103.306861,32.93669],[103.306859,32.936691],[103.306594,32.936754],[103.306325,32.936819],[103.306056,32.936884],[103.305681,32.936943],[103.305307,32.937002],[103.305046,32.937063],[103.304786,32.937125],[103.304526,32.937186],[103.304266,32.937247],[103.304042,32.93739],[103.303819,32.937532],[103.303661,32.937772],[103.303504,32.938012],[103.303436,32.938374],[103.303487,32.938731],[103.30354,32.938957],[103.303593,32.939184],[103.303689,32.939411],[103.303785,32.939638],[103.303882,32.939866],[103.303978,32.940093],[103.304109,32.94028],[103.304239,32.940468],[103.30437,32.940655],[103.3045,32.940843],[103.304792,32.941121],[103.305084,32.941399],[103.305233,32.941689],[103.305383,32.941979],[103.305578,32.942353],[103.305772,32.942727],[103.306025,32.943021],[103.306278,32.943315],[103.306398,32.943583],[103.306517,32.943851],[103.306647,32.944087],[103.306776,32.944322],[103.307,32.944672],[103.307223,32.945022],[103.307437,32.945348],[103.307651,32.945674],[103.307867,32.945919],[103.308082,32.946164],[103.308413,32.946445],[103.308744,32.946726],[103.309075,32.947007],[103.309406,32.947289],[103.309601,32.947481],[103.309796,32.947673],[103.309992,32.947866],[103.310187,32.948058],[103.310382,32.94825],[103.310578,32.948443],[103.310773,32.948635],[103.310968,32.948827],[103.311059,32.94907],[103.311035,32.949328],[103.310876,32.949617],[103.310695,32.9498],[103.310515,32.949983],[103.310334,32.950166],[103.310153,32.950349],[103.309955,32.950691],[103.309756,32.951034],[103.309635,32.951339],[103.309515,32.951644],[103.309444,32.951865],[103.309373,32.952086],[103.309302,32.952307],[103.309231,32.952528],[103.309089,32.952919],[103.308947,32.95331],[103.308805,32.953702],[103.30879,32.953992],[103.308775,32.954282],[103.308864,32.954622],[103.308953,32.954961],[103.309045,32.955181],[103.309137,32.9554],[103.30936,32.955767],[103.309583,32.956134],[103.309807,32.956501],[103.309918,32.956712],[103.310028,32.956923],[103.310139,32.957134],[103.31025,32.957345],[103.310369,32.957662],[103.310487,32.957978],[103.310594,32.958399],[103.310607,32.958449],[103.310681,32.958732],[103.310755,32.959015],[103.31077,32.959257],[103.310785,32.9595],[103.310867,32.959722],[103.310949,32.959945],[103.311031,32.960167],[103.311113,32.96039],[103.311219,32.960627],[103.311324,32.960865],[103.31143,32.961102],[103.311536,32.96134],[103.311641,32.961577],[103.311747,32.961815],[103.311853,32.962052],[103.311958,32.96229],[103.312073,32.962498],[103.312187,32.962707],[103.312301,32.962916],[103.312416,32.963124],[103.31253,32.963333],[103.312644,32.963542],[103.31286,32.963762],[103.313076,32.963983],[103.313186,32.964242],[103.313219,32.964533],[103.313158,32.96471],[103.313002,32.964837],[103.312656,32.964962],[103.312251,32.96502],[103.311885,32.965081],[103.311625,32.965198],[103.311514,32.965248],[103.311365,32.965315],[103.311184,32.965425],[103.31117,32.965433],[103.310976,32.965551],[103.310782,32.965669],[103.310588,32.965787],[103.310394,32.965906],[103.3102,32.966024],[103.310035,32.966234],[103.310089,32.966472],[103.310252,32.966844],[103.310396,32.96706],[103.31054,32.967277],[103.310777,32.967489],[103.310962,32.967654],[103.311013,32.967701],[103.311254,32.967946],[103.311495,32.968192],[103.311622,32.968323],[103.311735,32.968438],[103.312013,32.96871],[103.312291,32.968982],[103.31252,32.969224],[103.312748,32.969465],[103.313044,32.969782],[103.313291,32.970046],[103.313539,32.970311],[103.313746,32.970548],[103.313954,32.970786],[103.314133,32.970989],[103.314162,32.971023],[103.31454,32.971243],[103.314875,32.971474],[103.31521,32.971705],[103.315225,32.971717],[103.315468,32.971905],[103.315726,32.972106],[103.315969,32.972419],[103.316044,32.972515],[103.316181,32.972756],[103.316318,32.972996],[103.31642,32.973212],[103.316522,32.973428],[103.316588,32.97365],[103.316655,32.973871],[103.316702,32.974016],[103.316735,32.974117],[103.316815,32.974362],[103.316867,32.974631],[103.316902,32.974818],[103.316918,32.9749],[103.316977,32.975158],[103.317036,32.975415],[103.317065,32.975761],[103.317093,32.976107],[103.317002,32.97653],[103.316969,32.976678],[103.316837,32.976858],[103.316708,32.977032],[103.316446,32.977387],[103.316236,32.977664],[103.316026,32.977942],[103.315815,32.978201],[103.315605,32.978461],[103.315427,32.978603],[103.315261,32.978735],[103.314939,32.979009],[103.314739,32.97918],[103.314721,32.979199],[103.314572,32.979358],[103.314525,32.979573],[103.314535,32.979612],[103.314561,32.979713],[103.314596,32.979846],[103.314725,32.98013],[103.314854,32.980414],[103.314893,32.980501],[103.314941,32.980673],[103.314989,32.980846],[103.315036,32.981244],[103.315059,32.981432],[103.315084,32.981643],[103.315159,32.982055],[103.315234,32.982468],[103.31531,32.98288],[103.315402,32.983207],[103.315494,32.983534],[103.315586,32.983862],[103.315626,32.984001],[103.315679,32.984189],[103.315687,32.984434],[103.315696,32.984679],[103.315702,32.984855],[103.315691,32.985188],[103.315798,32.985474],[103.315952,32.985795],[103.316309,32.986021],[103.316635,32.986194],[103.31696,32.986368],[103.317304,32.98658],[103.317671,32.986805],[103.31788,32.986928],[103.31809,32.987052],[103.3183,32.987175],[103.31851,32.987298],[103.318719,32.987421],[103.318929,32.987545],[103.319155,32.987765],[103.319381,32.987986],[103.319559,32.988182],[103.319738,32.988378],[103.319917,32.988574],[103.320095,32.98877],[103.320249,32.98899],[103.320403,32.98921],[103.320558,32.98943],[103.320712,32.98965],[103.320823,32.989853],[103.320934,32.990056],[103.321045,32.99026],[103.321156,32.990463],[103.321267,32.990666],[103.321378,32.990869],[103.321489,32.991073],[103.3216,32.991276],[103.321788,32.991649],[103.321975,32.992021],[103.322144,32.992209],[103.322314,32.992397],[103.322615,32.992692],[103.322965,32.992915],[103.323315,32.993138],[103.323528,32.993232],[103.32374,32.993326],[103.323952,32.99342],[103.324165,32.993514],[103.324377,32.993609],[103.324589,32.993703],[103.324629,32.993718],[103.324853,32.993801],[103.325077,32.993885],[103.325423,32.994008],[103.325768,32.994131],[103.326113,32.994254],[103.326333,32.994409],[103.326553,32.994563],[103.326553,32.994564],[103.326554,32.994564],[103.326898,32.994843],[103.327243,32.995122],[103.327512,32.995388],[103.327782,32.995654],[103.328052,32.995919],[103.32826,32.996056],[103.328468,32.996193],[103.328568,32.996236],[103.328676,32.996283],[103.329075,32.996455],[103.329392,32.996681],[103.329709,32.996907],[103.330027,32.997133],[103.330356,32.997387],[103.330685,32.997641],[103.331014,32.997894],[103.33107,32.998009],[103.331173,32.99822],[103.331276,32.99843],[103.33147,32.998609],[103.331585,32.998715],[103.331865,32.998816],[103.332014,32.99887],[103.332138,32.998956],[103.332287,32.99906],[103.332442,32.999322],[103.33254,32.999627],[103.332638,32.999932],[103.332736,33.000236],[103.332763,33.000321],[103.332942,33.000619],[103.333153,33.000798],[103.333365,33.000977],[103.333552,33.001135],[103.33366,33.001227],[103.333955,33.001476],[103.33425,33.001725],[103.334464,33.001987],[103.334487,33.002208],[103.3345,33.002332],[103.334504,33.002366],[103.33452,33.0025],[103.334565,33.002895],[103.334589,33.003105],[103.334611,33.003291],[103.334657,33.003686],[103.334702,33.004081],[103.334792,33.004343],[103.334881,33.004605],[103.334994,33.004935],[103.335107,33.005265],[103.335112,33.005279],[103.33522,33.005595],[103.335333,33.005925],[103.335505,33.006306],[103.335678,33.006687],[103.335892,33.007055],[103.335999,33.0074],[103.33601,33.007439],[103.336071,33.007656],[103.336114,33.007811],[103.336142,33.007912],[103.336201,33.008178],[103.336209,33.008215],[103.336261,33.008447],[103.336404,33.008792],[103.336635,33.009159],[103.336749,33.00934],[103.336803,33.00941],[103.336875,33.009503],[103.33703,33.009704],[103.337257,33.009997],[103.33731,33.010052],[103.337492,33.010237],[103.337728,33.010476],[103.337963,33.010716],[103.338184,33.011],[103.338406,33.011285],[103.338627,33.011569],[103.338848,33.011854],[103.339069,33.012138],[103.339239,33.012395],[103.339409,33.012651],[103.339578,33.012908],[103.339629,33.013215],[103.33968,33.013522],[103.339731,33.013828],[103.339731,33.013829],[103.339731,33.013829],[103.339751,33.01391],[103.339781,33.014316],[103.339811,33.014721],[103.339827,33.014944],[103.339841,33.015127],[103.33981,33.015519],[103.33978,33.015912],[103.33975,33.016304],[103.339678,33.016587],[103.339605,33.016871],[103.339372,33.017229],[103.339176,33.017416],[103.338981,33.017603],[103.338691,33.017866],[103.3384,33.018128],[103.338109,33.01839],[103.337772,33.018604],[103.337434,33.018818],[103.337097,33.019032],[103.336877,33.019137],[103.336657,33.019241],[103.336437,33.019346],[103.336216,33.019451],[103.335996,33.019555],[103.335776,33.01966],[103.335489,33.019941],[103.335202,33.020221],[103.335046,33.020389],[103.33489,33.020556],[103.334734,33.020723],[103.334578,33.02089],[103.334421,33.021057],[103.334265,33.021224],[103.334255,33.021601],[103.334244,33.021978],[103.334234,33.022354],[103.334375,33.022591],[103.334515,33.022827],[103.334656,33.023064],[103.334797,33.0233],[103.334938,33.023537],[103.335078,33.023773],[103.335278,33.024142],[103.335456,33.024415],[103.335726,33.024669],[103.335906,33.024846],[103.336223,33.025081],[103.336438,33.025238],[103.336652,33.025395],[103.336867,33.025553],[103.337082,33.02571],[103.337307,33.025954],[103.337533,33.026198],[103.337664,33.026388],[103.337664,33.026388],[103.337665,33.026389],[103.337778,33.026554],[103.338024,33.026909],[103.338171,33.027122],[103.33827,33.027264],[103.338355,33.027477],[103.338401,33.027593],[103.338486,33.02798],[103.33848,33.028295],[103.338498,33.028382],[103.338535,33.028736],[103.338572,33.029089],[103.338608,33.029443],[103.338616,33.029514],[103.3386,33.029828],[103.338583,33.030143],[103.338567,33.030458],[103.338561,33.030586],[103.338559,33.030621],[103.338464,33.031021],[103.338455,33.031241],[103.338454,33.031278],[103.338492,33.031478],[103.338632,33.031766],[103.338771,33.032055],[103.338911,33.032344],[103.338988,33.032472],[103.339044,33.032563],[103.339082,33.032753],[103.339025,33.033125],[103.338882,33.033515],[103.338697,33.033862],[103.338511,33.03421],[103.338473,33.034514],[103.338435,33.034819],[103.338411,33.035247],[103.338387,33.035675],[103.338356,33.036082],[103.338324,33.036488],[103.338297,33.036831],[103.338292,33.036894],[103.338378,33.037227],[103.338502,33.037431],[103.338625,33.037636],[103.338638,33.0377],[103.338673,33.037874],[103.338595,33.038213],[103.338587,33.038245],[103.3386,33.038547],[103.338602,33.038574],[103.338616,33.038902],[103.33861,33.039207],[103.338603,33.039511],[103.338597,33.039816],[103.338644,33.040139],[103.338666,33.04037],[103.338688,33.0406],[103.338692,33.04062],[103.338753,33.040944],[103.33877,33.041035],[103.338868,33.041409],[103.338965,33.041782],[103.338987,33.041868],[103.339028,33.042026],[103.339092,33.04227],[103.339156,33.042514],[103.339219,33.042758],[103.339317,33.043078],[103.339414,33.043398],[103.339477,33.043659],[103.339541,33.043919],[103.339649,33.044288],[103.339849,33.044638],[103.339937,33.044849],[103.340025,33.04506],[103.340099,33.045369],[103.340174,33.045679],[103.340225,33.046017],[103.340277,33.046356],[103.340291,33.046771],[103.340306,33.047186],[103.340325,33.047437],[103.340343,33.047688],[103.340338,33.047942],[103.340333,33.048196],[103.340329,33.04845],[103.340324,33.048704],[103.340319,33.048958],[103.340314,33.049212],[103.340297,33.049501],[103.34028,33.049791],[103.34023,33.05005],[103.340179,33.05031],[103.340034,33.050683],[103.33989,33.051057],[103.339788,33.051296],[103.339686,33.051536],[103.339585,33.051775],[103.339483,33.052014],[103.339383,33.052444],[103.339284,33.052873],[103.339184,33.053303],[103.339177,33.053593],[103.339241,33.053901],[103.339372,33.054251],[103.339483,33.054464],[103.339653,33.054663],[103.339824,33.054862],[103.339994,33.055061],[103.340165,33.05526],[103.340335,33.055459],[103.340506,33.055658],[103.340676,33.055858],[103.340847,33.056057],[103.341017,33.056256],[103.341187,33.056455],[103.341361,33.056652],[103.341534,33.056849],[103.341708,33.057045],[103.341881,33.057242],[103.342055,33.057439],[103.342228,33.057636],[103.342401,33.057833],[103.342575,33.05803],[103.342748,33.058226],[103.342922,33.058423],[103.343144,33.058802],[103.343367,33.059181],[103.34346,33.059409],[103.343553,33.059637],[103.343646,33.059865],[103.343739,33.060093],[103.343793,33.060325],[103.343846,33.060557],[103.343852,33.060828],[103.343857,33.061098],[103.343829,33.061396],[103.343801,33.061695],[103.343784,33.062004],[103.343767,33.062313],[103.343759,33.062717],[103.343774,33.063142],[103.343812,33.063586],[103.343852,33.063866],[103.343893,33.064147],[103.344004,33.064359],[103.344116,33.064572],[103.344227,33.064785],[103.344339,33.064998],[103.344427,33.065172],[103.344421,33.065481],[103.344393,33.06577],[103.344388,33.066041],[103.344309,33.066281],[103.34423,33.066521],[103.344151,33.06676],[103.344072,33.067],[103.343965,33.067385],[103.343858,33.067769],[103.343752,33.068154],[103.343642,33.06849],[103.343533,33.068826],[103.343539,33.069087],[103.343546,33.069347],[103.343631,33.069734],[103.343696,33.069967],[103.34376,33.0702],[103.343936,33.070529],[103.344239,33.070861],[103.344542,33.071192],[103.344845,33.071523],[103.345148,33.071854],[103.345304,33.072088],[103.345414,33.07234],[103.345524,33.072591],[103.345588,33.072883],[103.34558,33.073288],[103.345518,33.073519],[103.345457,33.07375],[103.345429,33.07398],[103.345402,33.074211],[103.345489,33.074463],[103.345597,33.074819],[103.345705,33.075174],[103.345813,33.07553],[103.34591,33.075811],[103.346008,33.076092],[103.346073,33.076363],[103.346137,33.076634],[103.346134,33.076673],[103.346107,33.077018],[103.345962,33.077423],[103.345793,33.077825],[103.345626,33.07819],[103.345403,33.078559],[103.345181,33.078929],[103.345062,33.079127],[103.344959,33.079298],[103.344745,33.079668],[103.344532,33.080038],[103.344424,33.080226],[103.344319,33.080407],[103.344198,33.080734],[103.344033,33.080984],[103.34387,33.081146],[103.343706,33.081307],[103.343543,33.081469],[103.34346,33.08155],[103.343379,33.08163],[103.343223,33.081808],[103.343066,33.081986],[103.34291,33.082165],[103.342754,33.082343],[103.342597,33.082521],[103.342441,33.082699],[103.342253,33.082937],[103.342065,33.083175],[103.341934,33.083449],[103.341825,33.083674],[103.341752,33.083914],[103.341678,33.084155],[103.34164,33.084395],[103.341621,33.084511],[103.341601,33.084636],[103.341585,33.084863],[103.341571,33.085065],[103.34154,33.085494],[103.341507,33.08574],[103.341473,33.085986],[103.34144,33.086231],[103.341406,33.086477],[103.341309,33.086727],[103.341279,33.086804],[103.341212,33.086977],[103.341207,33.087247],[103.341207,33.087277],[103.341202,33.087517],[103.341222,33.087729],[103.341232,33.087772],[103.341257,33.087882],[103.341307,33.088097],[103.341309,33.088115],[103.341347,33.088425],[103.341386,33.088831],[103.341358,33.089043],[103.341263,33.089196],[103.34108,33.089333],[103.340897,33.089471],[103.340713,33.089608],[103.340651,33.089655],[103.34053,33.089746],[103.340347,33.089884],[103.340163,33.090021],[103.33998,33.090159],[103.339968,33.090168],[103.339894,33.090223],[103.339891,33.090225],[103.339797,33.090296],[103.339563,33.090414],[103.339556,33.090417],[103.339337,33.090527],[103.33932,33.090536],[103.339315,33.090539],[103.339194,33.090599],[103.339074,33.09066],[103.338999,33.090698],[103.338834,33.090781],[103.338671,33.090809],[103.338466,33.090844],[103.338098,33.090907],[103.337913,33.090917],[103.337811,33.090922],[103.337524,33.090937],[103.337457,33.090941],[103.337388,33.090945],[103.337248,33.090952],[103.336856,33.091044],[103.336598,33.091272],[103.33639,33.0915],[103.336288,33.091615],[103.336236,33.091672],[103.336083,33.091845],[103.335988,33.092075],[103.335911,33.092235],[103.335881,33.092298],[103.335868,33.092323],[103.335776,33.092514],[103.335748,33.092572],[103.335561,33.092801],[103.335333,33.093024],[103.335327,33.09303],[103.334991,33.093219],[103.334916,33.093261],[103.334655,33.093407],[103.334351,33.093711],[103.33433,33.093744],[103.334184,33.09398],[103.333973,33.094219],[103.333911,33.094288],[103.333762,33.094457],[103.33346,33.094684],[103.333229,33.094778],[103.332906,33.094851],[103.332469,33.094883],[103.332158,33.094927],[103.331848,33.094971],[103.331478,33.095159],[103.331303,33.095335],[103.331273,33.095365],[103.331149,33.09549],[103.331127,33.095512],[103.330993,33.095647],[103.330993,33.095647],[103.330952,33.095688],[103.330776,33.095864],[103.33042,33.096098],[103.330064,33.096331],[103.329707,33.096564],[103.329344,33.096705],[103.329047,33.09668],[103.328726,33.096618],[103.328409,33.09646],[103.328277,33.096402],[103.328044,33.0963],[103.327745,33.096334],[103.327535,33.096507],[103.327417,33.096716],[103.327346,33.096794],[103.327232,33.096819],[103.327024,33.096866],[103.326772,33.096862],[103.326472,33.096917],[103.326264,33.09699],[103.326239,33.097018],[103.326144,33.097123],[103.326143,33.097123],[103.326143,33.097123],[103.326125,33.097144],[103.326122,33.097157],[103.326115,33.097189],[103.3261,33.097259],[103.326097,33.097317],[103.32608,33.097644],[103.326065,33.097951],[103.326061,33.09803],[103.326059,33.098048],[103.326033,33.098281],[103.325914,33.09851],[103.325705,33.098661],[103.325382,33.098774],[103.325316,33.098768],[103.325263,33.098764],[103.325106,33.098751],[103.324742,33.098649],[103.324493,33.09859],[103.324325,33.098551],[103.324307,33.098546],[103.324015,33.09856],[103.323988,33.098561],[103.323756,33.098577],[103.323724,33.09862],[103.32365,33.098717],[103.323568,33.098826],[103.323474,33.099015],[103.323473,33.099018],[103.323329,33.099306],[103.32319,33.09938],[103.323098,33.099399],[103.32296,33.099359],[103.322688,33.099239],[103.322606,33.0992],[103.322549,33.099173],[103.322393,33.0991],[103.322364,33.099103],[103.322002,33.099153],[103.321746,33.099304],[103.321675,33.099417],[103.321462,33.099782],[103.32134,33.100147],[103.321313,33.10034],[103.321377,33.10063],[103.321392,33.10066],[103.321487,33.100844],[103.321692,33.100962],[103.321994,33.101019],[103.322126,33.101044],[103.322419,33.101319],[103.322488,33.101451],[103.322492,33.101551],[103.322502,33.101818],[103.322501,33.101877],[103.322496,33.102146],[103.322462,33.102293],[103.322461,33.102295],[103.322442,33.10238],[103.322388,33.102614],[103.322336,33.102837],[103.322335,33.102844],[103.322334,33.102846],[103.322334,33.102848],[103.32232,33.102908],[103.322309,33.102953],[103.32228,33.103082],[103.322255,33.103187],[103.322226,33.103316],[103.322172,33.10355],[103.322104,33.103805],[103.322036,33.10406],[103.321968,33.104315],[103.32192,33.104493],[103.3219,33.104569],[103.32178,33.104876],[103.321709,33.105056],[103.321659,33.105183],[103.321491,33.10544],[103.321471,33.10547],[103.321209,33.105814],[103.320907,33.106041],[103.320605,33.106269],[103.320604,33.106269],[103.320415,33.106412],[103.320351,33.10646],[103.320303,33.106497],[103.320082,33.106677],[103.319861,33.106858],[103.319641,33.106977],[103.319569,33.107015],[103.319514,33.107045],[103.319119,33.107176],[103.318806,33.107279],[103.318718,33.107278],[103.318555,33.107276],[103.318554,33.107276],[103.318553,33.107276],[103.318301,33.107272],[103.318048,33.107269],[103.317796,33.107265],[103.31736,33.10724],[103.317286,33.107225],[103.31718,33.107204],[103.317097,33.107179],[103.316777,33.107079],[103.316375,33.106954],[103.316072,33.106945],[103.315768,33.106936],[103.315613,33.106998],[103.315367,33.107097],[103.314952,33.107198],[103.314536,33.107298],[103.31435,33.107441],[103.314165,33.107583],[103.313975,33.107927],[103.313972,33.108061],[103.313968,33.108222],[103.313922,33.108478],[103.313876,33.108735],[103.313819,33.108885],[103.313782,33.108945],[103.313691,33.108966],[103.313655,33.108974],[103.313313,33.109031],[103.313276,33.109037],[103.312949,33.109033],[103.312862,33.109032],[103.312623,33.109029],[103.312414,33.109151],[103.312205,33.109274],[103.312128,33.109621],[103.312192,33.10993],[103.312246,33.11004],[103.312325,33.110201],[103.312504,33.110435],[103.312706,33.110651],[103.312708,33.110655],[103.312749,33.110747],[103.312763,33.110805],[103.312813,33.111018],[103.312743,33.111191],[103.312486,33.11138],[103.312337,33.111432],[103.31222,33.111473],[103.312217,33.111474],[103.312214,33.111475],[103.311954,33.111566],[103.311654,33.111639],[103.311355,33.111712],[103.310942,33.111746],[103.310621,33.111683],[103.310392,33.111584],[103.31028,33.111543],[103.310188,33.111524],[103.309955,33.111694],[103.309904,33.111924],[103.309784,33.112193],[103.309589,33.112391],[103.309395,33.112588],[103.309231,33.112759],[103.309067,33.11293],[103.308846,33.113034],[103.308628,33.113136],[103.308626,33.113137],[103.308282,33.11319],[103.308122,33.113148],[103.307939,33.11307],[103.307827,33.112932],[103.307741,33.11268],[103.307399,33.11258],[103.307075,33.112677],[103.307029,33.112691],[103.306658,33.112859],[103.30664,33.112867],[103.306427,33.112962],[103.306195,33.113064],[103.306037,33.113228],[103.305973,33.113293],[103.305751,33.113521],[103.305627,33.113717],[103.30551,33.113901],[103.305502,33.113913],[103.305415,33.114051],[103.305378,33.114109],[103.305278,33.114268],[103.305254,33.114306],[103.305052,33.11467],[103.304963,33.11483],[103.304851,33.115032],[103.304851,33.115032],[103.30485,33.115034],[103.304798,33.115303],[103.304843,33.115401],[103.304957,33.115402],[103.305058,33.115392],[103.30521,33.115377],[103.30537,33.11536],[103.305463,33.115351],[103.305783,33.115452],[103.305821,33.115493],[103.305875,33.115552],[103.305962,33.115647],[103.306027,33.115822],[103.306024,33.115976],[103.305895,33.116134],[103.305883,33.116148],[103.305723,33.116272],[103.305534,33.11642],[103.305185,33.116692],[103.304836,33.116963],[103.304642,33.117083],[103.304448,33.117203],[103.304255,33.117322],[103.304061,33.117442],[103.303868,33.117562],[103.303813,33.117595],[103.303684,33.117675],[103.303674,33.117681],[103.303374,33.117812],[103.303121,33.117847],[103.302987,33.117652],[103.302911,33.117419],[103.302834,33.117187],[103.302831,33.117155],[103.302805,33.116935],[103.302789,33.116796],[103.302776,33.116684],[103.302757,33.116452],[103.302739,33.116221],[103.302718,33.116066],[103.302605,33.115968],[103.302442,33.115949],[103.302423,33.115946],[103.302283,33.116002],[103.302136,33.11613],[103.302108,33.116154],[103.30201,33.116239],[103.301933,33.116306],[103.301766,33.116613],[103.301748,33.116706],[103.301721,33.116838],[103.301716,33.116863],[103.30164,33.117208],[103.301635,33.117479],[103.301579,33.117568],[103.301347,33.117719],[103.300954,33.117887],[103.30063,33.118037],[103.300521,33.118087],[103.300453,33.118119],[103.300381,33.118152],[103.300306,33.118187],[103.300119,33.118349],[103.299931,33.11851],[103.299821,33.118653],[103.299754,33.11874],[103.299681,33.118835],[103.29968,33.118835],[103.29968,33.118835],[103.299429,33.119159],[103.299178,33.119484],[103.299143,33.119524],[103.299087,33.119588],[103.298943,33.11975],[103.298689,33.119921],[103.298413,33.119936],[103.298314,33.119935],[103.298251,33.119934],[103.29793,33.11991],[103.297586,33.119925],[103.297574,33.119931],[103.297527,33.119953],[103.297425,33.12],[103.297283,33.120152],[103.297116,33.120497],[103.297027,33.120698],[103.297005,33.120746],[103.296997,33.120766],[103.296955,33.120874],[103.2969,33.121015],[103.296855,33.121087],[103.296824,33.121136],[103.296733,33.121284],[103.296617,33.121398],[103.296501,33.121453],[103.29634,33.121432],[103.296248,33.121372],[103.29616,33.121314],[103.29616,33.121314],[103.296159,33.121314],[103.29612,33.121291],[103.296063,33.121258],[103.296056,33.121254],[103.296009,33.121227],[103.295819,33.121116],[103.295523,33.120996],[103.295469,33.120982],[103.295295,33.120935],[103.295291,33.120936],[103.295041,33.12098],[103.294788,33.121025],[103.294618,33.121148],[103.294578,33.121176],[103.294507,33.121374],[103.294481,33.121445],[103.294484,33.121469],[103.294494,33.121589],[103.294501,33.121658],[103.294564,33.121909],[103.294743,33.122124],[103.295085,33.122284],[103.295186,33.122362],[103.295219,33.122388],[103.295312,33.122461],[103.295331,33.122634],[103.295213,33.122767],[103.294819,33.122935],[103.29452,33.123029],[103.29429,33.123093],[103.294093,33.123148],[103.29406,33.123157],[103.293985,33.123195],[103.293803,33.123289],[103.293732,33.123442],[103.293729,33.123596],[103.29373,33.123638],[103.293733,33.123734],[103.293734,33.123766],[103.293739,33.123921],[103.293775,33.124087],[103.293824,33.124308],[103.293829,33.124367],[103.293843,33.124502],[103.293838,33.124683],[103.293838,33.124695],[103.293812,33.124848],[103.293546,33.125118],[103.293532,33.125133],[103.293321,33.125363],[103.293087,33.125572],[103.292854,33.125723],[103.292506,33.12593],[103.292275,33.126024],[103.291999,33.126019],[103.291633,33.125995],[103.291313,33.125952],[103.291037,33.125929],[103.290764,33.12589],[103.29074,33.125886],[103.290488,33.125835],[103.290446,33.125826],[103.290237,33.125783],[103.290127,33.125753],[103.28994,33.125702],[103.289734,33.125605],[103.289644,33.125562],[103.289418,33.125406],[103.289406,33.125406],[103.289339,33.125405],[103.289323,33.125404],[103.289189,33.125402],[103.289096,33.12544],[103.288934,33.125496],[103.28882,33.125693],[103.288791,33.125744],[103.288774,33.125792],[103.288694,33.126013],[103.288672,33.126114],[103.288645,33.126243],[103.288501,33.126532],[103.288406,33.126685],[103.28813,33.126776],[103.287898,33.126813],[103.287624,33.126827],[103.287544,33.126826],[103.287301,33.126823],[103.286945,33.126866],[103.286589,33.126909],[103.286488,33.12695],[103.286311,33.127021],[103.286194,33.127156],[103.286121,33.127348],[103.286003,33.1275],[103.285793,33.127651],[103.285539,33.127783],[103.285193,33.127875],[103.28493,33.12792],[103.284668,33.127965],[103.284366,33.128134],[103.284135,33.128207],[103.284119,33.128205],[103.283884,33.128185],[103.283832,33.128167],[103.283655,33.128104],[103.283635,33.128055],[103.283569,33.127892],[103.283506,33.127542],[103.283441,33.127349],[103.283374,33.127252],[103.283306,33.127213],[103.283073,33.12729],[103.283029,33.127305],[103.282959,33.127361],[103.282915,33.127367],[103.28282,33.12738],[103.282727,33.127357],[103.282569,33.127317],[103.282388,33.127219],[103.282211,33.126908],[103.282144,33.126733],[103.282078,33.126617],[103.281873,33.126538],[103.28162,33.126532],[103.281413,33.126588],[103.281181,33.126682],[103.28103,33.126753],[103.280904,33.126813],[103.280672,33.126886],[103.280488,33.126923],[103.280167,33.126938],[103.279845,33.126953],[103.279731,33.126959],[103.279592,33.126967],[103.279314,33.126979],[103.279248,33.126982],[103.279201,33.126983],[103.278938,33.126988],[103.278795,33.126991],[103.278704,33.126993],[103.278628,33.126994],[103.278588,33.126978],[103.278423,33.126913],[103.278388,33.126909],[103.278215,33.126886],[103.278102,33.126871],[103.277734,33.126943],[103.277615,33.127114],[103.277568,33.127191],[103.277541,33.127384],[103.277607,33.127519],[103.277788,33.127677],[103.277886,33.127702],[103.277948,33.127718],[103.278008,33.127726],[103.278177,33.12775],[103.278406,33.127782],[103.278655,33.127939],[103.278741,33.128249],[103.278716,33.128364],[103.278461,33.128496],[103.278116,33.128569],[103.277961,33.12858],[103.277885,33.128585],[103.277866,33.128586],[103.277471,33.128618],[103.27742,33.128638],[103.27724,33.12871],[103.277154,33.12878],[103.277123,33.128805],[103.277076,33.12886],[103.276912,33.129054],[103.276772,33.129168],[103.276655,33.129262],[103.276516,33.129317],[103.276228,33.129314],[103.276172,33.129314],[103.276036,33.129319],[103.275805,33.129327],[103.275461,33.129323],[103.275181,33.129351],[103.275145,33.129354],[103.275116,33.129357],[103.275029,33.129375],[103.27477,33.129429],[103.274563,33.129426],[103.274381,33.129385],[103.274314,33.129249],[103.274316,33.129128],[103.27432,33.128941],[103.274328,33.128855],[103.274335,33.128775],[103.27435,33.128613],[103.274367,33.128521],[103.274386,33.128411],[103.274402,33.128324],[103.274453,33.128036],[103.274467,33.127978],[103.274503,33.127823],[103.2746,33.127574],[103.274601,33.127517],[103.274533,33.127477],[103.274403,33.127476],[103.274312,33.127474],[103.274265,33.127486],[103.274093,33.127529],[103.274039,33.127542],[103.273874,33.127584],[103.27369,33.127601],[103.273552,33.127599],[103.273484,33.127598],[103.273361,33.127557],[103.273301,33.127537],[103.273168,33.127343],[103.273196,33.127015],[103.273203,33.126686],[103.273136,33.126477],[103.273116,33.126416],[103.272863,33.126412],[103.272539,33.126582],[103.272409,33.12671],[103.272375,33.126743],[103.272212,33.126905],[103.272058,33.127105],[103.271904,33.127305],[103.271741,33.127506],[103.271623,33.127649],[103.271506,33.127702],[103.271415,33.127743],[103.271277,33.12776],[103.270842,33.127696],[103.270617,33.127442],[103.270544,33.127281],[103.270515,33.127216],[103.27044,33.127054],[103.270337,33.126775],[103.270332,33.126762],[103.270284,33.126731],[103.270151,33.126644],[103.269897,33.126738],[103.269618,33.126927],[103.26936,33.127136],[103.269358,33.127137],[103.269356,33.127139],[103.269271,33.127194],[103.269151,33.127273],[103.269129,33.127287],[103.268921,33.127303],[103.26876,33.127282],[103.268534,33.127323],[103.268485,33.127332],[103.268308,33.127365],[103.268117,33.127401],[103.268081,33.127407],[103.268034,33.127416],[103.267855,33.127449],[103.267628,33.127491],[103.267402,33.127533],[103.267145,33.127593],[103.267089,33.127607],[103.266887,33.127654],[103.266842,33.127665],[103.266688,33.127701],[103.26663,33.127715],[103.266372,33.127776],[103.266114,33.127836],[103.265967,33.127871],[103.265893,33.127889],[103.265857,33.127897],[103.265834,33.127907],[103.265674,33.127975],[103.265614,33.128],[103.265371,33.128103],[103.265266,33.128181],[103.265116,33.128292],[103.264996,33.128483],[103.264992,33.128711],[103.264991,33.128734],[103.265001,33.128794],[103.265032,33.128985],[103.265043,33.129033],[103.265052,33.129074],[103.265096,33.129276],[103.265143,33.129516],[103.265166,33.129631],[103.265176,33.129684],[103.26519,33.129755],[103.265232,33.129967],[103.265182,33.130179],[103.264951,33.13033],[103.264697,33.130346],[103.264587,33.130345],[103.264506,33.130343],[103.264468,33.130343],[103.264283,33.130417],[103.264281,33.130514],[103.264321,33.130823],[103.264318,33.130946],[103.264317,33.131017],[103.264316,33.131054],[103.264289,33.131305],[103.264146,33.131534],[103.264043,33.131666],[103.264004,33.131716],[103.263981,33.131744],[103.263953,33.132014],[103.264016,33.132294],[103.26408,33.132575],[103.264213,33.132809],[103.264141,33.133001],[103.264094,33.133019],[103.264025,33.133018],[103.26366,33.132936],[103.263407,33.132952],[103.263154,33.132967],[103.262969,33.133023],[103.26283,33.133117],[103.262782,33.133232],[103.262821,33.133503],[103.262977,33.133795],[103.262984,33.133809],[103.263121,33.134067],[103.263265,33.134339],[103.263383,33.134732],[103.263393,33.134765],[103.263402,33.134819],[103.263455,33.135152],[103.263358,33.135382],[103.263243,33.135477],[103.26299,33.135493],[103.262932,33.135497],[103.262737,33.135509],[103.262484,33.135525],[103.262231,33.13554],[103.261978,33.135556],[103.261871,33.135563],[103.261726,33.135572],[103.261473,33.135587],[103.26114,33.135583],[103.260806,33.135579],[103.260629,33.135589],[103.260531,33.135594],[103.260365,33.135603],[103.260256,33.135609],[103.259956,33.135661],[103.25975,33.135732],[103.259713,33.135745],[103.25947,33.135829],[103.259283,33.136058],[103.259188,33.136231],[103.259172,33.136359],[103.259159,33.136463],[103.259213,33.136759],[103.259215,33.136769],[103.259283,33.137029],[103.259289,33.13705],[103.259363,33.137331],[103.259337,33.137562],[103.259265,33.137676],[103.259173,33.137713],[103.258943,33.137711],[103.258799,33.137684],[103.258714,33.137668],[103.258678,33.137665],[103.25837,33.137644],[103.25812,33.137674],[103.258073,33.137679],[103.257864,33.137753],[103.25777,33.137868],[103.257769,33.137929],[103.257761,33.138293],[103.257744,33.138502],[103.25773,33.138678],[103.257729,33.138758],[103.257726,33.138909],[103.257722,33.13914],[103.257651,33.139431],[103.257647,33.139449],[103.257489,33.139608],[103.257459,33.139639],[103.257136,33.139749],[103.256896,33.139803],[103.256895,33.139804],[103.256894,33.139804],[103.256824,33.13982],[103.256665,33.139855],[103.256653,33.139858],[103.256272,33.139921],[103.255892,33.139984],[103.255872,33.13999],[103.255521,33.140093],[103.255255,33.140175],[103.255221,33.140185],[103.255058,33.14032],[103.255003,33.140408],[103.254986,33.140434],[103.254984,33.140587],[103.254997,33.140678],[103.255025,33.140878],[103.255025,33.140879],[103.255025,33.14088],[103.255109,33.141168],[103.255171,33.141536],[103.255162,33.141979],[103.255091,33.142152],[103.255086,33.142169],[103.254969,33.142537],[103.254926,33.142593],[103.254837,33.142709],[103.254779,33.142785],[103.254777,33.142895],[103.254898,33.143119],[103.254922,33.143163],[103.254926,33.14317],[103.25501,33.143324],[103.25502,33.143342],[103.255174,33.143633],[103.255306,33.143886],[103.255322,33.144252],[103.255312,33.144352],[103.255295,33.144523],[103.255167,33.144795],[103.25515,33.144829],[103.255067,33.145093],[103.255028,33.145214],[103.255004,33.145288],[103.254973,33.145385],[103.254905,33.145597],[103.254821,33.145818],[103.254737,33.146039],[103.254593,33.146268],[103.25443,33.146421],[103.254316,33.146439],[103.254132,33.146435],[103.253927,33.146317],[103.253704,33.146044],[103.25367,33.145997],[103.253569,33.145859],[103.253528,33.145802],[103.253435,33.145674],[103.253425,33.145661],[103.253418,33.145653],[103.253289,33.145489],[103.253276,33.145472],[103.253158,33.145322],[103.253143,33.145303],[103.252957,33.145131],[103.252772,33.14496],[103.252658,33.144856],[103.252586,33.144789],[103.252563,33.144768],[103.2524,33.144617],[103.252289,33.144527],[103.252224,33.144475],[103.252049,33.144333],[103.251874,33.14419],[103.251699,33.144048],[103.251495,33.143939],[103.251291,33.143829],[103.251191,33.143835],[103.250991,33.143845],[103.250877,33.143862],[103.250778,33.144228],[103.25077,33.144594],[103.250796,33.144841],[103.250809,33.144961],[103.250873,33.145194],[103.250937,33.145426],[103.251003,33.145682],[103.251023,33.145756],[103.251016,33.146103],[103.251009,33.14645],[103.250798,33.146679],[103.250428,33.146828],[103.25015,33.146901],[103.249898,33.146878],[103.249647,33.146836],[103.249269,33.146715],[103.24911,33.146616],[103.248859,33.146555],[103.248608,33.146494],[103.248216,33.146585],[103.247983,33.146716],[103.247862,33.146985],[103.24786,33.147074],[103.247857,33.147224],[103.247856,33.147264],[103.24785,33.147543],[103.247779,33.147736],[103.24764,33.147792],[103.247319,33.147789],[103.247127,33.14774],[103.246908,33.147684],[103.246851,33.147673],[103.246725,33.147646],[103.246614,33.147623],[103.246519,33.147603],[103.246175,33.147617],[103.245888,33.14774],[103.245882,33.147743],[103.245827,33.147767],[103.245572,33.147936],[103.245293,33.148087],[103.245131,33.148143],[103.244993,33.148102],[103.244974,33.147947],[103.24498,33.147869],[103.244995,33.147701],[103.245003,33.147602],[103.245009,33.14733],[103.244994,33.147033],[103.244994,33.147024],[103.244992,33.147002],[103.244927,33.146828],[103.244723,33.146728],[103.244458,33.14674],[103.244402,33.146743],[103.244245,33.14678],[103.244171,33.146798],[103.244086,33.146889],[103.244029,33.14695],[103.243698,33.147213],[103.24347,33.147346],[103.243429,33.14736],[103.243124,33.147458],[103.243044,33.147471],[103.242686,33.147529],[103.242343,33.147505],[103.242068,33.147462],[103.241793,33.14742],[103.241718,33.147411],[103.241564,33.147393],[103.241515,33.147387],[103.241345,33.147367],[103.241335,33.147366],[103.241106,33.147338],[103.240877,33.147311],[103.240602,33.147269],[103.240473,33.147249],[103.240327,33.147226],[103.240278,33.147231],[103.239938,33.147259],[103.239589,33.147447],[103.239333,33.147617],[103.239207,33.147696],[103.239123,33.147749],[103.239022,33.147804],[103.238845,33.147899],[103.238614,33.147935],[103.238566,33.147939],[103.238481,33.147946],[103.238304,33.14796],[103.237995,33.147984],[103.237761,33.148008],[103.237527,33.148032],[103.237293,33.148056],[103.237059,33.148079],[103.236833,33.148148],[103.236608,33.148217],[103.236382,33.148286],[103.236157,33.148355],[103.235787,33.148472],[103.235736,33.148489],[103.235418,33.148589],[103.235048,33.148706],[103.234701,33.148843],[103.234354,33.148979],[103.234007,33.149116],[103.233599,33.149303],[103.233191,33.14949],[103.232783,33.149677],[103.232375,33.149864],[103.231968,33.150051],[103.231723,33.150128],[103.231479,33.150205],[103.231234,33.150282],[103.23099,33.150359],[103.230745,33.150436],[103.230501,33.150513],[103.230256,33.15059],[103.230012,33.150667],[103.229767,33.150744],[103.229523,33.150821],[103.229279,33.150898],[103.229034,33.150975],[103.228792,33.151042],[103.228682,33.151073],[103.228549,33.15111],[103.228539,33.151113],[103.228307,33.151178],[103.228064,33.151246],[103.227822,33.151314],[103.227579,33.151382],[103.227495,33.151406],[103.227337,33.15145],[103.227094,33.151518],[103.226852,33.151586],[103.22661,33.151654],[103.226533,33.151681],[103.226389,33.151733],[103.226168,33.151811],[103.225947,33.15189],[103.225726,33.151969],[103.225505,33.152047],[103.225284,33.152126],[103.225063,33.152205],[103.224842,33.152284],[103.224621,33.152362],[103.2244,33.152441],[103.224207,33.152507],[103.224169,33.15252],[103.223937,33.152598],[103.223821,33.152638],[103.223706,33.152677],[103.223475,33.152756],[103.223244,33.152835],[103.223013,33.152913],[103.222782,33.152992],[103.222551,33.153071],[103.222319,33.153149],[103.222088,33.153228],[103.221857,33.153307],[103.221626,33.153385],[103.221434,33.153451],[103.221395,33.153464],[103.221164,33.153543],[103.220932,33.153621],[103.220701,33.1537],[103.220463,33.153788],[103.220226,33.153875],[103.219988,33.153963],[103.21975,33.15405],[103.219512,33.154138],[103.219274,33.154226],[103.219036,33.154313],[103.218798,33.154401],[103.21856,33.154488],[103.218323,33.154576],[103.218085,33.154664],[103.217847,33.154751],[103.217609,33.154839],[103.217371,33.154926],[103.217117,33.155013],[103.216863,33.1551],[103.216609,33.155187],[103.216355,33.155274],[103.216101,33.155361],[103.215847,33.155448],[103.215593,33.155535],[103.215339,33.155622],[103.215085,33.155709],[103.214831,33.155796],[103.21478,33.155813],[103.214577,33.155883],[103.214323,33.155969],[103.214069,33.156048],[103.213815,33.156126],[103.21356,33.156205],[103.213306,33.156283],[103.212906,33.1564],[103.212505,33.156516],[103.212105,33.156633],[103.211889,33.156733],[103.211672,33.156833],[103.211456,33.156932],[103.211239,33.157032],[103.211023,33.157132],[103.210807,33.157232],[103.210436,33.15738],[103.210066,33.157528],[103.209672,33.157717],[103.209369,33.157906],[103.209229,33.158039],[103.208971,33.158331],[103.208712,33.158622],[103.208453,33.158914],[103.208265,33.159153],[103.208076,33.159391],[103.207845,33.159504],[103.207639,33.159483],[103.207388,33.159382],[103.207024,33.159202],[103.206706,33.159006],[103.206498,33.158905],[103.20629,33.158804],[103.206081,33.158703],[103.205873,33.158602],[103.205664,33.158501],[103.205456,33.158399],[103.205247,33.158298],[103.205039,33.158197],[103.204831,33.158096],[103.204622,33.157995],[103.204414,33.157894],[103.204205,33.157793],[103.203976,33.15769],[103.203747,33.157588],[103.203518,33.157485],[103.203289,33.157383],[103.20306,33.15728],[103.202831,33.157178],[103.202602,33.157075],[103.202373,33.156973],[103.202066,33.156834],[103.201758,33.156695],[103.201552,33.156671],[103.201207,33.156686],[103.200919,33.156778],[103.20063,33.15687],[103.200236,33.157019],[103.199959,33.157132],[103.199749,33.157264],[103.199539,33.157396],[103.199236,33.157674],[103.198932,33.157952],[103.198628,33.15823],[103.198435,33.158416],[103.198241,33.158602],[103.198048,33.158788],[103.197854,33.158974],[103.197726,33.15916],[103.197597,33.159347],[103.197469,33.159534],[103.19734,33.15972],[103.197212,33.159907],[103.197083,33.160094],[103.196955,33.16028],[103.196826,33.160467],[103.196697,33.160654],[103.196569,33.160841],[103.196435,33.161036],[103.196301,33.161232],[103.196166,33.161428],[103.196032,33.161624],[103.195898,33.16182],[103.195764,33.162016],[103.19563,33.162212],[103.195495,33.162408],[103.195361,33.162603],[103.195227,33.162799],[103.195093,33.162995],[103.194959,33.163191],[103.194805,33.163391],[103.194652,33.163592],[103.194418,33.163743],[103.194176,33.163846],[103.193933,33.163948],[103.193679,33.164012],[103.193425,33.164076],[103.193171,33.16414],[103.192917,33.164203],[103.192537,33.164304],[103.192156,33.164405],[103.191774,33.164553],[103.191391,33.164702],[103.191129,33.164785],[103.190868,33.164868],[103.190606,33.164951],[103.190344,33.165034],[103.190082,33.165117],[103.18982,33.1652],[103.189444,33.165333],[103.189068,33.165466],[103.188692,33.165598],[103.188664,33.165608],[103.188247,33.165766],[103.18783,33.165924],[103.187447,33.166122],[103.187064,33.166319],[103.186706,33.166553],[103.186347,33.166788],[103.186144,33.16692],[103.185919,33.167],[103.185693,33.167081],[103.185468,33.167161],[103.185242,33.167241],[103.185017,33.167321],[103.184791,33.167402],[103.184566,33.167482],[103.18434,33.167562],[103.184115,33.167643],[103.18389,33.167723],[103.183664,33.167803],[103.183439,33.167883],[103.183136,33.168032],[103.182811,33.168242],[103.182718,33.168317],[103.18262,33.168566],[103.182612,33.168952],[103.182605,33.169338],[103.18262,33.169666],[103.182643,33.170058],[103.182652,33.170215],[103.182658,33.170328],[103.182666,33.170451],[103.182688,33.170844],[103.182684,33.171076],[103.182683,33.171119],[103.18268,33.171249],[103.182672,33.171654],[103.182664,33.172059],[103.18266,33.172089],[103.182636,33.172289],[103.182608,33.172519],[103.18258,33.172749],[103.182552,33.172979],[103.182527,33.173065],[103.182484,33.173219],[103.182416,33.173459],[103.182348,33.173699],[103.18228,33.17394],[103.182206,33.174168],[103.182132,33.174397],[103.182059,33.174625],[103.181985,33.174854],[103.181912,33.175082],[103.18184,33.175305],[103.181838,33.175311],[103.181765,33.175539],[103.181691,33.175768],[103.181617,33.175996],[103.181597,33.17606],[103.181562,33.176168],[103.181544,33.176225],[103.181493,33.176452],[103.181442,33.17668],[103.181392,33.176907],[103.181341,33.177134],[103.18129,33.177362],[103.181239,33.177589],[103.181143,33.1778],[103.181046,33.17801],[103.18095,33.178221],[103.180854,33.178432],[103.180757,33.178642],[103.180661,33.178853],[103.180564,33.179063],[103.180468,33.179274],[103.180371,33.179485],[103.180275,33.179695],[103.180179,33.179906],[103.180082,33.180117],[103.180034,33.180334],[103.180033,33.180336],[103.180033,33.180338],[103.179987,33.180544],[103.179892,33.180972],[103.179797,33.181399],[103.179702,33.181827],[103.179645,33.182053],[103.179615,33.182175],[103.179589,33.182279],[103.179532,33.182505],[103.179476,33.182731],[103.179398,33.183173],[103.179392,33.183511],[103.179385,33.183849],[103.17933,33.184292],[103.17929,33.184542],[103.179251,33.184792],[103.179242,33.185236],[103.179282,33.185488],[103.179389,33.185874],[103.179565,33.186239],[103.17974,33.186604],[103.179837,33.186914],[103.179934,33.187224],[103.179926,33.18761],[103.179803,33.188032],[103.179611,33.188436],[103.179515,33.188652],[103.179419,33.188867],[103.179322,33.189083],[103.179226,33.189298],[103.179129,33.189514],[103.179033,33.189729],[103.178936,33.189945],[103.17884,33.19016],[103.178659,33.190523],[103.178478,33.190886],[103.178385,33.191315],[103.178292,33.191744],[103.178199,33.192173],[103.178147,33.192443],[103.178096,33.192712],[103.178086,33.193155],[103.178084,33.193573],[103.178082,33.193991],[103.178081,33.194409],[103.178083,33.194655],[103.178086,33.194901],[103.178088,33.195146],[103.178091,33.195392],[103.178093,33.195637],[103.178096,33.195883],[103.178098,33.196128],[103.178101,33.196374],[103.178103,33.19662],[103.178106,33.196865],[103.178108,33.197111],[103.178111,33.197356],[103.178071,33.1976],[103.178032,33.197844],[103.177992,33.198088],[103.177952,33.198332],[103.177913,33.198576],[103.177873,33.19882],[103.177822,33.199089],[103.177771,33.199358],[103.177685,33.199598],[103.177599,33.199838],[103.177513,33.200097],[103.177481,33.200193],[103.177427,33.200357],[103.177272,33.200673],[103.177116,33.200989],[103.176979,33.201214],[103.176843,33.201438],[103.176706,33.201663],[103.176569,33.201887],[103.176433,33.202112],[103.176296,33.202337],[103.176159,33.202561],[103.176155,33.202567],[103.176023,33.202786],[103.175884,33.203005],[103.175745,33.203224],[103.175606,33.203444],[103.175467,33.203663],[103.175328,33.203882],[103.175189,33.204102],[103.174969,33.20448],[103.174748,33.204857],[103.174528,33.205235],[103.174308,33.205613],[103.174164,33.20591],[103.17402,33.206207],[103.173965,33.206631],[103.173959,33.20692],[103.174021,33.20721],[103.174062,33.207451],[103.174103,33.207693],[103.174095,33.208074],[103.174087,33.208455],[103.174081,33.20875],[103.174075,33.209044],[103.174058,33.209324],[103.174041,33.209603],[103.174009,33.210027],[103.173977,33.210451],[103.173949,33.210682],[103.173921,33.210913],[103.173894,33.211144],[103.173866,33.211375],[103.173827,33.211615],[103.173788,33.211855],[103.173665,33.212163],[103.173487,33.212479],[103.173309,33.212795],[103.173235,33.213015],[103.173161,33.213235],[103.173061,33.21362],[103.173008,33.213976],[103.172975,33.21419],[103.172954,33.214332],[103.172919,33.21457],[103.172883,33.214807],[103.172848,33.215044],[103.172812,33.215282],[103.172777,33.215519],[103.172741,33.215756],[103.17271,33.215997],[103.172678,33.216238],[103.172646,33.216479],[103.172614,33.21672],[103.172582,33.216961],[103.17255,33.217201],[103.172511,33.217427],[103.172472,33.217653],[103.172433,33.217879],[103.172394,33.218105],[103.172354,33.218331],[103.172315,33.218557],[103.172276,33.218783],[103.172237,33.219008],[103.172172,33.219335],[103.172108,33.219662],[103.172031,33.220008],[103.172005,33.220139],[103.171981,33.220259],[103.17201,33.22051],[103.172039,33.220761],[103.172076,33.22099],[103.172114,33.221219],[103.172151,33.221448],[103.172189,33.221677],[103.172226,33.221906],[103.172263,33.222135],[103.172292,33.222386],[103.172322,33.222636],[103.172315,33.223003],[103.172283,33.223312],[103.172187,33.223638],[103.172123,33.223937],[103.17206,33.224235],[103.17199,33.224626],[103.17192,33.225017],[103.17185,33.225409],[103.171786,33.225736],[103.171723,33.226063],[103.171585,33.226412],[103.171447,33.226762],[103.17131,33.227112],[103.171248,33.227328],[103.171186,33.227544],[103.171124,33.22776],[103.171063,33.227977],[103.171044,33.228216],[103.171025,33.228454],[103.171006,33.228693],[103.170987,33.228932],[103.170969,33.229171],[103.17095,33.22941],[103.170931,33.229649],[103.170912,33.229888],[103.170893,33.230127],[103.170874,33.230366],[103.170834,33.230674],[103.170793,33.230983],[103.170694,33.23127],[103.170457,33.231635],[103.170315,33.231844],[103.170083,33.231974],[103.169683,33.232169],[103.169283,33.232364],[103.169072,33.232473],[103.168861,33.232582],[103.168808,33.232609],[103.168649,33.232691],[103.168441,33.232798],[103.168438,33.2328],[103.168226,33.232908],[103.168015,33.233017],[103.167804,33.233126],[103.167592,33.233235],[103.167381,33.233344],[103.167169,33.233452],[103.166962,33.233604],[103.166755,33.233755],[103.166549,33.233905],[103.166548,33.233906],[103.16634,33.234057],[103.166133,33.234208],[103.165926,33.234359],[103.165719,33.234511],[103.165512,33.234662],[103.165184,33.234933],[103.164857,33.235205],[103.16453,33.235477],[103.164352,33.235744],[103.164173,33.236011],[103.164077,33.236271],[103.16398,33.23653],[103.163833,33.236953],[103.163817,33.237184],[103.1638,33.237415],[103.163818,33.237722],[103.163835,33.238029],[103.163867,33.238286],[103.163899,33.238542],[103.163931,33.238798],[103.163963,33.239054],[103.163995,33.23931],[103.164027,33.239566],[103.164059,33.239822],[103.164091,33.240078],[103.164124,33.240326],[103.164157,33.240575],[103.16419,33.240823],[103.164224,33.241071],[103.164257,33.241319],[103.16429,33.241567],[103.164359,33.241809],[103.164429,33.242051],[103.164498,33.242293],[103.164568,33.242535],[103.164745,33.242866],[103.164922,33.243196],[103.165031,33.243507],[103.165045,33.243913],[103.165004,33.244259],[103.164962,33.244605],[103.164876,33.245033],[103.16479,33.245461],[103.164704,33.245889],[103.164676,33.24612],[103.164648,33.246351],[103.164639,33.246789],[103.16463,33.247226],[103.164622,33.247663],[103.164661,33.247915],[103.164795,33.248187],[103.164833,33.248534],[103.164826,33.248901],[103.164819,33.249267],[103.164742,33.249695],[103.164665,33.250122],[103.164661,33.250143],[103.164595,33.250396],[103.164529,33.250648],[103.164464,33.2509],[103.164398,33.251152],[103.164332,33.251405],[103.164266,33.251657],[103.164201,33.251909],[103.164135,33.252161],[103.164066,33.25243],[103.163997,33.252699],[103.163928,33.252968],[103.163859,33.253237],[103.163791,33.253506],[103.163722,33.253775],[103.163653,33.254044],[103.163584,33.254313],[103.163439,33.254678],[103.163293,33.255043],[103.163144,33.255241],[103.162995,33.255438],[103.162846,33.255636],[103.162697,33.255834],[103.162532,33.256027],[103.162368,33.256219],[103.162281,33.256321],[103.162203,33.256412],[103.162038,33.256604],[103.161873,33.256796],[103.161708,33.256989],[103.161543,33.257181],[103.161378,33.257374],[103.161214,33.257566],[103.161049,33.257758],[103.160865,33.257949],[103.16068,33.258139],[103.160496,33.25833],[103.160366,33.258464],[103.160312,33.25852],[103.160128,33.258711],[103.159944,33.258901],[103.15978,33.259032],[103.159665,33.25907],[103.159436,33.259047],[103.159184,33.258947],[103.158972,33.258805],[103.158889,33.25875],[103.158685,33.258621],[103.158481,33.258493],[103.158093,33.258313],[103.157886,33.25824],[103.157866,33.258233],[103.157498,33.258169],[103.157064,33.258125],[103.156754,33.25812],[103.156444,33.258116],[103.156144,33.25813],[103.155845,33.258145],[103.15558,33.258189],[103.155314,33.258234],[103.15508,33.258299],[103.154845,33.258365],[103.154698,33.258406],[103.154611,33.25843],[103.154376,33.258496],[103.154125,33.258538],[103.153873,33.258581],[103.153622,33.258623],[103.15337,33.258666],[103.153357,33.258668],[103.153156,33.258702],[103.153119,33.258708],[103.152867,33.25875],[103.152793,33.258763],[103.152727,33.258774],[103.152616,33.258793],[103.152443,33.258822],[103.152364,33.258835],[103.152113,33.258878],[103.151861,33.25892],[103.151434,33.259001],[103.151008,33.259081],[103.150581,33.259162],[103.150154,33.259243],[103.149923,33.259292],[103.149692,33.259342],[103.149461,33.259392],[103.14923,33.259441],[103.148907,33.259514],[103.148665,33.259539],[103.148626,33.259543],[103.148423,33.259564],[103.148181,33.259589],[103.147938,33.259615],[103.147752,33.259619],[103.147678,33.259621],[103.147418,33.259627],[103.147157,33.259633],[103.146897,33.259639],[103.146636,33.259645],[103.146376,33.259651],[103.146116,33.259657],[103.145855,33.259663],[103.145598,33.259655],[103.145341,33.259648],[103.145084,33.25964],[103.144827,33.259633],[103.14457,33.259626],[103.144313,33.259618],[103.144056,33.259611],[103.143799,33.259603],[103.143542,33.259596],[103.143285,33.259588],[103.143028,33.259581],[103.142771,33.259573],[103.142514,33.259566],[103.142257,33.259559],[103.141999,33.259551],[103.141742,33.259544],[103.141497,33.259543],[103.141252,33.259543],[103.141007,33.259542],[103.140762,33.259542],[103.140517,33.259541],[103.140272,33.259541],[103.140027,33.259541],[103.139781,33.25954],[103.139536,33.25954],[103.139291,33.259539],[103.139046,33.259539],[103.138801,33.259538],[103.138551,33.259533],[103.138302,33.259529],[103.138053,33.259524],[103.137803,33.259519],[103.137554,33.259514],[103.137304,33.259509],[103.137061,33.259504],[103.137055,33.259504],[103.136805,33.2595],[103.136556,33.259495],[103.136433,33.259492],[103.136306,33.25949],[103.136052,33.259463],[103.135797,33.259437],[103.135542,33.25941],[103.135287,33.259383],[103.135032,33.259357],[103.134778,33.25933],[103.134523,33.259303],[103.134405,33.259291],[103.134268,33.259277],[103.134013,33.25925],[103.133759,33.259224],[103.13352,33.259218],[103.133282,33.259213],[103.133044,33.259207],[103.132806,33.259202],[103.132567,33.259196],[103.132329,33.259191],[103.132091,33.259185],[103.131853,33.25918],[103.131776,33.259178],[103.131615,33.259174],[103.131376,33.259169],[103.131138,33.259163],[103.1309,33.259158],[103.130662,33.259152],[103.130423,33.259147],[103.130275,33.259149],[103.130017,33.259154],[103.12961,33.25916],[103.129346,33.259176],[103.129148,33.259188],[103.129082,33.259192],[103.12899,33.25921],[103.128849,33.259236],[103.128617,33.259279],[103.128359,33.25935],[103.128224,33.259388],[103.127831,33.259496],[103.127475,33.259602],[103.127447,33.25961],[103.127362,33.259636],[103.127118,33.259708],[103.126926,33.259766],[103.126762,33.259815],[103.126477,33.259898],[103.126193,33.259982],[103.125954,33.260052],[103.125716,33.260122],[103.125477,33.260192],[103.125239,33.260262],[103.125,33.260332],[103.124762,33.260402],[103.124667,33.26043],[103.124523,33.260472],[103.124285,33.260542],[103.124046,33.260612],[103.123808,33.260682],[103.12357,33.260752],[103.123331,33.260822],[103.122898,33.260922],[103.122465,33.261023],[103.122032,33.261123],[103.121688,33.261203],[103.121599,33.261224],[103.121206,33.261285],[103.120814,33.261346],[103.120367,33.261353],[103.120314,33.261352],[103.120314,33.261352],[103.120136,33.261349],[103.119905,33.261346],[103.119846,33.261341],[103.119489,33.261313],[103.119124,33.261281],[103.11871,33.261207],[103.118297,33.261133],[103.118267,33.261128],[103.117899,33.26106],[103.117657,33.26098],[103.117415,33.260899],[103.117174,33.260819],[103.116932,33.260738],[103.116563,33.260576],[103.116463,33.260532],[103.116291,33.260457],[103.116194,33.260415],[103.115826,33.260253],[103.115508,33.260141],[103.115191,33.260029],[103.11492,33.259998],[103.114649,33.259967],[103.114285,33.259948],[103.114246,33.259955],[103.113981,33.260003],[103.113879,33.260022],[103.113676,33.260059],[103.113339,33.260134],[103.113044,33.260162],[103.112748,33.260191],[103.112349,33.260185],[103.111976,33.26018],[103.11195,33.26018],[103.111715,33.260166],[103.111479,33.260153],[103.111244,33.260139],[103.111009,33.260126],[103.110782,33.260079],[103.110556,33.260032],[103.110329,33.259984],[103.110103,33.259937],[103.109732,33.259874],[103.109361,33.25981],[103.10899,33.259746],[103.108748,33.259692],[103.108506,33.259638],[103.108263,33.259584],[103.108021,33.25953],[103.107792,33.259467],[103.107563,33.259404],[103.107333,33.25934],[103.107104,33.259277],[103.106874,33.259214],[103.106645,33.25915],[103.106416,33.259087],[103.106186,33.259024],[103.105946,33.258961],[103.105706,33.258899],[103.105466,33.258837],[103.105225,33.258774],[103.104985,33.258712],[103.104745,33.25865],[103.104505,33.258587],[103.104265,33.258525],[103.104047,33.258462],[103.103829,33.258398],[103.103611,33.258334],[103.103393,33.258271],[103.103172,33.258195],[103.103161,33.258191],[103.103086,33.258166],[103.103074,33.258161],[103.103045,33.258151],[103.102943,33.258117],[103.10288,33.258095],[103.102696,33.258032],[103.102418,33.257934],[103.102141,33.257836],[103.101726,33.257685],[103.101312,33.257535],[103.100898,33.257384],[103.100494,33.25722],[103.100091,33.257056],[103.099688,33.256892],[103.099284,33.256728],[103.098871,33.256628],[103.098459,33.256529],[103.098046,33.256429],[103.097633,33.256329],[103.09737,33.256289],[103.097106,33.25625],[103.096787,33.256219],[103.096488,33.256259],[103.096268,33.256288],[103.096188,33.256298],[103.09613,33.256316],[103.096116,33.256321],[103.096084,33.256348],[103.096083,33.256266],[103.096067,33.256109],[103.095962,33.25579],[103.095859,33.255611],[103.095668,33.255422],[103.095583,33.255369],[103.095397,33.255293],[103.095352,33.255273],[103.095227,33.25524],[103.095123,33.255228],[103.095045,33.255226],[103.094972,33.255226],[103.094871,33.255247],[103.094766,33.255283],[103.09468,33.255315],[103.094616,33.255352],[103.0946,33.255361],[103.094524,33.255409],[103.09443,33.255476],[103.094362,33.255544],[103.094187,33.255693],[103.094098,33.255785],[103.094051,33.25584],[103.09397,33.255932],[103.093769,33.255827],[103.093842,33.255707],[103.093804,33.255707],[103.09378,33.255712],[103.093745,33.255719],[103.093717,33.255731],[103.093655,33.255764],[103.093575,33.255705],[103.093252,33.255466],[103.093182,33.255414],[103.092823,33.255148],[103.092666,33.254847],[103.092564,33.254652],[103.092421,33.254379],[103.092367,33.254264],[103.092359,33.254247],[103.092194,33.253895],[103.091881,33.253429],[103.091277,33.252985],[103.091204,33.252875],[103.091151,33.252795],[103.091058,33.252656],[103.091077,33.251787],[103.09112,33.251642],[103.091286,33.251084],[103.091336,33.25027],[103.091229,33.249624],[103.091106,33.249389],[103.090949,33.24909],[103.090882,33.24904],[103.090861,33.249024],[103.090608,33.248838],[103.090575,33.248813],[103.090329,33.248632],[103.089895,33.248544],[103.089704,33.248606],[103.089398,33.248706],[103.089358,33.248719],[103.089247,33.248829],[103.08883,33.249243],[103.088817,33.249256],[103.088816,33.249256],[103.088729,33.249343],[103.088728,33.249343],[103.088721,33.24935],[103.08859,33.249481],[103.088346,33.249678],[103.088269,33.249741],[103.088002,33.249757],[103.087786,33.249652],[103.087784,33.249646],[103.087783,33.249642],[103.087711,33.249408],[103.08767,33.249402],[103.087635,33.249395],[103.087608,33.24938],[103.087603,33.249357],[103.087619,33.249334],[103.087682,33.249314],[103.087673,33.249284],[103.087685,33.248725],[103.087685,33.248704],[103.087686,33.248673],[103.087619,33.248493],[103.087594,33.248427],[103.08738,33.248455],[103.087366,33.248406],[103.087344,33.248379],[103.087309,33.248372],[103.087267,33.248361],[103.087235,33.248413],[103.087184,33.248481],[103.087035,33.2485],[103.086823,33.24852],[103.086523,33.248548],[103.086477,33.248552],[103.086387,33.248554],[103.086052,33.248559],[103.085822,33.248563],[103.085645,33.248507],[103.085003,33.248306],[103.084261,33.247887],[103.084235,33.247868],[103.084217,33.247855],[103.083928,33.247652],[103.08376,33.247533],[103.083719,33.247186],[103.08395,33.246864],[103.084142,33.246792],[103.0845,33.246658],[103.084995,33.246483],[103.085379,33.246351],[103.085801,33.246174],[103.085975,33.246138],[103.086052,33.246147],[103.086194,33.24617],[103.0863,33.246182],[103.086428,33.246182],[103.086539,33.246182],[103.086683,33.246157],[103.086814,33.246122],[103.086943,33.246081],[103.087027,33.246056],[103.087076,33.246056],[103.087303,33.245946],[103.087356,33.245968],[103.087372,33.245959],[103.087416,33.245933],[103.087463,33.245911],[103.0875,33.245888],[103.087561,33.245853],[103.087593,33.24584],[103.087614,33.245824],[103.087607,33.245798],[103.087788,33.24571],[103.087851,33.245679],[103.08805,33.245582],[103.08834,33.245273],[103.088306,33.245224],[103.088296,33.245173],[103.088294,33.245131],[103.088296,33.24512],[103.088307,33.245079],[103.08834,33.245031],[103.088365,33.24502],[103.088406,33.245035],[103.088445,33.245086],[103.08848,33.245123],[103.088527,33.245073],[103.088561,33.245036],[103.088572,33.245025],[103.088878,33.244814],[103.08932,33.244508],[103.089328,33.244502],[103.089341,33.2445],[103.08942,33.244487],[103.08973,33.244436],[103.08974,33.244463],[103.089752,33.24448],[103.089776,33.244494],[103.089812,33.244501],[103.089852,33.2445],[103.089894,33.244499],[103.089934,33.244497],[103.089965,33.244502],[103.089991,33.244511],[103.090046,33.244537],[103.090102,33.244548],[103.090176,33.244558],[103.09025,33.244564],[103.090299,33.244561],[103.09038,33.244557],[103.090472,33.244538],[103.09053,33.244517],[103.090563,33.244491],[103.090583,33.244461],[103.0906,33.24443],[103.090912,33.244451],[103.090967,33.244466],[103.091544,33.244628],[103.091934,33.244669],[103.092233,33.2447],[103.092251,33.244694],[103.092437,33.244641],[103.092837,33.244526],[103.093037,33.244345],[103.093321,33.24409],[103.093523,33.24391],[103.093569,33.243437],[103.093453,33.242923],[103.093421,33.242783],[103.09342,33.242778],[103.093305,33.242533],[103.093301,33.242525],[103.093072,33.242039],[103.092683,33.241544],[103.092386,33.241005],[103.092327,33.240806],[103.092307,33.24074],[103.092267,33.240606],[103.092473,33.24035],[103.092486,33.240345],[103.092525,33.240332],[103.092608,33.240354],[103.092764,33.240367],[103.092893,33.240343],[103.093065,33.240286],[103.093182,33.240235],[103.093203,33.24022],[103.093265,33.240223],[103.093711,33.240246],[103.094458,33.240168],[103.094604,33.240153],[103.09465,33.240131],[103.094674,33.240119],[103.095431,33.239753],[103.095508,33.23975],[103.095525,33.239749],[103.095589,33.239747],[103.095763,33.239739],[103.095795,33.239738],[103.095986,33.239892],[103.096064,33.239941],[103.096112,33.239932],[103.096243,33.240104],[103.096892,33.24112],[103.097318,33.241479],[103.097325,33.241485],[103.097327,33.241487],[103.097363,33.241517],[103.097427,33.241571],[103.097685,33.241568],[103.097955,33.241564],[103.098125,33.241276],[103.097887,33.240527],[103.097885,33.240519],[103.097852,33.240417],[103.097794,33.240092],[103.097739,33.239789],[103.097771,33.239638],[103.097791,33.239548],[103.09788,33.239134],[103.098144,33.238772],[103.098255,33.23862],[103.098347,33.238579],[103.098348,33.238579],[103.098535,33.238496],[103.098599,33.238467],[103.098623,33.238457],[103.098626,33.238444],[103.098694,33.238166],[103.09873,33.238018],[103.099339,33.237771],[103.099892,33.237211],[103.100003,33.237054],[103.100005,33.236738],[103.099791,33.236551],[103.099157,33.236404],[103.09891,33.236552],[103.098702,33.236676],[103.098607,33.236733],[103.09831,33.23691],[103.098183,33.237006],[103.09764,33.237417],[103.09754,33.237492],[103.097479,33.237539],[103.09722,33.237749],[103.097192,33.237772],[103.097072,33.237869],[103.096977,33.237861],[103.096928,33.237856],[103.096885,33.237802],[103.096791,33.237769],[103.096656,33.23776],[103.096569,33.23777],[103.096439,33.237676],[103.09642,33.23759],[103.096373,33.237385],[103.096541,33.237126],[103.096548,33.237115],[103.09658,33.237067],[103.096642,33.23702],[103.097153,33.236633],[103.097415,33.236286],[103.097298,33.236126],[103.097256,33.236069],[103.097226,33.236057],[103.096823,33.235886],[103.09677,33.235863],[103.09656,33.235827],[103.09651,33.235776],[103.096461,33.235733],[103.096329,33.235652],[103.096252,33.235624],[103.096155,33.235592],[103.096051,33.235563],[103.095987,33.235544],[103.095945,33.235528],[103.095926,33.235521],[103.095876,33.235499],[103.095816,33.235462],[103.095766,33.235437],[103.095684,33.235412],[103.095648,33.235405],[103.095601,33.235402],[103.095446,33.235188],[103.095433,33.235172],[103.095263,33.234939],[103.095281,33.234628],[103.095291,33.234466],[103.095314,33.234396],[103.095288,33.234339],[103.095307,33.234211],[103.095327,33.234115],[103.095369,33.233996],[103.095392,33.233918],[103.095427,33.233831],[103.095446,33.233682],[103.095547,33.233553],[103.095505,33.233459],[103.095344,33.233096],[103.095287,33.232969],[103.094936,33.232413],[103.094911,33.231893],[103.095046,33.231529],[103.095121,33.231468],[103.095188,33.231414],[103.09527,33.231347],[103.095388,33.231375],[103.095468,33.231383],[103.09555,33.231379],[103.095626,33.23137],[103.095737,33.231346],[103.095799,33.231303],[103.095845,33.231263],[103.096214,33.231302],[103.096359,33.231365],[103.09642,33.231365],[103.096522,33.231383],[103.09662,33.231412],[103.096787,33.231478],[103.09715,33.231639],[103.097265,33.231699],[103.097318,33.23174],[103.097324,33.231742],[103.097881,33.231868],[103.0979,33.231872],[103.097934,33.231907],[103.098016,33.231963],[103.098153,33.232022],[103.09829,33.232067],[103.098442,33.232104],[103.098594,33.232107],[103.098728,33.232107],[103.098755,33.232122],[103.098956,33.232232],[103.099155,33.23234],[103.099344,33.232369],[103.099787,33.232437],[103.099925,33.232418],[103.100119,33.232345],[103.100277,33.232264],[103.100442,33.232165],[103.100545,33.232049],[103.100632,33.23193],[103.10069,33.231778],[103.100749,33.231626],[103.100771,33.231443],[103.100749,33.231288],[103.10072,33.231157],[103.100718,33.231151],[103.100688,33.231119],[103.100689,33.231104],[103.100689,33.231081],[103.100684,33.231063],[103.100655,33.230996],[103.100614,33.230895],[103.100579,33.230837],[103.100568,33.230821],[103.100528,33.230765],[103.100463,33.230692],[103.100409,33.230632],[103.100366,33.230599],[103.100326,33.230579],[103.100289,33.230561],[103.100202,33.23052],[103.100121,33.230493],[103.100051,33.230478],[103.099744,33.230109],[103.099552,33.229709],[103.099325,33.22928],[103.099287,33.229126],[103.099295,33.228928],[103.099287,33.228849],[103.099292,33.228707],[103.099295,33.228594],[103.098932,33.22835],[103.098532,33.228213],[103.098486,33.228197],[103.098138,33.228078],[103.098091,33.228076],[103.098058,33.228058],[103.098002,33.228044],[103.097926,33.228043],[103.097831,33.228048],[103.097757,33.228052],[103.097723,33.228063],[103.097421,33.228052],[103.097357,33.228118],[103.097287,33.228165],[103.097209,33.228193],[103.097134,33.2282],[103.097034,33.228201],[103.096794,33.228165],[103.096658,33.228128],[103.096628,33.228131],[103.096444,33.228134],[103.096436,33.228135],[103.096376,33.228103],[103.096223,33.228053],[103.096131,33.228036],[103.096073,33.228025],[103.095927,33.228014],[103.095804,33.228019],[103.095724,33.228028],[103.095649,33.228009],[103.095272,33.22782],[103.095262,33.22781],[103.095094,33.227619],[103.095555,33.22732],[103.095665,33.227304],[103.095695,33.2273],[103.095741,33.227323],[103.095831,33.227359],[103.095937,33.227377],[103.096029,33.227385],[103.096149,33.227384],[103.096229,33.227373],[103.096347,33.227339],[103.096425,33.2273],[103.096527,33.227243],[103.096586,33.227188],[103.096622,33.227148],[103.096666,33.227085],[103.096704,33.226972],[103.096784,33.226809],[103.09683,33.226647],[103.096919,33.226408],[103.096745,33.226101],[103.09669,33.226065],[103.096709,33.226027],[103.096725,33.225978],[103.096735,33.225903],[103.096734,33.225832],[103.096719,33.225773],[103.096691,33.225713],[103.096667,33.225676],[103.096638,33.225651],[103.0966,33.225634],[103.096537,33.225627],[103.096491,33.225626],[103.096384,33.22567],[103.096334,33.225706],[103.096315,33.225718],[103.096297,33.22573],[103.096264,33.225744],[103.096224,33.225756],[103.095934,33.225483],[103.095913,33.225464],[103.09578,33.225338],[103.095644,33.225207],[103.095442,33.225012],[103.095378,33.224614],[103.09537,33.224363],[103.095369,33.224345],[103.09542,33.224401],[103.095476,33.224429],[103.095539,33.224448],[103.095604,33.224454],[103.09572,33.224456],[103.095818,33.22444],[103.095875,33.224422],[103.095932,33.224394],[103.09594,33.224397],[103.096048,33.224451],[103.09609,33.224472],[103.096477,33.224672],[103.096538,33.22466],[103.096581,33.22463],[103.096611,33.224584],[103.096632,33.224553],[103.096663,33.224547],[103.096716,33.224561],[103.09679,33.224609],[103.096851,33.224655],[103.096861,33.224691],[103.096861,33.224728],[103.096842,33.224777],[103.096991,33.224807],[103.09712,33.224732],[103.097104,33.224577],[103.097097,33.224505],[103.09709,33.224442],[103.096969,33.22413],[103.096935,33.224042],[103.096815,33.223719],[103.0971,33.223158],[103.097457,33.222587],[103.097471,33.222561],[103.097342,33.221965],[103.097163,33.221866],[103.097175,33.221786],[103.09716,33.221682],[103.097135,33.221597],[103.097086,33.221531],[103.097043,33.221491],[103.096986,33.221467],[103.096929,33.221462],[103.09672,33.221477],[103.096561,33.221496],[103.096425,33.22151],[103.096285,33.221519],[103.096141,33.221538],[103.095763,33.221463],[103.094547,33.22123],[103.093765,33.221058],[103.093642,33.221031],[103.093632,33.22102],[103.093591,33.220984],[103.093548,33.220946],[103.093483,33.220904],[103.093251,33.220765],[103.093155,33.220711],[103.093087,33.220684],[103.093031,33.220665],[103.092978,33.220654],[103.092932,33.220641],[103.092636,33.220322],[103.09257,33.220251],[103.092511,33.220188],[103.092495,33.220173],[103.09249,33.219883],[103.092484,33.219656],[103.092484,33.219643],[103.092482,33.219551],[103.092929,33.219031],[103.092939,33.219019],[103.09321,33.218703],[103.093205,33.218526],[103.093201,33.218384],[103.093214,33.218354],[103.093224,33.218296],[103.093224,33.218229],[103.093223,33.218182],[103.093206,33.218121],[103.093176,33.218056],[103.093082,33.217944],[103.092979,33.217875],[103.092896,33.217811],[103.0928,33.21776],[103.092743,33.217743],[103.092713,33.217735],[103.092636,33.217668],[103.092437,33.217502],[103.092421,33.217488],[103.09238,33.217454],[103.091967,33.217109],[103.091862,33.216351],[103.091844,33.216224],[103.091756,33.215721],[103.091606,33.215711],[103.091622,33.215637],[103.091658,33.215388],[103.091641,33.215074],[103.091568,33.214682],[103.091566,33.214668],[103.091067,33.214685],[103.091044,33.214685],[103.090846,33.214692],[103.090105,33.214456],[103.090102,33.214434],[103.090071,33.214221],[103.090069,33.214208],[103.090059,33.214143],[103.090215,33.213892],[103.090501,33.213433],[103.090518,33.213398],[103.090723,33.212989],[103.090615,33.212914],[103.09061,33.21291],[103.090461,33.212806],[103.090418,33.212822],[103.089959,33.212995],[103.089609,33.213127],[103.089597,33.213132],[103.089548,33.21315],[103.08933,33.213327],[103.089287,33.213362],[103.089281,33.213397],[103.089207,33.213476],[103.089024,33.213628],[103.088898,33.213677],[103.088854,33.213688],[103.088595,33.213749],[103.088578,33.213753],[103.088473,33.213777],[103.088362,33.213803],[103.088319,33.213355],[103.088435,33.212909],[103.088515,33.212841],[103.088538,33.212821],[103.088552,33.212809],[103.088567,33.212796],[103.088595,33.212772],[103.089001,33.212424],[103.089357,33.212118],[103.089793,33.211677],[103.089768,33.211352],[103.089752,33.211139],[103.08963,33.211104],[103.089515,33.21107],[103.089505,33.211067],[103.08945,33.211051],[103.089103,33.21095],[103.0888,33.211058],[103.088718,33.211004],[103.088654,33.210987],[103.088594,33.210987],[103.088509,33.211018],[103.088428,33.211072],[103.088358,33.211118],[103.088284,33.211175],[103.088214,33.211253],[103.088166,33.211322],[103.088134,33.211368],[103.087483,33.211797],[103.087409,33.211845],[103.087138,33.212024],[103.087082,33.21206],[103.086974,33.212107],[103.086918,33.212132],[103.086863,33.212205],[103.086809,33.212274],[103.086749,33.21234],[103.086675,33.212388],[103.086579,33.212419],[103.086487,33.212438],[103.086416,33.212429],[103.08628,33.212369],[103.086132,33.212289],[103.086012,33.212196],[103.085956,33.212135],[103.085904,33.21204],[103.085868,33.211953],[103.085862,33.21189],[103.085868,33.211806],[103.085892,33.211741],[103.085923,33.211687],[103.085928,33.211682],[103.085894,33.211606],[103.085838,33.211467],[103.085768,33.21129],[103.085705,33.211133],[103.085233,33.21079],[103.084809,33.211178],[103.084655,33.211319],[103.084646,33.211327],[103.084296,33.211648],[103.084106,33.211842],[103.08384,33.212116],[103.08364,33.212147],[103.083309,33.212205],[103.082946,33.212355],[103.082484,33.212292],[103.082311,33.212262],[103.082211,33.21222],[103.082156,33.212156],[103.082149,33.212129],[103.082133,33.212066],[103.082129,33.211944],[103.082143,33.211857],[103.082168,33.211786],[103.082181,33.211758],[103.082177,33.21175],[103.082421,33.211445],[103.082548,33.211232],[103.082618,33.210733],[103.082694,33.210516],[103.082724,33.210421],[103.082793,33.210313],[103.082863,33.210232],[103.082996,33.210085],[103.083094,33.209968],[103.083195,33.209848],[103.083301,33.209763],[103.083403,33.209732],[103.08346,33.209738],[103.083535,33.209788],[103.083589,33.209832],[103.083671,33.209884],[103.083821,33.209821],[103.083986,33.209752],[103.084099,33.209766],[103.084202,33.209769],[103.084253,33.209761],[103.084287,33.209739],[103.084356,33.209695],[103.0845,33.209603],[103.084466,33.209557],[103.084403,33.209471],[103.084455,33.209414],[103.084512,33.209245],[103.084538,33.209077],[103.084523,33.208973],[103.084457,33.208862],[103.084357,33.20886],[103.084195,33.208844],[103.084071,33.208828],[103.083913,33.208796],[103.0838,33.208759],[103.083783,33.208807],[103.083445,33.208513],[103.083185,33.20825],[103.082703,33.207763],[103.082431,33.207171],[103.082283,33.20685],[103.082276,33.206795],[103.082209,33.20634],[103.082023,33.205058],[103.082133,33.204598],[103.082598,33.204817],[103.082716,33.2049],[103.083043,33.20513],[103.083251,33.205276],[103.083355,33.205349],[103.083512,33.205459],[103.083541,33.20545],[103.083534,33.205638],[103.083577,33.205667],[103.083681,33.205639],[103.083937,33.2055],[103.08418,33.20523],[103.084369,33.205068],[103.084458,33.204939],[103.084434,33.204851],[103.084471,33.20473],[103.084496,33.204653],[103.084546,33.204601],[103.084662,33.204581],[103.084751,33.204513],[103.08475,33.204377],[103.084741,33.204302],[103.084768,33.204206],[103.084809,33.204158],[103.084919,33.204119],[103.08492,33.204071],[103.084748,33.203715],[103.084665,33.203739],[103.084467,33.203797],[103.08441,33.203814],[103.084268,33.203856],[103.084175,33.203883],[103.084149,33.203898],[103.083508,33.204275],[103.083178,33.20427],[103.083152,33.204185],[103.083046,33.203846],[103.082942,33.20351],[103.082759,33.203546],[103.082527,33.203537],[103.082453,33.203514],[103.082379,33.203491],[103.082263,33.203352],[103.082164,33.203194],[103.082119,33.203097],[103.082112,33.203],[103.082111,33.202899],[103.082113,33.202857],[103.082116,33.202755],[103.082127,33.202666],[103.082153,33.202553],[103.0822,33.202403],[103.082246,33.202247],[103.082285,33.202088],[103.082302,33.201969],[103.082301,33.201884],[103.082276,33.20179],[103.082184,33.201616],[103.082138,33.201509],[103.082133,33.201491],[103.082113,33.201417],[103.082114,33.201326],[103.082127,33.201252],[103.082164,33.201173],[103.082175,33.20115],[103.08222,33.201098],[103.082332,33.201038],[103.082386,33.201009],[103.082419,33.200969],[103.082445,33.200929],[103.082465,33.200898],[103.082499,33.200811],[103.082583,33.200607],[103.082688,33.200272],[103.082741,33.20011],[103.082788,33.200041],[103.082862,33.199997],[103.082892,33.199956],[103.082907,33.199878],[103.082924,33.199781],[103.083003,33.199518],[103.083005,33.199443],[103.083008,33.199311],[103.083035,33.199121],[103.083042,33.198998],[103.083059,33.198872],[103.083084,33.198775],[103.08312,33.198664],[103.083157,33.198507],[103.083177,33.198456],[103.083068,33.198351],[103.082963,33.198341],[103.082971,33.198278],[103.082961,33.19822],[103.082945,33.19817],[103.082921,33.198124],[103.082865,33.19809],[103.082786,33.198074],[103.082699,33.198079],[103.082697,33.198082],[103.08262,33.198143],[103.082555,33.198217],[103.082489,33.198296],[103.08244,33.198291],[103.082099,33.198428],[103.081888,33.198513],[103.081715,33.198582],[103.081234,33.198676],[103.081144,33.198634],[103.081137,33.19863],[103.080895,33.198517],[103.080789,33.198467],[103.080688,33.19829],[103.080676,33.198268],[103.080587,33.198112],[103.080539,33.197582],[103.080742,33.197243],[103.080943,33.196909],[103.081085,33.196772],[103.081124,33.196732],[103.08127,33.196648],[103.081251,33.196628],[103.081241,33.1966],[103.081331,33.196609],[103.081491,33.196606],[103.081622,33.196605],[103.081785,33.196592],[103.081945,33.196573],[103.082137,33.196549],[103.08222,33.196539],[103.082357,33.196523],[103.082365,33.196522],[103.082591,33.196513],[103.082739,33.196522],[103.0831,33.196536],[103.083266,33.196556],[103.083383,33.196555],[103.083446,33.196549],[103.083663,33.196439],[103.083729,33.196406],[103.083859,33.196239],[103.083887,33.196067],[103.083875,33.195878],[103.083847,33.195835],[103.083755,33.195693],[103.083651,33.195652],[103.083626,33.195557],[103.083614,33.195485],[103.083584,33.19541],[103.083544,33.195327],[103.083501,33.195271],[103.083421,33.195206],[103.083358,33.195175],[103.08331,33.195161],[103.083254,33.195153],[103.083191,33.195164],[103.083142,33.195189],[103.083133,33.195194],[103.083076,33.195224],[103.082981,33.19525],[103.082857,33.195266],[103.082723,33.195284],[103.082217,33.195077],[103.082174,33.19506],[103.082122,33.195038],[103.08197,33.194802],[103.081953,33.194776],[103.081745,33.194453],[103.081883,33.19365],[103.082907,33.192671],[103.083553,33.19224],[103.083448,33.191924],[103.083076,33.191792],[103.083019,33.1918],[103.082976,33.191806],[103.082902,33.191816],[103.082716,33.191841],[103.082695,33.191768],[103.082677,33.191719],[103.082653,33.191658],[103.08263,33.191599],[103.082596,33.191542],[103.082555,33.191513],[103.082516,33.191495],[103.082488,33.191492],[103.082451,33.191505],[103.082398,33.191543],[103.082392,33.191547],[103.082329,33.19159],[103.082112,33.191757],[103.082066,33.19181],[103.081958,33.191902],[103.081899,33.191938],[103.081886,33.191938],[103.081721,33.191943],[103.081351,33.191955],[103.080867,33.191821],[103.08084,33.191756],[103.080836,33.191745],[103.080823,33.191713],[103.080751,33.191537],[103.080745,33.191523],[103.080725,33.191473],[103.080742,33.191309],[103.080772,33.191033],[103.081422,33.190414],[103.081577,33.190154],[103.081888,33.189634],[103.081952,33.189281],[103.081956,33.189255],[103.082014,33.188936],[103.082058,33.188692],[103.082092,33.188588],[103.082203,33.188242],[103.082383,33.187679],[103.082395,33.187642],[103.08246,33.187439],[103.082559,33.187315],[103.082806,33.187004],[103.083301,33.186533],[103.084335,33.185548],[103.084533,33.185342],[103.084871,33.18499],[103.085001,33.184174],[103.08506,33.183867],[103.08515,33.183397],[103.08519,33.183189],[103.085192,33.183183],[103.08527,33.183026],[103.085324,33.182877],[103.085289,33.182678],[103.085297,33.182636],[103.085202,33.181848],[103.085211,33.181768],[103.085214,33.181739],[103.085248,33.181439],[103.08563,33.181099],[103.086823,33.180677],[103.087252,33.180526],[103.087304,33.180507],[103.087594,33.180405],[103.087701,33.180367],[103.088874,33.179953],[103.090478,33.179431],[103.090721,33.179352],[103.091267,33.179046],[103.092198,33.178525],[103.092959,33.17797],[103.093047,33.17776],[103.093354,33.177032],[103.093441,33.175994],[103.093454,33.175837],[103.093422,33.175514],[103.093373,33.175038],[103.093362,33.174923],[103.093372,33.174438],[103.093379,33.174136],[103.093383,33.173386],[103.093385,33.172831],[103.093389,33.172164],[103.09339,33.171902],[103.09339,33.171894],[103.093337,33.170894],[103.093294,33.170724],[103.093096,33.169946],[103.092237,33.168139],[103.09211,33.167067],[103.092069,33.166813],[103.092005,33.166424],[103.091888,33.166253],[103.091808,33.166057],[103.091714,33.165909],[103.09152,33.165732],[103.091433,33.165645],[103.091443,33.165639],[103.091591,33.165584],[103.09182,33.1656],[103.091888,33.165537],[103.091883,33.165497],[103.091772,33.164486],[103.091756,33.164341],[103.091701,33.163844],[103.09157,33.162652],[103.09159,33.161708],[103.091754,33.161517],[103.09225,33.160935],[103.092612,33.160511],[103.09305,33.159999],[103.093483,33.159257],[103.093633,33.159001],[103.093905,33.158502],[103.093906,33.158476],[103.093917,33.157965],[103.093918,33.157935],[103.093868,33.157689],[103.093816,33.15743],[103.093466,33.157091],[103.093157,33.15679],[103.092615,33.155869],[103.09188,33.155292],[103.091088,33.154546],[103.090963,33.154428],[103.090573,33.153681],[103.090474,33.153492],[103.090636,33.153434],[103.091011,33.153279],[103.091137,33.153141],[103.091142,33.152998],[103.09107,33.152903],[103.091019,33.15284],[103.090998,33.152814],[103.090868,33.152624],[103.09081,33.152518],[103.090656,33.152496],[103.090263,33.152222],[103.090206,33.152182],[103.090161,33.15174],[103.090067,33.150889],[103.089882,33.150504],[103.089566,33.149843],[103.089539,33.14979],[103.089382,33.149484],[103.08933,33.149383],[103.089146,33.149024],[103.088996,33.148731],[103.088994,33.148728],[103.088571,33.147901],[103.088687,33.147881],[103.088967,33.147656],[103.089075,33.14754],[103.08918,33.147425],[103.089426,33.147278],[103.089447,33.147234],[103.089483,33.147159],[103.089233,33.147077],[103.088753,33.147005],[103.0884,33.146937],[103.08805,33.146885],[103.087456,33.145725],[103.087435,33.145684],[103.08696,33.144758],[103.086859,33.144561],[103.086857,33.144555],[103.08612,33.143117],[103.085918,33.142236],[103.08591,33.142201],[103.085881,33.142075],[103.085825,33.14194],[103.085691,33.14185],[103.085621,33.141764],[103.085523,33.141687],[103.085437,33.141634],[103.085415,33.141544],[103.085452,33.141455],[103.085472,33.141386],[103.085475,33.141297],[103.085465,33.141064],[103.085444,33.140803],[103.085421,33.140686],[103.085389,33.140536],[103.085354,33.14045],[103.085315,33.140379],[103.085224,33.140233],[103.085129,33.140151],[103.085072,33.140113],[103.084857,33.139622],[103.084226,33.138185],[103.084166,33.138143],[103.084086,33.138087],[103.084016,33.137963],[103.083958,33.137849],[103.083871,33.137692],[103.083836,33.137593],[103.083754,33.137388],[103.083655,33.137189],[103.083504,33.136861],[103.083405,33.136675],[103.083375,33.136533],[103.083459,33.136435],[103.082831,33.136079],[103.082068,33.135976],[103.082047,33.135973],[103.081307,33.135615],[103.080146,33.135692],[103.078205,33.135473],[103.075937,33.13484],[103.075345,33.134516],[103.074911,33.133848],[103.074899,33.133736],[103.07474,33.13361],[103.07465,33.13355],[103.074526,33.133497],[103.074453,33.133441],[103.074413,33.133348],[103.074404,33.133266],[103.074424,33.133219],[103.074522,33.1332],[103.074696,33.133199],[103.074849,33.133249],[103.074212,33.131571],[103.074197,33.131547],[103.074196,33.131545],[103.074176,33.131514],[103.073944,33.131144],[103.073888,33.131056],[103.073453,33.130363],[103.072174,33.12899],[103.070755,33.128874],[103.069706,33.128952],[103.067463,33.128854],[103.066639,33.128904],[103.065744,33.128796],[103.065495,33.128226],[103.064328,33.125155],[103.063434,33.124983],[103.062842,33.125031],[103.061785,33.125115],[103.06006,33.125308],[103.058862,33.125353],[103.057211,33.125579],[103.05683,33.12561],[103.0556,33.125711],[103.055351,33.125736],[103.055303,33.125741],[103.054513,33.12582],[103.053574,33.125963],[103.052377,33.125975],[103.051291,33.126053],[103.05046,33.126324],[103.049821,33.126533],[103.049737,33.126538],[103.049724,33.126539],[103.049416,33.126555],[103.048939,33.126581],[103.048922,33.126582],[103.048322,33.126667],[103.047872,33.126786],[103.047852,33.126782],[103.047826,33.12679],[103.047767,33.126806],[103.04773,33.126817],[103.047009,33.126836],[103.04653,33.126727],[103.046265,33.126666],[103.045671,33.126437],[103.045236,33.126522],[103.045221,33.126524],[103.045201,33.126527],[103.044869,33.12657],[103.044706,33.126591],[103.044652,33.126598],[103.044608,33.126639],[103.044581,33.126657],[103.044542,33.126679],[103.044487,33.126698],[103.04443,33.126712],[103.044374,33.12671],[103.044317,33.1267],[103.044264,33.126685],[103.044241,33.126667],[103.044232,33.126656],[103.044217,33.126658],[103.044159,33.126667],[103.043607,33.126751],[103.043569,33.126765],[103.043303,33.126866],[103.04289,33.127023],[103.042328,33.127077],[103.041773,33.126816],[103.041752,33.126598],[103.041742,33.126501],[103.041739,33.126492],[103.041659,33.126276],[103.041531,33.125931],[103.041236,33.125722],[103.041149,33.12566],[103.041119,33.125639],[103.041078,33.12561],[103.041059,33.125596],[103.040983,33.125552],[103.040956,33.125543],[103.040928,33.125534],[103.040899,33.125528],[103.040882,33.125522],[103.040853,33.125498],[103.040783,33.125486],[103.040679,33.125468],[103.040426,33.125425],[103.040122,33.125374],[103.039545,33.125507],[103.039482,33.125521],[103.038988,33.125489],[103.038847,33.12548],[103.038802,33.125427],[103.038596,33.125186],[103.038519,33.125097],[103.038684,33.124856],[103.038661,33.124809],[103.038656,33.124758],[103.03867,33.124712],[103.038692,33.124676],[103.0387,33.12462],[103.038688,33.124588],[103.038675,33.124583],[103.038605,33.124583],[103.038555,33.124586],[103.038513,33.124587],[103.038448,33.124571],[103.038425,33.124551],[103.038413,33.124513],[103.038411,33.124474],[103.038436,33.124434],[103.038481,33.124411],[103.038501,33.124398],[103.038518,33.124381],[103.038546,33.124362],[103.038555,33.124333],[103.038553,33.12431],[103.038539,33.124276],[103.038517,33.124245],[103.038484,33.124223],[103.038464,33.124202],[103.038444,33.124185],[103.038415,33.124173],[103.038373,33.124166],[103.038333,33.124163],[103.038306,33.124154],[103.038271,33.124135],[103.03798,33.124113],[103.037817,33.124189],[103.037527,33.124326],[103.037105,33.12476],[103.036544,33.124782],[103.036034,33.124659],[103.035986,33.124648],[103.035736,33.124615],[103.035688,33.124632],[103.0356,33.124646],[103.035524,33.124635],[103.035495,33.124618],[103.035469,33.124601],[103.03545,33.124578],[103.035457,33.124556],[103.035468,33.124537],[103.035488,33.124515],[103.035506,33.124507],[103.035521,33.124498],[103.035554,33.12448],[103.035569,33.124475],[103.035582,33.12446],[103.035585,33.124433],[103.035556,33.124417],[103.035528,33.124416],[103.03549,33.124428],[103.035468,33.124439],[103.035452,33.124452],[103.035435,33.12447],[103.035418,33.124485],[103.035388,33.124499],[103.035358,33.124509],[103.035282,33.124514],[103.035254,33.124513],[103.035224,33.124505],[103.035197,33.124492],[103.035184,33.124484],[103.035171,33.124467],[103.035161,33.124444],[103.035152,33.12442],[103.03514,33.124393],[103.035128,33.124365],[103.035114,33.124342],[103.035103,33.124328],[103.035083,33.124318],[103.03506,33.124312],[103.035036,33.124313],[103.035002,33.124321],[103.034987,33.12433],[103.034979,33.124341],[103.034983,33.124362],[103.035004,33.124382],[103.035036,33.124404],[103.035065,33.124432],[103.035076,33.124449],[103.03508,33.124475],[103.03507,33.124501],[103.035058,33.124523],[103.035045,33.124538],[103.035031,33.124554],[103.035013,33.124569],[103.034989,33.124583],[103.034955,33.1246],[103.034905,33.124603],[103.034875,33.124596],[103.034847,33.124581],[103.034813,33.124572],[103.034789,33.124577],[103.034762,33.124594],[103.034729,33.124615],[103.034692,33.124636],[103.034661,33.124638],[103.034631,33.124633],[103.034593,33.124613],[103.034536,33.124568],[103.034525,33.124553],[103.034517,33.124532],[103.034243,33.12457],[103.034095,33.12459],[103.033704,33.124643],[103.032961,33.124553],[103.032809,33.124535],[103.032726,33.124516],[103.032677,33.124505],[103.032065,33.124366],[103.031688,33.124485],[103.031265,33.125014],[103.031158,33.125069],[103.031089,33.125104],[103.030848,33.125228],[103.030514,33.125128],[103.030371,33.124811],[103.030344,33.124711],[103.030332,33.124666],[103.030311,33.124589],[103.030276,33.12446],[103.030261,33.124464],[103.030236,33.124452],[103.0302,33.124441],[103.030176,33.124426],[103.030169,33.124422],[103.03015,33.124395],[103.03015,33.12438],[103.030172,33.124341],[103.030184,33.124324],[103.030231,33.124303],[103.029903,33.124017],[103.029492,33.123979],[103.029399,33.123982],[103.028931,33.124001],[103.028743,33.123974],[103.028697,33.123947],[103.028675,33.123929],[103.028654,33.123896],[103.028641,33.123869],[103.028609,33.123843],[103.028573,33.123817],[103.028525,33.123794],[103.028481,33.123776],[103.028413,33.123757],[103.028341,33.123746],[103.02828,33.123744],[103.028191,33.123643],[103.028197,33.12361],[103.028215,33.123508],[103.028224,33.123457],[103.028233,33.123408],[103.02826,33.123263],[103.028262,33.123248],[103.028276,33.123172],[103.028294,33.122386],[103.028227,33.12225],[103.028195,33.122184],[103.028165,33.122123],[103.028157,33.122108],[103.027936,33.121656],[103.027291,33.121322],[103.027122,33.121234],[103.026047,33.121012],[103.025968,33.120996],[103.025233,33.121048],[103.025069,33.12106],[103.025068,33.12108],[103.02507,33.121097],[103.025074,33.121114],[103.025077,33.121132],[103.02508,33.121149],[103.025083,33.121166],[103.025074,33.121189],[103.025058,33.121226],[103.025046,33.121243],[103.025021,33.121267],[103.024998,33.121276],[103.024953,33.12128],[103.024913,33.12128],[103.024857,33.121269],[103.024828,33.121258],[103.024813,33.121242],[103.02481,33.12122],[103.02481,33.1212],[103.024818,33.121179],[103.024827,33.121157],[103.024832,33.121139],[103.024838,33.12112],[103.024842,33.1211],[103.024841,33.12108],[103.02483,33.121043],[103.024784,33.121002],[103.024752,33.120978],[103.024707,33.120954],[103.024668,33.120965],[103.024667,33.120986],[103.024673,33.121016],[103.024691,33.121055],[103.024694,33.121069],[103.024706,33.121106],[103.024712,33.121132],[103.024707,33.12115],[103.024697,33.121179],[103.02469,33.121208],[103.024676,33.121243],[103.024667,33.12127],[103.024656,33.121303],[103.024641,33.121332],[103.024615,33.121359],[103.024584,33.121375],[103.024533,33.121385],[103.024487,33.121386],[103.024447,33.12138],[103.024417,33.121366],[103.024412,33.121345],[103.024411,33.121327],[103.024428,33.121298],[103.024436,33.121282],[103.024437,33.121252],[103.024436,33.121242],[103.024421,33.121228],[103.024391,33.121216],[103.024347,33.121204],[103.024323,33.121202],[103.024305,33.121197],[103.024267,33.121187],[103.024118,33.121215],[103.024107,33.121217],[103.023859,33.121263],[103.023802,33.121254],[103.023699,33.121247],[103.023618,33.121256],[103.023599,33.121261],[103.023582,33.121267],[103.023567,33.121273],[103.023429,33.12127],[103.023128,33.121265],[103.023045,33.121264],[103.022891,33.121212],[103.022852,33.121206],[103.022819,33.121194],[103.022797,33.121165],[103.022764,33.121121],[103.022731,33.121077],[103.022719,33.12106],[103.022688,33.121041],[103.022644,33.121014],[103.022528,33.120941],[103.022415,33.120837],[103.021938,33.120401],[103.021818,33.120291],[103.021759,33.120236],[103.021751,33.120141],[103.02175,33.120128],[103.02175,33.120118],[103.021747,33.120079],[103.021732,33.120073],[103.021712,33.120054],[103.021712,33.120032],[103.021719,33.120008],[103.02174,33.119989],[103.021761,33.119946],[103.02177,33.119906],[103.021779,33.119871],[103.02179,33.119836],[103.021798,33.119809],[103.021803,33.119782],[103.0218,33.119749],[103.021771,33.119717],[103.021755,33.119696],[103.021709,33.119658],[103.021699,33.119563],[103.021668,33.119259],[103.021264,33.118818],[103.02123,33.11878],[103.021082,33.118727],[103.021023,33.118707],[103.020674,33.118582],[103.020461,33.118531],[103.020116,33.118448],[103.020047,33.118264],[103.020003,33.118145],[103.019985,33.118097],[103.020011,33.1181],[103.02004,33.118113],[103.020058,33.118124],[103.020078,33.118171],[103.020085,33.11819],[103.020092,33.118216],[103.020111,33.118242],[103.020138,33.11826],[103.020172,33.118265],[103.020212,33.118261],[103.020241,33.118255],[103.020264,33.11825],[103.020284,33.118238],[103.020321,33.118223],[103.020332,33.118208],[103.020298,33.118188],[103.02026,33.118182],[103.020238,33.118171],[103.020222,33.118142],[103.020226,33.118118],[103.020234,33.11808],[103.020221,33.118044],[103.020206,33.118021],[103.02019,33.117999],[103.020157,33.117976],[103.020128,33.117959],[103.020088,33.11795],[103.020043,33.117953],[103.020016,33.117962],[103.019996,33.11798],[103.019978,33.118007],[103.019958,33.118024],[103.019928,33.117944],[103.019911,33.117897],[103.01985,33.117903],[103.019803,33.117915],[103.019749,33.117945],[103.01971,33.117963],[103.019679,33.11796],[103.019655,33.117933],[103.019632,33.117883],[103.019632,33.117834],[103.019643,33.117793],[103.019664,33.117741],[103.019517,33.117658],[103.019522,33.117614],[103.019526,33.117542],[103.019513,33.1175],[103.019487,33.117487],[103.01941,33.117467],[103.01934,33.117468],[103.019271,33.117467],[103.019227,33.117455],[103.019171,33.117423],[103.019136,33.117383],[103.01909,33.117324],[103.019063,33.117257],[103.019029,33.117227],[103.018993,33.117217],[103.018922,33.117232],[103.01886,33.117251],[103.018781,33.117259],[103.018717,33.117248],[103.018644,33.117219],[103.018576,33.117134],[103.01848,33.11713],[103.018373,33.117162],[103.018339,33.117171],[103.018131,33.117111],[103.018113,33.117106],[103.018059,33.11709],[103.01791,33.117046],[103.017896,33.117014],[103.01788,33.116993],[103.01784,33.116968],[103.017807,33.116952],[103.017775,33.11694],[103.017729,33.116943],[103.017705,33.116953],[103.017663,33.116975],[103.017383,33.116893],[103.017298,33.116833],[103.017276,33.116817],[103.017179,33.116749],[103.017154,33.116731],[103.016794,33.116475],[103.01674,33.116186],[103.016736,33.116165],[103.016692,33.115932],[103.016688,33.11591],[103.016644,33.115674],[103.016642,33.11566],[103.016641,33.115655],[103.016629,33.115595],[103.016629,33.115591],[103.016625,33.115571],[103.016597,33.115423],[103.016594,33.115406],[103.016593,33.115402],[103.016582,33.115332],[103.016578,33.115309],[103.016576,33.115299],[103.016481,33.114728],[103.016462,33.114613],[103.016252,33.114387],[103.016091,33.114214],[103.016025,33.114142],[103.015987,33.114101],[103.015956,33.114065],[103.015607,33.113647],[103.015586,33.113623],[103.015586,33.113623],[103.015495,33.113537],[103.015147,33.113207],[103.015233,33.112705],[103.015171,33.112604],[103.015159,33.112584],[103.015072,33.112441],[103.015029,33.112371],[103.014983,33.11238],[103.014915,33.112368],[103.014885,33.112356],[103.01487,33.112339],[103.014869,33.112315],[103.014883,33.112291],[103.014899,33.112282],[103.0149,33.112265],[103.014891,33.112254],[103.014869,33.112235],[103.01483,33.112213],[103.014803,33.11219],[103.014799,33.112181],[103.01476,33.112128],[103.014753,33.112105],[103.01474,33.112083],[103.01473,33.112067],[103.014699,33.112052],[103.01468,33.112056],[103.014639,33.112084],[103.014631,33.112079],[103.014595,33.112058],[103.014501,33.112],[103.014627,33.111373],[103.01461,33.111045],[103.014606,33.110971],[103.014608,33.11097],[103.014623,33.11095],[103.014622,33.11093],[103.014616,33.110908],[103.014608,33.110882],[103.014606,33.110852],[103.014613,33.110827],[103.014622,33.110794],[103.014632,33.110773],[103.014637,33.110752],[103.01463,33.110731],[103.014617,33.110722],[103.014577,33.110714],[103.01456,33.110604],[103.01452,33.110348],[103.014503,33.110238],[103.014171,33.110012],[103.014019,33.11001],[103.013621,33.110004],[103.013499,33.110002],[103.013321,33.110092],[103.013263,33.110121],[103.013213,33.110147],[103.013163,33.110173],[103.013119,33.110184],[103.013076,33.11019],[103.013046,33.110188],[103.013011,33.110179],[103.012976,33.110158],[103.01294,33.110128],[103.012879,33.11008],[103.012834,33.110054],[103.012754,33.110042],[103.012711,33.110064],[103.012681,33.110114],[103.012664,33.110181],[103.012655,33.110247],[103.012651,33.110309],[103.012647,33.110383],[103.012645,33.110402],[103.012635,33.110433],[103.012624,33.110462],[103.012608,33.11049],[103.012582,33.110521],[103.012549,33.110541],[103.012514,33.110544],[103.012476,33.110539],[103.01246,33.110524],[103.012438,33.110483],[103.012417,33.110456],[103.012399,33.110411],[103.012387,33.110395],[103.012354,33.110384],[103.01233,33.110377],[103.012315,33.110363],[103.012294,33.110346],[103.012279,33.110326],[103.012249,33.110307],[103.012215,33.110292],[103.012179,33.110306],[103.01215,33.110323],[103.012119,33.110336],[103.012073,33.110335],[103.012034,33.110329],[103.011996,33.11031],[103.011949,33.110279],[103.011908,33.110262],[103.011884,33.11025],[103.011867,33.110243],[103.011854,33.110239],[103.011802,33.110238],[103.01176,33.110249],[103.011723,33.110264],[103.011663,33.110288],[103.011618,33.110295],[103.011574,33.110294],[103.011539,33.110286],[103.011517,33.110275],[103.011494,33.110262],[103.011477,33.110236],[103.011465,33.110202],[103.011465,33.110176],[103.011452,33.110135],[103.011431,33.110094],[103.011419,33.110059],[103.01139,33.11003],[103.011342,33.110021],[103.01121,33.110019],[103.011161,33.110039],[103.011166,33.110087],[103.011191,33.110137],[103.011244,33.110198],[103.011289,33.110261],[103.011326,33.110322],[103.011351,33.110362],[103.011399,33.110405],[103.011426,33.110441],[103.011445,33.110502],[103.01145,33.110589],[103.01145,33.110631],[103.011445,33.110668],[103.011415,33.110684],[103.011367,33.110686],[103.01129,33.110681],[103.011261,33.110682],[103.011244,33.110724],[103.011261,33.110768],[103.011283,33.110811],[103.011289,33.110846],[103.011294,33.110872],[103.011296,33.110948],[103.011297,33.110965],[103.011292,33.111046],[103.011289,33.111109],[103.011258,33.111167],[103.01121,33.111226],[103.011155,33.111273],[103.011101,33.111305],[103.011032,33.111365],[103.010967,33.111397],[103.010876,33.111395],[103.010801,33.111368],[103.010739,33.111335],[103.010665,33.111322],[103.010554,33.111331],[103.010445,33.111369],[103.010366,33.111375],[103.010265,33.11135],[103.010156,33.111314],[103.010083,33.111311],[103.01,33.111311],[103.009935,33.111325],[103.009893,33.111342],[103.00973,33.111263],[103.009723,33.111256],[103.009682,33.11121],[103.009659,33.111186],[103.009292,33.110784],[103.009288,33.110682],[103.009268,33.110186],[103.00936,33.109883],[103.009375,33.109836],[103.00943,33.109653],[103.009376,33.109607],[103.00918,33.109435],[103.009122,33.109384],[103.0091,33.109365],[103.008943,33.109273],[103.008904,33.10925],[103.008768,33.109171],[103.008569,33.109158],[103.00854,33.109156],[103.008298,33.10914],[103.008133,33.109129],[103.008104,33.109123],[103.008035,33.109108],[103.008034,33.10913],[103.008024,33.109151],[103.008006,33.109164],[103.007972,33.109163],[103.007941,33.109158],[103.007899,33.109136],[103.007875,33.109118],[103.007843,33.109091],[103.007805,33.109058],[103.007767,33.109031],[103.00774,33.109025],[103.007681,33.109035],[103.00765,33.109055],[103.007631,33.109081],[103.00762,33.109107],[103.0076,33.109133],[103.007569,33.109152],[103.007532,33.109172],[103.007481,33.109181],[103.007427,33.10919],[103.007389,33.109207],[103.007364,33.109229],[103.007331,33.109251],[103.007288,33.109267],[103.007251,33.109271],[103.00719,33.109263],[103.007127,33.109235],[103.007074,33.109199],[103.007032,33.109168],[103.00699,33.109143],[103.006951,33.109125],[103.006899,33.109105],[103.006872,33.109076],[103.006866,33.10903],[103.006869,33.108988],[103.006867,33.108965],[103.006861,33.108955],[103.006822,33.108886],[103.006842,33.108845],[103.006804,33.108836],[103.006768,33.10882],[103.006728,33.108793],[103.006695,33.10878],[103.006687,33.108786],[103.006632,33.108787],[103.006601,33.108786],[103.006557,33.108762],[103.006518,33.108739],[103.00641,33.108697],[103.006384,33.108684],[103.006369,33.10867],[103.006355,33.10864],[103.006348,33.108603],[103.006369,33.108576],[103.006379,33.10856],[103.00638,33.108531],[103.006357,33.108508],[103.006266,33.108524],[103.006234,33.108528],[103.00619,33.108526],[103.006168,33.108517],[103.006144,33.108498],[103.006117,33.108444],[103.006118,33.108386],[103.006129,33.108331],[103.006154,33.108294],[103.006188,33.108258],[103.006197,33.108208],[103.006175,33.108189],[103.006123,33.108138],[103.006087,33.108071],[103.006084,33.108065],[103.006044,33.107994],[103.006019,33.107956],[103.005998,33.107912],[103.005961,33.107893],[103.005915,33.107876],[103.005847,33.107851],[103.00579,33.107832],[103.005742,33.107806],[103.005706,33.107784],[103.005677,33.10776],[103.005652,33.107725],[103.005603,33.10769],[103.005559,33.107681],[103.005522,33.107672],[103.005458,33.107614],[103.005359,33.107587],[103.005246,33.107583],[103.005172,33.107558],[103.005115,33.10752],[103.005063,33.107478],[103.005021,33.107416],[103.004978,33.107358],[103.004968,33.107329],[103.004963,33.107274],[103.004992,33.107208],[103.005013,33.107163],[103.004985,33.107085],[103.004934,33.10703],[103.004904,33.106996],[103.004916,33.106908],[103.004908,33.10688],[103.004875,33.10685],[103.00483,33.106814],[103.004743,33.106819],[103.004659,33.106866],[103.004616,33.106874],[103.00455,33.106869],[103.004519,33.106844],[103.004506,33.106828],[103.004496,33.106799],[103.004482,33.106748],[103.004461,33.106699],[103.00444,33.10668],[103.004399,33.106657],[103.00437,33.106652],[103.004345,33.106648],[103.004325,33.106664],[103.004308,33.106712],[103.004233,33.106786],[103.004186,33.106848],[103.004131,33.106907],[103.004061,33.106946],[103.004004,33.106968],[103.003907,33.106978],[103.003803,33.106974],[103.003756,33.106942],[103.003722,33.106883],[103.003701,33.106825],[103.003699,33.106752],[103.003699,33.10671],[103.003729,33.106607],[103.003747,33.10657],[103.003742,33.106542],[103.003708,33.106527],[103.003558,33.10652],[103.003453,33.106491],[103.003435,33.106458],[103.003432,33.106401],[103.003438,33.106356],[103.003449,33.106364],[103.00347,33.106374],[103.003487,33.10638],[103.003516,33.106369],[103.003507,33.106343],[103.003433,33.106145],[103.003433,33.106145],[103.003428,33.106132],[103.003415,33.106097],[103.003344,33.105905],[103.003347,33.105898],[103.003386,33.105814],[103.003393,33.105798],[103.003447,33.105681],[103.003465,33.10564],[103.003495,33.105613],[103.003519,33.105584],[103.003535,33.105556],[103.003553,33.105529],[103.003584,33.105493],[103.003608,33.105478],[103.003664,33.105459],[103.003718,33.105444],[103.003751,33.105424],[103.003766,33.105404],[103.003761,33.105384],[103.003733,33.105374],[103.003688,33.105378],[103.003668,33.105385],[103.003608,33.105411],[103.003653,33.105348],[103.003661,33.105336],[103.003771,33.105182],[103.00381,33.105126],[103.003857,33.104717],[103.003675,33.104494],[103.003236,33.104542],[103.003215,33.104544],[103.003185,33.104535],[103.003157,33.104528],[103.003137,33.104528],[103.003113,33.104531],[103.003089,33.104541],[103.003063,33.104554],[103.003026,33.104565],[103.00299,33.104569],[103.002983,33.104539],[103.002962,33.104516],[103.002919,33.104494],[103.002885,33.104484],[103.002854,33.104493],[103.002842,33.104515],[103.002837,33.104544],[103.002833,33.104573],[103.002821,33.104602],[103.002788,33.104621],[103.002753,33.10463],[103.002728,33.104625],[103.002719,33.104615],[103.002712,33.104598],[103.002706,33.104574],[103.002698,33.104549],[103.002673,33.104527],[103.002658,33.104529],[103.002643,33.104541],[103.002622,33.104577],[103.002598,33.10461],[103.002573,33.104646],[103.002561,33.104674],[103.00256,33.104701],[103.002571,33.104718],[103.002523,33.104738],[103.002321,33.104818],[103.001836,33.104811],[103.00167,33.104724],[103.001466,33.104616],[103.001029,33.104074],[103.000854,33.103663],[103.000818,33.103578],[103.000745,33.103408],[103.00074,33.103394],[103.000788,33.10334],[103.000822,33.103328],[103.000853,33.103309],[103.000861,33.103282],[103.000831,33.103253],[103.000804,33.103233],[103.000763,33.103218],[103.000733,33.103183],[103.000712,33.103138],[103.000689,33.103106],[103.000655,33.103075],[103.000611,33.103062],[103.000462,33.10268],[103.000106,33.102294],[102.999784,33.101944],[102.99957,33.101757],[102.999457,33.101658],[102.999425,33.10163],[102.999525,33.101596],[102.99956,33.101582],[102.999567,33.101567],[102.99955,33.101557],[102.99948,33.101555],[102.999431,33.101555],[102.999383,33.101556],[102.999365,33.10156],[102.999332,33.101555],[102.999299,33.101548],[102.99924,33.101526],[102.999219,33.10149],[102.999211,33.101419],[102.999221,33.101345],[102.999213,33.101333],[102.999123,33.101199],[102.998839,33.100777],[102.998445,33.100478],[102.998188,33.100283],[102.998153,33.100255],[102.998117,33.100225],[102.99809,33.100244],[102.998054,33.100247],[102.997955,33.100218],[102.997911,33.100193],[102.997883,33.100164],[102.997876,33.100149],[102.997882,33.10011],[102.997913,33.10008],[102.997922,33.100064],[102.997929,33.100036],[102.997924,33.099988],[102.997886,33.099945],[102.997858,33.099933],[102.9978,33.099964],[102.997651,33.100049],[102.997607,33.100056],[102.99756,33.100042],[102.997532,33.100005],[102.997508,33.09996],[102.997499,33.099931],[102.99749,33.099873],[102.997485,33.099807],[102.997473,33.099767],[102.997437,33.099751],[102.997403,33.09975],[102.997366,33.099756],[102.997319,33.099782],[102.997281,33.099804],[102.997239,33.099837],[102.997206,33.099869],[102.997185,33.099874],[102.997156,33.099868],[102.997119,33.099837],[102.99711,33.09981],[102.997161,33.099794],[102.997232,33.099787],[102.997318,33.09976],[102.997361,33.099735],[102.997363,33.099695],[102.997341,33.099643],[102.997295,33.099615],[102.99725,33.099618],[102.997193,33.099649],[102.997132,33.099661],[102.997096,33.09965],[102.997057,33.099629],[102.997023,33.099625],[102.996991,33.099665],[102.996949,33.099732],[102.996915,33.099769],[102.99689,33.099779],[102.996854,33.099772],[102.996832,33.099749],[102.99685,33.09973],[102.996888,33.099719],[102.996923,33.099675],[102.996922,33.099634],[102.996924,33.099588],[102.996954,33.099554],[102.997027,33.099529],[102.997065,33.09949],[102.997073,33.099441],[102.9971,33.099379],[102.997122,33.099373],[102.997156,33.09938],[102.997202,33.099375],[102.997229,33.099362],[102.99724,33.099318],[102.997236,33.099284],[102.997226,33.099245],[102.997202,33.099217],[102.997137,33.099183],[102.997092,33.099162],[102.997039,33.099118],[102.997021,33.099073],[102.997038,33.099053],[102.997072,33.099044],[102.997095,33.099069],[102.99712,33.099096],[102.997172,33.099122],[102.997245,33.09913],[102.997359,33.099106],[102.997408,33.099089],[102.997437,33.099062],[102.997433,33.099035],[102.997385,33.099005],[102.997298,33.098966],[102.997243,33.098937],[102.997173,33.098898],[102.997095,33.098853],[102.997049,33.098811],[102.997051,33.098769],[102.99708,33.098754],[102.997123,33.098759],[102.997176,33.098787],[102.997206,33.098814],[102.997283,33.098875],[102.997271,33.098733],[102.997261,33.098615],[102.997256,33.098559],[102.997257,33.09855],[102.997277,33.09835],[102.997229,33.098339],[102.997209,33.098322],[102.997205,33.098296],[102.997227,33.098283],[102.997253,33.09827],[102.997264,33.098252],[102.997264,33.098226],[102.997242,33.098183],[102.997192,33.098145],[102.997135,33.098114],[102.997106,33.098094],[102.997103,33.098058],[102.997117,33.098035],[102.997137,33.098023],[102.997188,33.098032],[102.997233,33.09805],[102.997269,33.098059],[102.997308,33.098053],[102.99735,33.098004],[102.997368,33.097952],[102.997366,33.097918],[102.997343,33.097873],[102.99729,33.097841],[102.997232,33.097846],[102.997102,33.097591],[102.996909,33.097464],[102.996895,33.097455],[102.996911,33.097401],[102.996921,33.097354],[102.996913,33.097317],[102.996882,33.097285],[102.996838,33.097266],[102.996755,33.097256],[102.996695,33.097258],[102.996696,33.097265],[102.996695,33.097323],[102.99658,33.097248],[102.996102,33.09715],[102.996049,33.097139],[102.996039,33.097137],[102.995836,33.097096],[102.995789,33.097086],[102.995616,33.097212],[102.995513,33.097287],[102.995491,33.097303],[102.99534,33.097414],[102.995163,33.097344],[102.994552,33.097104],[102.993953,33.096277],[102.993551,33.09594],[102.993528,33.095921],[102.993453,33.095858],[102.993371,33.09579],[102.993266,33.095702],[102.993257,33.095624],[102.993248,33.09558],[102.993223,33.095552],[102.993191,33.09555],[102.993073,33.09554],[102.993059,33.095529],[102.993024,33.095499],[102.992987,33.095468],[102.992963,33.095448],[102.992957,33.095443],[102.992898,33.095336],[102.992893,33.095326],[102.992882,33.095307],[102.992791,33.09514],[102.992778,33.095116],[102.992724,33.095018],[102.992714,33.094999],[102.992657,33.094894],[102.992645,33.094872],[102.992569,33.094733],[102.992556,33.094709],[102.992435,33.094488],[102.992323,33.094442],[102.99226,33.094404],[102.992217,33.094338],[102.992208,33.094264],[102.992198,33.094183],[102.992209,33.094111],[102.992241,33.094058],[102.992219,33.093995],[102.992155,33.093915],[102.992094,33.093871],[102.992026,33.093815],[102.991958,33.093747],[102.991904,33.093685],[102.991864,33.093598],[102.991842,33.093494],[102.99183,33.093432],[102.991776,33.093355],[102.991725,33.093344],[102.991724,33.093342],[102.991706,33.093312],[102.99143,33.092838],[102.991287,33.092873],[102.991264,33.092873],[102.99125,33.092842],[102.991244,33.092806],[102.991255,33.092758],[102.99128,33.092725],[102.991339,33.092682],[102.99138,33.09259],[102.99138,33.092545],[102.991334,33.092519],[102.991257,33.092503],[102.991231,33.092496],[102.991003,33.092105],[102.990985,33.092048],[102.990756,33.091283],[102.990656,33.091231],[102.989491,33.090631],[102.989364,33.090465],[102.989269,33.090339],[102.989172,33.090273],[102.98911,33.090215],[102.989064,33.090145],[102.989034,33.090084],[102.988983,33.090017],[102.988927,33.089973],[102.98889,33.089939],[102.988826,33.089876],[102.988806,33.089824],[102.988813,33.08978],[102.988867,33.089752],[102.988919,33.08973],[102.988982,33.089715],[102.989027,33.089721],[102.989084,33.08971],[102.989111,33.089673],[102.989134,33.089602],[102.989139,33.089546],[102.989128,33.089493],[102.989081,33.089449],[102.988989,33.08941],[102.988992,33.089262],[102.988999,33.088951],[102.988965,33.088505],[102.988824,33.08843],[102.98871,33.08837],[102.988353,33.088182],[102.987875,33.08793],[102.987238,33.087739],[102.987181,33.087722],[102.987126,33.087706],[102.986654,33.087565],[102.98656,33.087537],[102.986387,33.087446],[102.986421,33.087408],[102.986403,33.08737],[102.986372,33.087311],[102.986326,33.087276],[102.986235,33.087244],[102.986151,33.087228],[102.986062,33.087192],[102.986004,33.08717],[102.985954,33.087109],[102.985844,33.087097],[102.985791,33.087132],[102.985688,33.087077],[102.985606,33.086943],[102.985363,33.086542],[102.985132,33.086162],[102.985049,33.086026],[102.984499,33.085014],[102.984031,33.084226],[102.983512,33.083772],[102.982649,33.082903],[102.982003,33.082224],[102.981612,33.081958],[102.980294,33.081676],[102.979567,33.080661],[102.978966,33.079908],[102.978661,33.079571],[102.978148,33.079003],[102.97755,33.078663],[102.977408,33.078583],[102.976311,33.078305],[102.975882,33.07774],[102.975916,33.077252],[102.975936,33.077246],[102.975987,33.077236],[102.976021,33.077226],[102.976067,33.077204],[102.976115,33.077176],[102.976137,33.077151],[102.976148,33.077127],[102.97615,33.077096],[102.976141,33.077065],[102.976134,33.077043],[102.976124,33.076997],[102.97611,33.076969],[102.976124,33.076942],[102.976152,33.076913],[102.976188,33.07689],[102.976207,33.076849],[102.976206,33.07682],[102.976197,33.076794],[102.976173,33.076777],[102.976139,33.076753],[102.976075,33.076731],[102.976044,33.076726],[102.976014,33.076721],[102.975994,33.076703],[102.975964,33.076668],[102.975931,33.076617],[102.9759,33.076565],[102.97587,33.076434],[102.975784,33.07606],[102.975708,33.075731],[102.975456,33.075352],[102.975403,33.075271],[102.97541,33.075255],[102.975412,33.075243],[102.975411,33.075229],[102.975409,33.075212],[102.975408,33.075202],[102.975405,33.07518],[102.975405,33.075162],[102.975409,33.075149],[102.975418,33.075143],[102.975437,33.075143],[102.975438,33.075152],[102.975432,33.075175],[102.975431,33.075194],[102.975454,33.075205],[102.975475,33.0752],[102.975497,33.075178],[102.975504,33.075149],[102.975505,33.075119],[102.975493,33.075107],[102.975479,33.075096],[102.975472,33.075075],[102.975457,33.075066],[102.975424,33.075074],[102.975412,33.075079],[102.975399,33.075081],[102.975356,33.075084],[102.975329,33.075072],[102.97529,33.075067],[102.975269,33.075069],[102.975253,33.075068],[102.975243,33.075066],[102.975234,33.07506],[102.975231,33.075048],[102.975233,33.07504],[102.975247,33.075035],[102.975268,33.075031],[102.975285,33.075026],[102.975308,33.075013],[102.975311,33.074994],[102.975302,33.074971],[102.975287,33.07496],[102.975258,33.074939],[102.97523,33.074922],[102.975209,33.074905],[102.975185,33.074894],[102.975161,33.074879],[102.975139,33.074872],[102.975127,33.074869],[102.975118,33.074861],[102.975114,33.07485],[102.975117,33.074839],[102.975132,33.074814],[102.975138,33.074808],[102.975148,33.074797],[102.975167,33.074772],[102.975155,33.07475],[102.975135,33.07474],[102.975128,33.074737],[102.97511,33.074721],[102.975101,33.074697],[102.975082,33.074672],[102.975047,33.074666],[102.97504,33.074675],[102.975037,33.074695],[102.975035,33.074711],[102.975017,33.074722],[102.974994,33.074725],[102.97498,33.074728],[102.974965,33.074727],[102.974953,33.074723],[102.974947,33.074717],[102.974947,33.074706],[102.974957,33.074692],[102.974975,33.074673],[102.974976,33.074656],[102.974963,33.074639],[102.974944,33.074623],[102.974935,33.074608],[102.974927,33.074586],[102.974915,33.074575],[102.974891,33.07456],[102.974873,33.074544],[102.974866,33.074527],[102.97486,33.074507],[102.974852,33.074486],[102.974832,33.074474],[102.974815,33.074466],[102.974774,33.074456],[102.974754,33.07446],[102.974729,33.074471],[102.974726,33.074486],[102.974725,33.0745],[102.974725,33.074528],[102.974716,33.074547],[102.974696,33.074559],[102.97468,33.074559],[102.974665,33.074558],[102.974631,33.074543],[102.974619,33.074523],[102.974618,33.0745],[102.97463,33.074478],[102.974632,33.074449],[102.974623,33.074427],[102.974592,33.074408],[102.974557,33.074417],[102.97453,33.074424],[102.974517,33.074424],[102.974503,33.074424],[102.974482,33.074409],[102.974482,33.074397],[102.9745,33.074373],[102.97453,33.074342],[102.974551,33.074329],[102.974546,33.074304],[102.974528,33.07428],[102.974485,33.07427],[102.974457,33.074265],[102.974391,33.074242],[102.974345,33.074214],[102.974299,33.074177],[102.974257,33.074135],[102.974217,33.074074],[102.974187,33.074036],[102.974151,33.074007],[102.974102,33.073961],[102.974025,33.073888],[102.973998,33.073857],[102.973967,33.07383],[102.97394,33.073796],[102.973904,33.07375],[102.973854,33.073756],[102.973849,33.07375],[102.973819,33.073704],[102.973776,33.073635],[102.97366,33.073485],[102.973636,33.073459],[102.973606,33.073428],[102.973583,33.073397],[102.973559,33.073361],[102.973529,33.073341],[102.973482,33.073314],[102.973466,33.073296],[102.973454,33.073252],[102.973442,33.07323],[102.973423,33.073214],[102.973391,33.07319],[102.97335,33.073177],[102.973322,33.073165],[102.973292,33.073146],[102.973282,33.073118],[102.973277,33.073082],[102.973267,33.073062],[102.973223,33.073032],[102.973176,33.073006],[102.973106,33.072967],[102.973059,33.072937],[102.973066,33.072893],[102.973046,33.072884],[102.972995,33.072855],[102.972978,33.072833],[102.972938,33.072801],[102.97291,33.072771],[102.972888,33.072742],[102.97286,33.072701],[102.972833,33.072668],[102.972803,33.072619],[102.972797,33.072602],[102.972789,33.072577],[102.972789,33.072563],[102.972809,33.072543],[102.972834,33.072516],[102.972837,33.072503],[102.972835,33.072484],[102.972831,33.072473],[102.972827,33.072459],[102.972803,33.072437],[102.972775,33.072413],[102.972746,33.07238],[102.972723,33.072365],[102.972705,33.072352],[102.972691,33.072337],[102.972677,33.072314],[102.972665,33.072291],[102.972648,33.072262],[102.972621,33.072223],[102.972614,33.072204],[102.972578,33.072109],[102.972195,33.071104],[102.971661,33.069933],[102.971649,33.069906],[102.971306,33.06967],[102.970433,33.069069],[102.969985,33.068838],[102.96992,33.068804],[102.969896,33.06882],[102.969864,33.068801],[102.969825,33.068783],[102.969795,33.068764],[102.969759,33.068742],[102.969749,33.068733],[102.969735,33.068709],[102.969685,33.068683],[102.969168,33.068416],[102.968553,33.067811],[102.968477,33.067736],[102.968404,33.067423],[102.968384,33.067336],[102.968363,33.067332],[102.968335,33.067312],[102.968322,33.0673],[102.968318,33.067277],[102.968324,33.06725],[102.968337,33.067232],[102.96835,33.067222],[102.968356,33.06722],[102.968398,33.067212],[102.968411,33.067212],[102.968445,33.067198],[102.968454,33.06718],[102.968447,33.067161],[102.968426,33.067137],[102.968392,33.067112],[102.968372,33.067101],[102.968356,33.067091],[102.968321,33.067071],[102.968302,33.067056],[102.96829,33.067047],[102.968278,33.067036],[102.968271,33.067024],[102.968269,33.067009],[102.96827,33.066993],[102.968281,33.066974],[102.968296,33.066961],[102.968321,33.066945],[102.96835,33.066937],[102.968403,33.066932],[102.968445,33.066929],[102.968473,33.066925],[102.968491,33.066904],[102.96849,33.066884],[102.96848,33.066872],[102.968462,33.066864],[102.968424,33.06686],[102.968404,33.066859],[102.968384,33.066858],[102.968346,33.066844],[102.96833,33.066818],[102.968323,33.066807],[102.968312,33.066798],[102.968298,33.066793],[102.968278,33.06679],[102.96828,33.06672],[102.968286,33.066451],[102.968292,33.06621],[102.968175,33.065539],[102.967934,33.065222],[102.967489,33.064636],[102.967228,33.064239],[102.96728,33.064215],[102.967297,33.064203],[102.9673,33.064167],[102.967288,33.064113],[102.967249,33.064082],[102.967212,33.06407],[102.967168,33.06407],[102.967116,33.06407],[102.966722,33.063472],[102.966028,33.06294],[102.965237,33.062816],[102.96426,33.06306],[102.96396,33.063143],[102.963865,33.06317],[102.962617,33.063516],[102.960792,33.064192],[102.959416,33.064541],[102.958356,33.064598],[102.957133,33.064058],[102.956519,33.063899],[102.955595,33.063773],[102.954944,33.063279],[102.954309,33.062117],[102.953721,33.060844],[102.953557,33.060173],[102.953439,33.059687],[102.953426,33.05914],[102.953401,33.058019],[102.953395,33.057754],[102.953401,33.057727],[102.953429,33.057599],[102.953438,33.057575],[102.953482,33.057455],[102.953515,33.057373],[102.953518,33.057226],[102.953527,33.057188],[102.953547,33.057108],[102.953601,33.057025],[102.953668,33.056932],[102.953696,33.056813],[102.953635,33.056631],[102.953616,33.056485],[102.953632,33.056324],[102.95363,33.056188],[102.95362,33.056019],[102.953639,33.05583],[102.953701,33.055665],[102.953789,33.055517],[102.953817,33.055363],[102.953828,33.055234],[102.953928,33.055083],[102.954007,33.054911],[102.954077,33.054667],[102.954105,33.054534],[102.954164,33.054391],[102.95424,33.053644],[102.954345,33.05294],[102.954577,33.052464],[102.954598,33.052421],[102.955224,33.051136],[102.954887,33.050447],[102.953077,33.049407],[102.952143,33.048753],[102.952035,33.048677],[102.951621,33.048179],[102.951643,33.048115],[102.951633,33.048022],[102.951564,33.047883],[102.951473,33.047748],[102.951336,33.04762],[102.951177,33.047521],[102.95104,33.047444],[102.950835,33.047306],[102.950715,33.047228],[102.950573,33.047075],[102.950535,33.047031],[102.950431,33.046911],[102.950379,33.046815],[102.950358,33.046662],[102.950089,33.046339],[102.947847,33.043646],[102.947433,33.043283],[102.947401,33.043255],[102.94723,33.043106],[102.947222,33.043098],[102.946879,33.042798],[102.946802,33.042783],[102.945685,33.04257],[102.944946,33.042499],[102.944704,33.042287],[102.944747,33.041931],[102.945112,33.041432],[102.945123,33.040957],[102.94475,33.040297],[102.943924,33.039421],[102.943658,33.038704],[102.943602,33.038079],[102.944185,33.037286],[102.944209,33.037241],[102.944406,33.036874],[102.944424,33.036102],[102.944123,33.035384],[102.944095,33.034921],[102.944072,33.034551],[102.943913,33.033805],[102.94418,33.032918],[102.944664,33.031827],[102.945058,33.030051],[102.945043,33.029189],[102.944982,33.028989],[102.944814,33.028442],[102.944594,33.027943],[102.944445,33.027604],[102.945072,33.026791],[102.945281,33.026518],[102.945435,33.026194],[102.945727,33.025575],[102.945566,33.024919],[102.945046,33.024524],[102.944453,33.024217],[102.943649,33.023907],[102.942559,33.02377],[102.942032,33.02392],[102.94128,33.024135],[102.941164,33.024176],[102.940879,33.024276],[102.940872,33.024278],[102.940623,33.024366],[102.940391,33.024447],[102.940279,33.024408],[102.940119,33.024354],[102.939937,33.024291],[102.939399,33.023421],[102.939121,33.02297],[102.938479,33.021746],[102.938445,33.021681],[102.938288,33.020847],[102.938525,33.019781],[102.938376,33.018899],[102.93852,33.018718],[102.938521,33.018625],[102.938446,33.018669],[102.93837,33.018701],[102.938345,33.018712],[102.938343,33.018702],[102.938339,33.018678],[102.938286,33.018599],[102.938279,33.018589],[102.938274,33.018581],[102.938174,33.01843],[102.938168,33.01842],[102.93782,33.017896],[102.937521,33.017447],[102.937508,33.017424],[102.93746,33.017342],[102.937046,33.016636],[102.936235,33.015859],[102.936191,33.015817],[102.936065,33.015696],[102.935942,33.015578],[102.935778,33.015212],[102.935742,33.01513],[102.935734,33.015114],[102.935717,33.015074],[102.93571,33.01506],[102.935674,33.01498],[102.935204,33.014003],[102.935164,33.013919],[102.935134,33.013858],[102.935069,33.013722],[102.935054,33.013682],[102.935033,33.013621],[102.934704,33.012705],[102.93449,33.011729],[102.934481,33.011691],[102.934762,33.010955],[102.934819,33.010806],[102.935438,33.009984],[102.935813,33.009039],[102.935908,33.008724],[102.935914,33.008704],[102.93608,33.008152],[102.936213,33.007952],[102.936249,33.007898],[102.936262,33.007878],[102.936373,33.007711],[102.937096,33.006951],[102.937805,33.006754],[102.938129,33.006492],[102.938197,33.006118],[102.938199,33.006109],[102.938205,33.006077],[102.93821,33.006048],[102.938167,33.006005],[102.93811,33.005948],[102.937969,33.005806],[102.937935,33.005764],[102.937918,33.005742],[102.93767,33.005428],[102.93766,33.005415],[102.937714,33.005202],[102.937741,33.005091],[102.93777,33.004977],[102.937786,33.004917],[102.937787,33.00491],[102.937788,33.004904],[102.937816,33.004794],[102.93823,33.004517],[102.938249,33.004505],[102.938262,33.004496],[102.938327,33.004453],[102.938342,33.004443],[102.938358,33.004432],[102.938425,33.004388],[102.938409,33.00436],[102.938383,33.004314],[102.938274,33.00412],[102.938272,33.004117],[102.938188,33.003968],[102.938229,33.003701],[102.938337,33.003766],[102.93889,33.004098],[102.939403,33.004286],[102.939403,33.004261],[102.939495,33.004134],[102.939537,33.004108],[102.93961,33.004071],[102.939731,33.004033],[102.939759,33.004002],[102.939919,33.003818],[102.939985,33.003684],[102.940114,33.003419],[102.940178,33.003287],[102.940541,33.002848],[102.940057,33.002453],[102.939572,33.002059],[102.939829,33.001618],[102.93931,33.001223],[102.939078,33.000571],[102.939069,33.000543],[102.939042,33.000467],[102.939024,33.000418],[102.939021,33.00041],[102.939019,33.000403],[102.938895,33.000053],[102.938875,32.999997],[102.938867,32.999974],[102.938853,32.999934],[102.938834,32.999835],[102.938751,32.999404],[102.938885,32.999137],[102.938898,32.999111],[102.938928,32.99905],[102.938944,32.999019],[102.938956,32.998995],[102.939043,32.998821],[102.939059,32.99879],[102.93907,32.998767],[102.9391,32.998709],[102.939105,32.998697],[102.93911,32.998689],[102.93883,32.998444],[102.938477,32.998497],[102.938469,32.998464],[102.938453,32.99845],[102.938434,32.998436],[102.938415,32.998425],[102.938389,32.998419],[102.938357,32.998413],[102.938331,32.998411],[102.938292,32.99841],[102.938256,32.998408],[102.938222,32.998415],[102.938193,32.998422],[102.938159,32.998434],[102.93813,32.998454],[102.938108,32.998472],[102.938081,32.998497],[102.93806,32.998523],[102.93804,32.998564],[102.938021,32.998604],[102.937807,32.99867],[102.937752,32.998662],[102.937689,32.99868],[102.937629,32.998709],[102.937586,32.998738],[102.93752,32.998759],[102.937224,32.99885],[102.936945,32.998557],[102.936956,32.998086],[102.936957,32.998075],[102.936958,32.998015],[102.936996,32.99804],[102.937052,32.998056],[102.937106,32.998043],[102.937142,32.998014],[102.937163,32.997974],[102.937139,32.997955],[102.937059,32.9979],[102.93698,32.997818],[102.936963,32.997787],[102.936954,32.99777],[102.936947,32.997751],[102.936929,32.997644],[102.936909,32.997525],[102.936905,32.997399],[102.936909,32.997338],[102.93694,32.997237],[102.93695,32.997206],[102.936943,32.997076],[102.936929,32.996827],[102.936887,32.996815],[102.936622,32.996741],[102.936612,32.996739],[102.936192,32.996622],[102.935852,32.996481],[102.935719,32.996425],[102.935324,32.99626],[102.935232,32.996222],[102.934749,32.996211],[102.933962,32.996193],[102.933285,32.996425],[102.932769,32.996601],[102.932608,32.996656],[102.932275,32.99677],[102.931714,32.997056],[102.93139,32.997147],[102.931208,32.997199],[102.931051,32.997236],[102.930902,32.997248],[102.930788,32.997263],[102.930704,32.997321],[102.930679,32.997396],[102.930684,32.997468],[102.930748,32.997514],[102.930961,32.997598],[102.930503,32.998093],[102.930204,32.998433],[102.929906,32.998774],[102.929353,32.999111],[102.928347,32.999726],[102.927557,32.999943],[102.927284,32.99991],[102.92683,32.999855],[102.926518,32.999816],[102.926467,32.99981],[102.925448,32.999592],[102.924316,32.999774],[102.923193,32.999641],[102.922543,32.999642],[102.922491,32.999642],[102.92169,32.999644],[102.920907,32.999516],[102.919982,32.999645],[102.918035,32.999698],[102.917514,32.999675],[102.917011,32.999653],[102.9162,32.999761],[102.916174,32.999764],[102.916126,32.999771],[102.916052,32.99978],[102.915434,32.999943],[102.914892,32.999732],[102.914209,32.998956],[102.914129,32.998931],[102.914031,32.998892],[102.91392,32.998843],[102.91386,32.998768],[102.913804,32.998675],[102.913747,32.998558],[102.913707,32.998406],[102.913258,32.998065],[102.912232,32.997048],[102.912156,32.996998],[102.912104,32.996916],[102.912034,32.996735],[102.911964,32.996527],[102.911844,32.996382],[102.91169,32.99629],[102.911493,32.996166],[102.911415,32.996074],[102.911393,32.996048],[102.910665,32.995057],[102.910068,32.994328],[102.908895,32.993387],[102.90796,32.99248],[102.907721,32.991037],[102.907704,32.990972],[102.907644,32.99074],[102.907786,32.990689],[102.907905,32.990584],[102.908002,32.990469],[102.907984,32.990283],[102.907883,32.990079],[102.907766,32.989945],[102.907673,32.989889],[102.907402,32.989805],[102.907377,32.989707],[102.907289,32.989367],[102.907257,32.989243],[102.907256,32.989241],[102.907229,32.989134],[102.907203,32.989031],[102.907153,32.98893],[102.907123,32.988829],[102.907112,32.988706],[102.907153,32.988593],[102.907148,32.988468],[102.907083,32.988337],[102.906997,32.988218],[102.906932,32.988087],[102.906877,32.987951],[102.90684,32.987808],[102.906836,32.987721],[102.906775,32.987602],[102.906681,32.987451],[102.906623,32.987326],[102.906576,32.987204],[102.906417,32.9869],[102.90555,32.98467],[102.905481,32.984526],[102.905163,32.983859],[102.904443,32.982349],[102.904256,32.981626],[102.904305,32.980994],[102.90433,32.98081],[102.904332,32.980799],[102.90423,32.980617],[102.904212,32.980503],[102.904233,32.980345],[102.904266,32.980259],[102.904366,32.980111],[102.904447,32.979969],[102.904561,32.979147],[102.904594,32.978913],[102.904633,32.978632],[102.904655,32.97847],[102.904675,32.978324],[102.904686,32.978259],[102.9047,32.978167],[102.904836,32.97732],[102.905155,32.976807],[102.90527,32.976262],[102.905355,32.975544],[102.90551,32.974799],[102.905513,32.974791],[102.905561,32.974561],[102.905554,32.974447],[102.905519,32.974347],[102.905462,32.974266],[102.905404,32.974157],[102.905436,32.973985],[102.905547,32.973693],[102.905686,32.973453],[102.905842,32.973237],[102.905943,32.97316],[102.906126,32.973054],[102.90621,32.972547],[102.906212,32.972537],[102.906193,32.972293],[102.906168,32.971965],[102.906163,32.971906],[102.906081,32.970837],[102.906044,32.969792],[102.906043,32.969763],[102.906011,32.968862],[102.906009,32.968813],[102.906008,32.968794],[102.906001,32.968584],[102.905999,32.968534],[102.906027,32.968355],[102.906063,32.968122],[102.906121,32.967749],[102.90613,32.967694],[102.906205,32.967212],[102.906244,32.967051],[102.90634,32.966847],[102.906439,32.966646],[102.906499,32.966255],[102.906495,32.965869],[102.906497,32.965334],[102.906522,32.965176],[102.906749,32.96423],[102.906946,32.961701],[102.907069,32.960811],[102.907099,32.959545],[102.907528,32.958718],[102.907793,32.957629],[102.908231,32.956428],[102.908971,32.955404],[102.909535,32.954665],[102.910227,32.954274],[102.910888,32.953738],[102.911482,32.953144],[102.912009,32.952887],[102.912574,32.952611],[102.912622,32.952587],[102.913242,32.952339],[102.912939,32.952161],[102.912465,32.951981],[102.911449,32.951647],[102.909909,32.950384],[102.909038,32.949679],[102.908545,32.948893],[102.907846,32.948134],[102.907391,32.947176],[102.906153,32.94612],[102.905414,32.945589],[102.904564,32.945489],[102.903707,32.945618],[102.902951,32.945864],[102.901924,32.945962],[102.900765,32.945914],[102.899676,32.945809],[102.898181,32.945496],[102.897195,32.945336],[102.89584,32.944939],[102.894722,32.944575],[102.8936,32.944383],[102.893464,32.944352],[102.893623,32.943434],[102.893751,32.942343],[102.893875,32.941453],[102.89386,32.940647],[102.893773,32.939983],[102.893542,32.939663],[102.892844,32.938845],[102.89211,32.938171],[102.891513,32.937442],[102.891224,32.93666],[102.891001,32.935994],[102.890806,32.935588],[102.89017,32.935088],[102.889218,32.934928],[102.888025,32.93485],[102.887179,32.934577],[102.886338,32.934045],[102.885266,32.933221],[102.884597,32.932663],[102.88366,32.931899],[102.882746,32.931567],[102.88147,32.930711],[102.880462,32.93006],[102.879622,32.929499],[102.878487,32.928444],[102.877686,32.927682],[102.876812,32.92715],[102.875972,32.926617],[102.874892,32.92611],[102.873804,32.925947],[102.87269,32.925439],[102.872158,32.924883],[102.871605,32.923752],[102.871284,32.922912],[102.871316,32.92156],[102.871693,32.92007],[102.871968,32.919496],[102.871981,32.91947],[102.876038,32.917017],[102.8761,32.916979],[102.876403,32.917034]]]]},"properties":{"cp":[103.14126598596769,33.03468485062284],"code":"513233208","name":"色地镇","level":"street","center":[103.14126598596769,33.03468485062284],"fullCode":"513233208000","fullName":"四川省阿坝藏族羌族自治州红原县色地镇","acreageMu":1798581.17,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.999,32.865]}}]} `,Bj="datas/geojsons/hongyuan-townships-screen.geojson",G_="assets/json/红原县-轮廓.json",zj="assets/json/中华人民共和国.json";function Q7(n){return`./${n}`}const Gj={邛溪镇:"qiongxi",刷经寺镇:"shuajingsi",安曲镇:"anqu",龙日镇:"longri",江茸乡:"jiangrong",查尔玛乡:"chaerma",瓦切镇:"waqie",阿木乡:"amu",麦洼乡:"maiwa",色地镇:"sedi"},Vj={色地镇:1199,瓦切镇:991,刷经寺镇:986,邛溪镇:896,阿木乡:892,安曲镇:885,查尔玛乡:729,龙日镇:645,麦洼乡:559,江茸乡:514},Hj={龙日镇:[102.5608,32.5099]};function jj(n){try{return JSON.parse(n)}catch(e){return{type:"FeatureCollection",features:[]}}}function Wj(n={}){const e=n.properties||{},t=e.cp||e.center||e.centroid||e.sourceCenter;return Array.isArray(t)&&Number.isFinite(Number(t[0]))&&Number.isFinite(Number(t[1]))?[Number(t[0]),Number(t[1])]:[0,0]}const $j=Ew,Yj=jj(Ew),Gf=Yj.features||[],Sd=Gf.reduce((n,e)=>{const t=e.properties||{},i=X4(t.name);return[t.code,t.fullCode].forEach(r=>{const a=String(r||"").replace(/\D/g,"");a&&i&&(n[a]=i)}),n},{}),qj=Gf.reduce((n,e)=>{const t=e.properties||{},i=X4(t.name),r=String(t.code||"").replace(/\D/g,"");return i&&r&&(n[i]=r),n},{}),ia=Gf.map(n=>{const e=n.properties||{},t=X4(e.name),i=Hj[t]||Wj(n);return{name:t,code:e.code,fullCode:e.fullCode,center:i,centroid:i,acreageMu:Number(e.acreageMu)||0}}),Pw=ia.map(n=>R3(d3({},n),{enName:Gj[n.name]||"",value:Vj[n.name]||0})).sort((n,e)=>e.value-n.value),Rw=ia.map(n=>n.name);function X4(n){const e=String(n||"").trim();return!e||e==="--"?"":e}function J4(n){const e=String(n||"").replace(/\D/g,"");return e&&(Sd[e]||Sd[e.slice(0,12)]||Sd[e.slice(0,9)])||""}function Kj(n){const e=X4(n);return e&&qj[e]||""}function Xj(n){const e=X4(n);return!!(e&&ia.some(t=>t.name===e))}const Jj=ia.map(n=>d3({},n)),V_=Pw.map(n=>d3({},n)),Zj=Pw.map(n=>{var e,t;return{name:n.name,value:n.value,lng:(e=n.center)==null?void 0:e[0],lat:(t=n.center)==null?void 0:t[1]}}),Qj=[{name:"邛溪镇",level:"县城驻地",value:895.94,lng:102.60242339873115,lat:32.83022561372293},{name:"瓦切镇",level:"北部牧区",value:991,lng:102.71535664604494,lat:33.12869670968013},{name:"刷经寺镇",level:"南部通道",value:986.44,lng:102.55651980382184,lat:32.204097908180216},{name:"色地镇",level:"东部片区",value:1199.06,lng:103.12540730227074,lat:33.010462261362875}];var H_=class{constructor(e,t){i0(this,"target");i0(this,"name");i0(this,"intersected");i0(this,"wasIntersected",!1);i0(this,"wasIntersectedOnMouseDown",!1);i0(this,"distance");this.target=e,this.name=t,this.intersected=!1,this.distance=0}},gn=class{constructor(n,e=null){i0(this,"type");i0(this,"cancelBubble");i0(this,"originalEvent");i0(this,"coords",new F3(0,0));i0(this,"distance",0);i0(this,"intersected",!1);i0(this,"wasIntersected",!1);i0(this,"wasIntersectedOnMouseDown",!1);this.cancelBubble=!1,this.type=n,this.originalEvent=e}stopPropagation(){this.cancelBubble=!0}},eW=class{constructor(n,e,t,i){i0(this,"renderer");i0(this,"camera");i0(this,"domElement");i0(this,"bindEventsOnBodyElement");i0(this,"autoAdd");i0(this,"scene");i0(this,"mouse");i0(this,"supportsPointerEvents");i0(this,"interactiveObjects");i0(this,"closestObject");i0(this,"raycaster");i0(this,"treatTouchEventsAsMouseEvents");i0(this,"dispose",()=>{this.domElement.removeEventListener("click",this.onMouseClick),this.supportsPointerEvents&&(this.bindEventsOnBodyElement?this.domElement.ownerDocument.removeEventListener("pointermove",this.onDocumentPointerMove):this.domElement.removeEventListener("pointermove",this.onDocumentPointerMove),this.domElement.removeEventListener("pointerdown",this.onPointerDown),this.domElement.removeEventListener("pointerup",this.onPointerUp)),this.bindEventsOnBodyElement?this.domElement.ownerDocument.removeEventListener("mousemove",this.onDocumentMouseMove):this.domElement.removeEventListener("mousemove",this.onDocumentMouseMove),this.domElement.removeEventListener("mousedown",this.onMouseDown),this.domElement.removeEventListener("mouseup",this.onMouseUp),this.domElement.removeEventListener("touchstart",this.onTouchStart),this.domElement.removeEventListener("touchmove",this.onTouchMove),this.domElement.removeEventListener("touchend",this.onTouchEnd)});i0(this,"add",(n,e=[])=>{if(n&&!this.interactiveObjects.find(t=>t.target===n))if(e.length>0)e.forEach(t=>{let i=n.getObjectByName(t);if(i){let r=new H_(i,t);this.interactiveObjects.push(r)}});else{let t=new H_(n,n.name);this.interactiveObjects.push(t)}});i0(this,"remove",(n,e=[])=>{!n||(e.length>0?e.forEach(t=>{let i=n.getObjectByName(t);i&&(this.interactiveObjects=this.interactiveObjects.filter(r=>r.target!==i))}):this.interactiveObjects=this.interactiveObjects.filter(t=>t.target!==n))});i0(this,"update",()=>{var i;this.raycaster.setFromCamera(this.mouse,this.camera),this.interactiveObjects.forEach(r=>{r.target&&this.checkIntersection(r)}),this.interactiveObjects.sort(function(r,a){return r.distance-a.distance});let n=(i=this.interactiveObjects.find(r=>r.intersected))!=null?i:null;if(n!=this.closestObject){if(this.closestObject){let r=new gn("mouseout");this.dispatch(this.closestObject,r)}if(n){let r=new gn("mouseover");this.dispatch(n,r)}this.closestObject=n}let e;this.interactiveObjects.forEach(r=>{!r.intersected&&r.wasIntersected&&(e||(e=new gn("mouseleave")),this.dispatch(r,e))});let t;this.interactiveObjects.forEach(r=>{r.intersected&&!r.wasIntersected&&(t||(t=new gn("mouseenter")),this.dispatch(r,t))})});i0(this,"checkIntersection",n=>{let e=this.raycaster.intersectObjects([n.target],!0);if(n.wasIntersected=n.intersected,e.length>0){let t=e[0].distance;e.forEach(i=>{i.distance{this.mapPositionToPoint(this.mouse,n.clientX,n.clientY);let e=new gn("mousemove",n);this.interactiveObjects.forEach(t=>{this.dispatch(t,e)})});i0(this,"onDocumentPointerMove",n=>{this.mapPositionToPoint(this.mouse,n.clientX,n.clientY);let e=new gn("pointermove",n);this.interactiveObjects.forEach(t=>{this.dispatch(t,e)})});i0(this,"onTouchMove",n=>{n.touches.length>0&&this.mapPositionToPoint(this.mouse,n.touches[0].clientX,n.touches[0].clientY);let e=new gn(this.treatTouchEventsAsMouseEvents?"mousemove":"touchmove",n);this.interactiveObjects.forEach(t=>{this.dispatch(t,e)})});i0(this,"onMouseClick",n=>{this.update();let e=new gn("click",n);this.interactiveObjects.forEach(t=>{t.intersected&&this.dispatch(t,e)})});i0(this,"onMouseDown",n=>{this.mapPositionToPoint(this.mouse,n.clientX,n.clientY),this.update();let e=new gn("mousedown",n);this.interactiveObjects.forEach(t=>{t.intersected?(t.wasIntersectedOnMouseDown=!0,this.dispatch(t,e)):t.wasIntersectedOnMouseDown=!1})});i0(this,"onPointerDown",n=>{this.mapPositionToPoint(this.mouse,n.clientX,n.clientY),this.update();let e=new gn("pointerdown",n);this.interactiveObjects.forEach(t=>{t.intersected&&this.dispatch(t,e)})});i0(this,"onTouchStart",n=>{n.touches.length>0&&this.mapPositionToPoint(this.mouse,n.touches[0].clientX,n.touches[0].clientY),this.update();let e=new gn(this.treatTouchEventsAsMouseEvents?"mousedown":"touchstart",n);this.interactiveObjects.forEach(t=>{t.intersected&&this.dispatch(t,e)})});i0(this,"onMouseUp",n=>{let e=new gn("mouseup",n);this.interactiveObjects.forEach(t=>{this.dispatch(t,e)})});i0(this,"onPointerUp",n=>{let e=new gn("pointerup",n);this.interactiveObjects.forEach(t=>{this.dispatch(t,e)})});i0(this,"onTouchEnd",n=>{n.touches.length>0&&this.mapPositionToPoint(this.mouse,n.touches[0].clientX,n.touches[0].clientY),this.update();let e=new gn(this.treatTouchEventsAsMouseEvents?"mouseup":"touchend",n);this.interactiveObjects.forEach(t=>{this.dispatch(t,e)})});i0(this,"dispatch",(n,e)=>{n.target&&!e.cancelBubble&&(e.coords=this.mouse,e.distance=n.distance,e.intersected=n.intersected,e.wasIntersected=n.wasIntersected,e.wasIntersectedOnMouseDown=n.wasIntersectedOnMouseDown,n.target.dispatchEvent(e))});i0(this,"mapPositionToPoint",(n,e,t)=>{let i=this.renderer.domElement.getBoundingClientRect();n.x=(e-i.left)/i.width*2-1,n.y=-((t-i.top)/i.height)*2+1});this.renderer=n,this.camera=e,this.domElement=t,this.bindEventsOnBodyElement=i&&typeof i.bindEventsOnBodyElement<"u"?i.bindEventsOnBodyElement:!0,this.scene=i&&typeof i.scene<"u"?i.scene:null,this.scene&&(this.scene.onBeforeRender=()=>{this.autoAdd&&this.scene!==null&&this.scene.traverse(r=>{this.add(r),r.addEventListener("removed",a=>{this.remove(a.target)})}),this.update()}),this.autoAdd=i&&typeof i.autoAdd<"u"?i.autoAdd:!1,this.autoAdd&&this.scene===null&&console.error("Attention: Options.scene needs to be set when using options.autoAdd"),this.mouse=new F3(-1,1),this.supportsPointerEvents=!!window.PointerEvent,this.interactiveObjects=[],this.closestObject=null,this.raycaster=new qV,t.addEventListener("click",this.onMouseClick),this.supportsPointerEvents&&(this.bindEventsOnBodyElement?t.ownerDocument.addEventListener("pointermove",this.onDocumentPointerMove):t.addEventListener("pointermove",this.onDocumentPointerMove),t.addEventListener("pointerdown",this.onPointerDown),t.addEventListener("pointerup",this.onPointerUp)),this.bindEventsOnBodyElement?t.ownerDocument.addEventListener("mousemove",this.onDocumentMouseMove):t.addEventListener("mousemove",this.onDocumentMouseMove),t.addEventListener("mousedown",this.onMouseDown),t.addEventListener("mouseup",this.onMouseUp),t.addEventListener("touchstart",this.onTouchStart,{passive:!0}),t.addEventListener("touchmove",this.onTouchMove,{passive:!0}),t.addEventListener("touchend",this.onTouchEnd,{passive:!0}),this.treatTouchEventsAsMouseEvents=!0}};const fr=256,tW="https://map.shuxitech.com/vt/lyrs=s&hl=zh-CN&x={x}&y={y}&z={z}",Za={west:101.852492,south:31.851389,east:103.347518,north:33.319796};function j_(n,e,t){const i=Oi(2,t),r=Math.sin(e*Math.PI/180);return{x:(n+180)/360*i,y:(.5-Math.log((1+r)/(1-r))/(4*Math.PI))*i}}function W_(n,e,t){const i=Oi(2,t),r=n/i*360-180,a=Math.PI-2*Math.PI*e/i,s=180/Math.PI*Math.atan(.5*(Math.exp(a)-Math.exp(-a)));return[r,s]}function nW(n,e){const t=j_(n.west,n.north,e),i=j_(n.east,n.south,e),r=Math.floor(t.x),a=Math.floor(i.x),s=Math.floor(t.y),o=Math.floor(i.y);return{zoom:e,minX:r,maxX:a,minY:s,maxY:o,cols:a-r+1,rows:o-s+1}}function iW(n,e){const[t,i]=W_(n.minX,n.minY,n.zoom),[r,a]=W_(n.maxX+1,n.maxY+1,n.zoom),[s]=e([t,Za.south]),[o]=e([r,Za.south]),[,l]=e([Za.west,i]),[,u]=e([Za.west,a]);return{left:s,right:o,bottom:-u,top:-l}}function rW(n,e){const{width:t,height:i}=e;n.save(),n.globalCompositeOperation="multiply",n.fillStyle="rgba(5, 24, 34, 0.22)",n.fillRect(0,0,t,i),n.globalCompositeOperation="screen";const r=n.createRadialGradient(t*.5,i*.48,t*.1,t*.5,i*.5,t*.72);r.addColorStop(0,"rgba(80, 230, 255, 0.16)"),r.addColorStop(1,"rgba(0, 18, 36, 0.03)"),n.fillStyle=r,n.fillRect(0,0,t,i),n.restore()}function aW(n,e){const t=n.createLinearGradient(0,0,e.width,e.height);t.addColorStop(0,"#061927"),t.addColorStop(.5,"#0b2c3c"),t.addColorStop(1,"#07131f"),n.fillStyle=t,n.fillRect(0,0,e.width,e.height)}function sW(n){return new Promise(e=>{const t=new Image;t.crossOrigin="anonymous",t.onload=()=>e(t),t.onerror=()=>e(null),t.src=n})}function oW(n,e,t){return tW.replace("{x}",n).replace("{y}",e).replace("{z}",t)}function lW(n,e,t,i){return k3(this,null,function*(){const r=[];n.save(),n.filter="brightness(0.92) contrast(1.22) saturate(1.06)";for(let a=i.minX;a<=i.maxX;a+=1)for(let s=i.minY;s<=i.maxY;s+=1)r.push(sW(oW(a,s,i.zoom)).then(o=>{o&&(n.drawImage(o,(a-i.minX)*fr,(s-i.minY)*fr,fr,fr),t.needsUpdate=!0)}));yield Promise.allSettled(r),n.restore(),rW(n,e),t.needsUpdate=!0})}function uW({geoProjectionCenter:n,geoProjectionScale:e,zoom:t=11}={}){const i=nW(Za,t),r=document.createElement("canvas");r.width=i.cols*fr,r.height=i.rows*fr;const a=r.getContext("2d");aW(a,r);const s=new Ko(r);s.colorSpace=J0,s.wrapS=Yt,s.wrapT=Yt,s.minFilter=at,s.magFilter=at,s.needsUpdate=!0;const o=Ji().center(n).scale(e).translate([0,0]),l=iW(i,o);return lW(a,r,s,i).catch(u=>{console.warn("load satellite tiles failed:",u)}),{texture:s,uvBounds:l}}function $_(n,e){const t=e.right-e.left,i=e.top-e.bottom;n.mapGroup.traverse(r=>{var o,l;const a=(l=(o=r.geometry)==null?void 0:o.attributes)==null?void 0:l.position;if(!r.isMesh||!a)return;const s=new Float32Array(a.count*2);for(let u=0;uR3(d3({},n),{key:`grassland-type-${e+1}`,cqlFilter:an("grass_min_type",n.name),rankingPropertyName:["area_code","acreage"],rankingTownCodeKeys:["area_code"],rankingAreaKeys:["acreage"]})),q_=[{name:">4000(kg/hm2)",fillColor:"#39A700",strokeColor:"#39A700"},{name:"3000-4000(kg/hm2)",fillColor:"#8CCF00",strokeColor:"#8CCF00"},{name:"2000-3000(kg/hm2)",fillColor:"#FEFE02",strokeColor:"#FEFE02"},{name:"1500-2000(kg/hm2)",fillColor:"#FE7E01",strokeColor:"#FE7E01"},{name:"<1500(kg/hm2)",fillColor:"#FB0100",strokeColor:"#FB0100"}].map(n=>R3(d3({},n),{selectable:!1})),c4={1:"一级",2:"二级",3:"三级",4:"四级",5:"五级",6:"六级",7:"七级",8:"八级"},Nw=[{level:"1",name:"1级草原",fillColor:"#81D10B",strokeColor:"#81D10B"},{level:"2",name:"2级草原",fillColor:"#8AE611",strokeColor:"#8AE611"},{level:"3",name:"3级草原",fillColor:"#79C801",strokeColor:"#79C801"},{level:"4",name:"4级草原",fillColor:"#D0EC03",strokeColor:"#D0EC03"},{level:"5",name:"5级草原",fillColor:"#FFCC00",strokeColor:"#FFCC00"},{level:"6",name:"6级草原",fillColor:"#FF6501",strokeColor:"#FF6501"},{level:"7",name:"7级草原",fillColor:"#FB0002",strokeColor:"#FB0002"},{level:"8",name:"8级草原",fillColor:"#D71345",strokeColor:"#D71345"}].map(n=>R3(d3({},n),{key:`grassland-level-${n.level}`,cqlFilter:`grassland_level IN ('${n.level}','${n.name}','${c4[n.level]}草原','${c4[n.level]}草地')`,rankingPropertyName:["area_code","acreage"],rankingTownCodeKeys:["area_code"],rankingAreaKeys:["acreage"],level:void 0})),hW=Nw.map(n=>{const e=n.key.replace("grassland-level-",""),t=n.name.replace("草原","湿地");return R3(d3({},n),{key:`wetland-level-${e}`,name:t,cqlFilter:`grassland_level IN ('${e}','${t}','${n.name}','${c4[e]}湿地','${c4[e]}草原','${c4[e]}草地')`})}),fW=[{key:"basic-grassland-basic",name:"基本草原",fillColor:"#2EEA78",strokeColor:"#18F8FF",cqlFilter:"(grassland_category_code = 'BASIC' OR grassland_category_name = '基本草原')",rankingValueKey:"basicAreaWanMu"},{key:"basic-grassland-general",name:"一般草原",fillColor:"#FFD15A",strokeColor:"#18F8FF",cqlFilter:"(grassland_category_code = 'GENERAL' OR grassland_category_name = '一般草原')",rankingValueKey:"generalAreaWanMu"}],Yr=[{key:"grassland",name:"草地资源",color:"#8AE611",defaultLayerKey:"grassland-distribution",coreGroups:["grassLand","grassland"]},{key:"wetland",name:"湿地资源",color:"#33A3DC",defaultLayerKey:"wetland-distribution",coreGroups:["wetland"]},{key:"woodland",name:"林地资源",color:"#2BD17E",defaultLayerKey:"woodland-distribution",coreGroups:["woodland"]}],So=[{key:"national-park",name:"若尔盖国家公园",color:"#8AE611",defaultLayerKey:"national-park-zoning"},{key:"restoration",name:"生态修复工程",color:"#33A3DC",defaultLayerKey:"restoration-projects"},{key:"engineering-analysis",name:"工程分析",color:"#24F6C4",defaultLayerKey:"engineering-analysis-projects"}],Lw=[{key:"yak-industry-chain",name:"牦牛产业链",color:"#24F6C4",defaultLayerKey:"yak-industry-points"}],bo={woodland:[{key:"woodland-distribution",name:"林地范围",layerName:"ne:t_woodland_2023",styles:"woodland_distribution",opacity:.82,legends:[{key:"woodland-distribution-all",name:"林地范围",fillColor:"#2BD17E",strokeColor:"#2BD17E",selectable:!1}]},{key:"woodland-protection",name:"公益林",layerName:"ne:t_woodland_2023",styles:"woodland_protection",opacity:.86,legends:[{key:"woodland-protection-level-1",name:"国家一级公益林",fillColor:"#08C4C5",strokeColor:"#08C4C5",cqlFilter:an("gjgyl_bhdj","1")},{key:"woodland-protection-level-2",name:"国家二级公益林",fillColor:"#2BD17E",strokeColor:"#2BD17E",cqlFilter:an("gjgyl_bhdj","2")},{key:"woodland-protection-unset",name:"未划定",fillColor:"#6B8191",strokeColor:"#6B8191",cqlFilter:"(gjgyl_bhdj IS NULL OR gjgyl_bhdj = '' OR gjgyl_bhdj NOT IN ('1','2'))"}]},{key:"woodland-type",name:"林地类型",layerName:"ne:t_woodland_2023",styles:"woodland_type",opacity:.84,legends:[{key:"woodland-type-shrub",name:"灌木林地",fillColor:"#2BD17E",strokeColor:"#2BD17E",cqlFilter:an("dlmc","灌木林地")},{key:"woodland-type-arbor",name:"乔木林地",fillColor:"#0DA368",strokeColor:"#0DA368",cqlFilter:an("dlmc","乔木林地")},{key:"woodland-type-swamp",name:"灌丛沼泽",fillColor:"#23C7B7",strokeColor:"#23C7B7",cqlFilter:an("dlmc","灌丛沼泽")},{key:"woodland-type-other",name:"其他林地",fillColor:"#B7D96B",strokeColor:"#B7D96B",cqlFilter:"(dlmc IS NULL OR dlmc = '' OR dlmc NOT IN ('灌木林地','乔木林地','灌丛沼泽'))"}]},{key:"woodland-quality",name:"林地质量",layerName:"ne:t_woodland_2023",styles:"woodland_quality",opacity:.84,legends:[{key:"woodland-quality-2",name:"二级质量",fillColor:"#08C4C5",strokeColor:"#08C4C5",cqlFilter:an("zl_dj","2")},{key:"woodland-quality-3",name:"三级质量",fillColor:"#2BD17E",strokeColor:"#2BD17E",cqlFilter:an("zl_dj","3")},{key:"woodland-quality-4",name:"四级质量",fillColor:"#23C7B7",strokeColor:"#23C7B7",cqlFilter:an("zl_dj","4")},{key:"woodland-quality-5",name:"五级质量",fillColor:"#B7D96B",strokeColor:"#B7D96B",cqlFilter:an("zl_dj","5")},{key:"woodland-quality-unset",name:"未划分",fillColor:"#6B8191",strokeColor:"#6B8191",cqlFilter:"(zl_dj IS NULL OR zl_dj = '' OR zl_dj NOT IN ('2','3','4','5'))"}]},{key:"woodland-ownership",name:"林地权属",layerName:"ne:t_woodland_2023",styles:"woodland_ownership",opacity:.84,legends:[{key:"woodland-ownership-collective",name:"集体林地",fillColor:"#2BD17E",strokeColor:"#2BD17E",cqlFilter:an("ld_qs","10")},{key:"woodland-ownership-other",name:"国有或其他",fillColor:"#08C4C5",strokeColor:"#08C4C5",cqlFilter:"(ld_qs IS NULL OR ld_qs = '' OR ld_qs <> '10')"}]}],grassland:[{key:"grassland-distribution",name:"草地分布",layerName:"ne:t_grassland_result_caodi",opacity:.82,legends:[{name:"草地",fillColor:"#1D953F",strokeColor:"#1D953F"}]},{key:"basic-grassland",name:"基本/一般草原",layerName:"ne:t_basic_grassland_2023",styles:"basic_grassland_type",opacity:.84,legends:fW},{key:"grassland-level",name:"草原级",layerName:"ne:t_grassland_result_level_caodi",opacity:.82,legends:Nw},{key:"grassland-type",name:"草原类型",layerName:"ne:t_grassland_result_grass_min_type_caodi",opacity:.82,legends:Y_},{key:"grassland-yield",name:"草地产草量/生产力",layerName:"ne:t_grassland_result_yield_caodi",opacity:.82,legends:q_},{key:"grassland-health",name:"草地健康/退化",layerName:"ne:2023_08_ndvi",opacity:.72,legends:[{name:"非常差",fillColor:"#FF000533",strokeColor:"#FF0005",selectable:!1},{name:"差",fillColor:"#D8EE8C33",strokeColor:"#D8EE8C",selectable:!1},{name:"正常",fillColor:"#78C96233",strokeColor:"#78C962",selectable:!1},{name:"较好",fillColor:"#25814933",strokeColor:"#258149",selectable:!1}]}],wetland:[{key:"wetland-distribution",name:"湿地分布",layerName:"ne:t_grassland_result_shidi",opacity:.84,legends:[{name:"湿地",fillColor:"#33A3DC",strokeColor:"#33A3DC"}]},{key:"wetland-level",name:"湿地级",layerName:"ne:t_grassland_result_level_shidi",opacity:.82,legends:hW},{key:"wetland-type",name:"湿地类型",layerName:"ne:t_grassland_result_grass_min_type_shidi",opacity:.82,legends:Y_},{key:"wetland-yield",name:"湿地产草量/生产力",layerName:"ne:t_grassland_result_yield_shidi",opacity:.82,legends:q_}]},Iw={"national-park":[{key:"national-park-zoning",name:"国家公园分区",sourceType:"wkt-api",apiUrl:"/openApi/gjgy/gjgy_area",fallbackPath:"datas/ecological-protection/national_park_wkt.json",clipToHongyuanBoundary:!0,opacity:.9,clipBounds:{west:101.852492,south:32.757724488,east:103.227028864,north:33.319796},mapView:{targetLngLat:[102.74,33.12],distanceScale:.68,targetLocalZ:.78,duration:.95},legends:[{key:"national-park-core",name:"核心保护区",fillColor:"#2EEA78",strokeColor:"#18F8FF",match:{field:"type",value:"核心保护区"},selectable:!1},{key:"national-park-general",name:"一般控制区",fillColor:"#FFD15A",strokeColor:"#FFF2A0",match:{field:"type",value:"一般控制区"},selectable:!1}]}],restoration:[{key:"restoration-projects",name:"生态修复工程",sourceType:"geojson",dataPath:"datas/ecological-protection/ecological_restoration_projects.geojson",opacity:.9,legends:[{key:"restoration-grassland",name:"草地修复",fillColor:"#70D44B",strokeColor:"#B7FF6D",cqlFilter:an("project_category","草地修复"),match:{field:"project_category",value:"草地修复"}},{key:"restoration-wetland",name:"湿地修复",fillColor:"#42C6DF",strokeColor:"#9CF7FF",cqlFilter:an("project_category","湿地修复"),match:{field:"project_category",value:"湿地修复"}},{key:"restoration-woodland",name:"林地修复",fillColor:"#1FB579",strokeColor:"#57F2A6",cqlFilter:an("project_category","林地修复"),match:{field:"project_category",value:"林地修复"}},{key:"restoration-linear",name:"线性设施",fillColor:"#F5C84B",strokeColor:"#FFE289",cqlFilter:an("feature_role","线性设施"),match:{field:"feature_role",value:"线性设施"}}]}],"engineering-analysis":[{key:"engineering-analysis-projects",name:"工程分析项目库",sourceType:"geojson",dataPath:"datas/ecological-protection/ecological_restoration_projects.geojson",opacity:.82,mapView:{targetLngLat:[102.58,32.72],distanceScale:.78,targetLocalZ:.72,duration:.85},legends:[{key:"analysis-project-grassland",name:"草地修复",fillColor:"#70D44B",strokeColor:"#B7FF6D",match:{field:"project_category",value:"草地修复"},selectable:!1},{key:"analysis-project-wetland",name:"湿地修复",fillColor:"#42C6DF",strokeColor:"#9CF7FF",match:{field:"project_category",value:"湿地修复"},selectable:!1},{key:"analysis-project-woodland",name:"林地修复",fillColor:"#1FB579",strokeColor:"#57F2A6",match:{field:"project_category",value:"林地修复"},selectable:!1},{key:"analysis-project-linear",name:"线性设施",fillColor:"#F5C84B",strokeColor:"#FFE289",match:{field:"feature_role",value:"线性设施"},selectable:!1}]}]},kw=Object.fromEntries(ia.map(n=>[n.name,n.center])),pW=[{name:"色地镇",count:131983,devices:25},{name:"瓦切镇",count:126611,devices:24},{name:"安曲镇",count:99331,devices:20},{name:"邛溪镇",count:81727,devices:18},{name:"麦洼乡",count:78489,devices:16},{name:"龙日镇",count:66846,devices:15},{name:"阿木乡",count:64176,devices:14},{name:"查尔玛乡",count:47958,devices:11},{name:"江茸乡",count:34576,devices:9},{name:"刷经寺镇",count:30407,devices:8}];function mW(n,e,t,i){const r=kw[n.name];return{type:"Feature",properties:{id:`${t}-${e+1}`,name:n.name,town:n.name,count:n.count,value:n.count,devices:n.devices,metricLabel:i},geometry:{type:"Point",coordinates:r}}}function gW(n,e,t){return{type:"FeatureCollection",features:n.filter(i=>kw[i.name]).map((i,r)=>mW(i,r,e,t))}}const vW={"yak-industry-chain":[{key:"yak-recognition-layer",name:"牦牛识别",sourceType:"geojson",geojsonData:gW(pW,"yak-recognition-layer","识别数量"),opacity:.94,mapView:{targetLngLat:[102.58,32.72],distanceScale:.82,targetLocalZ:.76,duration:.85},legends:[{key:"yak-recognition-all",name:"牦牛识别",fillColor:"#32DCFF",strokeColor:"#B8F7FF",selectable:!1}]},{key:"yak-industry-points",name:"牦牛产业点位",sourceType:"geojson",dataPath:"datas/yak-industry-chain/yak_industry_points.geojson",opacity:.96,pointLabelLimit:12,showPointLabels:!1,mapView:{targetLngLat:[102.48,32.69],distanceScale:.82,targetLocalZ:.76,duration:.85},legends:[{key:"yak-industry-family-pasture",name:"家庭生态牧场",fillColor:"#24F6C4",strokeColor:"#B7FFF2",match:{field:"stageKey",value:"family-pasture"}},{key:"yak-industry-artificial-grassland",name:"人工草地",fillColor:"#7EE269",strokeColor:"#D6FF8D",match:{field:"stageKey",value:"artificial-grassland"}},{key:"yak-industry-scale-breeding",name:"规模化养殖基地",fillColor:"#32DCFF",strokeColor:"#B8F7FF",match:{field:"stageKey",value:"scale-breeding"}},{key:"yak-industry-forage-storage",name:"防灾减灾",fillColor:"#FFE06B",strokeColor:"#FFF2A0",match:{field:"stageKey",value:"forage-storage"}},{key:"yak-industry-slaughter-processing",name:"屠宰与加工",fillColor:"#FF9A62",strokeColor:"#FFD0A8",match:{field:"stageKey",value:"slaughter-processing"}},{key:"yak-industry-farm-equipment",name:"农机装备",fillColor:"#30DCFF",strokeColor:"#B8F7FF",match:{field:"stageKey",value:"farm-equipment"}},{key:"yak-industry-social-service",name:"社会化服务",fillColor:"#9EA7FF",strokeColor:"#DFE3FF",match:{field:"stageKey",value:"social-service"}}]}]},yW=d3(d3(d3({},bo),Iw),vW),_W=[...Yr,...So,...Lw];function K_(n){return _W.find(e=>e.key===n)||Yr[0]}function zl(n){return yW[n]||[]}function Z4(n,e){const t=zl(n);return t.find(i=>i.key===e)||t[0]}const SW=12e3;function bW(n,e={}){const t=new URLSearchParams;Object.entries(e).forEach(([r,a])=>{a!=null&&a!==""&&t.append(r,a)});const i=t.toString();return i?`${n}${n.includes("?")?"&":"?"}${i}`:n}function Q6(t){return k3(this,arguments,function*(n,e={}){const u=e,{params:i,timeout:r=SW}=u,a=Ng(u,["params","timeout"]),s=new AbortController;let o=!1;const l=window.setTimeout(()=>{o=!0,s.abort()},r);try{const d=yield fetch(bW(n,i),R3(d3({credentials:"include"},a),{signal:s.signal,headers:d3({Accept:"application/json"},a.headers||{})}));if(!d.ok){const f=new Error(d.status===401?"用户未登录或授权已过期。":`HTTP ${d.status}`);throw f.code=`HTTP_${d.status}`,f.status=d.status,d.status===401&&Dg(),f}const h=yield d.json();if((h==null?void 0:h.code)===401||(h==null?void 0:h.code)==="401"){const f=new Error((h==null?void 0:h.msg)||"用户未登录或授权已过期。");throw f.code="HTTP_401",f.status=401,Dg(),f}return h}catch(d){if(s.signal.aborted||(d==null?void 0:d.name)==="AbortError"||/aborted/i.test((d==null?void 0:d.message)||"")){const f=new Error(o?"服务响应超时,请稍后再试。":"请求已取消,请重新发送。");throw f.code=o?"REQUEST_TIMEOUT":"REQUEST_ABORTED",f}throw d}finally{window.clearTimeout(l)}})}function r0(n){return(n==null?void 0:n.data)!==void 0?n.data:(n==null?void 0:n.result)!==void 0?n.result:n}const Vf="/geoserver/ne/wms",TW={}.VITE_GEOSERVER_WFS_URL||Vf.replace(/\/wms$/i,"/wfs");function Hf(n,e){const t=new URLSearchParams;return Object.entries(e).forEach(([i,r])=>{r!=null&&r!==""&&t.append(i,r)}),`${n}${n.includes("?")?"&":"?"}${t.toString()}`}function X_(n,e={}){const t=e.bounds||v0,i=e.size||U5;return Hf(e.url||Vf,{service:"WMS",version:"1.1.1",request:"GetMap",layers:n.layerName,styles:n.styles||"",format:"image/png",transparent:!0,tiled:!0,srs:"EPSG:4326",bbox:[t.west,t.south,t.east,t.north].join(","),width:i.width,height:i.height,CQL_FILTER:e.cqlFilter||n.cqlFilter,_:Date.now()})}function wW(n,e,t={}){var a,s;const i=t.bounds||v0,r=t.size||U5;return Hf(t.url||Vf,{service:"WMS",version:"1.1.1",request:"GetFeatureInfo",layers:n.layerName,query_layers:n.layerName,styles:n.styles||"",info_format:"application/json",feature_count:5,srs:"EPSG:4326",bbox:[i.west,i.south,i.east,i.north].join(","),width:r.width,height:r.height,x:Math.round(e.x),y:Math.round(e.y),buffer:(s=(a=t.buffer)!=null?a:n.queryBuffer)!=null?s:8,CQL_FILTER:t.cqlFilter||n.cqlFilter})}function J_(i,r){return k3(this,arguments,function*(n,e,t={}){const a=wW(n,e,t);return Q6(a,{credentials:"include"})})}function xW(n,e={}){return Hf(e.url||TW,{service:"WFS",version:e.version||"1.0.0",request:"GetFeature",typeName:n,outputFormat:"json",propertyName:Array.isArray(e.propertyName)?e.propertyName.join(","):e.propertyName,CQL_FILTER:e.cqlFilter,maxFeatures:e.maxFeatures||2e5})}function O4(t){return k3(this,arguments,function*(n,e={}){const i=xW(n,e);return Q6(i,{credentials:"include",timeout:e.timeout||2e4})})}function Z_(n){var i;const e=(i=n==null?void 0:n.features)==null?void 0:i[0];if(!e)return null;const t=e.properties||{};return{id:e.id||t.gid||t.objectid||t.OBJECTID,properties:t,feature:e}}const AW=new k2(0,22.8,18.8),CW=new k2(0,0,0),MW=new k2(-7.2,24.2,31.2);function Q_(n){return n.sort((e,t)=>t.value-e.value),n}function D9(n){return String(n||"").replace(/\s+/g,"").trim()}function re(n,e=0){const t=Number(n);return Number.isFinite(t)?t:e}function dt(n){return String(n!=null?n:"").replace(/[&<>"']/g,e=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[e])}function eS(n){return(n==null?void 0:n.scope)==="village"||(n==null?void 0:n.labelMode)==="village"}function tS(n){return(n==null?void 0:n.scope)==="trade-flow"||(n==null?void 0:n.labelMode)==="trade-flow"}function nS(n){return!!(n!=null&&n.hideTownNames||(n==null?void 0:n.showTownNames)===!1)}function ja(n){return!!(n!=null&&n.hideMapLabels||(n==null?void 0:n.showMapLabels)===!1)}function EW(n){return(n==null?void 0:n.displayMode)==="callout"||(n==null?void 0:n.labelMode)==="callout"}function eo(n){return["wkt-api","geojson","wfs"].includes(n==null?void 0:n.sourceType)}function iS(n){return n?/^https?:\/\//.test(n)||n.startsWith("/")?n:`./${n}`:""}function PW(n){if(!n)return null;if(typeof n=="string")try{return JSON.parse(n)}catch(e){return console.warn("地图 GeoJSON 解析失败",e),null}return n}function to(n){const e=PW(n);return e!=null&&e.features&&e.features.forEach(t=>{var i;((i=t.geometry)==null?void 0:i.type)==="Polygon"&&(t.geometry.coordinates=[t.geometry.coordinates])}),e}function rS(n){var e,t,i;return n!=null&&n.coordinates?n.type==="Polygon"?Array.isArray((i=(t=(e=n.coordinates)==null?void 0:e[0])==null?void 0:t[0])==null?void 0:i[0])?n.coordinates:[n.coordinates]:n.type==="MultiPolygon"?n.coordinates:[]:[]}class RW extends Cj{constructor(e,t,i={}){var r,a,s,o;super(e),this.geoProjectionCenter=[102.6305459723107,32.72169252326339],this.geoProjectionScale=650,this.tradeGeoProjectionCenter=[104,36],this.tradeGeoProjectionScale=11.4,this.tradeNationalDepth=.24,this.depth=.5,this.clicked=!1,this.scene.fog=new xf(466735,1,50),this.scene.background=new R1(466735),this.camera.instance.position.copy(MW),this.camera.instance.near=1,this.camera.instance.far=1e4,this.camera.instance.updateProjectionMatrix(),this.defaultMapCameraPosition=AW.clone(),this.defaultMapTarget=CW.clone(),this.camera.controls.target.copy(this.defaultMapTarget),this.camera.controls.update(),this.activeMapViewTweens=[],this.sceneTweens=[],this.sceneTimers=[],this.interactionManager=new eW(this.renderer.instance,this.camera.instance,this.canvas),this.assets=t,this.callbacks=i,this.topicLayerLoadId=0,this.visibleTopicLayers=[],this.mapAnimationComplete=!1,this.showTownRankingBars=!1,this.showTownRankingPointMarkers=!1,this.currentTownRanking=null,this.villageRankingGroup=null,this.villageRankingLabels=[],this.tradeFlowGroup=null,this.tradeFlowMeshGroup=null,this.tradeFlowLabelGroup=null,this.tradeFlowLabels=[],this.tradeFlowMaterials=[],this.tradeFlowPulseSprites=[],this.isTradeNationalMapActive=!1,this.selectedFeatureGroup=null,this.selectedVectorFeatures=[],this.analysisBoundaryFeature=null,this.analysisMatchedFeatures=[],this.boundaryDrawingEnabled=!1,this.boundaryDrawPoints=[],this.lastBoundaryDrawPoint=null,this.currentVectorFeatures=[],this.yakIndustryPointLabelGroup=null,this.yakIndustryPointLabels=[],this.yakIndustryPointMarkerGroup=null,this.yakIndustryPointMarkers=[],this.yakIndustryMarkerMaterialCache=new Map,this.hongyuanBoundaryPolygons=[],this.townMetaByName=new Map(V_.map(l=>[D9(l.name),l])),this.staticMapData={china:to(this.assets.instance.getResource("china")),mapJson:to(this.assets.instance.getResource("mapJson")),mapStroke:to(this.assets.instance.getResource("mapStroke"))},this.handleCanvasBoundaryPointerDown=this.handleCanvasBoundaryPointerDown.bind(this),this.handleCanvasBoundaryDoubleClick=this.handleCanvasBoundaryDoubleClick.bind(this),(a=(r=this.canvas)==null?void 0:r.addEventListener)==null||a.call(r,"pointerdown",this.handleCanvasBoundaryPointerDown,!0),(o=(s=this.canvas)==null?void 0:s.addEventListener)==null||o.call(s,"dblclick",this.handleCanvasBoundaryDoubleClick,!0),this.initEnvironment(),this.init()}init(){this.labelGroup=new z0,this.label3d=new Ij(this),this.labelGroup.rotation.x=-Math.PI/2,this.scene.add(this.labelGroup),this.flyLineFocusGroup=new z0,this.flyLineFocusGroup.visible=!1,this.flyLineFocusGroup.rotation.x=-Math.PI/2,this.scene.add(this.flyLineFocusGroup),this.eventElement=[],this.defaultMaterial=null,this.defaultLightMaterial=null,this.createBottomBg(),this.createChinaBlurLine(),this.createGrid(),this.createRotateBorder(),this.createLabel(),this.createMap(),this.createEvent(),this.createFlyLine(),this.createFocus(),this.createParticles(),this.createScatter(),this.createInfoPoint(),this.createStorke();let e=Ge.timeline({onComplete:()=>{if(this.mapAnimationComplete=!0,this.applyLayerMapView(this.currentTopicLayer,{force:!0}),this.setTradeNationalMapVisible(!1),this.updateYakIndustryPointMarkers(this.currentTopicLayer,this.currentVectorFeatures),this.updateYakIndustryPointLabels(this.currentTopicLayer,this.currentVectorFeatures),ja(this.currentTownRanking)){this.hideAllMapStatisticLabels();return}this.updateVillageRankingLabels(this.currentTownRanking),this.updateTradeFlowLayer(this.currentTownRanking),this.updateInfoPointStats()}});e.pause(),this.animateTl=e,e.addLabel("focusMap",1.5),e.addLabel("focusMapOpacity",2),e.addLabel("bar",3),e.to(this.camera.instance.position,{duration:2,x:this.defaultMapCameraPosition.x,y:this.defaultMapCameraPosition.y,z:this.defaultMapCameraPosition.z,ease:"circ.out",onStart:()=>{this.flyLineFocusGroup.visible=!1}}),e.to(this.focusMapGroup.position,{duration:1,x:0,y:0,z:0},"focusMap"),e.to(this.focusMapGroup.scale,{duration:1,x:1,y:1,z:1,ease:"circ.out",onComplete:()=>{if(this.flyLineGroup.visible=!0,this.scatterGroup.visible=!0,this.InfoPointGroup.visible=!ja(this.currentTownRanking)&&this.showTownRankingPointMarkers&&this.hasTownRankingRows(),this.setTradeNationalMapVisible(!1),this.updateYakIndustryPointMarkers(this.currentTopicLayer,this.currentVectorFeatures),this.updateYakIndustryPointLabels(this.currentTopicLayer,this.currentVectorFeatures),ja(this.currentTownRanking)){this.hideAllMapStatisticLabels();return}this.updateVillageRankingLabels(this.currentTownRanking),this.updateTradeFlowLayer(this.currentTownRanking),this.updateInfoPointStats()}},"focusMap"),e.to(this.focusMapTopMaterial,{duration:1,opacity:1,ease:"circ.out"},"focusMapOpacity"),e.to(this.focusMapSideMaterial,{duration:1,opacity:1,ease:"circ.out",onComplete:()=>{this.focusMapSideMaterial.transparent=!1}},"focusMapOpacity"),this.otherLabel.map((i,r)=>{let a=i.element.querySelector(".other-label");e.to(a,{duration:1,delay:.1*r,translateY:0,opacity:1,ease:"circ.out"},"focusMapOpacity")}),e.to(this.mapLineMaterial,{duration:.5,delay:.3,opacity:1},"focusMapOpacity"),e.to(this.rotateBorder1.scale,{delay:.3,duration:1,x:1,y:1,z:1,ease:"circ.out"},"focusMapOpacity"),e.to(this.rotateBorder2.scale,{duration:1,delay:.5,x:1,y:1,z:1,ease:"circ.out",onComplete:()=>{var i,r;this.flyLineFocusGroup.visible=!0,(r=(i=this.callbacks).onPlayComplete)==null||r.call(i)}},"focusMapOpacity"),this.showTownRankingBars&&(this.allBar.map((i,r)=>{e.to(i.scale,{duration:1,delay:.1*r,x:1,y:1,z:1,ease:"circ.out"},"bar")}),this.allBarMaterial.map((i,r)=>{e.to(i,{duration:1,delay:.1*r,opacity:1,ease:"circ.out"},"bar")}));const t=this;this.allProvinceLabel.map((i,r)=>{let a=i.element.querySelector(".provinces-label-wrap"),s=i.element.querySelector(".number .value"),o={progress:0};e.to(a,{duration:1,delay:.2*r,translateY:0,opacity:1,ease:"circ.out"},"bar"),e.to(o,{duration:1,delay:.2*r,progress:1,onStart:()=>{o.progress=0},onUpdate:l},"bar");function l(){var d,h;const u=re((h=(d=i.userData)==null?void 0:d.targetValue)!=null?h:s.dataset.targetValue);s.innerText=t.formatMapRankingValue(u*o.progress)}}),this.showTownRankingBars&&this.allGuangquan.map((i,r)=>{e.to(i.children[0].scale,{duration:1,delay:.1*r,x:1,y:1,z:1,ease:"circ.out"},"bar"),e.to(i.children[1].scale,{duration:1,delay:.1*r,x:1,y:1,z:1,ease:"circ.out"},"bar")})}initEnvironment(){let e=new ow(13171711,4.2);this.scene.add(e);let t=new Jo(14679295,5.8);t.position.set(-30,6,-8),t.castShadow=!0,t.shadow.radius=20,t.shadow.mapSize.width=1024,t.shadow.mapSize.height=1024,this.scene.add(t),this.createPointLight({color:"#1fd6df",intensity:680,distance:1e4,x:-9,y:3,z:-3}),this.createPointLight({color:"#2af0c6",intensity:260,distance:1e4,x:0,y:2,z:5})}createPointLight(e){const t=new sw(1924702,e.intensity,e.distance);t.position.set(e.x,e.y,e.z),this.scene.add(t)}createMap(){let e=new z0,t=new z0;this.mapGroup=e,this.focusMapGroup=t;let{china:i,chinaTopLine:r}=this.createChina(),{map:a,mapTop:s,mapLine:o}=this.createProvince();i.setParent(e),r.setParent(e),this.createDiffuse(),a.setParent(t),s.setParent(t),o.setParent(t),t.position.set(0,0,-.01),t.scale.set(1,1,0),e.add(t),this.createTopicLayer(),e.rotation.x=-Math.PI/2,e.position.set(0,.2,0),this.scene.add(e),this.createBar()}createChina(){let e={chinaBgMaterialColor:"#0d3349",lineColor:"#39c7ef"},t=this.staticMapData.china,i=new ph({color:new R1(e.chinaBgMaterialColor),transparent:!0,opacity:.72}),r=new Y7(this,{data:t,geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,merge:!0,material:i,renderOrder:2}),a=new pi({color:e.lineColor,transparent:!0,opacity:.58}),s=new J7(this,{data:t,geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,material:a,renderOrder:3});return s.lineGroup.position.z+=.01,{china:r,chinaTopLine:s}}createTradeNationalMap(){var h;if(this.tradeNationalMapGroup)return!0;let e=null;try{e=to(this.assets.instance.getResource("chinaMap"))}catch(f){return console.warn("牦牛交易全国地图资源未加载",f),!1}const t=e;if(!e||!((h=t==null?void 0:t.features)!=null&&h.length))return!1;const i=new z0;i.name="trade-national-map",i.visible=!1,i.rotation.x=-Math.PI/2,i.position.set(0,.04,0);const r=new V0({color:403001,transparent:!0,opacity:.14,side:he,depthWrite:!1,fog:!1});new Y7(this,{data:e,geoProjectionCenter:this.tradeGeoProjectionCenter,geoProjectionScale:this.tradeGeoProjectionScale,position:new k2(.05,-.05,-.03),material:r,renderOrder:17}).setParent(i);const{topMaterial:s,sideMaterial:o}=this.createTradeNationalMaterials(),l=new F_(this,{data:e,geoProjectionCenter:this.tradeGeoProjectionCenter,geoProjectionScale:this.tradeGeoProjectionScale,position:new k2(0,0,0),depth:this.tradeNationalDepth,topFaceMaterial:s,sideMaterial:o,renderOrder:20,bevelThickness:.024,bevelSegments:1});l.mapGroup.traverse(f=>{f.isMesh&&(f.renderOrder=20)}),l.setParent(i);const u=new pi({color:4777983,transparent:!0,opacity:.52,fog:!1,depthTest:!1}),d=new J7(this,{data:e,geoProjectionCenter:this.tradeGeoProjectionCenter,geoProjectionScale:this.tradeGeoProjectionScale,material:u,renderOrder:21});return d.lineGroup.position.z+=this.tradeNationalDepth+.055,d.setParent(i),this.scene.add(i),this.tradeNationalMapGroup=i,this.createTradeNationalLabels(t),!0}createTradeNationalMaterials(){const e=new Y9({color:16777215,transparent:!0,opacity:.54,roughness:.84,metalness:.08,side:he,fog:!1});new Z7(e,{uColor1:827317,uColor2:403515,size:6.8,dir:"x"});const t=this.assets.instance.getResource("side").clone();t.wrapS=wt,t.wrapT=wt,t.repeat.set(1,1.2),t.needsUpdate=!0;const i=new Y9({color:1485501,map:t,transparent:!0,opacity:.58,roughness:.78,metalness:.04,side:he,fog:!1});return new Z7(i,{uColor1:1354174,uColor2:134940,size:Math.max(this.tradeNationalDepth,.1),dir:"y"}),this.time.on("tick",()=>{t.offset.y+=.004}),{topMaterial:e,sideMaterial:i}}createTradeNationalLabels(e){this.tradeNationalLabelGroup=new z0,this.tradeNationalLabelGroup.name="trade-national-label",this.tradeNationalLabelGroup.rotation.x=-Math.PI/2,this.tradeNationalLabelGroup.visible=!1,this.scene.add(this.tradeNationalLabelGroup),this.tradeNationalLabels=[];const t=new Set(["四川","青海","甘肃","陕西","重庆","云南","西藏","新疆"]);(e.features||[]).forEach(i=>{var l;const r=((l=i.properties)==null?void 0:l.name)||"",a=this.normalizeTradeProvinceName(r);if(!t.has(a))return;const s=this.getFeatureCenterLngLat(i);if(!s)return;const o=this.label3d.create("","trade-national-label",!0);o.init(`
${dt(a)}
`,this.getTradeLocalPoint(s.lng,s.lat,.82)),this.label3d.setLabelStyle(o,.012,"x"),o.setParent(this.tradeNationalLabelGroup),o.visible=!0,this.tradeNationalLabels.push(o)})}normalizeTradeProvinceName(e=""){return String(e).replace(/省|市|自治区|壮族|回族|维吾尔|特别行政区/g,"").trim()}getFeatureCenterLngLat(e){var a,s,o;const t=((a=e==null?void 0:e.properties)==null?void 0:a.cp)||((s=e==null?void 0:e.properties)==null?void 0:s.centroid)||((o=e==null?void 0:e.properties)==null?void 0:o.center);if(Array.isArray(t)&&Number.isFinite(Number(t[0]))&&Number.isFinite(Number(t[1])))return{lng:Number(t[0]),lat:Number(t[1])};const i=this.getGeometryCoordinateList(e==null?void 0:e.geometry);if(!i.length)return null;const r=i.reduce((l,u)=>({minLng:Math.min(l.minLng,Number(u[0])),maxLng:Math.max(l.maxLng,Number(u[0])),minLat:Math.min(l.minLat,Number(u[1])),maxLat:Math.max(l.maxLat,Number(u[1]))}),{minLng:1/0,maxLng:-1/0,minLat:1/0,maxLat:-1/0});return{lng:(r.minLng+r.maxLng)/2,lat:(r.minLat+r.maxLat)/2}}createProvince(){let e=this.staticMapData.mapJson;this.mapJsonData=e;const t=uW({geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,zoom:cW});this.enhanceTexture(t.texture);let[i,r]=this.createProvinceMaterial();this.focusMapTopMaterial=i,this.focusMapSideMaterial=r;let a=new F_(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new k2(0,0,.11),data:e,depth:this.depth,topFaceMaterial:i,sideMaterial:r,renderOrder:9}),s=new Y9({color:16777215,map:t.texture,transparent:!0,opacity:.94,roughness:.82});new Z7(s,{uColor1:1629410,uColor2:757673}),this.defaultMaterial=s,this.defaultLightMaterial=this.defaultMaterial.clone(),this.defaultLightMaterial.color=new R1("rgba(128,244,255,1)"),this.defaultLightMaterial.opacity=.9;let o=new Y7(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new k2(0,0,this.depth+.22),data:e,material:s,renderOrder:8});$_(o,t.uvBounds),o.mapGroup.children.map(u=>{u.children.map(d=>{d.type==="Mesh"&&this.eventElement.push(d)})}),this.mapLineMaterial=new pi({color:12254463,opacity:0,transparent:!0,fog:!1});let l=new J7(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,data:e,material:this.mapLineMaterial,renderOrder:3});return l.lineGroup.position.z+=this.depth+.23,{map:a,mapTop:o,mapLine:l}}createTopicLayer(){if(!this.mapJsonData)return;this.initHongyuanBoundaryPolygons();const e=document.createElement("canvas");e.width=U5.width,e.height=U5.height;const t=e.getContext("2d");t.clearRect(0,0,e.width,e.height);const i=new Ko(e);i.colorSpace=J0,i.wrapS=Yt,i.wrapT=Yt,i.minFilter=at,i.magFilter=at,this.enhanceTexture(i),i.needsUpdate=!0;const r=new V0({map:i,transparent:!0,opacity:0,depthWrite:!1,side:he,fog:!1}),a=this.createLayerUvBounds(),s=new Y7(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new k2(0,0,this.depth+.255),data:this.mapJsonData,material:r,renderOrder:18});$_(s,a),s.setParent(this.focusMapGroup),this.topicLayerUvBounds=a,this.topicLayerCanvas=e,this.topicLayerContext=t,this.topicLayerTexture=i,this.topicLayerMaterial=r,this.topicLayerMap=s}initHongyuanBoundaryPolygons(){var t,i,r;if((t=this.hongyuanBoundaryPolygons)!=null&&t.length)return;const e=this.staticMapData.mapStroke;this.hongyuanBoundaryPolygons=rS((r=(i=e==null?void 0:e.features)==null?void 0:i[0])==null?void 0:r.geometry)}createSelectedFeatureGroup(){var e;this.selectedFeatureGroup||(this.selectedFeatureGroup=new z0,this.selectedFeatureGroup.name="selected-feature-highlight",this.selectedFeatureGroup.position.z=this.depth+.31,(e=this.focusMapGroup)==null||e.add(this.selectedFeatureGroup))}createLayerUvBounds(){const e=Ji().center(this.geoProjectionCenter).scale(this.geoProjectionScale).translate([0,0]),[t]=e([v0.west,v0.south]),[i]=e([v0.east,v0.south]),[,r]=e([v0.west,v0.north]),[,a]=e([v0.west,v0.south]);return{left:t,right:i,bottom:-a,top:-r}}setTopicLayer(e){var r,a;if(!e||!this.topicLayerContext||!this.topicLayerTexture)return;this.currentTopicLayer=e,this.visibleTopicLayers=[e],this.clearSelectedFeature(),this.applyLayerMapView(e);const t=++this.topicLayerLoadId;if(this.currentVectorFeatures=[],this.clearYakIndustryPointMarkers(),this.clearYakIndustryPointLabels(),this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=0,(a=(r=this.callbacks).onLayerStatus)==null||a.call(r,{type:"loading",text:`正在加载 ${e.name}`}),eo(e)){this.loadVectorTopicLayer(e,t);return}const i=new Image;i.crossOrigin="anonymous",i.onload=()=>{var s,o,l;t===this.topicLayerLoadId&&(this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerContext.drawImage(i,0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=(s=e.opacity)!=null?s:.84,(l=(o=this.callbacks).onLayerStatus)==null||l.call(o,{type:"success",text:"GeoServer 图层已加载"}))},i.onerror=()=>{var s,o;t===this.topicLayerLoadId&&(this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=0,(o=(s=this.callbacks).onLayerStatus)==null||o.call(s,{type:"error",text:"GeoServer 图层加载失败"}))},i.src=X_(e)}setTopicLayers(e=[],t=e[0]){var a,s,o,l;if(!this.topicLayerContext||!this.topicLayerTexture)return;const i=e.filter(Boolean);if(!i.length){this.topicLayerLoadId+=1,this.visibleTopicLayers=[],this.currentTopicLayer=null,this.currentVectorFeatures=[],this.clearYakIndustryPointMarkers(),this.clearYakIndustryPointLabels(),this.clearSelectedFeature(),this.applyLayerMapView(null),this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=0,(s=(a=this.callbacks).onLayerStatus)==null||s.call(a,{type:"success",text:"图层已关闭"});return}if(i.length===1){this.setTopicLayer(d3(d3({},i[0]),(t==null?void 0:t.key)===i[0].key?t:{}));return}this.currentTopicLayer=t||i[i.length-1],this.visibleTopicLayers=i,this.clearSelectedFeature(),this.clearYakIndustryPointMarkers(),this.clearYakIndustryPointLabels(),this.applyLayerMapView(this.currentTopicLayer);const r=++this.topicLayerLoadId;this.currentVectorFeatures=[],this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=0,(l=(o=this.callbacks).onLayerStatus)==null||l.call(o,{type:"loading",text:`正在加载 ${i.length} 个林地图层`}),Promise.all(i.map(u=>this.loadCompositeTopicLayerItem(u))).then(u=>{var f,v,_;if(r!==this.topicLayerLoadId)return;const d=u.filter(Boolean),h=d.find(b=>{var y,w;return b.type==="vector"&&((y=b.layer)==null?void 0:y.key)===((w=this.currentTopicLayer)==null?void 0:w.key)});this.currentVectorFeatures=((f=h==null?void 0:h.geojson)==null?void 0:f.features)||[],this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),d.forEach((b,y)=>{var w,U;if(b.type==="image"){this.topicLayerContext.save();const P=y===d.length-1?Math.max(.78,(w=b.layer.opacity)!=null?w:.9):Math.min(.52,(U=b.layer.opacity)!=null?U:.52);this.topicLayerContext.globalAlpha=Math.min(1,Math.max(.28,P)),this.topicLayerContext.drawImage(b.image,0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerContext.restore();return}this.drawVectorTopicLayer(b.layer,b.geojson.features||[],{clear:!1})}),this.updateYakIndustryPointMarkers(this.currentTopicLayer,this.currentVectorFeatures),this.updateYakIndustryPointLabels(this.currentTopicLayer,this.currentVectorFeatures),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=d.length?1:0,(_=(v=this.callbacks).onLayerStatus)==null||_.call(v,{type:d.length?"success":"error",text:d.length?`已加载 ${d.length} 个林地图层`:"林地图层加载失败"})})}loadCompositeTopicLayerItem(e){return k3(this,null,function*(){if(eo(e))try{const t=yield this.fetchVectorLayerGeojson(e);return{type:"vector",layer:e,geojson:t}}catch(t){return null}return this.loadTopicLayerImage(e).then(t=>t?d3({type:"image"},t):null)})}loadTopicLayerImage(e){return new Promise(t=>{const i=new Image;i.crossOrigin="anonymous",i.onload=()=>t({image:i,layer:e}),i.onerror=()=>t(null),i.src=X_(e)})}applyLayerMapView(e,t={}){var o,l;if(!((o=this.camera)!=null&&o.instance)||!((l=this.camera)!=null&&l.controls)||!this.mapAnimationComplete&&!t.force)return;const i=(e==null?void 0:e.mapView)||(e!=null&&e.cameraPosition?{cameraPosition:e.cameraPosition}:null),r=i?this.getLayerMapViewTarget(i):this.defaultMapTarget.clone(),a=i?this.getLayerMapViewCameraPosition(i,r):this.defaultMapCameraPosition.clone(),s=i&&Number.isFinite(i.duration)?i.duration:.75;this.animateMapCamera(a,r,s)}ensureMapRevealed(){var e,t,i,r;if(!this.mapAnimationComplete){if((t=(e=this.animateTl)==null?void 0:e.progress)==null||t.call(e,1,!1),(r=(i=this.animateTl)==null?void 0:i.pause)==null||r.call(i),this.mapAnimationComplete=!0,this.focusMapGroup&&(this.focusMapGroup.position.set(0,0,0),this.focusMapGroup.scale.set(1,1,1)),this.focusMapTopMaterial&&(this.focusMapTopMaterial.opacity=1),this.focusMapSideMaterial&&(this.focusMapSideMaterial.opacity=1,this.focusMapSideMaterial.transparent=!1),this.mapGroup&&(this.mapGroup.visible=!0),this.labelGroup&&(this.labelGroup.visible=!0),this.flyLineGroup&&(this.flyLineGroup.visible=!0),this.flyLineFocusGroup&&(this.flyLineFocusGroup.visible=!0),this.scatterGroup&&(this.scatterGroup.visible=!0),this.InfoPointGroup&&(this.InfoPointGroup.visible=this.showTownRankingPointMarkers&&this.hasTownRankingRows()),this.applyLayerMapView(this.currentTopicLayer,{force:!0}),this.updateYakIndustryPointMarkers(this.currentTopicLayer,this.currentVectorFeatures),this.updateYakIndustryPointLabels(this.currentTopicLayer,this.currentVectorFeatures),ja(this.currentTownRanking)){this.hideAllMapStatisticLabels();return}this.updateVillageRankingLabels(this.currentTownRanking),this.updateTradeFlowLayer(this.currentTownRanking),this.updateInfoPointStats()}}getLayerMapViewTarget(e){var t;return e!=null&&e.targetLngLat?this.lngLatToWorldPoint(e.targetLngLat,(t=e.targetLocalZ)!=null?t:.72):e!=null&&e.target?this.toVector3(e.target,this.defaultMapTarget):this.defaultMapTarget.clone()}getLayerMapViewCameraPosition(e,t){if(e!=null&&e.cameraPosition)return this.toVector3(e.cameraPosition,this.defaultMapCameraPosition);const i=Number.isFinite(e==null?void 0:e.distanceScale)?e.distanceScale:1,r=this.defaultMapCameraPosition.clone().sub(this.defaultMapTarget).multiplyScalar(i),a=t.clone().add(r);return e!=null&&e.cameraOffset&&a.add(this.toVector3(e.cameraOffset,new k2(0,0,0))),a}lngLatToWorldPoint(e,t=0){const i=Array.isArray(e)?e:[e==null?void 0:e.lng,e==null?void 0:e.lat],r=Number(i==null?void 0:i[0]),a=Number(i==null?void 0:i[1]);if(!Number.isFinite(r)||!Number.isFinite(a))return this.defaultMapTarget.clone();const[s,o]=this.geoProjection([r,a]),l=new k2(s,-o,Number(t)||0);return this.focusMapGroup?this.focusMapGroup.localToWorld(l):l}toVector3(e,t){if(Array.isArray(e)){const[s,o,l]=e.map(Number);return[s,o,l].every(Number.isFinite)?new k2(s,o,l):t.clone()}const i=Number(e==null?void 0:e.x),r=Number(e==null?void 0:e.y),a=Number(e==null?void 0:e.z);return[i,r,a].every(Number.isFinite)?new k2(i,r,a):t.clone()}animateMapCamera(e,t,i=.75){this.activeMapViewTweens.forEach(s=>{var o;return(o=s==null?void 0:s.kill)==null?void 0:o.call(s)}),this.activeMapViewTweens=[];const r=this.camera.controls,a=()=>r.update();this.activeMapViewTweens.push(Ge.to(this.camera.instance.position,{duration:i,x:e.x,y:e.y,z:e.z,ease:"power2.out",onUpdate:a}),Ge.to(r.target,{duration:i,x:t.x,y:t.y,z:t.z,ease:"power2.out",onUpdate:a}))}addSceneTween(e){var t;return e&&(this.sceneTweens.push(e),this.scenePaused&&((t=e.pause)==null||t.call(e)),e)}addSceneTimer(e){return e&&this.sceneTimers.push(e),e}focusTownByName(e,t={}){var s,o,l;const i=this.townMetaByName.get(D9(e));if(!(i!=null&&i.center))return!1;const r=this.lngLatToWorldPoint(i.center,(s=t.targetLocalZ)!=null?s:.82),a=this.getLayerMapViewCameraPosition({distanceScale:(o=t.distanceScale)!=null?o:.82,cameraOffset:t.cameraOffset||{x:0,y:1.2,z:0}},r);return this.animateMapCamera(a,r,(l=t.duration)!=null?l:.75),!0}focusYakIndustryPoint(e={}){var a,s;const t=this.getYakIndustryPayloadCoordinate(e);if(!t)return(s=(a=this.callbacks).onLayerStatus)==null||s.call(a,{type:"warning",text:"当前主体暂无可定位坐标"}),{focused:!1,screen:null};const i=this.findYakIndustryPointFeature(e,t);return i?this.setSelectedVectorFeatures([i]):this.clearSelectedFeature(),{focused:this.flyToLngLat(t,{span:.035,duration:.72,statusText:"已定位产业主体"}),screen:this.getYakIndustryPointScreen(e),feature:i}}getYakIndustryPointScreen(e={}){const t=this.getYakIndustryPayloadCoordinate(e);return t?this.lngLatToLayerScreenPoint(t,this.depth+.255)||this.lngLatToScreenPoint(t,this.depth+.32):null}getYakIndustryPayloadCoordinate(e={}){var a,s,o,l,u;const t=((a=e.geometry)==null?void 0:a.coordinates)||e.coordinates,i=Number((o=(s=e.longitude)!=null?s:e.lng)!=null?o:t==null?void 0:t[0]),r=Number((u=(l=e.latitude)!=null?l:e.lat)!=null?u:t==null?void 0:t[1]);return!Number.isFinite(i)||!Number.isFinite(r)?null:[i,r]}findYakIndustryPointFeature(e={},t=this.getYakIndustryPayloadCoordinate(e)){const i=this.getVisibleVectorFeatures(this.currentTopicLayer,this.currentVectorFeatures||[]),r=String(e.id||e.key||""),a=String(e.fullName||e.name||"").trim(),s=String(e.stageKey||""),o=i.find(l=>{const u=(l==null?void 0:l.properties)||{};return!!(r&&String(u.id||"")===r||a&&String(u.name||u.fullName||"").trim()===a)});return o||t&&i.find(l=>{var d;if(((d=l==null?void 0:l.geometry)==null?void 0:d.type)!=="Point")return!1;const u=l.properties||{};return s&&String(u.stageKey||"")!==s?!1:this.getCoordinateDistance(l.geometry.coordinates,t)<=8e-4})||null}loadVectorTopicLayer(e,t){return k3(this,null,function*(){var i,r,a,s,o;try{const l=yield this.fetchVectorLayerGeojson(e);if(t!==this.topicLayerLoadId)return;this.currentVectorFeatures=l.features||[],this.drawVectorTopicLayer(e,this.currentVectorFeatures),this.updateYakIndustryPointMarkers(e,this.currentVectorFeatures),this.updateYakIndustryPointLabels(e,this.currentVectorFeatures),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=(i=e.opacity)!=null?i:.9,(a=(r=this.callbacks).onLayerStatus)==null||a.call(r,{type:"success",text:"真实矢量图层已加载"})}catch(l){if(t!==this.topicLayerLoadId)return;this.currentVectorFeatures=[],this.clearYakIndustryPointMarkers(),this.clearYakIndustryPointLabels(),this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=0,(o=(s=this.callbacks).onLayerStatus)==null||o.call(s,{type:"error",text:"真实矢量图层加载失败"})}})}fetchVectorLayerGeojson(e){return k3(this,null,function*(){var a,s;if(e.sourceType==="geojson"){if(((a=e.geojsonData)==null?void 0:a.type)==="FeatureCollection")return e.geojsonData;const o=yield fetch(iS(e.dataPath),{credentials:"include"});if(!o.ok)throw new Error(`HTTP ${o.status}`);return yield o.json()}if(e.sourceType==="wfs"){const o=yield O4(e.layerName,{cqlFilter:e.cqlFilter,maxFeatures:e.maxFeatures||1200,timeout:e.timeout||18e3});return(o==null?void 0:o.type)==="FeatureCollection"?o:{type:"FeatureCollection",features:(o==null?void 0:o.features)||[]}}let t=[],i=null;try{const o=yield fetch(e.apiUrl,{credentials:"include"});if(!o.ok)throw new Error(`HTTP ${o.status}`);const l=yield o.json();t=Array.isArray(l==null?void 0:l.data)?l.data:Array.isArray((s=l==null?void 0:l.data)==null?void 0:s.rows)?l.data.rows:[]}catch(o){i=o}let r=this.buildWktLayerFeatures(t);if((!t.length||!r.length)&&e.fallbackPath){const o=yield fetch(iS(e.fallbackPath),{credentials:"include"});if(!o.ok)throw i||new Error(`HTTP ${o.status}`);const l=yield o.json();t=Array.isArray(l==null?void 0:l.rows)?l.rows:[],r=this.buildWktLayerFeatures(t)}return{type:"FeatureCollection",features:r}})}buildWktLayerFeatures(e=[]){return(e||[]).map(t=>({type:"Feature",properties:{id:t.id,type:t.type,totalAcreage:t.totalAcreage,cdAcreage:t.cdAcreage,sdAcreage:t.sdAcreage,cdScl:t.cdScl,sdScl:t.sdScl},geometry:this.parseWktGeometry(this.pickWktValue(t))})).filter(t=>t.geometry)}pickWktValue(e={}){return e.wkt||e.WKT||e.geom||e.geometry||e.the_geom||e.theGeom||e.shape||e.Shape}drawVectorTopicLayer(e,t,i={}){const r=this.topicLayerContext;i.clear!==!1&&r.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),r.save(),r.lineJoin="round",r.lineCap="round",this.clipVectorLayerContext(r,e);const s=this.getVisibleVectorFeatures(e,t).sort((o,l)=>{var h,f;const u=this.getGeometryDrawRank((h=o.geometry)==null?void 0:h.type),d=this.getGeometryDrawRank((f=l.geometry)==null?void 0:f.type);return u-d});s.forEach(o=>{const l=this.getVectorFeatureStyle(e,o);this.drawVectorFeature(r,o.geometry,l)}),this.drawNationalParkBoundaryOverlay(r,e,s),this.drawSelectedVectorOverlay(r),r.restore()}drawNationalParkBoundaryOverlay(e,t,i=[]){(t==null?void 0:t.key)!=="national-park-zoning"||!i.length||i.forEach(r=>{const a=this.getVectorFeatureStyle(t,r);this.drawVectorFeature(e,r.geometry,R3(d3({},a),{fill:a.stroke,stroke:a.stroke,polygonAlpha:0,lineAlpha:1,lineWidth:8,glow:!0}))})}drawSelectedVectorOverlay(e){const t=this.selectedVectorFeatures||[],i=this.analysisMatchedFeatures||[],r=this.analysisBoundaryFeature,a=this.boundaryDrawPoints||[];if(!t.length&&!i.length&&!r&&!a.length)return;const s={fill:"#FFE15A",stroke:"#24F6C4",polygonAlpha:.24,lineAlpha:.98,lineWidth:12,pointRadius:11,glow:!0,halo:!0},o={fill:"#FFF06A",stroke:"#FFFDF2",polygonAlpha:.46,lineAlpha:1,lineWidth:5,pointRadius:6.5,glow:!1,halo:!1};if(e.save(),t.forEach(l=>{var d;const u=(l==null?void 0:l.geometry)||((d=l==null?void 0:l.feature)==null?void 0:d.geometry);this.drawVectorFeature(e,u,s),this.drawVectorFeature(e,u,o)}),i.forEach(l=>{var d;const u=(l==null?void 0:l.geometry)||((d=l==null?void 0:l.feature)==null?void 0:d.geometry);this.drawVectorFeature(e,u,{fill:"#FF8A3D",stroke:"#FFE15A",polygonAlpha:.28,lineAlpha:.98,lineWidth:5,pointRadius:6,glow:!0})}),r!=null&&r.geometry&&this.drawVectorFeature(e,r.geometry,{fill:"#24F6C4",stroke:"#FFFFFF",polygonAlpha:.18,lineAlpha:1,lineWidth:4,pointRadius:6,glow:!0}),a.length){const l=a.map(d=>[d.lng,d.lat]),u={type:"LineString",coordinates:this.boundaryDrawingEnabled?l:[...l,l[0]].filter(Boolean)};this.drawVectorFeature(e,u,{fill:"#24F6C4",stroke:"#24F6C4",polygonAlpha:.12,lineAlpha:1,lineWidth:4,pointRadius:6,glow:!0}),l.forEach(d=>{this.drawVectorFeature(e,{type:"Point",coordinates:d},{fill:"#FFFFFF",stroke:"#24F6C4",polygonAlpha:.2,lineAlpha:1,lineWidth:3,pointRadius:5.5,glow:!0})})}e.restore()}redrawVectorTopicLayer(){!this.topicLayerContext||!this.topicLayerTexture||!this.currentTopicLayer||!eo(this.currentTopicLayer)||(this.drawVectorTopicLayer(this.currentTopicLayer,this.currentVectorFeatures||[]),this.updateYakIndustryPointMarkers(this.currentTopicLayer,this.currentVectorFeatures),this.topicLayerTexture.needsUpdate=!0)}getVisibleVectorFeatures(e,t){const i=e==null?void 0:e.activeLegend,r=i==null?void 0:i.match;if(r!=null&&r.field)return(t||[]).filter(o=>{var l,u;return String((u=(l=o==null?void 0:o.properties)==null?void 0:l[r.field])!=null?u:"")===String(r.value)});const s=String((e==null?void 0:e.cqlFilter)||"").trim().match(/^([a-zA-Z0-9_]+)\s*=\s*'((?:''|[^'])*)'$/);if(s){const[,o,l]=s,u=l.replace(/''/g,"'");return(t||[]).filter(d=>{var h,f;return String((f=(h=d==null?void 0:d.properties)==null?void 0:h[o])!=null?f:"")===u})}return[...t||[]]}updateYakIndustryPointLabels(e=this.currentTopicLayer,t=this.currentVectorFeatures){if(this.clearYakIndustryPointLabels(),(e==null?void 0:e.showPointLabels)===!1||(e==null?void 0:e.key)!=="yak-industry-points"||!this.label3d)return;const i=this.getYakIndustryLabelFeatures(e,t);i.length&&(this.ensureYakIndustryPointLabelGroup(),i.forEach((r,a)=>{var o;let s=this.yakIndustryPointLabels[a];s||(s=this.label3d.create("","yak-industry-point-label",!0),this.label3d.setLabelStyle(s,.012,"x"),s.setParent(this.yakIndustryPointLabelGroup),this.yakIndustryPointLabels.push(s)),s.element.className="yak-industry-point-label",s.init(this.getYakIndustryPointLabelHtml(r),this.getYakIndustryPointLabelPosition(r,a)),s.visible=!0,(o=s.show)==null||o.call(s),s.userData={feature:r}}),this.yakIndustryPointLabels.slice(i.length).forEach(r=>{var a;r.visible=!1,(a=r.hide)==null||a.call(r),r.userData=null}),this.yakIndustryPointLabelGroup.visible=!!this.mapAnimationComplete)}updateYakIndustryPointMarkers(e=this.currentTopicLayer,t=this.currentVectorFeatures){if(this.clearYakIndustryPointMarkers(),(e==null?void 0:e.key)!=="yak-industry-points")return;const i=this.getVisibleVectorFeatures(e,t).filter(r=>{var a;return((a=r==null?void 0:r.geometry)==null?void 0:a.type)==="Point"});i.length&&(this.ensureYakIndustryPointMarkerGroup(),i.forEach((r,a)=>{let s=this.yakIndustryPointMarkers[a];const o=this.getVectorFeatureStyle(e,r),l=this.getYakIndustryMarkerMaterial(o),u=this.lngLatToLayerLocalPoint(r.geometry.coordinates,this.depth+.98),d=Number(e==null?void 0:e.pointSpriteScale)||.34;s||(s=new er(l),s.name="yak-industry-point-marker",s.renderOrder=42,s.center.set(.5,.08),this.bindYakIndustryPointMarkerEvents(s),this.interactionManager.add(s),this.yakIndustryPointMarkerGroup.add(s),this.yakIndustryPointMarkers.push(s)),s.material=l,s.position.copy(u),s.scale.set(d,d*1.32,1),s.visible=!0,s.userData={feature:r,layer:e,index:a}}),this.yakIndustryPointMarkers.slice(i.length).forEach(r=>{r.visible=!1,r.userData=null}),this.yakIndustryPointMarkerGroup.visible=!!this.mapAnimationComplete)}ensureYakIndustryPointMarkerGroup(){var e;this.yakIndustryPointMarkerGroup||(this.yakIndustryPointMarkerGroup=new z0,this.yakIndustryPointMarkerGroup.name="yak-industry-point-markers",this.yakIndustryPointMarkerGroup.visible=!1,(e=this.focusMapGroup)==null||e.add(this.yakIndustryPointMarkerGroup))}clearYakIndustryPointMarkers(){var e;this.yakIndustryPointMarkerGroup&&(this.yakIndustryPointMarkerGroup.visible=!1),(e=this.yakIndustryPointMarkers)==null||e.forEach(t=>{t.visible=!1})}bindYakIndustryPointMarkerEvents(e){e.addEventListener("mousedown",t=>{var a,s,o,l,u,d,h,f,v;if(this.clicked||!((a=this.yakIndustryPointMarkerGroup)!=null&&a.visible))return!1;const i=(o=(s=t.target)==null?void 0:s.userData)==null?void 0:o.feature;if(!i)return!1;this.clicked=!0;const r=((l=i.geometry)==null?void 0:l.coordinates)||[];this.setSelectedVectorFeatures([i]),(v=(f=this.callbacks).onFeatureInfo)==null||v.call(f,{feature:{id:((u=i.properties)==null?void 0:u.id)||((d=i.properties)==null?void 0:d.feature_id)||((h=i.properties)==null?void 0:h.project_name),properties:i.properties||{},feature:i,layer:this.currentTopicLayer,lngLat:{lng:Number(r[0]),lat:Number(r[1])}},screen:this.getPointFeatureScreenPoint(i)})}),e.addEventListener("mouseup",()=>{this.clicked=!1}),e.addEventListener("mouseover",()=>{e.visible&&(document.body.style.cursor="pointer")}),e.addEventListener("mouseout",()=>{document.body.style.cursor="default"})}getYakIndustryMarkerMaterial(e){const t=`${e.fill||"#24F6C4"}-${e.stroke||"#B7FFF2"}`,i=this.yakIndustryMarkerMaterialCache.get(t);if(i)return i;const r=this.createYakIndustryMarkerTexture(e.fill,e.stroke),a=new G9({map:r,transparent:!0,depthTest:!1,depthWrite:!1,fog:!1});return this.yakIndustryMarkerMaterialCache.set(t,a),a}createYakIndustryMarkerTexture(e="#24F6C4",t="#B7FFF2"){const i=document.createElement("canvas");i.width=96,i.height=124;const r=i.getContext("2d"),a=48,s=10,o=111,l=43,u=28;r.clearRect(0,0,i.width,i.height),r.beginPath(),r.arc(a,62,38,0,Math.PI*2),r.fillStyle=this.hexToRgba(e,.18),r.shadowColor=e,r.shadowBlur=18,r.fill(),r.beginPath(),r.moveTo(a,o),r.bezierCurveTo(a+31,79,a+38,s+20,a,s),r.bezierCurveTo(a-38,s+20,a-31,79,a,o),r.closePath(),r.fillStyle=this.hexToRgba(e,.96),r.strokeStyle=this.hexToRgba(t||e,.98),r.lineWidth=5,r.shadowColor=t||e,r.shadowBlur=14,r.fill(),r.stroke(),r.shadowBlur=0,r.beginPath(),r.arc(a,l,u*.46,0,Math.PI*2),r.fillStyle=this.hexToRgba("#FFFFFF",.95),r.fill(),r.beginPath(),r.arc(a,l,u*.74,0,Math.PI*2),r.strokeStyle=this.hexToRgba("#FFFFFF",.38),r.lineWidth=4,r.stroke();const d=new Ko(i);return d.colorSpace=J0,d.needsUpdate=!0,d}ensureYakIndustryPointLabelGroup(){this.yakIndustryPointLabelGroup||(this.yakIndustryPointLabelGroup=new z0,this.yakIndustryPointLabelGroup.name="yak-industry-point-labels",this.yakIndustryPointLabelGroup.rotation.x=-Math.PI/2,this.yakIndustryPointLabelGroup.visible=!1,this.scene.add(this.yakIndustryPointLabelGroup))}clearYakIndustryPointLabels(){var e;this.yakIndustryPointLabelGroup&&(this.yakIndustryPointLabelGroup.visible=!1),(e=this.yakIndustryPointLabels)==null||e.forEach(t=>{var i;t.visible=!1,(i=t.hide)==null||i.call(t)})}getYakIndustryLabelFeatures(e,t){const i=this.getVisibleVectorFeatures(e,t).filter(l=>{var u;return((u=l==null?void 0:l.geometry)==null?void 0:u.type)==="Point"}),r=Number(e==null?void 0:e.pointLabelLimit)||(i.length>36?12:Math.min(i.length,16)),a=i.map(l=>{var u;return{feature:l,score:this.getYakIndustryFeatureScore(l),town:D9((u=l.properties)==null?void 0:u.town)}}).sort((l,u)=>{var d,h;return u.score-l.score||String(((d=l.feature.properties)==null?void 0:d.name)||"").localeCompare(String(((h=u.feature.properties)==null?void 0:h.name)||""),"zh-CN")}),s=[],o=new Set;return a.forEach(l=>{s.length>=r||!l.town||o.has(l.town)||(s.push(l.feature),o.add(l.town))}),a.forEach(l=>{s.length>=r||s.includes(l.feature)||s.push(l.feature)}),s}getYakIndustryFeatureScore(e){const t=(e==null?void 0:e.properties)||{},i=[t.outputValue,t.capacity,t.value,t.count,t["年产值 (万元)"],t["年总产值 (万元)"],t["设计存栏量 (头)"],t["总库容 (吨)"]].map(r=>this.parseMapMetricNumber(r));return Math.max(...i,0)}parseMapMetricNumber(e){if(typeof e=="number")return Number.isFinite(e)?e:0;const t=String(e!=null?e:"").replace(/,/g,"").match(/-?\d+(?:\.\d+)?/);return t&&Number(t[0])||0}getYakIndustryPointLabelPosition(e,t=0){var r;const i=this.lngLatToLayerLocalPoint((r=e==null?void 0:e.geometry)==null?void 0:r.coordinates,this.depth+1.08+Math.min(t,5)*.015);return i.x+=(t%3-1)*.08,i.y+=t%2===0?.07:-.06,i}getYakIndustryPointLabelHtml(e){const t=(e==null?void 0:e.properties)||{},i=this.compactYakIndustryLabelName(t.name||t.fullName||"产业主体"),r=this.formatYakIndustryLabelText(t.categoryName||t.stageName||"产业主体"),a=t.town||t.village||"红原县",s=this.getYakIndustryPointMetricText(t),o=this.getYakIndustryLabelColor(t);return`
${dt(r)}
${dt(i)}
${dt(a)} ${s?`${dt(s)}`:""}
`}compactYakIndustryLabelName(e=""){const t=String(e).replace(/^四川红原/,"").replace(/^红原县/,"").replace(/有限责任公司$/,"").replace(/农民专业合作社$/,"合作社").replace(/\s+/g," ").trim();return t.length>16?`${t.slice(0,15)}…`:t}formatYakIndustryLabelText(e=""){return String(e).replace(/\bcxpt[-_./\s]*/gi,"").replace(/^cxpt/i,"").replace(/\s+/g," ").trim()}getYakIndustryPointMetricText(e={}){return e.capacity!==void 0&&e.capacity!==null&&e.capacity!==""&&this.parseMapMetricNumber(e.capacity)>0?this.formatYakIndustryMetricText(e.capacity,e.capacityUnit):this.parseMapMetricNumber(e.outputValue)>0?`${this.formatMapRankingValue(e.outputValue)}万元`:this.isMeaningfulMapText(e.locationType)?e.locationType:this.isMeaningfulMapText(e.status)?e.status:""}isMeaningfulMapText(e){const t=String(e!=null?e:"").trim();return!!(t&&t!=="0"&&t!=="无"&&t!=="待完善")}formatYakIndustryMetricText(e,t=""){const i=String(e!=null?e:"").trim();return!i||i==="0"?"":typeof e=="string"&&/[^\d.,\s-]/.test(i)?i:`${this.formatMapRankingValue(e)}${t||""}`}getYakIndustryLabelColor(e={}){var r,a,s,o,l,u;const t=String(e.stageKey||""),i=(((r=this.currentTopicLayer)==null?void 0:r.legends)||[]).find(d=>{var h;return String(((h=d.match)==null?void 0:h.value)||"")===t})||(String(((o=(s=(a=this.currentTopicLayer)==null?void 0:a.activeLegend)==null?void 0:s.match)==null?void 0:o.value)||"")===t?this.currentTopicLayer.activeLegend:null);return(i==null?void 0:i.fillColor)||((u=(l=this.currentTopicLayer)==null?void 0:l.activeLegend)==null?void 0:u.fillColor)||"#24F6C4"}clipVectorLayerContext(e,t){if(this.shouldClipLayerToHongyuanBoundary(t)&&this.clipContextToHongyuanBoundary(e),!this.shouldClipLayerToLayerBounds(t))return;const i=this.getLayerClipBounds(t);if(!i)return;const r=this.lngLatToLayerCanvasPoint([i.west,i.north]),a=this.lngLatToLayerCanvasPoint([i.east,i.south]),s=Math.min(r.x,a.x),o=Math.min(r.y,a.y),l=Math.abs(a.x-r.x),u=Math.abs(a.y-r.y);!l||!u||(e.beginPath(),e.rect(s,o,l,u),e.clip())}clipContextToHongyuanBoundary(e){const t=this.hongyuanBoundaryPolygons||[];t.length&&(e.beginPath(),t.forEach(i=>{i.forEach(r=>{r.forEach((a,s)=>{const o=this.lngLatToLayerCanvasPoint(a);s===0?e.moveTo(o.x,o.y):e.lineTo(o.x,o.y)}),e.closePath()})}),e.clip("evenodd"))}shouldClipLayerToHongyuanBoundary(e=this.currentTopicLayer){if(!e||e.clipToHongyuanBoundary===!1)return!1;if(e.clipToHongyuanBoundary===!0)return!0;const t=String((e==null?void 0:e.key)||"");return!!(t==="national-park-zoning"||t.startsWith("yak-"))}shouldClipLayerToLayerBounds(e=this.currentTopicLayer){return!!(e!=null&&e.clipBounds&&(e==null?void 0:e.clipToLayerBounds)!==!1)}isLngLatInHongyuanBoundary(e){const t=this.hongyuanBoundaryPolygons||[];return t.length?t.some(i=>this.isLngLatInPolygon(e,i)):!0}isLngLatInLayerClipBounds(e,t=this.currentTopicLayer){const i=this.getLayerClipBounds(t);return i?e.lng>=i.west&&e.lng<=i.east&&e.lat>=i.south&&e.lat<=i.north:!0}getLayerClipBounds(e){const t=e==null?void 0:e.clipBounds;if(!t)return null;const i=Math.max(Number(t.west),v0.west),r=Math.max(Number(t.south),v0.south),a=Math.min(Number(t.east),v0.east),s=Math.min(Number(t.north),v0.north);return![i,r,a,s].every(Number.isFinite)||i>=a||r>=s?null:{west:i,south:r,east:a,north:s}}getGeometryDrawRank(e){return String(e).includes("Polygon")?1:String(e).includes("LineString")?2:3}getVectorFeatureStyle(e,t){var l,u,d;const i=t.properties||{},a=(e.legends||[]).find(h=>{var v;const f=h.match;return f?String((v=i[f.field])!=null?v:"")===String(f.value):!1})||e.activeLegend||((l=e.legends)==null?void 0:l[0])||{},s=String(((u=t.geometry)==null?void 0:u.type)||"").includes("LineString"),o=((d=t.geometry)==null?void 0:d.type)==="Point";return(e==null?void 0:e.key)==="yak-epidemic-village-boundary"?{fill:a.fillColor||"#24F6C4",stroke:a.strokeColor||"#FFF06A",polygonAlpha:.16,lineAlpha:1,lineWidth:5,pointRadius:4.5,glow:!0}:(e==null?void 0:e.key)==="yak-industry-points"?{fill:a.fillColor||"#24F6C4",stroke:a.strokeColor||a.fillColor||"#B7FFF2",polygonAlpha:.36,lineAlpha:.82,lineWidth:1.6,pointRadius:this.getVectorPointRadius(e,t),glow:!0,halo:!0,marker:!0}:(e==null?void 0:e.key)==="national-park-zoning"?{fill:a.fillColor||"#30DCFF",stroke:a.strokeColor||a.fillColor||"#F2FFFF",polygonAlpha:.54,lineAlpha:1,lineWidth:4.8,pointRadius:4.5,glow:!0}:e!=null&&e.boundaryOnly?{fill:a.fillColor||"#24F6C4",stroke:a.strokeColor||a.fillColor||"#18F8FF",polygonAlpha:.04,lineAlpha:.96,lineWidth:10,pointRadius:4.5,glow:!0}:{fill:s||o?a.strokeColor||a.fillColor||"#30DCFF":a.fillColor||"#30DCFF",stroke:a.strokeColor||a.fillColor||"#30DCFF",polygonAlpha:.36,lineAlpha:s?.92:.9,lineWidth:s?5:2.4,pointRadius:o?this.getVectorPointRadius(e,t):4.5,glow:!0}}getVectorPointRadius(e,t){var r,a;const i=Number(((r=t==null?void 0:t.properties)==null?void 0:r.count)||((a=t==null?void 0:t.properties)==null?void 0:a.value)||0);return(e==null?void 0:e.key)==="yak-recognition-layer"?Math.max(3.8,Math.min(8.6,3.6+Math.sqrt(i)/68)):(e==null?void 0:e.key)==="yak-industry-points"?10.4:4.5}drawVectorFeature(e,t,i){if(t!=null&&t.coordinates){if(t.type==="Polygon"){this.drawPolygonPath(e,t.coordinates,i);return}if(t.type==="MultiPolygon"){t.coordinates.forEach(r=>this.drawPolygonPath(e,r,i));return}if(t.type==="LineString"){this.drawLinePath(e,t.coordinates,i);return}if(t.type==="MultiLineString"){t.coordinates.forEach(r=>this.drawLinePath(e,r,i));return}t.type==="Point"&&this.drawPointPath(e,t.coordinates,i)}}drawPolygonPath(e,t,i){Array.isArray(t==null?void 0:t[0])&&(e.save(),e.beginPath(),t.forEach(r=>{r.forEach((a,s)=>{const o=this.lngLatToLayerCanvasPoint(a);s===0?e.moveTo(o.x,o.y):e.lineTo(o.x,o.y)}),e.closePath()}),e.fillStyle=this.hexToRgba(i.fill,i.polygonAlpha),e.strokeStyle=this.hexToRgba(i.stroke,i.lineAlpha),e.lineWidth=i.lineWidth,i.glow&&(e.shadowColor=i.stroke,e.shadowBlur=14),e.fill("evenodd"),e.stroke(),e.restore())}drawLinePath(e,t,i){!Array.isArray(t)||t.length<2||(e.save(),e.beginPath(),t.forEach((r,a)=>{const s=this.lngLatToLayerCanvasPoint(r);a===0?e.moveTo(s.x,s.y):e.lineTo(s.x,s.y)}),e.strokeStyle=this.hexToRgba(i.stroke,i.lineAlpha),e.lineWidth=i.lineWidth,e.shadowColor=i.stroke,e.shadowBlur=12,e.stroke(),e.restore())}drawPointPath(e,t,i){var a;if(i.marker){this.drawMarkerPointPath(e,t,i);return}const r=this.lngLatToLayerCanvasPoint(t);e.save(),i.halo&&(e.beginPath(),e.arc(r.x,r.y,i.pointRadius*2.35,0,Math.PI*2),e.fillStyle=this.hexToRgba(i.fill,.18),e.shadowColor=i.fill,e.shadowBlur=18,e.fill()),e.beginPath(),e.arc(r.x,r.y,i.pointRadius,0,Math.PI*2),e.fillStyle=this.hexToRgba(i.fill,.96),e.shadowColor=i.stroke,e.shadowBlur=i.halo?8:12,e.fill(),i.lineWidth&&(e.lineWidth=i.lineWidth,e.strokeStyle=this.hexToRgba(i.stroke,(a=i.lineAlpha)!=null?a:.9),e.stroke()),e.restore()}drawMarkerPointPath(e,t,i){const r=this.lngLatToLayerCanvasPoint(t),a=i.pointRadius||6;e.save(),e.beginPath(),e.arc(r.x,r.y+a*.22,a*2.55,0,Math.PI*2),e.fillStyle=this.hexToRgba(i.fill,.16),e.shadowColor=i.fill,e.shadowBlur=24,e.fill(),e.beginPath(),e.moveTo(r.x,r.y+a*2.05),e.bezierCurveTo(r.x+a*1.46,r.y+a*.62,r.x+a*1.34,r.y-a*1.34,r.x,r.y-a*1.62),e.bezierCurveTo(r.x-a*1.34,r.y-a*1.34,r.x-a*1.46,r.y+a*.62,r.x,r.y+a*2.05),e.closePath(),e.fillStyle=this.hexToRgba(i.fill,.94),e.strokeStyle=this.hexToRgba(i.stroke,.98),e.lineWidth=Math.max(2,i.lineWidth||2),e.shadowColor=i.stroke,e.shadowBlur=14,e.fill(),e.stroke(),e.beginPath(),e.arc(r.x,r.y-a*.34,a*.52,0,Math.PI*2),e.fillStyle=this.hexToRgba("#FFFFFF",.96),e.shadowBlur=0,e.fill(),e.beginPath(),e.arc(r.x,r.y-a*.34,a*.82,0,Math.PI*2),e.lineWidth=Math.max(1.2,a*.14),e.strokeStyle=this.hexToRgba("#FFFFFF",.42),e.stroke(),e.restore()}lngLatToLayerCanvasPoint(e){const t=Number(e==null?void 0:e[0]),i=Number(e==null?void 0:e[1]);return{x:(t-v0.west)/(v0.east-v0.west)*this.topicLayerCanvas.width,y:(v0.north-i)/(v0.north-v0.south)*this.topicLayerCanvas.height}}hexToRgba(e,t=1){const i=String(e||"#30DCFF").replace("#",""),r=i.length===3?i.split("").map(u=>u+u).join(""):i,a=Number.parseInt(r,16);if(!Number.isFinite(a))return`rgba(48, 220, 255, ${t})`;const s=a>>16&255,o=a>>8&255,l=a&255;return`rgba(${s}, ${o}, ${l}, ${t})`}parseWktGeometry(e){var s;const t=String(e||"").trim();if(!t)return null;const i=t.match(/^([A-Z]+)(?:\s+[A-Z]+)?\s*\(/i),r=(s=i==null?void 0:i[1])==null?void 0:s.toUpperCase();if(!r)return null;const a=t.slice(t.indexOf("("));return r==="POLYGON"?{type:"Polygon",coordinates:this.parseWktPolygonBody(a)}:r==="MULTIPOLYGON"?{type:"MultiPolygon",coordinates:this.parseWktMultiPolygonBody(a)}:r==="POINT"?{type:"Point",coordinates:this.parseWktPoint(a)}:r==="MULTIPOINT"?{type:"MultiPoint",coordinates:this.getWktChildGroups(a).map(o=>this.parseWktPoint(o)).filter(Boolean)}:r==="LINESTRING"?{type:"LineString",coordinates:this.parseWktRing(a)}:r==="MULTILINESTRING"?{type:"MultiLineString",coordinates:this.getWktChildGroups(a).map(o=>this.parseWktRing(o)).filter(o=>o.length)}:null}parseWktMultiPolygonBody(e){return this.getWktChildGroups(e).map(t=>this.parseWktPolygonBody(t)).filter(t=>t.length)}parseWktPolygonBody(e){return this.getWktChildGroups(e).map(t=>this.parseWktRing(t)).filter(t=>t.length>=3)}getWktChildGroups(e){const t=String(e||"").trim(),i=t.startsWith("(")&&t.endsWith(")")?t.slice(1,-1):t,r=[];let a=0,s=-1;for(let o=0;o=0&&(r.push(i.slice(s,o+1)),s=-1))}return r.length?r:[i]}parseWktRing(e){return String(e||"").replace(/^\(+|\)+$/g,"").split(",").map(i=>i.trim().split(/\s+/).slice(0,2).map(Number)).filter(([i,r])=>Number.isFinite(i)&&Number.isFinite(r))}parseWktPoint(e){const t=String(e||"").replace(/^\(+|\)+$/g,"").trim().split(/\s+/).slice(0,2).map(Number);return t.length>=2&&Number.isFinite(t[0])&&Number.isFinite(t[1])?[t[0],t[1]]:null}createProvinceMaterial(){let e=new ph({color:16777215,transparent:!0,opacity:0,fog:!1,side:he});e.onBeforeCompile=r=>{r.uniforms=R3(d3({},r.uniforms),{uColor1:{value:new R1(2152676)},uColor2:{value:new R1(475482)}}),r.vertexShader=r.vertexShader.replace("void main() {",` attribute float alpha; varying vec3 vPosition; varying float vAlpha; void main() { vAlpha = alpha; vPosition = position; `),r.fragmentShader=r.fragmentShader.replace("void main() {",` varying vec3 vPosition; varying float vAlpha; uniform vec3 uColor1; uniform vec3 uColor2; void main() { `),r.fragmentShader=r.fragmentShader.replace("#include ",` #ifdef OPAQUE diffuseColor.a = 1.0; #endif #ifdef USE_TRANSMISSION diffuseColor.a *= transmissionAlpha + 0.1; #endif vec3 gradient = mix(uColor1, uColor2, vPosition.x/15.78); outgoingLight = mix(outgoingLight * vec3(1.18), outgoingLight * gradient, 0.32); float topAlpha = 0.92; if(vPosition.z>0.3){ diffuseColor.a *= topAlpha; } gl_FragColor = vec4( outgoingLight, diffuseColor.a ); `)};let t=this.assets.instance.getResource("side");t.wrapS=wt,t.wrapT=wt,t.repeat.set(1,1.8),t.offset.y+=.065;let i=new Y9({color:2148829,map:t,fog:!1,opacity:0,side:he,roughness:.58,metalness:.08});return this.time.on("tick",()=>{t.offset.y+=.005}),i.onBeforeCompile=r=>{r.uniforms=R3(d3({},r.uniforms),{uColor1:{value:new R1(1629410)},uColor2:{value:new R1(205365)}}),r.vertexShader=r.vertexShader.replace("void main() {",` attribute float alpha; varying vec3 vPosition; varying float vAlpha; void main() { vAlpha = alpha; vPosition = position; `),r.fragmentShader=r.fragmentShader.replace("void main() {",` varying vec3 vPosition; varying float vAlpha; uniform vec3 uColor1; uniform vec3 uColor2; void main() { `),r.fragmentShader=r.fragmentShader.replace("#include ",` #ifdef OPAQUE diffuseColor.a = 1.0; #endif #ifdef USE_TRANSMISSION diffuseColor.a *= transmissionAlpha + 0.1; #endif vec3 gradient = mix(uColor1, uColor2, vPosition.z/1.2); outgoingLight = outgoingLight*gradient*vec3(1.12); gl_FragColor = vec4( outgoingLight, diffuseColor.a ); `)},[e,i]}getDefaultTownRanking(){return{title:"乡镇统计加载中",unit:"",rows:V_.map(e=>({name:e.name,value:0,unit:""}))}}getTownRankingMeta(e=this.currentTownRanking){var r,a;const t=this.getDefaultTownRanking(),i=EW(e);return{title:(e==null?void 0:e.title)||t.title,unit:(e==null?void 0:e.unit)||t.unit,metricLabel:(e==null?void 0:e.metricLabel)||(e==null?void 0:e.legendName)||"",note:(e==null?void 0:e.note)||"",hideTownNames:nS(e),hideMapLabels:ja(e),calloutMode:i,showBars:(r=e==null?void 0:e.showBars)!=null?r:!1,showPointMarkers:(a=e==null?void 0:e.showPointMarkers)!=null?a:i}}getTownRankingRows(e=this.currentTownRanking,t=7,i=!0){var l;const r=this.getDefaultTownRanking(),a=(l=e==null?void 0:e.rows)!=null&&l.length?e.rows:i?r.rows:[],s=this.getTownRankingMeta(e),o=a.map(u=>{const d=this.townMetaByName.get(D9(u.name));return d?R3(d3(d3({},d),u),{name:d.name,enName:d.enName,center:d.center,centroid:d.centroid,value:re(u.value),unit:u.unit||s.unit,metricTitle:s.title}):null}).filter(Boolean).sort((u,d)=>d.value-u.value).map((u,d)=>R3(d3({},u),{rank:d+1}));return Number.isFinite(t)?o.slice(0,t):o}getVillageRankingRows(e=this.currentTownRanking){const t=this.getTownRankingMeta(e);return((e==null?void 0:e.rows)||[]).map((i,r)=>{var u,d,h,f,v,_,b,y;const a=re((u=i.lng)!=null?u:i.longitude,NaN),s=re((d=i.lat)!=null?d:i.latitude,NaN);if(!Number.isFinite(a)||!Number.isFinite(s))return null;const o=re((h=i.displayValue)!=null?h:i.value),l=re((_=(v=(f=i.rawValue)!=null?f:i.earTagCount)!=null?v:i.ear_tag_count)!=null?_:i.value);return R3(d3({},i),{key:i.key||`${i.town||""}-${i.village||i.name||r}`,name:i.name||i.village||`村${r+1}`,town:i.town||"",lng:a,lat:s,value:o,rawValue:l,recordCount:re((b=i.recordCount)!=null?b:i.record_count,0),imageRate:re((y=i.imageRate)!=null?y:i.image_rate,0),unit:i.displayUnit||i.unit||t.unit,metricTitle:t.title,metricLabel:i.metricLabel||t.metricLabel||""})}).filter(Boolean).sort((i,r)=>r.rawValue-i.rawValue).map((i,r)=>R3(d3({},i),{rank:r+1}))}getVillageRankingHtml(e,t){const i=t.hideTownNames?"":`${dt(e.town||"红原县")}`;return e.displayMode==="park-village"||t.displayMode==="park-village"?`
${dt(e.name)} ${i}
${dt(e.metricLabel||t.metricLabel||"")} ${this.formatMapRankingValue(e.value)} ${dt(e.unit||t.unit||"")}
`:`
${dt(e.name)} ${i}
${dt(e.metricLabel||"防疫")} ${this.formatMapRankingValue(e.value)} ${dt(e.unit||t.unit||"")}
台账 ${this.formatMapCompactValue(e.recordCount)}条 耳标 ${this.formatMapCompactValue(e.rawValue)}头
`}ensureVillageRankingGroup(){this.villageRankingGroup||(this.villageRankingGroup=new z0,this.villageRankingGroup.rotation.x=-Math.PI/2,this.villageRankingGroup.visible=!1,this.scene.add(this.villageRankingGroup),this.villageRankingLabels=[])}hideVillageRankingLabels(){var e;this.villageRankingGroup&&(this.villageRankingGroup.visible=!1),(e=this.villageRankingLabels)==null||e.forEach(t=>{t.visible=!1})}hideAllMapStatisticLabels(){var e,t,i,r;this.updateTownNameLabelStats(null),this.setTownNameLabelsVisible(!1),this.hideVillageRankingLabels(),this.hideTradeFlowLayer(),this.clearInfoPointStats(),(e=this.allProvinceLabel)==null||e.forEach(a=>{a.visible=!1}),(t=this.allBar)==null||t.forEach(a=>{a.visible=!1,a.scale.set(1,1,0)}),(i=this.allBarMaterial)==null||i.forEach(a=>{a.opacity=0}),(r=this.allGuangquan)==null||r.forEach(a=>{a.visible=!1})}setTownNameLabelsVisible(e=!0){var t;(t=this.townNameLabels)==null||t.forEach(i=>{i.visible=e})}updateVillageRankingLabels(e=this.currentTownRanking){if(this.ensureVillageRankingGroup(),!eS(e)){this.hideVillageRankingLabels();return}const t=this.getVillageRankingRows(e),i=this.getTownRankingMeta(e);if(!t.length){this.hideVillageRankingLabels();return}this.villageRankingGroup.visible=this.mapAnimationComplete,t.forEach((r,a)=>{let s=this.villageRankingLabels[a];s||(s=this.label3d.create("","epidemic-village-label",!0),this.label3d.setLabelStyle(s,.0135,"x"),s.setParent(this.villageRankingGroup),this.villageRankingLabels.push(s));const[o,l]=this.geoProjection([r.lng,r.lat]),u=(a%3-1)*.06,d=Math.floor(a/3)%2*.04;s.init(this.getVillageRankingHtml(r,i),new k2(o+u,-l+d,this.depth+1.55+Math.min(a,6)*.015)),s.visible=!0,s.userData=d3({},r)}),this.villageRankingLabels.slice(t.length).forEach(r=>{r.visible=!1})}ensureTradeFlowGroup(){this.tradeFlowGroup||(this.tradeFlowGroup=new z0,this.tradeFlowGroup.name="yak-trade-flow",this.tradeFlowGroup.visible=!1,this.tradeFlowMeshGroup=new z0,this.tradeFlowMeshGroup.name="yak-trade-flow-mesh",this.tradeFlowMeshGroup.rotation.x=-Math.PI/2,this.tradeFlowLabelGroup=new z0,this.tradeFlowLabelGroup.name="yak-trade-flow-label",this.tradeFlowLabelGroup.rotation.x=-Math.PI/2,this.tradeFlowGroup.add(this.tradeFlowMeshGroup,this.tradeFlowLabelGroup),this.scene.add(this.tradeFlowGroup))}hideTradeFlowLayer(){var e,t;this.tradeFlowGroup&&(this.tradeFlowGroup.visible=!1),(e=this.tradeFlowLabels)==null||e.forEach(i=>{i.visible=!1}),(t=this.tradeFlowPulseSprites)==null||t.forEach(i=>{i.visible=!1})}clearTradeFlowLayer(){this.tradeFlowMeshGroup&&(this.tradeFlowMeshGroup.children.forEach(e=>{var t;(t=e.traverse)==null||t.call(e,i=>this.disposeObject3D(i))}),this.tradeFlowMeshGroup.clear(),this.tradeFlowMaterials=[],this.tradeFlowPulseSprites=[])}getTradeFlowSource(e=this.currentTownRanking){var a,s,o,l;const t=(e==null?void 0:e.source)||{},i=re((a=t.lng)!=null?a:t.longitude,NaN),r=re((s=t.lat)!=null?s:t.latitude,NaN);return!Number.isFinite(i)||!Number.isFinite(r)?null:{name:t.name||"红原牦牛交易市场",lng:i,lat:r,total:re((l=(o=t.total)!=null?o:t.headCount)!=null?l:t.value,NaN)}}getTradeFlowRows(e=this.currentTownRanking){const t=this.getTownRankingMeta(e);return((e==null?void 0:e.rows)||[]).map((i,r)=>{var f,v,_,b,y,w;const a=re((f=i.lng)!=null?f:i.longitude,NaN),s=re((v=i.lat)!=null?v:i.latitude,NaN),o=re((y=(b=(_=i.headCount)!=null?_:i.head_count)!=null?b:i.rawValue)!=null?y:i.value),l=i.displayName||i.display_name||i.name,u=i.mapTownName||i.map_town_name||i.town||i.startTown||i.start_town||l,d=this.townMetaByName.get(D9(u)),h=Number.isFinite(a)&&Number.isFinite(s)?{lng:a,lat:s}:d!=null&&d.center?{lng:d.center[0],lat:d.center[1]}:null;return!h||!Number.isFinite(o)?null:R3(d3(d3({},i),d),{key:i.key||`${(d==null?void 0:d.name)||l||u||"trade-source"}-${r}`,name:l||u||(d==null?void 0:d.name)||`来源${r+1}`,townName:(d==null?void 0:d.name)||u,lng:h.lng,lat:h.lat,labelSide:i.labelSide||i.label_side||this.getTradeSourceLabelSide(d,r),value:o,headCount:o,recordCount:re((w=i.recordCount)!=null?w:i.record_count,0),unit:i.unit||t.unit||"头"})}).filter(Boolean).sort((i,r)=>r.value-i.value).map((i,r)=>R3(d3({},i),{rank:r+1}))}getTradeMarketHtml(e,t){const i=Number.isFinite(e.total)?e.total:t.reduce((r,a)=>r+re(a.value),0);return`
${dt(e.name)}
${this.formatMapIntegerValue(i)}
`}getTradeFlowDisplayName(e=""){const t=String(e||"").replace(/^.*红原县/,"").replace(/\s+/g,"");return t.length>7?`${t.slice(0,7)}…`:t||"来源区域"}getTradeFlowLabelHtml(e){return`
${String(e.rank).padStart(2,"0")}${dt(this.getTradeFlowDisplayName(e.name))}
${this.formatMapIntegerValue(e.value)}${dt(e.unit||"头")}
`}getTradeFlowLabelOffset(e,t){return new k2(0,0,0)}getTradeSourceLabelSide(e,t=0){var a,s;const i=Number((a=e==null?void 0:e.center)==null?void 0:a[0]),r=Number((s=e==null?void 0:e.center)==null?void 0:s[1]);return Number.isFinite(i)&&ithis.geoProjectionCenter[0]+.2?"right":Number.isFinite(r)&&r>this.geoProjectionCenter[1]+.22?"top":Number.isFinite(r)&&r0&&(l.normalize().multiplyScalar((i%2===0?1:-1)*Math.min(.18,.05+o*.02)),s.add(l)),new Nf([r,s,a])}tradeGeoProjection(e){return Ji().center(this.tradeGeoProjectionCenter).scale(this.tradeGeoProjectionScale).translate([0,0])(e)}setTradeNationalMapVisible(e){const t=!!e;if(!(!t&&!this.isTradeNationalMapActive&&!this.tradeNationalMapGroup&&!this.tradeFlowGroup)){if(t&&!this.createTradeNationalMap()){this.isTradeNationalMapActive=!1;return}this.isTradeNationalMapActive=t,this.tradeNationalMapGroup&&(this.tradeNationalMapGroup.visible=t&&this.mapAnimationComplete),this.tradeNationalLabelGroup&&(this.tradeNationalLabelGroup.visible=t&&this.mapAnimationComplete),this.mapGroup&&(this.mapGroup.visible=!t),this.labelGroup&&(this.labelGroup.visible=!t),this.flyLineGroup&&(this.flyLineGroup.visible=!t&&this.mapAnimationComplete),this.flyLineFocusGroup&&(this.flyLineFocusGroup.visible=!t&&this.mapAnimationComplete),this.scatterGroup&&(this.scatterGroup.visible=!t&&this.mapAnimationComplete),this.topicLayerMaterial&&t&&(this.topicLayerMaterial.opacity=0),t&&this.mapAnimationComplete?this.animateMapCamera(new k2(0,11.4,16.2),new k2(0,-.05,0),.65):!t&&this.mapAnimationComplete&&this.applyLayerMapView(this.currentTopicLayer,{force:!0})}}createTradeSourceMarker(e,t,i,r){const a=new R1(t%3===1?16766828:t%3===2?2617536:3202303),s=this.getTradeFlowPoint(e,.72);if(r){const _=this.getLocalTradeFlowCurve(e,r,t),b=new V0({color:a,transparent:!0,opacity:.42,depthWrite:!1,depthTest:!1,fog:!1,blending:Tt}),y=.012+Math.min(.012,re(e.value)/Math.max(i,1)*.01),w=new R0(new Dl(_,48,y,8,!1),b);w.renderOrder=31,this.tradeFlowMeshGroup.add(w),this.tradeFlowMaterials.push(b);const U=new G9({map:this.assets.instance.getResource("point"),color:a,transparent:!0,opacity:.92,depthWrite:!1,depthTest:!1,fog:!1,blending:Tt}),P=new er(U),O=.12+Math.min(.08,re(e.value)/Math.max(i,1)*.06);P.renderOrder=36,P.scale.set(O,O,O),P.userData={curve:_,phase:t*.13%1,speed:.16+Math.min(.16,re(e.value)/Math.max(i,1)*.12)},P.position.copy(_.getPointAt(P.userData.phase)),this.tradeFlowPulseSprites.push(P),this.tradeFlowMeshGroup.add(P)}const o=new G9({map:this.assets.instance.getResource("point"),color:a,transparent:!0,opacity:.95,depthWrite:!1,depthTest:!1,fog:!1,blending:Tt}),l=new er(o),u=.22+Math.min(.34,re(e.value)/Math.max(i,1)*.28);l.renderOrder=34,l.scale.set(u,u,u),l.position.copy(s),this.tradeFlowMeshGroup.add(l);const d=this.assets.instance.getResource("guangquan1"),h=new V0({map:d,alphaMap:d,color:a,transparent:!0,opacity:.52,depthWrite:!1,depthTest:!1,fog:!1,blending:Tt,side:he}),f=.38+Math.min(.36,re(e.value)/Math.max(i,1)*.28),v=new R0(new Kn(f,f),h);v.renderOrder=29,v.position.copy(this.getTradeFlowPoint(e,.5)),this.tradeFlowMeshGroup.add(v)}createTradeMarketMarker(e){const t=this.assets.instance.getResource("point"),i=this.assets.instance.getResource("guangquan1"),r=this.getTradeLocalPoint(e.lng,e.lat,.82),a=new G9({map:t,color:16773997,transparent:!0,opacity:1,depthWrite:!1,depthTest:!1,fog:!1,blending:Tt}),s=new er(a);s.renderOrder=35,s.scale.set(.34,.34,.34),s.position.copy(r),this.tradeFlowMeshGroup.add(s);const o=new V0({map:i,alphaMap:i,color:16773997,transparent:!0,opacity:.72,depthWrite:!1,depthTest:!1,fog:!1,blending:Tt,side:he}),l=new R0(new Kn(.58,.58),o);l.renderOrder=29,l.position.copy(this.getTradeLocalPoint(e.lng,e.lat,.58)),this.tradeFlowMeshGroup.add(l)}disposeObject3D(e){var t,i,r,a;(i=(t=e.geometry)==null?void 0:t.dispose)==null||i.call(t),Array.isArray(e.material)?e.material.forEach(s=>{var o;return(o=s==null?void 0:s.dispose)==null?void 0:o.call(s)}):(a=(r=e.material)==null?void 0:r.dispose)==null||a.call(r)}updateTradeFlowPulses(e=.016){var t,i;!((t=this.tradeFlowGroup)!=null&&t.visible)||!((i=this.tradeFlowPulseSprites)!=null&&i.length)||this.tradeFlowPulseSprites.forEach(r=>{var o;const a=(o=r.userData)==null?void 0:o.curve;if(!a)return;const s=(re(r.userData.phase)+re(r.userData.speed,.16)*e)%1;r.userData.phase=s,r.position.copy(a.getPointAt(s))})}updateTradeFlowLayer(e=this.currentTownRanking){if(!tS(e)){this.hideTradeFlowLayer();return}this.ensureTradeFlowGroup();const t=this.getTradeFlowSource(e),i=this.getTradeFlowRows(e);if(!t||!i.length){this.clearTradeFlowLayer(),this.hideTradeFlowLayer();return}this.clearTradeFlowLayer(),this.tradeFlowGroup.visible=this.mapAnimationComplete,this.createTradeMarketMarker(t);const r=Math.max(...i.map(o=>o.value),1);i.forEach((o,l)=>{this.createTradeSourceMarker(o,l,r,t)});const a=i.length+1;for(let o=this.tradeFlowLabels.length;o{const u=this.tradeFlowLabels[l+1];u.element.className="trade-flow-label",u.init(this.getTradeFlowLabelHtml(o),this.getTradeFlowPoint(o,.92+Math.min(l,5)*.035).add(this.getTradeFlowLabelOffset(o,l))),u.visible=!0,u.userData=d3({},o)}),this.tradeFlowLabels.slice(a).forEach(o=>{o.visible=!1})}hasTownRankingRows(e=this.currentTownRanking){return this.getTownRankingRows(e,Number.POSITIVE_INFINITY,!1).length>0}formatMapRankingValue(e){const t=re(e);return Math.abs(t)>=100?String(Math.round(t)):Math.abs(t)>=10?String(Number(t.toFixed(1))):String(Number(t.toFixed(2)))}formatMapCompactValue(e){const t=re(e);return Math.abs(t)>=1e4?`${Number((t/1e4).toFixed(Math.abs(t)>=1e5?1:2))}万`:Math.abs(t)>=1e3?`${Number((t/1e3).toFixed(1))}千`:this.formatMapRankingValue(t)}formatMapIntegerValue(e){const t=re(e);return Math.round(t).toLocaleString("zh-CN")}getBarHeight(e,t){return t?Math.max(2.8*.12,2.8*(re(e)/t)):2.8*.25}createBarGeometry(e){const i=new Qr(.06999999999999999,.06999999999999999,e);return i.translate(0,0,e/2),i}getProvinceLabelHtml(e,t,i){return`
${i.title}
${this.formatMapRankingValue(e.value)}${e.unit||i.unit}
${e.name}
${t+1}
`}updateBarItem(e,t,i,r,a=!0){var u,d;const s=this.getBarHeight(t.value,r),[o,l]=this.geoProjection(t.centroid);return e.visible=!0,(d=(u=e.geometry)==null?void 0:u.dispose)==null||d.call(u),e.geometry=this.createBarGeometry(s),e.position.set(o,-l,this.depth+.45),e.userData=R3(d3({},t),{targetValue:t.value,geoHeight:s}),e.children.forEach(h=>{var f,v,_,b;(v=(f=h.geometry)==null?void 0:f.dispose)==null||v.call(f),Array.isArray(h.material)?h.material.forEach(y=>{var w;return(w=y==null?void 0:y.dispose)==null?void 0:w.call(y)}):(b=(_=h.material)==null?void 0:_.dispose)==null||b.call(_)}),e.clear(),e.add(...this.createHUIGUANG(s,i>3?16776948:7863285)),a?Ge.to(e.scale,{duration:.45,x:1,y:1,z:1,ease:"power2.out"}):this.mapAnimationComplete&&e.scale.set(1,1,1),{x:o,y:l,geoHeight:s}}updateProvinceLabel(e,t,i,r,a,s=!0){var _;const o=re((_=e.userData)==null?void 0:_.targetValue,t.value);e.visible=!0,e.userData=R3(d3({},t),{targetValue:t.value}),e.position.copy(r);const l=e.element.querySelector(".label-title"),u=e.element.querySelector(".number .value"),d=e.element.querySelector(".number .unit"),h=e.element.querySelector(".name"),f=e.element.querySelector(".no");!l||!u||!d||!h||!f?e.element.innerHTML=this.getProvinceLabelHtml(t,i,a):(l.innerText=a.title,u.dataset.targetValue=String(t.value),u.innerText=this.formatMapRankingValue(t.value),d.innerText=t.unit||a.unit,h.innerText=t.name,f.innerText=i+1);const v=e.element.querySelector(".provinces-label-wrap");if(this.mapAnimationComplete&&(v.style.opacity="1",v.style.transform="translate(50%, 0)"),s&&this.mapAnimationComplete){const b=e.element.querySelector(".number .value"),w={value:o};Ge.to(w,{value:t.value,duration:.45,ease:"power2.out",onUpdate:()=>{b.innerText=this.formatMapRankingValue(w.value)},onComplete:()=>{b.dataset.previousValue=String(t.value),b.innerText=this.formatMapRankingValue(t.value)}})}}clearTownNameLabelStat(e){const t=e.element.querySelector(".town-stat-label"),i=e.element.querySelector(".town-stat-value"),r=e.element.querySelector(".town-stat-unit"),a=e.element.querySelector(".town-rank"),s=e.element.querySelector(".town-stat-metric");t==null||t.classList.remove("has-stat"),i&&(i.innerText=""),r&&(r.innerText=""),a&&(a.innerText=""),s&&(s.innerText="")}updateTownNameLabelStats(e=this.currentTownRanking){var s;if(!((s=this.townNameLabels)!=null&&s.length))return;const t=this.getTownRankingRows(e,Number.POSITIVE_INFINITY,!1),i=this.getTownRankingMeta(e),r=new Map(t.map(o=>[D9(o.name),o])),a=!!(e&&t.length&&(i.metricLabel||i.unit||i.title));this.townNameLabels.forEach(o=>{var y,w;const l=((y=o.userData)==null?void 0:y.townName)||((w=o.userData)==null?void 0:w.name),u=r.get(D9(l))||(a?{name:l,value:0,unit:i.unit,metricLabel:i.metricLabel,rank:null}:null);if(!u){this.clearTownNameLabelStat(o);return}const d=o.element.querySelector(".town-stat-label"),h=o.element.querySelector(".town-name"),f=o.element.querySelector(".town-stat-value"),v=o.element.querySelector(".town-stat-unit"),_=o.element.querySelector(".town-rank"),b=o.element.querySelector(".town-stat-metric");d==null||d.classList.add("has-stat"),h&&(h.innerText=l),b&&(b.innerText=u.metricLabel||i.metricLabel||""),f&&(f.innerText=this.formatMapRankingValue(u.value)),v&&(v.innerText=u.unit||i.unit||""),_&&(_.innerText=u.rank?`第${u.rank}名`:""),o.userData=R3(d3(d3({},o.userData),u),{townName:l,targetValue:u.value})})}getInfoPointHtml(e,t=this.getTownRankingMeta()){const i=String(e.metricLabel||t.metricLabel||t.title||"统计指标").replace(/排行$/,""),r=Number(e.rank),a=Number.isFinite(r)?String(r).padStart(2,"0"):"--";return`
${a} ${dt(e.name||"红原县")}
${dt(i)}
${this.formatMapRankingValue(e.value)} ${dt(e.unit||t.unit||"")}
`}updateInfoPointStats(){var s,o;if(!((s=this.infoPointSprites)!=null&&s.length)||!((o=this.infoLabelElement)!=null&&o.length))return;if(!this.showTownRankingPointMarkers){this.clearInfoPointStats();return}const e=this.getTownRankingRows(this.currentTownRanking,Number.POSITIVE_INFINITY,!1);if(!e.length){this.clearInfoPointStats();return}const t=this.getTownRankingMeta(),i=e.slice(0,this.infoPointSprites.length),r=Math.max(...i.map(l=>l.value),1);this.infoPointSprites.forEach((l,u)=>{const d=i[u],h=this.infoLabelElement[u];if(!d){l.visible=!1,l.scale.set(0,0,0),h&&(h.visible=!1);return}const[f,v]=this.geoProjection(d.centroid||d.center),_=[f,-v,this.depth+.72];l.userData=R3(d3(d3({},l.userData),d),{position:_,value:d.value,unit:d.unit||t.unit,rank:d.rank,metricTitle:t.title,index:u}),l.position.set(..._),l.visible=this.showTownRankingPointMarkers;const b=.78+d.value/r*.44;if(l.scale.set(b,b,b),h){const y=(u%2===0?.22:-.18)+(u===0?.12:0),w=u%3===0?.08:-.04;h.position.set(f+y,-v+w,this.depth+1.88+Math.min(u,4)*.03),h.userData=R3(d3({},d),{index:u}),h.element.innerHTML=this.getInfoPointHtml(d,t)}});const a=this.infoLabelElement[this.infoPointIndex];a&&this.showTownRankingPointMarkers&&this.mapAnimationComplete&&(a.visible=!0),this.showTownRankingPointMarkers&&this.mapAnimationComplete&&!this.infoPointLabelTime&&this.createInfoPointLabelLoop()}clearInfoPointStats(){var e,t;clearInterval(this.infoPointLabelTime),this.infoPointLabelTime=null,this.infoPointIndex=0,this.InfoPointGroup&&(this.InfoPointGroup.visible=!1),(e=this.infoLabelElement)==null||e.forEach(i=>{i.visible=!1}),(t=this.infoPointSprites)==null||t.forEach(i=>{i.visible=!1,i.scale.set(0,0,0)})}createBar(){const e=this.getTownRankingRows();this.getTownRankingMeta();const t=new z0;this.barGroup=t;const i=Math.max(...e.map(r=>r.value),1);this.allBar=[],this.allBarMaterial=[],this.allGuangquan=[],this.allProvinceLabel=[],e.map((r,a)=>{const s=this.getBarHeight(r.value,i),o=new V0({color:16777215,transparent:!0,opacity:0,depthTest:!1,fog:!1});new Z7(o,{uColor1:a>3?16506760:5291006,uColor2:a>3?16776948:7863285,size:s,dir:"y"});const l=new R0(this.createBarGeometry(s),o);l.renderOrder=5;const[u,d]=this.geoProjection(r.centroid);l.position.set(u,-d,this.depth+.45),l.scale.set(1,1,0),l.userData=R3(d3({},r),{targetValue:r.value,geoHeight:s});const h=this.createQuan(new k2(u,this.depth+.44,d),a);l.add(...this.createHUIGUANG(s,a>3?16776948:7863285)),t.add(l),t.rotation.x=-Math.PI/2,this.allBar.push(l),this.allBarMaterial.push(o),this.allGuangquan.push(h)}),this.scene.add(t),this.updateTownNameLabelStats(this.currentTownRanking)}setTownRanking(e){var a,s,o,l,u,d,h,f,v,_,b,y,w,U,P,O;this.currentTownRanking=e;const t=this.getTownRankingMeta(e);if(this.showTownRankingBars=!!t.showBars,this.showTownRankingPointMarkers=!!t.showPointMarkers,t.hideMapLabels){this.hideAllMapStatisticLabels(),this.mapGroup&&(this.mapGroup.visible=!0),this.labelGroup&&(this.labelGroup.visible=!0),this.flyLineGroup&&(this.flyLineGroup.visible=this.mapAnimationComplete),this.flyLineFocusGroup&&(this.flyLineFocusGroup.visible=this.mapAnimationComplete),this.scatterGroup&&(this.scatterGroup.visible=this.mapAnimationComplete);return}if(tS(e)){this.setTradeNationalMapVisible(!1),this.updateTownNameLabelStats(null),this.setTownNameLabelsVisible(!1),this.hideVillageRankingLabels(),this.clearInfoPointStats(),this.mapGroup&&(this.mapGroup.visible=!0),this.labelGroup&&(this.labelGroup.visible=!1),this.flyLineGroup&&(this.flyLineGroup.visible=!1),this.flyLineFocusGroup&&(this.flyLineFocusGroup.visible=!1),this.scatterGroup&&(this.scatterGroup.visible=!1),(a=this.allBar)!=null&&a.length&&(this.allBar.forEach(j=>{j.visible=!1,j.scale.set(1,1,0)}),(s=this.allBarMaterial)==null||s.forEach(j=>{j.opacity=0}),(o=this.allProvinceLabel)==null||o.forEach(j=>{j.visible=!1}),(l=this.allGuangquan)==null||l.forEach(j=>{j.visible=!1})),this.updateTradeFlowLayer(e);return}if(this.setTradeNationalMapVisible(!1),this.hideTradeFlowLayer(),this.mapGroup&&(this.mapGroup.visible=!0),this.labelGroup&&(this.labelGroup.visible=!0),this.flyLineGroup&&(this.flyLineGroup.visible=this.mapAnimationComplete),this.flyLineFocusGroup&&(this.flyLineFocusGroup.visible=this.mapAnimationComplete),this.scatterGroup&&(this.scatterGroup.visible=this.mapAnimationComplete),eS(e)){this.updateTownNameLabelStats(null),this.setTownNameLabelsVisible(!nS(e)),this.clearInfoPointStats(),this.updateVillageRankingLabels(e),(u=this.allBar)!=null&&u.length&&(this.allBar.forEach(j=>{j.visible=!1,j.scale.set(1,1,0)}),(d=this.allBarMaterial)==null||d.forEach(j=>{j.opacity=0}),(h=this.allProvinceLabel)==null||h.forEach(j=>{j.visible=!1}),(f=this.allGuangquan)==null||f.forEach(j=>{j.visible=!1}));return}if(this.setTownNameLabelsVisible(!t.calloutMode&&!t.hideTownNames),this.hideVillageRankingLabels(),t.calloutMode?this.updateTownNameLabelStats(null):this.updateTownNameLabelStats(e),!((v=this.allBar)!=null&&v.length))return;if(!this.showTownRankingBars){this.allBar.forEach(j=>{j.visible=!1,j.scale.set(1,1,0)}),(_=this.allBarMaterial)==null||_.forEach(j=>{j.opacity=0}),(b=this.allProvinceLabel)==null||b.forEach(j=>{j.visible=!1}),(y=this.allGuangquan)==null||y.forEach(j=>{j.visible=!1}),this.showTownRankingPointMarkers?(this.InfoPointGroup&&(this.InfoPointGroup.visible=this.mapAnimationComplete&&this.hasTownRankingRows(e)),this.updateInfoPointStats()):this.clearInfoPointStats();return}const i=this.getTownRankingRows(e,7,!1);if(!i.length){this.allBar.forEach(j=>{j.visible=!1,j.scale.set(1,1,0)}),(w=this.allProvinceLabel)==null||w.forEach(j=>{j.visible=!1}),(U=this.allGuangquan)==null||U.forEach(j=>{j.visible=!1}),this.clearInfoPointStats();return}this.InfoPointGroup&&(this.InfoPointGroup.visible=this.showTownRankingPointMarkers&&this.mapAnimationComplete),(P=this.infoPointSprites)==null||P.forEach(j=>{j.visible=this.showTownRankingPointMarkers});const r=Math.max(...i.map(j=>j.value),1);this.allBar.forEach((j,q)=>{const K=q{j.visible=!1}),this.allGuangquan.forEach((j,q)=>{j.visible=q{const K=this.allBar[q],c2=this.allGuangquan[q];if(!K)return;const{x:S2,y:H}=this.updateBarItem(K,j,q,r,this.mapAnimationComplete);c2&&(c2.visible=!0,c2.position.set(0,0,0),c2.children.forEach(Z=>{Z.position.set(S2,this.depth+.44,H),this.mapAnimationComplete&&Z.scale.set(1,1,1)}))}),this.updateInfoPointStats()}createEvent(){let e=[];const t=r=>{r.traverse(a=>{a.isMesh&&(a.material=this.defaultMaterial)})},i=r=>{r.traverse(a=>{a.isMesh&&(a.material=this.defaultLightMaterial)})};this.eventElement.map(r=>{this.interactionManager.add(r),r.addEventListener("mousedown",a=>{this.handleMapClick(a)}),r.addEventListener("mouseover",a=>{e.includes(a.target.parent)||e.push(a.target.parent),document.body.style.cursor="pointer",i(a.target.parent)}),r.addEventListener("mouseout",a=>{e=e.filter(s=>s.userData.name!==a.target.parent.userData.name),e.length>0&&e[e.length-1],t(a.target.parent),document.body.style.cursor="default"})})}createHUIGUANG(e,t){let i=new Kn(.35,e);i.translate(0,e/2,0);const r=this.assets.instance.getResource("huiguang");r.colorSpace=J0,r.wrapS=wt,r.wrapT=wt;let a=new V0({color:t,map:r,transparent:!0,opacity:.4,depthWrite:!1,side:he,blending:Tt}),s=new R0(i,a);s.renderOrder=10,s.rotateX(Math.PI/2);let o=s.clone(),l=s.clone();return o.rotateY(Math.PI/180*60),l.rotateY(Math.PI/180*120),[s,o,l]}createQuan(e,t){const i=this.assets.instance.getResource("guangquan1"),r=this.assets.instance.getResource("guangquan2");let a=new Kn(.5,.5),s=new V0({color:16777215,map:i,alphaMap:i,opacity:1,transparent:!0,depthTest:!1,fog:!1,blending:Tt}),o=new V0({color:16777215,map:r,alphaMap:r,opacity:1,transparent:!0,depthTest:!1,fog:!1,blending:Tt}),l=new R0(a,s),u=new R0(a,o);return l.renderOrder=6,u.renderOrder=6,l.rotateX(-Math.PI/2),u.rotateX(-Math.PI/2),l.position.copy(e),u.position.copy(e),u.position.y-=.001,l.scale.set(0,0,0),u.scale.set(0,0,0),this.quanGroup=new z0,this.quanGroup.add(l,u),this.scene.add(this.quanGroup),this.time.on("tick",()=>{l.rotation.z+=.05}),this.quanGroup}createDiffuse(){let e=new Kn(200,200),t=new V0({color:0,depthWrite:!1,transparent:!0,blending:mT});t.blendEquation=O5,t.blendSrc=vT,t.blendDst=gT,new Mj({material:t,time:this.time,size:60,diffuseSpeed:8,diffuseColor:7442830,diffuseWidth:2,callback:r=>{const a=setTimeout(()=>{this.addSceneTween(Ge.to(r.uniforms.uTime,{value:4,repeat:-1,duration:6,ease:"power1.easeIn"}))},3);this.addSceneTimer(a)}});let i=new R0(e,t);i.renderOrder=3,i.rotation.x=-Math.PI/2,i.position.set(0,.21,0),this.scene.add(i)}createGrid(){new Ej(this,{gridSize:54,gridDivision:24,gridColor:1990543,shapeSize:.55,shapeColor:3309487,pointSize:.085,pointColor:1993891,pointBlending:Tt})}createBottomBg(){let e=new Kn(24,24);const t=this.assets.instance.getResource("ocean");t.colorSpace=J0,t.wrapS=wt,t.wrapT=wt,t.repeat.set(1,1);let i=new V0({map:t,opacity:.92,fog:!1}),r=new R0(e,i);r.rotation.x=-Math.PI/2,r.position.set(0,-.7,0),this.scene.add(r)}createChinaBlurLine(){let e=new Kn(154,154);const t=this.assets.instance.getResource("chinaBlurLine");t.colorSpace=J0,t.wrapS=wt,t.wrapT=wt,t.generateMipmaps=!1,t.minFilter=ht,t.repeat.set(1,1);let i=new V0({color:4162253,alphaMap:t,transparent:!0,opacity:.62}),r=new R0(e,i);r.rotateX(-Math.PI/2),r.position.set(-19.3,-.5,-19.7),this.scene.add(r)}createLabel(){let e=this,t=this.labelGroup,i=this.label3d,r=[],a=[];Jj.map(o=>{if(o.hide==!0)return!1;let l=s(o,i,t);r.push(l),a.push(l)}),this.otherLabel=r,this.townNameLabels=a;function s(o,l,u){let d=l.create("",`china-label ${o.blur?" blur":""}`,!0);const[h,f]=e.geoProjection(o.center);return d.init(`
${o.name}
`,new k2(h,-f,e.depth+.85)),l.setLabelStyle(d,.018,"x"),d.setParent(u),d.userData=R3(d3({},o),{townName:o.name}),d}}createRotateBorder(){let e=13.2,t=this.assets.instance.getResource("rotationBorder1"),i=this.assets.instance.getResource("rotationBorder2"),r=new k_(this,{width:e*1.178,needRotate:!0,rotateSpeed:.001,material:new V0({map:t,color:4763647,transparent:!0,opacity:.26,side:he,depthWrite:!1,blending:Tt}),position:new k2(0,.31,0)});r.instance.rotation.x=-Math.PI/2,r.instance.renderOrder=6,r.instance.scale.set(0,0,0),r.setParent(this.scene);let a=new k_(this,{width:e*1.116,needRotate:!0,rotateSpeed:-.004,material:new V0({map:i,color:4763647,transparent:!0,opacity:.5,side:he,depthWrite:!1,blending:Tt}),position:new k2(0,.33,0)});a.instance.rotation.x=-Math.PI/2,a.instance.renderOrder=6,a.instance.scale.set(0,0,0),a.setParent(this.scene),this.rotateBorder1=r.instance,this.rotateBorder2=a.instance}createFlyLine(){this.flyLineGroup=new z0,this.flyLineGroup.visible=!1,this.scene.add(this.flyLineGroup)}createFocus(){this.flyLineFocusGroup.clear()}createParticles(){this.particles=new nl(this,{num:10,range:30,dir:"up",speed:.05,material:new Y4({map:nl.createTexture(),size:1,color:61166,transparent:!0,opacity:1,depthTest:!1,depthWrite:!1,vertexColors:!0,blending:Tt,sizeAttenuation:!0})}),this.particleGroup=new z0,this.scene.add(this.particleGroup),this.particleGroup.rotation.x=-Math.PI/2,this.particles.setParent(this.particleGroup),this.particles.enable=!0,this.particleGroup.visible=!0}createScatter(){this.scatterGroup=new z0,this.scatterGroup.visible=!1,this.scatterGroup.rotation.x=-Math.PI/2,this.scene.add(this.scatterGroup);const e=this.assets.instance.getResource("arrow"),t=new G9({map:e,color:16776948,fog:!1,transparent:!0,depthTest:!1});let i=Q_(Zj),r=i[0].value;i.map(a=>{const s=new er(t);s.renderOrder=23;let o=.1+a.value/r*.2;s.scale.set(o,o,o);let[l,u]=this.geoProjection([a.lng,a.lat]);s.position.set(l,-u,this.depth+.45),s.userData.position=[l,-u,this.depth+.45],this.scatterGroup.add(s)})}createInfoPoint(){let e=this;this.InfoPointGroup=new z0,this.scene.add(this.InfoPointGroup),this.InfoPointGroup.visible=!1,this.InfoPointGroup.rotation.x=-Math.PI/2,this.infoPointIndex=0,this.infoPointLabelTime=null,this.infoLabelElement=[],this.infoPointSprites=[];let t=this.label3d;const i=this.assets.instance.getResource("point");let r=[16776948,7863285],a=Q_(Qj),s=a[0].value;a.map((l,u)=>{const d=new G9({map:i,color:r[u%r.length],fog:!1,transparent:!0,depthTest:!1}),h=new er(d);h.renderOrder=23;let f=.7+l.value/s*.4;h.scale.set(f,f,f);let[v,_]=this.geoProjection([l.lng,l.lat]),b=[v,-_,this.depth+.7];h.position.set(...b),h.userData.position=[...b],h.userData={position:[v,-_,this.depth+.7],name:l.name,value:l.value,level:l.level,index:u},this.InfoPointGroup.add(h);let y=o(l,t,this.InfoPointGroup,u);this.infoLabelElement.push(y),this.infoPointSprites.push(h),this.interactionManager.add(h),h.addEventListener("mousedown",w=>{if(this.clicked||!this.InfoPointGroup.visible)return!1;this.clicked=!0,this.infoPointIndex=w.target.userData.index,this.infoLabelElement.map(U=>{U.visible=!1}),y.visible=!0,this.createInfoPointLabelLoop()}),h.addEventListener("mouseup",w=>{this.clicked=!1}),h.addEventListener("mouseover",w=>{document.body.style.cursor="pointer"}),h.addEventListener("mouseout",w=>{document.body.style.cursor="default"})});function o(l,u,d,h){let f=u.create("","info-point",!0);const[v,_]=e.geoProjection([l.lng,l.lat]);return f.init(e.getInfoPointHtml(R3(d3({},l),{value:0,rank:h+1,unit:""}),e.getTownRankingMeta()),new k2(v,-_,e.depth+1.9)),u.setLabelStyle(f,.015,"x"),f.setParent(d),f.visible=!1,f}}createInfoPointLabelLoop(){var e;this.scenePaused||!((e=this.infoLabelElement)!=null&&e.length)||(clearInterval(this.infoPointLabelTime),this.infoPointLabelTime=setInterval(()=>{this.infoPointIndex++,this.infoPointIndex>=this.infoLabelElement.length&&(this.infoPointIndex=0),this.infoLabelElement.map((t,i)=>{this.infoPointIndex===i?t.visible=!0:t.visible=!1})},3e3))}createStorke(){const e=this.staticMapData.mapStroke,t=this.assets.instance.getResource("pathLine3");t.wrapS=t.wrapT=wt,t.repeat.set(2,1);let i=new J7(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new k2(0,0,this.depth+.24),data:e,material:new V0({color:2868444,map:t,alphaMap:t,fog:!1,transparent:!0,opacity:1,blending:Tt}),type:"Line3",renderOrder:22,tubeRadius:.03});this.focusMapGroup.add(i.lineGroup),this.time.on("tick",()=>{t.offset.x+=.005})}handleMapClick(e){return k3(this,null,function*(){var a,s,o,l,u,d,h,f,v,_,b,y,w,U,P,O,j,q,K,c2,S2,H,Z,G2,q2,C2,E2,A2,X2,b2,J,p2,N2,e3,h3,I2,n2,P2,Z2;if(!this.currentTopicLayer)return;const t=this.getScreenPointFromEvent(e),i=this.getLngLatFromEvent(e);if(!i){this.clearSelectedFeature(),(s=(a=this.callbacks).onFeatureInfo)==null||s.call(a,{feature:null});return}if(this.boundaryDrawingEnabled){const f3=((o=e==null?void 0:e.data)==null?void 0:o.originalEvent)||(e==null?void 0:e.originalEvent)||e;if(f3!=null&&f3.__analysisBoundaryHandled)return;this.addBoundaryDrawPoint(i);return}if(this.shouldClipLayerToHongyuanBoundary(this.currentTopicLayer)&&!this.isLngLatInHongyuanBoundary(i)){this.clearSelectedFeature(),(u=(l=this.callbacks).onFeatureInfo)==null||u.call(l,{feature:null}),(h=(d=this.callbacks).onLayerStatus)==null||h.call(d,{type:"success",text:"当前点击位置不在红原县边界内"});return}if(this.shouldClipLayerToLayerBounds(this.currentTopicLayer)&&!this.isLngLatInLayerClipBounds(i,this.currentTopicLayer)){this.clearSelectedFeature(),(v=(f=this.callbacks).onFeatureInfo)==null||v.call(f,{feature:null}),(b=(_=this.callbacks).onLayerStatus)==null||b.call(_,{type:"success",text:"当前点击位置不在图层显示范围内"});return}if(eo(this.currentTopicLayer)){const f3=this.pickVectorFeatureAtPoint(i,t),v3=(f3==null?void 0:f3.feature)||f3;let O3=(f3==null?void 0:f3.screen)||t;v3?(this.shouldClipLayerToHongyuanBoundary(this.currentTopicLayer)?(this.clearSelectedGeometryGroup(),this.setSelectedVectorFeatures([v3])):this.showSelectedFeature(v3),((y=this.currentTopicLayer)==null?void 0:y.key)==="yak-industry-points"&&(this.setSelectedVectorFeatures([v3]),O3=this.getPointFeatureScreenPoint(v3)||O3),(j=(O=this.callbacks).onFeatureInfo)==null||j.call(O,{feature:{id:((w=v3.properties)==null?void 0:w.id)||((U=v3.properties)==null?void 0:U.feature_id)||((P=v3.properties)==null?void 0:P.project_name),properties:v3.properties||{},feature:v3,layer:this.currentTopicLayer,lngLat:i},screen:O3}),(K=(q=this.callbacks).onLayerStatus)==null||K.call(q,{type:"success",text:"真实矢量要素已选中"})):(this.clearSelectedFeature(),(S2=(c2=this.callbacks).onFeatureInfo)==null||S2.call(c2,{feature:null}),(Z=(H=this.callbacks).onLayerStatus)==null||Z.call(H,{type:"success",text:"当前点击位置无生态保护要素"}));return}const r=this.lngLatToWmsPixel(i);(q2=(G2=this.callbacks).onFeatureInfo)==null||q2.call(G2,{feature:null}),(E2=(C2=this.callbacks).onFeatureLoading)==null||E2.call(C2,!0);try{const f3=yield J_(this.currentTopicLayer,r,{size:U5,buffer:10}),v3=Z_(f3),O3=v3?null:yield this.queryFallbackFeatureInfo(i),H3=v3||(O3==null?void 0:O3.feature);if(H3){const F2=yield this.enrichFeatureInfo(H3,r,i);this.showSelectedFeature(F2.feature||F2),(X2=(A2=this.callbacks).onFeatureInfo)==null||X2.call(A2,{feature:R3(d3({},F2),{layer:(O3==null?void 0:O3.layer)||this.currentTopicLayer,lngLat:i}),screen:t})}else this.clearSelectedFeature(),(J=(b2=this.callbacks).onFeatureInfo)==null||J.call(b2,{feature:null});H3||(N2=(p2=this.callbacks).onLayerStatus)==null||N2.call(p2,{type:"success",text:"当前点击位置无图斑"})}catch(f3){this.clearSelectedFeature(),(h3=(e3=this.callbacks).onFeatureInfo)==null||h3.call(e3,{feature:null}),(n2=(I2=this.callbacks).onLayerStatus)==null||n2.call(I2,{type:"error",text:"图斑信息查询失败"})}finally{(Z2=(P2=this.callbacks).onFeatureLoading)==null||Z2.call(P2,!1)}})}handleCanvasBoundaryPointerDown(e){var i,r;if(!this.boundaryDrawingEnabled)return;const t=this.getLngLatFromCanvasEvent(e);t&&this.addBoundaryDrawPoint(t)&&(e.__analysisBoundaryHandled=!0),(i=e.preventDefault)==null||i.call(e),(r=e.stopPropagation)==null||r.call(e)}handleCanvasBoundaryDoubleClick(e){var i,r;if(!this.boundaryDrawingEnabled)return;const t=this.getLngLatFromCanvasEvent(e);(this.boundaryDrawPoints||[]).length<3&&t&&this.addBoundaryDrawPoint(t),(this.boundaryDrawPoints||[]).length>=3&&(this.finishBoundaryDrawing(),e.__analysisBoundaryHandled=!0),(i=e.preventDefault)==null||i.call(e),(r=e.stopPropagation)==null||r.call(e)}getLngLatFromCanvasEvent(e){var f,v,_;if(!((f=this.camera)!=null&&f.instance)||!this.focusMapGroup||!this.canvas)return null;const t=this.canvas.getBoundingClientRect();if(!t.width||!t.height)return null;const i=(v=this.interactionManager)==null?void 0:v.raycaster;if(!(i!=null&&i.setFromCamera))return null;const r={x:(e.clientX-t.left)/t.width*2-1,y:-((e.clientY-t.top)/t.height)*2+1};i.setFromCamera(r,this.camera.instance);const s=((_=i.intersectObjects(this.eventElement||[],!0)[0])==null?void 0:_.point)||this.getRayMapPlaneIntersection(i.ray);if(!s)return null;const o=this.focusMapGroup.worldToLocal(s.clone()),u=Ji().center(this.geoProjectionCenter).scale(this.geoProjectionScale).translate([0,0]).invert([o.x,-o.y]);if(!u)return null;const d=Number(u[0]),h=Number(u[1]);return!Number.isFinite(d)||!Number.isFinite(h)?null:dv0.east+.03||hv0.north+.03?this.getFallbackLngLatFromPointer(e,t):{lng:d,lat:h}}getFallbackLngLatFromPointer(e,t=(r=>(r=(i=>(i=this.canvas)==null?void 0:i.getBoundingClientRect)())==null?void 0:r.call(i))()){if(!(t!=null&&t.width)||!(t!=null&&t.height))return null;const a=Math.min(1,Math.max(0,(e.clientX-t.left)/t.width)),s=Math.min(1,Math.max(0,(e.clientY-t.top)/t.height)),o=v0.west+(v0.east-v0.west)*a,l=v0.north-(v0.north-v0.south)*s;return{lng:o,lat:l}}getRayMapPlaneIntersection(e){if(!(e!=null&&e.origin)||!(e!=null&&e.direction)||!this.focusMapGroup)return null;const t=this.focusMapGroup.worldToLocal(e.origin.clone()),r=this.focusMapGroup.worldToLocal(e.origin.clone().add(e.direction.clone())).sub(t),a=this.depth+.22;if(Math.abs(r.z)<1e-8)return null;const s=(a-t.z)/r.z;if(!Number.isFinite(s)||s<0)return null;const o=t.add(r.multiplyScalar(s));return this.focusMapGroup.localToWorld(o)}enrichFeatureInfo(e,t,i){return k3(this,null,function*(){const r=this.getLayerTopicKey(this.currentTopicLayer);if(!["grassland","woodland"].includes(r))return e;const s=(bo[r]||[]).find(h=>h.key===`${r}-distribution`),o=(this.visibleTopicLayers||[]).filter(h=>this.getLayerTopicKey(h)===r).slice(0,5),l=[s,this.currentTopicLayer,...o].filter(h=>h==null?void 0:h.layerName).filter((h,f,v)=>v.findIndex(_=>this.getLayerQueryKey(_)===this.getLayerQueryKey(h))===f);if(!l.length)return e;const u=yield Promise.allSettled([...l.filter(h=>this.getLayerQueryKey(h)!==this.getLayerQueryKey(this.currentTopicLayer)).map(h=>k3(this,null,function*(){const f=yield J_(h,t,{size:U5,buffer:10}),v=Z_(f);return v?{layer:h,feature:v,source:"wms"}:null})),...l.map(h=>k3(this,null,function*(){const f=yield this.queryLayerFeatureByPoint(h,i);return f?{layer:h,feature:f,source:"wfs"}:null}))]),d=d3({},e.properties||{});return u.forEach(h=>{var f,v;h.status!=="fulfilled"||!((v=(f=h.value)==null?void 0:f.feature)!=null&&v.properties)||this.mergeBusinessProperties(d,h.value.feature.properties,h.value.layer)}),R3(d3({},e),{properties:d,relatedFeatures:u.filter(h=>{var f;return h.status==="fulfilled"&&((f=h.value)==null?void 0:f.feature)}).map(h=>h.value),feature:R3(d3({},e.feature||{}),{properties:d})})})}queryFallbackFeatureInfo(e){return k3(this,null,function*(){const t=this.getLayerTopicKey(this.currentTopicLayer);if(!["grassland","woodland"].includes(t))return null;const r=[(bo[t]||[]).find(a=>a.key===`${t}-distribution`),this.currentTopicLayer,...(this.visibleTopicLayers||[]).filter(a=>this.getLayerTopicKey(a)===t)].filter((a,s,o)=>(a==null?void 0:a.layerName)&&o.findIndex(l=>this.getLayerQueryKey(l)===this.getLayerQueryKey(a))===s);for(const a of r){const s=yield this.queryLayerFeatureByPoint(a,e,{requireContainment:!0});if(s)return{layer:a,feature:s}}return null})}queryLayerFeatureByPoint(r,a){return k3(this,arguments,function*(e,t,i={}){var _,b,y;if(!(e!=null&&e.layerName)||!Number.isFinite(t==null?void 0:t.lng)||!Number.isFinite(t==null?void 0:t.lat))return null;const s=e.pointQueryTolerance||.0015,o=e.geometryField||"geom",l=t.lng-s,u=t.lat-s,d=t.lng+s,h=t.lat+s,f=yield O4(e.layerName,{cqlFilter:`BBOX(${o},${l},${u},${d},${h})`,maxFeatures:8,timeout:12e3}),v=this.pickFeatureAtPoint((f==null?void 0:f.features)||[],t,i);return v?{id:v.id||((_=v.properties)==null?void 0:_.gid)||((b=v.properties)==null?void 0:b.objectid)||((y=v.properties)==null?void 0:y.OBJECTID),properties:v.properties||{},feature:v}:null})}pickFeatureAtPoint(e,t,i={}){var a;if(!Array.isArray(e)||!e.length)return null;const r=e.filter(s=>this.isLngLatInGeometry(t,s.geometry)).sort((s,o)=>this.getGeometryAreaScore(s.geometry)-this.getGeometryAreaScore(o.geometry));return r.length?r[0]:i.requireContainment?null:((a=e.map(s=>({feature:s,distance:this.getGeometryDistanceScore(s.geometry,t)})).sort((s,o)=>s.distance-o.distance)[0])==null?void 0:a.feature)||null}isLngLatInGeometry(e,t){return!e||!(t!=null&&t.coordinates)?!1:t.type==="Polygon"?this.isLngLatInPolygon(e,t.coordinates):t.type==="MultiPolygon"?t.coordinates.some(i=>this.isLngLatInPolygon(e,i)):!1}isLngLatInPolygon(e,t=[]){return!t.length||!this.isLngLatInRing(e,t[0])?!1:!t.slice(1).some(r=>this.isLngLatInRing(e,r))}isLngLatInRing(e,t=[]){if(t.length<3)return!1;let i=!1;const r=e.lng,a=e.lat;for(let s=0,o=t.length-1;sa!=v>a&&r<(f-d)*(a-h)/(v-h)+d&&(i=!i)}return i}isPointOnSegment(e,t,i,r,a,s){const o=(e-i)*(s-r)-(t-r)*(a-i);return Math.abs(o)>1e-10?!1:(e-i)*(e-a)+(t-r)*(t-s)<=1e-10}getGeometryAreaScore(e){return e!=null&&e.coordinates?e.type==="Polygon"?this.getLngLatPolygonAreaScore(e.coordinates):e.type==="MultiPolygon"?e.coordinates.reduce((t,i)=>t+this.getLngLatPolygonAreaScore(i),0):Number.POSITIVE_INFINITY:Number.POSITIVE_INFINITY}getLngLatPolygonAreaScore(e=[]){const t=e[0]||[];if(t.length<3)return Number.POSITIVE_INFINITY;let i=0;for(let r=0;r({minLng:Math.min(i.minLng,Number((r==null?void 0:r[0])||0)),minLat:Math.min(i.minLat,Number((r==null?void 0:r[1])||0)),maxLng:Math.max(i.maxLng,Number((r==null?void 0:r[0])||0)),maxLat:Math.max(i.maxLat,Number((r==null?void 0:r[1])||0))}),{minLng:Number.POSITIVE_INFINITY,minLat:Number.POSITIVE_INFINITY,maxLng:Number.NEGATIVE_INFINITY,maxLat:Number.NEGATIVE_INFINITY}):null}getGeometryCoordinateList(e){const t=[],i=r=>{if(Array.isArray(r)){if(typeof r[0]=="number"&&typeof r[1]=="number"){t.push(r);return}r.forEach(i)}};return i(e==null?void 0:e.coordinates),t}pickVectorFeatureAtPoint(e,t){var s;const i=this.currentVectorFeatures||[];if(((s=this.currentTopicLayer)==null?void 0:s.key)==="yak-industry-points"){const o=this.pickPointFeatureAtScreenPoint(i,t);if(o)return o}const r=i.filter(o=>this.isLngLatInGeometry(e,o.geometry)).sort((o,l)=>this.getGeometryAreaScore(o.geometry)-this.getGeometryAreaScore(l.geometry));if(r.length)return r[0];const a=i.find(o=>this.isPointOrLineNearLngLat(o.geometry,e));return a||null}pickPointFeatureAtScreenPoint(e,t){var a;if(!t||!((a=this.camera)!=null&&a.instance)||!this.focusMapGroup||!this.canvas)return null;const r=(e||[]).filter(s=>{var o;return((o=s==null?void 0:s.geometry)==null?void 0:o.type)==="Point"}).map(s=>{const o=this.getPointFeatureScreenPoint(s);return o?{feature:s,screen:o,distance:Math.hypot(o.x-t.x,o.y-t.y)}:null}).filter(Boolean).sort((s,o)=>s.distance-o.distance)[0];return(r==null?void 0:r.distance)<=22?{feature:r.feature,screen:r.screen}:null}getPointFeatureScreenPoint(e){var i,r;const t=(e==null?void 0:e.geometry)||((i=e==null?void 0:e.feature)==null?void 0:i.geometry);return(t==null?void 0:t.type)!=="Point"?null:((r=this.currentTopicLayer)==null?void 0:r.key)==="yak-industry-points"?this.lngLatToLayerScreenPoint(t.coordinates,this.depth+.255):this.lngLatToScreenPoint(t.coordinates,this.depth+.32)}lngLatToLayerLocalPoint(e,t=0){const i=()=>{const u=Number(e==null?void 0:e[0]),d=Number(e==null?void 0:e[1]);if(!Number.isFinite(u)||!Number.isFinite(d))return new k2(0,0,Number(t)||0);const[h,f]=this.geoProjection([u,d]);return new k2(h,-f,Number(t)||0)},r=this.topicLayerUvBounds;if(!r)return i();const a=this.lngLatToLayerCanvasPoint(e),s=this.topicLayerCanvas;if(!(s!=null&&s.width)||!(s!=null&&s.height))return i();const o=r.left+a.x/s.width*(r.right-r.left),l=r.bottom+(s.height-a.y)/s.height*(r.top-r.bottom);return new k2(o,l,Number(t)||0)}lngLatToLayerScreenPoint(e,t=0){return this.localMapPointToScreenPoint(this.lngLatToLayerLocalPoint(e,t))}lngLatToScreenPoint(e,t=0){const i=Number(e==null?void 0:e[0]),r=Number(e==null?void 0:e[1]);if(!Number.isFinite(i)||!Number.isFinite(r))return null;const a=this.lngLatToWorldPoint([i,r],t);return this.worldPointToScreenPoint(a)}localMapPointToScreenPoint(e){const t=this.focusMapGroup?this.focusMapGroup.localToWorld(e):e;return this.worldPointToScreenPoint(t)}worldPointToScreenPoint(e){var r;if(!((r=this.camera)!=null&&r.instance)||!this.canvas||!e)return null;const t=this.canvas.getBoundingClientRect();if(!t.width||!t.height)return null;const i=e.clone().project(this.camera.instance);return!Number.isFinite(i.x)||!Number.isFinite(i.y)?null:{x:t.left+(i.x+1)/2*t.width,y:t.top+(1-i.y)/2*t.height}}focusProject(e){var f,v,_,b;const t=String(e||"").trim();if(!t)return!1;const i=(this.currentVectorFeatures||[]).filter(y=>{var w;return String(((w=y==null?void 0:y.properties)==null?void 0:w.project_name)||"").trim()===t});if(!i.length)return(v=(f=this.callbacks).onLayerStatus)==null||v.call(f,{type:"success",text:"当前项目图斑尚未加载"}),!1;const r=this.getFeatureListLngLatBounds(i);if(!r)return!1;const a=this.getProjectHighlightFeatures(i);a.length?(this.showSelectedFeatures(a),this.setSelectedVectorFeatures(a)):this.clearSelectedFeature();const s=[(r.minLng+r.maxLng)/2,(r.minLat+r.maxLat)/2],o=Math.max(r.maxLng-r.minLng,r.maxLat-r.minLat),l=Math.max(.22,Math.min(.55,o*1.25)),u=this.lngLatToWorldPoint(s,.72),d=this.defaultMapCameraPosition.clone().sub(this.defaultMapTarget).multiplyScalar(l),h=u.clone().add(d);return this.animateMapCamera(h,u,.75),(b=(_=this.callbacks).onLayerStatus)==null||b.call(_,{type:"success",text:"已定位项目"}),!0}setBoundaryDrawing(e){var t,i,r,a;this.boundaryDrawingEnabled=!!e,this.boundaryDrawingEnabled?(this.boundaryDrawPoints=[],this.lastBoundaryDrawPoint=null,this.analysisBoundaryFeature=null,this.analysisMatchedFeatures=[],this.clearSelectedFeature(),(i=(t=this.callbacks).onLayerStatus)==null||i.call(t,{type:"success",text:"请在地图上依次点击绘制分析边界"})):(a=(r=this.callbacks).onLayerStatus)==null||a.call(r,{type:"success",text:"已退出边界绘制"}),this.redrawVectorTopicLayer()}addBoundaryDrawPoint(e){var a,s,o,l;if(!Number.isFinite(e==null?void 0:e.lng)||!Number.isFinite(e==null?void 0:e.lat))return!1;const t=Date.now(),i=this.lastBoundaryDrawPoint;return i&&t-i.time<350&&Math.hypot(e.lng-i.lng,e.lat-i.lat)<8e-4?!1:(this.lastBoundaryDrawPoint={lng:e.lng,lat:e.lat,time:t},this.boundaryDrawPoints=[...this.boundaryDrawPoints||[],{lng:e.lng,lat:e.lat}],(s=(a=this.callbacks).onDrawBoundary)==null||s.call(a,{status:"drawing",points:this.boundaryDrawPoints,pointCount:this.boundaryDrawPoints.length}),(l=(o=this.callbacks).onLayerStatus)==null||l.call(o,{type:"success",text:`已添加边界点 ${this.boundaryDrawPoints.length} 个`}),this.redrawVectorTopicLayer(),!0)}undoBoundaryPoint(){var e,t,i;return(e=this.boundaryDrawPoints)!=null&&e.length?(this.boundaryDrawPoints=this.boundaryDrawPoints.slice(0,-1),(i=(t=this.callbacks).onDrawBoundary)==null||i.call(t,{status:"drawing",points:this.boundaryDrawPoints,pointCount:this.boundaryDrawPoints.length}),this.redrawVectorTopicLayer(),!0):!1}finishBoundaryDrawing(){var s,o,l,u,d,h;const e=this.boundaryDrawPoints||[];if(e.length<3)return(o=(s=this.callbacks).onLayerStatus)==null||o.call(s,{type:"error",text:"至少需要 3 个点才能形成分析边界"}),null;const t=e.map(f=>[f.lng,f.lat]),i=t[0],r=t[t.length-1];(i[0]!==r[0]||i[1]!==r[1])&&t.push([...i]);const a={type:"Feature",properties:{source:"draw",pointCount:e.length},geometry:{type:"Polygon",coordinates:[t]}};return this.boundaryDrawingEnabled=!1,this.boundaryDrawPoints=[],this.lastBoundaryDrawPoint=null,this.analysisBoundaryFeature=a,(u=(l=this.callbacks).onDrawBoundary)==null||u.call(l,{status:"complete",feature:a,points:e,pointCount:e.length}),(h=(d=this.callbacks).onLayerStatus)==null||h.call(d,{type:"success",text:"分析边界已生成"}),this.redrawVectorTopicLayer(),a}clearAnalysisBoundary(){var e,t;return this.boundaryDrawingEnabled=!1,this.boundaryDrawPoints=[],this.lastBoundaryDrawPoint=null,this.analysisBoundaryFeature=null,this.analysisMatchedFeatures=[],this.redrawVectorTopicLayer(),(t=(e=this.callbacks).onDrawBoundary)==null||t.call(e,{status:"clear",points:[],pointCount:0}),!0}showAnalysisResult(e={}){var a;const t=Object.prototype.hasOwnProperty.call(e,"boundary")||Object.prototype.hasOwnProperty.call(e,"boundaryFeature")||Object.prototype.hasOwnProperty.call(e,"feature"),i=e.boundary||e.boundaryFeature||e.feature||null,r=Array.isArray(e.matches)?e.matches:[];return t&&(this.analysisBoundaryFeature=(i==null?void 0:i.type)==="Feature"?i:i!=null&&i.geometry?{type:"Feature",properties:i.properties||{},geometry:i.geometry}:null),this.analysisMatchedFeatures=r.map(s=>(s==null?void 0:s.feature)||s).filter(s=>s==null?void 0:s.geometry),e.preserveView||(!t&&this.analysisMatchedFeatures.length?this.focusAnalysisFeatures(this.analysisMatchedFeatures):(a=this.analysisBoundaryFeature)!=null&&a.geometry&&this.focusAnalysisGeometry(this.analysisBoundaryFeature.geometry)),this.redrawVectorTopicLayer(),!0}focusAnalysisFeatures(e=[]){const t=this.getFeatureListLngLatBounds(e);if(!t)return!1;const i=[(t.minLng+t.maxLng)/2,(t.minLat+t.maxLat)/2];return this.flyToLngLat(i,{span:Math.max(t.maxLng-t.minLng,t.maxLat-t.minLat),statusText:"已定位命中项目"})}focusAnalysisGeometry(e){const t=this.getGeometryLngLatBounds(e);if(!t)return!1;const i=[(t.minLng+t.maxLng)/2,(t.minLat+t.maxLat)/2];return this.flyToLngLat(i,{span:Math.max(t.maxLng-t.minLng,t.maxLat-t.minLat),statusText:"已定位分析边界"})}focusPasture(e={}){var r,a;const i=[...this.normalizePastureGrasslandRows(e==null?void 0:e.grasslands),...this.normalizePastureGrasslandRows(e==null?void 0:e.wkt)].map((s,o)=>{const l=this.normalizePastureGrasslandGeometry(s);if(!l)return null;const u=this.normalizePastureGrasslandProperties(s);return{type:"Feature",properties:R3(d3({},u),{id:u.id||u.gid||`${(e==null?void 0:e.name)||"pasture"}-${o}`,pasture_name:(e==null?void 0:e.name)||u.pastureName||u.name}),geometry:l}}).filter(Boolean);if(i.length){const s=this.getFeatureListLngLatBounds(i);if(!s)return!1;this.showSelectedFeatures(i,{mode:"pasture"}),this.setSelectedVectorFeatures(i);const o=[(s.minLng+s.maxLng)/2,(s.minLat+s.maxLat)/2];return this.flyToLngLat(o,{span:Math.max(s.maxLng-s.minLng,s.maxLat-s.minLat),statusText:"已定位具体草场"}),!0}return(a=(r=this.callbacks).onLayerStatus)==null||a.call(r,{type:"warning",text:"当前牧户暂无可定位数据"}),!1}normalizePastureGrasslandRows(e){return e?typeof e=="string"?[e]:Array.isArray(e)?e:(e==null?void 0:e.type)==="FeatureCollection"&&Array.isArray(e.features)?e.features:(e==null?void 0:e.type)==="Feature"||this.isGeoJsonGeometry(e)?[e]:Array.isArray(e==null?void 0:e.rows)?e.rows:Array.isArray(e==null?void 0:e.data)?e.data:e!=null&&e.data?this.normalizePastureGrasslandRows(e.data):Array.isArray(e==null?void 0:e.list)?e.list:Array.isArray(e==null?void 0:e.features)?e.features:e!=null&&e.wkt||e!=null&&e.geo||e!=null&&e.geom||e!=null&&e.geometryWkt||e!=null&&e.geometry_wkt||e!=null&&e.shape||e!=null&&e.location||e!=null&&e.geometry?[e]:[]:[]}normalizePastureGrasslandGeometry(e){var t;return typeof e=="string"?this.parseGeometryText(e):(e==null?void 0:e.type)==="Feature"?this.normalizePastureGrasslandGeometry(e.geometry):this.isGeoJsonGeometry(e)?e:typeof(e==null?void 0:e.geometry)=="string"?this.parseGeometryText(e.geometry):((t=e==null?void 0:e.geometry)==null?void 0:t.type)==="Feature"?this.normalizePastureGrasslandGeometry(e.geometry.geometry):this.isGeoJsonGeometry(e==null?void 0:e.geometry)?e.geometry:this.parseGeometryText((e==null?void 0:e.wkt)||(e==null?void 0:e.geo)||(e==null?void 0:e.geom)||(e==null?void 0:e.geometryWkt)||(e==null?void 0:e.geometry_wkt)||(e==null?void 0:e.shape)||(e==null?void 0:e.location))}normalizePastureGrasslandProperties(e){return!e||typeof e!="object"||Array.isArray(e)?{wkt:e}:e.type==="Feature"?e.properties||{}:e}parseGeometryText(e){const t=String(e||"").trim();if(!t)return null;if(t.startsWith("{")||t.startsWith("["))try{const i=JSON.parse(t);if((i==null?void 0:i.type)==="Feature")return this.normalizePastureGrasslandGeometry(i);if(this.isGeoJsonGeometry(i))return i}catch(i){return null}return this.parseWktGeometry(t)}isGeoJsonGeometry(e){return!!(e&&["Polygon","MultiPolygon","LineString","MultiLineString","Point"].includes(e.type)&&e.coordinates)}flyToLngLat(e,t={}){var h,f;const i=Array.isArray(e)?e:[e==null?void 0:e.lng,e==null?void 0:e.lat],r=Number(i==null?void 0:i[0]),a=Number(i==null?void 0:i[1]);if(!Number.isFinite(r)||!Number.isFinite(a))return!1;const s=Number(t.span),o=Number.isFinite(s)?Math.max(.2,Math.min(.55,s*1.25)):.32,l=this.lngLatToWorldPoint([r,a],.72),u=this.defaultMapCameraPosition.clone().sub(this.defaultMapTarget).multiplyScalar(o),d=l.clone().add(u);return this.animateMapCamera(d,l,t.duration||.75),(f=(h=this.callbacks).onLayerStatus)==null||f.call(h,{type:"success",text:t.statusText||"已定位"}),!0}getProjectHighlightFeatures(e){const t=e.filter(r=>{var s;const a=String(((s=r==null?void 0:r.geometry)==null?void 0:s.type)||"");return a.includes("Polygon")||a.includes("LineString")}),i=t.filter(r=>{var a;return((a=r==null?void 0:r.properties)==null?void 0:a.feature_role)==="工程范围"});return i.length?i:t}getFeatureListLngLatBounds(e){return e.reduce((t,i)=>{const r=this.getGeometryLngLatBounds(i.geometry);return r?t?{minLng:Math.min(t.minLng,r.minLng),minLat:Math.min(t.minLat,r.minLat),maxLng:Math.max(t.maxLng,r.maxLng),maxLat:Math.max(t.maxLat,r.maxLat)}:d3({},r):t},null)}isPointOrLineNearLngLat(e,t){return e!=null&&e.coordinates?e.type==="Point"?this.getCoordinateDistance(e.coordinates,[t.lng,t.lat])<=.02:e.type==="LineString"?this.isCoordinateNearLine(e.coordinates,t,.004):e.type==="MultiLineString"?e.coordinates.some(i=>this.isCoordinateNearLine(i,t,.004)):!1:!1}isCoordinateNearLine(e,t,i){if(!Array.isArray(e)||e.length<2)return!1;const r=[t.lng,t.lat];for(let a=1;aa.some(s=>s.key===i||s.layerName===t));return(r==null?void 0:r[0])||""}getLayerQueryKey(e){return[(e==null?void 0:e.layerName)||"",(e==null?void 0:e.styles)||"",(e==null?void 0:e.cqlFilter)||"",(e==null?void 0:e.key)||""].join("|")}mergeBusinessProperties(e,t,i){const r=(i==null?void 0:i.key)||"";if(Object.entries(t||{}).forEach(([a,s])=>{s==null||s===""||(e[a]===void 0||e[a]===null||e[a]==="")&&(e[a]=s)}),r==="basic-grassland"){const a=(t==null?void 0:t.basic_type_name)||(t==null?void 0:t.grassland_category_name)||(t==null?void 0:t.land_class_name)||(t==null?void 0:t.land_use_name)||(t==null?void 0:t.base_grass);a!=null&&a!==""&&(e.basic_type_name=a)}if(r==="grassland-level"){const a=(t==null?void 0:t.grassland_level)||(t==null?void 0:t.level)||(t==null?void 0:t.grassland_level_name)||(t==null?void 0:t.level_name);a!=null&&a!==""&&(e.grassland_level=a)}if(r==="grassland-type"||r==="wetland-type"){const a=(t==null?void 0:t.grass_min_type)||(t==null?void 0:t.grass_type)||(t==null?void 0:t.grassland_type)||(t==null?void 0:t.type_name)||(t==null?void 0:t.type);a!=null&&a!==""&&(e.grass_min_type=a)}if(r==="grassland-yield"||r==="wetland-yield"){const a=(t==null?void 0:t.yield)||(t==null?void 0:t.xc_yield)||(t==null?void 0:t.xb_xc_yield)||(t==null?void 0:t.fresh_grass_yield)||(t==null?void 0:t.value),s=(t==null?void 0:t.mu_yield)||(t==null?void 0:t.xc_mu_yield)||(t==null?void 0:t.xb_xc_mu_yield)||(t==null?void 0:t.yield_per_mu);a!=null&&a!==""&&(e.fresh_grass_yield=a),s!=null&&s!==""&&(e.mu_yield=s)}if(r==="grassland-health"){const a=(t==null?void 0:t.health_level)||(t==null?void 0:t.health_level_name)||(t==null?void 0:t.ndvi_level)||(t==null?void 0:t.level)||(t==null?void 0:t.level_name),s=(t==null?void 0:t.ndvi)||(t==null?void 0:t.NDVI)||(t==null?void 0:t.value);a!=null&&a!==""&&(e.health_level=a),s!=null&&s!==""&&(e.ndvi=s);const o=(t==null?void 0:t.degradation_level)||(t==null?void 0:t.degradation_level_name)||(t==null?void 0:t.level)||(t==null?void 0:t.level_name);o!=null&&o!==""&&(e.degradation_level=o)}}getScreenPointFromEvent(e){var i;const t=((i=e==null?void 0:e.data)==null?void 0:i.originalEvent)||(e==null?void 0:e.originalEvent)||e;return(t==null?void 0:t.clientX)!==void 0&&(t==null?void 0:t.clientY)!==void 0?{x:t.clientX,y:t.clientY}:null}getLngLatFromEvent(e){var o,l,u;const i=(u=(((l=(o=this.interactionManager)==null?void 0:o.raycaster)==null?void 0:l.intersectObject(e.target,!1))||[])[0])==null?void 0:u.point;if(!i)return null;const r=this.focusMapGroup.worldToLocal(i.clone()),s=Ji().center(this.geoProjectionCenter).scale(this.geoProjectionScale).translate([0,0]).invert([r.x,-r.y]);return s?{lng:s[0],lat:s[1]}:null}lngLatToWmsPixel({lng:e,lat:t}){const i=(e-v0.west)/(v0.east-v0.west)*U5.width,r=(v0.north-t)/(v0.north-v0.south)*U5.height;return{x:i,y:r}}showSelectedFeature(e,t={}){var r;const i=(e==null?void 0:e.geometry)||((r=e==null?void 0:e.feature)==null?void 0:r.geometry);this.clearSelectedFeature(),this.createSelectedFeatureGroup(),this.addSelectedGeometry(i,t),this.selectedFeatureGroup.children.length||this.clearSelectedFeature()}showSelectedFeatures(e=[],t={}){this.clearSelectedFeature(),this.createSelectedFeatureGroup(),e.forEach(i=>{var a;const r=(i==null?void 0:i.geometry)||((a=i==null?void 0:i.feature)==null?void 0:a.geometry);this.addSelectedGeometry(r,t)}),this.selectedFeatureGroup.children.length||this.clearSelectedFeature()}setSelectedVectorFeatures(e=[]){this.selectedVectorFeatures=[...e],this.redrawVectorTopicLayer()}getSelectedFeatureStyle(e={}){const t=e.mode==="pasture";return{fillColor:t?16765773:16769370,fillOpacity:t?.42:.5,lineColor:16777215,lineOpacity:.98,glowColor:t?2357712:2422468,glowOpacity:t?.92:.96,renderOrderBase:t?42:35,boundary:t,boundaryColor:16773226,boundaryGlowColor:2422468,boundaryWidth:.018,boundaryGlowWidth:.06,boundaryOpacity:.95,boundaryGlowOpacity:.42}}addSelectedGeometry(e,t={}){if(!(e!=null&&e.coordinates)||!this.selectedFeatureGroup)return;const i=this.getSelectedFeatureStyle(t),r=this.getDisplayFeaturePolygons(e),a=new V0({color:i.fillColor,transparent:!0,opacity:i.fillOpacity,side:he,depthWrite:!1,fog:!1}),s=new pi({color:i.lineColor,transparent:!0,opacity:i.lineOpacity,linewidth:2,depthTest:!1,depthWrite:!1,fog:!1}),o=new pi({color:i.glowColor,transparent:!0,opacity:i.glowOpacity,linewidth:3,depthTest:!1,depthWrite:!1,fog:!1}),l=i.boundary?new V0({color:i.boundaryColor,transparent:!0,opacity:i.boundaryOpacity,side:he,depthTest:!1,depthWrite:!1,fog:!1}):null,u=i.boundary?new V0({color:i.boundaryGlowColor,transparent:!0,opacity:i.boundaryGlowOpacity,side:he,depthTest:!1,depthWrite:!1,fog:!1,blending:Tt}):null;r.length&&r.forEach(h=>{const f=this.createProjectedShape(h);if(!f)return;const v=new q4(f),_=new R0(v,a);_.renderOrder=i.renderOrderBase,this.selectedFeatureGroup.add(_),h.forEach(b=>{const y=this.createProjectedRingPoints(b);if(y.length<3)return;i.boundary&&(this.addSelectedBoundaryBand(y,u,i.boundaryGlowWidth,i.renderOrderBase+1,!0),this.addSelectedBoundaryBand(y,l,i.boundaryWidth,i.renderOrderBase+4,!0));const w=new se().setFromPoints(y),U=new qo(w,s);U.renderOrder=i.renderOrderBase+5,this.selectedFeatureGroup.add(U);const P=new se().setFromPoints(y),O=new qo(P,o);O.renderOrder=i.renderOrderBase+3,O.scale.set(1.004,1.004,1),this.selectedFeatureGroup.add(O)})});const d=this.normalizeFeatureLineStrings(e);d.length&&d.forEach(h=>{const f=this.createProjectedRingPoints(h);if(f.length<2)return;i.boundary&&(this.addSelectedBoundaryBand(f,u,i.boundaryGlowWidth,i.renderOrderBase+1,!1),this.addSelectedBoundaryBand(f,l,i.boundaryWidth,i.renderOrderBase+4,!1));const v=new se().setFromPoints(f),_=new R4(v,o);_.renderOrder=i.renderOrderBase+3,_.scale.set(1.004,1.004,1),this.selectedFeatureGroup.add(_);const b=new se().setFromPoints(f),y=new R4(b,s);y.renderOrder=i.renderOrderBase+5,this.selectedFeatureGroup.add(y)})}addSelectedBoundaryBand(e,t,i,r,a=!0){if(!t||!this.selectedFeatureGroup)return;const s=this.createPathBandGeometry(e,i,a);if(!s)return;const o=new R0(s,t);o.renderOrder=r,this.selectedFeatureGroup.add(o)}createPathBandGeometry(e,t,i=!0){const r=this.normalizePathBandPoints(e,i);if(r.length<(i?3:2))return null;const a=Math.max(Number(t)||0,0)/2;if(!a)return null;const s=[],o=i?r.length:r.length-1;for(let u=0;uNumber.isFinite(r==null?void 0:r.x)&&Number.isFinite(r==null?void 0:r.y)).map(r=>r.clone());if(t&&i.length>2){const r=i[0],a=i[i.length-1];r.distanceToSquared(a)<1e-10&&i.pop()}return i}clearSelectedFeature(){var t;const e=!!((t=this.selectedVectorFeatures)!=null&&t.length);this.selectedVectorFeatures=[],e&&this.redrawVectorTopicLayer(),this.clearSelectedGeometryGroup()}clearSelectedGeometryGroup(){var t,i;if(!this.selectedFeatureGroup)return;const e=new Set;for(;this.selectedFeatureGroup.children.length;){const r=this.selectedFeatureGroup.children.pop();(i=(t=r.geometry)==null?void 0:t.dispose)==null||i.call(t),Array.isArray(r.material)?r.material.forEach(a=>e.add(a)):e.add(r.material)}e.forEach(r=>{var a;return(a=r==null?void 0:r.dispose)==null?void 0:a.call(r)})}normalizeFeaturePolygons(e){return rS(e)}normalizeFeatureLineStrings(e){return e!=null&&e.coordinates?e.type==="LineString"?[e.coordinates]:e.type==="MultiLineString"?e.coordinates:[]:[]}getDisplayFeaturePolygons(e){const t=this.normalizeFeaturePolygons(e),i=this.getLayerClipBounds(this.currentTopicLayer);return i?t.map(r=>{const a=this.clipRingToBounds(r==null?void 0:r[0],i);if(a.length<3)return null;const s=r.slice(1).map(o=>this.clipRingToBounds(o,i)).filter(o=>o.length>=3);return[a,...s]}).filter(Boolean):t}clipRingToBounds(e=[],t){let i=e.map(a=>[Number(a==null?void 0:a[0]),Number(a==null?void 0:a[1])]).filter(([a,s])=>Number.isFinite(a)&&Number.isFinite(s));return[{inside:([a])=>a>=t.west,intersect:(a,s)=>this.getLngLatLineIntersection(a,s,"lng",t.west)},{inside:([a])=>a<=t.east,intersect:(a,s)=>this.getLngLatLineIntersection(a,s,"lng",t.east)},{inside:([,a])=>a>=t.south,intersect:(a,s)=>this.getLngLatLineIntersection(a,s,"lat",t.south)},{inside:([,a])=>a<=t.north,intersect:(a,s)=>this.getLngLatLineIntersection(a,s,"lat",t.north)}].forEach(a=>{const s=i;i=[],s.length&&s.forEach((o,l)=>{const u=s[(l+s.length-1)%s.length],d=a.inside(o),h=a.inside(u);d?(h||i.push(a.intersect(u,o)),i.push(o)):h&&i.push(a.intersect(u,o))})}),i}getLngLatLineIntersection(e,t,i,r){const a=i==="lng"?0:1,s=i==="lng"?1:0,o=t[a]-e[a];if(!o)return[...e];const l=(r-e[a])/o,u=[...e];return u[a]=r,u[s]=e[s]+(t[s]-e[s])*l,u}createProjectedShape(e){const t=e==null?void 0:e[0];if(!Array.isArray(t)||t.length<3)return null;const i=new vi;return this.createProjectedRingPoints(t).forEach((a,s)=>{s===0?i.moveTo(a.x,a.y):i.lineTo(a.x,a.y)}),e.slice(1).forEach(a=>{const s=this.createProjectedRingPoints(a);if(s.length<3)return;const o=new vi;s.forEach((l,u)=>{u===0?o.moveTo(l.x,l.y):o.lineTo(l.x,l.y)}),i.holes.push(o)}),i}createProjectedRingPoints(e){if(!Array.isArray(e))return[];const t=[];return e.forEach(i=>{if(!Array.isArray(i)||i.length<2)return;const r=Number(i[0]),a=Number(i[1]);if(!Number.isFinite(r)||!Number.isFinite(a))return;const[s,o]=this.geoProjection([r,a]);t.push(new k2(s,-o,0))}),t}enhanceTexture(e){var i,r,a;const t=(r=(i=this.renderer)==null?void 0:i.instance)==null?void 0:r.capabilities;e.anisotropy=((a=t==null?void 0:t.getMaxAnisotropy)==null?void 0:a.call(t))||1,e.needsUpdate=!0}geoProjection(e){return Ji().center(this.geoProjectionCenter).scale(this.geoProjectionScale).translate([0,0])(e)}update(e){super.update(e),this.updateTradeFlowPulses(e),this.interactionManager&&this.interactionManager.update()}pauseScene(){var e,t;this.scenePaused=!0,(t=(e=this.time)==null?void 0:e.pause)==null||t.call(e),this.sceneTweens.forEach(i=>{var r;return(r=i==null?void 0:i.pause)==null?void 0:r.call(i)}),clearInterval(this.infoPointLabelTime),this.infoPointLabelTime=null}resumeScene(){var e,t;this.scenePaused=!1,(t=(e=this.time)==null?void 0:e.resume)==null||t.call(e),this.sceneTweens.forEach(i=>{var r;return(r=i==null?void 0:i.resume)==null?void 0:r.call(i)}),this.showTownRankingPointMarkers&&this.mapAnimationComplete&&!this.infoPointLabelTime&&this.createInfoPointLabelLoop()}destroy(){var e,t,i,r;this.pauseScene(),this.sceneTimers.forEach(a=>clearTimeout(a)),this.sceneTimers=[],this.sceneTweens.forEach(a=>{var s;return(s=a==null?void 0:a.kill)==null?void 0:s.call(a)}),this.sceneTweens=[],this.callbacks={},(t=(e=this.canvas)==null?void 0:e.removeEventListener)==null||t.call(e,"pointerdown",this.handleCanvasBoundaryPointerDown,!0),(r=(i=this.canvas)==null?void 0:i.removeEventListener)==null||r.call(i,"dblclick",this.handleCanvasBoundaryDoubleClick,!0),this.clearTradeFlowLayer(),this.clearSelectedFeature(),super.destroy(),this.label3d&&this.label3d.destroy()}}const NW={class:"map"},ra={__name:"map",props:{activeLayer:{type:Object,default:null},mapRanking:{type:Object,default:null}},emits:["feature-loading","feature-info","layer-status","draw-boundary","scene-mounted"],setup(n,{expose:e,emit:t}){const i=n,r=t,a=x3(null),s=Ya(null);let o=null,l=null,u=null,d=null,h=null,f="",v="",_=!1;Fn(()=>{r("scene-mounted")}),a6(()=>{E2()});function b(n2){return s.value?!0:a.value?(s.value=new RW(a.value,n2,{onFeatureLoading:P2=>r("feature-loading",P2),onFeatureInfo:P2=>r("feature-info",P2),onLayerStatus:P2=>r("layer-status",P2),onDrawBoundary:P2=>r("draw-boundary",P2)}),s.value.time.pause(),f=e3(i.activeLayer),v=I2(i.mapRanking),s.value.setTopicLayers(h3(i.activeLayer),i.activeLayer),s.value.setTownRanking(i.mapRanking),J(),b2(),!0):!1}function y(){return!!s.value}function w(){return k3(this,null,function*(){var n2,P2,Z2,f3,v3,O3;if(s.value&&(U(),!s.value.mapAnimationComplete)){if(_){(P2=(n2=s.value.animateTl)==null?void 0:n2.play)==null||P2.call(n2),A2();return}_=!0,(f3=(Z2=s.value.animateTl)==null?void 0:Z2.timeScale)==null||f3.call(Z2,1),(O3=(v3=s.value.animateTl)==null?void 0:v3.play)==null||O3.call(v3),A2()}})}function U(){var n2,P2;s.value&&(J(),b2(),(P2=(n2=s.value).resumeScene)==null||P2.call(n2),s.value.resumeScene||s.value.time.resume())}function P(){var n2,P2,Z2,f3,v3,O3;s.value&&(X2(),(P2=(n2=s.value.animateTl)==null?void 0:n2.pause)==null||P2.call(n2),(f3=(Z2=s.value).pauseScene)==null||f3.call(Z2),s.value.pauseScene||(O3=(v3=s.value.time)==null?void 0:v3.pause)==null||O3.call(v3),N2())}function O(){var n2,P2;(P2=(n2=s.value)==null?void 0:n2.clearSelectedFeature)==null||P2.call(n2)}function j(n2){var P2,Z2;(Z2=(P2=s.value)==null?void 0:P2.focusProject)==null||Z2.call(P2,n2)}function q(n2){var P2,Z2;(Z2=(P2=s.value)==null?void 0:P2.focusPasture)==null||Z2.call(P2,n2)}function K(n2,P2){var Z2,f3;return(f3=(Z2=s.value)==null?void 0:Z2.focusTownByName)==null?void 0:f3.call(Z2,n2,P2)}function c2(n2){var P2,Z2;return(Z2=(P2=s.value)==null?void 0:P2.focusYakIndustryPoint)==null?void 0:Z2.call(P2,n2)}function S2(n2){var P2,Z2;return(Z2=(P2=s.value)==null?void 0:P2.getYakIndustryPointScreen)==null?void 0:Z2.call(P2,n2)}function H(n2){var P2,Z2;(Z2=(P2=s.value)==null?void 0:P2.setBoundaryDrawing)==null||Z2.call(P2,n2)}function Z(){var n2,P2;return(P2=(n2=s.value)==null?void 0:n2.finishBoundaryDrawing)==null?void 0:P2.call(n2)}function G2(){var n2,P2;(P2=(n2=s.value)==null?void 0:n2.undoBoundaryPoint)==null||P2.call(n2)}function q2(){var n2,P2;(P2=(n2=s.value)==null?void 0:n2.clearAnalysisBoundary)==null||P2.call(n2)}function C2(n2){var P2,Z2;(Z2=(P2=s.value)==null?void 0:P2.showAnalysisResult)==null||Z2.call(P2,n2)}function E2(){var n2,P2;X2(),N2(),(P2=(n2=s.value)==null?void 0:n2.destroy)==null||P2.call(n2),s.value=null}function A2(){X2(),h=window.setTimeout(()=>{var n2,P2;h=null,(P2=(n2=s.value)==null?void 0:n2.ensureMapRevealed)==null||P2.call(n2)},5200)}function X2(){h&&(window.clearTimeout(h),h=null)}function b2(){l&&window.cancelAnimationFrame(l),l=window.requestAnimationFrame(()=>{var n2,P2,Z2,f3,v3;l=null,(Z2=(P2=(n2=s.value)==null?void 0:n2.sizes)==null?void 0:P2.init)==null||Z2.call(P2),(v3=(f3=s.value)==null?void 0:f3.resize)==null||v3.call(f3)}),u&&window.clearTimeout(u),u=window.setTimeout(()=>{var n2,P2,Z2,f3,v3;u=null,(Z2=(P2=(n2=s.value)==null?void 0:n2.sizes)==null?void 0:P2.init)==null||Z2.call(P2),(v3=(f3=s.value)==null?void 0:f3.resize)==null||v3.call(f3)},180)}function J(){var P2;N2();const n2=(P2=a.value)==null?void 0:P2.parentNode;n2&&window.ResizeObserver&&(o=new ResizeObserver(()=>b2()),o.observe(n2)),d=window.setInterval(p2,1e3),ft(b2)}function p2(){var H3;if(!s.value||!a.value)return;const n2=a.value.parentNode,P2=(n2==null?void 0:n2.offsetWidth)||window.innerWidth||1,Z2=(n2==null?void 0:n2.offsetHeight)||window.innerHeight||1,f3=((H3=s.value.sizes)==null?void 0:H3.pixelRatio)||1,v3=Math.floor(P2*f3),O3=Math.floor(Z2*f3);(a.value.width!==v3||a.value.height!==O3)&&b2()}function N2(){o&&(o.disconnect(),o=null),l&&(window.cancelAnimationFrame(l),l=null),u&&(window.clearTimeout(u),u=null),d&&(window.clearInterval(d),d=null)}Z0(()=>i.activeLayer,n2=>{const P2=e3(n2);P2!==f&&(f=P2,s.value&&s.value.setTopicLayers(h3(n2),n2))},{deep:!0}),Z0(()=>i.mapRanking,n2=>{const P2=I2(n2);P2!==v&&(v=P2,s.value&&s.value.setTownRanking(n2))},{deep:!0}),e({loadMap:b,hasMap:y,play:w,resume:U,pause:P,clearSelectedFeature:O,focusProject:j,focusPasture:q,focusTown:K,focusYakIndustryPoint:c2,getYakIndustryPointScreen:S2,setBoundaryDrawing:H,finishBoundaryDrawing:Z,undoBoundaryPoint:G2,clearAnalysisBoundary:q2,showAnalysisResult:C2,destroyMap:E2,canvasMap:s});function e3(n2){return n2?h3(n2).map(P2=>{var Z2;return[P2.key||"",P2.layerName||"",P2.styles||"",P2.cqlFilter||"",((Z2=P2.activeLegend)==null?void 0:Z2.key)||"",P2.sourceType||"",P2.dataPath||"",P2.fallbackPath||""].join("|")}).join("||"):""}function h3(n2){if(!n2)return[];const P2=Array.isArray(n2.overlayLayers)?n2.overlayLayers.filter(Boolean):[];return[n2,...P2]}function I2(n2){var P2,Z2,f3,v3,O3,H3;return n2?[n2.status||"",n2.topicKey||"",n2.layerKey||"",n2.title||"",n2.metricLabel||"",n2.scope||"",n2.displayMode||"",(P2=n2.showPointMarkers)!=null?P2:"",(Z2=n2.showBars)!=null?Z2:"",(f3=n2.showTownNames)!=null?f3:"",(v3=n2.showMapLabels)!=null?v3:"",((O3=n2.rows)==null?void 0:O3.length)||0,((H3=n2.rows)==null?void 0:H3.map(F2=>{var L3;return`${F2.key||F2.name||""}:${(L3=F2.value)!=null?L3:""}`}).join(","))||""].join("|"):""}return(n2,P2)=>(h2(),v2("div",NW,[M("canvas",{ref_key:"canvasRef",ref:a},null,512)]))}};const LW={key:0,class:"business-stat-empty"},IW={class:"business-stat-rank"},kW={class:"business-stat-main"},FW={class:"business-stat-name"},DW={class:"business-stat-bar"},UW={class:"business-stat-value"},OW={key:0},aS={__name:"BusinessStatList",props:{rows:{type:Array,default:()=>[]},compact:{type:Boolean,default:!1}},setup(n){const e=n,t=z2(()=>{const r=e.rows.map(a=>Number(a.value)).filter(a=>!Number.isNaN(a));return Math.max(...r,1)});function i(r){const a=Number(r.value);return Number.isNaN(a)?36:Math.max(8,Math.round(a/t.value*100))}return(r,a)=>(h2(),v2("div",{class:x1(["business-stat-list",{"is-compact":n.compact,"is-dense":n.rows.length>10}])},[n.rows.length?l1("",!0):(h2(),v2("div",LW,"暂无业务统计数据")),(h2(!0),v2(X3,null,c1(n.rows,(s,o)=>(h2(),v2("div",{key:s.key||s.name,class:"business-stat-row"},[M("div",IW,L2(o+1),1),M("div",kW,[M("div",FW,L2(s.name),1),M("div",DW,[M("span",{style:p0({width:`${i(s)}%`})},null,4)])]),M("div",UW,[M("strong",null,L2(s.value),1),M("em",null,L2(s.unit),1),s.extra?(h2(),v2("span",OW,L2(s.extra),1)):l1("",!0)])]))),128))],2))}},BW=""+new URL("ring2-a1b91808-balabala-1783008015343.png",import.meta.url).href,zW=""+new URL("ring3-fe0f60d7-balabala-1783008015343.png",import.meta.url).href,GW=""+new URL("ring4-f2e324d6-balabala-1783008015343.png",import.meta.url).href;const VW={name:"ThreePie",props:{data:{type:Array,default:()=>[]},colors:{type:Array,default:()=>[2161326,15380744,3122407,65535,16536624]},opacity:{type:Number,default:.5},delay:{type:Number,default:5e3},loopComplete:{type:Function,default:()=>{}}},computed:{currentData(){return R3(d3({},this.data[this.activeIndex]),{count:this.count})}},data(){return this.scene=null,this.camera=null,this.renderer=null,this.controls=null,this.axes=null,this.pieGroup=new z0,this.planeTweens=[],this.resizeHandler=null,this.visibilityObserver=null,this.isVisible=!0,this.isDestroyed=!1,this.isLooping=!1,{width:300,height:200,activeIndex:0,count:0,timer:null}},mounted(){this.isVisible=this.isElementVisible(this.$el),this.updateSize(),this.count=this.data.map(n=>Number(n.value)||0).reduce((n,e)=>n+e,0),this.init(),this.setupVisibilityObserver(),this.resizeHandler=()=>this.resize(),window.addEventListener("resize",this.resizeHandler)},beforeUnmount(){this.destroy()},methods:{init(){this.scene=new $T,this.initCamera(),this.initRenderer(),this.initLight(),this.initAxes(),this.initControls(),this.createPlane({url:BW,width:5,position:new k2(0,0,-.01),color:"#00ffff"}),this.createPlane({url:zW,width:6.5,position:new k2(0,0,-.02),color:"#00ffff"}),this.createPlane({url:GW,width:5.5,position:new k2(0,0,-.03),animate:!0,color:"#00ffff"}),this.createPie(),this.isVisible&&this.start()},createPlane(n){let e={url:"texture/ring1.png",width:5.5,z:0,position:new k2(0,0,0),animate:!1,color:null},t=Object.assign(e,n);const i=new Kn(t.width,t.width),r=new V0({map:this.getTexture(t.url),transparent:!0,side:he,depthTest:!1});t.color&&(r.color=new R1(t.color));const a=new R0(i,r);if(a.position.copy(t.position),a.rotation.x=-1*Math.PI/2,t.animate){const s=Ge.to(a.rotation,{z:2*Math.PI,repeat:-1,ease:"none",duration:3});this.planeTweens.push(s)}this.scene.add(a)},getTexture(n){const e=new Lf().load(n);return e.wrapS=e.wrapT=wt,e},createPie(){if(!this.data.length||this.count<=0)return;let n=0,e=0;for(var t=0;t=this.data.length&&(n=0,this.loopComplete&&this.loopComplete()),this.chooseRing(n)},chooseRing(n=0,e=!1){if(!this.pieGroup.children.length)return;let t=n-1<0?this.data.length-1:n-1,i=this.pieGroup.children[t];this.prevMesh=i,this.activeIndex=n;let r=this.pieGroup.children[n];r&&(e||i&&(Ge.to(i.scale,{z:1}),Ge.to(i.material,{opacity:this.opacity})),Ge.to(r.scale,{z:2}),Ge.to(r.material,{opacity:.8}))},addRing(n={}){let e={innerRadius:1.5,outerRadius:2,thickness:.5,startAngle:0,endAngle:Math.PI/2,color:65535,segments:120},t=Object.assign(e,n),i=new vi;i.arc(0,0,t.outerRadius,t.startAngle,t.endAngle);let r=i.getPoints(t.segments),a=new vi;a.arc(0,0,t.innerRadius,t.endAngle,t.startAngle,!0);let s=a.getPoints(t.segments),o=new vi(r.concat(s));const l={steps:1,depth:t.thickness,bevelEnabled:!0,bevelThickness:0,bevelSize:0,bevelOffset:0,bevelSegments:0},u=new Fl(o,l);let d=new ph({color:t.color,transparent:!0,opacity:this.opacity,side:he});const h=new R0(u,d.clone());return h.renderOrder=10,h.rotation.x=-1*Math.PI/2,h},initCamera(){var n=this.width/this.height;this.camera=new Wt(30,n,.1,1500),this.camera.position.set(6.023813305272227,4.838542633695233,6.111272698256137),this.camera.lookAt(0,0,0)},initRenderer(){this.renderer=new wf({antialias:!0,alpha:!0}),this.renderer.setPixelRatio(this.getPixelRatio()),this.renderer.setSize(this.width,this.height),this.$refs.pieDom.appendChild(this.renderer.domElement)},initLight(){let n=new Jo(16777215,2);n.position.set(200,300,200);let e=new Jo(16777215,2);e.position.set(-200,-300,-200);let t=new ow(16777215,2);this.scene.add(n),this.scene.add(e),this.scene.add(t)},initAxes(){this.axes=new lw(0),this.scene.add(this.axes)},initControls(){this.controls=new gw(this.camera,this.renderer.domElement),this.controls.maxPolarAngle=Math.PI,this.controls.autoRotate=!1,this.controls.enableDamping=!0,this.controls.enabled=!1},loop(){!this.renderer||this.isLooping||(this.isLooping=!0,this.renderer.setAnimationLoop(()=>{this.renderer.render(this.scene,this.camera),this.controls&&this.controls.update()}))},start(){this.isDestroyed||!this.renderer||!this.data.length||(this.isVisible=!0,this.loop(),this.planeTweens.forEach(n=>{var e;return(e=n==null?void 0:n.resume)==null?void 0:e.call(n)}),this.controls&&(this.controls.enabled=!0),this.startTimer())},startTimer(){this.stopTimer(),!(this.data.length<2)&&(this.timer=window.setInterval(()=>{this.loopChange()},this.delay))},stop(){this.stopTimer(),this.controls&&(this.controls.enabled=!1),this.renderer&&this.renderer.setAnimationLoop(null),this.planeTweens.forEach(n=>{var e;return(e=n==null?void 0:n.pause)==null?void 0:e.call(n)}),this.isLooping=!1},stopTimer(){this.timer&&(window.clearInterval(this.timer),this.timer=null)},setupVisibilityObserver(){const n=this.$el;!n||typeof window.IntersectionObserver!="function"||(this.visibilityObserver=new IntersectionObserver(e=>{const t=e[0],i=!!(t!=null&&t.isIntersecting)&&this.isElementVisible(n);i!==this.isVisible&&(this.isVisible=i,i?(this.resize(),this.start()):this.stop())}),this.visibilityObserver.observe(n),this.isVisible=this.isElementVisible(n),this.isVisible||this.stop())},isElementVisible(n){if(!n||typeof window.getComputedStyle!="function")return!0;let e=n;for(;e&&e!==document.body;){const i=window.getComputedStyle(e);if(i.display==="none"||i.visibility==="hidden"||Number(i.opacity)===0)return!1;e=e.parentElement}const t=n.getBoundingClientRect();return t.width>0&&t.height>0},getPixelRatio(){return Math.min(window.devicePixelRatio||1,1.5)},updateSize(){var e,t;const n=this.$refs.pieDom;this.width=(n==null?void 0:n.offsetWidth)||((e=this.$el)==null?void 0:e.offsetWidth)||300,this.height=(n==null?void 0:n.offsetHeight)||((t=this.$el)==null?void 0:t.offsetHeight)||200},getScene(){return this.scene},getRender(){return this.renderer},resize(){if(!this.camera||!this.renderer)return;this.updateSize();let n=this.width/this.height;this.camera.aspect=n,this.camera.updateProjectionMatrix(),this.renderer.setSize(this.width,this.height),this.renderer.setPixelRatio(this.getPixelRatio())},destroy(){var n,e,t,i;this.isDestroyed=!0,this.prevMesh&&(Ge.set(this.prevMesh.scale,{z:1}),Ge.set(this.prevMesh.material,{opacity:this.opacity})),this.stop(),(e=(n=this.visibilityObserver)==null?void 0:n.disconnect)==null||e.call(n),this.visibilityObserver=null,this.resizeHandler&&(window.removeEventListener("resize",this.resizeHandler),this.resizeHandler=null),this.renderer&&(this.planeTweens.forEach(r=>{var a;return(a=r==null?void 0:r.kill)==null?void 0:a.call(r)}),this.planeTweens=[],OH(this.pieGroup),this.renderer.dispose(),this.renderer.forceContextLoss(),(i=(t=this.controls)==null?void 0:t.dispose)==null||i.call(t),this.$refs.pieDom&&(this.$refs.pieDom.innerHTML=""),this.scene=null,this.camera=null,this.renderer=null,this.controls=null,this.axes=null)}}},HW={class:"three-pie-wrap"},jW={class:"three-pie",ref:"pieDom"},WW={class:"three-pie-slot"};function $W(n,e,t,i,r,a){return h2(),v2("div",HW,[M("div",jW,null,512),M("div",WW,[Rr(n.$slots,"default",{data:a.currentData})])])}const Fw=xl(VW,[["render",$W]]);const YW={key:0,class:"business-panel-empty"},qW={key:2,class:"business-metrics"},KW={key:3,class:"business-icon-metrics"},XW={class:"business-icon-metric-copy"},JW={key:0},ZW={key:4,class:"business-spotlight"},QW={class:"business-spotlight-main"},e$={class:"business-spotlight-side"},t$={key:0},n$={key:1,class:"business-panel-empty"},i$={key:0,class:"business-ring-visual"},r$={class:"business-ring-inner"},a$={key:1,class:"business-donut-visual"},s$={class:"business-three-pie-center"},o$={class:"business-donut-legend"},l$={key:1,class:"business-panel-empty"},u$={class:"business-rose-visual"},c$={viewBox:"0 0 150 150",preserveAspectRatio:"xMidYMid meet","aria-hidden":"true"},d$={class:"business-rose-guides"},h$=["x1","y1","x2","y2","stroke"],f$={class:"business-rose-segments"},p$=["d","fill","stroke"],m$={class:"business-rose-labels"},g$=["x","y","text-anchor"],v$={class:"business-donut-legend business-rose-legend"},y$={key:1,class:"business-panel-empty"},_$={key:7,class:"business-structure"},S$={class:"business-structure-overview"},b$={class:"business-structure-band"},T$=["title"],w$={class:"business-structure-list"},x$={key:1,class:"business-panel-empty"},A$={key:8,class:"business-capacity"},C$={class:"business-capacity-head"},M$={class:"business-capacity-band"},E$=["title"],P$={class:"business-capacity-list"},R$={key:0,class:"business-capacity-town"},N$={key:1,class:"business-panel-empty"},L$={key:0,class:"business-bar-rank"},I$={class:"business-bar-name"},k$={class:"business-bar-track"},F$={key:0},D$={key:1},U$={key:0,class:"business-column-unit"},O$={key:0},B$={class:"business-column-track"},z$={key:11,class:"business-project-table"},G$={class:"business-project-search"},V$=["placeholder"],H$={class:"business-project-frame"},j$=["onClick","onKeydown"],W$=["title"],$$={key:0},Y$={key:0},q$={key:1},K$={key:0,class:"business-project-empty"},X$={class:"business-table-head"},J$={class:"business-table-body"},Z$={class:"business-table-name"},Q$={class:"business-table-value"},eY={key:0},tY={class:"business-stack-legend"},nY={class:"business-stack-chart"},iY={class:"business-stack-track"},rY={key:0,class:"business-column-unit business-peak-unit"},aY={key:0},sY={key:15,class:"business-line"},oY={viewBox:"0 0 320 86",preserveAspectRatio:"none","aria-hidden":"true"},lY=["points"],uY=["points"],cY=["cx","cy"],dY=["cx","cy","onMouseenter"],hY=["onMouseenter"],fY={key:0},pY={key:0},mY={class:"business-split-band"},gY={class:"business-split-list"},sS=3e3,Tn={__name:"BusinessPanelRenderer",props:{panel:{type:Object,default:()=>({rows:[]})},compact:{type:Boolean,default:!1}},emits:["row-select"],setup(n,{emit:e}){const t=n,i=e,r=["#24f6c4","#32dcff","#ffe06b","#7ee269","#ff9a62","#9ea7ff"],a=z2(()=>{var y2;return((y2=t.panel)==null?void 0:y2.type)||"rank"}),s=z2(()=>{var y2;return(((y2=t.panel)==null?void 0:y2.rows)||[]).filter(W=>W==null?void 0:W.name)}),o=z2(()=>s.value.map(y2=>R3(d3({},y2),{value:o2(y2)})).filter(y2=>y2.value>0)),l=z2(()=>s.value.map(y2=>o2(y2)).filter(y2=>y2>0)),u=z2(()=>Math.max(...l.value,1)),d=z2(()=>l.value.reduce((y2,W)=>y2+W,0)),h=z2(()=>s.value.filter(y2=>o2(y2)>0)),f=z2(()=>a.value==="line"?s.value.filter(y2=>(y2==null?void 0:y2.value)!==void 0&&(y2==null?void 0:y2.value)!==null&&(y2==null?void 0:y2.value)!==""):s.value.filter(y2=>o2(y2)>0)),v=z2(()=>f.value),_=z2(()=>a.value!=="column"?"":_2()),b=z2(()=>a.value!=="peak"?"":_2()),y=z2(()=>s.value.filter(y2=>o2(y2)>0)),w=z2(()=>{var y2;return f.value.slice(0,((y2=t.panel)==null?void 0:y2.limit)||8)}),U=z2(()=>{var y2;return((y2=t.panel)==null?void 0:y2.segments)||[]}),P=z2(()=>s.value.filter(y2=>u2(y2)>0)),O=x3(""),j=x3(null),q=[{key:"name",label:"项目名称",field:"name",width:"45%",className:"business-project-col-name"},{key:"year",label:"年份",field:"year",width:"13%",fallback:"未知",align:"right",className:"business-project-col-year"},{key:"category",label:"类型",field:"category",width:"20%",className:"business-project-col-category"},{key:"scale",label:"规模",field:"value",width:"22%",align:"right",strong:!0,unitField:"unit",className:"business-project-col-scale"}],K=z2(()=>{var W;return(Array.isArray((W=t.panel)==null?void 0:W.columns)&&t.panel.columns.length?t.panel.columns:q).map((x2,r3)=>({key:x2.key||x2.field||`column-${r3}`,label:x2.label||x2.title||x2.name||"",field:x2.field||x2.dataIndex||x2.key,fields:x2.fields||[],width:x2.width,align:x2.align,strong:!!x2.strong,unit:x2.unit,unitField:x2.unitField,fallback:x2.fallback,format:x2.format,className:x2.className}))}),c2=z2(()=>{var y2;return((y2=t.panel)==null?void 0:y2.searchPlaceholder)||"搜索项目"}),S2=z2(()=>{var y2;return((y2=t.panel)==null?void 0:y2.emptyText)||"无匹配项目"}),H=z2(()=>{var W;const y2=Array.isArray((W=t.panel)==null?void 0:W.searchKeys)?t.panel.searchKeys:[];return y2.length?y2:[...K.value.flatMap(x2=>[x2.field,...x2.fields||[]]),"projectName","category","year","measure","townships","metric"].filter(Boolean)}),Z=z2(()=>{const y2=S3(O.value);return y2?s.value.filter(W=>S3(m1(W)).includes(y2)):s.value}),G2=z2(()=>s.value.find(y2=>["forage-total","wetland-yield-total"].includes(y2.key))||s.value[0]),q2=z2(()=>s.value.filter(y2=>["forage-edible","forage-unavailable","wetland-yield-edible","wetland-yield-unavailable"].includes(y2.key))),C2=z2(()=>s.value.find(y2=>["forage-top-town","wetland-yield-top-town"].includes(y2.key))),E2=x3(0),A2=x3(null),X2=x3(null),b2=x3(!0);let J=null,p2=null;const N2=z2(()=>{var y2,W;return`${((y2=t.panel)==null?void 0:y2.key)||((W=t.panel)==null?void 0:W.title)||"pie"}-${o.value.map(x2=>`${x2.name}:${x2.value}`).join("|")}`}),e3=z2(()=>{const y2=h3.value;return y2?E2.value%y2:0}),h3=z2(()=>{var y2;return a.value==="structure"?y.value.length:a.value==="donut"||a.value==="rose"?o.value.length:a.value==="bar"&&((y2=t.panel)==null?void 0:y2.variant)==="capacity"?q2.value.length:a.value==="bar"||a.value==="column"?f.value.length:a.value==="table"?v.value.length:a.value==="line"?f.value.length:a.value==="split"?h.value.length:0}),I2=z2(()=>o.value[e3.value]||o.value[0]);z2(()=>y.value[e3.value]||y.value[0]);const n2=z2(()=>s.value[0]),P2=z2(()=>s.value.slice(0,4).map((y2,W)=>R3(d3({},y2),{icon:me(y2,W)}))),Z2=z2(()=>y.value.map((y2,W)=>R3(d3({},y2),{displayIndex:W}))),f3=z2(()=>{var y2;return a.value!=="donut"?"standard":((y2=t.panel)==null?void 0:y2.variant)==="ring"?"ring":"three"}),v3=z2(()=>{if(!o.value.length)return{};const y2=d.value||1;let W=-90;return{"--ring-gradient":`conic-gradient(${o.value.map((r3,o3)=>{const u3=o2(r3)/y2*360,Q3=W,i1=W+u3;return W=i1,`${B1(o3)} ${Q3}deg ${i1}deg`}).join(", ")})`,"--ring-active-color":B1(e3.value)}}),O3=z2(()=>{const y2=o.value,W=y2.length;if(!W)return[];const x2=Math.max(...y2.map(u3=>o2(u3)),1),r3=360/W,o3=Math.min(8,r3*.16);return y2.map((u3,Q3)=>{const i1=o2(u3),M1=Q3===e3.value,e1=36+Math.sqrt(i1/x2)*31+(M1?5:0),R=17,N=-90+Q3*r3+o3/2,m=-90+(Q3+1)*r3-o3/2,g=(N+m)/2,S=L0(75,75,e1+3,g),x=L0(75,75,e1+15,g),E=L0(75,75,e1+20,g);return{key:u3.key||u3.name||Q3,index:Q3,item:u3,color:B1(Q3),path:J1(75,75,R,e1,N,m),lineStart:S,lineEnd:x,label:E,anchor:Math.cos(g*Math.PI/180)>=0?"start":"end"}})});Fn(()=>{Jt(),Xt()}),a6(()=>{be(),lt()}),Z0(()=>{var y2;return[(y2=t.panel)==null?void 0:y2.key,s.value.length]},()=>{E2.value=0,A2.value=null,O.value="",j.value=null,Xt()}),Z0(b2,()=>{Xt()});const H3=z2(()=>{const y2=f.value,W=320,x2=66,r3=10,o3=y2.length>1?W/(y2.length-1):W,u3=y2.map(e1=>o2(e1)).filter(e1=>Number.isFinite(e1)&&e1>=0),Q3=u3.length?Math.min(...u3):0,i1=u3.length?Math.max(...u3):1,M1=Math.max(i1-Q3,i1*.08,1);return y2.map((e1,R)=>{const N=o2(e1);return{x:Math.round(R*o3),y:Math.round(r3+x2-(N-Q3)/M1*x2),item:e1}})}),F2=z2(()=>H3.value.map(y2=>`${y2.x},${y2.y}`).join(" ")),L3=z2(()=>H3.value.length?`0,86 ${F2.value} 320,86`:""),C3=z2(()=>f.value),U3=z2(()=>({gridTemplateColumns:`repeat(${Math.max(C3.value.length,1)}, minmax(0, 1fr))`})),F=z2(()=>Number.isInteger(A2.value)?H3.value[A2.value]:null),r1=z2(()=>H3.value.length?Number.isInteger(A2.value)?A2.value:e3.value:0),I3=z2(()=>F.value?F.value:H3.value[r1.value]||H3.value[0]),T2=z2(()=>{const y2=I3.value;if(!y2)return{};const W=y2.x/320*100,x2=y2.y/86*100,r3=y2.y<42;return{left:`${Math.min(84,Math.max(16,W))}%`,top:`${x2}%`,transform:r3?"translate(-50%, 10px)":"translate(-50%, calc(-100% - 8px))"}});function o2(y2){const W=Number(y2==null?void 0:y2.value);if(!Number.isNaN(W)&&W>0)return W;const x2=Number(y2==null?void 0:y2.percent);return Number.isNaN(x2)?0:x2}function u2(y2){const W=(y2==null?void 0:y2.segments)||(y2==null?void 0:y2.values)||{};return U.value.reduce((x2,r3)=>x2+(Number(W[r3.key])||0),0)}function W2(y2){const W=u2(y2),x2=(y2==null?void 0:y2.segments)||(y2==null?void 0:y2.values)||{};return W?U.value.map(r3=>{const o3=Number(x2[r3.key])||0;return R3(d3({},r3),{value:o3,percent:Math.max(o3>0?3:0,o3/W*100)})}):[]}function Y2(y2){const W=Number(y2);return Number.isNaN(W)?"--":Number.isInteger(W)?`${W}`:`${Number(W.toFixed(2))}`}function t2(y2){return(y2==null?void 0:y2.displayValue)!==void 0&&(y2==null?void 0:y2.displayValue)!==null&&(y2==null?void 0:y2.displayValue)!==""?y2.displayValue:(y2==null?void 0:y2.value)===void 0||(y2==null?void 0:y2.value)===null||(y2==null?void 0:y2.value)===""?"--":Y2(y2.value)}function i2(y2){var r3;const W=(y2==null?void 0:y2.displayUnit)||(y2==null?void 0:y2.unit)||"";if(!W)return"";const x2=String((r3=t2(y2))!=null?r3:"");return x2&&x2.endsWith(String(W))?"":W}function _2(){const y2=[...new Set(f.value.map(W=>(W==null?void 0:W.displayUnit)||(W==null?void 0:W.unit)).filter(Boolean))];return y2.length===1?y2[0]:""}function V2(y2){const W=i2(y2);return W?_.value===W?"":W:""}function s3(y2){const W=i2(y2);return W?b.value===W?"":W:""}function D3(y2){const W=String(y2||"").trim();if(!W)return"";const x2=W.match(/^(.+)(镇|乡|村)$/);return x2?`${x2[1]} ${x2[2]}`:W}function S3(y2){return String(y2||"").trim().toLowerCase()}function m1(y2){const W=H.value.map(x2=>b1(y2,{field:x2})).filter(x2=>x2!=null);return[y2==null?void 0:y2.searchText,...W].filter(Boolean).join(" ")}function b1(y2,W){const x2=[W==null?void 0:W.field,...(W==null?void 0:W.fields)||[]].filter(Boolean);for(const r3 of x2){const o3=String(r3).split(".").reduce((u3,Q3)=>u3==null?void 0:u3[Q3],y2);if(o3!=null&&o3!=="")return o3}}function g1(y2,W){const x2=b1(y2,W);return x2==null||x2===""?(W==null?void 0:W.fallback)||"--":(W==null?void 0:W.format)==="number"?Y2(x2):(W==null?void 0:W.format)==="displayValue"?t2({value:x2}):String(x2)}function a1(y2,W){return W!=null&&W.unitField&&(y2!=null&&y2[W.unitField])?y2[W.unitField]:(W==null?void 0:W.unit)||""}function n1(y2){return{"business-project-name":(y2==null?void 0:y2.key)==="name","business-project-locate":(y2==null?void 0:y2.key)==="locate","is-right":(y2==null?void 0:y2.align)==="right","is-center":(y2==null?void 0:y2.align)==="center","is-strong":y2==null?void 0:y2.strong}}function C1(y2){(y2==null?void 0:y2.canLocate)!==!1&&(j.value=(y2==null?void 0:y2.key)||(y2==null?void 0:y2.name)||null,i("row-select",y2))}function H2(y2){const W=Number(y2==null?void 0:y2.scaleValue);if(!Number.isNaN(W)&&W>0)return Math.max(8,Math.min(100,Math.round(W)));const x2=o2(y2);return x2?Math.max(8,Math.round(x2/u.value*100)):8}function j3(y2,W){const x2=H2(y2),r3=Math.max(.14,Math.min(.46,x2/180));return{"--heat-color":B1(W),"--heat-bg":s1(B1(W),r3)}}function s1(y2,W=.2){const x2=String(y2||"").replace("#","");if(x2.length!==6)return`rgba(48, 220, 255, ${W})`;const r3=parseInt(x2,16),o3=r3>>16&255,u3=r3>>8&255,Q3=r3&255;return`rgba(${o3}, ${u3}, ${Q3}, ${W})`}function E1(y2){const W=H3.value.length;if(!W)return;const x2=y2.currentTarget.getBoundingClientRect(),r3=x2.width?(y2.clientX-x2.left)/x2.width:0,o3=Math.min(W-1,Math.max(0,Math.round(r3*(W-1))));A2.value=o3}function U2(y2){const W=o2(y2);return!d.value||!W?0:Math.max(6,W/d.value*100)}function q3(y2){const W=o2(y2);return!d.value||!W?0:Math.max(2,W/d.value*100)}function B3(y2){if(!y2)return"--";if(y2.extra)return y2.extra;const W=o2(y2);return!d.value||!W?"--":`${Y2(W/d.value*100)}%`}function _1(){const y2=o2(G2.value);return y2>0?y2:q2.value.reduce((W,x2)=>W+o2(x2),0)}function A1(y2){const W=_1(),x2=o2(y2);return!W||!x2?0:Math.max(6,x2/W*100)}function o1(y2){const W=_1(),x2=o2(y2);return!W||!x2?"--":`${Y2(x2/W*100)}%`}function H1(y2,W){return["forage-edible","wetland-yield-edible"].includes(y2==null?void 0:y2.key)?"#24f6c4":["forage-unavailable","wetland-yield-unavailable"].includes(y2==null?void 0:y2.key)?"#ffe06b":B1(W)}function l0(y2){const W=o2(y2),x2=Number(y2==null?void 0:y2.count)||d.value;return!W||!x2?"0%":`${Y2(W/x2*100)}%`}function L0(y2,W,x2,r3){const o3=r3*Math.PI/180;return{x:Number((y2+x2*Math.cos(o3)).toFixed(2)),y:Number((W+x2*Math.sin(o3)).toFixed(2))}}function J1(y2,W,x2,r3,o3,u3){const Q3=L0(y2,W,r3,o3),i1=L0(y2,W,r3,u3),M1=L0(y2,W,x2,u3),e1=L0(y2,W,x2,o3),R=u3-o3>180?1:0;return[`M ${Q3.x} ${Q3.y}`,`A ${r3} ${r3} 0 ${R} 1 ${i1.x} ${i1.y}`,`L ${M1.x} ${M1.y}`,`A ${x2} ${x2} 0 ${R} 0 ${e1.x} ${e1.y}`,"Z"].join(" ")}function B1(y2){return r[y2%r.length]}function me(y2,W){if(y2!=null&&y2.icon)return String(y2.icon).replace(/[^a-z0-9-]/gi,"");const x2=String((y2==null?void 0:y2.name)||"");return x2.includes("利用率")||x2.includes("占比")?"rate":x2.includes("重度")||x2.includes("退化")?"risk":x2.includes("可食")||x2.includes("供给")?"leaf":x2.includes("不可")?"stack":x2.includes("产量")||x2.includes("鲜草")?"yield":x2.includes("乡镇")?"town":x2.includes("面积")?"area":["yield","leaf","rate","risk"][W%4]}function Un(){lt();const y2=h3.value;b2.value&&(y2<2||(J=window.setInterval(()=>{E2.value=(E2.value+1)%y2},sS)))}function Xt(){b2.value?Un():lt()}function lt(){J&&(window.clearInterval(J),J=null)}function Jt(){g3(),!(!X2.value||typeof window.IntersectionObserver!="function")&&(p2=new IntersectionObserver(y2=>{const W=y2[0];b2.value=!!(W!=null&&W.isIntersecting)&&W3()}),p2.observe(X2.value),window.requestAnimationFrame(g3))}function be(){var y2;(y2=p2==null?void 0:p2.disconnect)==null||y2.call(p2),p2=null}function g3(){b2.value=W3()}function W3(){const y2=X2.value;return y2?!!(y2.offsetParent||y2.getClientRects().length):!0}function Z3(y2){return`linear-gradient(90deg, rgba(36, 246, 196, 0.18), ${B1(y2)})`}function e0(y2){return`linear-gradient(180deg, ${B1(y2)}, rgba(50, 220, 255, 0.12))`}return(y2,W)=>{var x2,r3,o3,u3,Q3,i1,M1,e1;return h2(),v2("div",{ref_key:"panelRef",ref:X2,class:x1(["business-panel",[`is-${a.value}`,`is-${f3.value}`,{"is-compact":n.compact}]])},[s.value.length?a.value==="rank"?(h2(),Ze(aS,{key:1,rows:s.value,compact:""},null,8,["rows"])):a.value==="metric"?(h2(),v2("div",qW,[(h2(!0),v2(X3,null,c1(s.value.slice(0,4),R=>(h2(),v2("div",{key:R.key||R.name,class:"business-metric-item"},[M("span",null,L2(R.name),1),M("strong",null,L2(t2(R)),1),M("em",null,L2(R.unit),1)]))),128))])):a.value==="iconMetric"?(h2(),v2("div",KW,[(h2(!0),v2(X3,null,c1(P2.value,(R,N)=>(h2(),v2("div",{key:R.key||R.name,class:x1(["business-icon-metric-item",`is-tone-${N%r.length}`])},[M("i",{class:x1(["business-icon-metric-mark",`is-${R.icon}`])},[...W[2]||(W[2]=[M("span",null,null,-1)])],2),M("div",XW,[M("span",null,L2(R.name),1),M("strong",null,[ae(L2(t2(R)),1),R.unit?(h2(),v2("em",JW,L2(R.unit),1)):l1("",!0)])])],2))),128))])):a.value==="spotlight"?(h2(),v2("div",ZW,[n2.value?(h2(),v2(X3,{key:0},[M("div",QW,[M("span",null,L2(n2.value.name),1),M("strong",null,[ae(L2(t2(n2.value)),1),M("em",null,L2(n2.value.unit),1)]),M("small",null,L2(n2.value.extra||((x2=n.panel)==null?void 0:x2.note)||"核心业务指标"),1)]),M("div",e$,[(h2(!0),v2(X3,null,c1(s.value.slice(1,4),(R,N)=>(h2(),v2("div",{key:R.key||R.name,class:"business-spotlight-chip"},[M("i",{style:p0({borderColor:B1(N+1)})},null,4),M("span",null,L2(R.name),1),M("strong",null,[ae(L2(t2(R)),1),M("em",null,L2(R.unit),1)]),R.extra?(h2(),v2("small",t$,L2(R.extra),1)):l1("",!0)]))),128))])],64)):(h2(),v2("div",n$,"暂无业务统计数据"))])):a.value==="donut"?(h2(),v2("div",{key:5,class:x1(["business-donut",[`is-variant-${f3.value}`,{"is-dense":o.value.length>5}]])},[o.value.length?(h2(),v2(X3,{key:0},[f3.value==="ring"?(h2(),v2("div",i$,[M("div",{class:"business-ring-core",style:p0(v3.value)},[W[3]||(W[3]=M("div",{class:"business-ring-orbit"},null,-1)),M("div",r$,[M("strong",null,L2(l0(I2.value)),1),M("span",null,L2(((r3=I2.value)==null?void 0:r3.name)||"结构占比"),1)])],4)])):(h2(),v2("div",a$,[(h2(),Ze(Fw,{key:N2.value,data:o.value,delay:sS,colors:r,opacity:.62,class:"business-three-pie"},{default:z1(({data:R})=>[M("div",s$,[M("strong",null,L2(l0(R)),1),M("span",null,L2((R==null?void 0:R.name)||"结构占比"),1)])]),_:1},8,["data"]))])),M("div",o$,[(h2(!0),v2(X3,null,c1(o.value,(R,N)=>(h2(),v2("div",{key:R.key||R.name,class:x1(["business-donut-row",{"is-active":N===e3.value}])},[M("i",{style:p0({borderColor:B1(N)})},null,4),M("span",null,L2(R.name),1),M("strong",null,L2(t2(R)),1),M("em",null,L2(R.unit),1)],2))),128))])],64)):(h2(),v2("div",l$,"暂无业务统计数据"))],2)):a.value==="rose"?(h2(),v2("div",{key:6,class:x1(["business-rose",{"is-dense":o.value.length>5}])},[o.value.length?(h2(),v2(X3,{key:0},[M("div",u$,[(h2(),v2("svg",c$,[M("g",d$,[(h2(!0),v2(X3,null,c1(O3.value,R=>(h2(),v2("line",{key:`guide-${R.key}`,x1:R.lineStart.x,y1:R.lineStart.y,x2:R.lineEnd.x,y2:R.lineEnd.y,stroke:R.color},null,8,h$))),128))]),M("g",f$,[(h2(!0),v2(X3,null,c1(O3.value,R=>(h2(),v2("path",{key:R.key,class:x1(["business-rose-segment",{"is-active":R.index===e3.value}]),d:R.path,fill:R.color,stroke:R.color},null,10,p$))),128))]),W[4]||(W[4]=M("circle",{class:"business-rose-glow",cx:"75",cy:"75",r:"24"},null,-1)),W[5]||(W[5]=M("circle",{class:"business-rose-hole",cx:"75",cy:"75",r:"16"},null,-1)),M("g",m$,[(h2(!0),v2(X3,null,c1(O3.value,R=>(h2(),v2("text",{key:`label-${R.key}`,x:R.label.x,y:R.label.y,"text-anchor":R.anchor},L2(R.item.name),9,g$))),128))])]))]),M("div",v$,[(h2(!0),v2(X3,null,c1(o.value,(R,N)=>(h2(),v2("div",{key:R.key||R.name,class:x1(["business-donut-row business-rose-row",{"is-active":N===e3.value}])},[M("i",{style:p0({borderColor:B1(N),background:B1(N),color:B1(N)})},null,4),M("span",null,L2(R.name),1),M("strong",null,L2(t2(R)),1),M("em",null,L2(R.unit),1)],2))),128))])],64)):(h2(),v2("div",y$,"暂无业务统计数据"))],2)):a.value==="structure"?(h2(),v2("div",_$,[y.value.length?(h2(),v2(X3,{key:0},[M("div",S$,[M("div",b$,[(h2(!0),v2(X3,null,c1(y.value,(R,N)=>(h2(),v2("i",{key:R.key||R.name,class:x1({"is-active":N===e3.value}),style:p0({width:`${q3(R)}%`,background:B1(N),color:B1(N)}),title:`${R.name}:${t2(R)}${R.unit||""} ${B3(R)}`},null,14,T$))),128))])]),M("div",w$,[(h2(!0),v2(X3,null,c1(Z2.value,R=>(h2(),v2("div",{key:R.key||R.name,class:x1(["business-structure-row",{"is-active":R.displayIndex===e3.value}])},[M("i",{style:p0({background:B1(R.displayIndex),color:B1(R.displayIndex)})},null,4),M("span",null,L2(R.name),1),M("strong",null,[ae(L2(t2(R)),1),M("em",null,L2(R.unit),1)]),M("small",null,L2(B3(R)),1)],2))),128))])],64)):(h2(),v2("div",x$,"暂无业务统计数据"))])):a.value==="bar"&&((o3=n.panel)==null?void 0:o3.variant)==="capacity"?(h2(),v2("div",A$,[G2.value?(h2(),v2(X3,{key:0},[M("div",C$,[M("span",null,L2(G2.value.name),1),M("strong",null,[ae(L2(t2(G2.value)),1),M("em",null,L2(G2.value.unit),1)])]),M("div",M$,[(h2(!0),v2(X3,null,c1(q2.value,(R,N)=>(h2(),v2("i",{key:R.key||R.name,class:x1({"is-active":N===e3.value}),style:p0({width:`${A1(R)}%`,background:H1(R,N),color:H1(R,N)}),title:`${R.name}:${t2(R)}${R.unit||""} ${o1(R)}`},null,14,E$))),128))]),M("div",P$,[(h2(!0),v2(X3,null,c1(q2.value,(R,N)=>(h2(),v2("div",{key:R.key||R.name,class:x1(["business-capacity-row",{"is-active":N===e3.value}])},[M("i",{style:p0({background:H1(R,N),color:H1(R,N)})},null,4),M("span",null,L2(R.name),1),M("strong",null,[ae(L2(t2(R)),1),M("em",null,L2(R.unit),1)]),M("small",null,L2(o1(R)),1)],2))),128))]),C2.value?(h2(),v2("div",R$,[M("span",null,L2(C2.value.name),1),M("strong",null,[ae(L2(t2(C2.value)),1),M("em",null,L2(C2.value.unit),1)])])):l1("",!0)],64)):(h2(),v2("div",N$,"暂无业务统计数据"))])):a.value==="bar"?(h2(),v2("div",{key:9,class:x1(["business-bars",{"is-dense":f.value.length>=5,"is-long":f.value.length>10,"is-single":((u3=n.panel)==null?void 0:u3.span)===1,"is-distribution":((Q3=n.panel)==null?void 0:Q3.variant)==="distribution","is-capacity":((i1=n.panel)==null?void 0:i1.variant)==="capacity","is-rank-bar":((M1=n.panel)==null?void 0:M1.variant)==="rankBar"}])},[(h2(!0),v2(X3,null,c1(f.value,(R,N)=>{var m;return h2(),v2("div",{key:R.key||R.name,class:x1(["business-bar-row",{"is-active":N===e3.value}])},[((m=n.panel)==null?void 0:m.variant)==="rankBar"?(h2(),v2("span",L$,L2(N+1),1)):l1("",!0),M("span",I$,L2(R.name),1),M("div",k$,[M("i",{style:p0({width:`${H2(R)}%`,background:Z3(N)})},null,4)]),M("strong",null,[ae(L2(t2(R))+" ",1),R.unit?(h2(),v2("em",F$,L2(R.unit),1)):l1("",!0),R.extra?(h2(),v2("small",D$,L2(R.extra),1)):l1("",!0)])],2)}),128))],2)):a.value==="column"?(h2(),v2("div",{key:10,class:x1(["business-columns",[`is-variant-${((e1=n.panel)==null?void 0:e1.variant)||"solid"}`,{"is-dense":f.value.length>6}]])},[_.value?(h2(),v2("small",U$,"单位:"+L2(_.value),1)):l1("",!0),(h2(!0),v2(X3,null,c1(f.value,(R,N)=>(h2(),v2("div",{key:R.key||R.name,class:x1(["business-column-item",{"is-active":N===e3.value}])},[M("strong",null,[ae(L2(t2(R)),1),V2(R)?(h2(),v2("em",O$,L2(V2(R)),1)):l1("",!0)]),M("div",B$,[M("i",{style:p0({height:`${H2(R)}%`,background:e0(N),"--column-load-delay":`${N*.075}s`})},null,4)]),M("span",null,L2(D3(R.name)),1)],2))),128))],2)):a.value==="projectTable"?(h2(),v2("div",z$,[M("div",G$,[nt(M("input",{"onUpdate:modelValue":W[0]||(W[0]=R=>O.value=R),type:"search",placeholder:c2.value},null,8,V$),[[j9,O.value]])]),M("div",H$,[M("table",null,[M("colgroup",null,[(h2(!0),v2(X3,null,c1(K.value,R=>(h2(),v2("col",{key:R.key,class:x1(R.className),style:p0({width:R.width||void 0})},null,6))),128))]),M("thead",null,[M("tr",null,[(h2(!0),v2(X3,null,c1(K.value,R=>(h2(),v2("th",{key:R.key,class:x1(n1(R))},L2(R.label),3))),128))])]),M("tbody",null,[(h2(!0),v2(X3,null,c1(Z.value,R=>(h2(),v2("tr",{key:R.key||R.name,class:x1({"is-active":j.value===(R.key||R.name)}),tabindex:"0",onClick:N=>C1(R),onKeydown:[yr(jt(N=>C1(R),["prevent"]),["enter"]),yr(jt(N=>C1(R),["prevent"]),["space"])]},[(h2(!0),v2(X3,null,c1(K.value,N=>(h2(),v2("td",{key:N.key,class:x1(n1(N)),title:g1(R,N)},[N.strong?(h2(),v2("strong",$$,[ae(L2(g1(R,N)),1),a1(R,N)?(h2(),v2("em",Y$,L2(a1(R,N)),1)):l1("",!0)])):(h2(),v2("span",q$,L2(g1(R,N)),1))],10,W$))),128))],42,j$))),128))])]),Z.value.length?l1("",!0):(h2(),v2("div",K$,L2(S2.value),1))])])):a.value==="table"?(h2(),v2("div",{key:12,class:x1(["business-table",{"is-dense":v.value.length>8}])},[M("div",X$,[(h2(),v2(X3,null,c1(2,R=>M("div",{key:R,class:"business-table-head-group"},[...W[6]||(W[6]=[M("span",null,"乡镇",-1),M("span",null,"亩产",-1)])])),64))]),M("div",J$,[(h2(!0),v2(X3,null,c1(v.value,(R,N)=>(h2(),v2("div",{key:R.key||R.name,class:x1(["business-table-row",{"is-active":N===e3.value}])},[M("span",Z$,L2(R.name),1),M("div",Q$,[M("strong",null,[ae(L2(t2(R)),1),R.unit?(h2(),v2("em",eY,L2(R.unit),1)):l1("",!0)]),M("i",null,[M("b",{style:p0({width:`${H2(R)}%`,background:Z3(N)})},null,4)])])],2))),128))])],2)):a.value==="stackColumn"?(h2(),v2("div",{key:13,class:x1(["business-stack-columns",{"is-dense":P.value.length>6}])},[M("div",tY,[(h2(!0),v2(X3,null,c1(U.value,(R,N)=>(h2(),v2("span",{key:R.key||R.name},[M("i",{style:p0({background:B1(N)})},null,4),ae(L2(R.name),1)]))),128))]),M("div",nY,[(h2(!0),v2(X3,null,c1(P.value,R=>(h2(),v2("div",{key:R.key||R.name,class:"business-stack-item"},[M("div",iY,[(h2(!0),v2(X3,null,c1(W2(R),(N,m)=>(h2(),v2("i",{key:N.key||N.name,style:p0({height:`${N.percent}%`,background:B1(m)})},null,4))),128))]),M("span",null,L2(D3(R.name)),1)]))),128))])],2)):a.value==="peak"?(h2(),v2("div",{key:14,class:x1(["business-peaks",{"is-dense":f.value.length>5}])},[b.value?(h2(),v2("small",rY,"单位:"+L2(b.value),1)):l1("",!0),(h2(!0),v2(X3,null,c1(f.value,(R,N)=>(h2(),v2("div",{key:R.key||R.name,class:"business-peak-item",style:p0({"--peak-height":`${H2(R)}%`,"--peak-color":B1(N)})},[M("strong",null,[ae(L2(t2(R)),1),s3(R)?(h2(),v2("em",aY,L2(s3(R)),1)):l1("",!0)]),W[7]||(W[7]=M("div",{class:"business-peak-stage"},[M("i")],-1)),M("span",null,L2(D3(R.name)),1)],4))),128))],2)):a.value==="line"?(h2(),v2("div",sY,[M("div",{class:"business-line-chart",onMousemove:E1,onMouseleave:W[1]||(W[1]=R=>A2.value=null)},[(h2(),v2("svg",oY,[W[8]||(W[8]=M("path",{class:"business-line-grid",d:"M0 18H320M0 44H320M0 70H320"},null,-1)),M("polyline",{class:"business-line-area",points:L3.value},null,8,lY),M("polyline",{class:"business-line-stroke",points:F2.value},null,8,uY),(h2(!0),v2(X3,null,c1(H3.value,(R,N)=>(h2(),v2("circle",{key:N,cx:R.x,cy:R.y,r:"3",class:x1(["business-line-dot",{"is-active":N===r1.value}])},null,10,cY))),128)),(h2(!0),v2(X3,null,c1(H3.value,(R,N)=>(h2(),v2("circle",{key:`hit-${N}`,cx:R.x,cy:R.y,r:"13",class:"business-line-hit",onMouseenter:m=>A2.value=N},null,40,dY))),128))])),M("div",{class:"business-line-hover-zones",style:p0(U3.value)},[(h2(!0),v2(X3,null,c1(H3.value,(R,N)=>(h2(),v2("i",{key:`zone-${N}`,onMouseenter:m=>A2.value=N},null,40,hY))),128))],4),I3.value?(h2(),v2("div",{key:0,class:"business-line-tooltip",style:p0(T2.value)},[M("span",null,L2(I3.value.item.name),1),M("strong",null,[ae(L2(t2(I3.value.item)),1),I3.value.item.unit?(h2(),v2("em",fY,L2(I3.value.item.unit),1)):l1("",!0)])],4)):l1("",!0)],32),M("div",{class:"business-line-labels",style:p0(U3.value)},[(h2(!0),v2(X3,null,c1(C3.value,R=>(h2(),v2("span",{key:R.key||R.name},L2(D3(R.name)),1))),128))],4)])):a.value==="heat"?(h2(),v2("div",{key:16,class:x1(["business-heat",{"is-dense":w.value.length>6}])},[(h2(!0),v2(X3,null,c1(w.value,(R,N)=>(h2(),v2("div",{key:R.key||R.name,class:"business-heat-cell",style:p0(j3(R,N))},[W[9]||(W[9]=M("i",null,null,-1)),M("span",null,L2(R.name),1),M("strong",null,[ae(L2(t2(R)),1),R.unit?(h2(),v2("em",pY,L2(R.unit),1)):l1("",!0)])],4))),128))],2)):a.value==="split"?(h2(),v2("div",{key:17,class:x1(["business-split",{"is-dense":h.value.length>10}])},[M("div",mY,[(h2(!0),v2(X3,null,c1(h.value,(R,N)=>(h2(),v2("i",{key:R.key||R.name,style:p0({width:`${U2(R)}%`,background:B1(N)})},null,4))),128))]),M("div",gY,[(h2(!0),v2(X3,null,c1(h.value,(R,N)=>(h2(),v2("div",{key:R.key||R.name,class:"business-split-row"},[M("span",null,[M("i",{style:p0({background:B1(N)})},null,4),ae(L2(R.name),1)]),M("strong",null,L2(t2(R))+L2(R.unit),1)]))),128))])],2)):(h2(),Ze(aS,{key:18,rows:s.value,compact:""},null,8,["rows"])):(h2(),v2("div",YW,"暂无业务统计数据"))],2)}}},oS="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAD0SURBVHgB7dEBDcAgEACxZ/5NTgkg40JaC137mgesf57wDSlCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTEHKbcBaYZyb5dAAAAAElFTkSuQmCC",vY=""+new URL("pathLine2-d4134d4b-balabala-1783008015343.png",import.meta.url).href,yY="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAADzSURBVHgB7dEBDcAwDMCw9vw5f4MRTTYF73/NC3bnBd+QIiRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSMwBQCIExogIrTYAAAAASUVORK5CYII=",_Y="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMxSURBVHgB7dZBDcJQFADBB/kCuHAgAQckHAA3Tf27aIXsjIjNXv7bfgyQdB0gSwAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgbN2erwGaHACECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCErfv7M0CTA4AwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYCw9fj+BmhyABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABB2Amb1BS2MWc5zAAAAAElFTkSuQmCC",SY=""+new URL("ocean-bg-8c848b8f-balabala-1783008015343.png",import.meta.url).href,bY=""+new URL("rotationBorder1-2ce8e0ef-balabala-1783008015343.png",import.meta.url).href,TY=""+new URL("rotationBorder2-7496b968-balabala-1783008015343.png",import.meta.url).href,wY=""+new URL("chinaBlurLine-1a2cbc0f-balabala-1783008015343.png",import.meta.url).href,xY="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAA0ESURBVHgB7Z3/VRu7E8XFO+9/kgpIKoAOEioAKoBUAFSAqSCkAkwFQAVABUAFhAoIFfjt3bzl+TlGtndG0oz2fs6ZY/L94R2v9u6MpJG0FkKYBELIXP4KhJB3oUAIiUCBEBKBAiEkAgVCSAQKhJAIFAghESgQQiJQIIREoEAIiUCBEBKBAiEkAgVCSAQKhJAIFAghESgQQiJQIIREoEAIiUCBEBKBAiEkAgVCSAQKhJAIfweSlA8fPoRPnz6Fra2t9u+NjY23/wyfsBg/f/58+/z161d4fn5++/vh4aH9JOlYC9wXSw089F+/fg2bm5tvosBnSjqhwO7u7lrx4G+iAwUiAA//7u5uKwh8LooGuehEcn19HW5vb9+iEFkdCmRFECF2dnZaQaSODlpAIBDKxcVF+0lWY0Jb3s7OziaeeXp6mpyfn08aobu67wXNlbPFDQ9WLUAsBwcHkyYSumqDzObKWRP28vIyqQ1EFQrlT+M8SA+Qy9dGE0lCE1HCzc1N288i/+FK0RaspjTrPRqhsJ/y21w5a8ZqTLPmMfTUa3ApFuYqMEQrpcY0ax5d6tUIxc2wtjauFC2xw8PDtze/NH0YQpo1SzfqVbINC5grZ3sZUgTk1NPg39LvHUqaNcv9/f2Q0i5Xzq5s01FjlibVEn33eDyeDJmTkxMz7ZzQXDm7tM2LGrMgZWj6JL2vMcQ0axbc45qjSZW1WBjHv7y8XKp48PT0NIxGo9AHfD86sKsUKaL6FrVRXcn66+vruyXr+N719fW3znFXMm8N/Jbj4+NwdXUVasSNmpcxhP1VQPoleQO+l2bhe/F2Re0WOrbNwy2KVp3hOxC5kB7iu3ENK32hSlMuV85GH5wmakz6gLH+vtfFgwo6QRwdHbViyP37cU1ce1FamRq0gcaLwJC5cnauIQKgPyGh77Bv90a39lBAuIhuJaIL2qKifokrZ/8wvDml4gAaw75WDSle7shSkUhcOfs/gzg035C1T4LhgUVU0XihLAPapkS6qWyunH2z/f199fQB31dZ/jzXIBS8DHIIBfcUbeXp/syYK2dbww1PRTPk6+peSA0d+xxCcSwSV84mFQfAG8/T/dAwRJQcS4mdisSPs9p9jllqnxVeZMtUH0hw2ifx4SgaL5U48L1INbzci9SWsn/iUCT2ndSY53iPoUeN2D1PFU2cDQHbdhCjSqnEwaix2DBokQJpoWhGs+1g3/KRRY3D9dbLm9Zk7CxoWwe/365zqxYeLsPAFvuoGe4Z7p02DgocbTrWFQFqglnkIUwEprQUi8SMR3N7TqXolA9tAjClafdLpEsOEps9p7RHTygOfdMWieFiUVsOafc7KI50pi0So6OKdpxBmNWE4khvmiIxmmrZcUZzlITiyGeaIjGYatlwBOUNWmCkxcrvGoppjm4ZS7XKO6E5aoUoZOE3Dc0wfK6VARhbl1PeCWyaoEFla6HdmeaL7vv371Z+V/mbqkUFyzvdm+Zmekbas6wDWtGDnXI7hj6EBkY67OUurvW2qXlHEq+mNdlroAzF901kv8OmaS1wM/DyK3NhregxwPMq3JhWqlU4ipS5sEb0YGpl3ypo5/wX1Rq5Ympl37TaulQUKXJG4cnJSZDy48ePdtt9Yhu0EY6YkKJxrmRf3L1R2DH3ZZgVl3bYS82uZ48gGofUM3r4AgcEoc0k4OCgptMfSpBVkdJSBPz/c/tMk5tGFClUZ5fvYhpDuxzW9WsaZfG5O+tZU6z9/f0gAWnV7e1tID45Ozt79zzGZSnRWc+mRml6JTkqjWbDpFGkwObieS6kkV5x5Mq/oS8iJWealS3FkqZXSK04cuUfpFjSNDl3mpVFidL0ip3zeky6KWDmkcz0F5FODg7xUJuaTWPId2NjI4uvWVIs6eTg1dVVIPWANOv6+jpI2NvbCznIIpCdnZ0gQXoziT3G43GQsLm5GXKwFn6HkqQ0OWNo0qzQl7W1tUDqAqUjeC7w2QdEoY8fP4bUJI8gW1tbInFwYrBO8IA/PDyEvkBYTT8kpCa5QCTiAEyv6kXattvb2yE1yQUi7aAzgtSLtG2RnaQmuUAknSlpGCa2QdtKarOk2ckyZOmD9IXiqB9JG+cYyUoqEHSk+o5SgMfHx0DqRtLGiCCS52sZkgpEmiOy/1E/0iwhdZqVPIJIkK4dIPaRCiR1Rz2pQKTqZh+kfqQV2q5TLIlAED0YQepH2s6DTbG49mM4SNp6fX09pCSpQCSlAIwew0EiENcRRAIjyHB4fX0NfRlsH0Ry04gvJNmCa4FIYIo1HCy3tVmBEGIBCoSQCBQIKc5oNGpXjfaxz58/h5RQIIREoEAIiWBWIKmH7whZhqQCkQzfpS4hIGQZzAokx5YuhCwiqUCen59DX3Js6ULIIsxGkBwL8glZRFKBSAoOpevZCdHAbAQBjCKkNEkFYn29MSGLMJtiAQqElCZ5iiURSa4t7kk5rKfRf4fEIM3qexMYQern/v6+/cRzcnd31+6FJt2SVJukR1idnZ1NJDQiyXLUFi2/oW3foxHO5PLycnJ0dJT1VNtZyxJBJGB3eO6PVSexnf+RPcCmT7TFc4AIg+1K8Xeu5yKpAqUHeN7c3BR7e9DSGtpWQo7sIssRbC8vL6KjtrAohmvU66N5xkNfMPiTerEUyFLuLjlJCMJiZ70+plOnPuTa+T+LQKS54v7+fiB1IT35OOfR4MnzOGk/BIfO4/D5HL7S8hjaVAKeqRx+ZokgyBelhYvSsw6JHQ4ODsT7NufaeTPbklvpiaaHh4eB1IE0Zc59sFKWUIXJHilMs/ybNN0GmScO890cad45Go1y3hhaAjs/P59IeHp6yupv1l1NLi4uggSkWVxE5RfU5En7krnTq6wCkQ7NQRxHR0eB+ATikFbvSl+yfcgaslCEJoFDvn4N6ZGn9AqWfeM46WgWo4hPkB5Lo8fp6WkoQVZF4u0v7awzivgyjFxJowfINTk4bdkjCIoOpXkko4gvNKLHeDwudixfdlVqzImUeqPQVjONeY/CbV3kouK1AIBrRexbBe1c5sJaUQRLMgvePFrEDg4OJhqUXHIbCl5Y5e2CDjtTLXum1TE3kCWUu7hWFGGqZc80Xn6gcPSAFb242o1kqmXHTk5OJhqgbsvA7ynrQGzrl1Ux8LYZvGm2p5HUubgD4r2zOpDzsj9SzrT6HcBI9ICVd0Jjdr0DtV6cZS9j0jq7DmMvOhNOtH0ILQy9fQZj0nUe02B42NBvM+OIWocdoKNo6bfVbFqdcoAoZOz32XEGYVUr1QIUSXrTFAcw2Ic05YxqqgUoknSmLQ6jS6rNOaSaagGKRN+0xWF4steeU9qpFuBEop5pi8P48LxJp9TKUADrtXQMw+eao1Udu7u7ln+3WcfanFQDHsIjN7xgtOY5pnGwlZNp59pThiQYG1N3aYjmWjPk06BtHfx+2w4irPdtHG40J7fDw8NJCtCmTioezDvYq8aH4pDfc+3RxA5nNXMunGz7EcuObKH40cvvsmiIGtqjiB0OB0zcOLqUSJzktSYtZdToxOFwwMSVs9F1zlqVvBjnH9KwMO6Z9tzGPJwOmLhytrV5ItHKa7sHBd9X++RiJ4xU6VQF4oC5cvbNcMO7htUSx7zBAPwb16opouQUBq7hfKjdlbP/M+SzmiMisVliXAf/vWeh5BRGJ44KJmldOZvMVtkBEB1ZL29FiAKlHCk73/PAC6WSCgZXziazPmUUeEMiqlirJYIoMPsN33JFi2kq2xvAlbNJTGsHQLyl0bEv8ebENXFt+FBCFB0YZq9pT4C1f/8YNM0bT7z7+CzYxf7h4aG1u7u7t3/jUwJ2toevjSDC5uZm+wmzcDQdzu8YjUahJgYvkKbTmrVRIRBs4z/9+fr6Ovd/u76+3j74nShgFs9oxG/Y29vLfn5gDgYtEDxwiB6kPxDFt2/fip3dkZrsB+hYAtGD9ANR4/j4OGxvb1crjg7zHaUUprlF5tDAQMCASnFcOatmKRYA1Q5Gxwa4tt+Vsyqmud59KGAJwUC3dHXlrJohRRiPxxMSB+nUwNf0u3JW3RBNcpdheAD3hMdJBAqkMwrlNxTGH+bK2eQ2xNQLnW/0MSiMuebK2WwGoaBGq+bRLhRoYnMLnqcSNVfOFjG8WRFVahALo8VqxmLFFWkerNBElvDlyxf1AsdUYKb7+vo6XF1dVVkvlRIKRAAEAsHs7Oy0FbVWBIMyEIjh8fGx/ay9FCQlFIginUggmq4UPXX1LR5+lNE/Pz+3n4gQFIQeFEhiIJBOKF3JOsrYu2izKOogGnSl8SiL70rkIYbub5IOCoSQCIMudydkERQIIREoEEIiUCCERKBACIlAgRASgQIhJAIFQkgECoSQCBQIIREoEEIiUCCERKBACIlAgRASgQIhJAIFQkgECoSQCBQIIREoEEIiUCCERKBACIlAgRAS4R+Py6dcyrAs4QAAAABJRU5ErkJggg==",AY="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAA4qSURBVHgB7Z3xVdvMEsX15bz/k1RAOoBUQDrAHUAHpgOgAkgF2BWAKwBXEKggUEGcCvx09d76M/LMalfalXal+zvnHhPFllbWXu3MrCT/UxTFtiCEiHwqCCEqNAghFmgQQizQIIRYoEEIsfCfgkThy5cvlU5OTopv375Vfx8dHe2WY9n++yQ2m00l8Pb2tnt9f3+vlr+8vFSvWGbeR8LyT8Eyb2dgAuj4+Ljq+MYUfQKTQDDNer3e/U26QYN4YkaFs7OznTG0EWBozCgDrVar3YhD3KFBHPjx40dxenpavUI58/z8XI0weIWIHRpEAUbAKHFxcRF8hDC5xX6OoWFyFFuu0haEYTDJcrmkWRRokD1CmcLE/0imTW5gEmmTbLcFuY1J+s3fyH1M6NelzTTLIZM3CDrWfD4vZrNZqw5mOtbr62v1OmRFyZhkv2jQdp9ubm52+zN1tlNUOVpsHx4etn/+/Nn68OvXr+3d3d22NNS27JDJ7yfaiLaizWi7L/f399V3lfp+RlRWje0sHOynpyfnDgID4f2Xl5dZGKJJZUi2LUPI6uTgA74DfC6nfQ2krBrbWji4v3//duoMxhT4zBhMoQn75msWfIcTM0pWjfWWjzHGNFL4yowsrmHYhIySVWOd5RpKYbRAfD7xOPuDysR+u1gsti7AKMhxcto/T2XV2EbhTOhqjOvr60mOFj7fpesIjGQe789p/xyVVWNVoaNfXV01Hkgc7KmGUV3kahQcg5F9t1k1VhTCo6aDN8HkMopcjDKy7zqrxn4QzlRNFRiGUnHkYpSRhF1ZNXYnl1EDyTeNEU/o/PiORz6aZNXYqsPf3t5aDwqS9JEmjEnKpTCCY5bpySqfxuJA2EYNhFNIwHPapzGpKezC/2V44sqjofP53HrdFHIRhlPDCwawzaFkeBJLv5G2kApf+MgnqrJU02iCcnAm+5Ju4zAi2GJb5hppqyk3wWUtGRy/NBvWlG+gdJtq26mPwrHSyCAvSa9RuBZIyzewnNdN5SdbWR7LccwTbXtaDTo/P1fNkcmQTClqigpw7BNsdzqNQaVKA5URVqnyF46hbXIxwQpXGg2xXWjIfGN8suUliVW4hm+EzRyc+BuvMjHJsA2wmYNX345fOMaJm2S4jWs5BytV0xKOtVaYSSCCGGbDqFho5ki45EdFkq20P3B1a5gvg+agpH4hmWTgftHvBm21cIZVFPqAdvIcaA6sv43ZzMGEnDLSEnf0nQHmwvrbmPbMJc5zUHUhOZfAxY89t6WfDWnlXJqD0qTNk+D2hx7bEX8jWjkXlxz0uKNUhtJuvuqx/Bt3A8g7pMrEQPEklZnQR6TQvMekPe7OSUl5pvcmUwNp4JNsvJVrt8qynEv5Siv/9pCPxFmxVqpjUk61lZa0Rz7hhl+pNt8xQImOGpmke9wjh1rhV4pHTko7wbyD6iotH8FjnyJtM+wKtdCKM+VUKOExTz2GWuFWplWtMKLE+KKo6Up6aHmkUCvcyqTZcoZWVAzBCFKoFaEIFGZFMAFDK6pPaddrBT4hh1mRlJizakXFllTVCtzvuq9ES5oYWlGxpUUuARP27iuREnNeiEj1Jek5WwFHkW4rkMq6TMypPqUl7IHy324rkEYPJuZU35IuQ0HfDLDu9h/WRo8+vhCK2pc2BxfgZN3+wxw9qJQU6YSdVGMoqpOkk3bHila7D0r1Z44e1NCSJg87VrT8PyTdvMLRg0pBWkWr7SjyqWjB+fn5wbKbm5uCkKHZbDbFz58/D5bP5/OiLV6O0mYuOe9BpSJpFMG/21zp6z2ClEPVwbLFYlG8vb0VhKQARpHlcvlhWWmOosxPijZ4OUqqEvCB01RqkvJkPD6oxboG2ShFRZdUafVN1r1CLCk5lxIiQlJgtVodLJvNZoUvzm6Swism51Sq0pJ1z/W4vVEKrx4fHwf/EijKpq5hlnOIJYVXpUEKQlKmXs0CvmGWk5Ok8IoPn6ZSV9cwy2kEwdxHmWt8WIYECPVmQlIGffTl5eXDMsyJSPN5Es4GqcPwiuSCVM1yNQhoHGakRIfVKyoXIcyq43GFr//KOTlI5SbpR3hccujGEOvk5ORg2Xq9LgjJCanPSn27TqNBpJLY8/NzQUhOSH3WpdzbaJDj42OnjRGSMlKflfq2hDUGq9eQmX9Quao+l+cyH2IdQRCjoWa8T72mTEgu1PMQ9O2mPMRqkPrkIHh9fS0IyRHp5N7JINJkCkcQkitSHtLJIFISQ4OQXJFuC5eipH28QiyYg9dfkVxB362bpKmSpRoECUzdIDQHyZ16BIQ+Xi9E7aMahAk6GSPv7+8Hyz5//qy+3zqC1OGjfUjuSH34+/fv6vtVg0jZPQ1Ccsc3UfcaQZiDkNyRDBIsBymn6gtCckY6yR8dHanvVw0ifUhKcAjJCWkE+fr1q/p+56eaMLwiY6Hel1tVsTgHQsZKvS+3StKbVkpIrvj0ZecqFg1CxkK9L7eqYtk+RMiYaGUQQggNQogVGoQQCzQIIRZoEEIsqAZhWZdMBVtfdzYIy75kLPjM8TmHWDQIGQs+fVk1SP2qRxqEjIV6X7bdCMgQi0yOICPI379/D5bZbiwhJAekK3dbjSC+N5YQkgOSQWw3AnqVeZueQkdI6vg+a8FrBKFBSO5Ifdj2OF3VINKHaBCSO1IfDjJRqK2ckJyQnsXbuszr+6BfQlJHmgNpPZPu+6BfQlJG+kWppqeFWg0ilb8YZpFckR6n2/RAdq8RBEi/OkVIDkgGafrFZm+DMA8hueKboBusP4Nb/xlo/JRu02coKkXhJ8yD/gw0YKJOxoCUoLv83majQaQkhnkIyQ2pz7r8YlqjQR4fH502RkjKSH1W6tsS1hisHJq2dRDLNX2OolJSPf8A6NsOn21e+dPTU9uVU9TgKvPmg/6LPu3yWad70tfr9cGyi4uLgpAckMIrqU9LOBlEmkw5OzsrCMkBqa82TRDu4zTU1OdD8G+GWVTqknJon7k858f+LJfLD/9GXXk2mxWEpIzUR31GD+DkpDKOa53oUNRQenh4OOi36Mse63DfGMMsKidJ1SvfS6W8Hl4thVmsZpFUkapXvuEVcHYTwywqJ0mTg57hFTTIRikqqk5OTjqHV5D374OsVquDZaxmkdSYz+cHy25uboo2eDkKSTmTdSplSck5wHLfdXmPIHgCRD3RQbJ+eXlZEJICUnK+WCyc7h6U8HaVlKxzFKFSEXKNgHlyu0ZIV/iWo8ggXwhFGZXTDgf9smOltd0HpVGE96tTQ0saPWCaDutMqjEU1VrS6BHgpB2+QcxFqCEU6YQdvlHX19e9fSkUBUUaPaDwDWNFi+pTmN+IGO53b6BU0bq9ve3tC6KmLfS1SKMH1H0lUkULtJm5pCgfabPms9ks1DbCNFQaRXilLxVbUr+7v78PuY0wK9KczMlDKpak/DdC5BKuwahe1WHCTsWQlphHqKCGWxmMIDUa9wXH+qKoaQphVJ1Ic3BhG64l7AGTJmri0kKrSFdxhN8B6UkSCLVY1aK6SgutAifm+wq/Ui3UYlWL6iqpaoW+FvHkG2dHtFDr6uoq1o5QIxf6To+hlVG8Hbq7uxN3iA95oHylnXDRxyJvO97KtVCL+QjlIy3v6OnK8fg7V3/IA8Djgzg/QjUpgZNs/J3EbLpExMoDNRJJFyKCHq/Q6GUjaj7CpJ3SpCXlPd9v1NuGxBJdz2cDKhNp5hjg9zH725gWT4Lz8/O+d5xKVOgLEpHnOzT1ujE1aQcs/1JaOXcgc0C9b7B6sLBkEizD/w3RJmp4af0CDNgvBtmoesEZTTJN2cwx8KOkBtuwWv7FF8VwazrCsdbMkUABZ9CNizdZGZi4j19aQg4SeXzU4A2wmoTzJOPVfD5P3RxQEo2gSSYmbZ4jMXNAyTREzUkALjngtVv5C8dQul3WkOCkcVKNUatbYMBaOBVAOHbSb1wCJOmJPvg8uQZVJT9txh3LWeHKT7ZKVeKl/SQbpd4DYGBeko9s+UYGUUGyDbMOyQAXPzLkSvv4aReomuOXQV6ZdOMq2SpcOAPxR3vSEx7zpIVUoIdbZUMpi0ZW1Q3bF47KCEeT4YURQXrskwHHMLPbG7JpaGNewtFkWGHiz3YSy7QKmVVjqzOUdneigblJv2rKNQCOWabzWFk1dieMFLbRBGBykUaJJ3R47Z7x/VEj87J8Vo39IHT+xWLReIAYdoUVjIHSrS2cAshFRnD1Q1aNFeUymtAo/X7XI5rMzaqxqnCmspWDaZRu3y0qT03GADgGI7tmLqvGNsol7No3CnMUXa6hFBhxYSSrxjoLE1UuZzyAORTe5vuvEB4h+XY1xsivjcuqsd5yiZkNuKxlqqOKCaOayrWGCYWqWTW2tXyMAlCBwWfGfA8K9g37CFO4jBYTM4ZRVo3tLNMhfDBmGcPIsj9SuJoCTCCU0pRVY4MJB9slma+DMAzxOXKcHEYXtBFtRZttV0ZLwEA4OUz5/pt//v/HZClHhaLsAEVZran+9uXl5aXS6+vr7u/NZlMMQWmG3f4cHx9Xr233abVaFXd3d4PtSypM3iD7oEOVoVRxenraqmMZjEnw+v7+Xry9vVX/xivUBbTLGAE6OjqqXssqXKc2o33L5bJ4fHwsnp+fC/I/aBCFUGaRQGfclw2YYV+h20FT2KFBHIBZIJgFrzkDI6zX6+qVpmiGBvEEZ3GEM2XiW8X5+Dv0mT0UJsxDfoRRYsj8KFdokACY+N8kxyY/6BPkNibnMcUCiHSDBomESaTNiINXk1AD82rLLfZzFJPoQzCBSfrNqMCRIQ40CCEWPhWEEBUahBALNAghFmgQQizQIIRY+C9cNXNlJEjHoQAAAABJRU5ErkJggg==",CY=""+new URL("huiguang-3c5dfda5-balabala-1783008015343.png",import.meta.url).href,MY="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFPSURBVHgB7ddhbcMwEAXglyEoBEPoGARCIYTBymBhMAgrhDFoIZTBIATC21lxtGhdYieOW7u6T7L6x5HvfPXJBpRSSj0jko2MGqWTJL7tQMkkgSN/tSiRBG5cNQadjB1KI0GfeOsDJXHVmFKjFBLseSaRM0rg2q3PAbn7c8Cn2Dn5HnwJ7p3hWuSI/QHvFiRi5xrkhv+3W59P5ITz7danRi4YdsCn5NGOGdZufRo8kgSwi6zGIPoe9oI4bzIM4tkkjngExh3wqaoYrBRTkRbbslW5bzuWnTswnRorVFiB/dPVII1rVVWvWGjxX4t9qzRIZy9rpD34vH2+zrnIaN03dtj3+zXw27TPYvrvUxcXsMH8ZjRu7pw0z2JOt9sh+MU7GJCUwdZG1ejcwg03LP8oqa9RItvew9i325P7Tf6yY3/1GdbcQymllFJKKaUy9gO4eI9ILG1riwAAAABJRU5ErkJggg==",EY="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAABGCAYAAABxLuKEAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAA5BSURBVHgB7VxbjxxHFT516Znd9a537axDAhGJkQKCkEDCA5ECT0TwgBTxjgQviN/DD+BP8IgEAolAECQkcYAkCiEX2TGxY+9lrt1dF75T1T1T055ZO9u9thPtkdo909Ndl6/P+c6lak10KqdyKqdyKqdyKqdyKp8rEXQXxXvfqj8hhKe7JHcFmASQ+iwb31c+isM1vt8VgE4EmCVAiCWHpNv3b6kCgyJAPvl+oiB1DkwDlBSEWktU9VkN4mextBkchsgADb8bAaqBqcFKQeocoE6BqUBJgakBYQA0fwYYGhe04LnMQaLqM890NnEgYfi7jWe/Q1RQBKgGaaZF9y0wCSj1MdMMPoZEvQoQhaMnIlAMjhwRZXU7ZzBZzLBkBHoApQ9QxkQ5rjkAVJ6NwJU0B8hWjwYu6gqgToBpgCKTQ0ND+ls4TwAILqzhmjIF9YFIJjLqGWNkRlrjHMbiNRmttfUlFT4jC8QKHw82q5K1aBNAfQIgducalGpPJ+C0BibhlBQQtY8XDlXRUIv+Oj7n0Apwxrotyz70fksL8QVM4DFJ/itSyl3n3QU8l0shPoYNXYN6vEfSf2i8+hgojTeybAoNKgFwbqMGWbRZVPyDpucmdj8BU2uKqo4+E6uK5rPGgODcd8acxaC/pIT4IQD4Dp7+GkWTWjawgSX/qrP+RU/6j47MUGo9xs1jzH5SaQ+Dk+9G06oJuhOTagVMw4QCueLIBlFbAig4ztiSNpww2xjp93pK/gQ3f4Mqsr0D2Xfk/2Qd/UYo9TZMbKwyGlSmlQP0KWvOhag1M3DuF2CCpsDuM5BlvwbFFrTppNmEhpzD8QK05Od4qr/YhB9D98GvlFfX+FnQCG0s9EXifev9rwrn3si03gcCQXtwnmxGrjG0CE4rk9LUTlKy1ZhxjzlFxMmdAWwbNoLyPED5Ge7pJ+8iN879s/T+iifogfdlbFFkuKOfKXUBbT2FK+tVR4+Bl35BUv46n5pLPaUJrO3AOQ4eL9jSuUUibiXHBqYZyO1BY+BBJIPCnKJKOlMKs9MT8hlo0C8pgBK9hvH+KgD5O0Y/AmAMpAAgvbptXB8XxrxrhPior9QzAPnL1U9PAJyfukxcF4pK9GPZvVdo8KkmYVV9PrZ0pTF4f5SpGJ+wtvQttEU5t6u0ZvOpzcJbTx/kzv0DQJSsVYrduFwYhwefWCvl2Dk3nRrz0prWEog/wv3BOJ4GOM/mxtyASZXQFIOHjYxzYXBrrRGURMafVtoAMyNeuOYM2qKg8/1RCcIFKF7YLQz8OUH+sfoBjPjj3NrXMbtSk+gDkAwj34L27cAw1gIqgqZw0wMZIl85dYLGubOv9qRUMMmH0aOGlr0grHitAGyZWisRDzEwFqRvt+KLstSSP7vQGKFiNMu5j4Y9aWeCNzqnpHhSxIGGN2e9ewvvfD8Tcg3g9IHUdiYl4hixW0XCfCPCf3+zZFgk3cQ9hXHihpXiTeX9rogctNtT4slCZmxSQ3zna5xqqJs4zlcEzOZ+XAKWdAxJg7pPYpgvNypwQrgvEMl78RB+v1iDxwSLGX7E90rpGYQ1EOzjigO95AXFCYoLGcnH8XkTGtfXirR17ipAnVbtQSvFU6EvY/ommnDoXyX5VxvpooGQ70zjW8uECWeYidwGoz5Q3wcsP8S1AmaGuWICQu7I4EiWqryQwZvJXWgda4JgQkbKfbP6XUENdgDWjmWyL0vOteoX00ma0xqY81WWzG8azKcsmV5pEeWSY8JN3fM07Vd6fvTIIE9BzXYpguAUa533B/EnRpfWBKkNyxorBCeiQXPP3nkR7EhpA0zoeD8CE8wFLkIZC3+kmoMS9T9sg+xe/R0Mu26XOYJBhfcWtjFfD1Q0W19/nsXLvZitpyWQTy2tNaYWuE0JWxdaqdgmkhuMKp+RkaB1fC5BqFPcYOC2wdVHulMuMxzSvKxAbF58jm2Kwjrr7OrJt5pbZ8Cw6GSiFkEpVD9wQnx14lHmIAAGb0FD3Pg/XN5b1RbI+gD3XMa9AzxXyDjW3QoFCzd+TWpZqgS4LqUzYKrIk8uR0TUTDXFcTX5XCNMetSQ4JwJobs+QfwfXD/wtbXl+9m00ycAi6hc5nr0oYj2HJffWvmeRX5tQwlnUPN8oex5H2sQxoWOUGz1GziGnR+7igYwNma+Xk9L5d7US36ToTuGuxFfBoFcAznV2TajByJAWkHhICnk+NuoPEO98BE25ga97IKMxnnkQsc63aV7puzqy/oNeBi8HhA1CH8R9s3rM+XlqcM+SSPafnC6DcUNdlo/SB27xo9z6NxGxfhcuq851HkH8/5x37veOxCFMDRZBe6i7oBi1YBFTHwhXMOYbPaW+j/OD/AP3gQz7JTj0EfKLXPV0juKX4zEwqW92kECyHMuUmtFkVcBGlWEBnALF22Hh3e/weTh7FkEfPMnzoOgv4hsAEOAbcb1xHPJvuPc8gP0RHnu07gptvTE07m0EfTmi3rxETVRlWT6NfZqDOTD3zJRYHNS2hHvJKkCs8pqTw7GT9hCE2x8bxyXKP6xr9QOKNRYO0y/qSMavw6DewrXcxcoBhWRQyj6g/xY07euUvDzUYz4cGfdnBDgDmNcQGjfJ0B+vIvSq1YTtpIrXRtpyTHgrLsYmPDgD4y7G5STTvV6OyQ2FpLNQnUvgghy5wo9FVV+BSGjN0zgxB3GhalI1ywS7wcVyP3fFzFtXpsb9tvT2ak+oMZc+RQSU67+8ksDhb1r/vaeFqlAU2o5aozCaQmc0QcgineccBt7Ei5uoM7pxWb5ls0yuh1ovPSxiiYCFCXW7OqjGoq4bwBxHAPblnNwlFL2uKKn2MP1DAD21pZ6srYfab86xURlBae2RWFqTL1Wqi3S/HMZClQY4OYqxeYbyQXxtXpZey2lp37VK7K8L+WwmBRfC60W2W6K0anb78Gx/HVt7Cea1D4I5yBwNwS8ARk+he9OKz8LSyk6jtEkt5NjA8HxZqgFYZNmqH1WeuSZHgWpisVbkwY2Ih9e1sKjsi3FpXOYkvbIhpIX7fkJEMJfJ4cTavxSOPoA5jrW3I8G5qgJ/eT9CrxMfTWnKmrpVOQBasnx7HOnElHCIagmD3Q+TJXMOyrKaHPQHwdihBwNnLhSnHGotcuLcK8i2N+GhLi5pdzq19kVU+i4rL/axsjBADoF4hph0cdYTB5PF4KdAorCx75Lma9utpQtTSt8QxxIc01gedGDBEiUI4SWnhEqixBkIUYODrMTkXzuj9RYXnpLGfOncf6EGl4VQN+CZJkB6Aq1hUAZcfkDFbpJFTWETMnauLTUorRfdWgFTmVOdAQcXiVim5FnCS3AqTOCbTJbaO22gOWKAKhzqB24DvFMUXlxDqfOdNaU4OYx84/313Ps3OD9CYmWElANcO0RBeYLqdwEtHKlqyRbtT7fisktqQvcuwEulejOztWOA4vYqzeElVdYcqH2OItwY5TXwArhC0iEmfAMZxKTEehEmPgsA8eD7OFD+9Pu4Z8imI8ErYK4JYiQ2HwaFib5wi6uPna5dd5pdU7X74FxceOfAa7Ygz2+5NH6qlCp5kQ0aMQbrInbxe7CHf1XPj7HA9F5PAAwpJxyryJAwBmAZ4GlNuCD6opjveqj7bg1ILV0Bk3qB2fYMX3kp8EGOIhbMIIA0RqcFNGGEcvdIWD8syf2HeAHO+3/DxK7hHngg5EreF9AWeCLPMQrvfGDXXG5EbrG7i9rSqbQm3xUbDoNpbcUBl1NeoQxLHDp4D6fsFBWmPiLfEuYyRu32GkB52Tp/GcWoIY4c5oZcSTF/QFsAhI4RLQONYNJvL2pI89xauvBKTUk5JxxrMcEMOxJM1KACJoW37gb86pFxC8QmfxNxiWCMp+DRwTTIvr3iNlSuI6e49blLTvfndS4nAcwy4TfN0WBYNsU/TgcHhqURKQrOnxD4DOKdvJ6EQJkk4kAVch9XmWV/kVNmbdMJyEkAc2QRWoc4R1XaJHh1YUNy8CsJlsdkzCuSIWYc189wMlWsjmYlNcBps9CWjPP40uCXIwHpc+C2GIShnBK4X2MGD1QrAlj94CRUhoU137Gn+TRykqa0LC8M3krF4Iz3tPBCGu924J0QO/UzfE3OkuuVuxbEku91sNlaunLXTW2pd0GkYip3ywXzmSZUN4WVxOrrmbQt3Bt2NPSW50Bdx2Ez6UpjavsXjWu1pLEGEyi74b6PxaY9Jl8fNYiFl0puyLAHL65eZvMdU7Si/c7lpEypNhtVfTZVX+xduNLG4Ix43ZlNRQRemVX2uCJ3gN9GHAyuzZd2Q0xEtwLe7LcT6SqJZFmmNSw1QIFferHSFvbbYfL7GW9JAwgUTYifZyCQlNOA86wyApkn7ddVuqb4dFzUUk4qwGMQ6n0xdUDGEwrmkkUPFVbPTASCi+S8HJvxhkMTF/F5IW1SzE2vCUiagnQuJ+mVal6p44zaVdfgTItoRky8rBWijJoispgghj11vcVai0naWhXXdCJdApOaUpoW1N4k/RsAFtebAxW8SxLI8W+1ptXE29wBnhJ65yC1BuY2PJMCRLQIGk803U0epHerRjQBadZ106Mz6dqUmuWH5m9NYDQlkXDjXtO41y05p/fHRjr665OTIl+WELkm1+u9t7WH4nOR3Nt8nuhWs2mCMqscUsdy7B1HTVmRN6XbviQt7iRPry1LH9K/Q6onv4xXZuB3+cdcJxngsaRuO6TMtGhuR4X0Ta1Yde1EpDONYVlSzWtqTn2N6PZ/LLqKWJeaz339N5EsK8BhaYJzJ30vK10u9UD3PTC1rKgFC1oEhSezzJyaGuKXXI8Nflb+vHiZHKFFy3KrWx5vXvjM/kH6Kjn9LwzuUG4H1N0Eoin/B14zT4gj8tU+AAAAAElFTkSuQmCC",PY="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAnCSURBVHgB7d3tURtXGwbgR563AN4OtgToADrAFYRUYKjASgV2KrBTAUkF0AHuQOrATgUn53iXQBxE9LHfuq6ZM/J4BKPhz3Pv2fusIgAAAAAAAAAAAAAAgGlYBDALKaVP+eU8pu2PxWJxHUDnBACYiRwATvLLQ15VTNM6r7McAL4F0Lk3AcxCMzgvoh6kU7PO68Lwh/7YAYCZyTsBp1HvBExJufL/EkBv7ADAzDSD9Cam48bwB4CW5J2AZRq/ZQAA7coD9nMar9sABqMDADOW6pMBd3mdxrisQ+MfBqUDADPWDNi3Ma6TAevQ+IfB2QGAI5DqkwFlJ+AkhvX9qKLSHwD0JIeAqzQ8T/kDgL6lYU8GLAMAGEYa5mTAxwAAhpOH8UleD6k/q1SfRgAAhpQHctUM5j6GfxUAwDjkwXya19fUna+GPwCMUOr2ZMBlAADjlLo5GbAMAGDcUrsnAzT+AWAqUjsnAx4CAJiOdPjJgFVS+gOA6WlCwD4nAzT+AWDK8iC/TLvT+AeAqUu7nQxYBgAwD3mwf9xi+Gv8A8Dc5AF/98rw1/gHgDlK9RcHrV4Y/uX/qgAA5in9+2SA4Q8AxyAP/PNnAeA8AIDjkAf/tcY/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwGFSSpdlBQAwOXmGn+T1KXaVf+gq1d4HADAZeXZXea3Kil09CwDFhwAARi/P7NNm+Kc2AkDxUBJFAACjlOf0ux9mdysB4PsvEgIAYHzKLfuX5nbsakMAKL4qBwLAODyW/TbM7FYDwCPlQAAYUKrLfg+vzOpOAkChHAgAA0j/LPvtHADexGGuk3IgAPQqz92f8stdXlXs6dAAUJyWDyEEAED3mlvwn/M6iQO0EQCKKuoQcB4AQOvS05P9ltGCtgJAUUUdApQDAaBFzS572fK/ipa0GQAeLYUAAGhHKftFPfxPo0VdBICihIDbsl0RAMBe2ij7bdJVACjKw4KcEACAPbRV9tukywBQVFH3AlrdtgCAOWuz7LdJ1wGgqKLeCbgOAGCjxyf7RYtlv036CACPPigHAsDLnjX9e9k17zMAFMqBAPCDVH/JXrnyr6InfQeAQjkQABrN7vhtdFT222SIAFBUoRwIwJFrvlRvGQMYKgAUVSgHAnCEmsf6lvv9g83AIQPAI+VAAI5Gcwu83O8/jwGNIQAUyoEAzF7zpXm9lv02GUsAKJQDAZitPN/eRX3MbxQXu2MKAMW3AIB5+n+MyJgCwG95XSwWi3UAwMzk+bbMLxcxkovdsQSAX/If5iovOwAAzFaec/f55SyvdQxs6ABQBv7PTSoCgNlrdrrLTsCXGNCQAWAd9Zb/5wCAI1JCQF5lJ+DXGMhQAWAd9fAfNP0AwJDyHCwPAvolBjBEAPg9rzNlPwD4uxz4NnouB/YdAErZ762yHwA8yXPx+8Vx9FgO7DMA3Cj7AcDL+i4H9hEAytV+ud//MQCAjfosB3YdANZR3++/DwBgK32UA7sMAPeh7AcAe+m6HNhVAPg1f/ALZT8A2F+X5cAuAsBNs3UBABzoWTlwHS1qMwAo+wFAB5oQ0Go5sK0AsA5lPwDoTLmt3mY5sI0AcB/KfgDQi6YceBMHOjQAKPsBQM+a2+3dPDkwpXSVXqfoBwADyrO4ymv1yqxebfrZfXYAlP0AYASelQN/j7Zs2AFYlbQRAMCo5Pm83GUH4LVf9GMAeDD8AWC8yu35tgOA7X4AmIA8s0/TUy/goACwDABgMp6VA/cKAJclBAQAMDl5hp/k9SEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6XUqrKCgDgOOTBf5LXKq+H8u8AAOYvD/1P6cmnAADmLQ/89+nf3gcAME950L9Lm/0UAMC85AF/ml73tbwnAIB5aBr/q/TfynuqAACmLT01/rdV3utkAABMWR7mt2l3twEATFN6ufG/LScDAGBq0uuN/21dBwAwDem/G/+7cDIAAMYubd/431Y5HlgFADBOaffG/7ZWyckAABintF/jf1t3AQCMSzqs8b+tDwEAjENPw/+RkwEAMLQ8kM9T/84DGJVFAEcj1e38cm++in59y+tssVisAxgFAQCOxIDD/9E66hDwLYDBvQngWJTn9VcxnKr5DMAICABwBFLdxh/DE/rOk5MBANC91G/jf1tOBsDAdABgxvKgvYzxbrtfLBaL+wAGIQDATKW69PeQ11gfyetkAAxIBwBmKD01/sf8PP7y2e6SLw6CQdgBgBnKQ7Vc+U/la3m/5F2AswB6ZQcAZiaNp/G/rdPkZAAA7C+Ns/G/rfcB9MYtAJiJNO7G/7au8u2A3wLo3P8CmJOfY9r+DAAAAAAAAAAAAAAAAOCZvwCgkvxAcNS/iwAAAABJRU5ErkJggg==",RY="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAD/CAMAAABb2Q/2AAAAsVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+3mHKcAAAAO3RSTlMABQoPExgdISgxJTYsQDtTRUr+9vpOWXJdaWVhgIx2om2n6oiWmYTKr5G68J22eqvBfeHZ5c++1LPdxUM4ZWUAAAZvSURBVGjerdrZdpswFAXQmnk0EMB4Ajwbz2Mc1///Yb0SuLg1km66mtfsdRBXRyIP+fH205IURZZa7794h7KqKZKEkrqFCgVpOSpOKoaJljZWOm1VwUnTRUv7/0sbvc62r2FlgJOy0o6x0kVL30NJiUh0ZkfHZuLXGWj/PTNArzPu68hMr4/MVEGqMlJaWNkDKWGukM4IK70uTipq3NVBthASMoWb1CJS644cIoG2OJDIQUYlm4KDH7mWxDJoKfX+3iSyooxEMqRSyhVlJFJp9YY2SGZoiyGZkMh+YtPRN4eWDqQCckSl1CoxIxKkQTMVSWp+pyeUQY4WbSqftuG9S+kkqWupitwkgdZSe5VSo5SeMgOpiaWqmfuVb1BZUUbkU6pyHdokJSJPs0AoZcjU7WRBMhWgQjnkSqmW2dB3ailx5HAW1FJqzJRLOd3Gjo6R7cVTym+y9aecbr1KCjLdae7hMt0090yupBAq/yLld1lHapa7WMVEElqNnimnr1JiS3+Rxqal8aVCZZp3+FJ+ylnRBalSyperA1IGM7ScFwNbIJXvSSOY3/u2QaTSIKVXudp2uVIupW7Eq3kHLetMmSu3RQ8p8/XoVQJtGieVu55A0lfXHY9m6iqhQpkg5fhNtljySKSGkPNxry2SKpGdec6VciUtIvtIOV5nbQekypLKUx4ep1rKHNk9PPZIWdRSEcmTi5KDYjl0HatZSn/IO1Kag/E9E0m1kkVSSlUg++Mic02UvD8WCKkbZn/3ORVLrZSLb0kdIdf06brGkspT9tZf6T9KiSmL25Aj5Ve5Bml8VyqNUn2u8zP1cfJ2mQmlRuToeJnRp2v/TdpE+jaVKk86IH8iZfJAy/UjRcrdkUhLIC0iH1j5uMwDnFyec7TcBrYjkDrIrJI6RuYYaYK8YqRh2vvP61gkNSpPy69t0EbI9pDK+iDx5GUbU6kJ5OIyKQKc/LnZ4TKnZ5R0zHZ63qxxmatreItdkbQM011NwqPHk1WVcJIWxJ2dJzuQDl5aukjOr5O159oYOYmWT6ny5Sb6xMktSkI9fSp9jMw30VcHpCGW4QeRpki2vyM34bITtHmSFqSSPkaO8TKMvujT4WZiSZ3IYBx+XLoI6WKljZVOJQccqbxJhyeNSv4cBLRMfBnDPD8HMVIuqTQwmRjpx7BHF5GkVYoP8EZ9DyG9UkJBOdJ6le3/JB2okleA7OFlWVBmQ0C6IDfhF5UOS2oaLUjnXkqXJ+kWUTnCyTA6j7qwSSxJBw+yew8/zgmVhqaxpe91d7XUEXIQ+zRTZUnYokEpq41XBPKaVZKb2aeSbDxb0hukAzK8iCSMs5J72CS+hMzeGuSJSJsnYfAgP64nsp0Mqfwhh1Q6fDkqZTcWy1v4McHIAZWLpC5Tk4QqeThJNzP5jgzPC6iISPaTI8gpXxovstx4kYR1iiUUJDtGONnLHiDTPU/qpdx/W9KCsiQUuTuicnXqieWJyqFIxiCXYXRd0YIypUPlcBmGRMJHli+TWvIzB8liCeucLWiV2dKv5Ga2SKjUm6RGpFfJOZRJIPsZXk5LmdF7kSVJ6fbTz0p6bGnWcgu140lakPQzjCbbVCxPIEOBtF5kXhaUKeH2HA1XX7DOfLXvYeWJL6EgtewEzVKt5GJG5LiqcrM0XuWsklqjpKWjMgQ5EshsSjMPAul7IOdfUbQ5zKHKIC2uvEThBGTCl1C6LchNQWTMlynIj7DYTkG6PLmv5YAre/vVU2YCeVrlP4nMsfKep3A8GFIH2flL2oxMUuThbFzJfZ8ldQfkiMpos8tXWDkm0ufJxfwpT0J5OMM61wcoPUiDKRMiP4ic8WU3mW6pvEFBhbI4RyALjLxSOYfSs2VM5P0KTz9CQblykKQ5kdHxLpIZkVEUVrLNkC6VOyIf9y3IgCHNV7mD0nPlfjXekXUudzkcJLb0+iDXE5ycVXItkqdapgypUNk7zQ63/y2Hv+U4zVjSKmVxm8A8P29COS+Ov+WgUcog/VouK+nwJawTl0nlmitdpNRrWc8TLW2OpJOvukROh6pITZ33+q8STodpNUgFZFz2k3SenCPPfZctkOT+pKeDyCO5Q0CW/3vyJu3qZgC5Jrdi7Dram6xGT+9kuEOie135Ur4dOfLlOoOsLjCr/rzXki6U/nVBvkf0c1Qu809Z9w4+8GeYUnrqkWm+LvMXnJRTlwruvBIAAAAASUVORK5CYII=",NY=""+new URL("focus_bg-b6803e2d-balabala-1783008015343.png",import.meta.url).href,LY="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAMAAADDpiTIAAAAOVBMVEUAAAD///////////////////////////////////////////////////////////////////////8KOjVvAAAAEnRSTlMA3yDvvxBAn3CAYFCQzzCgj6+a/gWFAAAIxklEQVR42uzBgQAAAACAoP2pF6kCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGB27gRJcRiGAqi8O2sH3f+wM1XM1lOAHZwQKfnvBF3tjyxbBgAAAAAAAAAAAAAAAAAAAAAAAAAAAACAvfBPxkz+lro8xEBwMfyd87dumAkugx9xfhkswRXwUyb1CMH58UvTEgm0CjOVcYlLA4FCMTkOVQFABs4nLo5/ylTEdUxCP6BGyJ7vPBVxNd8TKBA6x3+EugCgDJxGTPyvnkp4HURAtOj5O18RAETgLKLn/7lQDgAicA7W8wN9OQCIwBmEhR/y5QAgAieQHT/mwj4BYJMJpIgTPxVLAXibwdRYhrDwC6kmANgHFBsc/7V+D+AWBpeDRws3LojFAKAI6BUdl4zFAKAIaBUWLnOFADRb8JL0INZwjUiv+MkYw00MtoFDZMdVRqpgY8zdbXL8Doc7gQMsXMnRCvPQ3RyvthB8lp24WqSV5v7L8DoTtoGPmg3XG+kNc+/RCIg1OK7nB3pP6G9cz+Hh6MdkruZzoAZ2TR3oCD6i40pujNTMfhkkQJSlemAbaBOhN0iAHImr+Egbqo1AIthZalj+tgggARIkrjBF2kFvkIDDpUMvZnuDBBwrcVkXaDe2QwKO1HGRt7QrO2EwcJhOxFiuNzgNHqM7/ON/Zz2XYDy8g0HCx7/2Khpzgc1ZJ2gcZ00pjPjOwKf/5WOgDwqjoDhewiRt18382kSwoUXet7Rmg8Pgx2SJ9dYaYUXpvAoNoA90iOD5FYc2YCPB8CtfdJgvfsXgGyPbWOReu3VoA/bXy13/UgLwQ8MbsEbw+hcS4LAJtEui17+QgBtBo174+hN1GArsyBqZ/f+/vrAJNGjYADwJ4XES2Mus4pgdDE4COzHS7n8fswZToV1kfk7UxH3GTGAP1qj5t2b0gTtI/NRIwozoAzdnNTSANY2goG5FlaTqX2qd/POqLlZNA3CXcRTcVtL2ifLa/mDZrIobgH9ZhxLwkQIg9td5M0rAdqzGqzWPErCZpOkE8JvFd8a3YmW/AVj/NkDcxYVwSVsHeBecytwKZNR1gHcZE4F9H4IZEm5SdXkllldaAIgiToIbsGoLAJHHSbBdUlsAiKKaCbZgRm8BeF4CHEGlQXEBIIrYA1olzQWAyOA2sJHTXACIMq4C2gxq3oE9FpyGh8yCJe0ldOQHfFaS3+M5fWPAQhvofI/Vrxb1X6V5rH6DUXcL+L0NdCli9VeatO8AROHX6o9Y/fXsGX5swzO7ERc/b+n17wBEA1b/bQlvqq7NqD8DQAt7hh0A3jfgGvXaRtWDQGjmlc8BoJFDC3BpM1qAaxvwnu7auhPcA8MP9u40yU0ghgIw6s2AWcy7/2EzNUmq8iMzeNwNSNb7jgCNpFYvVNh4ss63xEu3fYusAV3LrAF9K+ZuhaGm7pwE+NZzEuDbwMsVfFt5rNK3jQPAt2R+RzgdcSagIyeEA8A34X4w37gh0DkOAOe4FOAcTwXR+0ic0vjGpoZzbGo4xwHgHLtazrGp4RybGr4FNjV8K9zg6lvhTQe+cYezc9zh7NzGc66+zdzh7FvkjaeuLTzo7NudfSDfeNuRc7ztyLnIWaBrvPHSuZGTAN9unAT4JvivqSMXFrAGdG20//NDqpG4I9S1bP0H6OqUh6ns+RZ/v9SjPKKxCdTGEqCVXB7R3EJ6AM8ENJHLLVrcTDeCXYB6eUzRaBMtgdvBGrx9s48vgAsBVXKfTAfQGyeBh7RRo5EyMAv7wFVyhOkzFSMzQKUVphupwgxQqcByFT2CGaBWhOHtFGI7fqkwGQ4BI5gBqhXYDQECrgPUS2ZDwGh47CrSw+pyioArwQ3kCJu9gBEsAZsYYLIdGIQlYBsZgMHDdQNYAjayWnyUAQwArRQYLKdni6NWqwRzdeDIAHBKCIhKP6cgDAAtJWtJIDEANFVgKwn0YABoK5lKAgEMAOc9UlHXDsrCANDchC89OmUeDADt5WimDOjxJWEAqHusFm5bWmBmqNoy2/iwggBcBjxCgYVCMIuVSGXPBOjvByWwAjxKjvof7g02EpVNdwC69wYM+MCNYIfZlI+AAfpjlGk5qh4BA5gADlageAQMYAI43KR3BAz4xBthDpUFSvPsDTDRqLAuRHwn5e4SOeGDqTVrq3pAX60VBADXAM4x4VuydKdbBCwAzjND2efW4zezhxiNCYLvPXJ3ovyAxqz0zpao6JEHAVgAnuwOaEkDfcQfvA7oRD32pNCdICR80Nucel8D9sjYHa6PfP9XmbBrDt2hQgLf/3VW7BtCd5g8YN/a0WFW4MI80Ee+/6utuGwIlBl8/9dbcc0QKAl8/yqsuGAIlAS+fy0GPEfG3DWRe8FfXABSYMCT5Bba/LPuE+d/agx4WhpDq5/X6GlF0z3iedvLqeCe8LzI/v+JguAn0rjUdx717UnxLMz4GbmN4eUN6de3oGn/89wXt+G+dD8QwfJfrz7iFXHehr6U0HCQRZZ/lwiCKiIyp2dygKK9SPSvPKFafQ6YeP7jOqOgUm0OiOp/YvPewoo6lfOAjZ//j+kKAntn09n8Ua8uCHTfW5n9DVgEL3u9FzQz++vRy0EDIEfO/U14OQ90OxKjvxEvDoGXfgOT2Pr5xc6d4zAIAwEUDdjsm+D+h02X1pZFgcN7V5ivGRr8REUJFLxRFR3/pypI4JMSjb8m7VESQP4NGIz/6dqjuTWA7voJk0+/KsyxIIDkDYij8Vcjfw1k/pYeVru/MssR7gmgu4LLX6ecBj5pu9Vfr37dEgHw79r5aATwcu2yxiCAl9uX6YxBAC/X9cs4DWfcmkYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMC3PTgkAAAAABD0/7UrbAAAAAAAAAAAAAAAAAAAAAAAAHAKGbwwCsmp53wAAAAASUVORK5CYII=",IY=""+new URL("focus_move_bg-cf41417a-balabala-1783008015343.png",import.meta.url).href,bd=new Map;class aa{constructor(e={}){this.options=d3({includeChinaMap:!1},e),this.ready=null,this.init()}init(){const e=this.getSharedKey(),t=kY(e,()=>this.createAssetList());this.instance=t.instance,this.ready=t.ready}getSharedKey(){return this.options.includeChinaMap?"hongyuan-map-with-china":"hongyuan-map"}createAssetList(){let e=[{type:"Texture",name:"flyline",path:oS},{type:"Texture",name:"pathLine",path:oS},{type:"Texture",name:"pathLine2",path:yY},{type:"Texture",name:"pathLine3",path:vY},{type:"File",name:"china",path:Q7(G_)},{type:"File",name:"mapJson",path:Q7(Bj)},{type:"File",name:"mapStroke",path:Q7(G_)},{type:"Texture",name:"huiguang",path:CY},{type:"Texture",name:"rotationBorder1",path:bY},{type:"Texture",name:"rotationBorder2",path:TY},{type:"Texture",name:"guangquan1",path:xY},{type:"Texture",name:"guangquan2",path:AY},{type:"Texture",name:"chinaBlurLine",path:wY},{type:"Texture",name:"ocean",path:SY},{type:"Texture",name:"side",path:_Y},{type:"Texture",name:"arrow",path:MY},{type:"Texture",name:"point",path:EY},{type:"Texture",name:"focusArrows",path:PY},{type:"Texture",name:"focusBar",path:RY},{type:"Texture",name:"focusBg",path:NY},{type:"Texture",name:"focusMidQuan",path:LY},{type:"Texture",name:"focusMoveBg",path:IY}];return this.options.includeChinaMap&&e.push({type:"File",name:"chinaMap",path:Q7(zj)}),e}}function kY(n,e){if(bd.has(n))return bd.get(n);const t=new UH({cloneTextures:!0});t.addLoader(k4,"FileLoader");const i=t.loadAll(e()),r={instance:t,ready:i};return bd.set(n,r),r}const FY="/jsyApi",DY="at.6znxkywzdyqesp6td2lj4a28cp3adh19-2dpdtet5o3-0dq69nb-rtvf586ba".trim(),UY=["邛溪镇","刷经寺镇","安曲镇","龙日镇","江茸乡","查尔玛乡","瓦切镇","阿木乡","麦洼乡","色地镇"];function OY(n){return/^https?:\/\//.test(n)?n:`${FY}${n.startsWith("/")?n:`/${n}`}`}function BY(n){if((n==null?void 0:n.success)===!1||(n==null?void 0:n.code)!==void 0&&![0,200,"0","200"].includes(n.code)){const t=new Error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"视频监控接口请求失败");throw t.code=n==null?void 0:n.code,t}return r0(n)}function Ki(n,e,t=""){for(const i of e)if((n==null?void 0:n[i])!==void 0&&(n==null?void 0:n[i])!==null&&(n==null?void 0:n[i])!=="")return n[i];return t}function Dw(n){return DY||Ki(n,["token","accessToken","access_token"])}function zY(n=""){const e=String(n);return UY.find(i=>e.includes(i.replace(/[镇乡]$/,"")))||"红原县"}function GY(n=""){const e=String(n);return e.includes("养殖")?"养殖基地":e.includes("饲草")?"饲草基地":e.includes("种草")||e.includes("牧草")?"牧草基地":e.includes("虫情")?"虫情监测":e.includes("机场")?"机场周边":"重点点位"}function VY(n,e){const t=Ki(n,["hdPlayUrl","playUrl","url"]),i=String(t).match(/\/(\d+)(?:\.hd)?\.live/i);return i?i[1].padStart(2,"0"):String(e+1).padStart(2,"0")}function HY(){return new Date().toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit",hour12:!1})}function jY(n,e,t,i){const r=Ki(n,["name","title","deviceName"],`视频监控${e+1}`),a=Ki(n,["hdPlayUrl","hd_play_url","url"]),s=Ki(n,["playUrl","play_url"],a),o=Dw(n),l=!!(o&&(a||s)),u=t?Math.round(i/t*100):0;return{key:Ki(n,["id","number","deviceSerial"],`${r}-${e}`),title:r,town:zY(r),scene:GY(r),device:Ki(n,["number","deviceSerial","serialNumber"],`CAM-${String(e+1).padStart(3,"0")}`),channel:VY(n,e),cameraCount:t,status:l?"直播中":"离线",onlineRate:u,updateTime:HY(),operator:l?"萤石云 · 在线预览":"监控参数待同步",progress:l?100:0,image:Ki(n,["img","image","cover","snapshot"]),playUrl:s,hdPlayUrl:a,token:o,source:n}}function Uw(){return k3(this,arguments,function*(n={}){const e=yield Q6(OY("/api/home/monitorings"),{params:n,timeout:18e3}).then(BY),t=Array.isArray(e)?e:(e==null?void 0:e.rows)||(e==null?void 0:e.list)||[],i=t.filter(r=>Dw(r)&&Ki(r,["hdPlayUrl","playUrl","url"])).length;return t.map((r,a)=>jY(r,a,t.length,i))})}const WY="/openApi",Ow=756.37,Bw=291.82,$Y=Rw.map(qr);function zw(n){return/^https?:\/\//.test(n)?n:`${WY}${n.startsWith("/")?n:`/${n}`}`}function B5(n,e){return Q6(zw(n),{method:"POST",body:e?JSON.stringify(e):void 0,headers:{"Content-Type":"application/json"}})}function Y0(n,e){return Q6(zw(n),{params:e})}function O1(n,e){for(const t of e)if((n==null?void 0:n[t])!==void 0&&(n==null?void 0:n[t])!==null&&(n==null?void 0:n[t])!=="")return n[t]}function In(n){if(n==null||n==="")return;const e=Number(n);return Number.isNaN(e)?void 0:e}function c0(n){const e=In(n);if(e!==void 0)return Number.isInteger(e)?e:Number(e.toFixed(2))}function n6(n,e){const t=In(n),i=In(e);if(!(t===void 0||i===void 0||i===0))return t/i*100}function no(n,e,t="占比"){var r;const i=c0((r=O1(n,["areaPercent","area_percent","percent"]))!=null?r:n6(O1(n,["areaWanMu","value"]),e));return i===void 0?"":`${t} ${i}%`}function oi(n,e=""){const t=c0(O1(n,["areaPercent","area_percent","percent"]));return t===void 0?"":`${e}${t}%`}function YY(n,e=0){const t=O1(n,["name","title","label","zh","itemName","item_name"])||`指标${e+1}`,i=c0(O1(n,["value","num","count","area","acreage","total"])),r=O1(n,["unit","unitName","unit_name"])||"";return{key:O1(n,["id","key","code"])||`${t}-${e}`,name:t,value:i,unit:r,source:n}}function qY(n){return(Array.isArray(n)?n:(n==null?void 0:n.rows)||(n==null?void 0:n.list)||[]).map(YY).filter(t=>t.name)}function KY(n){const e=(n==null?void 0:n.core)||(n==null?void 0:n.summary)||n||{},t=((n==null?void 0:n.typeDistribution)||(n==null?void 0:n.typeStats)||[])[0]||{},i=((n==null?void 0:n.ecologicalPosition)||[])[0]||{};return[{key:"woodland-area",name:"林地总面积",value:c0(O1(e,["totalAreaWanMu","total_area_wan_mu","areaWanMu","area_wan_mu"])),unit:"万亩"},{key:"woodland-main-type-rate",name:`${O1(t,["name"])||"主导类型"}占比`,value:c0(O1(t,["areaPercent","area_percent","percent"])),unit:"%"},{key:"woodland-ecology-area",name:"生态重点区面积",value:c0(O1(i,["areaWanMu","value"])),unit:"万亩"}]}function XY(n){const e=(n==null?void 0:n.overview)||(n==null?void 0:n.summary)||n||{};return[{key:"grassland-total-area",name:"草地面积",value:Ow,unit:O1(e,["areaUnit","area_unit"])||"万亩"},{key:"basic-grassland-area",name:"基本草原",value:c0(O1(e,["basicAreaWanMu","basic_area_wan_mu","basicArea","basic_area"])),unit:O1(e,["areaUnit","area_unit"])||"万亩"},{key:"general-grassland-area",name:"一般草原",value:c0(O1(e,["generalAreaWanMu","general_area_wan_mu","generalArea","general_area"])),unit:O1(e,["areaUnit","area_unit"])||"万亩"}]}function q9(n,e){const r=({woodland:[{key:"woodland-area",name:"林地总面积",unit:"万亩"},{key:"woodland-public-area",name:"公益林面积",unit:"万亩"},{key:"woodland-public-rate",name:"公益林占比",unit:"%"}],grassland:[{key:"grassland-area",name:"草地面积",unit:"万亩"},{key:"basic-grassland",name:"基本草原",unit:"万亩"},{key:"general-grassland",name:"一般草原",unit:"万亩"}],wetland:[{key:"wetland-area",name:"湿地面积",unit:"万亩"},{key:"wetland-yield",name:"湿地生产力",unit:"万吨"},{key:"wetland-level-1-area",name:"1级湿地面积",unit:"万亩"}]}[e]||[]).map((a,s)=>{var o,l;return R3(d3(d3({},a),n[s]||{}),{name:((o=n[s])==null?void 0:o.name)||a.name,unit:((l=n[s])==null?void 0:l.unit)||a.unit})});return e==="wetland"&&r[0]&&(r[0]=R3(d3({},r[0]),{key:r[0].key||"wetland-area",name:"湿地面积",value:Bw,unit:r[0].unit||"万亩"})),r.length?r:n}function JY(n){return k3(this,null,function*(){let e;for(const t of n)try{return yield t()}catch(i){e=i}throw e||new Error("No request configured")})}function de(n=[],e={}){const{nameKeys:t=["name","townName","typeName"],valueKeys:i=["areaWanMu","value","totalAreaWanMu","basicAreaWanMu"],unit:r="万亩",max:a=Number.POSITIVE_INFINITY,extra:s}=e,o=n.map((l,u)=>{const d=c0(O1(l,i)),h={key:O1(l,["key","code","townCode"])||`${O1(l,t)||u}-${u}`,name:O1(l,t)||`第${u+1}项`,value:d,unit:r,percent:c0(O1(l,["percent","areaPercent","basicRatio","generalRatio"])),source:l};return s?R3(d3({},h),{extra:s(l)}):h}).sort((l,u)=>(Number(u.value)||0)-(Number(l.value)||0));return Number.isFinite(a)?o.slice(0,a):o}function io(n=[],e={}){const{nameKeys:t=["name"],valueKeys:i=["value"],unit:r,max:a=Number.POSITIVE_INFINITY,extra:s}=e;return de(n,{nameKeys:t,valueKeys:i,unit:r,max:a,extra:s})}function ZY(n=[],e={}){const{nameKeys:t=["grassMinType","name"],valueKeys:i=["acreage"],unit:r="万亩",max:a=Number.POSITIVE_INFINITY}=e,s=n.map((o,l)=>{const u=O1(o,i),d=c0(r==="万亩"?In(u)/1e4:u),h=O1(o,t)||`第${l+1}项`;return{key:O1(o,["key","code"])||`${h}-${l}`,name:h,value:d,unit:r,source:o}}).filter(o=>Number(o.value)>0).sort((o,l)=>(Number(l.value)||0)-(Number(o.value)||0));return Number.isFinite(a)?s.slice(0,a):s}function T0(n,e,t,i="rank",r={}){return d3({key:n,title:e,type:i,rows:t||[]},r)}function il(n=[],e=[],t={}){const{unit:i="万吨",max:r=Number.POSITIVE_INFINITY,showMuYieldExtra:a=!0}=t,s=new Map(e.map(o=>[o.areaName,o]));return de(n,{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:i,max:r,extra:o=>{const l=s.get(o.areaName),u=c0(O1(l,["yield","value"])),d=O1(l,["unit"])||"斤";return a&&u!==void 0?`亩产 ${u} ${d}`:""}})}function qr(n){return String(n||"").replace(/\s+/g,"").trim()}function B4(n=[]){const e=new Map($Y.map((t,i)=>[t,i]));return[...n].sort((t,i)=>{const r=e.get(qr(t==null?void 0:t.name)),a=e.get(qr(i==null?void 0:i.name));return r!==void 0&&a!==void 0?r-a:r!==void 0?-1:a!==void 0?1:0})}function Gw(n){const e=String(n||"");return{用于畜牧业生产的人工草地:"人工草地","对调节气候、涵养水源、保持水土、防风固沙具有特殊作用的草原":"生态调节草原",国家重点保护野生动植物生存环境的草原:"野生动植物栖息草原","草原科研、教学实验基地":"科研教学草原"}[e]||e}function rl(n){return Gw(n).replace(/\s+/g,"").replace(/类$/,"")}function al(n){const e=String(n||""),t=e.match(/level-([1-8])/);if(t)return t[1];const i=e.match(/([1-8])\s*级/);if(i)return i[1];if(/^[1-8]$/.test(e.trim()))return e.trim();const a=Object.entries({一:"1",二:"2",三:"3",四:"4",五:"5",六:"6",七:"7",八:"8"}).find(([s])=>e.includes(`${s}级`));return(a==null?void 0:a[1])||""}function Vw(n){return al(n==null?void 0:n.key)||al(n==null?void 0:n.name)}function Gl(n=[],e={}){const{nameKeys:t=["name","townName","areaName"],valueKeys:i=["areaWanMu","value","totalAreaWanMu","yield"],unit:r="万亩"}=e;return n.map((a,s)=>{const o=qr(O1(a,t)),l=c0(O1(a,i));return!o||l===void 0?null:{key:O1(a,["key","code","townCode"])||`${o}-${s}`,name:o,value:l,unit:O1(a,["unit"])||r,source:a}}).filter(Boolean).sort((a,s)=>(Number(s.value)||0)-(Number(a.value)||0))}function Ah(n=[],e={}){const{nameKeys:t=["townName","name","areaName"],valueKeys:i=["areaWanMu","value","totalAreaWanMu","yield"],unit:r="万亩"}=e,a=new Map;return n.forEach(s=>{const o=qr(O1(s,t)),l=In(O1(s,i));if(!o||l===void 0)return;const u=a.get(o)||{key:O1(s,["townCode","code"])||o,name:o,value:0,unit:O1(s,["unit"])||r,source:[]};u.value+=l,u.source.push(s),a.set(o,u)}),Array.from(a.values()).map(s=>R3(d3({},s),{value:c0(s.value)})).sort((s,o)=>(Number(o.value)||0)-(Number(s.value)||0))}function yi({topicKey:n,layerKey:e,title:t,unit:i="万亩",rows:r=[],note:a="",metricLabel:s=""}){const o=r.filter(l=>(l==null?void 0:l.name)&&l.value!==void 0).sort((l,u)=>(Number(u.value)||0)-(Number(l.value)||0)).map((l,u)=>R3(d3({},l),{unit:l.unit||i,rank:u+1}));return{status:o.length?"success":"empty",topicKey:n,layerKey:e,title:t,unit:i,metricLabel:s,note:a,rows:o}}function ro(s){return k3(this,arguments,function*({topicKey:n,layerKey:e,layerName:t,title:i,cqlFilter:r="",unit:a="万亩"}){const o=yield O4(t,{propertyName:["xiang","acreage"],cqlFilter:r,maxFeatures:2e5}),l=new Map;return((o==null?void 0:o.features)||[]).forEach(u=>{const d=u.properties||{},h=String(d.xiang||""),f=J4(h),v=In(d.acreage);if(!f||v===void 0)return;const _=l.get(f)||{key:h,name:f,value:0,unit:a};_.value+=v/1e4,l.set(f,_)}),yi({topicKey:n,layerKey:e,title:i,unit:a,rows:Array.from(l.values()).map(u=>R3(d3({},u),{value:c0(u.value)})),note:"按 GeoServer 图斑属性汇总到乡镇"})})}function QY(n,e,t="林地面积排行"){return k3(this,null,function*(){const i=r0(yield B5("/woodland/distribution"));return yi({topicKey:n,layerKey:e,title:t,unit:"万亩",rows:Gl((i==null?void 0:i.areaDistribution)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],unit:"万亩"})})})}function lS(n,e,t,i){return k3(this,null,function*(){const r=r0(yield Y0("/basic_grassland/overview"));return yi({topicKey:n,layerKey:e,title:i,unit:"万亩",rows:Gl((r==null?void 0:r.townStats)||[],{nameKeys:["name"],valueKeys:[t],unit:"万亩"})})})}function eq(n={},e=[],t=[]){const i=O1(n,t);if(i)return qr(i);const r=e.map(s=>O1(n,[s])).find(s=>s!==void 0),a=String(r||"").slice(0,9);return J4(a)}function tq(n,e,t,i){return k3(this,null,function*(){const r=(i==null?void 0:i.rankingTownCodeKeys)||(t==null?void 0:t.rankingTownCodeKeys)||["area_code","xiang","town_code"],a=(i==null?void 0:i.rankingTownNameKeys)||(t==null?void 0:t.rankingTownNameKeys)||["town_name","area_name","xiang_name"],s=(i==null?void 0:i.rankingAreaKeys)||(t==null?void 0:t.rankingAreaKeys)||["acreage","area_mu","area"],o=(i==null?void 0:i.rankingPropertyName)||[...r,...a,...s],l=yield O4(t.layerName,{propertyName:o,cqlFilter:i.cqlFilter,maxFeatures:2e5,timeout:25e3}),u=new Map;return((l==null?void 0:l.features)||[]).forEach(d=>{const h=d.properties||{},f=eq(h,r,a),v=In(O1(h,s));if(!f||v===void 0)return;const _=u.get(f)||{key:f,name:f,value:0,unit:"万亩"};_.value+=v/1e4,u.set(f,_)}),yi({topicKey:n,layerKey:e,title:`${i.name}面积排行`,unit:"万亩",metricLabel:i.name,rows:Array.from(u.values()).map(d=>R3(d3({},d),{value:c0(d.value),metricLabel:i.name})),note:"按选中图例过滤 GeoServer 图斑并汇总到乡镇"})})}function nq(n,e,t){return k3(this,null,function*(){const i=r0(yield Y0("/basic_grassland/overview"));return yi({topicKey:n,layerKey:e,title:`${t.name}面积排行`,unit:"万亩",metricLabel:t.name,rows:Gl((i==null?void 0:i.townStats)||[],{nameKeys:["name"],valueKeys:[t.rankingValueKey],unit:"万亩"}).map(r=>R3(d3({},r),{metricLabel:t.name}))})})}function Vl(n,e,t,i,r={}){const a=ar(i||[],r).map(s=>R3(d3({},s),{metricLabel:t.name}));return yi({topicKey:n,layerKey:e,title:`${t.name}面积排行`,unit:"万亩",metricLabel:t.name,rows:a})}function iq(n,e,t){return k3(this,null,function*(){const i=Vw(t);if(!i)return null;const r=r0(yield Y0("/grassland_grassland_level/distribution"));return Vl(n,e,t,r,{nameKeys:["areaName","area_name","name"],valueKeys:["acreage","areaWanMu","value"],filter:a=>al(O1(a,["level","name"]))===i})})}function rq(n,e,t){return k3(this,null,function*(){const i=rl(t.name);if(!i)return null;const[r,a]=yield Promise.all([ue(()=>k3(this,null,function*(){return r0(yield Y0("/grassland_grass_type/distribution"))})),ue(()=>k3(this,null,function*(){return r0(yield Y0("/grassland_grass_type/minTypeAreaDistribution"))}))]);return Vl(n,e,t,[...r||[],...a||[]],{nameKeys:["areaName","area_name","name"],valueKeys:["acreage","areaWanMu","value"],filter:s=>{const o=O1(s,["grassMinType","grass_min_type","grassType","grass_type","name"]);return rl(o)===i}})})}function aq(n,e,t){return k3(this,null,function*(){const i=Vw(t);if(!i)return null;const r=r0(yield Y0("/wetland_grassland_level/distribution"));return Vl(n,e,t,r,{nameKeys:["areaName","area_name","name"],valueKeys:["acreage","areaWanMu","value"],filter:a=>al(O1(a,["level","name"]))===i})})}function sq(n,e,t){return k3(this,null,function*(){const i=rl(t.name);if(!i)return null;const[r,a]=yield Promise.all([ue(()=>k3(this,null,function*(){return r0(yield Y0("/wetland_grass_type_copy/distribution"))})),ue(()=>k3(this,null,function*(){return r0(yield Y0("/wetland_grass_type_copy/minTypeAreaDistribution"))}))]);return Vl(n,e,t,[...r||[],...a||[]],{nameKeys:["areaName","area_name","name"],valueKeys:["acreage","areaWanMu","value"],filter:s=>{const o=O1(s,["grassMinType","grass_min_type","grassType","grass_type","name"]);return rl(o)===i}})})}function oq(n,e,t){return k3(this,null,function*(){if(!(t!=null&&t.key))return null;const i=Z4(n,e);return i?n==="grassland"&&e==="basic-grassland"&&t.rankingValueKey?nq(n,e,t):n==="grassland"&&e==="grassland-level"?iq(n,e,t):n==="grassland"&&e==="grassland-type"?rq(n,e,t):n==="wetland"&&e==="wetland-level"?aq(n,e,t):n==="wetland"&&e==="wetland-type"?sq(n,e,t):t.cqlFilter&&i.layerName?tq(n,e,i,t):null:null})}function ao(n,e,t,i,r="万吨"){return k3(this,null,function*(){const a=r0(yield Y0(t)),s=O1(a==null?void 0:a[0],["unit"])||r;return yi({topicKey:n,layerKey:e,title:i,unit:s,rows:Gl(a||[],{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:s})})})}function Vt(n=[],e=5){return n.slice(0,e)}function d4(n=[],e={}){var d,h;const{limit:t=5,minPercent:i=1,otherName:r="其他类型"}=e,a=n.filter(f=>(f==null?void 0:f.name)&&Number(f.value)>0).sort((f,v)=>(Number(v.value)||0)-(Number(f.value)||0)),s=a.reduce((f,v)=>f+(Number(v.value)||0),0);if(!s||a.length<=t)return a;const o=[],l=[];if(a.forEach((f,v)=>{const _=n6(f.value,s);v=i)?o.push(f):l.push(f)}),!l.length)return o;const u=l.reduce((f,v)=>f+(Number(v.value)||0),0);return[...o,{key:`${r}-${l.length}`,name:r,value:c0(u),unit:((d=l[0])==null?void 0:d.unit)||((h=a[0])==null?void 0:h.unit)||"万亩",extra:`${c0(n6(u,s))}%`}]}function Q4(n=[]){return n.reduce((e,t)=>e+(Number(t.value)||0),0)}function w6(n=[],e=Q4(n),t=""){return n.map(i=>{const r=c0(n6(i.value,e));return R3(d3({},i),{extra:r===void 0?i.extra:`${t}${r}%`})})}function uS(n){return Array.isArray(n==null?void 0:n.rows)&&n.rows.length>0}function y6(n=[],e=[],t=4){const i=[],r=new Set,a=o=>{!o||r.has(o.key)||(r.add(o.key),i.push(o))},s=[...n,...e];return s.filter(uS).forEach(a),s.filter(o=>o&&!uS(o)).forEach(a),i.slice(0,t)}function lq(n,e,t={}){return n&&d3(R3(d3({},n),{type:e}),t)}function _e(n=[]){const e=["bar","line","donut","column","structure","heat","peak","split"],t={bar:["heat","peak","column","structure"],line:["bar","column","heat"],donut:["structure","split","bar"],column:["peak","heat","bar","line"],structure:["split","donut","bar"],heat:["bar","column","structure"],peak:["column","bar","line"],split:["structure","donut","bar"]},i=new Set;return n.map(r=>{if(!(r!=null&&r.type)||["projectTable","iconMetric","metric","spotlight","rank","table","stackColumn"].includes(r.type))return r;if(!i.has(r.type))return i.add(r.type),r;const a=(t[r.type]||e).find(s=>!i.has(s))||r.type;return i.add(a),lq(r,a,{variant:a===r.type?r.variant:void 0})})}function cS(n=[],e={}){const{headCount:t=4,headName:i="重点区域",tailName:r="其他区域"}=e,a=n.filter(u=>(u==null?void 0:u.name)&&Number(u.value)>0);if(!a.length)return[];const s=a.slice(0,t),o=a.slice(t),l=(u,d)=>{var h,f;return{key:u,name:u,value:c0(d.reduce((v,_)=>v+(Number(_.value)||0),0)),unit:((h=d[0])==null?void 0:h.unit)||((f=a[0])==null?void 0:f.unit)||"万亩",extra:`${d.length}项`}};return[l(i,s),o.length?l(r,o):null].filter(u=>u&&Number(u.value)>0)}function Ar(n,e,t){var o,l,u,d;if(!t)return n;const i={grassland:"grassland-distribution",wetland:"wetland-distribution",woodland:"woodland-distribution"}[e],r=((o=n==null?void 0:n.layerPanels)==null?void 0:o[t])||((l=n==null?void 0:n.layerPanels)==null?void 0:l[i]);if(!r)return n;const a=(u=r.leftPanels)!=null&&u.length?r.leftPanels:n.leftPanels,s=(d=r.rightPanels)!=null&&d.length?r.rightPanels:n.rightPanels;return R3(d3({},n),{activeLayerKey:t||i,leftPanels:a,rightPanels:s,left:(a==null?void 0:a[0])||n.left,right:(s==null?void 0:s[0])||n.right})}function Hw(n,e=["areaWanMu","value","acreage","areaMu"]){for(const t of e){const i=O1(n,[t]),r=In(i);if(r===void 0)continue;const a=String(t).toLowerCase(),s=String(O1(n,["unit","areaUnit","area_unit"])||"");return a.includes("wanmu")||s==="万亩"?r:a.includes("mu")||s==="亩"?r/1e4:r}}function ar(n=[],e={}){const{nameKeys:t=["name","areaName","townName"],valueKeys:i=["areaWanMu","value","acreage","areaMu"],nameTransform:r=l=>l,filter:a,extra:s}=e,o=new Map;return n.forEach(l=>{if(a&&!a(l))return;const u=O1(l,t),d=r(u,l),h=Hw(l,i);if(!d||h===void 0)return;const f=o.get(d)||{key:O1(l,["key","code","townCode"])||d,name:d,value:0,unit:"万亩",source:[]};f.value+=h,f.source.push(l),o.set(d,f)}),Array.from(o.values()).map(l=>{const u=R3(d3({},l),{value:c0(l.value)});return s?R3(d3({},u),{extra:s(u)}):u}).filter(l=>Number(l.value)>0).sort((l,u)=>(Number(u.value)||0)-(Number(l.value)||0))}function dS(n){return String(n||"").replace(/草原/g,"湿地")}function uq(n={},e=[]){var o;const t=(n==null?void 0:n.unit)||O1(e==null?void 0:e[0],["unit"])||"万吨",i=(o=In(n==null?void 0:n.xc))!=null?o:Q4(e),r=In(n==null?void 0:n.edibleXc),a=i!==void 0&&r!==void 0?Math.max(i-r,0):void 0,s=e[0];return[{key:"wetland-yield-total",name:"鲜草总产",value:c0(i),unit:t,scaleValue:100},{key:"wetland-yield-edible",name:"可食鲜草",value:c0(r),unit:t,scaleValue:c0(n6(r,i))},{key:"wetland-yield-unavailable",name:"不可食鲜草",value:c0(a),unit:t,scaleValue:c0(n6(a,i))},{key:"wetland-yield-top-town",name:s!=null&&s.name?`${s.name}产量`:"最高乡镇产量",value:s==null?void 0:s.value,unit:(s==null?void 0:s.unit)||t,scaleValue:c0(n6(s==null?void 0:s.value,i))}].filter(l=>l.value!==void 0)}function jw({yieldSummary:n,townAreaRows:e,typeRows:t,levelRows:i,yieldRows:r,minTypeRows:a,muYieldRows:s,edibleYieldRows:o,edibleMuRows:l,typeTownRows:u,levelTownRows:d,minTownRows:h}){const f=T0("wetland-town-area","湿地面积分布",B4(e),"line",{span:1,variant:"distribution"}),v=T0("wetland-type","湿地类型结构",t,"donut",{span:1}),_=T0("wetland-level-proportion","湿地级占比",w6(i),"donut",{span:1}),b=T0("wetland-min-type","湿地优势小类",Vt(a,6),"bar",{span:1}),y=T0("wetland-yield-capacity","湿地产能结构",uq(n,r),"bar",{span:1,variant:"capacity"}),w=T0("wetland-yield","湿地生产力分布",B4(r),"line",{span:1}),U=T0("wetland-edible-yield","可食鲜草产量",Vt(o,6),"column",{span:1,variant:"slim"}),P=T0("wetland-mu-yield","湿地亩产效率",Vt(s,6),"bar",{span:1}),O=T0("wetland-level","湿地级别面积",i,"column",{span:1}),j=T0("wetland-level-town","1级湿地分布",Vt(d,6),"bar",{span:1,variant:"distribution"}),q=T0("wetland-type-town","湿地类型乡镇分布",Vt(u,6),"bar",{span:1,variant:"distribution"}),K=T0("wetland-edible-mu","可食鲜草亩产",Vt(l,6),"bar",{span:1}),c2=T0("wetland-min-town","优势小类乡镇分布",Vt(h,6),"bar",{span:1,variant:"distribution"}),S2=_e([f,v,_,b]),H=_e([U,w,P,y]);return{leftPanels:S2,rightPanels:H,left:S2[0],right:H[0],layerPanels:cq({townAreaPanel:f,typePanel:v,yieldCapacityPanel:y,yieldPanel:w,levelPanel:O,levelTownPanel:j,muYieldPanel:P,levelStructurePanel:_,typeTownPanel:q,minTypePanel:b,edibleYieldPanel:U,edibleMuPanel:K,minTownPanel:c2})}}function cq(n={}){const{townAreaPanel:e,typePanel:t,yieldCapacityPanel:i,yieldPanel:r,levelPanel:a,levelTownPanel:s,muYieldPanel:o,levelStructurePanel:l,typeTownPanel:u,minTypePanel:d,edibleYieldPanel:h,edibleMuPanel:f,minTownPanel:v}=n;return{"wetland-distribution":{leftPanels:_e([e,t,l,d].filter(Boolean)),rightPanels:_e([h,r,o,i].filter(Boolean))},"wetland-level":{leftPanels:_e([l,a,s,t].filter(Boolean)),rightPanels:_e([h,r,o,i].filter(Boolean))},"wetland-type":{leftPanels:_e([t,u,d,v].filter(Boolean)),rightPanels:_e([h,r,f,i].filter(Boolean))},"wetland-yield":{leftPanels:_e([e,t,l,d].filter(Boolean)),rightPanels:_e([h,r,o,i].filter(Boolean))}}}function dq(n={}){const{leftPanels:e=[],rightPanels:t=[]}=n,i={leftPanels:_e(e.filter(Boolean)),rightPanels:_e(t.filter(Boolean))};return{"grassland-distribution":i,"basic-grassland":i,"grassland-level":i,"grassland-type":i,"grassland-yield":i,"grassland-health":i}}function Ww({townRows:n=[],typeRows:e=[],scaleRows:t=[],protectionRows:i=[],ownershipRows:r=[],qualityRows:a=[],originRows:s=[],ageRows:o=[],canopyRows:l=[],forestTypeRows:u=[],manageLevelRows:d=[],regionRows:h=[],ownerRows:f=[],typeTownRows:v=[],qualityLevelRows:_=[],townConcentrationRows:b=cS(n,{headCount:4,headName:"前四乡镇",tailName:"其他乡镇"}),typeConcentrationRows:y=cS(e,{headCount:2,headName:"主要类型",tailName:"其他类型"})}){const w=T0("woodland-town","林地面积分布",B4(n),"line",{span:1,variant:"distribution"}),U=T0("woodland-type","林地类型结构",e,"donut",{span:1}),P=T0("woodland-protection","公益林保护等级",w6(i),"structure",{span:1}),O=T0("woodland-ownership","林地权属结构",w6(r),"structure",{span:1}),j=T0("woodland-quality","优势树种面积",Vt(a,6),"bar",{span:1}),q=T0("woodland-origin","林地起源结构",w6(s),"structure",{span:1}),K=T0("woodland-age","林龄组结构",Vt(o,6),"column",{span:1}),c2=T0("woodland-canopy","郁闭度结构",Vt(l,6),"column",{span:1}),S2=T0("woodland-area-scale","林地图斑规模",t,"column",{span:1}),H=T0("woodland-forest-type","森林类别结构",Vt(u,6),"bar",{span:1}),Z=T0("woodland-manage-level","管护等级分布",Vt(d,6),"bar",{span:1}),G2=T0("woodland-public-rank","公益林面积排行",Vt(h,6),"bar",{span:1,variant:"distribution"}),q2=T0("woodland-owner-rank","权属单位排行",Vt(f,6),"bar",{span:1}),C2=T0("woodland-type-town","乡镇类型构成",Vt(v,6),"bar",{span:1,variant:"distribution"}),E2=T0("woodland-quality-level","林地质量等级",w6(_),"donut",{span:1}),A2=T0("woodland-town-concentration","林地集中度",w6(b),"structure",{span:1}),X2=T0("woodland-type-concentration","类型集中度",w6(y),"structure",{span:1}),b2=_e(y6([w,U,P,O],[S2,q2,H,j])),J=_e(y6([j,q,K,c2],[S2,q2,H,G2,A2,X2]));return{leftPanels:b2,rightPanels:J,left:b2[0],right:J[0],layerPanels:hq({townPanel:w,typePanel:U,scalePanel:S2,protectionPanel:P,ownershipPanel:O,qualityPanel:j,originPanel:q,agePanel:K,canopyPanel:c2,forestTypePanel:H,manageLevelPanel:Z,regionPanel:G2,ownerPanel:q2,typeTownPanel:C2,qualityLevelPanel:E2,townConcentrationPanel:A2,typeConcentrationPanel:X2})}}function hq(n={}){const{townPanel:e,typePanel:t,scalePanel:i,protectionPanel:r,ownershipPanel:a,qualityPanel:s,originPanel:o,agePanel:l,canopyPanel:u,forestTypePanel:d,manageLevelPanel:h,regionPanel:f,ownerPanel:v,typeTownPanel:_,qualityLevelPanel:b,townConcentrationPanel:y,typeConcentrationPanel:w}=n;return{"woodland-distribution":{leftPanels:_e(y6([e,t,r,a],[i,d,v])),rightPanels:_e(y6([s,o,l,u],[i,v,f,y,w,b]))},"woodland-protection":{leftPanels:_e(y6([r,d,h,e],[t,a,i])),rightPanels:_e(y6([f,s,o,a],[v,t,i]))},"woodland-type":{leftPanels:_e(y6([t,e,_,i],[r,a,d])),rightPanels:_e(y6([s,o,r,a],[l,u,v,w]))},"woodland-quality":{leftPanels:_e(y6([s,o,l,u],[b,i,t])),rightPanels:_e(y6([e,t,r,a],[d,v,i]))},"woodland-ownership":{leftPanels:_e(y6([a,v,e,t],[i,r,s])),rightPanels:_e(y6([r,s,o,i],[d,l,u]))}}}function fq(n){const e=String(n||"").trim();return e.includes("未")&&e.includes("退")?"未退化":e.includes("轻")?"轻度退化":e.includes("中")?"中度退化":e.includes("重")?"重度退化":e||"未分级"}function pq(){return k3(this,null,function*(){const n=yield O4("ne:t_grassland_result_caodi",{propertyName:["area_code","degradation_level","acreage"],maxFeatures:2e5,timeout:25e3}),e=new Map,t=new Map;((n==null?void 0:n.features)||[]).forEach(s=>{const o=s.properties||{},l=fq(o.degradation_level),u=In(o.acreage);if(!l||u===void 0)return;const d=u/1e4;if(e.set(l,(e.get(l)||0)+d),l==="未退化")return;const h=String(o.area_code||"").slice(0,9),f=J4(h);f&&t.set(f,(t.get(f)||0)+d)});const i=["未退化","轻度退化","中度退化","重度退化","未分级"],r=Array.from(e.entries()).map(([s,o])=>({key:s,name:s,value:c0(o),unit:"万亩"})).filter(s=>Number(s.value)>0).sort((s,o)=>{const l=i.indexOf(s.name),u=i.indexOf(o.name);return l!==-1||u!==-1?(l===-1?99:l)-(u===-1?99:u):(Number(o.value)||0)-(Number(s.value)||0)}),a=Array.from(t.entries()).map(([s,o])=>({key:s,name:s,value:c0(o),unit:"万亩"})).filter(s=>Number(s.value)>0).sort((s,o)=>(Number(o.value)||0)-(Number(s.value)||0));return{levelRows:w6(r),townRows:a}})}function $w(n=[],e={},t=[]){var r;const i=(r=In(e==null?void 0:e.xc))!=null?r:Q4(t);return[n[0],n[1],n[2],{key:"grassland-yield-total",name:"鲜草产量",value:c0(i),unit:(e==null?void 0:e.unit)||"万吨"}].filter(a=>(a==null?void 0:a.value)!==void 0)}function mq(n=[]){const e=Q4(n);return n.filter(t=>t.name&&t.name!=="未退化"&&Number(t.value)>0).map(t=>R3(d3({},t),{extra:c0(n6(t.value,e))?`${c0(n6(t.value,e))}%`:""}))}function Yw(n={},e=[]){var o;const t=(n==null?void 0:n.unit)||O1(e==null?void 0:e[0],["unit"])||"万吨",i=(o=In(n==null?void 0:n.xc))!=null?o:Q4(e),r=In(n==null?void 0:n.edibleXc),a=i!==void 0&&r!==void 0?Math.max(i-r,0):void 0,s=e.find(l=>Number(l.value)>0);return[{key:"forage-total",name:"鲜草总产",value:c0(i),unit:t,scaleValue:100},{key:"forage-edible",name:"可食鲜草",value:c0(r),unit:t,scaleValue:c0(n6(r,i))},{key:"forage-unavailable",name:"不可食鲜草",value:c0(a),unit:t,scaleValue:c0(n6(a,i))},{key:"forage-top-town",name:s!=null&&s.name?`最高乡镇:${s.name}`:"最高乡镇产量",value:s==null?void 0:s.value,unit:(s==null?void 0:s.unit)||t,scaleValue:c0(n6(s==null?void 0:s.value,i))}].filter(l=>l.value!==void 0)}function qw(){return{levelRows:w6([{key:"none",name:"未退化",value:642.42,unit:"万亩"},{key:"light",name:"轻度退化",value:83.95,unit:"万亩"},{key:"middle",name:"中度退化",value:17.49,unit:"万亩"},{key:"heavy",name:"重度退化",value:13.09,unit:"万亩"}]),townRows:[{key:"qiongxi",name:"邛溪镇",value:14.72,unit:"万亩"},{key:"sedi",name:"色地镇",value:13.86,unit:"万亩"},{key:"anqu",name:"安曲镇",value:12.38,unit:"万亩"},{key:"wache",name:"瓦切镇",value:10.64,unit:"万亩"},{key:"chaerma",name:"查尔玛乡",value:9.53,unit:"万亩"},{key:"amu",name:"阿木乡",value:8.71,unit:"万亩"}]}}function hS(n,e){if(n==="grassland"){const t=q9([{key:"grassland-area",name:"草地面积",value:Ow,unit:"万亩"},{key:"basic-grassland",name:"基本草原",value:637.13,unit:"万亩"},{key:"general-grassland",name:"一般草原",value:119.31,unit:"万亩"}],n),i=de([{name:"色地镇",value:99.09,basicAreaWanMu:66.58},{name:"邛溪镇",value:93.01,basicAreaWanMu:70.6},{name:"安曲镇",value:90.08,basicAreaWanMu:73.49},{name:"阿木乡",value:86.3,basicAreaWanMu:77.31},{name:"查尔玛乡",value:80.8,basicAreaWanMu:79.04},{name:"瓦切镇",value:74.74,basicAreaWanMu:70.73},{name:"刷经寺镇",value:74.3,basicAreaWanMu:56.66},{name:"龙日镇",value:62.64,basicAreaWanMu:49.66},{name:"江茸乡",value:49.67,basicAreaWanMu:48.78},{name:"麦洼乡",value:45.82,basicAreaWanMu:44.28}],{nameKeys:["name"],valueKeys:["value"]}),r=de([{areaName:"邛溪镇",yield:38.88},{areaName:"色地镇",yield:37.78},{areaName:"安曲镇",yield:36.77},{areaName:"查尔玛乡",yield:33.21},{areaName:"瓦切镇",yield:32.62},{areaName:"阿木乡",yield:32.17},{areaName:"龙日镇",yield:24.43},{areaName:"刷经寺镇",yield:22.51},{areaName:"麦洼乡",yield:19.5},{areaName:"江茸乡",yield:19.43}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"万吨"}),a=d4([{key:"grazing",name:"重要放牧场",value:516.41,unit:"万亩"},{key:"general",name:"一般草原",value:119.31,unit:"万亩"},{key:"ecology",name:"生态调节草原",value:97.23,unit:"万亩"},{key:"mowing",name:"割草地",value:15.95,unit:"万亩"},{key:"improved",name:"改良草地",value:4.33,unit:"万亩"}],{limit:4,minPercent:3,otherName:"其他草原类型"}),s=de([{areaName:"瓦切镇",yield:798.39},{areaName:"查尔玛乡",yield:794.32},{areaName:"麦洼乡",yield:784.16},{areaName:"邛溪镇",yield:772.43},{areaName:"安曲镇",yield:770.9}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"斤"}),l=qw().levelRows,u=w6([{key:"level-3",name:"3级草原",value:200.9,unit:"万亩"},{key:"level-4",name:"4级草原",value:205.47,unit:"万亩"},{key:"level-5",name:"5级草原",value:385.42,unit:"万亩"},{key:"level-6",name:"6级草原",value:139.06,unit:"万亩"},{key:"level-7",name:"7级草原",value:3.68,unit:"万亩"},{key:"level-8",name:"8级草原",value:3.61,unit:"万亩"}]),d=w6([{key:"good",name:"较健康",value:231.32,unit:"万亩"},{key:"healthy",name:"健康",value:481.87,unit:"万亩"},{key:"subhealthy",name:"亚健康",value:23.69,unit:"万亩"},{key:"unhealthy",name:"不健康",value:20.27,unit:"万亩"}]),h=Yw({xc:297.29,edibleXc:192.26,unit:"万吨"},r),f=de([{areaName:"邛溪镇",yield:24.71},{areaName:"色地镇",yield:24.18},{areaName:"安曲镇",yield:23.48},{areaName:"查尔玛乡",yield:21.26},{areaName:"瓦切镇",yield:20.88},{areaName:"阿木乡",yield:20.59},{areaName:"龙日镇",yield:15.63},{areaName:"刷经寺镇",yield:14.41},{areaName:"麦洼乡",yield:12.48},{areaName:"江茸乡",yield:12.44}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"万吨"}),v=Xw({core:t,townRows:i,grassTypeRows:a,grassLevelRows:u,healthRows:d,productivityRows:s,edibleYieldRows:f,forageRows:h,degradationRows:l}),_=R3(d3({status:"fallback"},v),{top:$w(t,{xc:297.29,unit:"万吨"},r)});return Ar(_,n,e)}if(n==="wetland"){const t=q9([{key:"wetland-area",name:"湿地面积",value:Bw,unit:"万亩"},{key:"wetland-yield",name:"湿地生产力(鲜草)",value:108.84,unit:"万吨"},{key:"wetland-level-1-area",name:"1级湿地面积",value:213.22,unit:"万亩"}],n),i=d4([{name:"高寒草甸类",value:190.32,unit:"万亩"},{name:"山地草甸类",value:49.48,unit:"万亩"},{name:"低地草甸类",value:3.21,unit:"万亩"}],{limit:4,minPercent:1,otherName:"其他湿地类型"}),r=[{name:"1级湿地",value:213.22,unit:"万亩"},{name:"2级湿地",value:22.99,unit:"万亩"},{name:"3级湿地",value:6.42,unit:"万亩"},{name:"4级湿地",value:.36,unit:"万亩"},{name:"5级湿地",value:.02,unit:"万亩"}],a=de([{areaName:"色地镇",yield:21.32},{areaName:"瓦切镇",yield:17.49},{areaName:"安曲镇",yield:15.19},{areaName:"邛溪镇",yield:13.41},{areaName:"阿木乡",yield:10.37},{areaName:"龙日镇",yield:10.11},{areaName:"麦洼乡",yield:9.67},{areaName:"江茸乡",yield:5.78},{areaName:"刷经寺镇",yield:3.43},{areaName:"查尔玛乡",yield:2.08}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"万吨"}),s=[{name:"瓦切镇",value:944.22,unit:"斤"},{name:"安曲镇",value:913.28,unit:"斤"},{name:"麦洼乡",value:911.14,unit:"斤"},{name:"查尔玛乡",value:873.31,unit:"斤"},{name:"阿木乡",value:872,unit:"斤"}],o=[{name:"瓦切镇",value:36.38,unit:"万亩"},{name:"邛溪镇",value:29.29,unit:"万亩"},{name:"阿木乡",value:25.26,unit:"万亩"},{name:"龙日镇",value:24.59,unit:"万亩"},{name:"色地镇",value:24.62,unit:"万亩"}].sort((v,_)=>_.value-v.value),l=[{name:"矮生嵩草、杂类草型",value:108.35,unit:"万亩"},{name:"高山嵩草、矮生嵩草型",value:34.36,unit:"万亩"},{name:"西藏嵩草、杂类草型",value:32.37,unit:"万亩"},{name:"早熟禾、杂类草型",value:20.99,unit:"万亩"},{name:"苔草、杂类草型",value:14.63,unit:"万亩"}],u=de([{areaName:"色地镇",yield:2.82},{areaName:"邛溪镇",yield:2.71},{areaName:"瓦切镇",yield:2.64},{areaName:"麦洼乡",yield:1.76},{areaName:"安曲镇",yield:1.66}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"万吨"}),d=de([{areaName:"阿木乡",yield:509.83},{areaName:"瓦切镇",yield:509.52},{areaName:"邛溪镇",yield:356.74},{areaName:"色地镇",yield:287.23},{areaName:"麦洼乡",yield:281.27}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"斤"}),h=jw({core:t,yieldSummary:{xc:108.84,edibleXc:1.65,unit:"万吨"},townAreaRows:o,typeRows:i,levelRows:r,yieldRows:a,minTypeRows:l,muYieldRows:s,edibleYieldRows:u,edibleMuRows:d,typeTownRows:o,levelTownRows:o,minTownRows:o}),f=d3({status:"fallback",core:t,top:[t[0],t[1],t[2]]},h);return Ar(f,n,e)}if(n==="woodland"){const t=q9([{key:"woodland-area",name:"林地总面积",value:177.92,unit:"万亩"},{key:"woodland-public-area",name:"公益林面积",value:159.33,unit:"万亩"},{key:"woodland-public-rate",name:"公益林占比",value:89.55,unit:"%"}],n),i=de([{name:"刷经寺镇",value:59.4,percent:33.39},{name:"色地镇",value:27.97,percent:15.72},{name:"查尔玛乡",value:22.6,percent:12.7},{name:"阿木乡",value:19.37,percent:10.89},{name:"江茸乡",value:11.61,percent:6.53},{name:"邛溪镇",value:8.29,percent:4.66},{name:"瓦切镇",value:7.98,percent:4.49},{name:"安曲镇",value:7.47,percent:4.2},{name:"龙日镇",value:7.08,percent:3.98},{name:"麦洼乡",value:6.14,percent:3.45}],{nameKeys:["name"],valueKeys:["value"],extra:h=>`占比 ${c0(h.percent)}%`}),r=d4([{name:"灌木林地",value:114.78,unit:"万亩"},{name:"乔木林地",value:49.56,unit:"万亩"},{name:"灌丛沼泽",value:8.79,unit:"万亩"},{name:"其他林地",value:4.79,unit:"万亩"}],{limit:4,minPercent:1,otherName:"其他林地"}),u=Ww({townRows:i,typeRows:r,scaleRows:[{name:"15-150亩",value:96.91,unit:"万亩"},{name:"<15亩",value:39.99,unit:"万亩"},{name:"150-1500亩",value:30.81,unit:"万亩"},{name:"≥1500亩",value:10.21,unit:"万亩"}],protectionRows:[{name:"国家二级公益林",value:158.33,unit:"万亩",extra:"88.99%"},{name:"未划定",value:18.72,unit:"万亩",extra:"10.52%"},{name:"国家一级公益林",value:.88,unit:"万亩",extra:"0.49%"}],ownershipRows:[{name:"集体林地",value:172.19,unit:"万亩",extra:"96.78%"},{name:"国有或其他",value:5.73,unit:"万亩",extra:"3.22%"}],ownerRows:[{name:"壤口村",value:42.74,unit:"万亩",extra:"占比 24.02%"},{name:"查龙村",value:16.34,unit:"万亩",extra:"占比 9.18%"},{name:"茸塔玛村",value:14.96,unit:"万亩",extra:"占比 8.41%"},{name:"峨扎村",value:9.96,unit:"万亩",extra:"占比 5.6%"},{name:"三家寨村",value:9.57,unit:"万亩",extra:"占比 5.38%"}]}),d=d3({status:"fallback",core:t,top:[t[0],t[1],t[2]]},u);return Ar(d,n,e)}return{status:"empty",core:q9([],n),leftPanels:[],rightPanels:[],left:{title:"业务统计",rows:[]},right:{title:"业务统计",rows:[]}}}function Kw(n=[],e=["name"]){const t=new Map;return n.forEach(i=>{const r=O1(i,e);!r||t.has(r)||t.set(r,i)}),Array.from(t.values())}function ue(n,e=[]){return n().catch(()=>e)}function Td(n=[],e={}){const{nameKeys:t=["name","health","level"],valueKeys:i=["value","acreage","areaWanMu"],unit:r="万亩",nameTransform:a=l=>l,max:s=Number.POSITIVE_INFINITY}=e,o=de(n||[],{nameKeys:t,valueKeys:i,unit:r}).map(l=>R3(d3({},l),{name:a(l.name)}));return w6(o).filter(l=>Number(l.value)>0).slice(0,s)}function gq(n){const e=String(n||"");return/^\d+$/.test(e)?`${e}级草原`:e.includes("级")?e.replace(/草地/g,"草原"):e}function vq(n){const e=String(n||"");return{healthy:"健康",subhealthy:"亚健康",unhealthy:"不健康"}[e]||e}function Xw({core:n,townRows:e,grassTypeRows:t,grassLevelRows:i,healthRows:r,productivityRows:a,edibleYieldRows:s,forageRows:o,degradationRows:l}){const u=T0("grassland-town","草地面积分布",B4(e),"line",{span:1}),d=T0("grassland-productivity-town","草地生产力分布",B4(a),"line",{span:1}),h=T0("grassland-type-proportion","草原类占比",t,"donut",{span:1}),f=T0("grassland-edible-yield","可食鲜草产量分布",Vt(s,10),"column",{span:1,variant:"slim"}),v=T0("grassland-degradation","草地退化统计",mq(l),"structure",{span:1}),_=T0("grassland-health-proportion","草地健康占比",r,"rose",{span:1}),b=T0("grassland-level-proportion","草原级占比",i,"donut",{span:1}),y=T0("grassland-forage-capacity","饲草供给",o,"bar",{span:1,variant:"capacity"}),w=_e([u,h,v,b]),U=_e([f,d,_,y]);return{core:n,leftPanels:w,rightPanels:U,left:w[0],right:U[0],layerPanels:dq({leftPanels:w,rightPanels:U})}}function yq(n,e={}){const t=qY(n),i=Kw(e.typeRows||[],["name"]),r=e.yieldRows||[],a=e.levelRows||[],s=e.minTypeRows||[],o=e.edibleRows||[],l=e.edibleMuRows||[],u=e.typeDistributionRows||[],d=e.levelDistributionRows||[],h=e.minTypeDistributionRows||[],f=e.yieldSummary||{},v=d4(io(i,{nameKeys:["name"],valueKeys:["value"],unit:"万亩"}),{limit:4,minPercent:1,otherName:"其他湿地类型"}),_=il(r,e.muYieldRows||[],{showMuYieldExtra:!1}),b=io(e.muYieldRows||[],{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:"斤",max:5}),y=io(a,{nameKeys:["name"],valueKeys:["value"],unit:"万亩"}).map(G2=>R3(d3({},G2),{name:dS(G2.name)})),w=ZY(s),U=il(o,l,{showMuYieldExtra:!1}),P=io(l,{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:O1(l==null?void 0:l[0],["unit"])||"斤",max:5}),O=ar(u,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"]}),j=ar(u,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"],extra:G2=>{var q2;return`${((q2=G2.source)==null?void 0:q2.length)||0}类`}}),q=ar(d,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"]}),K=ar(d,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"],filter:G2=>dS(O1(G2,["level","name"])).startsWith("1级")}),c2=ar(h,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"],extra:G2=>{var q2;return`${((q2=G2.source)==null?void 0:q2.filter(C2=>Hw(C2,["acreage","areaWanMu","value"])>0).length)||0}型`}}),S2=q9(t,"wetland"),H=y.find(G2=>/^1级/.test(G2.name))||y[0],Z=jw({yieldSummary:f,townAreaRows:O,typeRows:v,levelRows:y,yieldRows:_,minTypeRows:w,muYieldRows:b,edibleYieldRows:U,edibleMuRows:P,typeTownRows:j,levelTownRows:K.length?K:q,minTownRows:c2});return d3({core:S2,top:[S2[0],S2[1],{key:"wetland-level-1-area",name:"1级湿地面积",value:H==null?void 0:H.value,unit:(H==null?void 0:H.unit)||"万亩"}].filter(Boolean)},Z)}function To(n,e){return k3(this,null,function*(){var t;try{if(n==="woodland"){const[i,r,a,s,o]=yield Promise.all([B5("/woodland/distribution").then(r0),ue(()=>k3(this,null,function*(){return r0(yield B5("/woodland/types"))}),{}),ue(()=>k3(this,null,function*(){return r0(yield B5("/woodland/protection"))}),{}),ue(()=>k3(this,null,function*(){return r0(yield B5("/woodland/quality"))}),{}),ue(()=>k3(this,null,function*(){return r0(yield B5("/woodland/ownership"))}),{})]),l=q9(KY(i),n),u=O1((i==null?void 0:i.core)||(i==null?void 0:i.summary)||{},["totalAreaWanMu","total_area_wan_mu","areaWanMu","area_wan_mu"]),d=O1((a==null?void 0:a.summary)||{},["publicAreaWanMu","public_area_wan_mu"]),h=[l[0],{key:"woodland-public-area",name:"公益林面积",value:c0(d),unit:"万亩"},{key:"woodland-public-rate",name:"公益林占比",value:c0((t=O1((a==null?void 0:a.summary)||{},["publicAreaPercent","public_area_percent"]))!=null?t:n6(d,u)),unit:"%"}].filter(Boolean),f=de((i==null?void 0:i.areaDistribution)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:q2=>no(q2,u)}),v=d4(de((r==null?void 0:r.typeStats)||(i==null?void 0:i.typeDistribution)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:oi}),{limit:4,minPercent:1,otherName:"其他林地"}),_=de((i==null?void 0:i.patchScale)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:q2=>no(q2,u)}),b=de((a==null?void 0:a.protectionLevels)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:oi}),y=de((s==null?void 0:s.speciesRanks)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],max:6,extra:oi}),w=de((o==null?void 0:o.ownerRanks)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],max:6,extra:q2=>no(q2,u)}),U=de((o==null?void 0:o.landOwnerships)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:oi}),P=de((a==null?void 0:a.forestTypes)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],max:6,extra:oi}),O=de((a==null?void 0:a.manageLevels)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],max:6,extra:oi}),j=de((a==null?void 0:a.regionRanks)||[],{nameKeys:["regionName","name","townName"],valueKeys:["areaWanMu","value"],max:6,extra:q2=>no(q2,d)}),q=de((s==null?void 0:s.origins)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:oi}),K=de((s==null?void 0:s.ageGroups)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:oi}),c2=de((s==null?void 0:s.canopyLevels)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:q2=>{const C2=c0(O1(q2,["avgCanopy","avg_canopy"]));return C2!==void 0?`均值 ${C2}`:oi(q2)}}),S2=de((s==null?void 0:s.qualityLevels)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:oi}),H=Ah((r==null?void 0:r.townComposition)||[],{nameKeys:["townName","name"],valueKeys:["areaWanMu","value"]}).slice(0,6),Z=Ww({townRows:f,typeRows:v,scaleRows:_,protectionRows:b,ownershipRows:U,qualityRows:y,originRows:q,ageRows:K,canopyRows:c2,forestTypeRows:P,manageLevelRows:O,regionRows:j,ownerRows:w,typeTownRows:H,qualityLevelRows:S2}),G2=d3({status:"success",core:l,top:h},Z);return Ar(G2,n,e)}if(n==="grassland"){const[i,r,a,s,o,l,u,d,h]=yield Promise.all([Y0("/basic_grassland/overview").then(r0),ue(()=>k3(this,null,function*(){return r0(yield Y0("/grassland_yield/yieldProportion"))}),{}),ue(()=>k3(this,null,function*(){return r0(yield Y0("/grassland_yield/distribution"))})),ue(()=>k3(this,null,function*(){return r0(yield Y0("/grassland_yield/muYieldDistribution"))})),ue(()=>k3(this,null,function*(){return pq()}),qw()),ue(()=>k3(this,null,function*(){return r0(yield Y0("/grassland_grass_type/areaProportion"))})),ue(()=>k3(this,null,function*(){return r0(yield Y0("/grassland_grassland_level/areaProportion"))})),ue(()=>k3(this,null,function*(){return r0(yield Y0("/grassland_health/proportion"))})),ue(()=>k3(this,null,function*(){return r0(yield Y0("/grassland_yield/edibleXcDistribution"))}))]),f=o.levelRows||[],v=q9(XY(i),n),_=il(a||[],s||[],{showMuYieldExtra:!1}),b=de(s||[],{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:O1(s==null?void 0:s[0],["unit"])||"斤"}),y=de((i==null?void 0:i.townStats)||[],{nameKeys:["name"],valueKeys:["totalAreaWanMu"]}),w=Td(Kw(l||[],["name"]),{nameKeys:["name"],valueKeys:["value","areaWanMu","acreage"],unit:"万亩",nameTransform:Gw}),U=Td(u||[],{nameKeys:["name","level"],valueKeys:["value","areaWanMu","acreage"],unit:"万亩",nameTransform:gq}),P=Td(d||[],{nameKeys:["health","name"],valueKeys:["acreage","value","areaWanMu"],unit:"万亩",nameTransform:vq}),O=il(h||[],[],{showMuYieldExtra:!1}),j=Xw({core:v,townRows:y,grassTypeRows:w,grassLevelRows:U,healthRows:P,productivityRows:b,edibleYieldRows:O,forageRows:Yw(r,_),degradationRows:f}),q=R3(d3({status:"success"},j),{top:$w(v,r,_)});return Ar(q,n,e)}if(n==="wetland"){const[i,r,a,s,o,l,u,d,h,f,v,_]=yield Promise.all([JY([()=>k3(this,null,function*(){return r0(yield Y0("/index/dataItem",{group:"wetland"}))}),()=>k3(this,null,function*(){return r0(yield Y0("/index/dataItem",{group:"wetland_grassland_level"}))})]),ue(()=>k3(this,null,function*(){return r0(yield Y0("/wetland_grass_type_copy/areaProportion"))})),ue(()=>k3(this,null,function*(){return r0(yield Y0("/wetland_yield/distribution"))})),ue(()=>k3(this,null,function*(){return r0(yield Y0("/wetland_yield/muYieldDistribution"))})),ue(()=>k3(this,null,function*(){return r0(yield Y0("/wetland_grassland_level/areaProportion"))})),ue(()=>k3(this,null,function*(){return r0(yield Y0("/wetland_grass_type_copy/minTypeAreaProportion"))})),ue(()=>k3(this,null,function*(){return r0(yield Y0("/wetland_yield/edibleXcDistribution"))})),ue(()=>k3(this,null,function*(){return r0(yield Y0("/wetland_yield/edibleXcMuDistribution"))})),ue(()=>k3(this,null,function*(){return r0(yield Y0("/wetland_grass_type_copy/distribution"))})),ue(()=>k3(this,null,function*(){return r0(yield Y0("/wetland_grassland_level/distribution"))})),ue(()=>k3(this,null,function*(){return r0(yield Y0("/wetland_grass_type_copy/minTypeAreaDistribution"))})),ue(()=>k3(this,null,function*(){return r0(yield Y0("/wetland_yield/yieldProportion"))}),{})]),b=yq(i,{typeRows:r,yieldRows:a,muYieldRows:s,levelRows:o,minTypeRows:l,edibleRows:u,edibleMuRows:d,typeDistributionRows:h,levelDistributionRows:f,minTypeDistributionRows:v,yieldSummary:_}),y=R3(d3({status:"success"},b),{left:b.leftPanels[0],right:b.rightPanels[0]});return Ar(y,n,e)}return hS(n,e)}catch(i){return R3(d3({},hS(n,e)),{status:"error",error:i})}})}function _q(n,e,t=null){return k3(this,null,function*(){try{const i=yield oq(n,e,t);return i||(n==="woodland"?e==="woodland-protection"?yield ro({topicKey:n,layerKey:e,layerName:"ne:t_woodland_2023",title:"公益林面积排行",cqlFilter:"gjgyl_bhdj IN ('1','2')"}).catch(()=>k3(this,null,function*(){const r=r0(yield B5("/woodland/protection")),a=Ah((r==null?void 0:r.regionRanks)||[],{nameKeys:["townName"],valueKeys:["areaWanMu"],unit:"万亩"});return yi({topicKey:n,layerKey:e,title:"公益林面积排行",unit:"万亩",rows:a,note:"按公益林村级榜单汇总到乡镇"})})):e==="woodland-type"?yield ro({topicKey:n,layerKey:e,layerName:"ne:t_woodland_2023",title:"林地类型面积排行"}).catch(()=>k3(this,null,function*(){const r=r0(yield B5("/woodland/types")),a=Ah((r==null?void 0:r.townComposition)||[],{nameKeys:["townName"],valueKeys:["areaWanMu"],unit:"万亩"});return yi({topicKey:n,layerKey:e,title:"林地类型面积排行",unit:"万亩",rows:a,note:"按林地类型组成汇总到乡镇"})})):e==="woodland-quality"?yield ro({topicKey:n,layerKey:e,layerName:"ne:t_woodland_2023",title:"林地质量面积排行",cqlFilter:"zl_dj IS NOT NULL"}):e==="woodland-ownership"?yield ro({topicKey:n,layerKey:e,layerName:"ne:t_woodland_2023",title:"林地权属面积排行",cqlFilter:"ld_qs IS NOT NULL"}):yield QY(n,e,"林地面积排行"):n==="grassland"?e==="basic-grassland"?yield lS(n,e,"basicAreaWanMu","基本草原面积排行"):e==="grassland-level"?yield ao(n,e,"/grassland_yield/muYieldDistribution","草地亩产排行","斤"):yield lS(n,e,"totalAreaWanMu","草地面积排行"):n==="wetland"?e==="wetland-level"?yield ao(n,e,"/wetland_yield/muYieldDistribution","湿地亩产排行","斤"):e==="wetland-type"?yield ao(n,e,"/wetland_yield/edibleXcDistribution","可食鲜草产量排行","万吨"):yield ao(n,e,"/wetland_yield/distribution","湿地生产力排行","万吨"):yi({topicKey:n,layerKey:e,title:"乡镇统计排行",rows:[]}))}catch(i){return{status:"error",topicKey:n,layerKey:e,title:"乡镇统计排行",unit:"",rows:[],error:i}}})}const jf="AlibabaPuHuiTi, Microsoft YaHei, Arial, sans-serif";function wd(n,e={}){return d3({trigger:"item",appendToBody:!0,confine:!1,backgroundColor:"rgba(5, 31, 51, 0.96)",borderColor:"rgba(0, 210, 255, 0.54)",borderWidth:1,padding:[7,10],textStyle:{color:"#e7fbff",fontFamily:jf,fontSize:12,lineHeight:18},extraCssText:"box-shadow:0 0 18px rgba(0,210,255,.2);z-index:2147483647!important;pointer-events:none;",formatter:n},e)}function xd(n={}){var t,i,r;const e=d3({textStyle:d3({fontFamily:jf,color:"rgba(225, 249, 255, 0.78)"},n.textStyle||{}),animation:(t=n.animation)!=null?t:!0,animationDuration:(i=n.animationDuration)!=null?i:900,animationDurationUpdate:(r=n.animationDurationUpdate)!=null?r:700,animationEasing:n.animationEasing||"cubicOut"},n);return Ch(e),e}function Ch(n){if(!n||typeof n!="object")return;["textStyle","axisLabel","nameTextStyle","label","axisName"].forEach(t=>{!n[t]||typeof n[t]!="object"||(n[t]=Sq(n[t]))}),Object.keys(n).forEach(t=>{const i=n[t];if(!(!i||typeof i!="object")&&!(t==="color"||t==="itemStyle"||t==="areaStyle"||t==="lineStyle")){if(Array.isArray(i)){i.forEach(Ch);return}Ch(i)}})}function Sq(n){const e=d3({fontFamily:n.fontFamily||jf},n);return typeof e.fontSize=="number"&&e.fontSize<10&&(e.fontSize=10),e}const sa=458230,Wf=450817,bq=sa-Wf;function Jw(n,e,t="count"){const i=n.reduce((s,o)=>s+(Number(o[t])||0),0);if(!i||!e)return n.map(s=>R3(d3({},s),{[t]:0}));const r=n.map(s=>R3(d3({},s),{[t]:Math.round((Number(s[t])||0)/i*e)})),a=e-r.reduce((s,o)=>s+(Number(o[t])||0),0);return a&&r[0]&&(r[0][t]+=a),r}const r9={herdsmanCount:129,grasslandArea:7563700,wetArea:2918200,yakCount:sa,projectCount:17,baseCount:12},Tq=[{zoneName:"色地镇",grasslandArea:1463044,yakCount:11704},{zoneName:"麦洼乡",grasslandArea:660352,yakCount:5283},{zoneName:"阿木乡",grasslandArea:1115947,yakCount:8928},{zoneName:"瓦切镇",grasslandArea:1111492,yakCount:8892},{zoneName:"查尔玛乡",grasslandArea:858500,yakCount:6868},{zoneName:"江茸乡",grasslandArea:644761,yakCount:5158},{zoneName:"龙日镇",grasslandArea:874234,yakCount:6994},{zoneName:"安曲镇",grasslandArea:1165634,yakCount:9325},{zoneName:"刷经寺镇",grasslandArea:62465,yakCount:500},{zoneName:"邛溪镇",grasslandArea:1166721,yakCount:9334}],wq=[{zoneName:"色地镇",grasslandArea:350788,wetArea:166983},{zoneName:"麦洼乡",grasslandArea:162198,wetArea:71501},{zoneName:"阿木乡",grasslandArea:305522,wetArea:89411},{zoneName:"瓦切镇",grasslandArea:264640,wetArea:128717},{zoneName:"查尔玛乡",grasslandArea:286159,wetArea:17664},{zoneName:"江茸乡",grasslandArea:175840,wetArea:52341},{zoneName:"龙日镇",grasslandArea:222346,wetArea:87046},{zoneName:"安曲镇",grasslandArea:304970,wetArea:107548},{zoneName:"刷经寺镇",grasslandArea:22107,wetArea:7002},{zoneName:"邛溪镇",grasslandArea:318316,wetArea:94587}],xq=[{month:"1月",count:458230,speed:0},{month:"2月",count:458860,speed:630},{month:"3月",count:459520,speed:660},{month:"4月",count:460180,speed:660},{month:"5月",count:461260,speed:1080},{month:"6月",count:462050,speed:790},{month:"7月",count:462850,speed:800},{month:"8月",count:463160,speed:310},{month:"9月",count:463520,speed:360},{month:"10月",count:463940,speed:420},{month:"11月",count:464350,speed:410},{month:"12月",count:464760,speed:410}],Zw=[{name:"色地镇",count:131983,devices:25},{name:"瓦切镇",count:126611,devices:24},{name:"安曲镇",count:99331,devices:20},{name:"邛溪镇",count:81727,devices:18},{name:"麦洼乡",count:78489,devices:16},{name:"龙日镇",count:66846,devices:15},{name:"阿木乡",count:64176,devices:14},{name:"查尔玛乡",count:47958,devices:11},{name:"江茸乡",count:34576,devices:9},{name:"刷经寺镇",count:30407,devices:8}],X6=Jw(Zw,Wf),Aq=new Map(Jw(Zw,sa).map(n=>[n.name,n.count])),p8=Tq.map(n=>R3(d3({},n),{yakCount:Aq.get(n.zoneName)||n.yakCount}));X6.reduce((n,e)=>n+e.count,0);const u8=sa;r9.yakCount=u8;function Cq(n,e){const t=n.map(r=>R3(d3({},r),{count:Math.round(e*r.ratio/100)})),i=e-t.reduce((r,a)=>r+a.count,0);return i&&t[1]&&(t[1].count+=i),t}Cq([{name:"成年母牛",ratio:47},{name:"其他成年牛",ratio:22},{name:"幼畜",ratio:16},{name:"育成牛",ratio:11},{name:"公牛",ratio:4}],u8);const $f=[{label:"屠宰出栏",value:1706,yoy:6},{label:"活畜交易",value:1043,yoy:-3},{label:"外运销售",value:624,yoy:12},{label:"其他出栏",value:299,yoy:-9}],Qw=[{name:"饲草储备库",value:7,capacity:10500,unit:"座"},{name:"加工企业",value:7,capacity:13e3,unit:"家"},{name:"工程数量",value:r9.projectCount,capacity:17,unit:"个"},{name:"基地数量",value:r9.baseCount,capacity:12,unit:"个"}],fS=Wf,Mq=bq,Eq=0,W6=sa;function ex(n=[],e=sa){const t=n.map(s=>{var o,l,u;return R3(d3({},s),{name:s.name||s.label||s.town||"",count:Number((u=(l=(o=s.count)!=null?o:s.value)!=null?l:s.total)!=null?u:0)})}).filter(s=>s.name&&Number.isFinite(s.count)&&s.count>=0),i=t.reduce((s,o)=>s+o.count,0);if(!i||!e)return t.map(s=>R3(d3({},s),{count:0}));const r=t.map(s=>R3(d3({},s),{count:Math.round(s.count/i*e)})),a=e-r.reduce((s,o)=>s+o.count,0);return a&&r[0]&&(r[0].count+=a),r}const Mh=ex(X6,W6).sort((n,e)=>e.count-n.count),Xi=Nq([{key:"adultCow",name:"成年母牛",ratio:47,source:"专家共识模型"},{key:"otherAdult",name:"其他成年牛",ratio:22,source:"专家共识模型"},{key:"calf",name:"幼畜(≤1岁)",ratio:16,source:"专家共识模型"},{key:"yearling",name:"育成牛(1-2岁)",ratio:11,source:"专家共识模型"},{key:"bull",name:"公牛",ratio:4,source:"专家共识模型"}],W6),pS=$f.map((n,e)=>R3(d3({},n),{color:["#ff8f6b","#30dcff","#ffd76c","#7aa7ff"][e%4]})),Ad=[{age:"≤1岁",cow:38586,bull:40861},{age:"1-2岁",cow:27124,bull:27549},{age:"2-4岁",cow:93355,bull:49265},{age:"4-8岁",cow:106679,bull:32655},{age:"8岁以上",cow:28671,bull:13485}],Sn=[{key:"2026",label:"2026年底",shortLabel:"2026",months:7,stock:462850,births:24680,outflow:19020,correction:-1040,structure:{adultCow:47,otherAdult:22,calf:16,yearling:11,bull:4}},{key:"2027",label:"2027年底",shortLabel:"2027",months:19,stock:468920,births:67420,outflow:55180,correction:-1550,structure:{adultCow:47,otherAdult:21,calf:17,yearling:11,bull:4}},{key:"2028",label:"2028年底",shortLabel:"2028",months:31,stock:475360,births:109680,outflow:90140,correction:-2410,structure:{adultCow:46,otherAdult:22,calf:17,yearling:11,bull:4}}],mS=[{name:"繁殖补充",value:86},{name:"出栏周转",value:62},{name:"死亡淘汰",value:48},{name:"母牛基础",value:91},{name:"幼畜存活",value:73}];function tx(n){return Sn.find(e=>e.key===n)||Sn[1]}function Pq(n){var r,a,s,o,l;const e=(n==null?void 0:n.structure)||{},t=[{key:"adultCow",name:"成年母牛",ratio:(r=e.adultCow)!=null?r:47},{key:"otherAdult",name:"其他成年牛",ratio:(a=e.otherAdult)!=null?a:22},{key:"calf",name:"幼畜(≤1岁)",ratio:(s=e.calf)!=null?s:16},{key:"yearling",name:"育成牛(1-2岁)",ratio:(o=e.yearling)!=null?o:11},{key:"bull",name:"公牛",ratio:(l=e.bull)!=null?l:4}].map(u=>R3(d3({},u),{count:Math.round(n.stock*u.ratio/100),source:"预测模型"})),i=n.stock-t.reduce((u,d)=>u+d.count,0);return i&&t[1]&&(t[1].count+=i),t}function Rq(n){const e=n.stock/W6,t=Mh.map((r,a)=>R3(d3({},r),{forecast:Math.round(r.count*e+(a%3-1)*n.months*18)})),i=n.stock-t.reduce((r,a)=>r+a.forecast,0);if(i){const r=t.reduce((a,s)=>s.count>a.count?s:a,t[0]);r.forecast+=i}return t.map(r=>R3(d3({},r),{change:r.forecast-r.count})).sort((r,a)=>a.forecast-r.forecast)}function nx(n){const e=n.months+1,t=Array.from({length:e},(s,o)=>o===0?"2026-06":o===n.months?n.label:`+${o}月`),i=t.map((s,o)=>{const l=o/n.months,u=Math.sin(o/2.6)*Math.sin(Math.PI*l)*Math.min(360,n.months*18);return Math.round(W6+(n.stock-W6)*l+u)}),r=t.map((s,o)=>Math.round(n.births/n.months*o)),a=t.map((s,o)=>Math.round(n.outflow/n.months*o));return{labels:t,stock:i,births:r,outflow:a}}function Nq(n,e){const t=n.map(r=>R3(d3({},r),{count:Math.round(e*r.ratio/100)})),i=e-t.reduce((r,a)=>r+a.count,0);return i&&t[1]&&(t[1].count+=i),t}function Lq(n){const e=new Map;return n.forEach(t=>{const i=t.name,r=e.get(i)||{name:i,count:0};r.count+=Number(t.count||0),e.set(i,r)}),[...e.values()].sort((t,i)=>i.count-t.count)}const r5=(n,e=2)=>{const t=Oi(10,e);return Math.round((Number(n)||0)*t)/t},ix=(n,e)=>n.reduce((t,i)=>t+(Number(i[e])||0),0),gS=n=>r5((Number(n)||0)/1e4,2),Iq=ix($f,"value"),kq=ix(p8,"yakCount"),Yf=u8,qf=r5(r9.grasslandArea/1e4,2),Fq=r5(r9.wetArea/1e4,2),Dq=177.92,Uq=r5(Yf/Math.max(qf,1),1),Oq=108.84,Bq=159.33,zq=[{key:"yak-count",zh:"牦牛数量",name:"牦牛数量",value:Yf,unit:"头",decimals:0},{key:"grassland-area",zh:"草地面积",name:"草地面积",value:qf,unit:"万亩",decimals:2},{key:"wetland-area",zh:"湿地面积",name:"湿地面积",value:Fq,unit:"万亩",decimals:2},{key:"woodland-area",zh:"林地面积",name:"林地面积",value:Dq,unit:"万亩",decimals:2}];wq.map(n=>{const e=p8.find(r=>r.zoneName===n.zoneName)||{},t=gS(n.grasslandArea),i=gS(n.wetArea);return{key:n.zoneName,name:n.zoneName,grasslandArea:t,wetlandArea:i,yakCount:e.yakCount||0,resourceTotal:r5(t+i,2),density:r5((e.yakCount||0)/Math.max(t+i,1),1)}}).sort((n,e)=>e.yakCount-n.yakCount);p8.map(n=>({key:n.zoneName,name:n.zoneName,value:n.yakCount,unit:"头",percent:r5(n.yakCount/Math.max(kq,1)*100,1)})).sort((n,e)=>e.value-n.value);const vS=$f.map(n=>({key:n.label,name:n.label,value:n.value,unit:"头",yoy:n.yoy,percent:r5(n.value/Math.max(Iq,1)*100,1)})),Gq=Math.max(...Qw.map(n=>Number(n.value)||0),1);Qw.map(n=>{const e=n.name.includes("储备")||n.name.includes("加工")?`${Number(n.capacity||0).toLocaleString("zh-CN")}吨`:"已接入";return{key:n.name,name:n.name,value:n.value,unit:n.unit,capacity:n.capacity,capacityNote:e,percent:r5((Number(n.value)||0)/Gq*100,1)}});var lb,ub;(lb=vS[0])!=null&&lb.value,(ub=vS[1])!=null&&ub.value,r9.baseCount+r9.projectCount;const W5=""+new URL("live-scene-1-786cdd0a-balabala-1783008015343.png",import.meta.url).href;const Vq={class:"home-dashboard"},Hq={class:"home-layer-tools"},jq={class:"home-layer-tree-panel"},Wq={class:"home-layer-tree-list"},$q=["onClick"],Yq={key:0,class:"home-layer-tree-children"},qq=["onClick"],Kq={class:"home-layer-tree-legend"},Xq=["disabled","title","onClick"],Jq={class:"home-layer-legend-name"},Zq={key:0,class:"home-layer-legend-check"},Qq={key:1,class:"home-layer-tree-empty"},eK={class:"home-left home-side-stack"},tK={class:"home-right home-side-stack"},nK={key:0,class:"home-video-monitor"},iK=["disabled"],rK={key:0,class:"home-video-scan"},aK={key:1,class:"home-video-play"},sK={key:2,class:"home-video-loading"},oK={key:3,class:"home-video-error"},lK={class:"home-video-point-name"},uK=["disabled"],yS=186,cK=12e3,dK={__name:"index",props:{active:{type:Boolean,default:!0}},emits:["module-stats","loading-progress","map-ready"],setup(n,{emit:e}){const t=n,i=e,r=x3(null),a=x3(null),s=x3({}),o=new Map;let l=null,u=!1,d=null,h=null,f=null,v=!1,_=0,b=null,y=null,w="",U=!1;const P=x3(0),O=x3([]),j=x3(0),q=x3(!1),K=x3(!1),c2=x3(""),S2=`home-video-player-${Math.random().toString(36).slice(2)}`,H=["#30dcff","#27f0c0","#ffd76c","#7aa7ff","#ff8f6b","#a6f06d"],Z=yS,G2=Z,q2=tx("2028"),C2=nx(q2),E2="at.6znxkywzdyqesp6td2lj4a28cp3adh19-2dpdtet5o3-0dq69nb-rtvf586ba".trim(),A2=[...Yr.map(({key:g3,name:W3,color:Z3})=>({key:g3,name:W3.replace("资源",""),color:Z3})),...Lw.map(({key:g3,name:W3,color:Z3})=>({key:g3,name:"牦牛",color:Z3}))],X2=x3(""),b2=x3(""),J=x3(""),p2=x3(""),N2=z2(()=>Un(X2.value)),e3=z2(()=>A2.map(g3=>R3(d3({},g3),{layers:Un(g3.key)}))),h3=z2(()=>J.value&&N2.value.find(g3=>g3.key===J.value)||null),I2=z2(()=>{var g3;return((g3=h3.value)==null?void 0:g3.legends)||[]}),n2=z2(()=>I2.value.filter(Jt).length>1),P2=z2(()=>I2.value.length===1),Z2=z2(()=>{var g3;return(((g3=h3.value)==null?void 0:g3.legends)||[]).find(W3=>W3.key===p2.value)||null}),f3=z2(()=>{var W3;const g3=h3.value;return g3?(W3=Z2.value)!=null&&W3.cqlFilter?R3(d3({},g3),{cqlFilter:Z2.value.cqlFilter,activeLegend:Z2.value,name:Z2.value.name||g3.name}):g3:null}),v3=z2(()=>_1(Xi.length)),O3=z2(()=>_1(Sn.length)),H3=z2(()=>_1(C2.labels.length)),F2=[{key:"fallback-video-1",title:"色地镇牧场入口监控",town:"色地镇",scene:"牧道卡口",device:"HY-CAM-018",channel:"01",cameraCount:6,status:"直播中",onlineRate:98,updateTime:"12:18",operator:"智能巡检 · 重点区域",progress:86,image:W5,playUrl:"",hdPlayUrl:"",token:E2},{key:"fallback-video-2",title:"瓦切镇草场巡护监控",town:"瓦切镇",scene:"草场巡护",device:"HY-CAM-026",channel:"02",cameraCount:4,status:"直播中",onlineRate:96,updateTime:"12:16",operator:"远程巡护 · 轮巡中",progress:74,image:W5,playUrl:"",hdPlayUrl:"",token:E2},{key:"fallback-video-3",title:"邛溪镇核心区监控",town:"邛溪镇",scene:"核心牧区",device:"HY-CAM-031",channel:"03",cameraCount:5,status:"直播中",onlineRate:97,updateTime:"12:14",operator:"视频联动 · 在线",progress:91,image:W5,playUrl:"",hdPlayUrl:"",token:E2}],L3=z2(()=>{const g3=O.value.length;return g3?q.value?j.value%g3:(P.value+j.value)%g3:0}),C3=z2(()=>O.value[L3.value]||F2[0]),U3=z2(()=>[o1("grassland","grassland-town"),o1("grassland","grassland-type-proportion"),o1("wetland","wetland-yield"),o1("woodland","woodland-type")].filter(Boolean).map((g3,W3)=>H1(g3,`forest-grass-wet-${W3}`))),F=z2(()=>[{key:"home-video-monitor",title:"牧场实时监控",type:"video",height:G2,live:C3.value},{key:"yak-structure",title:"畜群结构占比",height:Z,option:r1.value},{key:"yak-three-year-forecast",title:"未来三年牦牛预测",height:Z,option:I3.value},{key:"yak-forecast-trend",title:"未来存栏趋势",height:Z,option:T2.value}]),r1=z2(()=>xd({animation:!0,animationDuration:900,animationDurationUpdate:700,animationEasing:"cubicOut",color:H,tooltip:wd(g3=>`${g3.name}
占比:${g3.percent}%
估算数量:${L0(g3.value)}头`),legend:{orient:"vertical",right:0,top:"middle",itemWidth:8,itemHeight:8,itemGap:5,formatter(g3){const W3=Xi.find(Z3=>Z3.name===g3);return W3?`${g3} ${J1(W3.count)}头`:g3},textStyle:{color:"rgba(222, 250, 255, 0.78)",fontSize:10}},series:[{name:"畜群结构",type:"pie",selectedMode:"single",selectedOffset:8,radius:["36%","62%"],center:["30%","54%"],avoidLabelOverlap:!0,label:{color:"#fff",fontSize:10,formatter:"{d}%"},labelLine:{length:7,length2:4,lineStyle:{color:"rgba(223, 250, 255, 0.35)"}},itemStyle:{borderColor:"rgba(3, 18, 31, 0.92)",borderWidth:3},emphasis:{scale:!0,scaleSize:8,itemStyle:{shadowBlur:16,shadowColor:"rgba(48, 220, 255, 0.58)"}},data:Xi.map((g3,W3)=>({name:g3.name,value:g3.count,selected:W3===v3.value}))}]})),I3=z2(()=>xd({animation:!0,animationDuration:1100,animationDurationUpdate:900,animationEasing:"cubicOut",color:["#30dcff"],tooltip:R3(d3({},wd()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(g3){const W3=Sn[g3[0].dataIndex];return`${W3.label}
预测存栏:${L0(W3.stock)}头`}}),grid:{left:42,right:18,top:16,bottom:24},xAxis:{type:"category",data:Sn.map(g3=>g3.shortLabel),axisLabel:{color:"rgba(223, 250, 255, 0.76)",fontSize:11},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.26)"}},axisTick:{show:!1}},yAxis:{type:"value",min(g3){return Math.max(0,Math.floor(g3.min/1e4)*1e4)},axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:10,formatter:J1},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}}},series:[{name:"预测存栏",type:"bar",barWidth:24,data:Sn.map((g3,W3)=>({value:g3.stock,itemStyle:{borderRadius:[9,9,1,1],color:new yn(0,0,0,1,[{offset:0,color:W3===O3.value?"#ffd76c":"#30dcff"},{offset:.72,color:W3===O3.value?"rgba(255, 215, 108, 0.7)":"rgba(48, 220, 255, 0.62)"},{offset:1,color:W3===O3.value?"rgba(255, 215, 108, 0.1)":"rgba(48, 220, 255, 0.08)"}]),shadowBlur:W3===O3.value?16:8,shadowColor:W3===O3.value?"rgba(255, 215, 108, 0.56)":"rgba(48, 220, 255, 0.28)"}})),itemStyle:{borderRadius:[9,9,1,1],color:new yn(0,0,0,1,[{offset:0,color:"#30dcff"},{offset:.72,color:"rgba(48, 220, 255, 0.62)"},{offset:1,color:"rgba(48, 220, 255, 0.08)"}])},label:{show:!0,position:"top",color:"#ffffff",fontSize:10,formatter:({value:g3})=>J1(g3)}}]})),T2=z2(()=>xd({animation:!0,animationDuration:1200,animationDurationUpdate:900,animationEasing:"cubicOut",color:["#30dcff","#ffd76c","#ff8f6b"],tooltip:R3(d3({},wd()),{trigger:"axis"}),legend:{top:2,right:2,itemWidth:10,itemHeight:7,itemGap:7,textStyle:{color:"rgba(222, 250, 255, 0.76)",fontSize:10}},grid:{left:42,right:32,top:30,bottom:24},xAxis:{type:"category",boundaryGap:!1,data:C2.labels,axisLabel:{color:"rgba(223, 250, 255, 0.62)",fontSize:10,interval:4},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.28)"}},axisTick:{show:!1}},yAxis:[{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:10,formatter:J1},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}}},{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.48)",fontSize:10,formatter:J1},splitLine:{show:!1}}],series:[l0("预测存栏",C2.stock,"#30dcff",0,!0,H3.value),l0("繁殖补充",C2.births,"#ffd76c",1,!1,H3.value),l0("出栏扣减",C2.outflow,"#ff8f6b",1,!1,H3.value)]}));Fn(()=>{i("module-stats",{moduleKey:"home",items:zq}),o2()}),a6(()=>{var g3,W3;u=!0,a1(),W2(),_2(),o.clear(),(W3=(g3=r.value)==null?void 0:g3.destroyMap)==null||W3.call(g3)}),Z0(L3,()=>{if(!q.value&&!K.value&&!f){c2.value="";return}a1({resetError:!0})}),Z0(J,()=>{p2.value=""}),Z0(()=>t.active,g3=>{var W3,Z3,e0,y2;g3?((Z3=(W3=r.value)==null?void 0:W3.resume)==null||Z3.call(W3),i2(),U||u2()):((y2=(e0=r.value)==null?void 0:e0.pause)==null||y2.call(e0),W2(),_2(),a1({resetError:!0}))});function o2(){var W3,Z3,e0;l=new aa,i("loading-progress",{progress:0}),(Z3=(W3=l.instance)==null?void 0:W3.on)==null||Z3.call(W3,"onProgress",(y2,W,x2)=>{i("loading-progress",{progress:Math.floor(W/(x2||1)*100),path:y2,itemsLoaded:W,itemsTotal:x2})});const g3=(y2=0)=>k3(this,null,function*(){var r3,o3,u3;if(u)return;yield ft();const W=r.value;if(!!((r3=W==null?void 0:W.loadMap)!=null&&r3.call(W,l)||(o3=W==null?void 0:W.hasMap)!=null&&o3.call(W))){i("loading-progress",{progress:100}),i("map-ready"),u2(),t.active&&((u3=W.play)==null||u3.call(W));return}if(y2<24){window.setTimeout(()=>g3(y2+1),120);return}i("map-ready"),u2()});(e0=l.ready)==null||e0.then(g3).catch(()=>{i("map-ready"),u2()})}function u2(){W2();const g3=()=>{y=null,w="",!(u||!t.active)&&(U=!0,A1(),s3(),t.active&&i2())};if(typeof window.requestIdleCallback=="function"){w="idle",y=window.requestIdleCallback(g3,{timeout:1800});return}w="timeout",y=window.setTimeout(g3,650)}function W2(){y&&(w==="idle"&&typeof window.cancelIdleCallback=="function"?window.cancelIdleCallback(y):window.clearTimeout(y),y=null,w="")}function Y2(g3,W3){g3&&(W3?o.set(g3,W3):o.delete(g3))}function t2(g3){a.value=g3||null}function i2(){!t.active||u||(_2(),d=window.setInterval(V2,2600),h=window.setTimeout(V2,800))}function _2(){d&&(window.clearInterval(d),d=null),h&&(window.clearTimeout(h),h=null)}function V2(){u||!t.active||(h=null,P.value+=1,E1(),U2(),q3())}function s3(){return k3(this,null,function*(){try{const g3=yield Uw();if(u)return;O.value=g3.length?g3:F2}catch(g3){if(u)return;O.value=F2,c2.value="监控接口暂不可用",window.setTimeout(()=>{c2.value==="监控接口暂不可用"&&(c2.value="")},2400)}})}function D3(g3){const W3=(g3==null?void 0:g3.image)||W5;return q.value?void 0:{backgroundImage:`linear-gradient(180deg, rgba(0, 16, 26, 0.08), rgba(0, 16, 26, 0.32)), url(${W3})`}}function S3(){b1(-1)}function m1(){b1(1)}function b1(g3){const W3=O.value.length;if(!W3)return;a1({resetError:!0});const Z3=L3.value;j.value=(Z3+g3+W3)%W3,P.value=0}function g1(){return k3(this,null,function*(){var e0,y2;const g3=C3.value;if(!(g3!=null&&g3.hdPlayUrl)||!(g3!=null&&g3.token)){c2.value="无效的监控参数";return}if(q.value||K.value)return;j.value=L3.value,P.value=0,f&&a1({resetError:!0}),c2.value="",K.value=!0,yield ft();const W3=++_;let Z3=null;n1(W3);try{const W=(y2=(e0=a.value)==null?void 0:e0.getBoundingClientRect)==null?void 0:y2.call(e0),x2=Math.max(300,Math.floor((W==null?void 0:W.width)||340)),r3=Math.max(80,Math.floor((W==null?void 0:W.height)||92));if(Z3=new dT.EZUIKitPlayer({id:S2,accessToken:g3.token,url:g3.hdPlayUrl,audio:0,width:x2,height:r3,themeData:s1(),handleError(o3){W3===_&&(C1(),console.warn("EZUIKit player error",o3),c2.value="视频加载失败",K.value=!1,q.value=!1,_+=1,f=null,v=!1,j3())},handleSuccess(){W3===_&&(C1(),c2.value="",v=!0,K.value=!1)},fullScreenChangeCallBack(){}}),W3!==_){H2(Z3),j3();return}f=Z3,q.value=!0}catch(W){C1(),console.warn("EZUIKit init error",W),c2.value="视频加载失败",a1()}})}function a1(g3={}){const{clearElement:W3=!0,resetError:Z3=!1}=g3;C1();const e0=f,y2=v;f=null,v=!1,_+=1,y2&&H2(e0),W3&&j3(),q.value=!1,K.value=!1,Z3&&(c2.value="")}function n1(g3){C1(),b=window.setTimeout(()=>{g3!==_||!K.value||(c2.value="视频加载超时",a1({resetError:!1}))},cK)}function C1(){b&&(window.clearTimeout(b),b=null)}function H2(g3){if(!(!g3||typeof g3.stop!="function"))try{const W3=g3.stop();W3&&typeof W3.catch=="function"&&W3.catch(()=>{})}catch(W3){console.warn("EZUIKit stop error",W3)}}function j3(){if(typeof document=="undefined")return;const g3=document.getElementById(S2);g3&&g3.replaceChildren()}function s1(){return{header:{color:"#1890ff",activeColor:"#ffffff",backgroundColor:"#000000",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,memo:"顶部设备序列号",isrender:0},{iconId:"deviceName",part:"left",defaultActive:0,memo:"顶部设备名称",isrender:0},{iconId:"cloudRec",part:"right",defaultActive:0,memo:"云存储",isrender:0},{iconId:"rec",part:"right",defaultActive:0,memo:"SD卡回放",isrender:0}]},footer:{color:"#ffffff",activeColor:"#1890ff",backgroundColor:"#00000021",btnList:[{iconId:"play",part:"left",defaultActive:1,memo:"播放",isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,memo:"截屏按钮",isrender:0},{iconId:"sound",part:"left",defaultActive:0,memo:"声音按钮",isrender:1},{iconId:"pantile",part:"left",defaultActive:0,memo:"云台控制按钮",isrender:1},{iconId:"recordvideo",part:"left",defaultActive:0,memo:"录制按钮",isrender:0},{iconId:"zoom",part:"left",defaultActive:0,memo:"电子放大",isrender:1},{iconId:"hd",part:"right",defaultActive:0,memo:"清晰度切换按钮",isrender:1},{iconId:"expend",part:"right",defaultActive:0,memo:"全局全屏按钮",isrender:1}]}}}function E1(){const g3=o.get("yak-structure");B3(g3,"畜群结构",v3.value)}function U2(){const g3=o.get("yak-three-year-forecast");B3(g3,"预测存栏",O3.value)}function q3(){const g3=o.get("yak-forecast-trend");B3(g3,"预测存栏",H3.value)}function B3(g3,W3,Z3){const e0=typeof(g3==null?void 0:g3.dispatchAction)=="function"?g3:g3==null?void 0:g3.chart;!e0||Z3<0||(e0.dispatchAction({type:"downplay",seriesName:W3}),e0.dispatchAction({type:"hideTip"}),e0.dispatchAction({type:"highlight",seriesName:W3,dataIndex:Z3}),e0.dispatchAction({type:"showTip",seriesName:W3,dataIndex:Z3}))}function _1(g3){return g3?P.value%g3:0}function A1(){return k3(this,null,function*(){const[g3,W3,Z3]=yield Promise.all([To("grassland","grassland-distribution"),To("wetland","wetland-distribution"),To("woodland","woodland-distribution")]);u||(s.value={grassland:g3,wetland:W3,woodland:Z3})})}function o1(g3,W3){const Z3=s.value[g3];return[...(Z3==null?void 0:Z3.leftPanels)||[],...(Z3==null?void 0:Z3.rightPanels)||[]].find(y2=>(y2==null?void 0:y2.key)===W3)}function H1(g3,W3){const e0={"wetland-yield":{type:"column",variant:"slim"},"woodland-type":{type:"structure",variant:void 0}}[g3.key]||{};return R3(d3(d3({},g3),e0),{key:`home-${W3}-${g3.key}`,height:yS})}function l0(g3,W3,Z3,e0=0,y2=!1,W=-1){return{name:g3,type:"line",yAxisIndex:e0,smooth:!0,symbolSize:5,data:W3.map((x2,r3)=>({value:x2,symbolSize:r3===W?10:5,itemStyle:{color:r3===W?"#ffffff":Z3},label:{show:r3===W,position:"top",color:Z3,fontSize:10,formatter:({value:o3})=>J1(o3)}})),lineStyle:{width:2.4,color:Z3},itemStyle:{color:Z3},areaStyle:y2?{color:new yn(0,0,0,1,[{offset:0,color:`${Z3}44`},{offset:1,color:`${Z3}05`}])}:void 0}}function L0(g3){const W3=Number(g3);return Number.isFinite(W3)?W3.toLocaleString("zh-CN",{maximumFractionDigits:Number.isInteger(W3)?0:2}):"--"}function J1(g3){const W3=Number(g3);return Number.isFinite(W3)?Math.abs(W3)>=1e4?`${(W3/1e4).toFixed(Math.abs(W3)>=1e5?0:1)}万`:Math.round(W3).toLocaleString("zh-CN"):"--"}function B1(g3){X2.value=g3,J.value="",p2.value=""}function me(g3){if(b2.value===g3){b2.value="";return}b2.value=g3,X2.value!==g3&&B1(g3)}function Un(g3){const W3=zl(g3);return g3!=="yak-industry-chain"?W3:W3.filter(Z3=>Z3.key==="yak-recognition-layer")}function Xt(g3){J.value=J.value===g3?"":g3}function lt(g3){be(g3)&&(p2.value=p2.value===g3.key?"":g3.key)}function Jt(g3){return(g3==null?void 0:g3.selectable)===!1?!1:!!(g3!=null&&g3.key&&(g3.cqlFilter||g3.rankingValueKey))}function be(g3){return n2.value&&Jt(g3)}return(g3,W3)=>(h2(),v2("div",Vq,[K3(ra,{ref_key:"mapSceneRef",ref:r,class:"home-map-scene","active-layer":f3.value},null,8,["active-layer"]),W3[3]||(W3[3]=M("div",{class:"home-map-scrim"},null,-1)),M("div",Hq,[K3(X1,{title:"图层控制",width:248,height:430},{default:z1(()=>[M("div",jq,[M("div",Wq,[(h2(!0),v2(X3,null,c1(e3.value,Z3=>(h2(),v2("div",{key:Z3.key,class:x1(["home-layer-tree-group",{"is-open":Z3.key===b2.value}])},[M("button",{class:x1(["home-layer-tree-parent",{"is-active":Z3.key===X2.value}]),type:"button",onClick:e0=>me(Z3.key)},[M("span",null,L2(Z3.name),1),W3[0]||(W3[0]=M("i",null,null,-1))],10,$q),Z3.key===b2.value?(h2(),v2("div",Yq,[(h2(!0),v2(X3,null,c1(Z3.layers,e0=>(h2(),v2("button",{key:e0.key,class:x1(["home-layer-tree-child",{"is-active":e0.key===J.value}]),type:"button",onClick:y2=>Xt(e0.key)},[M("span",null,L2(e0.name),1),W3[1]||(W3[1]=M("i",null,null,-1))],10,qq))),128))])):l1("",!0)],2))),128))]),M("div",Kq,[W3[2]||(W3[2]=M("div",{class:"home-layer-tree-title"},"图例",-1)),I2.value.length?(h2(),v2("div",{key:0,class:x1(["home-layer-legend-grid",{"is-single":P2.value}])},[(h2(!0),v2(X3,null,c1(I2.value,Z3=>(h2(),v2("button",{key:Z3.key||Z3.name,class:x1(["home-layer-legend-row",{"is-selected":be(Z3)&&Z3.key===p2.value,"is-checkable":be(Z3),"is-disabled":!be(Z3)}]),type:"button",disabled:!be(Z3),title:Z3.name,onClick:e0=>lt(Z3)},[M("span",{class:"home-layer-legend-swatch",style:p0({backgroundColor:Z3.fillColor,borderColor:Z3.strokeColor||Z3.fillColor})},null,4),M("span",Jq,L2(Z3.name),1),be(Z3)?(h2(),v2("i",Zq)):l1("",!0)],10,Xq))),128))],2)):(h2(),v2("div",Qq,"选择图层后显示图例"))])])]),_:1})]),M("div",eK,[(h2(!0),v2(X3,null,c1(U3.value,Z3=>(h2(),Ze(X1,{key:Z3.key,class:"home-card left-card",title:Z3.title,width:398,height:Z3.height},{default:z1(()=>[K3(Tn,{panel:Z3,compact:""},null,8,["panel"])]),_:2},1032,["title","height"]))),128))]),M("div",tK,[(h2(!0),v2(X3,null,c1(F.value,Z3=>(h2(),Ze(X1,{key:Z3.key,class:x1(["home-card","right-card",{"home-video-card":Z3.type==="video"}]),title:Z3.title,width:398,height:Z3.height},{default:z1(()=>[Z3.type==="video"?(h2(),v2("div",nK,[M("button",{class:"home-video-nav home-video-prev",type:"button","aria-label":"上一路监控",disabled:O.value.length<=1,onClick:S3},"‹",8,iK),(h2(),v2("div",{key:Z3.live.key,ref_for:!0,ref:t2,class:x1(["home-video-screen",{"is-playing":q.value,"is-loading":K.value}]),style:p0(D3(Z3.live)),onClick:g1},[M("div",{id:S2,class:"home-video-player"}),q.value?l1("",!0):(h2(),v2("div",rK)),!q.value&&Z3.live.hdPlayUrl?(h2(),v2("div",aK)):l1("",!0),K.value?(h2(),v2("div",sK,"加载中")):l1("",!0),c2.value?(h2(),v2("div",oK,L2(c2.value),1)):l1("",!0),M("div",lK,L2(Z3.live.title),1)],6)),M("button",{class:"home-video-nav home-video-next",type:"button","aria-label":"下一路监控",disabled:O.value.length<=1,onClick:m1},"›",8,uK)])):Z3.option?(h2(),Ze(D0(Ye),{key:1,ref_for:!0,ref:e0=>Y2(Z3.key,e0),class:"home-chart",option:Z3.option,autoresize:!0},null,8,["option"])):(h2(),Ze(Tn,{key:2,panel:Z3,compact:""},null,8,["panel"]))]),_:2},1032,["class","title","height"]))),128))])]))}};const hK={class:"topic-switcher"},fK={class:"topic-switcher-menu"},pK=["onPointerup","onClick"],mK={class:"topic-title"},gK={key:0},Hl={__name:"TopicSwitcher",props:{modelValue:{type:String,required:!0},topics:{type:Array,default:()=>Yr}},emits:["update:modelValue"],setup(n,{emit:e}){const t=n,i=e;let r="",a=0;const s=z2(()=>{var l;return(l=t.topics)!=null&&l.length?t.topics:Yr});function o(l,u){var h,f;if((f=(h=l.currentTarget)==null?void 0:h.blur)==null||f.call(h),u===t.modelValue)return;const d=Date.now();l.type==="click"&&r===u&&d-a<450||(l.type==="pointerup"&&(r=u,a=d),i("update:modelValue",u))}return(l,u)=>(h2(),v2("div",hK,[u[0]||(u[0]=M("div",{class:"topic-switcher-arrow"},[M("img",{src:Po,alt:""}),M("img",{src:Ro,alt:""})],-1)),M("div",fK,[(h2(!0),v2(X3,null,c1(s.value,d=>(h2(),v2("button",{key:d.key,class:x1(["topic-switcher-item",{"is-active":d.key===n.modelValue}]),style:p0({"--topic-color":d.color,"--topic-item-width":d.width?`${d.width}px`:void 0}),type:"button",onPointerup:h=>o(h,d.key),onClick:h=>o(h,d.key)},[M("span",{class:x1(["topic-name",{"has-sub-name":d.subName}])},[M("span",mK,L2(d.name),1),d.subName?(h2(),v2("small",gK,L2(d.subName),1)):l1("",!0)],2)],46,pK))),128))]),u[1]||(u[1]=M("div",{class:"topic-switcher-arrow is-reverse"},[M("img",{src:Po,alt:""}),M("img",{src:Ro,alt:""})],-1))]))}};const vK={class:"layer-panel"},yK={class:"layer-panel-list"},_K=["onClick"],SK={key:0,class:"layer-panel-empty"},bK={class:"layer-panel-legend"},TK=["disabled","title","onClick"],wK={class:"legend-name"},xK={key:0,class:"legend-check"},AK={key:1,class:"layer-panel-empty is-legend"},Kf={__name:"LayerPanel",props:{topicKey:{type:String,required:!0},modelValue:{type:String,default:""},legends:{type:Array,default:()=>[]},selectedLegendKey:{type:String,default:""},height:{type:Number,default:0},width:{type:Number,default:232},layers:{type:Array,default:null}},emits:["update:modelValue","update:selectedLegendKey"],setup(n,{emit:e}){const t=n,i=e,r=z2(()=>Array.isArray(t.layers)?t.layers:zl(t.topicKey)),a=z2(()=>Array.isArray(t.legends)?t.legends:[]),s=z2(()=>a.value.filter(h).length>1),o=z2(()=>a.value.length===1),l=z2(()=>t.height?t.height:430);function u(v,_){var b,y;(y=(b=v.currentTarget)==null?void 0:b.blur)==null||y.call(b),i("update:modelValue",t.modelValue===_?"":_)}function d(v,_){var b,y;(y=(b=v.currentTarget)==null?void 0:b.blur)==null||y.call(b),f(_)&&i("update:selectedLegendKey",t.selectedLegendKey===_.key?"":_.key)}function h(v){return(v==null?void 0:v.selectable)===!1?!1:!!(v!=null&&v.key&&(v.cqlFilter||v.rankingValueKey))}function f(v){return s.value&&h(v)}return(v,_)=>(h2(),Ze(X1,{title:"图层控制",width:n.width,height:l.value},{default:z1(()=>[M("div",vK,[M("div",yK,[(h2(!0),v2(X3,null,c1(r.value,b=>(h2(),v2("button",{key:b.key,class:x1(["layer-panel-item",{"is-active":b.key===n.modelValue,"is-checked":b.key===n.modelValue}]),type:"button",onMousedown:_[0]||(_[0]=jt(()=>{},["prevent"])),onClick:y=>u(y,b.key)},[M("span",null,L2(b.name),1),_[2]||(_[2]=M("i",null,null,-1))],42,_K))),128)),r.value.length?l1("",!0):(h2(),v2("div",SK,"暂无图层配置"))]),M("div",bK,[_[3]||(_[3]=M("div",{class:"layer-panel-section-title"},"图例",-1)),a.value.length?(h2(),v2("div",{key:0,class:x1(["layer-panel-legend-grid",{"is-single":o.value}])},[(h2(!0),v2(X3,null,c1(a.value,b=>(h2(),v2("button",{key:b.key||b.name,class:x1(["layer-panel-legend-row",{"is-selected":f(b)&&b.key===n.selectedLegendKey,"is-checkable":f(b),"is-disabled":!f(b)}]),type:"button",disabled:!f(b),title:b.name,onMousedown:_[1]||(_[1]=jt(()=>{},["prevent"])),onClick:y=>d(y,b)},[M("span",{class:"legend-swatch",style:p0({backgroundColor:b.fillColor,borderColor:b.strokeColor||b.fillColor})},null,4),M("span",wK,L2(b.name),1),f(b)?(h2(),v2("i",xK)):l1("",!0)],42,TK))),128))],2)):(h2(),v2("div",AK,"暂无图例"))])])]),_:1},8,["width","height"]))}};const CK={class:"feature-info"},MK={key:0,class:"feature-info-state"},EK={key:1,class:"feature-info-state"},PK={key:2,class:"feature-info-state"},RK={key:0,class:"feature-table"},NK=["title"],LK={key:1,class:"feature-info-state is-inline"},rx={__name:"FeatureInfoPanel",props:{feature:{type:Object,default:null},empty:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},height:{type:Number,default:380},width:{type:Number,default:430}},setup(n){const e=n,t=[[["town_name","xiangName","xiang_name","xiang","xzqmc","xzqdm","town_code","area_code"],"所在乡镇"],[["village_name","cunName","cun_name","cun","c_name","cmc"],"所在村"],[["full_name"],"所在区域"],[["land_number","patch_no"],"图斑编号"],[["areaWanMu","area_wan_mu","area_mu","acreage","mj","xbmj","tbdlmj","tbmj","geomj","shape_area"],"图斑面积"]],i=[[["investigator"],"调查人"],[["survey_time","dc_rq","sjnf","delimitation_year"],"调查时间"],[["adjust_opinion_name"],"调整意见"],[["adjust_reason"],"调整原因"]],r={woodland:[[["dlmc","layer_class_name"],"地类名称"],...t,[["qsdwmc"],"权属单位"],[["zldwmc"],"坐落单位"],[["lin_ban"],"林班"],[["xiao_ban"],"小班"],[["ld_qs","tdsyqs","qsxz","ownership_name","ownership"],"土地权属"],[["gjgyl_bhdj","bh_dj","protection_level_name","protection_level"],"保护等级"],[["sen_lin_lb","forest_type"],"森林类别"],[["lin_zhong","forest_category"],"林种"],[["zl_dj","quality_level_name","quality_level"],"质量等级"],[["you_shi_sz","tree_species","dominant_tree_species"],"优势树种"],[["qi_yuan","origin"],"起源"],[["ling_zu"],"龄组"],[["yu_bi_du"],"郁闭度"],[["pingjun_sg"],"平均树高"],[["mei_gq_zs"],"每公顷株数"],[["mei_gq_xj"],"每公顷蓄积"],[["huo_lm_xj"],"活立木蓄积"],[["sheng_wu_l"],"生物量"],[["tan_chu_l"],"碳储量"],[["stqwmc"],"生态区位"],[["po_du","slope"],"坡度"],[["po_wei"],"坡位"],[["tu_ceng_hd","soil_depth"],"土层厚度"],...i],grassland:[...t,[["land_class_name","land_use_name","land_use"],"地类名称"],[["land_type"],"资源大类"],[["resource_type"],"资源类别"],[["grassland_category_name","grassland category","base_grass"],"草原类别"],[["basic_type_name"],"基本草原类型"],[["grass_type_name","grassland_type_name","grass_type"],"草原类"],[["grass_min_type"],"草原型"],[["grassland_level_name","grassland_level","level_name","level"],"草原级别"],[["degradation_level_name","degradation_level"],"退化等级"],[["vegetation_structure_name","vegetation_structure"],"植被结构"],[["vegetation_cover"],"植被盖度"],[["lbmjbl"],"裸斑面积比例"],[["dominance_level"],"优势度"],[["dominant_grass_species"],"优势草种"],[["functional_category"],"功能类别"],[["xc_yield"],"鲜草产量"],[["xc_mu_yield","xb_xc_mu_yield","mu_yield"],"鲜草亩产"],[["xb_xc_yield"],"小班鲜草产量"],[["xb_xc_mu_yield"],"小班鲜草亩产"],[["gc_yield"],"干草产量"],[["gc_mu_yield","xb_gc_mu_yield"],"干草亩产"],[["xb_gc_yield"],"小班干草产量"],[["xb_gc_mu_yield"],"小班干草亩产"],[["elevation"],"海拔"],[["landform_name","landform"],"地貌"],[["slope"],"坡度"],[["aspect"],"坡向"],[["soil_depth","tu_ceng_hd"],"土层厚度"],[["soil texture"],"土壤质地"],[["sddl"],"三调地类"],[["hqlm"],"划区轮牧"],[["cdsyq"],"草地所有权"],[["cdsyq2"],"草地使用权"],[["cdjjq"],"草地经营权"],...i],wetland:[[["grass_min_type","grassland_category_name","grassland_type_name","land_class_name","land_use_name"],"湿地类型"],...t,[["grass_type_name","grass_type"],"湿地草地型"],[["grassland_level_name","grassland_level","level_name","level"],"湿地级别"],[["vegetation_structure_name","vegetation_structure"],"植被结构"],[["vegetation_cover"],"植被盖度"],[["dominant_grass_species"],"优势草种"],[["functional_category"],"功能类别"],[["xc_yield","xb_xc_yield"],"鲜草产量"],[["xc_mu_yield","xb_xc_mu_yield","mu_yield"],"鲜草亩产"],[["edible_xc_yield"],"可食鲜草产量"],[["edible_xc_mu_yield"],"可食鲜草亩产"],[["gc_yield","xb_gc_yield"],"干草产量"],[["elevation"],"海拔"],[["landform_name","landform"],"地貌"],[["soil_depth","tu_ceng_hd"],"土层厚度"],...i],ecological:[[["type"],"管控分区"],[["project_name"],"项目名称"],[["project_category"],"项目类型"],[["measure_type"],"措施类型"],[["feature_role"],"要素类型"],[["township"],"涉及乡镇"],[["year"],"建设年份"],[["totalAcreage"],"总面积"],[["cdAcreage"],"草地面积"],[["sdAcreage"],"湿地面积"],[["area_mu"],"治理面积"],[["length_meter"],"工程长度"],[["cdScl"],"草地生产力"],[["sdScl"],"湿地生产力"],[["geometry_type"],"几何类型"]]},a={land_type:{1:"草地",2:"湿地",caodi:"草地",shidi:"湿地",woodland:"林地",grassland:"草地",wetland:"湿地"},vegetation_structure:{1:"草本型"},landform:{2:"平原",5:"中山",6:"高山"},land_use:{"0401":"天然牧草地","0403":"人工牧草地","0404":"其他草地"},sddl:{"0401":"天然牧草地","0403":"人工牧草地","0404":"其他草地"},ld_qs:{10:"集体林地",20:"国有或其他"},qsxz:{10:"集体林地",20:"国有或其他"},tdsyqs:{10:"集体林地",20:"国有或其他"},gjgyl_bhdj:{0:"未划定",1:"国家一级公益林",2:"国家二级公益林"},bh_dj:{0:"未划定",1:"国家一级公益林",2:"国家二级公益林"},zl_dj:{2:"二级质量",3:"三级质量",4:"四级质量",5:"五级质量"},po_wei:{1:"脊部",2:"上坡",3:"中坡",4:"下坡",5:"谷地",6:"平地"}},s=new Set(["lin_zhong","sen_lin_lb","you_shi_sz","qi_yuan","ling_zu","po_xiang","tu_rang_lx","ownership","ownership_name","protection_level","forest_category","forest_type","quality_level","origin","tree_species","dominant_tree_species","base_grass","degradation_level","land_class","grass_type"]),o={xiang:"所在乡镇",xzqdm:"所在乡镇",xzqmc:"所在乡镇",town_code:"所在乡镇",area_code:"所在乡镇",cun:"所在村",cmc:"所在村",c_name:"所在村",acreage:"图斑面积",mj:"图斑面积",xbmj:"小班面积",tbdlmj:"图斑地类面积",geomj:"图斑面积",tbmj:"图斑面积",shape_area:"图斑面积",area_mu:"图斑面积",grass_min_type:"草原型",grass_type:"草原类",grass_type_name:"草原类",grassland_type_name:"草原类",patch_no:"图斑编号",land_number:"图斑编号",grassland_level:"草原级别",grassland_level_name:"草原级别",level:"等级",level_name:"等级",land_class_name:"地类名称",land_use_name:"地类名称",basic_type_name:"草原类型",grassland_category_name:"草原类别",degradation_level:"退化等级",degradation_level_name:"退化等级",vegetation_structure:"植被结构",vegetation_structure_name:"植被结构",xc_yield:"鲜草产量",gc_yield:"干草产量",xc_mu_yield:"鲜草亩产",gc_mu_yield:"干草亩产",mu_yield:"亩产",edible_xc_yield:"可食鲜草产量",edible_xc_mu_yield:"可食鲜草亩产",dlmc:"地类名称",qsdwmc:"权属单位",zldwmc:"坐落单位",lin_ban:"林班",xiao_ban:"小班",ld_qs:"土地权属",tdsyqs:"土地权属",qsxz:"土地权属",gjgyl_bhdj:"保护等级",bh_dj:"保护等级",sen_lin_lb:"森林类别",lin_zhong:"林种",zl_dj:"质量等级",you_shi_sz:"优势树种",qi_yuan:"起源",cdsyq:"草地所有权",cdsyq2:"草地使用权",cdjjq:"草地经营权",resource_type:"资源类型","grassland category":"草原类别",dominant_grass_species:"优势草种",functional_category:"功能类别",vegetation_cover:"植被盖度",xb_xc_yield:"小班鲜草产量",xb_gc_yield:"小班干草产量",base_grass:"基本草原",hqlm:"划区轮牧",elevation:"海拔",soil_depth:"土层厚度","soil texture":"土壤质地",aspect:"坡向",slope:"坡度",landform:"地貌",landform_name:"地貌",sddl:"三调地类",dominance_level:"优势度",investigator:"调查人",survey_time:"调查时间",land_type:"土地类型",status:"状态",type:"类型",xb_gc_mu_yield:"干草亩产",xb_xc_mu_yield:"鲜草亩产",grass_yield:"草地产量",full_name:"所在区域",gyl_bhlx:"公益林保护类型",ling_zu:"龄组",yu_bi_du:"郁闭度",pingjun_xj:"平均胸径",mei_gq_zs:"每公顷株数",mei_gq_xj:"每公顷蓄积",stqwmc:"生态区位",lyfq:"林业分区",qykz:"区域控制",po_wei:"坡位",tu_rang_zd:"土壤质地",zzsxmc:"主导属性",lin_chang:"林场",di_mao:"地貌",jt_qw:"交通区位",zbfglx:"植被覆盖类型",disaster_c:"灾害类型",dispe:"病虫害",pingjun_sg:"平均树高",huo_lm_xj:"活立木蓄积",sheng_wu_l:"生物量",tan_chu_l:"碳储量",g_cheng_lb:"工程类别",shi_quan_d:"事权等级",sf_tbq:"是否特别区",td_th_lx:"土地退化类型",project_name:"项目名称",project_category:"项目类型",measure_type:"措施类型",feature_role:"要素类型",township:"涉及乡镇",year:"建设年份",length_meter:"工程长度",geometry_type:"几何类型",totalAcreage:"总面积",cdAcreage:"草地面积",sdAcreage:"湿地面积",cdScl:"草地生产力",sdScl:"湿地生产力"},l=new Set(Object.keys(o)),u=new Set(["pingjun_sg","pingjun_xj","mei_gq_zs","mei_gq_xj","huo_lm_xj","sheng_wu_l","tan_chu_l","yu_bi_du","grass_yield","xb_xc_yield","xb_xc_mu_yield","xc_mu_yield","xb_gc_yield","xb_gc_mu_yield","gc_mu_yield"]),d=new Set(["xb_xc_yield","xb_gc_yield","grass_yield","gc_yield","xc_yield","yield","output","remark1","remark2","remark3","remark4","remark5","remarks"]),h=z2(()=>{var J;return((J=e.feature)==null?void 0:J.properties)||{}}),f=z2(()=>{var J,p2,N2;return((p2=(J=e.feature)==null?void 0:J.feature)==null?void 0:p2.geometry)||((N2=e.feature)==null?void 0:N2.geometry)||null}),v=z2(()=>{var I2,n2,P2,Z2,f3;const J=String(((I2=e.feature)==null?void 0:I2.id)||"").toLowerCase(),p2=String(((P2=(n2=e.feature)==null?void 0:n2.layer)==null?void 0:P2.key)||"").toLowerCase(),N2=String(((f3=(Z2=e.feature)==null?void 0:Z2.layer)==null?void 0:f3.layerName)||"").toLowerCase(),e3=`${p2} ${N2}`,h3=h.value;return e3.includes("national-park")||e3.includes("restoration")||h3.project_name||h3.project_category||h3.totalAcreage?"ecological":h3.dlmc||J.includes("woodland")||J.includes("t_woodland")||e3.includes("woodland")?"woodland":e3.includes("wetland")||e3.includes("shidi")||J.includes("shidi")||h3.land_type==="shidi"||h3.land_type==="湿地"||h3.land_type===2?"wetland":e3.includes("grassland")||e3.includes("caodi")||h3.grassland_category_name||h3.basic_type_name||J.includes("caodi")||h3.land_type==="caodi"||h3.land_type===1?"grassland":"woodland"}),_=z2(()=>{const J=[],p2=new Set;return(r[v.value]||r.woodland).forEach(([e3,h3])=>{const I2=U(h.value,e3,h3,p2);I2&&!J.some(n2=>n2.label===I2.label)&&(J.push(I2),p2.add(I2.sourceKey))}),J.some(e3=>e3.label==="图斑面积")||w(J,p2,"图斑面积",C2(f.value),"geometry-area"),Object.entries(h.value).forEach(([e3,h3])=>{if(p2.has(e3)||G2(e3,h3))return;const I2=O(e3,h3);P(I2)&&(J.some(n2=>n2.value===I2||n2.label===(o[e3]||b2(e3)))||(J.push({key:`fallback-${e3}`,sourceKey:e3,label:o[e3]||b2(e3),value:I2}),p2.add(e3)))}),J}),b=z2(()=>_.value.map((J,p2)=>R3(d3({},J),{displayOrder:y(J,p2)})).sort((J,p2)=>J.displayOrder-p2.displayOrder));function y(J,p2){const N2=(J==null?void 0:J.label)||"",e3=String((J==null?void 0:J.sourceKey)||"").toLowerCase();return["所在乡镇","所在村","所在区域","图斑编号","图斑面积","小班面积","图斑地类面积","地类名称","湿地类型"].includes(N2)?p2:["基本草原类型","草原类型","草原类","草原型","湿地草地型","草原级别","湿地级别","退化等级","功能类别","保护等级","森林类别","林种","质量等级","优势树种","起源","龄组"].includes(N2)?100+p2:N2.includes("产量")||N2.includes("亩产")||N2.includes("植被")||N2.includes("优势草种")||N2.includes("优势度")||N2.includes("海拔")||N2.includes("地貌")||N2.includes("坡")||N2.includes("土壤")||N2.includes("郁闭度")||N2.includes("树高")||N2.includes("蓄积")||N2.includes("生物量")||N2.includes("碳储量")?200+p2:N2.includes("权属")||N2.includes("所有权")||N2.includes("使用权")||N2.includes("经营权")||N2.includes("调查")||N2.includes("调整")||N2.includes("划区")||N2.includes("单位")||e3.includes("owner")||e3.includes("qsdw")||e3.includes("zldw")?300+p2:150+p2}function w(J,p2,N2,e3,h3){!P(e3)||J.some(I2=>I2.label===N2||I2.value===e3)||(J.push({key:`static-${h3}`,sourceKey:h3,label:N2,value:e3}),p2.add(h3))}function U(J,p2,N2,e3=new Set){for(const h3 of p2)if(!(e3.has(h3)||Z(h3))&&P(J==null?void 0:J[h3])){const I2=O(h3,J[h3]);if(!P(I2))continue;return{key:`${N2}-${h3}`,sourceKey:h3,label:N2,value:I2}}return null}function P(J){return J!=null&&J!==""&&J!==" "&&J!=="null"&&J!=="undefined"}function O(J,p2){var h3;if(!P(p2))return"";if((h3=a[J])!=null&&h3[String(p2)])return a[J][String(p2)];if(["xiang","xzqdm","town_code","area_code"].includes(J))return j(p2);if(["cun","village_code"].includes(J)&&q(p2))return"";if(["grassland_level","level"].includes(J)&&K(p2))return v.value==="wetland"?`${Number(p2)}级湿地`:`${Number(p2)}级草原`;if(s.has(J)&&q(p2)||q2(J,p2))return"";if(S2(J))return H(p2);if(typeof p2=="number"||/^-?\d+(\.\d+)?$/.test(String(p2))){const I2=Number(p2);if(I2===0&&u.has(J))return"";const n2=Number.isInteger(I2)?`${I2}`:`${Number(I2.toFixed(2))}`;return["xbmj","tbdlmj","geomj","area_square_meter"].includes(J)?`${c2(I2/666.6667)} 亩`:["acreage","mj","area_mu"].includes(J)?`${n2} 亩`:["length_meter"].includes(J)?`${n2} 米`:["totalAcreage","cdAcreage","sdAcreage"].includes(J)?`${n2} 万亩`:["cdScl","sdScl"].includes(J)?`${n2} 万吨`:["areaWanMu","area_wan_mu"].includes(J)?`${n2} 万亩`:["xc_yield","xb_xc_yield","gc_yield","xb_gc_yield","edible_xc_yield","grass_yield"].includes(J)?`${n2} 斤`:["mu_yield","xc_mu_yield","gc_mu_yield","xb_xc_mu_yield","xb_gc_mu_yield","edible_xc_mu_yield"].includes(J)?`${n2} 斤`:["vegetation_cover","lbmjbl","yu_bi_du"].includes(J)?`${n2}%`:["elevation","tu_ceng_hd","pingjun_sg"].includes(J)?`${n2} 米`:["po_du","slope"].includes(J)?`${n2}°`:n2}const e3=String(p2);return v.value==="wetland"&&["grassland_level","level"].includes(J)?e3.replace(/草原/g,"湿地"):e3}function j(J){const p2=String(J||"").trim();if(!p2)return"";const N2=p2.replace(/\D/g,""),e3=J4(N2||p2);return e3||(q(p2)?"":p2)}function q(J){return/^[0-9A-Za-z_-]{1,12}$/.test(String(J).trim())}function K(J){return/^-?\d+(\.\d+)?$/.test(String(J).trim())}function c2(J){return Number.isInteger(J)?`${J}`:`${Number(J.toFixed(2))}`}function S2(J){return["survey_time","dc_rq","create_time","update_time"].includes(String(J))}function H(J){const p2=String(J);return/^\d{4}-\d{2}-\d{2}/.test(p2)?p2.slice(0,10):p2}function Z(J){const p2=String(J).toLowerCase();return["geom","wkt","geometry","the_geom","raw_properties"].includes(p2)||["bsm","ysdm","gid","id","objectid","object_id","fid","key_uid"].includes(p2)||["shape_leng","shape_length","length","perimeter"].includes(p2)?!0:["xzqdm","area_code","town_code","patch_no","land_number"].includes(p2)?!1:["di_lei","qykz","stqw","lyfq","tbybh","patch_code"].includes(p2)||p2.endsWith("_code")||p2.endsWith("dm")||p2.endsWith("_id")||["create_by","create_time","update_by","update_time"].includes(p2)?!0:p2.includes("geom")||p2.includes("boundary")||p2.includes("wkb")}function G2(J,p2){var e3;if(Z(J)||!P(p2))return!0;const N2=String(J).toLowerCase();return!!(d.has(N2)||N2.includes("number")||N2.includes("patch_no")||!l.has(J)||q(p2)&&!((e3=a[J])!=null&&e3[String(p2)])&&!["xiang","xzqdm","town_code","area_code","cun","land_type","grassland_level","level","gjgyl_bhdj","bh_dj","ld_qs","qsxz","tdsyqs","zl_dj"].includes(J))}function q2(J,p2){var N2;return!q(p2)||(N2=a[J])!=null&&N2[String(p2)]?!1:["resource_type","grassland category","functional_category","aspect","soil_depth","soil texture","cdsyq","cdsyq2","cdjjq"].includes(J)}function C2(J){const p2=E2(J);if(!p2)return"";const N2=p2/666.6667;return N2>=1e4?`${c2(N2/1e4)} 万亩`:`${c2(N2)} 亩`}function E2(J){return J!=null&&J.coordinates?J.type==="Polygon"?A2(J.coordinates):J.type==="MultiPolygon"?J.coordinates.reduce((p2,N2)=>p2+A2(N2),0):0:0}function A2(J=[]){if(!J.length)return 0;const[p2,...N2]=J,e3=Math.abs(X2(p2)),h3=N2.reduce((I2,n2)=>I2+Math.abs(X2(n2)),0);return Math.max(0,e3-h3)}function X2(J=[]){if(J.length<3)return 0;const p2=J.reduce((I2,n2)=>I2+Number((n2==null?void 0:n2[1])||0),0)/J.length,N2=111320,e3=N2*Math.cos(p2*Math.PI/180);let h3=0;for(let I2=0;I2p2.toUpperCase())}return(J,p2)=>(h2(),Ze(X1,{title:"图斑详情",width:n.width,height:n.height},{default:z1(()=>[M("div",CK,[n.loading?(h2(),v2("div",MK,"正在查询图斑信息")):n.empty?(h2(),v2("div",EK,"当前点击位置未查询到图斑")):n.feature?(h2(),v2(X3,{key:3},[b.value.length?(h2(),v2("div",RK,[(h2(!0),v2(X3,null,c1(b.value,N2=>(h2(),v2("div",{key:N2.key,class:"feature-row"},[M("span",null,L2(N2.label),1),M("strong",{title:N2.value},L2(N2.value),9,NK)]))),128))])):(h2(),v2("div",LK,"当前图斑暂无可展示的业务字段"))],64)):(h2(),v2("div",PK,"点击地图图层查看图斑/要素信息"))])]),_:1},8,["width","height"]))}};const IK={class:"forest-grass-wet"},kK={class:"forest-grass-wet-ui",id:"forest-grass-wet-ui"},FK={class:"fgw-left"},DK={class:"fgw-side-stack is-left"},UK={class:"fgw-right"},OK={class:"fgw-side-stack is-right"},BK={class:"fgw-map-layer-tools"},zK={class:"fgw-bottom-topic"},GK={key:0,class:"loading"},VK={class:"loading-progress"},HK={class:"value"},jK={__name:"index",props:{showLoading:{type:Boolean,default:!0},active:{type:Boolean,default:!0}},emits:["topic-stats"],setup(n,{emit:e}){const t=n,i=e,r=x3(null),a=x3(Yr[0].key),s=x3(""),o=x3([]),l=x3("idle"),u=x3(!1),d=x3({title:"业务统计",rows:[]}),h=x3({title:"业务统计",rows:[]}),f=x3([]),v=x3([]),_=x3(null),b=x3(""),y=x3(null),w=x3(!1),U=x3(!1),P=x3(null),O=x3(0),j=x3(t.showLoading),q=x3({type:"idle",text:"等待 GeoServer 图层加载"});let K=null,c2=!1,S2=!1,H=!1,Z=null,G2=0,q2=0,C2=!1,E2=!1;const A2=new Set(["grassland-distribution","wetland-distribution","woodland-distribution","woodland-protection","woodland-type","woodland-quality","woodland-ownership"]);z2(()=>K_(a.value));const X2=z2(()=>s.value?Z4(a.value,s.value):null),b2=z2(()=>{var i2;return(((i2=X2.value)==null?void 0:i2.legends)||[]).find(_2=>_2.key===b.value)||null}),J=z2(()=>{var _2;const i2=X2.value;return!i2||!((_2=b2.value)!=null&&_2.cqlFilter)?i2:R3(d3({},i2),{cqlFilter:b2.value.cqlFilter,activeLegend:b2.value,name:b2.value.name||i2.name})}),p2=z2(()=>190),N2=z2(()=>12),e3=z2(()=>p2.value*2+N2.value),h3=z2(()=>!!P.value),I2=z2(()=>{if(U.value||w.value||!y.value)return 186;const i2=F(y.value);return Math.min(480,Math.max(300,86+Math.min(i2,12)*34))}),n2=z2(()=>{if(!P.value)return{};const i2=460,_2=I2.value,V2=24,s3=P2(P.value),D3=s3.x>1420?-i2-28:28,S3=Math.min(Math.max(s3.x+D3,V2),1920-i2-V2),m1=Math.min(Math.max(s3.y-_2-72,188),1080-_2-132);return{left:`${S3}px`,top:`${m1}px`,right:"auto",bottom:"auto"}});function P2(i2){const _2=document.querySelector(".forest-grass-wet"),V2=_2==null?void 0:_2.getBoundingClientRect();return!(V2!=null&&V2.width)||!(V2!=null&&V2.height)?i2:{x:(i2.x-V2.left)/V2.width*1920,y:(i2.y-V2.top)/V2.height*1080}}Fn(()=>{document.addEventListener("pointerdown",Y2,!0),Z2(),O3(a.value,""),r1(a.value,"")}),a6(()=>{c2=!0,Z&&window.clearTimeout(Z),document.removeEventListener("pointerdown",Y2,!0)}),Z0(a,i2=>{C2=!0,b.value="",s.value="",W2(),q.value={type:"idle",text:"等待 GeoServer 图层加载"},O3(i2,""),r1(i2,"",null),ft(()=>{C2=!1})}),Z0(s,()=>{C2||(E2=!0,b.value="",W2(),q.value={type:s.value?"loading":"idle",text:s.value?"正在加载 GeoServer 图层":"等待 GeoServer 图层加载"},O3(a.value,s.value),r1(a.value,s.value,null),ft(()=>{E2=!1}))}),Z0(b,()=>{C2||E2||(W2(),r1(a.value,s.value,b2.value))}),Z0(()=>t.active,i2=>{var _2,V2,s3,D3;r.value&&(i2?(f3(),(V2=(_2=r.value).resume)==null||V2.call(_2)):(D3=(s3=r.value).pause)==null||D3.call(s3))});function Z2(){var V2;K=new aa;const i2={progress:0};K.instance.on("onProgress",(s3,D3,S3)=>{const m1=Math.floor(D3/S3*100);Ge.to(i2,{progress:m1,onUpdate:()=>{O.value=Math.floor(i2.progress)}})});const _2=()=>{c2||S2||(S2=!0,f3())};K.instance.on("onLoad",_2),(V2=K.ready)==null||V2.then(_2).catch(()=>{c2||(q.value={type:"error",text:"地图资源加载失败"})})}function f3(){c2||!t.active||!S2||H||(H=!0,Z&&window.clearTimeout(Z),Z=window.setTimeout(()=>{Z=null,v3()},600))}function v3(i2=0){return k3(this,null,function*(){var V2,s3,D3,S3,m1;if(c2)return;if(!t.active){H=!1;return}if(yield ft(),!t.active){H=!1;return}if(!!((s3=(V2=r.value)==null?void 0:V2.loadMap)!=null&&s3.call(V2,K)||(S3=(D3=r.value)==null?void 0:D3.hasMap)!=null&&S3.call(D3))){yield t2(),yield ft(),(m1=r.value)==null||m1.play();return}if(i2<24){window.setTimeout(()=>v3(i2+1),120);return}H=!1})}function O3(V2){return k3(this,arguments,function*(i2,_2=s.value){const s3=++q2;u.value=!0,l.value="loading";const D3=yield To(i2,_2);c2||s3!==q2||i2===a.value&&(_2||"")===(s.value||"")&&H3(D3,i2)})}function H3(i2,_2){var s3,D3,S3;const V2=F2(i2);o.value=V2.core||[],d.value=V2.left||{title:"业务统计",rows:[]},h.value=V2.right||{title:"业务统计",rows:[]},f.value=(s3=V2.leftPanels)!=null&&s3.length?V2.leftPanels:[d.value],v.value=(D3=V2.rightPanels)!=null&&D3.length?V2.rightPanels:[h.value],l.value=V2.status,u.value=!1,i("topic-stats",{topicKey:_2,topicName:K_(_2).name,items:((S3=V2.top)!=null&&S3.length?V2.top:V2.core||[]).slice(0,4)})}function F2(i2){return i2||{}}function L3(i2,_2){return`${a.value}-${_2}-${(i2==null?void 0:i2.key)||(i2==null?void 0:i2.title)||"panel"}`}function C3(i2){var V2;const _2=((V2=i2==null?void 0:i2.rows)==null?void 0:V2.length)||0;return(i2==null?void 0:i2.span)===1?!1:(i2==null?void 0:i2.span)===2?!0:(i2==null?void 0:i2.type)==="spotlight"||(i2==null?void 0:i2.type)==="metric"||(i2==null?void 0:i2.type)==="column"&&_2<=5?!1:(i2==null?void 0:i2.type)==="rank"&&_2>4||(i2==null?void 0:i2.type)==="split"&&_2>4||(i2==null?void 0:i2.type)==="donut"&&_2>5||(i2==null?void 0:i2.type)==="structure"&&_2>4||(i2==null?void 0:i2.type)==="bar"&&_2>4||(i2==null?void 0:i2.type)==="line"&&_2>6}function U3(i2){return C3(i2)?e3.value:p2.value}function F(i2){var D3;const _2=(i2==null?void 0:i2.properties)||{},V2=Object.keys(_2).filter(S3=>{const m1=_2[S3];if(m1==null||m1==="")return!1;const b1=S3.toLowerCase();return!(["geom","wkt","geometry","the_geom","shape_leng","shape_length","length","perimeter"].includes(b1)||["gid","id","objectid","object_id","fid","key_uid","bsm","ysdm"].includes(b1))}),s3=!!((D3=i2==null?void 0:i2.feature)!=null&&D3.geometry||i2!=null&&i2.geometry);return V2.length+(s3?1:0)}function r1(s3,D3){return k3(this,arguments,function*(i2,_2,V2=b2.value){const S3=++G2;if(!_2||!I3(_2,V2)){_.value=T2(i2,_2);return}const m1=yield _q(i2,_2,V2);c2||S3!==G2||i2!==a.value||_2!==s.value||((V2==null?void 0:V2.key)||"")===b.value&&(_.value=m1)})}function I3(i2,_2=null){return!!(_2!=null&&_2.key)||A2.has(i2)}function T2(i2,_2){return{status:"disabled",topicKey:i2,layerKey:_2,title:"",unit:"",rows:[]}}function o2(i2){var V2,s3;const _2=(s3=(V2=i2==null?void 0:i2.feature)!=null?V2:i2)!=null?s3:null;if(!_2){W2();return}y.value=_2,w.value=!1,i2!=null&&i2.screen&&(P.value=i2.screen)}function u2(i2){q.value=i2}function W2(){var i2,_2;y.value=null,w.value=!1,P.value=null,(_2=(i2=r.value)==null?void 0:i2.clearSelectedFeature)==null||_2.call(i2)}function Y2(i2){if(!h3.value)return;const _2=document.querySelector(".fgw-map-feature-info"),V2=i2.target;_2&&V2 instanceof Node&&_2.contains(V2)||W2()}function t2(){return j.value?new Promise(i2=>{Ge.to(".forest-grass-wet .loading",{opacity:0,duration:.8,delay:.2,onComplete:()=>{j.value=!1,i2()}})}):Promise.resolve()}return(i2,_2)=>{var V2;return h2(),v2("div",IK,[K3(ra,{ref_key:"mapSceneRef",ref:r,"active-layer":J.value,"map-ranking":_.value,onFeatureLoading:_2[0]||(_2[0]=s3=>U.value=s3),onFeatureInfo:o2,onLayerStatus:u2},null,8,["active-layer","map-ranking"]),M("div",kK,[M("div",FK,[M("div",DK,[(h2(!0),v2(X3,null,c1(f.value,s3=>(h2(),Ze(X1,{key:L3(s3,"left"),class:x1(["fgw-side-card left-card",{"is-double":C3(s3)}]),title:s3.title,width:398,height:U3(s3)},{default:z1(()=>[K3(Tn,{panel:s3,compact:""},null,8,["panel"])]),_:2},1032,["class","title","height"]))),128))])]),M("div",UK,[M("div",OK,[(h2(!0),v2(X3,null,c1(v.value,s3=>(h2(),Ze(X1,{key:L3(s3,"right"),class:x1(["fgw-side-card right-card",{"is-double":C3(s3)}]),title:s3.title,width:398,height:U3(s3)},{default:z1(()=>[K3(Tn,{panel:s3,compact:""},null,8,["panel"])]),_:2},1032,["class","title","height"]))),128))])]),M("div",BK,[K3(Kf,{modelValue:s.value,"onUpdate:modelValue":_2[1]||(_2[1]=s3=>s.value=s3),"selected-legend-key":b.value,"onUpdate:selectedLegendKey":_2[2]||(_2[2]=s3=>b.value=s3),"topic-key":a.value,legends:((V2=J.value)==null?void 0:V2.legends)||[],width:248,height:430},null,8,["modelValue","selected-legend-key","topic-key","legends"])]),h3.value?(h2(),v2("div",{key:0,class:"fgw-map-feature-info",style:p0(n2.value)},[K3(rx,{feature:y.value,empty:w.value,loading:U.value,width:460,height:I2.value},null,8,["feature","empty","loading","height"])],4)):l1("",!0),M("div",zK,[K3(Hl,{modelValue:a.value,"onUpdate:modelValue":_2[3]||(_2[3]=s3=>a.value=s3)},null,8,["modelValue"])])]),j.value?(h2(),v2("div",GK,[_2[5]||(_2[5]=K9('
LOADING
',1)),M("div",VK,[M("span",HK,L2(O.value),1),_2[4]||(_2[4]=M("span",{class:"unit"},"%",-1))])])):l1("",!0)])}}};function WK(n){n("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees"),n("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees"),n("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");for(var e=1;e<=60;++e)n("EPSG:"+(32600+e),"+proj=utm +zone="+e+" +datum=WGS84 +units=m"),n("EPSG:"+(32700+e),"+proj=utm +zone="+e+" +south +datum=WGS84 +units=m");n("EPSG:5041","+title=WGS 84 / UPS North (E,N) +proj=stere +lat_0=90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +datum=WGS84 +units=m"),n("EPSG:5042","+title=WGS 84 / UPS South (E,N) +proj=stere +lat_0=-90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +datum=WGS84 +units=m"),n.WGS84=n["EPSG:4326"],n["EPSG:3785"]=n["EPSG:3857"],n.GOOGLE=n["EPSG:3857"],n["EPSG:900913"]=n["EPSG:3857"],n["EPSG:102113"]=n["EPSG:3857"]}var c8=1,d8=2,Cr=3,$K=4,Eh=5,_S=6378137,YK=6356752314e-3,SS=.0066943799901413165,h4=484813681109536e-20,J3=Math.PI/2,qK=.16666666666666666,KK=.04722222222222222,XK=.022156084656084655,h1=1e-10,ze=.017453292519943295,An=57.29577951308232,q0=Math.PI/4,z4=Math.PI*2,Ke=3.14159265359,Dn={};Dn.greenwich=0;Dn.lisbon=-9.131906111111;Dn.paris=2.337229166667;Dn.bogota=-74.080916666667;Dn.madrid=-3.687938888889;Dn.rome=12.452333333333;Dn.bern=7.439583333333;Dn.jakarta=106.807719444444;Dn.ferro=-17.666666666667;Dn.brussels=4.367975;Dn.stockholm=18.058277777778;Dn.athens=23.7163375;Dn.oslo=10.722916666667;const JK={mm:{to_meter:.001},cm:{to_meter:.01},ft:{to_meter:.3048},"us-ft":{to_meter:1200/3937},fath:{to_meter:1.8288},kmi:{to_meter:1852},"us-ch":{to_meter:20.1168402336805},"us-mi":{to_meter:1609.34721869444},km:{to_meter:1e3},"ind-ft":{to_meter:.30479841},"ind-yd":{to_meter:.91439523},mi:{to_meter:1609.344},yd:{to_meter:.9144},ch:{to_meter:20.1168},link:{to_meter:.201168},dm:{to_meter:.1},in:{to_meter:.0254},"ind-ch":{to_meter:20.11669506},"us-in":{to_meter:.025400050800101},"us-yd":{to_meter:.914401828803658}};var bS=/[\s_\-\/\(\)]/g;function a9(n,e){if(n[e])return n[e];for(var t=Object.keys(n),i=e.toLowerCase().replace(bS,""),r=-1,a,s;++rArray.isArray(i)&&i[0]==="ID");return t&&t.length>=3?{authority:t[1],code:parseInt(t[2],10)}:null}static convertUnit(e,t="unit"){if(!e||e.length<3)return{type:t,name:"unknown",conversion_factor:null};const i=e[1],r=parseFloat(e[2])||null,a=e.find(o=>Array.isArray(o)&&o[0]==="ID"),s=a?{authority:a[1],code:parseInt(a[2],10)}:null;return{type:t,name:i,conversion_factor:r,id:s}}static convertAxis(e){const t=e[1]||"Unknown";let i;const r=t.match(/^\((.)\)$/);if(r){const u=r[1].toUpperCase();if(u==="E")i="east";else if(u==="N")i="north";else if(u==="U")i="up";else if(e[2])i=e[2];else throw new Error(`Unknown axis abbreviation: ${u}`)}else i=e[2]||"unknown";const a=e.find(u=>Array.isArray(u)&&u[0]==="ORDER"),s=a?parseInt(a[1],10):null,o=e.find(u=>Array.isArray(u)&&(u[0]==="LENGTHUNIT"||u[0]==="ANGLEUNIT"||u[0]==="SCALEUNIT")),l=this.convertUnit(o);return{name:t,direction:i,unit:l,order:s}}static extractAxes(e){return e.filter(t=>Array.isArray(t)&&t[0]==="AXIS").map(t=>this.convertAxis(t)).sort((t,i)=>(t.order||0)-(i.order||0))}static convert(e,t={}){switch(e[0]){case"PROJCRS":t.type="ProjectedCRS",t.name=e[1],t.base_crs=e.find(f=>Array.isArray(f)&&f[0]==="BASEGEOGCRS")?this.convert(e.find(f=>Array.isArray(f)&&f[0]==="BASEGEOGCRS")):null,t.conversion=e.find(f=>Array.isArray(f)&&f[0]==="CONVERSION")?this.convert(e.find(f=>Array.isArray(f)&&f[0]==="CONVERSION")):null;const i=e.find(f=>Array.isArray(f)&&f[0]==="CS");i&&(t.coordinate_system={type:i[1],axis:this.extractAxes(e)});const r=e.find(f=>Array.isArray(f)&&f[0]==="LENGTHUNIT");if(r){const f=this.convertUnit(r);t.coordinate_system.unit=f}t.id=this.getId(e);break;case"BASEGEOGCRS":case"GEOGCRS":case"GEODCRS":t.type=e[0]==="GEODCRS"?"GeodeticCRS":"GeographicCRS",t.name=e[1];const a=e.find(f=>Array.isArray(f)&&(f[0]==="DATUM"||f[0]==="ENSEMBLE"));if(a){const f=this.convert(a);a[0]==="ENSEMBLE"?t.datum_ensemble=f:t.datum=f;const v=e.find(_=>Array.isArray(_)&&_[0]==="PRIMEM");v&&v[1]!=="Greenwich"&&(f.prime_meridian={name:v[1],longitude:parseFloat(v[2])})}t.coordinate_system={type:"ellipsoidal",axis:this.extractAxes(e)},t.id=this.getId(e);break;case"DATUM":t.type="GeodeticReferenceFrame",t.name=e[1],t.ellipsoid=e.find(f=>Array.isArray(f)&&f[0]==="ELLIPSOID")?this.convert(e.find(f=>Array.isArray(f)&&f[0]==="ELLIPSOID")):null;break;case"ENSEMBLE":t.type="DatumEnsemble",t.name=e[1],t.members=e.filter(f=>Array.isArray(f)&&f[0]==="MEMBER").map(f=>({type:"DatumEnsembleMember",name:f[1],id:this.getId(f)}));const s=e.find(f=>Array.isArray(f)&&f[0]==="ENSEMBLEACCURACY");s&&(t.accuracy=parseFloat(s[1]));const o=e.find(f=>Array.isArray(f)&&f[0]==="ELLIPSOID");o&&(t.ellipsoid=this.convert(o)),t.id=this.getId(e);break;case"ELLIPSOID":t.type="Ellipsoid",t.name=e[1],t.semi_major_axis=parseFloat(e[2]),t.inverse_flattening=parseFloat(e[3]),e.find(f=>Array.isArray(f)&&f[0]==="LENGTHUNIT")&&this.convert(e.find(f=>Array.isArray(f)&&f[0]==="LENGTHUNIT"),t);break;case"CONVERSION":t.type="Conversion",t.name=e[1],t.method=e.find(f=>Array.isArray(f)&&f[0]==="METHOD")?this.convert(e.find(f=>Array.isArray(f)&&f[0]==="METHOD")):null,t.parameters=e.filter(f=>Array.isArray(f)&&f[0]==="PARAMETER").map(f=>this.convert(f));break;case"METHOD":t.type="Method",t.name=e[1],t.id=this.getId(e);break;case"PARAMETER":t.type="Parameter",t.name=e[1],t.value=parseFloat(e[2]),t.unit=this.convertUnit(e.find(f=>Array.isArray(f)&&(f[0]==="LENGTHUNIT"||f[0]==="ANGLEUNIT"||f[0]==="SCALEUNIT"))),t.id=this.getId(e);break;case"BOUNDCRS":t.type="BoundCRS";const l=e.find(f=>Array.isArray(f)&&f[0]==="SOURCECRS");if(l){const f=l.find(v=>Array.isArray(v));t.source_crs=f?this.convert(f):null}const u=e.find(f=>Array.isArray(f)&&f[0]==="TARGETCRS");if(u){const f=u.find(v=>Array.isArray(v));t.target_crs=f?this.convert(f):null}const d=e.find(f=>Array.isArray(f)&&f[0]==="ABRIDGEDTRANSFORMATION");d?t.transformation=this.convert(d):t.transformation=null;break;case"ABRIDGEDTRANSFORMATION":if(t.type="Transformation",t.name=e[1],t.method=e.find(f=>Array.isArray(f)&&f[0]==="METHOD")?this.convert(e.find(f=>Array.isArray(f)&&f[0]==="METHOD")):null,t.parameters=e.filter(f=>Array.isArray(f)&&(f[0]==="PARAMETER"||f[0]==="PARAMETERFILE")).map(f=>{if(f[0]==="PARAMETER")return this.convert(f);if(f[0]==="PARAMETERFILE")return{name:f[1],value:f[2],id:{authority:"EPSG",code:8656}}}),t.parameters.length===7){const f=t.parameters[6];f.name==="Scale difference"&&(f.value=Math.round((f.value-1)*1e12)/1e6)}t.id=this.getId(e);break;case"AXIS":t.coordinate_system||(t.coordinate_system={type:"unspecified",axis:[]}),t.coordinate_system.axis.push(this.convertAxis(e));break;case"LENGTHUNIT":const h=this.convertUnit(e,"LinearUnit");t.coordinate_system&&t.coordinate_system.axis&&t.coordinate_system.axis.forEach(f=>{f.unit||(f.unit=h)}),h.conversion_factor&&h.conversion_factor!==1&&t.semi_major_axis&&(t.semi_major_axis={value:t.semi_major_axis,unit:h});break;default:t.keyword=e[0];break}return t}}class ZK extends ax{static convert(e,t={}){return super.convert(e,t),t.coordinate_system&&t.coordinate_system.subtype==="Cartesian"&&delete t.coordinate_system,t.usage&&delete t.usage,t}}class QK extends ax{static convert(e,t={}){super.convert(e,t);const i=e.find(a=>Array.isArray(a)&&a[0]==="CS");i&&(t.coordinate_system={subtype:i[1],axis:this.extractAxes(e)});const r=e.find(a=>Array.isArray(a)&&a[0]==="USAGE");if(r){const a=r.find(l=>Array.isArray(l)&&l[0]==="SCOPE"),s=r.find(l=>Array.isArray(l)&&l[0]==="AREA"),o=r.find(l=>Array.isArray(l)&&l[0]==="BBOX");t.usage={},a&&(t.usage.scope=a[1]),s&&(t.usage.area=s[1]),o&&(t.usage.bbox=o.slice(1))}return t}}function eX(n){return n.find(e=>Array.isArray(e)&&e[0]==="USAGE")?"2019":(n.find(e=>Array.isArray(e)&&e[0]==="CS")||n[0]==="BOUNDCRS"||n[0]==="PROJCRS"||n[0]==="GEOGCRS","2015")}function tX(n){return(eX(n)==="2019"?QK:ZK).convert(n)}function nX(n){const e=n.toUpperCase();return e.includes("PROJCRS")||e.includes("GEOGCRS")||e.includes("BOUNDCRS")||e.includes("VERTCRS")||e.includes("LENGTHUNIT")||e.includes("ANGLEUNIT")||e.includes("SCALEUNIT")?"WKT2":(e.includes("PROJCS")||e.includes("GEOGCS")||e.includes("LOCAL_CS")||e.includes("VERT_CS")||e.includes("UNIT"),"WKT1")}var G4=1,sx=2,ox=3,sl=4,lx=5,Xf=-1,iX=/\s/,rX=/[A-Za-z]/,aX=/[A-Za-z84_]/,jl=/[,\]]/,ux=/[\d\.E\-\+]/;function u5(n){if(typeof n!="string")throw new Error("not a string");this.text=n.trim(),this.level=0,this.place=0,this.root=null,this.stack=[],this.currentObject=null,this.state=G4}u5.prototype.readCharicter=function(){var n=this.text[this.place++];if(this.state!==sl)for(;iX.test(n);){if(this.place>=this.text.length)return;n=this.text[this.place++]}switch(this.state){case G4:return this.neutral(n);case sx:return this.keyword(n);case sl:return this.quoted(n);case lx:return this.afterquote(n);case ox:return this.number(n);case Xf:return}};u5.prototype.afterquote=function(n){if(n==='"'){this.word+='"',this.state=sl;return}if(jl.test(n)){this.word=this.word.trim(),this.afterItem(n);return}throw new Error(`havn't handled "`+n+'" in afterquote yet, index '+this.place)};u5.prototype.afterItem=function(n){if(n===","){this.word!==null&&this.currentObject.push(this.word),this.word=null,this.state=G4;return}if(n==="]"){this.level--,this.word!==null&&(this.currentObject.push(this.word),this.word=null),this.state=G4,this.currentObject=this.stack.pop(),this.currentObject||(this.state=Xf);return}};u5.prototype.number=function(n){if(ux.test(n)){this.word+=n;return}if(jl.test(n)){this.word=parseFloat(this.word),this.afterItem(n);return}throw new Error(`havn't handled "`+n+'" in number yet, index '+this.place)};u5.prototype.quoted=function(n){if(n==='"'){this.state=lx;return}this.word+=n};u5.prototype.keyword=function(n){if(aX.test(n)){this.word+=n;return}if(n==="["){var e=[];e.push(this.word),this.level++,this.root===null?this.root=e:this.currentObject.push(e),this.stack.push(this.currentObject),this.currentObject=e,this.state=G4;return}if(jl.test(n)){this.afterItem(n);return}throw new Error(`havn't handled "`+n+'" in keyword yet, index '+this.place)};u5.prototype.neutral=function(n){if(rX.test(n)){this.word=n,this.state=sx;return}if(n==='"'){this.word="",this.state=sl;return}if(ux.test(n)){this.word=n,this.state=ox;return}if(jl.test(n)){this.afterItem(n);return}throw new Error(`havn't handled "`+n+'" in neutral yet, index '+this.place)};u5.prototype.output=function(){for(;this.place0?90:-90),n.lat_ts=n.lat1,delete n.lat1):!n.lat_ts&&n.lat0&&(e==="polar stereographic"||e==="polar stereographic (variant a)")&&(n.lat_ts=n.lat0,n.lat0=_6(n.lat0>0?90:-90),delete n.lat1)}function TS(n){let e={units:null,to_meter:void 0};return typeof n=="string"?(e.units=n.toLowerCase(),e.units==="metre"&&(e.units="meter"),e.units==="meter"&&(e.to_meter=1)):n&&n.name&&(e.units=n.name.toLowerCase(),e.units==="metre"&&(e.units="meter"),e.to_meter=n.conversion_factor),e}function wS(n){return typeof n=="object"?n.value*n.unit.conversion_factor:n}function xS(n,e){n.ellipsoid.radius?(e.a=n.ellipsoid.radius,e.rf=0):(e.a=wS(n.ellipsoid.semi_major_axis),n.ellipsoid.inverse_flattening!==void 0?e.rf=n.ellipsoid.inverse_flattening:n.ellipsoid.semi_major_axis!==void 0&&n.ellipsoid.semi_minor_axis!==void 0&&(e.rf=e.a/(e.a-wS(n.ellipsoid.semi_minor_axis))))}function ol(n,e={}){return!n||typeof n!="object"?n:n.type==="BoundCRS"?(ol(n.source_crs,e),n.transformation&&(n.transformation.method&&n.transformation.method.name==="NTv2"?e.nadgrids=n.transformation.parameters[0].value:e.datum_params=n.transformation.parameters.map(t=>t.value)),e):(Object.keys(n).forEach(t=>{const i=n[t];if(i!==null)switch(t){case"name":if(e.srsCode)break;e.name=i,e.srsCode=i;break;case"type":i==="GeographicCRS"?e.projName="longlat":i==="GeodeticCRS"?n.coordinate_system&&n.coordinate_system.subtype==="Cartesian"?e.projName="geocent":e.projName="longlat":i==="ProjectedCRS"&&n.conversion&&n.conversion.method&&(e.projName=n.conversion.method.name);break;case"datum":case"datum_ensemble":i.ellipsoid&&(e.ellps=i.ellipsoid.name,xS(i,e)),i.prime_meridian&&(e.from_greenwich=i.prime_meridian.longitude*Math.PI/180);break;case"ellipsoid":e.ellps=i.name,xS(i,e);break;case"prime_meridian":e.long0=(i.longitude||0)*Math.PI/180;break;case"coordinate_system":if(i.axis){const r={east:"e",north:"n",west:"w",south:"s",up:"u",down:"d",geocentricx:"e",geocentricy:"n",geocentricz:"u"},a=i.axis.map(s=>r[s.direction.toLowerCase()]);if(a.every(Boolean)&&(e.axis=a.join(""),e.axis.length===2&&(e.axis+="u")),i.unit){const{units:s,to_meter:o}=TS(i.unit);e.units=s,e.to_meter=o}else if(i.axis[0]&&i.axis[0].unit){const{units:s,to_meter:o}=TS(i.axis[0].unit);e.units=s,e.to_meter=o}}break;case"id":i.authority&&i.code&&(e.title=i.authority+":"+i.code);break;case"conversion":i.method&&i.method.name&&(e.projName=i.method.name),i.parameters&&i.parameters.forEach(r=>{const a=r.name.toLowerCase().replace(/\s+/g,"_"),s=r.value;r.unit&&r.unit.conversion_factor?e[a]=s*r.unit.conversion_factor:r.unit==="degree"?e[a]=s*Math.PI/180:e[a]=s});break;case"unit":i.name&&(e.units=i.name.toLowerCase(),e.units==="metre"&&(e.units="meter")),i.conversion_factor&&(e.to_meter=i.conversion_factor);break;case"base_crs":ol(i,e),e.datumCode=i.id?i.id.authority+"_"+i.id.code:i.name;break}}),e.latitude_of_false_origin!==void 0&&(e.lat0=e.latitude_of_false_origin),e.longitude_of_false_origin!==void 0&&(e.long0=e.longitude_of_false_origin),e.latitude_of_standard_parallel!==void 0&&(e.lat0=e.latitude_of_standard_parallel,e.lat1=e.latitude_of_standard_parallel),e.latitude_of_1st_standard_parallel!==void 0&&(e.lat1=e.latitude_of_1st_standard_parallel),e.latitude_of_2nd_standard_parallel!==void 0&&(e.lat2=e.latitude_of_2nd_standard_parallel),e.latitude_of_projection_centre!==void 0&&(e.lat0=e.latitude_of_projection_centre),e.longitude_of_projection_centre!==void 0&&(e.longc=e.longitude_of_projection_centre),e.easting_at_false_origin!==void 0&&(e.x0=e.easting_at_false_origin),e.northing_at_false_origin!==void 0&&(e.y0=e.northing_at_false_origin),e.latitude_of_natural_origin!==void 0&&(e.lat0=e.latitude_of_natural_origin),e.longitude_of_natural_origin!==void 0&&(e.long0=e.longitude_of_natural_origin),e.longitude_of_origin!==void 0&&(e.long0=e.longitude_of_origin),e.false_easting!==void 0&&(e.x0=e.false_easting),e.easting_at_projection_centre&&(e.x0=e.easting_at_projection_centre),e.false_northing!==void 0&&(e.y0=e.false_northing),e.northing_at_projection_centre&&(e.y0=e.northing_at_projection_centre),e.standard_parallel_1!==void 0&&(e.lat1=e.standard_parallel_1),e.standard_parallel_2!==void 0&&(e.lat2=e.standard_parallel_2),e.scale_factor_at_natural_origin!==void 0&&(e.k0=e.scale_factor_at_natural_origin),e.scale_factor_at_projection_centre!==void 0&&(e.k0=e.scale_factor_at_projection_centre),e.scale_factor_on_pseudo_standard_parallel!==void 0&&(e.k0=e.scale_factor_on_pseudo_standard_parallel),e.azimuth!==void 0&&(e.alpha=e.azimuth),e.azimuth_at_projection_centre!==void 0&&(e.alpha=e.azimuth_at_projection_centre),e.angle_from_rectified_to_skew_grid&&(e.rectified_grid_angle=e.angle_from_rectified_to_skew_grid),cx(e),e)}var lX=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"];function uX(n,e){var t=e[0],i=e[1];!(t in n)&&i in n&&(n[t]=n[i],e.length===3&&(n[t]=e[2](n[t])))}function dx(n){for(var e=Object.keys(n),t=0,i=e.length;t-1;var e=a9(n,"authority");if(e){var t=a9(e,"epsg");return t&&AS.indexOf(t)>-1}}function mX(n){var e=a9(n,"extension");if(e)return a9(e,"proj4")}function gX(n){return n[0]==="+"}function vX(n){let e;if(dX(n))if(hX(n))e=Lt[n];else if(fX(n)){e=ll(n);var t=mX(e);t&&(e=Ph(t))}else gX(n)&&(e=Ph(n));else"projName"in n?e=n:e=ll(n);return e&&pX(e)?Lt["EPSG:3857"]:e}function CS(n,e){n=n||{};var t,i;if(!e)return n;for(i in e)t=e[i],t!==void 0&&(n[i]=t);return n}function bi(n,e,t){var i=n*e;return t/Math.sqrt(1-i*i)}function es(n){return n<0?-1:1}function p1(n,e){return e||Math.abs(n)<=Ke?n:n-es(n)*z4}function J6(n,e,t){var i=n*t,r=.5*n;return i=Math.pow((1-i)/(1+i),r),Math.tan(.5*(J3-e))/i}function V4(n,e){for(var t=.5*n,i,r,a=J3-2*Math.atan(e),s=0;s<=15;s++)if(i=n*Math.sin(a),r=J3-2*Math.atan(e*Math.pow((1-i)/(1+i),t))-a,a+=r,Math.abs(r)<=1e-10)return a;return-9999}function yX(){var n=this.b/this.a;this.es=1-n*n,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=bi(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)}function _X(n){var e=n.x,t=n.y;if(t*An>90&&t*An<-90&&e*An>180&&e*An<-180)return null;var i,r;if(Math.abs(Math.abs(t)-J3)<=h1)return null;if(this.sphere)i=this.x0+this.a*this.k0*p1(e-this.long0,this.over),r=this.y0+this.a*this.k0*Math.log(Math.tan(q0+.5*t));else{var a=Math.sin(t),s=J6(this.e,t,a);i=this.x0+this.a*this.k0*p1(e-this.long0,this.over),r=this.y0-this.a*this.k0*Math.log(s)}return n.x=i,n.y=r,n}function SX(n){var e=n.x-this.x0,t=n.y-this.y0,i,r;if(this.sphere)r=J3-2*Math.atan(Math.exp(-t/(this.a*this.k0)));else{var a=Math.exp(-t/(this.a*this.k0));if(r=V4(this.e,a),r===-9999)return null}return i=p1(this.long0+e/(this.a*this.k0),this.over),n.x=i,n.y=r,n}var bX=["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","Mercator_Variant_A","merc"];const TX={init:yX,forward:_X,inverse:SX,names:bX};function wX(){}function MS(n){return n}var hx=["longlat","identity"];const xX={init:wX,forward:MS,inverse:MS,names:hx};var AX=[TX,xX],V9={},mr=[];function fx(n,e){var t=mr.length;return n.names?(mr[t]=n,n.names.forEach(function(i){V9[i.toLowerCase()]=t}),this):(console.log(e),!0)}function px(n){return n.replace(/[-\(\)\s]+/g," ").trim().replace(/ /g,"_")}function CX(n){if(!n)return!1;var e=n.toLowerCase();if(typeof V9[e]!="undefined"&&mr[V9[e]]||(e=px(e),e in V9&&mr[V9[e]]))return mr[V9[e]]}function MX(){AX.forEach(fx)}const EX={start:MX,add:fx,get:CX};var mx={MERIT:{a:6378137,rf:298.257,ellipseName:"MERIT 1983"},SGS85:{a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},GRS80:{a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},IAU76:{a:6378140,rf:298.257,ellipseName:"IAU 1976"},airy:{a:6377563396e-3,b:635625691e-2,ellipseName:"Airy 1830"},APL4:{a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},NWL9D:{a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},mod_airy:{a:6377340189e-3,b:6356034446e-3,ellipseName:"Modified Airy"},andrae:{a:637710443e-2,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},aust_SA:{a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},GRS67:{a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},bessel:{a:6377397155e-3,rf:299.1528128,ellipseName:"Bessel 1841"},bess_nam:{a:6377483865e-3,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},clrk66:{a:63782064e-1,b:63565838e-1,ellipseName:"Clarke 1866"},clrk80:{a:6378249145e-3,rf:293.4663,ellipseName:"Clarke 1880 mod."},clrk80ign:{a:63782492e-1,b:6356515,rf:293.4660213,ellipseName:"Clarke 1880 (IGN)"},clrk58:{a:6378293645208759e-9,rf:294.2606763692654,ellipseName:"Clarke 1858"},CPM:{a:63757387e-1,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},delmbr:{a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},engelis:{a:637813605e-2,rf:298.2566,ellipseName:"Engelis 1985"},evrst30:{a:6377276345e-3,rf:300.8017,ellipseName:"Everest 1830"},evrst48:{a:6377304063e-3,rf:300.8017,ellipseName:"Everest 1948"},evrst56:{a:6377301243e-3,rf:300.8017,ellipseName:"Everest 1956"},evrst69:{a:6377295664e-3,rf:300.8017,ellipseName:"Everest 1969"},evrstSS:{a:6377298556e-3,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},fschr60:{a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},fschr60m:{a:6378155,rf:298.3,ellipseName:"Fischer 1960"},fschr68:{a:6378150,rf:298.3,ellipseName:"Fischer 1968"},helmert:{a:6378200,rf:298.3,ellipseName:"Helmert 1906"},hough:{a:6378270,rf:297,ellipseName:"Hough"},intl:{a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},kaula:{a:6378163,rf:298.24,ellipseName:"Kaula 1961"},lerch:{a:6378139,rf:298.257,ellipseName:"Lerch 1979"},mprts:{a:6397300,rf:191,ellipseName:"Maupertius 1738"},new_intl:{a:63781575e-1,b:63567722e-1,ellipseName:"New International 1967"},plessis:{a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},krass:{a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},SEasia:{a:6378155,b:63567733205e-4,ellipseName:"Southeast Asia"},walbeck:{a:6376896,b:63558348467e-4,ellipseName:"Walbeck"},WGS60:{a:6378165,rf:298.3,ellipseName:"WGS 60"},WGS66:{a:6378145,rf:298.25,ellipseName:"WGS 66"},WGS7:{a:6378135,rf:298.26,ellipseName:"WGS 72"},WGS84:{a:6378137,rf:298.257223563,ellipseName:"WGS 84"},sphere:{a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"}};const PX=mx.WGS84;function RX(n,e,t,i){var r=n*n,a=e*e,s=(r-a)/r,o=0;i?(n*=1-s*(qK+s*(KK+s*XK)),r=n*n,s=0):o=Math.sqrt(s);var l=(r-a)/a;return{es:s,e:o,ep2:l}}function NX(n,e,t,i,r){if(!n){var a=a9(mx,i);a||(a=PX),n=a.a,e=a.b,t=a.rf}return t&&!e&&(e=(1-1/t)*n),(t===0||Math.abs(n-e)3&&(o.datum_params[3]!==0||o.datum_params[4]!==0||o.datum_params[5]!==0||o.datum_params[6]!==0)&&(o.datum_type=d8,o.datum_params[3]*=h4,o.datum_params[4]*=h4,o.datum_params[5]*=h4,o.datum_params[6]=o.datum_params[6]/1e6+1)),s&&(o.datum_type=Cr,o.grids=s),o.a=t,o.b=i,o.es=r,o.ep2=a,o}var Jf={};function kX(n,e,t){return e instanceof ArrayBuffer?FX(n,e,t):{ready:DX(n,e)}}function FX(n,e,t){var i=!0;t!==void 0&&t.includeErrorFields===!1&&(i=!1);var r=new DataView(e),a=BX(r),s=zX(r,a),o=GX(r,s,a,i),l={header:s,subgrids:o};return Jf[n]=l,l}function DX(n,e){return k3(this,null,function*(){for(var t=[],i=yield e.getImageCount(),r=i-1;r>=0;r--){var a=yield e.getImage(r),s=yield a.readRasters(),o=s,l=[a.getWidth(),a.getHeight()],u=a.getBoundingBox().map(ES),d=typeof a.fileDirectory.getValue=="function"?a.fileDirectory.getValue("ModelPixelScale"):a.fileDirectory.ModelPixelScale,h=[d[0],d[1]].map(ES),f=u[0]+(l[0]-1)*h[0],v=u[3]-(l[1]-1)*h[1],_=o[0],b=o[1],y=[];for(let P=l[1]-1;P>=0;P--)for(let O=l[0]-1;O>=0;O--){var w=P*l[0]+O;y.push([-$5(b[w]),$5(_[w])])}t.push({del:h,lim:l,ll:[-f,v],cvs:y})}var U={header:{nSubgrids:i},subgrids:t};return Jf[n]=U,U})}function UX(n){if(n===void 0)return null;var e=n.split(",");return e.map(OX)}function OX(n){if(n.length===0)return null;var e=n[0]==="@";return e&&(n=n.slice(1)),n==="null"?{name:"null",mandatory:!e,grid:null,isNull:!0}:{name:n,mandatory:!e,grid:Jf[n]||null,isNull:!1}}function ES(n){return n*Math.PI/180}function $5(n){return n/3600*Math.PI/180}function BX(n){var e=n.getInt32(8,!1);return e===11?!1:(e=n.getInt32(8,!0),e!==11&&console.warn("Failed to detect nadgrid endian-ness, defaulting to little-endian"),!0)}function zX(n,e){return{nFields:n.getInt32(8,e),nSubgridFields:n.getInt32(24,e),nSubgrids:n.getInt32(40,e),shiftType:Rh(n,56,56+8).trim(),fromSemiMajorAxis:n.getFloat64(120,e),fromSemiMinorAxis:n.getFloat64(136,e),toSemiMajorAxis:n.getFloat64(152,e),toSemiMinorAxis:n.getFloat64(168,e)}}function Rh(n,e,t){return String.fromCharCode.apply(null,new Uint8Array(n.buffer.slice(e,t)))}function GX(n,e,t,i){for(var r=176,a=[],s=0;s5e-11?!1:n.datum_type===c8?n.datum_params[0]===e.datum_params[0]&&n.datum_params[1]===e.datum_params[1]&&n.datum_params[2]===e.datum_params[2]:n.datum_type===d8?n.datum_params[0]===e.datum_params[0]&&n.datum_params[1]===e.datum_params[1]&&n.datum_params[2]===e.datum_params[2]&&n.datum_params[3]===e.datum_params[3]&&n.datum_params[4]===e.datum_params[4]&&n.datum_params[5]===e.datum_params[5]&&n.datum_params[6]===e.datum_params[6]:!0}function gx(n,e,t){var i=n.x,r=n.y,a=n.z?n.z:0,s,o,l,u;if(r<-J3&&r>-1.001*J3)r=-J3;else if(r>J3&&r<1.001*J3)r=J3;else{if(r<-J3)return{x:-1/0,y:-1/0,z:n.z};if(r>J3)return{x:1/0,y:1/0,z:n.z}}return i>Math.PI&&(i-=2*Math.PI),o=Math.sin(r),u=Math.cos(r),l=o*o,s=t/Math.sqrt(1-e*l),{x:(s+a)*u*Math.cos(i),y:(s+a)*u*Math.sin(i),z:(s*(1-e)+a)*o}}function vx(n,e,t,i){var r=1e-12,a=r*r,s=30,o,l,u,d,h,f,v,_,b,y,w,U,P,O=n.x,j=n.y,q=n.z?n.z:0,K,c2,S2;if(o=Math.sqrt(O*O+j*j),l=Math.sqrt(O*O+j*j+q*q),o/ta&&Pi.y||v>i.x||yo&&Math.abs(l.y)>o);if(s<0)return console.log("Inverse grid shift iterator failed to converge."),i;i.x=p1(a.x+t.ll[0]),i.y=a.y+t.ll[1]}else isNaN(a.x)||(i.x=n.x+a.x,i.y=n.y+a.y);return i}function RS(n,e){var t={x:n.x/e.del[0],y:n.y/e.del[1]},i={x:Math.floor(t.x),y:Math.floor(t.y)},r={x:t.x-1*i.x,y:t.y-1*i.y},a={x:Number.NaN,y:Number.NaN},s;if(i.x<0||i.x>=e.lim[0]||i.y<0||i.y>=e.lim[1])return a;s=i.y*e.lim[0]+i.x;var o={x:e.cvs[s][0],y:e.cvs[s][1]};s++;var l={x:e.cvs[s][0],y:e.cvs[s][1]};s+=e.lim[0];var u={x:e.cvs[s][0],y:e.cvs[s][1]};s--;var d={x:e.cvs[s][0],y:e.cvs[s][1]},h=r.x*r.y,f=r.x*(1-r.y),v=(1-r.x)*(1-r.y),_=(1-r.x)*r.y;return a.x=v*o.x+f*l.x+_*d.x+h*u.x,a.y=v*o.y+f*l.y+_*d.y+h*u.y,a}var H9=["x","y","z"];function XX(n,e){const t={};for(let i=0,r=n.axis.length;i2&&(e.z=n[2]),n.length>3&&(e.m=n[3]),e}function ZX(n){NS(n.x),NS(n.y)}function NS(n){if(typeof Number.isFinite=="function"){if(Number.isFinite(n))return;throw new TypeError("coordinates must be finite numbers")}if(typeof n!="number"||n!==n||!isFinite(n))throw new TypeError("coordinates must be finite numbers")}function QX(n,e){return(n.datum.datum_type===c8||n.datum.datum_type===d8||n.datum.datum_type===Cr)&&e.datumCode!=="WGS84"||(e.datum.datum_type===c8||e.datum.datum_type===d8||e.datum.datum_type===Cr)&&n.datumCode!=="WGS84"}function ul(n,e,t,i){var r,a=t.z!==void 0;if(ZX(t),n.datum&&e.datum&&QX(n,e)&&(r=new N6("WGS84"),t=ul(n,r,t,i),n=r),i&&n.axis!=="enu"&&(t=XX(n,t)),n.projName==="longlat")t={x:t.x*ze,y:t.y*ze,z:t.z||0};else if(n.to_meter&&(t={x:t.x*n.to_meter,y:t.y*n.to_meter,z:t.z||0}),t=n.inverse(t),!t)return;if(n.from_greenwich&&(t.x+=n.from_greenwich),t=qX(n.datum,e.datum,t),!!t)return t=t,e.from_greenwich&&(t={x:t.x-e.from_greenwich,y:t.y,z:t.z||0}),e.projName==="longlat"?t={x:t.x*An,y:t.y*An,z:t.z||0}:(t=e.forward(t),e.to_meter&&(t={x:t.x/e.to_meter,y:t.y/e.to_meter,z:t.z||0})),i&&e.axis!=="enu"?JX(e,t):(t&&!a&&e.projName!=="geocent"&&delete t.z,t)}function eJ(n,e,t,i){var r;return Array.isArray(t)?r=Zf(t):r={x:t.x,y:t.y,z:t.z,m:t.m},ul(n,e,r,i)}var LS=N6("WGS84");function Ed(n,e,t,i){var r,a,s;return Array.isArray(t)?(r=ul(n,e,Zf(t),i)||{x:NaN,y:NaN},t.length>2?(a=typeof n.name!="undefined"&&n.name==="geocent"||typeof e.name!="undefined"&&e.name==="geocent",a?typeof r.z=="number"?[r.x,r.y,r.z].concat(t.slice(3)):[r.x,r.y,t[2]].concat(t.slice(3)):i&&typeof r.z=="number"?[r.x,r.y,r.z].concat(t.slice(3)):[r.x,r.y].concat(t.slice(2))):[r.x,r.y]):(r=ul(n,e,{x:t.x,y:t.y,z:t.z,m:t.m},i)||{x:NaN,y:NaN},s=Object.keys(t),s.length===2||(a=typeof n.name!="undefined"&&n.name==="geocent"||typeof e.name!="undefined"&&e.name==="geocent",s.forEach(function(o){o==="x"||o==="y"||o==="z"&&(a||i)||(r[o]=t[o])})),r)}function oo(n){return n instanceof N6?n:typeof n=="object"&&"oProj"in n?n.oProj:N6(n)}function tJ(n,e,t){var i,r,a=!1,s;return typeof e=="undefined"?(r=oo(n),i=LS,a=!0):(typeof e.x!="undefined"||Array.isArray(e))&&(t=e,r=oo(n),i=LS,a=!0),i||(i=oo(n)),r||(r=oo(e)),t?Ed(i,r,t):(s={forward:function(o,l){return Ed(i,r,o,l)},inverse:function(o,l){return Ed(r,i,o,l)}},a&&(s.oProj=r),s)}var IS=6,yx="AJSAJS",_x="AFAFAF",gr=65,vn=73,S6=79,Qa=86,e4=90;const nJ={forward:Sx,inverse:iJ,toPoint:bx};function Sx(n,e){return e=e||5,sJ(rJ({lat:n[1],lon:n[0]}),e)}function iJ(n){var e=Qf(wx(n.toUpperCase()));return e.lat&&e.lon?[e.lon,e.lat,e.lon,e.lat]:[e.left,e.bottom,e.right,e.top]}function bx(n){var e=Qf(wx(n.toUpperCase()));return e.lat&&e.lon?[e.lon,e.lat]:[(e.left+e.right)/2,(e.top+e.bottom)/2]}function Pd(n){return n*(Math.PI/180)}function kS(n){return 180*(n/Math.PI)}function rJ(n){var e=n.lat,t=n.lon,i=6378137,r=.00669438,a=.9996,s,o,l,u,d,h,f,v=Pd(e),_=Pd(t),b,y;y=Math.floor((t+180)/6)+1,t===180&&(y=60),e>=56&&e<64&&t>=3&&t<12&&(y=32),e>=72&&e<84&&(t>=0&&t<9?y=31:t>=9&&t<21?y=33:t>=21&&t<33?y=35:t>=33&&t<42&&(y=37)),s=(y-1)*6-180+3,b=Pd(s),o=r/(1-r),l=i/Math.sqrt(1-r*Math.sin(v)*Math.sin(v)),u=Math.tan(v)*Math.tan(v),d=o*Math.cos(v)*Math.cos(v),h=Math.cos(v)*(_-b),f=i*((1-r/4-3*r*r/64-5*r*r*r/256)*v-(3*r/8+3*r*r/32+45*r*r*r/1024)*Math.sin(2*v)+(15*r*r/256+45*r*r*r/1024)*Math.sin(4*v)-35*r*r*r/3072*Math.sin(6*v));var w=a*l*(h+(1-u+d)*h*h*h/6+(5-18*u+u*u+72*d-58*o)*h*h*h*h*h/120)+5e5,U=a*(f+l*Math.tan(v)*(h*h/2+(5-u+9*d+4*d*d)*h*h*h*h/24+(61-58*u+u*u+600*d-330*o)*h*h*h*h*h*h/720));return e<0&&(U+=1e7),{northing:Math.round(U),easting:Math.round(w),zoneNumber:y,zoneLetter:aJ(e)}}function Qf(n){var e=n.northing,t=n.easting,i=n.zoneLetter,r=n.zoneNumber;if(r<0||r>60)return null;var a=.9996,s=6378137,o=.00669438,l,u=(1-Math.sqrt(1-o))/(1+Math.sqrt(1-o)),d,h,f,v,_,b,y,w,U,P=t-5e5,O=e;i<"N"&&(O-=1e7),y=(r-1)*6-180+3,l=o/(1-o),b=O/a,w=b/(s*(1-o/4-3*o*o/64-5*o*o*o/256)),U=w+(3*u/2-27*u*u*u/32)*Math.sin(2*w)+(21*u*u/16-55*u*u*u*u/32)*Math.sin(4*w)+151*u*u*u/96*Math.sin(6*w),d=s/Math.sqrt(1-o*Math.sin(U)*Math.sin(U)),h=Math.tan(U)*Math.tan(U),f=l*Math.cos(U)*Math.cos(U),v=s*(1-o)/Math.pow(1-o*Math.sin(U)*Math.sin(U),1.5),_=P/(d*a);var j=U-d*Math.tan(U)/v*(_*_/2-(5+3*h+10*f-4*f*f-9*l)*_*_*_*_/24+(61+90*h+298*f+45*h*h-252*l-3*f*f)*_*_*_*_*_*_/720);j=kS(j);var q=(_-(1+2*h+f)*_*_*_/6+(5-2*f+28*h-3*f*f+8*l+24*h*h)*_*_*_*_*_/120)/Math.cos(U);q=y+kS(q);var K;if(n.accuracy){var c2=Qf({northing:n.northing+n.accuracy,easting:n.easting+n.accuracy,zoneLetter:n.zoneLetter,zoneNumber:n.zoneNumber});K={top:c2.lat,right:c2.lon,bottom:j,left:q}}else K={lat:j,lon:q};return K}function aJ(n){var e="Z";return 84>=n&&n>=72?e="X":72>n&&n>=64?e="W":64>n&&n>=56?e="V":56>n&&n>=48?e="U":48>n&&n>=40?e="T":40>n&&n>=32?e="S":32>n&&n>=24?e="R":24>n&&n>=16?e="Q":16>n&&n>=8?e="P":8>n&&n>=0?e="N":0>n&&n>=-8?e="M":-8>n&&n>=-16?e="L":-16>n&&n>=-24?e="K":-24>n&&n>=-32?e="J":-32>n&&n>=-40?e="H":-40>n&&n>=-48?e="G":-48>n&&n>=-56?e="F":-56>n&&n>=-64?e="E":-64>n&&n>=-72?e="D":-72>n&&n>=-80&&(e="C"),e}function sJ(n,e){var t="00000"+n.easting,i="00000"+n.northing;return n.zoneNumber+n.zoneLetter+oJ(n.easting,n.northing,n.zoneNumber)+t.substr(t.length-5,e)+i.substr(i.length-5,e)}function oJ(n,e,t){var i=Tx(t),r=Math.floor(n/1e5),a=Math.floor(e/1e5)%20;return lJ(r,a,i)}function Tx(n){var e=n%IS;return e===0&&(e=IS),e}function lJ(n,e,t){var i=t-1,r=yx.charCodeAt(i),a=_x.charCodeAt(i),s=r+n-1,o=a+e,l=!1;s>e4&&(s=s-e4+gr-1,l=!0),(s===vn||rvn||(s>vn||rS6||(s>S6||re4&&(s=s-e4+gr-1),o>Qa?(o=o-Qa+gr-1,l=!0):l=!1,(o===vn||avn||(o>vn||aS6||(o>S6||aQa&&(o=o-Qa+gr-1);var u=String.fromCharCode(s)+String.fromCharCode(o);return u}function wx(n){if(n&&n.length===0)throw"MGRSPoint coverting from nothing";for(var e=n.length,t=null,i="",r,a=0;!/[A-Z]/.test(r=n.charAt(a));){if(a>=2)throw"MGRSPoint bad conversion from: "+n;i+=r,a++}var s=parseInt(i,10);if(a===0||a+3>e)throw"MGRSPoint bad conversion from: "+n;var o=n.charAt(a++);if(o<="A"||o==="B"||o==="Y"||o>="Z"||o==="I"||o==="O")throw"MGRSPoint zone letter "+o+" not handled: "+n;t=n.substring(a,a+=2);for(var l=Tx(s),u=uJ(t.charAt(0),l),d=cJ(t.charAt(1),l);d0&&(b=1e5/Math.pow(10,f),y=n.substring(a,a+f),v=parseFloat(y)*b,w=n.substring(a+f),_=parseFloat(w)*b),U=v+u,P=_+d,{easting:U,northing:P,zoneLetter:o,zoneNumber:s,accuracy:b}}function uJ(n,e){for(var t=yx.charCodeAt(e-1),i=1e5,r=!1;t!==n.charCodeAt(0);){if(t++,t===vn&&t++,t===S6&&t++,t>e4){if(r)throw"Bad character: "+n;t=gr,r=!0}i+=1e5}return i}function cJ(n,e){if(n>"V")throw"MGRSPoint given invalid Northing "+n;for(var t=_x.charCodeAt(e-1),i=0,r=!1;t!==n.charCodeAt(0);){if(t++,t===vn&&t++,t===S6&&t++,t>Qa){if(r)throw"Bad character: "+n;t=gr,r=!0}i+=1e5}return i}function dJ(n){var e;switch(n){case"C":e=11e5;break;case"D":e=2e6;break;case"E":e=28e5;break;case"F":e=37e5;break;case"G":e=46e5;break;case"H":e=55e5;break;case"J":e=64e5;break;case"K":e=73e5;break;case"L":e=82e5;break;case"M":e=91e5;break;case"N":e=0;break;case"P":e=8e5;break;case"Q":e=17e5;break;case"R":e=26e5;break;case"S":e=35e5;break;case"T":e=44e5;break;case"U":e=53e5;break;case"V":e=62e5;break;case"W":e=7e6;break;case"X":e=79e5;break;default:e=-1}if(e>=0)return e;throw"Invalid zone letter: "+n}function Kr(n,e,t){if(!(this instanceof Kr))return new Kr(n,e,t);if(Array.isArray(n))this.x=n[0],this.y=n[1],this.z=n[2]||0;else if(typeof n=="object")this.x=n.x,this.y=n.y,this.z=n.z||0;else if(typeof n=="string"&&typeof e=="undefined"){var i=n.split(",");this.x=parseFloat(i[0]),this.y=parseFloat(i[1]),this.z=parseFloat(i[2])||0}else this.x=n,this.y=e,this.z=t||0;console.warn("proj4.Point will be removed in version 3, use proj4.toPoint")}Kr.fromMGRS=function(n){return new Kr(bx(n))};Kr.prototype.toMGRS=function(n){return Sx([this.x,this.y],n)};var hJ=1,fJ=.25,FS=.046875,DS=.01953125,US=.01068115234375,pJ=.75,mJ=.46875,gJ=.013020833333333334,vJ=.007120768229166667,yJ=.3645833333333333,_J=.005696614583333333,SJ=.3076171875;function ep(n){var e=[];e[0]=hJ-n*(fJ+n*(FS+n*(DS+n*US))),e[1]=n*(pJ-n*(FS+n*(DS+n*US)));var t=n*n;return e[2]=t*(mJ-n*(gJ+n*vJ)),t*=n,e[3]=t*(yJ-n*_J),e[4]=t*n*SJ,e}function oa(n,e,t,i){return t*=e,e*=e,i[0]*n-t*(i[1]+e*(i[2]+e*(i[3]+e*i[4])))}var bJ=20;function tp(n,e,t){for(var i=1/(1-e),r=n,a=bJ;a;--a){var s=Math.sin(r),o=1-e*s*s;if(o=(oa(r,s,Math.cos(r),t)-n)*(o*Math.sqrt(o))*i,r-=o,Math.abs(o)h1?Math.tan(t):0,b=Math.pow(_,2),y=Math.pow(b,2);r=1-this.es*Math.pow(o,2),d=d/Math.sqrt(r);var w=oa(t,o,l,this.en);a=this.a*(this.k0*d*(1+h/6*(1-b+f+h/20*(5-18*b+y+14*f-58*b*f+h/42*(61+179*y-y*b-479*b)))))+this.x0,s=this.a*(this.k0*(w-this.ml0+o*i*d/2*(1+h/12*(5-b+9*f+4*v+h/30*(61+y-58*b+270*f-330*b*f+h/56*(1385+543*y-y*b-3111*b))))))+this.y0}else{var u=l*Math.sin(i);if(Math.abs(Math.abs(u)-1)=1){if(u-1>h1)return 93;s=0}else s=Math.acos(s);t<0&&(s=-s),s=this.a*this.k0*(s-this.lat0)+this.y0}return n.x=a,n.y=s,n}function xJ(n){var e,t,i,r,a=(n.x-this.x0)*(1/this.a),s=(n.y-this.y0)*(1/this.a);if(this.es)if(e=this.ml0+s/this.k0,t=tp(e,this.es,this.en),Math.abs(t)h1?Math.tan(t):0,_=this.ep2*Math.pow(f,2),b=Math.pow(_,2),y=Math.pow(v,2),w=Math.pow(y,2);e=1-this.es*Math.pow(h,2);var U=a*Math.sqrt(e)/this.k0,P=Math.pow(U,2);e=e*v,i=t-e*P/(1-this.es)*.5*(1-P/12*(5+3*y-9*_*y+_-4*b-P/30*(61+90*y-252*_*y+45*w+46*_-P/56*(1385+3633*y+4095*w+1574*w*y)))),r=p1(this.long0+U*(1-P/6*(1+2*y+_-P/20*(5+28*y+24*w+8*_*y+6*_-P/42*(61+662*y+1320*w+720*w*y))))/f,this.over)}else i=J3*es(s),r=0;else{var o=Math.exp(a/this.k0),l=.5*(o-1/o),u=this.lat0+s/this.k0,d=Math.cos(u);e=Math.sqrt((1-Math.pow(d,2))/(1+Math.pow(l,2))),i=Math.asin(e),s<0&&(i=-i),l===0&&d===0?r=0:r=p1(Math.atan2(l,d)+this.long0,this.over)}return n.x=r,n.y=i,n}var AJ=["Fast_Transverse_Mercator","Fast Transverse Mercator"];const xo={init:TJ,forward:wJ,inverse:xJ,names:AJ};function xx(n){var e=Math.exp(n);return e=(e-1/e)/2,e}function wn(n,e){n=Math.abs(n),e=Math.abs(e);var t=Math.max(n,e),i=Math.min(n,e)/(t||1);return t*Math.sqrt(1+Math.pow(i,2))}function CJ(n){var e=1+n,t=e-1;return t===0?n:n*Math.log(e)/t}function MJ(n){var e=Math.abs(n);return e=CJ(e*(1+e/(wn(1,e)+1))),n<0?-e:e}function np(n,e){for(var t=2*Math.cos(2*e),i=n.length-1,r=n[i],a=0,s;--i>=0;)s=-a+t*r+n[i],a=r,r=s;return e+s*Math.sin(2*e)}function EJ(n,e){for(var t=2*Math.cos(e),i=n.length-1,r=n[i],a=0,s;--i>=0;)s=-a+t*r+n[i],a=r,r=s;return Math.sin(e)*s}function PJ(n){var e=Math.exp(n);return e=(e+1/e)/2,e}function Ax(n,e,t){for(var i=Math.sin(e),r=Math.cos(e),a=xx(t),s=PJ(t),o=2*r*s,l=-2*i*a,u=n.length-1,d=n[u],h=0,f=0,v=0,_,b;--u>=0;)_=f,b=h,f=d,h=v,d=-_+o*f-l*h+n[u],v=-b+l*f+o*h;return o=i*s,l=r*a,[o*d-l*v,o*v+l*d]}function RJ(){if(!this.approx&&(isNaN(this.es)||this.es<=0))throw new Error('Incorrect elliptical usage. Try using the +approx option in the proj string, or PROJECTION["Fast_Transverse_Mercator"] in the WKT.');this.approx&&(xo.init.apply(this),this.forward=xo.forward,this.inverse=xo.inverse),this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.long0=this.long0!==void 0?this.long0:0,this.lat0=this.lat0!==void 0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var n=this.es/(1+Math.sqrt(1-this.es)),e=n/(2-n),t=e;this.cgb[0]=e*(2+e*(-2/3+e*(-2+e*(116/45+e*(26/45+e*(-2854/675)))))),this.cbg[0]=e*(-2+e*(2/3+e*(4/3+e*(-82/45+e*(32/45+e*(4642/4725)))))),t=t*e,this.cgb[1]=t*(7/3+e*(-8/5+e*(-227/45+e*(2704/315+e*(2323/945))))),this.cbg[1]=t*(5/3+e*(-16/15+e*(-13/9+e*(904/315+e*(-1522/945))))),t=t*e,this.cgb[2]=t*(56/15+e*(-136/35+e*(-1262/105+e*(73814/2835)))),this.cbg[2]=t*(-26/15+e*(34/21+e*(8/5+e*(-12686/2835)))),t=t*e,this.cgb[3]=t*(4279/630+e*(-332/35+e*(-399572/14175))),this.cbg[3]=t*(1237/630+e*(-12/5+e*(-24832/14175))),t=t*e,this.cgb[4]=t*(4174/315+e*(-144838/6237)),this.cbg[4]=t*(-734/315+e*(109598/31185)),t=t*e,this.cgb[5]=t*(601676/22275),this.cbg[5]=t*(444337/155925),t=Math.pow(e,2),this.Qn=this.k0/(1+e)*(1+t*(1/4+t*(1/64+t/256))),this.utg[0]=e*(-.5+e*(2/3+e*(-37/96+e*(1/360+e*(81/512+e*(-96199/604800)))))),this.gtu[0]=e*(.5+e*(-2/3+e*(5/16+e*(41/180+e*(-127/288+e*(7891/37800)))))),this.utg[1]=t*(-1/48+e*(-1/15+e*(437/1440+e*(-46/105+e*(1118711/3870720))))),this.gtu[1]=t*(13/48+e*(-3/5+e*(557/1440+e*(281/630+e*(-1983433/1935360))))),t=t*e,this.utg[2]=t*(-17/480+e*(37/840+e*(209/4480+e*(-5569/90720)))),this.gtu[2]=t*(61/240+e*(-103/140+e*(15061/26880+e*(167603/181440)))),t=t*e,this.utg[3]=t*(-4397/161280+e*(11/504+e*(830251/7257600))),this.gtu[3]=t*(49561/161280+e*(-179/168+e*(6601661/7257600))),t=t*e,this.utg[4]=t*(-4583/161280+e*(108847/3991680)),this.gtu[4]=t*(34729/80640+e*(-3418889/1995840)),t=t*e,this.utg[5]=t*(-20648693/638668800),this.gtu[5]=t*(212378941/319334400);var i=np(this.cbg,this.lat0);this.Zb=-this.Qn*(i+EJ(this.gtu,2*i))}function NJ(n){var e=p1(n.x-this.long0,this.over),t=n.y;t=np(this.cbg,t);var i=Math.sin(t),r=Math.cos(t),a=Math.sin(e),s=Math.cos(e);t=Math.atan2(i,s*r),e=Math.atan2(a*r,wn(i,r*s)),e=MJ(Math.tan(e));var o=Ax(this.gtu,2*t,2*e);t=t+o[0],e=e+o[1];var l,u;return Math.abs(e)<=2.623395162778?(l=this.a*(this.Qn*e)+this.x0,u=this.a*(this.Qn*t+this.Zb)+this.y0):(l=1/0,u=1/0),n.x=l,n.y=u,n}function LJ(n){var e=(n.x-this.x0)*(1/this.a),t=(n.y-this.y0)*(1/this.a);t=(t-this.Zb)/this.Qn,e=e/this.Qn;var i,r;if(Math.abs(e)<=2.623395162778){var a=Ax(this.utg,2*t,2*e);t=t+a[0],e=e+a[1],e=Math.atan(xx(e));var s=Math.sin(t),o=Math.cos(t),l=Math.sin(e),u=Math.cos(e);t=Math.atan2(s*u,wn(l,u*o)),e=Math.atan2(l,u*o),i=p1(e+this.long0,this.over),r=np(this.cgb,t)}else i=1/0,r=1/0;return n.x=i,n.y=r,n}var IJ=["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc","Transverse_Mercator","Transverse Mercator","Gauss Kruger","Gauss_Kruger","tmerc"];const Ao={init:RJ,forward:NJ,inverse:LJ,names:IJ};function kJ(n,e){if(n===void 0){if(n=Math.floor((p1(e)+Math.PI)*30/Math.PI)+1,n<0)return 0;if(n>60)return 60}return n}var FJ="etmerc";function DJ(){var n=kJ(this.zone,this.long0);if(n===void 0)throw new Error("unknown utm zone");this.lat0=0,this.long0=(6*Math.abs(n)-183)*ze,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,Ao.init.apply(this),this.forward=Ao.forward,this.inverse=Ao.inverse}var UJ=["Universal Transverse Mercator System","utm"];const OJ={init:DJ,names:UJ,dependsOn:FJ};function ip(n,e){return Math.pow((1-n)/(1+n),e)}var BJ=20;function zJ(){var n=Math.sin(this.lat0),e=Math.cos(this.lat0);e*=e,this.rc=Math.sqrt(1-this.es)/(1-this.es*n*n),this.C=Math.sqrt(1+this.es*e*e/(1-this.es)),this.phic0=Math.asin(n/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+q0)/(Math.pow(Math.tan(.5*this.lat0+q0),this.C)*ip(this.e*n,this.ratexp))}function GJ(n){var e=n.x,t=n.y;return n.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*t+q0),this.C)*ip(this.e*Math.sin(t),this.ratexp))-J3,n.x=this.C*e,n}function VJ(n){for(var e=1e-14,t=n.x/this.C,i=n.y,r=Math.pow(Math.tan(.5*i+q0)/this.K,1/this.C),a=BJ;a>0&&(i=2*Math.atan(r*ip(this.e*Math.sin(n.y),-.5*this.e))-J3,!(Math.abs(i-n.y)0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),this.k0===1&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=h1&&Math.abs(Math.cos(this.lat_ts))>h1&&(this.k0=.5*this.cons*bi(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/J6(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=bi(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(ap(this.lat0,this.sinlat0,this.e))-J3,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))}function XJ(n){var e=n.x,t=n.y,i=Math.sin(t),r=Math.cos(t),a,s,o,l,u,d,h=p1(e-this.long0,this.over);return Math.abs(Math.abs(e-this.long0)-Math.PI)<=h1&&Math.abs(t+this.lat0)<=h1?(n.x=NaN,n.y=NaN,n):this.sphere?(a=2*this.k0/(1+this.sinlat0*i+this.coslat0*r*Math.cos(h)),n.x=this.a*a*r*Math.sin(h)+this.x0,n.y=this.a*a*(this.coslat0*i-this.sinlat0*r*Math.cos(h))+this.y0,n):(s=2*Math.atan(ap(t,i,this.e))-J3,l=Math.cos(s),o=Math.sin(s),Math.abs(this.coslat0)<=h1?(u=J6(this.e,t*this.con,this.con*i),d=2*this.a*this.k0*u/this.cons,n.x=this.x0+d*Math.sin(e-this.long0),n.y=this.y0-this.con*d*Math.cos(e-this.long0),n):(Math.abs(this.sinlat0)0?e=p1(this.long0+Math.atan2(n.x,-1*n.y),this.over):e=p1(this.long0+Math.atan2(n.x,n.y),this.over):e=p1(this.long0+Math.atan2(n.x*Math.sin(o),s*this.coslat0*Math.cos(o)-n.y*this.sinlat0*Math.sin(o)),this.over),n.x=e,n.y=t,n)}else if(Math.abs(this.coslat0)<=h1){if(s<=h1)return t=this.lat0,e=this.long0,n.x=e,n.y=t,n;n.x*=this.con,n.y*=this.con,i=s*this.cons/(2*this.a*this.k0),t=this.con*V4(this.e,i),e=this.con*p1(this.con*this.long0+Math.atan2(n.x,-1*n.y),this.over)}else r=2*Math.atan(s*this.cosX0/(2*this.a*this.k0*this.ms1)),e=this.long0,s<=h1?a=this.X0:(a=Math.asin(Math.cos(r)*this.sinX0+n.y*Math.sin(r)*this.cosX0/s),e=p1(this.long0+Math.atan2(n.x*Math.sin(r),s*this.cosX0*Math.cos(r)-n.y*this.sinX0*Math.sin(r)),this.over)),t=-1*V4(this.e,Math.tan(.5*(J3+a)));return n.x=e,n.y=t,n}var ZJ=["stere","Stereographic_South_Pole","Polar_Stereographic_variant_A","Polar_Stereographic_variant_B","Polar_Stereographic"];const QJ={init:KJ,forward:XJ,inverse:JJ,names:ZJ,ssfn_:ap};function eZ(){var n=this.lat0;this.lambda0=this.long0;var e=Math.sin(n),t=this.a,i=this.rf,r=1/i,a=2*r-Math.pow(r,2),s=this.e=Math.sqrt(a);this.R=this.k0*t*Math.sqrt(1-a)/(1-a*Math.pow(e,2)),this.alpha=Math.sqrt(1+a/(1-a)*Math.pow(Math.cos(n),4)),this.b0=Math.asin(e/this.alpha);var o=Math.log(Math.tan(Math.PI/4+this.b0/2)),l=Math.log(Math.tan(Math.PI/4+n/2)),u=Math.log((1+s*e)/(1-s*e));this.K=o-this.alpha*l+this.alpha*s/2*u}function tZ(n){var e=Math.log(Math.tan(Math.PI/4-n.y/2)),t=this.e/2*Math.log((1+this.e*Math.sin(n.y))/(1-this.e*Math.sin(n.y))),i=-this.alpha*(e+t)+this.K,r=2*(Math.atan(Math.exp(i))-Math.PI/4),a=this.alpha*(n.x-this.lambda0),s=Math.atan(Math.sin(a)/(Math.sin(this.b0)*Math.tan(r)+Math.cos(this.b0)*Math.cos(a))),o=Math.asin(Math.cos(this.b0)*Math.sin(r)-Math.sin(this.b0)*Math.cos(r)*Math.cos(a));return n.y=this.R/2*Math.log((1+Math.sin(o))/(1-Math.sin(o)))+this.y0,n.x=this.R*s+this.x0,n}function nZ(n){for(var e=n.x-this.x0,t=n.y-this.y0,i=e/this.R,r=2*(Math.atan(Math.exp(t/this.R))-Math.PI/4),a=Math.asin(Math.cos(this.b0)*Math.sin(r)+Math.sin(this.b0)*Math.cos(r)*Math.cos(i)),s=Math.atan(Math.sin(i)/(Math.cos(this.b0)*Math.cos(i)-Math.sin(this.b0)*Math.tan(r))),o=this.lambda0+s/this.alpha,l=0,u=a,d=-1e3,h=0;Math.abs(u-d)>1e-7;){if(++h>20)return;l=1/this.alpha*(Math.log(Math.tan(Math.PI/4+a/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(u))/2)),d=u,u=2*Math.atan(Math.exp(l))-Math.PI/2}return n.x=o,n.y=u,n}var iZ=["somerc"];const rZ={init:eZ,forward:tZ,inverse:nZ,names:iZ};var sr=1e-7;function aZ(n){var e=["Hotine_Oblique_Mercator","Hotine_Oblique_Mercator_variant_A","Hotine_Oblique_Mercator_Azimuth_Natural_Origin"],t=typeof n.projName=="object"?Object.keys(n.projName)[0]:n.projName;return"no_uoff"in n||"no_off"in n||e.indexOf(t)!==-1||e.indexOf(px(t))!==-1}function sZ(){var n,e,t,i,r,a,s,o,l,u,d=0,h,f=0,v=0,_=0,b=0,y=0,w=0;this.no_off=aZ(this),this.no_rot="no_rot"in this;var U=!1;"alpha"in this&&(U=!0);var P=!1;if("rectified_grid_angle"in this&&(P=!0),U&&(w=this.alpha),P&&(d=this.rectified_grid_angle,U||(w=0,U=!0)),U||P)f=this.longc;else if(v=this.long1,b=this.lat1,_=this.long2,y=this.lat2,Math.abs(b-y)<=sr||(n=Math.abs(b))<=sr||Math.abs(n-J3)<=sr||Math.abs(Math.abs(this.lat0)-J3)<=sr||Math.abs(Math.abs(y)-J3)<=sr)throw new Error;var O=1-this.es;e=Math.sqrt(O),Math.abs(this.lat0)>h1?(o=Math.sin(this.lat0),t=Math.cos(this.lat0),n=1-this.es*o*o,this.B=t*t,this.B=Math.sqrt(1+this.es*this.B*this.B/O),this.A=this.B*this.k0*e/n,i=this.B*e/(t*Math.sqrt(n)),r=i*i-1,r<=0?r=0:(r=Math.sqrt(r),this.lat0<0&&(r=-r)),this.E=r+=i,this.E*=Math.pow(J6(this.e,this.lat0,o),this.B)):(this.B=1/e,this.A=this.k0,this.E=i=r=1),U||P?(U?(h=Math.asin(Math.sin(w)/i),P||(d=w)):(h=d,w=Math.asin(i*Math.sin(h))),this.lam0=f-Math.asin(.5*(r-1/r)*Math.tan(h))/this.B):(a=Math.pow(J6(this.e,b,Math.sin(b)),this.B),s=Math.pow(J6(this.e,y,Math.sin(y)),this.B),r=this.E/a,l=(s-a)/(s+a),u=this.E*this.E,u=(u-s*a)/(u+s*a),n=v-_,n<-Math.PI?_-=z4:n>Math.PI&&(_+=z4),this.lam0=p1(.5*(v+_)-Math.atan(u*Math.tan(.5*this.B*(v-_))/l)/this.B,this.over),h=Math.atan(2*Math.sin(this.B*p1(v-this.lam0,this.over))/(r-1/r)),d=w=Math.asin(i*Math.sin(h))),this.singam=Math.sin(h),this.cosgam=Math.cos(h),this.sinrot=Math.sin(d),this.cosrot=Math.cos(d),this.rB=1/this.B,this.ArB=this.A*this.rB,this.BrA=1/this.ArB,this.no_off?this.u_0=0:(this.u_0=Math.abs(this.ArB*Math.atan(Math.sqrt(i*i-1)/Math.cos(w))),this.lat0<0&&(this.u_0=-this.u_0)),r=.5*h,this.v_pole_n=this.ArB*Math.log(Math.tan(q0-r)),this.v_pole_s=this.ArB*Math.log(Math.tan(q0+r))}function oZ(n){var e={},t,i,r,a,s,o,l,u;if(n.x=n.x-this.lam0,Math.abs(Math.abs(n.y)-J3)>h1){if(s=this.E/Math.pow(J6(this.e,n.y,Math.sin(n.y)),this.B),o=1/s,t=.5*(s-o),i=.5*(s+o),a=Math.sin(this.B*n.x),r=(t*this.singam-a*this.cosgam)/i,Math.abs(Math.abs(r)-1)0?this.v_pole_n:this.v_pole_s,l=this.ArB*n.y;return this.no_rot?(e.x=l,e.y=u):(l-=this.u_0,e.x=u*this.cosrot+l*this.sinrot,e.y=l*this.cosrot-u*this.sinrot),e.x=this.a*e.x+this.x0,e.y=this.a*e.y+this.y0,e}function lZ(n){var e,t,i,r,a,s,o,l={};if(n.x=(n.x-this.x0)*(1/this.a),n.y=(n.y-this.y0)*(1/this.a),this.no_rot?(t=n.y,e=n.x):(t=n.x*this.cosrot-n.y*this.sinrot,e=n.y*this.cosrot+n.x*this.sinrot+this.u_0),i=Math.exp(-this.BrA*t),r=.5*(i-1/i),a=.5*(i+1/i),s=Math.sin(this.BrA*e),o=(s*this.cosgam+r*this.singam)/a,Math.abs(Math.abs(o)-1)h1?this.ns=Math.log(i/o)/Math.log(r/l):this.ns=e,isNaN(this.ns)&&(this.ns=e),this.f0=i/(this.ns*Math.pow(r,this.ns)),this.rh=this.a*this.f0*Math.pow(u,this.ns),this.title||(this.title="Lambert Conformal Conic")}}function hZ(n){var e=n.x,t=n.y;Math.abs(2*Math.abs(t)-Math.PI)<=h1&&(t=es(t)*(J3-2*h1));var i=Math.abs(Math.abs(t)-J3),r,a;if(i>h1)r=J6(this.e,t,Math.sin(t)),a=this.a*this.f0*Math.pow(r,this.ns);else{if(i=t*this.ns,i<=0)return null;a=0}var s=this.ns*p1(e-this.long0,this.over);return n.x=this.k0*(a*Math.sin(s))+this.x0,n.y=this.k0*(this.rh-a*Math.cos(s))+this.y0,n}function fZ(n){var e,t,i,r,a,s=(n.x-this.x0)/this.k0,o=this.rh-(n.y-this.y0)/this.k0;this.ns>0?(e=Math.sqrt(s*s+o*o),t=1):(e=-Math.sqrt(s*s+o*o),t=-1);var l=0;if(e!==0&&(l=Math.atan2(t*s,t*o)),e!==0||this.ns>0){if(t=1/this.ns,i=Math.pow(e/(this.a*this.f0),t),r=V4(this.e,i),r===-9999)return null}else r=-J3;return a=p1(l/this.ns+this.long0,this.over),n.x=a,n.y=r,n}var pZ=["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_1SP","Lambert_Conformal_Conic_2SP","lcc","Lambert Conic Conformal (1SP)","Lambert Conic Conformal (2SP)"];const mZ={init:dZ,forward:hZ,inverse:fZ,names:pZ};function gZ(){this.a=6377397155e-3,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.7417649320975901-.308341501185665),this.k0||(this.k0=.9999),this.s45=.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 vZ(n){var e,t,i,r,a,s,o,l=n.x,u=n.y,d=p1(l-this.long0,this.over);return e=Math.pow((1+this.e*Math.sin(u))/(1-this.e*Math.sin(u)),this.alfa*this.e/2),t=2*(Math.atan(this.k*Math.pow(Math.tan(u/2+this.s45),this.alfa)/e)-this.s45),i=-d*this.alfa,r=Math.asin(Math.cos(this.ad)*Math.sin(t)+Math.sin(this.ad)*Math.cos(t)*Math.cos(i)),a=Math.asin(Math.cos(t)*Math.sin(i)/Math.cos(r)),s=this.n*a,o=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(r/2+this.s45),this.n),n.y=o*Math.cos(s)/1,n.x=o*Math.sin(s)/1,this.czech||(n.y*=-1,n.x*=-1),n}function yZ(n){var e,t,i,r,a,s,o,l,u=n.x;n.x=n.y,n.y=u,this.czech||(n.y*=-1,n.x*=-1),s=Math.sqrt(n.x*n.x+n.y*n.y),a=Math.atan2(n.y,n.x),r=a/Math.sin(this.s0),i=2*(Math.atan(Math.pow(this.ro0/s,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),e=Math.asin(Math.cos(this.ad)*Math.sin(i)-Math.sin(this.ad)*Math.cos(i)*Math.cos(r)),t=Math.asin(Math.cos(i)*Math.sin(r)/Math.cos(e)),n.x=this.long0-t/this.alfa,o=e,l=0;var d=0;do n.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(e/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(o))/(1-this.e*Math.sin(o)),this.e/2))-this.s45),Math.abs(o-n.y)<1e-10&&(l=1),o=n.y,d+=1;while(l===0&&d<15);return d>=15?null:n}var _Z=["Krovak","Krovak Modified","Krovak (North Orientated)","Krovak Modified (North Orientated)","krovak"];const SZ={init:gZ,forward:vZ,inverse:yZ,names:_Z};function on(n,e,t,i,r){return n*r-e*Math.sin(2*r)+t*Math.sin(4*r)-i*Math.sin(6*r)}function ts(n){return 1-.25*n*(1+n/16*(3+1.25*n))}function ns(n){return .375*n*(1+.25*n*(1+.46875*n))}function is(n){return .05859375*n*n*(1+.75*n)}function rs(n){return n*n*n*(35/3072)}function sp(n,e,t){var i=e*t;return n/Math.sqrt(1-i*i)}function c9(n){return Math.abs(n)1e-7?(t=n*e,(1-n*n)*(e/(1-t*t)-.5/n*Math.log((1-t)/(1+t)))):2*e}var CZ=.3333333333333333,MZ=.17222222222222222,EZ=.10257936507936508,PZ=.06388888888888888,RZ=.0664021164021164,NZ=.016415012942191543;function Cx(n){var e,t=[];return t[0]=n*CZ,e=n*n,t[0]+=e*MZ,t[1]=e*PZ,e*=n,t[0]+=e*EZ,t[1]+=e*RZ,t[2]=e*NZ,t}function Mx(n,e){var t=n+n;return n+e[0]*Math.sin(t)+e[1]*Math.sin(t+t)+e[2]*Math.sin(t+t+t)}var Nh=1,Lh=2,Ih=3,Co=4;function LZ(){var n=Math.abs(this.lat0);if(Math.abs(n-J3)0){var e;switch(this.qp=_i(this.e,1),this.mmf=.5/(1-this.es),this.apa=Cx(this.es),this.mode){case Lh:this.dd=1;break;case Nh:this.dd=1;break;case Ih:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case Co:this.rq=Math.sqrt(.5*this.qp),e=Math.sin(this.lat0),this.sinb1=_i(this.e,e)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*e*e)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd;break}}else this.mode===Co&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))}function IZ(n){var e,t,i,r,a,s,o,l,u,d,h=n.x,f=n.y;if(h=p1(h-this.long0,this.over),this.sphere){if(a=Math.sin(f),d=Math.cos(f),i=Math.cos(h),this.mode===this.OBLIQ||this.mode===this.EQUIT){if(t=this.mode===this.EQUIT?1+d*i:1+this.sinph0*a+this.cosph0*d*i,t<=h1)return null;t=Math.sqrt(2/t),e=t*d*Math.sin(h),t*=this.mode===this.EQUIT?a:this.cosph0*a-this.sinph0*d*i}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(i=-i),Math.abs(f+this.lat0)=0?(e=(u=Math.sqrt(s))*r,t=i*(this.mode===this.S_POLE?u:-u)):e=t=0;break}}return n.x=this.a*e+this.x0,n.y=this.a*t+this.y0,n}function kZ(n){n.x-=this.x0,n.y-=this.y0;var e=n.x/this.a,t=n.y/this.a,i,r,a,s,o,l,u;if(this.sphere){var d=0,h,f=0;if(h=Math.sqrt(e*e+t*t),r=h*.5,r>1)return null;switch(r=2*Math.asin(r),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(f=Math.sin(r),d=Math.cos(r)),this.mode){case this.EQUIT:r=Math.abs(h)<=h1?0:Math.asin(t*f/h),e*=f,t=d*h;break;case this.OBLIQ:r=Math.abs(h)<=h1?this.lat0:Math.asin(d*this.sinph0+t*f*this.cosph0/h),e*=f*this.cosph0,t=(d-Math.sin(r)*this.sinph0)*h;break;case this.N_POLE:t=-t,r=J3-r;break;case this.S_POLE:r-=J3;break}i=t===0&&(this.mode===this.EQUIT||this.mode===this.OBLIQ)?0:Math.atan2(e,t)}else{if(u=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(e/=this.dd,t*=this.dd,l=Math.sqrt(e*e+t*t),l1&&(n=n>1?1:-1),Math.asin(n)}function UZ(){Math.abs(this.lat1+this.lat2)h1?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):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 OZ(n){var e=n.x,t=n.y;this.sin_phi=Math.sin(t),this.cos_phi=Math.cos(t);var i=_i(this.e3,this.sin_phi),r=this.a*Math.sqrt(this.c-this.ns0*i)/this.ns0,a=this.ns0*p1(e-this.long0,this.over),s=r*Math.sin(a)+this.x0,o=this.rh-r*Math.cos(a)+this.y0;return n.x=s,n.y=o,n}function BZ(n){var e,t,i,r,a,s;return n.x-=this.x0,n.y=this.rh-n.y+this.y0,this.ns0>=0?(e=Math.sqrt(n.x*n.x+n.y*n.y),i=1):(e=-Math.sqrt(n.x*n.x+n.y*n.y),i=-1),r=0,e!==0&&(r=Math.atan2(i*n.x,i*n.y)),i=e*this.ns0/this.a,this.sphere?s=Math.asin((this.c-i*i)/(2*this.ns0)):(t=(this.c-i*i)/this.ns0,s=this.phi1z(this.e3,t)),a=p1(r/this.ns0+this.long0,this.over),n.x=a,n.y=s,n}function zZ(n,e){var t,i,r,a,s,o=s9(.5*e);if(n0||Math.abs(s)<=h1?(o=this.x0+this.a*a*t*Math.sin(i)/s,l=this.y0+this.a*a*(this.cos_p14*e-this.sin_p14*t*r)/s):(o=this.x0+this.infinity_dist*t*Math.sin(i),l=this.y0+this.infinity_dist*(this.cos_p14*e-this.sin_p14*t*r)),n.x=o,n.y=l,n}function WZ(n){var e,t,i,r,a,s;return n.x=(n.x-this.x0)/this.a,n.y=(n.y-this.y0)/this.a,n.x/=this.k0,n.y/=this.k0,(e=Math.sqrt(n.x*n.x+n.y*n.y))?(r=Math.atan2(e,this.rc),t=Math.sin(r),i=Math.cos(r),s=s9(i*this.sin_p14+n.y*t*this.cos_p14/e),a=Math.atan2(n.x*t,e*this.cos_p14*i-n.y*this.sin_p14*t),a=p1(this.long0+a,this.over)):(s=this.phic0,a=0),n.x=a,n.y=s,n}var $Z=["gnom"];const YZ={init:HZ,forward:jZ,inverse:WZ,names:$Z};function qZ(n,e){var t=1-(1-n*n)/(2*n)*Math.log((1-n)/(1+n));if(Math.abs(Math.abs(e)-t)<1e-6)return e<0?-1*J3:J3;for(var i=Math.asin(.5*e),r,a,s,o,l=0;l<30;l++)if(a=Math.sin(i),s=Math.cos(i),o=n*a,r=Math.pow(1-o*o,2)/(2*s)*(e/(1-n*n)-a/(1-o*o)+.5/n*Math.log((1-o)/(1+o))),i+=r,Math.abs(r)<=1e-10)return i;return NaN}function KZ(){this.sphere||(this.k0=bi(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))}function XZ(n){var e=n.x,t=n.y,i,r,a=p1(e-this.long0,this.over);if(this.sphere)i=this.x0+this.a*a*Math.cos(this.lat_ts),r=this.y0+this.a*Math.sin(t)/Math.cos(this.lat_ts);else{var s=_i(this.e,Math.sin(t));i=this.x0+this.a*this.k0*a,r=this.y0+this.a*s*.5/this.k0}return n.x=i,n.y=r,n}function JZ(n){n.x-=this.x0,n.y-=this.y0;var e,t;return this.sphere?(e=p1(this.long0+n.x/this.a/Math.cos(this.lat_ts),this.over),t=Math.asin(n.y/this.a*Math.cos(this.lat_ts))):(t=qZ(this.e,2*n.y*this.k0/this.a),e=p1(this.long0+n.x/(this.a*this.k0),this.over)),n.x=e,n.y=t,n}var ZZ=["cea"];const QZ={init:KZ,forward:XZ,inverse:JZ,names:ZZ};function eQ(){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 tQ(n){var e=n.x,t=n.y,i=p1(e-this.long0,this.over),r=c9(t-this.lat0);return n.x=this.x0+this.a*i*this.rc,n.y=this.y0+this.a*r,n}function nQ(n){var e=n.x,t=n.y;return n.x=p1(this.long0+(e-this.x0)/(this.a*this.rc),this.over),n.y=c9(this.lat0+(t-this.y0)/this.a),n}var iQ=["Equirectangular","Equidistant_Cylindrical","Equidistant_Cylindrical_Spherical","eqc"];const rQ={init:eQ,forward:tQ,inverse:nQ,names:iQ};var OS=20;function aQ(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=ts(this.es),this.e1=ns(this.es),this.e2=is(this.es),this.e3=rs(this.es),this.ml0=this.a*on(this.e0,this.e1,this.e2,this.e3,this.lat0)}function sQ(n){var e=n.x,t=n.y,i,r,a,s=p1(e-this.long0,this.over);if(a=s*Math.sin(t),this.sphere)Math.abs(t)<=h1?(i=this.a*s,r=-1*this.a*this.lat0):(i=this.a*Math.sin(a)/Math.tan(t),r=this.a*(c9(t-this.lat0)+(1-Math.cos(a))/Math.tan(t)));else if(Math.abs(t)<=h1)i=this.a*s,r=-1*this.ml0;else{var o=sp(this.a,this.e,Math.sin(t))/Math.tan(t);i=o*Math.sin(a),r=this.a*on(this.e0,this.e1,this.e2,this.e3,t)-this.ml0+o*(1-Math.cos(a))}return n.x=i+this.x0,n.y=r+this.y0,n}function oQ(n){var e,t,i,r,a,s,o,l,u;if(i=n.x-this.x0,r=n.y-this.y0,this.sphere)if(Math.abs(r+this.a*this.lat0)<=h1)e=p1(i/this.a+this.long0,this.over),t=0;else{s=this.lat0+r/this.a,o=i*i/this.a/this.a+s*s,l=s;var d;for(a=OS;a;--a)if(d=Math.tan(l),u=-1*(s*(l*d+1)-l-.5*(l*l+o)*d)/((l-s)/d-1),l+=u,Math.abs(u)<=h1){t=l;break}e=p1(this.long0+Math.asin(i*Math.tan(l)/this.a)/Math.sin(t),this.over)}else if(Math.abs(r+this.ml0)<=h1)t=0,e=p1(this.long0+i/this.a,this.over);else{s=(this.ml0+r)/this.a,o=i*i/this.a/this.a+s*s,l=s;var h,f,v,_,b;for(a=OS;a;--a)if(b=this.e*Math.sin(l),h=Math.sqrt(1-b*b)*Math.tan(l),f=this.a*on(this.e0,this.e1,this.e2,this.e3,l),v=this.e0-2*this.e1*Math.cos(2*l)+4*this.e2*Math.cos(4*l)-6*this.e3*Math.cos(6*l),_=f/this.a,u=(s*(h*_+1)-_-.5*h*(_*_+o))/(this.es*Math.sin(2*l)*(_*_+o-2*s*_)/(4*h)+(s-_)*(h*v-2/Math.sin(2*l))-v),l-=u,Math.abs(u)<=h1){t=l;break}h=Math.sqrt(1-this.es*Math.pow(Math.sin(t),2))*Math.tan(t),e=p1(this.long0+Math.asin(i*h/this.a)/Math.sin(t),this.over)}return n.x=e,n.y=t,n}var lQ=["Polyconic","American_Polyconic","poly"];const uQ={init:aQ,forward:sQ,inverse:oQ,names:lQ};function cQ(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.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]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.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]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013}function dQ(n){var e,t=n.x,i=n.y,r=i-this.lat0,a=t-this.long0,s=r/h4*1e-5,o=a,l=1,u=0;for(e=1;e<=10;e++)l=l*s,u=u+this.A[e]*l;var d=u,h=o,f=1,v=0,_,b,y=0,w=0;for(e=1;e<=6;e++)_=f*d-v*h,b=v*d+f*h,f=_,v=b,y=y+this.B_re[e]*f-this.B_im[e]*v,w=w+this.B_im[e]*f+this.B_re[e]*v;return n.x=w*this.a+this.x0,n.y=y*this.a+this.y0,n}function hQ(n){var e,t=n.x,i=n.y,r=t-this.x0,a=i-this.y0,s=a/this.a,o=r/this.a,l=1,u=0,d,h,f=0,v=0;for(e=1;e<=6;e++)d=l*s-u*o,h=u*s+l*o,l=d,u=h,f=f+this.C_re[e]*l-this.C_im[e]*u,v=v+this.C_im[e]*l+this.C_re[e]*u;for(var _=0;_.999999999999&&(t=.999999999999),e=Math.asin(t);var i=p1(this.long0+n.x/(.900316316158*this.a*Math.cos(e)),this.over);i<-Math.PI&&(i=-Math.PI),i>Math.PI&&(i=Math.PI),t=(2*e+Math.sin(2*e))/Math.PI,Math.abs(t)>1&&(t=1);var r=Math.asin(t);return n.x=i,n.y=r,n}var LQ=["Mollweide","moll"];const IQ={init:PQ,forward:RQ,inverse:NQ,names:LQ};function kQ(){Math.abs(this.lat1+this.lat2)=0?(t=Math.sqrt(n.x*n.x+n.y*n.y),e=1):(t=-Math.sqrt(n.x*n.x+n.y*n.y),e=-1);var a=0;if(t!==0&&(a=Math.atan2(e*n.x,e*n.y)),this.sphere)return r=p1(this.long0+a/this.ns,this.over),i=c9(this.g-t/this.a),n.x=r,n.y=i,n;var s=this.g-t/this.a;return i=cl(s,this.e0,this.e1,this.e2,this.e3),r=p1(this.long0+a/this.ns,this.over),n.x=r,n.y=i,n}var UQ=["Equidistant_Conic","eqdc"];const OQ={init:kQ,forward:FQ,inverse:DQ,names:UQ};function BQ(){this.R=this.a}function zQ(n){var e=n.x,t=n.y,i=p1(e-this.long0,this.over),r,a;Math.abs(t)<=h1&&(r=this.x0+this.R*i,a=this.y0);var s=s9(2*Math.abs(t/Math.PI));(Math.abs(i)<=h1||Math.abs(Math.abs(t)-J3)<=h1)&&(r=this.x0,t>=0?a=this.y0+Math.PI*this.R*Math.tan(.5*s):a=this.y0+Math.PI*this.R*-Math.tan(.5*s));var o=.5*Math.abs(Math.PI/i-i/Math.PI),l=o*o,u=Math.sin(s),d=Math.cos(s),h=d/(u+d-1),f=h*h,v=h*(2/u-1),_=v*v,b=Math.PI*this.R*(o*(h-_)+Math.sqrt(l*(h-_)*(h-_)-(_+l)*(f-_)))/(_+l);i<0&&(b=-b),r=this.x0+b;var y=l+h;return b=Math.PI*this.R*(v*y-o*Math.sqrt((_+l)*(l+1)-y*y))/(_+l),t>=0?a=this.y0+b:a=this.y0-b,n.x=r,n.y=a,n}function GQ(n){var e,t,i,r,a,s,o,l,u,d,h,f,v;return n.x-=this.x0,n.y-=this.y0,h=Math.PI*this.R,i=n.x/h,r=n.y/h,a=i*i+r*r,s=-Math.abs(r)*(1+a),o=s-2*r*r+i*i,l=-2*s+1+2*r*r+a*a,v=r*r/l+(2*o*o*o/l/l/l-9*s*o/l/l)/27,u=(s-o*o/3/l)/l,d=2*Math.sqrt(-u/3),h=3*v/u/d,Math.abs(h)>1&&(h>=0?h=1:h=-1),f=Math.acos(h)/3,n.y>=0?t=(-d*Math.cos(f+Math.PI/3)-o/3/l)*Math.PI:t=-(-d*Math.cos(f+Math.PI/3)-o/3/l)*Math.PI,Math.abs(i)1e-12&&--b>0);return b===0?{azi1:NaN,s12:NaN}:(S2=q*(r*r-r*(1-a)*(r*(1-a)))/(r*(1-a)*(r*(1-a))),H=1+S2/16384*(4096+S2*(-768+S2*(320-175*S2))),Z=S2/1024*(256+S2*(-128+S2*(74-47*S2))),G2=Z*U*(K+Z/4*(P*(-1+2*K*K)-Z/6*K*(-3+4*U*U)*(-3+4*K*K))),q2=r*(1-a)*H*(O-G2),{azi1:Math.atan2(f*y,d*h-u*f*w),s12:q2})}function WQ(n,e,t,i,r,a){const s=Math.atan((1-a)*Math.tan(n)),o=Math.sin(s),l=Math.cos(s),u=Math.sin(t),d=Math.cos(t),h=Math.atan2(o,l*d),f=l*u,v=1-f*f,_=v*(r*r-r*(1-a)*(r*(1-a)))/(r*(1-a)*(r*(1-a))),b=1+_/16384*(4096+_*(-768+_*(320-175*_))),y=_/1024*(256+_*(-128+_*(74-47*_)));let w=i/(r*(1-a)*b),U,P=100,O,j,q,K;do O=Math.cos(2*h+w),j=Math.sin(w),q=Math.cos(w),K=y*j*(O+y/4*(q*(-1+2*O*O)-y/6*O*(-3+4*j*j)*(-3+4*O*O))),U=w,w=i/(r*(1-a)*b)+K;while(Math.abs(w-U)>1e-12&&--P>0);if(P===0)return{lat2:NaN,lon2:NaN};const c2=o*j-l*q*d,S2=Math.atan2(o*q+l*j*d,(1-a)*Math.sqrt(f*f+c2*c2)),H=Math.atan2(j*u,l*q-o*j*d),Z=a/16*v*(4+a*(4-3*v)),G2=H-(1-Z)*a*f*(w+Z*j*(O+Z*q*(-1+2*O*O))),q2=e+G2;return{lat2:S2,lon2:q2}}function $Q(){this.sin_p12=Math.sin(this.lat0),this.cos_p12=Math.cos(this.lat0),this.f=this.es/(1+Math.sqrt(1-this.es))}function YQ(n){var e=n.x,t=n.y,i=Math.sin(n.y),r=Math.cos(n.y),a=p1(e-this.long0,this.over),s,o,l,u,d,h,f,v,_,b,y;return this.sphere?Math.abs(this.sin_p12-1)<=h1?(n.x=this.x0+this.a*(J3-t)*Math.sin(a),n.y=this.y0-this.a*(J3-t)*Math.cos(a),n):Math.abs(this.sin_p12+1)<=h1?(n.x=this.x0+this.a*(J3+t)*Math.sin(a),n.y=this.y0+this.a*(J3+t)*Math.cos(a),n):(_=this.sin_p12*i+this.cos_p12*r*Math.cos(a),f=Math.acos(_),v=f?f/Math.sin(f):1,n.x=this.x0+this.a*v*r*Math.sin(a),n.y=this.y0+this.a*v*(this.cos_p12*i-this.sin_p12*r*Math.cos(a)),n):(s=ts(this.es),o=ns(this.es),l=is(this.es),u=rs(this.es),Math.abs(this.sin_p12-1)<=h1?(d=this.a*on(s,o,l,u,J3),h=this.a*on(s,o,l,u,t),n.x=this.x0+(d-h)*Math.sin(a),n.y=this.y0-(d-h)*Math.cos(a),n):Math.abs(this.sin_p12+1)<=h1?(d=this.a*on(s,o,l,u,J3),h=this.a*on(s,o,l,u,t),n.x=this.x0+(d+h)*Math.sin(a),n.y=this.y0+(d+h)*Math.cos(a),n):Math.abs(e)2*J3*this.a?void 0:(t=e/this.a,i=Math.sin(t),r=Math.cos(t),a=this.long0,Math.abs(e)<=h1?s=this.lat0:(s=s9(r*this.sin_p12+n.y*i*this.cos_p12/e),o=Math.abs(this.lat0)-J3,Math.abs(o)<=h1?this.lat0>=0?a=p1(this.long0+Math.atan2(n.x,-n.y),this.over):a=p1(this.long0-Math.atan2(-n.x,n.y),this.over):a=p1(this.long0+Math.atan2(n.x*i,e*this.cos_p12*r-n.y*this.sin_p12*i),this.over)),n.x=a,n.y=s,n)):(l=ts(this.es),u=ns(this.es),d=is(this.es),h=rs(this.es),Math.abs(this.sin_p12-1)<=h1?(f=this.a*on(l,u,d,h,J3),e=Math.sqrt(n.x*n.x+n.y*n.y),v=f-e,s=cl(v/this.a,l,u,d,h),a=p1(this.long0+Math.atan2(n.x,-1*n.y),this.over),n.x=a,n.y=s,n):Math.abs(this.sin_p12+1)<=h1?(f=this.a*on(l,u,d,h,J3),e=Math.sqrt(n.x*n.x+n.y*n.y),v=e-f,s=cl(v/this.a,l,u,d,h),a=p1(this.long0+Math.atan2(n.x,n.y),this.over),n.x=a,n.y=s,n):(_=Math.atan2(n.x,n.y),b=Math.sqrt(n.x*n.x+n.y*n.y),y=WQ(this.lat0,this.long0,_,b,this.a,this.f),n.x=y.lon2,n.y=y.lat2,n))}var KQ=["Azimuthal_Equidistant","aeqd"];const XQ={init:$Q,forward:YQ,inverse:qQ,names:KQ};function JQ(){this.sin_p14=Math.sin(this.lat0||0),this.cos_p14=Math.cos(this.lat0||0)}function ZQ(n){var e,t,i,r,a,s,o,l,u=n.x,d=n.y;return i=p1(u-(this.long0||0),this.over),e=Math.sin(d),t=Math.cos(d),r=Math.cos(i),s=this.sin_p14*e+this.cos_p14*t*r,a=1,(s>0||Math.abs(s)<=h1)&&(o=this.a*a*t*Math.sin(i),l=(this.y0||0)+this.a*a*(this.cos_p14*e-this.sin_p14*t*r)),n.x=o,n.y=l,n}function QQ(n){var e,t,i,r,a,s,o,l,u;return n.x-=this.x0||0,n.y-=this.y0||0,e=Math.sqrt(n.x*n.x+n.y*n.y),t=s9(e/this.a),i=Math.sin(t),r=Math.cos(t),l=this.long0||0,u=this.lat0||0,s=l,Math.abs(e)<=h1?(o=u,n.x=s,n.y=o,n):(o=s9(r*this.sin_p14+n.y*i*this.cos_p14/e),a=Math.abs(u)-J3,Math.abs(a)<=h1?(u>=0?s=p1(l+Math.atan2(n.x,-n.y),this.over):s=p1(l-Math.atan2(-n.x,n.y),this.over),n.x=s,n.y=o,n):(s=p1(l+Math.atan2(n.x*i,e*this.cos_p14*r-n.y*this.sin_p14*i),this.over),n.x=s,n.y=o,n))}var e22=["ortho"];const t22={init:JQ,forward:ZQ,inverse:QQ,names:e22};var Ie={FRONT:1,RIGHT:2,BACK:3,LEFT:4,TOP:5,BOTTOM:6},K0={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4};function n22(){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",this.lat0>=J3-q0/2?this.face=Ie.TOP:this.lat0<=-(J3-q0/2)?this.face=Ie.BOTTOM:Math.abs(this.long0)<=q0?this.face=Ie.FRONT:Math.abs(this.long0)<=J3+q0?this.face=this.long0>0?Ie.RIGHT:Ie.LEFT:this.face=Ie.BACK,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 i22(n){var e={x:0,y:0},t,i,r,a,s,o,l={value:0};if(n.x-=this.long0,this.es!==0?t=Math.atan(this.one_minus_f_squared*Math.tan(n.y)):t=n.y,i=n.x,this.face===Ie.TOP)a=J3-t,i>=q0&&i<=J3+q0?(l.value=K0.AREA_0,r=i-J3):i>J3+q0||i<=-(J3+q0)?(l.value=K0.AREA_1,r=i>0?i-Ke:i+Ke):i>-(J3+q0)&&i<=-q0?(l.value=K0.AREA_2,r=i+J3):(l.value=K0.AREA_3,r=i);else if(this.face===Ie.BOTTOM)a=J3+t,i>=q0&&i<=J3+q0?(l.value=K0.AREA_0,r=-i+J3):i=-q0?(l.value=K0.AREA_1,r=-i):i<-q0&&i>=-(J3+q0)?(l.value=K0.AREA_2,r=-i-J3):(l.value=K0.AREA_3,r=i>0?-i+Ke:-i-Ke);else{var u,d,h,f,v,_,b;this.face===Ie.RIGHT?i=Mr(i,+J3):this.face===Ie.BACK?i=Mr(i,+Ke):this.face===Ie.LEFT&&(i=Mr(i,-J3)),f=Math.sin(t),v=Math.cos(t),_=Math.sin(i),b=Math.cos(i),u=v*b,d=v*_,h=f,this.face===Ie.FRONT?(a=Math.acos(u),r=lo(a,h,d,l)):this.face===Ie.RIGHT?(a=Math.acos(d),r=lo(a,h,-u,l)):this.face===Ie.BACK?(a=Math.acos(-u),r=lo(a,h,-d,l)):this.face===Ie.LEFT?(a=Math.acos(-d),r=lo(a,h,u,l)):(a=r=0,l.value=K0.AREA_0)}return o=Math.atan(12/Ke*(r+Math.acos(Math.sin(r)*Math.cos(q0))-J3)),s=Math.sqrt((1-Math.cos(a))/(Math.cos(o)*Math.cos(o))/(1-Math.cos(Math.atan(1/Math.cos(r))))),l.value===K0.AREA_1?o+=J3:l.value===K0.AREA_2?o+=Ke:l.value===K0.AREA_3&&(o+=1.5*Ke),e.x=s*Math.cos(o),e.y=s*Math.sin(o),e.x=e.x*this.a+this.x0,e.y=e.y*this.a+this.y0,n.x=e.x,n.y=e.y,n}function r22(n){var e={lam:0,phi:0},t,i,r,a,s,o,l,u,d,h={value:0};if(n.x=(n.x-this.x0)/this.a,n.y=(n.y-this.y0)/this.a,i=Math.atan(Math.sqrt(n.x*n.x+n.y*n.y)),t=Math.atan2(n.y,n.x),n.x>=0&&n.x>=Math.abs(n.y)?h.value=K0.AREA_0:n.y>=0&&n.y>=Math.abs(n.x)?(h.value=K0.AREA_1,t-=J3):n.x<0&&-n.x>=Math.abs(n.y)?(h.value=K0.AREA_2,t=t<0?t+Ke:t-Ke):(h.value=K0.AREA_3,t+=J3),d=Ke/12*Math.tan(t),s=Math.sin(d)/(Math.cos(d)-1/Math.sqrt(2)),o=Math.atan(s),r=Math.cos(t),a=Math.tan(i),l=1-r*r*a*a*(1-Math.cos(Math.atan(1/Math.cos(o)))),l<-1?l=-1:l>1&&(l=1),this.face===Ie.TOP)u=Math.acos(l),e.phi=J3-u,h.value===K0.AREA_0?e.lam=o+J3:h.value===K0.AREA_1?e.lam=o<0?o+Ke:o-Ke:h.value===K0.AREA_2?e.lam=o-J3:e.lam=o;else if(this.face===Ie.BOTTOM)u=Math.acos(l),e.phi=u-J3,h.value===K0.AREA_0?e.lam=-o+J3:h.value===K0.AREA_1?e.lam=-o:h.value===K0.AREA_2?e.lam=-o-J3:e.lam=o<0?-o-Ke:-o+Ke;else{var f,v,_;f=l,d=f*f,d>=1?_=0:_=Math.sqrt(1-d)*Math.sin(o),d+=_*_,d>=1?v=0:v=Math.sqrt(1-d),h.value===K0.AREA_1?(d=v,v=-_,_=d):h.value===K0.AREA_2?(v=-v,_=-_):h.value===K0.AREA_3&&(d=v,v=_,_=-d),this.face===Ie.RIGHT?(d=f,f=-v,v=d):this.face===Ie.BACK?(f=-f,v=-v):this.face===Ie.LEFT&&(d=f,f=v,v=-d),e.phi=Math.acos(-_)-J3,e.lam=Math.atan2(v,f),this.face===Ie.RIGHT?e.lam=Mr(e.lam,-J3):this.face===Ie.BACK?e.lam=Mr(e.lam,-Ke):this.face===Ie.LEFT&&(e.lam=Mr(e.lam,+J3))}if(this.es!==0){var b,y,w;b=e.phi<0?1:0,y=Math.tan(e.phi),w=this.b/Math.sqrt(y*y+this.one_minus_f_squared),e.phi=Math.atan(Math.sqrt(this.a*this.a-w*w)/(this.one_minus_f*w)),b&&(e.phi=-e.phi)}return e.lam+=this.long0,n.x=e.lam,n.y=e.phi,n}function lo(n,e,t,i){var r;return nq0&&r<=J3+q0?(i.value=K0.AREA_1,r-=J3):r>J3+q0||r<=-(J3+q0)?(i.value=K0.AREA_2,r=r>=0?r-Ke:r+Ke):(i.value=K0.AREA_3,r+=J3)),r}function Mr(n,e){var t=n+e;return t<-Ke?t+=z4:t>+Ke&&(t-=z4),t}var a22=["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"];const s22={init:n22,forward:i22,inverse:r22,names:a22};var kh=[[1,22199e-21,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-986701e-12],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,18736e-12],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,934959e-12],[.7986,-.00755338,-500009e-10,935324e-12],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],t4=[[-520417e-23,.0124,121431e-23,-845284e-16],[.062,.0124,-126793e-14,422642e-15],[.124,.0124,507171e-14,-160604e-14],[.186,.0123999,-190189e-13,600152e-14],[.248,.0124002,710039e-13,-224e-10],[.31,.0123992,-264997e-12,835986e-13],[.372,.0124029,988983e-12,-311994e-12],[.434,.0123893,-369093e-11,-435621e-12],[.4958,.0123198,-102252e-10,-345523e-12],[.5571,.0121916,-154081e-10,-582288e-12],[.6176,.0119938,-241424e-10,-525327e-12],[.6769,.011713,-320223e-10,-516405e-12],[.7346,.0113541,-397684e-10,-609052e-12],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-140374e-14],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],Rx=.8487,Nx=1.3523,Lx=An/5,o22=1/Lx,vr=18,dl=function(n,e){return n[0]+e*(n[1]+e*(n[2]+e*n[3]))},l22=function(n,e){return n[1]+e*(2*n[2]+e*3*n[3])};function u22(n,e,t,i){for(var r=e;i;--i){var a=n(r);if(r-=a,Math.abs(a)=vr&&(i=vr-1),t=An*(t-o22*i);var r={x:dl(kh[i],t)*e,y:dl(t4[i],t)};return n.y<0&&(r.y=-r.y),r.x=r.x*this.a*Rx+this.x0,r.y=r.y*this.a*Nx+this.y0,r}function h22(n){var e={x:(n.x-this.x0)/(this.a*Rx),y:Math.abs(n.y-this.y0)/(this.a*Nx)};if(e.y>=1)e.x/=kh[vr][0],e.y=n.y<0?-J3:J3;else{var t=Math.floor(e.y*vr);for(t<0?t=0:t>=vr&&(t=vr-1);;)if(t4[t][0]>e.y)--t;else if(t4[t+1][0]<=e.y)++t;else break;var i=t4[t],r=5*(e.y-i[0])/(t4[t+1][0]-i[0]);r=u22(function(a){return(dl(i,a)-e.y)/l22(i,a)},r,h1,100),e.x/=dl(kh[t],r),e.y=(5*t+r)*ze,n.y<0&&(e.y=-e.y)}return e.x=p1(e.x+this.long0,this.over),e}var f22=["Robinson","robin"];const p22={init:c22,forward:d22,inverse:h22,names:f22};function m22(){this.name="geocent"}function g22(n){var e=gx(n,this.es,this.a);return e}function v22(n){var e=vx(n,this.es,this.a,this.b);return e}var y22=["Geocentric","geocentric","geocent","Geocent"];const _22={init:m22,forward:g22,inverse:v22,names:y22};var Ht={N_POLE:0,S_POLE:1,EQUIT:2,OBLIQ:3},Wa={h:{def:1e5,num:!0},azi:{def:0,num:!0,degrees:!0},tilt:{def:0,num:!0,degrees:!0},long0:{def:0,num:!0},lat0:{def:0,num:!0}};function S22(){if(Object.keys(Wa).forEach(function(t){if(typeof this[t]=="undefined")this[t]=Wa[t].def;else{if(Wa[t].num&&isNaN(this[t]))throw new Error("Invalid parameter value, must be numeric "+t+" = "+this[t]);Wa[t].num&&(this[t]=parseFloat(this[t]))}Wa[t].degrees&&(this[t]=this[t]*ze)}.bind(this)),Math.abs(Math.abs(this.lat0)-J3)1e10)throw new Error("Invalid height");this.p=1+this.pn1,this.rp=1/this.p,this.h1=1/this.pn1,this.pfact=(this.p+1)*this.h1,this.es=0;var n=this.tilt,e=this.azi;this.cg=Math.cos(e),this.sg=Math.sin(e),this.cw=Math.cos(n),this.sw=Math.sin(n)}function b22(n){n.x-=this.long0;var e=Math.sin(n.y),t=Math.cos(n.y),i=Math.cos(n.x),r,a;switch(this.mode){case Ht.OBLIQ:a=this.sinph0*e+this.cosph0*t*i;break;case Ht.EQUIT:a=t*i;break;case Ht.S_POLE:a=-e;break;case Ht.N_POLE:a=e;break}switch(a=this.pn1/(this.p-a),r=a*t*Math.sin(n.x),this.mode){case Ht.OBLIQ:a*=this.cosph0*e-this.sinph0*t*i;break;case Ht.EQUIT:a*=e;break;case Ht.N_POLE:a*=-(t*i);break;case Ht.S_POLE:a*=t*i;break}var s,o;return s=a*this.cg+r*this.sg,o=1/(s*this.sw*this.h1+this.cw),r=(r*this.cg-a*this.sg)*this.cw*o,a=s*o,n.x=r*this.a,n.y=a*this.a,n}function T22(n){n.x/=this.a,n.y/=this.a;var e={x:n.x,y:n.y},t,i,r;r=1/(this.pn1-n.y*this.sw),t=this.pn1*n.x*r,i=this.pn1*n.y*this.cw*r,n.x=t*this.cg+i*this.sg,n.y=i*this.cg-t*this.sg;var a=wn(n.x,n.y);if(Math.abs(a)1e10)throw new Error;if(this.radius_g=1+this.radius_g_1,this.C=this.radius_g*this.radius_g-1,this.es!==0){var n=1-this.es,e=1/n;this.radius_p=Math.sqrt(n),this.radius_p2=n,this.radius_p_inv2=e,this.shape="ellipse"}else this.radius_p=1,this.radius_p2=1,this.radius_p_inv2=1,this.shape="sphere";this.title||(this.title="Geostationary Satellite View")}function C22(n){var e=n.x,t=n.y,i,r,a,s;if(e=e-this.long0,this.shape==="ellipse"){t=Math.atan(this.radius_p2*Math.tan(t));var o=this.radius_p/wn(this.radius_p*Math.cos(t),Math.sin(t));if(r=o*Math.cos(e)*Math.cos(t),a=o*Math.sin(e)*Math.cos(t),s=o*Math.sin(t),(this.radius_g-r)*r-a*a-s*s*this.radius_p_inv2<0)return n.x=Number.NaN,n.y=Number.NaN,n;i=this.radius_g-r,this.flip_axis?(n.x=this.radius_g_1*Math.atan(a/wn(s,i)),n.y=this.radius_g_1*Math.atan(s/i)):(n.x=this.radius_g_1*Math.atan(a/i),n.y=this.radius_g_1*Math.atan(s/wn(a,i)))}else this.shape==="sphere"&&(i=Math.cos(t),r=Math.cos(e)*i,a=Math.sin(e)*i,s=Math.sin(t),i=this.radius_g-r,this.flip_axis?(n.x=this.radius_g_1*Math.atan(a/wn(s,i)),n.y=this.radius_g_1*Math.atan(s/i)):(n.x=this.radius_g_1*Math.atan(a/i),n.y=this.radius_g_1*Math.atan(s/wn(a,i))));return n.x=n.x*this.a,n.y=n.y*this.a,n}function M22(n){var e=-1,t=0,i=0,r,a,s,o;if(n.x=n.x/this.a,n.y=n.y/this.a,this.shape==="ellipse"){this.flip_axis?(i=Math.tan(n.y/this.radius_g_1),t=Math.tan(n.x/this.radius_g_1)*wn(1,i)):(t=Math.tan(n.x/this.radius_g_1),i=Math.tan(n.y/this.radius_g_1)*wn(1,t));var l=i/this.radius_p;if(r=t*t+l*l+e*e,a=2*this.radius_g*e,s=a*a-4*r*this.C,s<0)return n.x=Number.NaN,n.y=Number.NaN,n;o=(-a-Math.sqrt(s))/(2*r),e=this.radius_g+o*e,t*=o,i*=o,n.x=Math.atan2(t,e),n.y=Math.atan(i*Math.cos(n.x)/e),n.y=Math.atan(this.radius_p_inv2*Math.tan(n.y))}else if(this.shape==="sphere"){if(this.flip_axis?(i=Math.tan(n.y/this.radius_g_1),t=Math.tan(n.x/this.radius_g_1)*Math.sqrt(1+i*i)):(t=Math.tan(n.x/this.radius_g_1),i=Math.tan(n.y/this.radius_g_1)*Math.sqrt(1+t*t)),r=t*t+i*i+e*e,a=2*this.radius_g*e,s=a*a-4*r*this.C,s<0)return n.x=Number.NaN,n.y=Number.NaN,n;o=(-a-Math.sqrt(s))/(2*r),e=this.radius_g+o*e,t*=o,i*=o,n.x=Math.atan2(t,e),n.y=Math.atan(i*Math.cos(n.x)/e)}return n.x=n.x+this.long0,n}var E22=["Geostationary Satellite View","Geostationary_Satellite","geos"];const P22={init:A22,forward:C22,inverse:M22,names:E22};var f4=1.340264,p4=-.081106,m4=893e-6,g4=.003796,hl=Math.sqrt(3)/2;function R22(){this.long0=this.long0!==void 0?this.long0:0,this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.es!==0&&(this.apa=Cx(this.es),this.qp=_i(this.e,1),this.rqda=Math.sqrt(.5*this.qp))}function N22(n){var e=p1(n.x-this.long0,this.over),t=n.y,i=Math.sin(t);this.es!==0&&(i=_i(this.e,i)/this.qp);var r=Math.asin(hl*i),a=r*r,s=a*a*a;return n.x=e*Math.cos(r)/(hl*(f4+3*p4*a+s*(7*m4+9*g4*a))),n.y=r*(f4+p4*a+s*(m4+g4*a)),this.es!==0&&(n.x*=this.rqda,n.y*=this.rqda),n.x=this.a*n.x+this.x0,n.y=this.a*n.y+this.y0,n}function L22(n){n.x=(n.x-this.x0)/this.a,n.y=(n.y-this.y0)/this.a,this.es!==0&&(n.x/=this.rqda,n.y/=this.rqda);var e=1e-9,t=12,i=n.y,r,a,s,o,l,u;for(u=0;u=J3?this.cphi1=0:this.cphi1=1/Math.tan(this.phi1),this.inverse=B22,this.forward=O22)}function D22(n){var e=p1(n.x-(this.long0||0),this.over),t=n.y,i,r,a;return i=this.am1+this.m1-oa(t,r=Math.sin(t),a=Math.cos(t),this.en),r=a*e/(i*Math.sqrt(1-this.es*r*r)),n.x=i*Math.sin(r),n.y=this.am1-i*Math.cos(r),n.x=this.a*n.x+(this.x0||0),n.y=this.a*n.y+(this.y0||0),n}function U22(n){n.x=(n.x-(this.x0||0))/this.a,n.y=(n.y-(this.y0||0))/this.a;var e,t,i,r;if(t=wn(n.x,n.y=this.am1-n.y),r=tp(this.am1+this.m1-t,this.es,this.en),(e=Math.abs(r))H4?(n.x=r*Math.sin(i=e*Math.cos(t)/r),n.y=this.cphi1-r*Math.cos(i)):n.x=n.y=0,n.x=this.a*n.x+(this.x0||0),n.y=this.a*n.y+(this.y0||0),n}function B22(n){n.x=(n.x-(this.x0||0))/this.a,n.y=(n.y-(this.y0||0))/this.a;var e,t,i=wn(n.x,n.y=this.cphi1-n.y);if(t=this.cphi1+this.phi1-i,Math.abs(t)>J3)throw new Error;return Math.abs(Math.abs(t)-J3)<=H4?e=0:e=i*Math.atan2(n.x,n.y)/Math.cos(t),n.x=p1(e+(this.long0||0),this.over),n.y=c9(t),n}var z22=["bonne","Bonne (Werner lat_1=90)"];const G22={init:F22,names:z22},BS={OBLIQUE:{forward:$22,inverse:q22},TRANSVERSE:{forward:Y22,inverse:K22}},fl={ROTATE:{o_alpha:"oAlpha",o_lon_c:"oLongC",o_lat_c:"oLatC"},NEW_POLE:{o_lat_p:"oLatP",o_lon_p:"oLongP"},NEW_EQUATOR:{o_lon_1:"oLong1",o_lat_1:"oLat1",o_lon_2:"oLong2",o_lat_2:"oLat2"}};function V22(){if(this.x0=this.x0||0,this.y0=this.y0||0,this.long0=this.long0||0,this.title=this.title||"General Oblique Transformation",this.isIdentity=hx.includes(this.o_proj),!this.o_proj)throw new Error("Missing parameter: o_proj");if(this.o_proj==="ob_tran")throw new Error("Invalid value for o_proj: "+this.o_proj);const n=this.projStr.replace("+proj=ob_tran","").replace("+o_proj=","+proj=").trim(),e=N6(n);if(!e)throw new Error("Invalid parameter: o_proj. Unknown projection "+this.o_proj);e.long0=0,this.obliqueProjection=e;let t;const i=Object.keys(fl),r=o=>{if(typeof this[o]=="undefined")return;const l=parseFloat(this[o])*ze;if(isNaN(l))throw new Error("Invalid value for "+o+": "+this[o]);return l};for(let o=0;otypeof this[f]!="undefined")){t=u;for(let f=0;fh1?(this.cphip=Math.cos(s),this.sphip=Math.sin(s),this.projectionType=BS.OBLIQUE):this.projectionType=BS.TRANSVERSE}function H22(n){return this.projectionType.forward(this,n)}function j22(n){return this.projectionType.inverse(this,n)}function W22(n,e){let t,i;if(e===fl.ROTATE){let r=n.oLongC,a=n.oLatC,s=n.oAlpha;if(Math.abs(Math.abs(a)-J3)<=h1)throw new Error("Invalid value for o_lat_c: "+n.o_lat_c+" should be < 90°");i=r+Math.atan2(-1*Math.cos(s),-1*Math.sin(s)*Math.sin(a)),t=Math.asin(Math.cos(a)*Math.sin(s))}else if(e===fl.NEW_POLE)i=n.oLongP,t=n.oLatP;else{let r=n.oLong1,a=n.oLat1,s=n.oLong2,o=n.oLat2,l=Math.abs(a);if(Math.abs(a)>J3-h1)throw new Error("Invalid value for o_lat_1: "+n.o_lat_1+" should be < 90°");if(Math.abs(o)>J3-h1)throw new Error("Invalid value for o_lat_2: "+n.o_lat_2+" should be < 90°");if(Math.abs(a-o)new DecompressionStream("deflate-raw"),e=t=>new Response(t);n(),Ix=t=>e(e(t).body.pipeThrough(n())).arrayBuffer().then(i=>new Uint8Array(i))}catch(n){}var Ix,zS=new TextDecoder,Rd=n=>{throw Error("but-unzip~"+n)};function*Q22(n,e=Ix){let t=n.length-21,i=t-65536,r=new DataView(n.buffer,n.byteOffset),a=l=>r.getUint16(l+t,1),s=l=>r.getUint32(l+t,1),o=(l,u)=>n.subarray(t+=l,t+=u);for(;t>i&&(t=n.lastIndexOf(80,t-1))+1&&(n[t+1]-75||n[t+2]-5||n[t+3]-6););for(t<0&&Rd(2),i=a(10),i-a(8)&&Rd(3),t=s(16);i--;){let l=a(10),u=a(28),d=a(30),h=a(32),f=s(20),v=s(42),_=zS.decode(o(46,u)),b=zS.decode(o(d,h)),y=t,w;t=v,w=o(30+a(26)+a(28),f),yield{filename:_,comment:b,read:()=>l-8?l?Rd(1):w:e(w)},t=y}}const e32=/.+\.(shp|dbf|json|prj|cpg)$/i,t32=n=>k3(void 0,null,function*(){const e={},t=[];for(const a of Q22(n))e32.test(a.filename)&&t.push(Promise.resolve(a.read()).then(s=>e[a.filename]=s));yield Promise.all(t);const i={},r=new TextDecoder;for(const[a,s]of Object.entries(e))a.slice(-3).toLowerCase()==="shp"||a.slice(-3).toLowerCase()==="dbf"?i[a]=new DataView(s.buffer,s.byteOffset,s.byteLength):i[a]=r.decode(s);return i}),n32=globalThis.URL,i32=(n,e)=>{if(!e)return n;const t=new n32(n);return t.pathname=`${t.pathname}.${e}`,t.href};function j4(n,e){return k3(this,null,function*(){const t=i32(n,e),i=e==="prj"||e==="cpg";try{const r=yield fetch(t);if(r.status>399)throw new Error(r.statusText);if(i)return r.text();const a=yield r.arrayBuffer();return new DataView(a)}catch(r){if(i||e==="dbf")return!1;throw r}})}function r32(n){let e=0,t=1;const i=n.length;let r,a;const s=[n[0][0],n[0][1],n[0][0],n[0][1]];for(;ts[2]&&(s[2]=a[0]),a[1]>s[3]&&(s[3]=a[1]);return{ring:n,clockWise:e>0,bbox:s,children:[]}}function GS(n,e){return!(n.bbox[0]>e.bbox[0]||n.bbox[1]>e.bbox[1]||n.bbox[2]u.toReversed())));return o}}const a=[];for(const s of t)a.push([s.ring].concat(s.children));return a}Qe.prototype.parsePoint=function(n){return{type:"Point",coordinates:this.parseCoord(n,0)}};Qe.prototype.parseZPoint=function(n){const e=this.parsePoint(n);return e.coordinates.push(n.getFloat64(16,!0)),e};Qe.prototype.parsePointArray=function(n,e,t){const i=[];let r=0;for(;r20&&(e-=20),!(e in VS))throw new Error(`I don't know shp type "${e}"`);this.parseFunc=this[VS[e]],this.parseCoord=a32(n)};Qe.prototype.getShpCode=function(){return this.parseHeader().shpCode};Qe.prototype.parseHeader=function(){const n=this.buffer;return{length:n.getInt32(24)<<1,version:n.getInt32(28,!0),shpCode:n.getInt32(32,!0),bbox:[n.getFloat64(36,!0),n.getFloat64(44,!0),n.getFloat64(52,!0),n.getFloat64(60,!0)]}};Qe.prototype.getRows=function(){let n=100;const e=this.buffer.byteLength-8,t=[];let i;for(;n<=e&&(i=this.getRow(n),!!i);)n+=8,n+=i.len,i.type?t.push(this.parseFunc(i.data)):t.push(null);return t};Qe.prototype.getRow=function(n){const e=this.buffer.getInt32(n),t=this.buffer.getInt32(n+4)<<1;if(t===0)return{id:e,len:t,type:0};if(!(n+t+8>this.buffer.byteLength))return{id:e,len:t,data:new DataView(this.buffer.buffer,this.buffer.byteOffset+n+12,t-4),type:this.buffer.getInt32(n+8,!0)}};function op(n,e){return new Qe(n,e).rows}var s32=/^(?:ANSI\s)?(\d+)$/m;function Fx(n,e){if(!n)return i;try{new TextDecoder(n.trim())}catch(r){var t=s32.exec(n);return t&&!e?Fx("windows-"+t[1],!0):(n=void 0,i)}return i;function i(r){var a=new TextDecoder(n||void 0),s=a.decode(r,{stream:!0})+a.decode();return s.replace(/\0/g,"").trim()}}function o32(n){var e={};return e.lastUpdated=new Date(n.getUint8(1)+1900,n.getUint8(2),n.getUint8(3)),e.records=n.getUint32(4,!0),e.headerLen=n.getUint16(8,!0),e.recLen=n.getUint16(10,!0),e}function l32(n,e,t){for(var i=[],r=32;r{if(!n)throw new Error("forgot to pass buffer");if(Xr(n))return new Uint8Array(n);if(Xr(n.buffer))return n.BYTES_PER_ELEMENT===1?n:new Uint8Array(n.buffer,n.byteOffset,n.byteLength);throw new Error("invalid buffer like object")},f32=new TextDecoder,Dx=n=>{if(n){if(typeof n=="string")return n;if(Xr(n)||ArrayBuffer.isView(n)||up(n))return f32.decode(n)}},Ux=n=>{if(!n)throw new Error("forgot to pass buffer");if(up(n))return n;if(Xr(n))return new DataView(n);if(Xr(n.buffer))return new DataView(n.buffer,n.byteOffset,n.byteLength);throw new Error("invalid buffer like object")};function Xr(n){return n instanceof globalThis.ArrayBuffer||Object.prototype.toString.call(n)==="[object ArrayBuffer]"}function up(n){return n instanceof globalThis.DataView||Object.prototype.toString.call(n)==="[object DataView]"}const cp=function([n,e]){const t={};t.type="FeatureCollection",t.features=[];let i=0;const r=n.length;for(e||(e=[]);i-1?r.push(t.slice(0,-3)+t.slice(-3).toLowerCase()):(t.slice(-4).toLowerCase()===".dbf"||t.slice(-4).toLowerCase()===".cpg")&&(i[t.slice(0,-3)+t.slice(-3).toLowerCase()]=i[t]));if(!r.length)throw new Error("no layers founds");const a=r.map(function(s){let o,l;const u=s.lastIndexOf(".");return u>-1&&s.slice(u).indexOf("json")>-1?(o=JSON.parse(i[s]),o.fileName=s.slice(0,u)):e.indexOf(s.slice(u+1))>-1?(o=i[s],o.fileName=s):(i[s+".dbf"]&&(l=lp(i[s+".dbf"],i[s+".cpg"])),o=cp([op(i[s+".shp"],i[s+".prj"]),l]),o.fileName=s),o});return a.length===1?a[0]:a})};function p32(n,e){return k3(this,null,function*(){const t=yield j4(n);return Ox(t,e)})}const m32=n=>k3(void 0,null,function*(){const e=yield Promise.all([j4(n,"shp"),j4(n,"prj")]);let t=!1;try{e[1]&&(t=Wl(e[1]))}catch(i){t=!1}return op(e[0],t)}),g32=n=>k3(void 0,null,function*(){const[e,t]=yield Promise.all([j4(n,"dbf"),j4(n,"cpg")]);if(e)return lp(e,t)}),HS=(n,e)=>{var i;return new d32(n,(i=globalThis==null?void 0:globalThis.document)==null?void 0:i.location).pathname.slice(-4).toLowerCase()===e},v32=({shp:n,dbf:e,cpg:t,prj:i})=>{const r=[_32(n,i)];return e&&r.push(S32(e,t)),cp(r)},y32=function(n,e){return k3(this,null,function*(){if(typeof n!="string"){if(Xr(n)||ArrayBuffer.isView(n)||up(n))return Ox(n);if(n.shp)return v32(n);throw new TypeError("must be a string, some sort of Buffer, or an object with at least a .shp property")}if(HS(n,".zip"))return p32(n,e);HS(n,".shp")&&(n=n.slice(0,-4));const t=yield Promise.all([m32(n),g32(n)]);return cp(t)})},_32=function(n,e){if(n=Ux(n),e=Dx(e),typeof e=="string")try{e=Wl(e)}catch(t){e=!1}return op(n,e)},S32=function(n,e){return n=Ux(n),e=Dx(e),lp(n,e)};const b32={class:"engineering-analysis-panel"},T32={class:"analysis-card analysis-workbench"},w32={class:"analysis-card-head"},x32={key:0},A32=["disabled"],C32=["disabled"],M32={key:1,class:"analysis-drawing-stage"},E32={class:"analysis-point-count"},P32=["disabled"],R32=["disabled"],N32={key:2,class:"analysis-boundary-bar"},L32={class:"analysis-card analysis-result"},I32={class:"analysis-card-head"},k32={key:0},F32={key:0,class:"analysis-empty"},D32={class:"analysis-conclusion-head"},U32={class:"analysis-conclusion-tags"},O32={key:0,class:"analysis-empty is-success"},B32={key:1,class:"analysis-project-list"},z32=["onPointerup"],G32={class:"analysis-project-name"},V32={class:"analysis-project-meta"},H32={__name:"EngineeringAnalysisPanel",props:{drawingPointCount:{type:Number,default:0}},emits:["drawing-change","finish-drawing","undo-point","clear-boundary","analysis-result","focus-project"],setup(n,{expose:e,emit:t}){const i=n,r=t,a=x3(!1),s=x3(null),o=x3([]),l=x3([]),u=x3(""),d=x3("idle"),h=x3([]);let f=null;const v=z2(()=>{var V2;const t2=l.value.length,i2=o.value.length,_2=o.value.reduce((s3,D3)=>s3+Number(D3.overlapAreaWanMu||0),0);return{boundaryAreaWanMu:U3((V2=s.value)==null?void 0:V2.geometry),featureCount:t2,projectCount:i2,overlapAreaWanMu:_2}}),_=z2(()=>u.value?u.value:d.value==="loading"?"项目库加载中":d.value==="error"?"项目库加载失败":""),b=z2(()=>s.value?o.value.length?"已发现建设记录":"未发现建设记录":"未分析"),y=z2(()=>a.value&&i.drawingPointCount>=3),w=z2(()=>{if(!s.value)return{levelClass:"",verdict:"",summary:"",tags:[],advice:""};if(!o.value.length)return{levelClass:"is-clear",verdict:"未发现建设记录",summary:"该边界范围暂未与项目库中的已建设工程形成空间叠加。",tags:[`分析范围 ${T2(v.value.boundaryAreaWanMu)} 万亩`,"项目库未命中"],advice:"可进入新增工程选址论证,仍需结合保护红线、审批台账和现场踏勘复核。"};const t2=u2(o.value),i2=W2(o.value),_2=[...o.value].sort((D3,S3)=>Number(S3.overlapAreaWanMu||0)-Number(D3.overlapAreaWanMu||0))[0],V2=o2(v.value.overlapAreaWanMu),s3=o.value.length>=6||v.value.overlapAreaWanMu>=1?"存在建设叠加":"存在局部叠加";return{levelClass:o.value.length>=6?"is-heavy":"is-hit",verdict:s3,summary:`该边界命中 ${o.value.length} 个历史项目,叠加约 ${V2} 亩,项目类型以${t2.name}为主,年份集中在 ${i2}。`,tags:[`主类型 ${t2.name}`,`年份 ${i2}`,`最大叠加 ${o2(_2==null?void 0:_2.overlapAreaWanMu)} 亩`],advice:`重点复核“${Y2(_2==null?void 0:_2.projectName)}”(${(_2==null?void 0:_2.year)||"未知"},${(_2==null?void 0:_2.category)||"未知类型"})与拟建范围的重合边界。`}});Fn(()=>{G2().catch(()=>{})});function U(t2){return k3(this,null,function*(){var _2;const i2=(_2=t2.target.files)==null?void 0:_2[0];if(t2.target.value="",!!i2){u.value="";try{const V2=yield P(i2);a.value&&(a.value=!1,r("drawing-change",!1)),r("clear-boundary"),yield Z(V2)}catch(V2){u.value="边界文件解析失败"}}})}function P(t2){return k3(this,null,function*(){const i2=String(t2.name||"").toLowerCase();if(i2.endsWith(".json")||i2.endsWith(".geojson"))return O(JSON.parse(yield t2.text()));if(i2.endsWith(".zip")){const _2=yield y32(yield t2.arrayBuffer());return O(_2)}throw new Error("unsupported file")})}function O(t2){const i2=C2(t2).filter(_2=>I2(_2==null?void 0:_2.geometry));if(i2.length)return E2(i2);throw new Error("no polygon")}function j(){a.value||(u.value="",a.value=!0,s.value=null,o.value=[],l.value=[],r("analysis-result",{boundary:null,matches:[],rows:[],summary:v.value}),r("drawing-change",!0))}function q(){a.value&&(a.value=!1,r("clear-boundary"),r("analysis-result",{boundary:null,matches:[],rows:[],summary:v.value}))}function K(){y.value&&r("finish-drawing")}function c2(){r("undo-point")}function S2(){a.value=!1,s.value=null,o.value=[],l.value=[],u.value="",r("clear-boundary"),r("analysis-result",{boundary:null,matches:[],rows:[],summary:v.value})}function H(t2){t2!=null&&t2.geometry&&(a.value=!1,Z(t2))}function Z(t2){return k3(this,null,function*(){s.value=t2,l.value=[],o.value=[];let i2=[];try{const _2=yield G2();i2=A2(t2,_2),l.value=i2,o.value=X2(i2)}catch(_2){u.value="项目库加载失败"}r("analysis-result",{boundary:t2,matches:i2,rows:o.value,summary:v.value})})}function G2(){return k3(this,null,function*(){return h.value.length?h.value:f||(d.value="loading",f=fetch(q2("datas/ecological-protection/ecological_restoration_projects.geojson"),{credentials:"include"}).then(i2=>{if(!i2.ok)throw new Error(`HTTP ${i2.status}`);return i2.json()}).then(i2=>{const _2=C2(i2).filter(V2=>{var s3;return(s3=V2==null?void 0:V2.geometry)==null?void 0:s3.coordinates}).map((V2,s3)=>R3(d3({},V2),{properties:R3(d3({},V2.properties||{}),{source_index:s3})}));return h.value=_2,d.value="success",_2}).catch(i2=>{throw d.value="error",f=null,i2}),f)})}function q2(t2){return t2?/^https?:\/\//.test(t2)||t2.startsWith("/")?t2:`./${t2}`:""}function C2(t2){return t2?Array.isArray(t2)?t2.flatMap(i2=>C2(i2)):t2.type==="FeatureCollection"?(t2.features||[]).filter(Boolean):t2.type==="Feature"?t2.geometry?[t2]:[]:n2(t2)?[{type:"Feature",properties:{},geometry:t2}]:typeof t2=="object"?Object.values(t2).flatMap(i2=>C2(i2)):[]:[]}function E2(t2){const i2=t2.flatMap(_2=>_2.geometry.type==="Polygon"?[_2.geometry.coordinates]:_2.geometry.coordinates);return i2.length===1?{type:"Feature",properties:t2[0].properties||{},geometry:{type:"Polygon",coordinates:i2[0]}}:{type:"Feature",properties:{sourceFeatureCount:t2.length},geometry:{type:"MultiPolygon",coordinates:i2}}}function A2(t2,i2=h.value){const _2=F2(t2.geometry);return i2.filter(V2=>b2(V2.geometry,t2.geometry,_2)).map(V2=>({feature:V2,properties:V2.properties||{},overlapAreaWanMu:e3(V2,t2.geometry)}))}function X2(t2){const i2=new Map;return t2.forEach(_2=>{const V2=_2.properties||{},s3=V2.project_name||V2.projectName||"未命名项目",D3=i2.get(s3)||{key:s3,projectName:s3,category:V2.project_category||"未知类型",year:V2.year||"未知",featureCount:0,overlapAreaWanMu:0,features:[],sourceIndex:Number(V2.source_index||0)};D3.featureCount+=1,D3.overlapAreaWanMu+=Number(_2.overlapAreaWanMu||0),D3.features.push(_2.feature),i2.set(s3,D3)}),[...i2.values()].map(_2=>R3(d3({},_2),{overlapAreaWanMu:Number(_2.overlapAreaWanMu.toFixed(4))}))}function b2(t2,i2,_2){if(!L3(F2(t2),_2))return!1;const V2=h3(i2);return V2.length?I2(t2)?J(t2,V2):(t2==null?void 0:t2.type)==="Point"?P2(t2.coordinates,V2):(t2==null?void 0:t2.type)==="MultiPoint"?t2.coordinates.some(s3=>P2(s3,V2)):(t2==null?void 0:t2.type)==="LineString"?p2(t2.coordinates,V2):(t2==null?void 0:t2.type)==="MultiLineString"?t2.coordinates.some(s3=>p2(s3,V2)):!1:!1}function J(t2,i2){const _2=h3(t2);return _2.length?_2.some(V2=>V2.some(s3=>P2(s3,i2)))||i2.some(V2=>V2.some(s3=>P2(s3,_2)))||_2.some(V2=>i2.some(s3=>f3(V2,s3))):!1}function p2(t2=[],i2){return!Array.isArray(t2)||!t2.length?!1:t2.some(_2=>P2(_2,i2))?!0:i2.some(_2=>N2(t2,_2))}function N2(t2,i2){for(let _2=1;_2a1+n1.filter(C1=>P2(C1,s3)).length,0),b1=V2.reduce((a1,n1)=>a1+n1.length,0);return m1?Number((D3*Math.max(.08,Math.min(1,m1/Math.max(b1,1)))).toFixed(4)):s3.reduce((a1,n1)=>a1+n1.filter(C1=>P2(C1,V2)).length,0)?Number(Math.min(D3,S3).toFixed(4)):V2.some(a1=>s3.some(n1=>f3(a1,n1)))?Number((Math.min(D3,S3)*.12).toFixed(4)):0}function h3(t2){var i2;return(t2==null?void 0:t2.type)==="Polygon"?[((i2=t2.coordinates)==null?void 0:i2[0])||[]]:(t2==null?void 0:t2.type)==="MultiPolygon"?t2.coordinates.map(_2=>(_2==null?void 0:_2[0])||[]).filter(_2=>_2.length):[]}function I2(t2){return(t2==null?void 0:t2.type)==="Polygon"||(t2==null?void 0:t2.type)==="MultiPolygon"}function n2(t2){return["Polygon","MultiPolygon","LineString","MultiLineString","Point","MultiPoint"].includes(t2==null?void 0:t2.type)}function P2(t2,i2){return i2.some(_2=>Z2(t2,_2))}function Z2(t2,i2){var D3,S3,m1,b1;let _2=!1;const V2=Number(t2==null?void 0:t2[0]),s3=Number(t2==null?void 0:t2[1]);for(let g1=0,a1=i2.length-1;g1s3!=j3>s3&&V2<(H2-n1)*(s3-C1)/(j3-C1)+n1&&(_2=!_2)}return _2}function f3(t2,i2){for(let _2=1;_2(Number(a1[0])-Number(g1[0]))*(Number(n1[1])-Number(g1[1]))-(Number(a1[1])-Number(g1[1]))*(Number(n1[0])-Number(g1[0])),D3=s3(t2,i2,_2),S3=s3(t2,i2,V2),m1=s3(_2,V2,t2),b1=s3(_2,V2,i2);return D3===0&&H3(_2,t2,i2)||S3===0&&H3(V2,t2,i2)||m1===0&&H3(t2,_2,V2)||b1===0&&H3(i2,_2,V2)?!0:(D3>0&&S3<0||D3<0&&S3>0)&&(m1>0&&b1<0||m1<0&&b1>0)}function O3(t2,i2,_2,V2){const s3=I3([t2,i2]),D3=I3([_2,V2]);return L3(s3,D3)}function H3(t2,i2,_2){const V2=Number(t2==null?void 0:t2[0]),s3=Number(t2==null?void 0:t2[1]),D3=Number(i2==null?void 0:i2[0]),S3=Number(i2==null?void 0:i2[1]),m1=Number(_2==null?void 0:_2[0]),b1=Number(_2==null?void 0:_2[1]),g1=(V2-D3)*(b1-S3)-(s3-S3)*(m1-D3);return Math.abs(g1)>1e-10?!1:V2>=Math.min(D3,m1)-1e-10&&V2<=Math.max(D3,m1)+1e-10&&s3>=Math.min(S3,b1)-1e-10&&s3<=Math.max(S3,b1)+1e-10}function F2(t2){const i2=[];return r1(t2==null?void 0:t2.coordinates,i2),i2.length?i2.reduce((_2,V2)=>({minLng:Math.min(_2.minLng,Number(V2[0])),minLat:Math.min(_2.minLat,Number(V2[1])),maxLng:Math.max(_2.maxLng,Number(V2[0])),maxLat:Math.max(_2.maxLat,Number(V2[1]))}),{minLng:Number.POSITIVE_INFINITY,minLat:Number.POSITIVE_INFINITY,maxLng:Number.NEGATIVE_INFINITY,maxLat:Number.NEGATIVE_INFINITY}):null}function L3(t2,i2){return!t2||!i2?!1:!(t2.maxLngi2.maxLng||t2.maxLati2.maxLat)}function C3(t2){return U3(t2==null?void 0:t2.geometry)}function U3(t2){return(t2==null?void 0:t2.type)==="Polygon"?F(t2.coordinates):(t2==null?void 0:t2.type)==="MultiPolygon"?t2.coordinates.reduce((i2,_2)=>i2+F(_2),0):0}function F(t2=[]){const i2=t2[0]||[];if(i2.length<3)return 0;const _2=i2.reduce((S3,m1)=>S3+Number(m1[1]||0),0)/i2.length,V2=111320*Math.cos(_2*Math.PI/180),s3=110540;let D3=0;for(let S3=0;S3r1(_2,i2))}}function I3(t2){return t2.reduce((i2,_2)=>({minLng:Math.min(i2.minLng,Number(_2==null?void 0:_2[0])),minLat:Math.min(i2.minLat,Number(_2==null?void 0:_2[1])),maxLng:Math.max(i2.maxLng,Number(_2==null?void 0:_2[0])),maxLat:Math.max(i2.maxLat,Number(_2==null?void 0:_2[1]))}),{minLng:Number.POSITIVE_INFINITY,minLat:Number.POSITIVE_INFINITY,maxLng:Number.NEGATIVE_INFINITY,maxLat:Number.NEGATIVE_INFINITY})}function T2(t2){const i2=Number(t2||0);return Number.isFinite(i2)?Number(i2.toFixed(i2>=10?2:4)).toString():"0"}function o2(t2){const i2=Number(t2||0)*1e4;return Number.isFinite(i2)?i2>=1e3?Number(i2.toFixed(0)).toLocaleString("zh-CN"):i2>=10?Number(i2.toFixed(1)).toLocaleString("zh-CN"):Number(i2.toFixed(2)).toString():"0"}function u2(t2=[]){const i2=new Map;return t2.forEach(_2=>{const V2=_2.category||"未知类型",s3=i2.get(V2)||{name:V2,count:0,area:0};s3.count+=1,s3.area+=Number(_2.overlapAreaWanMu||0),i2.set(V2,s3)}),[...i2.values()].sort((_2,V2)=>V2.area-_2.area||V2.count-_2.count)[0]||{name:"未知类型",count:0,area:0}}function W2(t2=[]){const i2=t2.map(s3=>Number(s3.year)).filter(s3=>Number.isFinite(s3));if(!i2.length)return"未知年份";const _2=Math.min(...i2),V2=Math.max(...i2);return _2===V2?`${_2} 年`:`${_2}-${V2} 年`}function Y2(t2,i2=18){const _2=String(t2||"未命名项目");return _2.length>i2?`${_2.slice(0,i2)}...`:_2}return e({applyDrawnBoundary:H}),(t2,i2)=>(h2(),v2("div",b32,[M("div",T32,[M("div",w32,[i2[0]||(i2[0]=M("span",null,"工程分析",-1)),_.value?(h2(),v2("strong",x32,L2(_.value),1)):l1("",!0)]),a.value?l1("",!0):(h2(),v2("div",{key:0,class:x1(["analysis-operation",{"has-boundary":s.value}])},[M("label",{class:x1(["analysis-entry is-upload",{"is-disabled":a.value}])},[M("input",{type:"file",accept:".zip,.json,.geojson",disabled:a.value,onChange:U},null,40,A32),M("span",null,L2(s.value?"更换边界":"上传边界"),1),i2[1]||(i2[1]=M("strong",null,"SHP / GeoJSON",-1))],2),M("button",{type:"button",class:"analysis-entry is-draw",disabled:a.value,onPointerup:jt(j,["stop","prevent"])},[M("span",null,L2(s.value?"重新绘制":"在线绘制"),1),i2[2]||(i2[2]=M("strong",null,"地图圈定",-1))],40,C32)],2)),a.value?(h2(),v2("div",M32,[M("div",E32,[i2[3]||(i2[3]=M("span",null,"已落点",-1)),M("strong",null,L2(n.drawingPointCount),1),i2[4]||(i2[4]=M("em",null,"点",-1)),i2[5]||(i2[5]=M("small",null,"至少 3 点",-1))]),M("button",{type:"button",class:"analysis-control is-primary",disabled:!y.value,onPointerup:jt(K,["stop","prevent"])}," 完成分析 ",40,P32),M("button",{type:"button",class:"analysis-control",disabled:!n.drawingPointCount,onPointerup:jt(c2,["stop","prevent"])},"撤销",40,R32),M("button",{type:"button",class:"analysis-control is-danger",onPointerup:jt(q,["stop","prevent"])},"删除图形",32)])):s.value?(h2(),v2("div",N32,[i2[6]||(i2[6]=M("span",null,"边界已加载",-1)),M("strong",null,L2(o.value.length?`命中 ${o.value.length} 项`:b.value),1),M("button",{type:"button",onPointerup:jt(S2,["stop","prevent"])},"删除图形",32)])):l1("",!0)]),M("div",L32,[M("div",I32,[i2[7]||(i2[7]=M("span",null,"建设记录核查",-1)),s.value?(h2(),v2("strong",k32,L2(b.value),1)):l1("",!0)]),s.value?(h2(),v2(X3,{key:1},[M("div",{class:x1(["analysis-conclusion",w.value.levelClass])},[M("div",D32,[i2[8]||(i2[8]=M("span",null,"分析结论",-1)),M("strong",null,L2(w.value.verdict),1)]),M("p",null,L2(w.value.summary),1),M("div",U32,[(h2(!0),v2(X3,null,c1(w.value.tags,_2=>(h2(),v2("span",{key:_2},L2(_2),1))),128))]),M("small",null,L2(w.value.advice),1)],2),o.value.length?(h2(),v2("div",B32,[(h2(!0),v2(X3,null,c1(o.value,_2=>(h2(),v2("button",{key:_2.key,type:"button",class:"analysis-project-row",onPointerup:jt(V2=>t2.$emit("focus-project",_2),["stop","prevent"])},[M("span",G32,L2(_2.projectName),1),M("div",V32,[M("strong",null,L2(_2.year),1),M("em",null,L2(_2.category),1),M("small",null,"叠加 "+L2(o2(_2.overlapAreaWanMu))+" 亩",1)]),M("b",null,L2(_2.featureCount)+" 个要素",1)],40,z32))),128))])):(h2(),v2("div",O32,"该边界范围内暂未匹配到已建设项目"))],64)):(h2(),v2("div",F32))])]))}},j32=xl(H32,[["__scopeId","data-v-75e73c29"]]),Y5=(n,e)=>n.reduce((t,i)=>t+Number(i[e]||0),0),st=(n,e=2)=>Number(Number(n||0).toFixed(e)),q6={kpi:{projectCount:22,featureCount:29280,subjectFeatureCount:1478,controlPointCount:27802,areaWanMu:175.3693,lengthKm:1250.62,townshipCount:10},categories:[{name:"草地修复",subjectFeatureCount:1067,areaWanMu:168.0339,lengthKm:1238.18,projectCount:13},{name:"林地修复",subjectFeatureCount:244,areaWanMu:7.3354,lengthKm:0,projectCount:6},{name:"湿地修复",subjectFeatureCount:167,areaWanMu:0,lengthKm:12.44,projectCount:3}],measures:[{name:"草原改良",subjectFeatureCount:285,areaWanMu:84.2792,lengthKm:467.5,projectCount:8},{name:"人工种草",subjectFeatureCount:532,areaWanMu:29.1561,lengthKm:0,projectCount:13},{name:"封育治理",subjectFeatureCount:45,areaWanMu:21.2487,lengthKm:0,projectCount:1},{name:"围栏建设",subjectFeatureCount:223,areaWanMu:19.4235,lengthKm:660.88,projectCount:9},{name:"林草碳汇试点",subjectFeatureCount:11,areaWanMu:12.5759,lengthKm:0,projectCount:1},{name:"水源涵养",subjectFeatureCount:82,areaWanMu:5.6993,lengthKm:0,projectCount:1},{name:"人工种草/补播",subjectFeatureCount:46,areaWanMu:2.8162,lengthKm:0,projectCount:4},{name:"防风固沙林",subjectFeatureCount:6,areaWanMu:.1303,lengthKm:0,projectCount:1},{name:"草种繁育",subjectFeatureCount:4,areaWanMu:.04,lengthKm:0,projectCount:1},{name:"种草围栏",subjectFeatureCount:77,areaWanMu:0,lengthKm:109.81,projectCount:1},{name:"小型坝",subjectFeatureCount:8,areaWanMu:0,lengthKm:8.83,projectCount:1},{name:"微型坝",subjectFeatureCount:159,areaWanMu:0,lengthKm:3.61,projectCount:2}],years:[{name:2017,areaWanMu:.1412,lengthKm:0,projectCount:1},{name:2018,areaWanMu:.5608,lengthKm:0,projectCount:1},{name:2019,areaWanMu:12.513,lengthKm:0,projectCount:1},{name:2020,areaWanMu:35.9848,lengthKm:0,projectCount:2},{name:2021,areaWanMu:25.0755,lengthKm:467.5,projectCount:5},{name:2022,areaWanMu:72.024,lengthKm:656.05,projectCount:8},{name:2023,areaWanMu:29.07,lengthKm:114.64,projectCount:3},{name:"未知",areaWanMu:0,lengthKm:12.44,projectCount:2}],townships:[{name:"麦洼乡",areaWanMu:28.5019,lengthKm:84.28,projectCount:3},{name:"龙日镇",areaWanMu:15.8472,lengthKm:46.05,projectCount:2},{name:"安曲镇",areaWanMu:13.1168,lengthKm:0,projectCount:2},{name:"瓦切镇",areaWanMu:6.6824,lengthKm:214.41,projectCount:4},{name:"色地镇",areaWanMu:6.344,lengthKm:101.25,projectCount:3},{name:"刷经寺镇",areaWanMu:5.6528,lengthKm:126.26,projectCount:1},{name:"邛溪镇",areaWanMu:2.3127,lengthKm:101.39,projectCount:4},{name:"阿木乡",areaWanMu:1.34,lengthKm:59.5,projectCount:2},{name:"查尔玛乡",areaWanMu:.7001,lengthKm:37.56,projectCount:1}],projects:[{projectName:"阿坝州红原县2020年退牧还草工程项目",projectCategory:"草地修复",year:2020,areaWanMu:35.6232,lengthKm:0,measureTypes:["人工种草","围栏建设"],townships:[],subjectFeatureCount:73},{projectName:"四川省阿坝州若尔盖草原湿地水源涵养生态保护和修复项目(红原县部分)-2022年",projectCategory:"草地修复",year:2022,areaWanMu:21.5,lengthKm:172.31,measureTypes:["人工种草","围栏建设","种草围栏","草原改良"],townships:["刷经寺镇","龙日镇"],subjectFeatureCount:273},{projectName:"阿坝州红原县 2022 年第二批重点生态保护和修护治理项目-草原封育治理-700",projectCategory:"草地修复",year:2022,areaWanMu:21.2487,lengthKm:272.25,measureTypes:["围栏建设","封育治理"],townships:["瓦切镇","色地镇","邛溪镇"],subjectFeatureCount:90},{projectName:"四川省阿坝州 2023 年中央财政林业草原改革发展资金预算(第三批)——红原县草原生态修复项目",projectCategory:"草地修复",year:2023,areaWanMu:18.79,lengthKm:32.32,measureTypes:["人工种草","围栏建设","草原改良","草种繁育"],townships:["瓦切镇","麦洼乡"],subjectFeatureCount:102},{projectName:"阿坝州红原县2022年第二批重点生态保护和修护治理——红原县林草碳汇创新开发建设试点项目",projectCategory:"草地修复",year:2022,areaWanMu:12.5759,lengthKm:0,measureTypes:["林草碳汇试点"],townships:["安曲镇"],subjectFeatureCount:11},{projectName:"四川省红原县2019年草原生态修复治理项目退化草地治理和天然草原改良",projectCategory:"草地修复",year:2019,areaWanMu:12.513,lengthKm:0,measureTypes:["人工种草/补播","草原改良"],townships:[],subjectFeatureCount:25},{projectName:"阿坝州红原县2021年若尔盖—甘南草原湿地生态保护和修复项目-1880",projectCategory:"草地修复",year:2021,areaWanMu:11.0031,lengthKm:467.5,measureTypes:["人工种草","草原改良"],townships:[],subjectFeatureCount:229},{projectName:"2023 年度四川省阿坝州若尔盖草原湿地水源涵养生态保护和修复项目(红原县部分)-1315",projectCategory:"草地修复",year:2023,areaWanMu:10.28,lengthKm:82.32,measureTypes:["人工种草","围栏建设","草原改良"],townships:["查尔玛乡","麦洼乡"],subjectFeatureCount:50},{projectName:"阿坝州红原县 2022 年中央财政林业草原生态保护恢复(第二批)——草原生态修复治理补助项目-1972",projectCategory:"草地修复",year:2022,areaWanMu:8.2,lengthKm:113.37,measureTypes:["围栏建设","草原改良","人工种草"],townships:["色地镇","邛溪镇","阿木乡"],subjectFeatureCount:127},{projectName:"阿坝州红原县2021年省级草原生态保护恢复项目-1790",projectCategory:"草地修复",year:2021,areaWanMu:7,lengthKm:0,measureTypes:["人工种草","草原改良"],townships:[],subjectFeatureCount:16},{projectName:"阿坝州红原县 2021 年中央财政林业草原生态保护恢复项目-984",projectCategory:"草地修复",year:2021,areaWanMu:6.5,lengthKm:0,measureTypes:["草原改良","人工种草"],townships:[],subjectFeatureCount:14},{projectName:"红原县2022年度黄河上游水源涵养补给区综合治理项目实施方案(代作业设计)变更后最终版",projectCategory:"林地修复",year:2022,areaWanMu:5.6993,lengthKm:0,measureTypes:["水源涵养"],townships:["安曲镇","瓦切镇"],subjectFeatureCount:82},{projectName:"阿坝州红原县 2022 年第二批重点生态保护和修护治理——草原生态修复治理项目-1500",projectCategory:"草地修复",year:2022,areaWanMu:2,lengthKm:81.05,measureTypes:["人工种草","围栏建设"],townships:["瓦切镇","色地镇","麦洼乡"],subjectFeatureCount:53},{projectName:"阿坝州红原县 2022 年省级林业草原生态保护恢复——草原生态修复治理补助项目-888",projectCategory:"草地修复",year:2022,areaWanMu:.8,lengthKm:17.07,measureTypes:["人工种草","围栏建设"],townships:["阿木乡"],subjectFeatureCount:4},{projectName:"红原县2018年川西高原生态脆弱区综合治理项目",projectCategory:"林地修复",year:2018,areaWanMu:.5608,lengthKm:0,measureTypes:["人工种草","人工种草/补播"],townships:[],subjectFeatureCount:107},{projectName:"红原县2021年黄河上游水源涵养补给区生态综合治理项目",projectCategory:"林地修复",year:2021,areaWanMu:.5224,lengthKm:0,measureTypes:["人工种草/补播"],townships:["邛溪镇"],subjectFeatureCount:14},{projectName:"红原县2020年川西高原生态脆弱区综合治理项目",projectCategory:"林地修复",year:2020,areaWanMu:.3617,lengthKm:0,measureTypes:["人工种草","人工种草/补播"],townships:[],subjectFeatureCount:31},{projectName:"2017年川西高原生态脆弱区综合治理项目",projectCategory:"林地修复",year:2017,areaWanMu:.1412,lengthKm:0,measureTypes:["人工种草","防风固沙林"],townships:["邛溪镇"],subjectFeatureCount:8},{projectName:"红原县2021年人工造林封山育林项目",projectCategory:"林地修复",year:2021,areaWanMu:.05,lengthKm:0,measureTypes:["围栏建设"],townships:[],subjectFeatureCount:2},{projectName:"4980小型坝(1)(1)",projectCategory:"湿地修复",year:"未知",areaWanMu:0,lengthKm:8.83,measureTypes:["小型坝"],townships:[],subjectFeatureCount:8},{projectName:"红原县蓄水保湿工程-小型坝和微型坝(1)(1)",projectCategory:"湿地修复",year:2023,areaWanMu:0,lengthKm:3.61,measureTypes:["微型坝"],townships:[],subjectFeatureCount:59},{projectName:"4980微型坝成型(1)(1)",projectCategory:"湿地修复",year:2022,areaWanMu:0,lengthKm:0,measureTypes:["微型坝"],townships:[],subjectFeatureCount:100}]},jS=[{key:"national-park",label:"若尔盖国家公园",bottomLabel:"若尔盖国家公园"},{key:"restoration",label:"生态修复工程",bottomLabel:"生态修复工程"},{key:"engineering-analysis",label:"工程分析",bottomLabel:"工程分析"}],T6=[{name:"麦洼乡",grasslandAreaWanMu:31.41,wetlandAreaWanMu:11.16,ecologyJobs:179,yakCount:61720,livestockCount:63507,cover:85,villages:"洞拉村、滚塘村、让里村、茸塔玛村"},{name:"瓦切镇",grasslandAreaWanMu:31.42,wetlandAreaWanMu:11.15,ecologyJobs:160,yakCount:33887,livestockCount:34589,cover:85,villages:"唐日村、德香村、日干村"},{name:"色地镇",grasslandAreaWanMu:31.42,wetlandAreaWanMu:11.16,ecologyJobs:39,yakCount:9572,livestockCount:9843,cover:86,villages:"色永村"}],Cn={name:"若尔盖国家公园红原区域",totalAreaWanMu:161.31,grasslandAreaWanMu:94.25,wetlandAreaWanMu:33.47,woodlandAreaWanMu:null,woodlandDataStatus:"待接入",vegetationCoverage:st(Y5(T6,"cover")/T6.length,1),townCount:T6.length,villageCount:T6.reduce((n,e)=>n+String(e.villages||"").split("、").filter(Boolean).length,0),householdCount:3023,ecologyJobCount:Y5(T6,"ecologyJobs"),yakCount:Y5(T6,"yakCount"),livestockCount:Y5(T6,"livestockCount")};Cn.otherProtectedAreaWanMu=st(Cn.totalAreaWanMu-Cn.grasslandAreaWanMu-Cn.wetlandAreaWanMu,2);T6.map(n=>({key:n.name,name:n.name,value:st(n.grasslandAreaWanMu+n.wetlandAreaWanMu,2),unit:"万亩",extra:`草地 ${n.grasslandAreaWanMu} / 湿地 ${n.wetlandAreaWanMu}`}));T6.map(n=>({key:`${n.name}-town`,name:n.name,value:st(n.grasslandAreaWanMu+n.wetlandAreaWanMu,2),unit:"万亩",extra:n.villages}));const W32=[{key:"core-protection",name:"核心保护区",value:67.36,unit:"万亩"},{key:"general-control",name:"一般控制区",value:93.95,unit:"万亩"}],$32=43.66,Y32=st($32*(192.26/297.29),2),q32={麦洼乡:[{name:"洞拉村",grassland:.29,wetland:.34,household:.3,yak:.32,edible:.31,woodland:.3},{name:"滚塘村",grassland:.26,wetland:.27,household:.25,yak:.25,edible:.26,woodland:.25},{name:"让里村",grassland:.24,wetland:.21,household:.24,yak:.23,edible:.23,woodland:.24},{name:"茸塔玛村",grassland:.21,wetland:.18,household:.21,yak:.2,edible:.2,woodland:.21}],瓦切镇:[{name:"唐日村",grassland:.38,wetland:.42,household:.36,yak:.4,edible:.39,woodland:.38},{name:"德香村",grassland:.32,wetland:.32,household:.33,yak:.32,edible:.32,woodland:.32},{name:"日干村",grassland:.3,wetland:.26,household:.31,yak:.28,edible:.29,woodland:.3}],色地镇:[{name:"色永村",grassland:1,wetland:1,household:1,yak:1,edible:1,woodland:1}]},K32=Y5(T6,"livestockCount")||Y5(T6,"yakCount")||1,pl=T6.map(n=>R3(d3({},n),{householdCount:Math.round(Cn.householdCount*Number(n.livestockCount||n.yakCount||0)/K32),edibleGrasslandWanTon:st(Number(n.grasslandAreaWanMu||0)/Math.max(Cn.grasslandAreaWanMu,1)*Y32,2)})),WS=Cn.householdCount-Y5(pl,"householdCount");WS&&pl[0]&&(pl[0].householdCount+=WS);const dp=(n,e=Y5(n,"value"))=>n.map(t=>R3(d3({},t),{extra:t.extra||`占比 ${st(Number(t.value||0)/Math.max(e,1)*100,1)}%`})),X32=dp([{key:"park-scope-grassland",name:"草地",value:Cn.grasslandAreaWanMu,unit:"万亩"},{key:"park-scope-wetland",name:"湿地",value:Cn.wetlandAreaWanMu,unit:"万亩"},{key:"park-scope-other",name:"其他保护范围",value:Cn.otherProtectedAreaWanMu,unit:"万亩"}]),la=({sourceKey:n,weightKey:e,unit:t="万亩",decimals:i=2,sortByValue:r=!0})=>{const a=pl.flatMap(o=>(q32[o.name]||[]).map(u=>({key:`${o.name}-${u.name}-${n}`,name:u.name,town:o.name,value:st(Number(o[n]||0)*Number(u[e]||0),i),unit:t}))).filter(o=>Number(o.value)>0),s=r?a.sort((o,l)=>Number(l.value||0)-Number(o.value||0)):a;return dp(s)},J32=la({sourceKey:"wetlandAreaWanMu",weightKey:"wetland",sortByValue:!1}),Z32=la({sourceKey:"grasslandAreaWanMu",weightKey:"grassland"}),Q32=la({sourceKey:"householdCount",weightKey:"household",unit:"户",decimals:0}),e12=la({sourceKey:"yakCount",weightKey:"yak",unit:"头",decimals:0}),t12=la({sourceKey:"edibleGrasslandWanTon",weightKey:"edible",unit:"万吨"}),n12=la({sourceKey:"wetlandAreaWanMu",weightKey:"woodland"}),i12=[{zh:"国家公园面积",value:Cn.totalAreaWanMu,unit:"万亩",decimals:2},{zh:"草地面积",value:Cn.grasslandAreaWanMu,unit:"万亩",decimals:2},{zh:"湿地面积",value:Cn.wetlandAreaWanMu,unit:"万亩",decimals:2},{zh:"牦牛数量",value:Cn.yakCount,unit:"头",decimals:0}],r12=[{zh:"修复项目",value:q6.kpi.projectCount,unit:"个",decimals:0},{zh:"治理面积",value:q6.kpi.areaWanMu,unit:"万亩",decimals:2},{zh:"工程长度",value:q6.kpi.lengthKm,unit:"公里",decimals:2},{zh:"涉及乡镇",value:q6.kpi.townshipCount,unit:"个",decimals:0}];function a12(n){return n==="engineering-analysis"?[]:(n==="restoration"?r12:i12).map((t,i)=>d3({icon:i%2===0?"xiaoshoujine":"zongxiaoliang",en:""},t))}const s12={left:[{key:"park-resource-scope",title:"显示范围资源占比",type:"donut",rows:X32},{key:"park-wetland-village",title:"湿地分布村级对比",type:"line",rows:J32.slice(0,8)},{key:"park-woodland-village",title:"林地分布村级排行",type:"heat",rows:n12.slice(0,8)},{key:"park-grassland-village",title:"草地分布村级排行",type:"peak",rows:Z32.slice(0,8)}],right:[{key:"park-household-village",title:"牧户分布村级排行",type:"column",variant:"pin",rows:Q32.slice(0,8)},{key:"park-yak-village",title:"牦牛分布村级排行",type:"bar",variant:"distribution",rows:e12.slice(0,8)},{key:"park-edible-grass-village",title:"可食草地资源分布",type:"split",rows:t12.slice(0,8)},{key:"park-zoning-ledger",title:"核心区和一般区分区面积",type:"structure",rows:dp(W32)}]},Nd=new Map((q6.townships||[]).filter(n=>/[乡镇]$/.test(String(n.name||""))).map(n=>[n.name,n])),Bx=Rw.map(n=>{var e,t,i;return{name:n,areaWanMu:((e=Nd.get(n))==null?void 0:e.areaWanMu)||0,lengthKm:((t=Nd.get(n))==null?void 0:t.lengthKm)||0,projectCount:((i=Nd.get(n))==null?void 0:i.projectCount)||0}}),zx=(q6.projects||[]).map((n,e)=>{const t=Number(n.areaWanMu)>0,i=Number(n.lengthKm)>0,r=t?{value:st(n.areaWanMu,2),unit:"万亩",metric:"治理面积"}:i?{value:st(n.lengthKm,2),unit:"公里",metric:"工程长度"}:{value:n.subjectFeatureCount||0,unit:"个",metric:"主体要素"},a=(n.measureTypes||[]).join("、"),s=(n.townships||[]).join("、");return{key:n.id||n.projectName,index:e+1,name:n.projectName,projectName:n.projectName,category:n.projectCategory,year:n.year||"未知",areaWanMu:st(n.areaWanMu,4),lengthKm:st(n.lengthKm,2),measure:a,townships:s,subjectFeatureCount:n.subjectFeatureCount||0,value:r.value,unit:r.unit,metric:r.metric,extra:[n.year||"未知",a].filter(Boolean).join(" / "),searchText:[n.projectName,n.projectCategory,n.year,a,s].filter(Boolean).join(" ")}});zx.map((n,e)=>{const t=e%6,i=Math.floor(e/6),r=102.42+t*.045,a=32.55+i*.035,s=.018+Math.min(.024,Number(n.areaWanMu||0)/1200);return{type:"Feature",properties:{project_name:n.projectName,project_category:n.category,year:n.year,areaWanMu:n.areaWanMu,lengthKm:n.lengthKm,townships:n.townships,measure:n.measure},geometry:{type:"Polygon",coordinates:[[[r,a],[r+s,a+s*.22],[r+s*.82,a+s],[r-s*.16,a+s*.72],[r,a]]]}}});const o12={left:[{key:"restoration-year-area",title:"治理面积分布",type:"line",rows:(q6.years||[]).map(n=>({key:n.name,name:`${n.name}`,value:st(n.areaWanMu,2),unit:"万亩",extra:`${n.projectCount||0}个项目`}))},{key:"restoration-town-area",title:"乡镇治理面积分布",type:"bar",variant:"distribution",rows:Bx.map(n=>({key:n.name,name:n.name,value:st(n.areaWanMu,2),unit:"万亩",extra:`${st(n.lengthKm,2)}公里`}))},{key:"restoration-category",title:"修复类型占比",type:"donut",rows:(q6.categories||[]).map(n=>({key:n.name,name:n.name,value:st(n.areaWanMu||n.lengthKm||n.subjectFeatureCount,2),unit:n.areaWanMu?"万亩":n.lengthKm?"公里":"个",extra:`${n.subjectFeatureCount}个图斑`}))},{key:"restoration-year-length",title:"年度工程长度",type:"column",variant:"slim",rows:(q6.years||[]).filter(n=>Number(n.lengthKm)>0).map(n=>({key:n.name,name:`${n.name}`,value:st(n.lengthKm,2),unit:"公里",extra:`${n.projectCount||0}个项目`}))}],right:[{key:"restoration-measure-area",title:"修复措施统计",type:"structure",rows:(q6.measures||[]).slice(0,8).map(n=>({key:n.name,name:n.name,value:st(n.areaWanMu||n.lengthKm||n.subjectFeatureCount,2),unit:n.areaWanMu?"万亩":n.lengthKm?"公里":"个",extra:`${n.projectCount}个项目`}))},{key:"restoration-year-project",title:"年度项目数量",type:"column",variant:"slim",rows:(q6.years||[]).map(n=>({key:n.name,name:`${n.name}`,value:n.projectCount,unit:"个",extra:`${st(n.areaWanMu,2)}万亩`}))},{key:"restoration-projects",title:"重点项目库",type:"projectTable",span:2,rows:zx}]},l12={left:[],right:[]};function u12(n){return n==="restoration"?{status:"success",title:"乡镇治理排行",metricLabel:"治理面积",unit:"万亩",rows:Bx.map(e=>({name:e.name,value:st(e.areaWanMu,2),unit:"万亩"}))}:n==="engineering-analysis"?{status:"success",title:"工程分析",metricLabel:"",unit:"",rows:[]}:{status:"success",title:"国家公园覆盖范围",scope:"town",hideTownNames:!1,metricLabel:"",unit:"",rows:[]}}const c12={class:"forest-grass-wet ecological-protection"},d12={class:"forest-grass-wet-ui ecological-protection-ui"},h12={key:0,class:"fgw-left"},f12={class:"fgw-side-stack is-left"},p12={key:1,class:"fgw-right"},m12={class:"fgw-side-stack is-right"},g12={class:"fgw-bottom-topic ecological-bottom-topic"},v12={key:0,class:"loading"},y12={class:"loading-progress"},_12={class:"value"},$S=190,S12=12,b12={__name:"index",props:{activeView:{type:String,default:"national-park"},showLoading:{type:Boolean,default:!0},active:{type:Boolean,default:!0}},emits:["module-stats","view-change"],setup(n,{emit:e}){const t=n,i=e,r=x3(null),a=x3(null),s=x3(""),o=x3(""),l=x3(null),u=x3(!1),d=x3(!1),h=x3(null),f=x3(0),v=x3(t.showLoading),_=x3(null),b=x3(0),y=x3({type:"idle",text:"等待生态保护图层加载"});let w=null,U=!1,P=!1,O=!1,j=null;const q=z2(()=>["national-park","restoration","engineering-analysis"].includes(t.activeView)?t.activeView:"national-park"),K=z2(()=>q.value==="engineering-analysis"),c2=z2(()=>s.value?Z4(q.value,s.value):null),S2=z2(()=>{var u2;return(((u2=c2.value)==null?void 0:u2.legends)||[]).find(W2=>W2.key===o.value)||null}),H=z2(()=>{const u2=c2.value;return!u2||!S2.value?u2:R3(d3({},u2),{cqlFilter:S2.value.cqlFilter||u2.cqlFilter,activeLegend:S2.value,name:S2.value.name||u2.name})}),Z=z2(()=>q.value==="restoration"?o12:q.value==="engineering-analysis"?l12:s12),G2=z2(()=>Z.value.left||[]),q2=z2(()=>Z.value.right||[]),C2=$S*2+S12,E2=z2(()=>!!h.value),A2=z2(()=>{if(d.value||u.value||!l.value)return 186;const u2=Z2(l.value);return Math.min(480,Math.max(300,86+Math.min(u2,12)*34))}),X2=z2(()=>{if(!h.value)return{};const u2=460,W2=A2.value,Y2=24,t2=h3(h.value),i2=t2.x>1420?-u2-28:28,_2=Math.min(Math.max(t2.x+i2,Y2),1920-u2-Y2),V2=Math.min(Math.max(t2.y-W2-72,188),1080-W2-132);return{left:`${_2}px`,top:`${V2}px`,right:"auto",bottom:"auto"}});Fn(()=>{document.addEventListener("pointerdown",T2,!0),p2(),b2(q.value)}),a6(()=>{U=!0,j&&window.clearTimeout(j),document.removeEventListener("pointerdown",T2,!0)}),Z0(q,u2=>{b2(u2)}),Z0(s,()=>{o.value="",I3()}),Z0(o,()=>{I3()}),Z0(()=>t.active,u2=>{var W2,Y2,t2,i2;r.value&&(u2?(N2(),(Y2=(W2=r.value).resume)==null||Y2.call(W2)):(i2=(t2=r.value).pause)==null||i2.call(t2))});function b2(u2){var t2,i2,_2,V2,s3;const W2=So.find(D3=>D3.key===u2)||So[0],Y2=zl(u2);o.value="",s.value=W2.defaultLayerKey||((t2=Y2[0])==null?void 0:t2.key)||"",_.value=u12(u2),b.value=0,(_2=(i2=r.value)==null?void 0:i2.setBoundaryDrawing)==null||_2.call(i2,!1),u2!=="engineering-analysis"&&((s3=(V2=r.value)==null?void 0:V2.clearAnalysisBoundary)==null||s3.call(V2)),I3(),i("module-stats",{moduleKey:"ecological-protection",viewKey:u2,items:a12(u2)})}function J(u2){const W2=["national-park","restoration","engineering-analysis"].includes(u2)?u2:"national-park";W2!==q.value&&i("view-change",W2)}function p2(){var Y2;w=new aa;const u2={progress:0};w.instance.on("onProgress",(t2,i2,_2)=>{const V2=Math.floor(i2/_2*100);Ge.to(u2,{progress:V2,onUpdate:()=>{f.value=Math.floor(u2.progress)}})});const W2=()=>{U||P||(P=!0,N2())};w.instance.on("onLoad",W2),(Y2=w.ready)==null||Y2.then(W2).catch(()=>{U||(y.value={type:"error",text:"地图资源加载失败"})})}function N2(){U||!t.active||!P||O||(O=!0,j&&window.clearTimeout(j),j=window.setTimeout(()=>{j=null,e3()},600))}function e3(u2=0){return k3(this,null,function*(){var Y2,t2,i2,_2,V2;if(U)return;if(!t.active){O=!1;return}if(yield ft(),!t.active){O=!1;return}if(!!((t2=(Y2=r.value)==null?void 0:Y2.loadMap)!=null&&t2.call(Y2,w)||(_2=(i2=r.value)==null?void 0:i2.hasMap)!=null&&_2.call(i2))){yield o2(),yield ft(),(V2=r.value)==null||V2.play();return}if(u2<24){window.setTimeout(()=>e3(u2+1),120);return}O=!1})}function h3(u2){const W2=document.querySelector(".ecological-protection"),Y2=W2==null?void 0:W2.getBoundingClientRect();return!(Y2!=null&&Y2.width)||!(Y2!=null&&Y2.height)?u2:{x:(u2.x-Y2.left)/Y2.width*1920,y:(u2.y-Y2.top)/Y2.height*1080}}function I2(u2,W2){return`${q.value}-${W2}-${(u2==null?void 0:u2.key)||(u2==null?void 0:u2.title)||"panel"}`}function n2(u2){return(u2==null?void 0:u2.span)===2}function P2(u2){return n2(u2)?C2:$S}function Z2(u2){const W2=(u2==null?void 0:u2.properties)||{};return Object.keys(W2).filter(Y2=>{const t2=W2[Y2];return t2==null||t2===""?!1:!["geom","wkt","geometry","the_geom","raw_properties"].includes(String(Y2).toLowerCase())}).length}function f3(u2){var Y2,t2;const W2=(t2=(Y2=u2==null?void 0:u2.feature)!=null?Y2:u2)!=null?t2:null;if(!W2){I3();return}l.value=W2,u.value=!1,u2!=null&&u2.screen&&(h.value=u2.screen)}function v3(u2){y.value=u2}function O3(u2,W2){var t2,i2;if(q.value!=="restoration"||(u2==null?void 0:u2.key)!=="restoration-projects")return;const Y2=(W2==null?void 0:W2.projectName)||(W2==null?void 0:W2.name);Y2&&(I3(),(i2=(t2=r.value)==null?void 0:t2.focusProject)==null||i2.call(t2,Y2))}function H3(u2){var W2,Y2;I3(),b.value=0,(Y2=(W2=r.value)==null?void 0:W2.setBoundaryDrawing)==null||Y2.call(W2,u2)}function F2(){var u2,W2;(W2=(u2=r.value)==null?void 0:u2.finishBoundaryDrawing)==null||W2.call(u2)}function L3(){var u2,W2;(W2=(u2=r.value)==null?void 0:u2.undoBoundaryPoint)==null||W2.call(u2)}function C3(){var u2,W2;b.value=0,(W2=(u2=r.value)==null?void 0:u2.clearAnalysisBoundary)==null||W2.call(u2)}function U3(u2={}){var W2,Y2,t2;b.value=u2.pointCount||((W2=u2.points)==null?void 0:W2.length)||0,u2.status==="complete"&&u2.feature&&(b.value=0,(t2=(Y2=a.value)==null?void 0:Y2.applyDrawnBoundary)==null||t2.call(Y2,u2.feature)),u2.status==="clear"&&(b.value=0)}function F(u2={}){var W2,Y2;(Y2=(W2=r.value)==null?void 0:W2.showAnalysisResult)==null||Y2.call(W2,{boundary:u2.boundary,matches:u2.matches,preserveView:q.value==="engineering-analysis"}),q.value}function r1(u2){var Y2,t2;const W2=((u2==null?void 0:u2.features)||[]).filter(Boolean);(t2=(Y2=r.value)==null?void 0:Y2.showAnalysisResult)==null||t2.call(Y2,{matches:W2})}function I3(){var u2,W2;l.value=null,u.value=!1,h.value=null,(W2=(u2=r.value)==null?void 0:u2.clearSelectedFeature)==null||W2.call(u2)}function T2(u2){if(!E2.value)return;const W2=document.querySelector(".fgw-map-feature-info"),Y2=u2.target;W2&&Y2 instanceof Node&&W2.contains(Y2)||I3()}function o2(){return v.value?new Promise(u2=>{Ge.to(".ecological-protection .loading",{opacity:0,duration:.8,delay:.2,onComplete:()=>{v.value=!1,u2()}})}):Promise.resolve()}return(u2,W2)=>{var Y2;return h2(),v2("div",c12,[K3(ra,{ref_key:"mapSceneRef",ref:r,"active-layer":H.value,"map-ranking":_.value,onFeatureLoading:W2[0]||(W2[0]=t2=>d.value=t2),onFeatureInfo:f3,onLayerStatus:v3,onDrawBoundary:U3},null,8,["active-layer","map-ranking"]),M("div",d12,[K.value?l1("",!0):(h2(),v2("div",h12,[M("div",f12,[(h2(!0),v2(X3,null,c1(G2.value,t2=>(h2(),Ze(X1,{key:I2(t2,"left"),class:x1(["fgw-side-card left-card",{"is-double":n2(t2)}]),title:t2.title,width:398,height:P2(t2)},{default:z1(()=>[K3(Tn,{panel:t2,compact:"",onRowSelect:i2=>O3(t2,i2)},null,8,["panel","onRowSelect"])]),_:2},1032,["class","title","height"]))),128))])])),K.value?l1("",!0):(h2(),v2("div",p12,[M("div",m12,[(h2(!0),v2(X3,null,c1(q2.value,t2=>(h2(),Ze(X1,{key:I2(t2,"right"),class:x1(["fgw-side-card right-card",{"is-double":n2(t2)}]),title:t2.title,width:398,height:P2(t2)},{default:z1(()=>[K3(Tn,{panel:t2,compact:"",onRowSelect:i2=>O3(t2,i2)},null,8,["panel","onRowSelect"])]),_:2},1032,["class","title","height"]))),128))])])),K.value?(h2(),Ze(j32,{key:2,ref_key:"engineeringAnalysisRef",ref:a,"drawing-point-count":b.value,onDrawingChange:H3,onFinishDrawing:F2,onUndoPoint:L3,onClearBoundary:C3,onAnalysisResult:F,onFocusProject:r1},null,8,["drawing-point-count"])):l1("",!0),M("div",{class:x1(["fgw-map-layer-tools",{"is-analysis":K.value}])},[K3(Kf,{modelValue:s.value,"onUpdate:modelValue":W2[1]||(W2[1]=t2=>s.value=t2),"selected-legend-key":o.value,"onUpdate:selectedLegendKey":W2[2]||(W2[2]=t2=>o.value=t2),"topic-key":q.value,legends:((Y2=H.value)==null?void 0:Y2.legends)||[],width:248,height:430},null,8,["modelValue","selected-legend-key","topic-key","legends"])],2),E2.value?(h2(),v2("div",{key:3,class:"fgw-map-feature-info",style:p0(X2.value)},[K3(rx,{feature:l.value,empty:u.value,loading:d.value,width:460,height:A2.value},null,8,["feature","empty","loading","height"])],4)):l1("",!0),M("div",g12,[K3(Hl,{"model-value":q.value,topics:D0(So),"onUpdate:modelValue":J},null,8,["model-value","topics"])])]),v.value?(h2(),v2("div",v12,[W2[4]||(W2[4]=K9('
LOADING
',1)),M("div",y12,[M("span",_12,L2(f.value),1),W2[3]||(W2[3]=M("span",{class:"unit"},"%",-1))])])):l1("",!0)])}}},Fh=x12("/jsyApi"),T12="/openApi";function w12(n,e){return/^https?:\/\//.test(e)?e:`${n}${e.startsWith("/")?e:`/${e}`}`}function x12(n){const e=String(n||"/jsyApi").replace(/\/+$/,"");return e.endsWith("/api")?e:`${e}/api`}function A12(n){if((n==null?void 0:n.success)===!1||(n==null?void 0:n.code)!==void 0&&![0,200,"0","200"].includes(n.code)){const t=new Error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"接口请求失败");throw t.code=n==null?void 0:n.code,t}return r0(n)}function ml(n,e,t,i={}){return Q6(w12(n,e),{params:t,timeout:i.timeout||16e3}).then(A12)}function C12(n){return Array.isArray(n)?n:Array.isArray(n==null?void 0:n.rows)?n.rows:Array.isArray(n==null?void 0:n.list)?n.list:Array.isArray(n==null?void 0:n.data)?n.data:[]}function M12(n){return Array.isArray(n)?n.length>0:!n||typeof n!="object"?n!=null&&n!=="":["areaRange","area_range","acreage","grasslandArea","grassland_area","area","yakNumber","yak_number","number","yakCount","yak_count","livestockCount","livestock_count","bearingCapacity","bearing_capacity","capacity","theoryCapacity","livestockCapacity","livestock_capacity","carryingCapacity","actualCapacity","overloadRate","overload_rate","rate","level","conclusion","advice","balanceAdvice","balance_advice"].some(t=>n[t]!==void 0&&n[t]!==null&&n[t]!=="")}function E12(){return k3(this,arguments,function*({areaCode:n}={}){const e={areaCode:n},t=[()=>ml(Fh,"/ai/livestockBalance",e,{timeout:18e3}),()=>ml(T12,"/ai/balance/advice",e,{timeout:18e3})];let i;for(const r of t)try{const a=yield r();if(M12(a))return a}catch(a){i=a}throw i||new Error("草畜平衡接口不可用")})}function P12(n){return k3(this,null,function*(){const e=[()=>ml(Fh,"/area/children",{areaCode:n},{timeout:12e3}),()=>ml(Fh,"/map/areaCode",{areaCode:n},{timeout:12e3})];let t,i=!1;for(const r of e)try{const a=C12(yield r());if(a.length)return a;i=!0}catch(a){t=a}if(i)return[];throw t||new Error("区划接口不可用")})}const $l={grasslandCapacityPerMu:.06229833103624831,muPerYak:16.051794379822947,yakToSheepUnit:1},R12={key:"county-513233",type:"county",name:"红原县",areaCode:"513233"},uo=[{key:"healthy",label:"草畜平衡",shortLabel:"平衡",range:"≤ 0%",description:"承载力覆盖实际载畜量,当前放牧压力处于合理区间。",actions:["保持当前载畜水平与轮牧节奏","定期复测草地生产力和载畜量","关注极端天气对牧草生长的影响"]},{key:"watch",label:"轻度超载",shortLabel:"关注",range:"0% - 10%",description:"已出现轻度超载迹象,建议提前介入调控。",actions:["适度压减超载畜群规模","延长冬春舍饲补饲周期","增加人工草场补饲供应"]},{key:"warning",label:"中度超载",shortLabel:"预警",range:"10% - 20%",description:"超载较明显,草地退化风险上升,应启动主动调控。",actions:["压减载畜量至理论承载力以内","推行划区轮牧与阶段性休牧","扩大优质人工饲草供给"]},{key:"danger",label:"严重超载",shortLabel:"高压",range:"> 20%",description:"超载压力较高,建议纳入重点管控和生态修复范围。",actions:["强制压减载畜量并实施禁牧休牧","对退化草地实施生态修复","建立重点区域长效监测与考核机制"]}],Wi={areaRange:["areaRange","area_range","acreage","grasslandArea","area"],yakNumber:["yakNumber","yak_number","number","yakCount","livestockCount"],bearingCapacity:["bearingCapacity","bearing_capacity","capacity","theoryCapacity"],livestockCapacity:["livestockCapacity","livestock_capacity","carryingCapacity","actualCapacity"],overloadRate:["overloadRate","overload_rate","rate"],level:["level","conclusion"],advice:["advice","balanceAdvice","balance_advice","balanceAdivce","balance_adivce"],year:["year"],areaName:["areaName","area_name","name"]},x6=(n,e=2)=>{const t=Oi(10,e);return Math.round((Number(n)||0)*t)/t},N12={色地镇:1.38,麦洼乡:1.26,阿木乡:1.12,瓦切镇:1.2,查尔玛乡:1.04,江茸乡:.88,龙日镇:1.16,安曲镇:1.28,刷经寺镇:.78,邛溪镇:1.08};function ie(n,e=null){if(n==null||n==="")return e;const t=typeof n=="string"?n.replace(/,/g,"").replace(/%/g,"").trim():n,i=Number(t);return Number.isFinite(i)?i:e}function _n(n={},e=[],t=void 0){for(const i of e){const r=n==null?void 0:n[i];if(r!=null&&r!=="")return r}return t}function Mo(n,e={}){var i;const t=ie(n);return t===null?"--":t.toLocaleString("zh-CN",{maximumFractionDigits:(i=e.maximumFractionDigits)!=null?i:Number.isInteger(t)?0:2})}function Ld(n){const e=ie(n);return e===null?"--":`${Mo(e)}%`}function as(n){const e=ie(n);return e===null||e<=0?uo[0]:e<=10?uo[1]:e<=20?uo[2]:uo[3]}function Dh(n){return Math.round(Number(n)||0)}function Uh(n){return Math.round((Number(n)||0)*$l.grasslandCapacityPerMu)}function Gx({key:n,type:e,name:t,areaCode:i,areaRange:r,yakNumber:a,location:s,township:o,hasBoundary:l=!1,boundaryCount:u=0,grasslands:d=[],source:h,pressureFactor:f=1}){const v=Uh(r),_=Math.round(Dh(a)*f),b=v?x6((_-v)/v*100,1):0,y=as(b);return{key:n,type:e,name:t,areaCode:i,areaRange:x6(r,0),yakNumber:x6(a,0),bearingCapacity:v,livestockCapacity:_,overloadRate:b,level:y.label,advice:y.actions.join(";"),year:"2026",location:s,township:o,hasBoundary:!!l,boundaryCount:Number(u)||0,grasslands:d,source:h}}const ss=p8.map((n,e)=>Gx({key:`town-${n.zoneName}`,type:"town",name:n.zoneName,areaCode:Kj(n.zoneName),areaRange:n.grasslandArea,yakNumber:n.yakCount,location:null,pressureFactor:N12[n.zoneName]||1,index:e})),L12=ss.reduce((n,e)=>n+e.areaRange,0),I12=ss.reduce((n,e)=>n+e.yakNumber,0),Eo=ss.reduce((n,e)=>n+e.bearingCapacity,0),Vx=ss.reduce((n,e)=>n+e.livestockCapacity,0),Hx=Eo?x6((Vx-Eo)/Eo*100,1):0,YS=as(Hx),k12=R3(d3({},R12),{areaRange:L12,yakNumber:I12,bearingCapacity:Eo,livestockCapacity:Vx,overloadRate:Hx,level:YS.label,advice:YS.actions.join(";"),year:"2026"}),F12=[k12,...ss];function D12(n={},e={}){var q,K,c2,S2,H,Z,G2,q2;const t=n&&typeof n=="object"&&Object.keys(n).length>0,i=_n(n,Wi.areaRange),r=_n(n,Wi.yakNumber),a=_n(n,Wi.bearingCapacity),s=_n(n,Wi.livestockCapacity),o=ie(_n(n,Wi.overloadRate)),l=ie(e.yakNumber),u=U12(n,s,l),d=ie(i,(q=e.areaRange)!=null?q:0),h=u!==null&&r===(n==null?void 0:n.yak_number)?ie(_n(n,["number","yakCount","yak_count","livestockCount","livestock_count"]),l!=null?l:Math.round(u/$l.yakToSheepUnit)):ie(r,(K=e.yakNumber)!=null?K:0),f=ie(e.bearingCapacity),v=ie(e.livestockCapacity),_=i!=null&&i!=="",b=r!=null&&r!=="",y=(c2=ie(s))!=null?c2:u,w=ie(a),U=t?(Z=(H=(S2=y!=null?y:qS(w,o))!=null?S2:v)!=null?H:qS(f,o))!=null?Z:b?Dh(h):null:v!=null?v:b?Dh(h):null,P=t?(q2=(G2=w!=null?w:O12(U,o))!=null?G2:f)!=null?q2:_?Uh(d):null:f!=null?f:_?Uh(d):null,O=o!==null?x6(o,1):P&&U!==null?x6((U-P)/P*100,1):null,j=as(O);return R3(d3(d3({},e),n),{key:e.key||n.key||n.id||n.areaCode||e.name,type:e.type||n.type||"town",name:_n(n,Wi.areaName,e.name||"核算对象"),areaCode:n.areaCode||n.area_code||e.areaCode,areaRange:d,yakNumber:h,bearingCapacity:P,livestockCapacity:U,overloadRate:O,level:_n(n,Wi.level,j.label),advice:_n(n,Wi.advice,e.advice||j.actions.join(";")),year:_n(n,Wi.year,e.year||"当前年度"),source:n.raw||n.source||e.source})}function U12(n={},e,t=null){if(!n||typeof n!="object"||e!=null&&e!=="")return null;const i=Object.prototype.hasOwnProperty.call(n,"yak_number"),r=["overload_rate","overloadRate","advice","balanceAdvice","level","conclusion"].some(o=>n[o]!==void 0&&n[o]!==null&&n[o]!==""),a=ie(n.yak_number);if(!i||!r||a===null)return null;const s=ie(t);return s!==null&&s>0?a>s*1.5?a:null:a}function O12(n,e){const t=ie(n),i=ie(e);return t===null||i===null||i<=-100?null:Math.round(t/(1+i/100))}function qS(n,e){const t=ie(n),i=ie(e);return t===null||i===null||i<=-100?null:Math.round(t*(1+i/100))}function B12(n={}){const e=ie(n.bearingCapacity),t=ie(n.livestockCapacity),i=ie(n.areaRange,0),r=ie(n.yakNumber,0),a=ie(n.overloadRate,e&&t!==null?(t-e)/e*100:null),s=e!==null&&t!==null?t-e:null,o=e&&t!==null?x6(t/e*100,1):null,l=as(a),u=Math.round(r*$l.yakToSheepUnit),d=u&&t!==null?x6(t/u,2):null,h=i&&e!==null?x6(e/i,4):null,f=Math.max(e||0,t||0,1);return{bearing:e,livestock:t,areaRange:i,yakNumber:r,yakSheepUnit:u,pressureFactor:d,bearingCoefficient:h,overloadRate:a===null?null:x6(a,1),delta:s,usageRate:o,risk:l,bearingPercent:e===null?4:Math.max(4,Math.min(100,x6(e/f*100,1))),livestockPercent:t===null?4:Math.max(4,Math.min(100,x6(t/f*100,1)))}}function z12(n={},e=as(n.overloadRate)){const t=String(n.advice||"").trim(),i=t?t.split(/[。;;\n]/).map(s=>s.trim()).filter(Boolean):[],r=["提高放牧畜禽的密度","增加草地的利用率","密度不能过高"],a=i.filter(s=>r.some(o=>s.includes(o))?!1:e.key==="healthy"?!0:!r.some(o=>s.includes(o)));return[...e.actions||[],...a].filter((s,o,l)=>l.indexOf(s)===o).slice(0,4)}const G12={class:"grass-livestock-balance"},V12={class:"balance-screen"},H12={class:"balance-selector"},j12={class:"balance-scope-tabs"},W12=["onClick"],$12={class:"balance-target-list"},Y12=["title","onClick"],q12={class:"balance-action-box"},K12=["disabled"],X12={key:0,class:"balance-running"},J12={class:"balance-running-head"},Z12={class:"balance-core-inner"},Q12={class:"balance-running-title"},e02={class:"balance-progress-line"},t02={class:"balance-live-process"},n02={key:1,class:"balance-waiting"},i02={class:"balance-wait-core"},r02={class:"balance-core-ring is-empty"},a02={class:"balance-core-inner"},s02={class:"balance-preflight"},o02={key:2,class:"balance-analysis"},l02={class:"balance-dashboard"},u02={class:"balance-object-block"},c02={class:"balance-core"},d02={class:"balance-core-inner"},h02={class:"balance-compare"},f02={class:"balance-bar-row"},p02={class:"balance-bar-row is-livestock"},m02={class:"balance-detail"},g02={class:"balance-process"},v02={class:"balance-section-title"},y02={class:"balance-process-track"},_02={class:"balance-decision"},S02={class:"balance-section-title"},b02={class:"balance-conclusion"},T02={class:"balance-advice-list"},w02=326,x02=720,A02=1310,C02=820,M02=6200,E02={__name:"index",props:{active:{type:Boolean,default:!0}},emits:["loading-progress","map-ready"],setup(n,{emit:e}){const t=n,i=e,r=x3("county"),a=x3(""),s=x3("idle"),o=x3(0),l=x3(0),u=x3(""),d=x3({}),h=x3([]);let f=!1,v=0,_=null,b=0,y=null;const w=z2(()=>[...F12,...h.value].map(u2=>D12(d.value[u2.key],u2))),U=z2(()=>w.value.filter(u2=>u2.type==="county")),P=z2(()=>w.value.filter(u2=>u2.type==="town")),O=z2(()=>w.value.filter(u2=>u2.type==="village")),j=z2(()=>r.value==="town"?P.value:r.value==="village"?O.value:U.value),q=z2(()=>w.value.find(u2=>u2.key===a.value)||null),K=z2(()=>!!q.value),c2=z2(()=>s.value==="running"),S2=z2(()=>K.value&&s.value==="done"),H=z2(()=>B12(q.value||{})),Z=z2(()=>[{key:"county",name:"县"},{key:"town",name:"镇"},{key:"village",name:"村"}]),G2=z2(()=>{var u2;return((u2=Z.value.find(W2=>W2.key===r.value))==null?void 0:u2.name)||"县"}),q2=z2(()=>q.value?q.value.areaCode?`行政区划 ${q.value.areaCode}`:q.value.township||"核算对象":"等待选择核算对象"),C2=z2(()=>u.value?u.value:K.value?S2.value?"分析已完成":c2.value?"正在执行核算":"已选择,待开始分析":"请先选择具体对象"),E2=z2(()=>S2.value?"草畜平衡分析舱":"草畜平衡分析"),A2=z2(()=>K.value?c2.value?"分析中":"待开始":"待选择"),X2=z2(()=>K.value?c2.value?`${q.value.name} 正在分析`:`${q.value.name} 待开始分析`:"先选择一个核算对象"),b2=z2(()=>u.value?u.value:K.value?c2.value?"正在读取草畜平衡结果,核对承载力、载畜量和超载率。":"点击左侧开始分析后,再展示结果、分析过程、结论和建议。":"选择县、镇或村后,系统才会进入草地承载力核算。"),J=z2(()=>{const u2=H.value;return u2.delta===null?"根据草畜平衡结果表返回的承载力、载畜量和超载率生成判定。":`${u2.delta>0?"超载量":"承载余量"} ${Mo(Math.abs(u2.delta))},承载利用率 ${Ld(u2.usageRate)}。`}),p2=z2(()=>H.value.delta===null?"按结果表判定":H.value.delta>0?"需调控载畜量":"承载能力可覆盖"),N2=z2(()=>H.value.delta===null?"结果表口径":H.value.delta>0?"需要调控":"保持监测"),e3=z2(()=>{const u2=Math.max(0,Math.min(130,Number(H.value.usageRate)||0));return`${Math.round(u2/130*360)}deg`}),h3=z2(()=>[{key:"productivity",index:"01",name:"草地生产力核算",desc:"核定草地范围、面积和产草量等级,形成生产力基础口径。"},{key:"forage",index:"02",name:"可利用草量折算",desc:"扣除不可食草量、生态保留量和利用限制,折算可供放牧利用草量。"},{key:"livestock",index:"03",name:"载畜量折算",desc:"依据实际存栏和草畜平衡标准,统一形成载畜压力口径。"},{key:"balance",index:"04",name:"平衡判定",desc:"对比草地承载能力与载畜压力,输出平衡状态和调控方案。"}]),I2=z2(()=>{const u2=H.value;return[{key:"productivity",index:"01",name:"草地生产力核算",desc:"核算草地面积与产草能力",pending:"等待草地参数",plan:"核定草地范围、面积和产草量等级"},{key:"forage",index:"02",name:"可利用草量折算",desc:"折算可供放牧利用草量",pending:"等待草量折算",plan:"扣除不可食草量、生态保留量和利用限制"},{key:"livestock",index:"03",name:"载畜量折算",desc:"形成实际载畜压力口径",pending:"等待载畜折算",plan:"依据实际存栏和草畜平衡标准进行折算"},{key:"balance",index:"04",name:"平衡判定",desc:"生成结论与调控方向",pending:"等待平衡判定",plan:u2.delta>0?"判定超载风险并生成调控方案":"判定平衡状态并生成监测方案"}]}),n2=z2(()=>I2.value[Math.min(l.value,I2.value.length-1)]||I2.value[0]),P2=z2(()=>[{key:"productivity",index:"01",name:"生产力核算",desc:S2.value?"草地生产力核算":K.value?"等待核算":"等待选择",state:K.value?"done":"active"},{key:"forage",index:"02",name:"草量折算",desc:S2.value?"可利用草量折算":"分析后折算",state:c2.value?"active":S2.value?"done":K.value?"pending":"disabled"},{key:"livestock",index:"03",name:"载畜折算",desc:S2.value?"载畜压力折算":"等待折算",state:c2.value?"active":S2.value?"done":"disabled"},{key:"balance",index:"04",name:"平衡判定",desc:S2.value?H.value.risk.label:"等待判定",state:S2.value?"done":"disabled"}]),Z2=z2(()=>S2.value?z12(q.value,H.value.risk):[]);Fn(()=>{i("loading-progress",{progress:100}),i("map-ready"),F2()}),a6(()=>{f=!0,v+=1,b+=1,I3()}),Z0(()=>{var u2;return(u2=q.value)==null?void 0:u2.key},()=>{s.value="idle",o.value=0,l.value=0,u.value="",y=null,I3()}),Z0(()=>t.active,u2=>{u2||!c2.value||(s.value="idle",o.value=0,l.value=0,u.value="",y=null,I3())});function f3(u2){r.value=u2,a.value="",s.value="idle",u.value=""}function v3(u2){u2&&(r.value=["county","town","village"].includes(u2.type)?u2.type:"county",a.value=u2.key,s.value="idle",u.value="")}function O3(){if(!t.active||!q.value||c2.value)return;s.value="running",o.value=0,l.value=0,u.value="",I3();const u2=Date.now();let W2=!1;const Y2=H3().catch(t2=>(W2=!0,u.value=(t2==null?void 0:t2.message)||"未查询到该对象的草畜平衡结果",null));y=Y2,_=window.setInterval(()=>{if(f)return;const t2=y===Y2?92:100;o.value=Math.min(t2,o.value+2),l.value=Math.min(I2.value.length-1,Math.floor(o.value/25))},140),Y2.finally(()=>k3(this,null,function*(){var i2;const t2=M02-(Date.now()-u2);if(t2>0&&(yield new Promise(_2=>window.setTimeout(_2,t2))),!(f||s.value!=="running"||y!==Y2)){if(y=null,I3(),W2||!d.value[(i2=q.value)==null?void 0:i2.key]){o.value=0,l.value=0,s.value="idle";return}o.value=100,l.value=I2.value.length-1,s.value="done"}}))}function H3(){return k3(this,null,function*(){const u2=q.value;if(!u2)throw new Error("请先选择具体核算对象");if(d.value[u2.key])return d.value[u2.key];const W2=++v,Y2=yield E12({areaCode:u2.areaCode});if(f||W2!==v)return null;if(!Y2||typeof Y2!="object"||!Object.keys(Y2).length)throw new Error("未查询到该对象的草畜平衡结果");return d.value=R3(d3({},d.value),{[u2.key]:Y2}),Y2})}function F2(){return k3(this,null,function*(){const u2=++b,W2=P.value.filter(Y2=>Y2==null?void 0:Y2.areaCode).map(Y2=>d3({},Y2));if(W2.length)try{const Y2=yield Promise.all(W2.map(t2=>k3(this,null,function*(){try{const i2=yield P12(t2.areaCode);return f||u2!==b?[]:L3(i2,t2)}catch(i2){return[]}})));if(f||u2!==b)return;h.value=Y2.flat()}catch(Y2){if(f||u2!==b)return;h.value=[]}})}function L3(u2=[],W2={}){const Y2=(Array.isArray(u2)?u2:[]).filter(s3=>{const D3=U3(s3),S3=F(s3);return!!(D3||S3)}),t2=Y2.length||1,i2=(ie(W2.areaRange,0)||0)/t2,_2=(ie(W2.yakNumber,0)||0)/t2,V2=r1(W2);return Y2.map((s3,D3)=>C3(s3,D3,W2,{areaRange:i2,yakNumber:_2,pressureFactor:V2})).filter(Boolean)}function C3(u2={},W2=0,Y2={},t2={}){const i2=U3(u2),_2=F(u2)||(i2?`村级区划${i2}`:"");if(!i2&&!_2)return null;const V2=ie(_n(u2,["areaRange","area_range","grasslandArea","grassland_area","acreage","area"]),t2.areaRange),s3=ie(_n(u2,["yakNumber","yak_number","number","yakCount","yak_count","livestockCount","livestock_count"]),t2.yakNumber);return Gx({key:`village-${i2||`${Y2.key||Y2.name}-${_2}-${W2}`}`,type:"village",name:_2,areaCode:i2,areaRange:V2,yakNumber:s3,township:Y2.name,source:u2,pressureFactor:t2.pressureFactor})}function U3(u2={}){return String(_n(u2,["areaCode","area_code","code","value","id","areaId","area_id"],"")||"").trim()}function F(u2={}){return String(_n(u2,["areaName","area_name","name","label","zoneName","villageName","village_name"],"")||"").trim()}function r1(u2={}){const W2=ie(u2.yakNumber,0),Y2=ie(u2.livestockCapacity,0),t2=W2*$l.yakToSheepUnit,i2=t2?Y2/t2:1;return Number.isFinite(i2)&&i2>0?i2:1}function I3(){_&&(window.clearInterval(_),_=null)}function T2(u2){return S2.value||c2.value&&u2<=l.value}function o2(u2){return u2(h2(),v2("div",G12,[W2[13]||(W2[13]=M("div",{class:"balance-backdrop","aria-hidden":"true"},[M("div",{class:"balance-orbit is-left"}),M("div",{class:"balance-orbit is-right"}),M("div",{class:"balance-energy-band"})],-1)),M("div",V12,[K3(X1,{class:"balance-card balance-target-card",title:"核算对象",width:w02,height:x02},{default:z1(()=>{var Y2;return[M("div",H12,[M("div",j12,[(h2(!0),v2(X3,null,c1(Z.value,t2=>(h2(),v2("button",{key:t2.key,type:"button",class:x1({active:r.value===t2.key}),onClick:i2=>f3(t2.key)},L2(t2.name),11,W12))),128))]),M("div",$12,[(h2(!0),v2(X3,null,c1(j.value,t2=>{var i2;return h2(),v2("button",{key:t2.key,type:"button",class:x1({active:t2.key===((i2=q.value)==null?void 0:i2.key)}),title:t2.name,onClick:_2=>v3(t2)},[M("span",null,L2(t2.name),1)],10,Y12)}),128))]),M("div",q12,[W2[0]||(W2[0]=M("span",null,"当前对象",-1)),M("strong",null,L2(((Y2=q.value)==null?void 0:Y2.name)||"未选择"),1),M("small",null,L2(C2.value),1),M("button",{type:"button",disabled:!K.value||c2.value,onClick:O3},L2(c2.value?"分析中...":S2.value?"重新分析":"开始分析"),9,K12)])])]}),_:1}),K3(X1,{class:"balance-card balance-sheet-card",title:E2.value,width:A02,height:C02},{default:z1(()=>[M("div",{class:x1(["balance-sheet",{"is-ready":S2.value,"is-running":c2.value}])},[W2[12]||(W2[12]=M("div",{class:"balance-field-lines","aria-hidden":"true"},[M("i"),M("i"),M("i")],-1)),c2.value?(h2(),v2("section",X12,[M("div",J12,[M("div",{class:"balance-core-ring is-running",style:p0({"--usage-angle":`${o.value*3.6}deg`})},[M("div",Z12,[W2[1]||(W2[1]=M("span",null,"分析进度",-1)),M("strong",null,L2(o.value)+"%",1),M("small",null,L2(n2.value.name),1)])],4),M("div",Q12,[M("span",null,L2(q.value.name),1),M("strong",null,L2(n2.value.desc),1),M("small",null,L2(n2.value.plan),1),M("div",e02,[M("i",{style:p0({width:`${o.value}%`})},null,4)])])]),M("div",t02,[(h2(!0),v2(X3,null,c1(I2.value,(Y2,t2)=>(h2(),v2("div",{key:Y2.key,class:x1(["balance-live-step",`is-${o2(t2)}`])},[M("span",null,L2(Y2.index),1),M("div",null,[M("strong",null,L2(Y2.name),1),M("p",null,L2(T2(t2)?Y2.plan:Y2.pending),1)])],2))),128))])])):S2.value?(h2(),v2("section",o02,[M("div",l02,[M("div",u02,[M("span",null,L2(G2.value)+"核算对象",1),M("strong",null,L2(q.value.name),1),M("small",null,L2(q2.value),1)]),M("div",c02,[M("div",{class:"balance-core-ring",style:p0({"--usage-angle":e3.value})},[M("div",d02,[W2[5]||(W2[5]=M("span",null,"承载利用率",-1)),M("strong",null,L2(D0(Ld)(H.value.usageRate)),1),M("small",null,"超载率 "+L2(D0(Ld)(H.value.overloadRate)),1)])],4),W2[6]||(W2[6]=M("div",{class:"balance-core-caption"},"草地承载力模型",-1))]),M("div",{class:x1(["balance-verdict-card",`is-${H.value.risk.key}`])},[W2[7]||(W2[7]=M("span",null,"分析结论",-1)),M("strong",null,L2(H.value.risk.label),1),M("small",null,L2(p2.value),1)],2)]),M("div",h02,[M("div",f02,[W2[8]||(W2[8]=M("span",null,"理论承载力",-1)),M("div",null,[M("i",{style:p0({width:`${H.value.bearingPercent}%`})},null,4)]),M("strong",null,L2(D0(Mo)(H.value.bearing)),1)]),M("div",p02,[W2[9]||(W2[9]=M("span",null,"实际载畜量",-1)),M("div",null,[M("i",{style:p0({width:`${H.value.livestockPercent}%`})},null,4)]),M("strong",null,L2(D0(Mo)(H.value.livestock)),1)])]),M("div",m02,[M("div",g02,[M("div",v02,[W2[10]||(W2[10]=M("span",null,"分析过程",-1)),M("small",null,L2(q.value.year||"当前年度"),1)]),M("div",y02,[(h2(!0),v2(X3,null,c1(P2.value,Y2=>(h2(),v2("span",{key:`track-${Y2.key}`,class:x1(`is-${Y2.state}`)},L2(Y2.name),3))),128))]),(h2(!0),v2(X3,null,c1(h3.value,Y2=>(h2(),v2("div",{key:Y2.key,class:"balance-formula-row"},[M("span",null,L2(Y2.index),1),M("div",null,[M("strong",null,L2(Y2.name),1),M("p",null,L2(Y2.desc),1)])]))),128))]),M("div",_02,[M("div",S02,[W2[11]||(W2[11]=M("span",null,"结论与建议",-1)),M("small",null,L2(N2.value),1)]),M("div",b02,[M("strong",null,L2(H.value.risk.description),1),M("p",null,L2(J.value),1)]),M("div",T02,[(h2(!0),v2(X3,null,c1(Z2.value,(Y2,t2)=>(h2(),v2("div",{key:`${Y2}-${t2}`,class:"balance-advice-item"},[M("span",null,L2(t2+1),1),M("p",null,L2(Y2),1)]))),128))])])])])):(h2(),v2("section",n02,[M("div",i02,[M("div",r02,[M("div",a02,[M("span",null,L2(A2.value),1),M("strong",null,L2(K.value?q.value.name:"草畜平衡"),1),M("small",null,L2(K.value?"待执行模型分析":"等待核算对象"),1)])]),M("h2",null,L2(X2.value),1),M("p",null,L2(b2.value),1)]),M("div",s02,[M("span",{class:x1({active:K.value})},"对象锁定",2),W2[2]||(W2[2]=M("i",null,null,-1)),M("span",{class:x1({active:K.value})},"等待启动分析",2),W2[3]||(W2[3]=M("i",null,null,-1)),W2[4]||(W2[4]=M("span",null,"生成过程与结论",-1))])]))],2)]),_:1},8,["title"])])]))}},jx="/jsyApi",d9="/openApi",P02=new Date().getFullYear();function R02(n,e){return/^https?:\/\//.test(e)?e:`${n}${e.startsWith("/")?e:`/${e}`}`}function N02(n){if((n==null?void 0:n.success)===!1&&(n==null?void 0:n.code)!==void 0&&![0,200,"0","200"].includes(n.code))throw new Error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"接口请求失败");return r0(n)}function Ai(n,e,t,i={}){return Q6(R02(n,e),{params:t,timeout:i.timeout||18e3}).then(N02)}function L02(){return Ai(jx,"/api/yak/distribution").then(n=>Wx(n))}function I02(){return Ai(jx,"/api/yak/forecast").then(n=>Wx(n))}function KS(n=P02){return Ai(d9,"/yak/trade/overview",typeof n=="object"?n:{year:n}).then(t=>t||{})}function k02(){return Ai(d9,"/yak/trade/options").then(n=>n||{})}function XS(n={}){return Ai(d9,"/yak/trade/records",n).then(e=>e||{})}function F02(n={}){return Ai(d9,"/yak/epidemic/analysis",n).then(e=>e||{})}function JS(n={}){return Ai(d9,"/yak/epidemic/records",n).then(e=>e||{})}function D02(n={}){return Ai(d9,"/yak/epidemic/stats",n).then(e=>e||{})}function U02(n={}){return Ai(d9,"/yak/epidemic/village-stats",n).then(e=>e||{})}function O02(n){return Ai(d9,"/yak/epidemic/detail",{earTag:n}).then(e=>e||null)}function B02(){return k3(this,null,function*(){return(yield L02()).map((e,t)=>({key:Er(e,["areaCode","area_code","code","id"],`yak-town-${t}`),name:Er(e,["areaName","area_name","zoneName","townName","name"],`区域${t+1}`),value:hp(Er(e,["number","yakCount","yak_count","count","value"])),unit:"头"})).filter(e=>e.name&&Number.isFinite(e.value)).sort((e,t)=>t.value-e.value)})}function z02(){return k3(this,null,function*(){return(yield I02()).map((e,t)=>{const i=Er(e,["month","date","name","time"],`预测${t+1}`);return{key:`${i}-${t}`,name:G02(i),value:hp(Er(e,["number","count","yakCount","value"])),unit:"头",extra:V02("增速",Er(e,["speed","growth","growthRate","rate"]))}}).filter(e=>e.name&&Number.isFinite(e.value))})}function Wx(n){return Array.isArray(n)?n:Array.isArray(n==null?void 0:n.rows)?n.rows:Array.isArray(n==null?void 0:n.list)?n.list:Array.isArray(n==null?void 0:n.records)?n.records:Array.isArray(n==null?void 0:n.data)?n.data:[]}function Er(n,e,t=""){for(const i of e){const r=n==null?void 0:n[i];if(r!=null&&r!=="")return r}return t}function G02(n){const e=String(n||""),t=e.match(/(?:^|\D)(1[0-2]|0?[1-9])(?:月|$|-)/);return t?`${Number(t[1])}月`:e}function V02(n,e){const t=hp(e);return Number.isFinite(t)?`${n}:${t.toLocaleString("zh-CN",{maximumFractionDigits:2})}`:""}function hp(n){if(n==null||n==="")return NaN;const e=Number(String(n).replace(/,/g,"").replace(/%/g,""));return Number.isFinite(e)?e:NaN}const H02={class:"yak-management"},j02={key:0,class:"yak-map-loading"},W02={class:"yak-management-ui"},$02={key:0,class:"trade-year-switcher","aria-label":"交易年份切换"},Y02=["onClick"],q02={key:1,class:"forecast-year-switcher","aria-label":"预测年份切换"},K02=["onClick"],X02={class:"yak-left"},J02={class:"yak-side-stack is-left"},Z02={class:"estimate-summary-card"},Q02={class:"estimate-flow-row"},ee2={class:"estimate-flow-item"},te2={class:"estimate-flow-item is-adjustment"},ne2={class:"estimate-result-band"},ie2={class:"forecast-summary-card"},re2={class:"forecast-result-row"},ae2={class:"forecast-result-main"},se2={class:"forecast-simple-grid"},oe2={class:"epidemic-overview-card"},le2={class:"epidemic-main-value"},ue2={class:"epidemic-progress-ring"},ce2={class:"epidemic-overview-grid"},de2={class:"epidemic-chain-card"},he2={class:"epidemic-chain-row"},fe2={class:"epidemic-chain-note"},pe2={class:"epidemic-chain-metrics"},me2={key:0,class:"epidemic-three-pie-card"},ge2={class:"epidemic-three-pie-visual"},ve2={class:"epidemic-three-pie-center"},ye2={class:"epidemic-three-pie-legend"},_e2={key:1,class:"epidemic-empty"},Se2={class:"trade-overview-card"},be2={class:"trade-main-metric"},Te2={class:"trade-metric-grid"},we2={class:"yak-right"},xe2={class:"yak-side-stack is-right"},Ae2={class:"forecast-heat-list"},Ce2={class:"epidemic-record-table is-double"},Me2={class:"epidemic-record-toolbar"},Ee2={class:"epidemic-record-rows"},Pe2=["onClick"],Re2={key:0,class:"epidemic-empty"},Ne2={class:"trade-cert-card"},Le2={class:"trade-cert-main"},Ie2={class:"trade-dest-list"},ke2={key:0,class:"epidemic-empty"},Fe2={class:"trade-ledger-table"},De2={class:"trade-ledger-toolbar"},Ue2={class:"trade-ledger-rows"},Oe2=["onClick"],Be2={key:0,class:"epidemic-empty"},ze2={class:"trade-ledger-pager"},Ge2=["disabled"],Ve2=["disabled"],He2={class:"yak-bottom-topic"},je2={class:"epidemic-ledger-dialog"},We2={class:"epidemic-ledger-dialog-head"},$e2={class:"epidemic-ledger-filters"},Ye2=["value"],qe2=["value"],Ke2={class:"epidemic-ledger-workspace"},Xe2={class:"epidemic-ledger-list"},Je2=["onClick"],Ze2={key:0,class:"epidemic-empty"},Qe2={class:"epidemic-ledger-detail trade-ledger-detail epidemic-ledger-record-detail"},et2={class:"epidemic-detail-head trade-detail-head"},tt2={class:"epidemic-detail-grid is-modal trade-detail-grid epidemic-detail-flat-grid"},nt2={key:0,class:"epidemic-detail-photos"},it2={class:"epidemic-modal-photo-strip"},rt2=["onClick"],at2=["src"],st2={class:"epidemic-ledger-pager"},ot2=["disabled"],lt2=["disabled"],ut2={class:"epidemic-ledger-dialog trade-ledger-dialog"},ct2={class:"epidemic-ledger-dialog-head"},dt2={class:"epidemic-ledger-filters trade-ledger-filters"},ht2=["value"],ft2=["value"],pt2=["value"],mt2={class:"epidemic-ledger-workspace trade-ledger-workspace"},gt2={class:"epidemic-ledger-list trade-ledger-modal-list"},vt2=["onClick"],yt2={key:0,class:"epidemic-empty"},_t2={class:"epidemic-ledger-detail trade-ledger-detail"},St2={class:"epidemic-detail-head trade-detail-head"},bt2={class:"epidemic-detail-grid is-modal trade-detail-grid"},Tt2={class:"is-wide"},wt2={class:"is-wide"},xt2={class:"is-wide"},At2={class:"is-wide"},Ct2=["disabled"],Mt2={class:"epidemic-ledger-pager"},Et2=["disabled"],Pt2=["disabled"],Rt2={class:"epidemic-image-preview-dialog"},Nt2={class:"epidemic-image-preview-head"},Lt2={class:"epidemic-image-preview-body"},It2=["src"],W0=398,$0=190,kt2="https://qkl-hy.oss-cn-chengdu.aliyuncs.com/yak-vaccine-images",ZS=14,Id=12,QS=14,Ft2=5e3,co=6,Dt2=4200,Ut2={__name:"index",props:{active:{type:Boolean,default:!0}},emits:["module-stats"],setup(n,{emit:e}){const t=n,i=e,r=$0*2+12,a=$0+24,s=$0*2-12,o=["#30dcff","#27f0c0","#ffd76c","#7aa7ff","#ff8f6b","#a6f06d"],l=["#24f6c4","#32dcff","#ffe06b","#7ee269","#ff9a62","#9ea7ff"],u=["#30dcff","#ffd76c","#27f0c0","#7aa7ff","#ff8f6b","#a6f06d","#9ea7ff"],d={name:"红原牦牛交易市场",lng:102.562157,lat:32.820484},h=[{key:"structure",name:"畜群结构",color:"#30dcff"},{key:"forecast",name:"畜群预测",color:"#ffd76c"},{key:"epidemic",name:"牦牛防疫",color:"#27f0c0"},{key:"trade",name:"牦牛交易",color:"#ffcf62"}],f=x3("structure"),v=x3("2027"),_=x3(0),b=x3([]),y=x3([]),w=x3({metrics:{}}),U=x3({rows:[],year:null}),P=x3({rows:[]}),O=x3([]),j=x3(0),q=x3(!1),K=x3(""),c2=x3(!1),S2=x3([]),H=x3(0),Z=x3(1),G2=x3(!1),q2=x3(""),C2=x3(null),E2=x3(null),A2=x3(!1),X2=x3(!1),b2=x3(""),J=x3({keyword:"",town:"",medicine:"",startDate:"",endDate:""}),p2=x3({years:[],latestYear:null}),N2=x3({metrics:{},hasData:!1}),e3=x3([]),h3=x3(0),I2=x3(null),n2=x3(!1),P2=x3(""),Z2=x3(1),f3=x3(""),v3=x3(""),O3=x3(!1),H3=x3([]),F2=x3(0),L3=x3(1),C3=x3(!1),U3=x3(""),F=x3(null),r1=x3({keyword:"",startTown:"",usageType:"",certType:""}),I3=x3(null),T2=x3(!1);let o2=null,u2=!1,W2=!1,Y2=null,t2=!1,i2=null,_2=null,V2=0;const s3=z2(()=>tx(v.value)),D3=z2(()=>Mq+Eq),S3=z2(()=>s3.value.stock-W6),m1=z2(()=>{var G;return((G=Xi.find(z=>z.key==="adultCow"))==null?void 0:G.ratio)||0}),b1=z2(()=>{var G;return((G=Xi.find(z=>z.key==="calf"))==null?void 0:G.ratio)||0}),g1=z2(()=>ex(j1(b.value.length?b.value:Mh,Mh),W6)),a1=z2(()=>xq),n1=z2(()=>Rq(s3.value)),C1=z2(()=>Pq(s3.value)),H2=z2(()=>{var G;return((G=w.value)==null?void 0:G.metrics)||{}}),j3=z2(()=>{var G;return u0((G=w.value)==null?void 0:G.dateTrend).sort(O2)}),s1=z2(()=>{var G;return u0((G=w.value)==null?void 0:G.medicineCounts)}),E1=z2(()=>s1.value.filter(G=>G.value>0).map((G,z)=>R3(d3({},G),{key:G.key||`${G.name}-${z}`,unit:"条"}))),U2=z2(()=>E1.value.map(G=>`${G.name}:${G.value}`).join("|")||"epidemic-medicine-empty"),q3=z2(()=>{var G;return u0((G=w.value)==null?void 0:G.ownerRanks).slice(0,8)}),B3=z2(()=>Math.max(s1.value.filter(G=>G.name!=="未填写").length,1)),_1=z2(()=>{var G;return((G=s1.value.find(z=>z.name&&z.name!=="未填写"))==null?void 0:G.name)||"-"}),A1=z2(()=>m3(H2.value,["total","vaccine"])),o1=z2(()=>m3(H2.value,["owners"])),H1=z2(()=>m3(H2.value,["villages"])),l0=z2(()=>Xt.value.length),L0=z2(()=>{var G;return((G=Xt.value[0])==null?void 0:G.name)||"-"}),J1=z2(()=>{const G=O.value.map(z=>z.operateTime).filter(Boolean).sort();return G.length?W1(G[G.length-1]):"-"}),B1=z2(()=>{const G=Math.max(...s1.value.map(z=>Number(z.value||0)),0);return G>0?G:Math.round(A1.value/B3.value)}),me=z2(()=>{var z;const G=yt((z=U.value)==null?void 0:z.rows);return G.length?G:Xt.value.map(a2=>({name:a2.name,recordCount:Number(a2.recordCount||0),earTagCount:Number(a2.earTagCount||0),ratio:a2.ratio,source:"ledger"}))}),Un=z2(()=>{var z;const G=new Set;return B0((z=P.value)==null?void 0:z.rows).filter(a2=>Number.isFinite(a2.lng)&&Number.isFinite(a2.lat)).map((a2,J2)=>{const w3=`${a2.lng.toFixed(4)},${a2.lat.toFixed(4)}`,u1=G.has(w3)?(J2%3-1)*.012:0;return G.add(w3),R3(d3({},a2),{name:a2.village,value:a2.earTagCount,unit:"万头",lng:a2.lng+u1,lat:a2.lat-u1*.65,displayValue:Number((a2.earTagCount/1e4).toFixed(2)),displayUnit:"万头",rankLabel:`第${J2+1}名`})})}),Xt=z2(()=>{var z;const G=new Map;return u0((z=w.value)==null?void 0:z.townCounts).forEach(a2=>{const J2=D1(a2.name);J2&&G.set(J2,Number(G.get(J2)||0)+Number(a2.value||0))}),[...G.entries()].map(([a2,J2])=>{const w3=Math.round(J2/B3.value),u1=A1.value?J2/A1.value*100:0;return{name:a2,recordCount:J2,earTagCount:w3,ratio:u1}}).sort((a2,J2)=>Number(J2.recordCount||0)-Number(a2.recordCount||0))}),lt=z2(()=>O.value.slice(0,13)),Jt=z2(()=>Math.max(Math.ceil(H.value/ZS),1)),be=z2(()=>E2.value||C2.value||{}),g3=z2(()=>V3(be.value)),W3=z2(()=>{const G=be.value||{};return[a0("台账编号",G.epidemicId,{wide:!0}),a0("养殖户",G.owner,{wide:!0}),a0("联系电话",k0(G.phone)),a0("证件类型",G.idType),a0("证件号码",ln(G.idNo)),a0("镇/乡",G.town),a0("村",G.village),a0("详细地址",G.location,{wide:!0}),a0("畜种",G.livestockType),a0("性别",G.sex),a0("畜龄",G.age),a0("体重",Zt(G.weight)),a0("疫苗/药品",G.medicine),a0("防疫类型",G.preventionType),a0("免疫方式",G.method),a0("剂量",h0(G.dose)),a0("免疫时间",W1(G.operateTime)),a0("操作员",G.operator)].filter(Boolean)}),Z3=z2(()=>{var G;return u0((G=w.value)==null?void 0:G.townCounts).map(z=>z.name)}),e0=z2(()=>s1.value.map(G=>G.name).filter(G=>G&&G!=="未填写")),y2=z2(()=>{var G;return((G=N2.value)==null?void 0:G.metrics)||{}}),W=z2(()=>{var G,z,a2,J2,w3,u1,t0,_0;return On((G=p2.value)==null?void 0:G.years,(z=N2.value)==null?void 0:z.availableYears,(a2=N2.value)==null?void 0:a2.available_years,(J2=N2.value)==null?void 0:J2.yearSummary,(w3=N2.value)==null?void 0:w3.year_summary,(u1=N2.value)==null?void 0:u1.latestYear,(t0=N2.value)==null?void 0:t0.latest_year,(_0=N2.value)==null?void 0:_0.year)}),x2=z2(()=>{var G,z;return Dt(((G=N2.value)==null?void 0:G.monthTrend)||((z=N2.value)==null?void 0:z.month_trend),"name")});z2(()=>{var G,z;return et(((G=N2.value)==null?void 0:G.yearSummary)||((z=N2.value)==null?void 0:z.year_summary))});const r3=z2(()=>{var G,z;return Dt(((G=N2.value)==null?void 0:G.startTownCounts)||((z=N2.value)==null?void 0:z.start_town_counts),"name")}),o3=z2(()=>{var G,z;return Dt(((G=N2.value)==null?void 0:G.usageCounts)||((z=N2.value)==null?void 0:z.usage_counts),"name")}),u3=z2(()=>{const G=r3.value.map(a2=>{const J2=String(a2.name||"").trim(),w3=D1(J2),u1=U1(w3||J2);return R3(d3({},a2),{rawName:J2,name:u1,displayName:u1,town:w3,mapTownName:w3})}).filter(a2=>a2.name&&a2.name!=="未填写").slice(0,10),z=Math.max(...G.map(a2=>a2.headCount),1);return G.map((a2,J2)=>R3(d3({},a2),{key:a2.key||`${a2.mapTownName||a2.name}-${J2}`,value:a2.headCount,unit:"头",ratio:Math.max(8,Math.round(a2.headCount/z*100))}))}),Q3=z2(()=>e3.value.slice(0,Id)),i1=z2(()=>Math.max(Math.ceil(h3.value/Id),1)),M1=z2(()=>Math.max(Math.ceil(F2.value/QS),1)),e1=z2(()=>F.value||{}),R=z2(()=>e1.value.certId||e1.value.factoryCode||""),N=z2(()=>{var z,a2;const G=At(((z=p2.value)==null?void 0:z.startTowns)||((a2=p2.value)==null?void 0:a2.start_towns));return G.length?G:Te(r3.value.map(J2=>J2.name))}),m=z2(()=>{var z,a2;const G=At(((z=p2.value)==null?void 0:z.usageTypes)||((a2=p2.value)==null?void 0:a2.usage_types));return G.length?G:Te(o3.value.map(J2=>J2.name))}),g=z2(()=>{var z,a2,J2,w3;const G=b0(((z=p2.value)==null?void 0:z.certTypeOptions)||((a2=p2.value)==null?void 0:a2.cert_type_options));return G.length?G:At(((J2=p2.value)==null?void 0:J2.certTypes)||((w3=p2.value)==null?void 0:w3.cert_types)).map(u1=>({value:u1,label:u1}))}),S=z2(()=>u3.value.map((G,z)=>({key:G.key||`${G.name}-${z}`,name:G.displayName||G.name,displayName:G.displayName||G.name,rawName:G.rawName,town:G.mapTownName||G.town||D1(G.name),mapTownName:G.mapTownName||G.town||D1(G.name),value:G.headCount,headCount:G.headCount,recordCount:G.recordCount,ratio:G.ratio,unit:"头"}))),x=z2(()=>g1.value.map(G=>R3(d3({},G),{adultCowRatio:m1.value,calfRatio:b1.value,adultCow:Math.round(G.count*m1.value/100),calf:Math.round(G.count*b1.value/100)}))),E=z2(()=>{const G=x.value,z=G.length,a2=Math.max(Math.ceil(z/co),1),J2=_.value%a2,w3=J2*co,u1=Math.min(w3+co,z);return{page:J2,pageCount:a2,start:w3,end:u1,total:z,rows:G.slice(w3,u1)}}),L=z2(()=>f.value==="forecast"?n1.value:g1.value),r2=z2(()=>f.value==="forecast"?"forecast":"count"),l2=z2(()=>au(L.value,r2.value)),s2=z2(()=>({key:"yak-marks-layer",layerName:"ne:daping_yak_marks",name:"牦牛识别标记",opacity:.96,queryBuffer:10,legends:[{key:"yak-marks",name:"牦牛",fillColor:"#FFFF00",strokeColor:"#FFFF00",selectable:!1}]})),Q=z2(()=>{var a2;const z=B0((a2=P.value)==null?void 0:a2.rows).map(J2=>Z1(J2.town,J2.village)).filter(Boolean);return{key:"yak-epidemic-village-boundary",sourceType:"wfs",layerName:"ne:t_pastures_map",styles:"牧场样式",name:"防疫村边界",opacity:.86,queryBuffer:8,cqlFilter:z.length?z.join(" OR "):"EXCLUDE",legends:[{key:"yak-epidemic-village-boundary",name:"防疫村边界",fillColor:"#24F6C4",strokeColor:"#FFF06A",selectable:!1}]}}),X=z2(()=>f.value==="epidemic"?Q.value:f.value==="trade"?null:s2.value),D2=z2(()=>f.value==="trade"?{scope:"trade-flow",title:`${I2.value||""}出栏来源`,metricLabel:"来源",unit:"头",source:R3(d3({},d),{total:_3("headCount")}),rows:S.value}:{scope:f.value==="epidemic"?"village":"town",hideTownNames:f.value==="epidemic",title:f.value==="forecast"?`${s3.value.shortLabel}预测存栏`:f.value==="epidemic"?"村级防疫信息":"乡镇估算存栏",metricLabel:f.value==="forecast"?"预测":f.value==="epidemic"?"防疫":"存栏",unit:"万头",rows:f.value==="epidemic"?Un.value:l2.value.map(G=>({name:G.name,value:Number((G.value/1e4).toFixed(2)),unit:"万头"}))}),g2=z2(()=>({color:o,tooltip:je(G=>`${G.name}
结构占比:${G.percent}%
估算数量:${$1(G.value)}头
来源:无人机识别 + 专家共识模型`),legend:{orient:"vertical",right:8,top:"middle",itemWidth:9,itemHeight:9,textStyle:{color:"rgba(222, 250, 255, 0.78)",fontSize:11}},series:[{name:"畜群结构",type:"pie",radius:["46%","70%"],center:["33%","52%"],avoidLabelOverlap:!0,label:{color:"#fff",fontSize:11,formatter:"{d}%"},labelLine:{lineStyle:{color:"rgba(223, 250, 255, 0.36)"}},itemStyle:{borderColor:"rgba(3, 18, 31, 0.9)",borderWidth:3},data:Xi.map(G=>({name:G.name,value:G.count}))}]})),C=z2(()=>({color:o,tooltip:je(G=>`${G.name}
占比:${G.percent}%
估算数量:${$1(G.value)}头`),legend:{orient:"vertical",right:6,top:"middle",itemWidth:8,itemHeight:8,itemGap:6,formatter(G){const z=Xi.find(a2=>a2.name===G);return z?`${G} ${y9(z.ratio)} ${ge(z.count)}头`:G},textStyle:{color:"rgba(222, 250, 255, 0.82)",fontSize:10,rich:{}}},graphic:{type:"text",left:"28%",top:"45%",style:{text:ge(W6),fill:"#ffffff",fontFamily:"D-DIN, Arial, sans-serif",fontSize:19,fontWeight:900,textAlign:"center"}},series:[{name:"结构明细",type:"pie",radius:["34%","66%"],center:["31%","54%"],avoidLabelOverlap:!0,label:{color:"#fff",fontSize:10,formatter:"{d}%"},labelLine:{length:8,length2:5,lineStyle:{color:"rgba(223, 250, 255, 0.35)"}},itemStyle:{borderColor:"rgba(3, 18, 31, 0.92)",borderWidth:3,shadowBlur:8,shadowColor:"rgba(0, 0, 0, 0.28)"},data:Xi.map(G=>({name:G.name,value:G.count}))}]})),I=z2(()=>({color:["#ffd76c","#30dcff"],tooltip:R3(d3({},je()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(G){const z=G.map(a2=>`${a2.marker}${a2.seriesName}:${$1(Math.abs(a2.value))}头`);return`${G[0].name}
${z.join("
")}`}}),legend:{top:4,right:12,itemWidth:12,itemHeight:8,textStyle:{color:"rgba(222, 250, 255, 0.8)",fontSize:11}},grid:{left:22,right:22,top:32,bottom:12,containLabel:!0},xAxis:{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:10,formatter:G=>ge(Math.abs(G))},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}},axisLine:{show:!1},axisTick:{show:!1}},yAxis:{type:"category",data:Ad.map(G=>G.age),axisLabel:{color:"rgba(223, 250, 255, 0.82)",fontSize:11},axisLine:{show:!1},axisTick:{show:!1}},series:[{name:"母牛",type:"bar",stack:"gender",barWidth:12,data:Ad.map(G=>-G.cow),itemStyle:{borderRadius:[7,0,0,7]}},{name:"公牛",type:"bar",stack:"gender",barWidth:12,data:Ad.map(G=>G.bull),itemStyle:{borderRadius:[0,7,7,0]}}]})),Y=z2(()=>{const G=g1.value,z=G.map(a2=>a2.count);return{color:o,tooltip:R3(d3({},je()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(a2){const J2=a2.map(w3=>`${w3.marker}${w3.seriesName}:${$1(w3.value)}头`);return`${a2[0].name}
${J2.join("
")}
估算存栏:${$1(z[a2[0].dataIndex])}头
结构依据:专家共识比例`}}),legend:{top:-2,right:0,itemWidth:8,itemHeight:6,itemGap:6,textStyle:{color:"rgba(222, 250, 255, 0.75)",fontSize:10}},grid:{left:54,right:30,top:22,bottom:8},xAxis:{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.56)",fontSize:10,formatter:ge},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}},axisLine:{show:!1},axisTick:{show:!1}},yAxis:{type:"category",inverse:!0,data:G.map(a2=>a2.name),axisLabel:{color:"rgba(223, 250, 255, 0.82)",fontSize:10,interval:0},axisLine:{show:!1},axisTick:{show:!1}},series:Xi.map(a2=>({name:a2.name.replace("(≤1岁)","").replace("(1-2岁)",""),type:"bar",stack:"town",barWidth:G.length>8?6:11,data:G.map(J2=>Math.round(J2.count*a2.ratio/100))}))}}),B=z2(()=>h5(g1.value,"count","头",{style:"ladder",tooltipFormatter(G){const z=g1.value[G.dataIndex];return`${z.name}
估算存栏:${$1(z.count)}头
来源:无人机识别`}})),A=z2(()=>{const G=E.value,z=G.rows,a2=Math.max(...z.map(J2=>J2.adultCow+J2.calf),1);return{color:["#30dcff","#ffd76c"],animationDurationUpdate:700,animationEasingUpdate:"cubicOut",tooltip:R3(d3({},je()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(J2){const w3=z[J2[0].dataIndex],u1=J2.filter(t0=>["成年母牛","幼畜"].includes(t0.seriesName)).map(t0=>`${t0.marker}${t0.seriesName}:${$1(t0.value)}头`);return`${w3.name}
母幼合计:${$1(w3.adultCow+w3.calf)}头
${u1.join("
")}
依据:无人机识别 + 专家共识模型`}}),legend:{data:["成年母牛","幼畜"],top:2,left:2,itemWidth:10,itemHeight:7,itemGap:9,textStyle:{color:"rgba(222, 250, 255, 0.78)",fontSize:10}},graphic:G.total>co?{type:"text",right:4,top:3,silent:!0,style:{text:`${G.start+1}-${G.end} / ${G.total}`,fill:"rgba(222, 250, 255, 0.62)",fontSize:10,fontWeight:600}}:void 0,grid:{left:18,right:18,top:42,bottom:44,containLabel:!1},xAxis:{type:"category",data:z.map(J2=>J2.name),axisLabel:{color:"rgba(223, 250, 255, 0.78)",fontSize:10,lineHeight:12,interval:0,margin:8,formatter:d2},axisLine:{show:!1},axisTick:{show:!1}},yAxis:{type:"value",max:Math.ceil(a2*1.28),axisLabel:{show:!1},axisLine:{show:!1},axisTick:{show:!1},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.08)",type:"dashed"}}},series:[{name:"基础群规模",type:"bar",barWidth:15,barGap:"-100%",data:z.map(J2=>J2.adultCow+J2.calf),tooltip:{show:!1},itemStyle:{borderRadius:[8,8,1,1],color:"rgba(48, 220, 255, 0.07)"},silent:!0},{name:"成年母牛",type:"bar",stack:"foundation",barWidth:15,data:z.map(J2=>J2.adultCow),itemStyle:{borderRadius:[1,1,0,0],color:new yn(0,0,0,1,[{offset:0,color:"rgba(48, 220, 255, 0.34)"},{offset:1,color:"#30dcff"}])}},{name:"幼畜",type:"bar",stack:"foundation",barWidth:15,data:z.map(J2=>J2.calf),itemStyle:{borderRadius:[8,8,1,1],color:new yn(0,0,0,1,[{offset:0,color:"#ffd76c"},{offset:1,color:"rgba(255, 215, 108, 0.2)"}])},label:{show:!0,position:"top",formatter:({dataIndex:J2})=>ge(z[J2].adultCow+z[J2].calf),color:"#ffffff",fontSize:10,fontWeight:700}}]}}),k=z2(()=>{const G=pS.slice().sort((J2,w3)=>w3.value-J2.value),z=pS.reduce((J2,w3)=>J2+w3.value,0),a2=G.map(J2=>J2.yoy||0);return{color:G.map(J2=>J2.color),tooltip:R3(d3({},je()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(J2){const w3=G[J2[0].dataIndex];return`${w3.label}
数量:${$1(w3.value)}头
占比:${y9(w3.value/z*100)}
同比:${w3.yoy>0?"+":""}${w3.yoy}%`}}),grid:{left:36,right:30,top:20,bottom:34},xAxis:{type:"category",data:G.map(J2=>J2.label),axisLabel:{color:"rgba(223, 250, 255, 0.76)",fontSize:10,interval:0,margin:10},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.24)"}},axisTick:{show:!1}},yAxis:[{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.52)",fontSize:10,formatter:ge},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.09)",type:"dashed"}}},{type:"value",min:Math.min(-2,Math.floor(Math.min(...a2)-1)),max:Math.max(8,Math.ceil(Math.max(...a2)+1)),axisLabel:{color:"rgba(255, 215, 108, 0.68)",fontSize:10,formatter:"{value}%"},splitLine:{show:!1},axisLine:{show:!1},axisTick:{show:!1}}],series:[{name:"数量",type:"bar",barWidth:16,data:G.map((J2,w3)=>({value:J2.value,itemStyle:{borderRadius:[8,8,2,2],color:new yn(0,0,0,1,[{offset:0,color:J2.color},{offset:.72,color:`${J2.color}cc`},{offset:1,color:`${J2.color}18`}]),shadowBlur:w3===0?12:7,shadowColor:J2.color},label:{show:!0,position:"top",color:w3===0?"#ffd76c":"#ffffff",fontSize:10,formatter:({value:u1})=>ge(u1)}}))},{name:"同比",type:"line",yAxisIndex:1,smooth:!0,symbol:"circle",symbolSize:6,data:a2,lineStyle:{width:2,color:"#ffd76c"},itemStyle:{color:"#ffd76c",borderColor:"rgba(3, 18, 28, 0.9)",borderWidth:2},label:{show:!0,position:"top",color:"#ffd76c",fontSize:10,formatter:({value:J2})=>`${J2>0?"+":""}${J2}%`}}]}}),V=z2(()=>{const G=nx(s3.value);return{color:["#30dcff","#ffd76c","#ff8f6b"],tooltip:R3(d3({},je()),{trigger:"axis"}),legend:{top:4,right:8,itemWidth:12,itemHeight:8,textStyle:{color:"rgba(222, 250, 255, 0.78)",fontSize:10}},grid:{left:44,right:40,top:34,bottom:28},xAxis:{type:"category",boundaryGap:!1,data:G.labels,axisLabel:{color:"rgba(223, 250, 255, 0.62)",fontSize:10,interval:s3.value.months>18?4:s3.value.months>12?2:1},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.28)"}},axisTick:{show:!1}},yAxis:[{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:10,formatter:ge},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}}},{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.48)",fontSize:10,formatter:ge},splitLine:{show:!1}}],series:[da("预测存栏",G.stock,"#30dcff",0,!0),da("繁殖补充",G.births,"#ffd76c",1),da("出栏扣减",G.outflow,"#ff8f6b",1)]}}),M2=z2(()=>({color:["#30dcff","#ffd76c"],tooltip:R3(d3({},je()),{trigger:"axis"}),legend:{top:4,right:12,itemWidth:12,itemHeight:8,textStyle:{color:"rgba(222, 250, 255, 0.78)",fontSize:10}},grid:{left:40,right:42,top:34,bottom:28},xAxis:{type:"category",data:a1.value.map(G=>G.month||G.name),axisLabel:{color:"rgba(223, 250, 255, 0.68)",fontSize:10,interval:1},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.26)"}},axisTick:{show:!1}},yAxis:[{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:10},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}}},{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.48)",fontSize:10},splitLine:{show:!1}}],series:[{name:"数量",type:"bar",barWidth:12,data:a1.value.map(G=>G.count||G.value),itemStyle:{borderRadius:[8,8,0,0],color:new yn(0,0,0,1,[{offset:0,color:"#30dcff"},{offset:1,color:"rgba(48, 220, 255, 0.08)"}])}},{name:"增速",type:"line",yAxisIndex:1,smooth:!0,symbolSize:5,data:a1.value.map(G=>G.speed||G.growthRate||0),lineStyle:{width:2.4,color:"#ffd76c"},itemStyle:{color:"#ffd76c"}}]})),R2=z2(()=>({tooltip:je(),radar:{center:["50%","54%"],radius:"68%",splitNumber:4,indicator:mS.map(G=>({name:G.name,max:100})),axisName:{color:"rgba(223, 250, 255, 0.76)",fontSize:11},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.22)"}},splitArea:{areaStyle:{color:["rgba(48, 220, 255, 0.04)","rgba(39, 240, 192, 0.02)"]}},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.18)"}}},series:[{type:"radar",data:[{name:"预测因子",value:mS.map(G=>G.value),areaStyle:{color:"rgba(48, 220, 255, 0.22)"},lineStyle:{color:"#30dcff",width:2},itemStyle:{color:"#ffd76c"}}]}]})),t3=z2(()=>h5(n1.value,"forecast","头")),Q2=z2(()=>{const G=C1.value;return{color:o,tooltip:je(z=>{var J2;const a2=G.find(w3=>w3.name===z.name);return`${z.name}
预测占比:${y9((J2=a2==null?void 0:a2.ratio)!=null?J2:z.percent)}
预测数量:${$1((a2==null?void 0:a2.count)||0)}头`}),legend:{orient:"vertical",right:4,top:"middle",itemWidth:8,itemHeight:8,itemGap:6,formatter(z){const a2=G.find(J2=>J2.name===z);return a2?`${z} ${y9(a2.ratio)}`:z},textStyle:{color:"rgba(222, 250, 255, 0.8)",fontSize:10}},series:[{name:"期末结构预测",type:"pie",radius:["38%","66%"],center:["32%","54%"],startAngle:118,avoidLabelOverlap:!0,label:{color:"#fff",fontSize:10,formatter:({percent:z})=>z>=4?`${z}%`:""},labelLine:{length:8,length2:5,lineStyle:{color:"rgba(223, 250, 255, 0.35)"}},itemStyle:{borderColor:"rgba(3, 18, 31, 0.92)",borderWidth:3},data:G.map(z=>({name:z.name,value:z.count}))}]}}),c3=z2(()=>({color:["#ffd76c","#ff8f6b","#7aa7ff"],tooltip:R3(d3({},je()),{trigger:"axis",axisPointer:{type:"shadow"}}),legend:{top:4,right:8,itemWidth:12,itemHeight:8,textStyle:{color:"rgba(222, 250, 255, 0.78)",fontSize:10}},grid:{left:44,right:26,top:34,bottom:28},xAxis:{type:"category",data:Sn.map(G=>G.shortLabel),axisLabel:{color:"rgba(223, 250, 255, 0.76)",fontSize:11},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.26)"}},axisTick:{show:!1}},yAxis:{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:10,formatter:ge},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}}},series:[{name:"繁殖补充",type:"bar",barWidth:12,data:Sn.map(G=>G.births),itemStyle:{borderRadius:[7,7,0,0]}},{name:"出栏流出",type:"bar",barWidth:12,data:Sn.map(G=>-G.outflow),itemStyle:{borderRadius:[0,0,7,7]}},{name:"稳态校正",type:"line",smooth:!0,symbolSize:6,data:Sn.map(G=>G.correction),lineStyle:{width:2.4}}]})),b3=z2(()=>{const G=n1.value,z=Math.max(...G.map(a2=>Math.abs(a2.change)),1);return G.map(a2=>R3(d3({},a2),{width:Math.max(8,Math.round(Math.abs(a2.change)/z*100))}))}),M3=z2(()=>{const G=j3.value,z=G.map(J2=>J2.value),a2=Math.max(...z,1);return{color:["#27f0c0","#ffd76c"],tooltip:R3(d3({},je()),{trigger:"axis",axisPointer:{type:"line",lineStyle:{color:"rgba(39, 240, 192, 0.34)"}},formatter(J2){const w3=J2[0];return`${w3.name}
防疫记录:${$1(w3.value)}条`}}),grid:{left:42,right:24,top:20,bottom:28},xAxis:{type:"category",data:G.map(J2=>J2.name),axisLabel:{color:"rgba(223, 250, 255, 0.62)",fontSize:10,interval:Math.max(Math.floor(G.length/7),0)},axisLine:{lineStyle:{color:"rgba(39, 240, 192, 0.22)"}},axisTick:{show:!1}},yAxis:{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:10,formatter:ge},splitLine:{lineStyle:{color:"rgba(39, 240, 192, 0.1)",type:"dashed"}}},series:[{name:"防疫记录",type:"bar",barMaxWidth:12,data:z,itemStyle:{borderRadius:[7,7,0,0],color:new yn(0,0,0,1,[{offset:0,color:"#27f0c0"},{offset:1,color:"rgba(39, 240, 192, 0.08)"}])},label:{show:!0,position:"top",color:"rgba(230, 255, 249, 0.92)",fontSize:10,formatter:({value:J2})=>J2>=a2*.42?ge(J2):""}},{name:"作业趋势",type:"line",smooth:!0,showSymbol:!1,data:z,lineStyle:{width:2.4,color:"#ffd76c"}}]}}),T3=z2(()=>{const G=me.value,z=G.length>8?10:12,a2=z+8,J2=G.map(F0=>Number(F0.recordCount||0)),w3=G.map(F0=>Number(F0.earTagCount||0)),u1=Math.max(...J2,1),t0=G.map(()=>Math.ceil(u1*1.08)),_0=new yn(0,0,0,1,[{offset:0,color:"rgba(48, 220, 255, 0.18)"},{offset:.48,color:"rgba(48, 220, 255, 0.06)"},{offset:1,color:"rgba(48, 220, 255, 0.02)"}]),O0=new yn(0,0,0,1,[{offset:0,color:"#31f7ff"},{offset:.36,color:"#1cbcff"},{offset:1,color:"#266dff"}]);return{color:["#31f7ff","#ffe06b"],title:{text:`台账总量:{value|${ge(A1.value)}条}`,right:0,top:0,textStyle:{color:"#fff",fontSize:12,fontWeight:500,rich:{value:{color:"#22f1ff",borderColor:"#14bdf4",borderWidth:1,borderRadius:2,padding:[2,6,3,6],fontSize:12,fontWeight:700}}}},tooltip:R3(d3({},je()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(F0){const E0=G[F0[0].dataIndex];return[`${E0.name}`,`防疫记录:${$1(E0.recordCount)}条`,`耳标数量:${$1(E0.earTagCount)}头`,"数据来源:防疫台账"].join("
")}}),legend:[{data:["防疫记录"],top:0,left:0,itemWidth:10,itemHeight:10,icon:"circle",textStyle:{color:"#fff",fontSize:11},selectedMode:!1},{data:["耳标数"],top:0,left:82,itemWidth:10,itemHeight:10,icon:"circle",textStyle:{color:"#fff",fontSize:11},selectedMode:!1}],grid:{left:36,right:8,top:38,bottom:50},xAxis:{type:"category",data:G.map(F0=>F0.name),axisLabel:{color:"#fff",fontSize:10,interval:0,formatter:I0},axisLine:{show:!1},axisTick:{show:!1},splitLine:{show:!1}},yAxis:{type:"value",name:"数量/条",max:Math.ceil(u1*1.2),nameTextStyle:{color:"rgba(223, 250, 255, 0.62)",fontSize:10,align:"left"},axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:10,formatter:ge},axisLine:{show:!1},axisTick:{show:!1},splitLine:{lineStyle:{color:"rgba(51, 89, 113, 0.16)",type:"dashed"}}},series:[{name:"统计底柱",type:"bar",barWidth:a2,barGap:"-100%",data:t0,tooltip:{show:!1},silent:!0,z:1,itemStyle:{borderRadius:[8,8,1,1],borderColor:"rgba(48, 220, 255, 0.22)",borderWidth:1,color:_0}},{name:"防疫记录",type:"bar",barGap:"-100%",barWidth:z,barMinHeight:2,z:3,data:J2.map(F0=>({value:F0,itemStyle:{borderRadius:[8,8,1,1],borderColor:"rgba(200, 252, 255, 0.22)",borderWidth:1,color:O0,shadowBlur:10,shadowColor:"rgba(49, 247, 255, 0.28)"}}))},{name:"顶部高光",type:"pictorialBar",symbol:"diamond",symbolSize:[z+7,5],symbolOffset:[0,-3],symbolPosition:"end",z:8,tooltip:{show:!1},data:J2.map(F0=>({value:F0,itemStyle:{color:"rgba(207, 252, 255, 0.88)",shadowBlur:8,shadowColor:"rgba(49, 247, 255, 0.72)"}}))},{name:"底座光影",type:"pictorialBar",symbol:"diamond",symbolSize:[a2+3,5],symbolOffset:[0,3],z:2,tooltip:{show:!1},data:J2,itemStyle:{color:"rgba(48, 220, 255, 0.24)",shadowBlur:10,shadowColor:"rgba(48, 220, 255, 0.45)"}},{name:"耳标数",type:"line",smooth:!0,showSymbol:!1,z:9,data:w3,lineStyle:{width:2.2,color:"#ffe06b",shadowBlur:8,shadowColor:"rgba(255, 224, 107, 0.5)"},itemStyle:{color:"#ffe06b"}}]}}),f1=z2(()=>{const G=q3.value;return{tooltip:R3(d3({},je()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(z){const a2=G[z[0].dataIndex];return`${a2.name}
防疫记录:${$1(a2.value)}条`}}),grid:{left:74,right:42,top:12,bottom:8},xAxis:{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.52)",fontSize:10,formatter:ge},axisLine:{show:!1},axisTick:{show:!1},splitLine:{lineStyle:{color:"rgba(39, 240, 192, 0.08)",type:"dashed"}}},yAxis:{type:"category",inverse:!0,data:G.map(z=>z.name),axisLabel:{color:"rgba(223, 250, 255, 0.82)",fontSize:10,interval:0},axisLine:{show:!1},axisTick:{show:!1}},series:[{name:"记录",type:"bar",barWidth:9,data:G.map((z,a2)=>({value:z.value,itemStyle:{borderRadius:[0,8,8,0],color:new yn(0,0,1,0,[{offset:0,color:"rgba(48, 220, 255, 0.12)"},{offset:.62,color:["#27f0c0","#30dcff","#ffd76c"][a2%3]},{offset:1,color:"#ffffff"}])}})),label:{show:!0,position:"right",color:"#eaffff",fontSize:10,formatter:({value:z})=>ge(z)}},{type:"scatter",symbolSize:7,data:G.map(z=>z.value),itemStyle:{color:"#ffd76c",shadowBlur:8,shadowColor:"#ffd76c"}}]}}),S1=z2(()=>{const G=x2.value;return{color:["#30dcff","#ffd76c"],tooltip:R3(d3({},je()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(z){const a2=z.find(w3=>w3.seriesName==="流通头数"),J2=z.find(w3=>w3.seriesName==="出证记录");return`${(a2==null?void 0:a2.axisValue)||""}
流通头数:${$1((a2==null?void 0:a2.value)||0)}头
出证记录:${$1((J2==null?void 0:J2.value)||0)}条`}}),legend:{top:4,right:10,itemWidth:12,itemHeight:8,textStyle:{color:"rgba(255, 255, 255, 0.88)",fontSize:10}},grid:{left:42,right:38,top:34,bottom:28},xAxis:{type:"category",data:G.map(z=>z.name),axisLabel:{color:"rgba(255, 255, 255, 0.8)",fontSize:10,interval:1},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.24)"}},axisTick:{show:!1}},yAxis:[{type:"value",axisLabel:{color:"rgba(255, 255, 255, 0.76)",fontSize:10,formatter:ge},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.09)",type:"dashed"}}},{type:"value",axisLabel:{color:"rgba(255, 255, 255, 0.74)",fontSize:10,formatter:ge},splitLine:{show:!1}}],series:[{name:"流通头数",type:"bar",barMaxWidth:13,data:G.map(z=>z.headCount),itemStyle:{borderRadius:[7,7,0,0],color:new yn(0,0,0,1,[{offset:0,color:"#30dcff"},{offset:1,color:"rgba(48, 220, 255, 0.08)"}])}},{name:"出证记录",type:"line",yAxisIndex:1,smooth:!0,symbolSize:5,data:G.map(z=>z.recordCount),lineStyle:{width:2.2,color:"#ffd76c"},itemStyle:{color:"#ffd76c",borderColor:"rgba(3, 18, 28, 0.9)",borderWidth:2}}]}}),T1=z2(()=>h5(r3.value.slice(0,10),"headCount","头",{colors:u,style:"ladder",axisTextColor:"rgba(255, 255, 255, 0.88)",dimAxisTextColor:"rgba(255, 255, 255, 0.74)",tooltipFormatter(G){const z=r3.value[G.dataIndex];return`${z.name}
流通头数:${$1(z.headCount)}头
出证记录:${$1(z.recordCount)}条`}})),N1=z2(()=>{const G=o3.value;return{color:u,tooltip:je(z=>{const a2=G.find(J2=>J2.name===z.name);return`${z.name}
占比:${z.percent}%
流通头数:${$1(z.value)}头
出证记录:${$1((a2==null?void 0:a2.recordCount)||0)}条`}),legend:{orient:"vertical",right:4,top:"middle",itemWidth:8,itemHeight:8,itemGap:6,textStyle:{color:"rgba(255, 255, 255, 0.88)",fontSize:10},formatter(z){const a2=G.find(J2=>J2.name===z);return a2?`${z} ${ge(a2.headCount)}头`:z}},series:[{name:"用途结构",type:"pie",radius:["38%","64%"],center:["32%","54%"],startAngle:110,label:{color:"#fff",fontSize:10,formatter:({percent:z})=>z>=3?`${z}%`:""},labelLine:{length:8,length2:5,lineStyle:{color:"rgba(223, 250, 255, 0.36)"}},itemStyle:{borderColor:"rgba(3, 18, 31, 0.92)",borderWidth:3},data:G.map(z=>({name:z.name,value:z.headCount}))}]}}),L1=z2(()=>{const G=[{name:"省外A证",value:_3("outProvinceHeads","aCertHeads")},{name:"省内B证",value:_3("inProvinceHeads","bCertHeads")}];return{color:["#ffd76c","#30dcff"],tooltip:je(z=>`${z.name}
流通头数:${$1(z.value)}头
占比:${z.percent}%`),series:[{type:"pie",radius:["48%","72%"],center:["50%","52%"],label:{show:!1},labelLine:{show:!1},itemStyle:{borderColor:"rgba(3, 18, 31, 0.92)",borderWidth:3},data:G}]}});Fn(()=>{nu(),ei(),d5(),c5(),y0(),P3()}),a6(()=>{var G,z;t2=!0,Y2&&window.clearTimeout(Y2),y3(),v1(),(z=(G=I3.value)==null?void 0:G.destroyMap)==null||z.call(G)}),Z0([f,s3,g1,B1,A1,I2,y2],()=>{iu()},{immediate:!0}),Z0(f,()=>{y0(),P3()}),Z0(()=>t.active,G=>{var z,a2,J2,w3;G?(fs(),(a2=(z=I3.value)==null?void 0:z.resume)==null||a2.call(z),y0(),P3()):((w3=(J2=I3.value)==null?void 0:J2.pause)==null||w3.call(J2),y3(),v1())}),Z0(E,G=>{_.value>=G.pageCount&&(_.value=0),P3()});function G1(G){G!==v.value&&(v.value=G,y0())}function y0(){y3(),!(!t.active||f.value!=="forecast"||t2)&&(i2=window.setInterval(B2,Ft2))}function B2(){const G=Sn.findIndex(a2=>a2.key===v.value),z=G>=0?(G+1)%Sn.length:0;v.value=Sn[z].key}function y3(){i2&&(window.clearInterval(i2),i2=null)}function P3(){v1(),!(!t.active||f.value!=="structure"||t2||E.value.pageCount<=1)&&(_2=window.setInterval(t1,Dt2))}function t1(){const G=E.value.pageCount;G<=1||(_.value=(_.value+1)%G)}function v1(){_2&&(window.clearInterval(_2),_2=null)}function j1(G=[],z=[]){const a2=new Map;return z.forEach(J2=>{const w3=U1(J2.name);w3&&a2.set(w3,R3(d3({},J2),{name:w3,count:Number(J2.count||0)}))}),G.forEach(J2=>{const w3=U1(J2.name);if(!w3)return;const u1=a2.get(w3)||{};a2.set(w3,R3(d3(d3({},u1),J2),{name:w3,count:Number.isFinite(Number(J2.count))?Number(J2.count):Number(u1.count||0)}))}),[...a2.values()].sort((J2,w3)=>Number(w3.count||0)-Number(J2.count||0))}function U1(G){return G||""}function D1(G){return String(G||"").trim()}function u0(G=[]){return Array.isArray(G)?G.map((z,a2)=>{var J2,w3,u1;return{key:z.key||z.id||`${z.name||z.label||"item"}-${a2}`,name:String(z.name||z.label||z.town||z.village||"未填写"),value:Number((u1=(w3=(J2=z.value)!=null?J2:z.count)!=null?w3:z.total)!=null?u1:0)}}).filter(z=>z.name&&Number.isFinite(z.value)):[]}function On(...G){const z=G.flatMap(a2=>Array.isArray(a2)?a2:[a2]).map(a2=>{var J2,w3,u1;return a2&&typeof a2=="object"?(u1=(w3=(J2=a2.year)!=null?J2:a2.value)!=null?w3:a2.latestYear)!=null?u1:a2.latest_year:a2}).map(Number).filter(a2=>Number.isFinite(a2)&&a2>0);return[...new Set(z)].sort((a2,J2)=>a2-J2)}function Dt(G=[],z="name"){return Array.isArray(G)?G.map((a2,J2)=>{var w3,u1,t0,_0,O0,F0,E0,dn,_t,ve,Oe,o6,f5,p5,_9,m5,g5;return{key:a2.key||a2.id||`${a2[z]||a2.name||a2.label||"trade"}-${J2}`,name:String(a2[z]||a2.name||a2.label||a2.town||"未填写"),recordCount:Number((t0=(u1=(w3=a2.recordCount)!=null?w3:a2.record_count)!=null?u1:a2.count)!=null?t0:0),headCount:Number((E0=(F0=(O0=(_0=a2.headCount)!=null?_0:a2.head_count)!=null?O0:a2.amount)!=null?F0:a2.value)!=null?E0:0),lng:k1((o6=(Oe=(ve=(_t=(dn=a2.lng)!=null?dn:a2.longitude)!=null?_t:a2.destLng)!=null?ve:a2.dest_lng)!=null?Oe:a2.destLongitude)!=null?o6:a2.dest_longitude),lat:k1((g5=(m5=(_9=(p5=(f5=a2.lat)!=null?f5:a2.latitude)!=null?p5:a2.destLat)!=null?_9:a2.dest_lat)!=null?m5:a2.destLatitude)!=null?g5:a2.dest_latitude)}}).filter(a2=>a2.name&&Number.isFinite(a2.headCount)):[]}function et(G=[]){return Array.isArray(G)?G.map(z=>{var a2,J2,w3,u1,t0,_0;return{year:Number(z.year),recordCount:Number((J2=(a2=z.recordCount)!=null?a2:z.record_count)!=null?J2:0),headCount:Number((_0=(t0=(u1=(w3=z.headCount)!=null?w3:z.head_count)!=null?u1:z.amount)!=null?t0:z.value)!=null?_0:0)}}).filter(z=>Number.isFinite(z.year)&&Number.isFinite(z.headCount)):[]}function At(G=[]){return Array.isArray(G)?Te(G.map(z=>{var a2,J2,w3;return z&&typeof z=="object"?(w3=(J2=(a2=z.value)!=null?a2:z.label)!=null?J2:z.name)!=null?w3:"":z})):[]}function b0(G=[]){return Array.isArray(G)?G.map(z=>{var a2,J2,w3,u1,t0,_0;if(z&&typeof z=="object"){const O0=(w3=(J2=(a2=z.value)!=null?a2:z.name)!=null?J2:z.label)!=null?w3:"",F0=(_0=(t0=(u1=z.label)!=null?u1:z.name)!=null?t0:z.value)!=null?_0:O0;return O0?{value:String(O0),label:String(F0||O0)}:null}return z?{value:String(z),label:String(z)}:null}).filter(Boolean):[]}function Te(G=[]){return[...new Set(G.map(z=>String(z||"").trim()).filter(Boolean))]}function yt(G=[]){if(!Array.isArray(G))return[];const z=new Map;G.forEach((J2,w3)=>{var F0,E0,dn,_t,ve,Oe;const u1=D1(J2.name||J2.areaName||J2.area_name||J2.town||J2.label||"");if(!u1)return;const t0=k1((dn=(E0=(F0=J2.value)!=null?F0:J2.number)!=null?E0:J2.count)!=null?dn:J2.total);if(!Number.isFinite(t0))return;const _0=z.get(u1)||{key:J2.areaCode||J2.area_code||`${u1}-${w3}`,name:u1,recordCount:0,earTagCount:0,source:"stats"};_0.recordCount+=t0;const O0=k1((Oe=(ve=(_t=J2.earTagCount)!=null?_t:J2.ear_tag_count)!=null?ve:J2.headCount)!=null?Oe:J2.head_count);_0.earTagCount+=Number.isFinite(O0)?O0:0,z.set(u1,_0)});const a2=[...z.values()].reduce((J2,w3)=>J2+Number(w3.recordCount||0),0);return[...z.values()].map(J2=>R3(d3({},J2),{earTagCount:J2.earTagCount||Math.round(Number(J2.recordCount||0)/B3.value),ratio:a2?Number(J2.recordCount||0)/a2*100:0})).sort((J2,w3)=>Number(w3.recordCount||0)-Number(J2.recordCount||0))}function d0(G={}){var w3,u1;const z=Array.isArray(G)?{rows:G}:G||{},a2=z.result||{};return{rows:z.rows||z.data||z.list||z.records||[],year:(u1=(w3=z.year)!=null?w3:a2.year)!=null?u1:null}}function B0(G=[]){return Array.isArray(G)?G.map((z,a2)=>{var dn,_t,ve,Oe,o6,f5,p5,_9,m5,g5,ha,fa;const J2=D1(z.town||z.townName||z.town_name||""),w3=String(z.village||z.villageName||z.village_name||z.name||"").trim(),u1=k1((ve=(_t=(dn=z.recordCount)!=null?dn:z.record_count)!=null?_t:z.records)!=null?ve:z.total),t0=k1((p5=(f5=(o6=(Oe=z.earTagCount)!=null?Oe:z.ear_tag_count)!=null?o6:z.headCount)!=null?f5:z.head_count)!=null?p5:z.value),_0=k1((m5=(_9=z.imageCount)!=null?_9:z.image_count)!=null?m5:z.images),O0=k1((g5=z.imageRate)!=null?g5:z.image_rate),F0=k1((ha=z.lng)!=null?ha:z.longitude),E0=k1((fa=z.lat)!=null?fa:z.latitude);return{key:z.key||z.id||`${J2}-${w3}-${a2}`,town:J2,village:w3,recordCount:Number.isFinite(u1)?u1:0,earTagCount:Number.isFinite(t0)?t0:0,imageCount:Number.isFinite(_0)?_0:0,imageRate:Number.isFinite(O0)?O0:0,lng:F0,lat:E0}}).filter(z=>z.town&&z.village&&Number.isFinite(z.earTagCount)).sort((z,a2)=>Number(a2.earTagCount||0)-Number(z.earTagCount||0)):[]}function k1(G){if(G==null||G==="")return NaN;const z=Number(String(G).replace(/,/g,"").replace(/%/g,""));return Number.isFinite(z)?z:NaN}function w1(G){return String(G||"").replace(/'/g,"''").replace(/%/g,"\\%").replace(/_/g,"\\_")}function Z1(G,z){const a2=D1(G),J2=String(z||"").trim();if(!a2||!J2)return"";const w3=`${a2}${J2}`,u1=w1(w3),t0=w1(J2);return`(full_name LIKE '%${u1}%' OR name = '${u1}' OR name = '${t0}')`}function I0(G){return d2(G)}function d2(G){const z=String(G||"").trim();if(!z)return"";const a2=z.match(/^(.+)(镇|乡|村)$/);return a2?`${a2[1]} ${a2[2]}`:z}function O2(G,z){return j2(G.name)-j2(z.name)}function j2(G){const z=String(G||"").match(/(\d{1,2})\D+(\d{1,2})/);return z?Number(z[1])*100+Number(z[2]):Number.MAX_SAFE_INTEGER}function K2(G=[]){return Array.isArray(G)?G.map(f2).filter(Boolean):[]}function f2(G){return G?{epidemicId:G.epidemicId||G.epidemic_id||G.id||"",earTag:G.earTag||G.ear_tag||"",owner:G.owner||"",idType:G.idType||G.id_type||"",idNo:G.idNo||G.id_no||"",phone:G.phone||"",town:G.town||"",village:G.village||"",location:G.location||"",livestockType:G.livestockType||G.livestock_type||"",age:G.age||"",sex:G.sex||"",weight:G.weight||G.weightKg||G.weight_kg||"",preventionType:G.preventionType||G.prevention_type||"",method:G.method||"",medicine:G.medicine||"",dose:G.dose||"",operator:G.operator||"",operateTime:G.operateTime||G.operate_time||"",imagePaths:G.imagePaths||G.image_paths||""}:null}function a3(G=[]){return Array.isArray(G)?G.map(n3).filter(Boolean):[]}function n3(G){var z,a2,J2,w3;return G?{certId:G.certId||G.cert_id||G.id||"",certType:G.certType||G.cert_type||"",certScopeName:G.certScopeName||G.cert_scope_name||"",factoryCode:G.factoryCode||G.factory_code||"",ownerName:G.ownerName||G.owner_name||"",ownerPhone:G.ownerPhone||G.owner_phone||"",transportNumber:G.transportNumber||G.transport_number||"",amount:Number((w3=(J2=(a2=(z=G.amount)!=null?z:G.headCount)!=null?a2:G.head_count)!=null?J2:G.value)!=null?w3:0),unitName:G.unitName||G.unit_name||"头",animalTypeName:G.animalTypeName||G.animal_type_name||"",usageTypeName:G.usageTypeName||G.usage_type_name||"",startTown:G.startTown||G.start_town||"",startRegionFullName:G.startRegionFullName||G.start_region_full_name||"",destProvince:G.destProvince||G.dest_province||"",destRegionFullName:G.destRegionFullName||G.dest_region_full_name||"",quarantineOfficerName:G.quarantineOfficerName||G.quarantine_officer_name||"",issueTime:G.issueTime||G.issue_time||"",statusName:G.statusName||G.status_name||""}:null}function m3(G,z){for(const a2 of z){const J2=Number(G==null?void 0:G[a2]);if(Number.isFinite(J2))return J2}return 0}function _3(...G){return m3(y2.value,G)}function V3(G={}){return String(G.imagePaths||"").split(";").map(z=>z.trim()).filter(Boolean)}function A3(G){const a2=String(G||"").replace(/^images\//,"").split("/").map(encodeURIComponent).join("/");return`${kt2}/${a2}`}function $3(G){b2.value=A3(G),X2.value=!0}function A0(){X2.value=!1,b2.value=""}function F1(G){return G==null||G===""?"-":G}function V1(G){const z=String(G!=null?G:"").trim();return!!(z&&z!=="-")}function a0(G,z,a2={}){return V1(z)?d3({label:G,value:z},a2):null}function W1(G){return G?String(G).slice(0,10):"-"}function k0(G){const z=String(G||"").trim();return z?z.length<7?z:`${z.slice(0,3)}****${z.slice(-4)}`:"-"}function ln(G){const z=String(G||"").trim();return z?z.length<=4?z:`****${z.slice(-4)}`:"-"}function Zt(G){const z=String(G!=null?G:"").trim();if(!z)return"-";if(/kg|公斤|千克/i.test(z))return z;const a2=Number(z);return Number.isFinite(a2)?`${$1(a2)}kg`:z}function h0(G){return String(G!=null?G:"").trim()||"-"}function Q0(G={}){return G.certScopeName||G.certType||"-"}function ei(){return k3(this,null,function*(){var a2,J2;const[G,z]=yield Promise.allSettled([B02(),z02()]);G.status==="fulfilled"&&((a2=G.value)!=null&&a2.length)&&(b.value=Lq(G.value.map(w3=>({name:w3.name,count:Number(w3.value)})).filter(w3=>w3.name&&Number.isFinite(w3.count)))),z.status==="fulfilled"&&((J2=z.value)!=null&&J2.length)&&(y.value=z.value.map(w3=>({month:w3.name,count:Number(w3.value),speed:ms(w3.extra)})).filter(w3=>w3.month&&Number.isFinite(w3.count)))})}function c5(){return k3(this,arguments,function*(G=I2.value){var z,a2,J2,w3,u1,t0;n2.value=!0,P2.value="";try{(a2=(z=p2.value)==null?void 0:z.years)!=null&&a2.length||(p2.value=yield k02());const _0=On((J2=p2.value)==null?void 0:J2.years),O0=Number(((w3=p2.value)==null?void 0:w3.latestYear)||((u1=p2.value)==null?void 0:u1.latest_year)||_0[_0.length-1]),F0=Number(G||I2.value||O0||_0[_0.length-1]);I2.value=F0;let E0=yield KS({year:F0});const dn=(t0=E0==null?void 0:E0.hasData)!=null?t0:E0==null?void 0:E0.has_data,_t=Number((E0==null?void 0:E0.latestYear)||(E0==null?void 0:E0.latest_year)||O0);dn===!1&&_t&&_t!==F0&&(I2.value=_t,E0=yield KS({year:_t})),N2.value=E0||{metrics:{},hasData:!1},yield Ci(1)}catch(_0){P2.value="交易数据接口异常",N2.value={metrics:{},hasData:!1},e3.value=[],h3.value=0}finally{n2.value=!1}})}function Ci(){return k3(this,arguments,function*(G=Z2.value){var a2,J2;if(!I2.value)return;const z={year:I2.value,page:G,pageSize:Id,keyword:v3.value};try{const w3=yield XS(z);e3.value=a3(w3.rows),h3.value=Number(((a2=w3.page)==null?void 0:a2.totalCount)||w3.totalCount||e3.value.length||0),Z2.value=Number(((J2=w3.page)==null?void 0:J2.page)||G||1)}catch(w3){P2.value=P2.value||"交易台账接口异常",e3.value=[],h3.value=0}})}function m8(G){const z=Number(G);!Number.isFinite(z)||z===Number(I2.value)||(I2.value=z,Z2.value=1,f3.value="",v3.value="",c5(z))}function p9(){v3.value=f3.value.trim(),Ci(1)}function we(G){const z=Math.min(Math.max(Number(G)||1,1),i1.value);Ci(z)}function oe(G=null){O3.value=!0,G&&(F.value=G),Ei(1,G)}function Ut(){O3.value=!1}function un(){Ei(1)}function s6(){r1.value={keyword:"",startTown:"",usageType:"",certType:""},Ei(1)}function Mi(G){const z=Math.min(Math.max(Number(G)||1,1),M1.value);Ei(z)}function Ei(){return k3(this,arguments,function*(G=L3.value,z=null){var w3,u1;if(!I2.value)return;C3.value=!0,U3.value="";const a2=r1.value,J2={year:I2.value,page:G,pageSize:QS,keyword:a2.keyword.trim(),startTown:a2.startTown,usageType:a2.usageType,certType:a2.certType};try{const t0=yield XS(J2);H3.value=a3(t0.rows),F2.value=Number(((w3=t0.page)==null?void 0:w3.totalCount)||t0.totalCount||H3.value.length||0),L3.value=Number(((u1=t0.page)==null?void 0:u1.page)||G||1);const _0=z?z.certId||z.factoryCode:"",O0=_0?H3.value.find(F0=>(F0.certId||F0.factoryCode)===_0)||z:H3.value[0]||null;m9(O0)}catch(t0){U3.value="交易台账接口异常",H3.value=[],F2.value=0,F.value=null}finally{C3.value=!1}})}function m9(G){F.value=G||null}function g9(G){var z,a2;G!=null&&G.startTown&&(f.value="trade",(a2=(z=I3.value)==null?void 0:z.focusTown)==null||a2.call(z,D1(G.startTown),{distanceScale:.78,duration:.8}))}function d5(){return k3(this,null,function*(){var w3;q.value=!0,K.value="";const[G,z,a2,J2]=yield Promise.allSettled([F02(),JS({page:1,pageSize:8}),D02(),U02()]);if(G.status==="fulfilled"?w.value=G.value||{metrics:{}}:(K.value="防疫统计接口异常",w.value={metrics:{}}),z.status==="fulfilled"){const u1=z.value||{};O.value=K2(u1.rows),j.value=Number(((w3=u1.page)==null?void 0:w3.totalCount)||u1.totalCount||O.value.length||0)}else K.value=K.value||"防疫台账接口异常",O.value=[],j.value=0;a2.status==="fulfilled"?U.value=d0(a2.value):U.value={rows:[],year:null},J2.status==="fulfilled"?P.value=J2.value||{rows:[]}:P.value={rows:[]},q.value=!1})}function cn(G=null){c2.value=!0,G&&(C2.value=G,E2.value=null),g8(1,G)}function cs(){c2.value=!1,A0()}function ca(){g8(1)}function tu(){J.value={keyword:"",town:"",medicine:"",startDate:"",endDate:""},g8(1)}function ds(G){g8(G)}function g8(){return k3(this,arguments,function*(G=Z.value,z=null){var J2,w3;G2.value=!0,q2.value="";const a2=R3(d3({},J.value),{page:G,pageSize:ZS});try{const u1=yield JS(a2);S2.value=K2(u1.rows),H.value=Number(((J2=u1.page)==null?void 0:J2.totalCount)||u1.totalCount||S2.value.length||0),Z.value=Number(((w3=u1.page)==null?void 0:w3.page)||G||1);const t0=z||S2.value[0]||null;t0?hs(t0):(C2.value=null,E2.value=null)}catch(u1){q2.value="台账接口异常",S2.value=[],H.value=0}finally{G2.value=!1}})}function hs(G){return k3(this,null,function*(){if(C2.value=G,E2.value=null,!(G!=null&&G.earTag)&&!(G!=null&&G.epidemicId))return;const z=++V2;A2.value=!0;try{const a2=yield O02(G.earTag||G.epidemicId);z===V2&&(E2.value=f2(a2)||G)}catch(a2){z===V2&&(E2.value=G)}finally{z===V2&&(A2.value=!1)}})}function nu(){var G;o2=new aa,u2=!1,(G=o2.ready)==null||G.then(()=>{u2=!0,fs()}).catch(()=>{T2.value=!0})}function fs(){t2||!t.active||!u2||W2||(W2=!0,Y2&&window.clearTimeout(Y2),Y2=window.setTimeout(()=>{Y2=null,v9()},600))}function v9(G=0){return k3(this,null,function*(){var a2,J2;if(t2)return;if(!t.active){W2=!1;return}if(yield ft(),!t.active){W2=!1;return}const z=I3.value;if((a2=z==null?void 0:z.loadMap)==null||a2.call(z,o2),z!=null&&z.canvasMap){T2.value=!0,(J2=z.play)==null||J2.call(z);return}if(G<24){window.setTimeout(()=>v9(G+1),120);return}W2=!1})}function iu(){if(f.value==="epidemic"){i("module-stats",{moduleKey:"yak-management",items:[{zh:"防疫记录",value:A1.value,unit:"条"},{zh:"防疫耳标",value:B1.value,unit:"头"},{zh:"疫苗类型",value:B3.value,unit:"类"},{zh:"涉及村数",value:H1.value,unit:"个"}]});return}if(f.value==="forecast"){const G=s3.value.stock-W6;i("module-stats",{moduleKey:"yak-management",items:[{zh:"预测期末存栏",value:s3.value.stock,unit:"头"},{zh:"繁殖补充",value:s3.value.births,unit:"头"},{zh:"出栏流出",value:s3.value.outflow,unit:"头"},{zh:"预测净变化",value:G,unit:"头"}]});return}if(f.value==="trade"){i("module-stats",{moduleKey:"yak-management",items:[{zh:"流通总量",value:_3("headCount"),unit:"头"},{zh:"出证记录",value:_3("recordCount"),unit:"条"},{zh:"交易销售",value:_3("saleHeadCount"),unit:"头"},{zh:"运输车辆",value:_3("vehicleCount"),unit:"辆"}]});return}i("module-stats",{moduleKey:"yak-management",items:[{zh:"无人机识别总数",value:fS,unit:"头"},{zh:"专家共识模型修正",value:D3.value,unit:"头"},{zh:"当前存栏预估数量",value:W6,unit:"头"}]})}function h5(G,z,a2,J2={}){const w3=J2.labelKey||"name",u1=J2.colors||o,t0=Math.max(...G.map(ve=>Number(ve[z]||0)),1),_0=G.length>8,O0=J2.style==="ladder",F0=_0?O0?7:6:G.length>6?11:13,E0=["#30dcff","#27f0c0","#ffd76c","#7aa7ff","#ff8f6b","#a6f06d"],dn=J2.axisTextColor||"rgba(223, 250, 255, 0.82)",_t=J2.dimAxisTextColor||"rgba(223, 250, 255, 0.56)";return{tooltip:R3(d3({},je()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(ve){if(J2.tooltipFormatter)return J2.tooltipFormatter(ve[0]);const Oe=G[ve[0].dataIndex];return`${Oe[w3]}
数值:${$1(Oe[z])}${a2}`}}),grid:{left:_0?58:74,right:_0?50:54,top:_0?3:14,bottom:_0?5:14},xAxis:{type:"value",axisLabel:{color:_t,fontSize:10,formatter:a2==="%"?"{value}%":ge},axisLine:{show:!1},axisTick:{show:!1},splitLine:{show:!1}},yAxis:{type:"category",inverse:!0,data:G.map(ve=>ve[w3]),axisLabel:{color:dn,fontSize:_0?9:11,interval:0},axisLine:{show:!1},axisTick:{show:!1}},series:[{type:"bar",barWidth:F0,barGap:"-100%",data:G.map((ve,Oe)=>({value:ve[z],itemStyle:{borderRadius:O0?[1,10,10,1]:[0,7,7,0],color:ru(O0?E0[Oe%E0.length]:u1[Oe%u1.length],O0),shadowBlur:O0?10:0,shadowColor:O0?u1[Oe%u1.length]:"transparent"}})),showBackground:!0,backgroundStyle:{color:O0?"rgba(48, 220, 255, 0.035)":"rgba(48, 220, 255, 0.055)",borderRadius:O0?[1,10,10,1]:[0,7,7,0]},label:{show:!0,position:"right",color:"#ffffff",fontSize:_0?9:10,formatter:({value:ve})=>`${a2==="%"?y9(ve):ge(ve)}`},markLine:J2.showAverage===!1?void 0:{silent:!0,symbol:"none",label:{show:!1},lineStyle:{color:"rgba(255, 215, 108, 0.22)",type:"dashed",width:1},data:[{xAxis:Math.round(t0*.72)}]}},...O0?[{type:"pictorialBar",symbol:"rect",symbolSize:[2,F0+5],symbolOffset:[0,0],symbolPosition:"end",z:4,data:G.map((ve,Oe)=>({value:ve[z],itemStyle:{color:"#ffffff",opacity:Oe<3?.82:.5,shadowBlur:8,shadowColor:E0[Oe%E0.length]}}))}]:[]]}}function ru(G,z=!1){return new yn(0,0,1,0,[{offset:0,color:z?`${G}22`:"rgba(48, 220, 255, 0.12)"},{offset:.64,color:z?G:`${G}cc`},{offset:1,color:G}])}function da(G,z,a2,J2=0,w3=!1){return{name:G,type:"line",yAxisIndex:J2,smooth:!0,symbolSize:5,data:z,lineStyle:{width:2.5,color:a2},itemStyle:{color:a2},areaStyle:w3?{color:new yn(0,0,0,1,[{offset:0,color:`${a2}44`},{offset:1,color:`${a2}05`}])}:void 0}}function au(G,z){const a2=new Map;return G.forEach(J2=>{const w3=ps(J2.name);if(!w3)return;const u1=a2.get(w3)||{name:w3,value:0};u1.value+=Number(J2[z]||0),a2.set(w3,u1)}),[...a2.values()].sort((J2,w3)=>w3.value-J2.value)}function ps(G){return{色地镇:"色地镇",瓦切镇:"瓦切镇",安曲镇:"安曲镇",龙日镇:"龙日镇",邛溪镇:"邛溪镇",刷经寺镇:"刷经寺镇",阿木乡:"阿木乡",查尔玛乡:"查尔玛乡",江茸乡:"江茸乡",麦洼乡:"麦洼乡"}[G]||""}function je(G){return{trigger:"item",backgroundColor:"rgba(5, 31, 51, 0.96)",borderColor:"rgba(0, 210, 255, 0.54)",borderWidth:1,textStyle:{color:"#e7fbff",fontSize:12},extraCssText:"box-shadow:0 0 18px rgba(0,210,255,.2);",formatter:G}}function ms(G){const z=String(G||"").match(/-?\d+(?:\.\d+)?/);return z?Number(z[0]):0}function $1(G){const z=Number(G);return Number.isFinite(z)?z.toLocaleString("zh-CN",{maximumFractionDigits:Number.isInteger(z)?0:2}):"--"}function ge(G){const z=Number(G);return Number.isFinite(z)?Math.abs(z)>=1e4?`${(z/1e4).toFixed(Math.abs(z)>=1e5?0:1)}万`:Math.round(z).toLocaleString("zh-CN"):"--"}function gs(G,z=2){const a2=Number(G);return Number.isFinite(a2)?`${(a2/1e4).toFixed(z)}万`:"--"}function y9(G){const z=Number(G);return Number.isFinite(z)?`${Number.isInteger(z)?z:z.toFixed(1)}%`:"--"}function v8(G){const z=Number(G);return Number.isFinite(z)?`${z>=0?"+":"-"}${$1(Math.abs(z))}`:"--"}return(G,z)=>(h2(),v2("div",H02,[K3(ra,{ref_key:"mapSceneRef",ref:I3,class:"yak-map-scene","active-layer":X.value,"map-ranking":D2.value},null,8,["active-layer","map-ranking"]),z[79]||(z[79]=M("div",{class:"yak-map-scrim"},null,-1)),T2.value?l1("",!0):(h2(),v2("div",j02,"3D地图加载中")),M("div",W02,[f.value==="trade"&&W.value.length?(h2(),v2("div",$02,[z[20]||(z[20]=M("span",null,"交易年份",-1)),(h2(!0),v2(X3,null,c1(W.value,a2=>(h2(),v2("button",{key:a2,type:"button",class:x1({active:Number(a2)===Number(I2.value)}),onClick:J2=>m8(a2)},L2(a2),11,Y02))),128))])):l1("",!0),f.value==="forecast"?(h2(),v2("div",q02,[z[21]||(z[21]=M("span",null,"预测年份",-1)),(h2(!0),v2(X3,null,c1(D0(Sn),a2=>(h2(),v2("button",{key:a2.key,type:"button",class:x1({active:a2.key===v.value}),onClick:J2=>G1(a2.key)},L2(a2.shortLabel),11,K02))),128))])):l1("",!0),M("div",X02,[M("div",J02,[f.value==="structure"?(h2(),v2(X3,{key:0},[K3(X1,{class:"yak-side-card left-card",title:"存栏估算",width:W0,height:$0},{default:z1(()=>[M("div",Z02,[M("div",Q02,[M("span",ee2,[z[23]||(z[23]=M("em",null,"无人机识别总数",-1)),M("strong",null,[ae(L2($1(D0(fS))),1),z[22]||(z[22]=M("small",null,"头",-1))])]),M("span",te2,[z[25]||(z[25]=M("em",null,"专家共识模型修正",-1)),M("strong",{class:x1({positive:D3.value>0,negative:D3.value<0})},[ae(L2(v8(D3.value)),1),z[24]||(z[24]=M("small",null,"头",-1))],2)])]),M("div",ne2,[z[27]||(z[27]=M("span",null,"当前存栏预估数量",-1)),M("strong",null,[ae(L2($1(D0(W6))),1),z[26]||(z[26]=M("em",null,"头",-1))])])])]),_:1}),K3(X1,{class:"yak-side-card left-card",title:"畜群结构占比",width:W0,height:$0},{default:z1(()=>[K3(D0(Ye),{class:"yak-chart",option:g2.value,autoresize:!0},null,8,["option"])]),_:1}),K3(X1,{class:"yak-side-card left-card",title:"母牛/公牛年龄结构",width:W0,height:$0},{default:z1(()=>[K3(D0(Ye),{class:"yak-chart",option:I.value,autoresize:!0},null,8,["option"])]),_:1}),K3(X1,{class:"yak-side-card left-card",title:"牦牛乡镇分布",width:W0,height:$0},{default:z1(()=>[K3(D0(Ye),{class:"yak-chart",option:Y.value,autoresize:!0},null,8,["option"])]),_:1})],64)):f.value==="forecast"?(h2(),v2(X3,{key:1},[K3(X1,{class:"yak-side-card left-card",title:"畜群预测",width:W0,height:$0},{default:z1(()=>[M("div",ie2,[M("div",re2,[M("div",ae2,[M("span",null,L2(s3.value.label)+"预测存栏",1),M("strong",null,[ae(L2($1(s3.value.stock)),1),z[28]||(z[28]=M("em",null,"头",-1))])]),M("div",{class:x1(["forecast-change-badge",{positive:S3.value>0,negative:S3.value<0}])},[z[30]||(z[30]=M("span",null,"较当前",-1)),M("strong",null,[ae(L2(v8(S3.value)),1),z[29]||(z[29]=M("em",null,"头",-1))])],2)]),M("div",se2,[M("span",null,[z[31]||(z[31]=M("em",null,"补充",-1)),M("strong",null,L2(gs(s3.value.births))+"头",1)]),M("span",null,[z[32]||(z[32]=M("em",null,"流出",-1)),M("strong",null,L2(gs(s3.value.outflow))+"头",1)]),M("span",null,[z[33]||(z[33]=M("em",null,"周期",-1)),M("strong",null,L2(s3.value.months)+"个月",1)])])])]),_:1}),K3(X1,{class:"yak-side-card left-card",title:"未来存栏趋势",width:W0,height:$0},{default:z1(()=>[K3(D0(Ye),{class:"yak-chart",option:V.value,autoresize:!0},null,8,["option"])]),_:1}),K3(X1,{class:"yak-side-card left-card",title:"月度数量预测",width:W0,height:$0},{default:z1(()=>[K3(D0(Ye),{class:"yak-chart",option:M2.value,autoresize:!0},null,8,["option"])]),_:1}),K3(X1,{class:"yak-side-card left-card",title:"预测因子雷达",width:W0,height:$0},{default:z1(()=>[K3(D0(Ye),{class:"yak-chart",option:R2.value,autoresize:!0},null,8,["option"])]),_:1})],64)):f.value==="epidemic"?(h2(),v2(X3,{key:2},[K3(X1,{class:"yak-side-card left-card",title:"防疫总览",width:W0,height:$0},{default:z1(()=>[M("div",oe2,[M("div",le2,[z[35]||(z[35]=M("span",null,"防疫记录",-1)),M("strong",null,[ae(L2($1(A1.value)),1),z[34]||(z[34]=M("em",null,"条",-1))])]),M("div",ue2,[M("strong",null,L2($1(B1.value)),1),z[36]||(z[36]=M("span",null,"耳标数",-1))]),M("div",ce2,[M("span",null,[z[37]||(z[37]=M("em",null,"覆盖乡镇",-1)),M("strong",null,L2(l0.value)+"个",1)]),M("span",null,[z[38]||(z[38]=M("em",null,"养殖户",-1)),M("strong",null,L2($1(o1.value))+"户",1)]),M("span",null,[z[39]||(z[39]=M("em",null,"涉及村数",-1)),M("strong",null,L2($1(H1.value))+"个",1)]),M("span",null,[z[40]||(z[40]=M("em",null,"疫苗类型",-1)),M("strong",null,L2(B3.value)+"类",1)])])])]),_:1}),K3(X1,{class:"yak-side-card left-card",title:"防疫覆盖概况",width:W0,height:$0},{default:z1(()=>[M("div",de2,[M("div",he2,[M("span",null,[z[41]||(z[41]=M("em",null,"覆盖乡镇",-1)),M("strong",null,L2(l0.value),1)]),M("span",null,[z[42]||(z[42]=M("em",null,"耳标数",-1)),M("strong",null,L2($1(B1.value)),1)]),M("span",null,[z[43]||(z[43]=M("em",null,"行政村",-1)),M("strong",null,L2($1(H1.value)),1)])]),M("div",fe2,[M("span",null,"最近免疫:"+L2(J1.value)+";主用疫苗:"+L2(_1.value)+";重点乡镇:"+L2(L0.value)+"。",1)]),M("div",pe2,[M("span",null,[z[44]||(z[44]=M("em",null,"疫苗类型数",-1)),M("strong",null,L2(B3.value)+"类",1)]),M("span",null,[z[45]||(z[45]=M("em",null,"养殖户数",-1)),M("strong",null,L2($1(o1.value))+"户",1)])])])]),_:1}),K3(X1,{class:"yak-side-card left-card",title:"防疫作业趋势",width:W0,height:$0},{default:z1(()=>[K3(D0(Ye),{class:"yak-chart",option:M3.value,autoresize:!0},null,8,["option"])]),_:1}),K3(X1,{class:"yak-side-card left-card",title:"疫苗类型分布",width:W0,height:$0},{default:z1(()=>[E1.value.length?(h2(),v2("div",me2,[M("div",ge2,[(h2(),Ze(Fw,{key:U2.value,data:E1.value,delay:3e3,colors:l,opacity:.62,class:"epidemic-three-pie"},{default:z1(({data:a2})=>[M("div",ve2,[M("strong",null,L2(ge((a2==null?void 0:a2.count)||A1.value)),1),M("span",null,L2((a2==null?void 0:a2.name)||"疫苗类型"),1)])]),_:1},8,["data"]))]),M("div",ye2,[(h2(!0),v2(X3,null,c1(E1.value,(a2,J2)=>(h2(),v2("div",{key:a2.key||a2.name,class:"epidemic-three-pie-row"},[M("i",{style:p0({borderColor:l[J2%l.length]})},null,4),M("span",null,L2(a2.name),1),M("strong",null,L2(ge(a2.value)),1),M("em",null,L2(a2.unit),1)]))),128))])])):(h2(),v2("div",_e2,"暂无疫苗类型数据"))]),_:1})],64)):f.value==="trade"?(h2(),v2(X3,{key:3},[K3(X1,{class:"yak-side-card left-card",title:"交易年度总览",width:W0,height:$0},{default:z1(()=>[M("div",Se2,[M("div",be2,[M("span",null,L2(I2.value)+"年流通总量",1),M("strong",null,[ae(L2($1(_3("headCount"))),1),z[46]||(z[46]=M("em",null,"头",-1))])]),M("div",Te2,[M("span",null,[z[47]||(z[47]=M("em",null,"出证记录",-1)),M("strong",null,L2($1(_3("recordCount")))+"条",1)]),M("span",null,[z[48]||(z[48]=M("em",null,"交易销售",-1)),M("strong",null,L2($1(_3("saleHeadCount")))+"头",1)]),M("span",null,[z[49]||(z[49]=M("em",null,"运输车辆",-1)),M("strong",null,L2($1(_3("vehicleCount")))+"辆",1)])])])]),_:1}),K3(X1,{class:"yak-side-card left-card",title:"交易流通趋势",width:W0,height:$0},{default:z1(()=>[K3(D0(Ye),{class:"yak-chart",option:S1.value,autoresize:!0},null,8,["option"])]),_:1}),K3(X1,{class:"yak-side-card left-card",title:"来源乡镇分布",width:W0,height:$0},{default:z1(()=>[K3(D0(Ye),{class:"yak-chart",option:T1.value,autoresize:!0},null,8,["option"])]),_:1}),K3(X1,{class:"yak-side-card left-card",title:"用途结构统计",width:W0,height:$0},{default:z1(()=>[K3(D0(Ye),{class:"yak-chart",option:N1.value,autoresize:!0},null,8,["option"])]),_:1})],64)):l1("",!0)])]),M("div",we2,[M("div",xe2,[f.value==="structure"?(h2(),v2(X3,{key:0},[K3(X1,{class:"yak-side-card right-card",title:"乡镇存栏排行",width:W0,height:$0},{default:z1(()=>[K3(D0(Ye),{class:"yak-chart",option:B.value,autoresize:!0},null,8,["option"])]),_:1}),K3(X1,{class:"yak-side-card right-card",title:"母牛与幼畜分布",width:W0,height:$0},{default:z1(()=>[K3(D0(Ye),{class:"yak-chart",option:A.value,autoresize:!0},null,8,["option"])]),_:1}),K3(X1,{class:"yak-side-card right-card",title:"出栏/交易影响",width:W0,height:$0},{default:z1(()=>[K3(D0(Ye),{class:"yak-chart",option:k.value,autoresize:!0},null,8,["option"])]),_:1}),K3(X1,{class:"yak-side-card right-card",title:"结构明细",width:W0,height:$0},{default:z1(()=>[K3(D0(Ye),{class:"yak-chart",option:C.value,autoresize:!0},null,8,["option"])]),_:1})],64)):f.value==="forecast"?(h2(),v2(X3,{key:1},[K3(X1,{class:"yak-side-card right-card",title:"乡镇预测排行",width:W0,height:$0},{default:z1(()=>[K3(D0(Ye),{class:"yak-chart",option:t3.value,autoresize:!0},null,8,["option"])]),_:1}),K3(X1,{class:"yak-side-card right-card",title:"期末结构预测",width:W0,height:$0},{default:z1(()=>[K3(D0(Ye),{class:"yak-chart",option:Q2.value,autoresize:!0},null,8,["option"])]),_:1}),K3(X1,{class:"yak-side-card right-card",title:"补充/流出对比",width:W0,height:$0},{default:z1(()=>[K3(D0(Ye),{class:"yak-chart",option:c3.value,autoresize:!0},null,8,["option"])]),_:1}),K3(X1,{class:"yak-side-card right-card",title:"预测变化热力",width:W0,height:$0},{default:z1(()=>[M("div",Ae2,[(h2(!0),v2(X3,null,c1(b3.value,a2=>(h2(),v2("div",{key:a2.name,class:"heat-row",style:p0({"--heat-width":`${a2.width}%`})},[M("span",null,L2(a2.name),1),M("strong",null,L2(v8(a2.change)),1)],4))),128))])]),_:1})],64)):f.value==="epidemic"?(h2(),v2(X3,{key:2},[K3(X1,{class:"yak-side-card right-card",title:"防疫统计",width:W0,height:$0},{default:z1(()=>[K3(D0(Ye),{class:"yak-chart",option:T3.value,autoresize:!0},null,8,["option"])]),_:1}),K3(X1,{class:"yak-side-card right-card",title:"养殖户防疫排行",width:W0,height:$0},{default:z1(()=>[K3(D0(Ye),{class:"yak-chart",option:f1.value,autoresize:!0},null,8,["option"])]),_:1}),K3(X1,{class:"yak-side-card right-card epidemic-ledger-card",title:"防疫记录台账",width:W0,height:r},{default:z1(()=>[M("div",Ce2,[M("div",Me2,[M("span",null,"共 "+L2($1(j.value))+" 条",1),M("button",{type:"button",onClick:z[0]||(z[0]=a2=>cn())},"查看更多")]),z[50]||(z[50]=M("div",{class:"epidemic-record-header"},[M("span",null,"电子耳标"),M("span",null,"养殖户"),M("span",null,"镇/乡"),M("span",null,"疫苗"),M("span",null,"时间")],-1)),M("div",Ee2,[(h2(!0),v2(X3,null,c1(lt.value,a2=>(h2(),v2("button",{key:a2.epidemicId||a2.earTag,type:"button",onClick:J2=>cn(a2)},[M("span",null,L2(F1(a2.earTag)),1),M("span",null,L2(F1(a2.owner)),1),M("span",null,L2(F1(a2.town)),1),M("strong",null,L2(F1(a2.medicine)),1),M("span",null,L2(W1(a2.operateTime)),1)],8,Pe2))),128)),O.value.length?l1("",!0):(h2(),v2("div",Re2,L2(q.value?"防疫台账读取中":K.value||"暂无防疫记录"),1))])])]),_:1})],64)):f.value==="trade"?(h2(),v2(X3,{key:3},[K3(X1,{class:"yak-side-card right-card",title:"出证结构统计",width:W0,height:$0},{default:z1(()=>[M("div",Ne2,[M("div",Le2,[M("span",null,[z[52]||(z[52]=M("em",null,"省外流通 A证",-1)),M("strong",null,[ae(L2($1(_3("outProvinceHeads","aCertHeads"))),1),z[51]||(z[51]=M("b",null,"头",-1))]),M("small",null,L2($1(_3("outProvinceCount","aCertCount")))+"条记录",1)]),M("span",null,[z[54]||(z[54]=M("em",null,"省内流通 B证",-1)),M("strong",null,[ae(L2($1(_3("inProvinceHeads","bCertHeads"))),1),z[53]||(z[53]=M("b",null,"头",-1))]),M("small",null,L2($1(_3("inProvinceCount","bCertCount")))+"条记录",1)])]),K3(D0(Ye),{class:"trade-cert-chart",option:L1.value,autoresize:!0},null,8,["option"])])]),_:1}),K3(X1,{class:"yak-side-card right-card trade-source-card",title:"出栏来源排行",width:W0,height:a},{default:z1(()=>[M("div",Ie2,[(h2(!0),v2(X3,null,c1(u3.value,(a2,J2)=>(h2(),v2("div",{key:a2.name,class:"trade-dest-row",style:p0({"--trade-ratio":`${a2.ratio}%`})},[M("span",null,L2(J2+1),1),M("strong",null,L2(a2.name),1),M("em",null,L2(ge(a2.headCount))+"头",1)],4))),128)),u3.value.length?l1("",!0):(h2(),v2("div",ke2,L2(n2.value?"交易数据读取中":P2.value||"暂无出栏来源数据"),1))])]),_:1}),K3(X1,{class:"yak-side-card right-card trade-ledger-card",title:"交易出证台账",width:W0,height:s},{default:z1(()=>[M("div",Fe2,[M("div",De2,[M("span",null,"共 "+L2($1(h3.value))+" 条",1),M("div",null,[nt(M("input",{"onUpdate:modelValue":z[1]||(z[1]=a2=>f3.value=a2),type:"search",placeholder:"货主/车辆/检疫号/地区",onKeyup:yr(p9,["enter"])},null,544),[[j9,f3.value]]),M("button",{type:"button",onClick:p9},"搜索"),M("button",{type:"button",class:"is-more",onClick:z[2]||(z[2]=a2=>oe())},"查看更多")])]),z[55]||(z[55]=M("div",{class:"trade-ledger-header"},[M("span",null,"货主"),M("span",null,"车牌"),M("span",null,"数量"),M("span",null,"来源"),M("span",null,"用途"),M("span",null,"时间")],-1)),M("div",Ue2,[(h2(!0),v2(X3,null,c1(Q3.value,a2=>(h2(),v2("button",{key:a2.certId,type:"button",onClick:J2=>g9(a2)},[M("span",null,L2(F1(a2.ownerName)),1),M("span",null,L2(F1(a2.transportNumber)),1),M("strong",null,L2($1(a2.amount))+"头",1),M("span",null,L2(F1(a2.startTown)),1),M("span",null,L2(F1(a2.usageTypeName)),1),M("span",null,L2(W1(a2.issueTime)),1)],8,Oe2))),128)),Q3.value.length?l1("",!0):(h2(),v2("div",Be2,L2(n2.value?"交易台账读取中":P2.value||"暂无交易记录"),1))]),M("div",ze2,[M("span",null,"第 "+L2(Z2.value)+" / "+L2(i1.value)+" 页",1),M("button",{type:"button",disabled:Z2.value<=1,onClick:z[3]||(z[3]=a2=>we(Z2.value-1))},"上一页",8,Ge2),M("button",{type:"button",disabled:Z2.value>=i1.value,onClick:z[4]||(z[4]=a2=>we(Z2.value+1))},"下一页",8,Ve2)])])]),_:1})],64)):l1("",!0)])]),M("div",He2,[K3(Hl,{"model-value":f.value,topics:h,"onUpdate:modelValue":z[5]||(z[5]=a2=>f.value=a2)},null,8,["model-value"])])]),c2.value?(h2(),v2("div",{key:1,class:"epidemic-ledger-modal",onClick:jt(cs,["self"])},[M("div",je2,[M("div",We2,[M("div",null,[z[56]||(z[56]=M("span",null,"牦牛防疫台账",-1)),M("strong",null,L2($1(H.value))+" 条记录",1)]),M("button",{type:"button",onClick:cs},"关闭")]),M("div",$e2,[nt(M("input",{"onUpdate:modelValue":z[6]||(z[6]=a2=>J.value.keyword=a2),type:"search",placeholder:"耳标 / 养殖户 / 药品","aria-label":"耳标 / 养殖户 / 药品",onKeyup:yr(ca,["enter"])},null,544),[[j9,J.value.keyword]]),nt(M("select",{"onUpdate:modelValue":z[7]||(z[7]=a2=>J.value.town=a2)},[z[57]||(z[57]=M("option",{value:""},"全部镇/乡",-1)),(h2(!0),v2(X3,null,c1(Z3.value,a2=>(h2(),v2("option",{key:a2,value:a2},L2(a2),9,Ye2))),128))],512),[[Pa,J.value.town]]),nt(M("select",{"onUpdate:modelValue":z[8]||(z[8]=a2=>J.value.medicine=a2)},[z[58]||(z[58]=M("option",{value:""},"全部疫苗",-1)),(h2(!0),v2(X3,null,c1(e0.value,a2=>(h2(),v2("option",{key:a2,value:a2},L2(a2),9,qe2))),128))],512),[[Pa,J.value.medicine]]),nt(M("input",{"onUpdate:modelValue":z[9]||(z[9]=a2=>J.value.startDate=a2),type:"date"},null,512),[[j9,J.value.startDate]]),nt(M("input",{"onUpdate:modelValue":z[10]||(z[10]=a2=>J.value.endDate=a2),type:"date"},null,512),[[j9,J.value.endDate]]),M("button",{type:"button",onClick:ca},"检索"),M("button",{type:"button",class:"is-ghost",onClick:tu},"重置")]),M("div",Ke2,[M("div",Xe2,[z[59]||(z[59]=M("div",{class:"epidemic-ledger-table-head"},[M("span",null,"电子耳标"),M("span",null,"养殖户"),M("span",null,"镇/乡"),M("span",null,"村"),M("span",null,"疫苗"),M("span",null,"免疫时间"),M("span",null,"图片")],-1)),(h2(!0),v2(X3,null,c1(S2.value,a2=>{var J2,w3;return h2(),v2("button",{key:a2.epidemicId||a2.earTag,type:"button",class:x1({active:(((J2=C2.value)==null?void 0:J2.epidemicId)||((w3=C2.value)==null?void 0:w3.earTag))===(a2.epidemicId||a2.earTag)}),onClick:u1=>hs(a2)},[M("span",null,L2(F1(a2.earTag)),1),M("span",null,L2(F1(a2.owner)),1),M("span",null,L2(F1(a2.town)),1),M("span",null,L2(F1(a2.village)),1),M("strong",null,L2(F1(a2.medicine)),1),M("span",null,L2(W1(a2.operateTime)),1),M("span",null,L2(V3(a2).length?`${V3(a2).length}张`:"无"),1)],10,Je2)}),128)),S2.value.length?l1("",!0):(h2(),v2("div",Ze2,L2(G2.value?"台账读取中":q2.value||"暂无匹配记录"),1))]),M("div",Qe2,[M("div",et2,[M("div",null,[M("span",null,L2(F1(be.value.earTag)),1),M("em",null,L2(F1(be.value.medicine||be.value.preventionType)),1)]),M("strong",null,L2(A2.value?"加载中":W1(be.value.operateTime)),1)]),M("div",tt2,[(h2(!0),v2(X3,null,c1(W3.value,a2=>(h2(),v2("span",{key:a2.label,class:x1({"is-wide":a2.wide})},[M("em",null,L2(a2.label),1),M("strong",null,L2(a2.value),1)],2))),128))]),g3.value.length?(h2(),v2("div",nt2,[z[60]||(z[60]=M("div",{class:"epidemic-detail-photo-title"},"现场照片",-1)),M("div",it2,[(h2(!0),v2(X3,null,c1(g3.value.slice(0,6),a2=>(h2(),v2("button",{key:a2,type:"button",class:"epidemic-modal-photo-thumb",onClick:jt(J2=>$3(a2),["stop"])},[M("img",{src:A3(a2),alt:"防疫照片"},null,8,at2)],8,rt2))),128))])])):l1("",!0)])]),M("div",st2,[M("span",null,"第 "+L2(Z.value)+" / "+L2(Jt.value)+" 页",1),M("button",{type:"button",disabled:Z.value<=1,onClick:z[11]||(z[11]=a2=>ds(Z.value-1))},"上一页",8,ot2),M("button",{type:"button",disabled:Z.value>=Jt.value,onClick:z[12]||(z[12]=a2=>ds(Z.value+1))},"下一页",8,lt2)])])])):l1("",!0),O3.value?(h2(),v2("div",{key:2,class:"epidemic-ledger-modal trade-ledger-modal",onClick:jt(Ut,["self"])},[M("div",ut2,[M("div",ct2,[M("div",null,[z[61]||(z[61]=M("span",null,"牦牛交易出证台账",-1)),M("strong",null,L2(I2.value)+"年 "+L2($1(F2.value))+" 条记录",1)]),M("button",{type:"button",onClick:Ut},"关闭")]),M("div",dt2,[nt(M("input",{"onUpdate:modelValue":z[13]||(z[13]=a2=>r1.value.keyword=a2),type:"search",placeholder:"货主 / 车辆 / 检疫号 / 地区",onKeyup:yr(un,["enter"])},null,544),[[j9,r1.value.keyword]]),nt(M("select",{"onUpdate:modelValue":z[14]||(z[14]=a2=>r1.value.startTown=a2)},[z[62]||(z[62]=M("option",{value:""},"全部来源乡镇",-1)),(h2(!0),v2(X3,null,c1(N.value,a2=>(h2(),v2("option",{key:a2,value:a2},L2(a2),9,ht2))),128))],512),[[Pa,r1.value.startTown]]),nt(M("select",{"onUpdate:modelValue":z[15]||(z[15]=a2=>r1.value.usageType=a2)},[z[63]||(z[63]=M("option",{value:""},"全部用途",-1)),(h2(!0),v2(X3,null,c1(m.value,a2=>(h2(),v2("option",{key:a2,value:a2},L2(a2),9,ft2))),128))],512),[[Pa,r1.value.usageType]]),nt(M("select",{"onUpdate:modelValue":z[16]||(z[16]=a2=>r1.value.certType=a2)},[z[64]||(z[64]=M("option",{value:""},"全部证书",-1)),(h2(!0),v2(X3,null,c1(g.value,a2=>(h2(),v2("option",{key:a2.value,value:a2.value},L2(a2.label),9,pt2))),128))],512),[[Pa,r1.value.certType]]),M("button",{type:"button",onClick:un},"检索"),M("button",{type:"button",class:"is-ghost",onClick:s6},"重置")]),M("div",mt2,[M("div",gt2,[z[65]||(z[65]=M("div",{class:"trade-ledger-modal-table-head"},[M("span",null,"货主"),M("span",null,"证书"),M("span",null,"车牌号"),M("span",null,"数量"),M("span",null,"来源"),M("span",null,"用途"),M("span",null,"出证时间"),M("span",null,"状态")],-1)),(h2(!0),v2(X3,null,c1(H3.value,a2=>(h2(),v2("button",{key:a2.certId||a2.factoryCode,type:"button",class:x1({active:R.value===(a2.certId||a2.factoryCode)}),onClick:J2=>m9(a2)},[M("span",null,L2(F1(a2.ownerName)),1),M("span",null,L2(F1(a2.certType||a2.certScopeName)),1),M("span",null,L2(F1(a2.transportNumber)),1),M("strong",null,L2($1(a2.amount))+"头",1),M("span",null,L2(F1(a2.startTown)),1),M("span",null,L2(F1(a2.usageTypeName)),1),M("span",null,L2(W1(a2.issueTime)),1),M("span",null,L2(F1(a2.statusName)),1)],10,vt2))),128)),H3.value.length?l1("",!0):(h2(),v2("div",yt2,L2(C3.value?"交易台账读取中":U3.value||"暂无匹配记录"),1))]),M("div",_t2,[M("div",St2,[M("div",null,[M("span",null,L2(F1(e1.value.factoryCode||e1.value.certId)),1),M("em",null,L2(Q0(e1.value)),1)]),M("strong",null,L2(W1(e1.value.issueTime)),1)]),M("div",bt2,[M("span",Tt2,[z[66]||(z[66]=M("em",null,"货主",-1)),M("strong",null,L2(F1(e1.value.ownerName)),1)]),M("span",null,[z[67]||(z[67]=M("em",null,"联系方式",-1)),M("strong",null,L2(k0(e1.value.ownerPhone)),1)]),M("span",null,[z[68]||(z[68]=M("em",null,"证书类型",-1)),M("strong",null,L2(Q0(e1.value)),1)]),M("span",null,[z[69]||(z[69]=M("em",null,"车牌号",-1)),M("strong",null,L2(F1(e1.value.transportNumber)),1)]),M("span",null,[z[70]||(z[70]=M("em",null,"牦牛数量",-1)),M("strong",null,L2($1(e1.value.amount))+"头",1)]),M("span",null,[z[71]||(z[71]=M("em",null,"用途",-1)),M("strong",null,L2(F1(e1.value.usageTypeName)),1)]),M("span",null,[z[72]||(z[72]=M("em",null,"来源乡镇",-1)),M("strong",null,L2(F1(e1.value.startTown)),1)]),M("span",null,[z[73]||(z[73]=M("em",null,"目的省份",-1)),M("strong",null,L2(F1(e1.value.destProvince)),1)]),M("span",null,[z[74]||(z[74]=M("em",null,"检疫员",-1)),M("strong",null,L2(F1(e1.value.quarantineOfficerName)),1)]),M("span",wt2,[z[75]||(z[75]=M("em",null,"状态",-1)),M("strong",null,L2(F1(e1.value.statusName)),1)]),M("span",xt2,[z[76]||(z[76]=M("em",null,"来源地区",-1)),M("strong",null,L2(F1(e1.value.startRegionFullName)),1)]),M("span",At2,[z[77]||(z[77]=M("em",null,"目的地",-1)),M("strong",null,L2(F1(e1.value.destRegionFullName)),1)])]),M("button",{type:"button",class:"trade-detail-locate",disabled:!e1.value.startTown,onClick:z[17]||(z[17]=a2=>g9(e1.value))}," 查看乡镇位置 ",8,Ct2)])]),M("div",Mt2,[M("span",null,"第 "+L2(L3.value)+" / "+L2(M1.value)+" 页",1),M("button",{type:"button",disabled:L3.value<=1,onClick:z[18]||(z[18]=a2=>Mi(L3.value-1))},"上一页",8,Et2),M("button",{type:"button",disabled:L3.value>=M1.value,onClick:z[19]||(z[19]=a2=>Mi(L3.value+1))},"下一页",8,Pt2)])])])):l1("",!0),X2.value?(h2(),v2("div",{key:3,class:"epidemic-image-preview-modal",onClick:jt(A0,["self"])},[M("div",Rt2,[M("div",Nt2,[M("div",null,[z[78]||(z[78]=M("span",null,"防疫照片",-1)),M("strong",null,L2(F1(be.value.earTag)),1)]),M("button",{type:"button",onClick:A0},"关闭")]),M("div",Lt2,[M("img",{src:b2.value,alt:"防疫照片预览"},null,8,It2)])])])):l1("",!0)]))}},$x="/jsyApi";function Yx(n,e){return/^https?:\/\//.test(e)?e:`${n}${e.startsWith("/")?e:`/${e}`}`}function qx(n){if((n==null?void 0:n.success)===!1||(n==null?void 0:n.code)!==void 0&&![0,200,"0","200"].includes(n.code)){const t=new Error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"接口请求失败");throw t.code=n==null?void 0:n.code,t}return r0(n)}function Yl(n,e,t={}){return Q6(Yx($x,n),{params:e,timeout:t.timeout||12e3}).then(qx)}function ql(n,e,t={}){return Q6(Yx($x,n),{method:"POST",params:e,timeout:t.timeout||12e3}).then(qx)}function Ot2(){return ql("/api/dataItem?group=pastures").then(a5)}function Bt2(){return ql("/api/muhu/distribution").then(a5)}function zt2(){return ql("/api/muhu/age").then(a5)}function Gt2(){return ql("/api/muhu/upline_rate").then(a5)}function a5(n){return Array.isArray(n)?n:Array.isArray(n==null?void 0:n.rows)?n.rows:Array.isArray(n==null?void 0:n.list)?n.list:Array.isArray(n==null?void 0:n.data)?n.data:n!=null&&n.data?a5(n.data):n!=null&&n.result?a5(n.result):[]}function Vt2(n="",e=1,t=80){return Yl("/api/home/muhu_list",{query:n,page:e,pageSize:t}).then(a5)}function eb(n){return Yl("/api/home/grasslandByPastureId",{id:n}).then(a5)}function Ht2(n){return Yl("/api/pasturesDetails",{id:n}).then(e=>(e==null?void 0:e.data)||e||{})}function jt2(){return Yl("/api/pasturesList").then(a5)}function Wt2(){return k3(this,null,function*(){const[n,e,t,i,r,a]=yield Promise.allSettled([Ot2(),Bt2(),zt2(),Gt2(),jt2(),Vt2("",1,300)]),s=r.status==="fulfilled"?r.value:[],o=a.status==="fulfilled"?a.value:[],l=ib(o)?o:ib(s)?s:o.length?o:s,u=$t2(l,s,o);return{core:n.status==="fulfilled"?n.value:[],distribution:e.status==="fulfilled"?e.value:[],age:t.status==="fulfilled"?t.value:[],online:i.status==="fulfilled"?i.value:[],list:u}})}function $t2(n=[],...e){const t=new Map;return e.flat().forEach(i=>{nb(i).forEach(r=>{const a=t.get(r)||{};t.set(r,tb(a,i))})}),(Array.isArray(n)?n:[]).map(i=>{const r=nb(i).map(a=>t.get(a)).find(Boolean);return r?tb(i,r):i})}function tb(n={},e={}){const t=d3({},n);return Object.entries(e||{}).forEach(([i,r])=>{(t[i]===void 0||t[i]===null||t[i]==="")&&(t[i]=r)}),t}function nb(n={}){return[n.id,n.pastureId,n.pasturesId,n.pastures_id,n.muhuId,n.muhu_id,n.name,n.pasturesName,n.pastures_name,n.muhuName,n.muhu_name,n.pastureName,n.pasture_name].map(e=>String(e||"").trim()).filter(Boolean)}function ib(n=[]){return(Array.isArray(n)?n:[]).some(e=>{var r,a,s,o,l,u;const t=(l=(o=(s=(a=(r=e==null?void 0:e.grasslandArea)!=null?r:e==null?void 0:e.grassland_area)!=null?a:e==null?void 0:e.acreage)!=null?s:e==null?void 0:e.area)!=null?o:e==null?void 0:e.areaRange)!=null?l:e==null?void 0:e.area_range;if(typeof t=="number")return t>0;const i=Number((u=String(t!=null?t:"").replace(/,/g,"").match(/-?\d+(?:\.\d+)?/))==null?void 0:u[0]);return Number.isFinite(i)&&i>0})}const Yt2=(n,e=2)=>{const t=Oi(10,e);return Math.round((Number(n)||0)*t)/t},Oh=n=>Yt2((Number(n)||0)/1e4,2),Kx=[{key:"pasture-total",name:"牧户数量",value:9110,unit:"户",icon:"town"},{key:"avg-yak-per-household",name:"户均牦牛头数",value:52,unit:"头",icon:"yield"},{key:"avg-grassland-area",name:"户均草地面积",value:1131,unit:"亩",icon:"area"},{key:"joint-household-count",name:"联户数量",value:237,unit:"户",icon:"town"},{key:"poverty-monitor-count",name:"防反贫监测户",value:122,unit:"户",icon:"town"},{key:"average-income",name:"人均收入",value:19679,unit:"元/年",icon:"rate"}],Xx=Kx,Jx=Kx.map(n=>R3(d3({},n),{zh:n.name,decimals:0})),gl=[{areaCode:"513233100",areaName:"邛溪镇",number:1452,year:2024},{areaCode:"513233101",areaName:"刷经寺镇",number:1500,year:2024},{areaCode:"513233103",areaName:"安曲镇",number:76,year:2024},{areaCode:"513233105",areaName:"龙日镇",number:828,year:2024},{areaCode:"513233202",areaName:"江茸乡",number:902,year:2024},{areaCode:"513233203",areaName:"查尔玛乡",number:450,year:2024},{areaCode:"513233204",areaName:"瓦切镇",number:602,year:2024},{areaCode:"513233205",areaName:"阿木乡",number:300,year:2024},{areaCode:"513233207",areaName:"麦洼乡",number:1204,year:2024},{areaCode:"513233208",areaName:"色地镇",number:2638,year:2024}].map(n=>R3(d3({},n),{key:n.areaCode,name:n.areaName,value:n.number,unit:"户"})),Zx=[{areaCode:"513233105",areaName:"龙日镇",uplineRate:4,year:2024},{areaCode:"513233207",areaName:"麦洼乡",uplineRate:52,year:2024},{areaCode:"513233103",areaName:"安曲镇",uplineRate:22,year:2024},{areaCode:"513233100",areaName:"邛溪镇",uplineRate:23,year:2024},{areaCode:"513233208",areaName:"色地镇",uplineRate:8,year:2024},{areaCode:"513233205",areaName:"阿木乡",uplineRate:12,year:2024},{areaCode:"513233202",areaName:"江茸乡",uplineRate:14,year:2024},{areaCode:"513233203",areaName:"查尔玛乡",uplineRate:18,year:2024},{areaCode:"513233204",areaName:"瓦切镇",uplineRate:16,year:2024},{areaCode:"513233101",areaName:"刷经寺镇",uplineRate:9,year:2024}].map(n=>R3(d3({},n),{key:n.areaCode,name:n.areaName,value:n.uplineRate,unit:"%",extra:`${n.uplineRate}%`})),Qx=[{areaName:"全县",ageRange:"0-20",sex:"男",number:340,value:340,year:2024},{areaName:"全县",ageRange:"0-20",sex:"女",number:348,value:348,year:2024},{areaName:"全县",ageRange:"21-40",sex:"男",number:1700,value:1700,year:2024},{areaName:"全县",ageRange:"21-40",sex:"女",number:2040,value:2040,year:2024},{areaName:"全县",ageRange:"41-60",sex:"男",number:2040,value:2040,year:2024},{areaName:"全县",ageRange:"41-60",sex:"女",number:2104,value:2104,year:2024},{areaName:"全县",ageRange:"61-80",sex:"男",number:680,value:680,year:2024},{areaName:"全县",ageRange:"61-80",sex:"女",number:580,value:580,year:2024},{areaName:"全县",ageRange:"81-100",sex:"男",number:60,value:60,year:2024},{areaName:"全县",ageRange:"81-100",sex:"女",number:60,value:60,year:2024}],eA=(n,e,t,i)=>Array.from(n.reduce((r,a)=>{const s=a[e]||"未标注",o=r.get(s)||{key:s,name:s,value:0,unit:i};return o.value+=Number(a[t])||0,r.set(s,o),r},new Map).values()),qt2=eA(Qx,"ageRange","value","人"),tA=[{key:"male",name:"男",value:4820,unit:"人"},{key:"female",name:"女",value:5132,unit:"人"}],Pr=[{name:"更洼尔",areaName:"瓦切镇",acreage:4704.87,summerAcreage:2267.26,winterAcreage:2437.61,year:2024},{name:"涉尔丹",areaName:"麦洼乡",acreage:1426.53,summerAcreage:687.82,winterAcreage:738.71,year:2024},{name:"热布丹",areaName:"查尔玛乡",acreage:2176.09,summerAcreage:1049.37,winterAcreage:1126.72,year:2024},{name:"王西卓玛",areaName:"阿木乡",acreage:4126.13,summerAcreage:1989.59,winterAcreage:2136.54,year:2024},{name:"阿尔",areaName:"色地镇",acreage:1249.48,summerAcreage:602.25,winterAcreage:647.23,year:2024},{name:"尕让吉",areaName:"邛溪镇",acreage:3688.72,summerAcreage:1778.56,winterAcreage:1910.16,year:2024},{name:"华尔甲",areaName:"安曲镇",acreage:2956.44,summerAcreage:1425.01,winterAcreage:1531.43,year:2024},{name:"泽让措",areaName:"江茸乡",acreage:3448.36,summerAcreage:1662.61,winterAcreage:1785.75,year:2024},{name:"扎西让布",areaName:"龙日镇",acreage:2689.1,summerAcreage:1296.15,winterAcreage:1392.95,year:2024},{name:"格桑卓玛",areaName:"刷经寺镇",acreage:3187.64,summerAcreage:1536.84,winterAcreage:1650.8,year:2024}].map(n=>R3(d3({},n),{township:n.areaName,grasslandArea:n.acreage,value:n.acreage,unit:"亩",canLocate:!1,locateText:"--",searchText:`${n.name} ${n.areaName}`})),Kt2=eA(Pr,"township","grasslandArea","亩").map(n=>R3(d3({},n),{value:Oh(n.value),unit:"万亩"}));Array.from(Pr.reduce((n,e)=>{const t=e.township||"未填写",i=n.get(t)||{key:`${t}-season`,name:t,values:{summer:0,winter:0}};return i.values.summer+=Number(e.summerAcreage)||0,i.values.winter+=Number(e.winterAcreage)||0,n.set(t,i),n},new Map).values()).map(n=>R3(d3({},n),{values:{summer:Oh(n.values.summer),winter:Oh(n.values.winter)},unit:"万亩"}));const Xt2=gl.map(n=>({name:n.name,value:n.value,unit:"户"})),kd={topStats:Jx,coreRows:Xx,townRows:gl,ageRows:Qx,genderRows:tA,onlineRows:Zx,list:Pr};const Jt2={class:"pasture-management"},Zt2={key:0,class:"pasture-map-loading"},Qt2={class:"pasture-management-ui"},en2={class:"pasture-left"},tn2={class:"pasture-side-stack is-left"},nn2={class:"pasture-video-monitor"},in2=["disabled"],rn2={key:0,class:"pasture-video-scan"},an2={key:1,class:"pasture-video-play"},sn2={key:2,class:"pasture-video-loading"},on2={key:3,class:"pasture-video-error"},ln2={class:"pasture-video-point-name"},un2=["disabled"],cn2={class:"pasture-right"},dn2={class:"pasture-side-stack is-right"},hn2={class:"pasture-map-layer-tools"},U9=398,O9=190,fn2=12,pn2=12e3,mn2={__name:"index",props:{active:{type:Boolean,default:!0}},emits:["module-stats","loading-progress","map-ready"],setup(n,{emit:e}){const t=n,i=e,r=O9*2+fn2,a=x3(null),s=x3(!1),o=x3(kd),l=x3(Pr),u=x3(""),d=x3(""),h=["牧户数量","户均牦牛头数","户均草地面积","联户数量"],f="at.6znxkywzdyqesp6td2lj4a28cp3adh19-2dpdtet5o3-0dq69nb-rtvf586ba".trim(),v=`pasture-video-player-${Math.random().toString(36).slice(2)}`,_=[{key:"pasture-fallback-video-1",title:"红原机场种草基地",town:"邛溪镇",scene:"种草基地",device:"HY-CAM-021",channel:"01",cameraCount:3,status:"直播中",onlineRate:98,updateTime:"12:18",operator:"萤石云 · 在线预览",progress:86,image:W5,playUrl:"",hdPlayUrl:"",token:f},{key:"pasture-fallback-video-2",title:"瓦切镇草基地3",town:"瓦切镇",scene:"草场巡护",device:"HY-CAM-026",channel:"02",cameraCount:3,status:"直播中",onlineRate:96,updateTime:"12:16",operator:"萤石云 · 在线预览",progress:74,image:W5,playUrl:"",hdPlayUrl:"",token:f},{key:"pasture-fallback-video-3",title:"色地镇牧场入口监控",town:"色地镇",scene:"牧场入口",device:"HY-CAM-031",channel:"03",cameraCount:3,status:"直播中",onlineRate:97,updateTime:"12:14",operator:"萤石云 · 在线预览",progress:91,image:W5,playUrl:"",hdPlayUrl:"",token:f}],b=x3(null),y=x3(_),w=x3(0),U=x3(!1),P=x3(!1),O=x3("");let j=null,q=!1,K=!1,c2=null,S2=!1,H=0,Z=null,G2=null,q2=!1,C2=0,E2=null;const A2={"4028abc18eecd2af018eecdc44b7086b":"瓦切镇","402881828b486d54018b48741f590270":"查尔玛乡","402881828b486d54018b48740ed7024a":"麦洼乡","402881828b486d54018b48732e1c0044":"安曲镇","4028abc18eec9b97018eeca1538900db":"瓦切镇","402881828b486d54018b48740fb1024c":"安曲镇"},X2={尼尕尔让:"瓦切镇",更迫尕:"查尔玛乡",王西卓玛:"麦洼乡",扎花克周:"安曲镇",恰波:"瓦切镇",热布丹:"安曲镇",求甲:"阿木乡",罗尔旦:"阿木乡",扎尔江:"阿木乡",达尔基:"阿木乡",尼科:"瓦切镇",班洛:"阿木乡",拉木共:"阿木乡",尕尔玛:"瓦切镇",尕尔丹:"安曲镇",泽旺甲:"瓦切镇",阿尕:"安曲镇",陈理:"瓦切镇",贡秋卓玛:"阿木乡",更多:"瓦切镇",阿泽:"瓦切镇",达勒错:"色地镇",泽朗罗日:"安曲镇",仁青:"瓦切镇",贡多:"阿木乡",泽周:"刷经寺镇",泽科:"瓦切镇",扎巴:"阿木乡",泽真:"瓦切镇",索拉姐:"瓦切镇",尕让罗周:"瓦切镇",尕让拉姆:"瓦切镇",更让尼玛:"阿木乡",向秋卓玛:"瓦切镇",东科:"阿木乡",扑瓦甲:"阿木乡"},b2=s2($j),J=z2(()=>{const C=Z4("grassland","grassland-distribution");return C?[R3(d3({},C),{name:"草场边界",legends:[{name:"草场边界",fillColor:"#1D953F",strokeColor:"#1D953F"}]})]:[]}),p2=z2(()=>u.value&&J.value.find(C=>C.key===u.value)||null),N2=z2(()=>{var C;return(((C=p2.value)==null?void 0:C.legends)||[]).find(I=>I.key===d.value)||null}),e3=z2(()=>{var I;const C=p2.value;return C?(I=N2.value)!=null&&I.cqlFilter?R3(d3({},C),{cqlFilter:N2.value.cqlFilter,activeLegend:N2.value,name:N2.value.name||C.name}):C:null}),h3=z2(()=>l0(o.value.core).length?l0(o.value.core):Xx),I2=z2(()=>me(o.value.distribution).length?me(o.value.distribution):gl),n2=z2(()=>{const C=Un(o.value.online);return Xt(C.length?C:Zx)}),P2=z2(()=>lt(o.value.age).length?lt(o.value.age):qt2),Z2=z2(()=>Jt(o.value.age).length?Jt(o.value.age):tA),f3=z2(()=>W(l.value).length?W(l.value):Kt2),v3=z2(()=>({title:"牧户分布排行",metricLabel:"牧户",unit:"户",hideMapLabels:!1,hideTownNames:!1,showBars:!1,showPointMarkers:!1,rows:(I2.value.length?I2.value:Xt2).slice(0,8).map(C=>({name:C.name,value:Number(C.value)||0,unit:C.unit||"户"}))})),O3=z2(()=>({key:"pasture-town",type:"bar",variant:"distribution",rows:I2.value})),H3=z2(()=>({key:"pasture-grassland-area",type:"heat",rows:f3.value})),F2=z2(()=>({key:"pasture-online",type:"line",rows:n2.value})),L3=z2(()=>({key:"pasture-age",type:"column",variant:"slim",rows:P2.value})),C3=z2(()=>({key:"pasture-gender",type:"donut",rows:Z2.value})),U3=z2(()=>({key:"pasture-herdsman-list",type:"projectTable",searchPlaceholder:"搜索牧户 / 乡镇",emptyText:"无匹配牧户",searchKeys:["name","township","id","grasslandArea"],columns:[{key:"name",label:"牧户名称",field:"name",width:"30%"},{key:"grasslandArea",label:"草场面积",field:"grasslandArea",width:"28%",align:"right",strong:!0,format:"number",unit:"亩"},{key:"township",label:"区域",field:"township",width:"24%"},{key:"locate",label:"定位",field:"locateText",width:"18%",align:"center",fallback:"定位"}],rows:l.value})),F=z2(()=>{const C=y.value.length;return C?w.value%C:0}),r1=z2(()=>y.value[F.value]||_[0]);Fn(()=>{o1(),q3(),m1(),I3()}),a6(()=>{var C,I;S2=!0,i2(),c2&&window.clearTimeout(c2),Z&&window.clearTimeout(Z),H+=1,(I=(C=a.value)==null?void 0:C.destroyMap)==null||I.call(C)}),Z0(()=>t.active,C=>{var I,Y,B,A;C||i2({resetError:!0}),a.value&&(C?(_1(),(Y=(I=a.value).resume)==null||Y.call(I)):(Z&&window.clearTimeout(Z),Z=null,H+=1,(A=(B=a.value).pause)==null||A.call(B)))});function I3(){return k3(this,null,function*(){try{const C=yield Uw();if(S2)return;y.value=C.length?C:_,w.value=0}catch(C){if(S2)return;y.value=_,O.value="监控接口暂不可用",window.setTimeout(()=>{!S2&&O.value==="监控接口暂不可用"&&(O.value="")},2400)}})}function T2(C){b.value=C||null}function o2(C){const I=(C==null?void 0:C.image)||W5;return U.value?void 0:{backgroundImage:`linear-gradient(180deg, rgba(0, 16, 26, 0.08), rgba(0, 16, 26, 0.32)), url(${I})`}}function u2(){Y2(-1)}function W2(){Y2(1)}function Y2(C){const I=y.value.length;I&&(i2({resetError:!0}),w.value=(F.value+C+I)%I)}function t2(){return k3(this,null,function*(){var B,A;const C=r1.value;if(!(C!=null&&C.hdPlayUrl)||!(C!=null&&C.token)){O.value="无效的监控参数";return}if(U.value||P.value)return;G2&&i2({resetError:!0}),O.value="",P.value=!0,yield ft();const I=++C2;let Y=null;_2(I);try{const k=(A=(B=b.value)==null?void 0:B.getBoundingClientRect)==null?void 0:A.call(B),V=Math.max(300,Math.floor((k==null?void 0:k.width)||340)),M2=Math.max(80,Math.floor((k==null?void 0:k.height)||120));if(Y=new dT.EZUIKitPlayer({id:v,accessToken:C.token,url:C.hdPlayUrl,audio:0,width:V,height:M2,themeData:S3(),handleError(R2){I===C2&&(V2(),console.warn("Pasture EZUIKit player error",R2),O.value="视频加载失败",P.value=!1,U.value=!1,C2+=1,G2=null,q2=!1,D3())},handleSuccess(){I===C2&&(V2(),O.value="",q2=!0,P.value=!1)},fullScreenChangeCallBack(){}}),I!==C2){s3(Y),D3();return}G2=Y,U.value=!0}catch(k){V2(),console.warn("Pasture EZUIKit init error",k),O.value="视频加载失败",i2()}})}function i2(C={}){const{clearElement:I=!0,resetError:Y=!1}=C;V2();const B=G2;G2=null,q2=!1,C2+=1,B&&s3(B),I&&D3(),U.value=!1,P.value=!1,Y&&(O.value="")}function _2(C){V2(),E2=window.setTimeout(()=>{C!==C2||!P.value||(O.value="视频加载超时",i2({resetError:!1}))},pn2)}function V2(){E2&&(window.clearTimeout(E2),E2=null)}function s3(C){if(!(!C||typeof C.stop!="function"))try{const I=C.stop();I&&typeof I.catch=="function"&&I.catch(()=>{})}catch(I){console.warn("Pasture EZUIKit stop error",I)}}function D3(){if(typeof document=="undefined")return;const C=document.getElementById(v);C&&C.replaceChildren()}function S3(){return{header:{color:"#1890ff",activeColor:"#ffffff",backgroundColor:"#000000",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,memo:"顶部设备序列号",isrender:0},{iconId:"deviceName",part:"left",defaultActive:0,memo:"顶部设备名称",isrender:0},{iconId:"cloudRec",part:"right",defaultActive:0,memo:"云存储",isrender:0},{iconId:"rec",part:"right",defaultActive:0,memo:"SD卡回放",isrender:0}]},footer:{color:"#ffffff",activeColor:"#1890ff",backgroundColor:"#00000021",btnList:[{iconId:"play",part:"left",defaultActive:1,memo:"播放",isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,memo:"截屏按钮",isrender:0},{iconId:"sound",part:"left",defaultActive:0,memo:"声音按钮",isrender:1},{iconId:"pantile",part:"left",defaultActive:0,memo:"云台控制按钮",isrender:1},{iconId:"recordvideo",part:"left",defaultActive:0,memo:"录制按钮",isrender:0},{iconId:"zoom",part:"left",defaultActive:0,memo:"电子放大",isrender:1},{iconId:"hd",part:"right",defaultActive:0,memo:"清晰度切换按钮",isrender:1},{iconId:"expend",part:"right",defaultActive:0,memo:"全局全屏按钮",isrender:1}]}}}function m1(){return k3(this,null,function*(){try{const C=yield Wt2();if(S2)return;o.value=d3(d3({},kd),C),o1();const I=be(C.list);l.value=I.length?I:g3(Pr),b1(l.value)}catch(C){o.value=kd,l.value=g3(Pr)}})}function b1(C=l.value,I=600){S2||!t.active||(Z&&window.clearTimeout(Z),Z=window.setTimeout(()=>{Z=null,!(S2||!t.active)&&g1(C)},I))}function g1(){return k3(this,arguments,function*(C=[]){const I=++H,Y=(Array.isArray(C)?C:[]).filter(a1).slice(0,60);if(!Y.length)return;const B=yield E1(Y,5,k=>k3(this,null,function*(){const V=u3(k),M2=r3(k);let R2=M2,t3=null,Q2=M1(k,M2)||R(k,k.name,V);try{V&&(!Q2||!R2.length)&&(R2=H2(yield eb(V)))}catch(M3){R2=M2}if(Q2=Q2||M1(k,R2)||R(k,k.name,V),!Q2){try{t3=V?yield Ht2(V):null}catch(T3){t3=null}const M3=r3(t3);Q2=j3(t3)||M1(t3,M3),M3.length&&!R2.length&&(R2=M3)}Q2=Q2||R(k,k.name,V);const c3=!!(V||R2.some(o3)||o3(k));if(!Q2&&!R2.length&&c3===k.canLocate)return null;const b3={key:k.key,id:k.id,realPastureId:V,name:k.name,township:Q2||k.township,grasslands:R2.length?R2:k.grasslands,canLocate:c3,locateText:c3?"定位":"--"};return n1(b3,I),b3}));if(S2||I!==H)return;const A=new Map;B.filter(Boolean).forEach(k=>{[k.key,k.id,k.realPastureId,k.name].filter(Boolean).forEach(V=>{A.set(String(V),k)})}),A.size&&C1(A)})}function a1(C={}){const I=String((C==null?void 0:C.township)||"").trim();return I&&I!=="--"?!1:Z3(C)>0||Q3(C)}function n1(C,I=H){if(!C||S2||I!==H)return;const Y=new Map;[C.key,C.id,C.realPastureId,C.name].filter(Boolean).forEach(B=>{Y.set(String(B),C)}),C1(Y)}function C1(C){C!=null&&C.size&&(l.value=l.value.map(I=>{const Y=[I.key,I.id,I.realPastureId,I.name].filter(Boolean).map(A=>C.get(String(A))).find(Boolean);if(!Y)return I;const B=Y.township&&Y.township!=="--"?Y.township:I.township;return R3(d3({},I),{township:B,grasslands:Y.grasslands,canLocate:Y.canLocate,locateText:Y.locateText,searchText:[I.name,B,I.id].filter(Boolean).join(" ")})}))}function H2(C=[]){const I=[];return(Array.isArray(C)?C:[]).forEach(Y=>{const B=r3(Y);B.length?I.push(...B):Y&&typeof Y=="object"&&I.push(Y)}),I}function j3(C){const I=Array.isArray(C)?C:Array.isArray(C==null?void 0:C.rows)?C.rows:Array.isArray(C==null?void 0:C.list)?C.list:Array.isArray(C==null?void 0:C.data)?C.data:[C];for(const Y of I.filter(Boolean)){const B=Array.isArray(Y==null?void 0:Y.fields)?Y.fields:Array.isArray(Y==null?void 0:Y.children)?Y.children:[],A=i1(Y,["township","townName","town_name","areaName","area_name","fullName","full_name","address","牧场所在区域"]);if(A)return e1(s1(A));for(const V of B){const M2=String((V==null?void 0:V.name)||(V==null?void 0:V.label)||(V==null?void 0:V.title)||"").trim(),R2=i1(V,["value","text","content"]);if(R2&&/区域|地址|乡镇/.test(M2))return e1(s1(R2))}const k=Object.entries(Y||{}).filter(([V])=>/fullName|full_name|address|areaName|area_name|town/i.test(V)).map(([,V])=>V);for(const V of k)if(V)return e1(s1(V))}return""}function s1(C){const I=String(C||"").trim();if(!I||I==="--")return"";const Y=I.match(/([\u4e00-\u9fa5]{1,12}(?:镇|乡))/);return(Y==null?void 0:Y[1])||I}function E1(C,I,Y){return k3(this,null,function*(){const B=new Array(C.length);let A=0;const k=Array.from({length:Math.min(I,C.length)},()=>k3(this,null,function*(){for(;A{i("loading-progress",{progress:Math.floor(A/(k||1)*100),path:B,itemsLoaded:A,itemsTotal:k})}),(Y=j.ready)==null||Y.then(()=>{q=!0,_1()}).catch(()=>{s.value=!0,i("map-ready")})}function B3(){_1()}function _1(){S2||!t.active||!q||K||(K=!0,c2&&window.clearTimeout(c2),c2=window.setTimeout(()=>{c2=null,A1()},600))}function A1(C=0){return k3(this,null,function*(){var Y,B,A;if(S2||!q||!j)return;if(!t.active){K=!1;return}if(yield ft(),!t.active){K=!1;return}const I=a.value;if((Y=I==null?void 0:I.loadMap)==null||Y.call(I,j),I!=null&&I.canvasMap){s.value=!0,i("loading-progress",{progress:100}),i("map-ready"),t.active?(B=I.play)==null||B.call(I):(A=I.pause)==null||A.call(I);return}if(C<24){window.setTimeout(()=>A1(C+1),120);return}K=!1,s.value=!0,i("map-ready")})}function o1(){i("module-stats",{moduleKey:"pasture-management",items:H1().map(C=>({zh:C.name,name:C.name,value:C.value,unit:C.unit,decimals:Number.isInteger(Number(C.value))?0:2}))})}function H1(){const C=new Map;return(Array.isArray(h3.value)?h3.value:[]).forEach(I=>{!(I!=null&&I.name)||B1(I.name)||C.set(I.name,I)}),h.map(I=>C.get(I)||Jx.find(Y=>Y.name===I||Y.zh===I)).filter(Boolean).slice(0,4)}function l0(C=[]){return(Array.isArray(C)?C:[]).map((I,Y)=>{const B=I.key||I.id||I.code||I.name||I.zh||`${Y}`,A=I.name||I.title||I.label||I.zh,k=L0(A,B),V=i1(I,["value","num","count","dataValue"]);if(!k||V===void 0||V===null||V==="")return null;const M2=J1(k,V,I.unit||I.dw||"");return{key:B,name:M2.name,value:M2.value,unit:M2.unit,icon:I.icon||["town","area","yield","rate"][Y%4]}}).filter(Boolean)}function L0(C,I){const Y=String(C||I||""),B=String(I||"").toLowerCase();return/avg.*yak|yak.*avg|yak.*household|yak.*per|hjyak/.test(B)||/户均.*牦牛|牦牛.*户均/.test(Y)?"户均牦牛头数":/avg.*grass|grass.*avg|grass.*household|grass.*per/.test(B)||/户均.*草地|草地.*户均/.test(Y)?"户均草地面积":/income|revenue|人均收入/.test(B)||Y.includes("人均收入")?"人均收入":/poverty|monitor|防反贫|监测户/.test(B)||Y.includes("防反贫")||Y.includes("监测户")?"防反贫监测户":/joint|union|link|联户/.test(B)||Y.includes("联户")?"联户数量":/herdsman|muhu|pasture.*count|牧户数量/.test(B)||Y.includes("牧户数量")?"牧户数量":/yak/.test(B)||Y.includes("牦牛")?null:/grass/.test(B)||Y.includes("草地面积")?"草地面积":/wet/.test(B)||Y.includes("湿地")?"湿地面积":Y.includes("牧户")||Y.includes("牧场")?"牧户数量":/project/.test(B)||Y.includes("工程")||Y.includes("项目")?"工程数量":/base/.test(B)||Y.includes("基地")?"基地数量":Y}function J1(C,I,Y){const B=Number(I)||0;return C==="户均牦牛头数"?{name:C,value:B,unit:Y||"头"}:C==="户均草地面积"?{name:C,value:B,unit:Y||"亩"}:C==="人均收入"?{name:C,value:B,unit:Y||"元/年"}:C==="联户数量"||C==="防反贫监测户"?{name:C,value:B,unit:Y||"户"}:(C.includes("草地")||C.includes("湿地"))&&!String(Y).includes("万")?{name:C,value:Math.round(B/1e4*100)/100,unit:"万亩"}:C.includes("牧户")?{name:C,value:B,unit:Y||"户"}:C.includes("工程")||C.includes("项目")||C.includes("基地")?{name:C,value:B,unit:Y||"个"}:{name:C,value:B,unit:Y}}function B1(C){return C==="草地面积"||C==="湿地面积"||C==="区域数量"||C==="牦牛数量"}function me(C=[]){return(Array.isArray(C)?C:[]).map(I=>{const Y=i1(I,["areaName","area_name","name","townName","zoneName"]),B=i1(I,["number","value","count","num","pastureCount","muhuCount","muhu_count"]);return!Y||B===void 0||B===null||B===""?null:{key:I.code||I.areaCode||I.area_code||Y,name:Y,value:Number(B)||0,unit:"户"}}).filter(Boolean).sort((I,Y)=>Y.value-I.value)}function Un(C=[]){return(Array.isArray(C)?C:[]).map(I=>{const Y=i1(I,["areaName","area_name","name","townName","zoneName"]),B=Number(i1(I,["registeredMuhuCount","registered_muhu_count","registeredCount"])),A=Number(i1(I,["muhuCount","muhu_count","onlineCount"])),k=i1(I,["onlinePercent","uplineRate","upline_rate","onlineRate","value","percent","rate"]),V=k!=null&&k!==""?k:B>0?A/B*100:void 0;return!Y||V===void 0||V===null||V===""?null:{key:I.code||I.areaCode||I.area_code||Y,name:Y,value:Number(String(V).replace("%",""))||0,unit:"%",extra:Number.isFinite(A)&&Number.isFinite(B)&&B>0?`${A}/${B}户`:I.extra}}).filter(Boolean)}function Xt(C=[]){const I=new Map;return(Array.isArray(C)?C:[]).forEach(Y=>{const B=String((Y==null?void 0:Y.key)||(Y==null?void 0:Y.code)||(Y==null?void 0:Y.areaCode)||(Y==null?void 0:Y.area_code)||"").trim(),A=e1((Y==null?void 0:Y.name)||(Y==null?void 0:Y.areaName)||(Y==null?void 0:Y.area_name)||(Y==null?void 0:Y.townName)||(Y==null?void 0:Y.zoneName));[B,A].filter(Boolean).forEach(k=>I.set(k,Y))}),gl.map(Y=>{const B=I.get(String(Y.key||""))||I.get(Y.name);return B?R3(d3({},B),{key:Y.key,name:Y.name,unit:B.unit||"%"}):{key:Y.key,name:Y.name,value:0,unit:"%",extra:"--"}})}function lt(C=[]){const I=new Map;return(Array.isArray(C)?C:[]).forEach(Y=>{const B=i1(Y,["ageRange","age_range","age","name","label"]),A=i1(Y,["number","value","count","num"]);!B||A===void 0||A===null||A===""||I.set(B,(I.get(B)||0)+(Number(A)||0))}),Array.from(I.entries()).map(([Y,B])=>({key:Y,name:Y,value:B,unit:"人"}))}function Jt(C=[]){const I=new Map;return(Array.isArray(C)?C:[]).forEach(Y=>{const B=i1(Y,["sex","gender","name"]),A=i1(Y,["number","value","count","num"]);if(!B||A===void 0||A===null||A==="")return;const k=String(B).includes("女")?"女":String(B).includes("男")?"男":B;I.set(k,(I.get(k)||0)+(Number(A)||0))}),Array.from(I.entries()).map(([Y,B])=>({key:Y,name:Y,value:B,unit:"人"}))}function be(C=[]){return(Array.isArray(C)?C:[]).map((I,Y)=>{const B=i1(I,["name","pasturesName","pastures_name","muhuName","muhu_name","pastureName","pasture_name","herdsmanName"]);if(!B)return null;const A=r3(I),k=Z3(I)||e0(A),V=u3(I),M2=M1(I,A)||R(I,B,V),R2=R3(d3({},I),{key:I.key||I.id||I.pasturesId||I.pastures_id||`${B}-${Y}`,id:V||I.id||I.pastureId||I.pasturesId||I.pastures_id||I.muhuId||I.key,realPastureId:V,name:B,township:M2||"--",grasslandArea:k,acreage:k,grasslands:A});return R2.canLocate=!!(V||A.some(o3)||o3(I)),R2.locateText=R2.canLocate?"定位":"--",R2.value=R2.grasslandArea,R2.unit="亩",R2.searchText=[R2.name,R2.township,R2.id].filter(Boolean).join(" "),R2}).filter(Boolean).sort(W3)}function g3(C=[]){return[...Array.isArray(C)?C:[]].map(I=>R3(d3({},I),{grasslandArea:Z3(I),acreage:Z3(I)})).sort(W3)}function W3(C,I){const Y=Z3(C),B=Z3(I),A=Y>0?1:0,k=B>0?1:0;if(A!==k)return k-A;const V=Q3(C)?1:0,M2=Q3(I)?1:0;return V!==M2?M2-V:Y!==B?B-Y:String((C==null?void 0:C.name)||"").localeCompare(String((I==null?void 0:I.name)||""),"zh-CN")}function Z3(C={}){const Y=["acreage","grasslandArea","grassland_area","area","areaRange","area_range","cdAcreage","cd_acreage","totalAcreage","total_acreage","grasslandAcreage","grassland_acreage","pastureArea","pasture_area"].map(A=>y2(C==null?void 0:C[A]));return Y.find(A=>A>0)||Y.find(A=>A===0)||0}function e0(C=[]){return(Array.isArray(C)?C:[]).reduce((I,Y)=>I+Z3(Y),0)}function y2(C){if(typeof C=="number")return Number.isFinite(C)?C:0;const I=String(C!=null?C:"").trim();if(!I||I==="--")return 0;const Y=I.replace(/,/g,"").match(/-?\d+(?:\.\d+)?/);if(!Y)return 0;const B=Number(Y[0]);return Number.isFinite(B)?I.includes("万")?B*1e4:B:0}function W(C=[]){return x2(C,I=>Number(I.grasslandArea)||0,"万亩",I=>Math.round(I/1e4*100)/100)}function x2(C=[],I,Y,B=A=>A){const A=new Map;return(Array.isArray(C)?C:[]).forEach(k=>{const V=(k==null?void 0:k.township)||(k==null?void 0:k.areaName)||(k==null?void 0:k.area_name);if(!V||V==="--")return;const M2=A.get(V)||{key:V,name:V,value:0,unit:Y},R2=I(k);M2.value+=Number(R2)||0,A.set(V,M2)}),Array.from(A.values()).map(k=>R3(d3({},k),{value:B(k.value)})).filter(k=>Number.isFinite(k.value)&&k.value>0).sort((k,V)=>V.value-k.value)}function r3(C={}){const I=[];["grasslands","grasslandList","grasslandRows","landList","plots","features"].forEach(A=>{const k=C==null?void 0:C[A];Array.isArray(k)?I.push(...k):Array.isArray(k==null?void 0:k.rows)?I.push(...k.rows):Array.isArray(k==null?void 0:k.list)?I.push(...k.list):Array.isArray(k==null?void 0:k.data)&&I.push(...k.data)});const B=i1(C,["wkt","geo","geom","geometryWkt","geometry_wkt","shape","location"]);return(B||C!=null&&C.geometry)&&I.push(R3(d3({},C),{id:(C==null?void 0:C.grasslandId)||(C==null?void 0:C.gid)||(C==null?void 0:C.id),pastureId:(C==null?void 0:C.pastureId)||(C==null?void 0:C.pasturesId)||(C==null?void 0:C.pastures_id)||(C==null?void 0:C.muhuId)||(C==null?void 0:C.id),name:(C==null?void 0:C.grasslandName)||(C==null?void 0:C.name),wkt:B,geometry:C==null?void 0:C.geometry})),I.filter(Boolean)}function o3(C={}){var I,Y;return typeof C=="string"?!!C.trim():(C==null?void 0:C.type)==="Feature"||C!=null&&C.type&&(C!=null&&C.coordinates)||(I=C==null?void 0:C.geometry)!=null&&I.type||(Y=C==null?void 0:C.geometry)!=null&&Y.coordinates||typeof(C==null?void 0:C.geometry)=="string"?!0:!!i1(C,["wkt","geo","geom","geometryWkt","geometry_wkt","shape","location"])}function u3(C={}){const I=(C==null?void 0:C.realPastureId)||(C==null?void 0:C.pastureId)||(C==null?void 0:C.pasturesId)||(C==null?void 0:C.pastures_id)||(C==null?void 0:C.muhuId)||(C==null?void 0:C.id);return I==null||I===""?null:I}function Q3(C={}){return C!=null&&C.canLocate||u3(C)||o3(C)?!0:r3(C).some(o3)}function i1(C={},I=[]){for(const Y of I){const B=C==null?void 0:C[Y];if(B!=null&&B!=="")return B}}function M1(C={},I=[]){const Y=i1(C,["township","townName","town_name","areaName","area_name","zoneName","zone_name","fullName","full_name","address","牧场所在区域"]);if(Y)return e1(Y);const B=m(i1(C,["areaCode","area_code","townCode","town_code","code"]));if(B)return B;for(const k of I){const V=i1(k,["township","townName","town_name","areaName","area_name","zoneName","zone_name","fullName","full_name","address","牧场所在区域"]);if(V)return e1(V);const M2=m(i1(k,["areaCode","area_code","townCode","town_code","code"]));if(M2)return M2}const A=g(C);if(A)return A;for(const k of I){const V=g(k);if(V)return V}return""}function e1(C){const I=String(C||"").trim();if(!I||I==="--")return"";const Y=m(I);if(Y)return Y;if(Xj(I))return I;const B=s1(I);return B&&B!==I?e1(B):""}function R(C={},I="",Y=""){const B=[Y,C.realPastureId,C.pastureId,C.pasturesId,C.pastures_id,C.muhuId,C.id];for(const k of B){const V=A2[String(k||"").trim()];if(V)return e1(V)}const A=[I,C.name,C.pasturesName,C.pastures_name,C.muhuName,C.muhu_name,C.pastureName,C.pasture_name];for(const k of A){const V=X2[N(k)];if(V)return e1(V)}return""}function N(C){return String(C||"").replace(/[·•・..。`´’‘ʼʹ''"“”\s\-—_()()]/g,"").replace(/˙/g,"")}function m(C){const I=String(C||"").trim();if(!I)return"";const Y=I.replace(/\D/g,"");return Y?J4(Y):""}function g(C={}){const I=S(C),Y=Q(I);if(!Y)return"";const B=b2.find(A=>D2(Y,A.geometry));return B!=null&&B.name?e1(B.name):""}function S(C={}){var B,A;if((C==null?void 0:C.type)==="Feature")return S(C.geometry);if(C!=null&&C.type&&(C!=null&&C.coordinates))return C;if((B=C==null?void 0:C.geometry)!=null&&B.type||(A=C==null?void 0:C.geometry)!=null&&A.coordinates)return C.geometry;const I=i1(C,["geometry","location","wkt","geo","geom","geometryWkt","geometry_wkt","shape"]);if(!I||typeof I!="string")return null;const Y=I.trim();if(!Y)return null;if(Y.startsWith("{")||Y.startsWith("["))try{const k=JSON.parse(Y);return S(k)}catch(k){return null}return x(Y)}function x(C){var k;const I=String(C||"").trim(),Y=I.match(/^([A-Z]+)(?:\s+[A-Z]+)?\s*\(/i),B=(k=Y==null?void 0:Y[1])==null?void 0:k.toUpperCase();if(!B)return null;const A=I.slice(I.indexOf("("));return B==="POINT"?{type:"Point",coordinates:E(A)}:B==="MULTIPOINT"?{type:"MultiPoint",coordinates:l2(A).map(E).filter(Boolean)}:B==="LINESTRING"?{type:"LineString",coordinates:L(A)}:B==="MULTILINESTRING"?{type:"MultiLineString",coordinates:l2(A).map(L).filter(V=>V.length)}:B==="POLYGON"?{type:"Polygon",coordinates:r2(A)}:B==="MULTIPOLYGON"?{type:"MultiPolygon",coordinates:l2(A).map(r2).filter(V=>V.length)}:null}function E(C){const I=String(C||"").replace(/^\(+|\)+$/g,"").trim().split(/\s+/).slice(0,2).map(Number);return I.length>=2&&Number.isFinite(I[0])&&Number.isFinite(I[1])?[I[0],I[1]]:null}function L(C){return String(C||"").replace(/^\(+|\)+$/g,"").split(",").map(E).filter(Boolean)}function r2(C){return l2(C).map(L).filter(I=>I.length>=3)}function l2(C){const I=[];let Y=0,B=-1;return Array.from(String(C||"")).forEach((A,k)=>{A==="("?(Y===0&&(B=k+1),Y+=1):A===")"&&(Y-=1,Y===0&&B>=0&&(I.push(C.slice(B,k)),B=-1))}),I.length?I:[String(C||"")]}function s2(C){try{const I=typeof C=="string"?JSON.parse(C):C;return((I==null?void 0:I.features)||[]).map(Y=>{var B,A,k,V;return{name:((B=Y==null?void 0:Y.properties)==null?void 0:B.name)||((A=Y==null?void 0:Y.properties)==null?void 0:A.areaName)||((k=Y==null?void 0:Y.properties)==null?void 0:k.townName),code:(V=Y==null?void 0:Y.properties)==null?void 0:V.code,geometry:Y==null?void 0:Y.geometry}}).filter(Y=>{var B;return Y.name&&((B=Y.geometry)==null?void 0:B.coordinates)})}catch(I){return[]}}function Q(C){const I=X(C);if(!I.length)return null;const Y=I.reduce((B,A)=>({lng:B.lng+A[0],lat:B.lat+A[1]}),{lng:0,lat:0});return[Y.lng/I.length,Y.lat/I.length]}function X(C){const I=[],Y=B=>{if(Array.isArray(B)){if(B.length>=2&&Number.isFinite(Number(B[0]))&&Number.isFinite(Number(B[1]))){I.push([Number(B[0]),Number(B[1])]);return}B.forEach(Y)}};return Y(C==null?void 0:C.coordinates),I}function D2(C,I){return!C||!(I!=null&&I.coordinates)?!1:I.type==="Polygon"?g2(C,I.coordinates):I.type==="MultiPolygon"?I.coordinates.some(Y=>g2(C,Y)):!1}function g2(C,I){var V,M2,R2,t3;const Y=I==null?void 0:I[0];if(!Array.isArray(Y)||Y.length<3)return!1;let B=!1;const A=C[0],k=C[1];for(let Q2=0,c3=Y.length-1;Q2k!=f1>k&&A<(T3-b3)*(k-M3)/(f1-M3||1e-12)+b3&&(B=!B)}return B}return(C,I)=>{var Y;return h2(),v2("div",Jt2,[K3(ra,{ref_key:"mapSceneRef",ref:a,class:"pasture-map-scene","active-layer":e3.value,"map-ranking":v3.value,onSceneMounted:B3},null,8,["active-layer","map-ranking"]),I[2]||(I[2]=M("div",{class:"pasture-map-scrim"},null,-1)),s.value?l1("",!0):(h2(),v2("div",Zt2,"3D地图加载中")),M("div",Qt2,[M("div",en2,[M("div",tn2,[K3(X1,{class:"pasture-side-card left-card",title:"牧户区域统计",width:U9,height:O9},{default:z1(()=>[K3(Tn,{panel:O3.value,compact:""},null,8,["panel"])]),_:1}),K3(X1,{class:"pasture-side-card left-card",title:"草地面积分布",width:U9,height:O9},{default:z1(()=>[K3(Tn,{panel:H3.value,compact:""},null,8,["panel"])]),_:1}),K3(X1,{class:"pasture-side-card left-card pasture-video-card",title:"牧场实时监控",width:U9,height:O9},{default:z1(()=>[M("div",nn2,[M("button",{class:"pasture-video-nav pasture-video-prev",type:"button",disabled:y.value.length<=1,"aria-label":"上一个监控点",onClick:u2}," ‹ ",8,in2),(h2(),v2("div",{key:r1.value.key,ref:T2,class:x1(["pasture-video-screen",{"is-playing":U.value,"is-loading":P.value}]),style:p0(o2(r1.value)),onClick:t2},[M("div",{id:v,class:"pasture-video-player"}),U.value?l1("",!0):(h2(),v2("div",rn2)),!U.value&&r1.value.hdPlayUrl?(h2(),v2("div",an2)):l1("",!0),P.value?(h2(),v2("div",sn2,"加载中")):l1("",!0),O.value?(h2(),v2("div",on2,L2(O.value),1)):l1("",!0),M("div",ln2,L2(r1.value.title),1)],6)),M("button",{class:"pasture-video-nav pasture-video-next",type:"button",disabled:y.value.length<=1,"aria-label":"下一个监控点",onClick:W2}," › ",8,un2)])]),_:1}),K3(X1,{class:"pasture-side-card left-card",title:"牧户上线率",width:U9,height:O9},{default:z1(()=>[K3(Tn,{panel:F2.value,compact:""},null,8,["panel"])]),_:1})])]),M("div",cn2,[M("div",dn2,[K3(X1,{class:"pasture-side-card right-card",title:"牧户年龄统计",width:U9,height:O9},{default:z1(()=>[K3(Tn,{panel:L3.value,compact:""},null,8,["panel"])]),_:1}),K3(X1,{class:"pasture-side-card right-card",title:"牧户性别统计",width:U9,height:O9},{default:z1(()=>[K3(Tn,{panel:C3.value,compact:""},null,8,["panel"])]),_:1}),K3(X1,{class:"pasture-side-card right-card pasture-list-card",title:"牧户列表",width:U9,height:r},{default:z1(()=>[K3(Tn,{panel:U3.value,compact:"",onRowSelect:U2},null,8,["panel"])]),_:1})])]),M("div",hn2,[K3(Kf,{modelValue:u.value,"onUpdate:modelValue":I[0]||(I[0]=B=>u.value=B),"selected-legend-key":d.value,"onUpdate:selectedLegendKey":I[1]||(I[1]=B=>d.value=B),"topic-key":"grassland",layers:J.value,legends:((Y=e3.value)==null?void 0:Y.legends)||[],width:232,height:430},null,8,["modelValue","selected-legend-key","layers","legends"])])])])}}},gn2=`{ "datasetName": "红原牦牛产业全链分类数据草稿", "generatedAt": "2026-07-01T19:47:37", "privacy": { "includedContactFields": [ "户主", "负责人", "联系人", "联系电话", "服务热线", "信贷联系电话", "24小时理赔热线" ], "excludedPersonalFields": [ "身份证", "备注" ], "note": "此 JSON 面向大屏展示,已保留可展示的联系人/电话字段;身份证和备注仍未写入。图片文件仅登记为视觉参考,不作为业务数据。" }, "fileInventory": [ { "path": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "type": "xlsx", "role": "data-source" }, { "path": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "type": "xlsx", "role": "data-source" }, { "path": "cxpt.qkl.public.t_base_land", "type": "database-table", "role": "data-source" }, { "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-1.png", "type": "png", "role": "visual-reference" }, { "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-2.png", "type": "png", "role": "visual-reference" }, { "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-3.png", "type": "png", "role": "visual-reference" }, { "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-4.png", "type": "png", "role": "visual-reference" }, { "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-5.png", "type": "png", "role": "visual-reference" }, { "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-6.png", "type": "png", "role": "visual-reference" }, { "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-7.png", "type": "png", "role": "visual-reference" }, { "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-8.png", "type": "png", "role": "visual-reference" }, { "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-9.png", "type": "png", "role": "visual-reference" }, { "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-10.png", "type": "png", "role": "visual-reference" }, { "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-11.png", "type": "png", "role": "visual-reference" }, { "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-12.png", "type": "png", "role": "visual-reference" }, { "path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-9ee4fd26-fb6f-46c2-81ea-f9925d24acf8.png", "type": "png", "role": "visual-reference" }, { "path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-acf2f529-2ce8-4d8b-96eb-6899d2beb524.png", "type": "png", "role": "visual-reference" }, { "path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-eded9fbe-e18f-4b2a-88ad-b207e8589cd3.png", "type": "png", "role": "visual-reference" }, { "path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-ae00ea0b-6e25-4a45-b182-2ab3cdae2abd.png", "type": "png", "role": "visual-reference" }, { "path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-d7084d17-25fa-43e5-b216-a1d62b49f862.png", "type": "png", "role": "visual-reference" }, { "path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-f3e1ccc7-5d38-4103-96eb-be214e5b67c0.png", "type": "png", "role": "visual-reference" }, { "path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-5ffbf4b9-ab8f-49a4-8577-705da4e7c157.png", "type": "png", "role": "visual-reference" }, { "path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-1548ca35-7fe9-4786-9cb4-41366b1b5b10.png", "type": "png", "role": "visual-reference" } ], "summary": { "categoryCount": 18, "itemCount": 206, "categoryCounts": { "YC-FAMILY-PASTURE": 82, "YC-BREEDING-BASE": 19, "YC-BREEDING-STOCK": 4, "YC-FORAGE-BASE": 8, "YC-DISASTER-FORAGE-STORAGE": 7, "YC-PROCESSING-PLANT": 9, "YC-SLAUGHTERHOUSE": 7, "YC-FARM-EQUIPMENT": 2, "YC-DISEASE-CONTROL": 3, "YC-TECH-TRAINING": 8, "YC-SERVICE-FINANCE": 4, "YC-SERVICE-INSURANCE": 4, "YC-GRASSLAND-RESOURCE": 3, "YC-CXPT-BREEDING-BASE": 28, "YC-CXPT-FORAGE-BASE": 5, "YC-CXPT-BREEDING-STOCK-BASE": 1, "YC-CXPT-GRASS-SEED-BASE": 1, "YC-CXPT-OTHER-BASE": 11 } }, "sourceSheets": [ { "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sheetName": "防灾减灾饲草储备库", "categoryCode": "YC-DISASTER-FORAGE-STORAGE", "rawRowCount": 7, "keptFields": [ "主体全称", "上级单位", "所属乡镇", "详细地址", "经度", "纬度", "运营状态", "总库容 (吨)", "储备草种", "发放次数" ], "excludedFields": [] }, { "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sheetName": "标准化养殖基地", "categoryCode": "YC-BREEDING-BASE", "rawRowCount": 19, "keptFields": [ "主体全称", "运营单位", "经纬度", "建设 / 升级年份", "详细地址", "运营状态", "设计存栏量 (头)", "年出栏量 (头)", "监控设备情况" ], "excludedFields": [ "备注", "Unnamed:10" ] }, { "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sheetName": "育种场", "categoryCode": "YC-BREEDING-STOCK", "rawRowCount": 4, "keptFields": [ "主体全称", "简称", "运营单位", "建设 / 升级年份", "详细地址", "经纬度", "运营状态", "育种等级", "核心基础母牛群 (头)", "种公牛数量 (头)", "年提供良种犊牛 (头)", "主要育种方向", "基本介绍", "监控设备情况" ], "excludedFields": [] }, { "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sheetName": "种草饲草基地", "categoryCode": "YC-FORAGE-BASE", "rawRowCount": 16, "keptFields": [ "基地全称", "所属乡镇", "运营状态", "种植面积 (亩)", "主要草种", "年产量 (吨)", "经纬度" ], "excludedFields": [ "Unnamed:7", "Unnamed:8", "Unnamed:9" ] }, { "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sheetName": "加工厂", "categoryCode": "YC-PROCESSING-PLANT", "rawRowCount": 9, "keptFields": [ "企业全称", "详细地址", "经度", "纬度", "运营状态", "SC 许可证号", "设计日处理鲜奶能力 (吨)", "年加工鲜奶总量 (吨)", "主要产品", "奶源来源", "年产值 (万元)", "带动本地农户数", "原料奶冷藏能力 (吨)", "产品销售范围", "负责人", "联系电话" ], "excludedFields": [ "备注" ] }, { "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sheetName": "屠宰厂", "categoryCode": "YC-SLAUGHTERHOUSE", "rawRowCount": 7, "keptFields": [ "企业全称", "定点屠宰证号", "详细地址", "经度", "纬度", "运营状态", "设计日屠宰能力 (头)", "年屠宰总量 (头)", "冷冻库容量 (吨)", "环保达标情况", "年总产值 (万元)", "负责人", "联系电话" ], "excludedFields": [ "备注", "Unnamed:14", "Unnamed:15", "Unnamed:16", "Unnamed:17", "Unnamed:18", "Unnamed:19", "Unnamed:20", "Unnamed:21", "Unnamed:22", "Unnamed:23", "Unnamed:24", "Unnamed:25", "Unnamed:26", "Unnamed:27", "Unnamed:28", "Unnamed:29", "Unnamed:30", "Unnamed:31", "Unnamed:32", "Unnamed:33", "Unnamed:34", "Unnamed:35" ] }, { "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sheetName": "农机装备", "categoryCode": "YC-FARM-EQUIPMENT", "rawRowCount": 2, "keptFields": [ "主体全称", "简称", "所属乡镇", "经度", "纬度", "运营状态", "组织形式", "主要服务项目", "主要设备类型", "设备总台数 (台)", "可出租设备数 (台)", "服务覆盖乡镇数", "收费标准", "服务热线", "年产值 (万元)", "负责人", "联系电话" ], "excludedFields": [ "备注" ] }, { "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sheetName": "疫病防控", "categoryCode": "YC-DISEASE-CONTROL", "rawRowCount": 3, "keptFields": [ "主体全称", "详细地址", "经度", "纬度", "运营状态", "服务覆盖乡镇数", "主要服务内容", "持证兽医数", "是否 24 小时应急", "联系电话" ], "excludedFields": [ "备注" ] }, { "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sheetName": "技术培训", "categoryCode": "YC-TECH-TRAINING", "rawRowCount": 8, "keptFields": [ "序号", "机构全称", "机构类型", "所属乡镇", "红原办公地址", "培训等级", "年培训场次", "年培训人次", "单次最大容纳人数", "主要培训内容", "核心专家团队", "最近培训时间", "下期培训计划(时间 + 内容)", "联系人", "联系电话" ], "excludedFields": [ "备注" ] }, { "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sheetName": "金融服务网点", "categoryCode": "YC-SERVICE-FINANCE", "rawRowCount": 4, "keptFields": [ "序号", "银行全称", "简称", "红原支行地址", "经度", "纬度", "服务覆盖乡镇数", "主要贷款产品(可多选)", "最高单户贷款额度 (万元)", "最长贷款期限 (年)", "年利率范围", "还款方式", "联系人", "信贷联系电话" ], "excludedFields": [ "备注" ] }, { "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sheetName": "保险服务网点", "categoryCode": "YC-SERVICE-INSURANCE", "rawRowCount": 4, "keptFields": [ "序号", "公司全称", "简称", "红原支公司地址", "经度", "纬度", "服务覆盖乡镇数", "主要承保险种(可多选)", "24 小时理赔热线", "2025 年承保牦牛数量 (头)", "平均理赔时效 (天)", "最高单头赔付金额 (元)", "联系人", "联系电话" ], "excludedFields": [ "备注" ] }, { "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sheetName": "林草局数据", "categoryCode": "YC-GRASSLAND-RESOURCE", "rawRowCount": 4, "keptFields": [ "天然草原改良", "人工种草", "鼠虫害防治", "全县草原面积", "基本草原面积", "一般草原面积", "湿地面积", "灌木林面积", "围栏封育面积", "生态奖补面积,到每个村" ], "excludedFields": [ "Unnamed:0", "Unnamed:11", "备注" ] }, { "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sheetName": "Sheet1", "categoryCode": "YC-FAMILY-PASTURE", "rawRowCount": 82, "keptFields": [ "序号", "乡镇", "点位", "户主", "暖棚经纬度", "管理用房经纬度", "坐落" ], "excludedFields": [ "身份证", "备注" ] }, { "sourceFile": "cxpt PostgreSQL database", "sheetName": "t_base_land", "categoryCode": "YC-CXPT-*", "rawRowCount": 46, "keptFields": [ "id", "name", "type", "area_code", "address", "scale", "acreage", "leader", "tel", "leader_phone", "geom centroid" ], "excludedFields": [ "description", "imgs", "remarks" ] } ], "categories": [ { "categoryCode": "YC-FAMILY-PASTURE", "categoryName": "家庭生态牧场", "industryStage": "family-pasture", "sources": [ "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx:Sheet1" ], "itemCount": 82, "items": [ { "id": "YC-FAMILY-PASTURE-001", "name": "安曲镇夺龙村1号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "安曲镇", "village": "夺龙村", "pointName": "1号点", "locations": { "greenhouse": { "longitude": 102.45047712, "latitude": 32.61360272 }, "managementHouse": { "longitude": 102.45082378, "latitude": 32.6136657 } }, "contacts": { "owner": "拿木甲" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-002", "name": "安曲镇夺龙村2号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "安曲镇", "village": "夺龙村", "pointName": "2号点", "locations": { "greenhouse": { "longitude": 102.34691526, "latitude": 32.61425696 }, "managementHouse": { "longitude": 102.34697849, "latitude": 32.61455374 } }, "contacts": { "owner": "桑我甲" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-003", "name": "安曲镇夺龙村3号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "安曲镇", "village": "夺龙村", "pointName": "3号点", "locations": { "greenhouse": { "longitude": 102.37805264, "latitude": 32.5692703 }, "managementHouse": { "longitude": null, "latitude": null } }, "contacts": { "owner": "泽朗罗日" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-004", "name": "安曲镇哈拉玛村4号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "安曲镇", "village": "哈拉玛村", "pointName": "4号点", "locations": { "greenhouse": { "longitude": 102.31781652, "latitude": 32.67023409 }, "managementHouse": { "longitude": 102.318167, "latitude": 32.67018808 } }, "contacts": { "owner": "德清旺姆" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-005", "name": "安曲镇下哈拉玛村5号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "安曲镇", "village": "下哈拉玛村", "pointName": "5号点", "locations": { "greenhouse": { "longitude": 102.43198641, "latitude": 32.73093298 }, "managementHouse": { "longitude": 102.43182146, "latitude": 32.73162602 } }, "contacts": {}, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-006", "name": "安曲镇下哈拉玛村6号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "安曲镇", "village": "下哈拉玛村", "pointName": "6号点", "locations": { "greenhouse": { "longitude": 102.42615548, "latitude": 32.80562386 }, "managementHouse": { "longitude": null, "latitude": null } }, "contacts": {}, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-007", "name": "安曲镇下哈拉玛村7号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "安曲镇", "village": "下哈拉玛村", "pointName": "7号点", "locations": { "greenhouse": { "longitude": 102.43325488, "latitude": 32.76769519 }, "managementHouse": { "longitude": 102.43310351, "latitude": 32.76736081 } }, "contacts": { "owner": "尺真" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-008", "name": "龙日镇龙日坝村8号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "龙日镇", "village": "龙日坝村", "pointName": "8号点", "locations": { "greenhouse": { "longitude": 102.34174988, "latitude": 32.51793446 }, "managementHouse": { "longitude": 102.34150772, "latitude": 32.51809855 } }, "contacts": { "owner": "扎花甲初" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-009", "name": "龙日镇龙日坝村9号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "龙日镇", "village": "龙日坝村", "pointName": "9号点", "locations": { "greenhouse": { "longitude": 102.39106026, "latitude": 32.41522425 }, "managementHouse": { "longitude": 102.39163622, "latitude": 32.41535563 } }, "contacts": { "owner": "刘永秀" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-010", "name": "龙日镇龙日坝村10号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "龙日镇", "village": "龙日坝村", "pointName": "10号点", "locations": { "greenhouse": { "longitude": 102.36445049, "latitude": 32.46856208 }, "managementHouse": { "longitude": 102.36479551, "latitude": 32.4682826 } }, "contacts": { "owner": "尼西甲" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-011", "name": "龙日镇龙日坝村11号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "龙日镇", "village": "龙日坝村", "pointName": "11号点", "locations": { "greenhouse": { "longitude": 102.36543866, "latitude": 32.46986063 }, "managementHouse": { "longitude": 102.36574919, "latitude": 32.46984022 } }, "contacts": { "owner": "尕尔穷" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-012", "name": "龙日镇壤噶夺玛村12号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "龙日镇", "village": "壤噶夺玛村", "pointName": "12号点", "locations": { "greenhouse": { "longitude": 102.47723794, "latitude": 32.45980785 }, "managementHouse": { "longitude": 102.47729207, "latitude": 32.45943812 } }, "contacts": { "owner": "拉玛扎西" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-013", "name": "龙日镇龙日坝村12号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "龙日镇", "village": "龙日坝村", "pointName": "12号点", "locations": { "greenhouse": { "longitude": null, "latitude": null }, "managementHouse": { "longitude": null, "latitude": null } }, "contacts": {}, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-014", "name": "龙日镇格玛村13号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "龙日镇", "village": "格玛村", "pointName": "13号点", "locations": { "greenhouse": { "longitude": 102.57181204, "latitude": 32.57674824 }, "managementHouse": { "longitude": 102.57153908, "latitude": 32.57642249 } }, "contacts": { "owner": "索迫" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-015", "name": "龙日镇格玛村14号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "龙日镇", "village": "格玛村", "pointName": "14号点", "locations": { "greenhouse": { "longitude": 102.56396058, "latitude": 32.5657272 }, "managementHouse": { "longitude": 102.56368441, "latitude": 32.56554011 } }, "contacts": { "owner": "让白" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-016", "name": "龙日镇格玛村15号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "龙日镇", "village": "格玛村", "pointName": "15号点", "locations": { "greenhouse": { "longitude": 102.47353743, "latitude": 32.53889572 }, "managementHouse": { "longitude": 102.47340175, "latitude": 32.5391063 } }, "contacts": { "owner": "罗周" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-017", "name": "龙日镇格玛村16号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "龙日镇", "village": "格玛村", "pointName": "16号点", "locations": { "greenhouse": { "longitude": 102.55268505, "latitude": 32.54389452 }, "managementHouse": { "longitude": 102.55244875, "latitude": 32.543925 } }, "contacts": { "owner": "贡波" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-018", "name": "龙日镇格玛村17号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "龙日镇", "village": "格玛村", "pointName": "17号点", "locations": { "greenhouse": { "longitude": 102.55699444, "latitude": 32.51600578 }, "managementHouse": { "longitude": 102.55661126, "latitude": 32.51593726 } }, "contacts": { "owner": "阿新" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-019", "name": "龙日镇壤噶夺玛村18号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "龙日镇", "village": "壤噶夺玛村", "pointName": "18号点", "locations": { "greenhouse": { "longitude": 102.45743039, "latitude": 32.50039193 }, "managementHouse": { "longitude": 102.45747569, "latitude": 32.4997112 } }, "contacts": { "owner": "南木青" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-020", "name": "龙日镇壤噶夺玛村19号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "龙日镇", "village": "壤噶夺玛村", "pointName": "19号点", "locations": { "greenhouse": { "longitude": 102.51569341, "latitude": 32.46983718 }, "managementHouse": { "longitude": 102.51611367, "latitude": 32.46971999 } }, "contacts": { "owner": "桑白" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-021", "name": "龙日镇壤噶夺玛村20号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "龙日镇", "village": "壤噶夺玛村", "pointName": "20号点", "locations": { "greenhouse": { "longitude": 102.44978266, "latitude": 32.53944862 }, "managementHouse": { "longitude": 102.44969589, "latitude": 32.53923831 } }, "contacts": { "owner": "尼玛" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-022", "name": "龙日镇壤噶夺玛村21号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "龙日镇", "village": "壤噶夺玛村", "pointName": "21号点", "locations": { "greenhouse": { "longitude": 102.47179278, "latitude": 32.40707185 }, "managementHouse": { "longitude": 102.47150078, "latitude": 32.40722678 } }, "contacts": { "owner": "求扎" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-023", "name": "龙日镇壤噶夺玛村22号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "龙日镇", "village": "壤噶夺玛村", "pointName": "22号点", "locations": { "greenhouse": { "longitude": 102.49088427, "latitude": 32.4950118 }, "managementHouse": { "longitude": 102.49071333, "latitude": 32.49521145 } }, "contacts": { "owner": "俄白" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-024", "name": "邛溪镇玛萨村23号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "邛溪镇", "village": "玛萨村", "pointName": "23号点", "locations": { "greenhouse": { "longitude": 102.63389415, "latitude": 32.77017909 }, "managementHouse": { "longitude": 102.6341466, "latitude": 32.77015436 } }, "contacts": { "owner": "杨中泽仁" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-025", "name": "邛溪镇玛萨村24号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "邛溪镇", "village": "玛萨村", "pointName": "24号点", "locations": { "greenhouse": { "longitude": 102.55578247, "latitude": 32.71974519 }, "managementHouse": { "longitude": 102.55496732, "latitude": 32.71987605 } }, "contacts": { "owner": "西泽" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-026", "name": "邛溪镇玛萨村25号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "邛溪镇", "village": "玛萨村", "pointName": "25号点", "locations": { "greenhouse": { "longitude": 102.5948059, "latitude": 32.73476878 }, "managementHouse": { "longitude": 102.59523521, "latitude": 32.73509347 } }, "contacts": { "owner": "阿尔布基" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-027", "name": "邛溪镇玛萨村26号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "邛溪镇", "village": "玛萨村", "pointName": "26号点", "locations": { "greenhouse": { "longitude": 102.63704412, "latitude": 32.8134533 }, "managementHouse": { "longitude": 102.63713205, "latitude": 32.81316056 } }, "contacts": { "owner": "兰卡" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-028", "name": "邛溪镇达格龙村27号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "邛溪镇", "village": "达格龙村", "pointName": "27号点", "locations": { "greenhouse": { "longitude": 102.50979432, "latitude": 32.80879562 }, "managementHouse": { "longitude": null, "latitude": null } }, "contacts": { "owner": "华扎" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-029", "name": "邛溪镇达格龙村28号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "邛溪镇", "village": "达格龙村", "pointName": "28号点", "locations": { "greenhouse": { "longitude": 102.46200958, "latitude": 32.954686 }, "managementHouse": { "longitude": 102.46173752, "latitude": 32.95518424 } }, "contacts": { "owner": "勒西" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-030", "name": "邛溪镇达格龙村29号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "邛溪镇", "village": "达格龙村", "pointName": "29号点", "locations": { "greenhouse": { "longitude": 102.70045355, "latitude": 32.72249951 }, "managementHouse": { "longitude": 102.70020081, "latitude": 32.72191648 } }, "contacts": { "owner": "夺基泽单" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-031", "name": "邛溪镇麻色阳德村30号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "邛溪镇", "village": "麻色阳德村", "pointName": "30号点", "locations": { "greenhouse": { "longitude": 102.5118488, "latitude": 32.93352001 }, "managementHouse": { "longitude": 102.51242484, "latitude": 32.93367637 } }, "contacts": { "owner": "卡卓措" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-032", "name": "邛溪镇麻色阳德村31号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "邛溪镇", "village": "麻色阳德村", "pointName": "31号点", "locations": { "greenhouse": { "longitude": 102.52277514, "latitude": 32.95178758 }, "managementHouse": { "longitude": 102.52268299, "latitude": 32.95119696 } }, "contacts": { "owner": "甲花若巴" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-033", "name": "邛溪镇麻色阳德村32号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "邛溪镇", "village": "麻色阳德村", "pointName": "32号点", "locations": { "greenhouse": { "longitude": 102.54154441, "latitude": 32.97243338 }, "managementHouse": { "longitude": 102.54114597, "latitude": 32.97254854 } }, "contacts": { "owner": "布穷" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-034", "name": "邛溪镇热坤村33号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "邛溪镇", "village": "热坤村", "pointName": "33号点", "locations": { "greenhouse": { "longitude": 102.68837196, "latitude": 32.90189172 }, "managementHouse": { "longitude": 102.68834131, "latitude": 32.90209342 } }, "contacts": { "owner": "丹姆初" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-035", "name": "邛溪镇热坤村34号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "邛溪镇", "village": "热坤村", "pointName": "34号点", "locations": { "greenhouse": { "longitude": 102.66431407, "latitude": 32.89220187 }, "managementHouse": { "longitude": 102.6640831, "latitude": 32.89217135 } }, "contacts": { "owner": "塔尔洼" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-036", "name": "邛溪镇热坤村35号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "邛溪镇", "village": "热坤村", "pointName": "35号点", "locations": { "greenhouse": { "longitude": 102.57510429, "latitude": 32.8117671 }, "managementHouse": { "longitude": 102.57449573, "latitude": 32.81193451 } }, "contacts": { "owner": "相木秋" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-037", "name": "邛溪镇热多村36号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "邛溪镇", "village": "热多村", "pointName": "36号点", "locations": { "greenhouse": { "longitude": 102.60036425, "latitude": 32.96680279 }, "managementHouse": { "longitude": 102.59972676, "latitude": 32.96673649 } }, "contacts": { "owner": "索科" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-038", "name": "邛溪镇热多村37号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "邛溪镇", "village": "热多村", "pointName": "37号点", "locations": { "greenhouse": { "longitude": 102.5418407, "latitude": 32.92737961 }, "managementHouse": { "longitude": 102.54097207, "latitude": 32.92694872 } }, "contacts": { "owner": "容中黑周" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-039", "name": "邛溪镇热多村38号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "邛溪镇", "village": "热多村", "pointName": "38号点", "locations": { "greenhouse": { "longitude": 102.58801957, "latitude": 32.88408206 }, "managementHouse": { "longitude": 102.58826677, "latitude": 32.88476392 } }, "contacts": { "owner": "桑都" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-040", "name": "查尔玛乡什布龙村39号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "查尔玛乡", "village": "什布龙村", "pointName": "39号点", "locations": { "greenhouse": { "longitude": 102.07972827, "latitude": 32.47333689 }, "managementHouse": { "longitude": 102.07991934, "latitude": 32.47311379 } }, "contacts": { "owner": "茫兴" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-041", "name": "查尔玛乡什布龙村40号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "查尔玛乡", "village": "什布龙村", "pointName": "40号点", "locations": { "greenhouse": { "longitude": 102.02905511, "latitude": 32.43749287 }, "managementHouse": { "longitude": 102.02913011, "latitude": 32.43776256 } }, "contacts": { "owner": "得基卓玛" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-042", "name": "查尔玛乡什布龙村41号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "查尔玛乡", "village": "什布龙村", "pointName": "41号点", "locations": { "greenhouse": { "longitude": 102.02290624, "latitude": 32.46043784 }, "managementHouse": { "longitude": 102.02292951, "latitude": 32.46024019 } }, "contacts": { "owner": "俄玛" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-043", "name": "查尔玛乡什布龙村42号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "查尔玛乡", "village": "什布龙村", "pointName": "42号点", "locations": { "greenhouse": { "longitude": null, "latitude": null }, "managementHouse": { "longitude": null, "latitude": null } }, "contacts": { "owner": "能周" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-044", "name": "查尔玛乡查龙村43号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "查尔玛乡", "village": "查龙村", "pointName": "43号点", "locations": { "greenhouse": { "longitude": 101.9504197, "latitude": 32.41285591 }, "managementHouse": { "longitude": null, "latitude": null } }, "contacts": { "owner": "桑都措" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-045", "name": "查尔玛乡查龙村44号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "查尔玛乡", "village": "查龙村", "pointName": "44号点", "locations": { "greenhouse": { "longitude": 101.93515169, "latitude": 32.42601524 }, "managementHouse": { "longitude": 101.93533172, "latitude": 32.42625182 } }, "contacts": { "owner": "求沙" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-046", "name": "查尔玛乡查龙村45号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "查尔玛乡", "village": "查龙村", "pointName": "45号点", "locations": { "greenhouse": { "longitude": 101.95330639, "latitude": 32.50669919 }, "managementHouse": { "longitude": 101.95319961, "latitude": 32.50653773 } }, "contacts": { "owner": "旦渣" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-047", "name": "查尔玛乡达尔龙村46号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "查尔玛乡", "village": "达尔龙村", "pointName": "46号点", "locations": { "greenhouse": { "longitude": 102.13292789, "latitude": 32.44464674 }, "managementHouse": { "longitude": 102.13310816, "latitude": 32.44495604 } }, "contacts": { "owner": "达玛王" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-048", "name": "查尔玛乡达尔龙村47号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "查尔玛乡", "village": "达尔龙村", "pointName": "47号点", "locations": { "greenhouse": { "longitude": 102.1000073, "latitude": 32.52950127 }, "managementHouse": { "longitude": 102.10031343, "latitude": 32.52946984 } }, "contacts": { "owner": "吉措" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-049", "name": "查尔玛乡达尔龙村48号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "查尔玛乡", "village": "达尔龙村", "pointName": "48号点", "locations": { "greenhouse": { "longitude": 102.11832613, "latitude": 32.54201141 }, "managementHouse": { "longitude": 102.1186522, "latitude": 32.54205879 } }, "contacts": { "owner": "然让" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-050", "name": "瓦切镇德香村49号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "瓦切镇", "village": "德香村", "pointName": "49号点", "locations": { "greenhouse": { "longitude": 102.59826937, "latitude": 33.15242954 }, "managementHouse": { "longitude": 102.59817262, "latitude": 33.15279516 } }, "contacts": { "owner": "索郎益西" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-051", "name": "瓦切镇德香村50号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "瓦切镇", "village": "德香村", "pointName": "50号点", "locations": { "greenhouse": { "longitude": 102.58881798, "latitude": 33.13491038 }, "managementHouse": { "longitude": null, "latitude": null } }, "contacts": { "owner": "阿布洛" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-052", "name": "瓦切镇德香村51号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "瓦切镇", "village": "德香村", "pointName": "51号点", "locations": { "greenhouse": { "longitude": 102.62447024, "latitude": 33.14756405 }, "managementHouse": { "longitude": null, "latitude": null } }, "contacts": { "owner": "甲花扎巴" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-053", "name": "瓦切镇唐日村52号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "瓦切镇", "village": "唐日村", "pointName": "52号点", "locations": { "greenhouse": { "longitude": 102.60249352, "latitude": 33.06252399 }, "managementHouse": { "longitude": 102.60287876, "latitude": 33.06269322 } }, "contacts": { "owner": "桑阿" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-054", "name": "瓦切镇唐日村53号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "瓦切镇", "village": "唐日村", "pointName": "53号点", "locations": { "greenhouse": { "longitude": 102.6195876, "latitude": 33.07660844 }, "managementHouse": { "longitude": 102.62023015, "latitude": 33.07672504 } }, "contacts": { "owner": "泽旺卓玛" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-055", "name": "瓦切镇唐日村54号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "瓦切镇", "village": "唐日村", "pointName": "54号点", "locations": { "greenhouse": { "longitude": 102.65878993, "latitude": 33.0443906 }, "managementHouse": { "longitude": 102.65907881, "latitude": 33.04426714 } }, "contacts": { "owner": "达多杰" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-056", "name": "瓦切镇曲登塘社区55号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "瓦切镇", "village": "曲登塘社区", "pointName": "55号点", "locations": { "greenhouse": { "longitude": 102.60968583, "latitude": 33.05324231 }, "managementHouse": { "longitude": 102.60900684, "latitude": 33.05296943 } }, "contacts": { "owner": "甲花" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-057", "name": "瓦切镇达峨村56号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "瓦切镇", "village": "达峨村", "pointName": "56号点", "locations": { "greenhouse": { "longitude": 102.60365851, "latitude": 33.08085512 }, "managementHouse": { "longitude": 102.60388795, "latitude": 33.080497 } }, "contacts": { "owner": "普尔娃他" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-058", "name": "瓦切镇达峨村57号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "瓦切镇", "village": "达峨村", "pointName": "57号点", "locations": { "greenhouse": { "longitude": 102.60526934, "latitude": 33.03662516 }, "managementHouse": { "longitude": 102.60558227, "latitude": 33.03649561 } }, "contacts": { "owner": "腊夺" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-059", "name": "瓦切镇达峨村58号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "瓦切镇", "village": "达峨村", "pointName": "58号点", "locations": { "greenhouse": { "longitude": 102.68739311, "latitude": 33.0149217 }, "managementHouse": { "longitude": 102.68677242, "latitude": 33.01494028 } }, "contacts": { "owner": "拉姆姐" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-060", "name": "瓦切镇日干村59号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "瓦切镇", "village": "日干村", "pointName": "59号点", "locations": { "greenhouse": { "longitude": 102.75821556, "latitude": 33.05186118 }, "managementHouse": { "longitude": 102.75797357, "latitude": 33.05247976 } }, "contacts": { "owner": "尔金姐" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-061", "name": "瓦切镇日干村60号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "瓦切镇", "village": "日干村", "pointName": "60号点", "locations": { "greenhouse": { "longitude": 102.72188962, "latitude": 33.09419876 }, "managementHouse": { "longitude": 102.72144107, "latitude": 33.09435508 } }, "contacts": { "owner": "果·尼科" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-062", "name": "瓦切镇日干村61号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "瓦切镇", "village": "日干村", "pointName": "61号点", "locations": { "greenhouse": { "longitude": 102.61834278, "latitude": 33.16780533 }, "managementHouse": { "longitude": null, "latitude": null } }, "contacts": { "owner": "苏拉王" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-063", "name": "瓦切镇色永村62号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "瓦切镇", "village": "色永村", "pointName": "62号点", "locations": { "greenhouse": { "longitude": 102.80909925, "latitude": 33.03857555 }, "managementHouse": { "longitude": 102.80956551, "latitude": 33.03877017 } }, "contacts": { "owner": "桑阿" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-064", "name": "瓦切镇色永村63号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "瓦切镇", "village": "色永村", "pointName": "63号点", "locations": { "greenhouse": { "longitude": 102.82561727, "latitude": 33.03236022 }, "managementHouse": { "longitude": 102.82588257, "latitude": 33.03170874 } }, "contacts": { "owner": "卓玛娜姆" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-065", "name": "瓦切镇色永村64号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "瓦切镇", "village": "色永村", "pointName": "64号点", "locations": { "greenhouse": { "longitude": 102.83285089, "latitude": 33.02300106 }, "managementHouse": { "longitude": 102.83282822, "latitude": 33.02336202 } }, "contacts": { "owner": "麦朵拉姆" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-066", "name": "江茸乡江宫玛村65号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "江茸乡", "village": "江宫玛村", "pointName": "65号点", "locations": { "greenhouse": { "longitude": 102.20070669, "latitude": 32.42224384 }, "managementHouse": { "longitude": 102.19990732, "latitude": 32.42229086 } }, "contacts": { "owner": "支多娜姆" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-067", "name": "江茸乡江宫玛村66号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "江茸乡", "village": "江宫玛村", "pointName": "66号点", "locations": { "greenhouse": { "longitude": 102.20320835, "latitude": 32.43908196 }, "managementHouse": { "longitude": 102.20292182, "latitude": 32.43868925 } }, "contacts": { "owner": "俄波" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-068", "name": "江茸乡江宫玛村67号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "江茸乡", "village": "江宫玛村", "pointName": "67号点", "locations": { "greenhouse": { "longitude": 102.22170157, "latitude": 32.47727277 }, "managementHouse": { "longitude": 102.2217086, "latitude": 32.4769641 } }, "contacts": { "owner": "格日" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-069", "name": "江茸乡茸日玛村68号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "江茸乡", "village": "茸日玛村", "pointName": "68号点", "locations": { "greenhouse": { "longitude": 102.22028091, "latitude": 32.50928539 }, "managementHouse": { "longitude": 102.21973813, "latitude": 32.50918264 } }, "contacts": { "owner": "更让尼玛" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-070", "name": "江茸乡茸日玛村69号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "江茸乡", "village": "茸日玛村", "pointName": "69号点", "locations": { "greenhouse": { "longitude": 102.22815984, "latitude": 32.51915025 }, "managementHouse": { "longitude": 102.22810898, "latitude": 32.51942 } }, "contacts": { "owner": "罗布让" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-071", "name": "江茸乡茸日玛村70号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "江茸乡", "village": "茸日玛村", "pointName": "70号点", "locations": { "greenhouse": { "longitude": 102.22913952, "latitude": 32.50866903 }, "managementHouse": { "longitude": 102.22938935, "latitude": 32.50833256 } }, "contacts": { "owner": "王甲" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-072", "name": "江茸乡茸日玛村71号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "江茸乡", "village": "茸日玛村", "pointName": "71号点", "locations": { "greenhouse": { "longitude": 102.23962706, "latitude": 32.48083944 }, "managementHouse": { "longitude": 102.23990168, "latitude": 32.48078901 } }, "contacts": { "owner": "占波" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-073", "name": "刷经寺镇壤口村72号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "刷经寺镇", "village": "壤口村", "pointName": "72号点", "locations": { "greenhouse": { "longitude": 102.61148498, "latitude": 32.08914501 }, "managementHouse": { "longitude": 102.61169021, "latitude": 32.08932106 } }, "contacts": { "owner": "罗日" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-074", "name": "刷经寺镇壤口村73号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "刷经寺镇", "village": "壤口村", "pointName": "73号点", "locations": { "greenhouse": { "longitude": 102.5699463, "latitude": 32.08635954 }, "managementHouse": { "longitude": 102.56962246, "latitude": 32.08623818 } }, "contacts": { "owner": "甲花夺基" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-075", "name": "刷经寺镇壤口村74号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "刷经寺镇", "village": "壤口村", "pointName": "74号点", "locations": { "greenhouse": { "longitude": 102.48249928, "latitude": 32.20799391 }, "managementHouse": { "longitude": 102.48240109, "latitude": 32.20777413 } }, "contacts": { "owner": "供木丹" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-076", "name": "刷经寺镇壤口村75号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "刷经寺镇", "village": "壤口村", "pointName": "75号点", "locations": { "greenhouse": { "longitude": 102.55912658, "latitude": 32.38683384 }, "managementHouse": { "longitude": 102.5588633, "latitude": 32.38692708 } }, "contacts": { "owner": "华尔白" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-077", "name": "阿木乡峨扎村76号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "阿木乡", "village": "峨扎村", "pointName": "76号点", "locations": { "greenhouse": { "longitude": 102.67883757, "latitude": 32.93485478 }, "managementHouse": { "longitude": 102.67850122, "latitude": 32.93495695 } }, "contacts": { "owner": "谢尔拉姆" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-078", "name": "阿木乡峨扎村77号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "阿木乡", "village": "峨扎村", "pointName": "77号点", "locations": { "greenhouse": { "longitude": 102.8392576, "latitude": 32.77165891 }, "managementHouse": { "longitude": 102.83999152, "latitude": 32.77133407 } }, "contacts": { "owner": "若巴" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-079", "name": "阿木乡峨扎村78号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "阿木乡", "village": "峨扎村", "pointName": "78号点", "locations": { "greenhouse": { "longitude": 102.78948161, "latitude": 32.79853105 }, "managementHouse": { "longitude": 102.79027109, "latitude": 32.79883402 } }, "contacts": { "owner": "扑尔夺" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-080", "name": "阿木乡卡口村79号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "阿木乡", "village": "卡口村", "pointName": "79号点", "locations": { "greenhouse": { "longitude": 102.83426146, "latitude": 32.86765306 }, "managementHouse": { "longitude": 102.83380011, "latitude": 32.86722605 } }, "contacts": { "owner": "甲基" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-081", "name": "阿木乡卡口村80号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "阿木乡", "village": "卡口村", "pointName": "80号点", "locations": { "greenhouse": { "longitude": 102.83237405, "latitude": 32.82819561 }, "managementHouse": { "longitude": 102.83189751, "latitude": 32.82836028 } }, "contacts": { "owner": "尕得" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } }, { "id": "YC-FAMILY-PASTURE-082", "name": "阿木乡卡口村81号点家庭牧场", "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", "sourceSheet": "Sheet1", "town": "阿木乡", "village": "卡口村", "pointName": "81号点", "locations": { "greenhouse": { "longitude": 102.7785588, "latitude": 32.72665098 }, "managementHouse": { "longitude": 102.77903691, "latitude": 32.72696452 } }, "contacts": { "owner": "西夏唐美" }, "metrics": {}, "attributes": { "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" } } ] }, { "categoryCode": "YC-BREEDING-BASE", "categoryName": "标准化养殖基地", "industryStage": "scale-breeding", "sources": [ "详细数据清单-归档(1).xlsx:标准化养殖基地" ], "itemCount": 19, "items": [ { "id": "YC-BREEDING-BASE-001", "name": "阿木乡卡口村标准化养殖基地", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "标准化养殖基地", "town": null, "address": "阿木乡卡口乡", "status": "正常运营", "longitude": 102.63473007, "latitude": 32.92227975, "contacts": {}, "metrics": { "设计存栏量 (头)": 429, "年出栏量 (头)": 35 }, "attributes": { "运营单位": "阿木乡卡口村村集体经济", "建设 / 升级年份": "2022年", "监控设备情况": "已接入" } }, { "id": "YC-BREEDING-BASE-002", "name": "瓦切唐日标准化养殖基地", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "标准化养殖基地", "town": null, "address": "唐日村", "status": "正常运营", "longitude": 102.6175964, "latitude": 33.10971976, "contacts": {}, "metrics": { "设计存栏量 (头)": 250 }, "attributes": { "运营单位": "瓦切镇唐日村村集体经济", "建设 / 升级年份": "2023年", "监控设备情况": "已接入" } }, { "id": "YC-BREEDING-BASE-003", "name": "瓦切镇标准化色永村养殖基地", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "标准化养殖基地", "town": null, "address": "瓦切镇色永村", "status": "正常运营", "longitude": 102.62460529, "latitude": 33.13967122, "contacts": {}, "metrics": { "设计存栏量 (头)": 600, "年出栏量 (头)": 1300 }, "attributes": { "运营单位": "红原县高原犇犇农副产品有限公司", "建设 / 升级年份": "2023年", "监控设备情况": "2个在线,2个离线。电路在维修" } }, { "id": "YC-BREEDING-BASE-004", "name": "瓦切镇达俄村标准化养殖基地", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "标准化养殖基地", "town": null, "address": "瓦切镇达俄村", "status": "正常运营", "longitude": 102.61994774, "latitude": 33.07151208, "contacts": {}, "metrics": { "设计存栏量 (头)": 500, "年出栏量 (头)": 90 }, "attributes": { "运营单位": "红原县雅卓阳养殖农民专业合作社", "建设 / 升级年份": "2024年", "监控设备情况": "3个设备离线,电线被施工方挖断了" } }, { "id": "YC-BREEDING-BASE-005", "name": "安曲牦牛扩繁基地", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "标准化养殖基地", "town": null, "address": "夺龙村", "status": "正常运营", "longitude": 102.32214229, "latitude": 32.64253259, "contacts": {}, "metrics": { "设计存栏量 (头)": 200 }, "attributes": { "运营单位": "红原县雅克农业开发有限责任公司", "建设 / 升级年份": "2022年", "监控设备情况": "已接入" } }, { "id": "YC-BREEDING-BASE-006", "name": "安曲标准化养殖基地", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "标准化养殖基地", "town": null, "address": "夺龙村", "status": "正常运营", "longitude": 102.32390544, "latitude": 32.63888471, "contacts": {}, "metrics": { "设计存栏量 (头)": 600, "年出栏量 (头)": 1300 }, "attributes": { "运营单位": "红原县高原犇犇农副产品有限公司", "建设 / 升级年份": "2022年", "监控设备情况": "已接入" } }, { "id": "YC-BREEDING-BASE-007", "name": "安曲下哈拉玛标准化养殖基地", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "标准化养殖基地", "town": null, "address": "安曲下哈拉玛村", "status": "正常运营", "longitude": 102.42837241, "latitude": 32.7425359, "contacts": {}, "metrics": { "设计存栏量 (头)": 100, "年出栏量 (头)": 30 }, "attributes": { "运营单位": "安曲下哈拉玛村村集体经济", "建设 / 升级年份": "2023年", "监控设备情况": "已接入" } }, { "id": "YC-BREEDING-BASE-008", "name": "龙日坝标准化养殖基地 (2023)", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "标准化养殖基地", "town": null, "address": "龙日坝村", "status": "正常运营", "longitude": 102.38394817, "latitude": 32.44966887, "contacts": {}, "metrics": { "设计存栏量 (头)": 600, "年出栏量 (头)": 1400 }, "attributes": { "运营单位": "红原县雅克农业开发有限责任公司", "建设 / 升级年份": 2023, "监控设备情况": "等他们要到设备账号,然后再接入平台。" } }, { "id": "YC-BREEDING-BASE-009", "name": "龙日坝标准化养殖基地 (2025)", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "标准化养殖基地", "town": null, "address": "龙日坝村", "status": "正常运营", "longitude": 102.38126323, "latitude": 32.44955785, "contacts": {}, "metrics": { "设计存栏量 (头)": 3000, "年出栏量 (头)": 11000 }, "attributes": { "运营单位": "红原县高原犇犇农副产品有限公司", "建设 / 升级年份": 2025, "监控设备情况": "预计月底完成设备安装,完成后再接入平台。" } }, { "id": "YC-BREEDING-BASE-010", "name": "刷经寺嚷口标准化养殖基地", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "标准化养殖基地", "town": null, "address": "嚷口村", "status": "正常运营", "longitude": 102.48723433, "latitude": 32.20562585, "contacts": {}, "metrics": { "设计存栏量 (头)": 600 }, "attributes": { "运营单位": "四川川数农牧科技有限公司", "建设 / 升级年份": "2023年", "监控设备情况": "已接入" } }, { "id": "YC-BREEDING-BASE-011", "name": "麦洼乡标准化养殖基地", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "标准化养殖基地", "town": null, "address": "洞拉村", "status": "正常运营", "longitude": 102.90867472, "latitude": 33.07181647, "contacts": {}, "metrics": { "设计存栏量 (头)": 500, "年出栏量 (头)": 1300 }, "attributes": { "运营单位": "红原县高原犇犇农副产品有限公司", "建设 / 升级年份": "2023年", "监控设备情况": "断电导致设备离线" } }, { "id": "YC-BREEDING-BASE-012", "name": "江茸绵羊养殖基地", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "标准化养殖基地", "town": null, "address": "茸日村", "status": "正常运营", "longitude": 102.26005599, "latitude": 32.50027984, "contacts": {}, "metrics": { "设计存栏量 (头)": 502, "年出栏量 (头)": 151 }, "attributes": { "运营单位": "江茸乡茸日玛村集体经济", "建设 / 升级年份": "2023年", "监控设备情况": "没有设备" } }, { "id": "YC-BREEDING-BASE-013", "name": "邛溪镇麻萨阳德村标准化养殖基地", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "标准化养殖基地", "town": null, "address": "麻色阳德村", "status": "正常运营", "longitude": 102.55803526, "latitude": 32.83725412, "contacts": {}, "metrics": { "设计存栏量 (头)": 600, "年出栏量 (头)": 400 }, "attributes": { "运营单位": "红原县祥发牧业发展有限责任公司", "建设 / 升级年份": 2024, "监控设备情况": "等待联系具体情况" } }, { "id": "YC-BREEDING-BASE-014", "name": "阿木乡峨扎村养殖基地", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "标准化养殖基地", "town": null, "address": "峨扎村", "status": "正常运营", "longitude": 102.84054893, "latitude": 32.81675104, "contacts": {}, "metrics": { "设计存栏量 (头)": 114, "年出栏量 (头)": 16 }, "attributes": { "运营单位": "阿木乡", "建设 / 升级年份": "2022年", "监控设备情况": "没有设备" } }, { "id": "YC-BREEDING-BASE-015", "name": "查尔玛查龙村养殖基地", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "标准化养殖基地", "town": null, "address": "红原县查尔玛乡查龙村", "status": "正常运营", "longitude": 101.95890418, "latitude": 32.3869733, "contacts": {}, "metrics": { "设计存栏量 (头)": 83, "年出栏量 (头)": 511 }, "attributes": { "运营单位": "红原县查尔玛乡查龙村股份经济合作联合社", "建设 / 升级年份": 2025, "监控设备情况": "没有设备" } }, { "id": "YC-BREEDING-BASE-016", "name": "查尔玛什布龙养殖基地", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "标准化养殖基地", "town": null, "address": "红原县查尔玛乡什布龙村", "status": "正常运营", "longitude": 102.11433108, "latitude": 32.42652249, "contacts": {}, "metrics": { "设计存栏量 (头)": 60, "年出栏量 (头)": 286 }, "attributes": { "运营单位": "红原县查尔玛乡什布龙村股份经济合作联合社", "建设 / 升级年份": 2022, "监控设备情况": "没有设备" } }, { "id": "YC-BREEDING-BASE-017", "name": "查尔玛达尔龙养殖基地", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "标准化养殖基地", "town": null, "address": "红原县查尔玛乡达尔龙村", "status": "正常运营", "longitude": 102.11709449, "latitude": 32.4529061, "contacts": {}, "metrics": { "设计存栏量 (头)": 147, "年出栏量 (头)": 283 }, "attributes": { "运营单位": "红原县查尔玛乡达尔龙村村股份经济合作联合社", "建设 / 升级年份": 2024, "监控设备情况": "没有设备" } }, { "id": "YC-BREEDING-BASE-018", "name": "安曲下哈拉玛改良繁育基地", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "标准化养殖基地", "town": null, "address": "安曲下哈拉玛村", "status": "正常运营", "longitude": 102.47817887, "latitude": 32.77041412, "contacts": {}, "metrics": { "设计存栏量 (头)": 100, "年出栏量 (头)": 30 }, "attributes": { "运营单位": "安曲下哈拉玛村村集体经济", "监控设备情况": "没有设备" } }, { "id": "YC-BREEDING-BASE-019", "name": "麦洼利群合作社", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "标准化养殖基地", "town": null, "address": "麦洼乡滚塘村", "status": "正常运营", "longitude": 102.91754148, "latitude": 33.05358447, "contacts": {}, "metrics": { "设计存栏量 (头)": 400, "年出栏量 (头)": 351 }, "attributes": { "运营单位": "红原县鑫陶一家农业发展专业合作社", "建设 / 升级年份": "2022年", "监控设备情况": "没有设备" } } ] }, { "categoryCode": "YC-BREEDING-STOCK", "categoryName": "育种繁育场", "industryStage": "scale-breeding", "sources": [ "详细数据清单-归档(1).xlsx:育种场" ], "itemCount": 4, "items": [ { "id": "YC-BREEDING-STOCK-001", "name": "安曲牦牛扩繁基地", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "育种场", "town": null, "address": "安曲镇XX村", "status": "正常运营", "longitude": 102.32214229, "latitude": 32.64253259, "contacts": {}, "metrics": {}, "attributes": { "简称": "安曲育种场", "运营单位": "红原县雅克农业开发有限责任公司", "育种等级": "县级", "主要育种方向": "良种扩繁", "基本介绍": "管理用房X间、厂房几间、占地多少、人员多少等。" } }, { "id": "YC-BREEDING-STOCK-002", "name": "龙日镇农科院扩繁基地", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "育种场", "town": null, "address": null, "status": "正常运营", "longitude": 102.2948457, "latitude": 32.52975262, "contacts": {}, "metrics": {}, "attributes": { "简称": "龙日种畜场", "运营单位": "阿坝州农科院", "建设 / 升级年份": 2024, "育种等级": "省级", "主要育种方向": "原种保护与选育", "监控设备情况": "设备不支持" } }, { "id": "YC-BREEDING-STOCK-003", "name": "龙日坝原种场", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "育种场", "town": null, "address": null, "status": "正常运营", "longitude": 102.29621044, "latitude": 32.52968225, "contacts": {}, "metrics": {}, "attributes": { "简称": "龙日原种场", "运营单位": "阿坝州农科院", "育种等级": "省级", "主要育种方向": "麦洼牦牛原种保护", "监控设备情况": "设备不支持" } }, { "id": "YC-BREEDING-STOCK-004", "name": "麦洼洞拉村达坤玛选育场", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "育种场", "town": null, "address": null, "status": null, "longitude": 102.90220018, "latitude": 33.07630283, "contacts": {}, "metrics": {}, "attributes": { "运营单位": "麦洼乡", "监控设备情况": "没有设备" } } ] }, { "categoryCode": "YC-FORAGE-BASE", "categoryName": "种草饲草基地", "industryStage": "artificial-grassland", "sources": [ "详细数据清单-归档(1).xlsx:种草饲草基地" ], "itemCount": 8, "items": [ { "id": "YC-FORAGE-BASE-001", "name": "红原机场种草基地", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "种草饲草基地", "town": "龙日镇", "address": null, "status": "正常运营", "longitude": 102.3421702, "latitude": 32.56665418, "contacts": {}, "metrics": { "种植面积 (亩)": 1000 }, "attributes": { "主要草种": "燕麦草1年生,披碱草、老芒麦多年生" } }, { "id": "YC-FORAGE-BASE-002", "name": "龙日镇饲草种植基地", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "种草饲草基地", "town": "龙日镇", "address": null, "status": "正常运营", "longitude": 102.41691162, "latitude": 32.4065831, "contacts": {}, "metrics": { "种植面积 (亩)": 10000 }, "attributes": { "主要草种": "燕麦草1年生,披碱草、老芒麦多年生" } }, { "id": "YC-FORAGE-BASE-003", "name": "安曲饲草基地", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "种草饲草基地", "town": "安曲镇", "address": null, "status": "正常运营", "longitude": 102.42757952, "latitude": 32.74443722, "contacts": {}, "metrics": { "种植面积 (亩)": 2000 }, "attributes": { "主要草种": "燕麦草1年生,披碱草、老芒麦多年生" } }, { "id": "YC-FORAGE-BASE-004", "name": "瓦切饲草基地", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "种草饲草基地", "town": "瓦切镇", "address": null, "status": "正常运营", "longitude": 102.59922971, "latitude": 33.10319702, "contacts": {}, "metrics": { "种植面积 (亩)": 7000 }, "attributes": { "主要草种": "燕麦草1年生,披碱草、老芒麦多年生" } }, { "id": "YC-FORAGE-BASE-005", "name": "江茸饲草基地", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "种草饲草基地", "town": null, "address": null, "status": null, "longitude": 102.26164962, "latitude": 32.50057455, "contacts": {}, "metrics": { "种植面积 (亩)": 1000 }, "attributes": {} }, { "id": "YC-FORAGE-BASE-006", "name": "畜牧工作站", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "种草饲草基地", "town": null, "address": null, "status": null, "longitude": null, "latitude": null, "contacts": {}, "metrics": {}, "attributes": {} }, { "id": "YC-FORAGE-BASE-007", "name": "规划建设股", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "种草饲草基地", "town": null, "address": null, "status": null, "longitude": null, "latitude": null, "contacts": {}, "metrics": {}, "attributes": {} }, { "id": "YC-FORAGE-BASE-008", "name": "数据欠缺,请两个股室核定饲草基地数据。", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "种草饲草基地", "town": null, "address": null, "status": null, "longitude": null, "latitude": null, "contacts": {}, "metrics": {}, "attributes": {} } ] }, { "categoryCode": "YC-DISASTER-FORAGE-STORAGE", "categoryName": "防灾减灾饲草储备库", "industryStage": "forage-storage", "sources": [ "详细数据清单-归档(1).xlsx:防灾减灾饲草储备库" ], "itemCount": 7, "items": [ { "id": "YC-DISASTER-FORAGE-STORAGE-001", "name": "嚷口防灾减灾饲草储备库", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "防灾减灾饲草储备库", "town": "刷经寺镇", "address": "壤口村", "status": "正常运营", "longitude": 102.489619, "latitude": 32.20577086, "contacts": {}, "metrics": { "总库容 (吨)": 1500, "发放次数": "3-4次" }, "attributes": { "上级单位": "红原县农业农村局", "储备草种": "燕麦草、披碱草、老芒麦" } }, { "id": "YC-DISASTER-FORAGE-STORAGE-002", "name": "安曲防灾减灾饲草储备库", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "防灾减灾饲草储备库", "town": "安曲镇", "address": "夺龙村", "status": "正常运营", "longitude": 102.3283137, "latitude": 32.63727531, "contacts": {}, "metrics": { "总库容 (吨)": 1500, "发放次数": "3-4次" }, "attributes": { "上级单位": "红原县农业农村局", "储备草种": "燕麦草、披碱草、老芒麦" } }, { "id": "YC-DISASTER-FORAGE-STORAGE-003", "name": "瓦切唐日合作社饲草储备库", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "防灾减灾饲草储备库", "town": "瓦切镇", "address": "唐日村", "status": "正常运营", "longitude": 102.6162349, "latitude": 33.11047864, "contacts": {}, "metrics": { "总库容 (吨)": 1500, "发放次数": "3-4次" }, "attributes": { "上级单位": "瓦切唐日合作社", "储备草种": "燕麦草、披碱草、老芒麦" } }, { "id": "YC-DISASTER-FORAGE-STORAGE-004", "name": "瓦切牧草交易中心饲草储备库", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "防灾减灾饲草储备库", "town": "瓦切镇", "address": "达俄村", "status": "正常运营", "longitude": 102.6014834, "latitude": 33.09604707, "contacts": {}, "metrics": { "总库容 (吨)": 1500, "发放次数": "3-4次" }, "attributes": { "上级单位": "红原县农业农村局", "储备草种": "燕麦草、披碱草、老芒麦" } }, { "id": "YC-DISASTER-FORAGE-STORAGE-005", "name": "龙日坝龙日坝村 1 饲草储备库", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "防灾减灾饲草储备库", "town": "龙日镇", "address": "龙日坝村", "status": "正常运营", "longitude": 102.383916, "latitude": 32.44992916, "contacts": {}, "metrics": { "总库容 (吨)": 1500, "发放次数": "3-4次" }, "attributes": { "上级单位": "红原县农业农村局", "储备草种": "燕麦草、披碱草、老芒麦" } }, { "id": "YC-DISASTER-FORAGE-STORAGE-006", "name": "龙日坝龙日坝村 2 饲草储备库", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "防灾减灾饲草储备库", "town": "龙日镇", "address": "龙日坝村", "status": "正常运营", "longitude": 102.3834086, "latitude": 32.45041994, "contacts": {}, "metrics": { "总库容 (吨)": 1500, "发放次数": "3-4次" }, "attributes": { "上级单位": "红原县农业农村局", "储备草种": "燕麦草、披碱草、老芒麦" } }, { "id": "YC-DISASTER-FORAGE-STORAGE-007", "name": "江茸乡饲草储备库", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "防灾减灾饲草储备库", "town": "江茸乡", "address": "茸日玛村", "status": "正常运营", "longitude": 102.256868, "latitude": 32.46996565, "contacts": {}, "metrics": { "总库容 (吨)": 1500, "发放次数": "3-4次" }, "attributes": { "上级单位": "江茸乡", "储备草种": "燕麦草、披碱草、老芒麦" } } ] }, { "categoryCode": "YC-PROCESSING-PLANT", "categoryName": "加工厂", "industryStage": "slaughter-processing", "sources": [ "详细数据清单-归档(1).xlsx:加工厂" ], "itemCount": 9, "items": [ { "id": "YC-PROCESSING-PLANT-001", "name": "西部牦牛产业集团有限责任公司", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "加工厂", "town": null, "address": "四川省阿坝藏族羌族自治州红原县邛溪镇瑞庆西路37号", "status": "存续(在营)", "longitude": 102.5292, "latitude": 32.7917, "contacts": { "leader": "税晓燕", "phone": 13348993961 }, "metrics": { "设计日处理鲜奶能力 (吨)": "约 50吨/日", "年加工鲜奶总量 (吨)": 3000, "年产值 (万元)": 30000, "带动本地农户数": 6000, "原料奶冷藏能力 (吨)": 400 }, "attributes": { "SC 许可证号": "SC10551323300016", "主要产品": "牦牛奶粉", "奶源来源": "红原县及周边", "产品销售范围": "全国" } }, { "id": "YC-PROCESSING-PLANT-002", "name": "四川红原菊乐牦牛乳业有限公司", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "加工厂", "town": null, "address": "四川省阿坝藏族羌族自治州红原县邛溪镇瑞庆东路76号附6号", "status": "存续(在营)", "longitude": 102.5666, "latitude": 32.8179, "contacts": { "leader": "刘鑫森", "phone": 18581879298 }, "metrics": { "设计日处理鲜奶能力 (吨)": "约240吨/日", "年加工鲜奶总量 (吨)": 4000, "年产值 (万元)": 7000, "带动本地农户数": 600, "原料奶冷藏能力 (吨)": 2000 }, "attributes": { "SC 许可证号": "SC10551323300032", "主要产品": "圣舟牦牛奶", "奶源来源": "红原县及周边", "产品销售范围": "全国、四川为主" } }, { "id": "YC-PROCESSING-PLANT-003", "name": "四川雅克乳业有限公司", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "加工厂", "town": null, "address": "四川省阿坝藏族羌族自治州红原县邛溪镇瑞庆西路", "status": "存续(在营)", "longitude": 102.5315, "latitude": 32.7921, "contacts": { "leader": "徐瑞", "phone": 18628189868 }, "metrics": { "设计日处理鲜奶能力 (吨)": "约 2吨/日", "年加工鲜奶总量 (吨)": 1000, "年产值 (万元)": 3000, "带动本地农户数": 200, "原料奶冷藏能力 (吨)": "无(委托)" }, "attributes": { "SC 许可证号": "SC10551323300032(委托)", "主要产品": "牦牛酸奶、牦牛奶粉、牦牛奶冰淇淋(", "奶源来源": "红原县及周边", "产品销售范围": "四川" } }, { "id": "YC-PROCESSING-PLANT-004", "name": "企业全称", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "加工厂", "town": null, "address": "详细地址", "status": "运营状态", "longitude": null, "latitude": null, "contacts": { "leader": "负责人", "phone": "联系电话" }, "metrics": { "设计日处理鲜奶能力 (吨)": "设计日加工能力 (吨)", "年加工鲜奶总量 (吨)": "年加工原料肉总量 (吨)", "年产值 (万元)": "年产值 (万元)", "带动本地农户数": "带动本地农户数", "原料奶冷藏能力 (吨)": "冷库容量 (吨)" }, "attributes": { "SC 许可证号": "SC 许可证号", "主要产品": "主要产品", "奶源来源": "原料来源", "产品销售范围": "产品销售范围" } }, { "id": "YC-PROCESSING-PLANT-005", "name": "四川红原遛遛牛食品有限责任公司", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "加工厂", "town": null, "address": "四川省阿坝藏族羌族自治州红原县邛溪镇瑞庆东路72号", "status": "存续(在营)", "longitude": 102.5592, "latitude": 32.8151, "contacts": { "leader": "王加立", "phone": 13982065805 }, "metrics": { "设计日处理鲜奶能力 (吨)": "约15吨/日", "年加工鲜奶总量 (吨)": "约4500吨/年", "年产值 (万元)": "约8000万元", "带动本地农户数": 400, "原料奶冷藏能力 (吨)": 1000 }, "attributes": { "SC 许可证号": "SC10451323300028", "主要产品": "风干牦牛肉、手撕牦牛肉、卤制牦牛肉、牦牛肉酱", "奶源来源": "红原县及周边麦洼牦牛", "产品销售范围": "全国、四川为主" } }, { "id": "YC-PROCESSING-PLANT-006", "name": "四川红原黑帐篷牦牛肉食品有限责任公司", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "加工厂", "town": null, "address": "四川省阿坝藏族羌族自治州红原县邛溪镇瑞庆中路", "status": "存续(在营)", "longitude": 102.551, "latitude": 32.7987, "contacts": { "leader": "龙国胜", "phone": "0837-8994333" }, "metrics": { "设计日处理鲜奶能力 (吨)": "约 1吨/日", "年加工鲜奶总量 (吨)": "约300吨/年", "年产值 (万元)": 1000, "带动本地农户数": 200, "原料奶冷藏能力 (吨)": 200 }, "attributes": { "主要产品": "风干牦牛肉、手撕牦牛肉、卤牦牛肉、牦牛肉礼包", "奶源来源": "红原本地麦洼牦牛", "产品销售范围": "全国、四川为主" } }, { "id": "YC-PROCESSING-PLANT-007", "name": "红原御坊斋牦牛肉制品厂", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "加工厂", "town": null, "address": "四川省阿坝藏族羌族自治州红原县邛溪镇阳嘎北街", "status": "存续(在营)", "longitude": 102.5431, "latitude": 32.7962, "contacts": { "leader": "陈远明", "phone": "0837-2662837" }, "metrics": { "设计日处理鲜奶能力 (吨)": "约 0.5吨/日", "年加工鲜奶总量 (吨)": "约200吨/年", "年产值 (万元)": 600, "带动本地农户数": 100, "原料奶冷藏能力 (吨)": 100 }, "attributes": { "SC 许可证号": "SC10451323300036", "主要产品": "牛肉干、卤牦牛肉、手撕牦牛肉、牦牛肉粒", "奶源来源": "红原本地麦洼牦牛", "产品销售范围": "四川" } }, { "id": "YC-PROCESSING-PLANT-008", "name": "四川牦牛火了生态农业科技有限公司", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "加工厂", "town": null, "address": "四川省阿坝藏族羌族自治州红原县瑞庆中路13号附1号", "status": "存续(在营)", "longitude": 102.5402, "latitude": 32.7958, "contacts": { "leader": "王忠波", "phone": 18980978767 }, "metrics": { "年产值 (万元)": 500 }, "attributes": { "主要产品": "包装牦牛肉干", "奶源来源": "红原及周边加工厂成品", "产品销售范围": "四川" } }, { "id": "YC-PROCESSING-PLANT-009", "name": "农产品检测站", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "加工厂", "town": null, "address": null, "status": null, "longitude": null, "latitude": null, "contacts": {}, "metrics": {}, "attributes": {} } ] }, { "categoryCode": "YC-SLAUGHTERHOUSE", "categoryName": "屠宰厂", "industryStage": "slaughter-processing", "sources": [ "详细数据清单-归档(1).xlsx:屠宰厂" ], "itemCount": 7, "items": [ { "id": "YC-SLAUGHTERHOUSE-001", "name": "红原宏牦牛肉食品有限责任公司", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "屠宰厂", "town": null, "address": "四川省阿坝州红原县邛溪镇桑青路11号", "status": "正常", "longitude": 102.53333333, "latitude": 32.78333333, "contacts": { "leader": "蒋悦南", "phone": 13909047031 }, "metrics": { "设计日屠宰能力 (头)": 200, "年屠宰总量 (头)": 20000, "冷冻库容量 (吨)": 800, "年总产值 (万元)": "2000-5000" }, "attributes": { "环保达标情况": "已达标" } }, { "id": "YC-SLAUGHTERHOUSE-002", "name": "红原县永源牦牛肉业有限责任公司", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "屠宰厂", "town": null, "address": "红原县绿色产业园区", "status": "正常", "longitude": 102.56055556, "latitude": 32.82, "contacts": { "leader": "张建", "phone": 13541231860 }, "metrics": { "设计日屠宰能力 (头)": 167, "年屠宰总量 (头)": 20000, "冷冻库容量 (吨)": 2400, "年总产值 (万元)": 2046 }, "attributes": { "定点屠宰证号": "A29191301", "环保达标情况": "达标" } }, { "id": "YC-SLAUGHTERHOUSE-003", "name": "红原新希望牦牛产业有限公司", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "屠宰厂", "town": null, "address": "红原县邛溪镇绿色工业园区内", "status": "正常", "longitude": 9175.41666667, "latitude": 13213.51666667, "contacts": { "leader": "柴建", "phone": "17778545888" }, "metrics": { "设计日屠宰能力 (头)": 300, "年屠宰总量 (头)": 10000, "冷冻库容量 (吨)": 3000, "年总产值 (万元)": 4048.63 }, "attributes": { "环保达标情况": "达标" } }, { "id": "YC-SLAUGHTERHOUSE-004", "name": "红原县天交畜牧科技有限公司", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "屠宰厂", "town": null, "address": "红原县邛溪镇绿色产业园区瑞庆东路76号附5号", "status": "正常", "longitude": 102.90083333, "latitude": 33.33083333, "contacts": { "leader": "余震", "phone": 18080930003 }, "metrics": { "设计日屠宰能力 (头)": 150, "年屠宰总量 (头)": 18000, "冷冻库容量 (吨)": 2000, "年总产值 (万元)": 1200 }, "attributes": { "环保达标情况": "达标" } }, { "id": "YC-SLAUGHTERHOUSE-005", "name": "红原县雪月天佑农牧科技有限公司", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "屠宰厂", "town": null, "address": null, "status": null, "longitude": null, "latitude": null, "contacts": {}, "metrics": {}, "attributes": {} }, { "id": "YC-SLAUGHTERHOUSE-006", "name": "红原牦牛肉食品有限责任公司", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "屠宰厂", "town": null, "address": null, "status": null, "longitude": null, "latitude": null, "contacts": {}, "metrics": {}, "attributes": {} }, { "id": "YC-SLAUGHTERHOUSE-007", "name": "执法大队", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "屠宰厂", "town": null, "address": null, "status": null, "longitude": null, "latitude": null, "contacts": {}, "metrics": {}, "attributes": {} } ] }, { "categoryCode": "YC-FARM-EQUIPMENT", "categoryName": "农机装备", "industryStage": "farm-equipment", "sources": [ "详细数据清单-归档(1).xlsx:农机装备" ], "itemCount": 2, "items": [ { "id": "YC-FARM-EQUIPMENT-001", "name": "红原县益众农业机械服务专业合作社", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "农机装备", "town": null, "address": null, "status": null, "longitude": null, "latitude": null, "contacts": {}, "metrics": {}, "attributes": { "简称": "益众农机" } }, { "id": "YC-FARM-EQUIPMENT-002", "name": "农机监理站", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "农机装备", "town": null, "address": null, "status": null, "longitude": null, "latitude": null, "contacts": {}, "metrics": {}, "attributes": {} } ] }, { "categoryCode": "YC-DISEASE-CONTROL", "categoryName": "疫病防控", "industryStage": "social-service", "sources": [ "详细数据清单-归档(1).xlsx:疫病防控" ], "itemCount": 3, "items": [ { "id": "YC-DISEASE-CONTROL-001", "name": "红原县高原牧歌农业科技有限公司", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "疫病防控", "town": null, "address": "邛溪镇", "status": null, "longitude": 102.54861991, "latitude": null, "contacts": {}, "metrics": {}, "attributes": {} }, { "id": "YC-DISEASE-CONTROL-002", "name": "红原县动物疫病预防控制中心", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "疫病防控", "town": null, "address": "邛溪镇", "status": null, "longitude": 102.54852894, "latitude": null, "contacts": {}, "metrics": {}, "attributes": {} }, { "id": "YC-DISEASE-CONTROL-003", "name": "疫控中心", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "疫病防控", "town": null, "address": null, "status": null, "longitude": null, "latitude": null, "contacts": {}, "metrics": {}, "attributes": {} } ] }, { "categoryCode": "YC-TECH-TRAINING", "categoryName": "技术培训", "industryStage": "social-service", "sources": [ "详细数据清单-归档(1).xlsx:技术培训" ], "itemCount": 8, "items": [ { "id": "YC-TECH-TRAINING-001", "name": "四川省草科院", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "技术培训", "town": "瓦切镇", "address": "国家级牧草基地", "status": null, "longitude": null, "latitude": null, "contacts": { "expertTeam": "游明鸿、季晓菲、官久强、安添午、赵文吉、贾国夫等", "contactPerson": "游明鸿", "phone": 13880288056 }, "metrics": { "年培训场次": "‘2-3", "年培训人次": "80-100", "单次最大容纳人数": 40, "下期培训计划(时间 + 内容)": "8月,草产品加工、放牧+补饲、中藏药材栽培管理等" }, "attributes": { "序号": 1, "机构类型": "科研院所", "主要培训内容": "栽培草种推荐、牧草栽培与草产品加工、牦牛疫病防治、放牧+补饲、道地和特色优势中藏药材栽培技术等", "最近培训时间": "7月" } }, { "id": "YC-TECH-TRAINING-002", "name": "乡村振兴科技特派团", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "技术培训", "town": "全县覆盖", "address": "县农业农村局", "status": null, "longitude": null, "latitude": null, "contacts": { "expertTeam": "游明鸿、季晓菲、刘琳、官久强、安添午、赵文吉等", "contactPerson": "游明鸿", "phone": 13880288056 }, "metrics": { "年培训场次": "’3-4", "年培训人次": "100-150", "单次最大容纳人数": 40, "下期培训计划(时间 + 内容)": "8月,草产品加工、放牧+补饲、中藏药材栽培管理等" }, "attributes": { "序号": 2, "机构类型": "政府派出机构", "主要培训内容": "栽培草种推荐、牧草栽培与草产品加工、牦牛疫病防治、放牧+补饲、道地和特色优势中藏药材栽培技术等", "最近培训时间": "7月" } }, { "id": "YC-TECH-TRAINING-003", "name": "中国科学院", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "技术培训", "town": "邛溪镇", "address": null, "status": null, "longitude": null, "latitude": null, "contacts": {}, "metrics": {}, "attributes": { "序号": 3, "机构类型": "国家级科研机构" } }, { "id": "YC-TECH-TRAINING-004", "name": "红原县畜牧业高质量发展专家工作站", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "技术培训", "town": "邛溪镇", "address": "县畜牧兽医服务中心", "status": null, "longitude": null, "latitude": null, "contacts": {}, "metrics": {}, "attributes": { "序号": 4, "机构类型": "地方专家平台" } }, { "id": "YC-TECH-TRAINING-005", "name": "西南民族大学", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "技术培训", "town": "邛溪镇", "address": "红原牦牛研究基地", "status": null, "longitude": null, "latitude": null, "contacts": {}, "metrics": {}, "attributes": { "序号": 5, "机构类型": "高校" } }, { "id": "YC-TECH-TRAINING-006", "name": "阿坝州农科院", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "技术培训", "town": "马尔康市 / 邛溪镇", "address": null, "status": null, "longitude": null, "latitude": null, "contacts": {}, "metrics": {}, "attributes": { "序号": 6, "机构类型": "科研院所" } }, { "id": "YC-TECH-TRAINING-007", "name": "对接相关科研院校收集数据", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "技术培训", "town": null, "address": null, "status": null, "longitude": null, "latitude": null, "contacts": {}, "metrics": {}, "attributes": { "序号": "科教股" } }, { "id": "YC-TECH-TRAINING-008", "name": "技术培训-8", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "技术培训", "town": null, "address": null, "status": null, "longitude": null, "latitude": null, "contacts": {}, "metrics": {}, "attributes": { "序号": "科技股" } } ] }, { "categoryCode": "YC-SERVICE-FINANCE", "categoryName": "金融服务网点", "industryStage": "social-service", "sources": [ "详细数据清单-归档(1).xlsx:金融服务网点" ], "itemCount": 4, "items": [ { "id": "YC-SERVICE-FINANCE-001", "name": "中国农业银行股份有限公司红原县支行", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "金融服务网点", "town": null, "address": "红原县邛溪镇阳嘎中街", "status": null, "longitude": 102.54, "latitude": 32.79, "contacts": { "contactPerson": "泽旺吉松", "creditPhone": 13096265881 }, "metrics": { "服务覆盖乡镇数": 10, "主要贷款产品(可多选)": "惠农e贷、专业大户贷、商户贷、乡旅贷、富民贷、帮扶小额信贷。", "最高单户贷款额度 (万元)": 150, "最长贷款期限 (年)": "5年" }, "attributes": { "序号": 1, "简称": "农行红原支行", "年利率范围": 0.03, "还款方式": "等额本息还款、一次性还本按约还息、一次性利随本清、" } }, { "id": "YC-SERVICE-FINANCE-002", "name": "四川红原农村商业银行股份有限公司", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "金融服务网点", "town": null, "address": "红原县邛溪镇绛熙中街13号", "status": null, "longitude": 102.54, "latitude": 32.79, "contacts": { "contactPerson": "索让东周", "creditPhone": 18283790555 }, "metrics": { "服务覆盖乡镇数": 9, "主要贷款产品(可多选)": "小额农贷、生源地信用助学贷款、惠商贷、居民消费贷、消费易贷、个人生产经营贷款、个人综合消费贷款、个人一手住房贷款、一人二手住房贷款", "最高单户贷款额度 (万元)": 770, "最长贷款期限 (年)": "生源地信用助学贷款22年、个人一手住房贷款30年、个人贷款5年。" }, "attributes": { "序号": 2, "简称": "红原农商行", "年利率范围": "2.1%—5.0%", "还款方式": "按月结息、按年还本;按月结息,到期一次性还本;等额本息。" } }, { "id": "YC-SERVICE-FINANCE-003", "name": "中国邮政储蓄银行股份有限公司红原县支行", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "金融服务网点", "town": null, "address": null, "status": null, "longitude": null, "latitude": null, "contacts": {}, "metrics": { "服务覆盖乡镇数": 9 }, "attributes": { "序号": 3, "简称": "邮储银行红原支行" } }, { "id": "YC-SERVICE-FINANCE-004", "name": "金融服务网点-4", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "金融服务网点", "town": null, "address": null, "status": null, "longitude": null, "latitude": null, "contacts": {}, "metrics": {}, "attributes": { "序号": "乡村振兴股" } } ] }, { "categoryCode": "YC-SERVICE-INSURANCE", "categoryName": "保险服务网点", "industryStage": "social-service", "sources": [ "详细数据清单-归档(1).xlsx:保险服务网点" ], "itemCount": 4, "items": [ { "id": "YC-SERVICE-INSURANCE-001", "name": "中华安盟财产保险股份有限公司红原支公司", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "保险服务网点", "town": null, "address": null, "status": null, "longitude": null, "latitude": null, "contacts": { "claimHotline": 95585 }, "metrics": { "服务覆盖乡镇数": 9 }, "attributes": { "序号": 1, "简称": "中华安盟" } }, { "id": "YC-SERVICE-INSURANCE-002", "name": "中国人民财产保险股份有限公司红原支公司", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "保险服务网点", "town": null, "address": null, "status": null, "longitude": null, "latitude": null, "contacts": { "claimHotline": 95518 }, "metrics": { "服务覆盖乡镇数": 9 }, "attributes": { "序号": 2, "简称": "人保财险" } }, { "id": "YC-SERVICE-INSURANCE-003", "name": "中华联合财产保险股份有限公司红原支公司", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "保险服务网点", "town": null, "address": null, "status": null, "longitude": null, "latitude": null, "contacts": { "claimHotline": 95585 }, "metrics": { "服务覆盖乡镇数": 9 }, "attributes": { "序号": 3, "简称": "中华财险" } }, { "id": "YC-SERVICE-INSURANCE-004", "name": "保险服务网点-4", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "保险服务网点", "town": null, "address": null, "status": null, "longitude": null, "latitude": null, "contacts": {}, "metrics": {}, "attributes": { "序号": "疫控中心" } } ] }, { "categoryCode": "YC-GRASSLAND-RESOURCE", "categoryName": "林草资源数据", "industryStage": "artificial-grassland", "sources": [ "详细数据清单-归档(1).xlsx:林草局数据" ], "itemCount": 3, "items": [ { "id": "YC-GRASSLAND-RESOURCE-001", "name": "林草局数据-1", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "林草局数据", "town": null, "address": null, "status": null, "longitude": null, "latitude": null, "contacts": {}, "metrics": { "灌木林面积": "调整优化意见", "围栏封育面积": "ABC 是基本草原", "生态奖补面积,到每个村": "DE一般草原" }, "attributes": {} }, { "id": "YC-GRASSLAND-RESOURCE-002", "name": "林草局数据-2", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "林草局数据", "town": null, "address": null, "status": null, "longitude": null, "latitude": null, "contacts": {}, "metrics": { "灌木林面积": "基本草原面积:", "围栏封育面积": 637.127369, "生态奖补面积,到每个村": "万亩" }, "attributes": {} }, { "id": "YC-GRASSLAND-RESOURCE-003", "name": "林草局数据-3", "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", "sourceSheet": "林草局数据", "town": null, "address": null, "status": null, "longitude": null, "latitude": null, "contacts": {}, "metrics": { "灌木林面积": "一般草原面积", "围栏封育面积": 119.301972, "生态奖补面积,到每个村": "万亩" }, "attributes": {} } ] }, { "categoryCode": "YC-CXPT-BREEDING-BASE", "categoryName": "cxpt养殖基地", "industryStage": "scale-breeding", "sources": [ "cxpt.t_base_land" ], "itemCount": 28, "items": [ { "id": "2c9380898a69780a018a69a6e4d30001", "name": "下哈拉玛标准化养殖基地", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "breeding_base", "categoryNameRaw": "养殖基地", "areaCode": "513233103202", "areaName": "下哈拉玛村", "areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇下哈拉玛村", "address": null, "scale": "1000亩", "longitude": null, "latitude": null, "geometryType": null, "contacts": { "leader": "下哈拉玛标准化养殖基地", "phone": "下哈拉玛标准化养殖基地" }, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e0187048125ab0001", "name": "刷经寺镇国航专属农场", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "breeding_base", "categoryNameRaw": "养殖基地", "areaCode": "513233101000", "areaName": "刷经寺镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县刷经寺镇", "address": "红原县刷经寺镇", "scale": "200亩", "longitude": 102.60753736, "latitude": 32.01520185, "geometryType": "Point", "contacts": { "leader": "文明智", "phone": "18372667181" }, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028816489fc57730189fc6a28c60001", "name": "唐日标准化养殖基地", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "breeding_base", "categoryNameRaw": "养殖基地", "areaCode": "513233", "areaName": "红原县", "areaFullName": "四川省阿坝藏族羌族自治州红原县", "address": "红原", "scale": "1000", "longitude": 102.52418747, "latitude": 32.7965246, "geometryType": "Polygon", "contacts": { "leader": "唐日标准化养殖基地", "phone": "18090242999" }, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e01870482432f000f", "name": "国航专属农牧场", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "breeding_base", "categoryNameRaw": "养殖基地", "areaCode": "513233100000", "areaName": "邛溪镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", "address": null, "scale": null, "longitude": 102.611698, "latitude": 32.928581, "geometryType": "Point", "contacts": { "phone": "13888888888" }, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e01870483afc00027", "name": "央诺尔畜牧专业合作社", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "breeding_base", "categoryNameRaw": "养殖基地", "areaCode": "513233205000", "areaName": "阿木乡", "areaFullName": "四川省阿坝藏族羌族自治州红原县阿木乡", "address": "四川省红原县阿木乡", "scale": null, "longitude": 102.64730957, "latitude": 32.94532722, "geometryType": "Point", "contacts": {}, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e018704828d450013", "name": "安曲哈拉玛合作社", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "breeding_base", "categoryNameRaw": "养殖基地", "areaCode": "513233103000", "areaName": "安曲镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇", "address": null, "scale": null, "longitude": 102.32834969, "latitude": 32.64290686, "geometryType": "Point", "contacts": {}, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e01870483a0800026", "name": "安曲家庭农场", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "breeding_base", "categoryNameRaw": "养殖基地", "areaCode": "513233103000", "areaName": "安曲镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇", "address": "红原县安曲牧场(近209省道)", "scale": null, "longitude": 102.38834969, "latitude": 32.69290686, "geometryType": "Point", "contacts": {}, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e0187048291f90014", "name": "安曲抗灾保畜基地", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "breeding_base", "categoryNameRaw": "养殖基地", "areaCode": "513233103000", "areaName": "安曲镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇", "address": null, "scale": null, "longitude": 102.30834969, "latitude": 32.67290686, "geometryType": "Point", "contacts": {}, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e0187048318f2001b", "name": "尚源牧业发展有限责任公司", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "breeding_base", "categoryNameRaw": "养殖基地", "areaCode": "513233100000", "areaName": "邛溪镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", "address": "红原县邛溪镇", "scale": null, "longitude": 102.53242152, "latitude": 32.81168014, "geometryType": "Point", "contacts": {}, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e018704814a8d0005", "name": "更攀合作总社", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "breeding_base", "categoryNameRaw": "养殖基地", "areaCode": "513233100000", "areaName": "邛溪镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", "address": "红原县邛溪镇瑞庆西路", "scale": "154244亩", "longitude": 102.583582, "latitude": 32.830854, "geometryType": "Point", "contacts": { "phone": "18789497898" }, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e01870482e47c0015", "name": "查尔玛乡查龙合作社", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "breeding_base", "categoryNameRaw": "养殖基地", "areaCode": "513233203000", "areaName": "查尔玛乡", "areaFullName": "四川省阿坝藏族羌族自治州红原县查尔玛乡", "address": null, "scale": null, "longitude": 101.96111079, "latitude": 32.36851156, "geometryType": "Point", "contacts": {}, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e018704812a950002", "name": "查尔玛乡达尔龙合作社", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "breeding_base", "categoryNameRaw": "养殖基地", "areaCode": "513233202000", "areaName": "江茸乡", "areaFullName": "四川省阿坝藏族羌族自治州红原县江茸乡", "address": null, "scale": "388680亩", "longitude": 102.25164714, "latitude": 32.34434154, "geometryType": "Point", "contacts": { "phone": "13666666666" }, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e01870482ee200016", "name": "查尔玛乡达智合作社", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "breeding_base", "categoryNameRaw": "养殖基地", "areaCode": "513233203000", "areaName": "查尔玛乡", "areaFullName": "四川省阿坝藏族羌族自治州红原县查尔玛乡", "address": null, "scale": null, "longitude": 102.10243332, "latitude": 32.5533277, "geometryType": "Point", "contacts": {}, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028816489fc81de0189fc8dd5c90000", "name": "查尔玛标准养殖基地", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "breeding_base", "categoryNameRaw": "养殖基地", "areaCode": "513233203000", "areaName": "查尔玛乡", "areaFullName": "四川省阿坝藏族羌族自治州红原县查尔玛乡", "address": "查尔玛乡", "scale": "200", "longitude": null, "latitude": null, "geometryType": null, "contacts": { "leader": "查尔玛标准养殖基地", "phone": "13696856985" }, "metrics": { "acreage": null }, "attributes": {} }, { "id": "2c9380898a69780a018a69a654f90000", "name": "瓦切卡口乡标准化养殖基地", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "breeding_base", "categoryNameRaw": "养殖基地", "areaCode": "513233204000", "areaName": "瓦切镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", "address": null, "scale": "2000", "longitude": null, "latitude": null, "geometryType": null, "contacts": { "leader": "瓦切卡口乡标准化养殖基地", "phone": "瓦切卡口乡标准化养殖基地" }, "metrics": { "acreage": null }, "attributes": {} }, { "id": "2c9380898a69780a018a69a7484e0002", "name": "瓦切唐日标准化养殖基地", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "breeding_base", "categoryNameRaw": "养殖基地", "areaCode": "513233204201", "areaName": "唐日村", "areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇唐日村", "address": null, "scale": "1000亩", "longitude": null, "latitude": null, "geometryType": null, "contacts": { "leader": "瓦切唐日标准化养殖基地", "phone": "瓦切唐日标准化养殖基地" }, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e01870483561f0020", "name": "瓦切德香村合作社", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "breeding_base", "categoryNameRaw": "养殖基地", "areaCode": "513233204000", "areaName": "瓦切镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", "address": null, "scale": "1800亩", "longitude": 102.60756103, "latitude": 33.16501517, "geometryType": "Point", "contacts": {}, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e018704836a0f0022", "name": "瓦切罗尔江合作社", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "breeding_base", "categoryNameRaw": "养殖基地", "areaCode": "513233204000", "areaName": "瓦切镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", "address": null, "scale": "5000亩", "longitude": 102.61692465, "latitude": 33.07321484, "geometryType": "Point", "contacts": {}, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e0187048271970011", "name": "瓦切镇达峨村种草大户泽郎夺尔基", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "breeding_base", "categoryNameRaw": "养殖基地", "areaCode": "513233204000", "areaName": "瓦切镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", "address": "红原县瓦切镇达峨村", "scale": "2000余平方千米", "longitude": 102.768611, "latitude": 33.218282, "geometryType": "Point", "contacts": { "leader": "泽郎夺尔基", "phone": "18728211722" }, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e0187048137b80004", "name": "红原县邛溪镇热多村高产奶牦牛繁育基地", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "breeding_base", "categoryNameRaw": "养殖基地", "areaCode": "513233100000", "areaName": "邛溪镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", "address": "红原县邛溪镇热多村", "scale": "1000头", "longitude": 102.607635, "latitude": 32.899228, "geometryType": "Point", "contacts": { "leader": "桑键", "phone": "13990407109" }, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e018704812f390003", "name": "红原县麦洼牦牛现代农业园区", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "breeding_base", "categoryNameRaw": "养殖基地", "areaCode": "513233105000", "areaName": "龙日镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县龙日镇", "address": null, "scale": "664.2亩", "longitude": 102.523105, "latitude": 32.470534, "geometryType": "Point", "contacts": { "leader": "李先生", "phone": "13926576971" }, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e0187048339ee001e", "name": "红原雪玛格牦牛养殖合作社", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "breeding_base", "categoryNameRaw": "养殖基地", "areaCode": "513233101000", "areaName": "刷经寺镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县刷经寺镇", "address": null, "scale": null, "longitude": 102.48668882, "latitude": 32.20779478, "geometryType": "Point", "contacts": {}, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e0187048349d4001f", "name": "色地让里村合作社", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "breeding_base", "categoryNameRaw": "养殖基地", "areaCode": "513233208000", "areaName": "色地镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县色地镇", "address": null, "scale": "2000平方米", "longitude": 102.97944868, "latitude": 32.99718428, "geometryType": "Point", "contacts": {}, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e0187048300bb0019", "name": "邛溪国航奶牛基地", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "breeding_base", "categoryNameRaw": "养殖基地", "areaCode": "513233100000", "areaName": "邛溪镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", "address": "红原县邛溪镇", "scale": null, "longitude": 102.60973364, "latitude": 32.93442417, "geometryType": "Point", "contacts": {}, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e018704830f93001a", "name": "邛溪国航肉牛基地", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "breeding_base", "categoryNameRaw": "养殖基地", "areaCode": "513233100000", "areaName": "邛溪镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", "address": "红原县邛溪镇", "scale": null, "longitude": 102.5857137, "latitude": 32.9178444, "geometryType": "Point", "contacts": {}, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e018704832780001d", "name": "邛溪镇奇杨益西合作社", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "breeding_base", "categoryNameRaw": "养殖基地", "areaCode": "513233103000", "areaName": "安曲镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇", "address": null, "scale": "3355.4亩", "longitude": 102.51815641, "latitude": 32.7759152, "geometryType": "Point", "contacts": {}, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e0187048288e30012", "name": "阿木乡卡口养殖基地", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "breeding_base", "categoryNameRaw": "养殖基地", "areaCode": "513233205000", "areaName": "阿木乡", "areaFullName": "四川省阿坝藏族羌族自治州红原县阿木乡", "address": "四川省红原县阿木乡", "scale": null, "longitude": 102.66730957, "latitude": 32.90532722, "geometryType": "Point", "contacts": {}, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e01870482f79f0018", "name": "麦洼乡利群合作社", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "breeding_base", "categoryNameRaw": "养殖基地", "areaCode": "513233207000", "areaName": "麦洼乡", "areaFullName": "四川省阿坝藏族羌族自治州红原县麦洼乡", "address": "四川省阿坝藏族羌族自治州红原县麦洼乡滚塘村", "scale": "1万亩", "longitude": 102.91804548, "latitude": 33.05789166, "geometryType": "Point", "contacts": {}, "metrics": { "acreage": null }, "attributes": {} } ] }, { "categoryCode": "YC-CXPT-FORAGE-BASE", "categoryName": "cxpt饲草基地", "industryStage": "artificial-grassland", "sources": [ "cxpt.t_base_land" ], "itemCount": 5, "items": [ { "id": "2c9380898a69780a018a69a7c9b10003", "name": "安曲种草基地", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "forage_base", "categoryNameRaw": "饲草基地", "areaCode": "513233103000", "areaName": "安曲镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇", "address": null, "scale": "5000亩", "longitude": null, "latitude": null, "geometryType": null, "contacts": { "leader": "安曲种草基地", "phone": "安曲种草基地" }, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e018704835aae0021", "name": "瓦切抗灾保畜基地", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "forage_base", "categoryNameRaw": "饲草基地", "areaCode": "513233204000", "areaName": "瓦切镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", "address": null, "scale": "3000亩", "longitude": 102.58969571, "latitude": 33.0961638, "geometryType": "Point", "contacts": {}, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e0187048380420023", "name": "瓦切色永村种草基地", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "forage_base", "categoryNameRaw": "饲草基地", "areaCode": "513233204000", "areaName": "瓦切镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", "address": null, "scale": "2000亩", "longitude": 102.63066554, "latitude": 33.14234459, "geometryType": "Point", "contacts": {}, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e01870483927c0025", "name": "瓦切镇特色蔬菜种植园", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "forage_base", "categoryNameRaw": "饲草基地", "areaCode": "513233204000", "areaName": "瓦切镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", "address": null, "scale": null, "longitude": 102.5959684, "latitude": 33.08257632, "geometryType": "Point", "contacts": {}, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e01870481a0d10006", "name": "红原县唐日牦牛养殖农民专业合作社", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "forage_base", "categoryNameRaw": "饲草基地", "areaCode": "513233204000", "areaName": "瓦切镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", "address": "红原县瓦切镇唐日村", "scale": "2000亩", "longitude": 102.690423, "latitude": 33.134153, "geometryType": "Point", "contacts": { "leader": "旦真贡", "phone": "18090242999" }, "metrics": { "acreage": null }, "attributes": {} } ] }, { "categoryCode": "YC-CXPT-BREEDING-STOCK-BASE", "categoryName": "cxpt种畜基地", "industryStage": "scale-breeding", "sources": [ "cxpt.t_base_land" ], "itemCount": 1, "items": [ { "id": "4028c4f88704809e01870482f2de0017", "name": "麦洼乡达坤玛选育场", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "breeding_stock_base", "categoryNameRaw": "种畜基地", "areaCode": "513233207000", "areaName": "麦洼乡", "areaFullName": "四川省阿坝藏族羌族自治州红原县麦洼乡", "address": null, "scale": "1万亩", "longitude": 102.90295791, "latitude": 33.05466505, "geometryType": "Point", "contacts": {}, "metrics": { "acreage": null }, "attributes": {} } ] }, { "categoryCode": "YC-CXPT-GRASS-SEED-BASE", "categoryName": "cxpt草种基地", "industryStage": "artificial-grassland", "sources": [ "cxpt.t_base_land" ], "itemCount": 1, "items": [ { "id": "4028c4f88704809e018704831d77001c", "name": "红原县金针菇特色种植园区", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "grass_seed_base", "categoryNameRaw": "草种基地", "areaCode": "513233100000", "areaName": "邛溪镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", "address": "红原县邛溪镇", "scale": null, "longitude": 102.5421184, "latitude": 32.79970142, "geometryType": "Point", "contacts": {}, "metrics": { "acreage": null }, "attributes": {} } ] }, { "categoryCode": "YC-CXPT-OTHER-BASE", "categoryName": "cxpt其他基地", "industryStage": "social-service", "sources": [ "cxpt.t_base_land" ], "itemCount": 11, "items": [ { "id": "4028c4f88704809e0187048215ac000e", "name": "刷经寺镇露地蔬菜种植基地", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "other", "categoryNameRaw": "其他基地", "areaCode": "513233101000", "areaName": "刷经寺镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县刷经寺镇", "address": "红原县刷经寺镇", "scale": null, "longitude": 102.620282, "latitude": 32.037843, "geometryType": "Point", "contacts": { "leader": "文明智", "phone": "0837-2667185" }, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e01870482023a000c", "name": "四川红原遛遛牛食品有限责任公司", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "other", "categoryNameRaw": "其他基地", "areaCode": "513233103000", "areaName": "安曲镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇", "address": "四川省红原县绿色产业园区", "scale": "25亩", "longitude": 102.324776, "latitude": 32.689929, "geometryType": "Point", "contacts": { "leader": "张自龙", "phone": "13909047233" }, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e018704826d4c0010", "name": "植物园", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "other", "categoryNameRaw": "其他基地", "areaCode": "513233100000", "areaName": "邛溪镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", "address": null, "scale": null, "longitude": 102.551944, "latitude": 32.780316, "geometryType": "Point", "contacts": { "phone": "13888888888" }, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e01870481f0a0000a", "name": "活畜交易市场", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "other", "categoryNameRaw": "其他基地", "areaCode": "513233100000", "areaName": "邛溪镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", "address": "红原县邛溪镇", "scale": "3000亩", "longitude": 102.57314, "latitude": 32.82984, "geometryType": "Point", "contacts": { "leader": "向白", "phone": "18090223335" }, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e01870481f4e9000b", "name": "物联网大数据监测系统", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "other", "categoryNameRaw": "其他基地", "areaCode": "513233205000", "areaName": "阿木乡", "areaFullName": "四川省阿坝藏族羌族自治州红原县阿木乡", "address": "红原县绿色工业园区", "scale": "10000", "longitude": 102.776153, "latitude": 32.72242, "geometryType": "Point", "contacts": { "leader": "熊先生", "phone": "13845444444" }, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e0187048384dc0024", "name": "瓦切阳诺合作社", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "other", "categoryNameRaw": "其他基地", "areaCode": "513233204000", "areaName": "瓦切镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", "address": null, "scale": "3000亩", "longitude": 102.63675654, "latitude": 33.14253159, "geometryType": "Point", "contacts": {}, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e018704811f290000", "name": "红原县城市污水处理厂", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "other", "categoryNameRaw": "其他基地", "areaCode": "513233100000", "areaName": "邛溪镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", "address": null, "scale": "2.5公顷", "longitude": 102.559801, "latitude": 32.816904, "geometryType": "Point", "contacts": {}, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e01870481b7180008", "name": "红原县永源牦牛肉业有限公司", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "other", "categoryNameRaw": "其他基地", "areaCode": "513233205000", "areaName": "阿木乡", "areaFullName": "四川省阿坝藏族羌族自治州红原县阿木乡", "address": "红原县邛溪镇绿色工业园区", "scale": "30亩", "longitude": 102.628332, "latitude": 32.639351, "geometryType": "Point", "contacts": { "leader": "张健", "phone": "13566787888" }, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e01870482067d000d", "name": "红原县茸日玛绵羊养殖专业合作社", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "other", "categoryNameRaw": "其他基地", "areaCode": "513233202000", "areaName": "江茸乡", "areaFullName": "四川省阿坝藏族羌族自治州红原县江茸乡", "address": "红原县江茸镇日玛村", "scale": "5000亩", "longitude": 102.23279, "latitude": 32.402614, "geometryType": "Point", "contacts": { "leader": "旦真则旺", "phone": "13541576727" }, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e01870481aa840007", "name": "红原牦牛乳业有限责任公司", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "other", "categoryNameRaw": "其他基地", "areaCode": "513233100000", "areaName": "邛溪镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", "address": "四川省红原县邛溪镇", "scale": "92490平方米", "longitude": 102.747914, "latitude": 32.802653, "geometryType": "Point", "contacts": { "leader": "杨勇", "phone": "13551770158" }, "metrics": { "acreage": null }, "attributes": {} }, { "id": "4028c4f88704809e01870481cc520009", "name": "(无害化)红原县宜霖阳光环保科技有限公司", "sourceFile": "cxpt PostgreSQL database", "sourceSheet": "t_base_land", "categoryCodeRaw": "other", "categoryNameRaw": "其他基地", "areaCode": "513233105000", "areaName": "龙日镇", "areaFullName": "四川省阿坝藏族羌族自治州红原县龙日镇", "address": "红原县邛溪镇绛熙东街", "scale": "占地20亩", "longitude": 102.352372, "latitude": 32.538109, "geometryType": "Point", "contacts": { "leader": "谢光伍", "phone": "13609975631" }, "metrics": { "acreage": null }, "attributes": {} } ] } ] } `,s5=[{key:"family-pasture",name:"家庭生态牧场",color:"#24f6c4",unit:"户",metricLabel:"牧场",width:126},{key:"artificial-grassland",name:"人工草地",color:"#7ee269",unit:"万亩",metricLabel:"草地",width:112},{key:"scale-breeding",name:"规模化养殖基地",subName:"牦牛选育场",color:"#32dcff",unit:"个",metricLabel:"基地",width:132},{key:"forage-storage",name:"防灾减灾",subName:"饲草储备库",color:"#ffe06b",unit:"吨",metricLabel:"库容",width:126},{key:"slaughter-processing",name:"屠宰与加工",color:"#ff9a62",unit:"万元",metricLabel:"产值",width:112},{key:"farm-equipment",name:"农机装备",color:"#30dcff",unit:"个",metricLabel:"装备",width:112},{key:"social-service",name:"社会化服务",subName:"金融/疫病/保险/培训",color:"#9ea7ff",unit:"个",metricLabel:"主体",width:132}],v4=p8.map(n=>n.zoneName),vn2=new Map(ia.map(n=>[n.name,n.center])),nA=JSON.parse(gn2),Kl=nA.categories||[],yn2=new Map(Kl.map(n=>[n.categoryCode,n])),rb=new Set(["企业全称","主体全称","畜牧工作站","规划建设股","执法大队","疫控中心","科教股","科技股","乡村振兴股","农产品检测站","数据欠缺,请两个股室核定饲草基地数据。","对接相关科研院校收集数据"]),_n2=new Set(["YC-GRASSLAND-RESOURCE","YC-CXPT-OTHER-BASE"]),Sn2=[/^林草局数据-\d+$/,/^(技术培训|金融服务网点|保险服务网点)-\d+$/],bn2=[/蔬菜/,/金针菇/,/植物园/,/污水/,/物联网/,/绵羊/],fp=Kl.flatMap(n=>(n.items||[]).map(e=>{var t;return R3(d3({},e),{categoryCode:n.categoryCode,categoryName:n.categoryName,stageKey:n.industryStage,stageName:((t=o5(n.industryStage))==null?void 0:t.name)||n.categoryName})})),os=fp.filter(Me),ab=new Map(fp.map(n=>[String(n.id),n])),Xl=Ft("YC-FAMILY-PASTURE"),iA=Ft(["YC-BREEDING-STOCK","YC-CXPT-BREEDING-STOCK-BASE"]),ls=Ft(["YC-FORAGE-BASE","YC-CXPT-FORAGE-BASE","YC-CXPT-GRASS-SEED-BASE"]),h9=Ft("YC-DISASTER-FORAGE-STORAGE"),Ti=Ft("YC-PROCESSING-PLANT"),f9=Ft("YC-SLAUGHTERHOUSE"),rA=Ft("YC-FARM-EQUIPMENT"),aA=Ft("YC-DISEASE-CONTROL"),us=Ft("YC-TECH-TRAINING"),ua=Ft("YC-SERVICE-FINANCE"),Jl=Ft("YC-SERVICE-INSURANCE"),y4=U6(Xl);U6(ls);const vl=U6(h9),sA=U6(iA);U6(Ti);U6(f9);const Bh=U6(rA),zh=U6(aA),oA=U6(us),pp=U6(ua),lA=U6(Jl);Kl.filter(n=>Ft(n.categoryCode).some(Me)).length;os.length;new Set(os.map(k6).filter(Boolean)).size||v4.length;const Tn2=Math.max(Bh,X6.reduce((n,e)=>n+Number(e.devices||0),0)),Gh=kn(ls,n=>Q1(n,["种植面积 (亩)","acreage"])||o9(n.scale)),yl=kn(h9,n=>Q1(n,["总库容 (吨)"])),Vh=kn(Ft("YC-BREEDING-BASE"),n=>Q1(n,["设计存栏量 (头)"])),uA=kn(Ft("YC-BREEDING-BASE"),n=>Q1(n,["年出栏量 (头)"])),cA=kn(Ti,n=>Q1(n,["年产值 (万元)"])),mp=kn(Ti,n=>Q1(n,["年加工鲜奶总量 (吨)","年加工原料肉总量 (吨)"])),gp=kn(Ti,n=>Q1(n,["带动本地农户数"])),vp=kn(f9,n=>Q1(n,["年总产值 (万元)"])),Zl=kn(f9,n=>Q1(n,["年屠宰总量 (头)"])),dA=kn(f9,n=>Q1(n,["冷冻库容量 (吨)"])),yp=cA+vp,Jr=Sp(ua,n=>Q1(n,["最高单户贷款额度 (万元)"])),wn2=Sp(ua,n=>Q1(n,["服务覆盖乡镇数"])),Hh=Sp(Jl,n=>Q1(n,["服务覆盖乡镇数"])),hA=kn(us,n=>Q1(n,["年培训场次"])),W4=kn(us,n=>Q1(n,["年培训人次"])),xn2=Ft("YC-BREEDING-BASE"),_l=i62([...ls,...h9]),An2=r62(),fA=a62(),Cn2=X6.map(n=>({key:n.name,name:n.name,value:Number(n.devices||0),unit:"套",extra:`${It(n.count)}头识别样本`})).filter(n=>n.value>0).sort(Kt),Mn2=X6.map(n=>({key:n.name,name:n.name,value:Number(n.count||0),unit:"头",extra:`${It(n.devices)}套设备`})).filter(n=>n.value>0).sort(Kt),En2=Bn2(),pA=Zn(r9.grasslandArea/1e4,2);nA.generatedAt;h9.map(_p);[...Ti,...f9].map(_p);os.map(_p);const Pn2=os.map(Vn2).sort((n,e)=>Number(e.canLocate)-Number(n.canLocate)||n.stageOrder-e.stageOrder||String(n.name).localeCompare(String(e.name),"zh-CN"));s5.reduce((n,e)=>n+Xn(e.key),0);new Set(s5.flatMap(n=>Sl(n.key).map(e=>e.town)).filter(Boolean)).size||v4.length;function Rn2(n){const e=Fn2(n);return({"family-pasture":[{zh:"家庭生态牧场",name:"家庭生态牧场",value:y4,unit:"户"},{zh:"估算存栏",name:"估算存栏",value:u8,unit:"头"},{zh:"覆盖乡镇",name:"覆盖乡镇",value:Tl(Xl,k6),unit:"个"},{zh:"户均存栏",name:"户均存栏",value:Zn(u8/Math.max(y4,1)),unit:"头/户"}],"artificial-grassland":[{zh:"种草面积",name:"种草面积",value:Zn(Gh/1e4,2),unit:"万亩",decimals:2},{zh:"饲草点位",name:"饲草点位",value:Xn("artificial-grassland"),unit:"个"},{zh:"草种类型",name:"草种类型",value:_l.length,unit:"类"},{zh:"草地资源",name:"草地资源",value:pA,unit:"万亩",decimals:2}],"scale-breeding":[{zh:"养殖点位",name:"养殖点位",value:Xn("scale-breeding"),unit:"个"},{zh:"设计存栏",name:"设计存栏",value:Vh,unit:"头"},{zh:"年出栏",name:"年出栏",value:uA,unit:"头"},{zh:"育种场",name:"育种场",value:sA,unit:"个"}],"forage-storage":[{zh:"储备库",name:"储备库",value:vl,unit:"个"},{zh:"总库容",name:"总库容",value:yl,unit:"吨"},{zh:"覆盖乡镇",name:"覆盖乡镇",value:Tl(h9,k6),unit:"个"},{zh:"草种类型",name:"草种类型",value:_l.length,unit:"类"}],"slaughter-processing":[{zh:"加工屠宰点位",name:"加工屠宰点位",value:Xn("slaughter-processing"),unit:"个"},{zh:"产业产值",name:"产业产值",value:Zn(yp,1),unit:"万元",decimals:1},{zh:"年屠宰量",name:"年屠宰量",value:Zl,unit:"头"},{zh:"带动农户",name:"带动农户",value:gp,unit:"户"}],"farm-equipment":[{zh:"监测点位",name:"监测点位",value:Xn("farm-equipment"),unit:"个"},{zh:"识别设备",name:"识别设备",value:X6.reduce((i,r)=>i+Number(r.devices||0),0),unit:"套"},{zh:"乡镇样本",name:"乡镇样本",value:X6.length,unit:"个"},{zh:"识别样本",name:"识别样本",value:X6.reduce((i,r)=>i+Number(r.count||0),0),unit:"头"}],"social-service":[{zh:"服务点位",name:"服务点位",value:Xn("social-service"),unit:"个"},{zh:"最高授信",name:"最高授信",value:Jr,unit:"万元"},{zh:"培训人次",name:"培训人次",value:W4,unit:"人次"},{zh:"服务类型",name:"服务类型",value:fA.length,unit:"类"}]}[n]||[{zh:e.name,name:e.name,value:e.value,unit:e.unit},{zh:e.capacityUnit?"能力规模":"主体规模",name:e.capacityUnit?"能力规模":"主体规模",value:e.capacity,unit:e.capacityUnit},...(e.fields||[]).map(i=>({zh:i.label,name:i.label,value:i.value,unit:i.unit}))]).filter(i=>i.value!==void 0&&i.value!==null&&i.value!=="").slice(0,4)}s5.map(n=>({key:n.key,name:n.name,value:Xn(n.key),unit:n.key==="family-pasture"?"户":"个",color:n.color}));const sb=[{key:"family-pasture",name:"家庭生态牧场",value:y4,unit:"户",capacity:u8,capacityUnit:"头",note:"家庭生态牧场与牦牛养殖基础",fields:[{label:"家庭生态牧场",value:y4,unit:"户"},{label:"覆盖乡镇",value:Tl(Xl,k6),unit:"个"},{label:"户均存栏",value:Zn(u8/Math.max(y4,1)),unit:"头/户"}]},{key:"artificial-grassland",name:"人工草地",value:Zn(Gh/1e4,2),unit:"万亩",capacity:pA,capacityUnit:"万亩",note:"种草饲草基地、草种基地与草地资源",fields:[{label:"种草面积",value:Zn(Gh/1e4,2),unit:"万亩"},{label:"饲草点位",value:Xn("artificial-grassland"),unit:"个"},{label:"草种类型",value:3,unit:"类"}]},{key:"scale-breeding",name:"规模化养殖基地",value:Xn("scale-breeding"),unit:"个",capacity:Vh,capacityUnit:"头",note:"标准化养殖、选育扩繁与种畜基地",fields:[{label:"设计存栏",value:Vh,unit:"头"},{label:"年出栏",value:uA,unit:"头"},{label:"育种场",value:sA,unit:"个"}]},{key:"forage-storage",name:"防灾减灾饲草储备库",value:vl,unit:"个",capacity:yl,capacityUnit:"吨",note:"饲草储备、防灾调拨和草种保障",fields:[{label:"储备库",value:vl,unit:"个"},{label:"总库容",value:yl,unit:"吨"},{label:"覆盖乡镇",value:Tl(h9,k6),unit:"个"}]},{key:"slaughter-processing",name:"屠宰与加工",value:Xn("slaughter-processing"),unit:"个",capacity:Zn(yp,1),capacityUnit:"万元",note:"乳品加工、肉制品加工与定点屠宰",fields:[{label:"加工产值",value:cA,unit:"万元"},{label:"屠宰产值",value:Zn(vp,1),unit:"万元"},{label:"年屠宰量",value:Zl,unit:"头"}]},{key:"farm-equipment",name:"农机装备",value:Xn("farm-equipment"),unit:"个",capacity:Tn2,capacityUnit:"套",note:"农机服务主体与生产监测设备",fields:[{label:"监测点位",value:Xn("farm-equipment"),unit:"个"},{label:"识别设备",value:X6.reduce((n,e)=>n+Number(e.devices||0),0),unit:"套"},{label:"乡镇样本",value:X6.length,unit:"个"}]},{key:"social-service",name:"社会化服务",value:Xn("social-service"),unit:"个",capacity:Jr,capacityUnit:"万元",note:"金融、保险、防疫、培训和其他服务网点",fields:[{label:"金融网点",value:pp,unit:"家"},{label:"最高授信",value:Jr,unit:"万元"},{label:"培训人次",value:W4,unit:"人次"}]}],Nn2=Wn2(),Ln2=bl(h9,k6,n=>Q1(n,["总库容 (吨)"])).map(n=>R3(d3({},n),{unit:"吨",extra:`${n.count}个库点`})).slice(0,6),In2=[{key:"milk-processing",name:"乳品加工",value:kn(Ti.filter(s62),n=>Q1(n,["年产值 (万元)"])),unit:"万元",color:"#32dcff"},{key:"meat-processing",name:"肉品加工",value:kn(Ti.filter(o62),n=>Q1(n,["年产值 (万元)"])),unit:"万元",color:"#ff9a62"},{key:"slaughter-output",name:"定点屠宰",value:Zn(vp,1),unit:"万元",color:"#ffe06b"}].filter(n=>n.value>0);`${Ti.filter(Me).length}`,`${f9.filter(Me).length}`;$a(wn2,10),`${It(Jr)}`,$a(Hh,10),`${It(Hh)}`,$a(W4,200),`${It(W4)}`,$a(zh,4),$a(Bh,3);function kn2(n){const e=o5(n),t=$n2(n),i={"family-pasture":{left:[Ae("family-town","牧场镇域分布","bar",nr(n).slice(0,5),{variant:"rankBar"}),Ae("family-town-stock","镇域存栏支撑","column",qn2(),{variant:"slim"}),Ae("family-grass-resource","草地资源保障","heat",Kn2())],right:[k5(n)]},"artificial-grassland":{left:[Ae("grass-town","种草面积排行","column",nr(n).slice(0,7),{variant:"slim"}),Ae("grass-heat","基地面积热区","heat",Xn2()),Ae("grass-type","草种保障结构","structure",_l)],right:[k5(n)]},"scale-breeding":{left:[Ae("breeding-stock","设计存栏排行","bar",nr(n).slice(0,5),{variant:"rankBar"}),Ae("breeding-output","年出栏能力排行","column",Jn2(),{variant:"slim"}),Ae("breeding-level","育种等级结构","donut",Nn2)],right:[k5(n)]},"forage-storage":{left:[Ae("storage-town","库容镇域排行","bar",nr(n).slice(0,7)),Ae("storage-point","库点能力热区","heat",Zn2()),Ae("storage-grass","储备草种结构","structure",_l)],right:[k5(n)]},"slaughter-processing":{left:[Ae("processing-value","产值结构","bar",In2),Ae("processing-chain","产能与带动","structure",An2),Ae("processing-heads","屠宰能力排行","column",Qn2(),{variant:"slim"})],right:[k5(n)]},"farm-equipment":{left:[Ae("equipment-device","识别设备分布","column",Cn2.slice(0,7),{variant:"slim"}),Ae("equipment-recognition","识别样本排行","bar",Mn2.slice(0,7))],right:[k5(n)]},"social-service":{left:[Ae("service-type","服务主体结构","structure",fA),Ae("service-credit","金融授信排行","bar",e62()),Ae("service-coverage","服务覆盖对比","column",t62(),{variant:"slim"}),Ae("service-training","培训服务能力","line",n62())],right:[k5(n)]}},r={left:[Ae(`${e.key}-rank`,`${e.metricLabel}排行`,"bar",nr(n).slice(0,7)),Ae(`${e.key}-subject`,"主体结构","structure",t),Ae(`${e.key}-town`,"镇域覆盖热区","heat",Dn2(n).slice(0,8)),Ae(`${e.key}-capacity`,"能力规模分布","split",nr(n).slice(0,7))],right:[k5(n)]};return i[n]||r}`${vl}`,`${Ti.filter(Me).length}`,Zn(yp,1);function o5(n){return s5.find(e=>e.key===n)||s5[0]}function Fn2(n){return sb.find(e=>e.key===n)||sb[0]}function nr(n){return n==="family-pasture"?bl(Xl,k6,()=>1).map(e=>R3(d3({},e),{unit:"户",extra:"家庭生态牧场"})).slice(0,7):n==="artificial-grassland"?bl(ls,k6,e=>Q1(e,["种植面积 (亩)","acreage"])||o9(e.scale)).map(e=>R3(d3({},e),{value:Zn(e.value/1e4,2),unit:"万亩",extra:`${e.count}个基地`})).slice(0,7):n==="scale-breeding"?Ft("YC-BREEDING-BASE").map(e=>({key:e.id,name:L6(e.name),value:Q1(e,["设计存栏量 (头)"]),unit:"头",extra:`年出栏${It(Q1(e,["年出栏量 (头)"]))}头`})).filter(e=>e.value>0).sort(Kt).slice(0,7):n==="forage-storage"?Ln2:n==="slaughter-processing"?[...Ti,...f9].filter(Me).map(e=>({key:e.id,name:L6(e.name),value:Q1(e,["年产值 (万元)","年总产值 (万元)"]),unit:"万元",extra:e.categoryName})).filter(e=>e.value>0).sort(Kt).slice(0,7):n==="farm-equipment"?rA.filter(Me).map(e=>{var t;return{key:e.id,name:L6(e.name),value:1,unit:"个",extra:((t=e.attributes)==null?void 0:t.简称)||"农机服务"}}):n==="social-service"?[{key:"finance",name:"金融服务网点",value:pp,unit:"家",extra:`最高${It(Jr)}万元`},{key:"insurance",name:"保险服务网点",value:lA,unit:"家",extra:`覆盖${It(Hh)}乡镇`},{key:"training",name:"技术培训机构",value:oA,unit:"家",extra:`${It(hA)}场`},{key:"disease",name:"疫病防控主体",value:zh,unit:"个",extra:"防疫服务"}]:[]}function Dn2(n){return bl(On2(n),k6,()=>1).map(e=>R3(d3({},e),{unit:"个",extra:`${e.count}条`}))}function Un2(n={}){const e=l62(n);if(!e)return[];const t=[],i=e.metrics||{},r=e.attributes||{},a=(s,o,l="")=>{yA(o)||t.push({label:s,value:c62(o,l)})};return a("运营单位",r.运营单位),a("育种等级",r.育种等级),a("育种方向",r.主要育种方向),a("设计存栏",i["设计存栏量 (头)"],"头"),a("年出栏量",i["年出栏量 (头)"],"头"),a("种植面积",i["种植面积 (亩)"]||e.scale,e.scale?"":"亩"),a("总库容",i["总库容 (吨)"],"吨"),a("年产值",i["年产值 (万元)"]||i["年总产值 (万元)"],"万元"),a("年加工量",i["年加工鲜奶总量 (吨)"]||i["年加工原料肉总量 (吨)"],"吨"),a("年屠宰量",i["年屠宰总量 (头)"],"头"),a("服务覆盖",i.服务覆盖乡镇数,"个乡镇"),a("最高授信",i["最高单户贷款额度 (万元)"],"万元"),a("主要产品",r.主要产品),a("主要草种",r.主要草种||r.储备草种),t.slice(0,8)}function Ft(n){return(Array.isArray(n)?n:[n]).flatMap(t=>{const i=yn2.get(t);return((i==null?void 0:i.items)||[]).map(r=>{var a;return R3(d3({},r),{categoryCode:i.categoryCode,categoryName:i.categoryName,stageKey:i.industryStage,stageName:((a=o5(i.industryStage))==null?void 0:a.name)||i.categoryName})})})}function On2(n){return os.filter(e=>e.stageKey===n)}function Sl(n){return n==="farm-equipment"?En2:Pn2.filter(e=>e.stageKey===n&&e.canLocate)}function Xn(n){return Sl(n).length}function Bn2(){return X6.map((n,e)=>{const t=vn2.get(n.name),i=Number(t==null?void 0:t[0]),r=Number(t==null?void 0:t[1]);if(!jh(i,r))return null;const a=`YC-FARM-EQUIPMENT-TOWN-${String(e+1).padStart(3,"0")}`,s=`${n.name}农机装备监测点`,o=Number(n.devices||0),l=Number(n.count||0);return{key:a,id:a,name:s,fullName:s,stageKey:"farm-equipment",stageName:o5("farm-equipment").name,stageOrder:s5.findIndex(u=>u.key==="farm-equipment"),typeName:"农机装备监测点",categoryName:"农机装备监测点",town:n.name,address:`${n.name}乡镇中心`,status:"监测样本",value:o,unit:"套",numericValue:o,valueText:`${It(o)}套`,extra:`${It(l)}头识别样本`,longitude:i,latitude:r,locateText:"定位",canLocate:!0,searchText:[s,"农机装备",n.name,`${o}套`,`${l}头识别样本`].join(" ")}}).filter(Boolean).sort((n,e)=>e.numericValue-n.numericValue||String(n.name).localeCompare(String(e.name),"zh-CN"))}function Me(n={}){var i;const e=e9(n.name),t=e9((i=n.attributes)==null?void 0:i.序号);return!(!e||rb.has(e)||_n2.has(n.categoryCode)||bn2.some(r=>r.test(e))||n.categoryCode==="YC-FAMILY-PASTURE"&&!vA(n)||t&&rb.has(t)&&!zn2(n)||Sn2.some(r=>r.test(e)))}function U6(n=[]){return n.filter(Me).length}function zn2(n={}){return Object.values(n.metrics||{}).some(e=>o9(e)>0)}function _p(n={}){var t,i,r,a;const e=mA(n);return{key:String(n.id||n.name),name:n.name,stageKey:n.stageKey,typeName:n.categoryName,categoryName:n.categoryName,town:k6(n),address:n.address||n.village||n.areaFullName||"",status:n.status||"",products:((t=n.attributes)==null?void 0:t.主要产品)||((i=n.attributes)==null?void 0:i.主要草种)||((r=n.attributes)==null?void 0:r.储备草种)||((a=n.attributes)==null?void 0:a.主要育种方向)||"",capacity:e,capacityUnit:gA(n),outputValue:Q1(n,["年产值 (万元)","年总产值 (万元)"]),longitude:n.longitude,latitude:n.latitude}}function Gn2(n={}){const e=mA(n),t=gA(n),i=k6(n);return{key:String(n.id||n.name),name:L6(n.name),fullName:n.name,stageKey:n.stageKey,typeName:n.categoryName,categoryName:n.categoryName,town:i||"全县",address:n.address||n.village||n.areaFullName||"",status:n.status||"待完善",value:e,unit:t,numericValue:Number(e)||0,valueText:Hn2(n,e,t),extra:jn2(n),sourceSheet:n.sourceSheet}}function Vn2(n={}){var d,h;const e=Gn2(n),t=vA(n),i=o5(n.stageKey),r=e9(n.name),a=e9(n.categoryName).replace(/^cxpt/i,""),s=e9(n.address||n.village||n.areaFullName||""),o=n.attributes||{},l=n.metrics||{},u=[r,e.name,i==null?void 0:i.name,a,e.town,s,o.简称,o.运营单位,o.主要产品,o.主要草种,o.储备草种,o.主要育种方向,l["主要贷款产品(可多选)"],e.valueText,e.extra,n.sourceSheet].filter(Boolean).join(" ");return R3(d3({},e),{name:e.name,fullName:r,stageName:(i==null?void 0:i.name)||e.stageName||"",stageOrder:s5.findIndex(f=>f.key===n.stageKey),categoryName:a,address:s,longitude:(d=t==null?void 0:t.longitude)!=null?d:"",latitude:(h=t==null?void 0:t.latitude)!=null?h:"",locateText:t?"定位":"暂无",canLocate:!!t,searchText:u})}function mA(n={}){var e,t;return n.stageKey==="family-pasture"?1:n.categoryCode==="YC-BREEDING-STOCK"?((e=n.attributes)==null?void 0:e.育种等级)||"待完善":n.categoryCode==="YC-CXPT-BREEDING-STOCK-BASE"?o9(n.scale)||1:n.categoryCode==="YC-BREEDING-BASE"?Q1(n,["设计存栏量 (头)"]):n.categoryCode==="YC-FORAGE-BASE"?Q1(n,["种植面积 (亩)"]):n.categoryCode==="YC-DISASTER-FORAGE-STORAGE"?Q1(n,["总库容 (吨)"]):n.categoryCode==="YC-PROCESSING-PLANT"?Q1(n,["年产值 (万元)"])||Q1(n,["年加工鲜奶总量 (吨)","年加工原料肉总量 (吨)"]):n.categoryCode==="YC-SLAUGHTERHOUSE"?Q1(n,["年总产值 (万元)"])||Q1(n,["年屠宰总量 (头)"]):n.categoryCode==="YC-SERVICE-FINANCE"?Q1(n,["最高单户贷款额度 (万元)","服务覆盖乡镇数"]):n.categoryCode==="YC-SERVICE-INSURANCE"?Q1(n,["服务覆盖乡镇数"]):n.categoryCode==="YC-TECH-TRAINING"?Q1(n,["年培训人次","年培训场次"]):(t=n.categoryCode)!=null&&t.startsWith("YC-CXPT")?o9(n.scale)||Q1(n,["acreage"]):Q1(n,Object.keys(n.metrics||{}))||1}function gA(n={}){var e;return n.stageKey==="family-pasture"?"户":n.categoryCode==="YC-BREEDING-STOCK"?"":n.categoryCode==="YC-BREEDING-BASE"?"头":["YC-FORAGE-BASE","YC-CXPT-FORAGE-BASE","YC-CXPT-GRASS-SEED-BASE","YC-CXPT-BREEDING-STOCK-BASE"].includes(n.categoryCode)?"亩":n.categoryCode==="YC-DISASTER-FORAGE-STORAGE"?"吨":n.categoryCode==="YC-PROCESSING-PLANT"||n.categoryCode==="YC-SLAUGHTERHOUSE"||n.categoryCode==="YC-SERVICE-FINANCE"?"万元":n.categoryCode==="YC-SERVICE-INSURANCE"?"乡镇":n.categoryCode==="YC-TECH-TRAINING"?"人次":(e=n.categoryCode)!=null&&e.startsWith("YC-CXPT")?"亩":""}function Hn2(n,e,t){return n.categoryCode==="YC-BREEDING-STOCK"?String(e||"待完善"):Number.isFinite(Number(e))?`${It(e)}${t||""}`:String(e||"")}function jn2(n={}){const e=n.attributes||{},t=n.metrics||{};return e.主要产品||e.主要草种||e.储备草种||e.主要育种方向||t["主要贷款产品(可多选)"]||n.sourceSheet||""}function Wn2(){const n=new Map;return iA.forEach(e=>{var r;const t=e9((r=e.attributes)==null?void 0:r.育种等级)||"待完善",i=n.get(t)||{key:t,name:t,value:0,unit:"个"};i.value+=1,n.set(t,i)}),[...n.values()].sort((e,t)=>{var r,a;const i={省级:0,县级:1,待完善:2};return((r=i[e.name])!=null?r:9)-((a=i[t.name])!=null?a:9)})}function $n2(n){return Kl.filter(e=>e.industryStage===n).map(e=>{const t=U6(Ft(e.categoryCode));return{key:e.categoryCode,name:e.categoryName.replace(/^cxpt/,""),value:t,unit:"条",extra:o5(n).name}}).filter(e=>e.value>0).sort(Kt)}function Ae(n,e,t,i,r={}){return d3({key:n,title:e,height:190,renderer:"business",type:t,rows:i},r)}function Yn2(n){return n?Sl(n):s5.flatMap(e=>Sl(e.key))}function k5(n){const e=o5(n),t=Yn2(n);return{key:"industry-chain-list",title:`${e.name}点位清单`,height:392,renderer:"business",type:"projectTable",rows:t,searchPlaceholder:`搜索${e.name}点位 / 乡镇`,emptyText:"无匹配点位",columns:[{key:"name",label:"主体",field:"name",width:"38%",className:"business-project-col-name"},{key:"stage",label:"类型",field:"categoryName",width:"24%"},{key:"town",label:"乡镇",field:"town",width:"18%"},{key:"locate",label:"定位",field:"locateText",width:"20%",align:"center"}],searchKeys:["name","fullName","stageName","categoryName","town","address","valueText","extra","sourceSheet","searchText"]}}function qn2(){return p8.map(n=>({key:n.zoneName,name:n.zoneName,value:Number(n.yakCount||0),unit:"头",extra:"牦牛存栏"})).filter(n=>n.value>0).sort(Kt).slice(0,8)}function Kn2(){return p8.map(n=>({key:n.zoneName,name:n.zoneName,value:Zn(Number(n.grasslandArea||0)/1e4,2),unit:"万亩",extra:"草地资源"})).filter(n=>n.value>0).sort(Kt).slice(0,8)}function Xn2(){return ls.filter(Me).map(n=>({key:n.id,name:L6(n.name),value:Q1(n,["种植面积 (亩)","acreage"])||o9(n.scale),unit:"亩",extra:k6(n)||n.categoryName})).filter(n=>n.value>0).sort(Kt).slice(0,8)}function Jn2(){return xn2.filter(Me).map(n=>({key:n.id,name:L6(n.name),value:Q1(n,["年出栏量 (头)"]),unit:"头",extra:`设计${It(Q1(n,["设计存栏量 (头)"]))}头`})).filter(n=>n.value>0).sort(Kt).slice(0,7)}function Zn2(){return h9.filter(Me).map(n=>{var e;return{key:n.id,name:L6(n.name),value:Q1(n,["总库容 (吨)"]),unit:"吨",extra:Q1(n,["发放次数"])||((e=n.attributes)==null?void 0:e.储备草种)||"储备库"}}).filter(n=>n.value>0).sort(Kt).slice(0,8)}function Qn2(){return f9.filter(Me).map(n=>({key:n.id,name:L6(n.name),value:Q1(n,["年屠宰总量 (头)"]),unit:"头",extra:`${It(Q1(n,["冷冻库容量 (吨)"]))}吨冷链`})).filter(n=>n.value>0).sort(Kt).slice(0,7)}function e62(){return ua.filter(Me).map(n=>{var e;return{key:n.id,name:L6(((e=n.attributes)==null?void 0:e.简称)||n.name),value:Q1(n,["最高单户贷款额度 (万元)"]),unit:"万元",extra:`覆盖${It(Q1(n,["服务覆盖乡镇数"]))}乡镇`}}).filter(n=>n.value>0).sort(Kt).slice(0,7)}function t62(){return[...ua.filter(Me).map(n=>{var e;return{key:n.id,name:L6(((e=n.attributes)==null?void 0:e.简称)||n.name),value:Q1(n,["服务覆盖乡镇数"]),unit:"乡镇",extra:"金融"}}),...Jl.filter(Me).map(n=>{var e;return{key:n.id,name:L6(((e=n.attributes)==null?void 0:e.简称)||n.name),value:Q1(n,["服务覆盖乡镇数"]),unit:"乡镇",extra:"保险"}})].filter(n=>n.value>0).sort(Kt).slice(0,7)}function n62(){const n=us.filter(Me).map(e=>({key:e.id,name:L6(e.name),value:Q1(e,["年培训人次"]),unit:"人次",extra:`${It(Q1(e,["年培训场次"]))}场`})).filter(e=>e.value>0).sort(Kt).slice(0,7);return n.length?n:[{key:"sessions",name:"年培训场次",value:hA,unit:"场"},{key:"persons",name:"年培训人次",value:W4,unit:"人次"}]}function i62(n){const e=[{key:"oat",name:"燕麦草",pattern:/燕麦/},{key:"elymus",name:"披碱草",pattern:/披碱草/},{key:"roegneria",name:"老芒麦",pattern:/老芒麦/},{key:"other",name:"其他草种",pattern:/./}],t=new Map(e.map(i=>[i.key,{key:i.key,name:i.name,value:0,unit:"处"}]));return n.filter(Me).forEach(i=>{var o,l;const r=[(o=i.attributes)==null?void 0:o.主要草种,(l=i.attributes)==null?void 0:l.储备草种].filter(Boolean).join("、"),a=e.filter(u=>u.key!=="other"&&u.pattern.test(r));(a.length?a:[e[e.length-1]]).forEach(u=>{t.get(u.key).value+=1})}),[...t.values()].filter(i=>i.value>0).sort(Kt)}function r62(){return[{key:"raw-capacity",name:"原料加工",value:mp,unit:"吨"},{key:"slaughter-heads",name:"屠宰总量",value:Zl,unit:"头"},{key:"farmer-driven",name:"带动农户",value:gp,unit:"户"},{key:"cold-storage",name:"冷链能力",value:dA,unit:"吨"}].filter(n=>n.value>0)}function a62(){return[{key:"finance",name:"金融",value:ua.filter(Me).length,unit:"家"},{key:"insurance",name:"保险",value:Jl.filter(Me).length,unit:"家"},{key:"training",name:"培训",value:us.filter(Me).length,unit:"家"},{key:"disease",name:"防疫",value:aA.filter(Me).length,unit:"个"}].filter(n=>n.value>0)}function bl(n,e,t){const i=new Map;return n.filter(Me).forEach(r=>{const a=e9(typeof e=="function"?e(r):r[e])||"未填写",s=i.get(a)||{key:a,name:a,value:0,count:0,extra:""};s.value+=Number(t(r)||0),s.count+=1,i.set(a,s)}),[...i.values()].sort(Kt)}function Q1(n={},e=[]){const t=n.metrics||{},i=Array.isArray(e)?e:[e];for(const r of i)if(Object.prototype.hasOwnProperty.call(t,r)){const a=o9(t[r]);if(a||a===0)return a}return 0}function o9(n){if(typeof n=="number")return Number.isFinite(n)?n:0;if(yA(n))return 0;const e=String(n).replace(/,/g,"").trim();if(!e||e==="无"||e==="待完善")return 0;const t=e.match(/-?\d+(?:\.\d+)?/);if(!t)return 0;let i=Number(t[0]);return e.includes("万亩")&&!e.includes("万元")&&(i*=1e4),Number.isFinite(i)?i:0}function k6(n={}){const e=e9(n.town||n.areaName);if(v4.includes(e))return e;const t=[n.town,n.areaName,n.areaFullName,n.address,n.village,n.name].filter(Boolean).join(" "),i=v4.find(r=>t.includes(r));return i||v4.find(r=>{const a=r.replace(/[镇乡]$/,"");return a.length>=2&&t.includes(a)})||e}function vA(n={}){const e=ir(n.longitude),t=ir(n.latitude);if(jh(e,t))return{longitude:e,latitude:t};const i=Object.values(n.locations||{}).find(r=>jh(ir(r==null?void 0:r.longitude),ir(r==null?void 0:r.latitude)));return i?{longitude:ir(i.longitude),latitude:ir(i.latitude)}:null}function jh(n,e){const t=Number(n),i=Number(e);return Number.isFinite(t)&&Number.isFinite(i)&&t>=v0.west&&t<=v0.east&&i>=v0.south&&i<=v0.north}function ir(n){if(n==null||n==="")return NaN;const e=Number(n);return Number.isFinite(e)?e:NaN}function s62(n={}){var t;const e=[n.name,(t=n.attributes)==null?void 0:t.主要产品].filter(Boolean).join("");return/奶|乳|酸奶|奶粉/.test(e)}function o62(n={}){var t;const e=[n.name,(t=n.attributes)==null?void 0:t.主要产品].filter(Boolean).join("");return/肉|屠宰|牛肉/.test(e)}function l62(n={}){const e=String(n.id||"");return e&&ab.has(e)?ab.get(e):fp.find(t=>t.name===n.name&&t.categoryCode===n.categoryCode)}function $a(n,e){return Math.max(12,Math.min(100,Math.round(Number(n||0)/e*100)))}function kn(n,e){return n.filter(Me).reduce((t,i)=>t+Number(e(i)||0),0)}function Sp(n,e){return n.filter(Me).reduce((t,i)=>Math.max(t,Number(e(i)||0)),0)}function Tl(n,e){return new Set(n.filter(Me).map(e).filter(Boolean)).size}function Kt(n,e){return e.value-n.value||e.count-n.count||String(n.name).localeCompare(String(e.name),"zh-CN")}function L6(n=""){return String(n).replace(/^四川红原/,"").replace(/^红原县/,"").replace(/有限责任公司$/,"").replace(/农民专业合作社$/,"合作社").replace(/股份有限公司红原县支行$/,"红原支行").trim()}function e9(n){return String(n!=null?n:"").replace(/\s+/g," ").trim()}function yA(n){return n==null||String(n).trim()===""||String(n).trim().toLowerCase()==="nan"}function u62(n){return typeof n=="number"?It(n):o9(n)&&String(n).match(/^\s*[约≈]?\d/)?String(n):String(n!=null?n:"")}function c62(n,e=""){const t=u62(n);return!e||typeof n=="string"&&t.includes(e.replace(/^个/,""))?t:`${t}${e}`}function It(n){const e=Number(n||0);return Number.isFinite(e)?e.toLocaleString("zh-CN",{maximumFractionDigits:Number.isInteger(e)?0:1}):"0"}function Zn(n,e=0){const t=Oi(10,e);return Math.round(Number(n||0)*t)/t}const d62={class:"yak-industry-chain"},h62={key:0,class:"industry-map-loading"},f62={key:1,class:"fgw-left industry-side-panel industry-side-panel--left"},p62={class:"fgw-side-stack industry-side-stack is-left"},m62={key:1,class:"industry-ledger-list"},g62={key:2,class:"fgw-right industry-side-panel industry-side-panel--right"},v62={class:"fgw-side-stack industry-side-stack is-right"},y62={key:1,class:"industry-ledger-list"},_62={class:"industry-point-detail__head"},S62={class:"industry-point-detail__name"},b62={class:"industry-point-detail__grid"},T62={class:"industry-bottom-switcher"},ob=398,w62={__name:"index",props:{active:{type:Boolean,default:!0}},emits:["module-stats","loading-progress","map-ready"],setup(n,{emit:e}){const t=n,i=e,r=x3("family-pasture"),a=x3(null),s=x3(!1),o=x3(null),l=x3({x:0,y:0});let u=null,d=!1,h=!1,f=null,v=!1;const _=z2(()=>o5(r.value)),b=z2(()=>kn2(r.value)),y=z2(()=>Z(b.value)),w=z2(()=>y.value.left),U=z2(()=>y.value.right),P=z2(()=>{var Z2;const n2=Z4("yak-industry-chain","yak-industry-points"),P2=(Z2=n2==null?void 0:n2.legends)==null?void 0:Z2.find(f3=>{var v3;return((v3=f3.match)==null?void 0:v3.value)===r.value});return n2&&R3(d3({},n2),{activeLegend:P2||{key:`yak-industry-empty-${r.value}`,name:_.value.name,fillColor:_.value.color,strokeColor:_.value.color,match:{field:"stageKey",value:r.value}}})}),O=z2(()=>s5.map(n2=>({key:n2.key,name:n2.name,color:n2.color,width:n2.width}))),j=z2(()=>({showTownNames:!0,showBars:!1,showPointMarkers:!0,title:`${_.value.name}排行`,metricLabel:_.value.metricLabel,unit:_.value.unit,rows:[]})),q=z2(()=>{const n2=o.value;return n2?[{label:"所属环节",value:h3(n2.stageName)},{label:"主体类型",value:h3(n2.categoryName)},{label:"所在乡镇",value:h3(n2.town)},{label:"能力规模",value:e3(n2)},{label:"运行状态",value:h3(n2.status)},...Un2(n2)].filter(P2=>P2.value!==void 0&&P2.value!==null&&String(P2.value).trim()!==""):[]}),K=z2(()=>{var n2,P2;return h3(((n2=o.value)==null?void 0:n2.categoryName)||((P2=o.value)==null?void 0:P2.stageName))}),c2=z2(()=>{var n2;return h3((n2=o.value)==null?void 0:n2.name)}),S2=z2(()=>{const v3={x:Math.max(24,Math.min(1896,Number(l.value.x||0))),y:Math.max(24,Math.min(1056,Number(l.value.y||0)))},O3=v3.x>1320,H3=O3?Math.max(24,v3.x-430-28):Math.min(1920-430-24,v3.x+28),F2=Math.min(Math.max(v3.y-252/2,128),1080-252-116),L3=Math.min(Math.max(v3.y-F2,42),252-38);return{left:`${H3}px`,top:`${F2}px`,"--point-arrow-top":`${L3}px`,"--point-arrow-side":O3?"100%":"0px","--point-arrow-offset":O3?"-1px":"-9px","--point-arrow-rotate":O3?"-45deg":"135deg"}});Fn(()=>{q2(),C2()}),a6(()=>{var n2,P2;v=!0,f&&window.clearTimeout(f),(P2=(n2=a.value)==null?void 0:n2.destroyMap)==null||P2.call(n2)}),Z0(()=>t.active,n2=>{var P2,Z2,f3,v3;a.value&&(n2?(E2(),(Z2=(P2=a.value).resume)==null||Z2.call(P2)):(v3=(f3=a.value).pause)==null||v3.call(f3))});function H(n2){n2!==r.value&&(r.value=n2,J(),q2(n2))}function Z(n2={}){const P2=G2(n2.left),Z2=G2(n2.right);if(Z2.length)return{left:P2,right:Z2};const f3=[...P2,...Z2];return f3.length<=4?{left:f3,right:[]}:{left:P2,right:Z2}}function G2(n2=[]){return n2.filter(P2=>(P2==null?void 0:P2.type)!=="iconMetric")}function q2(n2=r.value){i("module-stats",{moduleKey:"yak-industry-chain",items:Rn2(n2)})}function C2(){var n2,P2,Z2;u=new aa,d=!1,i("loading-progress",{progress:0}),(P2=(n2=u.instance)==null?void 0:n2.on)==null||P2.call(n2,"onProgress",(f3,v3,O3)=>{i("loading-progress",{progress:Math.floor(v3/(O3||1)*100),path:f3,itemsLoaded:v3,itemsTotal:O3})}),(Z2=u.ready)==null||Z2.then(()=>{d=!0,E2()}).catch(()=>{s.value=!0,i("map-ready")})}function E2(){v||!t.active||!d||h||(h=!0,f&&window.clearTimeout(f),f=window.setTimeout(()=>{f=null,A2()},600))}function A2(n2=0){return k3(this,null,function*(){var Z2,f3;if(v)return;if(!t.active){h=!1;return}if(yield ft(),!t.active){h=!1;return}const P2=a.value;if((Z2=P2==null?void 0:P2.loadMap)==null||Z2.call(P2,u),P2!=null&&P2.canvasMap){s.value=!0,i("loading-progress",{progress:100}),i("map-ready"),(f3=P2.play)==null||f3.call(P2);return}if(n2<24){window.setTimeout(()=>A2(n2+1),120);return}h=!1,s.value=!0,i("map-ready")})}function X2(n2={}){var Z2;const P2=((Z2=n2.feature)==null?void 0:Z2.properties)||{};if(P2.stageKey){o.value=P2,l.value=I2(n2.screen);return}o.value=null}function b2(){return k3(this,arguments,function*(n2={}){if(!n2.canLocate)return;const P2=!!(n2.stageKey&&n2.stageKey!==r.value);P2&&(r.value=n2.stageKey,q2(n2.stageKey),yield ft());const Z2=p2(n2);o.value=Z2,l.value={x:960,y:500},window.setTimeout(()=>{var v3,O3;const f3=(O3=(v3=a.value)==null?void 0:v3.focusYakIndustryPoint)==null?void 0:O3.call(v3,Z2);N2(Z2,f3),window.setTimeout(()=>N2(Z2),760)},P2?320:80)})}function J(){var P2,Z2,f3,v3;o.value=null;const n2=((Z2=(P2=a.value)==null?void 0:P2.canvasMap)==null?void 0:Z2.value)||((f3=a.value)==null?void 0:f3.canvasMap);(v3=n2==null?void 0:n2.clearSelectedFeature)==null||v3.call(n2)}function p2(n2={}){var f3;const P2=Number(n2.longitude),Z2=Number(n2.latitude);return R3(d3({},n2),{id:n2.key||n2.id,name:n2.fullName||n2.name,stageKey:n2.stageKey,stageName:n2.stageName||((f3=o5(n2.stageKey))==null?void 0:f3.name),categoryName:n2.categoryName||n2.typeName,capacity:n2.value,capacityUnit:n2.unit,longitude:P2,latitude:Z2,geometry:Number.isFinite(P2)&&Number.isFinite(Z2)?{type:"Point",coordinates:[P2,Z2]}:void 0,status:n2.status})}function N2(n2,P2=null){var f3,v3;const Z2=((v3=(f3=a.value)==null?void 0:f3.getYakIndustryPointScreen)==null?void 0:v3.call(f3,n2))||(P2==null?void 0:P2.screen);Z2&&(l.value=I2(Z2))}function e3(n2){return n2.capacity===void 0||n2.capacity===null||n2.capacity===""?"":`${n2.capacity}${n2.capacityUnit||""}`}function h3(n2){return String(n2!=null?n2:"").replace(/\bcxpt[-_./\s]*/gi,"").replace(/\s+/g," ").trim()}function I2(n2={}){var F2;const P2=document.querySelector("#large-screen"),Z2=(F2=P2==null?void 0:P2.getBoundingClientRect)==null?void 0:F2.call(P2),f3=Z2!=null&&Z2.width?1920/Z2.width:1,v3=Z2!=null&&Z2.height?1080/Z2.height:1,O3=(Z2==null?void 0:Z2.left)||0,H3=(Z2==null?void 0:Z2.top)||0;return{x:(Number(n2.x)-O3)*f3,y:(Number(n2.y)-H3)*v3}}return(n2,P2)=>(h2(),v2("div",d62,[K3(ra,{ref_key:"mapSceneRef",ref:a,class:"industry-map-scene","active-layer":P.value,"map-ranking":j.value,onFeatureInfo:X2},null,8,["active-layer","map-ranking"]),P2[0]||(P2[0]=M("div",{class:"industry-map-scrim"},null,-1)),s.value?l1("",!0):(h2(),v2("div",h62,"3D地图加载中")),w.value.length?(h2(),v2("div",f62,[M("div",p62,[(h2(!0),v2(X3,null,c1(w.value,Z2=>(h2(),Ze(X1,{key:Z2.key,class:"fgw-side-card industry-side-card left-card",title:Z2.title,width:ob,height:Z2.height},{default:z1(()=>[Z2.renderer==="business"?(h2(),Ze(Tn,{key:0,panel:Z2,compact:"",onRowSelect:b2},null,8,["panel"])):Z2.renderer==="ledger"?(h2(),v2("div",m62,[(h2(!0),v2(X3,null,c1(Z2.rows,f3=>(h2(),v2("div",{key:f3.key,class:"industry-ledger-row"},[M("div",null,[M("strong",null,L2(f3.name),1),M("span",null,L2(f3.typeName)+" / "+L2(f3.town),1)]),M("em",null,L2(f3.valueText),1)]))),128))])):l1("",!0)]),_:2},1032,["title","height"]))),128))])])):l1("",!0),U.value.length?(h2(),v2("div",g62,[M("div",v62,[(h2(!0),v2(X3,null,c1(U.value,Z2=>(h2(),Ze(X1,{key:Z2.key,class:"fgw-side-card industry-side-card right-card",title:Z2.title,width:ob,height:Z2.height},{default:z1(()=>[Z2.renderer==="business"?(h2(),Ze(Tn,{key:0,panel:Z2,compact:"",onRowSelect:b2},null,8,["panel"])):Z2.renderer==="ledger"?(h2(),v2("div",y62,[(h2(!0),v2(X3,null,c1(Z2.rows,f3=>(h2(),v2("div",{key:f3.key,class:"industry-ledger-row"},[M("div",null,[M("strong",null,L2(f3.name),1),M("span",null,L2(f3.typeName)+" / "+L2(f3.town),1)]),M("em",null,L2(f3.valueText),1)]))),128))])):l1("",!0)]),_:2},1032,["title","height"]))),128))])])):l1("",!0),o.value?(h2(),v2("div",{key:3,class:"industry-point-detail",style:p0(S2.value)},[M("div",_62,[M("span",null,L2(K.value),1),M("button",{type:"button",title:"关闭",onClick:J},"×")]),M("div",S62,L2(c2.value),1),M("div",b62,[(h2(!0),v2(X3,null,c1(q.value,Z2=>(h2(),v2("div",{key:Z2.label,class:"industry-point-detail__row"},[M("span",null,L2(Z2.label),1),M("strong",null,L2(Z2.value),1)]))),128))])],4)):l1("",!0),M("div",T62,[K3(Hl,{"model-value":r.value,topics:O.value,"onUpdate:modelValue":H},null,8,["model-value","topics"])])]))}},Ql="/openApi";function x62(n,e){return/^https?:\/\//.test(e)?e:`${n}${e.startsWith("/")?e:`/${e}`}`}function eu(n,e,t,i={}){return Q6(x62(n,e),{params:t,timeout:i.timeout}).then(A62)}function A62(n){if((n==null?void 0:n.success)===!1||(n==null?void 0:n.code)!==void 0&&![0,200,"0","200"].includes(n.code)){const t=new Error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"接口请求失败");throw t.code=n==null?void 0:n.code,t}return r0(n)}function C62(n,e=window.location.hash||window.location.pathname,t="智慧管理"){return eu(Ql,"/ai/stat/question",{question:n,pagePath:e,pageName:t},{timeout:45e3})}function M62(n){return eu(Ql,"/ai/balance/targets",{question:n},{timeout:18e3}).then(e=>Array.isArray(e)?e:(e==null?void 0:e.rows)||(e==null?void 0:e.list)||[])}function E62({areaCode:n,pasturesId:e}={}){return eu(Ql,"/ai/balance/advice",{areaCode:n,pasturesId:e},{timeout:18e3})}function P62(){return eu(Ql,"/ai/balance/welcome",void 0,{timeout:12e3})}const R62="/openApi";function N62(n){return/^https?:\/\//.test(n)?n:`${R62}${n.startsWith("/")?n:`/${n}`}`}function L62(n){if((n==null?void 0:n.success)===!1||(n==null?void 0:n.code)!==void 0&&![0,200,"0","200"].includes(n.code)){const t=new Error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"图表接口请求失败");throw t.code=n==null?void 0:n.code,t}return r0(n)}function I62(i){return k3(this,arguments,function*(n,e=window.location.hash||window.location.pathname,t="智慧管理"){const r=yield Q6(N62("/ai/stat/charts"),{params:{question:n,pagePath:e,pageName:t},timeout:3e4}).then(L62);return(Array.isArray(r==null?void 0:r.charts)?r.charts:[]).map(k62).filter(s=>s.rows.length)})}function k62(n,e){const t=Array.isArray(n==null?void 0:n.rows)?n.rows:[];return{id:(n==null?void 0:n.id)||`smart-chart-${e}`,type:F62(n==null?void 0:n.type),title:(n==null?void 0:n.title)||`统计图表${e+1}`,subtitle:(n==null?void 0:n.subtitle)||D62(n==null?void 0:n.source),unit:(n==null?void 0:n.unit)||"",source:(n==null?void 0:n.source)||{},rows:t.map((i,r)=>({key:(i==null?void 0:i.key)||`${(i==null?void 0:i.name)||"row"}-${r}`,name:String((i==null?void 0:i.name)||`指标${r+1}`),value:U62(i==null?void 0:i.value),rawValue:i==null?void 0:i.value,unit:(i==null?void 0:i.unit)||(n==null?void 0:n.unit)||"",extra:(i==null?void 0:i.extra)||""})).filter(i=>i.name&&Number.isFinite(i.value))}}function F62(n){return["pie","donut"].includes(n)?"pie":["line","trend"].includes(n)?"line":"bar"}function D62(n={}){const e=n.table?`来源:${n.table}`:"来源:openApi 统计库",t=n.period?`,${n.period}`:"";return`${e}${t}`}function U62(n){if(n==null||n==="")return NaN;const e=Number(String(n).replace(/,/g,"").replace(/%/g,""));return Number.isFinite(e)?e:NaN}const O62={class:"wisdom-management"},B62={class:"wisdom-chat"},z62={key:0,class:"wisdom-empty-state"},G62={class:"wisdom-prompt-grid"},V62=["disabled","onClick"],H62={key:0,class:"wisdom-message-mark"},j62={class:"wisdom-bubble"},W62={key:0,class:"wisdom-steps"},$62={key:1,class:"wisdom-digesting"},Y62={key:2,class:"wisdom-chart-list"},q62={key:3,class:"wisdom-insight-list"},K62=["innerHTML"],X62={key:5,class:"wisdom-stream-caret"},J62={key:6,class:"wisdom-suggestion-list"},Z62=["disabled","onClick"],Q62={key:7,class:"wisdom-choice-list"},ei2=["disabled","onClick"],ti2={class:"wisdom-input-shell"},ni2=["disabled"],ii2=["disabled"],ri2={key:0,class:"wisdom-button-loading"},ai2={__name:"index",props:{active:{type:Boolean,default:!0}},setup(n){const e=xL({loader:()=>AL(()=>import("./SmartChartRenderer-0a778777-1783008015343.js"),["./SmartChartRenderer-0a778777-1783008015343.js","./index-1783008015343.js","./index-47d6f37a-balabala-1783008015343.css","./SmartChartRenderer-8fd37aa6-balabala-1783008015343.css"],import.meta.url),loadingComponent:{template:'
正在绘制统计图表
'}}),t=n,i=x3(""),r=x3([]),a=x3(!1),s=x3(null),o=x3("可以直接询问牦牛数量、草地面积、牧户情况、饲草产量、林地面积、基地分布、畜群结构和交易流通等统计问题。"),l=[{label:"牦牛分布",question:"牦牛分布"},{label:"畜群结构",question:"牦牛结构占比"},{label:"草地面积",question:"草地面积分布"},{label:"草畜平衡",question:"红原县草畜平衡建议"},{label:"湿地类型",question:"湿地类型结构"},{label:"公益林保护",question:"公益林保护等级统计"}];let u=null;Fn(()=>{P62().then(b2=>{const J=(b2==null?void 0:b2.value)||(b2==null?void 0:b2.text)||b2;typeof J=="string"&&J.trim()&&(o.value=J)}).catch(()=>{})}),a6(()=>{G2()}),Z0(()=>t.active,b2=>{b2||(G2(),a.value=!1,r.value=r.value.map(J=>J.streaming?R3(d3({},J),{streaming:!1,digesting:!1}):J))});function d(){return`${Date.now()}-${Math.random().toString(16).slice(2)}`}function h(){return k3(this,arguments,function*(b2=i.value){const J=String(b2||"").trim();if(!J||a.value)return;const p2={id:d(),role:"user",text:J},N2={id:d(),role:"assistant",steps:[`正在理解:${J}`],digesting:!0,digestText:"小牧正在匹配业务数据",visibleText:"",fullText:"",streaming:!1,choices:[],charts:[],insights:[],suggestions:[]};if(r.value=[...r.value,p2,N2],i.value="",a.value=!0,yield A2(),y(J)){yield v(J,N2.id);return}yield f(J,N2.id)})}function f(b2,J){return k3(this,null,function*(){c2(J,{digestText:"正在理解问题并查询统计库"});const p2=C62(b2,window.location.hash||window.location.pathname,"智慧管理"),N2=I62(b2,window.location.hash||window.location.pathname,"智慧管理"),[e3,h3]=yield Promise.allSettled([p2,N2]),I2=h3.status==="fulfilled"?h3.value||[]:[],n2=h3.status==="rejected"?h3.reason:null;if(e3.status==="fulfilled"){const P2=e3.value,Z2=(P2==null?void 0:P2.answer)||"小牧暂时没有查到相关统计数据,可以换一种说法再问一次。",f3=[`正在理解:${b2}`,"已查询统计库","已生成统计回答"];I2.length?f3.push(`已生成 ${I2.length} 个数据图表`):n2&&f3.push("图表生成暂时不可用"),c2(J,{digesting:!1,steps:f3,insights:I2.length?q(I2):[],suggestions:K(b2,I2),allowFollowUp:!0}),Z(J,n2?`${Z2} **图表状态** - ${H(n2,"图表接口暂时不可用,已先返回文字分析。")}`:Z2,I2);return}if(I2.length){c2(J,{digesting:!1,steps:[`正在理解:${b2}`,"已查询统计库",`已生成 ${I2.length} 个数据图表`,"文字分析暂时不可用"],insights:q(I2),suggestions:K(b2,I2),allowFollowUp:!0}),Z(J,"文字分析服务暂时没有返回结果,已按统计库真实数据生成可视化图表。",I2);return}S2(J,H(e3.reason,"小牧暂时没有获取到统计结果,请稍后再试。"))})}function v(b2,J){return k3(this,null,function*(){c2(J,{digestText:"正在检索草畜平衡对象"});try{const p2=yield M62(b2),N2=w(p2);if(!N2.length){c2(J,{digesting:!1,steps:[`正在理解:${b2}`,"未匹配到草畜平衡对象"]}),Z(J,"暂时没有匹配到对应的区域或牧户。可以输入更明确的乡镇、村名、牧户或牧场名称,例如“红原县草畜平衡建议”。");return}if(N2.length>1){c2(J,{digesting:!1,steps:[`正在理解:${b2}`,"已匹配多个对象,请选择一个继续"],choices:N2.slice(0,8)}),a.value=!1;return}yield b(N2[0],J)}catch(p2){S2(J,H(p2,"草畜平衡对象检索失败,请稍后再试。"))}})}function _(b2){return k3(this,null,function*(){if(a.value)return;const J=b2.name||b2.label||"草畜平衡建议",p2={id:d(),role:"user",text:J},N2={id:d(),role:"assistant",steps:[`已选择:${J}`],digesting:!0,digestText:"正在消化草畜平衡数据",visibleText:"",fullText:"",streaming:!1,choices:[],charts:[],insights:[],suggestions:[]};r.value=[...r.value,p2,N2],a.value=!0,yield A2(),yield b(b2,N2.id)})}function b(b2,J){return k3(this,null,function*(){const p2=(b2==null?void 0:b2.name)||(b2==null?void 0:b2.label)||"该区域",N2=U(b2);c2(J,{steps:[`已锁定:${p2}`,"正在消化草畜平衡数据"],digestText:"正在生成平衡建议"});try{const e3=yield E62(N2);c2(J,{digesting:!1,steps:[`已锁定:${p2}`,"已生成草畜平衡建议"]}),Z(J,P(p2,e3||{}))}catch(e3){S2(J,H(e3,"小牧刚才没有消化成功,请稍后再问一次。"))}})}function y(b2){return/草畜|平衡|承载|载畜|超载|放牧压力|轮牧|休牧|牧场建议|牧户建议/.test(b2)}function w(b2=[]){return b2.map((J,p2)=>({key:(J==null?void 0:J.key)||(J==null?void 0:J.type)||"area_code",value:(J==null?void 0:J.value)||(J==null?void 0:J.id)||(J==null?void 0:J.code)||(J==null?void 0:J.areaCode)||(J==null?void 0:J.pasturesId),name:(J==null?void 0:J.name)||(J==null?void 0:J.label)||(J==null?void 0:J.areaName)||(J==null?void 0:J.pasturesName)||`对象${p2+1}`,raw:J})).filter(J=>J.value||J.name==="红原县")}function U(b2){return(b2==null?void 0:b2.key)==="pasturesId"||(b2==null?void 0:b2.key)==="pastures_id"?{pasturesId:b2.value}:{areaCode:(b2==null?void 0:b2.value)||"513233"}}function P(b2,J={}){const p2=O(J,["areaRange","arearange","area_range","area","acreage"],0),N2=O(J,["yakNumber","yaknumber","yak_number","livestock_capacity","livestockCapacity","livestockcapacity"],0),e3=O(J,["level","conclusion"],"暂无等级"),h3=O(J,["overloadRate","overloadrate","overload_rate"],0),I2=O(J,["advice","balanceAdvice","balanceadvice","balance_advice"],"暂无建议,请稍后再试。");return`**${b2}草畜平衡建议** - 草地面积:${j(p2)} 亩 - 牦牛/载畜量:${j(N2)} 头 - 草畜平衡等级:${e3} - 超载率:${j(h3)}% **建议** ${I2}`}function O(b2,J,p2=""){for(const N2 of J){const e3=b2==null?void 0:b2[N2];if(e3!=null&&e3!=="")return e3}return p2}function j(b2){const J=Number(String(b2).replace(/,/g,""));return Number.isFinite(J)?J.toLocaleString("zh-CN",{maximumFractionDigits:2}):b2||"--"}function q(b2=[]){const J=[];return b2.slice(0,2).forEach(p2=>{var f3;const N2=(p2.rows||[]).map(v3=>R3(d3({},v3),{value:Number(v3.value)})).filter(v3=>v3.name&&Number.isFinite(v3.value));if(!N2.length)return;const e3=p2.unit||((f3=N2.find(v3=>v3.unit))==null?void 0:f3.unit)||"",h3=N2.slice().sort((v3,O3)=>O3.value-v3.value),I2=N2.reduce((v3,O3)=>v3+O3.value,0),n2=I2/N2.length,P2=h3[0],Z2=h3[h3.length-1];J.push({label:"最高",value:`${P2.name} ${j(P2.value)}${e3}`,note:p2.title}),N2.length>2&&J.push({label:p2.type==="pie"?"占比项":"最低",value:`${Z2.name} ${j(Z2.value)}${e3}`,note:p2.type==="pie"?"最小结构项":"低值区域"}),J.push({label:"合计",value:`${j(I2)}${e3}`,note:N2.length>1?`覆盖 ${N2.length} 项`:p2.title}),p2.type!=="pie"&&N2.length>1&&J.push({label:"均值",value:`${j(n2)}${e3}`,note:"按当前图表项计算"})}),J.slice(0,4)}function K(b2,J=[]){const p2=String(b2||""),N2=[],e3=(h3,I2)=>{!N2.some(n2=>n2.question===I2)&&I2!==p2&&N2.push({label:h3,question:I2})};return(/牦牛|畜群|存栏|牛/.test(p2)||J.some(h3=>{var I2,n2;return(n2=(I2=h3.source)==null?void 0:I2.localKey)==null?void 0:n2.includes("yak")}))&&(e3("看畜群结构","牦牛结构占比"),e3("看存栏预测","牦牛存栏预测"),e3("看交易结构","牦牛交易结构")),/草地|草原|饲草|鲜草/.test(p2)&&(e3("看草地健康","草地健康占比"),e3("看生产力","草地生产力分布"),e3("看退化统计","草地退化统计")),/湿地/.test(p2)&&(e3("看湿地类型","湿地类型结构"),e3("看湿地级别","湿地级别面积统计")),/林地|公益林|森林/.test(p2)&&(e3("看权属结构","林地权属结构"),e3("看公益林等级","公益林保护等级统计")),/草畜|平衡|承载|载畜/.test(p2)&&(e3("看牦牛分布","牦牛分布"),e3("看草地面积","草地面积分布")),e3("换个图表",`${p2} 图表`),N2.slice(0,3)}function c2(b2,J,p2=!0){r.value=r.value.map(N2=>N2.id===b2?d3(d3({},N2),J):N2),p2&&A2()}function S2(b2,J){c2(b2,{digesting:!1,steps:["请求已结束"]}),Z(b2,J)}function H(b2,J){const p2=String((b2==null?void 0:b2.message)||"");return(b2==null?void 0:b2.code)===401||(b2==null?void 0:b2.code)==="401"||(b2==null?void 0:b2.code)==="HTTP_401"||/未登录|授权|Unauthorized|HTTP 401/i.test(p2)?"接口需要登录授权。当前智慧管理不会使用假数据,请先完成平台登录或使用 openApi 统计库口径继续问数。":(b2==null?void 0:b2.code)==="REQUEST_TIMEOUT"||/timeout|timed out|超时/i.test(p2)?"服务响应时间较长,请稍后再试,或换一个更具体的问题。":(b2==null?void 0:b2.code)==="REQUEST_ABORTED"||/aborted|abort|signal/i.test(p2)?"本次请求被中断了,请重新发送一次。":/Failed to fetch|NetworkError|Load failed|HTTP 50|HTTP 40/i.test(p2)||/[a-zA-Z]{4,}/.test(p2)?J:p2||J}function Z(b2,J,p2=[]){G2();const N2=String(J||""),e3=N2.length>1200?36:N2.length>700?24:14;let h3=0;const I2=p2.length>0;c2(b2,{fullText:N2,visibleText:"",streaming:!0,choices:[],charts:p2}),I2&&X2();const n2=()=>{if(h3=Math.min(h3+e3,N2.length),c2(b2,{visibleText:N2.slice(0,h3),streaming:h3=N2.length){u=null,p2.length&&c2(b2,{charts:p2},!1),a.value=!1;return}u=window.setTimeout(n2,18)};u=window.setTimeout(n2,0)}function G2(){u&&(window.clearTimeout(u),u=null)}function q2(b2){const J=E2(b2).split(/\r?\n/),p2=[];let N2=[],e3=!1;const h3=()=>{N2.length&&(p2.push(`<${e3?"ol":"ul"}>${N2.map(I2=>`
  • ${C2(I2)}
  • `).join("")}`),N2=[],e3=!1)};return J.forEach(I2=>{const n2=I2.trim();if(!n2){h3();return}const P2=n2.match(/^#{1,4}\s+(.+)$/)||n2.match(/^\*\*(.+)\*\*$/);if(P2){h3(),p2.push(`

    ${C2(P2[1])}

    `);return}const Z2=n2.match(/^\d+[.)、]\s+(.+)$/),f3=n2.match(/^[-*]\s+(.+)$/);if(Z2||f3){const v3=!!Z2;N2.length&&e3!==v3&&h3(),e3=v3,N2.push(Z2?Z2[1]:f3[1]);return}h3(),p2.push(`

    ${C2(n2)}

    `)}),h3(),p2.join("")}function C2(b2){return b2.replace(/\*\*([^*]+)\*\*/g,"$1")}function E2(b2){return String(b2||"").replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function A2(){return k3(this,null,function*(){yield ft(),window.requestAnimationFrame(()=>{s.value&&(s.value.scrollTop=s.value.scrollHeight)})})}function X2(){return k3(this,null,function*(){yield ft(),window.requestAnimationFrame(()=>{const b2=s.value,J=b2==null?void 0:b2.querySelector(".wisdom-message.is-assistant:last-child .wisdom-chart-list");if(!b2||!J)return;const p2=b2.getBoundingClientRect(),N2=J.getBoundingClientRect();b2.scrollTop+=N2.top-p2.top-12})})}return(b2,J)=>(h2(),v2("div",O62,[J[11]||(J[11]=K9('',1)),M("main",B62,[M("div",{ref_key:"dialogueRef",ref:s,class:x1(["wisdom-dialogue",{"is-empty":!r.value.length}])},[r.value.length?l1("",!0):(h2(),v2("section",z62,[J[3]||(J[3]=M("div",{class:"wisdom-empty-mark"},[M("span"),M("strong",null,"AI")],-1)),J[4]||(J[4]=M("h2",null,"智慧管理问答",-1)),M("p",null,L2(o.value),1),M("div",G62,[(h2(),v2(X3,null,c1(l,p2=>M("button",{key:p2.question,type:"button",disabled:a.value,onClick:N2=>h(p2.question)},L2(p2.label),9,V62)),64))])])),(h2(!0),v2(X3,null,c1(r.value,p2=>{var N2,e3,h3,I2,n2;return h2(),v2("article",{key:p2.id,class:x1(["wisdom-message",`is-${p2.role}`])},[p2.role==="assistant"?(h2(),v2("div",H62,[...J[5]||(J[5]=[M("span",null,"牧",-1)])])):l1("",!0),M("div",j62,[p2.role==="user"?(h2(),v2(X3,{key:0},[ae(L2(p2.text),1)],64)):(h2(),v2(X3,{key:1},[(N2=p2.steps)!=null&&N2.length?(h2(),v2("div",W62,[(h2(!0),v2(X3,null,c1(p2.steps,P2=>(h2(),v2("div",{key:P2,class:"wisdom-step"},[J[6]||(J[6]=M("span",null,null,-1)),ae(L2(P2),1)]))),128))])):l1("",!0),p2.digesting?(h2(),v2("div",$62,[J[7]||(J[7]=M("span",null,null,-1)),J[8]||(J[8]=M("span",null,null,-1)),J[9]||(J[9]=M("span",null,null,-1)),M("em",null,L2(p2.digestText||"小牧正在消化中"),1)])):l1("",!0),(e3=p2.charts)!=null&&e3.length?(h2(),v2("div",Y62,[(h2(!0),v2(X3,null,c1(p2.charts,P2=>(h2(),Ze(D0(e),{key:P2.id,chart:P2,onReady:A2},null,8,["chart"]))),128))])):l1("",!0),(h3=p2.insights)!=null&&h3.length?(h2(),v2("div",q62,[(h2(!0),v2(X3,null,c1(p2.insights,P2=>(h2(),v2("div",{key:`${P2.label}-${P2.value}`,class:"wisdom-insight-item"},[M("span",null,L2(P2.label),1),M("strong",null,L2(P2.value),1),M("em",null,L2(P2.note),1)]))),128))])):l1("",!0),p2.visibleText?(h2(),v2("div",{key:4,class:"wisdom-answer",innerHTML:q2(p2.visibleText)},null,8,K62)):l1("",!0),p2.streaming?(h2(),v2("span",X62)):l1("",!0),(I2=p2.suggestions)!=null&&I2.length&&(p2.allowFollowUp||!p2.digesting&&!p2.streaming)?(h2(),v2("div",J62,[(h2(!0),v2(X3,null,c1(p2.suggestions,P2=>(h2(),v2("button",{key:P2.question,type:"button",disabled:a.value,onClick:Z2=>h(P2.question)},L2(P2.label),9,Z62))),128))])):l1("",!0),(n2=p2.choices)!=null&&n2.length?(h2(),v2("div",Q62,[(h2(!0),v2(X3,null,c1(p2.choices,(P2,Z2)=>(h2(),v2("button",{key:`${P2.key||"choice"}-${P2.value||Z2}`,type:"button",disabled:a.value,onClick:f3=>_(P2)},L2(P2.name||P2.label||P2.value),9,ei2))),128))])):l1("",!0)],64))])],2)}),128))],2),M("form",{class:"wisdom-input-bar",onSubmit:J[2]||(J[2]=jt(p2=>h(),["prevent"]))},[M("div",ti2,[J[10]||(J[10]=M("span",{class:"wisdom-input-icon"},null,-1)),nt(M("input",{"onUpdate:modelValue":J[0]||(J[0]=p2=>i.value=p2),disabled:a.value,autocomplete:"off",placeholder:"输入牧户、区域或草畜平衡问题",onKeydown:J[1]||(J[1]=yr(jt(p2=>h(),["prevent"]),["enter"]))},null,40,ni2),[[j9,i.value]]),M("button",{type:"submit",disabled:a.value||!i.value.trim()},[a.value?(h2(),v2("span",ri2)):l1("",!0),M("span",null,L2(a.value?"消化中":"发送"),1)],8,ii2)])],32)])]))}},wl=[{key:"home",label:"首页",bottomLabel:"核心指标",status:"ready"},{key:"forest-grass-wet",label:"林草湿一张图",bottomLabel:"林草湿",status:"ready"},{key:"ecological-protection",label:"生态保护",bottomLabel:"生态保护",status:"ready"},{key:"yak-management",label:"牦牛管理",bottomLabel:"牦牛管理",status:"ready"},{key:"pasture-management",label:"牧场管理",bottomLabel:"牧场管理",status:"ready"},{key:"yak-industry-chain",label:"牦牛产业全链",bottomLabel:"产业全链",status:"ready"},{key:"smart-management",label:"智慧管理",bottomLabel:"智慧管理",status:"ready"},{key:"grass-livestock-balance",label:"草畜平衡",bottomLabel:"草畜平衡",status:"ready"}];function si2(n){return wl.find(e=>e.key===n)||wl[1]}const oi2={key:0,class:"platform-module-pane"},li2={key:1,class:"platform-module-pane"},ui2={key:2,class:"platform-module-pane"},ci2={key:3,class:"platform-module-pane"},di2={key:4,class:"platform-module-pane"},hi2={key:5,class:"platform-module-pane"},fi2={key:6,class:"platform-module-pane"},pi2={key:7,class:"platform-module-pane"},mi2={class:"large-screen-wrap"},gi2={class:"top-menu"},vi2={key:0,class:"top-menu-mid-space"},yi2={key:1,class:"module-coming"},_i2={class:"module-coming-title"},Si2={key:2,class:"bottom-tray"},bi2={class:"bottom-menu"},Ti2=["onClick"],wi2={key:8,class:"loading platform-loading"},xi2={class:"loading-progress"},Ai2={class:"value"},Ci2=1200,Mi2={__name:"index",setup(n){const e=x3("home"),t=x3("national-park"),i=x3({home:!0}),r=x3({}),a=x3(!0),s=x3(0);let o=null,l=!1,u=null,d=null;const h=Date.now(),f={progress:0},v=["xiaoshoujine","zongxiaoliang","xiaoshoujine","zongxiaoliang"],_=z2(()=>si2(e.value)),b=z2(()=>e.value==="ecological-protection"?jS:wl),y=z2(()=>e.value==="ecological-protection"?t.value:e.value),w=z2(()=>{const A2=r.value[e.value];return Array.isArray(A2)||A2!=null&&A2.length?A2:H([{zh:"草地面积",en:"",value:756.37,unit:"万亩",decimals:2},{zh:"林地总面积",en:"",value:177.92,unit:"万亩",decimals:2},{zh:"湿地面积",en:"",value:291.82,unit:"万亩",decimals:2}])});Fn(()=>{o=Al.init({dh:1080,dw:1920,el:"#large-screen",resize:!0}),C2()}),a6(()=>{var A2;(A2=o==null?void 0:o.off)==null||A2.call(o,"#large-screen"),u&&window.clearTimeout(u),d&&window.cancelAnimationFrame(d),Ge.killTweensOf(f)});function U(A2){if(A2===e.value)return;const X2=!!i.value[A2];e.value=A2,X2||G2(A2),ft(C2)}function P(A2){if(A2!=null&&A2.key){if(e.value==="ecological-protection"){O(A2.key);return}U(A2.key)}}function O(A2){const X2=jS.some(b2=>b2.key===A2)?A2:"national-park";X2===t.value&&e.value==="ecological-protection"||(t.value=X2,ft(C2))}function j(A2){const X2=A2.moduleKey||(A2.topicKey?"forest-grass-wet":e.value);r.value=R3(d3({},r.value),{[X2]:H(A2.items||[])})}function q(A2={}){const X2=typeof A2=="number"?A2:A2.progress;c2(X2)}function K(){Ge.killTweensOf(f),f.progress=100,s.value=100;const A2=Date.now()-h,X2=Math.max(180,Ci2-A2);window.setTimeout(S2,X2)}function c2(A2){if(!a.value)return;const X2=Math.max(0,Math.min(100,Math.floor(Number(A2)||0)));X2{s.value=Math.floor(f.progress)}})}function S2(){if(!a.value||l)return;l=!0;const A2=Ge.timeline({onComplete:()=>{a.value=!1}});A2.to(".platform-loading .loading-text span",{y:"200%",opacity:0,ease:"power4.inOut",duration:1.4,stagger:.14}),A2.to(".platform-loading .loading-progress",{opacity:0,ease:"power4.inOut",duration:1.2},"<"),A2.to(".platform-loading",{opacity:0,ease:"power4.inOut",duration:.8},"-=0.55")}function H(A2=[]){return A2.slice(0,4).map((X2,b2)=>{var N2;const J=Number(X2.value)||0,p2={zh:X2.zh||X2.name||`指标${b2+1}`,en:X2.en||"",value:J,unit:X2.unit||"",decimals:(N2=X2.decimals)!=null?N2:Number.isInteger(J)?0:2};return d3({icon:v[b2%v.length]},p2)})}function Z(A2){["home","forest-grass-wet","ecological-protection","grass-livestock-balance","yak-management","pasture-management","yak-industry-chain","smart-management"].includes(A2)&&(i.value[A2]||(i.value=R3(d3({},i.value),{[A2]:!0})))}function G2(A2){q2(),u=window.setTimeout(()=>{u=null,d=window.requestAnimationFrame(()=>{d=null,u=null,e.value===A2&&Z(A2)})},180)}function q2(){u&&(window.clearTimeout(u),u=null),d&&(window.cancelAnimationFrame(d),d=null)}function C2(){window.scrollTo(0,0),document.documentElement.scrollTop=0,document.body.scrollTop=0;const A2=document.querySelector("#app");A2&&(A2.scrollTop=0)}function E2(){CL()}return(A2,X2)=>(h2(),v2("div",{class:x1(["large-screen platform-screen",{"is-home":_.value.key==="home","is-forest-grass-wet":_.value.key==="forest-grass-wet","is-ecological-protection":_.value.key==="ecological-protection","is-grass-livestock-balance":_.value.key==="grass-livestock-balance","is-yak-management":_.value.key==="yak-management","is-pasture-management":_.value.key==="pasture-management","is-yak-industry-chain":_.value.key==="yak-industry-chain","is-smart-management":_.value.key==="smart-management"}]),id:"large-screen"},[i.value.home?nt((h2(),v2("div",oi2,[K3(dK,{active:_.value.key==="home",onLoadingProgress:q,onMapReady:K,onModuleStats:j},null,8,["active"])],512)),[[C5,_.value.key==="home"]]):l1("",!0),i.value["forest-grass-wet"]?nt((h2(),v2("div",li2,[K3(jK,{active:_.value.key==="forest-grass-wet","show-loading":!1,onTopicStats:j},null,8,["active"])],512)),[[C5,_.value.key==="forest-grass-wet"]]):l1("",!0),i.value["ecological-protection"]?nt((h2(),v2("div",ui2,[K3(b12,{active:_.value.key==="ecological-protection","active-view":t.value,"show-loading":!1,onModuleStats:j,onViewChange:O},null,8,["active","active-view"])],512)),[[C5,_.value.key==="ecological-protection"]]):l1("",!0),i.value["grass-livestock-balance"]?nt((h2(),v2("div",ci2,[K3(E02,{active:_.value.key==="grass-livestock-balance",onLoadingProgress:q,onMapReady:K,onModuleStats:j},null,8,["active"])],512)),[[C5,_.value.key==="grass-livestock-balance"]]):l1("",!0),i.value["yak-management"]?nt((h2(),v2("div",di2,[K3(Ut2,{active:_.value.key==="yak-management",onModuleStats:j},null,8,["active"])],512)),[[C5,_.value.key==="yak-management"]]):l1("",!0),i.value["pasture-management"]?nt((h2(),v2("div",hi2,[K3(mn2,{active:_.value.key==="pasture-management",onLoadingProgress:q,onMapReady:K,onModuleStats:j},null,8,["active"])],512)),[[C5,_.value.key==="pasture-management"]]):l1("",!0),i.value["yak-industry-chain"]?nt((h2(),v2("div",fi2,[K3(w62,{active:_.value.key==="yak-industry-chain",onLoadingProgress:q,onMapReady:K,onModuleStats:j},null,8,["active"])],512)),[[C5,_.value.key==="yak-industry-chain"]]):l1("",!0),i.value["smart-management"]?nt((h2(),v2("div",pi2,[K3(ai2,{active:_.value.key==="smart-management"},null,8,["active"])],512)),[[C5,_.value.key==="smart-management"]]):l1("",!0),M("div",mi2,[K3(uk,{title:"红原县数字畜牧业监管平台","sub-text":"Hongyuan Digital Animal Husbandry Supervision Platform"},{right:z1(()=>[M("div",{class:"m-header-tools"},[M("button",{class:"logout-button",title:"退出登录",type:"button",onClick:E2}," 退出 ")])]),_:1}),M("div",gi2,[K3(dk,{"default-active":e.value,onSelect:U},{default:z1(()=>[(h2(!0),v2(X3,null,c1(D0(wl),(b2,J)=>(h2(),v2(X3,{key:b2.key},[K3(hk,{index:b2.key},{default:z1(()=>[ae(L2(b2.label),1)]),_:2},1032,["index"]),J===3?(h2(),v2("div",vi2)):l1("",!0)],64))),128))]),_:1},8,["default-active"])]),w.value.length&&!["smart-management","grass-livestock-balance"].includes(_.value.key)?(h2(),v2("div",{key:0,class:x1(["top-count-card",{"is-four":w.value.length>3}])},[(h2(!0),v2(X3,null,c1(w.value,b2=>(h2(),Ze(Tk,{key:b2.zh,info:b2},null,8,["info"]))),128))],2)):l1("",!0),_.value.status!=="ready"?(h2(),v2("div",yi2,[M("div",_i2,L2(_.value.label),1),X2[0]||(X2[0]=M("div",{class:"module-coming-text"},"模块建设中,平台框架已预留入口",-1))])):l1("",!0),["home","forest-grass-wet","ecological-protection","grass-livestock-balance","yak-management","pasture-management","yak-industry-chain","smart-management"].includes(_.value.key)?l1("",!0):(h2(),v2("div",Si2,[K3(Oo,{class:"bottom-svg-line-left",width:721,height:57,color:"#30DCFF",strokeWidth:2,dir:[0,1],length:50,path:"M1 56.6105C1 31.5123 185.586 10.0503 451.904 1.35519C458.942 1.12543 465.781 4.00883 470.505 9.22964L484.991 25.2383C487.971 28.4775 492.938 30.4201 498.254 30.4201H720.142"}),K3(Oo,{class:"bottom-svg-line-left bottom-svg-line-right",width:721,height:57,color:"#30DCFF",strokeWidth:2,dir:[0,1],length:50,path:"M1 56.6105C1 31.5123 185.586 10.0503 451.904 1.35519C458.942 1.12543 465.781 4.00883 470.505 9.22964L484.991 25.2383C487.971 28.4775 492.938 30.4201 498.254 30.4201H720.142"}),X2[1]||(X2[1]=M("div",{class:"bottom-tray-arrow"},[M("img",{src:Po,alt:""}),M("img",{src:Ro,alt:""})],-1)),M("div",bi2,[(h2(!0),v2(X3,null,c1(b.value,b2=>(h2(),v2("div",{key:b2.key,class:x1(["bottom-menu-item",{"is-active":b2.key===y.value}]),onClick:J=>P(b2)},[M("span",null,L2(b2.bottomLabel),1)],10,Ti2))),128))]),X2[2]||(X2[2]=M("div",{class:"bottom-tray-arrow is-reverse"},[M("img",{src:Po,alt:""}),M("img",{src:Ro,alt:""})],-1))])),X2[3]||(X2[3]=M("div",{class:"large-screen-left-zsline"},null,-1)),X2[4]||(X2[4]=M("div",{class:"large-screen-right-zsline"},null,-1))]),a.value?(h2(),v2("div",wi2,[X2[6]||(X2[6]=K9('
    LOADING
    ',1)),M("div",xi2,[M("span",Ai2,L2(s.value),1),X2[5]||(X2[5]=M("span",{class:"unit"},"%",-1))])])):l1("",!0)],2))}},ki2=Object.freeze(Object.defineProperty({__proto__:null,default:Mi2},Symbol.toStringTag,{value:"Module"}));export{Ye as H,ki2 as i};