mars3d-wind 3.7.21 → 3.7.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Mars3D平台插件,支持气象 风向图 功能插件 mars3d-wind
3
3
  *
4
- * 版本信息:v3.7.21
5
- * 编译日期:2024-07-05 15:24:49
4
+ * 版本信息:v3.7.23
5
+ * 编译日期:2024-07-23 21:11:44
6
6
  * 版权所有:Copyright by 火星科技 http://mars3d.cn
7
7
  * 使用单位:免费公开版 ,2024-01-15
8
8
  */
@@ -11,5 +11,5 @@
11
11
  typeof define === 'function' && define.amd ? define(['exports', 'mars3d'], factory) :
12
12
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["mars3d-wind"] = {}, global.mars3d));
13
13
  })(this, (function (exports, mars3d) {
14
- 'use strict';(function(_0x3379fd,_0x1b5426){function _0x1b28ec(_0x40dcaa,_0x199300){return _0x4fd8(_0x40dcaa-0x3a6,_0x199300);}const _0x534cef=_0x3379fd();function _0x1430fa(_0x55d432,_0x511c06){return _0x4fd8(_0x511c06- -0x3c1,_0x55d432);}while(!![]){try{const _0x482a84=-parseInt(_0x1430fa(-0x2a9,-0x2eb))/0x1+-parseInt(_0x1430fa(-0x2cd,-0x282))/0x2+parseInt(_0x1430fa(-0x265,-0x27d))/0x3*(-parseInt(_0x1b28ec(0x53a,0x565))/0x4)+-parseInt(_0x1430fa(-0x2fc,-0x321))/0x5+parseInt(_0x1b28ec(0x4fe,0x556))/0x6*(parseInt(_0x1430fa(-0x36c,-0x2fb))/0x7)+-parseInt(_0x1430fa(-0x2ab,-0x24e))/0x8*(-parseInt(_0x1430fa(-0x215,-0x29f))/0x9)+-parseInt(_0x1b28ec(0x518,0x529))/0xa*(-parseInt(_0x1430fa(-0x2b2,-0x232))/0xb);if(_0x482a84===_0x1b5426)break;else _0x534cef['push'](_0x534cef['shift']());}catch(_0x3ebcd7){_0x534cef['push'](_0x534cef['shift']());}}}(_0x14a9,0x747f1));function _interopNamespace(_0x7bfd66){if(_0x7bfd66&&_0x7bfd66[_0x596152(-0x2f8,-0x28e)])return _0x7bfd66;var _0x1367ac=Object['create'](null);_0x7bfd66&&Object['keys'](_0x7bfd66)['forEach'](function(_0x401e94){function _0x2f8d2f(_0x2d3ab0,_0x3372d2){return _0x596152(_0x2d3ab0-0x462,_0x3372d2);}function _0x260ae1(_0x583869,_0x51d805){return _0x596152(_0x51d805-0x307,_0x583869);}if(_0x401e94!=='default'){var _0x4f40c7=Object[_0x2f8d2f(0x1ca,0x189)](_0x7bfd66,_0x401e94);Object['defineProperty'](_0x1367ac,_0x401e94,_0x4f40c7[_0x260ae1(-0x8,0x72)]?_0x4f40c7:{'enumerable':!![],'get':function(){return _0x7bfd66[_0x401e94];}});}});function _0x596152(_0x25c48,_0x1e68d9){return _0x4fd8(_0x25c48- -0x3b3,_0x1e68d9);}_0x1367ac[_0x142366(-0x2ff,-0x2f2)]=_0x7bfd66;function _0x142366(_0x48fa52,_0x2e12a3){return _0x4fd8(_0x48fa52- -0x38a,_0x2e12a3);}return _0x1367ac;}var mars3d__namespace=_interopNamespace(mars3d);const Cesium$7=mars3d__namespace['Cesium'];function _0x14a9(){const _0x33485c=['21396yJqWzL','lev','LUMINANCE','clear','//\x20the\x20size\x20of\x20UV\x20textures:\x20width\x20=\x20lon,\x20height\x20=\x20lat*lev\x0auniform\x20sampler2D\x20U;\x20//\x20eastward\x20wind\x0auniform\x20sampler2D\x20V;\x20//\x20northward\x20wind\x0a\x0auniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0a\x0auniform\x20vec3\x20dimension;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20vec3\x20minimum;\x20//\x20minimum\x20of\x20each\x20dimension\x0auniform\x20vec3\x20maximum;\x20//\x20maximum\x20of\x20each\x20dimension\x0auniform\x20vec3\x20interval;\x20//\x20interval\x20of\x20each\x20dimension\x0a\x0ain\x20vec2\x20v_textureCoordinates;\x0a\x0avec2\x20mapPositionToNormalizedIndex2D(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20ensure\x20the\x20range\x20of\x20longitude\x20and\x20latitude\x0a\x20\x20\x20\x20lonLatLev.x\x20=\x20mod(lonLatLev.x,\x20360.0);\x0a\x20\x20\x20\x20lonLatLev.y\x20=\x20clamp(lonLatLev.y,\x20-90.0,\x2090.0);\x0a\x0a\x20\x20\x20\x20vec3\x20index3D\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20index3D.x\x20=\x20(lonLatLev.x\x20-\x20minimum.x)\x20/\x20interval.x;\x0a\x20\x20\x20\x20index3D.y\x20=\x20(lonLatLev.y\x20-\x20minimum.y)\x20/\x20interval.y;\x0a\x20\x20\x20\x20index3D.z\x20=\x20(lonLatLev.z\x20-\x20minimum.z)\x20/\x20interval.z;\x0a\x0a\x20\x20\x20\x20//\x20the\x20st\x20texture\x20coordinate\x20corresponding\x20to\x20(col,\x20row)\x20index\x0a\x20\x20\x20\x20//\x20example\x0a\x20\x20\x20\x20//\x20data\x20array\x20is\x20[0,\x201,\x202,\x203,\x204,\x205],\x20width\x20=\x203,\x20height\x20=\x202\x0a\x20\x20\x20\x20//\x20the\x20content\x20of\x20texture\x20will\x20be\x0a\x20\x20\x20\x20//\x20t\x201.0\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x20\x203\x204\x205\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x20\x200\x201\x202\x0a\x20\x20\x20\x20//\x20\x20\x200.0------1.0\x20s\x0a\x0a\x20\x20\x20\x20vec2\x20index2D\x20=\x20vec2(index3D.x,\x20index3D.z\x20*\x20dimension.y\x20+\x20index3D.y);\x0a\x20\x20\x20\x20vec2\x20normalizedIndex2D\x20=\x20vec2(index2D.x\x20/\x20dimension.x,\x20index2D.y\x20/\x20(dimension.y\x20*\x20dimension.z));\x0a\x20\x20\x20\x20return\x20normalizedIndex2D;\x0a}\x0a\x0afloat\x20getWind(sampler2D\x20windTexture,\x20vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20vec2\x20normalizedIndex2D\x20=\x20mapPositionToNormalizedIndex2D(lonLatLev);\x0a\x20\x20\x20\x20float\x20result\x20=\x20texture(windTexture,\x20normalizedIndex2D).r;\x0a\x20\x20\x20\x20return\x20result;\x0a}\x0a\x0aconst\x20mat4\x20kernelMatrix\x20=\x20mat4(\x0a\x20\x20\x20\x200.0,\x20-1.0,\x202.0,\x20-1.0,\x20//\x20first\x20column\x0a\x20\x20\x20\x202.0,\x200.0,\x20-5.0,\x203.0,\x20//\x20second\x20column\x0a\x20\x20\x20\x200.0,\x201.0,\x204.0,\x20-3.0,\x20//\x20third\x20column\x0a\x20\x20\x20\x200.0,\x200.0,\x20-1.0,\x201.0\x20//\x20fourth\x20column\x0a);\x0afloat\x20oneDimensionInterpolation(float\x20t,\x20float\x20p0,\x20float\x20p1,\x20float\x20p2,\x20float\x20p3)\x20{\x0a\x20\x20\x20\x20vec4\x20tVec4\x20=\x20vec4(1.0,\x20t,\x20t\x20*\x20t,\x20t\x20*\x20t\x20*\x20t);\x0a\x20\x20\x20\x20tVec4\x20=\x20tVec4\x20/\x202.0;\x0a\x20\x20\x20\x20vec4\x20pVec4\x20=\x20vec4(p0,\x20p1,\x20p2,\x20p3);\x0a\x20\x20\x20\x20return\x20dot((tVec4\x20*\x20kernelMatrix),\x20pVec4);\x0a}\x0a\x0afloat\x20calculateB(sampler2D\x20windTexture,\x20float\x20t,\x20float\x20lon,\x20float\x20lat,\x20float\x20lev)\x20{\x0a\x20\x20\x20\x20float\x20lon0\x20=\x20floor(lon)\x20-\x201.0\x20*\x20interval.x;\x0a\x20\x20\x20\x20float\x20lon1\x20=\x20floor(lon);\x0a\x20\x20\x20\x20float\x20lon2\x20=\x20floor(lon)\x20+\x201.0\x20*\x20interval.x;\x0a\x20\x20\x20\x20float\x20lon3\x20=\x20floor(lon)\x20+\x202.0\x20*\x20interval.x;\x0a\x0a\x20\x20\x20\x20float\x20p0\x20=\x20getWind(windTexture,\x20vec3(lon0,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p1\x20=\x20getWind(windTexture,\x20vec3(lon1,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p2\x20=\x20getWind(windTexture,\x20vec3(lon2,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p3\x20=\x20getWind(windTexture,\x20vec3(lon3,\x20lat,\x20lev));\x0a\x0a\x20\x20\x20\x20return\x20oneDimensionInterpolation(t,\x20p0,\x20p1,\x20p2,\x20p3);\x0a}\x0a\x0afloat\x20interpolateOneTexture(sampler2D\x20windTexture,\x20vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20float\x20lon\x20=\x20lonLatLev.x;\x0a\x20\x20\x20\x20float\x20lat\x20=\x20lonLatLev.y;\x0a\x20\x20\x20\x20float\x20lev\x20=\x20lonLatLev.z;\x0a\x0a\x20\x20\x20\x20float\x20lat0\x20=\x20floor(lat)\x20-\x201.0\x20*\x20interval.y;\x0a\x20\x20\x20\x20float\x20lat1\x20=\x20floor(lat);\x0a\x20\x20\x20\x20float\x20lat2\x20=\x20floor(lat)\x20+\x201.0\x20*\x20interval.y;\x0a\x20\x20\x20\x20float\x20lat3\x20=\x20floor(lat)\x20+\x202.0\x20*\x20interval.y;\x0a\x0a\x20\x20\x20\x20vec2\x20coefficient\x20=\x20lonLatLev.xy\x20-\x20floor(lonLatLev.xy);\x0a\x20\x20\x20\x20float\x20b0\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat0,\x20lev);\x0a\x20\x20\x20\x20float\x20b1\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat1,\x20lev);\x0a\x20\x20\x20\x20float\x20b2\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat2,\x20lev);\x0a\x20\x20\x20\x20float\x20b3\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat3,\x20lev);\x0a\x0a\x20\x20\x20\x20return\x20oneDimensionInterpolation(coefficient.y,\x20b0,\x20b1,\x20b2,\x20b3);\x0a}\x0a\x0avec3\x20bicubic(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20https://en.wikipedia.org/wiki/Bicubic_interpolation#Bicubic_convolution_algorithm\x0a\x20\x20\x20\x20float\x20u\x20=\x20interpolateOneTexture(U,\x20lonLatLev);\x0a\x20\x20\x20\x20float\x20v\x20=\x20interpolateOneTexture(V,\x20lonLatLev);\x0a\x20\x20\x20\x20float\x20w\x20=\x200.0;\x0a\x20\x20\x20\x20return\x20vec3(u,\x20v,\x20w);\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20lonLatLev\x20=\x20texture(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20bicubic(lonLatLev);\x0a\x20\x20\x20\x20out_FragColor\x20=\x20vec4(windVector,\x200.0);\x0a}\x0a','createCommand','particleHeight','visible','clientHeight','depthTexture','isPointVisible','mouseHidden','addPrimitives','mod','willReadFrequently','grid','Geometry','attributeLocations','viewRectangleToLonLatRange','interval','ShaderSource','vertexShaderSource','preExecute','particlesRendering','NEAREST','dropRate','defineProperty','sqrt','autoClear','Cesium','length','clearCommand','default','abs','DrawCommand','normal','_addedHook','STATIC_DRAW','currentTrailsColor','applyViewerParameters','mouseMove','type','nextTrailsDepth','_data','_onMouseUpEvent','maxAge','latRange','preRender','fromCssColorString','pixelFormat','resize','rows','createSegmentsGeometry','2580955UuCerk','createRenderingFramebuffers','removeEventListener','_mountedHook','particlesWind','forEach','refreshParticles','defines','_calcUV','toDegrees','pow','minimum','Pass','ymin','Color','stroke','refreshTimer','TWO_PI','nextParticlesPosition','layer','createTexture','log','owner','framebuffer','Draw','xmax','beginPath','__esModule','primitives','mouse_down','blue','CanvasWindLayer','canvasContext','source','_bilinearInterpolation','currentParticlesPosition','_updateIng2','0px','21RaUGWH','xmin','windTextures','destroyParticlesTextures','depthMask','windField','_onMouseMoveEvent','createParticlesTextures','randomizeParticles','Cartesian2','globe','getDefaultRenderState','segmentsColor','speed','uniformMap','requestAnimationFrame','901986ZXoipn','UNSIGNED_BYTE','height','_tomap','init','Math','fromDegrees','all','wheel','add','register','data','LINEAR','Cartesian3','strokeStyle','VertexArray','fromCache','fadeOpacity','commandToExecute','steps','tlat','sources','worldToWindowCoordinates','_onMap_preRenderEvent','updateSpeed','maxParticles','viewport','update','rawRenderState','OPAQUE','moveTo','vertexArray','textures','nextParticlesSpeed','nextTrails','visibility','Rectangle','speedFactor','PixelFormat','mouseDown','_removedHook','_speedRate','toRadians','segments','color','_calc_speedRate','commandList','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','particlesNumber','age','geometry','setOptions','getUVByPoint','BaseLayer','worker','off','canvasWidth','canrefresh','destroy','TextureMinificationFilter','getV','mouse_move','shaderProgram','options','BoundingSphere','wind','currentParticlesSpeed','ymax','arrayBufferView','getOwnPropertyDescriptor','TextureMagnificationFilter','globalCompositeOperation','get','getRandomLatLng','getUVByXY','_updateIng','90693mnkYyZ','execute','pointer-events','array','destroyObject','push','postMessage','__proto__','fixedHeight','LayerUtil','addEventListener','getWind','clampToLatitudeRange','_randomParticle','drawingBufferWidth','particlesComputing','colors','randomBetween','fragmentShaderSource','particlesTextureSize','random','lineWidth','mode','PrimitiveType','mouseUp','red','positionWC','cols','getFullscreenQuad','1153696unVEvK','canvas','setData','umin','camera','321fRJYtg','windData','lon','clientWidth','commandType','style','dimensions','PixelDatatype','#ffffff','IDENTITY','EventType','_pointerEvents','_drawLines','none','FLOAT','globeBoundingSphere','_onMapWhellEvent','_colorRamp','ComputeCommand','framebuffers','966522iRXMWl','uniform\x20sampler2D\x20currentParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0auniform\x20sampler2D\x20particlesWind;\x0a\x0a//\x20used\x20to\x20calculate\x20the\x20wind\x20norm\x0auniform\x20vec2\x20uSpeedRange;\x20//\x20(min,\x20max);\x0auniform\x20vec2\x20vSpeedRange;\x0auniform\x20float\x20pixelSize;\x0auniform\x20float\x20speedFactor;\x0a\x0ain\x20vec2\x20v_textureCoordinates;\x0a\x0afloat\x20calculateWindNorm(vec3\x20speed)\x20{\x0a\x20\x20\x20\x20vec3\x20percent\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20percent.x\x20=\x20(speed.x\x20-\x20uSpeedRange.x)\x20/\x20(uSpeedRange.y\x20-\x20uSpeedRange.x);\x0a\x20\x20\x20\x20percent.y\x20=\x20(speed.y\x20-\x20vSpeedRange.x)\x20/\x20(vSpeedRange.y\x20-\x20vSpeedRange.x);\x0a\x20\x20\x20\x20float\x20normalization\x20=\x20length(percent);\x0a\x0a\x20\x20\x20\x20return\x20normalization;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20//\x20vec3\x20currentSpeed\x20=\x20texture(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20texture(particlesWind,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20vec4(speedFactor\x20*\x20pixelSize\x20*\x20windVector,\x20calculateWindNorm(windVector));\x0a\x20\x20\x20\x20out_FragColor\x20=\x20nextSpeed;\x0a}\x0a','_canrefresh','getSpeed','updatePosition','defined','min','particlesTextures','container','particleSystem','lonRange','zIndex','vdata','redraw','show','max','bindEvent','bind','getOptions','udata','south','setDate','speedRate','tlng','viewerParameters','lng','170vLWNHH','296gbdONL','getPixelSize','drawingBufferHeight','nextTrailsColor','pointerEvents','Sampler','keys','_onMouseDownEvent','floor','_map','lineTo','context','fromGeometry','postProcessingPosition','width','SceneMode','getExtent','DomUtil','updateViewerParameters','ALWAYS','ComponentDatatype','postProcessingSpeed','GeometryAttribute','WindUtil','particles','Appearance','lat','scene','1416041wMDxXN','_maxAge','dropRateBump','outputTexture','hidden'];_0x14a9=function(){return _0x33485c;};return _0x14a9();}function getU(_0x503a40,_0xe8fed1){function _0x1c3df8(_0xb966b4,_0x1c0893){return _0x4fd8(_0xb966b4- -0x27f,_0x1c0893);}const _0x45617b=_0x503a40*Math['cos'](Cesium$7[_0x1c3df8(-0x1a4,-0x1ef)]['toRadians'](_0xe8fed1));return _0x45617b;}function getV(_0x153754,_0x2daeee){function _0x19da83(_0x5b8413,_0x5a7f65){return _0x4fd8(_0x5a7f65- -0x11,_0x5b8413);}const _0x1ee91b=_0x153754*Math['sin'](Cesium$7['Math'][_0x19da83(0x62,0xef)](_0x2daeee));return _0x1ee91b;}function getSpeed(_0x39275a,_0x2f72c2){const _0x2e400b=Math['sqrt'](Math[_0x44837a(-0x7d,-0x83)](_0x39275a,0x2)+Math['pow'](_0x2f72c2,0x2));function _0x44837a(_0x3d20f1,_0x41570e){return _0x4fd8(_0x41570e- -0x12d,_0x3d20f1);}return _0x2e400b;}function getDirection(_0x27292c,_0x783601){let _0x2107f3=Cesium$7['Math'][_0x555e68(0x11,-0x6)](Math['atan2'](_0x783601,_0x27292c));_0x2107f3+=_0x2107f3<0x0?0x168:0x0;function _0x555e68(_0x4cb75b,_0x4cf111){return _0x4fd8(_0x4cb75b- -0x98,_0x4cf111);}return _0x2107f3;}const _0x3dbae2={};_0x3dbae2[_0x455f78(0x26d,0x26e)]=null,_0x3dbae2['getU']=getU,_0x3dbae2[_0x158a3f(-0x2be,-0x2b5)]=getV,_0x3dbae2[_0x455f78(0x29f,0x262)]=getSpeed,_0x3dbae2['getDirection']=getDirection;var WindUtil=_0x3dbae2;function _0x4fd8(_0x390438,_0x2d435d){const _0x14a9f1=_0x14a9();return _0x4fd8=function(_0x4fd891,_0x16e986){_0x4fd891=_0x4fd891-0x78;let _0x280535=_0x14a9f1[_0x4fd891];return _0x280535;},_0x4fd8(_0x390438,_0x2d435d);}const Cesium$6=mars3d__namespace['Cesium'];class CustomPrimitive{constructor(_0x27aafb){this['commandType']=_0x27aafb[_0x31f3a6(-0x1b7,-0x1de)],this['geometry']=_0x27aafb['geometry'],this['attributeLocations']=_0x27aafb['attributeLocations'];function _0x5a706f(_0x3a85c1,_0x2530e8){return _0x158a3f(_0x2530e8,_0x3a85c1-0x21);}this['primitiveType']=_0x27aafb['primitiveType'];function _0x31f3a6(_0x2a3f3e,_0x1e4dea){return _0x158a3f(_0x2a3f3e,_0x1e4dea-0xa1);}this['uniformMap']=_0x27aafb[_0x5a706f(-0x2d2,-0x250)],this['vertexShaderSource']=_0x27aafb[_0x5a706f(-0x326,-0x2dc)],this[_0x31f3a6(-0x251,-0x1f2)]=_0x27aafb['fragmentShaderSource'],this[_0x31f3a6(-0x288,-0x234)]=_0x27aafb[_0x5a706f(-0x2b4,-0x312)],this['framebuffer']=_0x27aafb['framebuffer'],this['outputTexture']=_0x27aafb['outputTexture'],this[_0x5a706f(-0x31f,-0x30f)]=_0x27aafb[_0x5a706f(-0x31f,-0x2e0)]??![],this['preExecute']=_0x27aafb['preExecute'],this[_0x5a706f(-0x240,-0x2d0)]=!![],this[_0x31f3a6(-0x26c,-0x23e)]=undefined,this['clearCommand']=undefined,this['autoClear']&&(this['clearCommand']=new Cesium$6['ClearCommand']({'color':new Cesium$6['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[_0x31f3a6(-0x274,-0x26f)],'pass':Cesium$6[_0x31f3a6(-0x27d,-0x27a)]['OPAQUE']}));}[_0x455f78(0x2dd,0x370)](_0x26379e){function _0x3975f3(_0x26cd8b,_0x427622){return _0x158a3f(_0x26cd8b,_0x427622-0x91);}function _0x444aef(_0x5dabbc,_0x27a98a){return _0x455f78(_0x27a98a- -0x328,_0x5dabbc);}switch(this[_0x444aef(-0x126,-0x9c)]){case'Draw':{const _0x1480af=Cesium$6[_0x444aef(-0xeb,-0xff)]['fromGeometry']({'context':_0x26379e,'geometry':this['geometry'],'attributeLocations':this['attributeLocations'],'bufferUsage':Cesium$6['BufferUsage']['STATIC_DRAW']}),_0x1cf2f4={};_0x1cf2f4[_0x444aef(-0xd6,-0x66)]=_0x26379e,_0x1cf2f4[_0x444aef(-0x1d5,-0x168)]=this[_0x444aef(-0x16f,-0x168)],_0x1cf2f4['vertexShaderSource']=this['vertexShaderSource'],_0x1cf2f4['fragmentShaderSource']=this['fragmentShaderSource'];const _0x49f6a2=Cesium$6['ShaderProgram'][_0x444aef(-0xc5,-0xfe)](_0x1cf2f4),_0x596f11=Cesium$6['RenderState'][_0x3975f3(-0x2e0,-0x250)](this['rawRenderState']);return new Cesium$6[(_0x444aef(-0xdd,-0x157))]({'primitiveType':this['primitiveType'],'shaderProgram':_0x49f6a2,'vertexArray':_0x1480af,'modelMatrix':Cesium$6['Matrix4'][_0x444aef(-0xac,-0x97)],'renderState':_0x596f11,'uniformMap':this[_0x3975f3(-0x1d1,-0x262)],'castShadows':![],'receiveShadows':![],'framebuffer':this[_0x3975f3(-0x251,-0x27f)],'pass':Cesium$6['Pass'][_0x3975f3(-0x289,-0x243)],'pickOnly':!![],'owner':this});}case'Compute':{const _0x1f6f06={};return _0x1f6f06[_0x3975f3(-0x2a2,-0x280)]=this,_0x1f6f06['fragmentShaderSource']=this['fragmentShaderSource'],_0x1f6f06['uniformMap']=this['uniformMap'],_0x1f6f06['outputTexture']=this[_0x444aef(-0x24,-0x52)],_0x1f6f06['persists']=!![],new Cesium$6[(_0x444aef(-0x11,-0x8e))](_0x1f6f06);}}}['setGeometry'](_0x16de23,_0x11d975){this[_0x4a18b5(0x1e8,0x227)]=_0x11d975;function _0x4a18b5(_0x252e34,_0x39258f){return _0x455f78(_0x39258f- -0x25,_0x252e34);}function _0x576115(_0x363223,_0x287e30){return _0x455f78(_0x287e30- -0x3d7,_0x363223);}const _0x2ac739=Cesium$6['VertexArray'][_0x4a18b5(0x2b3,0x29e)]({'context':_0x16de23,'geometry':this['geometry'],'attributeLocations':this[_0x576115(-0x1a9,-0x217)],'bufferUsage':Cesium$6['BufferUsage'][_0x576115(-0x282,-0x203)]});this['commandToExecute'][_0x4a18b5(0x224,0x214)]=_0x2ac739;}['update'](_0x1aa934){function _0x2384f4(_0x44292b,_0x22102e){return _0x455f78(_0x44292b- -0x2b1,_0x22102e);}if(!this['show'])return;if(_0x1aa934[_0x2384f4(-0x35,-0x93)]!==Cesium$6['SceneMode']['SCENE3D'])return;!Cesium$6[_0x597e28(-0x25e,-0x1c9)](this['commandToExecute'])&&(this['commandToExecute']=this[_0x2384f4(0x2c,-0x1e)](_0x1aa934['context']));Cesium$6['defined'](this[_0x597e28(-0x277,-0x2a5)])&&this['preExecute']();Cesium$6['defined'](this['clearCommand'])&&_0x1aa934[_0x597e28(-0x1c2,-0x222)]['push'](this['clearCommand']);function _0x597e28(_0x36b664,_0x36a11e){return _0x158a3f(_0x36b664,_0x36a11e-0xa1);}_0x1aa934['commandList']['push'](this[_0x2384f4(-0x85,-0xd7)]);}['isDestroyed'](){return![];}['destroy'](){if(this['clearCommand']){var _0x191d38,_0x20a109;(_0x191d38=this['clearCommand'])!==null&&_0x191d38!==void 0x0&&_0x191d38['vertexArray']&&this['clearCommand']['vertexArray']['destroy'](),(_0x20a109=this['clearCommand'])!==null&&_0x20a109!==void 0x0&&_0x20a109['shaderProgram']&&this[_0x20bcd5(0x68,0x23)]['shaderProgram']['destroy'](),delete this[_0x199a7e(-0x1e8,-0x177)];}this['commandToExecute']&&(this['commandToExecute']['vertexArray']&&this['commandToExecute']['vertexArray']['destroy'](),this['commandToExecute'][_0x199a7e(-0x15e,-0xcb)]&&this[_0x199a7e(-0x18a,-0x215)]['shaderProgram']['destroy'](),delete this['commandToExecute']);function _0x199a7e(_0x3d0054,_0x36777f){return _0x158a3f(_0x36777f,_0x3d0054-0x155);}function _0x20bcd5(_0x40d037,_0xdf3675){return _0x158a3f(_0xdf3675,_0x40d037-0x3a5);}return Cesium$6[_0x20bcd5(0x104,0xb5)](this);}}const Cesium$5=mars3d__namespace[_0x455f78(0x1cc,0x202)],Util=(function(){const _0x3153ed=function(){const _0x29d412=new Cesium$5[(_0x71c29a(0x2ab,0x2bf))]({'attributes':new Cesium$5['GeometryAttributes']({'position':new Cesium$5[(_0x5188e8(0x8c,0x10a))]({'componentDatatype':Cesium$5['ComponentDatatype'][_0x71c29a(0x3a1,0x396)],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new Cesium$5['GeometryAttribute']({'componentDatatype':Cesium$5['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});function _0x5188e8(_0x14d9a1,_0x48d824){return _0x4fd8(_0x14d9a1- -0xfd,_0x48d824);}function _0x71c29a(_0x5b194d,_0x172e74){return _0x4fd8(_0x172e74-0x244,_0x5b194d);}return _0x29d412;},_0x44e313=function(_0x24ac19,_0x100ed9){function _0x511df4(_0x2fbd20,_0x17e8d8){return _0x4fd8(_0x17e8d8- -0x1da,_0x2fbd20);}function _0x58438d(_0x2c4469,_0x1207dc){return _0x4fd8(_0x2c4469-0x3b0,_0x1207dc);}if(Cesium$5[_0x58438d(0x50d,0x4ad)](_0x100ed9)){const _0x4a435f={};_0x4a435f[_0x511df4(-0xdf,-0xc0)]=_0x100ed9,_0x24ac19[_0x58438d(0x471,0x40f)]=_0x4a435f;}const _0x3e8852=new Cesium$5['Texture'](_0x24ac19);return _0x3e8852;},_0x335923=function(_0x3b06e4,_0x507679,_0x131e5f){const _0xe54c06={};_0xe54c06['context']=_0x3b06e4,_0xe54c06['colorTextures']=[_0x507679],_0xe54c06['depthTexture']=_0x131e5f;const _0x24c5ca=new Cesium$5['Framebuffer'](_0xe54c06);return _0x24c5ca;},_0x2a984f=function(_0x4593d9){const _0x23d802=!![],_0x3da2c0=![],_0x4b376c={};_0x4b376c['viewport']=_0x4593d9[_0x299701(0x479,0x4ae)];function _0x39aa78(_0x20bb53,_0x202f11){return _0x4fd8(_0x202f11- -0x31b,_0x20bb53);}_0x4b376c['depthTest']=_0x4593d9['depthTest'],_0x4b376c['depthMask']=_0x4593d9[_0x299701(0x477,0x488)];function _0x299701(_0x409ffa,_0x4f8ee2){return _0x4fd8(_0x4f8ee2-0x3be,_0x409ffa);}_0x4b376c['blending']=_0x4593d9['blending'];const _0x3318c4=_0x4b376c,_0x148691=Cesium$5[_0x39aa78(-0x1d2,-0x18f)][_0x39aa78(-0x266,-0x24a)](_0x23d802,_0x3da2c0,_0x3318c4);return _0x148691;},_0x4c08c9=function(_0x481b92){const _0x56e6d9={},_0x3bb0ce=Cesium$5['Math']['mod'](_0x481b92['west'],Cesium$5[_0x5f130a(0x276,0x2ef)]['TWO_PI']),_0x599384=Cesium$5[_0x5f130a(0x276,0x2cb)][_0x5f130a(0x213,0x18c)](_0x481b92['east'],Cesium$5['Math']['TWO_PI']),_0x348237=_0x481b92['width'];let _0x6163d3,_0xed8c36;_0x348237>Cesium$5[_0x18e927(0x108,0x129)]['THREE_PI_OVER_TWO']?(_0x6163d3=0x0,_0xed8c36=Cesium$5['Math'][_0x5f130a(0x24c,0x248)]):_0x599384-_0x3bb0ce<_0x348237?(_0x6163d3=_0x3bb0ce,_0xed8c36=_0x3bb0ce+_0x348237):(_0x6163d3=_0x3bb0ce,_0xed8c36=_0x599384);_0x56e6d9[_0x18e927(0x1e2,0x194)]={'min':Cesium$5[_0x18e927(0x178,0x129)][_0x5f130a(0x244,0x27d)](_0x6163d3),'max':Cesium$5['Math'][_0x5f130a(0x244,0x297)](_0xed8c36)};function _0x5f130a(_0x40d8fa,_0x4f15d0){return _0x4fd8(_0x40d8fa-0x19b,_0x4f15d0);}const _0x50c7a3=_0x481b92[_0x18e927(0x15c,0x1ba)],_0x31cfd9=_0x481b92['north'],_0x2449ca=_0x481b92['height'],_0x1b9d0c=_0x2449ca>Cesium$5['Math']['PI']/0xc?_0x2449ca/0x2:0x0;let _0x350115=Cesium$5[_0x5f130a(0x276,0x271)]['clampToLatitudeRange'](_0x50c7a3-_0x1b9d0c),_0x57ddb3=Cesium$5[_0x18e927(0x9e,0x129)][_0x5f130a(0x2c9,0x325)](_0x31cfd9+_0x1b9d0c);_0x350115<-Cesium$5['Math']['PI_OVER_THREE']&&(_0x350115=-Cesium$5['Math']['PI_OVER_TWO']);_0x57ddb3>Cesium$5['Math']['PI_OVER_THREE']&&(_0x57ddb3=Cesium$5[_0x5f130a(0x276,0x21d)]['PI_OVER_TWO']);_0x56e6d9['lat']={'min':Cesium$5[_0x5f130a(0x276,0x2cc)]['toDegrees'](_0x350115),'max':Cesium$5['Math']['toDegrees'](_0x57ddb3)};function _0x18e927(_0x5e8143,_0x33718e){return _0x4fd8(_0x33718e-0x4e,_0x5e8143);}return _0x56e6d9;},_0x448ada={};_0x448ada[_0x1fdb33(-0xe2,-0xeb)]=_0x3153ed,_0x448ada['createTexture']=_0x44e313,_0x448ada['createFramebuffer']=_0x335923;function _0x414dac(_0x150fc0,_0x3d48c9){return _0x455f78(_0x150fc0- -0x235,_0x3d48c9);}_0x448ada['createRawRenderState']=_0x2a984f;function _0x1fdb33(_0x308cf1,_0x3db888){return _0x158a3f(_0x308cf1,_0x3db888-0x19e);}return _0x448ada[_0x1fdb33(-0x17e,-0x1ac)]=_0x4c08c9,_0x448ada;}());var segmentDraw_vert='in\x20vec2\x20st;\x0a//\x20it\x20is\x20not\x20normal\x20itself,\x20but\x20used\x20to\x20control\x20normal\x0ain\x20vec3\x20normal;\x20//\x20(point\x20to\x20use,\x20offset\x20sign,\x20not\x20used\x20component)\x0a\x0auniform\x20sampler2D\x20currentParticlesPosition;\x0auniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20postProcessingSpeed;\x0a\x0auniform\x20float\x20particleHeight;\x0a\x0auniform\x20float\x20aspect;\x0auniform\x20float\x20pixelSize;\x0auniform\x20float\x20lineWidth;\x0a\x0aout\x20float\x20speedNormalization;\x0a\x0avec3\x20convertCoordinate(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20WGS84\x20(lon,\x20lat,\x20lev)\x20->\x20ECEF\x20(x,\x20y,\x20z)\x0a\x20\x20\x20\x20//\x20see\x20https://en.wikipedia.org/wiki/Geographic_coordinate_conversion#From_geodetic_to_ECEF_coordinates\x20for\x20detail\x0a\x0a\x20\x20\x20\x20//\x20WGS\x2084\x20geometric\x20constants\x0a\x20\x20\x20\x20float\x20a\x20=\x206378137.0;\x20//\x20Semi-major\x20axis\x0a\x20\x20\x20\x20float\x20b\x20=\x206356752.3142;\x20//\x20Semi-minor\x20axis\x0a\x20\x20\x20\x20float\x20e2\x20=\x206.69437999014e-3;\x20//\x20First\x20eccentricity\x20squared\x0a\x0a\x20\x20\x20\x20float\x20latitude\x20=\x20radians(lonLatLev.y);\x0a\x20\x20\x20\x20float\x20longitude\x20=\x20radians(lonLatLev.x);\x0a\x0a\x20\x20\x20\x20float\x20cosLat\x20=\x20cos(latitude);\x0a\x20\x20\x20\x20float\x20sinLat\x20=\x20sin(latitude);\x0a\x20\x20\x20\x20float\x20cosLon\x20=\x20cos(longitude);\x0a\x20\x20\x20\x20float\x20sinLon\x20=\x20sin(longitude);\x0a\x0a\x20\x20\x20\x20float\x20N_Phi\x20=\x20a\x20/\x20sqrt(1.0\x20-\x20e2\x20*\x20sinLat\x20*\x20sinLat);\x0a\x20\x20\x20\x20float\x20h\x20=\x20particleHeight;\x20//\x20it\x20should\x20be\x20high\x20enough\x20otherwise\x20the\x20particle\x20may\x20not\x20pass\x20the\x20terrain\x20depth\x20test\x0a\x0a\x20\x20\x20\x20vec3\x20cartesian\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20cartesian.x\x20=\x20(N_Phi\x20+\x20h)\x20*\x20cosLat\x20*\x20cosLon;\x0a\x20\x20\x20\x20cartesian.y\x20=\x20(N_Phi\x20+\x20h)\x20*\x20cosLat\x20*\x20sinLon;\x0a\x20\x20\x20\x20cartesian.z\x20=\x20((b\x20*\x20b)\x20/\x20(a\x20*\x20a)\x20*\x20N_Phi\x20+\x20h)\x20*\x20sinLat;\x0a\x20\x20\x20\x20return\x20cartesian;\x0a}\x0a\x0avec4\x20calcProjectedCoordinate(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20the\x20range\x20of\x20longitude\x20in\x20Cesium\x20is\x20[-180,\x20180]\x20but\x20the\x20range\x20of\x20longitude\x20in\x20the\x20NetCDF\x20file\x20is\x20[0,\x20360]\x0a\x20\x20\x20\x20//\x20[0,\x20180]\x20is\x20corresponding\x20to\x20[0,\x20180]\x20and\x20[180,\x20360]\x20is\x20corresponding\x20to\x20[-180,\x200]\x0a\x20\x20\x20\x20lonLatLev.x\x20=\x20mod(lonLatLev.x\x20+\x20180.0,\x20360.0)\x20-\x20180.0;\x0a\x20\x20\x20\x20vec3\x20particlePosition\x20=\x20convertCoordinate(lonLatLev);\x0a\x20\x20\x20\x20vec4\x20projectedCoordinate\x20=\x20czm_modelViewProjection\x20*\x20vec4(particlePosition,\x201.0);\x0a\x20\x20\x20\x20return\x20projectedCoordinate;\x0a}\x0a\x0avec4\x20calcOffset(vec4\x20currentProjectedCoordinate,\x20vec4\x20nextProjectedCoordinate,\x20float\x20offsetSign)\x20{\x0a\x20\x20\x20\x20vec2\x20aspectVec2\x20=\x20vec2(aspect,\x201.0);\x0a\x20\x20\x20\x20vec2\x20currentXY\x20=\x20(currentProjectedCoordinate.xy\x20/\x20currentProjectedCoordinate.w)\x20*\x20aspectVec2;\x0a\x20\x20\x20\x20vec2\x20nextXY\x20=\x20(nextProjectedCoordinate.xy\x20/\x20nextProjectedCoordinate.w)\x20*\x20aspectVec2;\x0a\x0a\x20\x20\x20\x20float\x20offsetLength\x20=\x20lineWidth\x20/\x202.0;\x0a\x20\x20\x20\x20vec2\x20direction\x20=\x20normalize(nextXY\x20-\x20currentXY);\x0a\x20\x20\x20\x20vec2\x20normalVector\x20=\x20vec2(-direction.y,\x20direction.x);\x0a\x20\x20\x20\x20normalVector.x\x20=\x20normalVector.x\x20/\x20aspect;\x0a\x20\x20\x20\x20normalVector\x20=\x20offsetLength\x20*\x20normalVector;\x0a\x0a\x20\x20\x20\x20vec4\x20offset\x20=\x20vec4(offsetSign\x20*\x20normalVector,\x200.0,\x200.0);\x0a\x20\x20\x20\x20return\x20offset;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec2\x20particleIndex\x20=\x20st;\x0a\x0a\x20\x20\x20\x20vec3\x20currentPosition\x20=\x20texture(currentParticlesPosition,\x20particleIndex).rgb;\x0a\x20\x20\x20\x20vec4\x20nextPosition\x20=\x20texture(postProcessingPosition,\x20particleIndex);\x0a\x0a\x20\x20\x20\x20vec4\x20currentProjectedCoordinate\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20vec4\x20nextProjectedCoordinate\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20if\x20(nextPosition.w\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20currentProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20\x20\x20\x20\x20nextProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20currentProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20\x20\x20\x20\x20nextProjectedCoordinate\x20=\x20calcProjectedCoordinate(nextPosition.xyz);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20float\x20pointToUse\x20=\x20normal.x;\x20//\x20-1\x20is\x20currentProjectedCoordinate\x20and\x20+1\x20is\x20nextProjectedCoordinate\x0a\x20\x20\x20\x20float\x20offsetSign\x20=\x20normal.y;\x0a\x0a\x20\x20\x20\x20vec4\x20offset\x20=\x20pixelSize\x20*\x20calcOffset(currentProjectedCoordinate,\x20nextProjectedCoordinate,\x20offsetSign);\x0a\x20\x20\x20\x20if\x20(pointToUse\x20<\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20currentProjectedCoordinate\x20+\x20offset;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20nextProjectedCoordinate\x20+\x20offset;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20speedNormalization\x20=\x20texture(postProcessingSpeed,\x20particleIndex).a;\x0a}\x0a',segmentDraw_frag='uniform\x20sampler2D\x20colorTable;\x0a\x0ain\x20float\x20speedNormalization;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20out_FragColor\x20=\x20texture(colorTable,\x20vec2(speedNormalization,\x200.0));\x0a}\x0a',fullscreen_vert='in\x20vec3\x20position;\x0ain\x20vec2\x20st;\x0a\x0aout\x20vec2\x20textureCoordinate;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20textureCoordinate\x20=\x20st;\x0a\x20\x20\x20\x20gl_Position\x20=\x20vec4(position,\x201.0);\x0a}\x0a',trailDraw_frag='uniform\x20sampler2D\x20segmentsColorTexture;\x0auniform\x20sampler2D\x20segmentsDepthTexture;\x0a\x0auniform\x20sampler2D\x20currentTrailsColor;\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0a\x0auniform\x20float\x20fadeOpacity;\x0a\x0ain\x20vec2\x20textureCoordinate;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20pointsColor\x20=\x20texture(segmentsColorTexture,\x20textureCoordinate);\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture(currentTrailsColor,\x20textureCoordinate);\x0a\x0a\x20\x20\x20\x20trailsColor\x20=\x20floor(fadeOpacity\x20*\x20255.0\x20*\x20trailsColor)\x20/\x20255.0;\x20//\x20make\x20sure\x20the\x20trailsColor\x20will\x20be\x20strictly\x20decreased\x0a\x0a\x20\x20\x20\x20float\x20pointsDepth\x20=\x20texture(segmentsDepthTexture,\x20textureCoordinate).r;\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture(trailsDepthTexture,\x20textureCoordinate).r;\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture(czm_globeDepthTexture,\x20textureCoordinate));\x0a\x0a\x20\x20\x20\x20out_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20if\x20(pointsDepth\x20<\x20globeDepth)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20out_FragColor\x20+\x20pointsColor;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20out_FragColor\x20+\x20trailsColor;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20gl_FragDepth\x20=\x20min(pointsDepth,\x20trailsDepth);\x0a}\x0a',screenDraw_frag='uniform\x20sampler2D\x20trailsColorTexture;\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0a\x0ain\x20vec2\x20textureCoordinate;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture(trailsColorTexture,\x20textureCoordinate);\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture(trailsDepthTexture,\x20textureCoordinate).r;\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture(czm_globeDepthTexture,\x20textureCoordinate));\x0a\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20trailsColor;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20}\x0a}\x0a';const Cesium$4=mars3d__namespace['Cesium'];function _0x455f78(_0x755b1a,_0x21036e){return _0x4fd8(_0x755b1a-0x144,_0x21036e);}class ParticlesRendering{constructor(_0x24969c,_0x4a1316,_0x2bff83,_0x2727e6,_0x438b5d){this['createRenderingTextures'](_0x24969c,_0x4a1316,_0x2bff83['colors']),this['createRenderingFramebuffers'](_0x24969c),this['createRenderingPrimitives'](_0x24969c,_0x2bff83,_0x2727e6,_0x438b5d);}['createRenderingTextures'](_0x108451,_0x27d0bf,_0x104c95){const _0x2e09bc={};_0x2e09bc['context']=_0x108451;function _0x26e9d0(_0x145a13,_0x5afb0a){return _0x455f78(_0x5afb0a-0x17d,_0x145a13);}_0x2e09bc['width']=_0x108451[_0x1e6f71(0x4db,0x515)],_0x2e09bc['height']=_0x108451['drawingBufferHeight'],_0x2e09bc['pixelFormat']=Cesium$4[_0x26e9d0(0x3e7,0x3bd)]['RGBA'],_0x2e09bc['pixelDatatype']=Cesium$4[_0x1e6f71(0x542,0x530)][_0x1e6f71(0x44c,0x4bc)];const _0x2d5eac=_0x2e09bc,_0x51500b={};function _0x1e6f71(_0x2428e4,_0x2e3075){return _0x158a3f(_0x2428e4,_0x2e3075-0x7ac);}_0x51500b[_0x26e9d0(0x3e6,0x43f)]=_0x108451,_0x51500b[_0x26e9d0(0x3de,0x442)]=_0x108451['drawingBufferWidth'],_0x51500b[_0x26e9d0(0x409,0x399)]=_0x108451['drawingBufferHeight'],_0x51500b[_0x26e9d0(0x2cc,0x35d)]=Cesium$4['PixelFormat']['DEPTH_COMPONENT'],_0x51500b['pixelDatatype']=Cesium$4['PixelDatatype']['UNSIGNED_INT'];const _0x13de71=_0x51500b,_0x486469=_0x104c95['length'],_0x566cc0=new Float32Array(_0x486469*0x3);for(let _0x3ba328=0x0;_0x3ba328<_0x486469;_0x3ba328++){const _0x5e488f=Cesium$4[_0x1e6f71(0x403,0x493)][_0x26e9d0(0x3d5,0x35c)](_0x104c95[_0x3ba328]);_0x566cc0[0x3*_0x3ba328]=_0x5e488f[_0x26e9d0(0x3e9,0x3fc)],_0x566cc0[0x3*_0x3ba328+0x1]=_0x5e488f['green'],_0x566cc0[0x3*_0x3ba328+0x2]=_0x5e488f[_0x1e6f71(0x467,0x4a3)];}const _0x125071={'context':_0x108451,'width':_0x486469,'height':0x1,'pixelFormat':Cesium$4['PixelFormat']['RGB'],'pixelDatatype':Cesium$4['PixelDatatype']['FLOAT'],'sampler':new Cesium$4['Sampler']({'minificationFilter':Cesium$4['TextureMinificationFilter'][_0x26e9d0(0x410,0x3a3)],'magnificationFilter':Cesium$4[_0x1e6f71(0x48e,0x501)][_0x1e6f71(0x49d,0x4c7)]})};this[_0x1e6f71(0x4ea,0x4db)]={'segmentsColor':Util[_0x26e9d0(0x39f,0x375)](_0x2d5eac),'segmentsDepth':Util['createTexture'](_0x13de71),'currentTrailsColor':Util[_0x1e6f71(0x43b,0x499)](_0x2d5eac),'currentTrailsDepth':Util[_0x1e6f71(0x499,0x499)](_0x13de71),'nextTrailsColor':Util[_0x1e6f71(0x4e2,0x499)](_0x2d5eac),'nextTrailsDepth':Util['createTexture'](_0x13de71),'colorTable':Util[_0x1e6f71(0x413,0x499)](_0x125071,_0x566cc0)};}[_0x455f78(0x1e5,0x17e)](_0x250e53){function _0x41f67f(_0x563a22,_0x4a45a2){return _0x455f78(_0x4a45a2- -0x232,_0x563a22);}function _0x1addc3(_0x46c434,_0x1c180e){return _0x158a3f(_0x1c180e,_0x46c434-0xd8);}this['framebuffers']={'segments':Util['createFramebuffer'](_0x250e53,this[_0x1addc3(-0x1f9,-0x267)]['segmentsColor'],this['textures']['segmentsDepth']),'currentTrails':Util['createFramebuffer'](_0x250e53,this[_0x41f67f(0x3d,0x8)][_0x41f67f(-0x6d,-0x5d)],this['textures']['currentTrailsDepth']),'nextTrails':Util['createFramebuffer'](_0x250e53,this['textures'][_0x1addc3(-0x179,-0x1fb)],this[_0x41f67f(0x95,0x8)][_0x41f67f(-0x21,-0x59)])};}[_0x455f78(0x1e3,0x155)](_0x56eb24){const _0x5d9c06=0x4;let _0x426a25=[];for(let _0x1e6880=0x0;_0x1e6880<_0x56eb24[_0x388747(0x471,0x4d5)];_0x1e6880++){for(let _0x31655f=0x0;_0x31655f<_0x56eb24['particlesTextureSize'];_0x31655f++){for(let _0x598c0d=0x0;_0x598c0d<_0x5d9c06;_0x598c0d++){_0x426a25['push'](_0x1e6880/_0x56eb24[_0x34cb41(0x244,0x28d)]),_0x426a25['push'](_0x31655f/_0x56eb24['particlesTextureSize']);}}}_0x426a25=new Float32Array(_0x426a25);let _0x24f2e0=[];const _0x7a2761=[-0x1,0x1],_0x5bfc5e=[-0x1,0x1];for(let _0x4d25cb=0x0;_0x4d25cb<_0x56eb24['maxParticles'];_0x4d25cb++){for(let _0x280bb0=0x0;_0x280bb0<_0x5d9c06/0x2;_0x280bb0++){for(let _0x5ba9f8=0x0;_0x5ba9f8<_0x5d9c06/0x2;_0x5ba9f8++){_0x24f2e0[_0x34cb41(0x236,0x1e7)](_0x7a2761[_0x280bb0]),_0x24f2e0[_0x34cb41(0x236,0x1ef)](_0x5bfc5e[_0x5ba9f8]),_0x24f2e0['push'](0x0);}}}_0x24f2e0=new Float32Array(_0x24f2e0);function _0x34cb41(_0x3419e5,_0x104038){return _0x455f78(_0x3419e5- -0x35,_0x104038);}function _0x388747(_0x5f0f6c,_0x44e830){return _0x455f78(_0x5f0f6c-0x1f8,_0x44e830);}const _0x4bd1cc=0x6*_0x56eb24['maxParticles'],_0x67720e=new Uint32Array(_0x4bd1cc);for(let _0x11f57a=0x0,_0x47377c=0x0,_0x465530=0x0;_0x11f57a<_0x56eb24['maxParticles'];_0x11f57a++){_0x67720e[_0x47377c++]=_0x465530+0x0,_0x67720e[_0x47377c++]=_0x465530+0x1,_0x67720e[_0x47377c++]=_0x465530+0x2,_0x67720e[_0x47377c++]=_0x465530+0x2,_0x67720e[_0x47377c++]=_0x465530+0x1,_0x67720e[_0x47377c++]=_0x465530+0x3,_0x465530+=0x4;}const _0x18d91f=new Cesium$4['Geometry']({'attributes':new Cesium$4['GeometryAttributes']({'st':new Cesium$4[(_0x388747(0x4c5,0x524))]({'componentDatatype':Cesium$4[_0x34cb41(0x296,0x314)]['FLOAT'],'componentsPerAttribute':0x2,'values':_0x426a25}),'normal':new Cesium$4['GeometryAttribute']({'componentDatatype':Cesium$4[_0x34cb41(0x296,0x26b)]['FLOAT'],'componentsPerAttribute':0x3,'values':_0x24f2e0})}),'indices':_0x67720e});return _0x18d91f;}['createRenderingPrimitives'](_0x3a06f5,_0x5b6dee,_0x2ba474,_0x4fe5c7){const _0x13f857=this,_0x18e585={};_0x18e585['st']=0x0,_0x18e585[_0x45f4e1(0x2ab,0x230)]=0x1;const _0x49379f={};_0x49379f['sources']=[segmentDraw_vert];const _0x5159d9={};_0x5159d9['sources']=[segmentDraw_frag];const _0x2ea3bd={};_0x2ea3bd['enabled']=!![];const _0x190c24={};_0x190c24['viewport']=undefined,_0x190c24['depthTest']=_0x2ea3bd,_0x190c24['depthMask']=!![];function _0x45f4e1(_0x2d0d6e,_0x175fd9){return _0x158a3f(_0x175fd9,_0x2d0d6e-0x5e4);}const _0x3403cc={};_0x3403cc['position']=0x0,_0x3403cc['st']=0x1;const _0x58ec34={};_0x58ec34['defines']=['DISABLE_GL_POSITION_LOG_DEPTH'],_0x58ec34['sources']=[fullscreen_vert];const _0x26493b={};_0x26493b['defines']=[_0x45f4e1(0x322,0x2b7)],_0x26493b[_0x45f4e1(0x308,0x32c)]=[trailDraw_frag];const _0x550872={};_0x550872['position']=0x0,_0x550872['st']=0x1;const _0x25ea7a={};_0x25ea7a['defines']=['DISABLE_GL_POSITION_LOG_DEPTH'],_0x25ea7a[_0x11e335(0x1b3,0x23b)]=[fullscreen_vert];const _0x394157={};_0x394157[_0x11e335(0x27c,0x1f7)]=[_0x11e335(0x26d,0x255)],_0x394157[_0x11e335(0x1cf,0x23b)]=[screenDraw_frag];const _0x568dd4={};_0x568dd4['enabled']=![];const _0x534659={};function _0x11e335(_0x41677f,_0x335c04){return _0x158a3f(_0x41677f,_0x335c04-0x517);}_0x534659['enabled']=!![],this[_0x11e335(0x1af,0x20c)]={'segments':new CustomPrimitive({'commandType':_0x45f4e1(0x2d5,0x2c0),'attributeLocations':_0x18e585,'geometry':this['createSegmentsGeometry'](_0x5b6dee),'primitiveType':Cesium$4[_0x11e335(0x30b,0x289)]['TRIANGLES'],'uniformMap':{'currentParticlesPosition':function(){function _0x148e09(_0x1f14db,_0x5e21ff){return _0x11e335(_0x5e21ff,_0x1f14db- -0x20);}return _0x4fe5c7['particlesTextures'][_0x148e09(0x1f3,0x194)];},'postProcessingPosition':function(){function _0x4102b3(_0x19a9ba,_0x2e93cc){return _0x11e335(_0x2e93cc,_0x19a9ba- -0x316);}return _0x4fe5c7[_0x4102b3(-0x67,-0xa)]['postProcessingPosition'];},'postProcessingSpeed':function(){function _0x1dac5f(_0x517f1f,_0x50a491){return _0x45f4e1(_0x50a491-0x1a0,_0x517f1f);}function _0x20ae27(_0xb72559,_0x1bf8cd){return _0x45f4e1(_0xb72559- -0x342,_0x1bf8cd);}return _0x4fe5c7[_0x1dac5f(0x495,0x51c)][_0x1dac5f(0x5ab,0x545)];},'colorTable':function(){function _0x52dea2(_0x52e5d2,_0x320b36){return _0x45f4e1(_0x320b36- -0x4ed,_0x52e5d2);}return _0x13f857[_0x52dea2(-0x14c,-0x1da)]['colorTable'];},'aspect':function(){return _0x3a06f5['drawingBufferWidth']/_0x3a06f5['drawingBufferHeight'];},'pixelSize':function(){return _0x2ba474['pixelSize'];},'lineWidth':function(){return _0x5b6dee['lineWidth'];},'particleHeight':function(){function _0x531814(_0x95abc3,_0xf8cc76){return _0x45f4e1(_0x95abc3- -0xcd,_0xf8cc76);}return _0x5b6dee[_0x531814(0x2ea,0x2ca)];}},'vertexShaderSource':new Cesium$4['ShaderSource'](_0x49379f),'fragmentShaderSource':new Cesium$4['ShaderSource'](_0x5159d9),'rawRenderState':Util['createRawRenderState'](_0x190c24),'framebuffer':this['framebuffers'][_0x45f4e1(0x31e,0x2b2)],'autoClear':!![]}),'trails':new CustomPrimitive({'commandType':_0x45f4e1(0x2d5,0x26c),'attributeLocations':_0x3403cc,'geometry':Util[_0x45f4e1(0x35b,0x39c)](),'primitiveType':Cesium$4[_0x45f4e1(0x356,0x3a1)]['TRIANGLES'],'uniformMap':{'segmentsColorTexture':function(){function _0x15961b(_0x48e16d,_0x69269a){return _0x11e335(_0x48e16d,_0x69269a-0x149);}function _0x6c69a5(_0x1cf9eb,_0x27f87e){return _0x45f4e1(_0x1cf9eb- -0x4b5,_0x27f87e);}return _0x13f857[_0x15961b(0x420,0x38f)][_0x15961b(0x3b8,0x36b)];},'segmentsDepthTexture':function(){return _0x13f857['textures']['segmentsDepth'];},'currentTrailsColor':function(){return _0x13f857['framebuffers']['currentTrails']['getColorTexture'](0x0);},'trailsDepthTexture':function(){function _0x1ce46f(_0x9ab1c7,_0x3362d6){return _0x45f4e1(_0x3362d6- -0x5d4,_0x9ab1c7);}return _0x13f857[_0x1ce46f(-0x2a8,-0x260)]['currentTrails']['depthTexture'];},'fadeOpacity':function(){return _0x5b6dee['fadeOpacity'];}},'vertexShaderSource':new Cesium$4['ShaderSource'](_0x58ec34),'fragmentShaderSource':new Cesium$4[(_0x45f4e1(0x29c,0x272))](_0x26493b),'rawRenderState':Util['createRawRenderState']({'viewport':undefined,'depthTest':{'enabled':!![],'func':Cesium$4['DepthFunction'][_0x11e335(0x364,0x2d6)]},'depthMask':!![]}),'framebuffer':this['framebuffers']['nextTrails'],'autoClear':!![],'preExecute':function(){function _0x14cc59(_0x3f1038,_0x146e16){return _0x45f4e1(_0x3f1038-0x153,_0x146e16);}const _0x1c517c=_0x13f857['framebuffers']['currentTrails'];_0x13f857['framebuffers']['currentTrails']=_0x13f857['framebuffers'][_0x47c03c(0x1ce,0x21a)],_0x13f857['framebuffers']['nextTrails']=_0x1c517c;function _0x47c03c(_0x40fcab,_0x482bbc){return _0x45f4e1(_0x482bbc- -0xfb,_0x40fcab);}_0x13f857[_0x14cc59(0x42c,0x3bd)]['trails']['commandToExecute']['framebuffer']=_0x13f857['framebuffers'][_0x47c03c(0x1e1,0x21a)],_0x13f857['primitives']['trails'][_0x47c03c(0x21c,0x1ac)]['framebuffer']=_0x13f857['framebuffers']['nextTrails'];}}),'screen':new CustomPrimitive({'commandType':'Draw','attributeLocations':_0x550872,'geometry':Util['getFullscreenQuad'](),'primitiveType':Cesium$4[_0x11e335(0x2c2,0x289)]['TRIANGLES'],'uniformMap':{'trailsColorTexture':function(){function _0x3b3791(_0x361710,_0x4778f1){return _0x11e335(_0x4778f1,_0x361710- -0x4a6);}function _0x3ccb5a(_0x1454d3,_0xb4d020){return _0x45f4e1(_0xb4d020- -0x146,_0x1454d3);}return _0x13f857[_0x3ccb5a(0x2bf,0x22e)][_0x3b3791(-0x25e,-0x1e7)]['getColorTexture'](0x0);},'trailsDepthTexture':function(){function _0x184a49(_0x4e30c4,_0x531ea6){return _0x45f4e1(_0x4e30c4- -0x360,_0x531ea6);}return _0x13f857['framebuffers']['nextTrails'][_0x184a49(0x5a,0xe3)];}},'vertexShaderSource':new Cesium$4['ShaderSource'](_0x25ea7a),'fragmentShaderSource':new Cesium$4['ShaderSource'](_0x394157),'rawRenderState':Util['createRawRenderState']({'viewport':undefined,'depthTest':_0x568dd4,'depthMask':!![],'blending':_0x534659}),'framebuffer':undefined})};}}var getWind_frag=_0x455f78(0x2dc,0x323),updateSpeed_frag=_0x158a3f(-0x1e7,-0x26e),updatePosition_frag='uniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20sampler2D\x20currentParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0a\x0ain\x20vec2\x20v_textureCoordinates;\x0a\x0avec2\x20lengthOfLonLat(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20unit\x20conversion:\x20meters\x20->\x20longitude\x20latitude\x20degrees\x0a\x20\x20\x20\x20//\x20see\x20https://en.wikipedia.org/wiki/Geographic_coordinate_system#Length_of_a_degree\x20for\x20detail\x0a\x0a\x20\x20\x20\x20//\x20Calculate\x20the\x20length\x20of\x20a\x20degree\x20of\x20latitude\x20and\x20longitude\x20in\x20meters\x0a\x20\x20\x20\x20float\x20latitude\x20=\x20radians(lonLatLev.y);\x0a\x0a\x20\x20\x20\x20float\x20term1\x20=\x20111132.92;\x0a\x20\x20\x20\x20float\x20term2\x20=\x20559.82\x20*\x20cos(2.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term3\x20=\x201.175\x20*\x20cos(4.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term4\x20=\x200.0023\x20*\x20cos(6.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20latLength\x20=\x20term1\x20-\x20term2\x20+\x20term3\x20-\x20term4;\x0a\x0a\x20\x20\x20\x20float\x20term5\x20=\x20111412.84\x20*\x20cos(latitude);\x0a\x20\x20\x20\x20float\x20term6\x20=\x2093.5\x20*\x20cos(3.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term7\x20=\x200.118\x20*\x20cos(5.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20longLength\x20=\x20term5\x20-\x20term6\x20+\x20term7;\x0a\x0a\x20\x20\x20\x20return\x20vec2(longLength,\x20latLength);\x0a}\x0a\x0avoid\x20updatePosition(vec3\x20lonLatLev,\x20vec3\x20speed)\x20{\x0a\x20\x20\x20\x20vec2\x20lonLatLength\x20=\x20lengthOfLonLat(lonLatLev);\x0a\x20\x20\x20\x20float\x20u\x20=\x20speed.x\x20/\x20lonLatLength.x;\x0a\x20\x20\x20\x20float\x20v\x20=\x20speed.y\x20/\x20lonLatLength.y;\x0a\x20\x20\x20\x20float\x20w\x20=\x200.0;\x0a\x20\x20\x20\x20vec3\x20windVectorInLonLatLev\x20=\x20vec3(u,\x20v,\x20w);\x0a\x0a\x20\x20\x20\x20vec3\x20nextParticle\x20=\x20lonLatLev\x20+\x20windVectorInLonLatLev;\x0a\x0a\x20\x20\x20\x20out_FragColor\x20=\x20vec4(nextParticle,\x200.0);\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20lonLatLev\x20=\x20texture(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20speed\x20=\x20texture(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20updatePosition(lonLatLev,\x20speed);\x0a}\x0a',postProcessingPosition_frag='uniform\x20sampler2D\x20nextParticlesPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0a\x0a//\x20range\x20(min,\x20max)\x0auniform\x20vec2\x20lonRange;\x0auniform\x20vec2\x20latRange;\x0a\x0auniform\x20float\x20randomCoefficient;\x20//\x20use\x20to\x20improve\x20the\x20pseudo-random\x20generator\x0auniform\x20float\x20dropRate;\x20//\x20drop\x20rate\x20is\x20a\x20chance\x20a\x20particle\x20will\x20restart\x20at\x20random\x20position\x20to\x20avoid\x20degeneration\x0auniform\x20float\x20dropRateBump;\x0a\x0ain\x20vec2\x20v_textureCoordinates;\x0a\x0a//\x20pseudo-random\x20generator\x0aconst\x20vec3\x20randomConstants\x20=\x20vec3(12.9898,\x2078.233,\x204375.85453);\x0aconst\x20vec2\x20normalRange\x20=\x20vec2(0.0,\x201.0);\x0afloat\x20rand(vec2\x20seed,\x20vec2\x20range)\x20{\x0a\x20\x20\x20\x20vec2\x20randomSeed\x20=\x20randomCoefficient\x20*\x20seed;\x0a\x20\x20\x20\x20float\x20temp\x20=\x20dot(randomConstants.xy,\x20randomSeed);\x0a\x20\x20\x20\x20temp\x20=\x20fract(sin(temp)\x20*\x20(randomConstants.z\x20+\x20temp));\x0a\x20\x20\x20\x20return\x20temp\x20*\x20(range.y\x20-\x20range.x)\x20+\x20range.x;\x0a}\x0a\x0avec3\x20generateRandomParticle(vec2\x20seed,\x20float\x20lev)\x20{\x0a\x20\x20\x20\x20//\x20ensure\x20the\x20longitude\x20is\x20in\x20[0,\x20360]\x0a\x20\x20\x20\x20float\x20randomLon\x20=\x20mod(rand(seed,\x20lonRange),\x20360.0);\x0a\x20\x20\x20\x20float\x20randomLat\x20=\x20rand(-seed,\x20latRange);\x0a\x0a\x20\x20\x20\x20return\x20vec3(randomLon,\x20randomLat,\x20lev);\x0a}\x0a\x0abool\x20particleOutbound(vec3\x20particle)\x20{\x0a\x20\x20\x20\x20return\x20particle.y\x20<\x20-90.0\x20||\x20particle.y\x20>\x2090.0;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec3\x20nextParticle\x20=\x20texture(nextParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20texture(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20float\x20particleDropRate\x20=\x20dropRate\x20+\x20dropRateBump\x20*\x20nextSpeed.a;\x0a\x0a\x20\x20\x20\x20vec2\x20seed1\x20=\x20nextParticle.xy\x20+\x20v_textureCoordinates;\x0a\x20\x20\x20\x20vec2\x20seed2\x20=\x20nextSpeed.xy\x20+\x20v_textureCoordinates;\x0a\x20\x20\x20\x20vec3\x20randomParticle\x20=\x20generateRandomParticle(seed1,\x20nextParticle.z);\x0a\x20\x20\x20\x20float\x20randomNumber\x20=\x20rand(seed2,\x20normalRange);\x0a\x0a\x20\x20\x20\x20if\x20(randomNumber\x20<\x20particleDropRate\x20||\x20particleOutbound(nextParticle))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20vec4(randomParticle,\x201.0);\x20//\x201.0\x20means\x20this\x20is\x20a\x20random\x20particle\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20vec4(nextParticle,\x200.0);\x0a\x20\x20\x20\x20}\x0a}\x0a',postProcessingSpeed_frag='uniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x0a\x0ain\x20vec2\x20v_textureCoordinates;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20randomParticle\x20=\x20texture(postProcessingPosition,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20vec4\x20particleSpeed\x20=\x20texture(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x0a\x20\x20\x20\x20if\x20(randomParticle.a\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20particleSpeed;\x0a\x20\x20\x20\x20}\x0a}\x0a';const Cesium$3=mars3d__namespace[_0x455f78(0x1cc,0x1b6)];class ParticlesComputing{constructor(_0x27238e,_0x3b8185,_0x87dfd8,_0x520acd){function _0x465a6f(_0x4a9ff7,_0x47aab7){return _0x455f78(_0x47aab7-0x1d4,_0x4a9ff7);}this[_0x465a6f(0x366,0x3f9)]=_0x3b8185,this['createWindTextures'](_0x27238e,_0x3b8185),this['createParticlesTextures'](_0x27238e,_0x87dfd8,_0x520acd),this['createComputingPrimitives'](_0x3b8185,_0x87dfd8,_0x520acd);}['createWindTextures'](_0x44270f,_0x5a0fcc){const _0x56d4df={'context':_0x44270f,'width':_0x5a0fcc[_0x320552(0x320,0x2d4)]['lon'],'height':_0x5a0fcc[_0x354436(0x2d1,0x30f)]['lat']*(_0x5a0fcc[_0x354436(0x2d1,0x334)][_0x354436(0x31c,0x2cc)]||0x1),'pixelFormat':Cesium$3[_0x354436(0x283,0x315)][_0x320552(0x37d,0x320)],'pixelDatatype':Cesium$3[_0x354436(0x2d2,0x289)][_0x354436(0x2d9,0x32f)],'flipY':![],'sampler':new Cesium$3[(_0x320552(0x2cb,0x302))]({'minificationFilter':Cesium$3['TextureMinificationFilter']['NEAREST'],'magnificationFilter':Cesium$3['TextureMagnificationFilter']['NEAREST']})};function _0x320552(_0x1b0b49,_0x5c00bf){return _0x158a3f(_0x1b0b49,_0x5c00bf-0x551);}function _0x354436(_0x9a5e2a,_0x4f929b){return _0x455f78(_0x9a5e2a-0x43,_0x4f929b);}this[_0x354436(0x24f,0x1e1)]={'U':Util['createTexture'](_0x56d4df,_0x5a0fcc['U'][_0x320552(0x28f,0x2af)]),'V':Util['createTexture'](_0x56d4df,_0x5a0fcc['V']['array'])};}[_0x158a3f(-0x289,-0x2fa)](_0x112da8,_0x5da343,_0x1d3c33){function _0x270e23(_0x166567,_0x2e77cc){return _0x158a3f(_0x2e77cc,_0x166567-0x3ee);}const _0x250e1b={'context':_0x112da8,'width':_0x5da343['particlesTextureSize'],'height':_0x5da343['particlesTextureSize'],'pixelFormat':Cesium$3[_0x262d94(0x152,0x171)]['RGBA'],'pixelDatatype':Cesium$3[_0x270e23(0x172,0x144)]['FLOAT'],'flipY':![],'sampler':new Cesium$3[(_0x270e23(0x19f,0x1ae))]({'minificationFilter':Cesium$3[_0x262d94(0x167,0x104)]['NEAREST'],'magnificationFilter':Cesium$3['TextureMagnificationFilter'][_0x270e23(0xaa,0xfa)]})},_0x34af7a=this[_0x262d94(0x124,0xac)](_0x5da343['maxParticles'],_0x1d3c33);function _0x262d94(_0x18e7fa,_0x1f2a80){return _0x158a3f(_0x1f2a80,_0x18e7fa-0x41d);}const _0x8fb0f2=new Float32Array(0x4*_0x5da343[_0x262d94(0x145,0xc9)])['fill'](0x0);this['particlesTextures']={'particlesWind':Util['createTexture'](_0x250e1b),'currentParticlesPosition':Util['createTexture'](_0x250e1b,_0x34af7a),'nextParticlesPosition':Util[_0x270e23(0xdb,0xc4)](_0x250e1b,_0x34af7a),'currentParticlesSpeed':Util['createTexture'](_0x250e1b,_0x8fb0f2),'nextParticlesSpeed':Util[_0x270e23(0xdb,0x153)](_0x250e1b,_0x8fb0f2),'postProcessingPosition':Util[_0x262d94(0x10a,0xd2)](_0x250e1b,_0x34af7a),'postProcessingSpeed':Util['createTexture'](_0x250e1b,_0x8fb0f2)};}[_0x455f78(0x212,0x21d)](_0x574c50,_0x3f3e25){function _0x43ba9b(_0x592c95,_0xa30aad){return _0x158a3f(_0x592c95,_0xa30aad-0x19a);}const _0x90665c=new Float32Array(0x4*_0x574c50);function _0x496bfd(_0x2b10cd,_0x45f41c){return _0x158a3f(_0x45f41c,_0x2b10cd- -0x10);}for(let _0x4f658d=0x0;_0x4f658d<_0x574c50;_0x4f658d++){_0x90665c[0x4*_0x4f658d]=Cesium$3['Math'][_0x496bfd(-0x2a4,-0x21f)](_0x3f3e25['lonRange']['x'],_0x3f3e25[_0x43ba9b(-0x4a,-0xcb)]['y']),_0x90665c[0x4*_0x4f658d+0x1]=Cesium$3['Math'][_0x43ba9b(-0xc6,-0xfa)](_0x3f3e25['latRange']['x'],_0x3f3e25['latRange']['y']),_0x90665c[0x4*_0x4f658d+0x2]=Cesium$3[_0x496bfd(-0x2fc,-0x2ed)][_0x43ba9b(-0x71,-0xfa)](this['data'][_0x496bfd(-0x242,-0x25c)]['min'],this['data'][_0x496bfd(-0x242,-0x1d2)][_0x496bfd(-0x270,-0x2cf)]),_0x90665c[0x4*_0x4f658d+0x3]=0x0;}return _0x90665c;}[_0x158a3f(-0x35d,-0x2fe)](){function _0x2cbac2(_0x5486f1,_0x433b27){return _0x158a3f(_0x433b27,_0x5486f1-0x2e5);}function _0x40da06(_0x12e862,_0x9b9262){return _0x455f78(_0x9b9262- -0x2bc,_0x12e862);}Object[_0x2cbac2(0x97,0xc9)](this[_0x40da06(-0x6e,-0x19)])['forEach'](_0x4210a1=>{this['particlesTextures'][_0x4210a1]['destroy']();});}['createComputingPrimitives'](_0x291f12,_0x2c3b52,_0x5ad9ab){const _0xdbb06d=new Cesium$3['Cartesian3'](_0x291f12['dimensions'][_0x1bcb5f(-0x7a,-0x105)],_0x291f12['dimensions'][_0x1bcb5f(-0x134,-0xbe)],_0x291f12[_0x13d5eb(0x7d,0x7a)][_0x1bcb5f(-0x100,-0xb6)]),_0x34e798=new Cesium$3['Cartesian3'](_0x291f12['lon']['min'],_0x291f12[_0x1bcb5f(-0x7f,-0xbe)]['min'],_0x291f12['lev']['min']),_0x456375=new Cesium$3[(_0x13d5eb(0x16,-0x3b))](_0x291f12[_0x1bcb5f(-0x13d,-0x105)]['max'],_0x291f12['lat'][_0x1bcb5f(-0xf8,-0xe4)],_0x291f12['lev']['max']),_0x42bac2=new Cesium$3['Cartesian3']((_0x456375['x']-_0x34e798['x'])/(_0xdbb06d['x']-0x1),(_0x456375['y']-_0x34e798['y'])/(_0xdbb06d['y']-0x1),_0xdbb06d['z']>0x1?(_0x456375['z']-_0x34e798['z'])/(_0xdbb06d['z']-0x1):0x1),_0x25e038=new Cesium$3['Cartesian2'](_0x291f12['U']['min'],_0x291f12['U']['max']),_0x52a02f=new Cesium$3[(_0x13d5eb(0x2,-0x81))](_0x291f12['V']['min'],_0x291f12['V']['max']),_0xef780c=this,_0x1ffda1={};_0x1ffda1['U']=function(){function _0x44a168(_0x53feb6,_0x36e276){return _0x13d5eb(_0x36e276-0x5d,_0x53feb6);}return _0xef780c[_0x44a168(0x4f,0x58)]['U'];},_0x1ffda1['V']=function(){function _0x465ee3(_0x46bcf9,_0x391943){return _0x13d5eb(_0x391943-0x62,_0x46bcf9);}return _0xef780c[_0x465ee3(-0x20,0x5d)]['V'];},_0x1ffda1[_0x1bcb5f(-0xf4,-0x188)]=function(){function _0x15ec61(_0x42f2c4,_0x4ee548){return _0x1bcb5f(_0x42f2c4,_0x4ee548-0x3b6);}function _0x938d07(_0x3aac87,_0x40c536){return _0x1bcb5f(_0x40c536,_0x3aac87-0x55a);}return _0xef780c[_0x15ec61(0x293,0x2ca)][_0x938d07(0x3d2,0x43f)];};function _0x1bcb5f(_0x361d29,_0x3443dd){return _0x455f78(_0x3443dd- -0x38f,_0x361d29);}_0x1ffda1['dimension']=function(){return _0xdbb06d;},_0x1ffda1[_0x13d5eb(-0x22,-0x42)]=function(){return _0x34e798;},_0x1ffda1['maximum']=function(){return _0x456375;},_0x1ffda1[_0x1bcb5f(-0x194,-0x1cd)]=function(){return _0x42bac2;};const _0x501257={};_0x501257['sources']=[getWind_frag];const _0x3c7b7a={};_0x3c7b7a[_0x1bcb5f(-0xfd,-0x160)]=[updateSpeed_frag];const _0x3ac34a={};_0x3ac34a[_0x1bcb5f(-0x133,-0x160)]=[updatePosition_frag];const _0x102911={};_0x102911[_0x1bcb5f(-0x1aa,-0x160)]=[postProcessingPosition_frag];const _0x5885d8={};_0x5885d8['sources']=[postProcessingSpeed_frag];function _0x13d5eb(_0x369d44,_0x291190){return _0x158a3f(_0x291190,_0x369d44-0x2fa);}this['primitives']={'getWind':new CustomPrimitive({'commandType':'Compute','uniformMap':_0x1ffda1,'fragmentShaderSource':new Cesium$3[(_0x13d5eb(-0x4e,-0xe1))](_0x501257),'outputTexture':this['particlesTextures'][_0x13d5eb(-0x29,-0xba)],'preExecute':function(){function _0x362d55(_0x527b40,_0x592b77){return _0x13d5eb(_0x592b77- -0x2f8,_0x527b40);}function _0x1e7c37(_0x1156f8,_0x39c9d6){return _0x13d5eb(_0x39c9d6-0x182,_0x1156f8);}_0xef780c[_0x1e7c37(0x12f,0x171)][_0x1e7c37(0x16a,0x1e2)]['commandToExecute'][_0x362d55(-0x1ba,-0x233)]=_0xef780c['particlesTextures']['particlesWind'];}}),'updateSpeed':new CustomPrimitive({'commandType':'Compute','uniformMap':{'currentParticlesSpeed':function(){return _0xef780c['particlesTextures']['currentParticlesSpeed'];},'particlesWind':function(){return _0xef780c['particlesTextures']['particlesWind'];},'uSpeedRange':function(){return _0x25e038;},'vSpeedRange':function(){return _0x52a02f;},'pixelSize':function(){return _0x5ad9ab['pixelSize'];},'speedFactor':function(){return _0x2c3b52['speedFactor'];}},'fragmentShaderSource':new Cesium$3[(_0x1bcb5f(-0x1dd,-0x1cc))](_0x3c7b7a),'outputTexture':this['particlesTextures']['nextParticlesSpeed'],'preExecute':function(){const _0x1b4daa=_0xef780c['particlesTextures']['currentParticlesSpeed'];function _0x5c57a1(_0x5c9395,_0x49384){return _0x13d5eb(_0x5c9395-0x4b5,_0x49384);}_0xef780c[_0x5c57a1(0x547,0x5da)][_0x5c57a1(0x500,0x58b)]=_0xef780c[_0x5c57a1(0x547,0x5cb)]['postProcessingSpeed'];function _0x4bcb6a(_0x520cd0,_0x403171){return _0x13d5eb(_0x520cd0- -0x1c4,_0x403171);}_0xef780c[_0x4bcb6a(-0x132,-0x100)][_0x5c57a1(0x570,0x4e0)]=_0x1b4daa,_0xef780c[_0x5c57a1(0x4a4,0x49c)][_0x5c57a1(0x4d6,0x4f7)]['commandToExecute']['outputTexture']=_0xef780c['particlesTextures']['nextParticlesSpeed'];}}),'updatePosition':new CustomPrimitive({'commandType':'Compute','uniformMap':{'currentParticlesPosition':function(){function _0x5b3e04(_0x333565,_0x6aae5d){return _0x13d5eb(_0x333565- -0x176,_0x6aae5d);}function _0x1d1608(_0x2ad8bb,_0x43e434){return _0x1bcb5f(_0x2ad8bb,_0x43e434- -0x187);}return _0xef780c[_0x1d1608(-0x2ab,-0x273)][_0x1d1608(-0x305,-0x30f)];},'currentParticlesSpeed':function(){return _0xef780c['particlesTextures']['currentParticlesSpeed'];}},'fragmentShaderSource':new Cesium$3[(_0x1bcb5f(-0x231,-0x1cc))](_0x3ac34a),'outputTexture':this['particlesTextures'][_0x13d5eb(-0x1b,-0x7b)],'preExecute':function(){const _0x200d72=_0xef780c[_0x4dc7f4(-0x247,-0x211)][_0x4dc7f4(-0x2e3,-0x344)];function _0x85e27a(_0xe9d255,_0x477b4d){return _0x13d5eb(_0x477b4d- -0xcd,_0xe9d255);}_0xef780c[_0x4dc7f4(-0x247,-0x28a)][_0x85e27a(-0x5e,-0xd7)]=_0xef780c['particlesTextures'][_0x85e27a(-0xa2,-0x1a)];function _0x4dc7f4(_0x130100,_0xc9348d){return _0x1bcb5f(_0xc9348d,_0x130100- -0x15b);}_0xef780c['particlesTextures']['postProcessingPosition']=_0x200d72,_0xef780c['primitives'][_0x4dc7f4(-0x24a,-0x229)]['commandToExecute'][_0x4dc7f4(-0x214,-0x2a8)]=_0xef780c[_0x4dc7f4(-0x247,-0x1dd)]['nextParticlesPosition'];}}),'postProcessingPosition':new CustomPrimitive({'commandType':'Compute','uniformMap':{'nextParticlesPosition':function(){function _0x38276c(_0x160fbc,_0x5cce74){return _0x13d5eb(_0x5cce74-0x36c,_0x160fbc);}function _0x54d85a(_0x1ad6d9,_0x520e37){return _0x13d5eb(_0x520e37- -0xd8,_0x1ad6d9);}return _0xef780c[_0x38276c(0x3d6,0x3fe)][_0x54d85a(-0x159,-0xf3)];},'nextParticlesSpeed':function(){function _0x2a6dac(_0x48b0e7,_0x3ece90){return _0x1bcb5f(_0x3ece90,_0x48b0e7- -0x47);}return _0xef780c['particlesTextures'][_0x2a6dac(-0x19b,-0x1c3)];},'lonRange':function(){function _0x674e0(_0x4f450e,_0x132ab1){return _0x1bcb5f(_0x4f450e,_0x132ab1-0x102);}return _0x5ad9ab[_0x674e0(-0x5f,0x19)];},'latRange':function(){function _0x1a06cc(_0x57b104,_0x54d65e){return _0x13d5eb(_0x54d65e-0x479,_0x57b104);}return _0x5ad9ab[_0x1a06cc(0x466,0x445)];},'randomCoefficient':function(){function _0x405f1c(_0x126791,_0x3d9c9d){return _0x13d5eb(_0x126791- -0x24c,_0x3d9c9d);}const _0x5d1d41=Math[_0x405f1c(-0x1e3,-0x179)]();return _0x5d1d41;},'dropRate':function(){return _0x2c3b52['dropRate'];},'dropRateBump':function(){return _0x2c3b52['dropRateBump'];}},'fragmentShaderSource':new Cesium$3['ShaderSource'](_0x102911),'outputTexture':this['particlesTextures'][_0x13d5eb(0xb3,0x101)],'preExecute':function(){function _0xd7062e(_0xfbd4d3,_0x197ab5){return _0x13d5eb(_0xfbd4d3- -0x29a,_0x197ab5);}function _0x1d9758(_0x573750,_0x1b9e18){return _0x1bcb5f(_0x1b9e18,_0x573750- -0x39);}_0xef780c[_0xd7062e(-0x2ab,-0x2ad)]['postProcessingPosition']['commandToExecute'][_0x1d9758(-0xf2,-0x133)]=_0xef780c['particlesTextures']['postProcessingPosition'];}}),'postProcessingSpeed':new CustomPrimitive({'commandType':'Compute','uniformMap':{'postProcessingPosition':function(){return _0xef780c['particlesTextures']['postProcessingPosition'];},'nextParticlesSpeed':function(){function _0x4b323a(_0x4bcc54,_0x39bfec){return _0x1bcb5f(_0x39bfec,_0x4bcc54-0x5fd);}function _0x14e1cc(_0x56f9b6,_0x196a28){return _0x1bcb5f(_0x196a28,_0x56f9b6-0x319);}return _0xef780c[_0x4b323a(0x511,0x503)][_0x4b323a(0x4a9,0x4aa)];}},'fragmentShaderSource':new Cesium$3[(_0x13d5eb(-0x4e,-0x33))](_0x5885d8),'outputTexture':this['particlesTextures'][_0x13d5eb(0xbb,0x6d)],'preExecute':function(){function _0xaee7bd(_0x1fb957,_0x4fa7de){return _0x1bcb5f(_0x1fb957,_0x4fa7de-0x340);}function _0x5c1e6d(_0x497507,_0xf2fd56){return _0x13d5eb(_0xf2fd56- -0x2d,_0x497507);}_0xef780c['primitives'][_0xaee7bd(0x219,0x27d)]['commandToExecute'][_0x5c1e6d(0xe7,0x98)]=_0xef780c[_0x5c1e6d(0x68,0x65)][_0xaee7bd(0x285,0x27d)];}})};}}const Cesium$2=mars3d__namespace['Cesium'];class ParticleSystem{constructor(_0x108307,_0x37e5b3,_0x1f3dcc,_0x593b0f){this['context']=_0x108307,_0x37e5b3={..._0x37e5b3};_0x37e5b3[_0x496d1e(0x3d5,0x3ff)]&&_0x37e5b3[_0x496d1e(0x3f0,0x3f8)]&&(_0x37e5b3[_0x1b7585(-0x123,-0x119)]={},_0x37e5b3[_0x496d1e(0x414,0x3de)][_0x496d1e(0x452,0x3da)]=_0x37e5b3[_0x496d1e(0x395,0x3d1)],_0x37e5b3[_0x496d1e(0x448,0x3de)]['lat']=_0x37e5b3[_0x496d1e(0x3bf,0x332)],_0x37e5b3[_0x496d1e(0x44b,0x3de)]['lev']=_0x37e5b3['lev']||0x1,_0x37e5b3[_0x496d1e(0x34e,0x3da)]={},_0x37e5b3[_0x496d1e(0x3b8,0x3da)]['min']=_0x37e5b3[_0x496d1e(0x328,0x35b)],_0x37e5b3['lon']['max']=_0x37e5b3[_0x1b7585(-0x20b,-0x1aa)],_0x37e5b3[_0x1b7585(-0x11b,-0xd6)]={},_0x37e5b3[_0x1b7585(-0xf3,-0xd6)][_0x496d1e(0x408,0x3f2)]=_0x37e5b3['ymin'],_0x37e5b3[_0x496d1e(0x49d,0x421)]['max']=_0x37e5b3['ymax'],_0x37e5b3['lev']={},_0x37e5b3[_0x1b7585(-0x82,-0xce)][_0x496d1e(0x462,0x3f2)]=_0x37e5b3['levmin']??0x1,_0x37e5b3['lev'][_0x1b7585(-0x12d,-0xfc)]=_0x37e5b3['levmax']??0x1,_0x37e5b3['U']={},_0x37e5b3['U'][_0x496d1e(0x328,0x3b9)]=new Float32Array(_0x37e5b3['udata']),_0x37e5b3['U']['min']=_0x37e5b3[_0x1b7585(-0x9e,-0x121)]??Math[_0x496d1e(0x466,0x3f2)](..._0x37e5b3['udata']),_0x37e5b3['U']['max']=_0x37e5b3['umax']??Math[_0x496d1e(0x40d,0x3fb)](..._0x37e5b3['udata']),_0x37e5b3['V']={},_0x37e5b3['V'][_0x496d1e(0x406,0x3b9)]=new Float32Array(_0x37e5b3['vdata']),_0x37e5b3['V']['min']=_0x37e5b3['vmin']??Math['min'](..._0x37e5b3['vdata']),_0x37e5b3['V']['max']=_0x37e5b3['vmax']??Math['max'](..._0x37e5b3['vdata']));function _0x1b7585(_0x3cdf5e,_0x5e4678){return _0x455f78(_0x5e4678- -0x3a7,_0x3cdf5e);}this['data']=_0x37e5b3,this['options']=_0x1f3dcc;function _0x496d1e(_0x288eb0,_0x5be877){return _0x455f78(_0x5be877-0x150,_0x288eb0);}this[_0x1b7585(-0xaf,-0xf3)]=_0x593b0f,this[_0x496d1e(0x3fc,0x3c5)]=new ParticlesComputing(this['context'],this['data'],this[_0x1b7585(-0x15a,-0x14e)],this['viewerParameters']),this[_0x1b7585(-0x1f1,-0x1e1)]=new ParticlesRendering(this['context'],this['data'],this[_0x496d1e(0x368,0x3a9)],this['viewerParameters'],this['particlesComputing']);}['canvasResize'](_0x2020a7){this['particlesComputing']['destroyParticlesTextures']();function _0x94e718(_0x36111f,_0x586bdf){return _0x455f78(_0x36111f- -0x2f9,_0x586bdf);}function _0x352a2b(_0x264061,_0x57ad35){return _0x455f78(_0x264061- -0x363,_0x57ad35);}Object[_0x352a2b(-0xa6,-0x3e)](this[_0x94e718(-0x84,-0x28)]['windTextures'])['forEach'](_0x49435c=>{function _0x4e3a8c(_0x209e0a,_0x29dbf6){return _0x94e718(_0x209e0a-0xb,_0x29dbf6);}this['particlesComputing'][_0x4e3a8c(-0xe2,-0x8c)][_0x49435c]['destroy']();}),this['particlesRendering']['textures']['colorTable'][_0x352a2b(-0x10f,-0x9e)](),Object['keys'](this[_0x94e718(-0x133,-0xa4)]['framebuffers'])[_0x94e718(-0x110,-0x16c)](_0x3b4bf3=>{function _0x57fb07(_0x4a0b73,_0x37c391){return _0x94e718(_0x4a0b73-0x316,_0x37c391);}this['particlesRendering'][_0x57fb07(0x2b8,0x321)][_0x3b4bf3]['destroy']();}),this[_0x94e718(-0x37,-0x26)]=_0x2020a7,this['particlesComputing']=new ParticlesComputing(this[_0x352a2b(-0xa1,-0x77)],this[_0x352a2b(-0x13e,-0x157)],this[_0x352a2b(-0x10a,-0x112)],this['viewerParameters']),this[_0x352a2b(-0x19d,-0x144)]=new ParticlesRendering(this['context'],this['data'],this[_0x94e718(-0xa0,-0x5e)],this['viewerParameters'],this[_0x94e718(-0x84,0x1)]);}['clearFramebuffers'](){function _0x47751e(_0x3d0f39,_0x5a406e){return _0x455f78(_0x3d0f39- -0x343,_0x5a406e);}function _0x38bb5f(_0x3b2382,_0x37b6b6){return _0x455f78(_0x37b6b6- -0x167,_0x3b2382);}const _0x4fb0b9=new Cesium$2['ClearCommand']({'color':new Cesium$2['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':undefined,'pass':Cesium$2['Pass'][_0x38bb5f(0x6b,0xd0)]});Object[_0x47751e(-0x86,-0xaa)](this['particlesRendering'][_0x47751e(-0xa8,-0xc5)])[_0x38bb5f(0x45,0x82)](_0x592cdd=>{function _0x4f10ff(_0x13f674,_0x4cd1e2){return _0x47751e(_0x13f674-0xc1,_0x4cd1e2);}_0x4fb0b9[_0x4f10ff(-0x87,-0x5d)]=this['particlesRendering'][_0x36f445(0x53b,0x546)][_0x592cdd];function _0x36f445(_0xa426c,_0x122b7d){return _0x38bb5f(_0x122b7d,_0xa426c-0x407);}_0x4fb0b9[_0x36f445(0x507,0x482)](this['context']);});}['refreshParticles'](_0x5d1a72){function _0x4fd70f(_0x5d96f2,_0x7de215){return _0x158a3f(_0x5d96f2,_0x7de215-0x1c8);}this['clearFramebuffers'](),this[_0x5d53cc(0x20b,0x1cc)]['destroyParticlesTextures'](),this['particlesComputing']['createParticlesTextures'](this['context'],this['options'],this['viewerParameters']);function _0x5d53cc(_0xb77133,_0x376b26){return _0x455f78(_0xb77133- -0x6a,_0x376b26);}if(_0x5d1a72){var _0x35a598;const _0x2ab01=this['particlesRendering']['createSegmentsGeometry'](this[_0x4fd70f(-0xca,-0xea)]);this[_0x5d53cc(0x15c,0xd6)]['primitives'][_0x4fd70f(-0x14f,-0xfe)]['geometry']=_0x2ab01;const _0x492fbb=Cesium$2[_0x5d53cc(0x1bf,0x15b)][_0x5d53cc(0x259,0x26a)]({'context':this['context'],'geometry':_0x2ab01,'attributeLocations':this[_0x4fd70f(-0x160,-0x17d)]['primitives']['segments']['attributeLocations'],'bufferUsage':Cesium$2['BufferUsage']['STATIC_DRAW']});(_0x35a598=this[_0x4fd70f(-0x19c,-0x17d)]['primitives'])!==null&&_0x35a598!==void 0x0&&(_0x35a598=_0x35a598['segments'])!==null&&_0x35a598!==void 0x0&&_0x35a598['commandToExecute']&&(this[_0x5d53cc(0x15c,0x1e3)]['primitives'][_0x4fd70f(-0x135,-0xfe)][_0x4fd70f(-0x12d,-0x117)]['vertexArray']=_0x492fbb);}}['setOptions'](_0x3cc7d2){let _0x1820f4=![];function _0x7407b4(_0x5b2f56,_0x567578){return _0x158a3f(_0x567578,_0x5b2f56-0x58f);}this['options'][_0x427dbe(-0x10b,-0x172)]!==_0x3cc7d2[_0x7407b4(0x2b7,0x340)]&&(_0x1820f4=!![]);Object['keys'](_0x3cc7d2)['forEach'](_0x1a188d=>{this['options'][_0x1a188d]=_0x3cc7d2[_0x1a188d];});function _0x427dbe(_0x4e4123,_0x1b7fd6){return _0x455f78(_0x4e4123- -0x33e,_0x1b7fd6);}this['refreshParticles'](_0x1820f4);}['applyViewerParameters'](_0x25c735){function _0x232492(_0x280512,_0x131deb){return _0x455f78(_0x131deb- -0x350,_0x280512);}Object[_0x232492(-0xe,-0x93)](_0x25c735)[_0x232492(-0x153,-0x167)](_0x29eef0=>{function _0x35a557(_0x5b6030,_0x26b9ad){return _0x232492(_0x26b9ad,_0x5b6030- -0x157);}this[_0x35a557(-0x1f3,-0x1cc)][_0x29eef0]=_0x25c735[_0x29eef0];});function _0x24fd08(_0x258175,_0x414219){return _0x158a3f(_0x414219,_0x258175-0x2e);}this[_0x232492(-0x1dd,-0x166)](![]);}['destroy'](){clearTimeout(this[_0x350c41(0x5d,-0x1e)]),this[_0x634fca(0x38e,0x3e0)]['destroyParticlesTextures']();function _0x350c41(_0x4d097f,_0x4b682b){return _0x158a3f(_0x4b682b,_0x4d097f-0x315);}Object[_0x634fca(0x3d6,0x3bf)](this['particlesComputing']['windTextures'])['forEach'](_0x169081=>{this['particlesComputing']['windTextures'][_0x169081]['destroy']();}),this['particlesRendering']['textures']['colorTable']['destroy'](),Object['keys'](this[_0x634fca(0x2df,0x271)]['framebuffers'])[_0x350c41(-0xd,-0x57)](_0xd8988c=>{function _0x152c2e(_0x94bcf8,_0x39c713){return _0x634fca(_0x94bcf8- -0x618,_0x39c713);}function _0x2125a2(_0x1d6a66,_0x298d7d){return _0x350c41(_0x1d6a66- -0x167,_0x298d7d);}this[_0x152c2e(-0x339,-0x3b9)]['framebuffers'][_0xd8988c][_0x152c2e(-0x2ab,-0x2d1)]();});function _0x634fca(_0x1792cb,_0x5d4d63){return _0x158a3f(_0x5d4d63,_0x1792cb-0x624);}for(const _0x2d4186 in this){delete this[_0x2d4186];}}}const Cesium$1=mars3d__namespace['Cesium'],BaseLayer$1=mars3d__namespace['layer']['BaseLayer'],_0x233799={};function _0x158a3f(_0xe90f3e,_0x18747d){return _0x4fd8(_0x18747d- -0x3c7,_0xe90f3e);}_0x233799['particlesNumber']=0x1000,_0x233799['fixedHeight']=0x0,_0x233799[_0x455f78(0x22b,0x254)]=0.996,_0x233799[_0x455f78(0x1c8,0x257)]=0.003,_0x233799[_0x455f78(0x2d5,0x343)]=0.01,_0x233799['speedFactor']=0.5,_0x233799[_0x455f78(0x27b,0x22d)]=0x2,_0x233799['colors']=['rgb(206,255,255)'];const DEF_OPTIONS=_0x233799;class WindLayer extends BaseLayer$1{constructor(_0x2faff3={}){_0x2faff3={...DEF_OPTIONS,..._0x2faff3},super(_0x2faff3),this['_setOptionsHook'](_0x2faff3);}get['layer'](){return this['primitives'];}get['data'](){function _0x45782b(_0x1581f5,_0xee5174){return _0x455f78(_0xee5174- -0x18f,_0x1581f5);}return this[_0x45782b(0x6,0x4b)];}set[_0x455f78(0x225,0x279)](_0x1c77c2){this['setData'](_0x1c77c2);}get[_0x158a3f(-0x25a,-0x295)](){function _0x26aa2e(_0x363ec2,_0x3e2a67){return _0x455f78(_0x363ec2- -0x4ac,_0x3e2a67);}return this['options'][_0x26aa2e(-0x236,-0x23b)];}set['colors'](_0x273e92){function _0x162143(_0x364962,_0x5c6c10){return _0x455f78(_0x364962- -0x1aa,_0x5c6c10);}this['options'][_0x162143(0xcc,0x61)]=_0x273e92;function _0x1ee764(_0x114e01,_0x1352f9){return _0x158a3f(_0x114e01,_0x1352f9-0x668);}if(this['particleSystem']){const _0x57489c={};_0x57489c[_0x162143(0xcc,0x73)]=_0x273e92,this[_0x1ee764(0x403,0x402)][_0x162143(0xa3,0x133)](_0x57489c);}this['resize']();}[_0x158a3f(-0x2c3,-0x324)](){}[_0x158a3f(-0x30a,-0x338)](){this['scene']=this['_map'][_0x41c155(0xee,0xa6)],this[_0x41c155(0x1c,0x5b)]=this[_0x41c155(0x8c,0x94)]['camera'];function _0x41c155(_0x43f09c,_0x56f693){return _0x455f78(_0x56f693- -0x22c,_0x43f09c);}this[_0x41c155(0x32,-0x2c)]=new Cesium$1['PrimitiveCollection'](),this['_map'][_0x261c43(0xe0,0xe6)]['primitives']['add'](this['primitives']),this[_0x261c43(0xc2,0xb5)]={'lonRange':new Cesium$1['Cartesian2'](),'latRange':new Cesium$1[(_0x261c43(0x21,0xac))](),'pixelSize':0x0},this[_0x261c43(0xa5,0x99)]=new Cesium$1[(_0x261c43(0x68,0xc9))](Cesium$1[_0x261c43(0x35,0x5)]['ZERO'],0.99*0x615299),this['updateViewerParameters'](),window[_0x261c43(0x7e,0x29)]('resize',this[_0x41c155(0x3c,-0x4b)]['bind'](this),![]),this['mouse_down']=![],this[_0x261c43(0x65,0x27)]=![],this['_map']['on'](mars3d__namespace['EventType'][_0x41c155(0x3,-0xa)],this['_onMapWhellEvent'],this);function _0x261c43(_0x357e1c,_0x1f7245){return _0x158a3f(_0x1f7245,_0x357e1c-0x319);}this['_map']['on'](mars3d__namespace['EventType']['mouseDown'],this['_onMouseDownEvent'],this),this[_0x41c155(0x51,0x94)]['on'](mars3d__namespace['EventType']['mouseUp'],this['_onMouseUpEvent'],this),this[_0x261c43(0xce,0xf7)]['on'](mars3d__namespace['EventType'][_0x41c155(-0x1b,-0x55)],this['_onMouseMoveEvent'],this),this['_data']&&this['setData'](this[_0x261c43(-0x18,0x3d)]);}['_removedHook'](){function _0x18789d(_0x1048b5,_0x236766){return _0x455f78(_0x236766- -0x360,_0x1048b5);}window['removeEventListener']('resize',this[_0x18789d(-0x1a4,-0x17f)]),this['_map'][_0x35f8b2(-0x23c,-0x231)](mars3d__namespace[_0x18789d(-0x74,-0xce)][_0x35f8b2(-0x2df,-0x2a4)],this['_onMap_preRenderEvent'],this),this[_0x35f8b2(-0x250,-0x1c2)]['off'](mars3d__namespace[_0x18789d(-0x88,-0xce)][_0x18789d(-0xee,-0x13e)],this['_onMapWhellEvent'],this),this[_0x18789d(-0x10e,-0xa0)]['off'](mars3d__namespace[_0x18789d(-0x91,-0xce)]['mouseDown'],this['_onMouseDownEvent'],this),this[_0x35f8b2(-0x176,-0x1c2)][_0x18789d(-0xb5,-0x10f)](mars3d__namespace['EventType']['mouseUp'],this[_0x35f8b2(-0x293,-0x2a7)],this);function _0x35f8b2(_0x39d064,_0x3e1c6a){return _0x158a3f(_0x39d064,_0x3e1c6a-0x89);}this[_0x35f8b2(-0x193,-0x1c2)]['off'](mars3d__namespace[_0x18789d(-0x83,-0xce)][_0x35f8b2(-0x224,-0x2ab)],this[_0x18789d(-0x1ac,-0x150)],this),this['primitives']['removeAll'](),this['_map']['scene']['primitives']['remove'](this['primitives']);}[_0x158a3f(-0x394,-0x32a)](){if(!this[_0x1cba69(-0x2f,0x19)]||!this['particleSystem'])return;function _0x1cba69(_0x569558,_0x1d8414){return _0x455f78(_0x1d8414- -0x291,_0x569558);}this['primitives']['show']=![],this[_0x1cba69(-0x7c,-0x91)]['removeAll']();function _0x1594c8(_0x51c836,_0x5b0151){return _0x455f78(_0x51c836- -0x2a1,_0x5b0151);}this['_map']['once'](mars3d__namespace['EventType']['preRender'],this[_0x1cba69(-0xee,-0x60)],this);}[_0x455f78(0x231,0x1e8)](_0x15a94a){function _0x552610(_0x45c75b,_0xfb7ea1){return _0x455f78(_0xfb7ea1- -0xe8,_0x45c75b);}function _0x5ca314(_0x5f517b,_0x14a05d){return _0x158a3f(_0x14a05d,_0x5f517b-0x79);}this['particleSystem']['canvasResize'](this['scene']['context']),this[_0x552610(0x206,0x1fc)](),this[_0x552610(0x137,0x118)]['show']=!![];}[_0x158a3f(-0x257,-0x273)](_0x25f326){clearTimeout(this[_0x187723(0x3a0,0x38e)]);function _0x14f02a(_0x40df54,_0x141572){return _0x455f78(_0x141572-0x101,_0x40df54);}function _0x187723(_0x26e5d6,_0x56ee96){return _0x455f78(_0x56ee96-0x19a,_0x26e5d6);}if(!this[_0x187723(0x437,0x444)]||!this['particleSystem'])return;this['primitives']['show']=![],this['refreshTimer']=setTimeout(()=>{if(!this['show'])return;this['redraw']();},0xc8);}['_onMouseDownEvent'](_0x3b7d0c){function _0x4702a(_0x130b14,_0x9a6913){return _0x158a3f(_0x9a6913,_0x130b14-0x398);}this[_0x4702a(0x8e,0x5e)]=!![];}['_onMouseMoveEvent'](_0x55eb47){if(!this['show']||!this['particleSystem'])return;function _0x4d2fbd(_0x2c017a,_0x3fc224){return _0x455f78(_0x3fc224- -0x2d3,_0x2c017a);}function _0x4cf6ed(_0x414ca0,_0x3d1775){return _0x158a3f(_0x414ca0,_0x3d1775-0xd4);}this[_0x4cf6ed(-0x29a,-0x236)]&&(this[_0x4cf6ed(-0x24a,-0x237)]['show']=![],this['mouse_move']=!![]);}['_onMouseUpEvent'](_0xa39d81){if(!this['show']||!this[_0x1844ed(0x4f1,0x4f3)])return;this['mouse_down']&&this[_0x1844ed(0x488,0x4a5)]&&this[_0x520660(-0x1a5,-0x1b0)]();function _0x520660(_0x21df1b,_0x3d11a5){return _0x455f78(_0x21df1b- -0x44e,_0x3d11a5);}this['primitives']['show']=!![],this['mouse_down']=![];function _0x1844ed(_0x26ae43,_0x43b8fe){return _0x455f78(_0x43b8fe-0x24e,_0x26ae43);}this['mouse_move']=![];}[_0x455f78(0x2a9,0x29e)](){function _0x413c68(_0x250a1e,_0x45ce56){return _0x158a3f(_0x45ce56,_0x250a1e-0x58);}if(!this['_map']||!this[_0x38b505(0x68,0x1f)])return;function _0x38b505(_0xe51a59,_0x1b69c2){return _0x158a3f(_0xe51a59,_0x1b69c2-0x280);}this[_0x38b505(0x8b,0x3e)](),this['particleSystem'][_0x38b505(-0x12b,-0xb5)](this['viewerParameters']),this[_0x38b505(-0x23,-0x8b)][_0x38b505(-0x5,0x1f)]=!![];}['setData'](_0x6ca4c2){this['_data']=_0x6ca4c2;function _0x4094e8(_0x4edfd3,_0x1bb6ce){return _0x455f78(_0x1bb6ce-0xb4,_0x4edfd3);}this['particleSystem']&&this['particleSystem'][_0x3ca6ae(-0x1c3,-0x195)]();function _0x3ca6ae(_0x430564,_0x5da1d1){return _0x158a3f(_0x5da1d1,_0x430564-0xf4);}this[_0x4094e8(0x38e,0x359)]=new ParticleSystem(this[_0x3ca6ae(-0x145,-0x12d)][_0x4094e8(0x2e9,0x376)],_0x6ca4c2,this['getOptions'](),this[_0x3ca6ae(-0x163,-0x112)]),this['addPrimitives']();}['_setOptionsHook'](_0x55a9b2,_0x1098be){if(_0x55a9b2)for(const _0x2bf51e in _0x55a9b2){this[_0x2bf51e]=_0x55a9b2[_0x2bf51e];}function _0x3f2703(_0x10392a,_0x42caad){return _0x158a3f(_0x10392a,_0x42caad-0x1d3);}this['particleSystem']&&this['particleSystem']['setOptions'](this[_0x3f2703(-0xe4,-0x8a)]());}[_0x455f78(0x2ae,0x33a)](){const _0x41e602=Math['ceil'](Math['sqrt'](this['particlesNumber']));this[_0x59d0b4(0x6d,0x42)]=_0x41e602*_0x41e602;const _0x16727b={};_0x16727b['particlesTextureSize']=_0x41e602,_0x16727b['maxParticles']=this['particlesNumber'],_0x16727b[_0x59d0b4(0x101,0x142)]=this['fixedHeight'],_0x16727b['fadeOpacity']=this['fadeOpacity'],_0x16727b['dropRate']=this[_0x59d0b4(-0x15,0x4c)],_0x16727b['dropRateBump']=this['dropRateBump'];function _0x2e4cf7(_0x10979b,_0x161a7f){return _0x455f78(_0x10979b-0x5b,_0x161a7f);}function _0x59d0b4(_0x5eaa54,_0x25d9c0){return _0x455f78(_0x5eaa54- -0x1dd,_0x25d9c0);}return _0x16727b[_0x59d0b4(0x62,-0x2c)]=this['speedFactor'],_0x16727b['lineWidth']=this['lineWidth'],_0x16727b['colors']=this['colors'],_0x16727b;}['addPrimitives'](){this['primitives']['add'](this['particleSystem']['particlesComputing'][_0x171a57(0xea,0x10a)][_0x7ae97a(0x41c,0x440)]),this['primitives'][_0x171a57(0x10d,0x131)](this[_0x7ae97a(0x450,0x4b7)][_0x171a57(0x15f,0x1c2)][_0x7ae97a(0x3ab,0x31a)][_0x171a57(0x11c,0x15a)]),this[_0x171a57(0xea,0x81)]['add'](this[_0x7ae97a(0x450,0x447)]['particlesComputing']['primitives']['updatePosition']),this['primitives'][_0x7ae97a(0x3ce,0x357)](this['particleSystem']['particlesComputing']['primitives']['postProcessingPosition']);function _0x7ae97a(_0x6e5078,_0x256ad5){return _0x158a3f(_0x256ad5,_0x6e5078-0x6b6);}this['primitives']['add'](this['particleSystem']['particlesComputing'][_0x7ae97a(0x3ab,0x418)]['postProcessingSpeed']),this[_0x171a57(0xea,0x131)]['add'](this['particleSystem']['particlesRendering']['primitives']['segments']),this['primitives'][_0x7ae97a(0x3ce,0x383)](this['particleSystem']['particlesRendering'][_0x7ae97a(0x3ab,0x386)]['trails']);function _0x171a57(_0x5eed1c,_0xe2b0bc){return _0x158a3f(_0xe2b0bc,_0x5eed1c-0x3f5);}this[_0x171a57(0xea,0x61)][_0x171a57(0x10d,0xe4)](this[_0x171a57(0x18f,0x1bc)]['particlesRendering'][_0x7ae97a(0x3ab,0x33b)]['screen']);}['updateViewerParameters'](){let _0xdfd8cf=this[_0x59679f(-0x1e8,-0x163)]['computeViewRectangle'](this['scene'][_0x17cbc6(-0x2a1,-0x214)]['ellipsoid']);if(!_0xdfd8cf){const _0x5d6308=this[_0x17cbc6(-0x1f5,-0x1e0)][_0x59679f(-0xbf,-0x123)]();_0xdfd8cf=Cesium$1[_0x59679f(-0x136,-0x1ac)][_0x17cbc6(-0x295,-0x321)](_0x5d6308[_0x17cbc6(-0x2aa,-0x228)],_0x5d6308['ymin'],_0x5d6308['xmax'],_0x5d6308['ymax']);}const _0x592abe=Util['viewRectangleToLonLatRange'](_0xdfd8cf);this['viewerParameters']['lonRange']['x']=_0x592abe['lon']['min'],this['viewerParameters'][_0x17cbc6(-0x20f,-0x1f6)]['y']=_0x592abe['lon'][_0x17cbc6(-0x20a,-0x1c3)],this['viewerParameters'][_0x59679f(-0x1a3,-0x20d)]['x']=_0x592abe['lat'][_0x17cbc6(-0x213,-0x18b)],this['viewerParameters']['latRange']['y']=_0x592abe[_0x59679f(-0xb0,-0x119)][_0x17cbc6(-0x20a,-0x26a)];const _0x7b6396=this['camera'][_0x17cbc6(-0x1fd,-0x1d0)](this[_0x59679f(-0xe4,-0x153)],this['scene']['drawingBufferWidth'],this['scene'][_0x59679f(-0x1a4,-0x131)]);function _0x59679f(_0xab9c19,_0x2fb392){return _0x158a3f(_0xab9c19,_0x2fb392-0x121);}function _0x17cbc6(_0x427a44,_0x163d24){return _0x158a3f(_0x163d24,_0x427a44-0x56);}_0x7b6396>0x0&&(this['viewerParameters']['pixelSize']=_0x7b6396);}}mars3d__namespace[_0x158a3f(-0x2d3,-0x29c)][_0x455f78(0x224,0x1cd)](_0x158a3f(-0x273,-0x2b0),WindLayer),mars3d__namespace[_0x455f78(0x1f7,0x21c)]['WindLayer']=WindLayer;class CanvasParticle{constructor(){this['lng']=null,this[_0x90a565(0x31,0x91)]=null,this['tlng']=null;function _0x34b00c(_0x5c52ba,_0xf154c8){return _0x455f78(_0xf154c8- -0xad,_0x5c52ba);}function _0x90a565(_0x2b82ba,_0x3eb06d){return _0x158a3f(_0x2b82ba,_0x3eb06d-0x2cb);}this['tlat']=null,this[_0x34b00c(0x18a,0x19e)]=null,this[_0x34b00c(0xe7,0x16a)]=null;}['destroy'](){for(const _0x510730 in this){delete this[_0x510730];}}}class CanvasWindField{constructor(_0x50da1f){this['setOptions'](_0x50da1f);}get[_0x158a3f(-0x24b,-0x259)](){return this['_speedRate'];}set['speedRate'](_0x58e38f){this[_0xe6f392(0x2b4,0x325)]=(0x64-(_0x58e38f>0x63?0x63:_0x58e38f))*0x64;function _0x2a2790(_0x1d009e,_0x607332){return _0x455f78(_0x607332- -0xcf,_0x1d009e);}function _0xe6f392(_0x5e747e,_0x5a8296){return _0x158a3f(_0x5e747e,_0x5a8296-0x5ed);}this['_calc_speedRate']=[(this['xmax']-this['xmin'])/this['_speedRate'],(this['ymax']-this[_0x2a2790(0x1ae,0x122)])/this['_speedRate']];}get['maxAge'](){return this['_maxAge'];}set['maxAge'](_0x124b17){function _0x327b66(_0x4a3a28,_0x58c581){return _0x455f78(_0x4a3a28-0x1bd,_0x58c581);}this[_0x327b66(0x491,0x4e1)]=_0x124b17;}[_0x455f78(0x24d,0x294)](_0x72635e){this['options']=_0x72635e,this[_0x2b44d0(-0x1a8,-0x1c4)]=_0x72635e['maxAge']||0x78,this['speedRate']=_0x72635e[_0x2b44d0(-0x165,-0xee)]||0x32,this['particles']=[];function _0x2b44d0(_0x26dd20,_0x3a4db5){return _0x455f78(_0x3a4db5- -0x3a0,_0x26dd20);}function _0x3e23f7(_0x4714aa,_0x18c92e){return _0x455f78(_0x18c92e- -0x467,_0x4714aa);}const _0x570245=_0x72635e[_0x2b44d0(-0xf4,-0x156)]||0x1000;for(let _0x8a6c3b=0x0;_0x8a6c3b<_0x570245;_0x8a6c3b++){const _0x900edf=this[_0x2b44d0(-0xe7,-0x12d)](new CanvasParticle());this['particles'][_0x3e23f7(-0x25b,-0x1fc)](_0x900edf);}}['setDate'](_0xd60fcb){this['rows']=_0xd60fcb['rows'],this['cols']=_0xd60fcb['cols'],this['xmin']=_0xd60fcb[_0x2d7cca(-0x298,-0x31a)],this[_0x2d7cca(-0x2a6,-0x327)]=_0xd60fcb['xmax'],this['ymin']=_0xd60fcb['ymin'],this['ymax']=_0xd60fcb[_0x3d8242(0x165,0x1cd)],this[_0x2d7cca(-0x2e5,-0x28d)]=[];const _0x49705d=_0xd60fcb['udata'];function _0x2d7cca(_0x23b6cb,_0x532198){return _0x158a3f(_0x532198,_0x23b6cb-0x68);}const _0x299965=_0xd60fcb[_0x3d8242(0x21c,0x218)];function _0x3d8242(_0xecfafe,_0x3de3a6){return _0x158a3f(_0xecfafe,_0x3de3a6-0x47b);}let _0x2903b3=![];_0x49705d['length']===this['rows']&&_0x49705d[0x0]['length']===this['cols']&&(_0x2903b3=!![]);let _0x45164d=0x0,_0x16688e=null,_0x27bc71=null;for(let _0xf0d273=0x0;_0xf0d273<this[_0x3d8242(0x1a4,0x152)];_0xf0d273++){_0x16688e=[];for(let _0x5837c3=0x0;_0x5837c3<this[_0x3d8242(0x1a9,0x1f1)];_0x5837c3++,_0x45164d++){_0x2903b3?_0x27bc71=this['_calcUV'](_0x49705d[_0xf0d273][_0x5837c3],_0x299965[_0xf0d273][_0x5837c3]):_0x27bc71=this[_0x3d8242(0x1e8,0x15c)](_0x49705d[_0x45164d],_0x299965[_0x45164d]),_0x16688e[_0x2d7cca(-0x238,-0x1d8)](_0x27bc71);}this['grid'][_0x2d7cca(-0x238,-0x22d)](_0x16688e);}this[_0x2d7cca(-0x24a,-0x2d7)]['reverseY']&&this[_0x3d8242(0x180,0x12e)]['reverse']();}['clear'](){delete this['rows'],delete this['cols'],delete this[_0x3a9f9c(0x2d0,0x305)],delete this['xmax'];function _0x3a9f9c(_0x49ac9e,_0x358735){return _0x158a3f(_0x49ac9e,_0x358735-0x605);}delete this[_0x3a9f9c(0x2a8,0x2eb)];function _0x4ec2b2(_0x166dad,_0x2ba958){return _0x158a3f(_0x2ba958,_0x166dad-0x6bd);}delete this['ymax'],delete this['grid'],delete this['particles'];}['toGridXY'](_0x5666aa,_0x5850bb){const _0x32bad9=(_0x5666aa-this['xmin'])/(this[_0x3a4721(-0x11e,-0x117)]-this[_0x3a4721(-0x110,-0x109)])*(this[_0x4c928e(0x1f,0x92)]-0x1);function _0x3a4721(_0x2e2898,_0x1d2ba5){return _0x158a3f(_0x2e2898,_0x1d2ba5-0x1f7);}function _0x4c928e(_0x1a9005,_0x52bb94){return _0x455f78(_0x52bb94- -0x1ef,_0x1a9005);}const _0x511e5a=(this['ymax']-_0x5850bb)/(this['ymax']-this['ymin'])*(this['rows']-0x1);return[_0x32bad9,_0x511e5a];}[_0x455f78(0x264,0x2e8)](_0x2c83d6,_0x34434a){if(_0x2c83d6<0x0||_0x2c83d6>=this['cols']||_0x34434a>=this[_0x34fb9a(0x1dd,0x255)])return[0x0,0x0,0x0];const _0x44f32c=Math[_0x34fb9a(0x2ba,0x23b)](_0x2c83d6),_0x56d178=Math[_0x12f1e8(0x494,0x4c1)](_0x34434a);if(_0x44f32c===_0x2c83d6&&_0x56d178===_0x34434a)return this[_0x34fb9a(0x1b9,0x220)][_0x34434a][_0x2c83d6];const _0x5c3c8c=_0x44f32c+0x1,_0xf07f2f=_0x56d178+0x1;function _0x12f1e8(_0x50c0f5,_0x43cdb1){return _0x455f78(_0x50c0f5-0x1d5,_0x43cdb1);}const _0x2dc3df=this['getUVByXY'](_0x44f32c,_0x56d178),_0xff4cc7=this['getUVByXY'](_0x5c3c8c,_0x56d178),_0x547da2=this[_0x34fb9a(0x25f,0x1d9)](_0x44f32c,_0xf07f2f),_0x1a6368=this['getUVByXY'](_0x5c3c8c,_0xf07f2f);let _0x255575=null;function _0x34fb9a(_0x269fd5,_0x3a4108){return _0x158a3f(_0x3a4108,_0x269fd5-0x506);}try{_0x255575=this[_0x34fb9a(0x201,0x231)](_0x2c83d6-_0x44f32c,_0x34434a-_0x56d178,_0x2dc3df,_0xff4cc7,_0x547da2,_0x1a6368);}catch(_0x469770){console[_0x34fb9a(0x1f4,0x215)](_0x2c83d6,_0x34434a);}return _0x255575;}[_0x455f78(0x206,0x236)](_0x2de940,_0xdf691f,_0x24dfbd,_0xdeb20,_0x11a282,_0x32b3b1){const _0x347abf=0x1-_0x2de940,_0x32625e=0x1-_0xdf691f,_0x445600=_0x347abf*_0x32625e,_0x5567be=_0x2de940*_0x32625e,_0x546382=_0x347abf*_0xdf691f,_0x41cda2=_0x2de940*_0xdf691f,_0x160c0f=_0x24dfbd[0x0]*_0x445600+_0xdeb20[0x0]*_0x5567be+_0x11a282[0x0]*_0x546382+_0x32b3b1[0x0]*_0x41cda2,_0x2436ec=_0x24dfbd[0x1]*_0x445600+_0xdeb20[0x1]*_0x5567be+_0x11a282[0x1]*_0x546382+_0x32b3b1[0x1]*_0x41cda2;return this['_calcUV'](_0x160c0f,_0x2436ec);}['_calcUV'](_0x378470,_0x23928a){function _0x40edef(_0x53f608,_0x4975fc){return _0x455f78(_0x53f608- -0x397,_0x4975fc);}return[+_0x378470,+_0x23928a,Math[_0x40edef(-0x1cd,-0x1b4)](_0x378470*_0x378470+_0x23928a*_0x23928a)];}[_0x158a3f(-0x2ee,-0x2bd)](_0x298d33,_0x4dee1b){if(!this['isInExtent'](_0x298d33,_0x4dee1b))return null;const _0x2373db=this['toGridXY'](_0x298d33,_0x4dee1b),_0x3f295e=this['getUVByXY'](_0x2373db[0x0],_0x2373db[0x1]);return _0x3f295e;}['isInExtent'](_0x1bdcf2,_0x3d885b){function _0x2bec87(_0x4c9414,_0x291b68){return _0x158a3f(_0x291b68,_0x4c9414-0x49a);}function _0x726c0(_0x4bb7b6,_0x23b4d4){return _0x455f78(_0x4bb7b6- -0x409,_0x23b4d4);}return _0x1bdcf2>=this['xmin']&&_0x1bdcf2<=this[_0x726c0(-0x20c,-0x1fc)]&&_0x3d885b>=this[_0x726c0(-0x218,-0x240)]&&_0x3d885b<=this[_0x726c0(-0x1ac,-0x188)]?!![]:![];}['getRandomLatLng'](){function _0x4e1188(_0xf7aaa9,_0x4e772c){return _0x158a3f(_0x4e772c,_0xf7aaa9-0x3d2);}function _0xa38539(_0x105447,_0x213613){return _0x455f78(_0x213613- -0x7e,_0x105447);}const _0x570a4d=fRandomByfloat(this['xmin'],this[_0x4e1188(0xc4,0x7d)]),_0x336fd3=fRandomByfloat(this[_0xa38539(0x180,0x173)],this['ymax']),_0x4e64fe={};return _0x4e64fe[_0xa38539(0x214,0x253)]=_0x336fd3,_0x4e64fe[_0xa38539(0x2b8,0x237)]=_0x570a4d,_0x4e64fe;}['getParticles'](){let _0x21eb7e,_0x2a4b51,_0x352777;function _0x59588f(_0x531a66,_0x480653){return _0x158a3f(_0x480653,_0x531a66-0x409);}for(let _0x5de5bd=0x0,_0x48ba5d=this['particles']['length'];_0x5de5bd<_0x48ba5d;_0x5de5bd++){let _0x361d5a=this[_0x59588f(0x1cd,0x20c)][_0x5de5bd];_0x361d5a['age']<=0x0&&(_0x361d5a=this['_randomParticle'](_0x361d5a));if(_0x361d5a['age']>0x0){const _0x1e85be=_0x361d5a['tlng'],_0x4ab4f1=_0x361d5a['tlat'];_0x352777=this['getUVByPoint'](_0x1e85be,_0x4ab4f1),_0x352777?(_0x21eb7e=_0x1e85be+this['_calc_speedRate'][0x0]*_0x352777[0x0],_0x2a4b51=_0x4ab4f1+this[_0x59588f(0x145,0xf2)][0x1]*_0x352777[0x1],_0x361d5a[_0x3bd2c4(-0x166,-0x16e)]=_0x1e85be,_0x361d5a['lat']=_0x4ab4f1,_0x361d5a['tlng']=_0x21eb7e,_0x361d5a[_0x3bd2c4(-0x189,-0x1f5)]=_0x2a4b51,_0x361d5a['speed']=_0x352777[0x2],_0x361d5a['age']--):_0x361d5a[_0x3bd2c4(-0x184,-0x1d8)]=0x0;}}function _0x3bd2c4(_0x4032e2,_0x5c8c74){return _0x158a3f(_0x4032e2,_0x5c8c74-0xe8);}return this['particles'];}['_randomParticle'](_0x385dc1){let _0x593770,_0x1c7a87;for(let _0x364701=0x0;_0x364701<0x1e;_0x364701++){_0x593770=this[_0x4fbfb2(0x2a2,0x23a)](),_0x1c7a87=this[_0x54ab90(0x8e,0xcf)](_0x593770['lng'],_0x593770['lat']);if(_0x1c7a87&&_0x1c7a87[0x2]>0x0)break;}if(!_0x1c7a87)return _0x385dc1;const _0x37b5fb=_0x593770[_0x4fbfb2(0x2f4,0x2dc)]+this['_calc_speedRate'][0x0]*_0x1c7a87[0x0],_0x66d5b8=_0x593770[_0x54ab90(0x10a,0x152)]+this['_calc_speedRate'][0x1]*_0x1c7a87[0x1];_0x385dc1['lng']=_0x593770[_0x54ab90(0x128,0x136)],_0x385dc1['lat']=_0x593770[_0x4fbfb2(0x310,0x2f9)],_0x385dc1['tlng']=_0x37b5fb;function _0x4fbfb2(_0x2d6f05,_0x2e8f7b){return _0x455f78(_0x2d6f05-0x3f,_0x2e8f7b);}_0x385dc1['tlat']=_0x66d5b8,_0x385dc1[_0x54ab90(0x158,0xcc)]=Math['round'](Math['random']()*this['maxAge']);function _0x54ab90(_0xef3eea,_0x22daa9){return _0x455f78(_0x22daa9- -0x17f,_0xef3eea);}return _0x385dc1['speed']=_0x1c7a87[0x2],_0x385dc1;}[_0x158a3f(-0x2f5,-0x2b7)](){for(const _0x3b90f5 in this){delete this[_0x3b90f5];}}}function fRandomByfloat(_0x370678,_0x51b8b8){return _0x370678+Math['random']()*(_0x51b8b8-_0x370678);}const Cesium=mars3d__namespace['Cesium'],BaseLayer=mars3d__namespace[_0x455f78(0x1f7,0x21c)][_0x455f78(0x24f,0x21b)];class CanvasWindLayer extends BaseLayer{constructor(_0x3c1b78={}){super(_0x3c1b78);function _0x5ee25c(_0x2ab962,_0x1cc7be){return _0x158a3f(_0x1cc7be,_0x2ab962-0x2c3);}this['_setOptionsHook'](_0x3c1b78);function _0x12630a(_0x55abc3,_0x3b0647){return _0x455f78(_0x3b0647- -0x4dd,_0x55abc3);}this['canvas']=null,_0x3c1b78[_0x5ee25c(0x2e,0x24)]&&_0x3c1b78[_0x12630a(-0x240,-0x2b0)]&&(this['_colorRamp']=new mars3d__namespace['ColorRamp'](_0x3c1b78));}['_setOptionsHook'](_0xb2518d,_0x5b4fc6){this['frameTime']=0x3e8/(_0xb2518d['frameRate']||0xa);function _0x43790d(_0x519c33,_0x424a82){return _0x455f78(_0x424a82-0xc8,_0x519c33);}this['_pointerEvents']=this['options'][_0x7b1bcf(0x83,0x115)]??![],this[_0x43790d(0x2d4,0x30e)]=_0xb2518d['color']||_0x7b1bcf(0x58,0xd8),this['lineWidth']=_0xb2518d[_0x7b1bcf(0x43,0xa5)]||0x1,this[_0x7b1bcf(0x36,0x6c)]=_0xb2518d[_0x7b1bcf(0x36,0x1c)]??0x0,this['reverseY']=_0xb2518d['reverseY']??![];function _0x7b1bcf(_0x1b7692,_0x11d878){return _0x455f78(_0x1b7692- -0x238,_0x11d878);}this['windField']&&this[_0x7b1bcf(-0x29,-0x3f)][_0x43790d(0x38a,0x315)](_0xb2518d);}get['layer'](){function _0x17fe28(_0x37e526,_0x583d63){return _0x158a3f(_0x583d63,_0x37e526-0x6dd);}return this[_0x17fe28(0x456,0x3e5)];}get['canvasWidth'](){function _0x16af69(_0x295a3f,_0x117010){return _0x158a3f(_0x117010,_0x295a3f-0x6ee);}return this['_map'][_0x16af69(0x4b5,0x4ac)]['canvas']['clientWidth'];}get['canvasHeight'](){function _0x5bad64(_0x5457c0,_0x32e3f2){return _0x158a3f(_0x32e3f2,_0x5457c0-0x4bf);}return this['_map']['scene'][_0x5bad64(0x238,0x28f)]['clientHeight'];}get['pointerEvents'](){return this['_pointerEvents'];}set['pointerEvents'](_0x1c820e){function _0x4e59f2(_0x5b1c25,_0x5dd10a){return _0x158a3f(_0x5b1c25,_0x5dd10a-0x118);}function _0x1b8aa8(_0x20fd1a,_0xf8baf0){return _0x158a3f(_0x20fd1a,_0xf8baf0-0x666);}this['_pointerEvents']=_0x1c820e;if(!this['canvas'])return;_0x1c820e?this['canvas']['style'][_0x1b8aa8(0x41a,0x3c3)]=_0x1b8aa8(0x38f,0x37c):this[_0x1b8aa8(0x42d,0x3df)]['style'][_0x4e59f2(-0x1ed,-0x18b)]=_0x1b8aa8(0x35d,0x3f0);}get[_0x455f78(0x24a,0x22a)](){return this['options']['particlesNumber'];}set[_0x158a3f(-0x268,-0x2c1)](_0xcd8305){this['options']['particlesNumber']=_0xcd8305;function _0x428014(_0x291477,_0x183444){return _0x455f78(_0x183444- -0x138,_0x291477);}clearTimeout(this[_0x428014(0x185,0x166)]),this['_canrefresh']=setTimeout(()=>{function _0x21dec9(_0xec93e,_0x131936){return _0x428014(_0xec93e,_0x131936- -0x45);}this[_0x21dec9(0x133,0x12c)]();},0x1f4);}get['speedRate'](){function _0x59b66d(_0x116a66,_0x1707b7){return _0x158a3f(_0x1707b7,_0x116a66-0x6bf);}return this['options'][_0x59b66d(0x466,0x4cd)];}set['speedRate'](_0x40341e){function _0x2f0144(_0x529054,_0x2d5d6e){return _0x158a3f(_0x2d5d6e,_0x529054-0x36a);}function _0x5abb79(_0x1dda6d,_0x437cee){return _0x455f78(_0x1dda6d- -0x40e,_0x437cee);}this[_0x2f0144(0xb8,0x86)]['speedRate']=_0x40341e,this['windField']&&(this[_0x5abb79(-0x1ff,-0x23f)][_0x2f0144(0x111,0xe9)]=_0x40341e);}get['maxAge'](){function _0x344b67(_0x26291a,_0x3a57e3){return _0x158a3f(_0x26291a,_0x3a57e3-0x65b);}return this[_0x344b67(0x3fc,0x3a9)]['maxAge'];}set['maxAge'](_0x26497c){function _0x3628b4(_0x17525c,_0x282c14){return _0x455f78(_0x282c14- -0x484,_0x17525c);}this[_0x5cafb4(-0x112,-0x110)]['maxAge']=_0x26497c;function _0x5cafb4(_0x2ec87b,_0x50009b){return _0x455f78(_0x50009b- -0x369,_0x2ec87b);}this['windField']&&(this[_0x5cafb4(-0xfe,-0x15a)]['maxAge']=_0x26497c);}get['data'](){function _0x267b07(_0x367d4d,_0xe6541e){return _0x455f78(_0x367d4d- -0x22b,_0xe6541e);}return this[_0x267b07(0x5e,-0x2c)];}set['data'](_0x199c43){this['setData'](_0x199c43);}['_showHook'](_0x25f2ef){function _0x1d73ca(_0x12578f,_0x873c34){return _0x158a3f(_0x12578f,_0x873c34-0x393);}function _0x45f0f2(_0x60d281,_0x58d8fc){return _0x158a3f(_0x60d281,_0x58d8fc-0x20a);}_0x25f2ef?this['_addedHook']():(this[_0x45f0f2(-0x13,-0x78)]&&(this['options']['data']=this['windData']),this[_0x45f0f2(-0x51,-0xbf)]());}[_0x455f78(0x1e7,0x1b4)](){this['options']['worker']?this['initWorker']():this['windField']=new CanvasWindField(this['options']);}[_0x158a3f(-0x2cd,-0x338)](){this[_0xe9acc0(-0x1ac,-0x231)]=this['_createCanvas']();const _0x872903={};_0x872903[_0x312af7(0x348,0x336)]=!![];function _0x312af7(_0x4a99a9,_0x105c73){return _0x158a3f(_0x4a99a9,_0x105c73-0x684);}this['canvasContext']=this[_0xe9acc0(-0x1ac,-0x179)]['getContext']('2d',_0x872903);function _0xe9acc0(_0x1b9575,_0x4b9d3b){return _0x455f78(_0x1b9575- -0x430,_0x4b9d3b);}this['bindEvent'](),this[_0x312af7(0x365,0x3d2)][_0x312af7(0x3a5,0x39e)]&&this[_0xe9acc0(-0x1ab,-0x20e)](this[_0xe9acc0(-0x1d7,-0x244)]['data']);}['_removedHook'](){function _0x5a573a(_0x4b4e46,_0x4e43cc){return _0x455f78(_0x4e43cc- -0x4ba,_0x4b4e46);}function _0x5c1df4(_0x4111f1,_0x4e27bc){return _0x455f78(_0x4e27bc- -0x45a,_0x4111f1);}this[_0x5c1df4(-0x1d6,-0x17f)](),this['unbindEvent'](),this['canvas']&&(this[_0x5a573a(-0x16f,-0x1fa)][_0x5c1df4(-0x23a,-0x1b6)]['removeChild'](this['canvas']),delete this['canvas']);}['_createCanvas'](){const _0x5a460c=mars3d__namespace[_0x501505(0x446,0x3ec)]['create']('canvas','mars3d-canvasWind',this['_map']['container']);_0x5a460c[_0x2f793f(-0xae,-0x2b)]['position']='absolute',_0x5a460c['style']['top']=_0x501505(0x29d,0x32d);function _0x2f793f(_0x46cee0,_0x2c42c0){return _0x158a3f(_0x2c42c0,_0x46cee0-0x1d0);}function _0x501505(_0x2a6434,_0xd35e65){return _0x158a3f(_0x2a6434,_0xd35e65-0x62f);}return _0x5a460c[_0x501505(0x334,0x3b1)]['left']='0px',_0x5a460c[_0x2f793f(-0xae,-0x3f)]['width']=this['_map'][_0x501505(0x436,0x3f6)][_0x501505(0x418,0x3a8)][_0x501505(0x3a9,0x3af)]+'px',_0x5a460c['style'][_0x2f793f(-0x11f,-0xa1)]=this['_map']['scene'][_0x501505(0x34d,0x3a8)]['clientHeight']+'px',_0x5a460c[_0x501505(0x3f4,0x3b1)][_0x2f793f(-0x80,-0x6a)]=this[_0x501505(0x3e4,0x3b7)]?'auto':'none',_0x5a460c['style']['zIndex']=this['options'][_0x2f793f(-0x94,-0x7f)]??0x9,_0x5a460c['width']=this['_map'][_0x501505(0x3e4,0x3f6)]['canvas']['clientWidth'],_0x5a460c[_0x501505(0x3d2,0x340)]=this['_map'][_0x2f793f(-0x69,-0x9a)][_0x501505(0x404,0x3a8)][_0x2f793f(-0x5b,-0x9a)],_0x5a460c;}['resize'](){function _0x4d0cd8(_0x12067d,_0xc2c79e){return _0x455f78(_0xc2c79e- -0x244,_0x12067d);}function _0x1d798a(_0x83c988,_0x2e33f8){return _0x455f78(_0x83c988- -0x468,_0x2e33f8);}this['canvas']&&(this[_0x1d798a(-0x1e4,-0x188)]['style'][_0x4d0cd8(0x64,0x81)]=this[_0x4d0cd8(0xd,0x7c)]['scene'][_0x4d0cd8(0x80,0x40)]['clientWidth']+'px',this['canvas']['style'][_0x4d0cd8(-0x58,-0x28)]=this['_map'][_0x4d0cd8(0x5a,0x8e)]['canvas']['clientHeight']+'px',this[_0x4d0cd8(-0x3b,0x40)][_0x4d0cd8(0xc,0x81)]=this['_map']['scene']['canvas']['clientWidth'],this[_0x1d798a(-0x1e4,-0x196)][_0x4d0cd8(0x4f,-0x28)]=this['_map']['scene'][_0x1d798a(-0x1e4,-0x1a1)]['clientHeight']);}[_0x455f78(0x2ac,0x293)](){const _0x3f4e54=this;function _0x5aff88(_0x4b88fe,_0x11e0fe){return _0x455f78(_0x11e0fe-0x1b6,_0x4b88fe);}let _0xebd5ff=Date['now']();function _0x14a5f8(_0x2da890,_0xedeb49){return _0x158a3f(_0x2da890,_0xedeb49-0x5b5);}(function _0x12c3e9(){function _0x51f08f(_0x3c2ac8,_0x48efeb){return _0x4fd8(_0x3c2ac8- -0x1f2,_0x48efeb);}if(_0x3f4e54['isDestroy'])return;function _0x134e59(_0x5586d4,_0x2e7758){return _0x4fd8(_0x5586d4- -0x3c9,_0x2e7758);}_0x3f4e54['_animateFrame']=window[_0x51f08f(-0x11d,-0x159)](_0x12c3e9);if(_0x3f4e54[_0x51f08f(-0x8c,-0x65)]&&_0x3f4e54['windField']){const _0x134872=Date['now'](),_0x3921c4=_0x134872-_0xebd5ff;_0x3921c4>_0x3f4e54['frameTime']&&(_0xebd5ff=_0x134872-_0x3921c4%_0x3f4e54['frameTime'],_0x3f4e54[_0x134e59(-0x2d8,-0x257)]());}}(),window[_0x5aff88(0x3d4,0x426)](_0x5aff88(0x3b4,0x397),this[_0x14a5f8(0x25b,0x28b)][_0x5aff88(0x4e8,0x463)](this),![]),this[_0x14a5f8(0x266,0x2ab)]=![],this['mouse_move']=![],this[_0x5aff88(0x3f9,0x40f)]['mouseHidden']&&(this[_0x5aff88(0x427,0x476)]['on'](mars3d__namespace[_0x5aff88(0x409,0x448)]['wheel'],this['_onMapWhellEvent'],this),this['_map']['on'](mars3d__namespace[_0x14a5f8(0x304,0x33c)]['mouseDown'],this[_0x14a5f8(0x2ed,0x368)],this),this[_0x5aff88(0x4de,0x476)]['on'](mars3d__namespace['EventType']['mouseUp'],this['_onMouseUpEvent'],this)));}['unbindEvent'](){function _0x1a8414(_0x178ff6,_0x21892a){return _0x158a3f(_0x21892a,_0x178ff6-0x6f8);}window['cancelAnimationFrame'](this['_animateFrame']);function _0x2ce876(_0x28221e,_0x54706a){return _0x455f78(_0x28221e- -0x4b7,_0x54706a);}delete this['_animateFrame'],window[_0x1a8414(0x3d3,0x35f)]('resize',this['resize']),this[_0x2ce876(-0x25e,-0x26f)][_0x1a8414(0x4d0,0x4ec)]&&(this['_map']['off'](mars3d__namespace['EventType']['wheel'],this[_0x1a8414(0x485,0x50f)],this),this[_0x1a8414(0x4ad,0x423)]['off'](mars3d__namespace[_0x2ce876(-0x225,-0x1e5)][_0x2ce876(-0x276,-0x2f3)],this['_onMouseDownEvent'],this),this['_map'][_0x2ce876(-0x266,-0x28d)](mars3d__namespace['EventType'][_0x1a8414(0x46b,0x4c3)],this['_onMouseUpEvent'],this),this[_0x1a8414(0x4ad,0x438)]['off'](mars3d__namespace['EventType']['mouseMove'],this['_onMouseMoveEvent'],this));}['_onMapWhellEvent'](_0x1d2060){clearTimeout(this[_0xfdb92d(0x144,0x10a)]);if(!this['show']||!this[_0x42b52f(0x51a,0x594)])return;function _0xfdb92d(_0x377968,_0x1bdac0){return _0x158a3f(_0x1bdac0,_0x377968-0x45b);}function _0x42b52f(_0x1b4039,_0x968c5f){return _0x455f78(_0x1b4039-0x296,_0x968c5f);}this['canvas'][_0x42b52f(0x523,0x52f)][_0x42b52f(0x4d3,0x468)]=_0xfdb92d(0x227,0x2ab),this['refreshTimer']=setTimeout(()=>{if(!this[_0x13a771(0x3f6,0x365)])return;function _0x13a771(_0xe82e76,_0x3ae480){return _0x42b52f(_0xe82e76- -0x14a,_0x3ae480);}function _0xf918c0(_0x5a041d,_0x588bf3){return _0xfdb92d(_0x588bf3- -0x234,_0x5a041d);}this['redraw'](),this['canvas']['style'][_0x13a771(0x389,0x32a)]='visible';},0xc8);}['_onMouseDownEvent'](_0x82b98b){function _0x3cb2ea(_0x12952c,_0x1e790a){return _0x158a3f(_0x1e790a,_0x12952c-0x14c);}function _0x27bb9a(_0x4d6109,_0xe95b3){return _0x158a3f(_0x4d6109,_0xe95b3-0x41d);}this['mouse_down']=!![],this[_0x3cb2ea(-0xff,-0x13f)]['off'](mars3d__namespace[_0x3cb2ea(-0x12d,-0xcb)]['mouseMove'],this['_onMouseMoveEvent'],this),this['_map']['on'](mars3d__namespace['EventType'][_0x27bb9a(0x74,0xe9)],this['_onMouseMoveEvent'],this);}[_0x158a3f(-0x29e,-0x2fb)](_0x1e468a){if(!this[_0x74c535(0x19,-0x7b)]||!this[_0x34b96d(0x3d0,0x436)])return;function _0x74c535(_0x276a61,_0x203750){return _0x455f78(_0x276a61- -0x291,_0x203750);}function _0x34b96d(_0xf68735,_0x36f43f){return _0x158a3f(_0x36f43f,_0xf68735-0x657);}this[_0x74c535(-0x90,-0xe5)]&&(this['canvas']['style']['visibility']=_0x74c535(0x46,-0x16),this[_0x34b96d(0x3a3,0x3e2)]=!![]);}['_onMouseUpEvent'](_0x404f03){function _0x304070(_0x4446bc,_0x2c9353){return _0x455f78(_0x4446bc-0x17c,_0x2c9353);}if(!this['show']||!this[_0x304070(0x400,0x428)])return;this['_map'][_0x5972fb(0x2f3,0x2f5)](mars3d__namespace[_0x5972fb(0x332,0x336)]['mouseMove'],this['_onMouseMoveEvent'],this);function _0x5972fb(_0x31a6df,_0x200fe3){return _0x158a3f(_0x31a6df,_0x200fe3-0x5af);}this['mouse_down']&&this[_0x5972fb(0x338,0x2fb)]&&this['redraw'](),this['canvas']['style']['visibility']=_0x5972fb(0x311,0x383),this['mouse_down']=![],this[_0x5972fb(0x387,0x2fb)]=![];}[_0x158a3f(-0x279,-0x286)](_0x4153b8){this[_0x36abf6(0x2,-0x56)](),this['windData']=_0x4153b8;function _0x36abf6(_0x3d329c,_0x1bca78){return _0x455f78(_0x3d329c- -0x2d9,_0x1bca78);}this['windField'][_0x36abf6(-0x28,0x16)](_0x4153b8);function _0x8a4a4(_0x365633,_0x25c960){return _0x158a3f(_0x365633,_0x25c960-0x45);}this[_0x36abf6(-0x30,-0x99)]();}[_0x158a3f(-0x211,-0x262)](){function _0x5063ca(_0x501417,_0x5a3f99){return _0x455f78(_0x5a3f99- -0x37b,_0x501417);}if(!this['show'])return;function _0x487de0(_0x1ba8e8,_0x418fc8){return _0x158a3f(_0x418fc8,_0x1ba8e8-0x396);}this['windField']['setOptions'](this[_0x487de0(0xe4,0x163)]),this[_0x5063ca(-0x1cc,-0x146)]();}['update'](){if(this[_0xecf5ff(0x483,0x41f)])return;this[_0x4dbb65(0x32f,0x32b)]=!![];if(this['worker'])this['windField'][_0xecf5ff(0x422,0x3ef)]();else{const _0x1dfb9e=this['windField']['getParticles']();this[_0x4dbb65(0x39b,0x35a)](_0x1dfb9e);}function _0xecf5ff(_0x387129,_0x1134bf){return _0x158a3f(_0x387129,_0x1134bf-0x6c5);}function _0x4dbb65(_0x3d60ab,_0x43c0d7){return _0x455f78(_0x43c0d7-0xc6,_0x3d60ab);}this[_0xecf5ff(0x3e0,0x41f)]=![];}['_drawLines'](_0x8cb5a5){this[_0xeba62a(-0x48,-0xbb)][_0xeba62a(-0x28,-0x5e)]='destination-in',this[_0x2cfc32(0x2e1,0x33c)]['fillRect'](0x0,0x0,this[_0x2cfc32(0x3a4,0x38a)],this['canvasHeight']),this[_0xeba62a(-0xde,-0xbb)]['globalCompositeOperation']='lighter';function _0x2cfc32(_0x4a76ec,_0x2a80e4){return _0x455f78(_0x2a80e4-0x138,_0x4a76ec);}function _0xeba62a(_0x19df6d,_0x2f4ea3){return _0x455f78(_0x2f4ea3- -0x2bf,_0x19df6d);}this['canvasContext']['globalAlpha']=0.9;const _0x49df47=this['_map']['scene']['mode']!==Cesium[_0x2cfc32(0x3ef,0x3fe)]['SCENE3D'],_0x326ecc=this[_0xeba62a(-0xec,-0x6d)]*0.25;if(this['_colorRamp'])for(let _0x1d6e58=0x0,_0x4f3394=_0x8cb5a5[_0xeba62a(-0x13e,-0xf2)];_0x1d6e58<_0x4f3394;_0x1d6e58++){const _0x4b89c4=_0x8cb5a5[_0x1d6e58],_0x171385=this[_0xeba62a(-0x59,-0xa2)](_0x4b89c4['lng'],_0x4b89c4[_0x2cfc32(0x3b2,0x409)],_0x4b89c4),_0x33c043=this['_tomap'](_0x4b89c4[_0x2cfc32(0x3b8,0x3eb)],_0x4b89c4['tlat'],_0x4b89c4);if(!_0x171385||!_0x33c043)continue;if(_0x49df47&&Math['abs'](_0x171385[0x0]-_0x33c043[0x0])>=_0x326ecc)continue;this[_0x2cfc32(0x2cb,0x33c)]['beginPath'](),this['canvasContext'][_0x2cfc32(0x3e2,0x3b3)]=this[_0x2cfc32(0x3e7,0x3b3)],this['canvasContext'][_0xeba62a(-0x76,-0x97)]=this[_0x2cfc32(0x3ad,0x3d1)]['getColor'](_0x4b89c4['speed']),this['canvasContext'][_0xeba62a(-0xa2,-0x87)](_0x171385[0x0],_0x171385[0x1]),this[_0x2cfc32(0x2ca,0x33c)]['lineTo'](_0x33c043[0x0],_0x33c043[0x1]),this['canvasContext'][_0xeba62a(-0x57,-0xcc)]();}else{this[_0x2cfc32(0x2bb,0x33c)][_0x2cfc32(0x369,0x336)](),this['canvasContext'][_0x2cfc32(0x351,0x3b3)]=this[_0xeba62a(-0x97,-0x44)],this['canvasContext'][_0x2cfc32(0x31a,0x360)]=this[_0xeba62a(-0xb5,-0x79)];for(let _0x2d454f=0x0,_0x253577=_0x8cb5a5['length'];_0x2d454f<_0x253577;_0x2d454f++){const _0x2039dd=_0x8cb5a5[_0x2d454f],_0x4fef0c=this['_tomap'](_0x2039dd['lng'],_0x2039dd[_0x2cfc32(0x419,0x409)],_0x2039dd),_0xcb8f00=this['_tomap'](_0x2039dd[_0x2cfc32(0x383,0x3eb)],_0x2039dd[_0xeba62a(-0x68,-0x91)],_0x2039dd);if(!_0x4fef0c||!_0xcb8f00)continue;if(_0x49df47&&Math[_0xeba62a(-0x17c,-0xef)](_0x4fef0c[0x0]-_0xcb8f00[0x0])>=_0x326ecc)continue;this[_0xeba62a(-0xe6,-0xbb)][_0xeba62a(-0x5e,-0x87)](_0x4fef0c[0x0],_0x4fef0c[0x1]),this['canvasContext'][_0x2cfc32(0x43b,0x3f9)](_0xcb8f00[0x0],_0xcb8f00[0x1]);}this['canvasContext']['stroke']();}}['_tomap'](_0x48f082,_0x227020,_0x4a71cb){function _0x80c28d(_0x112e0f,_0x350dbb){return _0x158a3f(_0x350dbb,_0x112e0f-0x747);}const _0x17b51f=Cesium['Cartesian3']['fromDegrees'](_0x48f082,_0x227020,this[_0x3850d0(0x2a2,0x2bf)]);function _0x3850d0(_0x2b5494,_0x1316b8){return _0x455f78(_0x1316b8-0x51,_0x2b5494);}const _0x37b913=this['_map']['scene'];if(_0x37b913[_0x3850d0(0x31a,0x2cd)]===Cesium['SceneMode']['SCENE3D']){const _0x3056eb=new Cesium['EllipsoidalOccluder'](_0x37b913[_0x3850d0(0x211,0x265)]['ellipsoid'],_0x37b913[_0x80c28d(0x4c3,0x4e0)][_0x3850d0(0x2dc,0x2d1)]),_0x298900=_0x3056eb[_0x3850d0(0x378,0x333)](_0x17b51f);if(!_0x298900)return _0x4a71cb['age']=0x0,null;}const _0x4aa087=Cesium['SceneTransforms'][_0x80c28d(0x46c,0x495)](this['_map']['scene'],_0x17b51f);return _0x4aa087?[_0x4aa087['x'],_0x4aa087['y']]:null;}['clear'](){this['windField']['clear']();function _0x1f277d(_0x944fe3,_0xbcf9c4){return _0x158a3f(_0xbcf9c4,_0x944fe3-0x59b);}delete this[_0x1f277d(0x319,0x385)];}['initWorker'](){this['worker']=new Worker(this['options'][_0x1432dc(-0x2da,-0x26a)]),this[_0x1432dc(-0x2da,-0x33d)]['onmessage']=_0xd6f662=>{this['_drawLines'](_0xd6f662['data']['particles']),this['_updateIng2']=![];};function _0x1432dc(_0x2b3223,_0x472e5c){return _0x455f78(_0x2b3223- -0x52a,_0x472e5c);}this[_0x1432dc(-0x31b,-0x36c)]={'init':_0x2e87c4=>{const _0xd020f8={};function _0x7c0aab(_0x343520,_0xcac32){return _0x10fd15(_0xcac32-0xbb,_0x343520);}_0xd020f8['type']=_0x7c0aab(-0x5b,-0x1b);function _0x263ad2(_0x3f3fcc,_0x1e2eb3){return _0x10fd15(_0x1e2eb3-0x443,_0x3f3fcc);}_0xd020f8['options']=_0x2e87c4,this[_0x7c0aab(0x9e,0x17)]['postMessage'](_0xd020f8);},'setOptions':_0x5ddce3=>{const _0x24ea2f={};_0x24ea2f[_0xc26f3e(0x108,0x15a)]='setOptions';function _0x58b8c7(_0x340ba3,_0x92784){return _0x1432dc(_0x340ba3-0x59b,_0x92784);}_0x24ea2f['options']=_0x5ddce3;function _0xc26f3e(_0x55665,_0x1508fe){return _0x10fd15(_0x55665-0x224,_0x1508fe);}this[_0x58b8c7(0x2c1,0x26f)]['postMessage'](_0x24ea2f);},'setDate':_0x4a118c=>{const _0x217911={};function _0x52a481(_0x10b44f,_0x43cc68){return _0x10fd15(_0x43cc68-0x130,_0x10b44f);}_0x217911['type']=_0x183864(0x19a,0x179);function _0x183864(_0x4676e5,_0x4a9de1){return _0x10fd15(_0x4676e5-0x1dd,_0x4a9de1);}_0x217911['data']=_0x4a118c,this['worker'][_0x52a481(0x106,0xa8)](_0x217911);},'update':()=>{if(this['_updateIng2'])return;function _0x21b8b8(_0x257b9a,_0x34b178){return _0x10fd15(_0x257b9a-0xaf,_0x34b178);}function _0x438179(_0x5e7c70,_0x556c35){return _0x10fd15(_0x556c35-0x68,_0x5e7c70);}this[_0x21b8b8(-0x3d,-0xca)]=!![];const _0x52b958={};_0x52b958['type']='update',this[_0x21b8b8(0xb,-0x9)]['postMessage'](_0x52b958);},'clear':()=>{const _0x480321={};function _0x5d5fcf(_0x28507f,_0x1e3d42){return _0x10fd15(_0x1e3d42- -0x1a5,_0x28507f);}_0x480321[_0x5d5fcf(-0x2a6,-0x2c1)]='clear',this['worker']['postMessage'](_0x480321);}};function _0x10fd15(_0x30915c,_0x2199d6){return _0x158a3f(_0x2199d6,_0x30915c-0x217);}this[_0x1432dc(-0x31b,-0x28a)]['init'](this[_0x10fd15(-0x9b,-0x8)]);}}mars3d__namespace[_0x158a3f(-0x26f,-0x29c)]['register']('canvasWind',CanvasWindLayer),mars3d__namespace['layer'][_0x455f78(0x203,0x23a)]=CanvasWindLayer,mars3d__namespace['CanvasWindField']=CanvasWindField,mars3d__namespace[_0x158a3f(-0x294,-0x23d)]=WindUtil,exports['CanvasWindField']=CanvasWindField,exports[_0x158a3f(-0x387,-0x308)]=CanvasWindLayer,exports['WindLayer']=WindLayer,exports['WindUtil']=WindUtil;const _0x44f801={};_0x44f801['value']=!![],Object[_0x158a3f(-0x390,-0x342)](exports,'__esModule',_0x44f801);
14
+ 'use strict';(function(_0x4236d7,_0x376682){const _0x7b6a1f=_0x4236d7();function _0x434581(_0x50c185,_0x15de87){return _0x411e(_0x50c185- -0x2de,_0x15de87);}function _0x349376(_0x3e9a7d,_0x387cb1){return _0x411e(_0x3e9a7d-0xa0,_0x387cb1);}while(!![]){try{const _0x1a757d=-parseInt(_0x349376(0x1f7,0x24b))/0x1*(parseInt(_0x434581(-0x130,-0x161))/0x2)+-parseInt(_0x434581(-0x168,-0x1c3))/0x3+parseInt(_0x434581(-0xe4,-0x12a))/0x4+parseInt(_0x349376(0x265,0x289))/0x5+-parseInt(_0x349376(0x200,0x17e))/0x6*(parseInt(_0x349376(0x1e2,0x199))/0x7)+parseInt(_0x434581(-0xb8,-0x7b))/0x8+parseInt(_0x349376(0x2a7,0x2d2))/0x9;if(_0x1a757d===_0x376682)break;else _0x7b6a1f['push'](_0x7b6a1f['shift']());}catch(_0x2c529b){_0x7b6a1f['push'](_0x7b6a1f['shift']());}}}(_0x3bc8,0xe5a3a));function _interopNamespace(_0x7f8233){if(_0x7f8233&&_0x7f8233[_0x1e64ce(0x115,0x17a)])return _0x7f8233;var _0x13f6ee=Object['create'](null);_0x7f8233&&Object['keys'](_0x7f8233)[_0x1e64ce(0x17d,0x14c)](function(_0x2a1c92){function _0x21ed76(_0x5030de,_0xfab93b){return _0x17eace(_0xfab93b- -0x4ea,_0x5030de);}function _0x1aab89(_0x5914fa,_0x1d72f0){return _0x17eace(_0x1d72f0- -0x3cd,_0x5914fa);}if(_0x2a1c92!=='default'){var _0x20f81f=Object['getOwnPropertyDescriptor'](_0x7f8233,_0x2a1c92);Object[_0x21ed76(-0x104,-0x9f)](_0x13f6ee,_0x2a1c92,_0x20f81f[_0x21ed76(-0xb8,-0x11a)]?_0x20f81f:{'enumerable':!![],'get':function(){return _0x7f8233[_0x2a1c92];}});}});_0x13f6ee[_0x17eace(0x3b3,0x403)]=_0x7f8233;function _0x1e64ce(_0x4671f5,_0x1d3d5d){return _0x411e(_0x4671f5- -0x18,_0x1d3d5d);}function _0x17eace(_0x13feba,_0x84b852){return _0x411e(_0x13feba-0x206,_0x84b852);}return _0x13f6ee;}var mars3d__namespace=_interopNamespace(mars3d);const Cesium$7=mars3d__namespace['Cesium'];function getU(_0x291751,_0x1b0e2f){const _0x486ec6=_0x291751*Math['cos'](Cesium$7['Math']['toRadians'](_0x1b0e2f));return _0x486ec6;}function getV(_0x23e987,_0x53ced5){const _0x3910c4=_0x23e987*Math['sin'](Cesium$7['Math'][_0x306c9c(0x1da,0x1ab)](_0x53ced5));function _0x306c9c(_0x3a6ccb,_0x261da7){return _0x411e(_0x261da7- -0x7a,_0x3a6ccb);}return _0x3910c4;}function getSpeed(_0x5c7606,_0x52094f){const _0x44750c=Math[_0x25699c(0x441,0x419)](Math['pow'](_0x5c7606,0x2)+Math['pow'](_0x52094f,0x2));function _0x25699c(_0x3cfe99,_0x5c6a9e){return _0x411e(_0x5c6a9e-0x234,_0x3cfe99);}return _0x44750c;}function getDirection(_0x3eade2,_0x43fd40){let _0x4cf6dc=Cesium$7['Math']['toDegrees'](Math[_0x516d59(0x357,0x3c7)](_0x43fd40,_0x3eade2));function _0x516d59(_0x5d2522,_0x52dd18){return _0x411e(_0x5d2522-0x15f,_0x52dd18);}return _0x4cf6dc+=_0x4cf6dc<0x0?0x168:0x0,_0x4cf6dc;}const _0x4a64c3={};_0x4a64c3['__proto__']=null;function _0xbdf208(_0x441f86,_0x21b9e9){return _0x411e(_0x441f86-0x10d,_0x21b9e9);}_0x4a64c3[_0xbdf208(0x258,0x2bc)]=getU,_0x4a64c3['getV']=getV,_0x4a64c3['getSpeed']=getSpeed,_0x4a64c3['getDirection']=getDirection;var WindUtil=_0x4a64c3;const Cesium$6=mars3d__namespace[_0xbdf208(0x25b,0x244)];class CustomPrimitive{constructor(_0x1e0008){function _0xcb2d8f(_0x3c4ce4,_0x5f0b85){return _0x27c422(_0x5f0b85,_0x3c4ce4- -0xcc);}this[_0xcb2d8f(0x297,0x281)]=_0x1e0008['commandType'];function _0x38171d(_0x90a28d,_0x27d290){return _0xbdf208(_0x90a28d- -0x4ca,_0x27d290);}this[_0xcb2d8f(0x2a0,0x265)]=_0x1e0008['geometry'],this['attributeLocations']=_0x1e0008[_0x38171d(-0x285,-0x214)],this[_0xcb2d8f(0x2a3,0x214)]=_0x1e0008['primitiveType'],this['uniformMap']=_0x1e0008[_0xcb2d8f(0x2b5,0x2f6)],this[_0xcb2d8f(0x2f8,0x35c)]=_0x1e0008['vertexShaderSource'],this['fragmentShaderSource']=_0x1e0008[_0xcb2d8f(0x27d,0x223)],this['rawRenderState']=_0x1e0008['rawRenderState'],this[_0xcb2d8f(0x20a,0x213)]=_0x1e0008[_0xcb2d8f(0x20a,0x1d1)],this['outputTexture']=_0x1e0008[_0xcb2d8f(0x21e,0x1a3)],this['autoClear']=_0x1e0008[_0xcb2d8f(0x2dc,0x2d0)]??![],this[_0x38171d(-0x281,-0x2e9)]=_0x1e0008[_0x38171d(-0x281,-0x284)],this[_0xcb2d8f(0x1e8,0x1a4)]=!![],this['commandToExecute']=undefined,this['clearCommand']=undefined,this['autoClear']&&(this['clearCommand']=new Cesium$6['ClearCommand']({'color':new Cesium$6[(_0x38171d(-0x25a,-0x22a))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this['framebuffer'],'pass':Cesium$6['Pass'][_0xcb2d8f(0x275,0x2ad)]}));}['createCommand'](_0x17e2a1){function _0x1fad7a(_0x5aa649,_0x3e518e){return _0xbdf208(_0x5aa649- -0x50,_0x3e518e);}function _0x523fe6(_0x1dffbf,_0x514c3c){return _0x27c422(_0x514c3c,_0x1dffbf- -0x8);}switch(this['commandType']){case'Draw':{const _0x302b8=Cesium$6['VertexArray'][_0x523fe6(0x3c2,0x453)]({'context':_0x17e2a1,'geometry':this['geometry'],'attributeLocations':this['attributeLocations'],'bufferUsage':Cesium$6['BufferUsage']['STATIC_DRAW']}),_0x2aaafd={};_0x2aaafd[_0x523fe6(0x301,0x2cb)]=_0x17e2a1,_0x2aaafd[_0x1fad7a(0x1f5,0x1cb)]=this['attributeLocations'],_0x2aaafd[_0x1fad7a(0x301,0x2c4)]=this['vertexShaderSource'],_0x2aaafd['fragmentShaderSource']=this['fragmentShaderSource'];const _0x30e4d2=Cesium$6['ShaderProgram']['fromCache'](_0x2aaafd),_0x3caaf5=Cesium$6[_0x523fe6(0x346,0x316)][_0x523fe6(0x30b,0x372)](this[_0x523fe6(0x312,0x2fb)]);return new Cesium$6['DrawCommand']({'primitiveType':this[_0x523fe6(0x367,0x2da)],'shaderProgram':_0x30e4d2,'vertexArray':_0x302b8,'modelMatrix':Cesium$6['Matrix4']['IDENTITY'],'renderState':_0x3caaf5,'uniformMap':this['uniformMap'],'castShadows':![],'receiveShadows':![],'framebuffer':this[_0x1fad7a(0x213,0x24d)],'pass':Cesium$6['Pass']['OPAQUE'],'pickOnly':!![],'owner':this});}case'Compute':{const _0x48ef16={};return _0x48ef16['owner']=this,_0x48ef16[_0x523fe6(0x341,0x2d6)]=this['fragmentShaderSource'],_0x48ef16[_0x523fe6(0x379,0x3b1)]=this[_0x1fad7a(0x2be,0x30e)],_0x48ef16['outputTexture']=this[_0x523fe6(0x2e2,0x2f6)],_0x48ef16['persists']=!![],new Cesium$6[(_0x1fad7a(0x2fc,0x300))](_0x48ef16);}}}['setGeometry'](_0x23e009,_0x27f219){function _0x4cf1ad(_0x297b6d,_0x57f685){return _0x27c422(_0x297b6d,_0x57f685- -0x14);}function _0x2860a6(_0x4a668a,_0x27aede){return _0x27c422(_0x27aede,_0x4a668a- -0x452);}this[_0x2860a6(-0xe6,-0xb2)]=_0x27f219;const _0xef6ebb=Cesium$6['VertexArray']['fromGeometry']({'context':_0x23e009,'geometry':this[_0x4cf1ad(0x3a5,0x358)],'attributeLocations':this['attributeLocations'],'bufferUsage':Cesium$6['BufferUsage']['STATIC_DRAW']});this[_0x4cf1ad(0x31c,0x39d)]['vertexArray']=_0xef6ebb;}[_0xbdf208(0x2e5,0x32e)](_0x34848c){function _0x5ee9b3(_0x242b7f,_0x5087bb){return _0x27c422(_0x242b7f,_0x5087bb-0x189);}if(!this['show'])return;if(_0x34848c['mode']!==Cesium$6[_0x5ee9b3(0x598,0x50f)][_0x36aa36(-0x12f,-0xc2)])return;!Cesium$6['defined'](this[_0x36aa36(0x18,0xe)])&&(this['commandToExecute']=this[_0x36aa36(0x10,-0xb)](_0x34848c[_0x36aa36(-0x92,-0x9a)]));Cesium$6[_0x5ee9b3(0x4fc,0x498)](this['preExecute'])&&this['preExecute']();function _0x36aa36(_0x3d1be5,_0x20d0a3){return _0xbdf208(_0x20d0a3- -0x330,_0x3d1be5);}Cesium$6[_0x36aa36(-0xf5,-0x94)](this[_0x36aa36(0xe,-0x5)])&&_0x34848c[_0x5ee9b3(0x47e,0x4b2)]['push'](this['clearCommand']),_0x34848c[_0x36aa36(-0xf6,-0x7a)][_0x5ee9b3(0x42e,0x4bc)](this['commandToExecute']);}[_0xbdf208(0x34f,0x3a7)](){return![];}[_0xbdf208(0x31d,0x2e5)](){function _0x520eaa(_0x26d8b7,_0x427de3){return _0x27c422(_0x427de3,_0x26d8b7- -0xc2);}if(this['clearCommand']){var _0x312749,_0x59d917;(_0x312749=this[_0x44da0e(0x7f,0x85)])!==null&&_0x312749!==void 0x0&&_0x312749[_0x44da0e(0x1e,-0x2c)]&&this['clearCommand'][_0x520eaa(0x27b,0x276)][_0x520eaa(0x2ce,0x32a)](),(_0x59d917=this['clearCommand'])!==null&&_0x59d917!==void 0x0&&_0x59d917[_0x44da0e(0x7a,0x107)]&&this['clearCommand']['shaderProgram']['destroy'](),delete this['clearCommand'];}function _0x44da0e(_0x721976,_0x2cde12){return _0xbdf208(_0x721976- -0x2ac,_0x2cde12);}return this['commandToExecute']&&(this['commandToExecute'][_0x520eaa(0x27b,0x229)]&&this['commandToExecute']['vertexArray'][_0x520eaa(0x2ce,0x2d7)](),this[_0x520eaa(0x2ef,0x319)][_0x520eaa(0x2d7,0x27e)]&&this['commandToExecute']['shaderProgram']['destroy'](),delete this['commandToExecute']),Cesium$6['destroyObject'](this);}}const Cesium$5=mars3d__namespace[_0x27c422(0x33f,0x2ce)],Util=(function(){const _0x353a2c=function(){const _0xb64129=new Cesium$5['Geometry']({'attributes':new Cesium$5[(_0x3c9e1a(0x2fc,0x2a2))]({'position':new Cesium$5['GeometryAttribute']({'componentDatatype':Cesium$5['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new Cesium$5[(_0x3c9e1a(0x253,0x299))]({'componentDatatype':Cesium$5['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});function _0x3c9e1a(_0x3006e6,_0x8690ed){return _0x411e(_0x8690ed-0x126,_0x3006e6);}function _0x591b92(_0x86fb4b,_0x5d33ee){return _0x411e(_0x5d33ee-0x3ae,_0x86fb4b);}return _0xb64129;},_0xc4bb20=function(_0x37b59a,_0x1520fa){function _0x909322(_0x2706ff,_0x4b0ca4){return _0x411e(_0x4b0ca4-0xda,_0x2706ff);}function _0xd4267f(_0x2150c5,_0x331c5b){return _0x411e(_0x2150c5-0x196,_0x331c5b);}if(Cesium$5['defined'](_0x1520fa)){const _0x58f0b7={};_0x58f0b7[_0xd4267f(0x37e,0x303)]=_0x1520fa,_0x37b59a[_0xd4267f(0x2f5,0x264)]=_0x58f0b7;}const _0xd5b26b=new Cesium$5['Texture'](_0x37b59a);return _0xd5b26b;},_0x1df773=function(_0x2020f4,_0x2dd1ef,_0x3f91ae){const _0x4aef8a={};function _0x16faf7(_0x42b6c5,_0x2c9fcb){return _0x411e(_0x2c9fcb-0x1bb,_0x42b6c5);}_0x4aef8a[_0x1c229a(-0x93,-0x11)]=_0x2020f4,_0x4aef8a['colorTextures']=[_0x2dd1ef];function _0x1c229a(_0x5222da,_0x1707b6){return _0x411e(_0x5222da- -0x21c,_0x1707b6);}_0x4aef8a['depthTexture']=_0x3f91ae;const _0x333715=new Cesium$5[(_0x1c229a(0x0,0x7d))](_0x4aef8a);return _0x333715;};function _0x5c92ab(_0x132b86,_0x5189b0){return _0x27c422(_0x132b86,_0x5189b0- -0x47d);}const _0x2c1394=function(_0x37d546){const _0x57e91d=!![],_0x50893a=![],_0x140bb1={};function _0x1aa2dc(_0x152732,_0x40dd61){return _0x411e(_0x152732- -0x346,_0x40dd61);}_0x140bb1['viewport']=_0x37d546['viewport'],_0x140bb1[_0x1aa2dc(-0x132,-0xe0)]=_0x37d546['depthTest'],_0x140bb1[_0x54b4b7(-0x37,0x3b)]=_0x37d546['depthMask'],_0x140bb1['blending']=_0x37d546['blending'];function _0x54b4b7(_0x2b922f,_0x33cf1f){return _0x411e(_0x33cf1f- -0x132,_0x2b922f);}const _0x455cde=_0x140bb1,_0x149d98=Cesium$5['Appearance'][_0x54b4b7(0x28,0x13)](_0x57e91d,_0x50893a,_0x455cde);return _0x149d98;},_0x5137a2=function(_0x569408){const _0x466c93={};function _0x37848d(_0x24c9dc,_0x1346b2){return _0x411e(_0x1346b2-0x23c,_0x24c9dc);}const _0x378bda=Cesium$5['Math'][_0x46a8c9(0x268,0x25f)](_0x569408['west'],Cesium$5[_0x46a8c9(0x2de,0x344)][_0x46a8c9(0x28d,0x308)]),_0x120f3c=Cesium$5['Math']['mod'](_0x569408['east'],Cesium$5[_0x37848d(0x47f,0x43f)][_0x46a8c9(0x28d,0x276)]),_0x19bbc3=_0x569408[_0x46a8c9(0x2cd,0x275)];let _0x1a79d1,_0x4ce35c;_0x19bbc3>Cesium$5[_0x46a8c9(0x2de,0x30b)]['THREE_PI_OVER_TWO']?(_0x1a79d1=0x0,_0x4ce35c=Cesium$5['Math']['TWO_PI']):_0x120f3c-_0x378bda<_0x19bbc3?(_0x1a79d1=_0x378bda,_0x4ce35c=_0x378bda+_0x19bbc3):(_0x1a79d1=_0x378bda,_0x4ce35c=_0x120f3c);_0x466c93['lon']={'min':Cesium$5['Math']['toDegrees'](_0x1a79d1),'max':Cesium$5['Math']['toDegrees'](_0x4ce35c)};const _0x409810=_0x569408['south'],_0x46d1ec=_0x569408['north'],_0x23bc4a=_0x569408['height'];function _0x46a8c9(_0x497667,_0x476d3f){return _0x411e(_0x497667-0xdb,_0x476d3f);}const _0x1672cf=_0x23bc4a>Cesium$5[_0x37848d(0x4b4,0x43f)]['PI']/0xc?_0x23bc4a/0x2:0x0;let _0x2fb87e=Cesium$5[_0x37848d(0x409,0x43f)]['clampToLatitudeRange'](_0x409810-_0x1672cf),_0x599a96=Cesium$5[_0x46a8c9(0x2de,0x2ab)][_0x46a8c9(0x2d1,0x272)](_0x46d1ec+_0x1672cf);return _0x2fb87e<-Cesium$5['Math']['PI_OVER_THREE']&&(_0x2fb87e=-Cesium$5['Math'][_0x46a8c9(0x2ce,0x259)]),_0x599a96>Cesium$5['Math']['PI_OVER_THREE']&&(_0x599a96=Cesium$5['Math']['PI_OVER_TWO']),_0x466c93[_0x37848d(0x3db,0x3f2)]={'min':Cesium$5['Math']['toDegrees'](_0x2fb87e),'max':Cesium$5['Math'][_0x46a8c9(0x271,0x2dc)](_0x599a96)},_0x466c93;},_0x1909cb={};function _0x515516(_0x34009e,_0x1f8e84){return _0xbdf208(_0x1f8e84- -0x1f3,_0x34009e);}return _0x1909cb['getFullscreenQuad']=_0x353a2c,_0x1909cb['createTexture']=_0xc4bb20,_0x1909cb[_0x515516(0x73,0x55)]=_0x1df773,_0x1909cb['createRawRenderState']=_0x2c1394,_0x1909cb[_0x5c92ab(-0x3d,-0xcb)]=_0x5137a2,_0x1909cb;}());var segmentDraw_vert=_0x27c422(0x2a0,0x31d),segmentDraw_frag=_0xbdf208(0x250,0x26b),fullscreen_vert=_0x27c422(0x34c,0x3b5),trailDraw_frag='uniform\x20sampler2D\x20segmentsColorTexture;\x0auniform\x20sampler2D\x20segmentsDepthTexture;\x0a\x0auniform\x20sampler2D\x20currentTrailsColor;\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0a\x0auniform\x20float\x20fadeOpacity;\x0a\x0ain\x20vec2\x20textureCoordinate;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20pointsColor\x20=\x20texture(segmentsColorTexture,\x20textureCoordinate);\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture(currentTrailsColor,\x20textureCoordinate);\x0a\x0a\x20\x20\x20\x20trailsColor\x20=\x20floor(fadeOpacity\x20*\x20255.0\x20*\x20trailsColor)\x20/\x20255.0;\x20//\x20make\x20sure\x20the\x20trailsColor\x20will\x20be\x20strictly\x20decreased\x0a\x0a\x20\x20\x20\x20float\x20pointsDepth\x20=\x20texture(segmentsDepthTexture,\x20textureCoordinate).r;\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture(trailsDepthTexture,\x20textureCoordinate).r;\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture(czm_globeDepthTexture,\x20textureCoordinate));\x0a\x0a\x20\x20\x20\x20out_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20if\x20(pointsDepth\x20<\x20globeDepth)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20out_FragColor\x20+\x20pointsColor;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20out_FragColor\x20+\x20trailsColor;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20gl_FragDepth\x20=\x20min(pointsDepth,\x20trailsDepth);\x0a}\x0a',screenDraw_frag='uniform\x20sampler2D\x20trailsColorTexture;\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0a\x0ain\x20vec2\x20textureCoordinate;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture(trailsColorTexture,\x20textureCoordinate);\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture(trailsDepthTexture,\x20textureCoordinate).r;\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture(czm_globeDepthTexture,\x20textureCoordinate));\x0a\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20trailsColor;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20}\x0a}\x0a';const Cesium$4=mars3d__namespace['Cesium'];class ParticlesRendering{constructor(_0x4c7c16,_0x443864,_0x78abf6,_0x2764a1,_0x1891cf){this[_0x470ebf(-0x12,-0x37)](_0x4c7c16,_0x443864,_0x78abf6['colors']),this['createRenderingFramebuffers'](_0x4c7c16);function _0x470ebf(_0x2fa1b0,_0x47b0de){return _0x27c422(_0x47b0de,_0x2fa1b0- -0x3de);}this['createRenderingPrimitives'](_0x4c7c16,_0x78abf6,_0x2764a1,_0x1891cf);}[_0xbdf208(0x359,0x316)](_0x3b4b76,_0x35b5c5,_0x1e8e2b){const _0x25ce9b={};_0x25ce9b['context']=_0x3b4b76,_0x25ce9b[_0x577e74(0x57e,0x4f0)]=_0x3b4b76['drawingBufferWidth'],_0x25ce9b['height']=_0x3b4b76['drawingBufferHeight'];function _0x577e74(_0x89f94,_0x22b069){return _0xbdf208(_0x22b069-0x1f1,_0x89f94);}_0x25ce9b['pixelFormat']=Cesium$4['PixelFormat']['RGBA'],_0x25ce9b[_0x271d84(0x3e6,0x3c7)]=Cesium$4['PixelDatatype']['UNSIGNED_BYTE'];const _0x46db10=_0x25ce9b,_0x318b30={};_0x318b30[_0x577e74(0x421,0x487)]=_0x3b4b76,_0x318b30[_0x271d84(0x456,0x46e)]=_0x3b4b76[_0x577e74(0x3ef,0x466)],_0x318b30['height']=_0x3b4b76[_0x271d84(0x38f,0x374)],_0x318b30['pixelFormat']=Cesium$4['PixelFormat']['DEPTH_COMPONENT'],_0x318b30[_0x577e74(0x4bf,0x480)]=Cesium$4[_0x271d84(0x3cb,0x3e5)]['UNSIGNED_INT'];const _0x41e65f=_0x318b30,_0x1e79fe=_0x1e8e2b['length'],_0x255a2b=new Float32Array(_0x1e79fe*0x3);for(let _0x3a421f=0x0;_0x3a421f<_0x1e79fe;_0x3a421f++){const _0x2d3be9=Cesium$4[_0x577e74(0x477,0x461)]['fromCssColorString'](_0x1e8e2b[_0x3a421f]);_0x255a2b[0x3*_0x3a421f]=_0x2d3be9['red'],_0x255a2b[0x3*_0x3a421f+0x1]=_0x2d3be9['green'],_0x255a2b[0x3*_0x3a421f+0x2]=_0x2d3be9['blue'];}const _0x451228={'context':_0x3b4b76,'width':_0x1e79fe,'height':0x1,'pixelFormat':Cesium$4[_0x577e74(0x486,0x4e5)][_0x577e74(0x4ca,0x4c9)],'pixelDatatype':Cesium$4['PixelDatatype']['FLOAT'],'sampler':new Cesium$4['Sampler']({'minificationFilter':Cesium$4['TextureMinificationFilter']['LINEAR'],'magnificationFilter':Cesium$4[_0x577e74(0x400,0x43d)][_0x577e74(0x503,0x481)]})};function _0x271d84(_0x2d8bdb,_0x42cb05){return _0xbdf208(_0x2d8bdb-0x157,_0x42cb05);}this['textures']={'segmentsColor':Util[_0x577e74(0x447,0x46d)](_0x46db10),'segmentsDepth':Util[_0x271d84(0x3d3,0x348)](_0x41e65f),'currentTrailsColor':Util[_0x577e74(0x3f1,0x46d)](_0x46db10),'currentTrailsDepth':Util[_0x271d84(0x3d3,0x3d4)](_0x41e65f),'nextTrailsColor':Util['createTexture'](_0x46db10),'nextTrailsDepth':Util['createTexture'](_0x41e65f),'colorTable':Util[_0x577e74(0x47f,0x46d)](_0x451228,_0x255a2b)};}[_0x27c422(0x335,0x305)](_0x1a90ac){function _0x32ef57(_0x3059f4,_0x100169){return _0x27c422(_0x3059f4,_0x100169-0x10c);}function _0x3ce604(_0x1fc3f2,_0xfbe18b){return _0x27c422(_0x1fc3f2,_0xfbe18b- -0x128);}this[_0x3ce604(0x253,0x243)]={'segments':Util['createFramebuffer'](_0x1a90ac,this['textures']['segmentsColor'],this[_0x3ce604(0x195,0x1d5)]['segmentsDepth']),'currentTrails':Util[_0x3ce604(0x13a,0x193)](_0x1a90ac,this['textures'][_0x3ce604(0x223,0x1e6)],this[_0x32ef57(0x442,0x409)][_0x3ce604(0x157,0x1ab)]),'nextTrails':Util[_0x3ce604(0x1fa,0x193)](_0x1a90ac,this[_0x3ce604(0x1de,0x1d5)][_0x32ef57(0x43d,0x3d3)],this['textures']['nextTrailsDepth'])};}[_0xbdf208(0x29d,0x308)](_0x4dc50a){const _0x3bae47=0x4;let _0xf369cf=[];function _0x58d628(_0x4235c0,_0x50ba02){return _0x27c422(_0x4235c0,_0x50ba02- -0x218);}for(let _0x3b1bc3=0x0;_0x3b1bc3<_0x4dc50a['particlesTextureSize'];_0x3b1bc3++){for(let _0x317098=0x0;_0x317098<_0x4dc50a['particlesTextureSize'];_0x317098++){for(let _0x529017=0x0;_0x529017<_0x3bae47;_0x529017++){_0xf369cf[_0x47c850(0x3d9,0x40f)](_0x3b1bc3/_0x4dc50a['particlesTextureSize']),_0xf369cf[_0x47c850(0x490,0x40f)](_0x317098/_0x4dc50a[_0x58d628(0x1eb,0x163)]);}}}_0xf369cf=new Float32Array(_0xf369cf);let _0xde9a50=[];const _0x24a186=[-0x1,0x1],_0x408530=[-0x1,0x1];function _0x47c850(_0x125237,_0x22cec0){return _0x27c422(_0x125237,_0x22cec0-0xdc);}for(let _0x4be3fb=0x0;_0x4be3fb<_0x4dc50a[_0x47c850(0x414,0x451)];_0x4be3fb++){for(let _0x54b7d5=0x0;_0x54b7d5<_0x3bae47/0x2;_0x54b7d5++){for(let _0x29f1e1=0x0;_0x29f1e1<_0x3bae47/0x2;_0x29f1e1++){_0xde9a50['push'](_0x24a186[_0x54b7d5]),_0xde9a50['push'](_0x408530[_0x29f1e1]),_0xde9a50[_0x47c850(0x479,0x40f)](0x0);}}}_0xde9a50=new Float32Array(_0xde9a50);const _0x21cfed=0x6*_0x4dc50a[_0x58d628(0xe2,0x15d)],_0x1e88fc=new Uint32Array(_0x21cfed);for(let _0x4acec1=0x0,_0x5b078f=0x0,_0xe4d6e5=0x0;_0x4acec1<_0x4dc50a[_0x47c850(0x492,0x451)];_0x4acec1++){_0x1e88fc[_0x5b078f++]=_0xe4d6e5+0x0,_0x1e88fc[_0x5b078f++]=_0xe4d6e5+0x1,_0x1e88fc[_0x5b078f++]=_0xe4d6e5+0x2,_0x1e88fc[_0x5b078f++]=_0xe4d6e5+0x2,_0x1e88fc[_0x5b078f++]=_0xe4d6e5+0x1,_0x1e88fc[_0x5b078f++]=_0xe4d6e5+0x3,_0xe4d6e5+=0x4;}const _0x4c5c27=new Cesium$4[(_0x47c850(0x369,0x3cc))]({'attributes':new Cesium$4['GeometryAttributes']({'st':new Cesium$4[(_0x47c850(0x3b4,0x3cf))]({'componentDatatype':Cesium$4['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x2,'values':_0xf369cf}),'normal':new Cesium$4[(_0x47c850(0x34d,0x3cf))]({'componentDatatype':Cesium$4['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x3,'values':_0xde9a50})}),'indices':_0x1e88fc});return _0x4c5c27;}['createRenderingPrimitives'](_0x4191df,_0x48e578,_0x54bb2f,_0x2f3bd7){const _0x9358e6=this,_0x47e028={};_0x47e028['st']=0x0,_0x47e028[_0x2499cc(0x50b,0x509)]=0x1;const _0x1eb1e6={};_0x1eb1e6['sources']=[segmentDraw_vert];const _0x1e1239={};_0x1e1239['sources']=[segmentDraw_frag];function _0x2499cc(_0x2d9df0,_0x362b3c){return _0x27c422(_0x362b3c,_0x2d9df0-0x143);}const _0x2d0872={};_0x2d0872[_0x2499cc(0x4d8,0x4a8)]=!![];const _0x36e065={};_0x36e065[_0x14eba0(0x5d4,0x619)]=undefined,_0x36e065[_0x14eba0(0x5a1,0x52c)]=_0x2d0872,_0x36e065['depthMask']=!![];const _0x3af30b={};_0x3af30b[_0x14eba0(0x5c0,0x5e7)]=0x0,_0x3af30b['st']=0x1;function _0x14eba0(_0x3091cc,_0x2ea7e3){return _0x27c422(_0x2ea7e3,_0x3091cc-0x20d);}const _0x16e3a2={};_0x16e3a2['defines']=['DISABLE_GL_POSITION_LOG_DEPTH'],_0x16e3a2['sources']=[fullscreen_vert];const _0x2f70e9={};_0x2f70e9[_0x2499cc(0x410,0x4a0)]=['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],_0x2f70e9['sources']=[trailDraw_frag];const _0x14484e={};_0x14484e['position']=0x0,_0x14484e['st']=0x1;const _0x43f2a9={};_0x43f2a9['defines']=[_0x2499cc(0x46d,0x44f)],_0x43f2a9['sources']=[fullscreen_vert];const _0x153190={};_0x153190[_0x2499cc(0x410,0x478)]=['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],_0x153190['sources']=[screenDraw_frag];const _0x1b079e={};_0x1b079e['enabled']=![];const _0x4935af={};_0x4935af['enabled']=!![],this['primitives']={'segments':new CustomPrimitive({'commandType':_0x14eba0(0x5c9,0x5c1),'attributeLocations':_0x47e028,'geometry':this[_0x2499cc(0x453,0x488)](_0x48e578),'primitiveType':Cesium$4['PrimitiveType'][_0x2499cc(0x47d,0x432)],'uniformMap':{'currentParticlesPosition':function(){function _0x4d034b(_0x342a59,_0x254970){return _0x2499cc(_0x254970- -0x2a4,_0x342a59);}return _0x2f3bd7['particlesTextures'][_0x4d034b(0x25a,0x260)];},'postProcessingPosition':function(){function _0x56bbf8(_0x4e1a20,_0x454c0b){return _0x2499cc(_0x4e1a20-0x37,_0x454c0b);}function _0x4d8c0e(_0x433781,_0x5c30d5){return _0x2499cc(_0x433781- -0x1f0,_0x5c30d5);}return _0x2f3bd7[_0x56bbf8(0x45e,0x482)][_0x56bbf8(0x48c,0x4b8)];},'postProcessingSpeed':function(){return _0x2f3bd7['particlesTextures']['postProcessingSpeed'];},'colorTable':function(){function _0x235924(_0x355784,_0x2777d3){return _0x2499cc(_0x355784- -0x60,_0x2777d3);}return _0x9358e6[_0x235924(0x3e0,0x3e9)]['colorTable'];},'aspect':function(){return _0x4191df['drawingBufferWidth']/_0x4191df['drawingBufferHeight'];},'pixelSize':function(){function _0x569314(_0x499963,_0x451c13){return _0x14eba0(_0x499963- -0x768,_0x451c13);}return _0x54bb2f[_0x569314(-0x1d0,-0x220)];},'lineWidth':function(){return _0x48e578['lineWidth'];},'particleHeight':function(){function _0x5b41d8(_0x59faec,_0x269bd4){return _0x14eba0(_0x269bd4- -0x2da,_0x59faec);}return _0x48e578[_0x5b41d8(0x25b,0x26f)];}},'vertexShaderSource':new Cesium$4['ShaderSource'](_0x1eb1e6),'fragmentShaderSource':new Cesium$4['ShaderSource'](_0x1e1239),'rawRenderState':Util['createRawRenderState'](_0x36e065),'framebuffer':this['framebuffers']['segments'],'autoClear':!![]}),'trails':new CustomPrimitive({'commandType':_0x2499cc(0x4ff,0x531),'attributeLocations':_0x3af30b,'geometry':Util['getFullscreenQuad'](),'primitiveType':Cesium$4[_0x2499cc(0x493,0x4fa)]['TRIANGLES'],'uniformMap':{'segmentsColorTexture':function(){return _0x9358e6['textures']['segmentsColor'];},'segmentsDepthTexture':function(){return _0x9358e6['textures']['segmentsDepth'];},'currentTrailsColor':function(){function _0x3a836f(_0x12a2a6,_0x5c0c82){return _0x2499cc(_0x12a2a6- -0x4de,_0x5c0c82);}function _0x58e314(_0x16edea,_0x12d423){return _0x14eba0(_0x12d423- -0x540,_0x16edea);}return _0x9358e6[_0x3a836f(-0x30,-0x60)]['currentTrails'][_0x58e314(0x3f,-0x17)](0x0);},'trailsDepthTexture':function(){function _0xac269a(_0x187032,_0xdd450d){return _0x14eba0(_0xdd450d- -0x1b5,_0x187032);}function _0x135bad(_0x575c38,_0x56aa85){return _0x2499cc(_0x575c38- -0x57a,_0x56aa85);}return _0x9358e6[_0xac269a(0x417,0x3c3)]['currentTrails'][_0x135bad(-0x113,-0xcd)];},'fadeOpacity':function(){function _0x4e38ac(_0x57f846,_0x799f2d){return _0x2499cc(_0x57f846- -0x62d,_0x799f2d);}return _0x48e578[_0x4e38ac(-0x1b5,-0x22a)];}},'vertexShaderSource':new Cesium$4[(_0x14eba0(0x4d9,0x55d))](_0x16e3a2),'fragmentShaderSource':new Cesium$4['ShaderSource'](_0x2f70e9),'rawRenderState':Util['createRawRenderState']({'viewport':undefined,'depthTest':{'enabled':!![],'func':Cesium$4[_0x2499cc(0x454,0x462)][_0x2499cc(0x425,0x438)]},'depthMask':!![]}),'framebuffer':this[_0x14eba0(0x578,0x5b4)]['nextTrails'],'autoClear':!![],'preExecute':function(){const _0x2f23c5=_0x9358e6[_0x2ebbc8(-0xa,-0x60)][_0x86e965(-0xf5,-0x13e)];_0x9358e6['framebuffers']['currentTrails']=_0x9358e6['framebuffers']['nextTrails'];function _0x2ebbc8(_0x3dede8,_0x2f5dac){return _0x14eba0(_0x2f5dac- -0x5d8,_0x3dede8);}_0x9358e6['framebuffers'][_0x86e965(-0x23,-0x50)]=_0x2f23c5;function _0x86e965(_0x2888c1,_0x67102){return _0x14eba0(_0x2888c1- -0x5eb,_0x67102);}_0x9358e6['primitives']['trails']['commandToExecute']['framebuffer']=_0x9358e6[_0x86e965(-0x73,-0x37)]['nextTrails'],_0x9358e6[_0x86e965(-0x44,0x3a)][_0x86e965(-0xbc,-0x38)]['clearCommand'][_0x2ebbc8(-0xee,-0xf5)]=_0x9358e6['framebuffers'][_0x86e965(-0x23,-0x59)];}}),'screen':new CustomPrimitive({'commandType':'Draw','attributeLocations':_0x14484e,'geometry':Util['getFullscreenQuad'](),'primitiveType':Cesium$4[_0x2499cc(0x493,0x468)][_0x14eba0(0x547,0x519)],'uniformMap':{'trailsColorTexture':function(){function _0x4e9ac3(_0x1ef2c9,_0x3972aa){return _0x14eba0(_0x1ef2c9- -0x6ed,_0x3972aa);}return _0x9358e6['framebuffers']['nextTrails'][_0x4e9ac3(-0x1c4,-0x162)](0x0);},'trailsDepthTexture':function(){return _0x9358e6['framebuffers']['nextTrails']['depthTexture'];}},'vertexShaderSource':new Cesium$4['ShaderSource'](_0x43f2a9),'fragmentShaderSource':new Cesium$4['ShaderSource'](_0x153190),'rawRenderState':Util['createRawRenderState']({'viewport':undefined,'depthTest':_0x1b079e,'depthMask':!![],'blending':_0x4935af}),'framebuffer':undefined})};}}var getWind_frag=_0x27c422(0x33c,0x38f),updateSpeed_frag='uniform\x20sampler2D\x20currentParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0auniform\x20sampler2D\x20particlesWind;\x0a\x0a//\x20used\x20to\x20calculate\x20the\x20wind\x20norm\x0auniform\x20vec2\x20uSpeedRange;\x20//\x20(min,\x20max);\x0auniform\x20vec2\x20vSpeedRange;\x0auniform\x20float\x20pixelSize;\x0auniform\x20float\x20speedFactor;\x0a\x0ain\x20vec2\x20v_textureCoordinates;\x0a\x0afloat\x20calculateWindNorm(vec3\x20speed)\x20{\x0a\x20\x20\x20\x20vec3\x20percent\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20percent.x\x20=\x20(speed.x\x20-\x20uSpeedRange.x)\x20/\x20(uSpeedRange.y\x20-\x20uSpeedRange.x);\x0a\x20\x20\x20\x20percent.y\x20=\x20(speed.y\x20-\x20vSpeedRange.x)\x20/\x20(vSpeedRange.y\x20-\x20vSpeedRange.x);\x0a\x20\x20\x20\x20float\x20normalization\x20=\x20length(percent);\x0a\x0a\x20\x20\x20\x20return\x20normalization;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20//\x20vec3\x20currentSpeed\x20=\x20texture(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20texture(particlesWind,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20vec4(speedFactor\x20*\x20pixelSize\x20*\x20windVector,\x20calculateWindNorm(windVector));\x0a\x20\x20\x20\x20out_FragColor\x20=\x20nextSpeed;\x0a}\x0a',updatePosition_frag=_0xbdf208(0x2a4,0x2e3);function _0x3bc8(){const _0x1fd006=['_randomParticle','grid','context','layer','dimensions','_drawLines','mod','currentTrailsColor','defined','createSegmentsGeometry','DepthFunction','postProcessingPosition','fromCache','isDestroy','forEach','toDegrees','uniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20sampler2D\x20currentParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0a\x0ain\x20vec2\x20v_textureCoordinates;\x0a\x0avec2\x20lengthOfLonLat(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20unit\x20conversion:\x20meters\x20->\x20longitude\x20latitude\x20degrees\x0a\x20\x20\x20\x20//\x20see\x20https://en.wikipedia.org/wiki/Geographic_coordinate_system#Length_of_a_degree\x20for\x20detail\x0a\x0a\x20\x20\x20\x20//\x20Calculate\x20the\x20length\x20of\x20a\x20degree\x20of\x20latitude\x20and\x20longitude\x20in\x20meters\x0a\x20\x20\x20\x20float\x20latitude\x20=\x20radians(lonLatLev.y);\x0a\x0a\x20\x20\x20\x20float\x20term1\x20=\x20111132.92;\x0a\x20\x20\x20\x20float\x20term2\x20=\x20559.82\x20*\x20cos(2.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term3\x20=\x201.175\x20*\x20cos(4.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term4\x20=\x200.0023\x20*\x20cos(6.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20latLength\x20=\x20term1\x20-\x20term2\x20+\x20term3\x20-\x20term4;\x0a\x0a\x20\x20\x20\x20float\x20term5\x20=\x20111412.84\x20*\x20cos(latitude);\x0a\x20\x20\x20\x20float\x20term6\x20=\x2093.5\x20*\x20cos(3.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term7\x20=\x200.118\x20*\x20cos(5.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20longLength\x20=\x20term5\x20-\x20term6\x20+\x20term7;\x0a\x0a\x20\x20\x20\x20return\x20vec2(longLength,\x20latLength);\x0a}\x0a\x0avoid\x20updatePosition(vec3\x20lonLatLev,\x20vec3\x20speed)\x20{\x0a\x20\x20\x20\x20vec2\x20lonLatLength\x20=\x20lengthOfLonLat(lonLatLev);\x0a\x20\x20\x20\x20float\x20u\x20=\x20speed.x\x20/\x20lonLatLength.x;\x0a\x20\x20\x20\x20float\x20v\x20=\x20speed.y\x20/\x20lonLatLength.y;\x0a\x20\x20\x20\x20float\x20w\x20=\x200.0;\x0a\x20\x20\x20\x20vec3\x20windVectorInLonLatLev\x20=\x20vec3(u,\x20v,\x20w);\x0a\x0a\x20\x20\x20\x20vec3\x20nextParticle\x20=\x20lonLatLev\x20+\x20windVectorInLonLatLev;\x0a\x0a\x20\x20\x20\x20out_FragColor\x20=\x20vec4(nextParticle,\x200.0);\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20lonLatLev\x20=\x20texture(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20speed\x20=\x20texture(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20updatePosition(lonLatLev,\x20speed);\x0a}\x0a','Compute','left','rawRenderState','mouseDown','getColorTexture','in\x20vec2\x20st;\x0a//\x20it\x20is\x20not\x20normal\x20itself,\x20but\x20used\x20to\x20control\x20normal\x0ain\x20vec3\x20normal;\x20//\x20(point\x20to\x20use,\x20offset\x20sign,\x20not\x20used\x20component)\x0a\x0auniform\x20sampler2D\x20currentParticlesPosition;\x0auniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20postProcessingSpeed;\x0a\x0auniform\x20float\x20particleHeight;\x0a\x0auniform\x20float\x20aspect;\x0auniform\x20float\x20pixelSize;\x0auniform\x20float\x20lineWidth;\x0a\x0aout\x20float\x20speedNormalization;\x0a\x0avec3\x20convertCoordinate(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20WGS84\x20(lon,\x20lat,\x20lev)\x20->\x20ECEF\x20(x,\x20y,\x20z)\x0a\x20\x20\x20\x20//\x20see\x20https://en.wikipedia.org/wiki/Geographic_coordinate_conversion#From_geodetic_to_ECEF_coordinates\x20for\x20detail\x0a\x0a\x20\x20\x20\x20//\x20WGS\x2084\x20geometric\x20constants\x0a\x20\x20\x20\x20float\x20a\x20=\x206378137.0;\x20//\x20Semi-major\x20axis\x0a\x20\x20\x20\x20float\x20b\x20=\x206356752.3142;\x20//\x20Semi-minor\x20axis\x0a\x20\x20\x20\x20float\x20e2\x20=\x206.69437999014e-3;\x20//\x20First\x20eccentricity\x20squared\x0a\x0a\x20\x20\x20\x20float\x20latitude\x20=\x20radians(lonLatLev.y);\x0a\x20\x20\x20\x20float\x20longitude\x20=\x20radians(lonLatLev.x);\x0a\x0a\x20\x20\x20\x20float\x20cosLat\x20=\x20cos(latitude);\x0a\x20\x20\x20\x20float\x20sinLat\x20=\x20sin(latitude);\x0a\x20\x20\x20\x20float\x20cosLon\x20=\x20cos(longitude);\x0a\x20\x20\x20\x20float\x20sinLon\x20=\x20sin(longitude);\x0a\x0a\x20\x20\x20\x20float\x20N_Phi\x20=\x20a\x20/\x20sqrt(1.0\x20-\x20e2\x20*\x20sinLat\x20*\x20sinLat);\x0a\x20\x20\x20\x20float\x20h\x20=\x20particleHeight;\x20//\x20it\x20should\x20be\x20high\x20enough\x20otherwise\x20the\x20particle\x20may\x20not\x20pass\x20the\x20terrain\x20depth\x20test\x0a\x0a\x20\x20\x20\x20vec3\x20cartesian\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20cartesian.x\x20=\x20(N_Phi\x20+\x20h)\x20*\x20cosLat\x20*\x20cosLon;\x0a\x20\x20\x20\x20cartesian.y\x20=\x20(N_Phi\x20+\x20h)\x20*\x20cosLat\x20*\x20sinLon;\x0a\x20\x20\x20\x20cartesian.z\x20=\x20((b\x20*\x20b)\x20/\x20(a\x20*\x20a)\x20*\x20N_Phi\x20+\x20h)\x20*\x20sinLat;\x0a\x20\x20\x20\x20return\x20cartesian;\x0a}\x0a\x0avec4\x20calcProjectedCoordinate(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20the\x20range\x20of\x20longitude\x20in\x20Cesium\x20is\x20[-180,\x20180]\x20but\x20the\x20range\x20of\x20longitude\x20in\x20the\x20NetCDF\x20file\x20is\x20[0,\x20360]\x0a\x20\x20\x20\x20//\x20[0,\x20180]\x20is\x20corresponding\x20to\x20[0,\x20180]\x20and\x20[180,\x20360]\x20is\x20corresponding\x20to\x20[-180,\x200]\x0a\x20\x20\x20\x20lonLatLev.x\x20=\x20mod(lonLatLev.x\x20+\x20180.0,\x20360.0)\x20-\x20180.0;\x0a\x20\x20\x20\x20vec3\x20particlePosition\x20=\x20convertCoordinate(lonLatLev);\x0a\x20\x20\x20\x20vec4\x20projectedCoordinate\x20=\x20czm_modelViewProjection\x20*\x20vec4(particlePosition,\x201.0);\x0a\x20\x20\x20\x20return\x20projectedCoordinate;\x0a}\x0a\x0avec4\x20calcOffset(vec4\x20currentProjectedCoordinate,\x20vec4\x20nextProjectedCoordinate,\x20float\x20offsetSign)\x20{\x0a\x20\x20\x20\x20vec2\x20aspectVec2\x20=\x20vec2(aspect,\x201.0);\x0a\x20\x20\x20\x20vec2\x20currentXY\x20=\x20(currentProjectedCoordinate.xy\x20/\x20currentProjectedCoordinate.w)\x20*\x20aspectVec2;\x0a\x20\x20\x20\x20vec2\x20nextXY\x20=\x20(nextProjectedCoordinate.xy\x20/\x20nextProjectedCoordinate.w)\x20*\x20aspectVec2;\x0a\x0a\x20\x20\x20\x20float\x20offsetLength\x20=\x20lineWidth\x20/\x202.0;\x0a\x20\x20\x20\x20vec2\x20direction\x20=\x20normalize(nextXY\x20-\x20currentXY);\x0a\x20\x20\x20\x20vec2\x20normalVector\x20=\x20vec2(-direction.y,\x20direction.x);\x0a\x20\x20\x20\x20normalVector.x\x20=\x20normalVector.x\x20/\x20aspect;\x0a\x20\x20\x20\x20normalVector\x20=\x20offsetLength\x20*\x20normalVector;\x0a\x0a\x20\x20\x20\x20vec4\x20offset\x20=\x20vec4(offsetSign\x20*\x20normalVector,\x200.0,\x200.0);\x0a\x20\x20\x20\x20return\x20offset;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec2\x20particleIndex\x20=\x20st;\x0a\x0a\x20\x20\x20\x20vec3\x20currentPosition\x20=\x20texture(currentParticlesPosition,\x20particleIndex).rgb;\x0a\x20\x20\x20\x20vec4\x20nextPosition\x20=\x20texture(postProcessingPosition,\x20particleIndex);\x0a\x0a\x20\x20\x20\x20vec4\x20currentProjectedCoordinate\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20vec4\x20nextProjectedCoordinate\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20if\x20(nextPosition.w\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20currentProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20\x20\x20\x20\x20nextProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20currentProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20\x20\x20\x20\x20nextProjectedCoordinate\x20=\x20calcProjectedCoordinate(nextPosition.xyz);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20float\x20pointToUse\x20=\x20normal.x;\x20//\x20-1\x20is\x20currentProjectedCoordinate\x20and\x20+1\x20is\x20nextProjectedCoordinate\x0a\x20\x20\x20\x20float\x20offsetSign\x20=\x20normal.y;\x0a\x0a\x20\x20\x20\x20vec4\x20offset\x20=\x20pixelSize\x20*\x20calcOffset(currentProjectedCoordinate,\x20nextProjectedCoordinate,\x20offsetSign);\x0a\x20\x20\x20\x20if\x20(pointToUse\x20<\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20currentProjectedCoordinate\x20+\x20offset;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20nextProjectedCoordinate\x20+\x20offset;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20speedNormalization\x20=\x20texture(postProcessingSpeed,\x20particleIndex).a;\x0a}\x0a','frameTime','maxAge','lonRange','tlng','trails','absolute','depthTexture','randomizeParticles','particles','_createCanvas','canvasWind','commandList','DISABLE_GL_POSITION_LOG_DEPTH','none','mouse_move','default','30DbIZaN','_updateIng2','mouse_down','_mountedHook','TWO_PI','push','top','fadeOpacity','lat','min','clientHeight','_tomap','TRIANGLES','pointer-events','particleHeight','vertexArray','fromDegrees','refreshParticles','CanvasWindLayer','OPAQUE','setOptions','_onMap_preRenderEvent','rows','103475JZVqOj','log','0px','#ffffff','fragmentShaderSource','get','RGB','dropRateBump','Cartesian3','RenderState','ColorRamp','PrimitiveType','removeAll','latRange','ClearCommand','globeBoundingSphere','_speedRate','FLOAT','sources','update','max','windField','mouseHidden','lng','_maxAge','keys','add','getRandomLatLng','Cartesian2','color','commandType','speedRate','sqrt','_colorRamp','PixelFormat','arrayBufferView','segments','xmax','framebuffers','geometry','stroke','_calc_speedRate','primitiveType','TextureMinificationFilter','random','width','PI_OVER_TWO','_data','maxParticles','clampToLatitudeRange','xmin','atan2','speedFactor','794928nVNGre','particlesTextureSize','LayerUtil','clearFramebuffers','NEAREST','umax','addPrimitives','uniformMap','ymax','Math','udata','getExtent','SceneMode','24883461EpBgAU','fixedHeight','scene','redraw','pixelSize','speed','EventType','setDate','//\x20the\x20size\x20of\x20UV\x20textures:\x20width\x20=\x20lon,\x20height\x20=\x20lat*lev\x0auniform\x20sampler2D\x20U;\x20//\x20eastward\x20wind\x0auniform\x20sampler2D\x20V;\x20//\x20northward\x20wind\x0a\x0auniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0a\x0auniform\x20vec3\x20dimension;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20vec3\x20minimum;\x20//\x20minimum\x20of\x20each\x20dimension\x0auniform\x20vec3\x20maximum;\x20//\x20maximum\x20of\x20each\x20dimension\x0auniform\x20vec3\x20interval;\x20//\x20interval\x20of\x20each\x20dimension\x0a\x0ain\x20vec2\x20v_textureCoordinates;\x0a\x0avec2\x20mapPositionToNormalizedIndex2D(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20ensure\x20the\x20range\x20of\x20longitude\x20and\x20latitude\x0a\x20\x20\x20\x20lonLatLev.x\x20=\x20mod(lonLatLev.x,\x20360.0);\x0a\x20\x20\x20\x20lonLatLev.y\x20=\x20clamp(lonLatLev.y,\x20-90.0,\x2090.0);\x0a\x0a\x20\x20\x20\x20vec3\x20index3D\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20index3D.x\x20=\x20(lonLatLev.x\x20-\x20minimum.x)\x20/\x20interval.x;\x0a\x20\x20\x20\x20index3D.y\x20=\x20(lonLatLev.y\x20-\x20minimum.y)\x20/\x20interval.y;\x0a\x20\x20\x20\x20index3D.z\x20=\x20(lonLatLev.z\x20-\x20minimum.z)\x20/\x20interval.z;\x0a\x0a\x20\x20\x20\x20//\x20the\x20st\x20texture\x20coordinate\x20corresponding\x20to\x20(col,\x20row)\x20index\x0a\x20\x20\x20\x20//\x20example\x0a\x20\x20\x20\x20//\x20data\x20array\x20is\x20[0,\x201,\x202,\x203,\x204,\x205],\x20width\x20=\x203,\x20height\x20=\x202\x0a\x20\x20\x20\x20//\x20the\x20content\x20of\x20texture\x20will\x20be\x0a\x20\x20\x20\x20//\x20t\x201.0\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x20\x203\x204\x205\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x20\x200\x201\x202\x0a\x20\x20\x20\x20//\x20\x20\x200.0------1.0\x20s\x0a\x0a\x20\x20\x20\x20vec2\x20index2D\x20=\x20vec2(index3D.x,\x20index3D.z\x20*\x20dimension.y\x20+\x20index3D.y);\x0a\x20\x20\x20\x20vec2\x20normalizedIndex2D\x20=\x20vec2(index2D.x\x20/\x20dimension.x,\x20index2D.y\x20/\x20(dimension.y\x20*\x20dimension.z));\x0a\x20\x20\x20\x20return\x20normalizedIndex2D;\x0a}\x0a\x0afloat\x20getWind(sampler2D\x20windTexture,\x20vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20vec2\x20normalizedIndex2D\x20=\x20mapPositionToNormalizedIndex2D(lonLatLev);\x0a\x20\x20\x20\x20float\x20result\x20=\x20texture(windTexture,\x20normalizedIndex2D).r;\x0a\x20\x20\x20\x20return\x20result;\x0a}\x0a\x0aconst\x20mat4\x20kernelMatrix\x20=\x20mat4(\x0a\x20\x20\x20\x200.0,\x20-1.0,\x202.0,\x20-1.0,\x20//\x20first\x20column\x0a\x20\x20\x20\x202.0,\x200.0,\x20-5.0,\x203.0,\x20//\x20second\x20column\x0a\x20\x20\x20\x200.0,\x201.0,\x204.0,\x20-3.0,\x20//\x20third\x20column\x0a\x20\x20\x20\x200.0,\x200.0,\x20-1.0,\x201.0\x20//\x20fourth\x20column\x0a);\x0afloat\x20oneDimensionInterpolation(float\x20t,\x20float\x20p0,\x20float\x20p1,\x20float\x20p2,\x20float\x20p3)\x20{\x0a\x20\x20\x20\x20vec4\x20tVec4\x20=\x20vec4(1.0,\x20t,\x20t\x20*\x20t,\x20t\x20*\x20t\x20*\x20t);\x0a\x20\x20\x20\x20tVec4\x20=\x20tVec4\x20/\x202.0;\x0a\x20\x20\x20\x20vec4\x20pVec4\x20=\x20vec4(p0,\x20p1,\x20p2,\x20p3);\x0a\x20\x20\x20\x20return\x20dot((tVec4\x20*\x20kernelMatrix),\x20pVec4);\x0a}\x0a\x0afloat\x20calculateB(sampler2D\x20windTexture,\x20float\x20t,\x20float\x20lon,\x20float\x20lat,\x20float\x20lev)\x20{\x0a\x20\x20\x20\x20float\x20lon0\x20=\x20floor(lon)\x20-\x201.0\x20*\x20interval.x;\x0a\x20\x20\x20\x20float\x20lon1\x20=\x20floor(lon);\x0a\x20\x20\x20\x20float\x20lon2\x20=\x20floor(lon)\x20+\x201.0\x20*\x20interval.x;\x0a\x20\x20\x20\x20float\x20lon3\x20=\x20floor(lon)\x20+\x202.0\x20*\x20interval.x;\x0a\x0a\x20\x20\x20\x20float\x20p0\x20=\x20getWind(windTexture,\x20vec3(lon0,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p1\x20=\x20getWind(windTexture,\x20vec3(lon1,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p2\x20=\x20getWind(windTexture,\x20vec3(lon2,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p3\x20=\x20getWind(windTexture,\x20vec3(lon3,\x20lat,\x20lev));\x0a\x0a\x20\x20\x20\x20return\x20oneDimensionInterpolation(t,\x20p0,\x20p1,\x20p2,\x20p3);\x0a}\x0a\x0afloat\x20interpolateOneTexture(sampler2D\x20windTexture,\x20vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20float\x20lon\x20=\x20lonLatLev.x;\x0a\x20\x20\x20\x20float\x20lat\x20=\x20lonLatLev.y;\x0a\x20\x20\x20\x20float\x20lev\x20=\x20lonLatLev.z;\x0a\x0a\x20\x20\x20\x20float\x20lat0\x20=\x20floor(lat)\x20-\x201.0\x20*\x20interval.y;\x0a\x20\x20\x20\x20float\x20lat1\x20=\x20floor(lat);\x0a\x20\x20\x20\x20float\x20lat2\x20=\x20floor(lat)\x20+\x201.0\x20*\x20interval.y;\x0a\x20\x20\x20\x20float\x20lat3\x20=\x20floor(lat)\x20+\x202.0\x20*\x20interval.y;\x0a\x0a\x20\x20\x20\x20vec2\x20coefficient\x20=\x20lonLatLev.xy\x20-\x20floor(lonLatLev.xy);\x0a\x20\x20\x20\x20float\x20b0\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat0,\x20lev);\x0a\x20\x20\x20\x20float\x20b1\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat1,\x20lev);\x0a\x20\x20\x20\x20float\x20b2\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat2,\x20lev);\x0a\x20\x20\x20\x20float\x20b3\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat3,\x20lev);\x0a\x0a\x20\x20\x20\x20return\x20oneDimensionInterpolation(coefficient.y,\x20b0,\x20b1,\x20b2,\x20b3);\x0a}\x0a\x0avec3\x20bicubic(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20https://en.wikipedia.org/wiki/Bicubic_interpolation#Bicubic_convolution_algorithm\x0a\x20\x20\x20\x20float\x20u\x20=\x20interpolateOneTexture(U,\x20lonLatLev);\x0a\x20\x20\x20\x20float\x20v\x20=\x20interpolateOneTexture(V,\x20lonLatLev);\x0a\x20\x20\x20\x20float\x20w\x20=\x200.0;\x0a\x20\x20\x20\x20return\x20vec3(u,\x20v,\x20w);\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20lonLatLev\x20=\x20texture(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20bicubic(lonLatLev);\x0a\x20\x20\x20\x20out_FragColor\x20=\x20vec4(windVector,\x200.0);\x0a}\x0a','destroy','canvasResize','canvasWidth','lineWidth','depthTest','enabled','_pointerEvents','onmessage','createCommand','shaderProgram','primitives','particlesWind','Framebuffer','wheel','clearCommand','windData','mode','lev','execute','worker','updateViewerParameters','toRadians','12790064MVHkpa','age','autoClear','windTextures','visibility','getUVByPoint','ymin','container','frameRate','camera','style','commandToExecute','viewRectangleToLonLatRange','position','BoundingSphere','in\x20vec3\x20position;\x0ain\x20vec2\x20st;\x0a\x0aout\x20vec2\x20textureCoordinate;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20textureCoordinate\x20=\x20st;\x0a\x20\x20\x20\x20gl_Position\x20=\x20vec4(position,\x201.0);\x0a}\x0a','initWorker','globalAlpha','particlesNumber','steps','floor','nextTrails','Draw','now','CanvasWindField','ComputeCommand','getUVByXY','currentParticlesPosition','isDestroyed','particlesComputing','vertexShaderSource','defineProperty','destroyParticlesTextures','viewport','normal','_addedHook','fromGeometry','tlat','createRenderingTextures','resize','drawingBufferHeight','vdata','__esModule','WindLayer','createComputingPrimitives','lon','unbindEvent','clear','currentParticlesSpeed','show','bind','mouseUp','data','attributeLocations','randomBetween','setData','createFramebuffer','preExecute','_setOptionsHook','visible','TextureMagnificationFilter','createWindTextures','cols','10479cxAzLw','uniform\x20sampler2D\x20colorTable;\x0a\x0ain\x20float\x20speedNormalization;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20out_FragColor\x20=\x20texture(colorTable,\x20vec2(speedNormalization,\x200.0));\x0a}\x0a','EllipsoidalOccluder','getDefaultRenderState','updateSpeed','nextTrailsColor','canvas','_onMouseDownEvent','colors','getU','ShaderSource','defines','Cesium','off','levmax','_canrefresh','_calcUV','currentTrailsDepth','zIndex','viewerParameters','framebuffer','78958gSDIQz','canrefresh','init','_onMapWhellEvent','reverseY','_onMouseMoveEvent','_showHook','canvasHeight','source','4074mgsufI','SCENE3D','ALWAYS','Color','particlesTextures','postMessage','umin','PixelDatatype','drawingBufferWidth','currentTrails','outputTexture','dropRate','length','depthMask','particleSystem','createTexture','Geometry','array','nextParticlesPosition','GeometryAttribute','abs','options','4324737wLZwPL','_map','_onMouseUpEvent','particlesRendering','Rectangle','vmax','GeometryAttributes','textures','refreshTimer','_updateIng','_animateFrame','type','pixelDatatype','LINEAR','lineTo','createRenderingFramebuffers','canvasContext'];_0x3bc8=function(){return _0x1fd006;};return _0x3bc8();}function _0x27c422(_0x3a114a,_0x42f539){return _0x411e(_0x42f539-0x180,_0x3a114a);}var postProcessingPosition_frag='uniform\x20sampler2D\x20nextParticlesPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0a\x0a//\x20range\x20(min,\x20max)\x0auniform\x20vec2\x20lonRange;\x0auniform\x20vec2\x20latRange;\x0a\x0auniform\x20float\x20randomCoefficient;\x20//\x20use\x20to\x20improve\x20the\x20pseudo-random\x20generator\x0auniform\x20float\x20dropRate;\x20//\x20drop\x20rate\x20is\x20a\x20chance\x20a\x20particle\x20will\x20restart\x20at\x20random\x20position\x20to\x20avoid\x20degeneration\x0auniform\x20float\x20dropRateBump;\x0a\x0ain\x20vec2\x20v_textureCoordinates;\x0a\x0a//\x20pseudo-random\x20generator\x0aconst\x20vec3\x20randomConstants\x20=\x20vec3(12.9898,\x2078.233,\x204375.85453);\x0aconst\x20vec2\x20normalRange\x20=\x20vec2(0.0,\x201.0);\x0afloat\x20rand(vec2\x20seed,\x20vec2\x20range)\x20{\x0a\x20\x20\x20\x20vec2\x20randomSeed\x20=\x20randomCoefficient\x20*\x20seed;\x0a\x20\x20\x20\x20float\x20temp\x20=\x20dot(randomConstants.xy,\x20randomSeed);\x0a\x20\x20\x20\x20temp\x20=\x20fract(sin(temp)\x20*\x20(randomConstants.z\x20+\x20temp));\x0a\x20\x20\x20\x20return\x20temp\x20*\x20(range.y\x20-\x20range.x)\x20+\x20range.x;\x0a}\x0a\x0avec3\x20generateRandomParticle(vec2\x20seed,\x20float\x20lev)\x20{\x0a\x20\x20\x20\x20//\x20ensure\x20the\x20longitude\x20is\x20in\x20[0,\x20360]\x0a\x20\x20\x20\x20float\x20randomLon\x20=\x20mod(rand(seed,\x20lonRange),\x20360.0);\x0a\x20\x20\x20\x20float\x20randomLat\x20=\x20rand(-seed,\x20latRange);\x0a\x0a\x20\x20\x20\x20return\x20vec3(randomLon,\x20randomLat,\x20lev);\x0a}\x0a\x0abool\x20particleOutbound(vec3\x20particle)\x20{\x0a\x20\x20\x20\x20return\x20particle.y\x20<\x20-90.0\x20||\x20particle.y\x20>\x2090.0;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec3\x20nextParticle\x20=\x20texture(nextParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20texture(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20float\x20particleDropRate\x20=\x20dropRate\x20+\x20dropRateBump\x20*\x20nextSpeed.a;\x0a\x0a\x20\x20\x20\x20vec2\x20seed1\x20=\x20nextParticle.xy\x20+\x20v_textureCoordinates;\x0a\x20\x20\x20\x20vec2\x20seed2\x20=\x20nextSpeed.xy\x20+\x20v_textureCoordinates;\x0a\x20\x20\x20\x20vec3\x20randomParticle\x20=\x20generateRandomParticle(seed1,\x20nextParticle.z);\x0a\x20\x20\x20\x20float\x20randomNumber\x20=\x20rand(seed2,\x20normalRange);\x0a\x0a\x20\x20\x20\x20if\x20(randomNumber\x20<\x20particleDropRate\x20||\x20particleOutbound(nextParticle))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20vec4(randomParticle,\x201.0);\x20//\x201.0\x20means\x20this\x20is\x20a\x20random\x20particle\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20vec4(nextParticle,\x200.0);\x0a\x20\x20\x20\x20}\x0a}\x0a',postProcessingSpeed_frag='uniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x0a\x0ain\x20vec2\x20v_textureCoordinates;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20randomParticle\x20=\x20texture(postProcessingPosition,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20vec4\x20particleSpeed\x20=\x20texture(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x0a\x20\x20\x20\x20if\x20(randomParticle.a\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20particleSpeed;\x0a\x20\x20\x20\x20}\x0a}\x0a';function _0x411e(_0xb0f65c,_0x14a2d6){const _0x3bc857=_0x3bc8();return _0x411e=function(_0x411eb1,_0x5c13e9){_0x411eb1=_0x411eb1-0x12b;let _0x550873=_0x3bc857[_0x411eb1];return _0x550873;},_0x411e(_0xb0f65c,_0x14a2d6);}const Cesium$3=mars3d__namespace['Cesium'];class ParticlesComputing{constructor(_0x47969d,_0x56f47f,_0x11873d,_0x3d3946){function _0x5cf5e5(_0x174ebe,_0x38d33c){return _0x27c422(_0x38d33c,_0x174ebe-0xf);}this[_0x5cf5e5(0x2c6,0x275)]=_0x56f47f,this['createWindTextures'](_0x47969d,_0x56f47f);function _0x30fca3(_0xcd4d7d,_0x2f8c71){return _0x27c422(_0x2f8c71,_0xcd4d7d-0x224);}this['createParticlesTextures'](_0x47969d,_0x11873d,_0x3d3946),this[_0x30fca3(0x4d3,0x503)](_0x56f47f,_0x11873d,_0x3d3946);}[_0xbdf208(0x24d,0x2ac)](_0x46166b,_0x332ae1){const _0x5d1fe4={'context':_0x46166b,'width':_0x332ae1['dimensions']['lon'],'height':_0x332ae1['dimensions']['lat']*(_0x332ae1['dimensions']['lev']||0x1),'pixelFormat':Cesium$3[_0x29c447(0x103,0x107)]['LUMINANCE'],'pixelDatatype':Cesium$3['PixelDatatype'][_0x29c447(0xc6,0xf6)],'flipY':![],'sampler':new Cesium$3['Sampler']({'minificationFilter':Cesium$3[_0x29c447(0x17e,0x110)][_0x29c447(0x158,0x11e)],'magnificationFilter':Cesium$3['TextureMagnificationFilter']['NEAREST']})};function _0x13d0f6(_0x387fce,_0x46fc24){return _0x27c422(_0x387fce,_0x46fc24- -0x2f9);}function _0x29c447(_0x40a711,_0x2f488c){return _0x27c422(_0x40a711,_0x2f488c- -0x260);}this[_0x13d0f6(0x112,0xb0)]={'U':Util[_0x13d0f6(0x1e,-0xa)](_0x5d1fe4,_0x332ae1['U']['array']),'V':Util[_0x29c447(0x7,0x8f)](_0x5d1fe4,_0x332ae1['V']['array'])};}['createParticlesTextures'](_0x4c918b,_0x2c0b50,_0x1eb999){function _0x192182(_0x1c8a5b,_0x51f37b){return _0xbdf208(_0x51f37b- -0x4cd,_0x1c8a5b);}const _0x50b28f={'context':_0x4c918b,'width':_0x2c0b50['particlesTextureSize'],'height':_0x2c0b50[_0x192182(-0x1af,-0x1c5)],'pixelFormat':Cesium$3['PixelFormat']['RGBA'],'pixelDatatype':Cesium$3['PixelDatatype']['FLOAT'],'flipY':![],'sampler':new Cesium$3['Sampler']({'minificationFilter':Cesium$3['TextureMinificationFilter'][_0x50f695(-0x1a5,-0x152)],'magnificationFilter':Cesium$3['TextureMagnificationFilter']['NEAREST']})},_0x2be89e=this[_0x192182(-0x1b0,-0x21b)](_0x2c0b50['maxParticles'],_0x1eb999);function _0x50f695(_0x55dcf6,_0x276f79){return _0x27c422(_0x55dcf6,_0x276f79- -0x4d0);}const _0x1c2570=new Float32Array(0x4*_0x2c0b50['maxParticles'])['fill'](0x0);this[_0x192182(-0x25c,-0x25c)]={'particlesWind':Util[_0x50f695(-0x209,-0x1e1)](_0x50b28f),'currentParticlesPosition':Util[_0x192182(-0x237,-0x251)](_0x50b28f,_0x2be89e),'nextParticlesPosition':Util['createTexture'](_0x50b28f,_0x2be89e),'currentParticlesSpeed':Util['createTexture'](_0x50b28f,_0x1c2570),'nextParticlesSpeed':Util[_0x192182(-0x1d0,-0x251)](_0x50b28f,_0x1c2570),'postProcessingPosition':Util['createTexture'](_0x50b28f,_0x2be89e),'postProcessingSpeed':Util['createTexture'](_0x50b28f,_0x1c2570)};}[_0xbdf208(0x2b2,0x2ce)](_0x16bc34,_0x44224f){const _0x21b440=new Float32Array(0x4*_0x16bc34);function _0x4de38b(_0x139c4,_0x271f38){return _0x27c422(_0x271f38,_0x139c4-0x145);}function _0x8b770e(_0x369f8e,_0x51835e){return _0xbdf208(_0x51835e- -0xd5,_0x369f8e);}for(let _0x21f478=0x0;_0x21f478<_0x16bc34;_0x21f478++){_0x21b440[0x4*_0x21f478]=Cesium$3['Math']['randomBetween'](_0x44224f['lonRange']['x'],_0x44224f['lonRange']['y']),_0x21b440[0x4*_0x21f478+0x1]=Cesium$3[_0x8b770e(0x255,0x23b)]['randomBetween'](_0x44224f[_0x8b770e(0x199,0x20a)]['x'],_0x44224f[_0x8b770e(0x290,0x20a)]['y']),_0x21b440[0x4*_0x21f478+0x2]=Cesium$3[_0x8b770e(0x274,0x23b)][_0x4de38b(0x3fe,0x484)](this['data'][_0x8b770e(0x223,0x259)][_0x8b770e(0x20e,0x1ef)],this[_0x4de38b(0x3fc,0x40b)]['lev'][_0x4de38b(0x49e,0x41c)]),_0x21b440[0x4*_0x21f478+0x3]=0x0;}return _0x21b440;}['destroyParticlesTextures'](){Object['keys'](this['particlesTextures'])['forEach'](_0x21faa5=>{function _0x3a77a5(_0x411b10,_0x29ed06){return _0x411e(_0x29ed06-0x1c2,_0x411b10);}this['particlesTextures'][_0x21faa5][_0x3a77a5(0x377,0x3d2)]();});}['createComputingPrimitives'](_0x202fa8,_0x240c1e,_0x3929bb){const _0x1818f1=new Cesium$3['Cartesian3'](_0x202fa8['dimensions'][_0x1572e2(0x38b,0x35f)],_0x202fa8[_0x1572e2(0x3e9,0x3ba)][_0x456f0e(0x1db,0x19d)],_0x202fa8[_0x1572e2(0x363,0x3ba)]['lev']),_0x122cb8=new Cesium$3['Cartesian3'](_0x202fa8['lon'][_0x1572e2(0x421,0x3e6)],_0x202fa8[_0x456f0e(0x178,0x19d)][_0x456f0e(0x1d2,0x19e)],_0x202fa8['lev'][_0x456f0e(0x137,0x19e)]),_0xb8bce8=new Cesium$3[(_0x1572e2(0x457,0x3fc))](_0x202fa8[_0x1572e2(0x3f0,0x35f)]['max'],_0x202fa8['lat']['max'],_0x202fa8['lev'][_0x456f0e(0x193,0x1c0)]),_0x4f36f5=new Cesium$3['Cartesian3']((_0xb8bce8['x']-_0x122cb8['x'])/(_0x1818f1['x']-0x1),(_0xb8bce8['y']-_0x122cb8['y'])/(_0x1818f1['y']-0x1),_0x1818f1['z']>0x1?(_0xb8bce8['z']-_0x122cb8['z'])/(_0x1818f1['z']-0x1):0x1),_0x396473=new Cesium$3[(_0x456f0e(0x20f,0x1c8))](_0x202fa8['U']['min'],_0x202fa8['U']['max']),_0x4d8008=new Cesium$3['Cartesian2'](_0x202fa8['V'][_0x1572e2(0x3d0,0x3e6)],_0x202fa8['V']['max']);function _0x1572e2(_0x6c5941,_0x5f5c1a){return _0x27c422(_0x6c5941,_0x5f5c1a-0xaf);}const _0x157cc2=this,_0x62f9ab={};_0x62f9ab['U']=function(){return _0x157cc2['windTextures']['U'];},_0x62f9ab['V']=function(){return _0x157cc2['windTextures']['V'];},_0x62f9ab['currentParticlesPosition']=function(){function _0xfcdaa0(_0x390812,_0x1aaa03){return _0x456f0e(_0x390812,_0x1aaa03- -0x2b8);}return _0x157cc2['particlesTextures'][_0xfcdaa0(-0x64,-0x90)];},_0x62f9ab['dimension']=function(){return _0x1818f1;},_0x62f9ab['minimum']=function(){return _0x122cb8;},_0x62f9ab['maximum']=function(){return _0xb8bce8;},_0x62f9ab['interval']=function(){return _0x4f36f5;};const _0xd5b64={};_0xd5b64[_0x456f0e(0x132,0x1be)]=[getWind_frag];const _0x1e37ae={};_0x1e37ae[_0x1572e2(0x48a,0x406)]=[updateSpeed_frag];function _0x456f0e(_0x4c32b7,_0xe94acf){return _0x27c422(_0x4c32b7,_0xe94acf- -0x199);}const _0x239f8b={};_0x239f8b['sources']=[updatePosition_frag];const _0x4dc580={};_0x4dc580[_0x456f0e(0x12d,0x1be)]=[postProcessingPosition_frag];const _0x1795f8={};_0x1795f8[_0x456f0e(0x1c7,0x1be)]=[postProcessingSpeed_frag],this[_0x456f0e(0x18b,0x201)]={'getWind':new CustomPrimitive({'commandType':'Compute','uniformMap':_0x62f9ab,'fragmentShaderSource':new Cesium$3['ShaderSource'](_0xd5b64),'outputTexture':this[_0x1572e2(0x3c6,0x393)][_0x456f0e(0x1f3,0x202)],'preExecute':function(){function _0x1b8cc9(_0x1a6fa0,_0x33a0c0){return _0x456f0e(_0x1a6fa0,_0x33a0c0- -0x373);}_0x157cc2['primitives']['getWind'][_0x1b8cc9(-0x1e7,-0x15b)]['outputTexture']=_0x157cc2['particlesTextures']['particlesWind'];}}),'updateSpeed':new CustomPrimitive({'commandType':_0x456f0e(0x1b2,0x17f),'uniformMap':{'currentParticlesSpeed':function(){function _0x58ac31(_0x1deab0,_0x18bfe2){return _0x456f0e(_0x18bfe2,_0x1deab0-0x95);}return _0x157cc2['particlesTextures'][_0x58ac31(0x1af,0x141)];},'particlesWind':function(){return _0x157cc2['particlesTextures']['particlesWind'];},'uSpeedRange':function(){return _0x396473;},'vSpeedRange':function(){return _0x4d8008;},'pixelSize':function(){return _0x3929bb['pixelSize'];},'speedFactor':function(){return _0x240c1e['speedFactor'];}},'fragmentShaderSource':new Cesium$3['ShaderSource'](_0x1e37ae),'outputTexture':this['particlesTextures']['nextParticlesSpeed'],'preExecute':function(){function _0x35fe76(_0x525fce,_0x5dd067){return _0x1572e2(_0x5dd067,_0x525fce-0x6b);}function _0x55c3a0(_0x592427,_0x549815){return _0x456f0e(_0x549815,_0x592427- -0x1d6);}const _0x322fb1=_0x157cc2[_0x55c3a0(-0x8b,-0xbe)]['currentParticlesSpeed'];_0x157cc2['particlesTextures']['currentParticlesSpeed']=_0x157cc2[_0x35fe76(0x3fe,0x44a)]['postProcessingSpeed'],_0x157cc2['particlesTextures']['postProcessingSpeed']=_0x322fb1,_0x157cc2[_0x55c3a0(0x2b,-0x2c)]['updateSpeed']['commandToExecute'][_0x55c3a0(-0x85,-0xcf)]=_0x157cc2[_0x55c3a0(-0x8b,-0x5f)]['nextParticlesSpeed'];}}),'updatePosition':new CustomPrimitive({'commandType':_0x456f0e(0xff,0x17f),'uniformMap':{'currentParticlesPosition':function(){return _0x157cc2['particlesTextures']['currentParticlesPosition'];},'currentParticlesSpeed':function(){function _0x3d3400(_0x57c17d,_0x3b96f5){return _0x1572e2(_0x3b96f5,_0x57c17d- -0x4d7);}return _0x157cc2['particlesTextures'][_0x3d3400(-0x175,-0x13d)];}},'fragmentShaderSource':new Cesium$3['ShaderSource'](_0x239f8b),'outputTexture':this['particlesTextures'][_0x1572e2(0x328,0x3a1)],'preExecute':function(){const _0x3ab2e7=_0x157cc2[_0x4e158a(-0x17d,-0x1d5)]['currentParticlesPosition'];function _0x4e158a(_0x52430e,_0x2c51aa){return _0x1572e2(_0x52430e,_0x2c51aa- -0x568);}_0x157cc2[_0x4e158a(-0x1e9,-0x1d5)]['currentParticlesPosition']=_0x157cc2['particlesTextures']['postProcessingPosition'];function _0x5e3020(_0x4376f0,_0x2e7c2e){return _0x1572e2(_0x4376f0,_0x2e7c2e-0x188);}_0x157cc2[_0x4e158a(-0x25d,-0x1d5)]['postProcessingPosition']=_0x3ab2e7,_0x157cc2[_0x5e3020(0x5e5,0x5d1)]['updatePosition']['commandToExecute'][_0x5e3020(0x4a9,0x521)]=_0x157cc2['particlesTextures']['nextParticlesPosition'];}}),'postProcessingPosition':new CustomPrimitive({'commandType':_0x456f0e(0x12b,0x17f),'uniformMap':{'nextParticlesPosition':function(){return _0x157cc2['particlesTextures']['nextParticlesPosition'];},'nextParticlesSpeed':function(){return _0x157cc2['particlesTextures']['nextParticlesSpeed'];},'lonRange':function(){return _0x3929bb['lonRange'];},'latRange':function(){return _0x3929bb['latRange'];},'randomCoefficient':function(){function _0x5e9a2a(_0x54c860,_0x368c24){return _0x456f0e(_0x368c24,_0x54c860- -0x3cd);}const _0x10da75=Math[_0x5e9a2a(-0x1f5,-0x1c3)]();return _0x10da75;},'dropRate':function(){function _0x10fa43(_0x190c57,_0x425036){return _0x1572e2(_0x425036,_0x190c57-0x186);}return _0x240c1e[_0x10fa43(0x520,0x59c)];},'dropRateBump':function(){function _0x5f45ab(_0x39fa62,_0x1ab1c9){return _0x456f0e(_0x39fa62,_0x1ab1c9- -0x20a);}return _0x240c1e[_0x5f45ab(-0xa9,-0x57)];}},'fragmentShaderSource':new Cesium$3['ShaderSource'](_0x4dc580),'outputTexture':this['particlesTextures']['postProcessingPosition'],'preExecute':function(){function _0x58a505(_0xd594ec,_0x5e2610){return _0x456f0e(_0xd594ec,_0x5e2610- -0x2b5);}_0x157cc2['primitives']['postProcessingPosition']['commandToExecute']['outputTexture']=_0x157cc2[_0x58a505(-0x105,-0x16a)]['postProcessingPosition'];}}),'postProcessingSpeed':new CustomPrimitive({'commandType':_0x1572e2(0x367,0x3c7),'uniformMap':{'postProcessingPosition':function(){return _0x157cc2['particlesTextures']['postProcessingPosition'];},'nextParticlesSpeed':function(){return _0x157cc2['particlesTextures']['nextParticlesSpeed'];}},'fragmentShaderSource':new Cesium$3[(_0x456f0e(0x184,0x133))](_0x1795f8),'outputTexture':this[_0x456f0e(0x10a,0x14b)]['postProcessingSpeed'],'preExecute':function(){_0x157cc2['primitives']['postProcessingSpeed']['commandToExecute']['outputTexture']=_0x157cc2['particlesTextures']['postProcessingSpeed'];}})};}}const Cesium$2=mars3d__namespace['Cesium'];class ParticleSystem{constructor(_0x55a08e,_0xcaa5,_0x2393ce,_0x120776){function _0x12e425(_0x5d2921,_0x4bd4d6){return _0xbdf208(_0x4bd4d6-0x152,_0x5d2921);}this[_0xc730bf(-0x153,-0x19c)]=_0x55a08e,_0xcaa5={..._0xcaa5};function _0xc730bf(_0x5ab916,_0x2fd78f){return _0x27c422(_0x2fd78f,_0x5ab916- -0x45c);}_0xcaa5[_0xc730bf(-0xd8,-0x89)]&&_0xcaa5['vdata']&&(_0xcaa5['dimensions']={},_0xcaa5[_0xc730bf(-0x151,-0x108)]['lon']=_0xcaa5['cols'],_0xcaa5[_0x12e425(0x39f,0x3ea)]['lat']=_0xcaa5[_0xc730bf(-0x118,-0xd3)],_0xcaa5['dimensions'][_0xc730bf(-0xbb,-0x113)]=_0xcaa5['lev']||0x1,_0xcaa5[_0x12e425(0x3ff,0x38f)]={},_0xcaa5[_0xc730bf(-0x1ac,-0x21f)]['min']=_0xcaa5['xmin'],_0xcaa5['lon'][_0xc730bf(-0x103,-0xb8)]=_0xcaa5[_0x12e425(0x47a,0x449)],_0xcaa5[_0x12e425(0x41a,0x415)]={},_0xcaa5['lat']['min']=_0xcaa5['ymin'],_0xcaa5['lat']['max']=_0xcaa5['ymax'],_0xcaa5['lev']={},_0xcaa5[_0xc730bf(-0xbb,-0xe5)]['min']=_0xcaa5['levmin']??0x1,_0xcaa5['lev'][_0xc730bf(-0x103,-0x152)]=_0xcaa5[_0x12e425(0x326,0x3af)]??0x1,_0xcaa5['U']={},_0xcaa5['U']['array']=new Float32Array(_0xcaa5['udata']),_0xcaa5['U']['min']=_0xcaa5[_0xc730bf(-0x176,-0x173)]??Math['min'](..._0xcaa5[_0xc730bf(-0xd8,-0xed)]),_0xcaa5['U'][_0xc730bf(-0x103,-0xc6)]=_0xcaa5[_0x12e425(0x4e2,0x45e)]??Math[_0x12e425(0x3ec,0x438)](..._0xcaa5['udata']),_0xcaa5['V']={},_0xcaa5['V'][_0xc730bf(-0x16b,-0x1a5)]=new Float32Array(_0xcaa5['vdata']),_0xcaa5['V'][_0x12e425(0x4a0,0x416)]=_0xcaa5['vmin']??Math['min'](..._0xcaa5['vdata']),_0xcaa5['V']['max']=_0xcaa5[_0xc730bf(-0x161,-0x1b3)]??Math[_0x12e425(0x3bd,0x438)](..._0xcaa5['vdata'])),this['data']=_0xcaa5,this['options']=_0x2393ce,this['viewerParameters']=_0x120776,this['particlesComputing']=new ParticlesComputing(this['context'],this['data'],this[_0xc730bf(-0x167,-0x18e)],this['viewerParameters']),this['particlesRendering']=new ParticlesRendering(this['context'],this[_0x12e425(0x3fe,0x396)],this[_0xc730bf(-0x167,-0xf7)],this['viewerParameters'],this['particlesComputing']);}[_0x27c422(0x3ee,0x391)](_0xed675f){this['particlesComputing']['destroyParticlesTextures'](),Object['keys'](this['particlesComputing']['windTextures'])['forEach'](_0x4c4db1=>{function _0x39223a(_0x18e539,_0x139979){return _0x411e(_0x18e539-0x16b,_0x139979);}function _0x20c052(_0x7209c1,_0x118c65){return _0x411e(_0x7209c1- -0x36e,_0x118c65);}this['particlesComputing'][_0x20c052(-0x145,-0x14a)][_0x4c4db1][_0x39223a(0x37b,0x324)]();}),this[_0x518880(0x3e9,0x446)]['textures']['colorTable']['destroy']();function _0x2af01c(_0x10ecea,_0x21f95e){return _0x27c422(_0x10ecea,_0x21f95e- -0x10e);}Object['keys'](this[_0x518880(0x3e9,0x397)]['framebuffers'])['forEach'](_0x15a585=>{function _0x120c72(_0x4708b5,_0x30c20b){return _0x2af01c(_0x4708b5,_0x30c20b- -0x20d);}function _0x397cce(_0x23d1eb,_0x15f48a){return _0x518880(_0x23d1eb- -0x2cf,_0x15f48a);}this[_0x120c72(0x5e,-0x22)]['framebuffers'][_0x15a585][_0x397cce(0x1b1,0x145)]();}),this['context']=_0xed675f,this['particlesComputing']=new ParticlesComputing(this[_0x2af01c(0x214,0x1fb)],this[_0x2af01c(0x129,0x1a9)],this[_0x2af01c(0x1f2,0x1e7)],this['viewerParameters']);function _0x518880(_0x2e25c0,_0x554084){return _0xbdf208(_0x2e25c0-0x163,_0x554084);}this['particlesRendering']=new ParticlesRendering(this['context'],this[_0x518880(0x3a7,0x407)],this[_0x518880(0x3e5,0x3be)],this[_0x518880(0x3c5,0x3db)],this[_0x2af01c(0x2c4,0x2b5)]);}[_0x27c422(0x373,0x37d)](){function _0xb49886(_0x43a6ba,_0xe9e206){return _0xbdf208(_0xe9e206-0x13c,_0x43a6ba);}const _0x5830f8=new Cesium$2[(_0xb49886(0x48d,0x41c))]({'color':new Cesium$2['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':undefined,'pass':Cesium$2['Pass'][_0xb49886(0x3a8,0x40a)]});function _0xcd7a27(_0xa6ffde,_0x2147f4){return _0x27c422(_0xa6ffde,_0x2147f4-0x242);}Object[_0xcd7a27(0x568,0x5a0)](this[_0xb49886(0x3f3,0x3c2)]['framebuffers'])['forEach'](_0x41e826=>{function _0x4204df(_0x40c22e,_0x39495c){return _0xcd7a27(_0x39495c,_0x40c22e- -0x7d);}function _0x30d2ad(_0x2d535e,_0x2a623e){return _0xcd7a27(_0x2d535e,_0x2a623e- -0x20b);}_0x5830f8['framebuffer']=this[_0x4204df(0x4be,0x547)]['framebuffers'][_0x41e826],_0x5830f8[_0x4204df(0x567,0x585)](this[_0x4204df(0x4ce,0x4cf)]);});}['refreshParticles'](_0x1a390d){function _0x24dc1c(_0x2f661e,_0x432ebe){return _0x27c422(_0x2f661e,_0x432ebe-0x2);}this['clearFramebuffers'](),this[_0x24dc1c(0x35f,0x3c5)]['destroyParticlesTextures']();function _0x33ad37(_0x15dc88,_0xe126af){return _0xbdf208(_0x15dc88-0x244,_0xe126af);}this[_0x24dc1c(0x3c8,0x3c5)]['createParticlesTextures'](this['context'],this['options'],this[_0x24dc1c(0x2c6,0x2d7)]);if(_0x1a390d){var _0x4645ac;const _0x795d96=this[_0x24dc1c(0x27e,0x2fb)][_0x24dc1c(0x33e,0x312)](this['options']);this['particlesRendering'][_0x24dc1c(0x3a4,0x39c)][_0x33ad37(0x53a,0x58f)]['geometry']=_0x795d96;const _0x5d1eba=Cesium$2['VertexArray']['fromGeometry']({'context':this['context'],'geometry':_0x795d96,'attributeLocations':this[_0x24dc1c(0x2cb,0x2fb)]['primitives'][_0x33ad37(0x53a,0x59c)]['attributeLocations'],'bufferUsage':Cesium$2['BufferUsage']['STATIC_DRAW']});(_0x4645ac=this['particlesRendering']['primitives'])!==null&&_0x4645ac!==void 0x0&&(_0x4645ac=_0x4645ac['segments'])!==null&&_0x4645ac!==void 0x0&&_0x4645ac['commandToExecute']&&(this['particlesRendering']['primitives'][_0x33ad37(0x53a,0x502)][_0x24dc1c(0x368,0x3b3)]['vertexArray']=_0x5d1eba);}}[_0xbdf208(0x2cf,0x24b)](_0x5ee1fb){function _0x51ea82(_0x14e02e,_0x16791f){return _0xbdf208(_0x14e02e- -0x209,_0x16791f);}function _0x3d1e61(_0x420d48,_0x5c141d){return _0xbdf208(_0x420d48-0x249,_0x5c141d);}let _0x3eb952=![];this['options'][_0x51ea82(0xf9,0x16e)]!==_0x5ee1fb['maxParticles']&&(_0x3eb952=!![]),Object['keys'](_0x5ee1fb)[_0x51ea82(0x99,0x121)](_0x4a6391=>{this['options'][_0x4a6391]=_0x5ee1fb[_0x4a6391];}),this[_0x51ea82(0xc3,0x69)](_0x3eb952);}['applyViewerParameters'](_0x3c40a8){Object['keys'](_0x3c40a8)['forEach'](_0x404d3f=>{this['viewerParameters'][_0x404d3f]=_0x3c40a8[_0x404d3f];});function _0x3d86ee(_0xbccf6b,_0x1f0bf3){return _0xbdf208(_0xbccf6b- -0x302,_0x1f0bf3);}this[_0x3d86ee(-0x36,-0xa1)](![]);}['destroy'](){clearTimeout(this[_0x28abe0(-0xff,-0x12c)]),this[_0x2d5e9f(0x26f,0x26b)][_0x28abe0(-0x11,0x10)](),Object[_0x28abe0(-0x79,0x11)](this['particlesComputing'][_0x28abe0(-0x2e,-0x94)])['forEach'](_0x4c2f11=>{function _0x462ec7(_0x20cef5,_0x343d7d){return _0x2d5e9f(_0x20cef5,_0x343d7d-0x1ff);}function _0x1a9e47(_0x421904,_0x23390d){return _0x28abe0(_0x23390d- -0xb7,_0x421904);}this[_0x462ec7(0x47a,0x46a)][_0x462ec7(0x438,0x450)][_0x4c2f11][_0x462ec7(0x3f1,0x437)]();}),this[_0x2d5e9f(0x1cf,0x1a1)]['textures']['colorTable']['destroy'](),Object['keys'](this['particlesRendering']['framebuffers'])[_0x28abe0(-0xc2,-0x59)](_0x3a4e80=>{function _0x12e5b7(_0x3eeefd,_0x30f52b){return _0x2d5e9f(_0x3eeefd,_0x30f52b- -0x306);}this['particlesRendering'][_0x12e5b7(-0xcd,-0xf3)][_0x3a4e80]['destroy']();});function _0x28abe0(_0x36a8eb,_0x50c0ce){return _0x27c422(_0x50c0ce,_0x36a8eb- -0x3d7);}function _0x2d5e9f(_0xee3745,_0x47bba9){return _0x27c422(_0xee3745,_0x47bba9- -0x158);}for(const _0x5e198a in this){delete this[_0x5e198a];}}}const Cesium$1=mars3d__namespace['Cesium'],BaseLayer$1=mars3d__namespace[_0x27c422(0x37f,0x30a)]['BaseLayer'],_0x1e9b0f={};_0x1e9b0f[_0x27c422(0x3be,0x3b8)]=0x1000,_0x1e9b0f['fixedHeight']=0x0,_0x1e9b0f[_0x27c422(0x399,0x335)]=0.996,_0x1e9b0f[_0x27c422(0x306,0x2eb)]=0.003,_0x1e9b0f['dropRateBump']=0.01,_0x1e9b0f[_0x27c422(0x355,0x379)]=0.5,_0x1e9b0f[_0xbdf208(0x320,0x3a6)]=0x2,_0x1e9b0f['colors']=['rgb(206,255,255)'];const DEF_OPTIONS=_0x1e9b0f;class WindLayer extends BaseLayer$1{constructor(_0x2686a0={}){_0x2686a0={...DEF_OPTIONS,..._0x2686a0};function _0xc2098d(_0x365851,_0xc4e0f5){return _0xbdf208(_0x365851-0x266,_0xc4e0f5);}super(_0x2686a0),this[_0xc2098d(0x4b0,0x48c)](_0x2686a0);}get[_0xbdf208(0x297,0x291)](){function _0x53d2f4(_0x52e8ee,_0x108cc7){return _0xbdf208(_0x108cc7-0x1db,_0x52e8ee);}return this[_0x53d2f4(0x52f,0x502)];}get[_0x27c422(0x2d1,0x2b7)](){return this['_data'];}set['data'](_0x2fc1b2){this['setData'](_0x2fc1b2);}get['colors'](){return this['options']['colors'];}set['colors'](_0x2aa9a4){function _0x5ac5b0(_0x59f1af,_0x3119bc){return _0x27c422(_0x59f1af,_0x3119bc-0x13a);}function _0x29c555(_0x221dc4,_0x282ad7){return _0xbdf208(_0x282ad7-0x241,_0x221dc4);}this[_0x5ac5b0(0x3cc,0x42f)][_0x29c555(0x4db,0x498)]=_0x2aa9a4;if(this['particleSystem']){const _0x378e8b={};_0x378e8b['colors']=_0x2aa9a4,this['particleSystem']['setOptions'](_0x378e8b);}this['resize']();}[_0x27c422(0x30c,0x331)](){}[_0x27c422(0x415,0x3c9)](){this['scene']=this['_map']['scene'];function _0x2ad654(_0x5af5f5,_0x725843){return _0x27c422(_0x725843,_0x5af5f5- -0x26c);}this[_0x2ad654(0x143,0xca)]=this['_map']['camera'],this[_0x2ad654(0x12e,0x1a4)]=new Cesium$1['PrimitiveCollection'](),this[_0x476d48(0x4fe,0x513)]['scene']['primitives']['add'](this['primitives']),this[_0x476d48(0x4dc,0x55e)]={'lonRange':new Cesium$1['Cartesian2'](),'latRange':new Cesium$1['Cartesian2'](),'pixelSize':0x0},this['globeBoundingSphere']=new Cesium$1[(_0x476d48(0x5bb,0x60c))](Cesium$1['Cartesian3']['ZERO'],0.99*0x615299),this['updateViewerParameters']();function _0x476d48(_0x5b477b,_0x1ec0ed){return _0x27c422(_0x1ec0ed,_0x5b477b-0x207);}window['addEventListener']('resize',this[_0x2ad654(0x161,0x165)][_0x476d48(0x4bc,0x4af)](this),![]),this[_0x2ad654(0xc4,0x35)]=![],this['mouse_move']=![],this[_0x476d48(0x4fe,0x566)]['on'](mars3d__namespace['EventType']['wheel'],this['_onMapWhellEvent'],this),this['_map']['on'](mars3d__namespace[_0x476d48(0x594,0x5f5)]['mouseDown'],this['_onMouseDownEvent'],this),this['_map']['on'](mars3d__namespace['EventType']['mouseUp'],this['_onMouseUpEvent'],this),this['_map']['on'](mars3d__namespace['EventType']['mouseMove'],this['_onMouseMoveEvent'],this),this['_data']&&this[_0x476d48(0x4c1,0x525)](this[_0x2ad654(0x108,0x12d)]);}['_removedHook'](){window['removeEventListener']('resize',this['resize']),this[_0x2ecf12(-0x270,-0x269)]['off'](mars3d__namespace['EventType']['preRender'],this['_onMap_preRenderEvent'],this);function _0x45e3af(_0x35a1f7,_0x283d6d){return _0x27c422(_0x283d6d,_0x35a1f7-0x16b);}this[_0x45e3af(0x462,0x3fe)]['off'](mars3d__namespace['EventType'][_0x45e3af(0x508,0x4c2)],this[_0x45e3af(0x445,0x451)],this),this[_0x45e3af(0x462,0x3f5)][_0x2ecf12(-0x298,-0x2ad)](mars3d__namespace['EventType'][_0x45e3af(0x486,0x4a3)],this[_0x45e3af(0x434,0x44d)],this),this['_map']['off'](mars3d__namespace['EventType'][_0x2ecf12(-0x2b1,-0x30d)],this['_onMouseUpEvent'],this),this['_map'][_0x2ecf12(-0x298,-0x236)](mars3d__namespace[_0x45e3af(0x4f8,0x540)]['mouseMove'],this[_0x45e3af(0x447,0x4b6)],this),this['primitives']['removeAll']();function _0x2ecf12(_0x2fe03f,_0x5ee1e7){return _0x27c422(_0x5ee1e7,_0x2fe03f- -0x567);}this['_map'][_0x2ecf12(-0x1de,-0x1e5)]['primitives']['remove'](this[_0x2ecf12(-0x1cd,-0x192)]);}['resize'](){if(!this['show']||!this[_0x4f8bcf(0x2,-0x11)])return;function _0x4f8bcf(_0x47ffcf,_0x520013){return _0x27c422(_0x520013,_0x47ffcf- -0x2ec);}function _0x1ba15e(_0x287c7b,_0x54f307){return _0x27c422(_0x54f307,_0x287c7b- -0x4b1);}this['primitives'][_0x4f8bcf(-0x38,-0x23)]=![],this[_0x4f8bcf(0xae,0x130)][_0x1ba15e(-0x160,-0x10e)](),this['_map']['once'](mars3d__namespace[_0x4f8bcf(0xa1,0x124)]['preRender'],this[_0x4f8bcf(0x57,-0x25)],this);}['_onMap_preRenderEvent'](_0x379a18){function _0x51264c(_0x55d9f6,_0x3478a1){return _0xbdf208(_0x55d9f6-0x176,_0x3478a1);}function _0x350505(_0x2d1ef0,_0x35574b){return _0xbdf208(_0x35574b-0x287,_0x2d1ef0);}this['particleSystem'][_0x51264c(0x494,0x4fb)](this[_0x51264c(0x48c,0x47e)]['context']),this[_0x51264c(0x483,0x3f7)](),this['primitives'][_0x350505(0x551,0x4c8)]=!![];}[_0xbdf208(0x267,0x2b1)](_0x546bc1){function _0x587270(_0x2d4a74,_0x5f1880){return _0x27c422(_0x2d4a74,_0x5f1880- -0x31a);}clearTimeout(this['refreshTimer']);if(!this['show']||!this['particleSystem'])return;this['primitives'][_0x587270(-0xba,-0x66)]=![],this['refreshTimer']=setTimeout(()=>{if(!this['show'])return;function _0xc04152(_0xe14e5c,_0x27b945){return _0x587270(_0xe14e5c,_0x27b945- -0x132);}this[_0xc04152(-0x96,-0xc2)]();},0xc8);}['_onMouseDownEvent'](_0x4d5dff){this['mouse_down']=!![];}['_onMouseMoveEvent'](_0x600abb){if(!this['show']||!this['particleSystem'])return;function _0x3ee9b9(_0x463984,_0x3413b3){return _0x27c422(_0x463984,_0x3413b3- -0x63);}this['mouse_down']&&(this['primitives'][_0x3ee9b9(0x2e1,0x251)]=![],this['mouse_move']=!![]);}[_0xbdf208(0x285,0x2b4)](_0x31e2d0){function _0x250658(_0x19131c,_0x1e34ea){return _0x27c422(_0x1e34ea,_0x19131c- -0x42);}if(!this['show']||!this[_0x20666e(0x2c9,0x336)])return;this['mouse_down']&&this[_0x20666e(0x307,0x2e0)]&&this['redraw']();this['primitives']['show']=!![];function _0x20666e(_0x254d25,_0xd24617){return _0xbdf208(_0x254d25-0x4e,_0xd24617);}this['mouse_down']=![],this['mouse_move']=![];}['redraw'](){function _0x392175(_0x269527,_0x336d3e){return _0xbdf208(_0x336d3e-0x7,_0x269527);}if(!this[_0x392175(0x2c5,0x28b)]||!this[_0x1fc56e(-0x96,-0x83)])return;this['updateViewerParameters'](),this['particleSystem']['applyViewerParameters'](this['viewerParameters']);function _0x1fc56e(_0x1ec534,_0x4287eb){return _0xbdf208(_0x4287eb- -0x2c4,_0x1ec534);}this['primitives'][_0x392175(0x2b0,0x248)]=!![];}[_0xbdf208(0x247,0x2cb)](_0x51001c){function _0x395752(_0x2c8d98,_0x2c6df4){return _0x27c422(_0x2c8d98,_0x2c6df4- -0x327);}function _0x246e94(_0x41d236,_0x2879f6){return _0x27c422(_0x2879f6,_0x41d236-0x12);}this['_data']=_0x51001c,this['particleSystem']&&this['particleSystem']['destroy'](),this[_0x246e94(0x300,0x36e)]=new ParticleSystem(this['scene'][_0x246e94(0x31b,0x33e)],_0x51001c,this['getOptions'](),this['viewerParameters']),this['addPrimitives']();}[_0x27c422(0x2f7,0x2bd)](_0x285375,_0x5e282b){if(_0x285375)for(const _0x3937aa in _0x285375){this[_0x3937aa]=_0x285375[_0x3937aa];}function _0x37a070(_0xa54e67,_0x2d5a58){return _0x27c422(_0x2d5a58,_0xa54e67- -0x163);}function _0x178ee6(_0x1357f2,_0x14a52a){return _0x27c422(_0x14a52a,_0x1357f2- -0x101);}this['particleSystem']&&this[_0x37a070(0x18b,0x151)][_0x37a070(0x1df,0x15b)](this['getOptions']());}['getOptions'](){function _0x2d537e(_0x3f2b52,_0x4c745a){return _0xbdf208(_0x4c745a- -0x1c7,_0x3f2b52);}const _0x3408cd=Math['ceil'](Math[_0x3b5186(-0x7e,-0x15)](this[_0x2d537e(0x198,0x17e)]));this[_0x2d537e(0x192,0x17e)]=_0x3408cd*_0x3408cd;const _0x479e3a={};_0x479e3a['particlesTextureSize']=_0x3408cd,_0x479e3a[_0x2d537e(0x14d,0x13b)]=this[_0x3b5186(-0x2b,0xd)],_0x479e3a['particleHeight']=this['fixedHeight'],_0x479e3a['fadeOpacity']=this[_0x2d537e(0x14a,0xfb)],_0x479e3a['dropRate']=this['dropRate'],_0x479e3a['dropRateBump']=this[_0x3b5186(-0x97,-0x36)],_0x479e3a['speedFactor']=this['speedFactor'],_0x479e3a[_0x3b5186(-0x50,0x32)]=this[_0x2d537e(0x1bf,0x159)],_0x479e3a[_0x3b5186(-0x119,-0x166)]=this[_0x2d537e(0x6d,0x90)];function _0x3b5186(_0x2965ea,_0xca682b){return _0xbdf208(_0x2965ea- -0x370,_0xca682b);}return _0x479e3a;}[_0xbdf208(0x30d,0x2e6)](){this[_0xd05217(0x3c1,0x3cc)][_0x108c9e(0x511,0x542)](this['particleSystem']['particlesComputing'][_0x108c9e(0x54c,0x555)]['getWind']),this[_0xd05217(0x418,0x3cc)]['add'](this['particleSystem']['particlesComputing']['primitives'][_0x108c9e(0x478,0x4e9)]);function _0x108c9e(_0x2b78ce,_0x355947){return _0x27c422(_0x355947,_0x2b78ce-0x1b2);}this['primitives']['add'](this[_0xd05217(0x28e,0x320)]['particlesComputing']['primitives']['updatePosition']),this['primitives']['add'](this[_0x108c9e(0x4a0,0x4e0)]['particlesComputing'][_0x108c9e(0x54c,0x4d7)]['postProcessingPosition']);function _0xd05217(_0x1d60cc,_0x1127cb){return _0xbdf208(_0x1127cb-0xa5,_0x1d60cc);}this['primitives']['add'](this[_0x108c9e(0x4a0,0x52f)]['particlesComputing']['primitives']['postProcessingSpeed']),this['primitives'][_0x108c9e(0x511,0x48b)](this[_0xd05217(0x377,0x320)][_0xd05217(0x2dc,0x32b)][_0x108c9e(0x54c,0x5de)]['segments']),this[_0xd05217(0x45a,0x3cc)][_0xd05217(0x339,0x391)](this[_0x108c9e(0x4a0,0x477)]['particlesRendering'][_0x108c9e(0x54c,0x4da)]['trails']),this[_0xd05217(0x417,0x3cc)]['add'](this['particleSystem']['particlesRendering'][_0x108c9e(0x54c,0x5c2)]['screen']);}[_0xbdf208(0x331,0x2b3)](){let _0x4b2fac=this[_0x9e2f31(0x39,0x92)]['computeViewRectangle'](this['scene']['globe']['ellipsoid']);if(!_0x4b2fac){const _0x5c0f4d=this[_0xc6d124(0x103,0x74)][_0xc6d124(0x74,0x102)]();_0x4b2fac=Cesium$1[_0x9e2f31(-0x28,-0x23)]['fromDegrees'](_0x5c0f4d[_0x9e2f31(0x62,0x5a)],_0x5c0f4d['ymin'],_0x5c0f4d['xmax'],_0x5c0f4d[_0x9e2f31(0xd8,0x65)]);}const _0x5d965b=Util['viewRectangleToLonLatRange'](_0x4b2fac);function _0x9e2f31(_0x1f295d,_0x6fed4e){return _0xbdf208(_0x6fed4e- -0x2aa,_0x1f295d);}function _0xc6d124(_0x27f868,_0x2f11af){return _0x27c422(_0x27f868,_0x2f11af- -0x283);}this['viewerParameters']['lonRange']['x']=_0x5d965b['lon'][_0x9e2f31(-0x61,0x1a)],this['viewerParameters'][_0xc6d124(0x35,0x9d)]['y']=_0x5d965b[_0x9e2f31(-0xa2,-0x6d)][_0x9e2f31(-0x45,0x3c)],this['viewerParameters']['latRange']['x']=_0x5d965b[_0x9e2f31(0x6e,0x19)]['min'],this['viewerParameters']['latRange']['y']=_0x5d965b['lat']['max'];const _0x45e4ca=this[_0x9e2f31(0xba,0x92)]['getPixelSize'](this[_0x9e2f31(-0x20,0x37)],this['scene']['drawingBufferWidth'],this['scene']['drawingBufferHeight']);_0x45e4ca>0x0&&(this['viewerParameters'][_0xc6d124(0x154,0x108)]=_0x45e4ca);}}mars3d__namespace[_0x27c422(0x3e5,0x37c)]['register']('wind',WindLayer),mars3d__namespace[_0xbdf208(0x297,0x2a1)][_0x27c422(0x230,0x2ae)]=WindLayer;class CanvasParticle{constructor(){this['lng']=null,this[_0x40aafb(0x1,-0x59)]=null;function _0x40aafb(_0x2bcaaa,_0x55d1be){return _0x27c422(_0x55d1be,_0x2bcaaa- -0x335);}this[_0x40aafb(-0x14,-0x70)]=null,this['tlat']=null,this['age']=null;function _0x40de26(_0x2694d3,_0x182b85){return _0x27c422(_0x2694d3,_0x182b85- -0x447);}this[_0x40de26(-0xc6,-0xbb)]=null;}['destroy'](){for(const _0x513e06 in this){delete this[_0x513e06];}}}class CanvasWindField{constructor(_0x40b577){this['setOptions'](_0x40b577);}get[_0x27c422(0x390,0x364)](){return this['_speedRate'];}set[_0x27c422(0x394,0x364)](_0x1cb7b6){function _0x432753(_0x4e9bf7,_0x8328b7){return _0x27c422(_0x8328b7,_0x4e9bf7- -0x1ed);}function _0x555d79(_0x24e64e,_0x465522){return _0x27c422(_0x465522,_0x24e64e- -0x49d);}this['_speedRate']=(0x64-(_0x1cb7b6>0x63?0x63:_0x1cb7b6))*0x64,this['_calc_speedRate']=[(this['xmax']-this['xmin'])/this['_speedRate'],(this['ymax']-this[_0x555d79(-0xf1,-0x182)])/this[_0x432753(0x168,0x161)]];}get['maxAge'](){function _0x25d862(_0x1ab14f,_0x103fe4){return _0x27c422(_0x103fe4,_0x1ab14f- -0x108);}return this[_0x25d862(0x255,0x1e4)];}set['maxAge'](_0x58c08d){function _0x5803b3(_0x142106,_0x290a45){return _0xbdf208(_0x142106-0x22f,_0x290a45);}this[_0x5803b3(0x519,0x58f)]=_0x58c08d;}['setOptions'](_0x8af542){this['options']=_0x8af542,this['maxAge']=_0x8af542['maxAge']||0x78,this['speedRate']=_0x8af542['speedRate']||0x32,this['particles']=[];function _0x4fb440(_0x18681a,_0x232683){return _0x27c422(_0x232683,_0x18681a- -0xec);}const _0x2cbf01=_0x8af542['particlesNumber']||0x1000;for(let _0xd3bce7=0x0;_0xd3bce7<_0x2cbf01;_0xd3bce7++){const _0x3fcc1c=this['_randomParticle'](new CanvasParticle());this[_0x4fb440(0x23a,0x21c)]['push'](_0x3fcc1c);}}[_0x27c422(0x399,0x38e)](_0xc8e36){this[_0x471a8c(-0x3,0x15)]=_0xc8e36['rows'],this['cols']=_0xc8e36[_0x471a8c(-0x86,0x2)],this[_0x471a8c(0x30,0x45)]=_0xc8e36['xmin'],this['xmax']=_0xc8e36['xmax'],this['ymin']=_0xc8e36[_0x3f4d93(0x302,0x2a1)],this['ymax']=_0xc8e36[_0x471a8c(0x3b,0x77)];function _0x3f4d93(_0x2f595d,_0x5924bc){return _0x27c422(_0x5924bc,_0x2f595d- -0xaa);}this[_0x3f4d93(0x25e,0x27d)]=[];const _0x4d4710=_0xc8e36[_0x471a8c(0x3d,0x1c)],_0x857c03=_0xc8e36[_0x471a8c(-0x9b,-0x48)];let _0x25910f=![];_0x4d4710[_0x471a8c(-0x5b,-0x8a)]===this[_0x471a8c(-0x3,-0x67)]&&_0x4d4710[0x0][_0x471a8c(-0x5b,-0x90)]===this['cols']&&(_0x25910f=!![]);let _0x449854=0x0,_0x368a34=null,_0x49a3fc=null;for(let _0x2b335f=0x0;_0x2b335f<this['rows'];_0x2b335f++){_0x368a34=[];for(let _0x3e657f=0x0;_0x3e657f<this[_0x3f4d93(0x217,0x2a8)];_0x3e657f++,_0x449854++){_0x25910f?_0x49a3fc=this[_0x3f4d93(0x228,0x199)](_0x4d4710[_0x2b335f][_0x3e657f],_0x857c03[_0x2b335f][_0x3e657f]):_0x49a3fc=this[_0x471a8c(-0x75,-0x8)](_0x4d4710[_0x449854],_0x857c03[_0x449854]),_0x368a34[_0x3f4d93(0x289,0x214)](_0x49a3fc);}this['grid'][_0x471a8c(-0x14,-0x1e)](_0x368a34);}function _0x471a8c(_0x58cf13,_0x13b860){return _0xbdf208(_0x58cf13- -0x2d4,_0x13b860);}this['options'][_0x3f4d93(0x231,0x1ff)]&&this[_0x3f4d93(0x25e,0x1e4)]['reverse']();}['clear'](){delete this[_0x359c8c(0x6c,0x4d)],delete this[_0x359c8c(-0x17,-0xa8)];function _0x4fc3cd(_0x47adf3,_0x3d2ade){return _0xbdf208(_0x3d2ade- -0x294,_0x47adf3);}function _0x359c8c(_0x28dc65,_0x22ae9c){return _0xbdf208(_0x28dc65- -0x265,_0x22ae9c);}delete this[_0x4fc3cd(0x46,0x70)],delete this[_0x359c8c(0x92,0xf9)],delete this[_0x359c8c(0xd4,0x60)],delete this['ymax'],delete this[_0x4fc3cd(0x1e,0x1)],delete this['particles'];}['toGridXY'](_0x163bc3,_0xd51415){function _0x50c202(_0x250814,_0x3a2076){return _0x27c422(_0x3a2076,_0x250814-0xbb);}const _0x5f53a9=(_0x163bc3-this['xmin'])/(this[_0x1b65d2(0x3f4,0x363)]-this['xmin'])*(this['cols']-0x1);function _0x1b65d2(_0x230f1b,_0x35bcce){return _0xbdf208(_0x230f1b-0xfd,_0x35bcce);}const _0x16bf2b=(this[_0x1b65d2(0x40c,0x3b3)]-_0xd51415)/(this[_0x50c202(0x43d,0x461)]-this['ymin'])*(this['rows']-0x1);return[_0x5f53a9,_0x16bf2b];}['getUVByXY'](_0xdaf844,_0x548bd6){if(_0xdaf844<0x0||_0xdaf844>=this['cols']||_0x548bd6>=this[_0x3a5a2c(0x427,0x3cc)])return[0x0,0x0,0x0];const _0x5e0d90=Math['floor'](_0xdaf844),_0x2a0886=Math[_0x3a5a2c(0x3bd,0x442)](_0x548bd6);if(_0x5e0d90===_0xdaf844&&_0x2a0886===_0x548bd6)return this['grid'][_0x548bd6][_0xdaf844];const _0xd03d3a=_0x5e0d90+0x1,_0x11611e=_0x2a0886+0x1,_0x4c2937=this[_0x3a5a2c(0x3b8,0x448)](_0x5e0d90,_0x2a0886);function _0x3a5a2c(_0x32adaa,_0x5f4b3f){return _0xbdf208(_0x5f4b3f-0xfb,_0x32adaa);}const _0x383263=this['getUVByXY'](_0xd03d3a,_0x2a0886),_0x17382a=this[_0x582206(0xcc,0x154)](_0x5e0d90,_0x11611e),_0x2a142b=this[_0x582206(0xcc,0x3a)](_0xd03d3a,_0x11611e);function _0x582206(_0x14be19,_0x2cee85){return _0xbdf208(_0x14be19- -0x281,_0x2cee85);}let _0x1adc19=null;try{_0x1adc19=this['_bilinearInterpolation'](_0xdaf844-_0x5e0d90,_0x548bd6-_0x2a0886,_0x4c2937,_0x383263,_0x17382a,_0x2a142b);}catch(_0x2db19b){console[_0x582206(0x52,0x29)](_0xdaf844,_0x548bd6);}return _0x1adc19;}['_bilinearInterpolation'](_0xa30bf,_0x51099a,_0x4cf6fd,_0x5266e3,_0x2a47f5,_0x65769d){const _0x276fc5=0x1-_0xa30bf,_0x575b66=0x1-_0x51099a,_0x4d43cb=_0x276fc5*_0x575b66,_0x380750=_0xa30bf*_0x575b66,_0x17e94e=_0x276fc5*_0x51099a,_0x20671b=_0xa30bf*_0x51099a,_0x1140fb=_0x4cf6fd[0x0]*_0x4d43cb+_0x5266e3[0x0]*_0x380750+_0x2a47f5[0x0]*_0x17e94e+_0x65769d[0x0]*_0x20671b,_0xcf7186=_0x4cf6fd[0x1]*_0x4d43cb+_0x5266e3[0x1]*_0x380750+_0x2a47f5[0x1]*_0x17e94e+_0x65769d[0x1]*_0x20671b;return this['_calcUV'](_0x1140fb,_0xcf7186);}[_0x27c422(0x280,0x2d2)](_0x550626,_0x51c11b){function _0x2f6465(_0x3b6258,_0x351d01){return _0xbdf208(_0x351d01- -0x95,_0x3b6258);}return[+_0x550626,+_0x51c11b,Math[_0x2f6465(0x28d,0x25d)](_0x550626*_0x550626+_0x51c11b*_0x51c11b)];}[_0x27c422(0x3f4,0x3ab)](_0x33968f,_0x151168){if(!this['isInExtent'](_0x33968f,_0x151168))return null;const _0x226a69=this['toGridXY'](_0x33968f,_0x151168),_0x12cd54=this['getUVByXY'](_0x226a69[0x0],_0x226a69[0x1]);return _0x12cd54;}['isInExtent'](_0x2ae9b3,_0x20d03c){function _0x34f6ee(_0x506bf7,_0x226d4f){return _0x27c422(_0x226d4f,_0x506bf7- -0x2a3);}function _0x44fd1b(_0x45a751,_0x5423f0){return _0x27c422(_0x45a751,_0x5423f0-0x1ce);}return _0x2ae9b3>=this[_0x34f6ee(0xd4,0x162)]&&_0x2ae9b3<=this[_0x44fd1b(0x4db,0x538)]&&_0x20d03c>=this['ymin']&&_0x20d03c<=this['ymax']?!![]:![];}[_0x27c422(0x381,0x360)](){const _0x42313b=fRandomByfloat(this['xmin'],this[_0x56d81f(0x14b,0x16c)]);function _0x19bd24(_0x241a2d,_0x4fbf6){return _0xbdf208(_0x4fbf6- -0xe6,_0x241a2d);}const _0x3a7fb8=fRandomByfloat(this['ymin'],this['ymax']),_0x47b0be={};_0x47b0be['lat']=_0x3a7fb8,_0x47b0be[_0x56d81f(0x128,0x15e)]=_0x42313b;function _0x56d81f(_0x45592b,_0x4c9eb7){return _0xbdf208(_0x4c9eb7- -0x18b,_0x45592b);}return _0x47b0be;}['getParticles'](){function _0x161770(_0x3d18c3,_0x2ba649){return _0xbdf208(_0x2ba649-0x2c4,_0x3d18c3);}let _0x413729,_0x3e57c5,_0x5adc81;for(let _0x2b58ee=0x0,_0x4d23e0=this[_0x161770(0x57a,0x577)][_0x1d261a(-0x7d,-0x1a)];_0x2b58ee<_0x4d23e0;_0x2b58ee++){let _0x10964b=this['particles'][_0x2b58ee];_0x10964b['age']<=0x0&&(_0x10964b=this[_0x161770(0x535,0x558)](_0x10964b));if(_0x10964b[_0x161770(0x67e,0x5f8)]>0x0){const _0xdbe2b3=_0x10964b[_0x1d261a(-0x48,-0x11)],_0x1aa300=_0x10964b[_0x161770(0x653,0x61c)];_0x5adc81=this['getUVByPoint'](_0xdbe2b3,_0x1aa300),_0x5adc81?(_0x413729=_0xdbe2b3+this[_0x1d261a(0x5,0x87)][0x0]*_0x5adc81[0x0],_0x3e57c5=_0x1aa300+this['_calc_speedRate'][0x1]*_0x5adc81[0x1],_0x10964b['lng']=_0xdbe2b3,_0x10964b[_0x1d261a(-0x33,-0x4c)]=_0x1aa300,_0x10964b['tlng']=_0x413729,_0x10964b[_0x161770(0x66b,0x61c)]=_0x3e57c5,_0x10964b['speed']=_0x5adc81[0x2],_0x10964b[_0x161770(0x584,0x5f8)]--):_0x10964b[_0x161770(0x66a,0x5f8)]=0x0;}}function _0x1d261a(_0x2abd76,_0x4337a8){return _0x27c422(_0x4337a8,_0x2abd76- -0x369);}return this['particles'];}['_randomParticle'](_0x229d2f){let _0x1a9d87,_0x305261;for(let _0xf51f28=0x0;_0xf51f28<0x1e;_0xf51f28++){_0x1a9d87=this['getRandomLatLng'](),_0x305261=this['getUVByPoint'](_0x1a9d87[_0x4742fd(-0x5b,-0xa6)],_0x1a9d87[_0x4742fd(-0x11d,-0xcc)]);if(_0x305261&&_0x305261[0x2]>0x0)break;}if(!_0x305261)return _0x229d2f;const _0x5c8e8f=_0x1a9d87['lng']+this[_0x4742fd(-0x6f,-0x94)][0x0]*_0x305261[0x0],_0x5d9f3f=_0x1a9d87[_0x4742fd(-0x131,-0xcc)]+this['_calc_speedRate'][0x1]*_0x305261[0x1];_0x229d2f[_0x2155fd(0x1f5,0x279)]=_0x1a9d87['lng'],_0x229d2f[_0x2155fd(0x1cf,0x23e)]=_0x1a9d87[_0x2155fd(0x1cf,0x16d)],_0x229d2f[_0x2155fd(0x1ba,0x20e)]=_0x5c8e8f,_0x229d2f['tlat']=_0x5d9f3f;function _0x4742fd(_0x29e1a5,_0x23cec8){return _0xbdf208(_0x23cec8- -0x38f,_0x29e1a5);}_0x229d2f['age']=Math['round'](Math[_0x2155fd(0x20a,0x185)]()*this['maxAge']);function _0x2155fd(_0x3f8295,_0x54a307){return _0x27c422(_0x54a307,_0x3f8295- -0x167);}return _0x229d2f[_0x2155fd(0x225,0x1bb)]=_0x305261[0x2],_0x229d2f;}['destroy'](){for(const _0x5adb25 in this){delete this[_0x5adb25];}}}function fRandomByfloat(_0x5f838a,_0x6433db){function _0x72482e(_0x217e69,_0x2bd4a8){return _0xbdf208(_0x2bd4a8-0x151,_0x217e69);}return _0x5f838a+Math[_0x72482e(0x3c4,0x44f)]()*(_0x6433db-_0x5f838a);}const Cesium=mars3d__namespace[_0xbdf208(0x25b,0x245)],BaseLayer=mars3d__namespace['layer']['BaseLayer'];class CanvasWindLayer extends BaseLayer{constructor(_0x3ad15c={}){super(_0x3ad15c),this[_0x18b5b2(0x14b,0x11b)](_0x3ad15c),this[_0x3e6ec0(-0xbd,-0xa0)]=null;function _0x18b5b2(_0x269cde,_0x47b68f){return _0xbdf208(_0x47b68f- -0x12f,_0x269cde);}function _0x3e6ec0(_0x7b8740,_0x3498b1){return _0xbdf208(_0x7b8740- -0x312,_0x3498b1);}_0x3ad15c[_0x18b5b2(0xb1,0x128)]&&_0x3ad15c[_0x3e6ec0(0x34,0xad)]&&(this['_colorRamp']=new mars3d__namespace[(_0x18b5b2(0x1cc,0x1ad))](_0x3ad15c));}[_0xbdf208(0x24a,0x2b4)](_0x511a60,_0x4033d6){function _0xb553f2(_0x7b880d,_0x7c7569){return _0x27c422(_0x7c7569,_0x7b880d-0xa7);}this[_0xb553f2(0x3c5,0x3a3)]=0x3e8/(_0x511a60[_0xb553f2(0x455,0x410)]||0xa);function _0x548dc5(_0x3c70c4,_0x50765b){return _0x27c422(_0x50765b,_0x3c70c4- -0x395);}this[_0x548dc5(0x1,0x8e)]=this[_0x548dc5(-0xa0,-0x9a)]['pointerEvents']??![],this['color']=_0x511a60[_0x548dc5(-0x33,-0x2c)]||_0xb553f2(0x3ef,0x43a),this['lineWidth']=_0x511a60[_0x548dc5(-0x2,-0x2c)]||0x1,this[_0xb553f2(0x42f,0x3dc)]=_0x511a60['fixedHeight']??0x0,this['reverseY']=_0x511a60[_0xb553f2(0x382,0x3e8)]??![],this['windField']&&this[_0xb553f2(0x401,0x3fa)]['setOptions'](_0x511a60);}get['layer'](){return this['canvas'];}get['canvasWidth'](){function _0x2d6152(_0xd8ea2b,_0xacea7f){return _0x27c422(_0xd8ea2b,_0xacea7f-0x12a);}function _0xbd1ab5(_0x21567d,_0x3728f9){return _0xbdf208(_0x3728f9-0x12a,_0x21567d);}return this[_0xbd1ab5(0x3fa,0x3ae)][_0xbd1ab5(0x4ae,0x440)]['canvas']['clientWidth'];}get[_0x27c422(0x33d,0x2de)](){function _0x58ad5a(_0x2fe8e3,_0x19b00c){return _0xbdf208(_0x2fe8e3-0x5a,_0x19b00c);}return this['_map']['scene']['canvas'][_0x58ad5a(0x31f,0x374)];}get['pointerEvents'](){return this['_pointerEvents'];}set['pointerEvents'](_0x597912){function _0x33eea7(_0x1bf197,_0x1cfd9b){return _0xbdf208(_0x1bf197-0x135,_0x1cfd9b);}this[_0x58ffb0(0x116,0x167)]=_0x597912;function _0x58ffb0(_0xecdd91,_0x1b83e4){return _0x27c422(_0x1b83e4,_0xecdd91- -0x280);}if(!this[_0x33eea7(0x38a,0x408)])return;_0x597912?this['canvas'][_0x33eea7(0x472,0x43b)][_0x58ffb0(0xbb,0x12a)]='all':this[_0x33eea7(0x38a,0x41b)][_0x33eea7(0x472,0x410)][_0x33eea7(0x3fd,0x3d3)]='none';}get[_0xbdf208(0x345,0x2e8)](){return this['options']['particlesNumber'];}set[_0xbdf208(0x345,0x2c3)](_0x11bfe5){function _0x5253a6(_0x167b6f,_0x36a2b5){return _0x27c422(_0x36a2b5,_0x167b6f- -0x4c0);}this['options']['particlesNumber']=_0x11bfe5;function _0x3ebdc4(_0x4cf3ee,_0x315a77){return _0xbdf208(_0x315a77- -0x402,_0x4cf3ee);}clearTimeout(this[_0x3ebdc4(-0x1e7,-0x1a4)]),this[_0x5253a6(-0x1ef,-0x257)]=setTimeout(()=>{function _0xbf0f16(_0x125f2a,_0x4a727c){return _0x5253a6(_0x125f2a- -0x54,_0x4a727c);}this[_0xbf0f16(-0x18a,-0x1ac)]();},0x1f4);}get[_0xbdf208(0x2f1,0x2aa)](){function _0x66b38b(_0x395929,_0xa34702){return _0xbdf208(_0xa34702-0x20a,_0x395929);}return this[_0x66b38b(0x43e,0x48c)]['speedRate'];}set['speedRate'](_0x2d7325){function _0x43b422(_0x5972b2,_0x1e00e){return _0xbdf208(_0x5972b2- -0x11b,_0x1e00e);}this['options'][_0x43b422(0x1d6,0x18b)]=_0x2d7325;function _0x55f612(_0x4b4fe2,_0x5654e6){return _0x27c422(_0x5654e6,_0x4b4fe2-0x1ef);}this[_0x43b422(0x1cc,0x248)]&&(this['windField'][_0x43b422(0x1d6,0x184)]=_0x2d7325);}get[_0xbdf208(0x2ac,0x272)](){return this['options']['maxAge'];}set['maxAge'](_0x5d7491){this['options']['maxAge']=_0x5d7491;function _0x5b8a82(_0x4fd2b3,_0xd55ee5){return _0xbdf208(_0xd55ee5- -0x4e5,_0x4fd2b3);}function _0x4e6fc4(_0x21f07c,_0x1b0d92){return _0x27c422(_0x21f07c,_0x1b0d92-0x206);}this['windField']&&(this[_0x5b8a82(-0x1e6,-0x1fe)][_0x5b8a82(-0x24f,-0x239)]=_0x5d7491);}get['data'](){return this['windData'];}set['data'](_0x46ad60){function _0x52ff17(_0xe4c03b,_0x459b6c){return _0xbdf208(_0x459b6c- -0x5f,_0xe4c03b);}this[_0x52ff17(0x266,0x1e8)](_0x46ad60);}[_0x27c422(0x362,0x2dd)](_0x28a7e5){function _0x5471b9(_0xbe72c5,_0x36ff42){return _0x27c422(_0x36ff42,_0xbe72c5- -0x2ca);}_0x28a7e5?this['_addedHook']():(this['windData']&&(this['options'][_0x5471b9(-0x13,-0x7b)]=this['windData']),this['_removedHook']());}['_mountedHook'](){function _0x1d8da9(_0x57cb19,_0x408692){return _0xbdf208(_0x57cb19- -0x39d,_0x408692);}function _0xef6186(_0x78d4f6,_0x782425){return _0xbdf208(_0x78d4f6-0x14b,_0x782425);}this[_0xef6186(0x3cd,0x3e2)][_0x1d8da9(-0x6d,-0x37)]?this['initWorker']():this['windField']=new CanvasWindField(this['options']);}['_addedHook'](){this['canvas']=this['_createCanvas']();function _0x2ab3f3(_0xb7571d,_0x2d257d){return _0xbdf208(_0xb7571d-0xbf,_0x2d257d);}const _0x41d5b3={};_0x41d5b3['willReadFrequently']=!![],this['canvasContext']=this['canvas']['getContext']('2d',_0x41d5b3),this['bindEvent'](),this[_0x2ab3f3(0x341,0x326)]['data']&&this['setData'](this['options']['data']);}['_removedHook'](){this['clear']();function _0x34479a(_0x59a623,_0x473be0){return _0x27c422(_0x473be0,_0x59a623-0x2);}this[_0xc069b7(0x406,0x46c)]();function _0xc069b7(_0x11b11c,_0x3dc436){return _0x27c422(_0x3dc436,_0x11b11c-0x155);}this[_0x34479a(0x2ca,0x2bf)]&&(this['_map'][_0x34479a(0x3af,0x396)]['removeChild'](this[_0xc069b7(0x41d,0x488)]),delete this['canvas']);}[_0x27c422(0x307,0x327)](){function _0xbb212d(_0x55b79e,_0x418659){return _0x27c422(_0x418659,_0x55b79e- -0x3d9);}const _0x3ff69d=mars3d__namespace['DomUtil']['create'](_0xbb212d(-0x111,-0xa7),'mars3d-canvasWind',this[_0x443468(0x20f,0x1fe)]['container']);_0x3ff69d['style']['position']=_0x443468(0x297,0x22a),_0x3ff69d['style'][_0x443468(0x1ae,0x23b)]=_0xbb212d(-0x92,-0xfd);function _0x443468(_0x20d7b6,_0x34c0d6){return _0x27c422(_0x20d7b6,_0x34c0d6- -0xf9);}return _0x3ff69d['style'][_0x443468(0x28b,0x220)]='0px',_0x3ff69d['style']['width']=this['_map'][_0xbb212d(-0x50,-0xbc)][_0xbb212d(-0x111,-0x97)]['clientWidth']+'px',_0x3ff69d['style']['height']=this[_0x443468(0x1e1,0x1fe)]['scene'][_0x443468(0x193,0x1cf)][_0xbb212d(-0xa1,-0x4f)]+'px',_0x3ff69d['style']['pointerEvents']=this[_0xbb212d(-0x43,0x3c)]?'auto':_0xbb212d(-0xae,-0xe7),_0x3ff69d[_0xbb212d(-0x29,0x10)][_0x443468(0x1d6,0x1db)]=this['options'][_0xbb212d(-0x105,-0x9d)]??0x9,_0x3ff69d['width']=this['_map']['scene'][_0xbb212d(-0x111,-0x193)]['clientWidth'],_0x3ff69d['height']=this['_map'][_0x443468(0x305,0x290)][_0xbb212d(-0x111,-0x164)]['clientHeight'],_0x3ff69d;}['resize'](){function _0x40d84a(_0x36c914,_0x45766b){return _0x27c422(_0x36c914,_0x45766b- -0x4f2);}function _0x59e6d2(_0x1c8dfc,_0x32a8a1){return _0x27c422(_0x32a8a1,_0x1c8dfc-0x19);}this['canvas']&&(this['canvas']['style']['width']=this['_map']['scene'][_0x40d84a(-0x1b2,-0x22a)]['clientWidth']+'px',this['canvas']['style']['height']=this[_0x59e6d2(0x310,0x31f)][_0x59e6d2(0x3a2,0x3bc)]['canvas'][_0x59e6d2(0x351,0x2e7)]+'px',this['canvas']['width']=this[_0x40d84a(-0x190,-0x1fb)]['scene'][_0x40d84a(-0x1fe,-0x22a)]['clientWidth'],this['canvas']['height']=this[_0x59e6d2(0x310,0x392)]['scene'][_0x59e6d2(0x2e1,0x267)]['clientHeight']);}['bindEvent'](){function _0x4faea0(_0x5819d1,_0x5d7b4f){return _0xbdf208(_0x5819d1-0x77,_0x5d7b4f);}const _0xa77262=this;let _0x579aba=Date['now']();function _0x5881cf(_0xf4801b,_0x16e28e){return _0x27c422(_0xf4801b,_0x16e28e- -0x3fa);}(function _0x383b18(){if(_0xa77262[_0x3b1ad9(0x4c8,0x4e4)])return;_0xa77262['_animateFrame']=window['requestAnimationFrame'](_0x383b18);function _0x2381b8(_0x1e19ed,_0x1bdd5a){return _0x411e(_0x1e19ed- -0x291,_0x1bdd5a);}function _0x3b1ad9(_0x373546,_0x48a9cb){return _0x411e(_0x48a9cb-0x350,_0x373546);}if(_0xa77262[_0x3b1ad9(0x3fc,0x484)]&&_0xa77262['windField']){const _0x2290bc=Date[_0x2381b8(-0x54,-0xa9)](),_0x16aefb=_0x2290bc-_0x579aba;_0x16aefb>_0xa77262['frameTime']&&(_0x579aba=_0x2290bc-_0x16aefb%_0xa77262['frameTime'],_0xa77262[_0x3b1ad9(0x55d,0x528)]());}}(),window['addEventListener'](_0x4faea0(0x3d1,0x393),this[_0x5881cf(0x4d,-0x2d)]['bind'](this),![]),this[_0x5881cf(-0x7e,-0xca)]=![],this['mouse_move']=![],this['options'][_0x4faea0(0x35f,0x3a3)]&&(this[_0x5881cf(-0x12f,-0x103)]['on'](mars3d__namespace['EventType']['wheel'],this['_onMapWhellEvent'],this),this[_0x5881cf(-0x134,-0x103)]['on'](mars3d__namespace['EventType'][_0x5881cf(-0x7c,-0xdf)],this[_0x5881cf(-0x1be,-0x131)],this),this['_map']['on'](mars3d__namespace['EventType'][_0x5881cf(-0x146,-0x144)],this[_0x4faea0(0x2fc,0x2c6)],this)));}['unbindEvent'](){window['cancelAnimationFrame'](this['_animateFrame']);function _0x3f0a6d(_0x422cee,_0x4fb112){return _0xbdf208(_0x422cee- -0x472,_0x4fb112);}delete this[_0x3bc475(0xec,0xad)];function _0x3bc475(_0x10cac9,_0x546b2d){return _0xbdf208(_0x546b2d- -0x1e0,_0x10cac9);}window['removeEventListener'](_0x3f0a6d(-0x118,-0x98),this['resize']),this[_0x3f0a6d(-0x1f0,-0x21f)]['mouseHidden']&&(this[_0x3f0a6d(-0x1ee,-0x218)][_0x3f0a6d(-0x216,-0x220)](mars3d__namespace[_0x3bc475(0x174,0x13a)]['wheel'],this['_onMapWhellEvent'],this),this['_map']['off'](mars3d__namespace['EventType']['mouseDown'],this[_0x3bc475(0xe0,0x76)],this),this['_map']['off'](mars3d__namespace[_0x3bc475(0xab,0x13a)]['mouseUp'],this['_onMouseUpEvent'],this),this['_map']['off'](mars3d__namespace['EventType']['mouseMove'],this['_onMouseMoveEvent'],this));}['_onMapWhellEvent'](_0x209d5d){clearTimeout(this['refreshTimer']);if(!this['show']||!this[_0x42fff4(0x1cd,0x1e1)])return;function _0x42fff4(_0x310719,_0x5b2cfc){return _0xbdf208(_0x5b2cfc- -0x74,_0x310719);}function _0xc4c574(_0x5d8797,_0x37dfba){return _0x27c422(_0x37dfba,_0x5d8797- -0x193);}this[_0x42fff4(0x20b,0x1e1)]['style'][_0x42fff4(0x243,0x2c3)]='hidden',this[_0x42fff4(0x187,0x217)]=setTimeout(()=>{function _0x937dd7(_0x222e2b,_0x42802a){return _0x42fff4(_0x42802a,_0x222e2b-0x186);}function _0xba9b4f(_0x1d2602,_0x1819f7){return _0xc4c574(_0x1d2602-0x4d,_0x1819f7);}if(!this['show'])return;this['redraw'](),this[_0x937dd7(0x367,0x30e)][_0x937dd7(0x44f,0x3f8)]['visibility']='visible';},0xc8);}[_0x27c422(0x2cb,0x2c9)](_0x1c06c9){function _0xcbe22f(_0x586662,_0x50d0a7){return _0x27c422(_0x586662,_0x50d0a7- -0x346);}this[_0xcbe22f(-0x2c,-0x16)]=!![],this[_0x6a3da2(-0x1c1,-0x132)]['off'](mars3d__namespace[_0x6a3da2(-0x34,-0x9c)]['mouseMove'],this[_0x6a3da2(-0x19f,-0x14d)],this);function _0x6a3da2(_0x3ee133,_0x8db281){return _0xbdf208(_0x8db281- -0x3b6,_0x3ee133);}this[_0xcbe22f(-0x5a,-0x4f)]['on'](mars3d__namespace[_0xcbe22f(0x9b,0x47)]['mouseMove'],this[_0x6a3da2(-0x1a8,-0x14d)],this);}[_0x27c422(0x2fc,0x2dc)](_0x14309d){if(!this[_0xf3c6e3(0x50,0xce)]||!this[_0xf3c6e3(0x145,0xe2)])return;function _0x1a0524(_0x569593,_0x2fa320){return _0x27c422(_0x2fa320,_0x569593- -0x4b4);}function _0xf3c6e3(_0x5c6bc8,_0x4933d9){return _0xbdf208(_0x4933d9- -0x173,_0x5c6bc8);}this['mouse_down']&&(this[_0x1a0524(-0x1ec,-0x186)]['style'][_0xf3c6e3(0x13e,0x1c4)]='hidden',this['mouse_move']=!![]);}[_0x27c422(0x26c,0x2f8)](_0x3975a3){if(!this['show']||!this[_0x1dcc07(-0x49,-0x5e)])return;this[_0x1dcc07(-0x1a,-0x56)]['off'](mars3d__namespace['EventType']['mouseMove'],this[_0x1f886c(-0x268,-0x2da)],this);this[_0x1dcc07(0x1f,0x7c)]&&this['mouse_move']&&this['redraw']();this[_0x1dcc07(-0x49,-0x6a)][_0x1dcc07(0x9f,0x5d)]['visibility']=_0x1dcc07(-0x53,0x34);function _0x1f886c(_0x4d0d22,_0x10f70a){return _0xbdf208(_0x4d0d22- -0x4d1,_0x10f70a);}function _0x1dcc07(_0x174f31,_0x684c1c){return _0xbdf208(_0x174f31- -0x29e,_0x684c1c);}this['mouse_down']=![],this['mouse_move']=![];}['setData'](_0x5727e4){this['clear'](),this[_0xeb8a33(0x58b,0x57f)]=_0x5727e4,this[_0xeb8a33(0x546,0x577)][_0xeb8a33(0x57a,0x595)](_0x5727e4);function _0xeb8a33(_0x55a223,_0xaa5651){return _0xbdf208(_0x55a223-0x25f,_0xaa5651);}function _0x2cf0fd(_0x12731e,_0x33a14e){return _0xbdf208(_0x12731e-0x1be,_0x33a14e);}this[_0xeb8a33(0x576,0x582)]();}['redraw'](){function _0x53e23c(_0x1e9ab3,_0x4950ce){return _0xbdf208(_0x4950ce-0x1aa,_0x1e9ab3);}function _0x4e5f23(_0x14daeb,_0xeeb846){return _0xbdf208(_0xeeb846- -0x110,_0x14daeb);}if(!this[_0x4e5f23(0x1a6,0x131)])return;this[_0x53e23c(0x4d3,0x491)]['setOptions'](this[_0x4e5f23(0x13a,0x172)]),this['update']();}[_0x27c422(0x34f,0x358)](){if(this['_updateIng'])return;function _0x4c49f4(_0x137936,_0x28de71){return _0x27c422(_0x28de71,_0x137936-0x163);}this[_0x4c49f4(0x462,0x482)]=!![];function _0xb821d7(_0x4386a2,_0x1454dd){return _0xbdf208(_0x1454dd- -0x143,_0x4386a2);}if(this['worker'])this['windField'][_0xb821d7(0x17d,0x1a2)]();else{const _0x3136d5=this[_0x4c49f4(0x4bd,0x4b9)]['getParticles']();this[_0xb821d7(0x103,0x156)](_0x3136d5);}this['_updateIng']=![];}['_drawLines'](_0x25fddf){function _0x241f50(_0x33e55d,_0x509616){return _0xbdf208(_0x33e55d- -0x392,_0x509616);}this['canvasContext']['globalCompositeOperation']='destination-in',this[_0x241f50(-0xff,-0xd4)]['fillRect'](0x0,0x0,this[_0x241f50(-0x73,-0xd6)],this[_0x2c8031(-0x80,-0xe5)]),this['canvasContext']['globalCompositeOperation']='lighter',this['canvasContext'][_0x241f50(-0x4e,-0x68)]=0.9;const _0x1a8a6b=this['_map'][_0x2c8031(0x2b,0x51)]['mode']!==Cesium['SceneMode']['SCENE3D'];function _0x2c8031(_0x2e8fd4,_0x5555db){return _0x27c422(_0x5555db,_0x2e8fd4- -0x35e);}const _0x3ed6fa=this[_0x2c8031(0x34,0x6d)]*0.25;if(this[_0x241f50(-0x9f,-0x11c)])for(let _0x16fe29=0x0,_0x309da6=_0x25fddf['length'];_0x16fe29<_0x309da6;_0x16fe29++){const _0x3f0c5b=_0x25fddf[_0x16fe29],_0xc15296=this['_tomap'](_0x3f0c5b['lng'],_0x3f0c5b['lat'],_0x3f0c5b),_0x19b96c=this['_tomap'](_0x3f0c5b[_0x2c8031(-0x3d,0x3c)],_0x3f0c5b[_0x241f50(-0x3a,0x51)],_0x3f0c5b);if(!_0xc15296||!_0x19b96c)continue;if(_0x1a8a6b&&Math['abs'](_0xc15296[0x0]-_0x19b96c[0x0])>=_0x3ed6fa)continue;this[_0x241f50(-0xff,-0x87)]['beginPath'](),this['canvasContext']['lineWidth']=this['lineWidth'],this['canvasContext']['strokeStyle']=this['_colorRamp']['getColor'](_0x3f0c5b[_0x241f50(-0x79,-0xd3)]),this['canvasContext']['moveTo'](_0xc15296[0x0],_0xc15296[0x1]),this[_0x241f50(-0xff,-0x17e)][_0x241f50(-0x101,-0xe0)](_0x19b96c[0x0],_0x19b96c[0x1]),this['canvasContext']['stroke']();}else{this['canvasContext']['beginPath'](),this[_0x2c8031(-0x58,0x25)]['lineWidth']=this[_0x241f50(-0x72,-0x8)],this[_0x241f50(-0xff,-0xbd)]['strokeStyle']=this['color'];for(let _0x16d2d6=0x0,_0x929a2c=_0x25fddf['length'];_0x16d2d6<_0x929a2c;_0x16d2d6++){const _0x1f332e=_0x25fddf[_0x16d2d6],_0x49679b=this[_0x2c8031(-0x25,0x2f)](_0x1f332e[_0x2c8031(-0x2,0x32)],_0x1f332e[_0x241f50(-0xcf,-0x15f)],_0x1f332e),_0x2a3ac0=this['_tomap'](_0x1f332e['tlng'],_0x1f332e[_0x241f50(-0x3a,-0xb5)],_0x1f332e);if(!_0x49679b||!_0x2a3ac0)continue;if(_0x1a8a6b&&Math[_0x2c8031(-0x6a,-0xc7)](_0x49679b[0x0]-_0x2a3ac0[0x0])>=_0x3ed6fa)continue;this['canvasContext']['moveTo'](_0x49679b[0x0],_0x49679b[0x1]),this['canvasContext']['lineTo'](_0x2a3ac0[0x0],_0x2a3ac0[0x1]);}this['canvasContext'][_0x241f50(-0x98,-0xf)]();}}['_tomap'](_0x1e0311,_0x41e7c4,_0xb0ff2){const _0x1c393d=Cesium['Cartesian3'][_0x12eb66(0x3d0,0x388)](_0x1e0311,_0x41e7c4,this['fixedHeight']),_0x4aa0f0=this['_map']['scene'];function _0x48fad6(_0x40963d,_0x6f084c){return _0xbdf208(_0x40963d- -0x1e7,_0x6f084c);}if(_0x4aa0f0[_0x48fad6(0x146,0x157)]===Cesium[_0x48fad6(0x12c,0x13f)]['SCENE3D']){const _0x308298=new Cesium[(_0x48fad6(0x6a,0x32))](_0x4aa0f0['globe']['ellipsoid'],_0x4aa0f0['camera']['positionWC']),_0x5dd8bd=_0x308298['isPointVisible'](_0x1c393d);if(!_0x5dd8bd)return _0xb0ff2[_0x48fad6(0x14d,0x1d6)]=0x0,null;}function _0x12eb66(_0x49ed4d,_0x599bcb){return _0xbdf208(_0x49ed4d-0x105,_0x599bcb);}const _0x3a5726=mars3d__namespace['PointTrans']['toWindowCoordinates'](this[_0x48fad6(0x9d,0x24)]['scene'],_0x1c393d);return _0x3a5726?[_0x3a5726['x'],_0x3a5726['y']]:null;}[_0xbdf208(0x23f,0x24d)](){this['windField']['clear'](),delete this['windData'];}[_0xbdf208(0x343,0x36d)](){function _0x1d76bf(_0xf23163,_0x58f07e){return _0x27c422(_0xf23163,_0x58f07e- -0x492);}this[_0x1d76bf(-0x80,-0xef)]=new Worker(this[_0x1d76bf(-0x205,-0x19d)]['worker']),this[_0x21379c(0x35e,0x328)][_0x21379c(0x36f,0x31c)]=_0x48c1dd=>{this[_0x262f1b(0x470,0x43e)](_0x48c1dd[_0x12f8ce(0x23e,0x20c)]['particles']);function _0x262f1b(_0x21d406,_0x285414){return _0x1d76bf(_0x21d406,_0x285414-0x5c4);}function _0x12f8ce(_0x54beb0,_0x4b91d7){return _0x1d76bf(_0x54beb0,_0x4b91d7-0x3e7);}this[_0x12f8ce(0x2d8,0x284)]=![];};function _0x21379c(_0x4fb844,_0x15f9c2){return _0x27c422(_0x4fb844,_0x15f9c2- -0x7b);}this[_0x1d76bf(-0x1be,-0x138)]={'init':_0x579177=>{const _0x55a087={};_0x55a087['type']=_0xf96ebf(0x522,0x52f),_0x55a087['options']=_0x579177;function _0x2dd0ff(_0x3fa28e,_0xc9663d){return _0x21379c(_0x3fa28e,_0xc9663d- -0x221);}function _0xf96ebf(_0x1e1bd4,_0x3bedf3){return _0x1d76bf(_0x1e1bd4,_0x3bedf3-0x6e8);}this['worker'][_0x2dd0ff(0x7d,0x49)](_0x55a087);},'setOptions':_0x49c6b2=>{const _0x4407f1={};_0x4407f1[_0xabd5e5(-0x2b9,-0x259)]=_0xabd5e5(-0x284,-0x218);function _0xabd5e5(_0x27dcd2,_0x13baac){return _0x1d76bf(_0x27dcd2,_0x13baac- -0xc8);}_0x4407f1['options']=_0x49c6b2;function _0x3dfe51(_0x5a14f4,_0x31be97){return _0x21379c(_0x5a14f4,_0x31be97- -0x355);}this[_0x3dfe51(-0xa7,-0x2d)]['postMessage'](_0x4407f1);},'setDate':_0x2b7110=>{function _0x4b604f(_0x4bd7ac,_0x154fc4){return _0x21379c(_0x154fc4,_0x4bd7ac- -0xf8);}const _0x4684d0={};function _0x103308(_0x3fe8df,_0x27c205){return _0x21379c(_0x27c205,_0x3fe8df- -0x19d);}_0x4684d0['type']='setDate',_0x4684d0[_0x4b604f(0x144,0xe1)]=_0x2b7110,this['worker'][_0x103308(0xcd,0xc4)](_0x4684d0);},'update':()=>{function _0x5b03e4(_0x5d6657,_0x17dc59){return _0x1d76bf(_0x5d6657,_0x17dc59-0x294);}function _0x5132f2(_0x3d27f3,_0x112544){return _0x1d76bf(_0x112544,_0x3d27f3-0x294);}if(this[_0x5132f2(0x131,0xc9)])return;this['_updateIng2']=!![];const _0x345ddf={};_0x345ddf['type']=_0x5132f2(0x15a,0xf0),this[_0x5132f2(0x1a5,0x1b8)]['postMessage'](_0x345ddf);},'clear':()=>{const _0x55fb0f={};_0x55fb0f[_0x412791(-0x248,-0x224)]=_0x412791(-0x2cd,-0x273);function _0x4ab312(_0x568494,_0x3eea25){return _0x21379c(_0x568494,_0x3eea25- -0x360);}function _0x412791(_0xf89164,_0x474094){return _0x21379c(_0xf89164,_0x474094- -0x4aa);}this['worker'][_0x4ab312(-0x11a,-0xf6)](_0x55fb0f);}},this['windField']['init'](this['options']);}}mars3d__namespace['LayerUtil']['register'](_0x27c422(0x308,0x328),CanvasWindLayer),mars3d__namespace['layer'][_0xbdf208(0x2cd,0x2c6)]=CanvasWindLayer,mars3d__namespace[_0x27c422(0x411,0x3be)]=CanvasWindField,mars3d__namespace['WindUtil']=WindUtil,exports['CanvasWindField']=CanvasWindField,exports[_0x27c422(0x32c,0x340)]=CanvasWindLayer,exports['WindLayer']=WindLayer,exports['WindUtil']=WindUtil;const _0x198179={};_0x198179['value']=!![],Object['defineProperty'](exports,'__esModule',_0x198179);
15
15
  }));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mars3d-wind",
3
- "version": "3.7.21",
3
+ "version": "3.7.23",
4
4
  "description": "Mars3D平台插件,支持气象 风向图 功能插件",
5
5
  "main": "dist/mars3d-wind.js",
6
6
  "files": [
@@ -8,7 +8,7 @@
8
8
  ],
9
9
  "peerDependencies": {},
10
10
  "devDependencies": {
11
- "mars3d": "~3.7.21"
11
+ "mars3d": "~3.7.23"
12
12
  },
13
13
  "scripts": {
14
14
  "lint": "eslint ./src/**/*.{js,ts} --fix"