mars3d-wind 3.4.15 → 3.4.17
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.
- package/dist/mars3d-wind.js +3 -3
- package/package.json +2 -2
package/dist/mars3d-wind.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Mars3D平台插件,支持气象 风向图 功能插件 mars3d-wind
|
|
3
3
|
*
|
|
4
|
-
* 版本信息:v3.4.
|
|
5
|
-
* 编译日期:2022-12-
|
|
4
|
+
* 版本信息:v3.4.17
|
|
5
|
+
* 编译日期:2022-12-12 19:47:46
|
|
6
6
|
* 版权所有:Copyright by 火星科技 http://mars3d.cn
|
|
7
7
|
* 使用单位:免费公开版 ,2022-06-01
|
|
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';var _0x1ba661=_0x4e2e;(function(_0x57b4cf,_0x2a3e75){var _0x2a8f36=_0x4e2e,_0x5edf1b=_0x57b4cf();while(!![]){try{var _0x1e0bdb=-parseInt(_0x2a8f36(0x1cc))/0x1+-parseInt(_0x2a8f36(0x1a2))/0x2*(-parseInt(_0x2a8f36(0xa8))/0x3)+-parseInt(_0x2a8f36(0x184))/0x4*(-parseInt(_0x2a8f36(0x13a))/0x5)+parseInt(_0x2a8f36(0x19f))/0x6+parseInt(_0x2a8f36(0x16f))/0x7*(parseInt(_0x2a8f36(0x125))/0x8)+parseInt(_0x2a8f36(0x11e))/0x9*(-parseInt(_0x2a8f36(0x84))/0xa)+-parseInt(_0x2a8f36(0x102))/0xb;if(_0x1e0bdb===_0x2a3e75)break;else _0x5edf1b['push'](_0x5edf1b['shift']());}catch(_0x44b2ad){_0x5edf1b['push'](_0x5edf1b['shift']());}}}(_0x355a,0x7c4ac));function _interopNamespace(_0x26f83d){var _0x295225=_0x4e2e;if(_0x26f83d&&_0x26f83d[_0x295225(0x140)])return _0x26f83d;var _0x2225b1=Object['create'](null);return _0x26f83d&&Object[_0x295225(0x1c7)](_0x26f83d)[_0x295225(0x1c2)](function(_0x970621){var _0x54a2d3=_0x295225;if(_0x970621!==_0x54a2d3(0x8d)){var _0x14779c=Object[_0x54a2d3(0x175)](_0x26f83d,_0x970621);Object[_0x54a2d3(0x1ca)](_0x2225b1,_0x970621,_0x14779c['get']?_0x14779c:{'enumerable':!![],'get':function(){return _0x26f83d[_0x970621];}});}}),_0x2225b1[_0x295225(0x8d)]=_0x26f83d,_0x2225b1;}var mars3d__namespace=_interopNamespace(mars3d),Cesium$7=mars3d__namespace[_0x1ba661(0xa1)];function getU(_0x26e221,_0x13c83a){var _0xe05950=_0x1ba661,_0x2dc43c=_0x26e221*Math['cos'](Cesium$7[_0xe05950(0x141)]['toRadians'](_0x13c83a));return _0x2dc43c;}function getV(_0x4c5f8b,_0xefa3e0){var _0x51fd71=_0x1ba661,_0x4ebb7a=_0x4c5f8b*Math[_0x51fd71(0x1cf)](Cesium$7[_0x51fd71(0x141)]['toRadians'](_0xefa3e0));return _0x4ebb7a;}function getSpeed(_0x1a5711,_0x41bad3){var _0x45378e=_0x1ba661,_0xe27007=Math['sqrt'](Math[_0x45378e(0x1f5)](_0x1a5711,0x2)+Math['pow'](_0x41bad3,0x2));return _0xe27007;}function getDirection(_0x1d6f0d,_0x33b990){var _0x3278b8=_0x1ba661,_0x478377=Cesium$7['Math'][_0x3278b8(0x139)](Math[_0x3278b8(0xed)](_0x33b990,_0x1d6f0d));return _0x478377+=_0x478377<0x0?0x168:0x0,_0x478377;}function _0x355a(){var _0xaa6d37=['THREE_PI_OVER_TWO','removeChild','OPAQUE','_updateIng2','clampToLatitudeRange','rgb(206,255,255)','Geometry','nextParticlesPosition','vmin','_maxAge','postProcessingPosition','attribute\x20vec2\x20st;\x0a//\x20it\x20is\x20not\x20normal\x20itself,\x20but\x20used\x20to\x20control\x20normal\x0aattribute\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\x0avarying\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\x20\x0a\x20\x20\x20\x20float\x20a\x20=\x206378137.0;\x20//\x20Semi-major\x20axis\x20\x0a\x20\x20\x20\x20float\x20b\x20=\x206356752.3142;\x20//\x20Semi-minor\x20axis\x20\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=\x20texture2D(currentParticlesPosition,\x20particleIndex).rgb;\x0a\x20\x20\x20\x20vec4\x20nextPosition\x20=\x20texture2D(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=\x20texture2D(postProcessingSpeed,\x20particleIndex).a;\x0a}','vmax','getParticles','layer','defineProperties','fadeOpacity','length','Framebuffer','setAttribute','clientHeight','uniform\x20sampler2D\x20colorTable;\x0a\x0avarying\x20float\x20speedNormalization;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20texture2D(colorTable,\x20vec2(speedNormalization,\x200.0));\x0a}','requestAnimationFrame','key','writable','2212308IXbhFL','destroy','windData','5630GiZKxj','createCommand','createElement','PrimitiveType','canvas','attributeLocations','Cannot\x20call\x20a\x20class\x20as\x20a\x20function','array','drawingBufferHeight','Compute','nextTrailsDepth','init','getRandomLatLng','options','mouseDown','canvasContext','fixedHeight','GeometryAttributes','updatePosition','viewerParameters','west','setData','dropRate','getOptions','particleHeight','windTextures','globalAlpha','pixelSize','TWO_PI','getOwnPropertyDescriptors','floor','fromDegrees','forEach','_calc_speedRate','LINEAR','createRawRenderState','nextTrails','keys','grid','add','defineProperty','drawingBufferWidth','188661VznWVZ','mouse_move','Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined','sin','xmax','lon','lng','bind','screen','getWind','particles','push','_createCanvas','maxAge','_onMouseDownEvent','outputTexture','ymax','depthTexture','canvasResize','globeBoundingSphere','ShaderSource','constructor','particlesTextureSize','BaseLayer','isArray','DEPTH_COMPONENT','wind','pointerEvents','primitives','all','prototype','fromCache','setPrototypeOf','visible','worker','arrayBufferView','_showHook','RenderState','DepthFunction','_data','none','pow','0px','width','Cartesian3','defined','attribute\x20vec3\x20position;\x0d\x0aattribute\x20vec2\x20st;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20textureCoordinate\x20=\x20st;\x0d\x0a\x20\x20\x20\x20gl_Position\x20=\x20vec4(position,\x201.0);\x0d\x0a}','currentTrails','#ffffff','zIndex','10bnWSNp','dropRateBump','lighter','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','rows','segmentsColor','Draw','camera','createRenderingPrimitives','default','VertexArray','WindUtil','CanvasWindLayer','reverse','visibility','uniform\x20sampler2D\x20segmentsColorTexture;\x0d\x0auniform\x20sampler2D\x20segmentsDepthTexture;\x0d\x0a\x0d\x0auniform\x20sampler2D\x20currentTrailsColor;\x0d\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0d\x0a\x0d\x0auniform\x20float\x20fadeOpacity;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20vec4\x20pointsColor\x20=\x20texture2D(segmentsColorTexture,\x20textureCoordinate);\x0d\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture2D(currentTrailsColor,\x20textureCoordinate);\x0d\x0a\x0d\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\x0d\x0a\x0d\x0a\x20\x20\x20\x20float\x20pointsDepth\x20=\x20texture2D(segmentsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture2D(trailsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture2D(czm_globeDepthTexture,\x20textureCoordinate));\x0d\x0a\x0d\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0d\x0a\x20\x20\x20\x20if\x20(pointsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20gl_FragColor\x20+\x20pointsColor;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20gl_FragColor\x20+\x20trailsColor;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20gl_FragDepthEXT\x20=\x20min(pointsDepth,\x20trailsDepth);\x0d\x0a}','trails','fromCssColorString','ShaderProgram','autoClear','RGB','lev','_tomap','updateSpeed','GeometryAttribute','createRenderingTextures','removeEventListener','lonRange','tlng','Cesium','randomBetween','name','data','createTexture','from','max','951oyNYqE','tlat','PI_OVER_TWO','enumerable','iterator','getColorTexture','blending','animateFrame','fragmentShaderSource','context','vdata','mouseMove','Invalid\x20attempt\x20to\x20spread\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.','clearCommand','particleSystem','hidden','value','Map','particlesComputing','createParticlesTextures','ComponentDatatype','currentParticlesSpeed','getUVByPoint','remove','getUVByXY','getContext','height','LayerUtil','colorTable','wgs84ToWindowCoordinates','uniformMap','windField','canvasWidth','vertexShaderSource','top','isPointVisible','show','_bilinearInterpolation','lineTo','udata','currentParticlesPosition','TRIANGLES','segmentsDepth','create','umax','resize','_randomParticle','globe','applyViewerParameters','frameRate','function','BoundingSphere','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\x0avarying\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=\x20texture2D(nextParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20texture2D(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\x20gl_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\x20gl_FragColor\x20=\x20vec4(nextParticle,\x200.0);\x0a\x20\x20\x20\x20}\x0a}','Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function','Object','particlesRendering','off','destination-in','positionWC','textures','UNSIGNED_INT','depthTest','destroyParticlesTextures','fromGeometry','position','@@iterator','Rectangle','umin','container','atan2','Pass','commandToExecute','STATIC_DRAW','scene','_onMap_preRenderEvent','particlesWind','BufferUsage','onmessage','uniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20sampler2D\x20currentParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0a\x0avarying\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\x20gl_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=\x20texture2D(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20speed\x20=\x20texture2D(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20updatePosition(lonLatLev,\x20speed);\x0a}','preExecute','round','lineWidth','PixelDatatype','getFullscreenQuad','PI_OVER_THREE','canvasHeight','mouseHidden','particlesTextures','commandList','setOptions','6348155ASDtbR','framebuffer','mouse_down','_onMapWhellEvent','_calcUV','slice','_canrefresh','lat','mod','canrefresh','framebuffers','ClearCommand','once','abs','TextureMagnificationFilter','_updateIng','Sampler','vertexArray','mode','createRenderingFramebuffers','createWindTextures','createFramebuffer','register','filter','EventType','IDENTITY','style','commandType','8252991atfbRE','construct','_onMouseMoveEvent','clientWidth','sqrt','100%','postProcessingSpeed','18328pFvnQs','EllipsoidalOccluder','strokeStyle','particlesNumber','Cartesian2','cols','levmin','Appearance','xmin','geometry','refreshTimer','dimensions','_drawLines','DrawCommand','call','preRender','now','__proto__','removeAll','wheel','toDegrees','5UyncUu','string','_setOptionsHook','ymin','SceneMode','initWorker','__esModule','Math','postMessage','age','latRange','NEAREST','updateViewerParameters','primitiveType','red','clear','bindEvent','SCENE3D','getPrototypeOf','Color','nextParticlesSpeed','_speedRate','south','TextureMinificationFilter','_pointerEvents','rawRenderState','_onMouseUpEvent','addPrimitives','_addedHook','createSegmentsGeometry','color','shaderProgram','this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called','min','colors','isInExtent','update','north','toGridXY','frameTime','maxParticles','unbindEvent','clearFramebuffers','randomizeParticles','moveTo','_mountedHook','segments','DISABLE_GL_POSITION_LOG_DEPTH','random','uniform\x20sampler2D\x20trailsColorTexture;\x0d\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture2D(trailsColorTexture,\x20textureCoordinate);\x0d\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture2D(trailsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture2D(czm_globeDepthTexture,\x20textureCoordinate));\x0d\x0a\x0d\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20trailsColor;\x0d\x0a\x20\x20\x20\x20}\x20else\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0d\x0a\x20\x20\x20\x20}\x0d\x0a}','setDate','redraw','addEventListener','1603XFnzlY','FLOAT','speedFactor','undefined','globalCompositeOperation','viewRectangleToLonLatRange','getOwnPropertyDescriptor','RGBA','PixelFormat','pointer-events','_map','reverseY','speedRate','green','viewport','CanvasWindField','refreshParticles','mouseUp','apply','destroyObject','canvasWindy','1624612xyNyhq','createComputingPrimitives'];_0x355a=function(){return _0xaa6d37;};return _0x355a();}var WindUtil={'__proto__':null,'getU':getU,'getV':getV,'getSpeed':getSpeed,'getDirection':getDirection};function ownKeys(_0x2295a7,_0x6edffb){var _0x59b766=_0x1ba661,_0x558afe=Object[_0x59b766(0x1c7)](_0x2295a7);if(Object['getOwnPropertySymbols']){var _0x5558cc=Object['getOwnPropertySymbols'](_0x2295a7);_0x6edffb&&(_0x5558cc=_0x5558cc[_0x59b766(0x119)](function(_0x40e226){return Object['getOwnPropertyDescriptor'](_0x2295a7,_0x40e226)['enumerable'];})),_0x558afe['push'][_0x59b766(0x181)](_0x558afe,_0x5558cc);}return _0x558afe;}function _objectSpread2(_0x1df024){var _0x3e41f4=_0x1ba661;for(var _0x4eefb3=0x1;_0x4eefb3<arguments[_0x3e41f4(0x197)];_0x4eefb3++){var _0x1bcec3=null!=arguments[_0x4eefb3]?arguments[_0x4eefb3]:{};_0x4eefb3%0x2?ownKeys(Object(_0x1bcec3),!0x0)[_0x3e41f4(0x1c2)](function(_0x38a480){_defineProperty(_0x1df024,_0x38a480,_0x1bcec3[_0x38a480]);}):Object[_0x3e41f4(0x1bf)]?Object[_0x3e41f4(0x195)](_0x1df024,Object[_0x3e41f4(0x1bf)](_0x1bcec3)):ownKeys(Object(_0x1bcec3))['forEach'](function(_0x381c77){var _0xf6ab6f=_0x3e41f4;Object[_0xf6ab6f(0x1ca)](_0x1df024,_0x381c77,Object[_0xf6ab6f(0x175)](_0x1bcec3,_0x381c77));});}return _0x1df024;}function _classCallCheck(_0x1d7fe6,_0x28bee8){var _0x237dcf=_0x1ba661;if(!(_0x1d7fe6 instanceof _0x28bee8))throw new TypeError(_0x237dcf(0x1a8));}function _defineProperties(_0x24798d,_0x521cd8){var _0x4e1bec=_0x1ba661;for(var _0x5e7c42=0x0;_0x5e7c42<_0x521cd8[_0x4e1bec(0x197)];_0x5e7c42++){var _0x11e366=_0x521cd8[_0x5e7c42];_0x11e366[_0x4e1bec(0xab)]=_0x11e366[_0x4e1bec(0xab)]||![],_0x11e366['configurable']=!![];if(_0x4e1bec(0xb8)in _0x11e366)_0x11e366[_0x4e1bec(0x19e)]=!![];Object['defineProperty'](_0x24798d,_0x11e366[_0x4e1bec(0x19d)],_0x11e366);}}function _createClass(_0xa00c24,_0x2edbe2,_0xe02484){var _0x23adc2=_0x1ba661;if(_0x2edbe2)_defineProperties(_0xa00c24[_0x23adc2(0x1ea)],_0x2edbe2);if(_0xe02484)_defineProperties(_0xa00c24,_0xe02484);return Object['defineProperty'](_0xa00c24,'prototype',{'writable':![]}),_0xa00c24;}function _defineProperty(_0x449991,_0x3a8cf0,_0x45c494){var _0x5c5899=_0x1ba661;return _0x3a8cf0 in _0x449991?Object[_0x5c5899(0x1ca)](_0x449991,_0x3a8cf0,{'value':_0x45c494,'enumerable':!![],'configurable':!![],'writable':!![]}):_0x449991[_0x3a8cf0]=_0x45c494,_0x449991;}function _inherits(_0x51e7e3,_0x13cc7a){var _0x5b4384=_0x1ba661;if(typeof _0x13cc7a!==_0x5b4384(0xda)&&_0x13cc7a!==null)throw new TypeError(_0x5b4384(0xdd));_0x51e7e3[_0x5b4384(0x1ea)]=Object[_0x5b4384(0xd3)](_0x13cc7a&&_0x13cc7a[_0x5b4384(0x1ea)],{'constructor':{'value':_0x51e7e3,'writable':!![],'configurable':!![]}}),Object['defineProperty'](_0x51e7e3,'prototype',{'writable':![]});if(_0x13cc7a)_setPrototypeOf(_0x51e7e3,_0x13cc7a);}function _getPrototypeOf(_0x2937e5){var _0x5e8ebb=_0x1ba661;return _getPrototypeOf=Object[_0x5e8ebb(0x1ec)]?Object[_0x5e8ebb(0x14c)]['bind']():function _0x235d63(_0x1159a7){var _0x19f2e2=_0x5e8ebb;return _0x1159a7['__proto__']||Object[_0x19f2e2(0x14c)](_0x1159a7);},_getPrototypeOf(_0x2937e5);}function _setPrototypeOf(_0x28699f,_0x42c6be){var _0x5640f1=_0x1ba661;return _setPrototypeOf=Object[_0x5640f1(0x1ec)]?Object[_0x5640f1(0x1ec)]['bind']():function _0x2d2379(_0x1e3ce9,_0x5cfb52){var _0x5daabe=_0x5640f1;return _0x1e3ce9[_0x5daabe(0x136)]=_0x5cfb52,_0x1e3ce9;},_setPrototypeOf(_0x28699f,_0x42c6be);}function _isNativeReflectConstruct(){var _0x3ab5a4=_0x1ba661;if(typeof Reflect===_0x3ab5a4(0x172)||!Reflect[_0x3ab5a4(0x11f)])return![];if(Reflect[_0x3ab5a4(0x11f)]['sham'])return![];if(typeof Proxy===_0x3ab5a4(0xda))return!![];try{return Boolean[_0x3ab5a4(0x1ea)]['valueOf'][_0x3ab5a4(0x133)](Reflect[_0x3ab5a4(0x11f)](Boolean,[],function(){})),!![];}catch(_0x251a9e){return![];}}function _assertThisInitialized(_0x2fa8b2){var _0x44748d=_0x1ba661;if(_0x2fa8b2===void 0x0)throw new ReferenceError(_0x44748d(0x15a));return _0x2fa8b2;}function _possibleConstructorReturn(_0x1bb114,_0x3d9fb6){var _0x26e368=_0x1ba661;if(_0x3d9fb6&&(typeof _0x3d9fb6==='object'||typeof _0x3d9fb6==='function'))return _0x3d9fb6;else{if(_0x3d9fb6!==void 0x0)throw new TypeError(_0x26e368(0x1ce));}return _assertThisInitialized(_0x1bb114);}function _createSuper(_0xf17b3f){var _0x5485e2=_isNativeReflectConstruct();return function _0x236008(){var _0x1ea78d=_0x4e2e,_0x4470a7=_getPrototypeOf(_0xf17b3f),_0x2fedaa;if(_0x5485e2){var _0x307223=_getPrototypeOf(this)[_0x1ea78d(0x1e1)];_0x2fedaa=Reflect[_0x1ea78d(0x11f)](_0x4470a7,arguments,_0x307223);}else _0x2fedaa=_0x4470a7[_0x1ea78d(0x181)](this,arguments);return _possibleConstructorReturn(this,_0x2fedaa);};}function _toConsumableArray(_0x4d69f0){return _arrayWithoutHoles(_0x4d69f0)||_iterableToArray(_0x4d69f0)||_unsupportedIterableToArray(_0x4d69f0)||_nonIterableSpread();}function _arrayWithoutHoles(_0x286496){var _0x62e57b=_0x1ba661;if(Array[_0x62e57b(0x1e4)](_0x286496))return _arrayLikeToArray(_0x286496);}function _iterableToArray(_0x583f1f){var _0x5d3f13=_0x1ba661;if(typeof Symbol!==_0x5d3f13(0x172)&&_0x583f1f[Symbol[_0x5d3f13(0xac)]]!=null||_0x583f1f[_0x5d3f13(0xe9)]!=null)return Array[_0x5d3f13(0xa6)](_0x583f1f);}function _unsupportedIterableToArray(_0x7effd6,_0x229381){var _0x5787f9=_0x1ba661;if(!_0x7effd6)return;if(typeof _0x7effd6===_0x5787f9(0x13b))return _arrayLikeToArray(_0x7effd6,_0x229381);var _0xdf7206=Object[_0x5787f9(0x1ea)]['toString'][_0x5787f9(0x133)](_0x7effd6)[_0x5787f9(0x107)](0x8,-0x1);if(_0xdf7206===_0x5787f9(0xde)&&_0x7effd6[_0x5787f9(0x1e1)])_0xdf7206=_0x7effd6[_0x5787f9(0x1e1)][_0x5787f9(0xa3)];if(_0xdf7206===_0x5787f9(0xb9)||_0xdf7206==='Set')return Array[_0x5787f9(0xa6)](_0x7effd6);if(_0xdf7206==='Arguments'||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/['test'](_0xdf7206))return _arrayLikeToArray(_0x7effd6,_0x229381);}function _arrayLikeToArray(_0x1f9234,_0x546500){var _0x2a7ed9=_0x1ba661;if(_0x546500==null||_0x546500>_0x1f9234[_0x2a7ed9(0x197)])_0x546500=_0x1f9234['length'];for(var _0x19c55c=0x0,_0x103cea=new Array(_0x546500);_0x19c55c<_0x546500;_0x19c55c++)_0x103cea[_0x19c55c]=_0x1f9234[_0x19c55c];return _0x103cea;}function _0x4e2e(_0x363bb2,_0x449eef){var _0x355ad6=_0x355a();return _0x4e2e=function(_0x4e2e21,_0x5615cf){_0x4e2e21=_0x4e2e21-0x7e;var _0x30a7f4=_0x355ad6[_0x4e2e21];return _0x30a7f4;},_0x4e2e(_0x363bb2,_0x449eef);}function _nonIterableSpread(){var _0x2f5e51=_0x1ba661;throw new TypeError(_0x2f5e51(0xb4));}var Cesium$6=mars3d__namespace[_0x1ba661(0xa1)],CustomPrimitive=(function(){function _0x15d004(_0x35ecf4){var _0x5639b=_0x4e2e,_0xe854d8;_classCallCheck(this,_0x15d004),this['commandType']=_0x35ecf4[_0x5639b(0x11d)],this[_0x5639b(0x12e)]=_0x35ecf4[_0x5639b(0x12e)],this['attributeLocations']=_0x35ecf4[_0x5639b(0x1a7)],this[_0x5639b(0x147)]=_0x35ecf4[_0x5639b(0x147)],this['uniformMap']=_0x35ecf4['uniformMap'],this[_0x5639b(0xc9)]=_0x35ecf4['vertexShaderSource'],this[_0x5639b(0xb0)]=_0x35ecf4[_0x5639b(0xb0)],this[_0x5639b(0x153)]=_0x35ecf4['rawRenderState'],this['framebuffer']=_0x35ecf4[_0x5639b(0x103)],this['outputTexture']=_0x35ecf4['outputTexture'],this[_0x5639b(0x97)]=(_0xe854d8=_0x35ecf4['autoClear'])!==null&&_0xe854d8!==void 0x0?_0xe854d8:![],this[_0x5639b(0xf7)]=_0x35ecf4[_0x5639b(0xf7)],this[_0x5639b(0xcc)]=!![],this[_0x5639b(0xef)]=undefined,this[_0x5639b(0xb5)]=undefined,this[_0x5639b(0x97)]&&(this[_0x5639b(0xb5)]=new Cesium$6['ClearCommand']({'color':new Cesium$6['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[_0x5639b(0x103)],'pass':Cesium$6['Pass']['OPAQUE']}));}return _createClass(_0x15d004,[{'key':'createCommand','value':function _0xc02cd6(_0x5f2e2f){var _0x4793b0=_0x4e2e;switch(this[_0x4793b0(0x11d)]){case'Draw':{var _0xe44ac2=Cesium$6[_0x4793b0(0x8e)][_0x4793b0(0xe7)]({'context':_0x5f2e2f,'geometry':this[_0x4793b0(0x12e)],'attributeLocations':this[_0x4793b0(0x1a7)],'bufferUsage':Cesium$6[_0x4793b0(0xf4)][_0x4793b0(0xf0)]}),_0x3aab21=Cesium$6[_0x4793b0(0x96)]['fromCache']({'context':_0x5f2e2f,'attributeLocations':this[_0x4793b0(0x1a7)],'vertexShaderSource':this[_0x4793b0(0xc9)],'fragmentShaderSource':this[_0x4793b0(0xb0)]}),_0x54c828=Cesium$6[_0x4793b0(0x1f1)][_0x4793b0(0x1eb)](this['rawRenderState']);return new Cesium$6[(_0x4793b0(0x132))]({'primitiveType':this[_0x4793b0(0x147)],'shaderProgram':_0x3aab21,'vertexArray':_0xe44ac2,'modelMatrix':Cesium$6['Matrix4'][_0x4793b0(0x11b)],'renderState':_0x54c828,'uniformMap':this[_0x4793b0(0xc6)],'castShadows':![],'receiveShadows':![],'framebuffer':this[_0x4793b0(0x103)],'pass':Cesium$6[_0x4793b0(0xee)]['OPAQUE'],'pickOnly':!![],'owner':this});}case _0x4793b0(0x1ab):{return new Cesium$6['ComputeCommand']({'owner':this,'fragmentShaderSource':this[_0x4793b0(0xb0)],'uniformMap':this[_0x4793b0(0xc6)],'outputTexture':this[_0x4793b0(0x1db)],'persists':!![]});}}}},{'key':'setGeometry','value':function _0x3a63c8(_0x14f814,_0x5bbb57){var _0x150476=_0x4e2e;this['geometry']=_0x5bbb57;var _0x53ed8a=Cesium$6['VertexArray'][_0x150476(0xe7)]({'context':_0x14f814,'geometry':this[_0x150476(0x12e)],'attributeLocations':this[_0x150476(0x1a7)],'bufferUsage':Cesium$6[_0x150476(0xf4)][_0x150476(0xf0)]});this[_0x150476(0xef)][_0x150476(0x113)]=_0x53ed8a;}},{'key':'update','value':function _0x4f01c5(_0x2977c5){var _0x1c1790=_0x4e2e;if(!this[_0x1c1790(0xcc)])return;if(_0x2977c5[_0x1c1790(0x114)]!==Cesium$6['SceneMode'][_0x1c1790(0x14b)])return;!Cesium$6[_0x1c1790(0x7f)](this['commandToExecute'])&&(this['commandToExecute']=this[_0x1c1790(0x1a3)](_0x2977c5[_0x1c1790(0xb1)])),Cesium$6['defined'](this[_0x1c1790(0xf7)])&&this[_0x1c1790(0xf7)](),Cesium$6['defined'](this[_0x1c1790(0xb5)])&&_0x2977c5[_0x1c1790(0x100)]['push'](this[_0x1c1790(0xb5)]),_0x2977c5['commandList']['push'](this[_0x1c1790(0xef)]);}},{'key':'isDestroyed','value':function _0x5ab5ca(){return![];}},{'key':'destroy','value':function _0x1eaef1(){var _0x4e8ffb=_0x4e2e;if(this[_0x4e8ffb(0xb5)]){var _0x22a900,_0xb8b5c1;(_0x22a900=this[_0x4e8ffb(0xb5)])!==null&&_0x22a900!==void 0x0&&_0x22a900['vertexArray']&&this['clearCommand'][_0x4e8ffb(0x113)][_0x4e8ffb(0x1a0)](),(_0xb8b5c1=this[_0x4e8ffb(0xb5)])!==null&&_0xb8b5c1!==void 0x0&&_0xb8b5c1[_0x4e8ffb(0x159)]&&this[_0x4e8ffb(0xb5)][_0x4e8ffb(0x159)][_0x4e8ffb(0x1a0)](),delete this['clearCommand'];}return this[_0x4e8ffb(0xef)]&&(this[_0x4e8ffb(0xef)][_0x4e8ffb(0x113)]&&this[_0x4e8ffb(0xef)][_0x4e8ffb(0x113)]['destroy'](),this['commandToExecute']['shaderProgram']&&this['commandToExecute'][_0x4e8ffb(0x159)][_0x4e8ffb(0x1a0)](),delete this['commandToExecute']),Cesium$6[_0x4e8ffb(0x182)](this);}}]),_0x15d004;}()),Cesium$5=mars3d__namespace[_0x1ba661(0xa1)],Util=(function(){var _0x3687d8=function _0x1e2724(){var _0x319655=_0x4e2e,_0x392aee=new Cesium$5['Geometry']({'attributes':new Cesium$5[(_0x319655(0x1b3))]({'position':new Cesium$5[(_0x319655(0x9c))]({'componentDatatype':Cesium$5[_0x319655(0xbc)][_0x319655(0x170)],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new Cesium$5[(_0x319655(0x9c))]({'componentDatatype':Cesium$5[_0x319655(0xbc)][_0x319655(0x170)],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});return _0x392aee;},_0x3b2cfc=function _0x59b46b(_0x3a05ac,_0x1cfc43){var _0x57cba3=_0x4e2e;if(Cesium$5[_0x57cba3(0x7f)](_0x1cfc43)){var _0x4db4a0={};_0x4db4a0[_0x57cba3(0x1ef)]=_0x1cfc43,_0x3a05ac['source']=_0x4db4a0;}var _0x2dd782=new Cesium$5['Texture'](_0x3a05ac);return _0x2dd782;},_0x28e081=function _0x615dfe(_0x5e5723,_0xbe474e,_0x5d7535){var _0x1784f3=_0x4e2e,_0x1b29a4=new Cesium$5[(_0x1784f3(0x198))]({'context':_0x5e5723,'colorTextures':[_0xbe474e],'depthTexture':_0x5d7535});return _0x1b29a4;},_0x23cd8c=function _0x444516(_0x1b2a20){var _0x17f62c=_0x4e2e,_0x1e578a=!![],_0x45bf72=![],_0x143d62={'viewport':_0x1b2a20[_0x17f62c(0x17d)],'depthTest':_0x1b2a20[_0x17f62c(0xe5)],'depthMask':_0x1b2a20['depthMask'],'blending':_0x1b2a20[_0x17f62c(0xae)]},_0x4277f8=Cesium$5[_0x17f62c(0x12c)]['getDefaultRenderState'](_0x1e578a,_0x45bf72,_0x143d62);return _0x4277f8;},_0x6d24c1=function _0x2c6a3d(_0x47fec9){var _0x43f1f7=_0x4e2e,_0x4bd4a7={},_0x1d3064=Cesium$5[_0x43f1f7(0x141)]['mod'](_0x47fec9[_0x43f1f7(0x1b6)],Cesium$5[_0x43f1f7(0x141)][_0x43f1f7(0x1be)]),_0x2557e6=Cesium$5[_0x43f1f7(0x141)][_0x43f1f7(0x10a)](_0x47fec9['east'],Cesium$5[_0x43f1f7(0x141)][_0x43f1f7(0x1be)]),_0x396313=_0x47fec9[_0x43f1f7(0x1f7)],_0x1306a0,_0x16374e;_0x396313>Cesium$5[_0x43f1f7(0x141)][_0x43f1f7(0x186)]?(_0x1306a0=0x0,_0x16374e=Cesium$5['Math'][_0x43f1f7(0x1be)]):_0x2557e6-_0x1d3064<_0x396313?(_0x1306a0=_0x1d3064,_0x16374e=_0x1d3064+_0x396313):(_0x1306a0=_0x1d3064,_0x16374e=_0x2557e6);_0x4bd4a7['lon']={'min':Cesium$5[_0x43f1f7(0x141)][_0x43f1f7(0x139)](_0x1306a0),'max':Cesium$5[_0x43f1f7(0x141)][_0x43f1f7(0x139)](_0x16374e)};var _0x28c505=_0x47fec9[_0x43f1f7(0x150)],_0x749d1c=_0x47fec9[_0x43f1f7(0x15f)],_0x408749=_0x47fec9[_0x43f1f7(0xc2)],_0x4be211=_0x408749>Cesium$5[_0x43f1f7(0x141)]['PI']/0xc?_0x408749/0x2:0x0,_0x4a0289=Cesium$5[_0x43f1f7(0x141)][_0x43f1f7(0x18a)](_0x28c505-_0x4be211),_0x48f076=Cesium$5[_0x43f1f7(0x141)]['clampToLatitudeRange'](_0x749d1c+_0x4be211);return _0x4a0289<-Cesium$5[_0x43f1f7(0x141)]['PI_OVER_THREE']&&(_0x4a0289=-Cesium$5[_0x43f1f7(0x141)]['PI_OVER_TWO']),_0x48f076>Cesium$5[_0x43f1f7(0x141)][_0x43f1f7(0xfc)]&&(_0x48f076=Cesium$5[_0x43f1f7(0x141)][_0x43f1f7(0xaa)]),_0x4bd4a7[_0x43f1f7(0x109)]={'min':Cesium$5[_0x43f1f7(0x141)][_0x43f1f7(0x139)](_0x4a0289),'max':Cesium$5['Math'][_0x43f1f7(0x139)](_0x48f076)},_0x4bd4a7;};return{'getFullscreenQuad':_0x3687d8,'createTexture':_0x3b2cfc,'createFramebuffer':_0x28e081,'createRawRenderState':_0x23cd8c,'viewRectangleToLonLatRange':_0x6d24c1};}()),segmentDraw_vert=_0x1ba661(0x191),segmentDraw_frag=_0x1ba661(0x19b),fullscreen_vert=_0x1ba661(0x80),trailDraw_frag=_0x1ba661(0x93),screenDraw_frag=_0x1ba661(0x16b),Cesium$4=mars3d__namespace['Cesium'],ParticlesRendering=(function(){var _0x15e108=_0x1ba661;function _0x5f0aa1(_0x385656,_0x68b343,_0x6adbed,_0x4e80a9,_0x518755){var _0x147023=_0x4e2e;_classCallCheck(this,_0x5f0aa1),this[_0x147023(0x9d)](_0x385656,_0x68b343,_0x6adbed['colors']),this['createRenderingFramebuffers'](_0x385656),this['createRenderingPrimitives'](_0x385656,_0x6adbed,_0x4e80a9,_0x518755);}return _createClass(_0x5f0aa1,[{'key':_0x15e108(0x9d),'value':function _0x378179(_0x4478d9,_0x15e0eb,_0x229451){var _0x4c9384=_0x15e108,_0x4fdc03={'context':_0x4478d9,'width':_0x4478d9['drawingBufferWidth'],'height':_0x4478d9[_0x4c9384(0x1aa)],'pixelFormat':Cesium$4[_0x4c9384(0x177)][_0x4c9384(0x176)],'pixelDatatype':Cesium$4[_0x4c9384(0xfa)]['UNSIGNED_BYTE']},_0x582a86={'context':_0x4478d9,'width':_0x4478d9[_0x4c9384(0x1cb)],'height':_0x4478d9['drawingBufferHeight'],'pixelFormat':Cesium$4[_0x4c9384(0x177)][_0x4c9384(0x1e5)],'pixelDatatype':Cesium$4[_0x4c9384(0xfa)][_0x4c9384(0xe4)]},_0x32fc0a=_0x229451[_0x4c9384(0x197)],_0x3e0cfa=new Float32Array(_0x32fc0a*0x3);for(var _0x11cff4=0x0;_0x11cff4<_0x32fc0a;_0x11cff4++){var _0x1927ef=Cesium$4[_0x4c9384(0x14d)][_0x4c9384(0x95)](_0x229451[_0x11cff4]);_0x3e0cfa[0x3*_0x11cff4]=_0x1927ef[_0x4c9384(0x148)],_0x3e0cfa[0x3*_0x11cff4+0x1]=_0x1927ef[_0x4c9384(0x17c)],_0x3e0cfa[0x3*_0x11cff4+0x2]=_0x1927ef['blue'];}var _0x15e569={'context':_0x4478d9,'width':_0x32fc0a,'height':0x1,'pixelFormat':Cesium$4[_0x4c9384(0x177)][_0x4c9384(0x98)],'pixelDatatype':Cesium$4['PixelDatatype'][_0x4c9384(0x170)],'sampler':new Cesium$4[(_0x4c9384(0x112))]({'minificationFilter':Cesium$4[_0x4c9384(0x151)][_0x4c9384(0x1c4)],'magnificationFilter':Cesium$4['TextureMagnificationFilter'][_0x4c9384(0x1c4)]})};this['textures']={'segmentsColor':Util[_0x4c9384(0xa5)](_0x4fdc03),'segmentsDepth':Util[_0x4c9384(0xa5)](_0x582a86),'currentTrailsColor':Util[_0x4c9384(0xa5)](_0x4fdc03),'currentTrailsDepth':Util[_0x4c9384(0xa5)](_0x582a86),'nextTrailsColor':Util[_0x4c9384(0xa5)](_0x4fdc03),'nextTrailsDepth':Util[_0x4c9384(0xa5)](_0x582a86),'colorTable':Util['createTexture'](_0x15e569,_0x3e0cfa)};}},{'key':_0x15e108(0x115),'value':function _0x1c7f1f(_0x4c8e2c){var _0x410702=_0x15e108;this[_0x410702(0x10c)]={'segments':Util['createFramebuffer'](_0x4c8e2c,this[_0x410702(0xe3)][_0x410702(0x89)],this[_0x410702(0xe3)][_0x410702(0xd2)]),'currentTrails':Util[_0x410702(0x117)](_0x4c8e2c,this[_0x410702(0xe3)]['currentTrailsColor'],this[_0x410702(0xe3)]['currentTrailsDepth']),'nextTrails':Util[_0x410702(0x117)](_0x4c8e2c,this[_0x410702(0xe3)]['nextTrailsColor'],this[_0x410702(0xe3)][_0x410702(0x1ac)])};}},{'key':_0x15e108(0x157),'value':function _0x3a4823(_0x14bc6c){var _0x367e60=_0x15e108,_0x89f0da=0x4,_0xc42aa5=[];for(var _0x1359f0=0x0;_0x1359f0<_0x14bc6c[_0x367e60(0x1e2)];_0x1359f0++){for(var _0x186462=0x0;_0x186462<_0x14bc6c[_0x367e60(0x1e2)];_0x186462++){for(var _0x2e0f48=0x0;_0x2e0f48<_0x89f0da;_0x2e0f48++){_0xc42aa5[_0x367e60(0x1d7)](_0x1359f0/_0x14bc6c[_0x367e60(0x1e2)]),_0xc42aa5['push'](_0x186462/_0x14bc6c['particlesTextureSize']);}}}_0xc42aa5=new Float32Array(_0xc42aa5);var _0x1f8fb0=[],_0x11cd8d=[-0x1,0x1],_0x272002=[-0x1,0x1];for(var _0x151541=0x0;_0x151541<_0x14bc6c[_0x367e60(0x162)];_0x151541++){for(var _0x51e0fd=0x0;_0x51e0fd<_0x89f0da/0x2;_0x51e0fd++){for(var _0x584825=0x0;_0x584825<_0x89f0da/0x2;_0x584825++){_0x1f8fb0[_0x367e60(0x1d7)](_0x11cd8d[_0x51e0fd]),_0x1f8fb0[_0x367e60(0x1d7)](_0x272002[_0x584825]),_0x1f8fb0[_0x367e60(0x1d7)](0x0);}}}_0x1f8fb0=new Float32Array(_0x1f8fb0);var _0x524fca=0x6*_0x14bc6c[_0x367e60(0x162)],_0x58edc2=new Uint32Array(_0x524fca);for(var _0x1fa9a7=0x0,_0x30ab6e=0x0,_0x33058f=0x0;_0x1fa9a7<_0x14bc6c[_0x367e60(0x162)];_0x1fa9a7++){_0x58edc2[_0x30ab6e++]=_0x33058f+0x0,_0x58edc2[_0x30ab6e++]=_0x33058f+0x1,_0x58edc2[_0x30ab6e++]=_0x33058f+0x2,_0x58edc2[_0x30ab6e++]=_0x33058f+0x2,_0x58edc2[_0x30ab6e++]=_0x33058f+0x1,_0x58edc2[_0x30ab6e++]=_0x33058f+0x3,_0x33058f+=0x4;}var _0x4bce64=new Cesium$4[(_0x367e60(0x18c))]({'attributes':new Cesium$4[(_0x367e60(0x1b3))]({'st':new Cesium$4[(_0x367e60(0x9c))]({'componentDatatype':Cesium$4[_0x367e60(0xbc)][_0x367e60(0x170)],'componentsPerAttribute':0x2,'values':_0xc42aa5}),'normal':new Cesium$4[(_0x367e60(0x9c))]({'componentDatatype':Cesium$4[_0x367e60(0xbc)][_0x367e60(0x170)],'componentsPerAttribute':0x3,'values':_0x1f8fb0})}),'indices':_0x58edc2});return _0x4bce64;}},{'key':_0x15e108(0x8c),'value':function _0xad4596(_0x2cef43,_0x1da860,_0x374f6d,_0x4ceb15){var _0x38f6d3=_0x15e108,_0x1d0776=this;this[_0x38f6d3(0x1e8)]={'segments':new CustomPrimitive({'commandType':_0x38f6d3(0x8a),'attributeLocations':{'st':0x0,'normal':0x1},'geometry':this[_0x38f6d3(0x157)](_0x1da860),'primitiveType':Cesium$4[_0x38f6d3(0x1a5)][_0x38f6d3(0xd1)],'uniformMap':{'currentParticlesPosition':function _0x3d6b7d(){var _0x3aba07=_0x38f6d3;return _0x4ceb15[_0x3aba07(0xff)]['currentParticlesPosition'];},'postProcessingPosition':function _0x437772(){var _0x8747d8=_0x38f6d3;return _0x4ceb15[_0x8747d8(0xff)]['postProcessingPosition'];},'postProcessingSpeed':function _0x1aff95(){var _0x46cb4a=_0x38f6d3;return _0x4ceb15[_0x46cb4a(0xff)][_0x46cb4a(0x124)];},'colorTable':function _0x23a25e(){var _0x4940f1=_0x38f6d3;return _0x1d0776[_0x4940f1(0xe3)][_0x4940f1(0xc4)];},'aspect':function _0x20aae3(){var _0x58480a=_0x38f6d3;return _0x2cef43[_0x58480a(0x1cb)]/_0x2cef43[_0x58480a(0x1aa)];},'pixelSize':function _0x2c6508(){return _0x374f6d['pixelSize'];},'lineWidth':function _0x896a5e(){return _0x1da860['lineWidth'];},'particleHeight':function _0x51135a(){var _0x3ec3cd=_0x38f6d3;return _0x1da860[_0x3ec3cd(0x1ba)];}},'vertexShaderSource':new Cesium$4[(_0x38f6d3(0x1e0))]({'sources':[segmentDraw_vert]}),'fragmentShaderSource':new Cesium$4[(_0x38f6d3(0x1e0))]({'sources':[segmentDraw_frag]}),'rawRenderState':Util[_0x38f6d3(0x1c5)]({'viewport':undefined,'depthTest':{'enabled':!![]},'depthMask':!![]}),'framebuffer':this[_0x38f6d3(0x10c)][_0x38f6d3(0x168)],'autoClear':!![]}),'trails':new CustomPrimitive({'commandType':_0x38f6d3(0x8a),'attributeLocations':{'position':0x0,'st':0x1},'geometry':Util[_0x38f6d3(0xfb)](),'primitiveType':Cesium$4[_0x38f6d3(0x1a5)][_0x38f6d3(0xd1)],'uniformMap':{'segmentsColorTexture':function _0x65aa6f(){var _0x4c9755=_0x38f6d3;return _0x1d0776[_0x4c9755(0xe3)]['segmentsColor'];},'segmentsDepthTexture':function _0x55f75d(){var _0x360e04=_0x38f6d3;return _0x1d0776[_0x360e04(0xe3)][_0x360e04(0xd2)];},'currentTrailsColor':function _0x51fa4d(){var _0x1663f6=_0x38f6d3;return _0x1d0776[_0x1663f6(0x10c)][_0x1663f6(0x81)][_0x1663f6(0xad)](0x0);},'trailsDepthTexture':function _0x19c2d0(){var _0x224811=_0x38f6d3;return _0x1d0776[_0x224811(0x10c)][_0x224811(0x81)][_0x224811(0x1dd)];},'fadeOpacity':function _0x107fa2(){var _0x493e79=_0x38f6d3;return _0x1da860[_0x493e79(0x196)];}},'vertexShaderSource':new Cesium$4[(_0x38f6d3(0x1e0))]({'defines':[_0x38f6d3(0x169)],'sources':[fullscreen_vert]}),'fragmentShaderSource':new Cesium$4[(_0x38f6d3(0x1e0))]({'defines':[_0x38f6d3(0x87)],'sources':[trailDraw_frag]}),'rawRenderState':Util[_0x38f6d3(0x1c5)]({'viewport':undefined,'depthTest':{'enabled':!![],'func':Cesium$4[_0x38f6d3(0x1f2)]['ALWAYS']},'depthMask':!![]}),'framebuffer':this[_0x38f6d3(0x10c)][_0x38f6d3(0x1c6)],'autoClear':!![],'preExecute':function _0x1f1b69(){var _0x30a6fd=_0x38f6d3,_0x59cfff=_0x1d0776[_0x30a6fd(0x10c)][_0x30a6fd(0x81)];_0x1d0776[_0x30a6fd(0x10c)]['currentTrails']=_0x1d0776[_0x30a6fd(0x10c)][_0x30a6fd(0x1c6)],_0x1d0776[_0x30a6fd(0x10c)][_0x30a6fd(0x1c6)]=_0x59cfff,_0x1d0776['primitives'][_0x30a6fd(0x94)]['commandToExecute'][_0x30a6fd(0x103)]=_0x1d0776[_0x30a6fd(0x10c)][_0x30a6fd(0x1c6)],_0x1d0776[_0x30a6fd(0x1e8)]['trails'][_0x30a6fd(0xb5)][_0x30a6fd(0x103)]=_0x1d0776[_0x30a6fd(0x10c)]['nextTrails'];}}),'screen':new CustomPrimitive({'commandType':_0x38f6d3(0x8a),'attributeLocations':{'position':0x0,'st':0x1},'geometry':Util[_0x38f6d3(0xfb)](),'primitiveType':Cesium$4[_0x38f6d3(0x1a5)][_0x38f6d3(0xd1)],'uniformMap':{'trailsColorTexture':function _0x192169(){var _0x23d3d1=_0x38f6d3;return _0x1d0776[_0x23d3d1(0x10c)][_0x23d3d1(0x1c6)][_0x23d3d1(0xad)](0x0);},'trailsDepthTexture':function _0x1c33c1(){var _0x31dcca=_0x38f6d3;return _0x1d0776['framebuffers'][_0x31dcca(0x1c6)][_0x31dcca(0x1dd)];}},'vertexShaderSource':new Cesium$4[(_0x38f6d3(0x1e0))]({'defines':[_0x38f6d3(0x169)],'sources':[fullscreen_vert]}),'fragmentShaderSource':new Cesium$4[(_0x38f6d3(0x1e0))]({'defines':[_0x38f6d3(0x87)],'sources':[screenDraw_frag]}),'rawRenderState':Util['createRawRenderState']({'viewport':undefined,'depthTest':{'enabled':![]},'depthMask':!![],'blending':{'enabled':!![]}}),'framebuffer':undefined})};}}]),_0x5f0aa1;}()),getWind_frag='//\x20the\x20size\x20of\x20UV\x20textures:\x20width\x20=\x20lon,\x20height\x20=\x20lat*lev\x0auniform\x20sampler2D\x20U;\x20//\x20eastward\x20wind\x20\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\x0avarying\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=\x20texture2D(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=\x20texture2D(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20bicubic(lonLatLev);\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(windVector,\x200.0);\x0a}',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\x0avarying\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=\x20texture2D(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20texture2D(particlesWind,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20vec4(speedFactor\x20*\x20pixelSize\x20*\x20windVector,\x20calculateWindNorm(windVector));\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20nextSpeed;\x0a}',updatePosition_frag=_0x1ba661(0xf6),postProcessingPosition_frag=_0x1ba661(0xdc),postProcessingSpeed_frag='uniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20randomParticle\x20=\x20texture2D(postProcessingPosition,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20vec4\x20particleSpeed\x20=\x20texture2D(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x0a\x20\x20\x20\x20if\x20(randomParticle.a\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20particleSpeed;\x0a\x20\x20\x20\x20}\x0a}',Cesium$3=mars3d__namespace[_0x1ba661(0xa1)],ParticlesComputing=(function(){var _0x1ac58f=_0x1ba661;function _0x79ba5c(_0x2cca14,_0xaf0057,_0x261817,_0x579984){var _0x9e2f8d=_0x4e2e;_classCallCheck(this,_0x79ba5c),this[_0x9e2f8d(0xa4)]=_0xaf0057,this[_0x9e2f8d(0x116)](_0x2cca14,_0xaf0057),this[_0x9e2f8d(0xbb)](_0x2cca14,_0x261817,_0x579984),this[_0x9e2f8d(0x185)](_0xaf0057,_0x261817,_0x579984);}return _createClass(_0x79ba5c,[{'key':_0x1ac58f(0x116),'value':function _0x24c85f(_0x21baa8,_0x38c5b8){var _0x242556=_0x1ac58f,_0x2a56fb={'context':_0x21baa8,'width':_0x38c5b8['dimensions']['lon'],'height':_0x38c5b8['dimensions'][_0x242556(0x109)]*(_0x38c5b8[_0x242556(0x130)][_0x242556(0x99)]||0x1),'pixelFormat':Cesium$3[_0x242556(0x177)]['LUMINANCE'],'pixelDatatype':Cesium$3[_0x242556(0xfa)]['FLOAT'],'flipY':![],'sampler':new Cesium$3[(_0x242556(0x112))]({'minificationFilter':Cesium$3['TextureMinificationFilter']['NEAREST'],'magnificationFilter':Cesium$3[_0x242556(0x110)][_0x242556(0x145)]})};this[_0x242556(0x1bb)]={'U':Util[_0x242556(0xa5)](_0x2a56fb,_0x38c5b8['U']['array']),'V':Util[_0x242556(0xa5)](_0x2a56fb,_0x38c5b8['V'][_0x242556(0x1a9)])};}},{'key':_0x1ac58f(0xbb),'value':function _0x5743be(_0x8b4cd3,_0x32fac5,_0xc125b0){var _0x1f09bb=_0x1ac58f,_0x408fbb={'context':_0x8b4cd3,'width':_0x32fac5['particlesTextureSize'],'height':_0x32fac5[_0x1f09bb(0x1e2)],'pixelFormat':Cesium$3[_0x1f09bb(0x177)][_0x1f09bb(0x176)],'pixelDatatype':Cesium$3[_0x1f09bb(0xfa)][_0x1f09bb(0x170)],'flipY':![],'sampler':new Cesium$3[(_0x1f09bb(0x112))]({'minificationFilter':Cesium$3[_0x1f09bb(0x151)]['NEAREST'],'magnificationFilter':Cesium$3['TextureMagnificationFilter']['NEAREST']})},_0x165ffe=this[_0x1f09bb(0x165)](_0x32fac5[_0x1f09bb(0x162)],_0xc125b0),_0xae9866=new Float32Array(0x4*_0x32fac5[_0x1f09bb(0x162)])['fill'](0x0);this[_0x1f09bb(0xff)]={'particlesWind':Util[_0x1f09bb(0xa5)](_0x408fbb),'currentParticlesPosition':Util[_0x1f09bb(0xa5)](_0x408fbb,_0x165ffe),'nextParticlesPosition':Util['createTexture'](_0x408fbb,_0x165ffe),'currentParticlesSpeed':Util['createTexture'](_0x408fbb,_0xae9866),'nextParticlesSpeed':Util[_0x1f09bb(0xa5)](_0x408fbb,_0xae9866),'postProcessingPosition':Util[_0x1f09bb(0xa5)](_0x408fbb,_0x165ffe),'postProcessingSpeed':Util[_0x1f09bb(0xa5)](_0x408fbb,_0xae9866)};}},{'key':_0x1ac58f(0x165),'value':function _0x3afe46(_0x262377,_0x118cd7){var _0x47a6d8=_0x1ac58f,_0x4914b3=new Float32Array(0x4*_0x262377);for(var _0x262d74=0x0;_0x262d74<_0x262377;_0x262d74++){_0x4914b3[0x4*_0x262d74]=Cesium$3[_0x47a6d8(0x141)][_0x47a6d8(0xa2)](_0x118cd7[_0x47a6d8(0x9f)]['x'],_0x118cd7[_0x47a6d8(0x9f)]['y']),_0x4914b3[0x4*_0x262d74+0x1]=Cesium$3[_0x47a6d8(0x141)][_0x47a6d8(0xa2)](_0x118cd7[_0x47a6d8(0x144)]['x'],_0x118cd7[_0x47a6d8(0x144)]['y']),_0x4914b3[0x4*_0x262d74+0x2]=Cesium$3[_0x47a6d8(0x141)][_0x47a6d8(0xa2)](this['data'][_0x47a6d8(0x99)]['min'],this[_0x47a6d8(0xa4)][_0x47a6d8(0x99)][_0x47a6d8(0xa7)]),_0x4914b3[0x4*_0x262d74+0x3]=0x0;}return _0x4914b3;}},{'key':_0x1ac58f(0xe6),'value':function _0x4a00af(){var _0x10da40=_0x1ac58f,_0x3d06aa=this;Object[_0x10da40(0x1c7)](this[_0x10da40(0xff)])[_0x10da40(0x1c2)](function(_0x2a4993){var _0xdb581b=_0x10da40;_0x3d06aa[_0xdb581b(0xff)][_0x2a4993][_0xdb581b(0x1a0)]();});}},{'key':_0x1ac58f(0x185),'value':function _0x472926(_0x502962,_0x3dde4f,_0x1deac1){var _0x34f2d5=_0x1ac58f,_0x562e28=new Cesium$3[(_0x34f2d5(0x7e))](_0x502962['dimensions'][_0x34f2d5(0x1d1)],_0x502962[_0x34f2d5(0x130)]['lat'],_0x502962[_0x34f2d5(0x130)][_0x34f2d5(0x99)]),_0x1162f9=new Cesium$3[(_0x34f2d5(0x7e))](_0x502962[_0x34f2d5(0x1d1)][_0x34f2d5(0x15b)],_0x502962[_0x34f2d5(0x109)][_0x34f2d5(0x15b)],_0x502962[_0x34f2d5(0x99)][_0x34f2d5(0x15b)]),_0x41d7b4=new Cesium$3[(_0x34f2d5(0x7e))](_0x502962[_0x34f2d5(0x1d1)]['max'],_0x502962[_0x34f2d5(0x109)][_0x34f2d5(0xa7)],_0x502962[_0x34f2d5(0x99)]['max']),_0x30a44c=new Cesium$3[(_0x34f2d5(0x7e))]((_0x41d7b4['x']-_0x1162f9['x'])/(_0x562e28['x']-0x1),(_0x41d7b4['y']-_0x1162f9['y'])/(_0x562e28['y']-0x1),_0x562e28['z']>0x1?(_0x41d7b4['z']-_0x1162f9['z'])/(_0x562e28['z']-0x1):0x1),_0x14e922=new Cesium$3[(_0x34f2d5(0x129))](_0x502962['U'][_0x34f2d5(0x15b)],_0x502962['U']['max']),_0x2248ff=new Cesium$3[(_0x34f2d5(0x129))](_0x502962['V']['min'],_0x502962['V']['max']),_0x323fb3=this;this[_0x34f2d5(0x1e8)]={'getWind':new CustomPrimitive({'commandType':_0x34f2d5(0x1ab),'uniformMap':{'U':function _0x24dd4e(){var _0x38cd40=_0x34f2d5;return _0x323fb3[_0x38cd40(0x1bb)]['U'];},'V':function _0x5c0b1d(){var _0x252506=_0x34f2d5;return _0x323fb3[_0x252506(0x1bb)]['V'];},'currentParticlesPosition':function _0x4c894f(){var _0x174bba=_0x34f2d5;return _0x323fb3['particlesTextures'][_0x174bba(0xd0)];},'dimension':function _0x1eda02(){return _0x562e28;},'minimum':function _0x334542(){return _0x1162f9;},'maximum':function _0x240b8f(){return _0x41d7b4;},'interval':function _0x2a96b4(){return _0x30a44c;}},'fragmentShaderSource':new Cesium$3[(_0x34f2d5(0x1e0))]({'sources':[getWind_frag]}),'outputTexture':this[_0x34f2d5(0xff)]['particlesWind'],'preExecute':function _0x52116e(){var _0x3ef332=_0x34f2d5;_0x323fb3['primitives']['getWind'][_0x3ef332(0xef)][_0x3ef332(0x1db)]=_0x323fb3[_0x3ef332(0xff)]['particlesWind'];}}),'updateSpeed':new CustomPrimitive({'commandType':_0x34f2d5(0x1ab),'uniformMap':{'currentParticlesSpeed':function _0x2f0f7f(){var _0x567b04=_0x34f2d5;return _0x323fb3[_0x567b04(0xff)][_0x567b04(0xbd)];},'particlesWind':function _0xe8bd2f(){var _0x18caba=_0x34f2d5;return _0x323fb3[_0x18caba(0xff)][_0x18caba(0xf3)];},'uSpeedRange':function _0x3195b8(){return _0x14e922;},'vSpeedRange':function _0x14538b(){return _0x2248ff;},'pixelSize':function _0x5e22ef(){var _0x5e4334=_0x34f2d5;return _0x1deac1[_0x5e4334(0x1bd)];},'speedFactor':function _0x167b22(){var _0x2a1b93=_0x34f2d5;return _0x3dde4f[_0x2a1b93(0x171)];}},'fragmentShaderSource':new Cesium$3[(_0x34f2d5(0x1e0))]({'sources':[updateSpeed_frag]}),'outputTexture':this[_0x34f2d5(0xff)]['nextParticlesSpeed'],'preExecute':function _0x381166(){var _0x865d4e=_0x34f2d5,_0x4398=_0x323fb3[_0x865d4e(0xff)][_0x865d4e(0xbd)];_0x323fb3[_0x865d4e(0xff)][_0x865d4e(0xbd)]=_0x323fb3[_0x865d4e(0xff)][_0x865d4e(0x124)],_0x323fb3[_0x865d4e(0xff)]['postProcessingSpeed']=_0x4398,_0x323fb3['primitives'][_0x865d4e(0x9b)][_0x865d4e(0xef)][_0x865d4e(0x1db)]=_0x323fb3[_0x865d4e(0xff)][_0x865d4e(0x14e)];}}),'updatePosition':new CustomPrimitive({'commandType':_0x34f2d5(0x1ab),'uniformMap':{'currentParticlesPosition':function _0xb412cd(){var _0x1d3653=_0x34f2d5;return _0x323fb3[_0x1d3653(0xff)][_0x1d3653(0xd0)];},'currentParticlesSpeed':function _0x17ea1b(){var _0x3608c6=_0x34f2d5;return _0x323fb3[_0x3608c6(0xff)][_0x3608c6(0xbd)];}},'fragmentShaderSource':new Cesium$3[(_0x34f2d5(0x1e0))]({'sources':[updatePosition_frag]}),'outputTexture':this[_0x34f2d5(0xff)][_0x34f2d5(0x18d)],'preExecute':function _0x2f430d(){var _0x5f079d=_0x34f2d5,_0x3c91cb=_0x323fb3['particlesTextures']['currentParticlesPosition'];_0x323fb3[_0x5f079d(0xff)][_0x5f079d(0xd0)]=_0x323fb3[_0x5f079d(0xff)]['postProcessingPosition'],_0x323fb3[_0x5f079d(0xff)][_0x5f079d(0x190)]=_0x3c91cb,_0x323fb3[_0x5f079d(0x1e8)][_0x5f079d(0x1b4)]['commandToExecute'][_0x5f079d(0x1db)]=_0x323fb3[_0x5f079d(0xff)][_0x5f079d(0x18d)];}}),'postProcessingPosition':new CustomPrimitive({'commandType':_0x34f2d5(0x1ab),'uniformMap':{'nextParticlesPosition':function _0x15c673(){var _0x5776c4=_0x34f2d5;return _0x323fb3['particlesTextures'][_0x5776c4(0x18d)];},'nextParticlesSpeed':function _0x2c9a7b(){var _0x6f9d25=_0x34f2d5;return _0x323fb3['particlesTextures'][_0x6f9d25(0x14e)];},'lonRange':function _0x2c283b(){var _0x14b96f=_0x34f2d5;return _0x1deac1[_0x14b96f(0x9f)];},'latRange':function _0x91cb0c(){return _0x1deac1['latRange'];},'randomCoefficient':function _0x95d53e(){var _0x225fc3=Math['random']();return _0x225fc3;},'dropRate':function _0x3d1a76(){return _0x3dde4f['dropRate'];},'dropRateBump':function _0x41f45d(){var _0x12c06f=_0x34f2d5;return _0x3dde4f[_0x12c06f(0x85)];}},'fragmentShaderSource':new Cesium$3[(_0x34f2d5(0x1e0))]({'sources':[postProcessingPosition_frag]}),'outputTexture':this[_0x34f2d5(0xff)][_0x34f2d5(0x190)],'preExecute':function _0x9d1bdc(){var _0x568d46=_0x34f2d5;_0x323fb3['primitives'][_0x568d46(0x190)][_0x568d46(0xef)][_0x568d46(0x1db)]=_0x323fb3[_0x568d46(0xff)][_0x568d46(0x190)];}}),'postProcessingSpeed':new CustomPrimitive({'commandType':'Compute','uniformMap':{'postProcessingPosition':function _0x1518cb(){var _0xe8ef7b=_0x34f2d5;return _0x323fb3['particlesTextures'][_0xe8ef7b(0x190)];},'nextParticlesSpeed':function _0xeb541d(){var _0x3f0134=_0x34f2d5;return _0x323fb3[_0x3f0134(0xff)][_0x3f0134(0x14e)];}},'fragmentShaderSource':new Cesium$3[(_0x34f2d5(0x1e0))]({'sources':[postProcessingSpeed_frag]}),'outputTexture':this['particlesTextures']['postProcessingSpeed'],'preExecute':function _0x49fa6b(){var _0x145b2b=_0x34f2d5;_0x323fb3['primitives'][_0x145b2b(0x124)][_0x145b2b(0xef)][_0x145b2b(0x1db)]=_0x323fb3['particlesTextures'][_0x145b2b(0x124)];}})};}}]),_0x79ba5c;}()),Cesium$2=mars3d__namespace['Cesium'],ParticleSystem=(function(){var _0x3d2be7=_0x1ba661;function _0x50db76(_0x36ca3e,_0x3074d9,_0x3a7986,_0x82d10a){var _0x4ada53=_0x4e2e;_classCallCheck(this,_0x50db76),this[_0x4ada53(0xb1)]=_0x36ca3e,_0x3074d9=_objectSpread2({},_0x3074d9);if(_0x3074d9['udata']&&_0x3074d9[_0x4ada53(0xb2)]){var _0x53485b,_0xa4777f,_0x16ff25,_0x20fc63,_0x544bdc,_0x4087f8;_0x3074d9[_0x4ada53(0x130)]={},_0x3074d9[_0x4ada53(0x130)][_0x4ada53(0x1d1)]=_0x3074d9[_0x4ada53(0x12a)],_0x3074d9[_0x4ada53(0x130)]['lat']=_0x3074d9['rows'],_0x3074d9['dimensions']['lev']=_0x3074d9[_0x4ada53(0x99)]||0x1,_0x3074d9['lon']={},_0x3074d9[_0x4ada53(0x1d1)][_0x4ada53(0x15b)]=_0x3074d9[_0x4ada53(0x12d)],_0x3074d9[_0x4ada53(0x1d1)][_0x4ada53(0xa7)]=_0x3074d9[_0x4ada53(0x1d0)],_0x3074d9[_0x4ada53(0x109)]={},_0x3074d9[_0x4ada53(0x109)]['min']=_0x3074d9['ymin'],_0x3074d9['lat'][_0x4ada53(0xa7)]=_0x3074d9[_0x4ada53(0x1dc)],_0x3074d9[_0x4ada53(0x99)]={},_0x3074d9[_0x4ada53(0x99)][_0x4ada53(0x15b)]=(_0x53485b=_0x3074d9[_0x4ada53(0x12b)])!==null&&_0x53485b!==void 0x0?_0x53485b:0x1,_0x3074d9['lev'][_0x4ada53(0xa7)]=(_0xa4777f=_0x3074d9['levmax'])!==null&&_0xa4777f!==void 0x0?_0xa4777f:0x1,_0x3074d9['U']={},_0x3074d9['U'][_0x4ada53(0x1a9)]=new Float32Array(_0x3074d9[_0x4ada53(0xcf)]),_0x3074d9['U'][_0x4ada53(0x15b)]=(_0x16ff25=_0x3074d9[_0x4ada53(0xeb)])!==null&&_0x16ff25!==void 0x0?_0x16ff25:Math[_0x4ada53(0x15b)]['apply'](Math,_toConsumableArray(_0x3074d9[_0x4ada53(0xcf)])),_0x3074d9['U']['max']=(_0x20fc63=_0x3074d9[_0x4ada53(0xd4)])!==null&&_0x20fc63!==void 0x0?_0x20fc63:Math[_0x4ada53(0xa7)][_0x4ada53(0x181)](Math,_toConsumableArray(_0x3074d9[_0x4ada53(0xcf)])),_0x3074d9['V']={},_0x3074d9['V'][_0x4ada53(0x1a9)]=new Float32Array(_0x3074d9[_0x4ada53(0xb2)]),_0x3074d9['V'][_0x4ada53(0x15b)]=(_0x544bdc=_0x3074d9[_0x4ada53(0x18e)])!==null&&_0x544bdc!==void 0x0?_0x544bdc:Math[_0x4ada53(0x15b)][_0x4ada53(0x181)](Math,_toConsumableArray(_0x3074d9[_0x4ada53(0xb2)])),_0x3074d9['V'][_0x4ada53(0xa7)]=(_0x4087f8=_0x3074d9[_0x4ada53(0x192)])!==null&&_0x4087f8!==void 0x0?_0x4087f8:Math['max'][_0x4ada53(0x181)](Math,_toConsumableArray(_0x3074d9[_0x4ada53(0xb2)]));}this['data']=_0x3074d9,this['options']=_0x3a7986,this[_0x4ada53(0x1b5)]=_0x82d10a,this[_0x4ada53(0xba)]=new ParticlesComputing(this['context'],this['data'],this[_0x4ada53(0x1af)],this[_0x4ada53(0x1b5)]),this[_0x4ada53(0xdf)]=new ParticlesRendering(this['context'],this[_0x4ada53(0xa4)],this[_0x4ada53(0x1af)],this[_0x4ada53(0x1b5)],this[_0x4ada53(0xba)]);}return _createClass(_0x50db76,[{'key':'canvasResize','value':function _0x2e9267(_0x22a18b){var _0x4e4a68=_0x4e2e,_0x5e1bfb=this;this[_0x4e4a68(0xba)]['destroyParticlesTextures'](),Object[_0x4e4a68(0x1c7)](this['particlesComputing'][_0x4e4a68(0x1bb)])[_0x4e4a68(0x1c2)](function(_0x5f134a){var _0x36fee1=_0x4e4a68;_0x5e1bfb['particlesComputing'][_0x36fee1(0x1bb)][_0x5f134a][_0x36fee1(0x1a0)]();}),this[_0x4e4a68(0xdf)][_0x4e4a68(0xe3)][_0x4e4a68(0xc4)]['destroy'](),Object[_0x4e4a68(0x1c7)](this['particlesRendering'][_0x4e4a68(0x10c)])[_0x4e4a68(0x1c2)](function(_0x5443f1){var _0x3995c0=_0x4e4a68;_0x5e1bfb[_0x3995c0(0xdf)]['framebuffers'][_0x5443f1][_0x3995c0(0x1a0)]();}),this[_0x4e4a68(0xb1)]=_0x22a18b,this[_0x4e4a68(0xba)]=new ParticlesComputing(this[_0x4e4a68(0xb1)],this[_0x4e4a68(0xa4)],this[_0x4e4a68(0x1af)],this[_0x4e4a68(0x1b5)]),this[_0x4e4a68(0xdf)]=new ParticlesRendering(this[_0x4e4a68(0xb1)],this[_0x4e4a68(0xa4)],this[_0x4e4a68(0x1af)],this['viewerParameters'],this['particlesComputing']);}},{'key':_0x3d2be7(0x164),'value':function _0x360dbb(){var _0x39e073=_0x3d2be7,_0x4afe14=this,_0x2d34fa=new Cesium$2[(_0x39e073(0x10d))]({'color':new Cesium$2[(_0x39e073(0x14d))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':undefined,'pass':Cesium$2[_0x39e073(0xee)][_0x39e073(0x188)]});Object[_0x39e073(0x1c7)](this['particlesRendering']['framebuffers'])[_0x39e073(0x1c2)](function(_0x3308a9){var _0x45ded1=_0x39e073;_0x2d34fa[_0x45ded1(0x103)]=_0x4afe14[_0x45ded1(0xdf)][_0x45ded1(0x10c)][_0x3308a9],_0x2d34fa['execute'](_0x4afe14[_0x45ded1(0xb1)]);});}},{'key':_0x3d2be7(0x17f),'value':function _0x130822(_0x40a93b){var _0x1f6f79=_0x3d2be7;this[_0x1f6f79(0x164)](),this[_0x1f6f79(0xba)][_0x1f6f79(0xe6)](),this[_0x1f6f79(0xba)]['createParticlesTextures'](this['context'],this[_0x1f6f79(0x1af)],this[_0x1f6f79(0x1b5)]);if(_0x40a93b){var _0x102ca7=this[_0x1f6f79(0xdf)]['createSegmentsGeometry'](this['options']);this[_0x1f6f79(0xdf)][_0x1f6f79(0x1e8)][_0x1f6f79(0x168)][_0x1f6f79(0x12e)]=_0x102ca7;var _0x28b2d7=Cesium$2['VertexArray'][_0x1f6f79(0xe7)]({'context':this[_0x1f6f79(0xb1)],'geometry':_0x102ca7,'attributeLocations':this[_0x1f6f79(0xdf)][_0x1f6f79(0x1e8)][_0x1f6f79(0x168)][_0x1f6f79(0x1a7)],'bufferUsage':Cesium$2[_0x1f6f79(0xf4)][_0x1f6f79(0xf0)]});this[_0x1f6f79(0xdf)][_0x1f6f79(0x1e8)]['segments'][_0x1f6f79(0xef)][_0x1f6f79(0x113)]=_0x28b2d7;}}},{'key':'setOptions','value':function _0x487cb4(_0x19aeb3){var _0x5b5a1c=_0x3d2be7,_0x39fa37=this,_0x5f3034=![];this[_0x5b5a1c(0x1af)]['maxParticles']!==_0x19aeb3[_0x5b5a1c(0x162)]&&(_0x5f3034=!![]),Object[_0x5b5a1c(0x1c7)](_0x19aeb3)[_0x5b5a1c(0x1c2)](function(_0x5bb343){var _0x196085=_0x5b5a1c;_0x39fa37[_0x196085(0x1af)][_0x5bb343]=_0x19aeb3[_0x5bb343];}),this[_0x5b5a1c(0x17f)](_0x5f3034);}},{'key':'applyViewerParameters','value':function _0x477104(_0x58499f){var _0x393193=_0x3d2be7,_0x5c0a4f=this;Object[_0x393193(0x1c7)](_0x58499f)['forEach'](function(_0x517eba){var _0x4ffd15=_0x393193;_0x5c0a4f[_0x4ffd15(0x1b5)][_0x517eba]=_0x58499f[_0x517eba];}),this[_0x393193(0x17f)](![]);}},{'key':_0x3d2be7(0x1a0),'value':function _0x3e81db(){var _0x3e0374=_0x3d2be7,_0x50a0ac=this;clearTimeout(this[_0x3e0374(0x10b)]),this[_0x3e0374(0xba)][_0x3e0374(0xe6)](),Object[_0x3e0374(0x1c7)](this['particlesComputing'][_0x3e0374(0x1bb)])['forEach'](function(_0x43ffd0){var _0x3c5fae=_0x3e0374;_0x50a0ac['particlesComputing']['windTextures'][_0x43ffd0][_0x3c5fae(0x1a0)]();}),this[_0x3e0374(0xdf)][_0x3e0374(0xe3)][_0x3e0374(0xc4)][_0x3e0374(0x1a0)](),Object[_0x3e0374(0x1c7)](this[_0x3e0374(0xdf)][_0x3e0374(0x10c)])[_0x3e0374(0x1c2)](function(_0x236315){var _0x7f4684=_0x3e0374;_0x50a0ac[_0x7f4684(0xdf)]['framebuffers'][_0x236315][_0x7f4684(0x1a0)]();});for(var _0x3f8a1f in this){delete this[_0x3f8a1f];}}}]),_0x50db76;}()),Cesium$1=mars3d__namespace[_0x1ba661(0xa1)],BaseLayer$1=mars3d__namespace['layer']['BaseLayer'],DEF_OPTIONS={'particlesNumber':0x1000,'fixedHeight':0x0,'fadeOpacity':0.996,'dropRate':0.003,'dropRateBump':0.01,'speedFactor':0.5,'lineWidth':0x2,'colors':[_0x1ba661(0x18b)]},WindLayer=function(_0x45276c){var _0x37b1f2=_0x1ba661;_inherits(_0x1739b4,_0x45276c);var _0x1bb4cd=_createSuper(_0x1739b4);function _0x1739b4(){var _0x487a80=_0x4e2e,_0x159ce3,_0x3a0903=arguments[_0x487a80(0x197)]>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};return _classCallCheck(this,_0x1739b4),_0x3a0903=_objectSpread2(_objectSpread2({},DEF_OPTIONS),_0x3a0903),_0x159ce3=_0x1bb4cd[_0x487a80(0x133)](this,_0x3a0903),_0x159ce3[_0x487a80(0x13c)](_0x3a0903),_0x159ce3;}return _createClass(_0x1739b4,[{'key':_0x37b1f2(0x194),'get':function _0x1ef4e0(){var _0x273994=_0x37b1f2;return this[_0x273994(0x1e8)];}},{'key':'data','get':function _0x3dba55(){var _0x4bb811=_0x37b1f2;return this[_0x4bb811(0x1f3)];},'set':function _0x128cbe(_0x5d59fb){var _0x1566f4=_0x37b1f2;this[_0x1566f4(0x1b7)](_0x5d59fb);}},{'key':_0x37b1f2(0x15c),'get':function _0x32a2d0(){var _0x5d0ad5=_0x37b1f2;return this[_0x5d0ad5(0x1af)][_0x5d0ad5(0x15c)];},'set':function _0x3afb5d(_0x2d0626){var _0x5e07b5=_0x37b1f2;this['options'][_0x5e07b5(0x15c)]=_0x2d0626,this[_0x5e07b5(0xb6)]&&this[_0x5e07b5(0xb6)]['setOptions']({'colors':_0x2d0626}),this['resize']();}},{'key':_0x37b1f2(0x167),'value':function _0x173dc9(){}},{'key':_0x37b1f2(0x156),'value':function _0x32076f(){var _0x33cdae=_0x37b1f2;this[_0x33cdae(0xf1)]=this[_0x33cdae(0x179)][_0x33cdae(0xf1)],this[_0x33cdae(0x8b)]=this[_0x33cdae(0x179)]['camera'],this[_0x33cdae(0x1e8)]=new Cesium$1['PrimitiveCollection'](),this['_map'][_0x33cdae(0xf1)][_0x33cdae(0x1e8)][_0x33cdae(0x1c9)](this[_0x33cdae(0x1e8)]),this[_0x33cdae(0x1b5)]={'lonRange':new Cesium$1[(_0x33cdae(0x129))](),'latRange':new Cesium$1[(_0x33cdae(0x129))](),'pixelSize':0x0},this[_0x33cdae(0x1df)]=new Cesium$1[(_0x33cdae(0xdb))](Cesium$1[_0x33cdae(0x7e)]['ZERO'],0.99*0x615299),this[_0x33cdae(0x146)](),window['addEventListener'](_0x33cdae(0xd5),this[_0x33cdae(0xd5)][_0x33cdae(0x1d3)](this),![]),this[_0x33cdae(0x104)]=![],this[_0x33cdae(0x1cd)]=![],this['_map']['on'](mars3d__namespace['EventType'][_0x33cdae(0x138)],this[_0x33cdae(0x105)],this),this[_0x33cdae(0x179)]['on'](mars3d__namespace[_0x33cdae(0x11a)][_0x33cdae(0x1b0)],this[_0x33cdae(0x1da)],this),this[_0x33cdae(0x179)]['on'](mars3d__namespace[_0x33cdae(0x11a)][_0x33cdae(0x180)],this['_onMouseUpEvent'],this),this[_0x33cdae(0x179)]['on'](mars3d__namespace[_0x33cdae(0x11a)][_0x33cdae(0xb3)],this['_onMouseMoveEvent'],this),this['_data']&&this['setData'](this['_data']);}},{'key':'_removedHook','value':function _0x1a7e1b(){var _0x50fefd=_0x37b1f2;window[_0x50fefd(0x9e)](_0x50fefd(0xd5),this[_0x50fefd(0xd5)]),this[_0x50fefd(0x179)][_0x50fefd(0xe0)](mars3d__namespace[_0x50fefd(0x11a)][_0x50fefd(0x134)],this['_onMap_preRenderEvent'],this),this[_0x50fefd(0x179)]['off'](mars3d__namespace['EventType']['wheel'],this[_0x50fefd(0x105)],this),this['_map'][_0x50fefd(0xe0)](mars3d__namespace[_0x50fefd(0x11a)][_0x50fefd(0x1b0)],this[_0x50fefd(0x1da)],this),this[_0x50fefd(0x179)][_0x50fefd(0xe0)](mars3d__namespace[_0x50fefd(0x11a)][_0x50fefd(0x180)],this[_0x50fefd(0x154)],this),this[_0x50fefd(0x179)][_0x50fefd(0xe0)](mars3d__namespace[_0x50fefd(0x11a)][_0x50fefd(0xb3)],this[_0x50fefd(0x120)],this),this[_0x50fefd(0x1e8)][_0x50fefd(0x137)](),this['_map']['scene'][_0x50fefd(0x1e8)][_0x50fefd(0xbf)](this['primitives']);}},{'key':_0x37b1f2(0xd5),'value':function _0x27e146(){var _0x491c52=_0x37b1f2;if(!this[_0x491c52(0xcc)]||!this[_0x491c52(0xb6)])return;this[_0x491c52(0x1e8)]['show']=![],this[_0x491c52(0x1e8)][_0x491c52(0x137)](),this[_0x491c52(0x179)][_0x491c52(0x10e)](mars3d__namespace[_0x491c52(0x11a)][_0x491c52(0x134)],this[_0x491c52(0xf2)],this);}},{'key':_0x37b1f2(0xf2),'value':function _0x5ad859(_0x942e1a){var _0x3c1617=_0x37b1f2;this[_0x3c1617(0xb6)][_0x3c1617(0x1de)](this['scene'][_0x3c1617(0xb1)]),this[_0x3c1617(0x155)](),this[_0x3c1617(0x1e8)][_0x3c1617(0xcc)]=!![];}},{'key':_0x37b1f2(0x105),'value':function _0x45bde2(_0xa484ba){var _0x1a0229=_0x37b1f2,_0x317832=this;clearTimeout(this[_0x1a0229(0x12f)]);if(!this[_0x1a0229(0xcc)]||!this[_0x1a0229(0xb6)])return;this[_0x1a0229(0x1e8)]['show']=![],this[_0x1a0229(0x12f)]=setTimeout(function(){var _0x1b34dc=_0x1a0229;if(!_0x317832[_0x1b34dc(0xcc)])return;_0x317832[_0x1b34dc(0x16d)]();},0xc8);}},{'key':'_onMouseDownEvent','value':function _0x2d9e80(_0x122902){var _0x5db05b=_0x37b1f2;this[_0x5db05b(0x104)]=!![];}},{'key':_0x37b1f2(0x120),'value':function _0x21bb2f(_0x1d0070){var _0x42546d=_0x37b1f2;if(!this['show']||!this['particleSystem'])return;this[_0x42546d(0x104)]&&(this[_0x42546d(0x1e8)][_0x42546d(0xcc)]=![],this[_0x42546d(0x1cd)]=!![]);}},{'key':_0x37b1f2(0x154),'value':function _0x52e3fd(_0x478f34){var _0x10f5e0=_0x37b1f2;if(!this['show']||!this['particleSystem'])return;this['mouse_down']&&this['mouse_move']&&this[_0x10f5e0(0x16d)](),this[_0x10f5e0(0x1e8)][_0x10f5e0(0xcc)]=!![],this[_0x10f5e0(0x104)]=![],this[_0x10f5e0(0x1cd)]=![];}},{'key':'redraw','value':function _0x55adfe(){var _0x3afdfb=_0x37b1f2;if(!this[_0x3afdfb(0x179)]||!this[_0x3afdfb(0xcc)])return;this['updateViewerParameters'](),this[_0x3afdfb(0xb6)][_0x3afdfb(0xd8)](this[_0x3afdfb(0x1b5)]),this[_0x3afdfb(0x1e8)][_0x3afdfb(0xcc)]=!![];}},{'key':_0x37b1f2(0x1b7),'value':function _0x2d8a0f(_0x1caa0f){var _0x39f7e9=_0x37b1f2;this[_0x39f7e9(0x1f3)]=_0x1caa0f,this['particleSystem']&&this[_0x39f7e9(0xb6)][_0x39f7e9(0x1a0)](),this[_0x39f7e9(0xb6)]=new ParticleSystem(this[_0x39f7e9(0xf1)][_0x39f7e9(0xb1)],_0x1caa0f,this[_0x39f7e9(0x1b9)](),this[_0x39f7e9(0x1b5)]),this[_0x39f7e9(0x155)]();}},{'key':_0x37b1f2(0x13c),'value':function _0x343a3e(_0x2d4303,_0x4d2cfd){var _0x141cb7=_0x37b1f2;if(_0x2d4303)for(var _0x2ea35c in _0x2d4303){this[_0x2ea35c]=_0x2d4303[_0x2ea35c];}this['particleSystem']&&this[_0x141cb7(0xb6)][_0x141cb7(0x101)](this[_0x141cb7(0x1b9)]());}},{'key':_0x37b1f2(0x1b9),'value':function _0x298531(){var _0x2b71d9=_0x37b1f2,_0x1fcc35=Math['ceil'](Math[_0x2b71d9(0x122)](this['particlesNumber']));return this['particlesNumber']=_0x1fcc35*_0x1fcc35,{'particlesTextureSize':_0x1fcc35,'maxParticles':this[_0x2b71d9(0x128)],'particleHeight':this[_0x2b71d9(0x1b2)],'fadeOpacity':this[_0x2b71d9(0x196)],'dropRate':this[_0x2b71d9(0x1b8)],'dropRateBump':this['dropRateBump'],'speedFactor':this[_0x2b71d9(0x171)],'lineWidth':this['lineWidth'],'colors':this[_0x2b71d9(0x15c)]};}},{'key':_0x37b1f2(0x155),'value':function _0x2b1cc6(){var _0x52a973=_0x37b1f2;this['primitives'][_0x52a973(0x1c9)](this['particleSystem'][_0x52a973(0xba)][_0x52a973(0x1e8)][_0x52a973(0x1d5)]),this[_0x52a973(0x1e8)][_0x52a973(0x1c9)](this[_0x52a973(0xb6)][_0x52a973(0xba)]['primitives'][_0x52a973(0x9b)]),this[_0x52a973(0x1e8)][_0x52a973(0x1c9)](this[_0x52a973(0xb6)][_0x52a973(0xba)][_0x52a973(0x1e8)][_0x52a973(0x1b4)]),this[_0x52a973(0x1e8)]['add'](this[_0x52a973(0xb6)][_0x52a973(0xba)]['primitives'][_0x52a973(0x190)]),this[_0x52a973(0x1e8)][_0x52a973(0x1c9)](this[_0x52a973(0xb6)]['particlesComputing'][_0x52a973(0x1e8)][_0x52a973(0x124)]),this[_0x52a973(0x1e8)][_0x52a973(0x1c9)](this[_0x52a973(0xb6)]['particlesRendering'][_0x52a973(0x1e8)]['segments']),this[_0x52a973(0x1e8)][_0x52a973(0x1c9)](this['particleSystem']['particlesRendering'][_0x52a973(0x1e8)]['trails']),this[_0x52a973(0x1e8)][_0x52a973(0x1c9)](this['particleSystem'][_0x52a973(0xdf)][_0x52a973(0x1e8)][_0x52a973(0x1d4)]);}},{'key':_0x37b1f2(0x146),'value':function _0x27ec0b(){var _0x478d6e=_0x37b1f2,_0x4e0a31=this[_0x478d6e(0x8b)]['computeViewRectangle'](this[_0x478d6e(0xf1)][_0x478d6e(0xd7)]['ellipsoid']);if(!_0x4e0a31){var _0x845c79=this[_0x478d6e(0x179)]['getExtent']();_0x4e0a31=Cesium$1[_0x478d6e(0xea)]['fromDegrees'](_0x845c79[_0x478d6e(0x12d)],_0x845c79['ymin'],_0x845c79[_0x478d6e(0x1d0)],_0x845c79[_0x478d6e(0x1dc)]);}var _0x2eb707=Util[_0x478d6e(0x174)](_0x4e0a31);this[_0x478d6e(0x1b5)][_0x478d6e(0x9f)]['x']=_0x2eb707[_0x478d6e(0x1d1)][_0x478d6e(0x15b)],this['viewerParameters'][_0x478d6e(0x9f)]['y']=_0x2eb707['lon']['max'],this['viewerParameters'][_0x478d6e(0x144)]['x']=_0x2eb707[_0x478d6e(0x109)][_0x478d6e(0x15b)],this[_0x478d6e(0x1b5)]['latRange']['y']=_0x2eb707['lat'][_0x478d6e(0xa7)];var _0x5382ef=this['camera']['getPixelSize'](this[_0x478d6e(0x1df)],this[_0x478d6e(0xf1)]['drawingBufferWidth'],this['scene'][_0x478d6e(0x1aa)]);_0x5382ef>0x0&&(this[_0x478d6e(0x1b5)]['pixelSize']=_0x5382ef);}}]),_0x1739b4;}(BaseLayer$1);mars3d__namespace[_0x1ba661(0xc3)]['register'](_0x1ba661(0x1e6),WindLayer),mars3d__namespace[_0x1ba661(0x194)]['WindLayer']=WindLayer;var CanvasParticle=(function(){function _0xdbff7(){var _0x396434=_0x4e2e;_classCallCheck(this,_0xdbff7),this[_0x396434(0x1d2)]=null,this[_0x396434(0x109)]=null,this[_0x396434(0xa0)]=null,this[_0x396434(0xa9)]=null,this['age']=null;}return _createClass(_0xdbff7,[{'key':'destroy','value':function _0x696f02(){for(var _0xfe7ba5 in this){delete this[_0xfe7ba5];}}}]),_0xdbff7;}()),CanvasWindField=(function(){var _0x306a3d=_0x1ba661;function _0x30e59f(_0x949929){var _0x2ace98=_0x4e2e;_classCallCheck(this,_0x30e59f),this[_0x2ace98(0x101)](_0x949929);}return _createClass(_0x30e59f,[{'key':_0x306a3d(0x17b),'get':function _0x4de3c6(){var _0x296925=_0x306a3d;return this[_0x296925(0x14f)];},'set':function _0x4ac203(_0x149413){var _0x4d83b0=_0x306a3d;this[_0x4d83b0(0x14f)]=(0x64-(_0x149413>0x63?0x63:_0x149413))*0x64,this[_0x4d83b0(0x1c3)]=[(this[_0x4d83b0(0x1d0)]-this[_0x4d83b0(0x12d)])/this[_0x4d83b0(0x14f)],(this[_0x4d83b0(0x1dc)]-this[_0x4d83b0(0x13d)])/this['_speedRate']];}},{'key':_0x306a3d(0x1d9),'get':function _0x6b2789(){var _0x32c626=_0x306a3d;return this[_0x32c626(0x18f)];},'set':function _0x448fbc(_0x9cd935){var _0x40aa27=_0x306a3d;this[_0x40aa27(0x18f)]=_0x9cd935;}},{'key':_0x306a3d(0x101),'value':function _0x2c5272(_0x4f7d0a){var _0x96a1e=_0x306a3d;this['options']=_0x4f7d0a,this[_0x96a1e(0x1d9)]=_0x4f7d0a[_0x96a1e(0x1d9)]||0x78,this[_0x96a1e(0x17b)]=_0x4f7d0a[_0x96a1e(0x17b)]||0x32,this[_0x96a1e(0x1d6)]=[];var _0x4a12b8=_0x4f7d0a[_0x96a1e(0x128)]||0x1000;for(var _0x383700=0x0;_0x383700<_0x4a12b8;_0x383700++){var _0x563683=this[_0x96a1e(0xd6)](new CanvasParticle());this[_0x96a1e(0x1d6)][_0x96a1e(0x1d7)](_0x563683);}}},{'key':_0x306a3d(0x16c),'value':function _0x5a6c68(_0x3719fc){var _0x541ba1=_0x306a3d;this[_0x541ba1(0x88)]=_0x3719fc[_0x541ba1(0x88)],this[_0x541ba1(0x12a)]=_0x3719fc[_0x541ba1(0x12a)],this[_0x541ba1(0x12d)]=_0x3719fc[_0x541ba1(0x12d)],this[_0x541ba1(0x1d0)]=_0x3719fc[_0x541ba1(0x1d0)],this[_0x541ba1(0x13d)]=_0x3719fc[_0x541ba1(0x13d)],this[_0x541ba1(0x1dc)]=_0x3719fc[_0x541ba1(0x1dc)],this['grid']=[];var _0x2acb76=_0x3719fc[_0x541ba1(0xcf)],_0x301608=_0x3719fc['vdata'],_0x50545b=![];_0x2acb76[_0x541ba1(0x197)]===this['rows']&&_0x2acb76[0x0][_0x541ba1(0x197)]===this[_0x541ba1(0x12a)]&&(_0x50545b=!![]);var _0x1fea49=0x0,_0x116916=null,_0x2d4a61=null;for(var _0x159f65=0x0;_0x159f65<this[_0x541ba1(0x88)];_0x159f65++){_0x116916=[];for(var _0x29040d=0x0;_0x29040d<this[_0x541ba1(0x12a)];_0x29040d++,_0x1fea49++){_0x50545b?_0x2d4a61=this[_0x541ba1(0x106)](_0x2acb76[_0x159f65][_0x29040d],_0x301608[_0x159f65][_0x29040d]):_0x2d4a61=this[_0x541ba1(0x106)](_0x2acb76[_0x1fea49],_0x301608[_0x1fea49]),_0x116916[_0x541ba1(0x1d7)](_0x2d4a61);}this['grid'][_0x541ba1(0x1d7)](_0x116916);}this[_0x541ba1(0x1af)][_0x541ba1(0x17a)]&&this[_0x541ba1(0x1c8)][_0x541ba1(0x91)]();}},{'key':_0x306a3d(0x149),'value':function _0xcf9845(){var _0x3fc5d4=_0x306a3d;delete this['rows'],delete this['cols'],delete this[_0x3fc5d4(0x12d)],delete this[_0x3fc5d4(0x1d0)],delete this[_0x3fc5d4(0x13d)],delete this[_0x3fc5d4(0x1dc)],delete this[_0x3fc5d4(0x1c8)],delete this[_0x3fc5d4(0x1d6)];}},{'key':_0x306a3d(0x160),'value':function _0x3e1e98(_0x34d682,_0x3c8313){var _0x50a510=_0x306a3d,_0x1cc901=(_0x34d682-this[_0x50a510(0x12d)])/(this[_0x50a510(0x1d0)]-this[_0x50a510(0x12d)])*(this[_0x50a510(0x12a)]-0x1),_0x265a3b=(this[_0x50a510(0x1dc)]-_0x3c8313)/(this[_0x50a510(0x1dc)]-this[_0x50a510(0x13d)])*(this['rows']-0x1);return[_0x1cc901,_0x265a3b];}},{'key':_0x306a3d(0xc0),'value':function _0x556815(_0x3f56d9,_0x4b63e2){var _0x185c45=_0x306a3d;if(_0x3f56d9<0x0||_0x3f56d9>=this['cols']||_0x4b63e2>=this[_0x185c45(0x88)])return[0x0,0x0,0x0];var _0x4af73c=Math[_0x185c45(0x1c0)](_0x3f56d9),_0x269b01=Math['floor'](_0x4b63e2);if(_0x4af73c===_0x3f56d9&&_0x269b01===_0x4b63e2)return this[_0x185c45(0x1c8)][_0x4b63e2][_0x3f56d9];var _0x41491e=_0x4af73c+0x1,_0x5b7668=_0x269b01+0x1,_0xd4497d=this[_0x185c45(0xc0)](_0x4af73c,_0x269b01),_0x312020=this['getUVByXY'](_0x41491e,_0x269b01),_0x5bab5a=this[_0x185c45(0xc0)](_0x4af73c,_0x5b7668),_0x26d178=this[_0x185c45(0xc0)](_0x41491e,_0x5b7668),_0x5b2f1b=null;try{_0x5b2f1b=this[_0x185c45(0xcd)](_0x3f56d9-_0x4af73c,_0x4b63e2-_0x269b01,_0xd4497d,_0x312020,_0x5bab5a,_0x26d178);}catch(_0x24aefd){console['log'](_0x3f56d9,_0x4b63e2);}return _0x5b2f1b;}},{'key':_0x306a3d(0xcd),'value':function _0x4e25fc(_0x3a0953,_0x287370,_0x1a32aa,_0x5296b1,_0xd52ce6,_0x1dee22){var _0x3bff2e=_0x306a3d,_0x126582=0x1-_0x3a0953,_0x51802a=0x1-_0x287370,_0x2e3691=_0x126582*_0x51802a,_0x4792dd=_0x3a0953*_0x51802a,_0x427fb7=_0x126582*_0x287370,_0x4413fd=_0x3a0953*_0x287370,_0x514f7d=_0x1a32aa[0x0]*_0x2e3691+_0x5296b1[0x0]*_0x4792dd+_0xd52ce6[0x0]*_0x427fb7+_0x1dee22[0x0]*_0x4413fd,_0xc511c7=_0x1a32aa[0x1]*_0x2e3691+_0x5296b1[0x1]*_0x4792dd+_0xd52ce6[0x1]*_0x427fb7+_0x1dee22[0x1]*_0x4413fd;return this[_0x3bff2e(0x106)](_0x514f7d,_0xc511c7);}},{'key':_0x306a3d(0x106),'value':function _0x531a8c(_0x10d78d,_0xfb2003){var _0x98cab5=_0x306a3d;return[+_0x10d78d,+_0xfb2003,Math[_0x98cab5(0x122)](_0x10d78d*_0x10d78d+_0xfb2003*_0xfb2003)];}},{'key':'getUVByPoint','value':function _0x4640f2(_0x1ed8d4,_0x48f743){var _0x447cf4=_0x306a3d;if(!this[_0x447cf4(0x15d)](_0x1ed8d4,_0x48f743))return null;var _0x324c49=this[_0x447cf4(0x160)](_0x1ed8d4,_0x48f743),_0x1004af=this[_0x447cf4(0xc0)](_0x324c49[0x0],_0x324c49[0x1]);return _0x1004af;}},{'key':'isInExtent','value':function _0x46cadd(_0x4c01d9,_0x475f11){var _0x3dd77c=_0x306a3d;return _0x4c01d9>=this[_0x3dd77c(0x12d)]&&_0x4c01d9<=this[_0x3dd77c(0x1d0)]&&_0x475f11>=this[_0x3dd77c(0x13d)]&&_0x475f11<=this[_0x3dd77c(0x1dc)]?!![]:![];}},{'key':_0x306a3d(0x1ae),'value':function _0x4e3ace(){var _0x2c0cc0=_0x306a3d,_0x3fea34=fRandomByfloat(this['xmin'],this[_0x2c0cc0(0x1d0)]),_0x3bbb94=fRandomByfloat(this[_0x2c0cc0(0x13d)],this[_0x2c0cc0(0x1dc)]);return{'lat':_0x3bbb94,'lng':_0x3fea34};}},{'key':_0x306a3d(0x193),'value':function _0x1e8906(){var _0xd9df0d=_0x306a3d,_0x487c56,_0x5bc694,_0xa2bf3a;for(var _0x59b216=0x0,_0x2f7c91=this[_0xd9df0d(0x1d6)][_0xd9df0d(0x197)];_0x59b216<_0x2f7c91;_0x59b216++){var _0x4b5d7e=this['particles'][_0x59b216];_0x4b5d7e[_0xd9df0d(0x143)]<=0x0&&(_0x4b5d7e=this[_0xd9df0d(0xd6)](_0x4b5d7e));if(_0x4b5d7e[_0xd9df0d(0x143)]>0x0){var _0xf2c57a=_0x4b5d7e[_0xd9df0d(0xa0)],_0x21c57f=_0x4b5d7e[_0xd9df0d(0xa9)];_0xa2bf3a=this['getUVByPoint'](_0xf2c57a,_0x21c57f),_0xa2bf3a?(_0x487c56=_0xf2c57a+this[_0xd9df0d(0x1c3)][0x0]*_0xa2bf3a[0x0],_0x5bc694=_0x21c57f+this[_0xd9df0d(0x1c3)][0x1]*_0xa2bf3a[0x1],_0x4b5d7e[_0xd9df0d(0x1d2)]=_0xf2c57a,_0x4b5d7e[_0xd9df0d(0x109)]=_0x21c57f,_0x4b5d7e[_0xd9df0d(0xa0)]=_0x487c56,_0x4b5d7e['tlat']=_0x5bc694,_0x4b5d7e['age']--):_0x4b5d7e[_0xd9df0d(0x143)]=0x0;}}return this[_0xd9df0d(0x1d6)];}},{'key':_0x306a3d(0xd6),'value':function _0x5a0938(_0x33f704){var _0x1d7298=_0x306a3d,_0x254351,_0x1da786;for(var _0xe7f57d=0x0;_0xe7f57d<0x1e;_0xe7f57d++){_0x254351=this['getRandomLatLng'](),_0x1da786=this[_0x1d7298(0xbe)](_0x254351[_0x1d7298(0x1d2)],_0x254351[_0x1d7298(0x109)]);if(_0x1da786&&_0x1da786[0x2]>0x0)break;}if(!_0x1da786)return _0x33f704;var _0xfbc1b=_0x254351[_0x1d7298(0x1d2)]+this['_calc_speedRate'][0x0]*_0x1da786[0x0],_0x2d2f94=_0x254351[_0x1d7298(0x109)]+this[_0x1d7298(0x1c3)][0x1]*_0x1da786[0x1];return _0x33f704[_0x1d7298(0x1d2)]=_0x254351[_0x1d7298(0x1d2)],_0x33f704[_0x1d7298(0x109)]=_0x254351[_0x1d7298(0x109)],_0x33f704[_0x1d7298(0xa0)]=_0xfbc1b,_0x33f704[_0x1d7298(0xa9)]=_0x2d2f94,_0x33f704[_0x1d7298(0x143)]=Math[_0x1d7298(0xf8)](Math['random']()*this[_0x1d7298(0x1d9)]),_0x33f704;}},{'key':_0x306a3d(0x1a0),'value':function _0x20b401(){for(var _0x17c722 in this){delete this[_0x17c722];}}}]),_0x30e59f;}());function fRandomByfloat(_0x214aed,_0x2197de){var _0x3ea66c=_0x1ba661;return _0x214aed+Math[_0x3ea66c(0x16a)]()*(_0x2197de-_0x214aed);}var Cesium=mars3d__namespace['Cesium'],BaseLayer=mars3d__namespace[_0x1ba661(0x194)][_0x1ba661(0x1e3)],CanvasWindLayer=function(_0x9dd4e7){var _0x3b1cb4=_0x1ba661;_inherits(_0x23206d,_0x9dd4e7);var _0x9b99b9=_createSuper(_0x23206d);function _0x23206d(){var _0x124017=_0x4e2e,_0x50e524,_0x1359bf=arguments[_0x124017(0x197)]>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};return _classCallCheck(this,_0x23206d),_0x50e524=_0x9b99b9[_0x124017(0x133)](this,_0x1359bf),_0x50e524[_0x124017(0x13c)](_0x1359bf),_0x50e524[_0x124017(0x1a6)]=null,_0x50e524;}return _createClass(_0x23206d,[{'key':_0x3b1cb4(0x13c),'value':function _0x5de16c(_0x5f25a1,_0x5b3816){var _0x1d51f2=_0x3b1cb4,_0x4a3c23,_0x33babf,_0x204055;this[_0x1d51f2(0x161)]=0x3e8/(_0x5f25a1[_0x1d51f2(0xd9)]||0xa),this['_pointerEvents']=(_0x4a3c23=this[_0x1d51f2(0x1af)][_0x1d51f2(0x1e7)])!==null&&_0x4a3c23!==void 0x0?_0x4a3c23:![],this[_0x1d51f2(0x158)]=_0x5f25a1[_0x1d51f2(0x158)]||_0x1d51f2(0x82),this[_0x1d51f2(0xf9)]=_0x5f25a1[_0x1d51f2(0xf9)]||0x1,this[_0x1d51f2(0x1b2)]=(_0x33babf=_0x5f25a1['fixedHeight'])!==null&&_0x33babf!==void 0x0?_0x33babf:0x0,this[_0x1d51f2(0x17a)]=(_0x204055=_0x5f25a1[_0x1d51f2(0x17a)])!==null&&_0x204055!==void 0x0?_0x204055:![],this[_0x1d51f2(0xc7)]&&this[_0x1d51f2(0xc7)][_0x1d51f2(0x101)](_0x5f25a1);}},{'key':'layer','get':function _0x13dab3(){var _0x17e846=_0x3b1cb4;return this[_0x17e846(0x1a6)];}},{'key':_0x3b1cb4(0xc8),'get':function _0x4523c8(){var _0x120857=_0x3b1cb4;return this[_0x120857(0x179)][_0x120857(0xf1)]['canvas'][_0x120857(0x121)];}},{'key':_0x3b1cb4(0xfd),'get':function _0x43bf6e(){var _0x1d4c45=_0x3b1cb4;return this[_0x1d4c45(0x179)]['scene']['canvas'][_0x1d4c45(0x19a)];}},{'key':_0x3b1cb4(0x1e7),'get':function _0x3cd64c(){return this['_pointerEvents'];},'set':function _0x24dfc1(_0x17f259){var _0x3c1447=_0x3b1cb4;this[_0x3c1447(0x152)]=_0x17f259;if(!this[_0x3c1447(0x1a6)])return;_0x17f259?this[_0x3c1447(0x1a6)][_0x3c1447(0x11c)][_0x3c1447(0x178)]=_0x3c1447(0x1e9):this[_0x3c1447(0x1a6)][_0x3c1447(0x11c)][_0x3c1447(0x178)]=_0x3c1447(0x1f4);}},{'key':_0x3b1cb4(0x128),'get':function _0x575419(){var _0x3e5eac=_0x3b1cb4;return this[_0x3e5eac(0x1af)][_0x3e5eac(0x128)];},'set':function _0x24f732(_0x2aa001){var _0x1f2ee8=_0x3b1cb4,_0x224440=this;this[_0x1f2ee8(0x1af)][_0x1f2ee8(0x128)]=_0x2aa001,clearTimeout(this['_canrefresh']),this[_0x1f2ee8(0x108)]=setTimeout(function(){var _0x539d2d=_0x1f2ee8;_0x224440[_0x539d2d(0x16d)]();},0x1f4);}},{'key':_0x3b1cb4(0x17b),'get':function _0x2d9f7c(){var _0x284a98=_0x3b1cb4;return this[_0x284a98(0x1af)][_0x284a98(0x17b)];},'set':function _0x2d07ee(_0x408320){var _0x1f8e25=_0x3b1cb4;this['options'][_0x1f8e25(0x17b)]=_0x408320,this['windField']&&(this[_0x1f8e25(0xc7)]['speedRate']=_0x408320);}},{'key':_0x3b1cb4(0x1d9),'get':function _0x3069b5(){var _0x41eadf=_0x3b1cb4;return this[_0x41eadf(0x1af)][_0x41eadf(0x1d9)];},'set':function _0x1c4753(_0x30b1bb){var _0x160cb6=_0x3b1cb4;this[_0x160cb6(0x1af)][_0x160cb6(0x1d9)]=_0x30b1bb,this[_0x160cb6(0xc7)]&&(this[_0x160cb6(0xc7)][_0x160cb6(0x1d9)]=_0x30b1bb);}},{'key':_0x3b1cb4(0xa4),'get':function _0x457342(){return this['windData'];},'set':function _0x2edeb0(_0xe7df09){var _0x33687f=_0x3b1cb4;this[_0x33687f(0x1b7)](_0xe7df09);}},{'key':_0x3b1cb4(0x1f0),'value':function _0x659a94(_0x28d91c){var _0x55ef6f=_0x3b1cb4;_0x28d91c?this[_0x55ef6f(0x156)]():(this[_0x55ef6f(0x1a1)]&&(this['options']['data']=this['windData']),this['_removedHook']());}},{'key':_0x3b1cb4(0x167),'value':function _0x1ee0aa(){var _0x3edad8=_0x3b1cb4;this[_0x3edad8(0x1af)][_0x3edad8(0x1ee)]?this[_0x3edad8(0x13f)]():this[_0x3edad8(0xc7)]=new CanvasWindField(this['options']);}},{'key':_0x3b1cb4(0x156),'value':function _0xa32745(){var _0x1b3f7a=_0x3b1cb4;this[_0x1b3f7a(0x1a6)]=this[_0x1b3f7a(0x1d8)](),this[_0x1b3f7a(0x1b1)]=this['canvas'][_0x1b3f7a(0xc1)]('2d',{'willReadFrequently':!![]}),this[_0x1b3f7a(0x14a)](),this[_0x1b3f7a(0x1af)][_0x1b3f7a(0xa4)]&&this[_0x1b3f7a(0x1b7)](this[_0x1b3f7a(0x1af)][_0x1b3f7a(0xa4)]);}},{'key':'_removedHook','value':function _0x2149c8(){var _0x2840be=_0x3b1cb4;this[_0x2840be(0x149)](),this[_0x2840be(0x163)](),this[_0x2840be(0x1a6)]&&(this['_map'][_0x2840be(0xec)][_0x2840be(0x187)](this[_0x2840be(0x1a6)]),delete this[_0x2840be(0x1a6)]);}},{'key':'_createCanvas','value':function _0x11bf0b(){var _0x14eb52=_0x3b1cb4,_0x4ab02a=document[_0x14eb52(0x1a4)](_0x14eb52(0x1a6));_0x4ab02a[_0x14eb52(0x11c)][_0x14eb52(0xe8)]='absolute',_0x4ab02a[_0x14eb52(0x11c)][_0x14eb52(0xca)]='0px',_0x4ab02a[_0x14eb52(0x11c)]['left']=_0x14eb52(0x1f6),_0x4ab02a[_0x14eb52(0x11c)][_0x14eb52(0x1f7)]=_0x14eb52(0x123),_0x4ab02a[_0x14eb52(0x11c)][_0x14eb52(0xc2)]=_0x14eb52(0x123),_0x4ab02a['style']['pointerEvents']=this['_pointerEvents']?'auto':_0x14eb52(0x1f4),_0x4ab02a[_0x14eb52(0x11c)][_0x14eb52(0x83)]=0xa,_0x4ab02a[_0x14eb52(0x199)]('id',_0x14eb52(0x183)),_0x4ab02a[_0x14eb52(0x199)]('class',_0x14eb52(0x183)),this[_0x14eb52(0x179)][_0x14eb52(0xec)]['appendChild'](_0x4ab02a);var _0x586047=this[_0x14eb52(0x179)][_0x14eb52(0xf1)];return _0x4ab02a['width']=_0x586047[_0x14eb52(0x1a6)][_0x14eb52(0x121)],_0x4ab02a[_0x14eb52(0xc2)]=_0x586047[_0x14eb52(0x1a6)][_0x14eb52(0x19a)],_0x4ab02a;}},{'key':_0x3b1cb4(0xd5),'value':function _0x350ed9(){var _0x461fc7=_0x3b1cb4;this[_0x461fc7(0x1a6)]&&(this[_0x461fc7(0x1a6)][_0x461fc7(0x1f7)]=this[_0x461fc7(0xc8)],this[_0x461fc7(0x1a6)]['height']=this[_0x461fc7(0xfd)]);}},{'key':_0x3b1cb4(0x14a),'value':function _0x4d60f0(){var _0x3223ac=_0x3b1cb4,_0x5386c6=this,_0x3857c3=Date[_0x3223ac(0x135)]();(function _0x3854ed(){var _0x5b1eef=_0x3223ac;_0x5386c6[_0x5b1eef(0xaf)]=window[_0x5b1eef(0x19c)](_0x3854ed);if(_0x5386c6[_0x5b1eef(0xcc)]&&_0x5386c6[_0x5b1eef(0xc7)]){var _0x59d075=Date[_0x5b1eef(0x135)](),_0x342adc=_0x59d075-_0x3857c3;_0x342adc>_0x5386c6[_0x5b1eef(0x161)]&&(_0x3857c3=_0x59d075-_0x342adc%_0x5386c6[_0x5b1eef(0x161)],_0x5386c6[_0x5b1eef(0x15e)]());}}(),window[_0x3223ac(0x16e)]('resize',this[_0x3223ac(0xd5)]['bind'](this),![]),this[_0x3223ac(0x104)]=![],this[_0x3223ac(0x1cd)]=![],this[_0x3223ac(0x1af)]['mouseHidden']&&(this[_0x3223ac(0x179)]['on'](mars3d__namespace['EventType'][_0x3223ac(0x138)],this[_0x3223ac(0x105)],this),this[_0x3223ac(0x179)]['on'](mars3d__namespace[_0x3223ac(0x11a)][_0x3223ac(0x1b0)],this['_onMouseDownEvent'],this),this[_0x3223ac(0x179)]['on'](mars3d__namespace[_0x3223ac(0x11a)][_0x3223ac(0x180)],this[_0x3223ac(0x154)],this)));}},{'key':_0x3b1cb4(0x163),'value':function _0x15fc50(){var _0xef85e6=_0x3b1cb4;window['cancelAnimationFrame'](this[_0xef85e6(0xaf)]),delete this['animateFrame'],window[_0xef85e6(0x9e)]('resize',this[_0xef85e6(0xd5)]),this[_0xef85e6(0x1af)][_0xef85e6(0xfe)]&&(this[_0xef85e6(0x179)]['off'](mars3d__namespace['EventType'][_0xef85e6(0x138)],this[_0xef85e6(0x105)],this),this['_map'][_0xef85e6(0xe0)](mars3d__namespace[_0xef85e6(0x11a)][_0xef85e6(0x1b0)],this[_0xef85e6(0x1da)],this),this[_0xef85e6(0x179)][_0xef85e6(0xe0)](mars3d__namespace['EventType'][_0xef85e6(0x180)],this['_onMouseUpEvent'],this),this[_0xef85e6(0x179)][_0xef85e6(0xe0)](mars3d__namespace[_0xef85e6(0x11a)]['mouseMove'],this['_onMouseMoveEvent'],this));}},{'key':_0x3b1cb4(0x105),'value':function _0xaa9a14(_0x2f4cb1){var _0x56b611=_0x3b1cb4,_0xaf8794=this;clearTimeout(this[_0x56b611(0x12f)]);if(!this[_0x56b611(0xcc)]||!this[_0x56b611(0x1a6)])return;this[_0x56b611(0x1a6)][_0x56b611(0x11c)]['visibility']=_0x56b611(0xb7),this[_0x56b611(0x12f)]=setTimeout(function(){var _0x3055d0=_0x56b611;if(!_0xaf8794[_0x3055d0(0xcc)])return;_0xaf8794[_0x3055d0(0x16d)](),_0xaf8794[_0x3055d0(0x1a6)][_0x3055d0(0x11c)]['visibility']=_0x3055d0(0x1ed);},0xc8);}},{'key':'_onMouseDownEvent','value':function _0x9d15ab(_0xb96023){var _0x49b4e9=_0x3b1cb4;this[_0x49b4e9(0x104)]=!![],this[_0x49b4e9(0x179)][_0x49b4e9(0xe0)](mars3d__namespace[_0x49b4e9(0x11a)][_0x49b4e9(0xb3)],this['_onMouseMoveEvent'],this),this[_0x49b4e9(0x179)]['on'](mars3d__namespace[_0x49b4e9(0x11a)][_0x49b4e9(0xb3)],this['_onMouseMoveEvent'],this);}},{'key':_0x3b1cb4(0x120),'value':function _0x113f07(_0xae33d6){var _0x268ab0=_0x3b1cb4;if(!this['show']||!this[_0x268ab0(0x1a6)])return;this['mouse_down']&&(this[_0x268ab0(0x1a6)]['style']['visibility']=_0x268ab0(0xb7),this[_0x268ab0(0x1cd)]=!![]);}},{'key':_0x3b1cb4(0x154),'value':function _0xc703b2(_0x20f13c){var _0x1e31ea=_0x3b1cb4;if(!this[_0x1e31ea(0xcc)]||!this[_0x1e31ea(0x1a6)])return;this[_0x1e31ea(0x179)][_0x1e31ea(0xe0)](mars3d__namespace[_0x1e31ea(0x11a)][_0x1e31ea(0xb3)],this[_0x1e31ea(0x120)],this),this[_0x1e31ea(0x104)]&&this[_0x1e31ea(0x1cd)]&&this[_0x1e31ea(0x16d)](),this['canvas'][_0x1e31ea(0x11c)][_0x1e31ea(0x92)]='visible',this[_0x1e31ea(0x104)]=![],this[_0x1e31ea(0x1cd)]=![];}},{'key':_0x3b1cb4(0x1b7),'value':function _0x37bd8f(_0x3e016d){var _0x3d2e28=_0x3b1cb4;this['clear'](),this[_0x3d2e28(0x1a1)]=_0x3e016d,this[_0x3d2e28(0xc7)][_0x3d2e28(0x16c)](_0x3e016d),this['redraw']();}},{'key':_0x3b1cb4(0x16d),'value':function _0x42be50(){var _0x20c6d6=_0x3b1cb4;if(!this['show'])return;this[_0x20c6d6(0xc7)][_0x20c6d6(0x101)](this['options']),this[_0x20c6d6(0x15e)]();}},{'key':_0x3b1cb4(0x15e),'value':function _0x5c8134(){var _0x14b13a=_0x3b1cb4;if(this['_updateIng'])return;this[_0x14b13a(0x111)]=!![];if(this[_0x14b13a(0x1ee)])this[_0x14b13a(0xc7)][_0x14b13a(0x15e)]();else{var _0x3184c8=this['windField'][_0x14b13a(0x193)]();this[_0x14b13a(0x131)](_0x3184c8);}this[_0x14b13a(0x111)]=![];}},{'key':_0x3b1cb4(0x131),'value':function _0x302251(_0x44a3f0){var _0x2aebdb=_0x3b1cb4;this['canvasContext'][_0x2aebdb(0x173)]=_0x2aebdb(0xe1),this[_0x2aebdb(0x1b1)]['fillRect'](0x0,0x0,this['canvasWidth'],this[_0x2aebdb(0xfd)]),this['canvasContext']['globalCompositeOperation']=_0x2aebdb(0x86),this[_0x2aebdb(0x1b1)][_0x2aebdb(0x1bc)]=0.9,this[_0x2aebdb(0x1b1)]['beginPath'](),this[_0x2aebdb(0x1b1)]['lineWidth']=this[_0x2aebdb(0xf9)],this[_0x2aebdb(0x1b1)][_0x2aebdb(0x127)]=this[_0x2aebdb(0x158)];var _0x384eb2=this['_map'][_0x2aebdb(0xf1)][_0x2aebdb(0x114)]!==Cesium[_0x2aebdb(0x13e)][_0x2aebdb(0x14b)];for(var _0x465482=0x0,_0x578026=_0x44a3f0[_0x2aebdb(0x197)];_0x465482<_0x578026;_0x465482++){var _0x24b6e2=_0x44a3f0[_0x465482],_0x514aec=this['_tomap'](_0x24b6e2[_0x2aebdb(0x1d2)],_0x24b6e2[_0x2aebdb(0x109)],_0x24b6e2),_0x21f4a5=this[_0x2aebdb(0x9a)](_0x24b6e2['tlng'],_0x24b6e2['tlat'],_0x24b6e2);if(!_0x514aec||!_0x21f4a5)continue;if(_0x384eb2&&Math[_0x2aebdb(0x10f)](_0x514aec[0x0]-_0x21f4a5[0x0])>=this['canvasWidth'])continue;this[_0x2aebdb(0x1b1)][_0x2aebdb(0x166)](_0x514aec[0x0],_0x514aec[0x1]),this[_0x2aebdb(0x1b1)][_0x2aebdb(0xce)](_0x21f4a5[0x0],_0x21f4a5[0x1]);}this['canvasContext']['stroke']();}},{'key':_0x3b1cb4(0x9a),'value':function _0x349e0c(_0x28d4f0,_0x1aa372,_0x4681d5){var _0x30ea58=_0x3b1cb4,_0xf7ee24=Cesium['Cartesian3'][_0x30ea58(0x1c1)](_0x28d4f0,_0x1aa372,this['fixedHeight']),_0x4cafd3=this[_0x30ea58(0x179)]['scene'];if(_0x4cafd3[_0x30ea58(0x114)]===Cesium['SceneMode']['SCENE3D']){var _0x122db2=new Cesium[(_0x30ea58(0x126))](_0x4cafd3[_0x30ea58(0xd7)]['ellipsoid'],_0x4cafd3[_0x30ea58(0x8b)][_0x30ea58(0xe2)]),_0x574d42=_0x122db2[_0x30ea58(0xcb)](_0xf7ee24);if(!_0x574d42)return _0x4681d5[_0x30ea58(0x143)]=0x0,null;}var _0x52f26a=Cesium['SceneTransforms'][_0x30ea58(0xc5)](this[_0x30ea58(0x179)][_0x30ea58(0xf1)],_0xf7ee24);return _0x52f26a?[_0x52f26a['x'],_0x52f26a['y']]:null;}},{'key':'clear','value':function _0x2795d(){var _0x3b767d=_0x3b1cb4;this['windField'][_0x3b767d(0x149)](),delete this[_0x3b767d(0x1a1)];}},{'key':_0x3b1cb4(0x13f),'value':function _0x2a5cc4(){var _0x1f10bf=_0x3b1cb4,_0x3d7efc=this;this[_0x1f10bf(0x1ee)]=new Worker(this[_0x1f10bf(0x1af)][_0x1f10bf(0x1ee)]),this[_0x1f10bf(0x1ee)][_0x1f10bf(0xf5)]=function(_0x20fe9e){var _0x5b92aa=_0x1f10bf;_0x3d7efc[_0x5b92aa(0x131)](_0x20fe9e[_0x5b92aa(0xa4)][_0x5b92aa(0x1d6)]),_0x3d7efc['_updateIng2']=![];},this['windField']={'init':function _0x5ccc18(_0x2a4d04){var _0x16ce59=_0x1f10bf;_0x3d7efc[_0x16ce59(0x1ee)][_0x16ce59(0x142)]({'type':_0x16ce59(0x1ad),'options':_0x2a4d04});},'setOptions':function _0x1d7929(_0x428225){var _0x8e817e=_0x1f10bf;_0x3d7efc[_0x8e817e(0x1ee)][_0x8e817e(0x142)]({'type':_0x8e817e(0x101),'options':_0x428225});},'setDate':function _0x283d08(_0xf8e2ec){var _0x216e9a=_0x1f10bf;_0x3d7efc[_0x216e9a(0x1ee)]['postMessage']({'type':'setDate','data':_0xf8e2ec});},'update':function _0xc462a9(){var _0x40d1c1=_0x1f10bf;if(_0x3d7efc[_0x40d1c1(0x189)])return;_0x3d7efc[_0x40d1c1(0x189)]=!![],_0x3d7efc[_0x40d1c1(0x1ee)][_0x40d1c1(0x142)]({'type':_0x40d1c1(0x15e)});},'clear':function _0x44b9e5(){var _0x94a6e9=_0x1f10bf;_0x3d7efc['worker']['postMessage']({'type':_0x94a6e9(0x149)});}},this[_0x1f10bf(0xc7)][_0x1f10bf(0x1ad)](this[_0x1f10bf(0x1af)]);}}]),_0x23206d;}(BaseLayer);mars3d__namespace[_0x1ba661(0xc3)][_0x1ba661(0x118)]('canvasWind',CanvasWindLayer),mars3d__namespace[_0x1ba661(0x194)]['CanvasWindLayer']=CanvasWindLayer,mars3d__namespace['CanvasWindField']=CanvasWindField,mars3d__namespace[_0x1ba661(0x8f)]=WindUtil,exports[_0x1ba661(0x17e)]=CanvasWindField,exports[_0x1ba661(0x90)]=CanvasWindLayer,exports['WindLayer']=WindLayer,exports['WindUtil']=WindUtil,Object['defineProperty'](exports,_0x1ba661(0x140),{'value':!![]});
|
|
14
|
+
'use strict';var _0x286424=_0xc0df;(function(_0x48143d,_0x3f116a){var _0x1a4a8d=_0xc0df,_0x2e10e9=_0x48143d();while(!![]){try{var _0x21fe8f=parseInt(_0x1a4a8d(0x244))/0x1*(parseInt(_0x1a4a8d(0x330))/0x2)+parseInt(_0x1a4a8d(0x338))/0x3+-parseInt(_0x1a4a8d(0x28a))/0x4*(parseInt(_0x1a4a8d(0x220))/0x5)+-parseInt(_0x1a4a8d(0x262))/0x6*(-parseInt(_0x1a4a8d(0x2e0))/0x7)+-parseInt(_0x1a4a8d(0x1fc))/0x8*(parseInt(_0x1a4a8d(0x275))/0x9)+-parseInt(_0x1a4a8d(0x26c))/0xa+parseInt(_0x1a4a8d(0x1e2))/0xb;if(_0x21fe8f===_0x3f116a)break;else _0x2e10e9['push'](_0x2e10e9['shift']());}catch(_0x4b58e1){_0x2e10e9['push'](_0x2e10e9['shift']());}}}(_0x3449,0x61e5d));function _interopNamespace(_0x31b0f3){var _0x30bc94=_0xc0df;if(_0x31b0f3&&_0x31b0f3[_0x30bc94(0x1d1)])return _0x31b0f3;var _0x110ee4=Object['create'](null);return _0x31b0f3&&Object[_0x30bc94(0x22d)](_0x31b0f3)[_0x30bc94(0x331)](function(_0x11d63b){var _0x23e4ed=_0x30bc94;if(_0x11d63b!==_0x23e4ed(0x31b)){var _0xf81974=Object[_0x23e4ed(0x2db)](_0x31b0f3,_0x11d63b);Object[_0x23e4ed(0x230)](_0x110ee4,_0x11d63b,_0xf81974[_0x23e4ed(0x250)]?_0xf81974:{'enumerable':!![],'get':function(){return _0x31b0f3[_0x11d63b];}});}}),_0x110ee4[_0x30bc94(0x31b)]=_0x31b0f3,_0x110ee4;}var mars3d__namespace=_interopNamespace(mars3d),Cesium$7=mars3d__namespace[_0x286424(0x2fc)];function getU(_0x5aa95a,_0x487520){var _0x226612=_0x286424,_0x310f5b=_0x5aa95a*Math[_0x226612(0x2bf)](Cesium$7['Math'][_0x226612(0x23c)](_0x487520));return _0x310f5b;}function getV(_0x4bf3b3,_0x3873aa){var _0x3946e2=_0x286424,_0x4ad07e=_0x4bf3b3*Math[_0x3946e2(0x289)](Cesium$7[_0x3946e2(0x293)][_0x3946e2(0x23c)](_0x3873aa));return _0x4ad07e;}function getSpeed(_0x415ba0,_0x2b1f95){var _0x58ef98=_0x286424,_0x257665=Math['sqrt'](Math[_0x58ef98(0x1f7)](_0x415ba0,0x2)+Math[_0x58ef98(0x1f7)](_0x2b1f95,0x2));return _0x257665;}function getDirection(_0x1b7e2d,_0x301cb1){var _0x54231e=_0x286424,_0xdd5c33=Cesium$7[_0x54231e(0x293)]['toDegrees'](Math[_0x54231e(0x2f2)](_0x301cb1,_0x1b7e2d));return _0xdd5c33+=_0xdd5c33<0x0?0x168:0x0,_0xdd5c33;}var WindUtil={'__proto__':null,'getU':getU,'getV':getV,'getSpeed':getSpeed,'getDirection':getDirection};function ownKeys(_0x9a1f4c,_0x448e6a){var _0x438689=_0x286424,_0x2455bb=Object[_0x438689(0x22d)](_0x9a1f4c);if(Object[_0x438689(0x24b)]){var _0x14fdcf=Object[_0x438689(0x24b)](_0x9a1f4c);_0x448e6a&&(_0x14fdcf=_0x14fdcf['filter'](function(_0x3baa75){return Object['getOwnPropertyDescriptor'](_0x9a1f4c,_0x3baa75)['enumerable'];})),_0x2455bb['push'][_0x438689(0x1eb)](_0x2455bb,_0x14fdcf);}return _0x2455bb;}function _objectSpread2(_0x19c5dc){var _0x521731=_0x286424;for(var _0x10068f=0x1;_0x10068f<arguments[_0x521731(0x319)];_0x10068f++){var _0x599ce7=null!=arguments[_0x10068f]?arguments[_0x10068f]:{};_0x10068f%0x2?ownKeys(Object(_0x599ce7),!0x0)[_0x521731(0x331)](function(_0x218e73){_defineProperty(_0x19c5dc,_0x218e73,_0x599ce7[_0x218e73]);}):Object[_0x521731(0x218)]?Object['defineProperties'](_0x19c5dc,Object[_0x521731(0x218)](_0x599ce7)):ownKeys(Object(_0x599ce7))[_0x521731(0x331)](function(_0x10e6f8){var _0x7139eb=_0x521731;Object['defineProperty'](_0x19c5dc,_0x10e6f8,Object[_0x7139eb(0x2db)](_0x599ce7,_0x10e6f8));});}return _0x19c5dc;}function _classCallCheck(_0xcb77ef,_0x38fa27){var _0x2f9e43=_0x286424;if(!(_0xcb77ef instanceof _0x38fa27))throw new TypeError(_0x2f9e43(0x335));}function _defineProperties(_0x80eae6,_0x3b6e33){var _0x3f87c6=_0x286424;for(var _0x5d3a01=0x0;_0x5d3a01<_0x3b6e33[_0x3f87c6(0x319)];_0x5d3a01++){var _0x3c67b4=_0x3b6e33[_0x5d3a01];_0x3c67b4['enumerable']=_0x3c67b4[_0x3f87c6(0x1f2)]||![],_0x3c67b4['configurable']=!![];if('value'in _0x3c67b4)_0x3c67b4['writable']=!![];Object[_0x3f87c6(0x230)](_0x80eae6,_0x3c67b4['key'],_0x3c67b4);}}function _createClass(_0x318dc9,_0x149e93,_0x708800){var _0x1fa8cc=_0x286424;if(_0x149e93)_defineProperties(_0x318dc9[_0x1fa8cc(0x1d0)],_0x149e93);if(_0x708800)_defineProperties(_0x318dc9,_0x708800);return Object[_0x1fa8cc(0x230)](_0x318dc9,'prototype',{'writable':![]}),_0x318dc9;}function _defineProperty(_0x26a23c,_0x4fc30d,_0x2c6045){return _0x4fc30d in _0x26a23c?Object['defineProperty'](_0x26a23c,_0x4fc30d,{'value':_0x2c6045,'enumerable':!![],'configurable':!![],'writable':!![]}):_0x26a23c[_0x4fc30d]=_0x2c6045,_0x26a23c;}function _inherits(_0xffacdd,_0x5e4d4e){var _0x5a6e8f=_0x286424;if(typeof _0x5e4d4e!==_0x5a6e8f(0x2d7)&&_0x5e4d4e!==null)throw new TypeError(_0x5a6e8f(0x30c));_0xffacdd['prototype']=Object[_0x5a6e8f(0x24d)](_0x5e4d4e&&_0x5e4d4e[_0x5a6e8f(0x1d0)],{'constructor':{'value':_0xffacdd,'writable':!![],'configurable':!![]}}),Object[_0x5a6e8f(0x230)](_0xffacdd,_0x5a6e8f(0x1d0),{'writable':![]});if(_0x5e4d4e)_setPrototypeOf(_0xffacdd,_0x5e4d4e);}function _0x3449(){var _0x2b863e=['Map','shaderProgram','lng','geometry','destination-in','initWorker','preRender','visibility','colors','resize','OPAQUE','RenderState','keys','age','Compute','defineProperty','requestAnimationFrame','from','fromDegrees','_showHook','ShaderSource','Rectangle','visible','grid','framebuffers','setAttribute','createCommand','toRadians','__proto__','outputTexture','rawRenderState','uniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20sampler2D\x20currentParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0a\x0avarying\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\x20gl_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=\x20texture2D(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20speed\x20=\x20texture2D(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20updatePosition(lonLatLev,\x20speed);\x0a}','segmentsColor','canvasHeight','vmax','2iCCmZt','clientWidth','umin','primitiveType','_bilinearInterpolation','FLOAT','createRenderingFramebuffers','getOwnPropertySymbols','pixelSize','create','lineWidth','Color','get','mod','speedFactor','clientHeight','mouseHidden','ALWAYS','_canrefresh','_onMouseUpEvent','_updateIng','positionWC','update','show','pointerEvents','_randomParticle','destroyParticlesTextures','removeEventListener','BaseLayer','toDegrees','594UTafjx','DISABLE_GL_POSITION_LOG_DEPTH','canrefresh','latRange','nextTrails','randomizeParticles','PI_OVER_THREE','segments','updatePosition','colorTable','7152380aQQIjt','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\x0avarying\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=\x20texture2D(nextParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20texture2D(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\x20gl_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\x20gl_FragColor\x20=\x20vec4(nextParticle,\x200.0);\x0a\x20\x20\x20\x20}\x0a}','uniform\x20sampler2D\x20segmentsColorTexture;\x0d\x0auniform\x20sampler2D\x20segmentsDepthTexture;\x0d\x0a\x0d\x0auniform\x20sampler2D\x20currentTrailsColor;\x0d\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0d\x0a\x0d\x0auniform\x20float\x20fadeOpacity;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20vec4\x20pointsColor\x20=\x20texture2D(segmentsColorTexture,\x20textureCoordinate);\x0d\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture2D(currentTrailsColor,\x20textureCoordinate);\x0d\x0a\x0d\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\x0d\x0a\x0d\x0a\x20\x20\x20\x20float\x20pointsDepth\x20=\x20texture2D(segmentsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture2D(trailsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture2D(czm_globeDepthTexture,\x20textureCoordinate));\x0d\x0a\x0d\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0d\x0a\x20\x20\x20\x20if\x20(pointsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20gl_FragColor\x20+\x20pointsColor;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20gl_FragColor\x20+\x20trailsColor;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20gl_FragDepthEXT\x20=\x20min(pointsDepth,\x20trailsDepth);\x0d\x0a}','addEventListener','TextureMinificationFilter','autoClear','Geometry','uniform\x20sampler2D\x20colorTable;\x0a\x0avarying\x20float\x20speedNormalization;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20texture2D(colorTable,\x20vec2(speedNormalization,\x200.0));\x0a}','_removedHook','45tdGcvG','frameRate','segmentsDepth','VertexArray','CanvasWindLayer','unbindEvent','_calc_speedRate','strokeStyle','tlat','canvasWidth','_drawLines','push','depthTest','GeometryAttribute','particlesTextures','dropRateBump','mouseMove','auto','style','setGeometry','sin','12MMSdSp','windTextures','scene','wind','ymax','ComponentDatatype','setDate','currentParticlesSpeed','getFullscreenQuad','Math','fromCssColorString','container','removeAll','abs','ClearCommand','LayerUtil','addPrimitives','lonRange','GeometryAttributes','PrimitiveType','createSegmentsGeometry','globalAlpha','clearFramebuffers','mouseUp','levmin','mouseDown','valueOf','THREE_PI_OVER_TWO','this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called','getUVByPoint','createParticlesTextures','none','constructor','getColorTexture','nextParticlesPosition','viewerParameters','Pass','CanvasWindField','canvasWindy','cols','wheel','destroyObject','attribute\x20vec3\x20position;\x0d\x0aattribute\x20vec2\x20st;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20textureCoordinate\x20=\x20st;\x0d\x0a\x20\x20\x20\x20gl_Position\x20=\x20vec4(position,\x201.0);\x0d\x0a}','udata','hidden','RGBA','Cartesian3','dropRate','TextureMagnificationFilter','setOptions','mouse_down','depthMask','EventType','cos','refreshParticles','Arguments','getUVByXY','canvas','Cartesian2','SceneMode','ShaderProgram','clear','call','sqrt','init','windData','east','object','Appearance','isDestroyed','layer','postProcessingSpeed','STATIC_DRAW','color','levmax','uniformMap','particleSystem','function','lighter','left','drawingBufferHeight','getOwnPropertyDescriptor','globeBoundingSphere','height','rows','canvasResize','19803bEfxoh','getRandomLatLng','ZERO','refreshTimer','lon','createTexture','sham','setData','windField','currentTrailsColor','rgb(206,255,255)','isArray','currentTrails','Invalid\x20attempt\x20to\x20spread\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.','ymin','destroy','IDENTITY','preExecute','atan2','redraw','undefined','_speedRate','beginPath','0px','SCENE3D','south','postMessage','computeViewRectangle','Cesium','Object','maxParticles','BufferUsage','currentTrailsDepth','viewRectangleToLonLatRange','attributeLocations','particlesNumber','onmessage','createRenderingTextures','name','_addedHook','maxAge','Sampler','_setOptionsHook','globe','Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function','UNSIGNED_INT','appendChild','randomBetween','textures','UNSIGNED_BYTE','applyViewerParameters','fragmentShaderSource','createRawRenderState','bindEvent','context','getExtent','dimensions','length','lat','default','animateFrame','mouse_move','_tomap','_data','clearCommand','particlesWind','createComputingPrimitives','commandList','PixelFormat','currentParticlesPosition','isInExtent','vertexArray','uniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20randomParticle\x20=\x20texture2D(postProcessingPosition,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20vec4\x20particleSpeed\x20=\x20texture2D(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x0a\x20\x20\x20\x20if\x20(randomParticle.a\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20particleSpeed;\x0a\x20\x20\x20\x20}\x0a}','tlng','pointer-events','width','viewport','framebuffer','position','ComputeCommand','186106nCmkDz','forEach','add','@@iterator','RGB','Cannot\x20call\x20a\x20class\x20as\x20a\x20function','removeChild','lev','876693eincTA','screen','floor','nextParticlesSpeed','getPixelSize','#ffffff','_map','NEAREST','getPrototypeOf','clampToLatitudeRange','PixelDatatype','commandType','Matrix4','particlesRendering','depthTexture','string','_createCanvas','PI_OVER_TWO','array','blue','drawingBufferWidth','xmin','prototype','__esModule','vertexShaderSource','primitives','_onMouseDownEvent','createRenderingPrimitives','xmax','umax','max','fromCache','worker','uniform\x20sampler2D\x20trailsColorTexture;\x0d\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture2D(trailsColorTexture,\x20textureCoordinate);\x0d\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture2D(trailsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture2D(czm_globeDepthTexture,\x20textureCoordinate));\x0d\x0a\x0d\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20trailsColor;\x0d\x0a\x20\x20\x20\x20}\x20else\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0d\x0a\x20\x20\x20\x20}\x0d\x0a}','_maxAge','ellipsoid','isPointVisible','options','toString','mode','12288694zkfYhP','DEPTH_COMPONENT','createElement','_calcUV','_onMouseMoveEvent','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','DrawCommand','_pointerEvents','EllipsoidalOccluder','apply','remove','updateSpeed','data','canvasContext','getWind','frameTime','enumerable','trails','getOptions','now','_onMapWhellEvent','pow','TWO_PI','LINEAR','class','_updateIng2','772904vpRebJ','createFramebuffer','construct','updateViewerParameters','TRIANGLES','defined','bind','particles','getParticles','postProcessingPosition','_onMap_preRenderEvent','min','setPrototypeOf','blending','log','SceneTransforms','Draw','register','zIndex','particlesTextureSize','commandToExecute','off','camera','attribute\x20vec2\x20st;\x0a//\x20it\x20is\x20not\x20normal\x20itself,\x20but\x20used\x20to\x20control\x20normal\x0aattribute\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\x0avarying\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\x20\x0a\x20\x20\x20\x20float\x20a\x20=\x206378137.0;\x20//\x20Semi-major\x20axis\x20\x0a\x20\x20\x20\x20float\x20b\x20=\x206356752.3142;\x20//\x20Semi-minor\x20axis\x20\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=\x20texture2D(currentParticlesPosition,\x20particleIndex).rgb;\x0a\x20\x20\x20\x20vec4\x20nextPosition\x20=\x20texture2D(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=\x20texture2D(postProcessingSpeed,\x20particleIndex).a;\x0a}','random','speedRate','LUMINANCE','absolute','getOwnPropertyDescriptors','vdata','WindUtil','particlesComputing','reverseY','all','fromGeometry','fixedHeight','460450nZuszd'];_0x3449=function(){return _0x2b863e;};return _0x3449();}function _getPrototypeOf(_0x3bbee0){var _0x3a47e2=_0x286424;return _getPrototypeOf=Object['setPrototypeOf']?Object[_0x3a47e2(0x340)][_0x3a47e2(0x202)]():function _0x46c8ab(_0x5221ca){var _0x30e5f1=_0x3a47e2;return _0x5221ca['__proto__']||Object[_0x30e5f1(0x340)](_0x5221ca);},_getPrototypeOf(_0x3bbee0);}function _setPrototypeOf(_0x2a70ad,_0x2a06ee){var _0xa00bb2=_0x286424;return _setPrototypeOf=Object[_0xa00bb2(0x208)]?Object[_0xa00bb2(0x208)][_0xa00bb2(0x202)]():function _0x267b95(_0x167785,_0x3861a1){var _0x509a3e=_0xa00bb2;return _0x167785[_0x509a3e(0x23d)]=_0x3861a1,_0x167785;},_setPrototypeOf(_0x2a70ad,_0x2a06ee);}function _isNativeReflectConstruct(){var _0x46d0d3=_0x286424;if(typeof Reflect===_0x46d0d3(0x2f4)||!Reflect[_0x46d0d3(0x1fe)])return![];if(Reflect[_0x46d0d3(0x1fe)][_0x46d0d3(0x2e6)])return![];if(typeof Proxy===_0x46d0d3(0x2d7))return!![];try{return Boolean[_0x46d0d3(0x1d0)][_0x46d0d3(0x2a4)][_0x46d0d3(0x2c8)](Reflect[_0x46d0d3(0x1fe)](Boolean,[],function(){})),!![];}catch(_0x593552){return![];}}function _assertThisInitialized(_0x45326c){var _0x5ee92d=_0x286424;if(_0x45326c===void 0x0)throw new ReferenceError(_0x5ee92d(0x2a6));return _0x45326c;}function _possibleConstructorReturn(_0x3e5cee,_0x2025ff){var _0x398d60=_0x286424;if(_0x2025ff&&(typeof _0x2025ff===_0x398d60(0x2cd)||typeof _0x2025ff===_0x398d60(0x2d7)))return _0x2025ff;else{if(_0x2025ff!==void 0x0)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');}return _assertThisInitialized(_0x3e5cee);}function _createSuper(_0x174cea){var _0x55b687=_isNativeReflectConstruct();return function _0x5b26a1(){var _0x3c42ba=_0xc0df,_0x47e5af=_getPrototypeOf(_0x174cea),_0x365f79;if(_0x55b687){var _0x560301=_getPrototypeOf(this)[_0x3c42ba(0x2aa)];_0x365f79=Reflect[_0x3c42ba(0x1fe)](_0x47e5af,arguments,_0x560301);}else _0x365f79=_0x47e5af[_0x3c42ba(0x1eb)](this,arguments);return _possibleConstructorReturn(this,_0x365f79);};}function _toConsumableArray(_0xb69677){return _arrayWithoutHoles(_0xb69677)||_iterableToArray(_0xb69677)||_unsupportedIterableToArray(_0xb69677)||_nonIterableSpread();}function _arrayWithoutHoles(_0x1b6853){var _0x3adc60=_0x286424;if(Array[_0x3adc60(0x2eb)](_0x1b6853))return _arrayLikeToArray(_0x1b6853);}function _iterableToArray(_0x5c2129){var _0x450be3=_0x286424;if(typeof Symbol!==_0x450be3(0x2f4)&&_0x5c2129[Symbol['iterator']]!=null||_0x5c2129[_0x450be3(0x333)]!=null)return Array['from'](_0x5c2129);}function _unsupportedIterableToArray(_0x296cc2,_0x3ae738){var _0x18f07a=_0x286424;if(!_0x296cc2)return;if(typeof _0x296cc2===_0x18f07a(0x347))return _arrayLikeToArray(_0x296cc2,_0x3ae738);var _0x3e794c=Object[_0x18f07a(0x1d0)][_0x18f07a(0x1e0)][_0x18f07a(0x2c8)](_0x296cc2)['slice'](0x8,-0x1);if(_0x3e794c===_0x18f07a(0x2fd)&&_0x296cc2[_0x18f07a(0x2aa)])_0x3e794c=_0x296cc2[_0x18f07a(0x2aa)][_0x18f07a(0x306)];if(_0x3e794c===_0x18f07a(0x221)||_0x3e794c==='Set')return Array[_0x18f07a(0x232)](_0x296cc2);if(_0x3e794c===_0x18f07a(0x2c1)||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/['test'](_0x3e794c))return _arrayLikeToArray(_0x296cc2,_0x3ae738);}function _arrayLikeToArray(_0x2740ea,_0x46bbfe){var _0x103fa9=_0x286424;if(_0x46bbfe==null||_0x46bbfe>_0x2740ea[_0x103fa9(0x319)])_0x46bbfe=_0x2740ea[_0x103fa9(0x319)];for(var _0x19617d=0x0,_0x143773=new Array(_0x46bbfe);_0x19617d<_0x46bbfe;_0x19617d++)_0x143773[_0x19617d]=_0x2740ea[_0x19617d];return _0x143773;}function _nonIterableSpread(){var _0x46cf7c=_0x286424;throw new TypeError(_0x46cf7c(0x2ed));}var Cesium$6=mars3d__namespace['Cesium'],CustomPrimitive=(function(){var _0x21d8be=_0x286424;function _0x428b76(_0x59084e){var _0x40f869=_0xc0df,_0x3e8ba5;_classCallCheck(this,_0x428b76),this[_0x40f869(0x343)]=_0x59084e[_0x40f869(0x343)],this[_0x40f869(0x224)]=_0x59084e[_0x40f869(0x224)],this[_0x40f869(0x302)]=_0x59084e[_0x40f869(0x302)],this[_0x40f869(0x247)]=_0x59084e[_0x40f869(0x247)],this[_0x40f869(0x2d5)]=_0x59084e[_0x40f869(0x2d5)],this[_0x40f869(0x1d2)]=_0x59084e['vertexShaderSource'],this[_0x40f869(0x313)]=_0x59084e[_0x40f869(0x313)],this[_0x40f869(0x23f)]=_0x59084e['rawRenderState'],this[_0x40f869(0x32d)]=_0x59084e[_0x40f869(0x32d)],this['outputTexture']=_0x59084e[_0x40f869(0x23e)],this[_0x40f869(0x271)]=(_0x3e8ba5=_0x59084e[_0x40f869(0x271)])!==null&&_0x3e8ba5!==void 0x0?_0x3e8ba5:![],this[_0x40f869(0x2f1)]=_0x59084e[_0x40f869(0x2f1)],this['show']=!![],this[_0x40f869(0x210)]=undefined,this['clearCommand']=undefined,this[_0x40f869(0x271)]&&(this[_0x40f869(0x320)]=new Cesium$6[(_0x40f869(0x298))]({'color':new Cesium$6[(_0x40f869(0x24f))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[_0x40f869(0x32d)],'pass':Cesium$6[_0x40f869(0x2ae)][_0x40f869(0x22b)]}));}return _createClass(_0x428b76,[{'key':_0x21d8be(0x23b),'value':function _0x15ba7e(_0x63ea3d){var _0x1e5179=_0x21d8be;switch(this['commandType']){case _0x1e5179(0x20c):{var _0x16f41b=Cesium$6[_0x1e5179(0x278)]['fromGeometry']({'context':_0x63ea3d,'geometry':this[_0x1e5179(0x224)],'attributeLocations':this[_0x1e5179(0x302)],'bufferUsage':Cesium$6[_0x1e5179(0x2ff)]['STATIC_DRAW']}),_0x55baf6=Cesium$6[_0x1e5179(0x2c6)][_0x1e5179(0x1d9)]({'context':_0x63ea3d,'attributeLocations':this['attributeLocations'],'vertexShaderSource':this[_0x1e5179(0x1d2)],'fragmentShaderSource':this[_0x1e5179(0x313)]}),_0x30c0c6=Cesium$6[_0x1e5179(0x22c)]['fromCache'](this[_0x1e5179(0x23f)]);return new Cesium$6[(_0x1e5179(0x1e8))]({'primitiveType':this[_0x1e5179(0x247)],'shaderProgram':_0x55baf6,'vertexArray':_0x16f41b,'modelMatrix':Cesium$6[_0x1e5179(0x344)][_0x1e5179(0x2f0)],'renderState':_0x30c0c6,'uniformMap':this[_0x1e5179(0x2d5)],'castShadows':![],'receiveShadows':![],'framebuffer':this[_0x1e5179(0x32d)],'pass':Cesium$6[_0x1e5179(0x2ae)][_0x1e5179(0x22b)],'pickOnly':!![],'owner':this});}case'Compute':{return new Cesium$6[(_0x1e5179(0x32f))]({'owner':this,'fragmentShaderSource':this['fragmentShaderSource'],'uniformMap':this[_0x1e5179(0x2d5)],'outputTexture':this[_0x1e5179(0x23e)],'persists':!![]});}}}},{'key':_0x21d8be(0x288),'value':function _0x2a6f6a(_0x2d1674,_0x47fdb0){var _0x3ec105=_0x21d8be;this[_0x3ec105(0x224)]=_0x47fdb0;var _0xdb58d7=Cesium$6[_0x3ec105(0x278)]['fromGeometry']({'context':_0x2d1674,'geometry':this[_0x3ec105(0x224)],'attributeLocations':this[_0x3ec105(0x302)],'bufferUsage':Cesium$6[_0x3ec105(0x2ff)]['STATIC_DRAW']});this['commandToExecute'][_0x3ec105(0x327)]=_0xdb58d7;}},{'key':_0x21d8be(0x25a),'value':function _0x11e93a(_0x882ba5){var _0x5152b9=_0x21d8be;if(!this[_0x5152b9(0x25b)])return;if(_0x882ba5[_0x5152b9(0x1e1)]!==Cesium$6[_0x5152b9(0x2c5)][_0x5152b9(0x2f8)])return;!Cesium$6[_0x5152b9(0x201)](this[_0x5152b9(0x210)])&&(this[_0x5152b9(0x210)]=this[_0x5152b9(0x23b)](_0x882ba5[_0x5152b9(0x316)])),Cesium$6[_0x5152b9(0x201)](this[_0x5152b9(0x2f1)])&&this[_0x5152b9(0x2f1)](),Cesium$6['defined'](this['clearCommand'])&&_0x882ba5[_0x5152b9(0x323)][_0x5152b9(0x280)](this[_0x5152b9(0x320)]),_0x882ba5[_0x5152b9(0x323)]['push'](this[_0x5152b9(0x210)]);}},{'key':_0x21d8be(0x2cf),'value':function _0x21cf68(){return![];}},{'key':_0x21d8be(0x2ef),'value':function _0x136ea4(){var _0x202d5e=_0x21d8be;if(this[_0x202d5e(0x320)]){var _0x178a5e,_0x2ad518;(_0x178a5e=this['clearCommand'])!==null&&_0x178a5e!==void 0x0&&_0x178a5e[_0x202d5e(0x327)]&&this[_0x202d5e(0x320)]['vertexArray'][_0x202d5e(0x2ef)](),(_0x2ad518=this[_0x202d5e(0x320)])!==null&&_0x2ad518!==void 0x0&&_0x2ad518[_0x202d5e(0x222)]&&this[_0x202d5e(0x320)][_0x202d5e(0x222)][_0x202d5e(0x2ef)](),delete this['clearCommand'];}return this[_0x202d5e(0x210)]&&(this[_0x202d5e(0x210)][_0x202d5e(0x327)]&&this[_0x202d5e(0x210)]['vertexArray'][_0x202d5e(0x2ef)](),this['commandToExecute'][_0x202d5e(0x222)]&&this[_0x202d5e(0x210)][_0x202d5e(0x222)][_0x202d5e(0x2ef)](),delete this['commandToExecute']),Cesium$6[_0x202d5e(0x2b3)](this);}}]),_0x428b76;}()),Cesium$5=mars3d__namespace[_0x286424(0x2fc)],Util=(function(){var _0x540212=function _0x595d73(){var _0x21b722=_0xc0df,_0x92a018=new Cesium$5[(_0x21b722(0x272))]({'attributes':new Cesium$5[(_0x21b722(0x29c))]({'position':new Cesium$5['GeometryAttribute']({'componentDatatype':Cesium$5[_0x21b722(0x28f)][_0x21b722(0x249)],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new Cesium$5[(_0x21b722(0x282))]({'componentDatatype':Cesium$5['ComponentDatatype'][_0x21b722(0x249)],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});return _0x92a018;},_0x4620e6=function _0x2ecba9(_0x4b3ccf,_0x4fe4a5){var _0x223ef5=_0xc0df;if(Cesium$5[_0x223ef5(0x201)](_0x4fe4a5)){var _0x3ae3a5={};_0x3ae3a5['arrayBufferView']=_0x4fe4a5,_0x4b3ccf['source']=_0x3ae3a5;}var _0x40c0dc=new Cesium$5['Texture'](_0x4b3ccf);return _0x40c0dc;},_0x287106=function _0x22d81c(_0x5371a2,_0x4d4e1b,_0x14dfde){var _0x56115b=new Cesium$5['Framebuffer']({'context':_0x5371a2,'colorTextures':[_0x4d4e1b],'depthTexture':_0x14dfde});return _0x56115b;},_0xf4b288=function _0x47f6cc(_0x48734f){var _0x3cf979=_0xc0df,_0x4483ed=!![],_0xaa00d8=![],_0x372968={'viewport':_0x48734f[_0x3cf979(0x32c)],'depthTest':_0x48734f[_0x3cf979(0x281)],'depthMask':_0x48734f[_0x3cf979(0x2bd)],'blending':_0x48734f[_0x3cf979(0x209)]},_0x637574=Cesium$5[_0x3cf979(0x2ce)]['getDefaultRenderState'](_0x4483ed,_0xaa00d8,_0x372968);return _0x637574;},_0x2c8895=function _0x26d2a1(_0x2b7021){var _0x319af2=_0xc0df,_0x508ae1={},_0x546e03=Cesium$5['Math'][_0x319af2(0x251)](_0x2b7021['west'],Cesium$5[_0x319af2(0x293)][_0x319af2(0x1f8)]),_0x256385=Cesium$5[_0x319af2(0x293)]['mod'](_0x2b7021[_0x319af2(0x2cc)],Cesium$5[_0x319af2(0x293)]['TWO_PI']),_0x152d0e=_0x2b7021[_0x319af2(0x32b)],_0x46eb53,_0x153718;_0x152d0e>Cesium$5[_0x319af2(0x293)][_0x319af2(0x2a5)]?(_0x46eb53=0x0,_0x153718=Cesium$5[_0x319af2(0x293)][_0x319af2(0x1f8)]):_0x256385-_0x546e03<_0x152d0e?(_0x46eb53=_0x546e03,_0x153718=_0x546e03+_0x152d0e):(_0x46eb53=_0x546e03,_0x153718=_0x256385);_0x508ae1['lon']={'min':Cesium$5['Math'][_0x319af2(0x261)](_0x46eb53),'max':Cesium$5['Math'][_0x319af2(0x261)](_0x153718)};var _0xdc4778=_0x2b7021[_0x319af2(0x2f9)],_0x32babe=_0x2b7021['north'],_0x412f24=_0x2b7021[_0x319af2(0x2dd)],_0x4780c8=_0x412f24>Cesium$5['Math']['PI']/0xc?_0x412f24/0x2:0x0,_0x2461a9=Cesium$5[_0x319af2(0x293)]['clampToLatitudeRange'](_0xdc4778-_0x4780c8),_0x3a0cfe=Cesium$5['Math'][_0x319af2(0x341)](_0x32babe+_0x4780c8);return _0x2461a9<-Cesium$5[_0x319af2(0x293)][_0x319af2(0x268)]&&(_0x2461a9=-Cesium$5[_0x319af2(0x293)][_0x319af2(0x349)]),_0x3a0cfe>Cesium$5[_0x319af2(0x293)][_0x319af2(0x268)]&&(_0x3a0cfe=Cesium$5[_0x319af2(0x293)][_0x319af2(0x349)]),_0x508ae1[_0x319af2(0x31a)]={'min':Cesium$5[_0x319af2(0x293)][_0x319af2(0x261)](_0x2461a9),'max':Cesium$5['Math'][_0x319af2(0x261)](_0x3a0cfe)},_0x508ae1;};return{'getFullscreenQuad':_0x540212,'createTexture':_0x4620e6,'createFramebuffer':_0x287106,'createRawRenderState':_0xf4b288,'viewRectangleToLonLatRange':_0x2c8895};}()),segmentDraw_vert=_0x286424(0x213),segmentDraw_frag=_0x286424(0x273),fullscreen_vert=_0x286424(0x2b4),trailDraw_frag=_0x286424(0x26e),screenDraw_frag=_0x286424(0x1db),Cesium$4=mars3d__namespace[_0x286424(0x2fc)],ParticlesRendering=(function(){var _0x229000=_0x286424;function _0x3a9991(_0xd765ba,_0x49c6e4,_0x90ea7d,_0x146c87,_0x16c8a8){var _0x44765e=_0xc0df;_classCallCheck(this,_0x3a9991),this[_0x44765e(0x305)](_0xd765ba,_0x49c6e4,_0x90ea7d[_0x44765e(0x229)]),this['createRenderingFramebuffers'](_0xd765ba),this['createRenderingPrimitives'](_0xd765ba,_0x90ea7d,_0x146c87,_0x16c8a8);}return _createClass(_0x3a9991,[{'key':_0x229000(0x305),'value':function _0x2a3023(_0x89269b,_0x1d10a2,_0xa290b9){var _0x4d8981=_0x229000,_0x2decd9={'context':_0x89269b,'width':_0x89269b[_0x4d8981(0x1ce)],'height':_0x89269b['drawingBufferHeight'],'pixelFormat':Cesium$4[_0x4d8981(0x324)][_0x4d8981(0x2b7)],'pixelDatatype':Cesium$4['PixelDatatype'][_0x4d8981(0x311)]},_0x29b4={'context':_0x89269b,'width':_0x89269b[_0x4d8981(0x1ce)],'height':_0x89269b['drawingBufferHeight'],'pixelFormat':Cesium$4[_0x4d8981(0x324)][_0x4d8981(0x1e3)],'pixelDatatype':Cesium$4[_0x4d8981(0x342)][_0x4d8981(0x30d)]},_0x1f15cb=_0xa290b9[_0x4d8981(0x319)],_0x42da96=new Float32Array(_0x1f15cb*0x3);for(var _0x470195=0x0;_0x470195<_0x1f15cb;_0x470195++){var _0x59e9bd=Cesium$4[_0x4d8981(0x24f)][_0x4d8981(0x294)](_0xa290b9[_0x470195]);_0x42da96[0x3*_0x470195]=_0x59e9bd['red'],_0x42da96[0x3*_0x470195+0x1]=_0x59e9bd['green'],_0x42da96[0x3*_0x470195+0x2]=_0x59e9bd[_0x4d8981(0x1cd)];}var _0xab7031={'context':_0x89269b,'width':_0x1f15cb,'height':0x1,'pixelFormat':Cesium$4[_0x4d8981(0x324)][_0x4d8981(0x334)],'pixelDatatype':Cesium$4[_0x4d8981(0x342)][_0x4d8981(0x249)],'sampler':new Cesium$4[(_0x4d8981(0x309))]({'minificationFilter':Cesium$4[_0x4d8981(0x270)]['LINEAR'],'magnificationFilter':Cesium$4[_0x4d8981(0x2ba)][_0x4d8981(0x1f9)]})};this['textures']={'segmentsColor':Util[_0x4d8981(0x2e5)](_0x2decd9),'segmentsDepth':Util[_0x4d8981(0x2e5)](_0x29b4),'currentTrailsColor':Util[_0x4d8981(0x2e5)](_0x2decd9),'currentTrailsDepth':Util[_0x4d8981(0x2e5)](_0x29b4),'nextTrailsColor':Util[_0x4d8981(0x2e5)](_0x2decd9),'nextTrailsDepth':Util[_0x4d8981(0x2e5)](_0x29b4),'colorTable':Util[_0x4d8981(0x2e5)](_0xab7031,_0x42da96)};}},{'key':_0x229000(0x24a),'value':function _0x66b5e8(_0x4d7218){var _0x305f8a=_0x229000;this[_0x305f8a(0x239)]={'segments':Util[_0x305f8a(0x1fd)](_0x4d7218,this[_0x305f8a(0x310)][_0x305f8a(0x241)],this[_0x305f8a(0x310)][_0x305f8a(0x277)]),'currentTrails':Util['createFramebuffer'](_0x4d7218,this[_0x305f8a(0x310)][_0x305f8a(0x2e9)],this['textures'][_0x305f8a(0x300)]),'nextTrails':Util[_0x305f8a(0x1fd)](_0x4d7218,this[_0x305f8a(0x310)]['nextTrailsColor'],this[_0x305f8a(0x310)]['nextTrailsDepth'])};}},{'key':'createSegmentsGeometry','value':function _0x1c7416(_0x1cf858){var _0x503a2a=_0x229000,_0x36e1c0=0x4,_0x5c37bc=[];for(var _0x4fd3d6=0x0;_0x4fd3d6<_0x1cf858[_0x503a2a(0x20f)];_0x4fd3d6++){for(var _0x557c08=0x0;_0x557c08<_0x1cf858[_0x503a2a(0x20f)];_0x557c08++){for(var _0x48231a=0x0;_0x48231a<_0x36e1c0;_0x48231a++){_0x5c37bc[_0x503a2a(0x280)](_0x4fd3d6/_0x1cf858['particlesTextureSize']),_0x5c37bc[_0x503a2a(0x280)](_0x557c08/_0x1cf858['particlesTextureSize']);}}}_0x5c37bc=new Float32Array(_0x5c37bc);var _0x23dab4=[],_0x2ce5b8=[-0x1,0x1],_0x4397a7=[-0x1,0x1];for(var _0x3345ec=0x0;_0x3345ec<_0x1cf858[_0x503a2a(0x2fe)];_0x3345ec++){for(var _0x29ad1a=0x0;_0x29ad1a<_0x36e1c0/0x2;_0x29ad1a++){for(var _0x55089e=0x0;_0x55089e<_0x36e1c0/0x2;_0x55089e++){_0x23dab4[_0x503a2a(0x280)](_0x2ce5b8[_0x29ad1a]),_0x23dab4['push'](_0x4397a7[_0x55089e]),_0x23dab4['push'](0x0);}}}_0x23dab4=new Float32Array(_0x23dab4);var _0x300e0d=0x6*_0x1cf858[_0x503a2a(0x2fe)],_0x5cd4ae=new Uint32Array(_0x300e0d);for(var _0x101d50=0x0,_0x777799=0x0,_0x176640=0x0;_0x101d50<_0x1cf858['maxParticles'];_0x101d50++){_0x5cd4ae[_0x777799++]=_0x176640+0x0,_0x5cd4ae[_0x777799++]=_0x176640+0x1,_0x5cd4ae[_0x777799++]=_0x176640+0x2,_0x5cd4ae[_0x777799++]=_0x176640+0x2,_0x5cd4ae[_0x777799++]=_0x176640+0x1,_0x5cd4ae[_0x777799++]=_0x176640+0x3,_0x176640+=0x4;}var _0x20b35f=new Cesium$4[(_0x503a2a(0x272))]({'attributes':new Cesium$4[(_0x503a2a(0x29c))]({'st':new Cesium$4[(_0x503a2a(0x282))]({'componentDatatype':Cesium$4[_0x503a2a(0x28f)][_0x503a2a(0x249)],'componentsPerAttribute':0x2,'values':_0x5c37bc}),'normal':new Cesium$4[(_0x503a2a(0x282))]({'componentDatatype':Cesium$4[_0x503a2a(0x28f)][_0x503a2a(0x249)],'componentsPerAttribute':0x3,'values':_0x23dab4})}),'indices':_0x5cd4ae});return _0x20b35f;}},{'key':_0x229000(0x1d5),'value':function _0x4fa1ef(_0x5190ec,_0x1afa34,_0x49340c,_0x12052e){var _0x20a89c=_0x229000,_0x52b9fa=this;this[_0x20a89c(0x1d3)]={'segments':new CustomPrimitive({'commandType':_0x20a89c(0x20c),'attributeLocations':{'st':0x0,'normal':0x1},'geometry':this[_0x20a89c(0x29e)](_0x1afa34),'primitiveType':Cesium$4[_0x20a89c(0x29d)]['TRIANGLES'],'uniformMap':{'currentParticlesPosition':function _0x18277d(){var _0x6cea4a=_0x20a89c;return _0x12052e['particlesTextures'][_0x6cea4a(0x325)];},'postProcessingPosition':function _0xf41d94(){var _0xa14b35=_0x20a89c;return _0x12052e[_0xa14b35(0x283)][_0xa14b35(0x205)];},'postProcessingSpeed':function _0x42158f(){var _0x511ae1=_0x20a89c;return _0x12052e[_0x511ae1(0x283)][_0x511ae1(0x2d1)];},'colorTable':function _0x13d81b(){var _0x498561=_0x20a89c;return _0x52b9fa[_0x498561(0x310)][_0x498561(0x26b)];},'aspect':function _0x3c1adf(){var _0x5e4283=_0x20a89c;return _0x5190ec[_0x5e4283(0x1ce)]/_0x5190ec[_0x5e4283(0x2da)];},'pixelSize':function _0x91656d(){var _0x4a01ab=_0x20a89c;return _0x49340c[_0x4a01ab(0x24c)];},'lineWidth':function _0x8bb901(){return _0x1afa34['lineWidth'];},'particleHeight':function _0x25f51c(){return _0x1afa34['particleHeight'];}},'vertexShaderSource':new Cesium$4[(_0x20a89c(0x235))]({'sources':[segmentDraw_vert]}),'fragmentShaderSource':new Cesium$4[(_0x20a89c(0x235))]({'sources':[segmentDraw_frag]}),'rawRenderState':Util[_0x20a89c(0x314)]({'viewport':undefined,'depthTest':{'enabled':!![]},'depthMask':!![]}),'framebuffer':this[_0x20a89c(0x239)][_0x20a89c(0x269)],'autoClear':!![]}),'trails':new CustomPrimitive({'commandType':'Draw','attributeLocations':{'position':0x0,'st':0x1},'geometry':Util[_0x20a89c(0x292)](),'primitiveType':Cesium$4[_0x20a89c(0x29d)][_0x20a89c(0x200)],'uniformMap':{'segmentsColorTexture':function _0x20ba0f(){var _0x2d85a1=_0x20a89c;return _0x52b9fa[_0x2d85a1(0x310)][_0x2d85a1(0x241)];},'segmentsDepthTexture':function _0x550282(){var _0x37dc9c=_0x20a89c;return _0x52b9fa[_0x37dc9c(0x310)][_0x37dc9c(0x277)];},'currentTrailsColor':function _0x103ff1(){var _0x4f38f3=_0x20a89c;return _0x52b9fa[_0x4f38f3(0x239)]['currentTrails'][_0x4f38f3(0x2ab)](0x0);},'trailsDepthTexture':function _0x58b2cb(){var _0x1d5afa=_0x20a89c;return _0x52b9fa[_0x1d5afa(0x239)]['currentTrails']['depthTexture'];},'fadeOpacity':function _0x11c51b(){return _0x1afa34['fadeOpacity'];}},'vertexShaderSource':new Cesium$4[(_0x20a89c(0x235))]({'defines':[_0x20a89c(0x263)],'sources':[fullscreen_vert]}),'fragmentShaderSource':new Cesium$4[(_0x20a89c(0x235))]({'defines':[_0x20a89c(0x1e7)],'sources':[trailDraw_frag]}),'rawRenderState':Util[_0x20a89c(0x314)]({'viewport':undefined,'depthTest':{'enabled':!![],'func':Cesium$4['DepthFunction'][_0x20a89c(0x255)]},'depthMask':!![]}),'framebuffer':this[_0x20a89c(0x239)][_0x20a89c(0x266)],'autoClear':!![],'preExecute':function _0x339b8b(){var _0x2c3c3d=_0x20a89c,_0x10d259=_0x52b9fa[_0x2c3c3d(0x239)]['currentTrails'];_0x52b9fa['framebuffers'][_0x2c3c3d(0x2ec)]=_0x52b9fa[_0x2c3c3d(0x239)][_0x2c3c3d(0x266)],_0x52b9fa['framebuffers'][_0x2c3c3d(0x266)]=_0x10d259,_0x52b9fa[_0x2c3c3d(0x1d3)]['trails']['commandToExecute'][_0x2c3c3d(0x32d)]=_0x52b9fa[_0x2c3c3d(0x239)][_0x2c3c3d(0x266)],_0x52b9fa[_0x2c3c3d(0x1d3)][_0x2c3c3d(0x1f3)][_0x2c3c3d(0x320)][_0x2c3c3d(0x32d)]=_0x52b9fa[_0x2c3c3d(0x239)][_0x2c3c3d(0x266)];}}),'screen':new CustomPrimitive({'commandType':_0x20a89c(0x20c),'attributeLocations':{'position':0x0,'st':0x1},'geometry':Util[_0x20a89c(0x292)](),'primitiveType':Cesium$4[_0x20a89c(0x29d)][_0x20a89c(0x200)],'uniformMap':{'trailsColorTexture':function _0x50156e(){var _0x4ca319=_0x20a89c;return _0x52b9fa[_0x4ca319(0x239)][_0x4ca319(0x266)]['getColorTexture'](0x0);},'trailsDepthTexture':function _0x15dd10(){var _0x13c49b=_0x20a89c;return _0x52b9fa['framebuffers'][_0x13c49b(0x266)][_0x13c49b(0x346)];}},'vertexShaderSource':new Cesium$4[(_0x20a89c(0x235))]({'defines':[_0x20a89c(0x263)],'sources':[fullscreen_vert]}),'fragmentShaderSource':new Cesium$4[(_0x20a89c(0x235))]({'defines':[_0x20a89c(0x1e7)],'sources':[screenDraw_frag]}),'rawRenderState':Util['createRawRenderState']({'viewport':undefined,'depthTest':{'enabled':![]},'depthMask':!![],'blending':{'enabled':!![]}}),'framebuffer':undefined})};}}]),_0x3a9991;}()),getWind_frag='//\x20the\x20size\x20of\x20UV\x20textures:\x20width\x20=\x20lon,\x20height\x20=\x20lat*lev\x0auniform\x20sampler2D\x20U;\x20//\x20eastward\x20wind\x20\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\x0avarying\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=\x20texture2D(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=\x20texture2D(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20bicubic(lonLatLev);\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(windVector,\x200.0);\x0a}',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\x0avarying\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=\x20texture2D(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20texture2D(particlesWind,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20vec4(speedFactor\x20*\x20pixelSize\x20*\x20windVector,\x20calculateWindNorm(windVector));\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20nextSpeed;\x0a}',updatePosition_frag=_0x286424(0x240),postProcessingPosition_frag=_0x286424(0x26d),postProcessingSpeed_frag=_0x286424(0x328),Cesium$3=mars3d__namespace[_0x286424(0x2fc)],ParticlesComputing=(function(){var _0x14f074=_0x286424;function _0x3dd461(_0x5e68aa,_0x1b623a,_0x9a6bb9,_0x5795d6){var _0x4800c0=_0xc0df;_classCallCheck(this,_0x3dd461),this['data']=_0x1b623a,this['createWindTextures'](_0x5e68aa,_0x1b623a),this[_0x4800c0(0x2a8)](_0x5e68aa,_0x9a6bb9,_0x5795d6),this[_0x4800c0(0x322)](_0x1b623a,_0x9a6bb9,_0x5795d6);}return _createClass(_0x3dd461,[{'key':'createWindTextures','value':function _0x15f7df(_0x2073d6,_0x8289bc){var _0x40e952=_0xc0df,_0x441a7a={'context':_0x2073d6,'width':_0x8289bc['dimensions']['lon'],'height':_0x8289bc[_0x40e952(0x318)][_0x40e952(0x31a)]*(_0x8289bc['dimensions']['lev']||0x1),'pixelFormat':Cesium$3['PixelFormat'][_0x40e952(0x216)],'pixelDatatype':Cesium$3[_0x40e952(0x342)][_0x40e952(0x249)],'flipY':![],'sampler':new Cesium$3[(_0x40e952(0x309))]({'minificationFilter':Cesium$3['TextureMinificationFilter']['NEAREST'],'magnificationFilter':Cesium$3[_0x40e952(0x2ba)][_0x40e952(0x33f)]})};this[_0x40e952(0x28b)]={'U':Util[_0x40e952(0x2e5)](_0x441a7a,_0x8289bc['U'][_0x40e952(0x34a)]),'V':Util['createTexture'](_0x441a7a,_0x8289bc['V']['array'])};}},{'key':_0x14f074(0x2a8),'value':function _0x339e7c(_0x3fb688,_0x19b437,_0x4e8365){var _0x312581=_0x14f074,_0x47ec0b={'context':_0x3fb688,'width':_0x19b437['particlesTextureSize'],'height':_0x19b437[_0x312581(0x20f)],'pixelFormat':Cesium$3[_0x312581(0x324)]['RGBA'],'pixelDatatype':Cesium$3[_0x312581(0x342)][_0x312581(0x249)],'flipY':![],'sampler':new Cesium$3['Sampler']({'minificationFilter':Cesium$3[_0x312581(0x270)]['NEAREST'],'magnificationFilter':Cesium$3[_0x312581(0x2ba)][_0x312581(0x33f)]})},_0xafe33a=this[_0x312581(0x267)](_0x19b437[_0x312581(0x2fe)],_0x4e8365),_0x19b105=new Float32Array(0x4*_0x19b437[_0x312581(0x2fe)])['fill'](0x0);this[_0x312581(0x283)]={'particlesWind':Util['createTexture'](_0x47ec0b),'currentParticlesPosition':Util[_0x312581(0x2e5)](_0x47ec0b,_0xafe33a),'nextParticlesPosition':Util[_0x312581(0x2e5)](_0x47ec0b,_0xafe33a),'currentParticlesSpeed':Util[_0x312581(0x2e5)](_0x47ec0b,_0x19b105),'nextParticlesSpeed':Util[_0x312581(0x2e5)](_0x47ec0b,_0x19b105),'postProcessingPosition':Util[_0x312581(0x2e5)](_0x47ec0b,_0xafe33a),'postProcessingSpeed':Util[_0x312581(0x2e5)](_0x47ec0b,_0x19b105)};}},{'key':'randomizeParticles','value':function _0x2012d1(_0x516337,_0xa3bfbf){var _0x51d6a4=_0x14f074,_0x2c8654=new Float32Array(0x4*_0x516337);for(var _0x11f303=0x0;_0x11f303<_0x516337;_0x11f303++){_0x2c8654[0x4*_0x11f303]=Cesium$3[_0x51d6a4(0x293)][_0x51d6a4(0x30f)](_0xa3bfbf[_0x51d6a4(0x29b)]['x'],_0xa3bfbf[_0x51d6a4(0x29b)]['y']),_0x2c8654[0x4*_0x11f303+0x1]=Cesium$3[_0x51d6a4(0x293)][_0x51d6a4(0x30f)](_0xa3bfbf['latRange']['x'],_0xa3bfbf['latRange']['y']),_0x2c8654[0x4*_0x11f303+0x2]=Cesium$3[_0x51d6a4(0x293)][_0x51d6a4(0x30f)](this[_0x51d6a4(0x1ee)][_0x51d6a4(0x337)][_0x51d6a4(0x207)],this[_0x51d6a4(0x1ee)][_0x51d6a4(0x337)][_0x51d6a4(0x1d8)]),_0x2c8654[0x4*_0x11f303+0x3]=0x0;}return _0x2c8654;}},{'key':_0x14f074(0x25e),'value':function _0xcb3623(){var _0x6110af=this;Object['keys'](this['particlesTextures'])['forEach'](function(_0x420482){var _0x16b9f9=_0xc0df;_0x6110af['particlesTextures'][_0x420482][_0x16b9f9(0x2ef)]();});}},{'key':_0x14f074(0x322),'value':function _0x271f85(_0x52b676,_0x4675e9,_0x26d86a){var _0x300375=_0x14f074,_0x533402=new Cesium$3[(_0x300375(0x2b8))](_0x52b676[_0x300375(0x318)]['lon'],_0x52b676[_0x300375(0x318)][_0x300375(0x31a)],_0x52b676[_0x300375(0x318)][_0x300375(0x337)]),_0x11dbd8=new Cesium$3[(_0x300375(0x2b8))](_0x52b676[_0x300375(0x2e4)][_0x300375(0x207)],_0x52b676[_0x300375(0x31a)][_0x300375(0x207)],_0x52b676['lev'][_0x300375(0x207)]),_0x4385a6=new Cesium$3['Cartesian3'](_0x52b676['lon']['max'],_0x52b676['lat'][_0x300375(0x1d8)],_0x52b676[_0x300375(0x337)]['max']),_0x6abef7=new Cesium$3[(_0x300375(0x2b8))]((_0x4385a6['x']-_0x11dbd8['x'])/(_0x533402['x']-0x1),(_0x4385a6['y']-_0x11dbd8['y'])/(_0x533402['y']-0x1),_0x533402['z']>0x1?(_0x4385a6['z']-_0x11dbd8['z'])/(_0x533402['z']-0x1):0x1),_0x4d886d=new Cesium$3[(_0x300375(0x2c4))](_0x52b676['U'][_0x300375(0x207)],_0x52b676['U'][_0x300375(0x1d8)]),_0x287b77=new Cesium$3[(_0x300375(0x2c4))](_0x52b676['V'][_0x300375(0x207)],_0x52b676['V'][_0x300375(0x1d8)]),_0xc31603=this;this[_0x300375(0x1d3)]={'getWind':new CustomPrimitive({'commandType':_0x300375(0x22f),'uniformMap':{'U':function _0x457c71(){var _0x369306=_0x300375;return _0xc31603[_0x369306(0x28b)]['U'];},'V':function _0x3782cb(){var _0x12ae56=_0x300375;return _0xc31603[_0x12ae56(0x28b)]['V'];},'currentParticlesPosition':function _0x531646(){var _0xd4b801=_0x300375;return _0xc31603[_0xd4b801(0x283)][_0xd4b801(0x325)];},'dimension':function _0x41c0b3(){return _0x533402;},'minimum':function _0x2f8623(){return _0x11dbd8;},'maximum':function _0x33efdb(){return _0x4385a6;},'interval':function _0x57add2(){return _0x6abef7;}},'fragmentShaderSource':new Cesium$3[(_0x300375(0x235))]({'sources':[getWind_frag]}),'outputTexture':this[_0x300375(0x283)][_0x300375(0x321)],'preExecute':function _0x20b7dd(){var _0x12ee34=_0x300375;_0xc31603[_0x12ee34(0x1d3)][_0x12ee34(0x1f0)]['commandToExecute']['outputTexture']=_0xc31603['particlesTextures'][_0x12ee34(0x321)];}}),'updateSpeed':new CustomPrimitive({'commandType':_0x300375(0x22f),'uniformMap':{'currentParticlesSpeed':function _0x2349c6(){var _0x11f734=_0x300375;return _0xc31603['particlesTextures'][_0x11f734(0x291)];},'particlesWind':function _0x185e94(){var _0x2eaac2=_0x300375;return _0xc31603['particlesTextures'][_0x2eaac2(0x321)];},'uSpeedRange':function _0x59e63e(){return _0x4d886d;},'vSpeedRange':function _0x48d924(){return _0x287b77;},'pixelSize':function _0x5b5be5(){var _0x407336=_0x300375;return _0x26d86a[_0x407336(0x24c)];},'speedFactor':function _0x2394c9(){var _0x5cd818=_0x300375;return _0x4675e9[_0x5cd818(0x252)];}},'fragmentShaderSource':new Cesium$3[(_0x300375(0x235))]({'sources':[updateSpeed_frag]}),'outputTexture':this[_0x300375(0x283)][_0x300375(0x33b)],'preExecute':function _0x1f20a2(){var _0x2a6d42=_0x300375,_0x5a1693=_0xc31603[_0x2a6d42(0x283)][_0x2a6d42(0x291)];_0xc31603[_0x2a6d42(0x283)]['currentParticlesSpeed']=_0xc31603[_0x2a6d42(0x283)][_0x2a6d42(0x2d1)],_0xc31603[_0x2a6d42(0x283)]['postProcessingSpeed']=_0x5a1693,_0xc31603[_0x2a6d42(0x1d3)][_0x2a6d42(0x1ed)][_0x2a6d42(0x210)][_0x2a6d42(0x23e)]=_0xc31603[_0x2a6d42(0x283)][_0x2a6d42(0x33b)];}}),'updatePosition':new CustomPrimitive({'commandType':_0x300375(0x22f),'uniformMap':{'currentParticlesPosition':function _0x536920(){var _0x2b95bf=_0x300375;return _0xc31603[_0x2b95bf(0x283)][_0x2b95bf(0x325)];},'currentParticlesSpeed':function _0x4137df(){var _0x3a5c61=_0x300375;return _0xc31603[_0x3a5c61(0x283)][_0x3a5c61(0x291)];}},'fragmentShaderSource':new Cesium$3[(_0x300375(0x235))]({'sources':[updatePosition_frag]}),'outputTexture':this[_0x300375(0x283)][_0x300375(0x2ac)],'preExecute':function _0xdaf8e8(){var _0x1f0ed5=_0x300375,_0x344a25=_0xc31603['particlesTextures'][_0x1f0ed5(0x325)];_0xc31603[_0x1f0ed5(0x283)][_0x1f0ed5(0x325)]=_0xc31603[_0x1f0ed5(0x283)]['postProcessingPosition'],_0xc31603[_0x1f0ed5(0x283)][_0x1f0ed5(0x205)]=_0x344a25,_0xc31603[_0x1f0ed5(0x1d3)]['updatePosition'][_0x1f0ed5(0x210)][_0x1f0ed5(0x23e)]=_0xc31603['particlesTextures'][_0x1f0ed5(0x2ac)];}}),'postProcessingPosition':new CustomPrimitive({'commandType':_0x300375(0x22f),'uniformMap':{'nextParticlesPosition':function _0x2f87c3(){var _0xdd9563=_0x300375;return _0xc31603[_0xdd9563(0x283)]['nextParticlesPosition'];},'nextParticlesSpeed':function _0x3365b7(){var _0x45f1a5=_0x300375;return _0xc31603[_0x45f1a5(0x283)]['nextParticlesSpeed'];},'lonRange':function _0x42ed6c(){return _0x26d86a['lonRange'];},'latRange':function _0x217347(){var _0x449c6a=_0x300375;return _0x26d86a[_0x449c6a(0x265)];},'randomCoefficient':function _0x216d1a(){var _0x3693a4=_0x300375,_0x2fa1d2=Math[_0x3693a4(0x214)]();return _0x2fa1d2;},'dropRate':function _0x1f2e0b(){var _0xf8fb47=_0x300375;return _0x4675e9[_0xf8fb47(0x2b9)];},'dropRateBump':function _0x507baa(){var _0x2669cb=_0x300375;return _0x4675e9[_0x2669cb(0x284)];}},'fragmentShaderSource':new Cesium$3[(_0x300375(0x235))]({'sources':[postProcessingPosition_frag]}),'outputTexture':this[_0x300375(0x283)][_0x300375(0x205)],'preExecute':function _0x51e376(){var _0x4f7814=_0x300375;_0xc31603[_0x4f7814(0x1d3)][_0x4f7814(0x205)]['commandToExecute'][_0x4f7814(0x23e)]=_0xc31603['particlesTextures'][_0x4f7814(0x205)];}}),'postProcessingSpeed':new CustomPrimitive({'commandType':'Compute','uniformMap':{'postProcessingPosition':function _0x46f613(){var _0x220887=_0x300375;return _0xc31603[_0x220887(0x283)][_0x220887(0x205)];},'nextParticlesSpeed':function _0x4de343(){var _0x186c38=_0x300375;return _0xc31603[_0x186c38(0x283)][_0x186c38(0x33b)];}},'fragmentShaderSource':new Cesium$3[(_0x300375(0x235))]({'sources':[postProcessingSpeed_frag]}),'outputTexture':this[_0x300375(0x283)][_0x300375(0x2d1)],'preExecute':function _0x1bea43(){var _0x4afa16=_0x300375;_0xc31603['primitives']['postProcessingSpeed']['commandToExecute']['outputTexture']=_0xc31603[_0x4afa16(0x283)][_0x4afa16(0x2d1)];}})};}}]),_0x3dd461;}()),Cesium$2=mars3d__namespace['Cesium'],ParticleSystem=(function(){var _0x5d7c31=_0x286424;function _0x4793e2(_0x19e95b,_0x45a763,_0x123fda,_0x34f193){var _0x5705c3=_0xc0df;_classCallCheck(this,_0x4793e2),this[_0x5705c3(0x316)]=_0x19e95b,_0x45a763=_objectSpread2({},_0x45a763);if(_0x45a763[_0x5705c3(0x2b5)]&&_0x45a763['vdata']){var _0x53d01c,_0x1b1abb,_0x3e8ea9,_0x36a887,_0x2217ad,_0x41ca3c;_0x45a763['dimensions']={},_0x45a763['dimensions'][_0x5705c3(0x2e4)]=_0x45a763[_0x5705c3(0x2b1)],_0x45a763['dimensions']['lat']=_0x45a763[_0x5705c3(0x2de)],_0x45a763[_0x5705c3(0x318)][_0x5705c3(0x337)]=_0x45a763[_0x5705c3(0x337)]||0x1,_0x45a763[_0x5705c3(0x2e4)]={},_0x45a763[_0x5705c3(0x2e4)][_0x5705c3(0x207)]=_0x45a763[_0x5705c3(0x1cf)],_0x45a763[_0x5705c3(0x2e4)][_0x5705c3(0x1d8)]=_0x45a763[_0x5705c3(0x1d6)],_0x45a763['lat']={},_0x45a763[_0x5705c3(0x31a)]['min']=_0x45a763[_0x5705c3(0x2ee)],_0x45a763['lat'][_0x5705c3(0x1d8)]=_0x45a763['ymax'],_0x45a763['lev']={},_0x45a763['lev'][_0x5705c3(0x207)]=(_0x53d01c=_0x45a763[_0x5705c3(0x2a2)])!==null&&_0x53d01c!==void 0x0?_0x53d01c:0x1,_0x45a763[_0x5705c3(0x337)][_0x5705c3(0x1d8)]=(_0x1b1abb=_0x45a763[_0x5705c3(0x2d4)])!==null&&_0x1b1abb!==void 0x0?_0x1b1abb:0x1,_0x45a763['U']={},_0x45a763['U'][_0x5705c3(0x34a)]=new Float32Array(_0x45a763[_0x5705c3(0x2b5)]),_0x45a763['U'][_0x5705c3(0x207)]=(_0x3e8ea9=_0x45a763[_0x5705c3(0x246)])!==null&&_0x3e8ea9!==void 0x0?_0x3e8ea9:Math[_0x5705c3(0x207)][_0x5705c3(0x1eb)](Math,_toConsumableArray(_0x45a763['udata'])),_0x45a763['U'][_0x5705c3(0x1d8)]=(_0x36a887=_0x45a763[_0x5705c3(0x1d7)])!==null&&_0x36a887!==void 0x0?_0x36a887:Math[_0x5705c3(0x1d8)][_0x5705c3(0x1eb)](Math,_toConsumableArray(_0x45a763['udata'])),_0x45a763['V']={},_0x45a763['V'][_0x5705c3(0x34a)]=new Float32Array(_0x45a763[_0x5705c3(0x219)]),_0x45a763['V']['min']=(_0x2217ad=_0x45a763['vmin'])!==null&&_0x2217ad!==void 0x0?_0x2217ad:Math['min'][_0x5705c3(0x1eb)](Math,_toConsumableArray(_0x45a763[_0x5705c3(0x219)])),_0x45a763['V'][_0x5705c3(0x1d8)]=(_0x41ca3c=_0x45a763[_0x5705c3(0x243)])!==null&&_0x41ca3c!==void 0x0?_0x41ca3c:Math[_0x5705c3(0x1d8)][_0x5705c3(0x1eb)](Math,_toConsumableArray(_0x45a763[_0x5705c3(0x219)]));}this['data']=_0x45a763,this[_0x5705c3(0x1df)]=_0x123fda,this[_0x5705c3(0x2ad)]=_0x34f193,this[_0x5705c3(0x21b)]=new ParticlesComputing(this['context'],this['data'],this[_0x5705c3(0x1df)],this['viewerParameters']),this[_0x5705c3(0x345)]=new ParticlesRendering(this[_0x5705c3(0x316)],this[_0x5705c3(0x1ee)],this[_0x5705c3(0x1df)],this[_0x5705c3(0x2ad)],this[_0x5705c3(0x21b)]);}return _createClass(_0x4793e2,[{'key':_0x5d7c31(0x2df),'value':function _0x4e7abc(_0x252c51){var _0x50ea6b=_0x5d7c31,_0x588495=this;this['particlesComputing']['destroyParticlesTextures'](),Object[_0x50ea6b(0x22d)](this[_0x50ea6b(0x21b)]['windTextures'])['forEach'](function(_0x1f8038){var _0x3ed273=_0x50ea6b;_0x588495[_0x3ed273(0x21b)][_0x3ed273(0x28b)][_0x1f8038]['destroy']();}),this['particlesRendering'][_0x50ea6b(0x310)][_0x50ea6b(0x26b)][_0x50ea6b(0x2ef)](),Object[_0x50ea6b(0x22d)](this[_0x50ea6b(0x345)][_0x50ea6b(0x239)])[_0x50ea6b(0x331)](function(_0x54b46){var _0x347829=_0x50ea6b;_0x588495[_0x347829(0x345)]['framebuffers'][_0x54b46]['destroy']();}),this[_0x50ea6b(0x316)]=_0x252c51,this[_0x50ea6b(0x21b)]=new ParticlesComputing(this['context'],this[_0x50ea6b(0x1ee)],this[_0x50ea6b(0x1df)],this[_0x50ea6b(0x2ad)]),this['particlesRendering']=new ParticlesRendering(this[_0x50ea6b(0x316)],this['data'],this[_0x50ea6b(0x1df)],this[_0x50ea6b(0x2ad)],this[_0x50ea6b(0x21b)]);}},{'key':_0x5d7c31(0x2a0),'value':function _0x883d0d(){var _0x414a32=_0x5d7c31,_0x47e1ad=this,_0x3e26d2=new Cesium$2[(_0x414a32(0x298))]({'color':new Cesium$2['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':undefined,'pass':Cesium$2[_0x414a32(0x2ae)][_0x414a32(0x22b)]});Object[_0x414a32(0x22d)](this[_0x414a32(0x345)][_0x414a32(0x239)])[_0x414a32(0x331)](function(_0x3bbad1){var _0xb3460e=_0x414a32;_0x3e26d2[_0xb3460e(0x32d)]=_0x47e1ad['particlesRendering']['framebuffers'][_0x3bbad1],_0x3e26d2['execute'](_0x47e1ad['context']);});}},{'key':_0x5d7c31(0x2c0),'value':function _0x54796d(_0x34a281){var _0x288ef2=_0x5d7c31;this['clearFramebuffers'](),this[_0x288ef2(0x21b)][_0x288ef2(0x25e)](),this[_0x288ef2(0x21b)][_0x288ef2(0x2a8)](this[_0x288ef2(0x316)],this[_0x288ef2(0x1df)],this[_0x288ef2(0x2ad)]);if(_0x34a281){var _0x341402=this[_0x288ef2(0x345)][_0x288ef2(0x29e)](this[_0x288ef2(0x1df)]);this[_0x288ef2(0x345)][_0x288ef2(0x1d3)][_0x288ef2(0x269)][_0x288ef2(0x224)]=_0x341402;var _0x4ad333=Cesium$2['VertexArray'][_0x288ef2(0x21e)]({'context':this[_0x288ef2(0x316)],'geometry':_0x341402,'attributeLocations':this['particlesRendering']['primitives']['segments'][_0x288ef2(0x302)],'bufferUsage':Cesium$2[_0x288ef2(0x2ff)][_0x288ef2(0x2d2)]});this[_0x288ef2(0x345)][_0x288ef2(0x1d3)]['segments']['commandToExecute'][_0x288ef2(0x327)]=_0x4ad333;}}},{'key':'setOptions','value':function _0x4442ed(_0x28e2bb){var _0x53289b=_0x5d7c31,_0x15ac39=this,_0x4a8637=![];this[_0x53289b(0x1df)]['maxParticles']!==_0x28e2bb['maxParticles']&&(_0x4a8637=!![]),Object[_0x53289b(0x22d)](_0x28e2bb)[_0x53289b(0x331)](function(_0x522561){var _0x372ed2=_0x53289b;_0x15ac39[_0x372ed2(0x1df)][_0x522561]=_0x28e2bb[_0x522561];}),this[_0x53289b(0x2c0)](_0x4a8637);}},{'key':_0x5d7c31(0x312),'value':function _0x1c43ba(_0x3bc697){var _0x434fcc=_0x5d7c31,_0x27ecee=this;Object[_0x434fcc(0x22d)](_0x3bc697)[_0x434fcc(0x331)](function(_0x2314c8){var _0x3421a4=_0x434fcc;_0x27ecee[_0x3421a4(0x2ad)][_0x2314c8]=_0x3bc697[_0x2314c8];}),this[_0x434fcc(0x2c0)](![]);}},{'key':_0x5d7c31(0x2ef),'value':function _0x49c9bd(){var _0x53c29d=_0x5d7c31,_0x27a0e7=this;clearTimeout(this[_0x53c29d(0x264)]),this[_0x53c29d(0x21b)][_0x53c29d(0x25e)](),Object[_0x53c29d(0x22d)](this[_0x53c29d(0x21b)]['windTextures'])['forEach'](function(_0x3cfc9d){var _0x428e3c=_0x53c29d;_0x27a0e7[_0x428e3c(0x21b)]['windTextures'][_0x3cfc9d]['destroy']();}),this[_0x53c29d(0x345)][_0x53c29d(0x310)][_0x53c29d(0x26b)][_0x53c29d(0x2ef)](),Object[_0x53c29d(0x22d)](this[_0x53c29d(0x345)][_0x53c29d(0x239)])[_0x53c29d(0x331)](function(_0x3a0725){var _0xc5fdfd=_0x53c29d;_0x27a0e7['particlesRendering'][_0xc5fdfd(0x239)][_0x3a0725][_0xc5fdfd(0x2ef)]();});for(var _0x57554c in this){delete this[_0x57554c];}}}]),_0x4793e2;}()),Cesium$1=mars3d__namespace[_0x286424(0x2fc)],BaseLayer$1=mars3d__namespace[_0x286424(0x2d0)][_0x286424(0x260)],DEF_OPTIONS={'particlesNumber':0x1000,'fixedHeight':0x0,'fadeOpacity':0.996,'dropRate':0.003,'dropRateBump':0.01,'speedFactor':0.5,'lineWidth':0x2,'colors':[_0x286424(0x2ea)]},WindLayer=function(_0x8811d6){var _0x370a44=_0x286424;_inherits(_0x198b3d,_0x8811d6);var _0x1126c7=_createSuper(_0x198b3d);function _0x198b3d(){var _0xde3f7c=_0xc0df,_0xff7b7,_0x5d3a11=arguments[_0xde3f7c(0x319)]>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};return _classCallCheck(this,_0x198b3d),_0x5d3a11=_objectSpread2(_objectSpread2({},DEF_OPTIONS),_0x5d3a11),_0xff7b7=_0x1126c7[_0xde3f7c(0x2c8)](this,_0x5d3a11),_0xff7b7[_0xde3f7c(0x30a)](_0x5d3a11),_0xff7b7;}return _createClass(_0x198b3d,[{'key':_0x370a44(0x2d0),'get':function _0x5cd43c(){return this['primitives'];}},{'key':_0x370a44(0x1ee),'get':function _0x2b47d9(){var _0x4e1a12=_0x370a44;return this[_0x4e1a12(0x31f)];},'set':function _0x41c010(_0x5de5d4){var _0x17ce0c=_0x370a44;this[_0x17ce0c(0x2e7)](_0x5de5d4);}},{'key':_0x370a44(0x229),'get':function _0x4edb8d(){var _0x1f35fa=_0x370a44;return this['options'][_0x1f35fa(0x229)];},'set':function _0x176380(_0x552a03){var _0x48976b=_0x370a44;this[_0x48976b(0x1df)][_0x48976b(0x229)]=_0x552a03,this[_0x48976b(0x2d6)]&&this[_0x48976b(0x2d6)][_0x48976b(0x2bb)]({'colors':_0x552a03}),this['resize']();}},{'key':'_mountedHook','value':function _0x35bc33(){}},{'key':_0x370a44(0x307),'value':function _0x25086b(){var _0x459501=_0x370a44;this[_0x459501(0x28c)]=this[_0x459501(0x33e)][_0x459501(0x28c)],this[_0x459501(0x212)]=this['_map'][_0x459501(0x212)],this['primitives']=new Cesium$1['PrimitiveCollection'](),this[_0x459501(0x33e)]['scene'][_0x459501(0x1d3)][_0x459501(0x332)](this[_0x459501(0x1d3)]),this[_0x459501(0x2ad)]={'lonRange':new Cesium$1[(_0x459501(0x2c4))](),'latRange':new Cesium$1['Cartesian2'](),'pixelSize':0x0},this[_0x459501(0x2dc)]=new Cesium$1['BoundingSphere'](Cesium$1[_0x459501(0x2b8)][_0x459501(0x2e2)],0.99*0x615299),this[_0x459501(0x1ff)](),window[_0x459501(0x26f)](_0x459501(0x22a),this[_0x459501(0x22a)]['bind'](this),![]),this[_0x459501(0x2bc)]=![],this[_0x459501(0x31d)]=![],this['_map']['on'](mars3d__namespace[_0x459501(0x2be)][_0x459501(0x2b2)],this['_onMapWhellEvent'],this),this[_0x459501(0x33e)]['on'](mars3d__namespace['EventType'][_0x459501(0x2a3)],this['_onMouseDownEvent'],this),this['_map']['on'](mars3d__namespace[_0x459501(0x2be)][_0x459501(0x2a1)],this[_0x459501(0x257)],this),this[_0x459501(0x33e)]['on'](mars3d__namespace[_0x459501(0x2be)][_0x459501(0x285)],this[_0x459501(0x1e6)],this),this[_0x459501(0x31f)]&&this['setData'](this['_data']);}},{'key':_0x370a44(0x274),'value':function _0x19a6f1(){var _0x2236fc=_0x370a44;window[_0x2236fc(0x25f)]('resize',this['resize']),this[_0x2236fc(0x33e)][_0x2236fc(0x211)](mars3d__namespace[_0x2236fc(0x2be)][_0x2236fc(0x227)],this[_0x2236fc(0x206)],this),this['_map'][_0x2236fc(0x211)](mars3d__namespace[_0x2236fc(0x2be)][_0x2236fc(0x2b2)],this[_0x2236fc(0x1f6)],this),this[_0x2236fc(0x33e)][_0x2236fc(0x211)](mars3d__namespace[_0x2236fc(0x2be)][_0x2236fc(0x2a3)],this[_0x2236fc(0x1d4)],this),this[_0x2236fc(0x33e)]['off'](mars3d__namespace[_0x2236fc(0x2be)][_0x2236fc(0x2a1)],this[_0x2236fc(0x257)],this),this[_0x2236fc(0x33e)][_0x2236fc(0x211)](mars3d__namespace['EventType'][_0x2236fc(0x285)],this[_0x2236fc(0x1e6)],this),this[_0x2236fc(0x1d3)][_0x2236fc(0x296)](),this[_0x2236fc(0x33e)]['scene']['primitives'][_0x2236fc(0x1ec)](this['primitives']);}},{'key':_0x370a44(0x22a),'value':function _0x299438(){var _0x35dd86=_0x370a44;if(!this['show']||!this[_0x35dd86(0x2d6)])return;this[_0x35dd86(0x1d3)][_0x35dd86(0x25b)]=![],this[_0x35dd86(0x1d3)]['removeAll'](),this[_0x35dd86(0x33e)]['once'](mars3d__namespace[_0x35dd86(0x2be)][_0x35dd86(0x227)],this['_onMap_preRenderEvent'],this);}},{'key':'_onMap_preRenderEvent','value':function _0x6c37a8(_0x4eda58){var _0x9fffb2=_0x370a44;this[_0x9fffb2(0x2d6)][_0x9fffb2(0x2df)](this[_0x9fffb2(0x28c)][_0x9fffb2(0x316)]),this[_0x9fffb2(0x29a)](),this[_0x9fffb2(0x1d3)][_0x9fffb2(0x25b)]=!![];}},{'key':_0x370a44(0x1f6),'value':function _0x2f25ae(_0x49c2e8){var _0x4b10a1=_0x370a44,_0x2858f6=this;clearTimeout(this[_0x4b10a1(0x2e3)]);if(!this['show']||!this['particleSystem'])return;this[_0x4b10a1(0x1d3)][_0x4b10a1(0x25b)]=![],this[_0x4b10a1(0x2e3)]=setTimeout(function(){if(!_0x2858f6['show'])return;_0x2858f6['redraw']();},0xc8);}},{'key':'_onMouseDownEvent','value':function _0x2b9772(_0x4f5f81){var _0x5697e3=_0x370a44;this[_0x5697e3(0x2bc)]=!![];}},{'key':_0x370a44(0x1e6),'value':function _0x21afd5(_0x47201f){var _0x1afffc=_0x370a44;if(!this[_0x1afffc(0x25b)]||!this['particleSystem'])return;this['mouse_down']&&(this['primitives'][_0x1afffc(0x25b)]=![],this['mouse_move']=!![]);}},{'key':_0x370a44(0x257),'value':function _0x5c6e8c(_0x25feaf){var _0x2e438d=_0x370a44;if(!this[_0x2e438d(0x25b)]||!this['particleSystem'])return;this['mouse_down']&&this[_0x2e438d(0x31d)]&&this[_0x2e438d(0x2f3)](),this['primitives'][_0x2e438d(0x25b)]=!![],this['mouse_down']=![],this[_0x2e438d(0x31d)]=![];}},{'key':_0x370a44(0x2f3),'value':function _0x1dd86a(){var _0x45c516=_0x370a44;if(!this[_0x45c516(0x33e)]||!this[_0x45c516(0x25b)])return;this[_0x45c516(0x1ff)](),this[_0x45c516(0x2d6)][_0x45c516(0x312)](this[_0x45c516(0x2ad)]),this[_0x45c516(0x1d3)][_0x45c516(0x25b)]=!![];}},{'key':_0x370a44(0x2e7),'value':function _0x3f4732(_0x43b401){var _0x51e347=_0x370a44;this['_data']=_0x43b401,this['particleSystem']&&this[_0x51e347(0x2d6)]['destroy'](),this[_0x51e347(0x2d6)]=new ParticleSystem(this[_0x51e347(0x28c)][_0x51e347(0x316)],_0x43b401,this[_0x51e347(0x1f4)](),this[_0x51e347(0x2ad)]),this[_0x51e347(0x29a)]();}},{'key':'_setOptionsHook','value':function _0x4f963e(_0x30f5e0,_0x241073){var _0x47c106=_0x370a44;if(_0x30f5e0)for(var _0x259953 in _0x30f5e0){this[_0x259953]=_0x30f5e0[_0x259953];}this[_0x47c106(0x2d6)]&&this[_0x47c106(0x2d6)][_0x47c106(0x2bb)](this['getOptions']());}},{'key':_0x370a44(0x1f4),'value':function _0x1d8e29(){var _0x40140f=_0x370a44,_0x2e49a9=Math['ceil'](Math[_0x40140f(0x2c9)](this[_0x40140f(0x303)]));return this[_0x40140f(0x303)]=_0x2e49a9*_0x2e49a9,{'particlesTextureSize':_0x2e49a9,'maxParticles':this[_0x40140f(0x303)],'particleHeight':this['fixedHeight'],'fadeOpacity':this['fadeOpacity'],'dropRate':this[_0x40140f(0x2b9)],'dropRateBump':this[_0x40140f(0x284)],'speedFactor':this[_0x40140f(0x252)],'lineWidth':this[_0x40140f(0x24e)],'colors':this[_0x40140f(0x229)]};}},{'key':_0x370a44(0x29a),'value':function _0xfb4015(){var _0x427671=_0x370a44;this[_0x427671(0x1d3)]['add'](this[_0x427671(0x2d6)][_0x427671(0x21b)]['primitives'][_0x427671(0x1f0)]),this['primitives'][_0x427671(0x332)](this[_0x427671(0x2d6)]['particlesComputing'][_0x427671(0x1d3)][_0x427671(0x1ed)]),this[_0x427671(0x1d3)][_0x427671(0x332)](this['particleSystem']['particlesComputing'][_0x427671(0x1d3)][_0x427671(0x26a)]),this[_0x427671(0x1d3)][_0x427671(0x332)](this[_0x427671(0x2d6)][_0x427671(0x21b)][_0x427671(0x1d3)][_0x427671(0x205)]),this['primitives'][_0x427671(0x332)](this['particleSystem'][_0x427671(0x21b)]['primitives'][_0x427671(0x2d1)]),this[_0x427671(0x1d3)][_0x427671(0x332)](this[_0x427671(0x2d6)][_0x427671(0x345)][_0x427671(0x1d3)]['segments']),this[_0x427671(0x1d3)][_0x427671(0x332)](this[_0x427671(0x2d6)][_0x427671(0x345)][_0x427671(0x1d3)][_0x427671(0x1f3)]),this[_0x427671(0x1d3)][_0x427671(0x332)](this[_0x427671(0x2d6)][_0x427671(0x345)][_0x427671(0x1d3)][_0x427671(0x339)]);}},{'key':_0x370a44(0x1ff),'value':function _0x327a58(){var _0x23e43a=_0x370a44,_0x13ebe6=this[_0x23e43a(0x212)][_0x23e43a(0x2fb)](this['scene'][_0x23e43a(0x30b)][_0x23e43a(0x1dd)]);if(!_0x13ebe6){var _0x529c37=this[_0x23e43a(0x33e)][_0x23e43a(0x317)]();_0x13ebe6=Cesium$1[_0x23e43a(0x236)][_0x23e43a(0x233)](_0x529c37[_0x23e43a(0x1cf)],_0x529c37[_0x23e43a(0x2ee)],_0x529c37['xmax'],_0x529c37[_0x23e43a(0x28e)]);}var _0x324bcc=Util[_0x23e43a(0x301)](_0x13ebe6);this[_0x23e43a(0x2ad)][_0x23e43a(0x29b)]['x']=_0x324bcc[_0x23e43a(0x2e4)][_0x23e43a(0x207)],this[_0x23e43a(0x2ad)][_0x23e43a(0x29b)]['y']=_0x324bcc[_0x23e43a(0x2e4)][_0x23e43a(0x1d8)],this[_0x23e43a(0x2ad)]['latRange']['x']=_0x324bcc[_0x23e43a(0x31a)]['min'],this[_0x23e43a(0x2ad)][_0x23e43a(0x265)]['y']=_0x324bcc[_0x23e43a(0x31a)][_0x23e43a(0x1d8)];var _0x538503=this['camera'][_0x23e43a(0x33c)](this[_0x23e43a(0x2dc)],this[_0x23e43a(0x28c)]['drawingBufferWidth'],this['scene'][_0x23e43a(0x2da)]);_0x538503>0x0&&(this[_0x23e43a(0x2ad)][_0x23e43a(0x24c)]=_0x538503);}}]),_0x198b3d;}(BaseLayer$1);function _0xc0df(_0x5ce797,_0x25e26c){var _0x3449b3=_0x3449();return _0xc0df=function(_0xc0df76,_0x5042e6){_0xc0df76=_0xc0df76-0x1cd;var _0x4593c6=_0x3449b3[_0xc0df76];return _0x4593c6;},_0xc0df(_0x5ce797,_0x25e26c);}mars3d__namespace['LayerUtil'][_0x286424(0x20d)](_0x286424(0x28d),WindLayer),mars3d__namespace[_0x286424(0x2d0)]['WindLayer']=WindLayer;var CanvasParticle=(function(){function _0x1c7d99(){var _0x53a211=_0xc0df;_classCallCheck(this,_0x1c7d99),this[_0x53a211(0x223)]=null,this[_0x53a211(0x31a)]=null,this[_0x53a211(0x329)]=null,this[_0x53a211(0x27d)]=null,this[_0x53a211(0x22e)]=null;}return _createClass(_0x1c7d99,[{'key':'destroy','value':function _0x57d78d(){for(var _0x29bcdb in this){delete this[_0x29bcdb];}}}]),_0x1c7d99;}()),CanvasWindField=(function(){var _0xe1fa3a=_0x286424;function _0xff6250(_0x49078f){_classCallCheck(this,_0xff6250),this['setOptions'](_0x49078f);}return _createClass(_0xff6250,[{'key':_0xe1fa3a(0x215),'get':function _0x48cf0c(){var _0xdf784f=_0xe1fa3a;return this[_0xdf784f(0x2f5)];},'set':function _0x3c0bff(_0x26eafa){var _0x3dceb8=_0xe1fa3a;this[_0x3dceb8(0x2f5)]=(0x64-(_0x26eafa>0x63?0x63:_0x26eafa))*0x64,this[_0x3dceb8(0x27b)]=[(this[_0x3dceb8(0x1d6)]-this[_0x3dceb8(0x1cf)])/this[_0x3dceb8(0x2f5)],(this[_0x3dceb8(0x28e)]-this[_0x3dceb8(0x2ee)])/this[_0x3dceb8(0x2f5)]];}},{'key':_0xe1fa3a(0x308),'get':function _0x22b7ca(){return this['_maxAge'];},'set':function _0x487914(_0x2c053c){var _0xe142a=_0xe1fa3a;this[_0xe142a(0x1dc)]=_0x2c053c;}},{'key':'setOptions','value':function _0x4fdbc1(_0x4518e1){var _0x5e5a72=_0xe1fa3a;this[_0x5e5a72(0x1df)]=_0x4518e1,this[_0x5e5a72(0x308)]=_0x4518e1[_0x5e5a72(0x308)]||0x78,this[_0x5e5a72(0x215)]=_0x4518e1[_0x5e5a72(0x215)]||0x32,this[_0x5e5a72(0x203)]=[];var _0x2a15fe=_0x4518e1[_0x5e5a72(0x303)]||0x1000;for(var _0x20c612=0x0;_0x20c612<_0x2a15fe;_0x20c612++){var _0x92edd4=this[_0x5e5a72(0x25d)](new CanvasParticle());this[_0x5e5a72(0x203)][_0x5e5a72(0x280)](_0x92edd4);}}},{'key':_0xe1fa3a(0x290),'value':function _0x566a30(_0x5bc02d){var _0x4fed0c=_0xe1fa3a;this['rows']=_0x5bc02d[_0x4fed0c(0x2de)],this[_0x4fed0c(0x2b1)]=_0x5bc02d[_0x4fed0c(0x2b1)],this[_0x4fed0c(0x1cf)]=_0x5bc02d[_0x4fed0c(0x1cf)],this[_0x4fed0c(0x1d6)]=_0x5bc02d[_0x4fed0c(0x1d6)],this[_0x4fed0c(0x2ee)]=_0x5bc02d['ymin'],this['ymax']=_0x5bc02d[_0x4fed0c(0x28e)],this[_0x4fed0c(0x238)]=[];var _0x1d424e=_0x5bc02d['udata'],_0x2f4f98=_0x5bc02d[_0x4fed0c(0x219)],_0x347d08=![];_0x1d424e[_0x4fed0c(0x319)]===this['rows']&&_0x1d424e[0x0][_0x4fed0c(0x319)]===this[_0x4fed0c(0x2b1)]&&(_0x347d08=!![]);var _0x573023=0x0,_0x8c264d=null,_0x25c9bf=null;for(var _0x8c2a30=0x0;_0x8c2a30<this[_0x4fed0c(0x2de)];_0x8c2a30++){_0x8c264d=[];for(var _0x4826eb=0x0;_0x4826eb<this[_0x4fed0c(0x2b1)];_0x4826eb++,_0x573023++){_0x347d08?_0x25c9bf=this[_0x4fed0c(0x1e5)](_0x1d424e[_0x8c2a30][_0x4826eb],_0x2f4f98[_0x8c2a30][_0x4826eb]):_0x25c9bf=this[_0x4fed0c(0x1e5)](_0x1d424e[_0x573023],_0x2f4f98[_0x573023]),_0x8c264d[_0x4fed0c(0x280)](_0x25c9bf);}this[_0x4fed0c(0x238)][_0x4fed0c(0x280)](_0x8c264d);}this[_0x4fed0c(0x1df)][_0x4fed0c(0x21c)]&&this[_0x4fed0c(0x238)]['reverse']();}},{'key':_0xe1fa3a(0x2c7),'value':function _0x263112(){var _0x17651b=_0xe1fa3a;delete this['rows'],delete this[_0x17651b(0x2b1)],delete this['xmin'],delete this[_0x17651b(0x1d6)],delete this[_0x17651b(0x2ee)],delete this['ymax'],delete this[_0x17651b(0x238)],delete this[_0x17651b(0x203)];}},{'key':'toGridXY','value':function _0x4109be(_0x11f623,_0x3d5ab6){var _0x3ca9c2=_0xe1fa3a,_0x5a592a=(_0x11f623-this[_0x3ca9c2(0x1cf)])/(this[_0x3ca9c2(0x1d6)]-this[_0x3ca9c2(0x1cf)])*(this[_0x3ca9c2(0x2b1)]-0x1),_0x598f1a=(this['ymax']-_0x3d5ab6)/(this['ymax']-this[_0x3ca9c2(0x2ee)])*(this[_0x3ca9c2(0x2de)]-0x1);return[_0x5a592a,_0x598f1a];}},{'key':_0xe1fa3a(0x2c2),'value':function _0x264dee(_0x49ec40,_0xca5a6){var _0x275c67=_0xe1fa3a;if(_0x49ec40<0x0||_0x49ec40>=this[_0x275c67(0x2b1)]||_0xca5a6>=this[_0x275c67(0x2de)])return[0x0,0x0,0x0];var _0x50e491=Math[_0x275c67(0x33a)](_0x49ec40),_0x2cb926=Math[_0x275c67(0x33a)](_0xca5a6);if(_0x50e491===_0x49ec40&&_0x2cb926===_0xca5a6)return this[_0x275c67(0x238)][_0xca5a6][_0x49ec40];var _0x24b951=_0x50e491+0x1,_0x57b208=_0x2cb926+0x1,_0x1cf777=this[_0x275c67(0x2c2)](_0x50e491,_0x2cb926),_0x2b3bd3=this[_0x275c67(0x2c2)](_0x24b951,_0x2cb926),_0x19165e=this[_0x275c67(0x2c2)](_0x50e491,_0x57b208),_0xed9e80=this[_0x275c67(0x2c2)](_0x24b951,_0x57b208),_0x4cf23b=null;try{_0x4cf23b=this[_0x275c67(0x248)](_0x49ec40-_0x50e491,_0xca5a6-_0x2cb926,_0x1cf777,_0x2b3bd3,_0x19165e,_0xed9e80);}catch(_0x259727){console[_0x275c67(0x20a)](_0x49ec40,_0xca5a6);}return _0x4cf23b;}},{'key':_0xe1fa3a(0x248),'value':function _0x5f2f80(_0xfa1047,_0x386870,_0x41859e,_0x4de592,_0x545520,_0x187812){var _0x570644=_0xe1fa3a,_0x46ee22=0x1-_0xfa1047,_0x202989=0x1-_0x386870,_0x29554=_0x46ee22*_0x202989,_0x4764a8=_0xfa1047*_0x202989,_0x16fc13=_0x46ee22*_0x386870,_0x1dbb87=_0xfa1047*_0x386870,_0x6d8744=_0x41859e[0x0]*_0x29554+_0x4de592[0x0]*_0x4764a8+_0x545520[0x0]*_0x16fc13+_0x187812[0x0]*_0x1dbb87,_0x32719c=_0x41859e[0x1]*_0x29554+_0x4de592[0x1]*_0x4764a8+_0x545520[0x1]*_0x16fc13+_0x187812[0x1]*_0x1dbb87;return this[_0x570644(0x1e5)](_0x6d8744,_0x32719c);}},{'key':_0xe1fa3a(0x1e5),'value':function _0x55aed5(_0x1944bf,_0x4ba7c){return[+_0x1944bf,+_0x4ba7c,Math['sqrt'](_0x1944bf*_0x1944bf+_0x4ba7c*_0x4ba7c)];}},{'key':'getUVByPoint','value':function _0xdb0d3e(_0x561e42,_0x4ef365){var _0x72fd10=_0xe1fa3a;if(!this[_0x72fd10(0x326)](_0x561e42,_0x4ef365))return null;var _0x22e558=this['toGridXY'](_0x561e42,_0x4ef365),_0x9cfc26=this['getUVByXY'](_0x22e558[0x0],_0x22e558[0x1]);return _0x9cfc26;}},{'key':_0xe1fa3a(0x326),'value':function _0xd0acae(_0x5d7dba,_0x39c056){var _0x59ad94=_0xe1fa3a;return _0x5d7dba>=this[_0x59ad94(0x1cf)]&&_0x5d7dba<=this[_0x59ad94(0x1d6)]&&_0x39c056>=this['ymin']&&_0x39c056<=this[_0x59ad94(0x28e)]?!![]:![];}},{'key':_0xe1fa3a(0x2e1),'value':function _0x269126(){var _0x153e65=_0xe1fa3a,_0x538775=fRandomByfloat(this[_0x153e65(0x1cf)],this[_0x153e65(0x1d6)]),_0x3de5c8=fRandomByfloat(this[_0x153e65(0x2ee)],this[_0x153e65(0x28e)]);return{'lat':_0x3de5c8,'lng':_0x538775};}},{'key':_0xe1fa3a(0x204),'value':function _0x450555(){var _0x3d7426=_0xe1fa3a,_0x3588ec,_0x22ef3d,_0x5f0128;for(var _0x34ec2d=0x0,_0xdaa93f=this[_0x3d7426(0x203)][_0x3d7426(0x319)];_0x34ec2d<_0xdaa93f;_0x34ec2d++){var _0x5acb27=this[_0x3d7426(0x203)][_0x34ec2d];_0x5acb27[_0x3d7426(0x22e)]<=0x0&&(_0x5acb27=this[_0x3d7426(0x25d)](_0x5acb27));if(_0x5acb27[_0x3d7426(0x22e)]>0x0){var _0x5f0f45=_0x5acb27[_0x3d7426(0x329)],_0x22536a=_0x5acb27[_0x3d7426(0x27d)];_0x5f0128=this['getUVByPoint'](_0x5f0f45,_0x22536a),_0x5f0128?(_0x3588ec=_0x5f0f45+this[_0x3d7426(0x27b)][0x0]*_0x5f0128[0x0],_0x22ef3d=_0x22536a+this[_0x3d7426(0x27b)][0x1]*_0x5f0128[0x1],_0x5acb27[_0x3d7426(0x223)]=_0x5f0f45,_0x5acb27[_0x3d7426(0x31a)]=_0x22536a,_0x5acb27[_0x3d7426(0x329)]=_0x3588ec,_0x5acb27[_0x3d7426(0x27d)]=_0x22ef3d,_0x5acb27[_0x3d7426(0x22e)]--):_0x5acb27[_0x3d7426(0x22e)]=0x0;}}return this[_0x3d7426(0x203)];}},{'key':'_randomParticle','value':function _0x3faf86(_0x1484c7){var _0x760065=_0xe1fa3a,_0x404bf0,_0x527925;for(var _0x577791=0x0;_0x577791<0x1e;_0x577791++){_0x404bf0=this['getRandomLatLng'](),_0x527925=this[_0x760065(0x2a7)](_0x404bf0[_0x760065(0x223)],_0x404bf0[_0x760065(0x31a)]);if(_0x527925&&_0x527925[0x2]>0x0)break;}if(!_0x527925)return _0x1484c7;var _0x552d6b=_0x404bf0[_0x760065(0x223)]+this[_0x760065(0x27b)][0x0]*_0x527925[0x0],_0x29bf94=_0x404bf0[_0x760065(0x31a)]+this[_0x760065(0x27b)][0x1]*_0x527925[0x1];return _0x1484c7[_0x760065(0x223)]=_0x404bf0['lng'],_0x1484c7[_0x760065(0x31a)]=_0x404bf0[_0x760065(0x31a)],_0x1484c7[_0x760065(0x329)]=_0x552d6b,_0x1484c7[_0x760065(0x27d)]=_0x29bf94,_0x1484c7[_0x760065(0x22e)]=Math['round'](Math[_0x760065(0x214)]()*this[_0x760065(0x308)]),_0x1484c7;}},{'key':_0xe1fa3a(0x2ef),'value':function _0x52e238(){for(var _0x378eba in this){delete this[_0x378eba];}}}]),_0xff6250;}());function fRandomByfloat(_0x13a887,_0x2c7e3f){var _0x35eb59=_0x286424;return _0x13a887+Math[_0x35eb59(0x214)]()*(_0x2c7e3f-_0x13a887);}var Cesium=mars3d__namespace['Cesium'],BaseLayer=mars3d__namespace[_0x286424(0x2d0)][_0x286424(0x260)],CanvasWindLayer=function(_0x43f7fe){var _0x1d81d2=_0x286424;_inherits(_0x4c21e8,_0x43f7fe);var _0x56a075=_createSuper(_0x4c21e8);function _0x4c21e8(){var _0x8daad4=_0xc0df,_0x52270f,_0x9482a9=arguments[_0x8daad4(0x319)]>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};return _classCallCheck(this,_0x4c21e8),_0x52270f=_0x56a075[_0x8daad4(0x2c8)](this,_0x9482a9),_0x52270f[_0x8daad4(0x30a)](_0x9482a9),_0x52270f[_0x8daad4(0x2c3)]=null,_0x52270f;}return _createClass(_0x4c21e8,[{'key':_0x1d81d2(0x30a),'value':function _0xedbe00(_0x5499c3,_0x3d5f41){var _0x45dfe2=_0x1d81d2,_0x45f96e,_0x533e04,_0x34845b;this[_0x45dfe2(0x1f1)]=0x3e8/(_0x5499c3[_0x45dfe2(0x276)]||0xa),this[_0x45dfe2(0x1e9)]=(_0x45f96e=this[_0x45dfe2(0x1df)][_0x45dfe2(0x25c)])!==null&&_0x45f96e!==void 0x0?_0x45f96e:![],this[_0x45dfe2(0x2d3)]=_0x5499c3[_0x45dfe2(0x2d3)]||_0x45dfe2(0x33d),this[_0x45dfe2(0x24e)]=_0x5499c3[_0x45dfe2(0x24e)]||0x1,this[_0x45dfe2(0x21f)]=(_0x533e04=_0x5499c3[_0x45dfe2(0x21f)])!==null&&_0x533e04!==void 0x0?_0x533e04:0x0,this[_0x45dfe2(0x21c)]=(_0x34845b=_0x5499c3[_0x45dfe2(0x21c)])!==null&&_0x34845b!==void 0x0?_0x34845b:![],this[_0x45dfe2(0x2e8)]&&this[_0x45dfe2(0x2e8)][_0x45dfe2(0x2bb)](_0x5499c3);}},{'key':_0x1d81d2(0x2d0),'get':function _0x4ba5cc(){return this['canvas'];}},{'key':_0x1d81d2(0x27e),'get':function _0x4d6f09(){var _0x1e8dd1=_0x1d81d2;return this[_0x1e8dd1(0x33e)][_0x1e8dd1(0x28c)][_0x1e8dd1(0x2c3)][_0x1e8dd1(0x245)];}},{'key':_0x1d81d2(0x242),'get':function _0x365f3d(){var _0xc447f0=_0x1d81d2;return this[_0xc447f0(0x33e)][_0xc447f0(0x28c)][_0xc447f0(0x2c3)][_0xc447f0(0x253)];}},{'key':_0x1d81d2(0x25c),'get':function _0x53978c(){var _0x338fca=_0x1d81d2;return this[_0x338fca(0x1e9)];},'set':function _0x285741(_0x125da4){var _0x2636da=_0x1d81d2;this[_0x2636da(0x1e9)]=_0x125da4;if(!this[_0x2636da(0x2c3)])return;_0x125da4?this['canvas'][_0x2636da(0x287)][_0x2636da(0x32a)]=_0x2636da(0x21d):this[_0x2636da(0x2c3)][_0x2636da(0x287)][_0x2636da(0x32a)]=_0x2636da(0x2a9);}},{'key':'particlesNumber','get':function _0x55f0c2(){var _0x1b37de=_0x1d81d2;return this[_0x1b37de(0x1df)]['particlesNumber'];},'set':function _0x59250e(_0x55fda1){var _0x58842d=_0x1d81d2,_0xefc27=this;this['options']['particlesNumber']=_0x55fda1,clearTimeout(this[_0x58842d(0x256)]),this[_0x58842d(0x256)]=setTimeout(function(){var _0x366d5b=_0x58842d;_0xefc27[_0x366d5b(0x2f3)]();},0x1f4);}},{'key':_0x1d81d2(0x215),'get':function _0x26e160(){var _0x3bb3dc=_0x1d81d2;return this[_0x3bb3dc(0x1df)][_0x3bb3dc(0x215)];},'set':function _0x32789c(_0x2901c0){var _0x1de32b=_0x1d81d2;this[_0x1de32b(0x1df)][_0x1de32b(0x215)]=_0x2901c0,this[_0x1de32b(0x2e8)]&&(this[_0x1de32b(0x2e8)]['speedRate']=_0x2901c0);}},{'key':_0x1d81d2(0x308),'get':function _0x400d50(){var _0x543bc0=_0x1d81d2;return this[_0x543bc0(0x1df)]['maxAge'];},'set':function _0x2ec240(_0x2ad320){var _0x22f351=_0x1d81d2;this[_0x22f351(0x1df)]['maxAge']=_0x2ad320,this[_0x22f351(0x2e8)]&&(this[_0x22f351(0x2e8)][_0x22f351(0x308)]=_0x2ad320);}},{'key':_0x1d81d2(0x1ee),'get':function _0x5a259c(){var _0x57ea77=_0x1d81d2;return this[_0x57ea77(0x2cb)];},'set':function _0x210fa4(_0x3d0b90){var _0x95b20e=_0x1d81d2;this[_0x95b20e(0x2e7)](_0x3d0b90);}},{'key':_0x1d81d2(0x234),'value':function _0x4add8f(_0xc2b02){var _0x2c99e2=_0x1d81d2;_0xc2b02?this['_addedHook']():(this[_0x2c99e2(0x2cb)]&&(this[_0x2c99e2(0x1df)][_0x2c99e2(0x1ee)]=this[_0x2c99e2(0x2cb)]),this[_0x2c99e2(0x274)]());}},{'key':'_mountedHook','value':function _0x595eb0(){var _0x57fe88=_0x1d81d2;this[_0x57fe88(0x1df)]['worker']?this[_0x57fe88(0x226)]():this['windField']=new CanvasWindField(this[_0x57fe88(0x1df)]);}},{'key':'_addedHook','value':function _0x313188(){var _0x4135f3=_0x1d81d2;this['canvas']=this[_0x4135f3(0x348)](),this[_0x4135f3(0x1ef)]=this[_0x4135f3(0x2c3)]['getContext']('2d',{'willReadFrequently':!![]}),this[_0x4135f3(0x315)](),this[_0x4135f3(0x1df)]['data']&&this[_0x4135f3(0x2e7)](this[_0x4135f3(0x1df)][_0x4135f3(0x1ee)]);}},{'key':'_removedHook','value':function _0x2e8bde(){var _0x1913a9=_0x1d81d2;this['clear'](),this[_0x1913a9(0x27a)](),this[_0x1913a9(0x2c3)]&&(this[_0x1913a9(0x33e)][_0x1913a9(0x295)][_0x1913a9(0x336)](this[_0x1913a9(0x2c3)]),delete this['canvas']);}},{'key':_0x1d81d2(0x348),'value':function _0x4e788a(){var _0x3885ab=_0x1d81d2,_0xc708a4=document[_0x3885ab(0x1e4)](_0x3885ab(0x2c3));_0xc708a4[_0x3885ab(0x287)][_0x3885ab(0x32e)]=_0x3885ab(0x217),_0xc708a4[_0x3885ab(0x287)]['top']=_0x3885ab(0x2f7),_0xc708a4[_0x3885ab(0x287)][_0x3885ab(0x2d9)]=_0x3885ab(0x2f7),_0xc708a4[_0x3885ab(0x287)][_0x3885ab(0x32b)]='100%',_0xc708a4['style']['height']='100%',_0xc708a4[_0x3885ab(0x287)][_0x3885ab(0x25c)]=this[_0x3885ab(0x1e9)]?_0x3885ab(0x286):'none',_0xc708a4['style'][_0x3885ab(0x20e)]=0xa,_0xc708a4['setAttribute']('id',_0x3885ab(0x2b0)),_0xc708a4[_0x3885ab(0x23a)](_0x3885ab(0x1fa),_0x3885ab(0x2b0)),this[_0x3885ab(0x33e)][_0x3885ab(0x295)][_0x3885ab(0x30e)](_0xc708a4);var _0x373056=this[_0x3885ab(0x33e)][_0x3885ab(0x28c)];return _0xc708a4['width']=_0x373056[_0x3885ab(0x2c3)][_0x3885ab(0x245)],_0xc708a4[_0x3885ab(0x2dd)]=_0x373056[_0x3885ab(0x2c3)][_0x3885ab(0x253)],_0xc708a4;}},{'key':'resize','value':function _0x222580(){var _0x54bb40=_0x1d81d2;this[_0x54bb40(0x2c3)]&&(this[_0x54bb40(0x2c3)][_0x54bb40(0x32b)]=this['canvasWidth'],this[_0x54bb40(0x2c3)][_0x54bb40(0x2dd)]=this['canvasHeight']);}},{'key':'bindEvent','value':function _0x20ae2c(){var _0x4545b6=_0x1d81d2,_0x5b3807=this,_0x379c62=Date[_0x4545b6(0x1f5)]();(function _0x262c9d(){var _0x27ca5b=_0x4545b6;_0x5b3807[_0x27ca5b(0x31c)]=window[_0x27ca5b(0x231)](_0x262c9d);if(_0x5b3807[_0x27ca5b(0x25b)]&&_0x5b3807[_0x27ca5b(0x2e8)]){var _0x2ef6ad=Date[_0x27ca5b(0x1f5)](),_0x14b97f=_0x2ef6ad-_0x379c62;_0x14b97f>_0x5b3807['frameTime']&&(_0x379c62=_0x2ef6ad-_0x14b97f%_0x5b3807['frameTime'],_0x5b3807[_0x27ca5b(0x25a)]());}}(),window[_0x4545b6(0x26f)](_0x4545b6(0x22a),this[_0x4545b6(0x22a)][_0x4545b6(0x202)](this),![]),this['mouse_down']=![],this[_0x4545b6(0x31d)]=![],this[_0x4545b6(0x1df)][_0x4545b6(0x254)]&&(this[_0x4545b6(0x33e)]['on'](mars3d__namespace[_0x4545b6(0x2be)][_0x4545b6(0x2b2)],this[_0x4545b6(0x1f6)],this),this[_0x4545b6(0x33e)]['on'](mars3d__namespace[_0x4545b6(0x2be)][_0x4545b6(0x2a3)],this[_0x4545b6(0x1d4)],this),this[_0x4545b6(0x33e)]['on'](mars3d__namespace[_0x4545b6(0x2be)]['mouseUp'],this[_0x4545b6(0x257)],this)));}},{'key':_0x1d81d2(0x27a),'value':function _0x2d6f86(){var _0x2709ad=_0x1d81d2;window['cancelAnimationFrame'](this[_0x2709ad(0x31c)]),delete this[_0x2709ad(0x31c)],window['removeEventListener'](_0x2709ad(0x22a),this[_0x2709ad(0x22a)]),this[_0x2709ad(0x1df)][_0x2709ad(0x254)]&&(this[_0x2709ad(0x33e)]['off'](mars3d__namespace[_0x2709ad(0x2be)][_0x2709ad(0x2b2)],this['_onMapWhellEvent'],this),this[_0x2709ad(0x33e)]['off'](mars3d__namespace[_0x2709ad(0x2be)][_0x2709ad(0x2a3)],this[_0x2709ad(0x1d4)],this),this[_0x2709ad(0x33e)][_0x2709ad(0x211)](mars3d__namespace['EventType'][_0x2709ad(0x2a1)],this[_0x2709ad(0x257)],this),this[_0x2709ad(0x33e)][_0x2709ad(0x211)](mars3d__namespace[_0x2709ad(0x2be)][_0x2709ad(0x285)],this['_onMouseMoveEvent'],this));}},{'key':_0x1d81d2(0x1f6),'value':function _0x4258f4(_0x5303af){var _0x2fb6f8=_0x1d81d2,_0x4ec7dd=this;clearTimeout(this[_0x2fb6f8(0x2e3)]);if(!this['show']||!this[_0x2fb6f8(0x2c3)])return;this['canvas'][_0x2fb6f8(0x287)][_0x2fb6f8(0x228)]=_0x2fb6f8(0x2b6),this[_0x2fb6f8(0x2e3)]=setTimeout(function(){var _0x4d201f=_0x2fb6f8;if(!_0x4ec7dd[_0x4d201f(0x25b)])return;_0x4ec7dd[_0x4d201f(0x2f3)](),_0x4ec7dd[_0x4d201f(0x2c3)][_0x4d201f(0x287)]['visibility']=_0x4d201f(0x237);},0xc8);}},{'key':_0x1d81d2(0x1d4),'value':function _0x4edc1a(_0x90f02a){var _0x3bde92=_0x1d81d2;this['mouse_down']=!![],this['_map'][_0x3bde92(0x211)](mars3d__namespace['EventType'][_0x3bde92(0x285)],this[_0x3bde92(0x1e6)],this),this['_map']['on'](mars3d__namespace[_0x3bde92(0x2be)][_0x3bde92(0x285)],this[_0x3bde92(0x1e6)],this);}},{'key':_0x1d81d2(0x1e6),'value':function _0x55e016(_0x45f445){var _0x4085db=_0x1d81d2;if(!this['show']||!this['canvas'])return;this[_0x4085db(0x2bc)]&&(this[_0x4085db(0x2c3)]['style']['visibility']=_0x4085db(0x2b6),this['mouse_move']=!![]);}},{'key':_0x1d81d2(0x257),'value':function _0x1fc6bd(_0x29ff04){var _0x48060b=_0x1d81d2;if(!this['show']||!this[_0x48060b(0x2c3)])return;this['_map']['off'](mars3d__namespace[_0x48060b(0x2be)][_0x48060b(0x285)],this[_0x48060b(0x1e6)],this),this[_0x48060b(0x2bc)]&&this[_0x48060b(0x31d)]&&this[_0x48060b(0x2f3)](),this[_0x48060b(0x2c3)][_0x48060b(0x287)][_0x48060b(0x228)]=_0x48060b(0x237),this[_0x48060b(0x2bc)]=![],this[_0x48060b(0x31d)]=![];}},{'key':'setData','value':function _0x167e4d(_0x22d552){var _0x337b36=_0x1d81d2;this[_0x337b36(0x2c7)](),this['windData']=_0x22d552,this['windField'][_0x337b36(0x290)](_0x22d552),this[_0x337b36(0x2f3)]();}},{'key':_0x1d81d2(0x2f3),'value':function _0x40daef(){var _0x1a9d72=_0x1d81d2;if(!this[_0x1a9d72(0x25b)])return;this['windField'][_0x1a9d72(0x2bb)](this[_0x1a9d72(0x1df)]),this['update']();}},{'key':_0x1d81d2(0x25a),'value':function _0x4769c5(){var _0x3e93a7=_0x1d81d2;if(this[_0x3e93a7(0x258)])return;this[_0x3e93a7(0x258)]=!![];if(this[_0x3e93a7(0x1da)])this[_0x3e93a7(0x2e8)]['update']();else{var _0x33b75c=this[_0x3e93a7(0x2e8)][_0x3e93a7(0x204)]();this[_0x3e93a7(0x27f)](_0x33b75c);}this[_0x3e93a7(0x258)]=![];}},{'key':'_drawLines','value':function _0x2ef108(_0x460902){var _0x12dd00=_0x1d81d2;this[_0x12dd00(0x1ef)]['globalCompositeOperation']=_0x12dd00(0x225),this[_0x12dd00(0x1ef)]['fillRect'](0x0,0x0,this[_0x12dd00(0x27e)],this[_0x12dd00(0x242)]),this[_0x12dd00(0x1ef)]['globalCompositeOperation']=_0x12dd00(0x2d8),this[_0x12dd00(0x1ef)][_0x12dd00(0x29f)]=0.9,this[_0x12dd00(0x1ef)][_0x12dd00(0x2f6)](),this['canvasContext'][_0x12dd00(0x24e)]=this[_0x12dd00(0x24e)],this['canvasContext'][_0x12dd00(0x27c)]=this[_0x12dd00(0x2d3)];var _0x1bc001=this[_0x12dd00(0x33e)]['scene']['mode']!==Cesium[_0x12dd00(0x2c5)]['SCENE3D'];for(var _0x64a10b=0x0,_0x49218d=_0x460902[_0x12dd00(0x319)];_0x64a10b<_0x49218d;_0x64a10b++){var _0x21b534=_0x460902[_0x64a10b],_0xf8dfc2=this['_tomap'](_0x21b534[_0x12dd00(0x223)],_0x21b534[_0x12dd00(0x31a)],_0x21b534),_0x1f972b=this['_tomap'](_0x21b534[_0x12dd00(0x329)],_0x21b534[_0x12dd00(0x27d)],_0x21b534);if(!_0xf8dfc2||!_0x1f972b)continue;if(_0x1bc001&&Math[_0x12dd00(0x297)](_0xf8dfc2[0x0]-_0x1f972b[0x0])>=this['canvasWidth'])continue;this['canvasContext']['moveTo'](_0xf8dfc2[0x0],_0xf8dfc2[0x1]),this['canvasContext']['lineTo'](_0x1f972b[0x0],_0x1f972b[0x1]);}this[_0x12dd00(0x1ef)]['stroke']();}},{'key':_0x1d81d2(0x31e),'value':function _0x3bf2ce(_0x577c61,_0x2eaa86,_0x3d9fba){var _0x368cef=_0x1d81d2,_0x479cec=Cesium[_0x368cef(0x2b8)][_0x368cef(0x233)](_0x577c61,_0x2eaa86,this['fixedHeight']),_0x3d1bc6=this[_0x368cef(0x33e)]['scene'];if(_0x3d1bc6[_0x368cef(0x1e1)]===Cesium[_0x368cef(0x2c5)]['SCENE3D']){var _0x5e401d=new Cesium[(_0x368cef(0x1ea))](_0x3d1bc6[_0x368cef(0x30b)]['ellipsoid'],_0x3d1bc6[_0x368cef(0x212)][_0x368cef(0x259)]),_0x43717d=_0x5e401d[_0x368cef(0x1de)](_0x479cec);if(!_0x43717d)return _0x3d9fba['age']=0x0,null;}var _0x36eb1f=Cesium[_0x368cef(0x20b)]['wgs84ToWindowCoordinates'](this[_0x368cef(0x33e)][_0x368cef(0x28c)],_0x479cec);return _0x36eb1f?[_0x36eb1f['x'],_0x36eb1f['y']]:null;}},{'key':_0x1d81d2(0x2c7),'value':function _0x401df3(){var _0x2c6e3f=_0x1d81d2;this[_0x2c6e3f(0x2e8)][_0x2c6e3f(0x2c7)](),delete this['windData'];}},{'key':_0x1d81d2(0x226),'value':function _0x39a779(){var _0x133906=_0x1d81d2,_0x62e791=this;this['worker']=new Worker(this[_0x133906(0x1df)][_0x133906(0x1da)]),this[_0x133906(0x1da)][_0x133906(0x304)]=function(_0x428f51){var _0x1f3aa4=_0x133906;_0x62e791[_0x1f3aa4(0x27f)](_0x428f51['data']['particles']),_0x62e791[_0x1f3aa4(0x1fb)]=![];},this[_0x133906(0x2e8)]={'init':function _0x5d674e(_0x596161){var _0x352036=_0x133906;_0x62e791['worker'][_0x352036(0x2fa)]({'type':_0x352036(0x2ca),'options':_0x596161});},'setOptions':function _0xa0644c(_0x8dfde0){var _0x4ef7bc=_0x133906;_0x62e791[_0x4ef7bc(0x1da)][_0x4ef7bc(0x2fa)]({'type':_0x4ef7bc(0x2bb),'options':_0x8dfde0});},'setDate':function _0x47f2ed(_0x4f9754){var _0x4114a8=_0x133906;_0x62e791['worker'][_0x4114a8(0x2fa)]({'type':_0x4114a8(0x290),'data':_0x4f9754});},'update':function _0x55185d(){var _0x842705=_0x133906;if(_0x62e791[_0x842705(0x1fb)])return;_0x62e791['_updateIng2']=!![],_0x62e791[_0x842705(0x1da)][_0x842705(0x2fa)]({'type':'update'});},'clear':function _0x12a0a7(){var _0x19bd38=_0x133906;_0x62e791['worker']['postMessage']({'type':_0x19bd38(0x2c7)});}},this[_0x133906(0x2e8)]['init'](this[_0x133906(0x1df)]);}}]),_0x4c21e8;}(BaseLayer);mars3d__namespace[_0x286424(0x299)]['register']('canvasWind',CanvasWindLayer),mars3d__namespace[_0x286424(0x2d0)][_0x286424(0x279)]=CanvasWindLayer,mars3d__namespace[_0x286424(0x2af)]=CanvasWindField,mars3d__namespace[_0x286424(0x21a)]=WindUtil,exports[_0x286424(0x2af)]=CanvasWindField,exports[_0x286424(0x279)]=CanvasWindLayer,exports['WindLayer']=WindLayer,exports[_0x286424(0x21a)]=WindUtil,Object[_0x286424(0x230)](exports,_0x286424(0x1d1),{'value':!![]});
|
|
15
15
|
}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mars3d-wind",
|
|
3
|
-
"version": "3.4.
|
|
3
|
+
"version": "3.4.17",
|
|
4
4
|
"description": "Mars3D平台插件,支持气象 风向图 功能插件",
|
|
5
5
|
"main": "dist/mars3d-wind.js",
|
|
6
6
|
"files": [
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
],
|
|
9
9
|
"dependencies": {},
|
|
10
10
|
"devDependencies": {
|
|
11
|
-
"mars3d": "~3.4.
|
|
11
|
+
"mars3d": "~3.4.17"
|
|
12
12
|
},
|
|
13
13
|
"scripts": {
|
|
14
14
|
"lint": "eslint ./src/**/*.{js,ts} --fix"
|