mars3d-wind 3.7.13 → 3.7.14

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.13
5
- * 编译日期:2024-05-14 21:00:52
4
+ * 版本信息:v3.7.14
5
+ * 编译日期:2024-05-16 17:31:22
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(_0x2de022,_0x5b515b){function _0x3a1e84(_0x4083bc,_0xf9f36c){return _0x5630(_0x4083bc-0x1a2,_0xf9f36c);}function _0x29beb8(_0x2582b6,_0x52785c){return _0x5630(_0x52785c- -0x39b,_0x2582b6);}const _0x11e224=_0x2de022();while(!![]){try{const _0x27cc8f=-parseInt(_0x3a1e84(0x33e,0x2af))/0x1+parseInt(_0x3a1e84(0x3ad,0x37b))/0x2*(-parseInt(_0x29beb8(-0x1c1,-0x12d))/0x3)+-parseInt(_0x3a1e84(0x325,0x38b))/0x4*(-parseInt(_0x29beb8(-0x1d1,-0x227))/0x5)+-parseInt(_0x29beb8(-0x131,-0x1bf))/0x6+parseInt(_0x3a1e84(0x312,0x345))/0x7*(parseInt(_0x3a1e84(0x3e4,0x406))/0x8)+-parseInt(_0x3a1e84(0x397,0x3b1))/0x9*(-parseInt(_0x29beb8(-0x24a,-0x1d5))/0xa)+-parseInt(_0x3a1e84(0x3d6,0x3bc))/0xb*(-parseInt(_0x3a1e84(0x337,0x315))/0xc);if(_0x27cc8f===_0x5b515b)break;else _0x11e224['push'](_0x11e224['shift']());}catch(_0x42ecf8){_0x11e224['push'](_0x11e224['shift']());}}}(_0x3250,0x8bb16));function _interopNamespace(_0x365ea1){function _0x9f44eb(_0x51d5da,_0x1d0eed){return _0x5630(_0x51d5da-0x332,_0x1d0eed);}if(_0x365ea1&&_0x365ea1['__esModule'])return _0x365ea1;var _0x43769d=Object['create'](null);function _0xd9192(_0x4b885d,_0x3859ad){return _0x5630(_0x3859ad- -0x369,_0x4b885d);}return _0x365ea1&&Object[_0xd9192(-0x27f,-0x1fd)](_0x365ea1)['forEach'](function(_0x4df3b8){function _0xe4116f(_0x51df2e,_0x44a236){return _0xd9192(_0x44a236,_0x51df2e-0x4c9);}function _0x10a3af(_0x5edb6d,_0x112acd){return _0xd9192(_0x112acd,_0x5edb6d- -0x45);}if(_0x4df3b8!==_0xe4116f(0x36c,0x35c)){var _0x39f9ff=Object['getOwnPropertyDescriptor'](_0x365ea1,_0x4df3b8);Object[_0xe4116f(0x37c,0x403)](_0x43769d,_0x4df3b8,_0x39f9ff['get']?_0x39f9ff:{'enumerable':!![],'get':function(){return _0x365ea1[_0x4df3b8];}});}}),_0x43769d[_0xd9192(-0x18f,-0x15d)]=_0x365ea1,_0x43769d;}var mars3d__namespace=_interopNamespace(mars3d);const Cesium$7=mars3d__namespace[_0x181031(0x4e7,0x4a1)];function getU(_0xba4596,_0x3f7975){const _0x282599=_0xba4596*Math['cos'](Cesium$7['Math']['toRadians'](_0x3f7975));return _0x282599;}function getV(_0x3e36a9,_0x28620b){const _0x3169bf=_0x3e36a9*Math['sin'](Cesium$7['Math']['toRadians'](_0x28620b));return _0x3169bf;}function getSpeed(_0x1f58cd,_0x5b96c1){const _0x9f6e91=Math[_0x31bc7c(-0x154,-0x13a)](Math['pow'](_0x1f58cd,0x2)+Math[_0x43418a(0x596,0x5df)](_0x5b96c1,0x2));function _0x31bc7c(_0x5e8b01,_0x1cf71b){return _0x181031(_0x1cf71b- -0x6a7,_0x5e8b01);}function _0x43418a(_0x291e63,_0x1d38be){return _0x181031(_0x291e63-0x98,_0x1d38be);}return _0x9f6e91;}function getDirection(_0x19e8f9,_0x2070da){function _0x2db795(_0x5e1bfb,_0x2dcc36){return _0x181031(_0x5e1bfb- -0x85,_0x2dcc36);}let _0x468157=Cesium$7[_0x3a0c9c(0x1c6,0x1e2)][_0x3a0c9c(0x236,0x2af)](Math['atan2'](_0x2070da,_0x19e8f9));function _0x3a0c9c(_0x271ebf,_0x326ecf){return _0x181031(_0x271ebf- -0x34a,_0x326ecf);}return _0x468157+=_0x468157<0x0?0x168:0x0,_0x468157;}const _0x415708={};_0x415708[_0x181031(0x4e4,0x465)]=null,_0x415708['getU']=getU,_0x415708[_0x181031(0x4e3,0x47d)]=getV,_0x415708['getSpeed']=getSpeed,_0x415708['getDirection']=getDirection;var WindUtil=_0x415708;const Cesium$6=mars3d__namespace['Cesium'];class CustomPrimitive{constructor(_0x39c636){this[_0xc5d079(-0x1ef,-0x1f7)]=_0x39c636['commandType'],this[_0xc5d079(-0x205,-0x252)]=_0x39c636['geometry'],this['attributeLocations']=_0x39c636[_0xc5d079(-0x1af,-0x14d)],this[_0x2ccf07(-0x5f,-0x51)]=_0x39c636['primitiveType'];function _0x2ccf07(_0x1f0c04,_0x465ff4){return _0x181031(_0x465ff4- -0x4eb,_0x1f0c04);}this['uniformMap']=_0x39c636['uniformMap'],this[_0xc5d079(-0x14b,-0x156)]=_0x39c636[_0x2ccf07(0x3b,0x62)],this['fragmentShaderSource']=_0x39c636['fragmentShaderSource'],this[_0x2ccf07(0x3a,0xc4)]=_0x39c636[_0xc5d079(-0xe9,-0x12d)],this['framebuffer']=_0x39c636['framebuffer'],this['outputTexture']=_0x39c636[_0xc5d079(-0x1cd,-0x1b9)],this[_0xc5d079(-0x158,-0x145)]=_0x39c636['autoClear']??![];function _0xc5d079(_0x105782,_0x35751b){return _0x181031(_0x105782- -0x698,_0x35751b);}this['preExecute']=_0x39c636[_0xc5d079(-0x1c1,-0x21e)],this['show']=!![],this['commandToExecute']=undefined,this['clearCommand']=undefined,this['autoClear']&&(this[_0xc5d079(-0xfa,-0xd2)]=new Cesium$6['ClearCommand']({'color':new Cesium$6['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this['framebuffer'],'pass':Cesium$6['Pass']['OPAQUE']}));}[_0x3a9b52(0x7d,0x88)](_0x470f21){function _0x3f929c(_0x2e1f42,_0x3f7a5f){return _0x3a9b52(_0x3f7a5f-0x3b7,_0x2e1f42);}function _0x36ff2b(_0x303fca,_0x47531a){return _0x181031(_0x303fca- -0x555,_0x47531a);}switch(this['commandType']){case _0x36ff2b(-0x58,-0x78):{const _0x5adb4d=Cesium$6['VertexArray'][_0x3f929c(0x3be,0x3bb)]({'context':_0x470f21,'geometry':this[_0x36ff2b(-0xc2,-0x11e)],'attributeLocations':this['attributeLocations'],'bufferUsage':Cesium$6[_0x36ff2b(-0x13,-0xa2)]['STATIC_DRAW']}),_0x14225b={};_0x14225b[_0x3f929c(0x411,0x3a1)]=_0x470f21,_0x14225b['attributeLocations']=this[_0x3f929c(0x441,0x3c2)],_0x14225b[_0x3f929c(0x419,0x426)]=this[_0x3f929c(0x3d3,0x426)],_0x14225b['fragmentShaderSource']=this['fragmentShaderSource'];const _0x26cde2=Cesium$6['ShaderProgram'][_0x36ff2b(-0x7,0xe)](_0x14225b),_0x9a90de=Cesium$6['RenderState']['fromCache'](this['rawRenderState']);return new Cesium$6[(_0x3f929c(0x3fb,0x441))]({'primitiveType':this['primitiveType'],'shaderProgram':_0x26cde2,'vertexArray':_0x5adb4d,'modelMatrix':Cesium$6['Matrix4']['IDENTITY'],'renderState':_0x9a90de,'uniformMap':this[_0x3f929c(0x3e9,0x3cb)],'castShadows':![],'receiveShadows':![],'framebuffer':this[_0x3f929c(0x421,0x39c)],'pass':Cesium$6[_0x36ff2b(-0x64,-0x1a)]['OPAQUE'],'pickOnly':!![],'owner':this});}case'Compute':{const _0x33c449={};return _0x33c449['owner']=this,_0x33c449['fragmentShaderSource']=this['fragmentShaderSource'],_0x33c449[_0x36ff2b(-0x63,0x0)]=this[_0x3f929c(0x3d9,0x3cb)],_0x33c449['outputTexture']=this['outputTexture'],_0x33c449[_0x3f929c(0x3a3,0x3de)]=!![],new Cesium$6['ComputeCommand'](_0x33c449);}}}['setGeometry'](_0x114f18,_0x3eeab0){this[_0xa8867b(-0x1b9,-0x172)]=_0x3eeab0;function _0xbd4897(_0x53fbf9,_0x529e33){return _0x181031(_0x53fbf9- -0x69c,_0x529e33);}const _0x5255f5=Cesium$6['VertexArray']['fromGeometry']({'context':_0x114f18,'geometry':this['geometry'],'attributeLocations':this['attributeLocations'],'bufferUsage':Cesium$6['BufferUsage']['STATIC_DRAW']});function _0xa8867b(_0x47d55f,_0x5aadf7){return _0x181031(_0x5aadf7- -0x605,_0x47d55f);}this[_0xbd4897(-0x12b,-0x1a4)][_0xa8867b(-0x8d,-0xce)]=_0x5255f5;}[_0x181031(0x4d3,0x501)](_0x799d7c){function _0x1dd538(_0x253dc0,_0xc7abf2){return _0x3a9b52(_0xc7abf2- -0x227,_0x253dc0);}if(!this['show'])return;if(_0x799d7c[_0x1dd538(-0x204,-0x211)]!==Cesium$6['SceneMode']['SCENE3D'])return;!Cesium$6[_0x2d0077(0xed,0x13b)](this[_0x2d0077(0xbb,0xd5)])&&(this['commandToExecute']=this['createCommand'](_0x799d7c[_0x2d0077(0x12,0x43)]));Cesium$6['defined'](this['preExecute'])&&this['preExecute']();function _0x2d0077(_0x1ca2ff,_0x5b631d){return _0x3a9b52(_0x1ca2ff-0x28,_0x5b631d);}Cesium$6[_0x1dd538(-0x1ab,-0x162)](this[_0x2d0077(0xe8,0x69)])&&_0x799d7c[_0x2d0077(0x7d,-0xc)]['push'](this[_0x1dd538(-0x124,-0x167)]),_0x799d7c['commandList']['push'](this['commandToExecute']);}[_0x181031(0x494,0x49d)](){return![];}['destroy'](){if(this['clearCommand']){var _0x1c1da2,_0x2b1706;(_0x1c1da2=this['clearCommand'])!==null&&_0x1c1da2!==void 0x0&&_0x1c1da2[_0x35aedf(-0x4e,0x19)]&&this['clearCommand'][_0x1f934f(-0x10b,-0x9a)]['destroy'](),(_0x2b1706=this[_0x35aedf(0xcd,0x80)])!==null&&_0x2b1706!==void 0x0&&_0x2b1706[_0x35aedf(0x1,0x11)]&&this['clearCommand']['shaderProgram']['destroy'](),delete this[_0x35aedf(0x40,0x80)];}this['commandToExecute']&&(this['commandToExecute']['vertexArray']&&this[_0x35aedf(0x54,0x53)][_0x1f934f(-0x10b,-0x187)][_0x35aedf(0x7d,0x3e)](),this['commandToExecute'][_0x1f934f(-0x113,-0xc7)]&&this['commandToExecute']['shaderProgram']['destroy'](),delete this['commandToExecute']);function _0x1f934f(_0x383e1c,_0x5081c9){return _0x181031(_0x383e1c- -0x642,_0x5081c9);}function _0x35aedf(_0x17419d,_0x36f5b6){return _0x3a9b52(_0x36f5b6- -0x40,_0x17419d);}return Cesium$6['destroyObject'](this);}}const Cesium$5=mars3d__namespace['Cesium'],Util=(function(){const _0x25a39a=function(){const _0xb6affa=new Cesium$5['Geometry']({'attributes':new Cesium$5['GeometryAttributes']({'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['GeometryAttribute']({'componentDatatype':Cesium$5[_0x2af7df(0x4af,0x53e)]['FLOAT'],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});function _0x2af7df(_0x2b838f,_0x4d0cc3){return _0x5630(_0x4d0cc3-0x367,_0x2b838f);}return _0xb6affa;},_0x4135ab=function(_0x392e27,_0x1f44dd){if(Cesium$5['defined'](_0x1f44dd)){const _0x48f2e3={};_0x48f2e3[_0x56e4d0(0x37,0x75)]=_0x1f44dd,_0x392e27['source']=_0x48f2e3;}function _0x56e4d0(_0x174d1d,_0x515449){return _0x5630(_0x515449- -0x13f,_0x174d1d);}const _0x3cb44a=new Cesium$5['Texture'](_0x392e27);return _0x3cb44a;},_0x57b6f=function(_0x29fc0e,_0x3f74fa,_0x22bb3e){const _0x1980bc={};_0x1980bc['context']=_0x29fc0e,_0x1980bc['colorTextures']=[_0x3f74fa],_0x1980bc['depthTexture']=_0x22bb3e;const _0x452397=new Cesium$5['Framebuffer'](_0x1980bc);return _0x452397;};function _0x42597c(_0x133027,_0x53a13a){return _0x3a9b52(_0x53a13a-0x45b,_0x133027);}const _0x1e8c5d=function(_0x5da86f){const _0x1f8e34=!![],_0x269161=![],_0x1c3af5={};_0x1c3af5['viewport']=_0x5da86f[_0x5812cb(0x2db,0x289)],_0x1c3af5[_0x5812cb(0x3ce,0x360)]=_0x5da86f['depthTest'],_0x1c3af5[_0x52c226(0x131,0xb7)]=_0x5da86f['depthMask'],_0x1c3af5['blending']=_0x5da86f['blending'];const _0x5e693b=_0x1c3af5,_0x32271e=Cesium$5[_0x52c226(0x7a,0xc5)]['getDefaultRenderState'](_0x1f8e34,_0x269161,_0x5e693b);function _0x5812cb(_0x577af5,_0x16cd39){return _0x5630(_0x16cd39-0xf5,_0x577af5);}function _0x52c226(_0x5c3c40,_0x326baf){return _0x5630(_0x326baf- -0x127,_0x5c3c40);}return _0x32271e;},_0x694082=function(_0x92c2bd){const _0x50f459={},_0x5bfabb=Cesium$5['Math'][_0x48e45c(-0xc,-0xa0)](_0x92c2bd[_0x48e45c(-0xb,-0x9e)],Cesium$5['Math'][_0x2af408(0x3c9,0x3c0)]),_0x38010d=Cesium$5['Math']['mod'](_0x92c2bd['east'],Cesium$5['Math'][_0x48e45c(-0x18,-0xa4)]),_0x4763b3=_0x92c2bd[_0x48e45c(0x7a,0x2a)];let _0x14207f,_0x5b8c89;function _0x48e45c(_0x15bb2a,_0x4029a8){return _0x5630(_0x15bb2a- -0x19e,_0x4029a8);}_0x4763b3>Cesium$5[_0x2af408(0x42e,0x493)]['THREE_PI_OVER_TWO']?(_0x14207f=0x0,_0x5b8c89=Cesium$5[_0x2af408(0x42e,0x452)]['TWO_PI']):_0x38010d-_0x5bfabb<_0x4763b3?(_0x14207f=_0x5bfabb,_0x5b8c89=_0x5bfabb+_0x4763b3):(_0x14207f=_0x5bfabb,_0x5b8c89=_0x38010d);_0x50f459['lon']={'min':Cesium$5['Math'][_0x48e45c(0xbd,0x13b)](_0x14207f),'max':Cesium$5['Math']['toDegrees'](_0x5b8c89)};const _0x52dc4e=_0x92c2bd['south'],_0x263830=_0x92c2bd['north'],_0x3ed167=_0x92c2bd['height'],_0x2a2336=_0x3ed167>Cesium$5['Math']['PI']/0xc?_0x3ed167/0x2:0x0;let _0x3a0ce0=Cesium$5['Math']['clampToLatitudeRange'](_0x52dc4e-_0x2a2336),_0x2dd5ad=Cesium$5['Math'][_0x2af408(0x4b0,0x451)](_0x263830+_0x2a2336);_0x3a0ce0<-Cesium$5['Math']['PI_OVER_THREE']&&(_0x3a0ce0=-Cesium$5['Math']['PI_OVER_TWO']);_0x2dd5ad>Cesium$5['Math']['PI_OVER_THREE']&&(_0x2dd5ad=Cesium$5['Math'][_0x2af408(0x481,0x456)]);function _0x2af408(_0x55ef9c,_0x112cd3){return _0x5630(_0x55ef9c-0x243,_0x112cd3);}return _0x50f459['lat']={'min':Cesium$5['Math']['toDegrees'](_0x3a0ce0),'max':Cesium$5['Math']['toDegrees'](_0x2dd5ad)},_0x50f459;},_0x2d1ee5={};return _0x2d1ee5['getFullscreenQuad']=_0x25a39a,_0x2d1ee5['createTexture']=_0x4135ab,_0x2d1ee5['createFramebuffer']=_0x57b6f,_0x2d1ee5[_0x42597c(0x48b,0x44e)]=_0x1e8c5d,_0x2d1ee5['viewRectangleToLonLatRange']=_0x694082,_0x2d1ee5;}());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=_0x181031(0x4f9,0x57e),trailDraw_frag=_0x181031(0x588,0x56d),screenDraw_frag=_0x3a9b52(0x68,-0xe);const Cesium$4=mars3d__namespace['Cesium'];class ParticlesRendering{constructor(_0x2878e9,_0x9ba678,_0x2015ae,_0x33565a,_0x45c749){function _0x3d14c7(_0xb77e67,_0x4d4413){return _0x3a9b52(_0x4d4413-0x4b6,_0xb77e67);}function _0x35bf79(_0x42c675,_0x552a8d){return _0x181031(_0x552a8d- -0x3a5,_0x42c675);}this[_0x35bf79(0x103,0x165)](_0x2878e9,_0x9ba678,_0x2015ae['colors']),this[_0x35bf79(0x1ee,0x1ad)](_0x2878e9),this['createRenderingPrimitives'](_0x2878e9,_0x2015ae,_0x33565a,_0x45c749);}[_0x181031(0x50a,0x544)](_0x2dd93f,_0x54ffce,_0x12ca7f){const _0x82b72c={};function _0x20aa01(_0x44dbc2,_0x447e70){return _0x181031(_0x44dbc2- -0x361,_0x447e70);}_0x82b72c['context']=_0x2dd93f,_0x82b72c['width']=_0x2dd93f['drawingBufferWidth'],_0x82b72c[_0x4b0ed8(0x11c,0x107)]=_0x2dd93f['drawingBufferHeight'],_0x82b72c[_0x4b0ed8(0x1d9,0x18a)]=Cesium$4['PixelFormat'][_0x4b0ed8(0x214,0x2a0)],_0x82b72c[_0x4b0ed8(0x138,0xf3)]=Cesium$4['PixelDatatype'][_0x4b0ed8(0x16a,0x117)];const _0x4861f6=_0x82b72c,_0x229ef6={};_0x229ef6[_0x4b0ed8(0x144,0x160)]=_0x2dd93f,_0x229ef6['width']=_0x2dd93f['drawingBufferWidth'],_0x229ef6[_0x20aa01(0x13f,0x1a6)]=_0x2dd93f[_0x20aa01(0x208,0x176)],_0x229ef6[_0x20aa01(0x1fc,0x1df)]=Cesium$4['PixelFormat'][_0x4b0ed8(0x18a,0x161)],_0x229ef6['pixelDatatype']=Cesium$4[_0x4b0ed8(0x12a,0xa7)]['UNSIGNED_INT'];function _0x4b0ed8(_0x1e1e6a,_0x567a77){return _0x3a9b52(_0x1e1e6a-0x15a,_0x567a77);}const _0x3bca35=_0x229ef6,_0x4198b3=_0x12ca7f[_0x4b0ed8(0x1f2,0x264)],_0x1048d6=new Float32Array(_0x4198b3*0x3);for(let _0x30f2b1=0x0;_0x30f2b1<_0x4198b3;_0x30f2b1++){const _0x50dcc6=Cesium$4['Color']['fromCssColorString'](_0x12ca7f[_0x30f2b1]);_0x1048d6[0x3*_0x30f2b1]=_0x50dcc6['red'],_0x1048d6[0x3*_0x30f2b1+0x1]=_0x50dcc6['green'],_0x1048d6[0x3*_0x30f2b1+0x2]=_0x50dcc6['blue'];}const _0x365f48={'context':_0x2dd93f,'width':_0x4198b3,'height':0x1,'pixelFormat':Cesium$4[_0x20aa01(0x1c7,0x1e5)][_0x4b0ed8(0x201,0x214)],'pixelDatatype':Cesium$4['PixelDatatype']['FLOAT'],'sampler':new Cesium$4['Sampler']({'minificationFilter':Cesium$4['TextureMinificationFilter'][_0x20aa01(0x1d3,0x17b)],'magnificationFilter':Cesium$4['TextureMagnificationFilter']['LINEAR']})};this[_0x20aa01(0x13a,0xf1)]={'segmentsColor':Util[_0x4b0ed8(0x1f6,0x1b4)](_0x4861f6),'segmentsDepth':Util[_0x20aa01(0x219,0x1e3)](_0x3bca35),'currentTrailsColor':Util['createTexture'](_0x4861f6),'currentTrailsDepth':Util[_0x4b0ed8(0x1f6,0x1cb)](_0x3bca35),'nextTrailsColor':Util['createTexture'](_0x4861f6),'nextTrailsDepth':Util['createTexture'](_0x3bca35),'colorTable':Util['createTexture'](_0x365f48,_0x1048d6)};}[_0x181031(0x552,0x4de)](_0x1e1ea8){function _0x5daabe(_0x4c228e,_0x55485c){return _0x3a9b52(_0x55485c-0x226,_0x4c228e);}function _0x119764(_0x28ae25,_0x9b5f41){return _0x3a9b52(_0x28ae25- -0xf4,_0x9b5f41);}this['framebuffers']={'segments':Util['createFramebuffer'](_0x1e1ea8,this['textures']['segmentsColor'],this['textures']['segmentsDepth']),'currentTrails':Util['createFramebuffer'](_0x1e1ea8,this[_0x5daabe(0x15f,0x1e3)]['currentTrailsColor'],this['textures'][_0x5daabe(0x1ad,0x23e)]),'nextTrails':Util['createFramebuffer'](_0x1e1ea8,this['textures']['nextTrailsColor'],this['textures']['nextTrailsDepth'])};}[_0x181031(0x59c,0x53e)](_0x577cda){const _0x4b668f=0x4;let _0x1d71a3=[];function _0x13f159(_0xc01309,_0x7e6d77){return _0x181031(_0x7e6d77- -0x3d1,_0xc01309);}for(let _0x3db884=0x0;_0x3db884<_0x577cda['particlesTextureSize'];_0x3db884++){for(let _0xfb01bb=0x0;_0xfb01bb<_0x577cda[_0x13f159(0x1ce,0x1d7)];_0xfb01bb++){for(let _0x47ca53=0x0;_0x47ca53<_0x4b668f;_0x47ca53++){_0x1d71a3[_0x3fa8ce(0x403,0x3ff)](_0x3db884/_0x577cda['particlesTextureSize']),_0x1d71a3[_0x3fa8ce(0x403,0x474)](_0xfb01bb/_0x577cda[_0x3fa8ce(0x499,0x421)]);}}}_0x1d71a3=new Float32Array(_0x1d71a3);function _0x3fa8ce(_0x2e496d,_0xdb8078){return _0x181031(_0x2e496d- -0x10f,_0xdb8078);}let _0x398bb7=[];const _0x16c20b=[-0x1,0x1],_0x5ed115=[-0x1,0x1];for(let _0x4e02d5=0x0;_0x4e02d5<_0x577cda['maxParticles'];_0x4e02d5++){for(let _0x4f1d6c=0x0;_0x4f1d6c<_0x4b668f/0x2;_0x4f1d6c++){for(let _0xacef6a=0x0;_0xacef6a<_0x4b668f/0x2;_0xacef6a++){_0x398bb7[_0x13f159(0x155,0x141)](_0x16c20b[_0x4f1d6c]),_0x398bb7[_0x3fa8ce(0x403,0x424)](_0x5ed115[_0xacef6a]),_0x398bb7['push'](0x0);}}}_0x398bb7=new Float32Array(_0x398bb7);const _0x2426b7=0x6*_0x577cda[_0x3fa8ce(0x42c,0x480)],_0xe40920=new Uint32Array(_0x2426b7);for(let _0x484d1a=0x0,_0xd6fb52=0x0,_0x1900c3=0x0;_0x484d1a<_0x577cda['maxParticles'];_0x484d1a++){_0xe40920[_0xd6fb52++]=_0x1900c3+0x0,_0xe40920[_0xd6fb52++]=_0x1900c3+0x1,_0xe40920[_0xd6fb52++]=_0x1900c3+0x2,_0xe40920[_0xd6fb52++]=_0x1900c3+0x2,_0xe40920[_0xd6fb52++]=_0x1900c3+0x1,_0xe40920[_0xd6fb52++]=_0x1900c3+0x3,_0x1900c3+=0x4;}const _0x1854ee=new Cesium$4[(_0x3fa8ce(0x390,0x36a))]({'attributes':new Cesium$4['GeometryAttributes']({'st':new Cesium$4['GeometryAttribute']({'componentDatatype':Cesium$4['ComponentDatatype'][_0x13f159(0x16c,0x122)],'componentsPerAttribute':0x2,'values':_0x1d71a3}),'normal':new Cesium$4[(_0x13f159(0xe6,0x15a))]({'componentDatatype':Cesium$4['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x3,'values':_0x398bb7})}),'indices':_0xe40920});return _0x1854ee;}['createRenderingPrimitives'](_0x138b28,_0x56b31d,_0x58f220,_0x2a4c2b){const _0x18d748=this,_0x432fc6={};_0x432fc6['st']=0x0,_0x432fc6['normal']=0x1;const _0x15a6a8={};_0x15a6a8['sources']=[segmentDraw_vert];const _0x289efa={};_0x289efa['sources']=[segmentDraw_frag];const _0x1846ad={};_0x1846ad[_0x4a93e0(-0x10a,-0x171)]=!![];function _0x4a93e0(_0x2f9486,_0x31793b){return _0x3a9b52(_0x31793b- -0x16e,_0x2f9486);}const _0x5de602={};function _0xcf8f93(_0x959d45,_0x375f56){return _0x181031(_0x959d45- -0x2a3,_0x375f56);}_0x5de602['viewport']=undefined,_0x5de602['depthTest']=_0x1846ad,_0x5de602['depthMask']=!![];const _0x1dd512={};_0x1dd512['position']=0x0,_0x1dd512['st']=0x1;const _0x14b2e1={};_0x14b2e1['defines']=['DISABLE_GL_POSITION_LOG_DEPTH'],_0x14b2e1[_0xcf8f93(0x20c,0x270)]=[fullscreen_vert];const _0x229677={};_0x229677[_0xcf8f93(0x24d,0x1d8)]=['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],_0x229677[_0xcf8f93(0x20c,0x203)]=[trailDraw_frag];const _0x645adf={};_0x645adf['position']=0x0,_0x645adf['st']=0x1;const _0x49a917={};_0x49a917['defines']=[_0xcf8f93(0x2e4,0x376)],_0x49a917['sources']=[fullscreen_vert];const _0x5a0a56={};_0x5a0a56['defines']=['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],_0x5a0a56[_0x4a93e0(-0x1d5,-0x19d)]=[screenDraw_frag];const _0x417a32={};_0x417a32['enabled']=![];const _0x1494e4={};_0x1494e4[_0xcf8f93(0x238,0x219)]=!![],this['primitives']={'segments':new CustomPrimitive({'commandType':_0xcf8f93(0x25a,0x291),'attributeLocations':_0x432fc6,'geometry':this['createSegmentsGeometry'](_0x56b31d),'primitiveType':Cesium$4['PrimitiveType']['TRIANGLES'],'uniformMap':{'currentParticlesPosition':function(){function _0x35c098(_0x3d5bce,_0x19dd63){return _0x4a93e0(_0x19dd63,_0x3d5bce-0x7c);}return _0x2a4c2b['particlesTextures'][_0x35c098(-0x2a,-0x2)];},'postProcessingPosition':function(){function _0x2321eb(_0x382d01,_0x41ec95){return _0xcf8f93(_0x382d01- -0x2b5,_0x41ec95);}return _0x2a4c2b[_0x2321eb(-0x4b,-0x52)]['postProcessingPosition'];},'postProcessingSpeed':function(){function _0x13bba5(_0x26e23d,_0x442ff6){return _0xcf8f93(_0x442ff6-0x2b5,_0x26e23d);}function _0x43f3ee(_0x33be72,_0x59a1fa){return _0x4a93e0(_0x59a1fa,_0x33be72-0x1c9);}return _0x2a4c2b[_0x13bba5(0x4a7,0x51f)][_0x13bba5(0x59c,0x525)];},'colorTable':function(){return _0x18d748['textures']['colorTable'];},'aspect':function(){function _0x3acd29(_0x35983b,_0x5590ee){return _0xcf8f93(_0x5590ee- -0x356,_0x35983b);}return _0x138b28['drawingBufferWidth']/_0x138b28[_0x3acd29(0x2,-0x90)];},'pixelSize':function(){function _0x2920a5(_0x5a06b1,_0x236ef3){return _0xcf8f93(_0x5a06b1- -0x7b,_0x236ef3);}return _0x58f220[_0x2920a5(0x170,0x184)];},'lineWidth':function(){function _0x4048a4(_0x52261b,_0x288705){return _0xcf8f93(_0x52261b-0x2b0,_0x288705);}return _0x56b31d[_0x4048a4(0x524,0x4d2)];},'particleHeight':function(){return _0x56b31d['particleHeight'];}},'vertexShaderSource':new Cesium$4['ShaderSource'](_0x15a6a8),'fragmentShaderSource':new Cesium$4['ShaderSource'](_0x289efa),'rawRenderState':Util['createRawRenderState'](_0x5de602),'framebuffer':this[_0xcf8f93(0x1fe,0x1e4)][_0x4a93e0(-0x126,-0xad)],'autoClear':!![]}),'trails':new CustomPrimitive({'commandType':'Draw','attributeLocations':_0x1dd512,'geometry':Util[_0x4a93e0(-0xf7,-0x151)](),'primitiveType':Cesium$4[_0xcf8f93(0x2f1,0x347)][_0x4a93e0(-0xa9,-0xc6)],'uniformMap':{'segmentsColorTexture':function(){return _0x18d748['textures']['segmentsColor'];},'segmentsDepthTexture':function(){function _0x2b70f0(_0x2076cd,_0x31c188){return _0x4a93e0(_0x31c188,_0x2076cd-0x608);}return _0x18d748[_0x2b70f0(0x457,0x4a7)]['segmentsDepth'];},'currentTrailsColor':function(){function _0x4e52ab(_0x4b5fa6,_0x35b36b){return _0xcf8f93(_0x4b5fa6- -0x1a0,_0x35b36b);}return _0x18d748[_0x4e52ab(0x5e,-0xa)]['currentTrails']['getColorTexture'](0x0);},'trailsDepthTexture':function(){function _0xca7a02(_0x280e97,_0x53158f){return _0xcf8f93(_0x280e97- -0x3ac,_0x53158f);}function _0x2c8ca5(_0x1c3348,_0x1fde70){return _0xcf8f93(_0x1c3348-0x209,_0x1fde70);}return _0x18d748[_0xca7a02(-0x1ae,-0x1e8)]['currentTrails'][_0xca7a02(-0x14d,-0xd7)];},'fadeOpacity':function(){return _0x56b31d['fadeOpacity'];}},'vertexShaderSource':new Cesium$4['ShaderSource'](_0x14b2e1),'fragmentShaderSource':new Cesium$4['ShaderSource'](_0x229677),'rawRenderState':Util['createRawRenderState']({'viewport':undefined,'depthTest':{'enabled':!![],'func':Cesium$4['DepthFunction'][_0xcf8f93(0x279,0x1f6)]},'depthMask':!![]}),'framebuffer':this['framebuffers'][_0x4a93e0(-0x1c2,-0x1ae)],'autoClear':!![],'preExecute':function(){function _0x458971(_0x4042d8,_0x27c2f8){return _0x4a93e0(_0x4042d8,_0x27c2f8-0x490);}function _0x490309(_0x319acc,_0x3ca0be){return _0xcf8f93(_0x319acc- -0x215,_0x3ca0be);}const _0x195ea8=_0x18d748['framebuffers'][_0x458971(0x3dc,0x395)];_0x18d748['framebuffers'][_0x490309(0x99,0xaf)]=_0x18d748[_0x490309(-0x17,-0x2a)][_0x458971(0x331,0x2e2)],_0x18d748['framebuffers']['nextTrails']=_0x195ea8,_0x18d748['primitives'][_0x458971(0x38e,0x34d)][_0x490309(0xb9,0x7c)][_0x490309(0xb,0x3e)]=_0x18d748['framebuffers'][_0x458971(0x2e9,0x2e2)],_0x18d748['primitives']['trails']['clearCommand']['framebuffer']=_0x18d748['framebuffers']['nextTrails'];}}),'screen':new CustomPrimitive({'commandType':_0x4a93e0(-0xe0,-0x14f),'attributeLocations':_0x645adf,'geometry':Util['getFullscreenQuad'](),'primitiveType':Cesium$4[_0x4a93e0(-0x112,-0xb8)]['TRIANGLES'],'uniformMap':{'trailsColorTexture':function(){function _0x2c92a1(_0x50fce7,_0x5930ed){return _0xcf8f93(_0x50fce7- -0x2f8,_0x5930ed);}return _0x18d748['framebuffers']['nextTrails'][_0x2c92a1(-0x39,0x2)](0x0);},'trailsDepthTexture':function(){function _0x444036(_0xf89444,_0xb6ee99){return _0xcf8f93(_0xf89444- -0x4c,_0xb6ee99);}function _0x1af106(_0x2d2c99,_0x1798c1){return _0xcf8f93(_0x1798c1- -0x2d0,_0x2d2c99);}return _0x18d748[_0x444036(0x1b2,0x21a)]['nextTrails'][_0x444036(0x213,0x1d1)];}},'vertexShaderSource':new Cesium$4[(_0xcf8f93(0x26c,0x267))](_0x49a917),'fragmentShaderSource':new Cesium$4['ShaderSource'](_0x5a0a56),'rawRenderState':Util[_0x4a93e0(-0x192,-0x17b)]({'viewport':undefined,'depthTest':_0x417a32,'depthMask':!![],'blending':_0x1494e4}),'framebuffer':undefined})};}}var getWind_frag=_0x181031(0x507,0x56b),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='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=_0x181031(0x520,0x520),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 _0x5630(_0x953e52,_0x5dae13){const _0x32501d=_0x3250();return _0x5630=function(_0x563032,_0x269ebf){_0x563032=_0x563032-0x168;let _0x56bb68=_0x32501d[_0x563032];return _0x56bb68;},_0x5630(_0x953e52,_0x5dae13);}const Cesium$3=mars3d__namespace['Cesium'];class ParticlesComputing{constructor(_0x3f7c39,_0x37cd4f,_0x1fcec8,_0x8f7c40){this['data']=_0x37cd4f,this['createWindTextures'](_0x3f7c39,_0x37cd4f),this['createParticlesTextures'](_0x3f7c39,_0x1fcec8,_0x8f7c40);function _0x32f66e(_0x42bb40,_0x37cd9b){return _0x3a9b52(_0x37cd9b- -0x1c3,_0x42bb40);}this[_0x32f66e(-0x132,-0x15c)](_0x37cd4f,_0x1fcec8,_0x8f7c40);}['createWindTextures'](_0x4d2097,_0xa5d258){function _0x17bbe3(_0x570ac7,_0x2b8dac){return _0x3a9b52(_0x570ac7- -0x228,_0x2b8dac);}function _0x5ad5fb(_0x5569d3,_0x5c2811){return _0x181031(_0x5c2811- -0x348,_0x5569d3);}const _0x32b7ff={'context':_0x4d2097,'width':_0xa5d258[_0x17bbe3(-0x177,-0x208)]['lon'],'height':_0xa5d258['dimensions'][_0x17bbe3(-0x1d9,-0x153)]*(_0xa5d258['dimensions'][_0x17bbe3(-0x206,-0x233)]||0x1),'pixelFormat':Cesium$3['PixelFormat']['LUMINANCE'],'pixelDatatype':Cesium$3[_0x17bbe3(-0x258,-0x29d)][_0x17bbe3(-0x213,-0x2a6)],'flipY':![],'sampler':new Cesium$3[(_0x17bbe3(-0x1ee,-0x1b8))]({'minificationFilter':Cesium$3['TextureMinificationFilter']['NEAREST'],'magnificationFilter':Cesium$3['TextureMagnificationFilter']['NEAREST']})};this['windTextures']={'U':Util['createTexture'](_0x32b7ff,_0xa5d258['U'][_0x17bbe3(-0x1a2,-0x1d4)]),'V':Util[_0x17bbe3(-0x18c,-0x16b)](_0x32b7ff,_0xa5d258['V']['array'])};}['createParticlesTextures'](_0x19c56f,_0x2bbd35,_0x55859d){const _0x48c5b5={'context':_0x19c56f,'width':_0x2bbd35[_0x34b6f2(0x1c7,0x20b)],'height':_0x2bbd35['particlesTextureSize'],'pixelFormat':Cesium$3['PixelFormat']['RGBA'],'pixelDatatype':Cesium$3['PixelDatatype']['FLOAT'],'flipY':![],'sampler':new Cesium$3['Sampler']({'minificationFilter':Cesium$3['TextureMinificationFilter']['NEAREST'],'magnificationFilter':Cesium$3['TextureMagnificationFilter']['NEAREST']})},_0x256f8c=this[_0x34b6f2(0x16c,0x120)](_0x2bbd35[_0x34b6f2(0x165,0x19e)],_0x55859d);function _0x26c11f(_0x286a3b,_0x4eba4f){return _0x3a9b52(_0x4eba4f- -0x1da,_0x286a3b);}const _0x56ea66=new Float32Array(0x4*_0x2bbd35[_0x34b6f2(0x1d1,0x19e)])['fill'](0x0);function _0x34b6f2(_0x351504,_0x22c2af){return _0x3a9b52(_0x22c2af-0x141,_0x351504);}this['particlesTextures']={'particlesWind':Util['createTexture'](_0x48c5b5),'currentParticlesPosition':Util['createTexture'](_0x48c5b5,_0x256f8c),'nextParticlesPosition':Util['createTexture'](_0x48c5b5,_0x256f8c),'currentParticlesSpeed':Util['createTexture'](_0x48c5b5,_0x56ea66),'nextParticlesSpeed':Util['createTexture'](_0x48c5b5,_0x56ea66),'postProcessingPosition':Util[_0x26c11f(-0x189,-0x13e)](_0x48c5b5,_0x256f8c),'postProcessingSpeed':Util['createTexture'](_0x48c5b5,_0x56ea66)};}['randomizeParticles'](_0x380ca0,_0x4bf143){const _0x4195af=new Float32Array(0x4*_0x380ca0);for(let _0x18a80a=0x0;_0x18a80a<_0x380ca0;_0x18a80a++){_0x4195af[0x4*_0x18a80a]=Cesium$3['Math']['randomBetween'](_0x4bf143[_0x358c9a(0x38f,0x41e)]['x'],_0x4bf143['lonRange']['y']),_0x4195af[0x4*_0x18a80a+0x1]=Cesium$3[_0x358c9a(0x489,0x415)]['randomBetween'](_0x4bf143[_0x4a278f(0x2f2,0x382)]['x'],_0x4bf143['latRange']['y']),_0x4195af[0x4*_0x18a80a+0x2]=Cesium$3['Math'][_0x358c9a(0x4ac,0x4b3)](this['data'][_0x358c9a(0x490,0x405)][_0x358c9a(0x4f7,0x4a0)],this['data']['lev']['max']),_0x4195af[0x4*_0x18a80a+0x3]=0x0;}function _0x4a278f(_0x5c4c98,_0xdf7753){return _0x181031(_0x5c4c98- -0x2af,_0xdf7753);}function _0x358c9a(_0x404e43,_0x1e44d2){return _0x3a9b52(_0x1e44d2-0x3e3,_0x404e43);}return _0x4195af;}['destroyParticlesTextures'](){function _0x409fce(_0x36bf8a,_0x287c36){return _0x3a9b52(_0x36bf8a-0x357,_0x287c36);}function _0x26f743(_0x8c8fec,_0x3ac0ee){return _0x3a9b52(_0x8c8fec- -0x1d4,_0x3ac0ee);}Object['keys'](this[_0x409fce(0x386,0x320)])[_0x26f743(-0x1ac,-0x17b)](_0x230254=>{this['particlesTextures'][_0x230254]['destroy']();});}['createComputingPrimitives'](_0x16589a,_0x3c1f92,_0x27edd2){const _0x45aa25=new Cesium$3['Cartesian3'](_0x16589a[_0x2a3fbf(0x5a1,0x5c1)][_0x2a4ab0(0x29d,0x29f)],_0x16589a[_0x2a4ab0(0x31e,0x304)]['lat'],_0x16589a['dimensions']['lev']),_0x364792=new Cesium$3['Cartesian3'](_0x16589a['lon'][_0x2a3fbf(0x5ad,0x5d0)],_0x16589a['lat'][_0x2a4ab0(0x373,0x310)],_0x16589a[_0x2a4ab0(0x29a,0x275)]['min']),_0x171fcb=new Cesium$3[(_0x2a4ab0(0x216,0x25f))](_0x16589a['lon']['max'],_0x16589a['lat']['max'],_0x16589a['lev'][_0x2a3fbf(0x559,0x5e4)]),_0x1978a6=new Cesium$3[(_0x2a3fbf(0x4fc,0x48d))]((_0x171fcb['x']-_0x364792['x'])/(_0x45aa25['x']-0x1),(_0x171fcb['y']-_0x364792['y'])/(_0x45aa25['y']-0x1),_0x45aa25['z']>0x1?(_0x171fcb['z']-_0x364792['z'])/(_0x45aa25['z']-0x1):0x1),_0x515be0=new Cesium$3['Cartesian2'](_0x16589a['U'][_0x2a4ab0(0x34f,0x310)],_0x16589a['U']['max']),_0x498d34=new Cesium$3['Cartesian2'](_0x16589a['V']['min'],_0x16589a['V'][_0x2a3fbf(0x559,0x5bf)]),_0x3ad2de=this,_0xb0b272={};_0xb0b272['U']=function(){function _0x7be7e(_0x4bfae7,_0x463b35){return _0x2a3fbf(_0x463b35- -0xcb,_0x4bfae7);}return _0x3ad2de[_0x7be7e(0x470,0x4be)]['U'];},_0xb0b272['V']=function(){function _0x1f3283(_0x59df5a,_0x54e485){return _0x2a4ab0(_0x59df5a,_0x54e485- -0x52);}return _0x3ad2de[_0x1f3283(0x2a8,0x29a)]['V'];},_0xb0b272[_0x2a4ab0(0x28c,0x31b)]=function(){function _0x58851d(_0x159ae7,_0x45816d){return _0x2a4ab0(_0x159ae7,_0x45816d-0x31);}function _0x50d55d(_0x364e35,_0x2c166f){return _0x2a3fbf(_0x2c166f- -0x4ca,_0x364e35);}return _0x3ad2de[_0x50d55d(0x18,0x55)][_0x58851d(0x307,0x34c)];},_0xb0b272['dimension']=function(){return _0x45aa25;},_0xb0b272['minimum']=function(){return _0x364792;},_0xb0b272['maximum']=function(){return _0x171fcb;},_0xb0b272['interval']=function(){return _0x1978a6;};function _0x2a3fbf(_0x5e2d82,_0x29773b){return _0x181031(_0x5e2d82-0x12,_0x29773b);}const _0x4d2191={};_0x4d2191[_0x2a3fbf(0x4c1,0x48f)]=[getWind_frag];const _0x4b488e={};_0x4b488e['sources']=[updateSpeed_frag];function _0x2a4ab0(_0x1594ca,_0x2d7e49){return _0x181031(_0x2d7e49- -0x28b,_0x1594ca);}const _0x2d78dc={};_0x2d78dc['sources']=[updatePosition_frag];const _0x5a31a3={};_0x5a31a3['sources']=[postProcessingPosition_frag];const _0x479b6={};_0x479b6['sources']=[postProcessingSpeed_frag],this['primitives']={'getWind':new CustomPrimitive({'commandType':'Compute','uniformMap':_0xb0b272,'fragmentShaderSource':new Cesium$3['ShaderSource'](_0x4d2191),'outputTexture':this[_0x2a4ab0(0x276,0x282)]['particlesWind'],'preExecute':function(){function _0x502fc1(_0x4bd217,_0x123540){return _0x2a3fbf(_0x4bd217- -0x4ef,_0x123540);}function _0x49da65(_0x31f037,_0x4fadb6){return _0x2a4ab0(_0x31f037,_0x4fadb6- -0x45a);}_0x3ad2de['primitives']['getWind']['commandToExecute']['outputTexture']=_0x3ad2de[_0x502fc1(0x30,0x62)][_0x502fc1(0x4c,0x6b)];}}),'updateSpeed':new CustomPrimitive({'commandType':_0x2a3fbf(0x573,0x5c0),'uniformMap':{'currentParticlesSpeed':function(){function _0x274509(_0x93c63f,_0x219763){return _0x2a4ab0(_0x219763,_0x93c63f-0x2be);}return _0x3ad2de[_0x274509(0x540,0x53f)]['currentParticlesSpeed'];},'particlesWind':function(){return _0x3ad2de['particlesTextures']['particlesWind'];},'uSpeedRange':function(){return _0x515be0;},'vSpeedRange':function(){return _0x498d34;},'pixelSize':function(){return _0x27edd2['pixelSize'];},'speedFactor':function(){function _0x43e57(_0x1a55ec,_0x3fd22d){return _0x2a4ab0(_0x1a55ec,_0x3fd22d- -0x30a);}return _0x3c1f92[_0x43e57(-0xa4,-0xb6)];}},'fragmentShaderSource':new Cesium$3[(_0x2a4ab0(0x294,0x284))](_0x4b488e),'outputTexture':this['particlesTextures']['nextParticlesSpeed'],'preExecute':function(){const _0x4cafd7=_0x3ad2de['particlesTextures']['currentParticlesSpeed'];function _0x56adb7(_0x13ecdc,_0x37808a){return _0x2a3fbf(_0x37808a- -0x455,_0x13ecdc);}_0x3ad2de[_0x4115a9(0x4cf,0x47a)]['currentParticlesSpeed']=_0x3ad2de['particlesTextures']['postProcessingSpeed'],_0x3ad2de['particlesTextures']['postProcessingSpeed']=_0x4cafd7;function _0x4115a9(_0x12a187,_0x5499c2){return _0x2a4ab0(_0x5499c2,_0x12a187-0x24d);}_0x3ad2de[_0x4115a9(0x501,0x57d)][_0x4115a9(0x488,0x493)]['commandToExecute']['outputTexture']=_0x3ad2de['particlesTextures']['nextParticlesSpeed'];}}),'updatePosition':new CustomPrimitive({'commandType':'Compute','uniformMap':{'currentParticlesPosition':function(){return _0x3ad2de['particlesTextures']['currentParticlesPosition'];},'currentParticlesSpeed':function(){return _0x3ad2de['particlesTextures']['currentParticlesSpeed'];}},'fragmentShaderSource':new Cesium$3[(_0x2a3fbf(0x521,0x50b))](_0x2d78dc),'outputTexture':this['particlesTextures']['nextParticlesPosition'],'preExecute':function(){function _0x31e183(_0x43cc8d,_0x27e314){return _0x2a4ab0(_0x27e314,_0x43cc8d- -0x198);}const _0x13049b=_0x3ad2de[_0x2b52b7(0xca,0x51)]['currentParticlesPosition'];_0x3ad2de[_0x2b52b7(-0x2e,0x51)]['currentParticlesPosition']=_0x3ad2de[_0x2b52b7(0x10,0x51)]['postProcessingPosition'],_0x3ad2de['particlesTextures']['postProcessingPosition']=_0x13049b;function _0x2b52b7(_0x2db1a6,_0x5f31b4){return _0x2a3fbf(_0x5f31b4- -0x4ce,_0x2db1a6);}_0x3ad2de['primitives']['updatePosition'][_0x31e183(0x14e,0x178)]['outputTexture']=_0x3ad2de[_0x31e183(0xea,0xf6)][_0x2b52b7(0x143,0xb0)];}}),'postProcessingPosition':new CustomPrimitive({'commandType':_0x2a3fbf(0x573,0x5e6),'uniformMap':{'nextParticlesPosition':function(){function _0x261676(_0xf76e47,_0x3efbf5){return _0x2a4ab0(_0xf76e47,_0x3efbf5-0x99);}return _0x3ad2de[_0x261676(0x384,0x31b)]['nextParticlesPosition'];},'nextParticlesSpeed':function(){function _0x3afb20(_0x36a997,_0x1e0c04){return _0x2a3fbf(_0x1e0c04- -0x6bc,_0x36a997);}return _0x3ad2de[_0x3afb20(-0x210,-0x19d)]['nextParticlesSpeed'];},'lonRange':function(){return _0x27edd2['lonRange'];},'latRange':function(){return _0x27edd2['latRange'];},'randomCoefficient':function(){const _0x35df3e=Math[_0x248c24(-0x28d,-0x22e)]();function _0x248c24(_0x5b54f9,_0x2ee004){return _0x2a3fbf(_0x2ee004- -0x718,_0x5b54f9);}return _0x35df3e;},'dropRate':function(){function _0x274caa(_0x37a9ec,_0x3dcf4b){return _0x2a4ab0(_0x3dcf4b,_0x37a9ec- -0x3bd);}return _0x3c1f92[_0x274caa(-0xa3,-0x10f)];},'dropRateBump':function(){return _0x3c1f92['dropRateBump'];}},'fragmentShaderSource':new Cesium$3[(_0x2a3fbf(0x521,0x541))](_0x5a31a3),'outputTexture':this['particlesTextures']['postProcessingPosition'],'preExecute':function(){function _0x3b3ac7(_0x2f72f9,_0x51bf15){return _0x2a3fbf(_0x2f72f9-0x99,_0x51bf15);}function _0x38613b(_0x1f5328,_0x2ff9af){return _0x2a3fbf(_0x2ff9af- -0x2ae,_0x1f5328);}_0x3ad2de[_0x3b3ac7(0x5ea,0x5de)]['postProcessingPosition']['commandToExecute'][_0x3b3ac7(0x576,0x4f0)]=_0x3ad2de['particlesTextures'][_0x3b3ac7(0x64f,0x6cf)];}}),'postProcessingSpeed':new CustomPrimitive({'commandType':_0x2a3fbf(0x573,0x50d),'uniformMap':{'postProcessingPosition':function(){return _0x3ad2de['particlesTextures']['postProcessingPosition'];},'nextParticlesSpeed':function(){return _0x3ad2de['particlesTextures']['nextParticlesSpeed'];}},'fragmentShaderSource':new Cesium$3['ShaderSource'](_0x479b6),'outputTexture':this['particlesTextures'][_0x2a4ab0(0x27a,0x288)],'preExecute':function(){function _0x2ff063(_0x10da2d,_0x4e99f9){return _0x2a3fbf(_0x4e99f9- -0x6ac,_0x10da2d);}_0x3ad2de['primitives']['postProcessingSpeed']['commandToExecute']['outputTexture']=_0x3ad2de['particlesTextures'][_0x2ff063(-0x184,-0x187)];}})};}}const Cesium$2=mars3d__namespace['Cesium'];class ParticleSystem{constructor(_0xa4ee1f,_0x2b62a7,_0x502d33,_0x3246ce){this[_0x3137a6(0xb,0x9f)]=_0xa4ee1f;function _0x3137a6(_0x4dbd83,_0x5cdafb){return _0x3a9b52(_0x5cdafb-0xb5,_0x4dbd83);}_0x2b62a7={..._0x2b62a7};_0x2b62a7['udata']&&_0x2b62a7[_0x5917a7(0x5ae,0x603)]&&(_0x2b62a7['dimensions']={},_0x2b62a7['dimensions'][_0x5917a7(0x54b,0x586)]=_0x2b62a7[_0x3137a6(0xde,0x12d)],_0x2b62a7['dimensions'][_0x5917a7(0x54e,0x5c9)]=_0x2b62a7[_0x5917a7(0x55b,0x4fe)],_0x2b62a7['dimensions']['lev']=_0x2b62a7['lev']||0x1,_0x2b62a7[_0x5917a7(0x54b,0x5d2)]={},_0x2b62a7[_0x3137a6(0x16d,0x101)][_0x5917a7(0x5bc,0x63e)]=_0x2b62a7['xmin'],_0x2b62a7['lon']['max']=_0x2b62a7[_0x3137a6(0x19b,0x174)],_0x2b62a7[_0x5917a7(0x54e,0x51b)]={},_0x2b62a7[_0x3137a6(0x167,0x104)][_0x3137a6(0x13c,0x172)]=_0x2b62a7[_0x5917a7(0x5b2,0x590)],_0x2b62a7['lat'][_0x5917a7(0x568,0x4ec)]=_0x2b62a7['ymax'],_0x2b62a7['lev']={},_0x2b62a7['lev'][_0x5917a7(0x5bc,0x56c)]=_0x2b62a7['levmin']??0x1,_0x2b62a7['lev'][_0x3137a6(0xac,0x11e)]=_0x2b62a7[_0x3137a6(0x165,0x180)]??0x1,_0x2b62a7['U']={},_0x2b62a7['U'][_0x3137a6(0x1be,0x13b)]=new Float32Array(_0x2b62a7['udata']),_0x2b62a7['U']['min']=_0x2b62a7[_0x5917a7(0x5ce,0x63b)]??Math['min'](..._0x2b62a7[_0x3137a6(0xa3,0xf4)]),_0x2b62a7['U']['max']=_0x2b62a7[_0x3137a6(0xda,0xe3)]??Math['max'](..._0x2b62a7['udata']),_0x2b62a7['V']={},_0x2b62a7['V'][_0x5917a7(0x585,0x536)]=new Float32Array(_0x2b62a7[_0x5917a7(0x5ae,0x5b6)]),_0x2b62a7['V'][_0x3137a6(0x111,0x172)]=_0x2b62a7[_0x3137a6(0x16d,0x150)]??Math['min'](..._0x2b62a7['vdata']),_0x2b62a7['V'][_0x3137a6(0x8a,0x11e)]=_0x2b62a7[_0x5917a7(0x4eb,0x4cd)]??Math['max'](..._0x2b62a7['vdata']));this['data']=_0x2b62a7,this['options']=_0x502d33;function _0x5917a7(_0x5c6d29,_0x1e5b04){return _0x181031(_0x5c6d29-0x21,_0x1e5b04);}this['viewerParameters']=_0x3246ce,this['particlesComputing']=new ParticlesComputing(this['context'],this['data'],this['options'],this[_0x5917a7(0x546,0x4c8)]),this['particlesRendering']=new ParticlesRendering(this[_0x5917a7(0x4e9,0x577)],this[_0x3137a6(0x7b,0xa4)],this[_0x5917a7(0x4e5,0x4be)],this['viewerParameters'],this['particlesComputing']);}['canvasResize'](_0x59e896){function _0x2adee7(_0x44c747,_0x1faded){return _0x181031(_0x1faded- -0x2bf,_0x44c747);}this['particlesComputing'][_0x2adee7(0x210,0x206)](),Object[_0x2adee7(0x241,0x1d2)](this[_0x925230(0x4b7,0x44c)]['windTextures'])[_0x2adee7(0x1fa,0x247)](_0x2d93a1=>{function _0x1b4c47(_0x39d30d,_0x4f0e77){return _0x925230(_0x4f0e77- -0x47b,_0x39d30d);}function _0x67e5da(_0x419822,_0x7f266e){return _0x2adee7(_0x419822,_0x7f266e-0x1ba);}this[_0x67e5da(0x420,0x3ab)][_0x67e5da(0x462,0x472)][_0x2d93a1][_0x1b4c47(0x16f,0xe8)]();}),this['particlesRendering']['textures'][_0x2adee7(0x2c4,0x2af)][_0x925230(0x563,0x5bd)](),Object[_0x2adee7(0x1c7,0x1d2)](this['particlesRendering']['framebuffers'])[_0x925230(0x50d,0x567)](_0x305127=>{function _0xcac495(_0xd9354a,_0x379e20){return _0x925230(_0x379e20- -0x63,_0xd9354a);}function _0x2612b0(_0x2911b9,_0x4ecb98){return _0x2adee7(_0x2911b9,_0x4ecb98-0x114);}this[_0xcac495(0x435,0x431)][_0xcac495(0x441,0x445)][_0x305127]['destroy']();});function _0x925230(_0x586d84,_0x1bbbf4){return _0x181031(_0x586d84-0x7,_0x1bbbf4);}this[_0x925230(0x4cf,0x522)]=_0x59e896,this[_0x2adee7(0x224,0x1f1)]=new ParticlesComputing(this['context'],this['data'],this[_0x925230(0x4cb,0x465)],this[_0x925230(0x52c,0x4a6)]),this['particlesRendering']=new ParticlesRendering(this['context'],this['data'],this['options'],this['viewerParameters'],this['particlesComputing']);}[_0x181031(0x48f,0x491)](){function _0xd15ace(_0x1b3e4a,_0x112dd3){return _0x181031(_0x1b3e4a- -0x50c,_0x112dd3);}function _0x5429cb(_0x3b33a4,_0x3a1599){return _0x181031(_0x3b33a4- -0x6,_0x3a1599);}const _0xbaf6d8=new Cesium$2[(_0x5429cb(0x5a4,0x512))]({'color':new Cesium$2[(_0x5429cb(0x590,0x5fc))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':undefined,'pass':Cesium$2['Pass'][_0xd15ace(0x38,0x99)]});Object['keys'](this['particlesRendering']['framebuffers'])['forEach'](_0x4ec632=>{function _0x2eb029(_0x557913,_0x2fbac0){return _0x5429cb(_0x2fbac0- -0x182,_0x557913);}function _0xc83800(_0x1f1b83,_0x4dd825){return _0x5429cb(_0x1f1b83- -0x444,_0x4dd825);}_0xbaf6d8[_0xc83800(0x79,0x7)]=this['particlesRendering'][_0xc83800(0x57,0x2d)][_0x4ec632],_0xbaf6d8[_0x2eb029(0x2d1,0x35d)](this['context']);});}['refreshParticles'](_0x58f2d7){this['clearFramebuffers']();function _0xfad9eb(_0x470281,_0xf2a2dc){return _0x181031(_0xf2a2dc- -0x63d,_0x470281);}this['particlesComputing']['destroyParticlesTextures'](),this['particlesComputing']['createParticlesTextures'](this[_0xfad9eb(-0x1ab,-0x175)],this['options'],this['viewerParameters']);function _0x527fb2(_0x36e819,_0x3cecf5){return _0x181031(_0x3cecf5- -0x602,_0x36e819);}if(_0x58f2d7){var _0x84e244;const _0x444254=this['particlesRendering'][_0x527fb2(-0xae,-0x66)](this['options']);this['particlesRendering'][_0xfad9eb(-0x7f,-0xfe)]['segments'][_0xfad9eb(-0x1ac,-0x1aa)]=_0x444254;const _0x3c86d6=Cesium$2[_0x527fb2(-0xf5,-0x93)]['fromGeometry']({'context':this['context'],'geometry':_0x444254,'attributeLocations':this[_0xfad9eb(-0x14c,-0x1b0)][_0x527fb2(-0x118,-0xc3)]['segments'][_0xfad9eb(-0xfd,-0x154)],'bufferUsage':Cesium$2[_0x527fb2(-0x11a,-0xc0)][_0xfad9eb(-0xc7,-0xf5)]});(_0x84e244=this[_0xfad9eb(-0x179,-0x1b0)]['primitives'])!==null&&_0x84e244!==void 0x0&&(_0x84e244=_0x84e244['segments'])!==null&&_0x84e244!==void 0x0&&_0x84e244[_0xfad9eb(-0x6a,-0xcc)]&&(this[_0xfad9eb(-0x186,-0x1b0)]['primitives'][_0xfad9eb(-0xe3,-0x9e)]['commandToExecute'][_0x527fb2(-0x121,-0xcb)]=_0x3c86d6);}}[_0x3a9b52(0x45,0xcb)](_0x3fe5f9){function _0x3cbcda(_0x229f4b,_0x4a3b94){return _0x3a9b52(_0x4a3b94-0x258,_0x229f4b);}let _0x4c7f0f=![];this['options']['maxParticles']!==_0x3fe5f9[_0x3cbcda(0x2be,0x2b5)]&&(_0x4c7f0f=!![]);function _0x1fe0ef(_0x27f319,_0x1519ca){return _0x3a9b52(_0x27f319-0x472,_0x1519ca);}Object[_0x3cbcda(0x21c,0x20b)](_0x3fe5f9)['forEach'](_0x1ebf79=>{this['options'][_0x1ebf79]=_0x3fe5f9[_0x1ebf79];}),this['refreshParticles'](_0x4c7f0f);}['applyViewerParameters'](_0x5e77a5){Object['keys'](_0x5e77a5)['forEach'](_0x2c8629=>{function _0x1b8948(_0x17599d,_0xe1e663){return _0x5630(_0x17599d- -0xbc,_0xe1e663);}this[_0x1b8948(0x144,0xfc)][_0x2c8629]=_0x5e77a5[_0x2c8629];});function _0x1d4295(_0xaf1b8,_0x391557){return _0x181031(_0x391557- -0x299,_0xaf1b8);}this[_0x1d4295(0x25c,0x28b)](![]);}['destroy'](){clearTimeout(this[_0x426dbe(-0x17c,-0x18d)]);function _0x105ff6(_0x5140d5,_0x11f791){return _0x181031(_0x11f791- -0x6c3,_0x5140d5);}this['particlesComputing']['destroyParticlesTextures'](),Object[_0x426dbe(-0x1a1,-0x153)](this['particlesComputing']['windTextures'])[_0x105ff6(-0x193,-0x1bd)](_0x4d2ca4=>{function _0x21cc84(_0x5f5913,_0x5a6cae){return _0x426dbe(_0x5a6cae-0xb4,_0x5f5913);}this[_0x21cc84(-0x144,-0xce)]['windTextures'][_0x4d2ca4]['destroy']();});function _0x426dbe(_0x45617f,_0x23b53d){return _0x3a9b52(_0x45617f- -0x154,_0x23b53d);}this['particlesRendering']['textures'][_0x426dbe(-0xc4,-0xa8)][_0x105ff6(-0xfd,-0x167)](),Object[_0x105ff6(-0x1e9,-0x232)](this['particlesRendering']['framebuffers'])['forEach'](_0x27fbd7=>{function _0x4635e4(_0x4840ff,_0x1eac6f){return _0x426dbe(_0x4840ff-0x3da,_0x1eac6f);}function _0x2f92bc(_0x1a0056,_0x17ae6e){return _0x426dbe(_0x1a0056-0x5e7,_0x17ae6e);}this[_0x2f92bc(0x442,0x437)][_0x2f92bc(0x456,0x48d)][_0x27fbd7][_0x4635e4(0x304,0x2cf)]();});for(const _0x11105e in this){delete this[_0x11105e];}}}const Cesium$1=mars3d__namespace['Cesium'],BaseLayer$1=mars3d__namespace['layer'][_0x3a9b52(-0x34,-0x98)],_0x1f6037={};_0x1f6037['particlesNumber']=0x1000,_0x1f6037[_0x3a9b52(0x17,0x69)]=0x0,_0x1f6037['fadeOpacity']=0.996,_0x1f6037[_0x3a9b52(0xc7,0x112)]=0.003,_0x1f6037[_0x181031(0x56a,0x5d9)]=0.01,_0x1f6037['speedFactor']=0.5,_0x1f6037['lineWidth']=0x2,_0x1f6037['colors']=[_0x181031(0x4a4,0x447)];const DEF_OPTIONS=_0x1f6037;class WindLayer extends BaseLayer$1{constructor(_0x1ec6c5={}){_0x1ec6c5={...DEF_OPTIONS,..._0x1ec6c5};function _0xcf802d(_0x174914,_0x1ead38){return _0x3a9b52(_0x1ead38-0x39e,_0x174914);}super(_0x1ec6c5),this[_0xcf802d(0x41b,0x418)](_0x1ec6c5);}get[_0x3a9b52(0xa3,0xc2)](){return this['primitives'];}get['data'](){function _0x176fe9(_0x2010c3,_0x19cd97){return _0x181031(_0x19cd97-0xad,_0x2010c3);}return this[_0x176fe9(0x527,0x5a7)];}set[_0x3a9b52(-0x11,-0x11)](_0x154f66){function _0x5ca4a3(_0x1a7100,_0x504409){return _0x3a9b52(_0x1a7100-0x141,_0x504409);}this[_0x5ca4a3(0x13d,0xab)](_0x154f66);}get['colors'](){function _0x5ddbe9(_0x5681d2,_0x2bddeb){return _0x181031(_0x2bddeb- -0x46c,_0x5681d2);}function _0xcfaf03(_0x146f39,_0x4498b1){return _0x3a9b52(_0x146f39-0x465,_0x4498b1);}return this[_0x5ddbe9(0x25,0x58)][_0x5ddbe9(0x16d,0xeb)];}set['colors'](_0xe3d231){this['options']['colors']=_0xe3d231;if(this[_0x52cd45(0x187,0x191)]){const _0x29d522={};_0x29d522[_0x52cd45(0xb4,0x137)]=_0xe3d231,this[_0x211c37(0x287,0x2f6)]['setOptions'](_0x29d522);}function _0x52cd45(_0x5bc14d,_0x3fcb10){return _0x3a9b52(_0x3fcb10-0xbe,_0x5bc14d);}function _0x211c37(_0x35d37b,_0x163b6a){return _0x3a9b52(_0x35d37b-0x1b4,_0x163b6a);}this['resize']();}[_0x3a9b52(-0x15,-0x61)](){}['_addedHook'](){function _0xf0f8e7(_0x1a56d6,_0x59b000){return _0x181031(_0x1a56d6- -0x313,_0x59b000);}this[_0x9b5fa8(0x5f2,0x561)]=this['_map']['scene'],this['camera']=this['_map']['camera'],this[_0x9b5fa8(0x606,0x5a1)]=new Cesium$1['PrimitiveCollection'](),this['_map']['scene']['primitives'][_0x9b5fa8(0x590,0x529)](this[_0x9b5fa8(0x56e,0x5a1)]),this[_0xf0f8e7(0x212,0x233)]={'lonRange':new Cesium$1['Cartesian2'](),'latRange':new Cesium$1[(_0xf0f8e7(0x230,0x26f))](),'pixelSize':0x0},this[_0xf0f8e7(0x287,0x22c)]=new Cesium$1[(_0xf0f8e7(0x278,0x225))](Cesium$1[_0xf0f8e7(0x1d7,0x1b8)]['ZERO'],0.99*0x615299);function _0x9b5fa8(_0x4ae8ca,_0x4f1b0f){return _0x181031(_0x4f1b0f-0x62,_0x4ae8ca);}this[_0xf0f8e7(0x282,0x277)](),window['addEventListener']('resize',this['resize'][_0xf0f8e7(0x21f,0x258)](this),![]),this['mouse_down']=![],this[_0xf0f8e7(0x1ab,0x12a)]=![],this[_0x9b5fa8(0x58c,0x5dd)]['on'](mars3d__namespace[_0xf0f8e7(0x1a1,0x1a5)][_0xf0f8e7(0x1d3,0x260)],this[_0xf0f8e7(0x1e5,0x1e0)],this),this[_0x9b5fa8(0x5df,0x5dd)]['on'](mars3d__namespace['EventType']['mouseDown'],this['_onMouseDownEvent'],this),this['_map']['on'](mars3d__namespace[_0xf0f8e7(0x1a1,0x236)][_0xf0f8e7(0x23c,0x1ce)],this['_onMouseUpEvent'],this),this['_map']['on'](mars3d__namespace['EventType']['mouseMove'],this[_0x9b5fa8(0x553,0x584)],this),this[_0xf0f8e7(0x1e7,0x18d)]&&this[_0x9b5fa8(0x560,0x53c)](this['_data']);}['_removedHook'](){window['removeEventListener']('resize',this[_0x906e3c(0x2d,0x4b)]),this['_map']['off'](mars3d__namespace[_0x5ba0a4(-0x24b,-0x21e)]['preRender'],this['_onMap_preRenderEvent'],this),this[_0x5ba0a4(-0x1dc,-0x157)]['off'](mars3d__namespace[_0x5ba0a4(-0x1db,-0x21e)]['wheel'],this['_onMapWhellEvent'],this),this[_0x5ba0a4(-0x1b1,-0x157)]['off'](mars3d__namespace[_0x5ba0a4(-0x204,-0x21e)]['mouseDown'],this['_onMouseDownEvent'],this),this['_map'][_0x906e3c(0x2f,-0x4f)](mars3d__namespace['EventType']['mouseUp'],this[_0x5ba0a4(-0x209,-0x220)],this),this['_map']['off'](mars3d__namespace[_0x5ba0a4(-0x1ef,-0x21e)][_0x906e3c(-0x3e,-0x20)],this['_onMouseMoveEvent'],this);function _0x906e3c(_0x94d98d,_0x47b6e8){return _0x3a9b52(_0x94d98d- -0x8c,_0x47b6e8);}this['primitives']['removeAll']();function _0x5ba0a4(_0x308794,_0x57a07b){return _0x3a9b52(_0x57a07b- -0x1f4,_0x308794);}this['_map']['scene'][_0x5ba0a4(-0x12b,-0x193)][_0x5ba0a4(-0x280,-0x23b)](this['primitives']);}['resize'](){if(!this['show']||!this['particleSystem'])return;this[_0x108212(0x5c4,0x5dc)][_0x372ec2(0x33c,0x3c6)]=![];function _0x108212(_0xf9a40a,_0x248ce0){return _0x3a9b52(_0x248ce0-0x57b,_0xf9a40a);}this['primitives']['removeAll']();function _0x372ec2(_0x1b5464,_0x2298fa){return _0x181031(_0x2298fa- -0x10f,_0x1b5464);}this[_0x108212(0x61a,0x618)]['once'](mars3d__namespace['EventType']['preRender'],this[_0x372ec2(0x401,0x387)],this);}[_0x181031(0x496,0x505)](_0x5dde3d){function _0x12d19c(_0x5c1762,_0xb40deb){return _0x181031(_0x5c1762- -0x3e4,_0xb40deb);}function _0x147d49(_0x167940,_0x3afc8d){return _0x3a9b52(_0x167940-0x16c,_0x3afc8d);}this[_0x12d19c(0x1cd,0x157)][_0x147d49(0x1da,0x1e1)](this['scene']['context']),this['addPrimitives'](),this['primitives'][_0x12d19c(0xf1,0x136)]=!![];}[_0x3a9b52(0x1a,0x65)](_0x9c1db){clearTimeout(this[_0x6837(-0x49,-0xce)]);if(!this['show']||!this[_0x6837(-0x72,-0x56)])return;function _0x17e2df(_0x5711b4,_0x4a6399){return _0x3a9b52(_0x5711b4-0x323,_0x4a6399);}this[_0x6837(-0xc0,-0xc8)]['show']=![];function _0x6837(_0x56ed3e,_0x43cd64){return _0x3a9b52(_0x43cd64- -0x129,_0x56ed3e);}this['refreshTimer']=setTimeout(()=>{if(!this['show'])return;function _0x1f2edf(_0x8319c7,_0x58a26b){return _0x6837(_0x8319c7,_0x58a26b- -0x3e);}this[_0x1f2edf(-0x143,-0x10f)]();},0xc8);}['_onMouseDownEvent'](_0x59258a){function _0x51f272(_0x40f55b,_0x25b990){return _0x181031(_0x25b990-0x69,_0x40f55b);}this[_0x51f272(0x4f1,0x556)]=!![];}['_onMouseMoveEvent'](_0x25848f){if(!this['show']||!this['particleSystem'])return;function _0x54de7d(_0x977a57,_0x348da5){return _0x3a9b52(_0x348da5-0x385,_0x977a57);}this['mouse_down']&&(this['primitives']['show']=![],this[_0x54de7d(0x348,0x365)]=!![]);}['_onMouseUpEvent'](_0xc0c582){function _0x28a3d3(_0x18a75c,_0x4180ad){return _0x3a9b52(_0x18a75c- -0x128,_0x4180ad);}if(!this['show']||!this[_0x2dd776(-0xb0,-0x2f)])return;this['mouse_down']&&this[_0x28a3d3(-0x148,-0x1d2)]&&this[_0x28a3d3(-0xd0,-0x8d)]();this[_0x2dd776(-0x122,-0x176)]['show']=!![],this['mouse_down']=![];function _0x2dd776(_0xda344f,_0x4f1d26){return _0x181031(_0xda344f- -0x661,_0x4f1d26);}this['mouse_move']=![];}['redraw'](){if(!this['_map']||!this['show'])return;function _0x28d388(_0x45929e,_0x3d74a6){return _0x3a9b52(_0x3d74a6-0x132,_0x45929e);}function _0x3d8e5c(_0x570d86,_0x165b57){return _0x181031(_0x570d86- -0x675,_0x165b57);}this[_0x3d8e5c(-0xe0,-0x13b)](),this['particleSystem'][_0x28d388(0x162,0x189)](this['viewerParameters']),this[_0x3d8e5c(-0x136,-0x1ad)]['show']=!![];}['setData'](_0x557368){function _0xa8ae6b(_0x10b81f,_0x121c38){return _0x3a9b52(_0x10b81f-0x85,_0x121c38);}this['_data']=_0x557368;this[_0x20c321(0xcd,0x14a)]&&this['particleSystem']['destroy']();function _0x20c321(_0x244f29,_0x2d9587){return _0x3a9b52(_0x244f29- -0x6,_0x2d9587);}this[_0xa8ae6b(0x158,0x124)]=new ParticleSystem(this[_0xa8ae6b(0xa6,0x72)][_0x20c321(-0x1c,0xf)],_0x557368,this['getOptions'](),this[_0xa8ae6b(0xcc,0xc4)]),this['addPrimitives']();}['_setOptionsHook'](_0x198abb,_0x449edc){function _0x4df026(_0x4933d9,_0x451865){return _0x3a9b52(_0x451865-0x4f0,_0x4933d9);}if(_0x198abb)for(const _0x650ed6 in _0x198abb){this[_0x650ed6]=_0x198abb[_0x650ed6];}function _0x48da09(_0x1249dd,_0xa25553){return _0x181031(_0x1249dd- -0x4b9,_0xa25553);}this[_0x4df026(0x52f,0x5c3)]&&this[_0x4df026(0x595,0x5c3)]['setOptions'](this[_0x48da09(0x85,0x86)]());}[_0x181031(0x53e,0x58c)](){const _0x54e5ec=Math['ceil'](Math['sqrt'](this[_0x40c1ef(0x2f6,0x32d)]));this['particlesNumber']=_0x54e5ec*_0x54e5ec;function _0x40c1ef(_0x459326,_0x5e568f){return _0x181031(_0x5e568f- -0x289,_0x459326);}const _0x436bc0={};_0x436bc0['particlesTextureSize']=_0x54e5ec,_0x436bc0['maxParticles']=this['particlesNumber'];function _0xbb493c(_0x269735,_0x515f24){return _0x181031(_0x515f24- -0x5e5,_0x269735);}return _0x436bc0['particleHeight']=this['fixedHeight'],_0x436bc0[_0xbb493c(-0x121,-0x138)]=this['fadeOpacity'],_0x436bc0['dropRate']=this[_0x40c1ef(0x2c5,0x31c)],_0x436bc0['dropRateBump']=this[_0x40c1ef(0x2ad,0x2e1)],_0x436bc0['speedFactor']=this['speedFactor'],_0x436bc0['lineWidth']=this['lineWidth'],_0x436bc0[_0x40c1ef(0x2d2,0x2ce)]=this[_0xbb493c(-0x37,-0x8e)],_0x436bc0;}['addPrimitives'](){function _0x1fc334(_0x387937,_0xd4f7){return _0x3a9b52(_0xd4f7- -0x10a,_0x387937);}function _0x10d627(_0x336d0c,_0x5362a7){return _0x181031(_0x5362a7-0x87,_0x336d0c);}this['primitives']['add'](this['particleSystem'][_0x1fc334(-0x171,-0x138)]['primitives']['getWind']),this['primitives']['add'](this['particleSystem'][_0x10d627(0x4be,0x537)]['primitives']['updateSpeed']),this['primitives']['add'](this[_0x1fc334(-0x31,-0x37)]['particlesComputing'][_0x1fc334(-0x76,-0xa9)]['updatePosition']),this[_0x1fc334(-0x42,-0xa9)]['add'](this[_0x1fc334(0x38,-0x37)][_0x10d627(0x5b8,0x537)][_0x10d627(0x557,0x5c6)]['postProcessingPosition']),this['primitives']['add'](this[_0x1fc334(-0x3d,-0x37)]['particlesComputing']['primitives'][_0x1fc334(-0x10d,-0xd5)]),this['primitives']['add'](this['particleSystem']['particlesRendering']['primitives']['segments']),this[_0x10d627(0x5fd,0x5c6)]['add'](this['particleSystem'][_0x10d627(0x53e,0x514)]['primitives'][_0x1fc334(-0xa2,-0xdf)]),this[_0x10d627(0x5a4,0x5c6)]['add'](this['particleSystem']['particlesRendering']['primitives'][_0x10d627(0x5a4,0x613)]);}[_0x181031(0x595,0x53b)](){let _0x2146a4=this['camera']['computeViewRectangle'](this[_0x23ad12(0x224,0x1b1)][_0x508750(0x40a,0x3a8)][_0x23ad12(0x28a,0x2e1)]);if(!_0x2146a4){const _0x3dd452=this['_map']['getExtent']();_0x2146a4=Cesium$1['Rectangle']['fromDegrees'](_0x3dd452[_0x508750(0x390,0x406)],_0x3dd452['ymin'],_0x3dd452['xmax'],_0x3dd452['ymax']);}const _0x30041f=Util['viewRectangleToLonLatRange'](_0x2146a4);this['viewerParameters']['lonRange']['x']=_0x30041f['lon'][_0x508750(0x444,0x3ee)];function _0x23ad12(_0x31526c,_0x3e36d3){return _0x181031(_0x31526c- -0x2db,_0x3e36d3);}this[_0x23ad12(0x24a,0x1e6)][_0x23ad12(0x23e,0x229)]['y']=_0x30041f[_0x508750(0x395,0x37d)][_0x508750(0x41c,0x39a)],this[_0x23ad12(0x24a,0x22f)]['latRange']['x']=_0x30041f['lat'][_0x508750(0x3cb,0x3ee)],this['viewerParameters']['latRange']['y']=_0x30041f['lat']['max'];const _0x4382a5=this[_0x508750(0x3b8,0x3d7)][_0x23ad12(0x1c2,0x138)](this[_0x508750(0x440,0x3ed)],this['scene']['drawingBufferWidth'],this['scene'][_0x508750(0x328,0x3bc)]);function _0x508750(_0x32e32a,_0x4b02a7){return _0x181031(_0x4b02a7- -0x1ad,_0x32e32a);}_0x4382a5>0x0&&(this[_0x23ad12(0x24a,0x216)]['pixelSize']=_0x4382a5);}}mars3d__namespace['LayerUtil']['register']('wind',WindLayer),mars3d__namespace['layer'][_0x3a9b52(0xa,0x77)]=WindLayer;class CanvasParticle{constructor(){function _0x1d6972(_0xb868fc,_0x3ae2fc){return _0x181031(_0x3ae2fc- -0x5f4,_0xb868fc);}this[_0x1d6972(-0x143,-0x14f)]=null,this['lat']=null;function _0x43d734(_0x3b6fc5,_0xf3fa83){return _0x3a9b52(_0x3b6fc5-0x59d,_0xf3fa83);}this['tlng']=null,this['tlat']=null,this['age']=null,this[_0x43d734(0x5e6,0x576)]=null;}['destroy'](){for(const _0x1b1db2 in this){delete this[_0x1b1db2];}}}function _0x3250(){const _0x443427=['162656HMMNYa','DrawCommand','drawingBufferHeight','dropRateBump','container','nextParticlesPosition','sqrt','colorTable','VertexArray','canvasContext','commandToExecute','worker','postMessage','_tomap','particles','length','windTextures','_bilinearInterpolation','vmin','createTexture','_map','zIndex','unbindEvent','maxAge','setDate','toDegrees','layer','_onMouseDownEvent','stroke','camera','RGB','TRIANGLES','DISABLE_GL_POSITION_LOG_DEPTH','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','moveTo','floor','BoundingSphere','screen','vdata','getUVByPoint','dimensions','depthTest','ymin','clampToLatitudeRange','3018615foFEoS','PrimitiveType','updateViewerParameters','Color','resize','RGBA','off','globeBoundingSphere','min','createSegmentsGeometry','xmax','clearCommand','segments','canvasHeight','latRange','age','defined','postProcessingPosition','dropRate','currentParticlesPosition','style','particlesTextureSize','levmax','ClearCommand','auto','0px','umin','randomBetween','rawRenderState','clear','particleSystem','tlat','xmin','getContext','removeEventListener','particlesNumber','particlesRendering','pixelSize','clearFramebuffers','canvasWind','keys','animateFrame','geometry','isDestroyed','14fljORD','_onMap_preRenderEvent','remove','all','3751915JBoAET','primitiveType','textures','windData','getPixelSize','nextTrails','Geometry','height','framebuffers','ymax','mouseHidden','rgb(206,255,255)','lng','grid','visible','4PoLhuH','commandType','BaseLayer','TWO_PI','pointerEvents','fadeOpacity','PixelDatatype','sources','particlesComputing','destination-in','_onMouseUpEvent','WindUtil','EventType','globalCompositeOperation','canrefresh','mod','west','viewport','8075124VLgPNm','_calcUV','pixelDatatype','randomizeParticles','mouse_move','_colorRamp','__esModule','89596HytmWH','windField','framebuffer','options','destroyParticlesTextures','updateSpeed','add','context','_mountedHook','vmax','outputTexture','create','data','SCENE3D','requestAnimationFrame','positionWC','createRawRenderState','getRandomLatLng','update','left','show','canvas','preExecute','random','arrayBufferView','setData','enabled','fillRect','SceneTransforms','color','speedFactor','_pointerEvents','clientWidth','fromGeometry','getV','__proto__','execute','wheel','Cesium','WindLayer','attributeLocations','Cartesian3','10FTbskA','pointer-events','mouse_down','UNSIGNED_BYTE','bindEvent','defines','Pass','uniformMap','FLOAT','mode','fixedHeight','currentTrailsDepth','frameTime','_onMapWhellEvent','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','_data','getFullscreenQuad','ComponentDatatype','Draw','pow','scene','lev','5093868yzBIJl','depthTexture','depthMask','_randomParticle','persists','forEach','//\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','removeChild','trails','createRenderingTextures','_addedHook','umax','particlesTextures','DEPTH_COMPONENT','ShaderSource','Math','Appearance','push','postProcessingSpeed','_updateIng','steps','speedRate','lineWidth','Sampler','lonRange','9476883XdpYAV','type','ALWAYS','udata','initWorker','isInExtent','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','getParticles','_onMouseMoveEvent','setOptions','refreshParticles','viewerParameters','_drawLines','speed','PixelFormat','particlesWind','lon','GeometryAttribute','mouseMove','lat','tlng','shaderProgram','2RCrxyv','default','bind','commandList','LINEAR','applyViewerParameters','redraw','vertexArray','none','refreshTimer','rows','maxParticles','fromDegrees','width','getOptions','primitives','autoClear','defineProperty','BufferUsage','Cartesian2','OPAQUE','createComputingPrimitives','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','max','STATIC_DRAW','_speedRate','ColorRamp','init','canvasResize','vertexShaderSource','fromCache','mouseUp','_removedHook','currentTrails','createRenderingFramebuffers','getUVByXY','clientHeight','globe','cols','colors','_setOptionsHook','11ObPTLi','_updateIng2','createCommand','destroy','pixelFormat','beginPath','register','mars3d-canvasWind','Compute','getColorTexture','PI_OVER_TWO','array','ellipsoid','_calc_speedRate'];_0x3250=function(){return _0x443427;};return _0x3250();}class CanvasWindField{constructor(_0x4063c8){this['setOptions'](_0x4063c8);}get[_0x3a9b52(0x38,0x7b)](){return this['_speedRate'];}set[_0x181031(0x516,0x4a6)](_0x1f143d){this['_speedRate']=(0x64-(_0x1f143d>0x63?0x63:_0x1f143d))*0x64;function _0xf90d9f(_0x8cdbfd,_0xa8403){return _0x181031(_0x8cdbfd- -0x6bf,_0xa8403);}this['_calc_speedRate']=[(this['xmax']-this['xmin'])/this['_speedRate'],(this['ymax']-this['ymin'])/this[_0xf90d9f(-0x176,-0x10b)]];}get[_0x181031(0x57e,0x5d9)](){return this['_maxAge'];}set['maxAge'](_0x4341e2){this['_maxAge']=_0x4341e2;}[_0x181031(0x523,0x4a9)](_0x4d6cf7){this['options']=_0x4d6cf7;function _0x3bb1ac(_0x348a99,_0x4f6ed4){return _0x181031(_0x348a99- -0x387,_0x4f6ed4);}this[_0x3bb1ac(0x1f7,0x277)]=_0x4d6cf7['maxAge']||0x78,this['speedRate']=_0x4d6cf7[_0x5c4bc0(0x20c,0x1e3)]||0x32,this[_0x3bb1ac(0x1ee,0x27f)]=[];function _0x5c4bc0(_0x3a6e06,_0x85b548){return _0x181031(_0x85b548- -0x333,_0x3a6e06);}const _0x445b2b=_0x4d6cf7[_0x5c4bc0(0x25a,0x283)]||0x1000;for(let _0x5d10b5=0x0;_0x5d10b5<_0x445b2b;_0x5d10b5++){const _0x5d5be9=this['_randomParticle'](new CanvasParticle());this['particles'][_0x5c4bc0(0x24a,0x1df)](_0x5d5be9);}}[_0x3a9b52(0xa1,0xdf)](_0x4f9b0b){this['rows']=_0x4f9b0b['rows'],this[_0xa1f16b(0x49b,0x4ad)]=_0x4f9b0b['cols'],this['xmin']=_0x4f9b0b['xmin'],this[_0x2c035d(0x24,-0x4)]=_0x4f9b0b['xmax'],this[_0xa1f16b(0x4d6,0x4e1)]=_0x4f9b0b['ymin'],this['ymax']=_0x4f9b0b['ymax'],this['grid']=[];const _0x4a19bb=_0x4f9b0b['udata'],_0x4dd821=_0x4f9b0b['vdata'];function _0xa1f16b(_0x2fdab6,_0x5cf738){return _0x181031(_0x2fdab6- -0xbb,_0x5cf738);}let _0x31f973=![];_0x4a19bb['length']===this['rows']&&_0x4a19bb[0x0][_0xa1f16b(0x4bb,0x540)]===this['cols']&&(_0x31f973=!![]);function _0x2c035d(_0x38bce4,_0x44165c){return _0x181031(_0x38bce4- -0x579,_0x44165c);}let _0x172a8d=0x0,_0x5a241e=null,_0xffbced=null;for(let _0x296df9=0x0;_0x296df9<this['rows'];_0x296df9++){_0x5a241e=[];for(let _0x5c0854=0x0;_0x5c0854<this[_0xa1f16b(0x49b,0x51c)];_0x5c0854++,_0x172a8d++){_0x31f973?_0xffbced=this['_calcUV'](_0x4a19bb[_0x296df9][_0x5c0854],_0x4dd821[_0x296df9][_0x5c0854]):_0xffbced=this['_calcUV'](_0x4a19bb[_0x172a8d],_0x4dd821[_0x172a8d]),_0x5a241e[_0x2c035d(-0x67,-0xac)](_0xffbced);}this[_0x2c035d(-0xd3,-0x14f)][_0xa1f16b(0x457,0x492)](_0x5a241e);}this['options']['reverseY']&&this['grid']['reverse']();}[_0x181031(0x5b0,0x52d)](){delete this['rows'],delete this[_0x41f112(0x346,0x344)],delete this[_0x41f112(0x3a3,0x3b2)];function _0x1d13a8(_0x3079b5,_0x4bb54e){return _0x181031(_0x3079b5- -0xe9,_0x4bb54e);}function _0x41f112(_0x1b72f7,_0x424134){return _0x181031(_0x1b72f7- -0x210,_0x424134);}delete this['xmax'],delete this['ymin'],delete this['ymax'],delete this[_0x41f112(0x296,0x2ae)],delete this[_0x41f112(0x365,0x323)];}['toGridXY'](_0x20c1d9,_0x219cb4){const _0x4bdb04=(_0x20c1d9-this[_0x5acc55(0x54b,0x5e0)])/(this[_0x5acc55(0x648,0x5ca)]-this[_0x5acc55(0x65a,0x5e0)])*(this['cols']-0x1);function _0x53790f(_0x4943ec,_0x177d99){return _0x181031(_0x4943ec- -0x6eb,_0x177d99);}const _0x179915=(this['ymax']-_0x219cb4)/(this['ymax']-this['ymin'])*(this['rows']-0x1);function _0x5acc55(_0x3d014d,_0x151bd8){return _0x181031(_0x151bd8-0x2d,_0x3d014d);}return[_0x4bdb04,_0x179915];}[_0x181031(0x553,0x57c)](_0x4486ea,_0x5d596b){if(_0x4486ea<0x0||_0x4486ea>=this[_0x61d7ba(0x4a2,0x4f0)]||_0x5d596b>=this['rows'])return[0x0,0x0,0x0];const _0x1b1c62=Math['floor'](_0x4486ea);function _0x61d7ba(_0x4b4131,_0x5a29d3){return _0x3a9b52(_0x4b4131-0x42a,_0x5a29d3);}const _0x2c084a=Math[_0x61d7ba(0x4d6,0x516)](_0x5d596b);if(_0x1b1c62===_0x4486ea&&_0x2c084a===_0x5d596b)return this['grid'][_0x5d596b][_0x4486ea];const _0x4cff0a=_0x1b1c62+0x1,_0x3ffe67=_0x2c084a+0x1,_0x32ae67=this[_0x61d7ba(0x49f,0x486)](_0x1b1c62,_0x2c084a),_0x4ca9c8=this[_0x6d9153(0x86,0x60)](_0x4cff0a,_0x2c084a),_0x4ffd1a=this['getUVByXY'](_0x1b1c62,_0x3ffe67),_0x29efd7=this['getUVByXY'](_0x4cff0a,_0x3ffe67);function _0x6d9153(_0x48e80a,_0x520339){return _0x181031(_0x48e80a- -0x4cd,_0x520339);}let _0x15d1a3=null;try{_0x15d1a3=this[_0x61d7ba(0x4c4,0x510)](_0x4486ea-_0x1b1c62,_0x5d596b-_0x2c084a,_0x32ae67,_0x4ca9c8,_0x4ffd1a,_0x29efd7);}catch(_0x12d603){console['log'](_0x4486ea,_0x5d596b);}return _0x15d1a3;}['_bilinearInterpolation'](_0x211ca5,_0x2110cf,_0x88abda,_0x58d88e,_0x2c8b1e,_0x18ee67){const _0x43c28d=0x1-_0x211ca5,_0x173c6a=0x1-_0x2110cf,_0x5d0be3=_0x43c28d*_0x173c6a;function _0xd2668d(_0x55090f,_0x3a0dd8){return _0x181031(_0x3a0dd8- -0x559,_0x55090f);}const _0x3e5017=_0x211ca5*_0x173c6a,_0x5c52e3=_0x43c28d*_0x2110cf,_0x5e1d6e=_0x211ca5*_0x2110cf,_0x337203=_0x88abda[0x0]*_0x5d0be3+_0x58d88e[0x0]*_0x3e5017+_0x2c8b1e[0x0]*_0x5c52e3+_0x18ee67[0x0]*_0x5e1d6e,_0x5a640c=_0x88abda[0x1]*_0x5d0be3+_0x58d88e[0x1]*_0x3e5017+_0x2c8b1e[0x1]*_0x5c52e3+_0x18ee67[0x1]*_0x5e1d6e;return this[_0xd2668d(-0x68,-0x9e)](_0x337203,_0x5a640c);}[_0x181031(0x4bb,0x482)](_0x25a691,_0x25abbb){return[+_0x25a691,+_0x25abbb,Math['sqrt'](_0x25a691*_0x25a691+_0x25abbb*_0x25abbb)];}[_0x3a9b52(0xb0,0x7b)](_0x4f5a69,_0x397a84){if(!this[_0x4ebf82(0x23e,0x29a)](_0x4f5a69,_0x397a84))return null;function _0x4ebf82(_0x15d814,_0x12a2ca){return _0x3a9b52(_0x12a2ca-0x259,_0x15d814);}function _0x32566a(_0x1c5cd2,_0x119a1f){return _0x3a9b52(_0x119a1f-0x4cb,_0x1c5cd2);}const _0x540502=this['toGridXY'](_0x4f5a69,_0x397a84),_0x38b60f=this[_0x32566a(0x4ca,0x540)](_0x540502[0x0],_0x540502[0x1]);return _0x38b60f;}['isInExtent'](_0xef8ff6,_0x16e3e2){function _0x374d46(_0x472df1,_0x3539cd){return _0x181031(_0x3539cd- -0x677,_0x472df1);}return _0xef8ff6>=this['xmin']&&_0xef8ff6<=this['xmax']&&_0x16e3e2>=this[_0x374d46(-0x60,-0xe6)]&&_0x16e3e2<=this['ymax']?!![]:![];}[_0x181031(0x4d2,0x43d)](){const _0x3a6672=fRandomByfloat(this['xmin'],this[_0xc8e2ec(0x119,0xe7)]),_0x58a918=fRandomByfloat(this[_0x29b3d9(0x353,0x301)],this[_0xc8e2ec(0x1e,0x2)]),_0x42b35f={};function _0xc8e2ec(_0x4c4327,_0x3fe172){return _0x181031(_0x4c4327- -0x484,_0x3fe172);}_0x42b35f[_0x29b3d9(0x2ef,0x27b)]=_0x58a918,_0x42b35f[_0xc8e2ec(0x21,0x51)]=_0x3a6672;function _0x29b3d9(_0x37752b,_0x2ecf71){return _0x3a9b52(_0x37752b-0x2a0,_0x2ecf71);}return _0x42b35f;}[_0x181031(0x521,0x585)](){function _0x11a483(_0x3b5b76,_0x395ea0){return _0x3a9b52(_0x395ea0- -0x139,_0x3b5b76);}let _0x529438,_0x1e27ab,_0x55b5af;for(let _0x22133d=0x0,_0x2fa98a=this['particles'][_0x11a483(-0xd3,-0xa1)];_0x22133d<_0x2fa98a;_0x22133d++){let _0x2c41d1=this['particles'][_0x22133d];_0x2c41d1['age']<=0x0&&(_0x2c41d1=this[_0x513379(0x20c,0x273)](_0x2c41d1));if(_0x2c41d1['age']>0x0){const _0x1a4792=_0x2c41d1[_0x11a483(-0xbe,-0xe9)],_0x337c0f=_0x2c41d1[_0x513379(0x2ba,0x2df)];_0x55b5af=this[_0x513379(0x296,0x2c7)](_0x1a4792,_0x337c0f),_0x55b5af?(_0x529438=_0x1a4792+this[_0x11a483(-0xae,-0xb1)][0x0]*_0x55b5af[0x0],_0x1e27ab=_0x337c0f+this['_calc_speedRate'][0x1]*_0x55b5af[0x1],_0x2c41d1[_0x11a483(-0x161,-0x172)]=_0x1a4792,_0x2c41d1['lat']=_0x337c0f,_0x2c41d1['tlng']=_0x529438,_0x2c41d1[_0x11a483(0x21,-0x65)]=_0x1e27ab,_0x2c41d1['speed']=_0x55b5af[0x2],_0x2c41d1['age']--):_0x2c41d1['age']=0x0;}}function _0x513379(_0x38b01d,_0x1be59b){return _0x181031(_0x38b01d- -0x2f8,_0x1be59b);}return this['particles'];}[_0x181031(0x504,0x503)](_0x5df892){function _0x4c426a(_0x286e66,_0x32d8d7){return _0x3a9b52(_0x32d8d7-0x14e,_0x286e66);}let _0x10d2b4,_0x69a5ae;for(let _0x127392=0x0;_0x127392<0x1e;_0x127392++){_0x10d2b4=this['getRandomLatLng'](),_0x69a5ae=this[_0x4cb2f4(0x410,0x3e8)](_0x10d2b4['lng'],_0x10d2b4['lat']);if(_0x69a5ae&&_0x69a5ae[0x2]>0x0)break;}function _0x4cb2f4(_0x328320,_0x269de3){return _0x3a9b52(_0x269de3-0x338,_0x328320);}if(!_0x69a5ae)return _0x5df892;const _0x269129=_0x10d2b4['lng']+this['_calc_speedRate'][0x0]*_0x69a5ae[0x0],_0x3d36a3=_0x10d2b4[_0x4c426a(0x1b8,0x19d)]+this['_calc_speedRate'][0x1]*_0x69a5ae[0x1];return _0x5df892['lng']=_0x10d2b4['lng'],_0x5df892['lat']=_0x10d2b4[_0x4cb2f4(0x304,0x387)],_0x5df892[_0x4c426a(0x188,0x19e)]=_0x269129,_0x5df892[_0x4c426a(0x2b7,0x222)]=_0x3d36a3,_0x5df892['age']=Math['round'](Math['random']()*this['maxAge']),_0x5df892[_0x4c426a(0x225,0x197)]=_0x69a5ae[0x2],_0x5df892;}['destroy'](){for(const _0x23771b in this){delete this[_0x23771b];}}}function fRandomByfloat(_0x3ce9a4,_0x23115e){return _0x3ce9a4+Math['random']()*(_0x23115e-_0x3ce9a4);}const Cesium=mars3d__namespace['Cesium'],BaseLayer=mars3d__namespace[_0x3a9b52(0xa3,0x1e)]['BaseLayer'];class CanvasWindLayer extends BaseLayer{constructor(_0x2863b1={}){super(_0x2863b1);function _0x56ca1e(_0x2b1bb3,_0x346df0){return _0x3a9b52(_0x2b1bb3-0x4b5,_0x346df0);}function _0xb7268a(_0x20bad3,_0x3a3891){return _0x181031(_0x3a3891- -0x5a9,_0x20bad3);}this['_setOptionsHook'](_0x2863b1),this[_0xb7268a(-0x92,-0xd3)]=null,_0x2863b1[_0xb7268a(-0x2,-0x52)]&&_0x2863b1[_0xb7268a(-0xb7,-0x94)]&&(this[_0xb7268a(-0x124,-0xea)]=new mars3d__namespace[(_0xb7268a(-0xf,-0x5f))](_0x2863b1));}['_setOptionsHook'](_0xc78cd6,_0x2a3ef3){this['frameTime']=0x3e8/(_0xc78cd6['frameRate']||0xa),this['_pointerEvents']=this['options']['pointerEvents']??![];function _0x5319b0(_0x288550,_0x1e6f7c){return _0x181031(_0x288550- -0x594,_0x1e6f7c);}this[_0x5319b0(-0xb6,-0xd5)]=_0xc78cd6[_0x5319b0(-0xb6,-0x72)]||'#ffffff',this[_0x5319b0(-0x7d,-0xf6)]=_0xc78cd6['lineWidth']||0x1,this[_0x5319b0(-0x9f,-0x4a)]=_0xc78cd6['fixedHeight']??0x0;function _0x472d3c(_0x1c169a,_0xcbbe0f){return _0x3a9b52(_0x1c169a-0x56b,_0xcbbe0f);}this['reverseY']=_0xc78cd6['reverseY']??![],this['windField']&&this['windField'][_0x472d3c(0x5b0,0x564)](_0xc78cd6);}get[_0x3a9b52(0xa3,0x69)](){function _0x16d4cb(_0xe6ecbd,_0x3e0653){return _0x3a9b52(_0x3e0653- -0x101,_0xe6ecbd);}return this[_0x16d4cb(-0x9b,-0x109)];}get['canvasWidth'](){function _0x5ea1ec(_0x4ee19f,_0xa52be1){return _0x181031(_0xa52be1- -0x22b,_0x4ee19f);}function _0x26781d(_0x52e8b7,_0x2fbd3c){return _0x3a9b52(_0x52e8b7-0x431,_0x2fbd3c);}return this['_map'][_0x26781d(0x452,0x3eb)][_0x26781d(0x429,0x3f8)][_0x5ea1ec(0x2fe,0x2b6)];}get[_0x3a9b52(0xc2,0x100)](){function _0x2bcf75(_0x44a3e1,_0x378769){return _0x3a9b52(_0x378769-0x214,_0x44a3e1);}return this[_0x2bcf75(0x2a1,0x2b1)]['scene']['canvas']['clientHeight'];}get['pointerEvents'](){function _0x391cb1(_0x29b317,_0x2b3bf1){return _0x3a9b52(_0x29b317-0x405,_0x2b3bf1);}return this[_0x391cb1(0x407,0x3f9)];}set[_0x181031(0x4ac,0x436)](_0x452466){function _0x3a1da2(_0x1f5182,_0x4d7b31){return _0x3a9b52(_0x4d7b31- -0xe9,_0x1f5182);}function _0xa61b32(_0xdeab6a,_0x4ec5e0){return _0x181031(_0x4ec5e0- -0x11d,_0xdeab6a);}this['_pointerEvents']=_0x452466;if(!this['canvas'])return;_0x452466?this[_0xa61b32(0x420,0x3b9)][_0x3a1da2(-0xc,-0x20)]['pointer-events']=_0xa61b32(0x400,0x37b):this['canvas']['style'][_0xa61b32(0x3e9,0x3cf)]='none';}get['particlesNumber'](){function _0x1d7965(_0x164884,_0x22c081){return _0x181031(_0x22c081- -0x548,_0x164884);}return this['options'][_0x1d7965(0x44,0x6e)];}set['particlesNumber'](_0x617003){this['options']['particlesNumber']=_0x617003,clearTimeout(this['_canrefresh']),this['_canrefresh']=setTimeout(()=>{this['redraw']();},0x1f4);}get['speedRate'](){return this['options']['speedRate'];}set['speedRate'](_0x1481df){function _0x3dee78(_0x10a81a,_0x183668){return _0x181031(_0x183668- -0x7b,_0x10a81a);}this[_0x2e1139(0x373,0x318)]['speedRate']=_0x1481df;function _0x2e1139(_0x4d1c,_0xa3793){return _0x181031(_0x4d1c- -0x151,_0xa3793);}this[_0x3dee78(0x4ba,0x447)]&&(this['windField']['speedRate']=_0x1481df);}get['maxAge'](){return this['options']['maxAge'];}set['maxAge'](_0x479023){function _0x372575(_0x3167ed,_0x65e2a3){return _0x181031(_0x65e2a3- -0x6af,_0x3167ed);}this['options'][_0x372575(-0x19a,-0x131)]=_0x479023;function _0x188f7a(_0x3fbd2a,_0x5db01c){return _0x181031(_0x3fbd2a- -0x31f,_0x5db01c);}this['windField']&&(this[_0x188f7a(0x1a3,0x12f)][_0x372575(-0x164,-0x131)]=_0x479023);}get['data'](){return this['windData'];}set[_0x181031(0x4cd,0x539)](_0x3a941e){this['setData'](_0x3a941e);}['_showHook'](_0x1286af){function _0x230da9(_0x2868b9,_0x22a0f8){return _0x3a9b52(_0x22a0f8-0x33f,_0x2868b9);}function _0x347d8f(_0x590b87,_0x37dd58){return _0x3a9b52(_0x37dd58-0x266,_0x590b87);}_0x1286af?this['_addedHook']():(this[_0x230da9(0x273,0x2fd)]&&(this[_0x347d8f(0x236,0x24c)]['data']=this['windData']),this[_0x230da9(0x360,0x3b1)]());}['_mountedHook'](){function _0x582da8(_0x2890a8,_0x383ee0){return _0x3a9b52(_0x2890a8-0x3c,_0x383ee0);}function _0x2d6385(_0x17377e,_0x41c867){return _0x181031(_0x17377e-0x6d,_0x41c867);}this[_0x582da8(0x22,-0x71)]['worker']?this[_0x582da8(0x7c,0xfd)]():this['windField']=new CanvasWindField(this['options']);}[_0x3a9b52(0x2d,0xa)](){function _0x2d365b(_0x3cb4df,_0x17c4c4){return _0x3a9b52(_0x3cb4df- -0x46,_0x17c4c4);}this['canvas']=this['_createCanvas']();const _0x10ecc5={};_0x10ecc5['willReadFrequently']=!![],this[_0x2d365b(0x4c,0x38)]=this[_0x2d365b(-0x4e,-0x5e)][_0x3849f4(-0x7,0x79)]('2d',_0x10ecc5);function _0x3849f4(_0x59129b,_0x166150){return _0x181031(_0x59129b- -0x5bb,_0x166150);}this['bindEvent'](),this['options']['data']&&this['setData'](this['options'][_0x2d365b(-0x57,-0xdb)]);}[_0x181031(0x550,0x4dc)](){this['clear']();function _0x29a64c(_0x5d0962,_0x564c53){return _0x181031(_0x564c53- -0x31f,_0x5d0962);}function _0x43d760(_0x3800c6,_0x45bb75){return _0x181031(_0x45bb75- -0x214,_0x3800c6);}this['unbindEvent'](),this['canvas']&&(this['_map'][_0x43d760(0x331,0x357)][_0x43d760(0x34f,0x2f4)](this[_0x29a64c(0x242,0x1b7)]),delete this['canvas']);}['_createCanvas'](){const _0x30607a=mars3d__namespace['DomUtil'][_0xfc2322(0x27e,0x2c7)](_0xfc2322(0x288,0x2c2),_0xfc2322(0x312,0x371),this[_0x3240d4(0x166,0x1b0)][_0x3240d4(0x1f9,0x1a0)]);_0x30607a['style']['position']='absolute',_0x30607a[_0x3240d4(0x18e,0x1dc)]['top']=_0xfc2322(0x35e,0x3bd);function _0x3240d4(_0x4b5177,_0x182e0b){return _0x181031(_0x182e0b- -0x3cb,_0x4b5177);}_0x30607a[_0xfc2322(0x359,0x361)][_0x3240d4(0x17e,0x109)]='0px',_0x30607a['style']['width']=this['_map'][_0x3240d4(0xc8,0x134)][_0xfc2322(0x288,0x2e9)][_0xfc2322(0x293,0x2e2)]+'px',_0x30607a[_0x3240d4(0x246,0x1dc)][_0xfc2322(0x252,0x1ff)]=this[_0x3240d4(0x21b,0x1b0)][_0x3240d4(0xd2,0x134)][_0x3240d4(0x122,0x10b)][_0xfc2322(0x306,0x374)]+'px',_0x30607a['style']['pointerEvents']=this[_0x3240d4(0xb0,0x115)]?_0xfc2322(0x35d,0x3c9):_0x3240d4(0x146,0x16d),_0x30607a['style']['zIndex']=this[_0x3240d4(0xf7,0xf9)][_0xfc2322(0x32e,0x330)]??0x9;function _0xfc2322(_0x1be3a1,_0x52a2cf){return _0x181031(_0x1be3a1- -0x24e,_0x52a2cf);}return _0x30607a['width']=this['_map']['scene']['canvas'][_0xfc2322(0x293,0x288)],_0x30607a['height']=this[_0x3240d4(0x121,0x1b0)][_0x3240d4(0x157,0x134)][_0xfc2322(0x288,0x1fe)]['clientHeight'],_0x30607a;}['resize'](){function _0x87a3ef(_0x987af5,_0x5ddf2b){return _0x3a9b52(_0x5ddf2b-0x20c,_0x987af5);}function _0xe72806(_0x492694,_0x30d3f6){return _0x3a9b52(_0x30d3f6-0x4ae,_0x492694);}this['canvas']&&(this['canvas'][_0x87a3ef(0x32a,0x2d5)][_0xe72806(0x586,0x50d)]=this[_0xe72806(0x5af,0x54b)][_0xe72806(0x44a,0x4cf)][_0xe72806(0x4e1,0x4a6)][_0xe72806(0x4c9,0x4b1)]+'px',this['canvas'][_0x87a3ef(0x2a8,0x2d5)][_0xe72806(0x405,0x470)]=this['_map']['scene'][_0xe72806(0x43d,0x4a6)]['clientHeight']+'px',this['canvas']['width']=this['_map'][_0x87a3ef(0x25d,0x22d)]['canvas']['clientWidth'],this['canvas']['height']=this['_map']['scene']['canvas'][_0x87a3ef(0x25c,0x282)]);}[_0x181031(0x4ef,0x51a)](){const _0x2fa73e=this;let _0x3dc001=Date['now']();(function _0x56e885(){function _0x5b3d8c(_0x4c325f,_0x39edf4){return _0x5630(_0x39edf4- -0x245,_0x4c325f);}_0x2fa73e[_0x5b3d8c(-0x60,-0xd8)]=window[_0x5b3d8c(-0x28,-0x9b)](_0x56e885);function _0x59e7f5(_0x42fe6d,_0x56092e){return _0x5630(_0x56092e-0x235,_0x42fe6d);}if(_0x2fa73e['show']&&_0x2fa73e[_0x5b3d8c(-0xf3,-0xa8)]){const _0x32a9e8=Date['now'](),_0x53c318=_0x32a9e8-_0x3dc001;_0x53c318>_0x2fa73e['frameTime']&&(_0x3dc001=_0x32a9e8-_0x53c318%_0x2fa73e[_0x5b3d8c(-0x40,-0x73)],_0x2fa73e['update']());}}());function _0x39b53a(_0x2a3038,_0x2b96c5){return _0x181031(_0x2b96c5- -0x7e,_0x2a3038);}window['addEventListener']('resize',this['resize'][_0x26635e(0x11c,0x175)](this),![]),this[_0x39b53a(0x465,0x46f)]=![];function _0x26635e(_0x8b8273,_0x463ae1){return _0x181031(_0x8b8273- -0x416,_0x463ae1);}this[_0x26635e(0xa8,0xf7)]=![],this[_0x39b53a(0x3d0,0x446)][_0x39b53a(0x3cc,0x425)]&&(this[_0x39b53a(0x532,0x4fd)]['on'](mars3d__namespace[_0x39b53a(0x3f6,0x436)][_0x39b53a(0x40f,0x468)],this['_onMapWhellEvent'],this),this['_map']['on'](mars3d__namespace[_0x26635e(0x9e,0xba)]['mouseDown'],this['_onMouseDownEvent'],this),this['_map']['on'](mars3d__namespace['EventType'][_0x39b53a(0x54f,0x4d1)],this['_onMouseUpEvent'],this));}[_0x181031(0x57d,0x580)](){window['cancelAnimationFrame'](this['animateFrame']);function _0x48e39d(_0x5ee8c5,_0x43d078){return _0x3a9b52(_0x43d078-0x2ef,_0x5ee8c5);}delete this[_0x48e39d(0x251,0x2a3)];function _0x191c48(_0xe36d0c,_0x413500){return _0x3a9b52(_0x413500-0x300,_0xe36d0c);}window[_0x191c48(0x3ac,0x3d7)]('resize',this[_0x48e39d(0x329,0x3a8)]),this['options'][_0x191c48(0x24d,0x2c5)]&&(this[_0x48e39d(0x35b,0x38c)]['off'](mars3d__namespace[_0x48e39d(0x2b6,0x2c5)]['wheel'],this[_0x191c48(0x287,0x31a)],this),this['_map']['off'](mars3d__namespace[_0x48e39d(0x259,0x2c5)]['mouseDown'],this[_0x48e39d(0x374,0x393)],this),this['_map'][_0x191c48(0x417,0x3bb)](mars3d__namespace[_0x48e39d(0x2c4,0x2c5)][_0x191c48(0x334,0x371)],this['_onMouseUpEvent'],this),this['_map']['off'](mars3d__namespace['EventType'][_0x191c48(0x2c5,0x34e)],this['_onMouseMoveEvent'],this));}['_onMapWhellEvent'](_0x42043d){clearTimeout(this[_0x3c1696(-0xdd,-0x119)]);if(!this['show']||!this['canvas'])return;function _0x3c1696(_0x596927,_0x3975a4){return _0x181031(_0x3975a4- -0x652,_0x596927);}this[_0x8c8506(0x33e,0x2e6)][_0x3c1696(-0x91,-0xab)]['visibility']='hidden';function _0x8c8506(_0x2f9615,_0x4c5ffa){return _0x3a9b52(_0x4c5ffa-0x2ee,_0x2f9615);}this[_0x3c1696(-0x199,-0x119)]=setTimeout(()=>{function _0x247130(_0x267e46,_0x2876b7){return _0x8c8506(_0x2876b7,_0x267e46- -0x257);}if(!this[_0x247130(0x8e,-0x4)])return;function _0x47befb(_0x13f47d,_0x3f8015){return _0x8c8506(_0x3f8015,_0x13f47d- -0x2c3);}this['redraw'](),this[_0x247130(0x8f,0x102)]['style']['visibility']=_0x247130(0x60,0x5f);},0xc8);}['_onMouseDownEvent'](_0x559b9b){this['mouse_down']=!![],this[_0x4876b2(0x2f5,0x371)][_0x228604(-0xa7,-0x79)](mars3d__namespace[_0x4876b2(0x2dc,0x2aa)]['mouseMove'],this['_onMouseMoveEvent'],this);function _0x4876b2(_0x2acc7e,_0x58e74c){return _0x3a9b52(_0x58e74c-0x2d4,_0x2acc7e);}function _0x228604(_0xfdb6a7,_0x11e42e){return _0x181031(_0x11e42e- -0x612,_0xfdb6a7);}this['_map']['on'](mars3d__namespace['EventType']['mouseMove'],this[_0x4876b2(0x347,0x318)],this);}[_0x181031(0x522,0x4fd)](_0x4d9291){function _0x3d7aae(_0x2ba2f0,_0x5cdd86){return _0x3a9b52(_0x5cdd86- -0x1fd,_0x2ba2f0);}if(!this['show']||!this['canvas'])return;function _0x4c70db(_0x6edb34,_0x1f9dac){return _0x3a9b52(_0x1f9dac-0xc4,_0x6edb34);}this['mouse_down']&&(this[_0x3d7aae(-0x24c,-0x205)][_0x3d7aae(-0x122,-0x134)]['visibility']='hidden',this[_0x3d7aae(-0x25f,-0x21d)]=!![]);}['_onMouseUpEvent'](_0x54346e){function _0x1c3234(_0x5f1a63,_0x22a48c){return _0x181031(_0x22a48c-0x51,_0x5f1a63);}if(!this['show']||!this['canvas'])return;this['_map']['off'](mars3d__namespace[_0xb8927c(-0xb5,-0x128)]['mouseMove'],this[_0xb8927c(-0x47,-0xc)],this);this[_0x1c3234(0x500,0x53e)]&&this['mouse_move']&&this['redraw']();this['canvas']['style']['visibility']='visible',this[_0x1c3234(0x583,0x53e)]=![];function _0xb8927c(_0x30755d,_0x515654){return _0x181031(_0x30755d- -0x569,_0x515654);}this['mouse_move']=![];}[_0x181031(0x4da,0x4c4)](_0x5c7b23){function _0x20d74b(_0x5775cc,_0x49caa5){return _0x3a9b52(_0x49caa5-0x467,_0x5775cc);}function _0x2056ec(_0x30fb45,_0x408577){return _0x181031(_0x30fb45- -0x101,_0x408577);}this[_0x20d74b(0x4d3,0x539)](),this['windData']=_0x5c7b23,this['windField']['setDate'](_0x5c7b23),this[_0x2056ec(0x435,0x437)]();}['redraw'](){if(!this['show'])return;function _0x1c3986(_0x139b9f,_0x277f47){return _0x3a9b52(_0x277f47-0xe8,_0x139b9f);}this['windField']['setOptions'](this['options']),this[_0x1c3986(0x15a,0xdd)]();}[_0x181031(0x4d3,0x506)](){if(this[_0x2d5312(0x3ea,0x3a9)])return;this['_updateIng']=!![];if(this[_0x2d5312(0x437,0x407)])this[_0x2d5312(0x30d,0x357)]['update']();else{const _0x4433c9=this['windField']['getParticles']();this[_0x5ed337(0x524,0x50b)](_0x4433c9);}function _0x5ed337(_0x424e86,_0x2b73a8){return _0x3a9b52(_0x424e86-0x4dc,_0x2b73a8);}function _0x2d5312(_0x20e383,_0x3d3f33){return _0x181031(_0x3d3f33- -0x16b,_0x20e383);}this[_0x5ed337(0x512,0x5a4)]=![];}['_drawLines'](_0x50f8f2){this['canvasContext']['globalCompositeOperation']=_0x2cf345(0xde,0x9c),this['canvasContext'][_0x2cf345(0x109,0x82)](0x0,0x0,this['canvasWidth'],this['canvasHeight']),this['canvasContext'][_0x52434a(0x4b2,0x499)]='lighter',this['canvasContext']['globalAlpha']=0.9;const _0x45afa9=this['_map'][_0x52434a(0x47f,0x4e3)][_0x52434a(0x483,0x4d8)]!==Cesium['SceneMode'][_0x2cf345(0xfb,0xe8)];function _0x2cf345(_0x3809d1,_0x549fb5){return _0x181031(_0x3809d1- -0x3d3,_0x549fb5);}function _0x52434a(_0xea7c2a,_0x1c1b50){return _0x3a9b52(_0x1c1b50-0x4c2,_0xea7c2a);}const _0x17c28c=this['canvasWidth']*0.25;if(this['_colorRamp'])for(let _0x23eb65=0x0,_0xb3c855=_0x50f8f2[_0x52434a(0x5a2,0x55a)];_0x23eb65<_0xb3c855;_0x23eb65++){const _0x112b36=_0x50f8f2[_0x23eb65],_0x4bdc68=this['_tomap'](_0x112b36['lng'],_0x112b36['lat'],_0x112b36),_0x19d11f=this['_tomap'](_0x112b36['tlng'],_0x112b36[_0x2cf345(0x1df,0x255)],_0x112b36);if(!_0x4bdc68||!_0x19d11f)continue;if(_0x45afa9&&Math['abs'](_0x4bdc68[0x0]-_0x19d11f[0x0])>=_0x17c28c)continue;this[_0x52434a(0x59c,0x554)][_0x2cf345(0x18b,0x201)](),this[_0x2cf345(0x19d,0x205)][_0x2cf345(0x144,0x1c4)]=this[_0x52434a(0x4c5,0x4fb)],this[_0x52434a(0x4c9,0x554)]['strokeStyle']=this[_0x2cf345(0xec,0x136)]['getColor'](_0x112b36['speed']),this['canvasContext'][_0x2cf345(0x1b6,0x165)](_0x4bdc68[0x0],_0x4bdc68[0x1]),this['canvasContext']['lineTo'](_0x19d11f[0x0],_0x19d11f[0x1]),this[_0x2cf345(0x19d,0x156)]['stroke']();}else{this['canvasContext'][_0x52434a(0x4c5,0x542)](),this['canvasContext']['lineWidth']=this[_0x2cf345(0x144,0x19e)],this['canvasContext']['strokeStyle']=this['color'];for(let _0x18fcf4=0x0,_0x2fd67f=_0x50f8f2[_0x52434a(0x4d1,0x55a)];_0x18fcf4<_0x2fd67f;_0x18fcf4++){const _0x5d7ef1=_0x50f8f2[_0x18fcf4],_0x1e72fe=this[_0x2cf345(0x1a1,0x149)](_0x5d7ef1[_0x52434a(0x480,0x489)],_0x5d7ef1['lat'],_0x5d7ef1),_0xd07fca=this[_0x2cf345(0x1a1,0x198)](_0x5d7ef1['tlng'],_0x5d7ef1[_0x2cf345(0x1df,0x1db)],_0x5d7ef1);if(!_0x1e72fe||!_0xd07fca)continue;if(_0x45afa9&&Math['abs'](_0x1e72fe[0x0]-_0xd07fca[0x0])>=_0x17c28c)continue;this[_0x2cf345(0x19d,0x12e)]['moveTo'](_0x1e72fe[0x0],_0x1e72fe[0x1]),this[_0x52434a(0x57b,0x554)]['lineTo'](_0xd07fca[0x0],_0xd07fca[0x1]);}this['canvasContext'][_0x2cf345(0x1b0,0x17b)]();}}['_tomap'](_0x1a2384,_0x58fcc7,_0x2421d2){const _0x1e2be7=Cesium['Cartesian3'][_0x140782(0x172,0x11b)](_0x1a2384,_0x58fcc7,this[_0x140782(0xbd,0xd4)]),_0x3e3e43=this['_map']['scene'];function _0x140782(_0x5d68be,_0x4c3c93){return _0x3a9b52(_0x4c3c93-0xbd,_0x5d68be);}if(_0x3e3e43['mode']===Cesium['SceneMode']['SCENE3D']){const _0x39feb3=new Cesium['EllipsoidalOccluder'](_0x3e3e43['globe']['ellipsoid'],_0x3e3e43[_0x140782(0x125,0x163)][_0x140782(0x11d,0xaf)]),_0x5ac15f=_0x39feb3['isPointVisible'](_0x1e2be7);if(!_0x5ac15f)return _0x2421d2[_0x140782(0x138,0x181)]=0x0,null;}function _0x13ac96(_0x41ca55,_0x4d3def){return _0x3a9b52(_0x41ca55-0x1b3,_0x4d3def);}const _0xbf429=Cesium[_0x140782(0xa8,0xbc)]['wgs84ToWindowCoordinates'](this['_map']['scene'],_0x1e2be7);return _0xbf429?[_0xbf429['x'],_0xbf429['y']]:null;}['clear'](){function _0x5f0273(_0x55badf,_0x234e81){return _0x3a9b52(_0x234e81-0x226,_0x55badf);}this[_0x16c560(0x4d4,0x45a)][_0x5f0273(0x2f8,0x2f8)]();function _0x16c560(_0x2a1296,_0x31038f){return _0x3a9b52(_0x2a1296-0x4f0,_0x31038f);}delete this['windData'];}[_0x181031(0x51e,0x558)](){function _0x14c062(_0x3be0c9,_0x44cc71){return _0x3a9b52(_0x44cc71-0x481,_0x3be0c9);}this[_0x1a4457(0x3c6,0x398)]=new Worker(this['options'][_0x1a4457(0x35c,0x398)]),this[_0x14c062(0x581,0x515)]['onmessage']=_0x1aae82=>{this[_0x24e4e1(0x33d,0x2eb)](_0x1aae82['data']['particles']);function _0x24e4e1(_0x3250f1,_0x1815f6){return _0x1a4457(_0x3250f1,_0x1815f6- -0x61);}this['_updateIng2']=![];},this[_0x14c062(0x48f,0x465)]={'init':_0x2f11db=>{function _0x2e8bae(_0x45d1b9,_0x405c7d){return _0x1a4457(_0x45d1b9,_0x405c7d-0x290);}const _0x377f76={};_0x377f76['type']='init',_0x377f76[_0x2e8bae(0x51f,0x57a)]=_0x2f11db,this['worker']['postMessage'](_0x377f76);},'setOptions':_0x486323=>{const _0x2eb156={};function _0x50b4ad(_0x503011,_0xb95935){return _0x1a4457(_0x503011,_0xb95935-0x16f);}function _0x13a65c(_0x4cbc6a,_0x11399c){return _0x1a4457(_0x4cbc6a,_0x11399c- -0x1f);}_0x2eb156[_0x50b4ad(0x51c,0x4b0)]='setOptions',_0x2eb156['options']=_0x486323,this['worker'][_0x50b4ad(0x4fc,0x508)](_0x2eb156);},'setDate':_0x12c7d8=>{const _0x5d8667={};function _0x36c1db(_0x1dae8a,_0x2ce320){return _0x1a4457(_0x2ce320,_0x1dae8a- -0x1bc);}_0x5d8667['type']=_0x36c1db(0x1e9,0x1f1),_0x5d8667['data']=_0x12c7d8;function _0x366d4d(_0x4919da,_0x1f983d){return _0x1a4457(_0x4919da,_0x1f983d- -0x42b);}this[_0x366d4d(-0x11b,-0x93)]['postMessage'](_0x5d8667);},'update':()=>{function _0x5e8acd(_0x49a26a,_0x404e99){return _0x1a4457(_0x404e99,_0x49a26a- -0x506);}if(this[_0x5e8acd(-0x186,-0x10d)])return;this[_0xc5f254(0x4ff,0x4c0)]=!![];const _0x1c167b={};function _0xc5f254(_0xac4823,_0x2af658){return _0x14c062(_0xac4823,_0x2af658- -0x3d);}_0x1c167b[_0x5e8acd(-0x1c5,-0x1a2)]='update',this['worker']['postMessage'](_0x1c167b);},'clear':()=>{const _0x57d307={};_0x57d307['type']='clear',this['worker']['postMessage'](_0x57d307);}};function _0x1a4457(_0x412b71,_0x385370){return _0x3a9b52(_0x385370-0x304,_0x412b71);}this['windField'][_0x1a4457(0x3bb,0x371)](this[_0x14c062(0x43b,0x467)]);}}mars3d__namespace['LayerUtil'][_0x181031(0x55f,0x564)](_0x181031(0x490,0x474),CanvasWindLayer),mars3d__namespace['layer']['CanvasWindLayer']=CanvasWindLayer,mars3d__namespace['CanvasWindField']=CanvasWindField,mars3d__namespace[_0x3a9b52(-0x2b,0xa)]=WindUtil,exports['CanvasWindField']=CanvasWindField,exports['CanvasWindLayer']=CanvasWindLayer;function _0x181031(_0x4d2733,_0x197265){return _0x5630(_0x4d2733-0x325,_0x197265);}exports[_0x3a9b52(0xa,-0x4)]=WindLayer;function _0x3a9b52(_0x457d94,_0x300014){return _0x5630(_0x457d94- -0x1b9,_0x300014);}exports[_0x181031(0x4b3,0x547)]=WindUtil;const _0x8cc4b1={};_0x8cc4b1['value']=!![],Object['defineProperty'](exports,_0x181031(0x4c0,0x453),_0x8cc4b1);
14
+ 'use strict';(function(_0x4f124e,_0xfe8212){function _0x33a499(_0x43da70,_0x55b85c){return _0x29b8(_0x43da70- -0x21d,_0x55b85c);}function _0x390edb(_0x11b642,_0x45b907){return _0x29b8(_0x45b907- -0x16,_0x11b642);}const _0xa77f1d=_0x4f124e();while(!![]){try{const _0x4495e=-parseInt(_0x390edb(0xf6,0x11c))/0x1*(-parseInt(_0x390edb(0xe9,0x8d))/0x2)+parseInt(_0x390edb(0x1de,0x173))/0x3*(-parseInt(_0x390edb(0xaa,0x8e))/0x4)+parseInt(_0x390edb(0x2a,0x91))/0x5*(-parseInt(_0x33a499(-0x103,-0x18c))/0x6)+-parseInt(_0x33a499(-0x133,-0x1c0))/0x7+-parseInt(_0x33a499(-0x169,-0xe7))/0x8*(-parseInt(_0x390edb(0x1b1,0x12e))/0x9)+parseInt(_0x390edb(0x18d,0x15e))/0xa+parseInt(_0x33a499(-0x177,-0x111))/0xb;if(_0x4495e===_0xfe8212)break;else _0xa77f1d['push'](_0xa77f1d['shift']());}catch(_0x16369f){_0xa77f1d['push'](_0xa77f1d['shift']());}}}(_0xc996,0xbc37e));function _0x29b8(_0x51ae00,_0x21d5fd){const _0xc99648=_0xc996();return _0x29b8=function(_0x29b852,_0x5d3d36){_0x29b852=_0x29b852-0x96;let _0x57e9b3=_0xc99648[_0x29b852];return _0x57e9b3;},_0x29b8(_0x51ae00,_0x21d5fd);}function _interopNamespace(_0x624527){if(_0x624527&&_0x624527['__esModule'])return _0x624527;var _0x34cde8=Object['create'](null);function _0x67e546(_0x541c45,_0x43540f){return _0x29b8(_0x541c45- -0x213,_0x43540f);}_0x624527&&Object[_0x67e546(-0x15d,-0x180)](_0x624527)[_0x67e546(-0xa3,-0x88)](function(_0x51c0c4){function _0x366226(_0x5120a,_0x141277){return _0xc43204(_0x141277- -0x2f0,_0x5120a);}if(_0x51c0c4!==_0x366226(-0xc3,-0x5a)){var _0x471a94=Object['getOwnPropertyDescriptor'](_0x624527,_0x51c0c4);Object['defineProperty'](_0x34cde8,_0x51c0c4,_0x471a94['get']?_0x471a94:{'enumerable':!![],'get':function(){return _0x624527[_0x51c0c4];}});}});function _0xc43204(_0x3c7eca,_0x1fb011){return _0x29b8(_0x3c7eca-0xe6,_0x1fb011);}return _0x34cde8[_0x67e546(-0x63,-0x35)]=_0x624527,_0x34cde8;}var mars3d__namespace=_interopNamespace(mars3d);const Cesium$7=mars3d__namespace['Cesium'];function getU(_0x4baad1,_0x124d30){function _0x2bcd7d(_0x1cd3d1,_0x4ef9c3){return _0x29b8(_0x4ef9c3- -0x237,_0x1cd3d1);}const _0x509544=_0x4baad1*Math[_0x2bcd7d(-0x60,-0xa4)](Cesium$7['Math']['toRadians'](_0x124d30));return _0x509544;}function getV(_0x5e9362,_0x3b44f2){const _0x54abd5=_0x5e9362*Math['sin'](Cesium$7['Math']['toRadians'](_0x3b44f2));return _0x54abd5;}function getSpeed(_0x3c1076,_0x1ebe21){const _0x3ba3c6=Math['sqrt'](Math['pow'](_0x3c1076,0x2)+Math['pow'](_0x1ebe21,0x2));return _0x3ba3c6;}function getDirection(_0x18199e,_0x450c90){let _0x419cb9=Cesium$7['Math']['toDegrees'](Math['atan2'](_0x450c90,_0x18199e));return _0x419cb9+=_0x419cb9<0x0?0x168:0x0,_0x419cb9;}const _0x5734fe={};_0x5734fe[_0x573119(0x11e,0x123)]=null,_0x5734fe[_0x422f44(-0x17e,-0x16c)]=getU,_0x5734fe['getV']=getV,_0x5734fe['getSpeed']=getSpeed,_0x5734fe[_0x573119(-0x30,0x29)]=getDirection;var WindUtil=_0x5734fe;const Cesium$6=mars3d__namespace['Cesium'];function _0x573119(_0x33e9ce,_0x40e4cb){return _0x29b8(_0x40e4cb- -0x8a,_0x33e9ce);}class CustomPrimitive{constructor(_0x1f8f05){this['commandType']=_0x1f8f05['commandType'],this['geometry']=_0x1f8f05[_0x2114a4(0x20c,0x234)],this[_0x2e13c4(0x1b7,0x1a9)]=_0x1f8f05['attributeLocations'],this['primitiveType']=_0x1f8f05['primitiveType'],this[_0x2114a4(0x288,0x315)]=_0x1f8f05[_0x2e13c4(0x1bd,0x13e)],this['vertexShaderSource']=_0x1f8f05['vertexShaderSource'],this['fragmentShaderSource']=_0x1f8f05['fragmentShaderSource'],this['rawRenderState']=_0x1f8f05[_0x2114a4(0x21a,0x274)],this[_0x2e13c4(0x16a,0x1d2)]=_0x1f8f05['framebuffer'],this['outputTexture']=_0x1f8f05['outputTexture'],this[_0x2114a4(0x2d6,0x26c)]=_0x1f8f05[_0x2e13c4(0x20b,0x198)]??![],this['preExecute']=_0x1f8f05['preExecute'],this['show']=!![];function _0x2114a4(_0x21a71,_0x266dc3){return _0x573119(_0x266dc3,_0x21a71-0x1db);}this['commandToExecute']=undefined,this[_0x2e13c4(0x19d,0x196)]=undefined;function _0x2e13c4(_0x5d6611,_0x45005c){return _0x422f44(_0x45005c,_0x5d6611-0x36c);}this[_0x2114a4(0x2d6,0x311)]&&(this[_0x2e13c4(0x19d,0x16b)]=new Cesium$6['ClearCommand']({'color':new Cesium$6[(_0x2114a4(0x29f,0x2a9))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[_0x2e13c4(0x16a,0x158)],'pass':Cesium$6['Pass'][_0x2e13c4(0x132,0x144)]}));}['createCommand'](_0x4c8259){function _0x3523e4(_0x11a3fe,_0x1227ab){return _0x573119(_0x1227ab,_0x11a3fe- -0x2ed);}function _0x2713f1(_0x5776d4,_0x581cb3){return _0x422f44(_0x581cb3,_0x5776d4-0x449);}switch(this[_0x3523e4(-0x20c,-0x24e)]){case'Draw':{const _0x53eef6=Cesium$6['VertexArray']['fromGeometry']({'context':_0x4c8259,'geometry':this['geometry'],'attributeLocations':this[_0x2713f1(0x294,0x235)],'bufferUsage':Cesium$6[_0x3523e4(-0x1ec,-0x1bb)][_0x3523e4(-0x278,-0x266)]}),_0x57af27={};_0x57af27[_0x3523e4(-0x1d2,-0x1a1)]=_0x4c8259,_0x57af27[_0x2713f1(0x294,0x26e)]=this[_0x3523e4(-0x246,-0x283)],_0x57af27[_0x3523e4(-0x1cc,-0x1b2)]=this['vertexShaderSource'],_0x57af27[_0x3523e4(-0x2da,-0x347)]=this['fragmentShaderSource'];const _0x402d3d=Cesium$6['ShaderProgram']['fromCache'](_0x57af27),_0x539afb=Cesium$6[_0x2713f1(0x26f,0x2f6)]['fromCache'](this[_0x2713f1(0x22c,0x1b7)]);return new Cesium$6['DrawCommand']({'primitiveType':this['primitiveType'],'shaderProgram':_0x402d3d,'vertexArray':_0x53eef6,'modelMatrix':Cesium$6[_0x3523e4(-0x2c8,-0x239)]['IDENTITY'],'renderState':_0x539afb,'uniformMap':this['uniformMap'],'castShadows':![],'receiveShadows':![],'framebuffer':this['framebuffer'],'pass':Cesium$6[_0x2713f1(0x213,0x248)]['OPAQUE'],'pickOnly':!![],'owner':this});}case'Compute':{const _0x57c019={};return _0x57c019['owner']=this,_0x57c019['fragmentShaderSource']=this['fragmentShaderSource'],_0x57c019[_0x3523e4(-0x240,-0x218)]=this[_0x3523e4(-0x240,-0x1b4)],_0x57c019[_0x3523e4(-0x1bb,-0x15f)]=this[_0x3523e4(-0x1bb,-0x1f0)],_0x57c019['persists']=!![],new Cesium$6[(_0x3523e4(-0x1f5,-0x188))](_0x57c019);}}}['setGeometry'](_0x4e5e27,_0x5f08c7){this['geometry']=_0x5f08c7;function _0x95473c(_0x338282,_0x5a3d9a){return _0x573119(_0x338282,_0x5a3d9a-0x266);}function _0x494895(_0xb65c5d,_0x251cbe){return _0x573119(_0x251cbe,_0xb65c5d- -0xc3);}const _0x5efe11=Cesium$6['VertexArray']['fromGeometry']({'context':_0x4e5e27,'geometry':this[_0x494895(-0x92,-0xe3)],'attributeLocations':this['attributeLocations'],'bufferUsage':Cesium$6['BufferUsage']['STATIC_DRAW']});this[_0x95473c(0x270,0x2e4)]['vertexArray']=_0x5efe11;}['update'](_0x1457e8){function _0x677bc5(_0x4e9f6d,_0x5f33e6){return _0x573119(_0x4e9f6d,_0x5f33e6-0x2fa);}if(!this['show'])return;if(_0x1457e8[_0x677bc5(0x399,0x350)]!==Cesium$6[_0x149432(0x27d,0x309)]['SCENE3D'])return;!Cesium$6[_0x149432(0x360,0x301)](this['commandToExecute'])&&(this['commandToExecute']=this[_0x677bc5(0x32d,0x38b)](_0x1457e8[_0x149432(0x40c,0x39f)]));function _0x149432(_0x470d20,_0x4268ee){return _0x422f44(_0x470d20,_0x4268ee-0x4e0);}Cesium$6[_0x677bc5(0x325,0x377)](this['preExecute'])&&this[_0x149432(0x2b7,0x2c7)](),Cesium$6['defined'](this[_0x677bc5(0x307,0x387)])&&_0x1457e8[_0x677bc5(0x30c,0x311)]['push'](this[_0x149432(0x290,0x311)]),_0x1457e8[_0x149432(0x30c,0x29b)]['push'](this[_0x149432(0x2b2,0x302)]);}[_0x422f44(-0x1f4,-0x24c)](){return![];}['destroy'](){function _0x3a8433(_0x47cbca,_0x4b3995){return _0x422f44(_0x4b3995,_0x47cbca-0x664);}if(this[_0x3a8433(0x495,0x48b)]){var _0x121a98,_0x558e40;(_0x121a98=this[_0x3a8433(0x495,0x4aa)])!==null&&_0x121a98!==void 0x0&&_0x121a98[_0x3a8433(0x48c,0x4a6)]&&this[_0x3a8433(0x495,0x4e9)]['vertexArray']['destroy'](),(_0x558e40=this[_0x123496(0x44b,0x491)])!==null&&_0x558e40!==void 0x0&&_0x558e40['shaderProgram']&&this['clearCommand'][_0x123496(0x3c9,0x419)]['destroy'](),delete this['clearCommand'];}this['commandToExecute']&&(this['commandToExecute']['vertexArray']&&this['commandToExecute']['vertexArray']['destroy'](),this['commandToExecute']['shaderProgram']&&this['commandToExecute']['shaderProgram'][_0x123496(0x49b,0x42f)](),delete this[_0x123496(0x504,0x482)]);function _0x123496(_0x289427,_0x5f39b9){return _0x422f44(_0x289427,_0x5f39b9-0x660);}return Cesium$6['destroyObject'](this);}}const Cesium$5=mars3d__namespace['Cesium'],Util=(function(){function _0x1938c8(_0x241d15,_0x48f9b0){return _0x573119(_0x241d15,_0x48f9b0-0x287);}const _0x3ae11a=function(){function _0x461a2f(_0x541b3c,_0x30191e){return _0x29b8(_0x541b3c- -0x3a5,_0x30191e);}function _0x358dfc(_0x228f6c,_0x2915aa){return _0x29b8(_0x2915aa- -0x1b5,_0x228f6c);}const _0xfa52a8=new Cesium$5[(_0x461a2f(-0x23f,-0x271))]({'attributes':new Cesium$5[(_0x461a2f(-0x26c,-0x2ce))]({'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['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])});return _0xfa52a8;},_0x3bb934=function(_0x268823,_0x9ef0f2){function _0x2cdfc0(_0x3f8724,_0x88734b){return _0x29b8(_0x3f8724-0x225,_0x88734b);}if(Cesium$5['defined'](_0x9ef0f2)){const _0x4e2713={};_0x4e2713[_0x2cdfc0(0x380,0x34d)]=_0x9ef0f2,_0x268823['source']=_0x4e2713;}const _0x22b35e=new Cesium$5['Texture'](_0x268823);return _0x22b35e;},_0x37e9aa=function(_0x514bdd,_0x129798,_0x1d25c8){const _0x3cab27={};function _0x6a2d96(_0x2dfbc7,_0x5b4f9b){return _0x29b8(_0x2dfbc7-0x1e2,_0x5b4f9b);}_0x3cab27[_0x6a2d96(0x387,0x375)]=_0x514bdd,_0x3cab27[_0x6a2d96(0x2ff,0x342)]=[_0x129798];function _0x31a6f3(_0x1cfe4b,_0x4d1b8f){return _0x29b8(_0x1cfe4b-0x2ba,_0x4d1b8f);}_0x3cab27[_0x6a2d96(0x2fe,0x2aa)]=_0x1d25c8;const _0x5bdd21=new Cesium$5[(_0x31a6f3(0x365,0x327))](_0x3cab27);return _0x5bdd21;},_0x25786e=function(_0x48829e){const _0x302c03=!![],_0xbd7ab7=![];function _0x265a11(_0x56c521,_0x37ae5f){return _0x29b8(_0x37ae5f-0x6c,_0x56c521);}const _0x11294d={};_0x11294d['viewport']=_0x48829e['viewport'],_0x11294d['depthTest']=_0x48829e[_0x265a11(0x210,0x1f0)],_0x11294d['depthMask']=_0x48829e[_0x265a11(0x1ff,0x1a4)],_0x11294d['blending']=_0x48829e['blending'];const _0x483a3f=_0x11294d;function _0x3b9836(_0x1372f5,_0x26a843){return _0x29b8(_0x1372f5-0x14,_0x26a843);}const _0x398c2a=Cesium$5['Appearance'][_0x265a11(0x12f,0x1aa)](_0x302c03,_0xbd7ab7,_0x483a3f);return _0x398c2a;},_0x5dfc91=function(_0x3790b4){const _0xd3d968={},_0x434851=Cesium$5['Math']['mod'](_0x3790b4['west'],Cesium$5['Math'][_0x1bfa27(0xc1,0xc3)]),_0x3d0419=Cesium$5[_0x3c6112(-0x14b,-0x166)]['mod'](_0x3790b4['east'],Cesium$5['Math']['TWO_PI']),_0x16b899=_0x3790b4[_0x1bfa27(0x150,0x1b0)];let _0x1e755e;function _0x3c6112(_0x5cd270,_0xc63b0e){return _0x29b8(_0x5cd270- -0x2ca,_0xc63b0e);}function _0x1bfa27(_0x2af615,_0xaf8d02){return _0x29b8(_0x2af615- -0x10,_0xaf8d02);}let _0x4d1ba6;_0x16b899>Cesium$5['Math']['THREE_PI_OVER_TWO']?(_0x1e755e=0x0,_0x4d1ba6=Cesium$5['Math']['TWO_PI']):_0x3d0419-_0x434851<_0x16b899?(_0x1e755e=_0x434851,_0x4d1ba6=_0x434851+_0x16b899):(_0x1e755e=_0x434851,_0x4d1ba6=_0x3d0419);_0xd3d968['lon']={'min':Cesium$5['Math']['toDegrees'](_0x1e755e),'max':Cesium$5['Math'][_0x1bfa27(0x139,0xde)](_0x4d1ba6)};const _0x583814=_0x3790b4[_0x3c6112(-0x151,-0x1d1)],_0x4c35ee=_0x3790b4['north'],_0x20d2f1=_0x3790b4['height'],_0x156bfb=_0x20d2f1>Cesium$5['Math']['PI']/0xc?_0x20d2f1/0x2:0x0;let _0x5030ea=Cesium$5[_0x3c6112(-0x14b,-0x162)][_0x1bfa27(0x17a,0x195)](_0x583814-_0x156bfb),_0x4c9c02=Cesium$5['Math']['clampToLatitudeRange'](_0x4c35ee+_0x156bfb);return _0x5030ea<-Cesium$5['Math']['PI_OVER_THREE']&&(_0x5030ea=-Cesium$5['Math']['PI_OVER_TWO']),_0x4c9c02>Cesium$5['Math']['PI_OVER_THREE']&&(_0x4c9c02=Cesium$5[_0x1bfa27(0x16f,0xe2)][_0x3c6112(-0x1b7,-0x13f)]),_0xd3d968[_0x3c6112(-0x205,-0x1f7)]={'min':Cesium$5['Math']['toDegrees'](_0x5030ea),'max':Cesium$5[_0x1bfa27(0x16f,0x17e)]['toDegrees'](_0x4c9c02)},_0xd3d968;},_0x2fb56e={};return _0x2fb56e['getFullscreenQuad']=_0x3ae11a,_0x2fb56e['createTexture']=_0x3bb934,_0x2fb56e['createFramebuffer']=_0x37e9aa,_0x2fb56e['createRawRenderState']=_0x25786e,_0x2fb56e[_0x1938c8(0x372,0x2fd)]=_0x5dfc91,_0x2fb56e;}());var segmentDraw_vert=_0x422f44(-0x22a,-0x21c),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=_0x422f44(-0x1e4,-0x1bb),trailDraw_frag=_0x422f44(-0x1dd,-0x15f),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(_0x305083,_0x4a8eab,_0x10d9e8,_0x3a2e7b,_0x160f74){function _0x408da5(_0x37f528,_0x3dd825){return _0x573119(_0x37f528,_0x3dd825-0x392);}this[_0x271ada(-0xc9,-0xaf)](_0x305083,_0x4a8eab,_0x10d9e8['colors']);function _0x271ada(_0x3bdd69,_0x4d07c3){return _0x573119(_0x4d07c3,_0x3bdd69- -0x186);}this[_0x408da5(0x3ca,0x427)](_0x305083),this[_0x408da5(0x490,0x458)](_0x305083,_0x10d9e8,_0x3a2e7b,_0x160f74);}[_0x573119(0x154,0xbd)](_0xc366a9,_0x3c42f1,_0x4bd73d){function _0xdf6186(_0x2fcf9b,_0x5c7a18){return _0x422f44(_0x5c7a18,_0x2fcf9b-0x4);}const _0x5e6f78={};_0x5e6f78['context']=_0xc366a9,_0x5e6f78['width']=_0xc366a9['drawingBufferWidth'],_0x5e6f78['height']=_0xc366a9['drawingBufferHeight'],_0x5e6f78['pixelFormat']=Cesium$4[_0x28d3cb(0xb4,0xb8)]['RGBA'],_0x5e6f78['pixelDatatype']=Cesium$4['PixelDatatype']['UNSIGNED_BYTE'];const _0x4ae991=_0x5e6f78,_0xeaf840={};_0xeaf840['context']=_0xc366a9,_0xeaf840['width']=_0xc366a9['drawingBufferWidth'],_0xeaf840['height']=_0xc366a9['drawingBufferHeight'],_0xeaf840[_0x28d3cb(0x155,0x18f)]=Cesium$4['PixelFormat']['DEPTH_COMPONENT'],_0xeaf840['pixelDatatype']=Cesium$4[_0xdf6186(-0x1d5,-0x22d)][_0xdf6186(-0x1f2,-0x19b)];function _0x28d3cb(_0x59cf4a,_0x220d3e){return _0x573119(_0x220d3e,_0x59cf4a-0x3c);}const _0x16e4fc=_0xeaf840,_0xcc6fc=_0x4bd73d['length'],_0xffdcfa=new Float32Array(_0xcc6fc*0x3);for(let _0x1f4620=0x0;_0x1f4620<_0xcc6fc;_0x1f4620++){const _0x40e352=Cesium$4['Color']['fromCssColorString'](_0x4bd73d[_0x1f4620]);_0xffdcfa[0x3*_0x1f4620]=_0x40e352[_0xdf6186(-0x166,-0x176)],_0xffdcfa[0x3*_0x1f4620+0x1]=_0x40e352[_0x28d3cb(0x16b,0x1b2)],_0xffdcfa[0x3*_0x1f4620+0x2]=_0x40e352[_0x28d3cb(0xa8,0x11)];}const _0x14eb06={'context':_0xc366a9,'width':_0xcc6fc,'height':0x1,'pixelFormat':Cesium$4[_0xdf6186(-0x1e0,-0x218)]['RGB'],'pixelDatatype':Cesium$4['PixelDatatype']['FLOAT'],'sampler':new Cesium$4['Sampler']({'minificationFilter':Cesium$4['TextureMinificationFilter']['LINEAR'],'magnificationFilter':Cesium$4[_0xdf6186(-0x140,-0x173)]['LINEAR']})};this[_0xdf6186(-0x1c9,-0x249)]={'segmentsColor':Util[_0xdf6186(-0x17e,-0x169)](_0x4ae991),'segmentsDepth':Util['createTexture'](_0x16e4fc),'currentTrailsColor':Util[_0xdf6186(-0x17e,-0x13b)](_0x4ae991),'currentTrailsDepth':Util['createTexture'](_0x16e4fc),'nextTrailsColor':Util[_0x28d3cb(0x116,0x93)](_0x4ae991),'nextTrailsDepth':Util['createTexture'](_0x16e4fc),'colorTable':Util['createTexture'](_0x14eb06,_0xffdcfa)};}['createRenderingFramebuffers'](_0x474255){function _0x3c6617(_0x12c949,_0x1e3fdd){return _0x573119(_0x1e3fdd,_0x12c949- -0x1d3);}function _0x168900(_0x32dc18,_0x570c2a){return _0x422f44(_0x570c2a,_0x32dc18-0x157);}this[_0x168900(-0xea,-0x140)]={'segments':Util[_0x3c6617(-0xf1,-0xcf)](_0x474255,this['textures']['segmentsColor'],this[_0x168900(-0x76,-0xa)]['segmentsDepth']),'currentTrails':Util[_0x168900(-0x23,0x2)](_0x474255,this['textures'][_0x168900(-0x53,-0x24)],this['textures']['currentTrailsDepth']),'nextTrails':Util['createFramebuffer'](_0x474255,this['textures']['nextTrailsColor'],this[_0x168900(-0x76,-0x77)]['nextTrailsDepth'])};}['createSegmentsGeometry'](_0x37940f){const _0x524698=0x4;let _0x5b5700=[];for(let _0x3be88d=0x0;_0x3be88d<_0x37940f[_0x2b4b63(-0x26f,-0x2e4)];_0x3be88d++){for(let _0x997826=0x0;_0x997826<_0x37940f['particlesTextureSize'];_0x997826++){for(let _0x41fe25=0x0;_0x41fe25<_0x524698;_0x41fe25++){_0x5b5700[_0x1ddf47(-0x9f,-0x108)](_0x3be88d/_0x37940f[_0x2b4b63(-0x26f,-0x1f3)]),_0x5b5700[_0x1ddf47(-0xa8,-0x108)](_0x997826/_0x37940f['particlesTextureSize']);}}}_0x5b5700=new Float32Array(_0x5b5700);let _0xc33c8d=[];const _0x43aa4b=[-0x1,0x1],_0x3c9ff1=[-0x1,0x1];for(let _0x5107cc=0x0;_0x5107cc<_0x37940f[_0x2b4b63(-0x2c9,-0x336)];_0x5107cc++){for(let _0x1b5d4e=0x0;_0x1b5d4e<_0x524698/0x2;_0x1b5d4e++){for(let _0x29b819=0x0;_0x29b819<_0x524698/0x2;_0x29b819++){_0xc33c8d['push'](_0x43aa4b[_0x1b5d4e]),_0xc33c8d['push'](_0x3c9ff1[_0x29b819]),_0xc33c8d['push'](0x0);}}}_0xc33c8d=new Float32Array(_0xc33c8d);const _0x225a6b=0x6*_0x37940f['maxParticles'],_0x3b7e69=new Uint32Array(_0x225a6b);function _0x1ddf47(_0x3b8803,_0x3839fe){return _0x422f44(_0x3b8803,_0x3839fe-0x124);}function _0x2b4b63(_0x4a7f27,_0x200758){return _0x422f44(_0x200758,_0x4a7f27- -0xd5);}for(let _0x1dc7cc=0x0,_0x4ea710=0x0,_0x255300=0x0;_0x1dc7cc<_0x37940f['maxParticles'];_0x1dc7cc++){_0x3b7e69[_0x4ea710++]=_0x255300+0x0,_0x3b7e69[_0x4ea710++]=_0x255300+0x1,_0x3b7e69[_0x4ea710++]=_0x255300+0x2,_0x3b7e69[_0x4ea710++]=_0x255300+0x2,_0x3b7e69[_0x4ea710++]=_0x255300+0x1,_0x3b7e69[_0x4ea710++]=_0x255300+0x3,_0x255300+=0x4;}const _0x16596c=new Cesium$4['Geometry']({'attributes':new Cesium$4[(_0x2b4b63(-0x282,-0x2bb))]({'st':new Cesium$4['GeometryAttribute']({'componentDatatype':Cesium$4[_0x1ddf47(-0x32,-0x32)]['FLOAT'],'componentsPerAttribute':0x2,'values':_0x5b5700}),'normal':new Cesium$4['GeometryAttribute']({'componentDatatype':Cesium$4['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x3,'values':_0xc33c8d})}),'indices':_0x3b7e69});return _0x16596c;}[_0x573119(0xc1,0xc6)](_0x42919a,_0x17878d,_0x3a98d4,_0x372a7a){const _0xdee42f=this,_0xcdf7d9={};_0xcdf7d9['st']=0x0,_0xcdf7d9['normal']=0x1;const _0x153284={};_0x153284[_0x4584c9(-0xa,-0x9a)]=[segmentDraw_vert];const _0x462eee={};_0x462eee['sources']=[segmentDraw_frag];const _0x13ac28={};_0x13ac28['enabled']=!![];const _0x4ace33={};function _0x59a6a6(_0x16bce7,_0x5b8659){return _0x422f44(_0x5b8659,_0x16bce7-0x6a0);}_0x4ace33['viewport']=undefined,_0x4ace33[_0x4584c9(-0x49,0x5)]=_0x13ac28,_0x4ace33['depthMask']=!![];const _0x2c74f0={};_0x2c74f0[_0x4584c9(-0x69,-0x37)]=0x0,_0x2c74f0['st']=0x1;const _0x2146ca={};_0x2146ca['defines']=['DISABLE_GL_POSITION_LOG_DEPTH'],_0x2146ca['sources']=[fullscreen_vert];const _0xbf838a={};_0xbf838a[_0x59a6a6(0x4de,0x456)]=[_0x59a6a6(0x495,0x4be)],_0xbf838a['sources']=[trailDraw_frag];const _0x1db20c={};_0x1db20c['position']=0x0,_0x1db20c['st']=0x1;const _0x7b133b={};_0x7b133b['defines']=['DISABLE_GL_POSITION_LOG_DEPTH'],_0x7b133b[_0x4584c9(-0xe7,-0x9a)]=[fullscreen_vert];const _0x602f8d={};function _0x4584c9(_0x23bc11,_0x5678c8){return _0x573119(_0x23bc11,_0x5678c8- -0xf5);}_0x602f8d['defines']=[_0x4584c9(-0x56,-0xa4)],_0x602f8d[_0x59a6a6(0x49f,0x429)]=[screenDraw_frag];const _0x4946ce={};_0x4946ce[_0x59a6a6(0x51f,0x4df)]=![];const _0x2235df={};_0x2235df[_0x59a6a6(0x51f,0x59b)]=!![],this[_0x4584c9(-0x10a,-0x7a)]={'segments':new CustomPrimitive({'commandType':'Draw','attributeLocations':_0xcdf7d9,'geometry':this[_0x59a6a6(0x53a,0x4ea)](_0x17878d),'primitiveType':Cesium$4['PrimitiveType'][_0x4584c9(0x80,-0x1)],'uniformMap':{'currentParticlesPosition':function(){return _0x372a7a['particlesTextures']['currentParticlesPosition'];},'postProcessingPosition':function(){function _0x511067(_0x78d9f0,_0x312376){return _0x59a6a6(_0x78d9f0- -0x6d3,_0x312376);}return _0x372a7a['particlesTextures'][_0x511067(-0x213,-0x262)];},'postProcessingSpeed':function(){function _0x599e27(_0x32b6ab,_0x3bf760){return _0x59a6a6(_0x3bf760- -0x448,_0x32b6ab);}return _0x372a7a['particlesTextures'][_0x599e27(-0x14,0x45)];},'colorTable':function(){function _0x32d3d6(_0x386ab3,_0x2b3b0f){return _0x59a6a6(_0x2b3b0f- -0x2c3,_0x386ab3);}function _0x57809a(_0x1c108e,_0x104710){return _0x4584c9(_0x1c108e,_0x104710-0x4e3);}return _0xdee42f[_0x57809a(0x4c6,0x47d)][_0x57809a(0x4a3,0x4fb)];},'aspect':function(){return _0x42919a['drawingBufferWidth']/_0x42919a['drawingBufferHeight'];},'pixelSize':function(){function _0xc943ff(_0x3e3947,_0x2366a6){return _0x4584c9(_0x3e3947,_0x2366a6- -0x182);}return _0x3a98d4[_0xc943ff(-0xc4,-0x149)];},'lineWidth':function(){function _0x14f57e(_0xad14d,_0x59d05a){return _0x59a6a6(_0x59d05a- -0x82,_0xad14d);}return _0x17878d[_0x14f57e(0x550,0x4c6)];},'particleHeight':function(){return _0x17878d['particleHeight'];}},'vertexShaderSource':new Cesium$4['ShaderSource'](_0x153284),'fragmentShaderSource':new Cesium$4[(_0x4584c9(-0xa3,-0x61))](_0x462eee),'rawRenderState':Util['createRawRenderState'](_0x4ace33),'framebuffer':this[_0x59a6a6(0x45f,0x3f9)][_0x4584c9(-0x4b,-0x29)],'autoClear':!![]}),'trails':new CustomPrimitive({'commandType':_0x59a6a6(0x56e,0x5bd),'attributeLocations':_0x2c74f0,'geometry':Util['getFullscreenQuad'](),'primitiveType':Cesium$4['PrimitiveType']['TRIANGLES'],'uniformMap':{'segmentsColorTexture':function(){return _0xdee42f['textures']['segmentsColor'];},'segmentsDepthTexture':function(){return _0xdee42f['textures']['segmentsDepth'];},'currentTrailsColor':function(){function _0x5d84d8(_0x385f53,_0x217334){return _0x4584c9(_0x385f53,_0x217334- -0x234);}function _0x2677bb(_0x4f31e3,_0x672c3c){return _0x59a6a6(_0x4f31e3- -0x86,_0x672c3c);}return _0xdee42f[_0x2677bb(0x3d9,0x3e7)][_0x2677bb(0x3d2,0x38e)]['getColorTexture'](0x0);},'trailsDepthTexture':function(){function _0x1df087(_0x4d269d,_0xa13b93){return _0x59a6a6(_0xa13b93- -0x2a2,_0x4d269d);}return _0xdee42f['framebuffers'][_0x1df087(0x1be,0x1b6)]['depthTexture'];},'fadeOpacity':function(){return _0x17878d['fadeOpacity'];}},'vertexShaderSource':new Cesium$4['ShaderSource'](_0x2146ca),'fragmentShaderSource':new Cesium$4['ShaderSource'](_0xbf838a),'rawRenderState':Util['createRawRenderState']({'viewport':undefined,'depthTest':{'enabled':!![],'func':Cesium$4['DepthFunction'][_0x4584c9(-0x44,0x2f)]},'depthMask':!![]}),'framebuffer':this['framebuffers']['nextTrails'],'autoClear':!![],'preExecute':function(){function _0x1d3ec6(_0x5c97f7,_0x414ef7){return _0x4584c9(_0x414ef7,_0x5c97f7-0x409);}const _0x30b2ba=_0xdee42f['framebuffers']['currentTrails'];function _0x37dd98(_0x2e3a27,_0xa285ca){return _0x4584c9(_0x2e3a27,_0xa285ca-0x234);}_0xdee42f['framebuffers'][_0x1d3ec6(0x328,0x381)]=_0xdee42f['framebuffers'][_0x1d3ec6(0x41e,0x445)],_0xdee42f['framebuffers']['nextTrails']=_0x30b2ba,_0xdee42f['primitives']['trails'][_0x37dd98(0x1f5,0x1bd)]['framebuffer']=_0xdee42f[_0x1d3ec6(0x32f,0x2c4)][_0x1d3ec6(0x41e,0x403)],_0xdee42f['primitives'][_0x1d3ec6(0x325,0x394)][_0x37dd98(0x139,0x1cc)][_0x37dd98(0x1db,0x199)]=_0xdee42f['framebuffers'][_0x1d3ec6(0x41e,0x4a7)];}}),'screen':new CustomPrimitive({'commandType':_0x4584c9(0x3c,0x35),'attributeLocations':_0x1db20c,'geometry':Util['getFullscreenQuad'](),'primitiveType':Cesium$4['PrimitiveType']['TRIANGLES'],'uniformMap':{'trailsColorTexture':function(){function _0x4d2f47(_0x426618,_0x599eb2){return _0x4584c9(_0x426618,_0x599eb2- -0x1d1);}function _0x2bc01a(_0x586718,_0x3992fa){return _0x4584c9(_0x586718,_0x3992fa- -0x256);}return _0xdee42f[_0x4d2f47(-0x2d9,-0x2ab)]['nextTrails'][_0x4d2f47(-0x2b2,-0x222)](0x0);},'trailsDepthTexture':function(){function _0x266e4b(_0xcf4146,_0x5d71ba){return _0x59a6a6(_0xcf4146- -0x70,_0x5d71ba);}function _0x5cd5a2(_0x1216b7,_0x18e829){return _0x59a6a6(_0x1216b7- -0x751,_0x18e829);}return _0xdee42f[_0x266e4b(0x3ef,0x438)][_0x5cd5a2(-0x203,-0x261)][_0x266e4b(0x466,0x4e7)];}},'vertexShaderSource':new Cesium$4['ShaderSource'](_0x7b133b),'fragmentShaderSource':new Cesium$4[(_0x4584c9(0x36,-0x61))](_0x602f8d),'rawRenderState':Util['createRawRenderState']({'viewport':undefined,'depthTest':_0x4946ce,'depthMask':!![],'blending':_0x2235df}),'framebuffer':undefined})};}}var getWind_frag=_0x573119(0x179,0xe7),updateSpeed_frag=_0x422f44(-0x147,-0x1a5),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=_0x422f44(-0x16b,-0x19c);const Cesium$3=mars3d__namespace['Cesium'];class ParticlesComputing{constructor(_0x547972,_0x14eae7,_0x5be6da,_0x28e1fb){this['data']=_0x14eae7,this[_0x3221f4(0x1c,0x35)](_0x547972,_0x14eae7);function _0x45c7e8(_0x59ae1f,_0x3b9d95){return _0x573119(_0x59ae1f,_0x3b9d95- -0x8d);}function _0x3221f4(_0x33799b,_0x34b8fd){return _0x573119(_0x34b8fd,_0x33799b- -0xd2);}this[_0x3221f4(0x3c,0x1b)](_0x547972,_0x5be6da,_0x28e1fb),this[_0x3221f4(0x63,0x4e)](_0x14eae7,_0x5be6da,_0x28e1fb);}['createWindTextures'](_0x2739c5,_0x366856){function _0x5ba74e(_0x11a5e9,_0x4484ea){return _0x573119(_0x4484ea,_0x11a5e9-0x248);}const _0x2ddd1b={'context':_0x2739c5,'width':_0x366856['dimensions'][_0x29ded8(0x31,0x6f)],'height':_0x366856['dimensions']['lat']*(_0x366856['dimensions']['lev']||0x1),'pixelFormat':Cesium$3['PixelFormat'][_0x29ded8(-0x2b,0x2d)],'pixelDatatype':Cesium$3['PixelDatatype'][_0x5ba74e(0x365,0x367)],'flipY':![],'sampler':new Cesium$3[(_0x5ba74e(0x31c,0x2e0))]({'minificationFilter':Cesium$3['TextureMinificationFilter'][_0x5ba74e(0x2b6,0x2e4)],'magnificationFilter':Cesium$3[_0x5ba74e(0x360,0x321)]['NEAREST']})};function _0x29ded8(_0x38ecf6,_0x196824){return _0x573119(_0x196824,_0x38ecf6- -0xe6);}this[_0x5ba74e(0x341,0x3a0)]={'U':Util['createTexture'](_0x2ddd1b,_0x366856['U']['array']),'V':Util[_0x29ded8(-0xc,0x5f)](_0x2ddd1b,_0x366856['V']['array'])};}['createParticlesTextures'](_0xebc4af,_0xe3bcd1,_0x27a94f){function _0x295523(_0x5c8d82,_0x56f435){return _0x422f44(_0x56f435,_0x5c8d82-0x268);}const _0x53af57={'context':_0xebc4af,'width':_0xe3bcd1['particlesTextureSize'],'height':_0xe3bcd1['particlesTextureSize'],'pixelFormat':Cesium$3['PixelFormat']['RGBA'],'pixelDatatype':Cesium$3[_0x18bb47(0x9d,0x113)][_0x18bb47(0x137,0x122)],'flipY':![],'sampler':new Cesium$3[(_0x295523(0xe0,0x105))]({'minificationFilter':Cesium$3[_0x18bb47(0xca,0xb7)][_0x18bb47(0x88,0x102)],'magnificationFilter':Cesium$3['TextureMagnificationFilter']['NEAREST']})};function _0x18bb47(_0x521f45,_0x4af9c3){return _0x573119(_0x4af9c3,_0x521f45-0x1a);}const _0xb3fa5d=this['randomizeParticles'](_0xe3bcd1[_0x295523(0x74,-0x20)],_0x27a94f),_0x1c13fb=new Float32Array(0x4*_0xe3bcd1[_0x295523(0x74,0x62)])[_0x295523(0x13c,0x151)](0x0);this[_0x18bb47(0xb6,0x10a)]={'particlesWind':Util[_0x295523(0xe6,0x162)](_0x53af57),'currentParticlesPosition':Util['createTexture'](_0x53af57,_0xb3fa5d),'nextParticlesPosition':Util[_0x295523(0xe6,0xd7)](_0x53af57,_0xb3fa5d),'currentParticlesSpeed':Util[_0x18bb47(0xf4,0x186)](_0x53af57,_0x1c13fb),'nextParticlesSpeed':Util[_0x295523(0xe6,0x96)](_0x53af57,_0x1c13fb),'postProcessingPosition':Util[_0x18bb47(0xf4,0xe2)](_0x53af57,_0xb3fa5d),'postProcessingSpeed':Util[_0x295523(0xe6,0xcb)](_0x53af57,_0x1c13fb)};}['randomizeParticles'](_0x2142a6,_0xb43061){const _0x1ea324=new Float32Array(0x4*_0x2142a6);function _0x3cdc71(_0x3ce12a,_0x250133){return _0x573119(_0x3ce12a,_0x250133-0x35a);}for(let _0xae4379=0x0;_0xae4379<_0x2142a6;_0xae4379++){_0x1ea324[0x4*_0xae4379]=Cesium$3['Math'][_0x5b9e8e(0x71,0xaa)](_0xb43061[_0x3cdc71(0x487,0x40f)]['x'],_0xb43061['lonRange']['y']),_0x1ea324[0x4*_0xae4379+0x1]=Cesium$3['Math'][_0x3cdc71(0x416,0x3c3)](_0xb43061['latRange']['x'],_0xb43061[_0x5b9e8e(0xd7,0x10a)]['y']),_0x1ea324[0x4*_0xae4379+0x2]=Cesium$3['Math']['randomBetween'](this[_0x5b9e8e(0xc3,0xf4)][_0x5b9e8e(0xf9,0x77)]['min'],this[_0x3cdc71(0x488,0x40d)]['lev']['max']),_0x1ea324[0x4*_0xae4379+0x3]=0x0;}function _0x5b9e8e(_0x12ef24,_0x58517f){return _0x573119(_0x12ef24,_0x58517f-0x41);}return _0x1ea324;}[_0x422f44(-0x182,-0x17d)](){function _0x2886f6(_0x292278,_0x24e7ac){return _0x573119(_0x292278,_0x24e7ac- -0x1d4);}function _0x4bc6a9(_0xeb3b37,_0x16d8f3){return _0x573119(_0x16d8f3,_0xeb3b37-0x3b0);}Object['keys'](this[_0x4bc6a9(0x44c,0x493)])[_0x4bc6a9(0x496,0x522)](_0x42b0f9=>{function _0x133f73(_0x49adf2,_0x481ff3){return _0x2886f6(_0x49adf2,_0x481ff3-0x93);}this['particlesTextures'][_0x42b0f9][_0x133f73(-0x18f,-0x116)]();});}['createComputingPrimitives'](_0x854613,_0x1614f8,_0x5446e7){const _0x32aed2=new Cesium$3['Cartesian3'](_0x854613['dimensions']['lon'],_0x854613['dimensions']['lat'],_0x854613['dimensions'][_0x16e310(0x195,0x179)]);function _0x16e310(_0x5d06a1,_0x18c3e8){return _0x422f44(_0x18c3e8,_0x5d06a1-0x3bb);}const _0x1231fc=new Cesium$3[(_0x1ea865(0x2de,0x2b5))](_0x854613['lon']['min'],_0x854613[_0x16e310(0x19a,0x17e)]['min'],_0x854613['lev']['min']),_0x1927f5=new Cesium$3['Cartesian3'](_0x854613['lon']['max'],_0x854613[_0x1ea865(0x1d0,0x238)]['max'],_0x854613['lev'][_0x16e310(0x273,0x238)]),_0x521813=new Cesium$3['Cartesian3']((_0x1927f5['x']-_0x1231fc['x'])/(_0x32aed2['x']-0x1),(_0x1927f5['y']-_0x1231fc['y'])/(_0x32aed2['y']-0x1),_0x32aed2['z']>0x1?(_0x1927f5['z']-_0x1231fc['z'])/(_0x32aed2['z']-0x1):0x1),_0x56701d=new Cesium$3['Cartesian2'](_0x854613['U']['min'],_0x854613['U']['max']),_0x28f43e=new Cesium$3['Cartesian2'](_0x854613['V']['min'],_0x854613['V']['max']),_0x2eb94e=this,_0x3cb1db={};_0x3cb1db['U']=function(){return _0x2eb94e['windTextures']['U'];},_0x3cb1db['V']=function(){return _0x2eb94e['windTextures']['V'];},_0x3cb1db[_0x1ea865(0x27e,0x300)]=function(){function _0x494f84(_0x5abbae,_0x5ced81){return _0x1ea865(_0x5abbae,_0x5ced81- -0x30d);}return _0x2eb94e['particlesTextures'][_0x494f84(-0x12,-0xd)];},_0x3cb1db[_0x1ea865(0x1ee,0x260)]=function(){return _0x32aed2;},_0x3cb1db['minimum']=function(){return _0x1231fc;},_0x3cb1db[_0x16e310(0x290,0x29d)]=function(){return _0x1927f5;},_0x3cb1db[_0x1ea865(0x30f,0x328)]=function(){return _0x521813;};const _0x4945ac={};_0x4945ac['sources']=[getWind_frag];const _0x2c69a0={};_0x2c69a0[_0x16e310(0x1ba,0x18d)]=[updateSpeed_frag];const _0xa00740={};_0xa00740['sources']=[updatePosition_frag];function _0x1ea865(_0x353429,_0x20385f){return _0x573119(_0x353429,_0x20385f-0x1fd);}const _0x4d0e2f={};_0x4d0e2f['sources']=[postProcessingPosition_frag];const _0x2180fe={};_0x2180fe['sources']=[postProcessingSpeed_frag],this[_0x1ea865(0x204,0x278)]={'getWind':new CustomPrimitive({'commandType':_0x1ea865(0x238,0x230),'uniformMap':_0x3cb1db,'fragmentShaderSource':new Cesium$3['ShaderSource'](_0x4945ac),'outputTexture':this[_0x1ea865(0x298,0x299)]['particlesWind'],'preExecute':function(){function _0x353849(_0x204b5d,_0x4fbd2d){return _0x1ea865(_0x4fbd2d,_0x204b5d- -0xe1);}function _0x23c738(_0x130cce,_0x3a3599){return _0x16e310(_0x3a3599- -0x248,_0x130cce);}_0x2eb94e[_0x353849(0x197,0x1f7)][_0x353849(0x238,0x2b8)]['commandToExecute']['outputTexture']=_0x2eb94e[_0x353849(0x1b8,0x137)]['particlesWind'];}}),'updateSpeed':new CustomPrimitive({'commandType':_0x16e310(0x192,0x201),'uniformMap':{'currentParticlesSpeed':function(){function _0x405547(_0x2d4c04,_0x3643fc){return _0x1ea865(_0x2d4c04,_0x3643fc- -0x2ba);}function _0x113435(_0x2b60bf,_0x48eea1){return _0x1ea865(_0x48eea1,_0x2b60bf-0x1b9);}return _0x2eb94e[_0x113435(0x452,0x3ee)][_0x405547(-0x3,-0x4a)];},'particlesWind':function(){function _0xc99196(_0x37f8ba,_0x179ca0){return _0x16e310(_0x37f8ba- -0x68,_0x179ca0);}return _0x2eb94e['particlesTextures'][_0xc99196(0x109,0x94)];},'uSpeedRange':function(){return _0x56701d;},'vSpeedRange':function(){return _0x28f43e;},'pixelSize':function(){return _0x5446e7['pixelSize'];},'speedFactor':function(){return _0x1614f8['speedFactor'];}},'fragmentShaderSource':new Cesium$3[(_0x1ea865(0x243,0x291))](_0x2c69a0),'outputTexture':this[_0x1ea865(0x2d5,0x299)][_0x16e310(0x1d0,0x211)],'preExecute':function(){const _0xdcf590=_0x2eb94e['particlesTextures']['currentParticlesSpeed'];function _0x2ab7c1(_0x145db6,_0x25b151){return _0x16e310(_0x25b151-0x50,_0x145db6);}_0x2eb94e['particlesTextures']['currentParticlesSpeed']=_0x2eb94e['particlesTextures']['postProcessingSpeed'],_0x2eb94e[_0x5fb413(0x4,-0xa)]['postProcessingSpeed']=_0xdcf590;function _0x5fb413(_0x47e98f,_0xeb1c1c){return _0x1ea865(_0x47e98f,_0xeb1c1c- -0x2a3);}_0x2eb94e['primitives'][_0x5fb413(0xb0,0x79)]['commandToExecute']['outputTexture']=_0x2eb94e[_0x2ab7c1(0x263,0x24b)]['nextParticlesSpeed'];}}),'updatePosition':new CustomPrimitive({'commandType':'Compute','uniformMap':{'currentParticlesPosition':function(){function _0x1bb33d(_0x4e17e7,_0x5c230c){return _0x1ea865(_0x5c230c,_0x4e17e7- -0x151);}return _0x2eb94e[_0x1bb33d(0x148,0x1aa)]['currentParticlesPosition'];},'currentParticlesSpeed':function(){function _0x194491(_0x4c2e30,_0x1e9120){return _0x16e310(_0x1e9120-0x252,_0x4c2e30);}return _0x2eb94e[_0x194491(0x478,0x44d)]['currentParticlesSpeed'];}},'fragmentShaderSource':new Cesium$3['ShaderSource'](_0xa00740),'outputTexture':this['particlesTextures'][_0x16e310(0x19d,0x19d)],'preExecute':function(){function _0x3662da(_0x210ad5,_0x33bb66){return _0x1ea865(_0x33bb66,_0x210ad5- -0x3b4);}const _0x5dbd5c=_0x2eb94e[_0x1e4b77(0x9,-0x46)]['currentParticlesPosition'];function _0x1e4b77(_0x26c79a,_0x2aaf3f){return _0x16e310(_0x2aaf3f- -0x241,_0x26c79a);}_0x2eb94e[_0x1e4b77(-0x79,-0x46)][_0x3662da(-0xb4,-0xb3)]=_0x2eb94e['particlesTextures']['postProcessingPosition'],_0x2eb94e[_0x1e4b77(-0x14,-0x46)]['postProcessingPosition']=_0x5dbd5c,_0x2eb94e['primitives']['updatePosition']['commandToExecute']['outputTexture']=_0x2eb94e['particlesTextures'][_0x1e4b77(-0xdd,-0xa4)];}}),'postProcessingPosition':new CustomPrimitive({'commandType':'Compute','uniformMap':{'nextParticlesPosition':function(){function _0x1b84e2(_0x1bf8f1,_0x51c3b4){return _0x16e310(_0x51c3b4- -0x340,_0x1bf8f1);}return _0x2eb94e[_0x1b84e2(-0x192,-0x145)]['nextParticlesPosition'];},'nextParticlesSpeed':function(){function _0xa8fc0f(_0x4144f3,_0x3b88da){return _0x1ea865(_0x4144f3,_0x3b88da- -0xc5);}return _0x2eb94e[_0xa8fc0f(0x1c0,0x1d4)]['nextParticlesSpeed'];},'lonRange':function(){function _0x3faf0a(_0x31a518,_0x4f8417){return _0x1ea865(_0x31a518,_0x4f8417- -0x522);}return _0x5446e7[_0x3faf0a(-0x1e6,-0x270)];},'latRange':function(){return _0x5446e7['latRange'];},'randomCoefficient':function(){const _0x171534=Math['random']();return _0x171534;},'dropRate':function(){return _0x1614f8['dropRate'];},'dropRateBump':function(){function _0x5da5cd(_0x24e6af,_0x5b1486){return _0x1ea865(_0x5b1486,_0x24e6af-0x1b3);}return _0x1614f8[_0x5da5cd(0x466,0x3f5)];}},'fragmentShaderSource':new Cesium$3[(_0x1ea865(0x293,0x291))](_0x4d0e2f),'outputTexture':this[_0x16e310(0x1fb,0x28b)][_0x1ea865(0x1e9,0x279)],'preExecute':function(){function _0x124de7(_0x3f01ad,_0x30effa){return _0x1ea865(_0x3f01ad,_0x30effa-0x1d1);}_0x2eb94e['primitives']['postProcessingPosition']['commandToExecute']['outputTexture']=_0x2eb94e['particlesTextures'][_0x124de7(0x4a9,0x44a)];}}),'postProcessingSpeed':new CustomPrimitive({'commandType':'Compute','uniformMap':{'postProcessingPosition':function(){function _0x47b31a(_0x3d44a9,_0x50aabc){return _0x16e310(_0x3d44a9-0x92,_0x50aabc);}return _0x2eb94e['particlesTextures'][_0x47b31a(0x26d,0x2a8)];},'nextParticlesSpeed':function(){return _0x2eb94e['particlesTextures']['nextParticlesSpeed'];}},'fragmentShaderSource':new Cesium$3[(_0x1ea865(0x205,0x291))](_0x2180fe),'outputTexture':this['particlesTextures']['postProcessingSpeed'],'preExecute':function(){function _0x40828f(_0x59fef8,_0x1ccb1d){return _0x1ea865(_0x59fef8,_0x1ccb1d- -0x271);}function _0x4a94e5(_0x38389d,_0xd346f1){return _0x16e310(_0x38389d-0x178,_0xd346f1);}_0x2eb94e[_0x40828f(-0x63,0x7)][_0x4a94e5(0x320,0x2db)]['commandToExecute']['outputTexture']=_0x2eb94e['particlesTextures']['postProcessingSpeed'];}})};}}const Cesium$2=mars3d__namespace[_0x573119(0x84,0x4f)];class ParticleSystem{constructor(_0x403b07,_0x5c5821,_0x299eeb,_0x993bba){this['context']=_0x403b07,_0x5c5821={..._0x5c5821};_0x5c5821['udata']&&_0x5c5821['vdata']&&(_0x5c5821['dimensions']={},_0x5c5821[_0x39fad9(0x40f,0x466)]['lon']=_0x5c5821['cols'],_0x5c5821['dimensions']['lat']=_0x5c5821['rows'],_0x5c5821[_0x39fad9(0x3fe,0x466)]['lev']=_0x5c5821[_0x36e2c5(0x7d,0x107)]||0x1,_0x5c5821[_0x39fad9(0x4f0,0x46e)]={},_0x5c5821[_0x39fad9(0x41a,0x46e)][_0x36e2c5(0xdf,0x5c)]=_0x5c5821['xmin'],_0x5c5821['lon']['max']=_0x5c5821['xmax'],_0x5c5821[_0x36e2c5(0x82,0x83)]={},_0x5c5821['lat']['min']=_0x5c5821['ymin'],_0x5c5821[_0x39fad9(0x401,0x392)][_0x39fad9(0x45f,0x46b)]=_0x5c5821[_0x39fad9(0x425,0x42e)],_0x5c5821[_0x36e2c5(0x7d,0x10c)]={},_0x5c5821['lev']['min']=_0x5c5821[_0x39fad9(0x36e,0x3ab)]??0x1,_0x5c5821['lev']['max']=_0x5c5821[_0x36e2c5(0xae,0x6f)]??0x1,_0x5c5821['U']={},_0x5c5821['U']['array']=new Float32Array(_0x5c5821['udata']),_0x5c5821['U'][_0x36e2c5(0xdf,0x119)]=_0x5c5821[_0x36e2c5(0x75,0x7b)]??Math['min'](..._0x5c5821[_0x36e2c5(0x103,0xc3)]),_0x5c5821['U']['max']=_0x5c5821['umax']??Math['max'](..._0x5c5821[_0x36e2c5(0x103,0xa0)]),_0x5c5821['V']={},_0x5c5821['V']['array']=new Float32Array(_0x5c5821[_0x39fad9(0x3c8,0x45c)]),_0x5c5821['V']['min']=_0x5c5821['vmin']??Math[_0x39fad9(0x378,0x3ef)](..._0x5c5821['vdata']),_0x5c5821['V'][_0x36e2c5(0x15b,0x1e2)]=_0x5c5821['vmax']??Math['max'](..._0x5c5821['vdata']));this[_0x36e2c5(0xfa,0x17a)]=_0x5c5821;function _0x39fad9(_0x3d79ee,_0x3d6079){return _0x422f44(_0x3d79ee,_0x3d6079-0x5b3);}this['options']=_0x299eeb;function _0x36e2c5(_0x43ff83,_0x28eb44){return _0x573119(_0x28eb44,_0x43ff83-0x47);}this[_0x36e2c5(0xa0,0x119)]=_0x993bba,this['particlesComputing']=new ParticlesComputing(this['context'],this[_0x39fad9(0x3f5,0x40a)],this[_0x36e2c5(0x15c,0xdd)],this['viewerParameters']),this[_0x36e2c5(0x133,0xc4)]=new ParticlesRendering(this['context'],this[_0x36e2c5(0xfa,0x14a)],this['options'],this[_0x39fad9(0x334,0x3b0)],this['particlesComputing']);}['canvasResize'](_0x1fa2ea){this[_0x354aff(0x101,0x153)][_0x4f66f8(0x24e,0x1fe)](),Object['keys'](this['particlesComputing'][_0x354aff(0x15c,0x1a3)])[_0x354aff(0x149,0x124)](_0x514114=>{function _0x526d37(_0x55eb9c,_0x213e42){return _0x4f66f8(_0x55eb9c-0x154,_0x213e42);}this[_0x526d37(0x361,0x34d)]['windTextures'][_0x514114]['destroy']();}),this[_0x4f66f8(0x25b,0x208)][_0x4f66f8(0x1fe,0x251)]['colorTable']['destroy'](),Object['keys'](this[_0x4f66f8(0x25b,0x2e4)]['framebuffers'])[_0x354aff(0x149,0x126)](_0x2f7902=>{function _0xf4c836(_0x15736c,_0x574125){return _0x4f66f8(_0x15736c- -0x33b,_0x574125);}this['particlesRendering'][_0xf4c836(-0x1b1,-0x13d)][_0x2f7902]['destroy']();});function _0x354aff(_0x5579ca,_0x1f0c42){return _0x422f44(_0x1f0c42,_0x5579ca-0x2bf);}this['context']=_0x1fa2ea;function _0x4f66f8(_0x1693c4,_0x296531){return _0x573119(_0x296531,_0x1693c4-0x16f);}this['particlesComputing']=new ParticlesComputing(this['context'],this[_0x354aff(0x116,0x186)],this[_0x354aff(0x178,0x186)],this[_0x354aff(0xbc,0x85)]),this['particlesRendering']=new ParticlesRendering(this[_0x354aff(0x17e,0xe9)],this[_0x354aff(0x116,0x113)],this['options'],this['viewerParameters'],this[_0x4f66f8(0x20d,0x266)]);}['clearFramebuffers'](){function _0x4c4a0f(_0x550d8b,_0x300010){return _0x422f44(_0x550d8b,_0x300010-0x69c);}const _0x3d98ec=new Cesium$2[(_0x3cd17e(0x52e,0x525))]({'color':new Cesium$2['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':undefined,'pass':Cesium$2['Pass']['OPAQUE']});function _0x3cd17e(_0x4b5f53,_0xc3ba5e){return _0x422f44(_0x4b5f53,_0xc3ba5e-0x6be);}Object[_0x4c4a0f(0x3d5,0x46c)](this['particlesRendering'][_0x3cd17e(0x435,0x47d)])['forEach'](_0xe2c3b6=>{_0x3d98ec['framebuffer']=this['particlesRendering']['framebuffers'][_0xe2c3b6];function _0x3b3db4(_0x50cc7d,_0x1af82d){return _0x4c4a0f(_0x50cc7d,_0x1af82d- -0x57c);}_0x3d98ec['execute'](this[_0x3b3db4(0x4c,-0x21)]);});}[_0x573119(0x1d,0x57)](_0x286b84){this['clearFramebuffers']();function _0x1a8341(_0x55eb4e,_0x1c163){return _0x422f44(_0x1c163,_0x55eb4e-0x56f);}this['particlesComputing'][_0x50ec10(0x4f2,0x4d9)](),this[_0x50ec10(0x4b1,0x48f)][_0x1a8341(0x421,0x49c)](this[_0x50ec10(0x52e,0x5bc)],this['options'],this[_0x50ec10(0x46c,0x4ad)]);function _0x50ec10(_0x5d5ef5,_0xeb571c){return _0x422f44(_0xeb571c,_0x5d5ef5-0x66f);}if(_0x286b84){var _0x540576;const _0x343c09=this['particlesRendering']['createSegmentsGeometry'](this[_0x50ec10(0x528,0x494)]);this['particlesRendering']['primitives'][_0x50ec10(0x4df,0x549)]['geometry']=_0x343c09;const _0x4a748d=Cesium$2[_0x50ec10(0x526,0x549)]['fromGeometry']({'context':this['context'],'geometry':_0x343c09,'attributeLocations':this[_0x50ec10(0x4ff,0x558)]['primitives']['segments'][_0x50ec10(0x4ba,0x471)],'bufferUsage':Cesium$2[_0x50ec10(0x514,0x55a)]['STATIC_DRAW']});(_0x540576=this['particlesRendering'][_0x50ec10(0x48e,0x504)])!==null&&_0x540576!==void 0x0&&(_0x540576=_0x540576['segments'])!==null&&_0x540576!==void 0x0&&_0x540576[_0x1a8341(0x391,0x362)]&&(this[_0x1a8341(0x3ff,0x44b)][_0x50ec10(0x48e,0x4aa)][_0x50ec10(0x4df,0x4d3)][_0x1a8341(0x391,0x378)]['vertexArray']=_0x4a748d);}}['setOptions'](_0x11c4d4){let _0x3f7771=![];this['options']['maxParticles']!==_0x11c4d4[_0x115523(0xf7,0x140)]&&(_0x3f7771=!![]);Object['keys'](_0x11c4d4)['forEach'](_0x35710c=>{function _0x4dba3b(_0xbfd61c,_0x5844d6){return _0x115523(_0xbfd61c,_0x5844d6-0x288);}this[_0x4dba3b(0x3e5,0x475)][_0x35710c]=_0x11c4d4[_0x35710c];});function _0x115523(_0x985993,_0x5017e0){return _0x422f44(_0x985993,_0x5017e0-0x334);}this['refreshParticles'](_0x3f7771);}[_0x573119(0x3b,0xcb)](_0x750c4b){function _0x3a201a(_0x50bbc8,_0x515de2){return _0x573119(_0x50bbc8,_0x515de2-0xa);}function _0x4da32d(_0x29ce5b,_0x16bb5b){return _0x422f44(_0x16bb5b,_0x29ce5b- -0x2d);}Object[_0x4da32d(-0x25d,-0x265)](_0x750c4b)[_0x3a201a(0x169,0xf0)](_0x1ede49=>{this['viewerParameters'][_0x1ede49]=_0x750c4b[_0x1ede49];}),this[_0x4da32d(-0x232,-0x2c4)](![]);}[_0x573119(0x7c,0x2b)](){clearTimeout(this[_0x3e8f41(0x123,0x101)]),this['particlesComputing']['destroyParticlesTextures'](),Object['keys'](this[_0x1d7b32(0x4d5,0x533)]['windTextures'])[_0x1d7b32(0x51d,0x4e8)](_0x3dd43a=>{function _0x335062(_0x306cb0,_0x12985b){return _0x1d7b32(_0x12985b- -0x30,_0x306cb0);}this['particlesComputing'][_0x335062(0x590,0x500)][_0x3dd43a]['destroy']();}),this['particlesRendering'][_0x3e8f41(0x134,0xb7)][_0x1d7b32(0x544,0x587)][_0x3e8f41(0xab,0x53)]();function _0x1d7b32(_0x17ac50,_0x223640){return _0x573119(_0x223640,_0x17ac50-0x437);}function _0x3e8f41(_0x301398,_0x49eb96){return _0x422f44(_0x301398,_0x49eb96-0x284);}Object[_0x3e8f41(0xe8,0x54)](this[_0x3e8f41(0xbc,0x114)]['framebuffers'])[_0x3e8f41(0xb4,0x10e)](_0x486eaf=>{function _0x5d9a2d(_0x12eff9,_0x4abe45){return _0x3e8f41(_0x4abe45,_0x12eff9- -0x2de);}function _0x3b95a0(_0x3b73db,_0x2cd432){return _0x1d7b32(_0x2cd432- -0x94,_0x3b73db);}this[_0x5d9a2d(-0x1ca,-0x164)][_0x3b95a0(0x35f,0x3be)][_0x486eaf]['destroy']();});for(const _0x271b12 in this){delete this[_0x271b12];}}}const Cesium$1=mars3d__namespace['Cesium'],BaseLayer$1=mars3d__namespace[_0x573119(0x1e,0x37)][_0x573119(0x30,0xab)],_0x4604fb={};function _0x422f44(_0x283e25,_0x4ae221){return _0x29b8(_0x4ae221- -0x2e6,_0x283e25);}_0x4604fb[_0x422f44(-0x288,-0x224)]=0x1000,_0x4604fb['fixedHeight']=0x0,_0x4604fb[_0x573119(0x154,0xd5)]=0.996,_0x4604fb[_0x422f44(-0x15c,-0x129)]=0.003,_0x4604fb['dropRateBump']=0.01,_0x4604fb[_0x573119(0x1b9,0x125)]=0.5,_0x4604fb[_0x573119(0x133,0x104)]=0x2,_0x4604fb['colors']=['rgb(206,255,255)'];const DEF_OPTIONS=_0x4604fb;class WindLayer extends BaseLayer$1{constructor(_0xdfc919={}){_0xdfc919={...DEF_OPTIONS,..._0xdfc919},super(_0xdfc919),this['_setOptionsHook'](_0xdfc919);}get['layer'](){return this['primitives'];}get['data'](){function _0x346014(_0xc98e1a,_0x341fc3){return _0x573119(_0xc98e1a,_0x341fc3-0x154);}return this[_0x346014(0x1f4,0x1cd)];}set['data'](_0x150fbe){this['setData'](_0x150fbe);}get['colors'](){function _0x52014f(_0x2e2c1c,_0x5f4105){return _0x422f44(_0x5f4105,_0x2e2c1c-0x27);}return this[_0x52014f(-0x120,-0x177)]['colors'];}set[_0x422f44(-0x1db,-0x192)](_0x178b44){this[_0x2e6f33(0x2ef,0x35a)]['colors']=_0x178b44;if(this[_0x2e6f33(0x29a,0x322)]){const _0x271ded={};_0x271ded['colors']=_0x178b44,this[_0x2e6f33(0x2a3,0x322)]['setOptions'](_0x271ded);}function _0x4c481f(_0x1b5462,_0x3ad724){return _0x573119(_0x3ad724,_0x1b5462-0x118);}function _0x2e6f33(_0x544834,_0x1a2354){return _0x422f44(_0x544834,_0x1a2354-0x4a1);}this['resize']();}['_mountedHook'](){}['_addedHook'](){this[_0x5749c6(-0xf6,-0xaf)]=this[_0x30fa72(-0xde,-0x79)]['scene'],this['camera']=this[_0x30fa72(-0x35,-0x79)]['camera'],this['primitives']=new Cesium$1[(_0x30fa72(-0xa0,-0x24))](),this['_map'][_0x30fa72(0x45,-0x4f)]['primitives'][_0x30fa72(-0x4f,0xc)](this['primitives']),this[_0x5749c6(-0xaf,-0xc8)]={'lonRange':new Cesium$1['Cartesian2'](),'latRange':new Cesium$1['Cartesian2'](),'pixelSize':0x0},this[_0x30fa72(0xe7,0x76)]=new Cesium$1[(_0x30fa72(-0xb2,-0xb5))](Cesium$1[_0x5749c6(-0xfe,-0x69)][_0x30fa72(-0x20,-0x5f)],0.99*0x615299),this['updateViewerParameters'](),window['addEventListener']('resize',this['resize']['bind'](this),![]);function _0x5749c6(_0x3ffdf8,_0x5c1943){return _0x422f44(_0x3ffdf8,_0x5c1943-0x13b);}this[_0x5749c6(-0x132,-0xbd)]=![];function _0x30fa72(_0x5419c1,_0x2b19a4){return _0x573119(_0x5419c1,_0x2b19a4- -0xc1);}this['mouse_move']=![],this['_map']['on'](mars3d__namespace['EventType']['wheel'],this[_0x5749c6(-0x128,-0x9a)],this),this['_map']['on'](mars3d__namespace['EventType']['mouseDown'],this[_0x5749c6(-0xb6,-0x39)],this),this[_0x5749c6(-0x61,-0xd9)]['on'](mars3d__namespace[_0x30fa72(0x34,0x3d)]['mouseUp'],this[_0x5749c6(-0x1a,-0x88)],this),this['_map']['on'](mars3d__namespace['EventType'][_0x5749c6(-0x14d,-0xcc)],this['_onMouseMoveEvent'],this),this['_data']&&this['setData'](this['_data']);}[_0x573119(0x3a,0x18)](){window['removeEventListener']('resize',this['resize']),this['_map']['off'](mars3d__namespace['EventType']['preRender'],this['_onMap_preRenderEvent'],this);function _0x2792e4(_0x594d8a,_0x177b0c){return _0x573119(_0x594d8a,_0x177b0c-0xc3);}function _0xab15c1(_0x154ad9,_0x34e545){return _0x422f44(_0x154ad9,_0x34e545-0x447);}this['_map'][_0x2792e4(0x12b,0x14e)](mars3d__namespace['EventType'][_0xab15c1(0x2ac,0x25a)],this['_onMapWhellEvent'],this),this[_0x2792e4(0xe1,0x10b)]['off'](mars3d__namespace[_0x2792e4(0x1a2,0x1c1)][_0x2792e4(0x115,0x195)],this['_onMouseDownEvent'],this),this['_map']['off'](mars3d__namespace[_0x2792e4(0x209,0x1c1)][_0xab15c1(0x1f2,0x243)],this['_onMouseUpEvent'],this),this['_map'][_0x2792e4(0xcb,0x14e)](mars3d__namespace['EventType'][_0xab15c1(0x209,0x240)],this['_onMouseMoveEvent'],this),this['primitives']['removeAll'](),this['_map']['scene'][_0xab15c1(0x22e,0x266)][_0x2792e4(0xe7,0xd1)](this['primitives']);}[_0x573119(0x17b,0x138)](){if(!this[_0xd6e020(0x397,0x35a)]||!this[_0x2c2fa8(-0xe6,-0x145)])return;function _0x2c2fa8(_0x4a2985,_0x13cb75){return _0x422f44(_0x13cb75,_0x4a2985-0x99);}function _0xd6e020(_0x49eb92,_0x1343bf){return _0x573119(_0x49eb92,_0x1343bf-0x326);}this['primitives'][_0x2c2fa8(-0x18f,-0x1d9)]=![],this[_0x2c2fa8(-0x148,-0x135)][_0x2c2fa8(-0x112,-0xa1)](),this['_map'][_0x2c2fa8(-0x1b4,-0x1af)](mars3d__namespace['EventType'][_0xd6e020(0x2f1,0x36a)],this[_0xd6e020(0x2ea,0x346)],this);}['_onMap_preRenderEvent'](_0x158278){function _0x5835f8(_0x56ea86,_0x337fae){return _0x573119(_0x56ea86,_0x337fae-0x30d);}this['particleSystem'][_0x5835f8(0x4c6,0x439)](this['scene']['context']),this['addPrimitives'](),this['primitives']['show']=!![];}['_onMapWhellEvent'](_0x3de338){clearTimeout(this[_0x2551ec(0x4bd,0x4a6)]);function _0x2551ec(_0xc28a9d,_0x1be5f3){return _0x573119(_0xc28a9d,_0x1be5f3-0x453);}function _0x21c937(_0x19d814,_0x206371){return _0x422f44(_0x206371,_0x19d814-0x49b);}if(!this[_0x21c937(0x273,0x2b4)]||!this[_0x21c937(0x31c,0x3a1)])return;this['primitives']['show']=![],this['refreshTimer']=setTimeout(()=>{if(!this['show'])return;this['redraw']();},0xc8);}['_onMouseDownEvent'](_0x102257){function _0x20e4e6(_0x4bdeae,_0x4de2e8){return _0x573119(_0x4bdeae,_0x4de2e8-0x1d5);}this[_0x20e4e6(0x286,0x239)]=!![];}[_0x422f44(-0xf6,-0x151)](_0x130063){function _0x5d2239(_0x58f962,_0x27f6dc){return _0x573119(_0x27f6dc,_0x58f962- -0xde);}if(!this['show']||!this['particleSystem'])return;this['mouse_down']&&(this['primitives']['show']=![],this[_0x5d2239(-0x38,-0x92)]=!![]);}['_onMouseUpEvent'](_0x263db4){function _0x26c48d(_0x3e864a,_0xa4c084){return _0x422f44(_0xa4c084,_0x3e864a-0x2d4);}if(!this['show']||!this['particleSystem'])return;this['mouse_down']&&this[_0x26c48d(0x11e,0x13a)]&&this[_0x26c48d(0xc8,0xea)]();this['primitives']['show']=!![];function _0x3971bb(_0x29cdbf,_0x511a10){return _0x422f44(_0x29cdbf,_0x511a10-0x31e);}this['mouse_down']=![],this[_0x3971bb(0x1f1,0x168)]=![];}['redraw'](){if(!this['_map']||!this[_0x689623(-0x1fb,-0x247)])return;this[_0x689623(-0x108,-0x19b)]();function _0x689623(_0x4632bc,_0x4e1687){return _0x573119(_0x4632bc,_0x4e1687- -0x27b);}function _0x1ba74e(_0x369d2e,_0x10851b){return _0x422f44(_0x10851b,_0x369d2e-0x327);}this[_0x1ba74e(0x1a8,0x1bc)][_0x1ba74e(0x196,0x210)](this['viewerParameters']),this['primitives']['show']=!![];}['setData'](_0xbdc23b){this['_data']=_0xbdc23b;function _0x2d02a5(_0x57aa26,_0x3a01ae){return _0x573119(_0x57aa26,_0x3a01ae-0x1fa);}this[_0x2d02a5(0x28e,0x2d7)]&&this['particleSystem']['destroy']();function _0x804a82(_0x3b63ec,_0x562945){return _0x573119(_0x3b63ec,_0x562945-0x454);}this['particleSystem']=new ParticleSystem(this[_0x804a82(0x557,0x4c6)][_0x2d02a5(0x33d,0x315)],_0xbdc23b,this['getOptions'](),this[_0x804a82(0x4b0,0x4ad)]),this['addPrimitives']();}[_0x422f44(-0x26a,-0x210)](_0x2d4281,_0x3ff811){if(_0x2d4281)for(const _0x8f06df in _0x2d4281){this[_0x8f06df]=_0x2d4281[_0x8f06df];}function _0x223dc5(_0x1486df,_0x46dc44){return _0x422f44(_0x1486df,_0x46dc44-0x507);}this['particleSystem']&&this['particleSystem'][_0x223dc5(0x39d,0x3ad)](this['getOptions']());}[_0x422f44(-0x227,-0x1ec)](){const _0x39b115=Math['ceil'](Math['sqrt'](this['particlesNumber']));this['particlesNumber']=_0x39b115*_0x39b115;const _0x2f35ef={};_0x2f35ef['particlesTextureSize']=_0x39b115,_0x2f35ef[_0x472f57(0x453,0x48b)]=this['particlesNumber'];function _0x472f57(_0x45efbd,_0x4cb14d){return _0x573119(_0x4cb14d,_0x45efbd-0x3eb);}function _0x202b9a(_0x5c474a,_0x42f787){return _0x573119(_0x42f787,_0x5c474a-0x6b);}return _0x2f35ef['particleHeight']=this['fixedHeight'],_0x2f35ef[_0x202b9a(0x140,0x1af)]=this['fadeOpacity'],_0x2f35ef['dropRate']=this[_0x202b9a(0x19e,0x200)],_0x2f35ef['dropRateBump']=this['dropRateBump'],_0x2f35ef[_0x472f57(0x510,0x585)]=this[_0x202b9a(0x190,0x181)],_0x2f35ef['lineWidth']=this['lineWidth'],_0x2f35ef['colors']=this['colors'],_0x2f35ef;}['addPrimitives'](){this[_0x46a50d(-0x1a9,-0x207)]['add'](this['particleSystem']['particlesComputing']['primitives']['getWind']),this['primitives']['add'](this['particleSystem']['particlesComputing'][_0x46a50d(-0x1a9,-0x194)]['updateSpeed']);function _0x3d9d8d(_0x28a5cb,_0x3101fe){return _0x573119(_0x3101fe,_0x28a5cb-0x37c);}this[_0x46a50d(-0x1a9,-0x225)]['add'](this[_0x46a50d(-0x147,-0x130)][_0x3d9d8d(0x41a,0x3ff)]['primitives']['updatePosition']);function _0x46a50d(_0x1b6683,_0xab858d){return _0x422f44(_0xab858d,_0x1b6683-0x38);}this[_0x3d9d8d(0x3f7,0x44d)]['add'](this['particleSystem']['particlesComputing'][_0x46a50d(-0x1a9,-0x15c)]['postProcessingPosition']),this[_0x46a50d(-0x1a9,-0x16f)]['add'](this[_0x46a50d(-0x147,-0x121)]['particlesComputing'][_0x3d9d8d(0x3f7,0x3e3)][_0x3d9d8d(0x3c5,0x356)]),this['primitives'][_0x3d9d8d(0x449,0x482)](this[_0x3d9d8d(0x459,0x450)]['particlesRendering']['primitives']['segments']),this['primitives']['add'](this['particleSystem'][_0x3d9d8d(0x468,0x4fe)]['primitives'][_0x3d9d8d(0x38d,0x358)]),this[_0x3d9d8d(0x3f7,0x483)][_0x46a50d(-0x157,-0x123)](this[_0x3d9d8d(0x459,0x4a0)][_0x46a50d(-0x138,-0x1a1)]['primitives']['screen']);}['updateViewerParameters'](){let _0x47c71a=this['camera'][_0x596852(-0xf6,-0x77)](this['scene'][_0x351287(-0x5,-0x45)][_0x596852(0xe1,0x7c)]);if(!_0x47c71a){const _0x20b73a=this['_map'][_0x596852(0x36,-0x4d)]();_0x47c71a=Cesium$1[_0x351287(-0x91,-0x6)][_0x596852(-0x7c,0x5)](_0x20b73a[_0x596852(0x81,-0x10)],_0x20b73a['ymin'],_0x20b73a[_0x351287(-0x2,-0x32)],_0x20b73a[_0x351287(0x30,0x8a)]);}const _0x1fc1bc=Util[_0x596852(0x2e,-0x24)](_0x47c71a);this['viewerParameters'][_0x351287(0xe,-0x17)]['x']=_0x1fc1bc['lon'][_0x351287(-0xf,-0xa1)],this['viewerParameters']['lonRange']['y']=_0x1fc1bc['lon'][_0x596852(0xf5,0x7a)],this['viewerParameters']['latRange']['x']=_0x1fc1bc[_0x596852(-0x98,-0x5f)]['min'];function _0x351287(_0x1e2953,_0x49af84){return _0x422f44(_0x49af84,_0x1e2953-0x1b5);}this[_0x596852(0x21,-0x41)][_0x596852(-0x49,0x2f)]['y']=_0x1fc1bc[_0x351287(-0x6c,-0x100)]['max'];function _0x596852(_0x4e3e14,_0x5f1d43){return _0x422f44(_0x4e3e14,_0x5f1d43-0x1c2);}const _0x47fcff=this[_0x351287(0x82,0x79)]['getPixelSize'](this['globeBoundingSphere'],this['scene']['drawingBufferWidth'],this[_0x596852(-0xbb,-0x28)]['drawingBufferHeight']);_0x47fcff>0x0&&(this['viewerParameters']['pixelSize']=_0x47fcff);}}mars3d__namespace[_0x422f44(-0x16c,-0x1f2)][_0x573119(0x127,0xc1)](_0x573119(0x172,0xf1),WindLayer),mars3d__namespace[_0x573119(-0x54,0x37)][_0x422f44(-0x178,-0x142)]=WindLayer;class CanvasParticle{constructor(){this['lng']=null,this[_0x9a5f7c(0x78,0xa2)]=null;function _0x9a5f7c(_0x586300,_0x5e3fa9){return _0x422f44(_0x586300,_0x5e3fa9-0x2c3);}this['tlng']=null;function _0x37e5ca(_0x84dcc3,_0x7424e4){return _0x422f44(_0x7424e4,_0x84dcc3-0x542);}this[_0x37e5ca(0x37d,0x40b)]=null,this[_0x9a5f7c(0x133,0xfd)]=null,this[_0x9a5f7c(0x17c,0x136)]=null;}['destroy'](){for(const _0x5d29fd in this){delete this[_0x5d29fd];}}}class CanvasWindField{constructor(_0x279108){this['setOptions'](_0x279108);}get['speedRate'](){return this['_speedRate'];}set[_0x573119(0x143,0x110)](_0x40d0db){function _0x1805f6(_0x15422b,_0x37b6a3){return _0x573119(_0x15422b,_0x37b6a3-0x241);}this['_speedRate']=(0x64-(_0x40d0db>0x63?0x63:_0x40d0db))*0x64;function _0x2b0d34(_0x2a2d30,_0x1d41e4){return _0x422f44(_0x1d41e4,_0x2a2d30-0x481);}this[_0x1805f6(0x2ea,0x268)]=[(this['xmax']-this['xmin'])/this['_speedRate'],(this['ymax']-this['ymin'])/this[_0x1805f6(0x308,0x348)]];}get[_0x573119(0x8d,0x1e)](){return this['_maxAge'];}set[_0x422f44(-0x22a,-0x23e)](_0x4e17fc){this['_maxAge']=_0x4e17fc;}[_0x573119(0x9e,0x102)](_0x5eebfb){this[_0x4b3392(-0x1be,-0x1e1)]=_0x5eebfb;function _0x29eb8b(_0xfb1ad6,_0x338e9e){return _0x573119(_0x338e9e,_0xfb1ad6-0x3de);}this[_0x29eb8b(0x3fc,0x3bd)]=_0x5eebfb[_0x29eb8b(0x3fc,0x424)]||0x78,this[_0x29eb8b(0x4ee,0x4c3)]=_0x5eebfb[_0x29eb8b(0x4ee,0x508)]||0x32;function _0x4b3392(_0x428864,_0x21e48d){return _0x573119(_0x21e48d,_0x428864- -0x2d3);}this['particles']=[];const _0x2f0238=_0x5eebfb[_0x4b3392(-0x29b,-0x2cd)]||0x1000;for(let _0xe56ff7=0x0;_0xe56ff7<_0x2f0238;_0xe56ff7++){const _0x47e0f0=this[_0x4b3392(-0x20b,-0x1bf)](new CanvasParticle());this['particles']['push'](_0x47e0f0);}}['setDate'](_0x4ebe4e){this['rows']=_0x4ebe4e[_0xe89b8f(0x479,0x492)],this[_0x4bb7a0(0x7d,0x63)]=_0x4ebe4e['cols'],this[_0x4bb7a0(0xc7,0x6d)]=_0x4ebe4e['xmin'],this[_0x4bb7a0(0x53,0x88)]=_0x4ebe4e[_0xe89b8f(0x50b,0x4da)];function _0xe89b8f(_0x3bd260,_0x1f70e4){return _0x573119(_0x3bd260,_0x1f70e4-0x435);}this['ymin']=_0x4ebe4e[_0x4bb7a0(0x9d,0x18)],this[_0x4bb7a0(0xcc,0xba)]=_0x4ebe4e['ymax'],this['grid']=[];const _0x3ec6d8=_0x4ebe4e['udata'],_0x1e092b=_0x4ebe4e[_0xe89b8f(0x4e6,0x53a)];let _0x3b9825=![];_0x3ec6d8['length']===this['rows']&&_0x3ec6d8[0x0]['length']===this[_0xe89b8f(0x51e,0x4b5)]&&(_0x3b9825=!![]);let _0x153713=0x0,_0xb6dc02=null;function _0x4bb7a0(_0x294a46,_0x3ce86c){return _0x422f44(_0x294a46,_0x3ce86c-0x23f);}let _0x510519=null;for(let _0x35c911=0x0;_0x35c911<this['rows'];_0x35c911++){_0xb6dc02=[];for(let _0xc34a7b=0x0;_0xc34a7b<this[_0x4bb7a0(0xb3,0x63)];_0xc34a7b++,_0x153713++){_0x3b9825?_0x510519=this['_calcUV'](_0x3ec6d8[_0x35c911][_0xc34a7b],_0x1e092b[_0x35c911][_0xc34a7b]):_0x510519=this[_0x4bb7a0(0x24,0x3f)](_0x3ec6d8[_0x153713],_0x1e092b[_0x153713]),_0xb6dc02['push'](_0x510519);}this[_0xe89b8f(0x456,0x493)]['push'](_0xb6dc02);}this['options']['reverseY']&&this[_0x4bb7a0(0xb3,0x41)][_0x4bb7a0(0xb1,0x42)]();}[_0x573119(0xed,0xd3)](){delete this[_0x123477(-0x2f8,-0x374)],delete this[_0x123477(-0x2d5,-0x2fd)];function _0x123477(_0x53fba4,_0x514ca0){return _0x573119(_0x514ca0,_0x53fba4- -0x355);}delete this['xmin'],delete this[_0x1915fb(-0xc7,-0x41)],delete this[_0x1915fb(-0x137,-0x100)];function _0x1915fb(_0x457cd5,_0x5b9a40){return _0x573119(_0x5b9a40,_0x457cd5- -0x16c);}delete this['ymax'],delete this[_0x123477(-0x2f7,-0x2cb)],delete this['particles'];}['toGridXY'](_0x227c2b,_0x535280){function _0x4d758e(_0x2f3be5,_0xba3f94){return _0x422f44(_0x2f3be5,_0xba3f94-0x5b3);}function _0x3add92(_0x28877c,_0x574387){return _0x422f44(_0x574387,_0x28877c-0x1b2);}const _0x703f46=(_0x227c2b-this['xmin'])/(this['xmax']-this[_0x3add92(-0x20,-0x79)])*(this['cols']-0x1),_0x2e5b90=(this[_0x4d758e(0x443,0x42e)]-_0x535280)/(this[_0x4d758e(0x421,0x42e)]-this[_0x4d758e(0x3ca,0x38c)])*(this['rows']-0x1);return[_0x703f46,_0x2e5b90];}['getUVByXY'](_0x5109f6,_0xcad5d){if(_0x5109f6<0x0||_0x5109f6>=this['cols']||_0xcad5d>=this[_0x1782c2(0x31e,0x2df)])return[0x0,0x0,0x0];function _0x1782c2(_0x3cedd3,_0x25e458){return _0x422f44(_0x3cedd3,_0x25e458-0x4de);}const _0xc3fd97=Math[_0x3f83aa(0x4cd,0x518)](_0x5109f6);function _0x3f83aa(_0x1e89b2,_0x355ec0){return _0x422f44(_0x355ec0,_0x1e89b2-0x6a3);}const _0xff5cfc=Math[_0x3f83aa(0x4cd,0x48d)](_0xcad5d);if(_0xc3fd97===_0x5109f6&&_0xff5cfc===_0xcad5d)return this[_0x1782c2(0x322,0x2e0)][_0xcad5d][_0x5109f6];const _0x25d0a5=_0xc3fd97+0x1,_0x4f399c=_0xff5cfc+0x1,_0x568a59=this['getUVByXY'](_0xc3fd97,_0xff5cfc),_0x4ea5a4=this[_0x3f83aa(0x532,0x4b2)](_0x25d0a5,_0xff5cfc),_0x1cbeaf=this['getUVByXY'](_0xc3fd97,_0x4f399c),_0x1f16d8=this['getUVByXY'](_0x25d0a5,_0x4f399c);let _0x1f817d=null;try{_0x1f817d=this['_bilinearInterpolation'](_0x5109f6-_0xc3fd97,_0xcad5d-_0xff5cfc,_0x568a59,_0x4ea5a4,_0x1cbeaf,_0x1f16d8);}catch(_0x148d97){console[_0x1782c2(0x37b,0x393)](_0x5109f6,_0xcad5d);}return _0x1f817d;}[_0x573119(0x183,0x134)](_0x5aace3,_0x4c202e,_0x3448a4,_0x59a2f6,_0x1c4d8a,_0x424190){const _0x1a98a4=0x1-_0x5aace3,_0x2f042d=0x1-_0x4c202e;function _0xc1c52b(_0x1290e6,_0x4557ae){return _0x422f44(_0x4557ae,_0x1290e6-0x277);}const _0x429211=_0x1a98a4*_0x2f042d,_0x48a9fd=_0x5aace3*_0x2f042d,_0x481fd7=_0x1a98a4*_0x4c202e,_0x57cb53=_0x5aace3*_0x4c202e,_0x176ba2=_0x3448a4[0x0]*_0x429211+_0x59a2f6[0x0]*_0x48a9fd+_0x1c4d8a[0x0]*_0x481fd7+_0x424190[0x0]*_0x57cb53,_0x3403b8=_0x3448a4[0x1]*_0x429211+_0x59a2f6[0x1]*_0x48a9fd+_0x1c4d8a[0x1]*_0x481fd7+_0x424190[0x1]*_0x57cb53;return this[_0xc1c52b(0x77,0xa)](_0x176ba2,_0x3403b8);}['_calcUV'](_0x59a508,_0x2b3422){return[+_0x59a508,+_0x2b3422,Math['sqrt'](_0x59a508*_0x59a508+_0x2b3422*_0x2b3422)];}[_0x573119(0x7f,0x3c)](_0x3377dd,_0xc7641b){if(!this['isInExtent'](_0x3377dd,_0xc7641b))return null;const _0x1b2a4a=this[_0x3a6edb(0xd1,0x75)](_0x3377dd,_0xc7641b);function _0x3a6edb(_0x5f5502,_0x649804){return _0x573119(_0x649804,_0x5f5502-0x8c);}const _0x19094d=this['getUVByXY'](_0x1b2a4a[0x0],_0x1b2a4a[0x1]);return _0x19094d;}[_0x573119(0xb5,0xb9)](_0x848769,_0x2c7790){function _0x20b932(_0x47d602,_0xa4ba69){return _0x573119(_0xa4ba69,_0x47d602- -0x112);}return _0x848769>=this['xmin']&&_0x848769<=this['xmax']&&_0x2c7790>=this[_0x20b932(-0xdd,-0xdc)]&&_0x2c7790<=this['ymax']?!![]:![];}['getRandomLatLng'](){const _0x543223=fRandomByfloat(this[_0x4c285c(-0x259,-0x22e)],this['xmax']),_0x44ceaa=fRandomByfloat(this[_0x4c285c(-0x2ae,-0x254)],this['ymax']);function _0x4c285c(_0x5c5f7f,_0x4cd9f3){return _0x573119(_0x4cd9f3,_0x5c5f7f- -0x2e3);}const _0x1108c3={};function _0x37d79f(_0x3d487f,_0x2e1b5b){return _0x422f44(_0x3d487f,_0x2e1b5b-0x4d8);}return _0x1108c3[_0x4c285c(-0x2a8,-0x295)]=_0x44ceaa,_0x1108c3['lng']=_0x543223,_0x1108c3;}[_0x573119(0xa1,0x88)](){let _0x303f13,_0x1ff6ab,_0x1ad9a5;function _0x4a8d26(_0x2a2dae,_0x11b172){return _0x573119(_0x11b172,_0x2a2dae- -0x2eb);}function _0x18d195(_0x1e76e3,_0x3cf37f){return _0x422f44(_0x1e76e3,_0x3cf37f-0x47b);}for(let _0x2a5f4b=0x0,_0x18c05a=this[_0x4a8d26(-0x2a1,-0x2c3)]['length'];_0x2a5f4b<_0x18c05a;_0x2a5f4b++){let _0xe29a18=this['particles'][_0x2a5f4b];_0xe29a18[_0x4a8d26(-0x255,-0x2ab)]<=0x0&&(_0xe29a18=this['_randomParticle'](_0xe29a18));if(_0xe29a18[_0x18d195(0x314,0x2b5)]>0x0){const _0x17f9b6=_0xe29a18['tlng'],_0x4c7a68=_0xe29a18[_0x18d195(0x23a,0x2b6)];_0x1ad9a5=this['getUVByPoint'](_0x17f9b6,_0x4c7a68),_0x1ad9a5?(_0x303f13=_0x17f9b6+this['_calc_speedRate'][0x0]*_0x1ad9a5[0x0],_0x1ff6ab=_0x4c7a68+this['_calc_speedRate'][0x1]*_0x1ad9a5[0x1],_0xe29a18[_0x4a8d26(-0x23f,-0x299)]=_0x17f9b6,_0xe29a18[_0x18d195(0x2cf,0x25a)]=_0x4c7a68,_0xe29a18[_0x4a8d26(-0x2b9,-0x2f4)]=_0x303f13,_0xe29a18[_0x18d195(0x32b,0x2b6)]=_0x1ff6ab,_0xe29a18['speed']=_0x1ad9a5[0x2],_0xe29a18[_0x18d195(0x2c6,0x2b5)]--):_0xe29a18['age']=0x0;}}return this['particles'];}[_0x422f44(-0x1b6,-0x194)](_0x33d311){let _0x1678f3,_0x2de468;for(let _0x2c1fb9=0x0;_0x2c1fb9<0x1e;_0x2c1fb9++){_0x1678f3=this['getRandomLatLng'](),_0x2de468=this[_0x3ed1ac(0x359,0x3b8)](_0x1678f3[_0x3ed1ac(0x3c9,0x392)],_0x1678f3['lat']);if(_0x2de468&&_0x2de468[0x2]>0x0)break;}function _0x19bbdb(_0x458001,_0x87ed6a){return _0x573119(_0x458001,_0x87ed6a-0x384);}if(!_0x2de468)return _0x33d311;const _0x370e9e=_0x1678f3[_0x19bbdb(0x402,0x430)]+this['_calc_speedRate'][0x0]*_0x2de468[0x0],_0x5df5b0=_0x1678f3[_0x19bbdb(0x3dd,0x3bf)]+this[_0x19bbdb(0x388,0x3ab)][0x1]*_0x2de468[0x1];_0x33d311[_0x19bbdb(0x483,0x430)]=_0x1678f3['lng'],_0x33d311['lat']=_0x1678f3[_0x19bbdb(0x349,0x3bf)],_0x33d311['tlng']=_0x370e9e,_0x33d311['tlat']=_0x5df5b0;function _0x3ed1ac(_0x272c16,_0x58ebf1){return _0x422f44(_0x58ebf1,_0x272c16-0x579);}return _0x33d311['age']=Math['round'](Math[_0x19bbdb(0x403,0x3e5)]()*this[_0x19bbdb(0x3fe,0x3a2)]),_0x33d311[_0x19bbdb(0x453,0x453)]=_0x2de468[0x2],_0x33d311;}[_0x422f44(-0x1ee,-0x231)](){for(const _0x540878 in this){delete this[_0x540878];}}}function fRandomByfloat(_0x442c64,_0x4acc81){function _0x3f7163(_0x1583ce,_0x20abe3){return _0x573119(_0x1583ce,_0x20abe3-0x348);}return _0x442c64+Math[_0x3f7163(0x400,0x3a9)]()*(_0x4acc81-_0x442c64);}const Cesium=mars3d__namespace['Cesium'],BaseLayer=mars3d__namespace['layer'][_0x422f44(-0x235,-0x1b1)];function _0xc996(){const _0xf68c98=['uniformMap','depthMask','GeometryAttributes','TextureMinificationFilter','removeAll','currentTrailsColor','data','getDefaultRenderState','lonRange','dropRateBump','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','Cartesian3','isInExtent','36aoxKAG','LUMINANCE','udata','createRenderingTextures','position','toDegrees','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','register','particlesTextureSize','ClearCommand','Color','getContext','createRenderingPrimitives','pointer-events','_randomParticle','latRange','colors','applyViewerParameters','segments','add','steps','speed','positionWC','arrayBufferView','mouseDown','clear','Sampler','fadeOpacity','width','ymax','windField','canrefresh','createTexture','enabled','Geometry','particleSystem','_mountedHook','destroyParticlesTextures','updateViewerParameters','commandType','createFramebuffer','bindEvent','#ffffff','destination-in','forEach','//\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','_onMouseDownEvent','update','2751260KttysJ','getUVByXY','particlesRendering','canvasHeight','createWindTextures','south','getU','wind','red','length','TRIANGLES','Math','createSegmentsGeometry','_colorRamp','ComputeCommand','windTextures','depthTest','autoClear','isPointVisible','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','EventType','3512793rMdEAR','clampToLatitudeRange','BufferUsage','setOptions','currentParticlesPosition','lineWidth','vdata','ComponentDatatype','_speedRate','reverseY','cos','nextTrails','_onMouseMoveEvent','visible','colorTable','createParticlesTextures','dimensions','speedRate','log','windData','VertexArray','max','options','ellipsoid','lon','TextureMagnificationFilter','pixelFormat','WindLayer','context','getWind','FLOAT','mars3d-canvasWind','updateSpeed','init','vertexShaderSource','CanvasWindField','__proto__','ALWAYS','speedFactor','default','beginPath','worker','camera','Draw','interval','canvasResize','container','pixelSize','green','fill','maximum','outputTexture','dropRate','_bilinearInterpolation','createComputingPrimitives','frameRate','globeBoundingSphere','resize','BoundingSphere','ColorRamp','remove','once','isDestroyed','trails','particlesWind','fragmentShaderSource','currentTrails','shaderProgram','Rectangle','commandList','_removedHook','494806UFaxZB','4zOYdMo','framebuffers','19123566LPpwWp','1570JeHfdZ','maxAge','WindUtil','_onMap_preRenderEvent','Framebuffer','OPAQUE','computeViewRectangle','pointerEvents','Matrix4','Pass','_calc_speedRate','type','getDirection','1872968POlHIu','destroy','keys','zIndex','umin','color','push','geometry','tlng','Compute','show','ymin','lev','layer','particlesNumber','stroke','style','lat','getUVByPoint','frameTime','nextParticlesPosition','rawRenderState','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','cancelAnimationFrame','visibility','preExecute','preRender','toGridXY','globalAlpha','TWO_PI','_map','postProcessingSpeed','particles','canvasWind','_setOptionsHook','getExtent','none','Cesium','redraw','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','clientHeight','refreshTimer','levmin','mouseMove','mode','refreshParticles','mouseUp','viewerParameters','framebuffer','sources','_calcUV','rows','grid','reverse','7153804hTCmKd','random','ZERO','dimension','mouse_down','canvasContext','UNSIGNED_INT','levmax','maxParticles','randomBetween','LayerUtil','height','blue','_updateIng2','NEAREST','wheel','getOptions','nextParticlesSpeed','scene','currentParticlesSpeed','postMessage','STATIC_DRAW','viewRectangleToLonLatRange','_updateIng','PixelFormat','_data','_showHook','primitives','postProcessingPosition','defined','commandToExecute','onmessage','cols','__esModule','RenderState','PixelDatatype','vertexArray','SceneMode','floor','_onMapWhellEvent','getParticles','PI_OVER_TWO','xmin','off','hidden','clearCommand','SCENE3D','textures','13920CTkWDJ','createCommand','depthTexture','colorTextures','ShaderSource','createRenderingFramebuffers','age','tlat','min','_onMouseUpEvent','defines','setData','particlesTextures','PrimitiveCollection','particlesComputing','fromDegrees','0px','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','globe','wgs84ToWindowCoordinates','getColorTexture','xmax','mouse_move','attributeLocations','3KCiMlr','canvas','fixedHeight','BaseLayer','lng'];_0xc996=function(){return _0xf68c98;};return _0xc996();}class CanvasWindLayer extends BaseLayer{constructor(_0x4e3d5b={}){super(_0x4e3d5b),this['_setOptionsHook'](_0x4e3d5b);function _0x50b842(_0x413e68,_0xa3e363){return _0x573119(_0x413e68,_0xa3e363- -0x329);}this[_0x2b1376(0x204,0x297)]=null;function _0x2b1376(_0x163d08,_0x1b611b){return _0x422f44(_0x1b611b,_0x163d08-0x3b7);}_0x4e3d5b['colors']&&_0x4e3d5b[_0x2b1376(0x229,0x1bf)]&&(this[_0x2b1376(0x252,0x204)]=new mars3d__namespace[(_0x50b842(-0x377,-0x31c))](_0x4e3d5b));}[_0x422f44(-0x188,-0x210)](_0x879001,_0x3c8362){function _0x4c564b(_0x3081e6,_0x3fc998){return _0x422f44(_0x3081e6,_0x3fc998-0x445);}this['frameTime']=0x3e8/(_0x879001[_0x4c564b(0x35c,0x31f)]||0xa),this['_pointerEvents']=this[_0x51a26c(-0x139,-0xcf)][_0x4c564b(0x23b,0x20d)]??![],this[_0x4c564b(0x299,0x218)]=_0x879001['color']||_0x51a26c(-0x16a,-0x1b2),this[_0x4c564b(0x2ac,0x2ed)]=_0x879001[_0x51a26c(-0x14a,-0x146)]||0x1;function _0x51a26c(_0x25faad,_0x1ec1ce){return _0x422f44(_0x1ec1ce,_0x25faad-0xe);}this[_0x4c564b(0x28c,0x293)]=_0x879001['fixedHeight']??0x0,this[_0x51a26c(-0x146,-0x19a)]=_0x879001['reverseY']??![],this['windField']&&this['windField'][_0x51a26c(-0x14c,-0x13b)](_0x879001);}get[_0x422f44(-0x1ee,-0x225)](){return this['canvas'];}get['canvasWidth'](){function _0x490d28(_0xe8504d,_0x45e972){return _0x573119(_0x45e972,_0xe8504d-0x1a3);}return this['_map']['scene'][_0x490d28(0x24c,0x223)]['clientWidth'];}get[_0x422f44(-0x1b2,-0x16f)](){function _0x35038f(_0xeaf55c,_0x48e6b6){return _0x573119(_0x48e6b6,_0xeaf55c-0x17f);}return this[_0x35038f(0x1c7,0x1b8)]['scene']['canvas']['clientHeight'];}get['pointerEvents'](){return this['_pointerEvents'];}set['pointerEvents'](_0x31ddc6){this['_pointerEvents']=_0x31ddc6;function _0x495041(_0x5af2fa,_0x7277a1){return _0x422f44(_0x5af2fa,_0x7277a1-0x601);}function _0x198884(_0x1c453a,_0x2c975){return _0x573119(_0x2c975,_0x1c453a-0x38e);}if(!this[_0x198884(0x437,0x3c6)])return;_0x31ddc6?this[_0x198884(0x437,0x3b8)]['style'][_0x495041(0x4f7,0x46c)]='all':this[_0x198884(0x437,0x48f)]['style']['pointer-events']='none';}get['particlesNumber'](){return this['options']['particlesNumber'];}set[_0x573119(0xab,0x38)](_0x650862){this['options']['particlesNumber']=_0x650862,clearTimeout(this['_canrefresh']),this['_canrefresh']=setTimeout(()=>{this['redraw']();},0x1f4);}get['speedRate'](){return this['options']['speedRate'];}set[_0x573119(0x196,0x110)](_0x54d120){function _0x429530(_0x2994f9,_0x266430){return _0x422f44(_0x266430,_0x2994f9-0x270);}this['options'][_0x429530(0x124,0xaf)]=_0x54d120;function _0x54411e(_0x1a5739,_0x533c65){return _0x422f44(_0x1a5739,_0x533c65-0x4c2);}this['windField']&&(this[_0x429530(0xec,0x8e)][_0x54411e(0x31c,0x376)]=_0x54d120);}get[_0x422f44(-0x1af,-0x23e)](){return this['options']['maxAge'];}set['maxAge'](_0x3b2aeb){function _0xb19eca(_0x3a3fd1,_0x14efd4){return _0x573119(_0x14efd4,_0x3a3fd1- -0x1cc);}this['options']['maxAge']=_0x3b2aeb;function _0xf1837e(_0x35e155,_0x20ed8a){return _0x573119(_0x35e155,_0x20ed8a- -0x14f);}this[_0xf1837e(-0xfa,-0x77)]&&(this[_0xb19eca(-0xf4,-0xe0)]['maxAge']=_0x3b2aeb);}get['data'](){function _0x3130f9(_0x2e6d89,_0x3be3bd){return _0x573119(_0x3be3bd,_0x2e6d89-0x40d);}return this[_0x3130f9(0x51f,0x4a9)];}set[_0x573119(0xd4,0xb3)](_0x4b5f6c){this['setData'](_0x4b5f6c);}[_0x573119(0xc9,0x7a)](_0x1bc19e){function _0x1491a2(_0x9b1694,_0xabf22a){return _0x422f44(_0x9b1694,_0xabf22a-0x67f);}function _0x13a783(_0x2d4907,_0x4ca485){return _0x422f44(_0x4ca485,_0x2d4907-0x11a);}_0x1bc19e?this['_addedHook']():(this['windData']&&(this['options'][_0x1491a2(0x4bc,0x4d6)]=this[_0x1491a2(0x4ed,0x535)]),this['_removedHook']());}[_0x573119(0x7d,0xde)](){function _0x4a6fbd(_0x2a74f6,_0x58aaab){return _0x422f44(_0x2a74f6,_0x58aaab-0x2c3);}function _0x5d2102(_0x47889e,_0x47e726){return _0x422f44(_0x47e726,_0x47889e-0x5cb);}this[_0x4a6fbd(0x133,0x17c)]['worker']?this['initWorker']():this[_0x5d2102(0x447,0x441)]=new CanvasWindField(this['options']);}['_addedHook'](){function _0x52db2b(_0x1d9ee8,_0x286120){return _0x422f44(_0x1d9ee8,_0x286120-0xe3);}this['canvas']=this['_createCanvas']();const _0x13efe5={};_0x13efe5['willReadFrequently']=!![],this[_0x52db2b(-0x107,-0x114)]=this[_0x52db2b(-0x12a,-0xd0)][_0x2e58e8(-0x143,-0x109)]('2d',_0x13efe5),this[_0x2e58e8(-0x67,-0xeb)]();function _0x2e58e8(_0x3be9ac,_0x288be2){return _0x422f44(_0x3be9ac,_0x288be2-0x8e);}this['options'][_0x2e58e8(-0xc4,-0x11b)]&&this[_0x2e58e8(-0xab,-0x133)](this['options'][_0x2e58e8(-0x16b,-0x11b)]);}[_0x573119(-0x9,0x18)](){function _0x16b21e(_0x45221d,_0x4eb83d){return _0x573119(_0x4eb83d,_0x45221d-0x22c);}function _0x36b9e2(_0x38893a,_0x54777a){return _0x573119(_0x54777a,_0x38893a-0x2f1);}this['clear'](),this['unbindEvent'](),this['canvas']&&(this['_map'][_0x16b21e(0x359,0x2f6)]['removeChild'](this['canvas']),delete this[_0x36b9e2(0x39a,0x3cc)]);}['_createCanvas'](){const _0x3b5932=mars3d__namespace['DomUtil']['create']('canvas',_0x4cceee(0x57f,0x549),this['_map']['container']);_0x3b5932['style'][_0x4cceee(0x537,0x4e9)]='absolute',_0x3b5932['style']['top']='0px',_0x3b5932[_0x4cceee(0x4d7,0x465)]['left']=_0x4cceee(0x534,0x4cb),_0x3b5932[_0x92f91b(-0x2ac,-0x22c)][_0x4cceee(0x55c,0x501)]=this['_map'][_0x4cceee(0x449,0x49d)][_0x92f91b(-0x1d5,-0x1bd)]['clientWidth']+'px',_0x3b5932[_0x92f91b(-0x1a8,-0x22c)]['height']=this['_map']['scene']['canvas']['clientHeight']+'px',_0x3b5932[_0x92f91b(-0x1a2,-0x22c)]['pointerEvents']=this['_pointerEvents']?'auto':_0x92f91b(-0x22b,-0x218),_0x3b5932['style']['zIndex']=this['options'][_0x4cceee(0x468,0x458)]??0x9;function _0x92f91b(_0xaf4bc1,_0x487b46){return _0x422f44(_0xaf4bc1,_0x487b46- -0xa);}function _0x4cceee(_0x3cff3f,_0x23e600){return _0x422f44(_0x3cff3f,_0x23e600-0x687);}return _0x3b5932[_0x4cceee(0x583,0x501)]=this['_map']['scene'][_0x92f91b(-0x216,-0x1bd)]['clientWidth'],_0x3b5932[_0x4cceee(0x41d,0x496)]=this['_map'][_0x92f91b(-0x1fb,-0x1f4)]['canvas'][_0x92f91b(-0x28a,-0x214)],_0x3b5932;}['resize'](){function _0x287d47(_0x2a4f,_0x1ffd41){return _0x422f44(_0x1ffd41,_0x2a4f-0x23b);}function _0x539626(_0x38f950,_0x17176f){return _0x573119(_0x17176f,_0x38f950- -0x86);}this['canvas']&&(this['canvas'][_0x287d47(0x19,0x86)][_0x539626(0x50,0x85)]=this['_map']['scene'][_0x539626(0x23,0xc)]['clientWidth']+'px',this['canvas']['style']['height']=this[_0x539626(-0x3e,-0x8e)]['scene']['canvas']['clientHeight']+'px',this[_0x539626(0x23,-0x49)][_0x287d47(0xb5,0x22)]=this['_map']['scene']['canvas']['clientWidth'],this['canvas']['height']=this['_map']['scene']['canvas'][_0x287d47(0x31,-0x62)]);}['bindEvent'](){function _0x59afce(_0x4b9589,_0x461fd3){return _0x422f44(_0x4b9589,_0x461fd3-0x190);}const _0x283be3=this;let _0x125df1=Date['now']();(function _0x55466f(){_0x283be3['animateFrame']=window['requestAnimationFrame'](_0x55466f);function _0x2bc6d3(_0x5da67f,_0x13a11f){return _0x29b8(_0x5da67f-0x73,_0x13a11f);}function _0x195162(_0x371374,_0x199e69){return _0x29b8(_0x199e69-0x12c,_0x371374);}if(_0x283be3[_0x2bc6d3(0x131,0x118)]&&_0x283be3[_0x2bc6d3(0x1d5,0x228)]){const _0x8c4697=Date['now'](),_0x1423ae=_0x8c4697-_0x125df1;_0x1423ae>_0x283be3['frameTime']&&(_0x125df1=_0x8c4697-_0x1423ae%_0x283be3[_0x2bc6d3(0x13a,0xb1)],_0x283be3['update']());}}(),window['addEventListener'](_0x59afce(0x22,0x6c),this['resize']['bind'](this),![]));function _0x11a12a(_0x55378c,_0x573fca){return _0x573119(_0x573fca,_0x55378c-0x33a);}this['mouse_down']=![],this['mouse_move']=![],this[_0x59afce(0x30,0x49)]['mouseHidden']&&(this['_map']['on'](mars3d__namespace[_0x59afce(-0x13,0x32)]['wheel'],this[_0x11a12a(0x3c1,0x450)],this),this[_0x11a12a(0x382,0x344)]['on'](mars3d__namespace[_0x11a12a(0x438,0x3e4)][_0x59afce(0x21,0x6)],this[_0x11a12a(0x422,0x3b1)],this),this[_0x59afce(-0x6e,-0x84)]['on'](mars3d__namespace['EventType'][_0x59afce(-0xc2,-0x74)],this[_0x11a12a(0x3d3,0x388)],this));}['unbindEvent'](){function _0x4505b3(_0xb26cf3,_0x1381de){return _0x422f44(_0xb26cf3,_0x1381de-0x403);}window[_0x43243e(-0x240,-0x2bb)](this['animateFrame']);function _0x43243e(_0x4d3509,_0x27bc11){return _0x422f44(_0x4d3509,_0x27bc11- -0xa0);}delete this['animateFrame'],window['removeEventListener']('resize',this[_0x43243e(-0x258,-0x1c4)]),this[_0x4505b3(0x327,0x2bc)]['mouseHidden']&&(this[_0x43243e(-0x261,-0x2b4)][_0x43243e(-0x26b,-0x271)](mars3d__namespace['EventType'][_0x43243e(-0x2c4,-0x28d)],this['_onMapWhellEvent'],this),this['_map']['off'](mars3d__namespace[_0x4505b3(0x216,0x2a5)]['mouseDown'],this[_0x43243e(-0x288,-0x214)],this),this['_map'][_0x43243e(-0x282,-0x271)](mars3d__namespace[_0x43243e(-0x209,-0x1fe)][_0x4505b3(0x1d9,0x1ff)],this['_onMouseUpEvent'],this),this['_map'][_0x43243e(-0x2ad,-0x271)](mars3d__namespace['EventType']['mouseMove'],this['_onMouseMoveEvent'],this));}[_0x573119(0x2f,0x87)](_0xa110b6){clearTimeout(this['refreshTimer']);if(!this[_0x1eb528(0x293,0x2c1)]||!this['canvas'])return;function _0x358887(_0x22e41c,_0x5a6825){return _0x573119(_0x22e41c,_0x5a6825- -0xc2);}this[_0x1eb528(0x2cf,0x336)]['style'][_0x358887(0x17,-0x80)]=_0x358887(-0x5,-0x36);function _0x1eb528(_0xbf65de,_0x21e00b){return _0x422f44(_0xbf65de,_0x21e00b-0x4e9);}this['refreshTimer']=setTimeout(()=>{function _0x35e7d5(_0x55bca7,_0x366da7){return _0x358887(_0x366da7,_0x55bca7-0x4e7);}if(!this[_0x35e7d5(0x459,0x485)])return;this[_0xe35ab(0x30b,0x327)]();function _0xe35ab(_0x2b7428,_0x4c3cce){return _0x358887(_0x4c3cce,_0x2b7428-0x37d);}this['canvas'][_0x35e7d5(0x45f,0x47d)]['visibility']='visible';},0xc8);}[_0x422f44(-0x20a,-0x174)](_0x2be587){function _0x8982b3(_0xc673b9,_0x563b0b){return _0x422f44(_0xc673b9,_0x563b0b-0x572);}function _0x369bf6(_0x557fb2,_0x2110d6){return _0x422f44(_0x2110d6,_0x557fb2- -0xa4);}this['mouse_down']=!![],this['_map']['off'](mars3d__namespace[_0x8982b3(0x414,0x414)][_0x8982b3(0x3eb,0x36b)],this['_onMouseMoveEvent'],this),this['_map']['on'](mars3d__namespace['EventType']['mouseMove'],this[_0x369bf6(-0x1f5,-0x228)],this);}['_onMouseMoveEvent'](_0x47110a){function _0x1cdbb9(_0x220728,_0xb0e13){return _0x573119(_0x220728,_0xb0e13-0x320);}function _0x2ccc0b(_0x489b0a,_0x5313fd){return _0x422f44(_0x5313fd,_0x489b0a-0x59b);}if(!this[_0x1cdbb9(0x396,0x354)]||!this[_0x2ccc0b(0x3e8,0x3a9)])return;this[_0x1cdbb9(0x32f,0x384)]&&(this['canvas'][_0x1cdbb9(0x30f,0x35a)]['visibility']='hidden',this['mouse_move']=!![]);}[_0x573119(0x111,0x99)](_0x179e0a){if(!this['show']||!this[_0x2614f0(0x1f,0x5f)])return;this['_map'][_0x2614f0(0x1,0x12)](mars3d__namespace[_0x2614f0(0x74,0xf1)][_0x5f56df(0x18c,0x1d9)],this['_onMouseMoveEvent'],this);this['mouse_down']&&this[_0x5f56df(0x1dd,0x17d)]&&this[_0x5f56df(0x187,0x1f3)]();this['canvas']['style']['visibility']=_0x5f56df(0x243,0x247);function _0x2614f0(_0x394079,_0x59389b){return _0x573119(_0x59389b,_0x394079- -0x8a);}this['mouse_down']=![];function _0x5f56df(_0x1be33d,_0x36797f){return _0x422f44(_0x36797f,_0x1be33d-0x393);}this[_0x5f56df(0x1dd,0x26a)]=![];}[_0x573119(0x101,0x9b)](_0x2805c1){this[_0x476394(0x20d,0x22e)](),this[_0x9634c0(-0xeb,-0x79)]=_0x2805c1,this['windField']['setDate'](_0x2805c1);function _0x476394(_0xb6c561,_0x5c171a){return _0x422f44(_0xb6c561,_0x5c171a-0x3b7);}function _0x9634c0(_0x1d6e2a,_0x27eb86){return _0x573119(_0x1d6e2a,_0x27eb86- -0x18b);}this[_0x476394(0x1ba,0x1ab)]();}['redraw'](){if(!this['show'])return;function _0x1bd02d(_0x2541e9,_0x579816){return _0x422f44(_0x579816,_0x2541e9-0x220);}this['windField']['setOptions'](this[_0x1bd02d(0xd9,0x63)]),this['update']();}['update'](){if(this[_0x4b0605(-0x1db,-0x1ff)])return;this['_updateIng']=!![];function _0x3b294f(_0x4079b5,_0x395fae){return _0x422f44(_0x4079b5,_0x395fae- -0x89);}if(this[_0x4b0605(-0xf4,-0x14e)])this['windField'][_0x3b294f(-0x225,-0x1fc)]();else{const _0x9df08f=this['windField'][_0x3b294f(-0x221,-0x25d)]();this['_drawLines'](_0x9df08f);}function _0x4b0605(_0x19546e,_0x33ff8d){return _0x573119(_0x19546e,_0x33ff8d- -0x276);}this['_updateIng']=![];}['_drawLines'](_0x580110){this['canvasContext']['globalCompositeOperation']=_0x5929e7(0x19f,0x1a2),this['canvasContext']['fillRect'](0x0,0x0,this['canvasWidth'],this[_0x5929e7(0x1a7,0x1b9)]);function _0x52c1fd(_0x998801,_0x3a9fb3){return _0x422f44(_0x998801,_0x3a9fb3-0xce);}this['canvasContext']['globalCompositeOperation']='lighter',this[_0x5929e7(0x11f,0xee)][_0x5929e7(0x100,0x165)]=0.9;const _0x13e2c9=this[_0x52c1fd(-0x178,-0x146)]['scene']['mode']!==Cesium['SceneMode'][_0x5929e7(0x148,0x1d3)],_0x4c6e0a=this['canvasWidth']*0.25;function _0x5929e7(_0xcf631b,_0x180821){return _0x573119(_0x180821,_0xcf631b-0xba);}if(this['_colorRamp'])for(let _0x1364ae=0x0,_0x5e6a5a=_0x580110[_0x52c1fd(-0x5f,-0x9b)];_0x1364ae<_0x5e6a5a;_0x1364ae++){const _0x5a545d=_0x580110[_0x1364ae],_0xcab9ef=this['_tomap'](_0x5a545d[_0x52c1fd(-0x55,-0xe2)],_0x5a545d['lat'],_0x5a545d),_0x2e2540=this['_tomap'](_0x5a545d[_0x5929e7(0xec,0x10d)],_0x5a545d[_0x52c1fd(-0xb4,-0xf7)],_0x5a545d);if(!_0xcab9ef||!_0x2e2540)continue;if(_0x13e2c9&&Math['abs'](_0xcab9ef[0x0]-_0x2e2540[0x0])>=_0x4c6e0a)continue;this[_0x52c1fd(-0x120,-0x129)]['beginPath'](),this[_0x52c1fd(-0x109,-0x129)]['lineWidth']=this['lineWidth'],this['canvasContext']['strokeStyle']=this[_0x5929e7(0x1b1,0x202)]['getColor'](_0x5a545d[_0x52c1fd(-0x13d,-0xbf)]),this[_0x5929e7(0x11f,0x19a)]['moveTo'](_0xcab9ef[0x0],_0xcab9ef[0x1]),this[_0x5929e7(0x11f,0x169)]['lineTo'](_0x2e2540[0x0],_0x2e2540[0x1]),this['canvasContext'][_0x5929e7(0xf3,0x72)]();}else{this['canvasContext'][_0x52c1fd(-0x4a,-0x67)](),this[_0x5929e7(0x11f,0xc9)]['lineWidth']=this[_0x52c1fd(-0x40,-0x8a)],this['canvasContext']['strokeStyle']=this['color'];for(let _0x4f186b=0x0,_0x2f010a=_0x580110['length'];_0x4f186b<_0x2f010a;_0x4f186b++){const _0x3effcd=_0x580110[_0x4f186b],_0x44a3e3=this['_tomap'](_0x3effcd['lng'],_0x3effcd[_0x52c1fd(-0x1af,-0x153)],_0x3effcd),_0x3e2b06=this['_tomap'](_0x3effcd['tlng'],_0x3effcd['tlat'],_0x3effcd);if(!_0x44a3e3||!_0x3e2b06)continue;if(_0x13e2c9&&Math['abs'](_0x44a3e3[0x0]-_0x3e2b06[0x0])>=_0x4c6e0a)continue;this[_0x52c1fd(-0xe1,-0x129)]['moveTo'](_0x44a3e3[0x0],_0x44a3e3[0x1]),this['canvasContext']['lineTo'](_0x3e2b06[0x0],_0x3e2b06[0x1]);}this['canvasContext']['stroke']();}}['_tomap'](_0x42df8a,_0x59c4d8,_0x361446){const _0x27a1dd=Cesium['Cartesian3']['fromDegrees'](_0x42df8a,_0x59c4d8,this['fixedHeight']),_0x50604f=this['_map'][_0x21fb72(0x345,0x2c5)];if(_0x50604f[_0x21fb72(0x329,0x3be)]===Cesium[_0x21fb72(0x358,0x39a)][_0x21fb72(0x361,0x3a8)]){const _0x19b373=new Cesium['EllipsoidalOccluder'](_0x50604f['globe']['ellipsoid'],_0x50604f['camera'][_0x21fb72(0x3a3,0x38e)]),_0x4415fa=_0x19b373[_0x2d79dc(0x1c9,0x1e0)](_0x27a1dd);if(!_0x4415fa)return _0x361446['age']=0x0,null;}const _0x4ea05a=Cesium['SceneTransforms'][_0x21fb72(0x376,0x36e)](this['_map']['scene'],_0x27a1dd);function _0x21fb72(_0x506f89,_0x3a4f3a){return _0x422f44(_0x3a4f3a,_0x506f89-0x52f);}function _0x2d79dc(_0x9202f1,_0x2fa8fe){return _0x573119(_0x9202f1,_0x2fa8fe-0xe4);}return _0x4ea05a?[_0x4ea05a['x'],_0x4ea05a['y']]:null;}['clear'](){this['windField']['clear'](),delete this['windData'];}['initWorker'](){function _0x553603(_0x2b32cb,_0x16f74f){return _0x573119(_0x16f74f,_0x2b32cb- -0x347);}this['worker']=new Worker(this['options']['worker']),this[_0x553603(-0x21f,-0x1c9)][_0x553603(-0x2c8,-0x294)]=_0x3278c0=>{function _0x2034e3(_0x32f368,_0x3d3ad3){return _0x423c1d(_0x3d3ad3,_0x32f368-0x5b);}this['_drawLines'](_0x3278c0['data']['particles']),this[_0x2034e3(0xfe,0xe7)]=![];};function _0x423c1d(_0x40fe0f,_0x1c5849){return _0x573119(_0x40fe0f,_0x1c5849-0x36);}this['windField']={'init':_0x1bb546=>{const _0x35d257={};function _0x39e1da(_0x23ea36,_0x31bd99){return _0x553603(_0x31bd99-0x637,_0x23ea36);}function _0x393dfe(_0x24917c,_0x1aa1da){return _0x553603(_0x24917c-0x743,_0x1aa1da);}_0x35d257['type']=_0x393dfe(0x51c,0x4f6),_0x35d257['options']=_0x1bb546,this['worker'][_0x39e1da(0x397,0x364)](_0x35d257);},'setOptions':_0xac25b0=>{function _0x3c2213(_0x3e4b78,_0x425401){return _0x423c1d(_0x3e4b78,_0x425401- -0x8c);}const _0x28e334={};_0x28e334[_0x3249d1(-0x250,-0x1bd)]='setOptions',_0x28e334[_0x3c2213(0x13b,0xbf)]=_0xac25b0;function _0x3249d1(_0x4e7965,_0x48cf1f){return _0x423c1d(_0x4e7965,_0x48cf1f- -0x21b);}this[_0x3249d1(-0x141,-0xbd)][_0x3c2213(0x2c,0x1e)](_0x28e334);},'setDate':_0x46676a=>{function _0x5f8052(_0x12fe12,_0x1d9c8c){return _0x553603(_0x12fe12-0x2c1,_0x1d9c8c);}const _0x5042fe={};_0x5042fe['type']='setDate',_0x5042fe['data']=_0x46676a,this['worker'][_0x5f8052(-0x12,0x65)](_0x5042fe);},'update':()=>{if(this['_updateIng2'])return;this['_updateIng2']=!![];const _0x2400d8={};function _0x203040(_0x3469bc,_0x534f7d){return _0x423c1d(_0x534f7d,_0x3469bc- -0x18f);}_0x2400d8['type']='update',this['worker'][_0x203040(-0xe5,-0xa1)](_0x2400d8);},'clear':()=>{function _0x310067(_0x535a73,_0x571e20){return _0x423c1d(_0x535a73,_0x571e20- -0x263);}const _0x41ff5f={};_0x41ff5f['type']=_0x310067(-0x1b0,-0x15a),this['worker']['postMessage'](_0x41ff5f);}},this[_0x553603(-0x26f,-0x2b3)][_0x423c1d(0x126,0x156)](this[_0x423c1d(0xd8,0x14b)]);}}mars3d__namespace['LayerUtil']['register'](_0x422f44(-0x202,-0x211),CanvasWindLayer),mars3d__namespace['layer']['CanvasWindLayer']=CanvasWindLayer,mars3d__namespace[_0x573119(0x1ab,0x122)]=CanvasWindField,mars3d__namespace[_0x573119(0x2,0x1f)]=WindUtil,exports['CanvasWindField']=CanvasWindField,exports['CanvasWindLayer']=CanvasWindLayer,exports['WindLayer']=WindLayer,exports['WindUtil']=WindUtil;const _0x4e7439={};_0x4e7439['value']=!![],Object['defineProperty'](exports,_0x573119(0x31,0x81),_0x4e7439);
15
15
  }));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mars3d-wind",
3
- "version": "3.7.13",
3
+ "version": "3.7.14",
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.13"
11
+ "mars3d": "~3.7.14"
12
12
  },
13
13
  "scripts": {
14
14
  "lint": "eslint ./src/**/*.{js,ts} --fix"