园林绿化
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

15 lines
96 KiB

/**
* Mars3D平台插件,支持气象 风向图 功能插件 mars3d-wind
*
* 版本信息:v3.4.18
* 编译日期:2022-12-13 20:12:45
* 版权所有:Copyright by 火星科技 http://mars3d.cn
* 使用单位:免费公开版 ,2022-06-01
*/
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, (window.mars3d || require('mars3d'))) :
typeof define === 'function' && define.amd ? define(['exports', 'mars3d'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["mars3d-wind"] = {}, global.mars3d));
})(this, (function (exports, mars3d) {
'use strict';var _0x2b205c=_0xfde8;(function(_0x125015,_0x306ce6){var _0x58a79e=_0xfde8,_0x24f6e6=_0x125015();while(!![]){try{var _0x47d93d=-parseInt(_0x58a79e(0x29e))/0x1+-parseInt(_0x58a79e(0x293))/0x2+parseInt(_0x58a79e(0x210))/0x3+parseInt(_0x58a79e(0x1ad))/0x4*(-parseInt(_0x58a79e(0x2cf))/0x5)+parseInt(_0x58a79e(0x205))/0x6*(parseInt(_0x58a79e(0x211))/0x7)+-parseInt(_0x58a79e(0x1e1))/0x8*(-parseInt(_0x58a79e(0x167))/0x9)+parseInt(_0x58a79e(0x178))/0xa;if(_0x47d93d===_0x306ce6)break;else _0x24f6e6['push'](_0x24f6e6['shift']());}catch(_0x472ed8){_0x24f6e6['push'](_0x24f6e6['shift']());}}}(_0x55b1,0x5cbf9));function _interopNamespace(_0x43a905){var _0x1c091f=_0xfde8;if(_0x43a905&&_0x43a905[_0x1c091f(0x297)])return _0x43a905;var _0x4dd974=Object[_0x1c091f(0x213)](null);return _0x43a905&&Object[_0x1c091f(0x24b)](_0x43a905)[_0x1c091f(0x1c8)](function(_0x5ee429){var _0x26d23f=_0x1c091f;if(_0x5ee429!=='default'){var _0xf9f247=Object[_0x26d23f(0x21b)](_0x43a905,_0x5ee429);Object[_0x26d23f(0x169)](_0x4dd974,_0x5ee429,_0xf9f247['get']?_0xf9f247:{'enumerable':!![],'get':function(){return _0x43a905[_0x5ee429];}});}}),_0x4dd974[_0x1c091f(0x2dd)]=_0x43a905,_0x4dd974;}var mars3d__namespace=_interopNamespace(mars3d),Cesium$7=mars3d__namespace['Cesium'];function getU(_0x49bbf3,_0x250a02){var _0x1ee17e=_0xfde8,_0x392a2e=_0x49bbf3*Math[_0x1ee17e(0x1a6)](Cesium$7[_0x1ee17e(0x1f8)][_0x1ee17e(0x2b5)](_0x250a02));return _0x392a2e;}function getV(_0x27750f,_0x32ba74){var _0x4a0df5=_0xfde8,_0x1ddf68=_0x27750f*Math['sin'](Cesium$7[_0x4a0df5(0x1f8)]['toRadians'](_0x32ba74));return _0x1ddf68;}function getSpeed(_0x29cb5a,_0x2b9380){var _0x21a779=_0xfde8,_0x51fa0e=Math[_0x21a779(0x26b)](Math[_0x21a779(0x1d4)](_0x29cb5a,0x2)+Math[_0x21a779(0x1d4)](_0x2b9380,0x2));return _0x51fa0e;}function getDirection(_0x44dc04,_0x115b69){var _0x3635c3=_0xfde8,_0x43b5b4=Cesium$7[_0x3635c3(0x1f8)][_0x3635c3(0x2cb)](Math[_0x3635c3(0x231)](_0x115b69,_0x44dc04));return _0x43b5b4+=_0x43b5b4<0x0?0x168:0x0,_0x43b5b4;}var WindUtil={'__proto__':null,'getU':getU,'getV':getV,'getSpeed':getSpeed,'getDirection':getDirection};function ownKeys(_0x545698,_0x12af9b){var _0x11329c=_0xfde8,_0xfb2d04=Object['keys'](_0x545698);if(Object['getOwnPropertySymbols']){var _0x309500=Object['getOwnPropertySymbols'](_0x545698);_0x12af9b&&(_0x309500=_0x309500[_0x11329c(0x185)](function(_0x1ce4e3){var _0x1b3507=_0x11329c;return Object[_0x1b3507(0x21b)](_0x545698,_0x1ce4e3)['enumerable'];})),_0xfb2d04['push'][_0x11329c(0x278)](_0xfb2d04,_0x309500);}return _0xfb2d04;}function _objectSpread2(_0x1a721e){var _0x57e329=_0xfde8;for(var _0x2f9b22=0x1;_0x2f9b22<arguments['length'];_0x2f9b22++){var _0x43099d=null!=arguments[_0x2f9b22]?arguments[_0x2f9b22]:{};_0x2f9b22%0x2?ownKeys(Object(_0x43099d),!0x0)[_0x57e329(0x1c8)](function(_0x500973){_defineProperty(_0x1a721e,_0x500973,_0x43099d[_0x500973]);}):Object[_0x57e329(0x1b6)]?Object['defineProperties'](_0x1a721e,Object[_0x57e329(0x1b6)](_0x43099d)):ownKeys(Object(_0x43099d))[_0x57e329(0x1c8)](function(_0x388e56){var _0x5b8ff1=_0x57e329;Object[_0x5b8ff1(0x169)](_0x1a721e,_0x388e56,Object[_0x5b8ff1(0x21b)](_0x43099d,_0x388e56));});}return _0x1a721e;}function _0xfde8(_0x966747,_0x5d8261){var _0x55b168=_0x55b1();return _0xfde8=function(_0xfde856,_0x41947c){_0xfde856=_0xfde856-0x157;var _0x2a937a=_0x55b168[_0xfde856];return _0x2a937a;},_0xfde8(_0x966747,_0x5d8261);}function _classCallCheck(_0x5be4d4,_0x2f3f23){var _0x2f90ca=_0xfde8;if(!(_0x5be4d4 instanceof _0x2f3f23))throw new TypeError(_0x2f90ca(0x264));}function _defineProperties(_0x2fd4a2,_0xa3da5e){var _0x5675e7=_0xfde8;for(var _0xda3d3a=0x0;_0xda3d3a<_0xa3da5e[_0x5675e7(0x15e)];_0xda3d3a++){var _0x108818=_0xa3da5e[_0xda3d3a];_0x108818[_0x5675e7(0x18c)]=_0x108818[_0x5675e7(0x18c)]||![],_0x108818[_0x5675e7(0x2b2)]=!![];if('value'in _0x108818)_0x108818[_0x5675e7(0x201)]=!![];Object[_0x5675e7(0x169)](_0x2fd4a2,_0x108818[_0x5675e7(0x2cd)],_0x108818);}}function _createClass(_0x53b1de,_0x1724c2,_0x50e8bb){var _0x3ecce8=_0xfde8;if(_0x1724c2)_defineProperties(_0x53b1de['prototype'],_0x1724c2);if(_0x50e8bb)_defineProperties(_0x53b1de,_0x50e8bb);return Object[_0x3ecce8(0x169)](_0x53b1de,_0x3ecce8(0x1dc),{'writable':![]}),_0x53b1de;}function _defineProperty(_0x169057,_0x67abdf,_0x5cb4c6){var _0x3667d8=_0xfde8;return _0x67abdf in _0x169057?Object[_0x3667d8(0x169)](_0x169057,_0x67abdf,{'value':_0x5cb4c6,'enumerable':!![],'configurable':!![],'writable':!![]}):_0x169057[_0x67abdf]=_0x5cb4c6,_0x169057;}function _inherits(_0xe2c796,_0xfee5eb){var _0x4d3b40=_0xfde8;if(typeof _0xfee5eb!=='function'&&_0xfee5eb!==null)throw new TypeError(_0x4d3b40(0x170));_0xe2c796['prototype']=Object['create'](_0xfee5eb&&_0xfee5eb[_0x4d3b40(0x1dc)],{'constructor':{'value':_0xe2c796,'writable':!![],'configurable':!![]}}),Object['defineProperty'](_0xe2c796,_0x4d3b40(0x1dc),{'writable':![]});if(_0xfee5eb)_setPrototypeOf(_0xe2c796,_0xfee5eb);}function _getPrototypeOf(_0x39c297){var _0x480d40=_0xfde8;return _getPrototypeOf=Object[_0x480d40(0x1e8)]?Object[_0x480d40(0x263)]['bind']():function _0x2ab9bf(_0x741b19){var _0x3b5bd8=_0x480d40;return _0x741b19[_0x3b5bd8(0x2be)]||Object[_0x3b5bd8(0x263)](_0x741b19);},_getPrototypeOf(_0x39c297);}function _setPrototypeOf(_0x1c6d6f,_0x50e3a1){var _0x3e4312=_0xfde8;return _setPrototypeOf=Object['setPrototypeOf']?Object[_0x3e4312(0x1e8)]['bind']():function _0x1202e1(_0x4b8be0,_0x17772c){var _0x1c1063=_0x3e4312;return _0x4b8be0[_0x1c1063(0x2be)]=_0x17772c,_0x4b8be0;},_setPrototypeOf(_0x1c6d6f,_0x50e3a1);}function _isNativeReflectConstruct(){var _0x457a18=_0xfde8;if(typeof Reflect===_0x457a18(0x299)||!Reflect[_0x457a18(0x1b4)])return![];if(Reflect[_0x457a18(0x1b4)][_0x457a18(0x23d)])return![];if(typeof Proxy===_0x457a18(0x20c))return!![];try{return Boolean[_0x457a18(0x1dc)][_0x457a18(0x276)][_0x457a18(0x16b)](Reflect[_0x457a18(0x1b4)](Boolean,[],function(){})),!![];}catch(_0x587918){return![];}}function _assertThisInitialized(_0x12a940){var _0x5923c8=_0xfde8;if(_0x12a940===void 0x0)throw new ReferenceError(_0x5923c8(0x1a3));return _0x12a940;}function _possibleConstructorReturn(_0x36dc04,_0x3b070d){var _0x10d311=_0xfde8;if(_0x3b070d&&(typeof _0x3b070d===_0x10d311(0x1c5)||typeof _0x3b070d===_0x10d311(0x20c)))return _0x3b070d;else{if(_0x3b070d!==void 0x0)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');}return _assertThisInitialized(_0x36dc04);}function _createSuper(_0x15fe32){var _0x1d881a=_isNativeReflectConstruct();return function _0x492472(){var _0x47964c=_0xfde8,_0xa8f284=_getPrototypeOf(_0x15fe32),_0x337cfd;if(_0x1d881a){var _0x48ee73=_getPrototypeOf(this)['constructor'];_0x337cfd=Reflect[_0x47964c(0x1b4)](_0xa8f284,arguments,_0x48ee73);}else _0x337cfd=_0xa8f284['apply'](this,arguments);return _possibleConstructorReturn(this,_0x337cfd);};}function _toConsumableArray(_0x8e4b5d){return _arrayWithoutHoles(_0x8e4b5d)||_iterableToArray(_0x8e4b5d)||_unsupportedIterableToArray(_0x8e4b5d)||_nonIterableSpread();}function _arrayWithoutHoles(_0x414d76){var _0xa1b036=_0xfde8;if(Array[_0xa1b036(0x1ac)](_0x414d76))return _arrayLikeToArray(_0x414d76);}function _iterableToArray(_0xb97cf8){var _0x2c4982=_0xfde8;if(typeof Symbol!==_0x2c4982(0x299)&&_0xb97cf8[Symbol[_0x2c4982(0x1fd)]]!=null||_0xb97cf8['@@iterator']!=null)return Array[_0x2c4982(0x1a8)](_0xb97cf8);}function _unsupportedIterableToArray(_0x4e8a39,_0xbf5451){var _0x2cb54a=_0xfde8;if(!_0x4e8a39)return;if(typeof _0x4e8a39===_0x2cb54a(0x1c0))return _arrayLikeToArray(_0x4e8a39,_0xbf5451);var _0x216f83=Object[_0x2cb54a(0x1dc)][_0x2cb54a(0x27a)]['call'](_0x4e8a39)['slice'](0x8,-0x1);if(_0x216f83===_0x2cb54a(0x268)&&_0x4e8a39[_0x2cb54a(0x274)])_0x216f83=_0x4e8a39[_0x2cb54a(0x274)][_0x2cb54a(0x221)];if(_0x216f83===_0x2cb54a(0x273)||_0x216f83==='Set')return Array['from'](_0x4e8a39);if(_0x216f83===_0x2cb54a(0x2ab)||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/[_0x2cb54a(0x20b)](_0x216f83))return _arrayLikeToArray(_0x4e8a39,_0xbf5451);}function _arrayLikeToArray(_0x16ad77,_0x27a25f){var _0x310e04=_0xfde8;if(_0x27a25f==null||_0x27a25f>_0x16ad77['length'])_0x27a25f=_0x16ad77[_0x310e04(0x15e)];for(var _0x4399b1=0x0,_0x5f2d2d=new Array(_0x27a25f);_0x4399b1<_0x27a25f;_0x4399b1++)_0x5f2d2d[_0x4399b1]=_0x16ad77[_0x4399b1];return _0x5f2d2d;}function _nonIterableSpread(){var _0x4d8079=_0xfde8;throw new TypeError(_0x4d8079(0x1cf));}var Cesium$6=mars3d__namespace[_0x2b205c(0x25f)],CustomPrimitive=(function(){var _0x543243=_0x2b205c;function _0x257826(_0x50e496){var _0x7e6552=_0xfde8,_0x23291e;_classCallCheck(this,_0x257826),this['commandType']=_0x50e496['commandType'],this[_0x7e6552(0x164)]=_0x50e496[_0x7e6552(0x164)],this[_0x7e6552(0x19c)]=_0x50e496[_0x7e6552(0x19c)],this[_0x7e6552(0x283)]=_0x50e496[_0x7e6552(0x283)],this[_0x7e6552(0x162)]=_0x50e496[_0x7e6552(0x162)],this[_0x7e6552(0x27b)]=_0x50e496[_0x7e6552(0x27b)],this['fragmentShaderSource']=_0x50e496[_0x7e6552(0x1ab)],this[_0x7e6552(0x1f4)]=_0x50e496['rawRenderState'],this[_0x7e6552(0x28a)]=_0x50e496[_0x7e6552(0x28a)],this['outputTexture']=_0x50e496[_0x7e6552(0x2c9)],this[_0x7e6552(0x2ca)]=(_0x23291e=_0x50e496[_0x7e6552(0x2ca)])!==null&&_0x23291e!==void 0x0?_0x23291e:![],this[_0x7e6552(0x1b1)]=_0x50e496['preExecute'],this[_0x7e6552(0x2b1)]=!![],this[_0x7e6552(0x236)]=undefined,this[_0x7e6552(0x200)]=undefined,this[_0x7e6552(0x2ca)]&&(this[_0x7e6552(0x200)]=new Cesium$6[(_0x7e6552(0x257))]({'color':new Cesium$6['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[_0x7e6552(0x28a)],'pass':Cesium$6['Pass']['OPAQUE']}));}return _createClass(_0x257826,[{'key':_0x543243(0x295),'value':function _0x5f2e3b(_0x2933c1){var _0x2c9b5b=_0x543243;switch(this[_0x2c9b5b(0x24a)]){case _0x2c9b5b(0x2dc):{var _0x5df60f=Cesium$6[_0x2c9b5b(0x1e9)][_0x2c9b5b(0x1b2)]({'context':_0x2933c1,'geometry':this[_0x2c9b5b(0x164)],'attributeLocations':this[_0x2c9b5b(0x19c)],'bufferUsage':Cesium$6['BufferUsage'][_0x2c9b5b(0x2a6)]}),_0x2ceb77=Cesium$6[_0x2c9b5b(0x226)]['fromCache']({'context':_0x2933c1,'attributeLocations':this[_0x2c9b5b(0x19c)],'vertexShaderSource':this[_0x2c9b5b(0x27b)],'fragmentShaderSource':this[_0x2c9b5b(0x1ab)]}),_0x6d9fa9=Cesium$6[_0x2c9b5b(0x2b7)][_0x2c9b5b(0x23f)](this[_0x2c9b5b(0x1f4)]);return new Cesium$6[(_0x2c9b5b(0x1af))]({'primitiveType':this[_0x2c9b5b(0x283)],'shaderProgram':_0x2ceb77,'vertexArray':_0x5df60f,'modelMatrix':Cesium$6['Matrix4'][_0x2c9b5b(0x2aa)],'renderState':_0x6d9fa9,'uniformMap':this[_0x2c9b5b(0x162)],'castShadows':![],'receiveShadows':![],'framebuffer':this['framebuffer'],'pass':Cesium$6[_0x2c9b5b(0x23c)][_0x2c9b5b(0x286)],'pickOnly':!![],'owner':this});}case _0x2c9b5b(0x1de):{return new Cesium$6[(_0x2c9b5b(0x216))]({'owner':this,'fragmentShaderSource':this[_0x2c9b5b(0x1ab)],'uniformMap':this[_0x2c9b5b(0x162)],'outputTexture':this['outputTexture'],'persists':!![]});}}}},{'key':_0x543243(0x246),'value':function _0x546884(_0x4a05f1,_0x531104){var _0x49d052=_0x543243;this['geometry']=_0x531104;var _0x4f090c=Cesium$6[_0x49d052(0x1e9)][_0x49d052(0x1b2)]({'context':_0x4a05f1,'geometry':this['geometry'],'attributeLocations':this[_0x49d052(0x19c)],'bufferUsage':Cesium$6[_0x49d052(0x22c)][_0x49d052(0x2a6)]});this['commandToExecute'][_0x49d052(0x275)]=_0x4f090c;}},{'key':_0x543243(0x1fc),'value':function _0x4af1d6(_0xf5571a){var _0x34ba68=_0x543243;if(!this['show'])return;if(_0xf5571a['mode']!==Cesium$6[_0x34ba68(0x229)][_0x34ba68(0x2b0)])return;!Cesium$6['defined'](this['commandToExecute'])&&(this[_0x34ba68(0x236)]=this['createCommand'](_0xf5571a[_0x34ba68(0x243)])),Cesium$6['defined'](this[_0x34ba68(0x1b1)])&&this[_0x34ba68(0x1b1)](),Cesium$6[_0x34ba68(0x22b)](this[_0x34ba68(0x200)])&&_0xf5571a['commandList'][_0x34ba68(0x1ca)](this[_0x34ba68(0x200)]),_0xf5571a['commandList'][_0x34ba68(0x1ca)](this['commandToExecute']);}},{'key':_0x543243(0x279),'value':function _0x2a2351(){return![];}},{'key':_0x543243(0x27d),'value':function _0x26b75d(){var _0x5c8930=_0x543243;if(this[_0x5c8930(0x200)]){var _0x1786d3,_0x2bf7d4;(_0x1786d3=this[_0x5c8930(0x200)])!==null&&_0x1786d3!==void 0x0&&_0x1786d3[_0x5c8930(0x275)]&&this[_0x5c8930(0x200)][_0x5c8930(0x275)][_0x5c8930(0x27d)](),(_0x2bf7d4=this['clearCommand'])!==null&&_0x2bf7d4!==void 0x0&&_0x2bf7d4['shaderProgram']&&this[_0x5c8930(0x200)]['shaderProgram'][_0x5c8930(0x27d)](),delete this[_0x5c8930(0x200)];}return this[_0x5c8930(0x236)]&&(this[_0x5c8930(0x236)][_0x5c8930(0x275)]&&this[_0x5c8930(0x236)]['vertexArray'][_0x5c8930(0x27d)](),this[_0x5c8930(0x236)][_0x5c8930(0x214)]&&this[_0x5c8930(0x236)][_0x5c8930(0x214)]['destroy'](),delete this[_0x5c8930(0x236)]),Cesium$6[_0x5c8930(0x183)](this);}}]),_0x257826;}()),Cesium$5=mars3d__namespace[_0x2b205c(0x25f)],Util=(function(){var _0x3c88b7=function _0x5cb632(){var _0x4c07eb=_0xfde8,_0xdc56d5=new Cesium$5[(_0x4c07eb(0x16a))]({'attributes':new Cesium$5[(_0x4c07eb(0x187))]({'position':new Cesium$5['GeometryAttribute']({'componentDatatype':Cesium$5[_0x4c07eb(0x1c3)][_0x4c07eb(0x29a)],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new Cesium$5[(_0x4c07eb(0x1f9))]({'componentDatatype':Cesium$5['ComponentDatatype'][_0x4c07eb(0x29a)],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});return _0xdc56d5;},_0x3b1589=function _0x442023(_0x34b777,_0x361f64){var _0x183aee=_0xfde8;if(Cesium$5[_0x183aee(0x22b)](_0x361f64)){var _0x5de569={};_0x5de569[_0x183aee(0x2a3)]=_0x361f64,_0x34b777[_0x183aee(0x15d)]=_0x5de569;}var _0x2022da=new Cesium$5[(_0x183aee(0x165))](_0x34b777);return _0x2022da;},_0x1b8480=function _0x464814(_0x3e0956,_0x5bce66,_0x3ba60e){var _0x37913c=_0xfde8,_0x493c75=new Cesium$5[(_0x37913c(0x24f))]({'context':_0x3e0956,'colorTextures':[_0x5bce66],'depthTexture':_0x3ba60e});return _0x493c75;},_0x4c300d=function _0x4f37ec(_0x1286ec){var _0x6304ab=_0xfde8,_0x15721a=!![],_0x488d5a=![],_0x13655d={'viewport':_0x1286ec['viewport'],'depthTest':_0x1286ec['depthTest'],'depthMask':_0x1286ec['depthMask'],'blending':_0x1286ec[_0x6304ab(0x186)]},_0x367397=Cesium$5[_0x6304ab(0x2d1)][_0x6304ab(0x1d7)](_0x15721a,_0x488d5a,_0x13655d);return _0x367397;},_0x28192b=function _0x397fba(_0x176924){var _0x42c74a=_0xfde8,_0x56b46f={},_0x3b441c=Cesium$5['Math'][_0x42c74a(0x1e6)](_0x176924['west'],Cesium$5[_0x42c74a(0x1f8)][_0x42c74a(0x1fa)]),_0x4c9099=Cesium$5[_0x42c74a(0x1f8)][_0x42c74a(0x1e6)](_0x176924['east'],Cesium$5[_0x42c74a(0x1f8)]['TWO_PI']),_0x5ed6ae=_0x176924[_0x42c74a(0x16c)],_0x4997f0,_0x2a1094;_0x5ed6ae>Cesium$5[_0x42c74a(0x1f8)][_0x42c74a(0x25d)]?(_0x4997f0=0x0,_0x2a1094=Cesium$5['Math']['TWO_PI']):_0x4c9099-_0x3b441c<_0x5ed6ae?(_0x4997f0=_0x3b441c,_0x2a1094=_0x3b441c+_0x5ed6ae):(_0x4997f0=_0x3b441c,_0x2a1094=_0x4c9099);_0x56b46f[_0x42c74a(0x1ed)]={'min':Cesium$5[_0x42c74a(0x1f8)]['toDegrees'](_0x4997f0),'max':Cesium$5['Math'][_0x42c74a(0x2cb)](_0x2a1094)};var _0x1797b2=_0x176924[_0x42c74a(0x2ba)],_0x5312df=_0x176924[_0x42c74a(0x290)],_0x14c370=_0x176924[_0x42c74a(0x2af)],_0x3f24ee=_0x14c370>Cesium$5[_0x42c74a(0x1f8)]['PI']/0xc?_0x14c370/0x2:0x0,_0x3c120e=Cesium$5['Math'][_0x42c74a(0x19d)](_0x1797b2-_0x3f24ee),_0x17863d=Cesium$5[_0x42c74a(0x1f8)][_0x42c74a(0x19d)](_0x5312df+_0x3f24ee);return _0x3c120e<-Cesium$5[_0x42c74a(0x1f8)][_0x42c74a(0x2a7)]&&(_0x3c120e=-Cesium$5[_0x42c74a(0x1f8)][_0x42c74a(0x249)]),_0x17863d>Cesium$5[_0x42c74a(0x1f8)][_0x42c74a(0x2a7)]&&(_0x17863d=Cesium$5['Math']['PI_OVER_TWO']),_0x56b46f[_0x42c74a(0x190)]={'min':Cesium$5['Math'][_0x42c74a(0x2cb)](_0x3c120e),'max':Cesium$5['Math']['toDegrees'](_0x17863d)},_0x56b46f;};return{'getFullscreenQuad':_0x3c88b7,'createTexture':_0x3b1589,'createFramebuffer':_0x1b8480,'createRawRenderState':_0x4c300d,'viewRectangleToLonLatRange':_0x28192b};}()),segmentDraw_vert=_0x2b205c(0x267),segmentDraw_frag=_0x2b205c(0x188),fullscreen_vert=_0x2b205c(0x2bd),trailDraw_frag=_0x2b205c(0x238),screenDraw_frag=_0x2b205c(0x1f5),Cesium$4=mars3d__namespace[_0x2b205c(0x25f)],ParticlesRendering=(function(){var _0x505721=_0x2b205c;function _0x1cf8b1(_0x3e2a99,_0x2ea93e,_0x1e9c7f,_0x1b4fb2,_0x111e78){var _0x3fd637=_0xfde8;_classCallCheck(this,_0x1cf8b1),this[_0x3fd637(0x28e)](_0x3e2a99,_0x2ea93e,_0x1e9c7f[_0x3fd637(0x2d4)]),this[_0x3fd637(0x2c2)](_0x3e2a99),this[_0x3fd637(0x23a)](_0x3e2a99,_0x1e9c7f,_0x1b4fb2,_0x111e78);}return _createClass(_0x1cf8b1,[{'key':_0x505721(0x28e),'value':function _0x3a6e37(_0xd3fcd,_0x1003ea,_0x1da7e2){var _0x2685da=_0x505721,_0x5a3f78={'context':_0xd3fcd,'width':_0xd3fcd[_0x2685da(0x1a0)],'height':_0xd3fcd[_0x2685da(0x26f)],'pixelFormat':Cesium$4['PixelFormat'][_0x2685da(0x1b3)],'pixelDatatype':Cesium$4[_0x2685da(0x175)][_0x2685da(0x232)]},_0x3b749b={'context':_0xd3fcd,'width':_0xd3fcd[_0x2685da(0x1a0)],'height':_0xd3fcd['drawingBufferHeight'],'pixelFormat':Cesium$4['PixelFormat'][_0x2685da(0x20a)],'pixelDatatype':Cesium$4[_0x2685da(0x175)][_0x2685da(0x1df)]},_0x54e20b=_0x1da7e2[_0x2685da(0x15e)],_0x21ef06=new Float32Array(_0x54e20b*0x3);for(var _0x1784e2=0x0;_0x1784e2<_0x54e20b;_0x1784e2++){var _0x2a9b50=Cesium$4[_0x2685da(0x157)][_0x2685da(0x227)](_0x1da7e2[_0x1784e2]);_0x21ef06[0x3*_0x1784e2]=_0x2a9b50['red'],_0x21ef06[0x3*_0x1784e2+0x1]=_0x2a9b50[_0x2685da(0x1d0)],_0x21ef06[0x3*_0x1784e2+0x2]=_0x2a9b50['blue'];}var _0xe87358={'context':_0xd3fcd,'width':_0x54e20b,'height':0x1,'pixelFormat':Cesium$4['PixelFormat'][_0x2685da(0x1d9)],'pixelDatatype':Cesium$4[_0x2685da(0x175)]['FLOAT'],'sampler':new Cesium$4[(_0x2685da(0x1ec))]({'minificationFilter':Cesium$4['TextureMinificationFilter'][_0x2685da(0x1d5)],'magnificationFilter':Cesium$4[_0x2685da(0x1f0)][_0x2685da(0x1d5)]})};this[_0x2685da(0x237)]={'segmentsColor':Util[_0x2685da(0x179)](_0x5a3f78),'segmentsDepth':Util['createTexture'](_0x3b749b),'currentTrailsColor':Util['createTexture'](_0x5a3f78),'currentTrailsDepth':Util[_0x2685da(0x179)](_0x3b749b),'nextTrailsColor':Util['createTexture'](_0x5a3f78),'nextTrailsDepth':Util['createTexture'](_0x3b749b),'colorTable':Util['createTexture'](_0xe87358,_0x21ef06)};}},{'key':_0x505721(0x2c2),'value':function _0x577b43(_0x4d79c0){var _0x5490de=_0x505721;this['framebuffers']={'segments':Util[_0x5490de(0x1f2)](_0x4d79c0,this[_0x5490de(0x237)]['segmentsColor'],this[_0x5490de(0x237)]['segmentsDepth']),'currentTrails':Util[_0x5490de(0x1f2)](_0x4d79c0,this[_0x5490de(0x237)][_0x5490de(0x173)],this[_0x5490de(0x237)][_0x5490de(0x160)]),'nextTrails':Util['createFramebuffer'](_0x4d79c0,this[_0x5490de(0x237)][_0x5490de(0x168)],this[_0x5490de(0x237)][_0x5490de(0x16d)])};}},{'key':_0x505721(0x21e),'value':function _0x31fc82(_0x436602){var _0x4aaef2=_0x505721,_0x54d4c9=0x4,_0x31c8bb=[];for(var _0x406bc1=0x0;_0x406bc1<_0x436602[_0x4aaef2(0x163)];_0x406bc1++){for(var _0x1d5d72=0x0;_0x1d5d72<_0x436602[_0x4aaef2(0x163)];_0x1d5d72++){for(var _0x36fe0f=0x0;_0x36fe0f<_0x54d4c9;_0x36fe0f++){_0x31c8bb['push'](_0x406bc1/_0x436602[_0x4aaef2(0x163)]),_0x31c8bb[_0x4aaef2(0x1ca)](_0x1d5d72/_0x436602[_0x4aaef2(0x163)]);}}}_0x31c8bb=new Float32Array(_0x31c8bb);var _0x281a9f=[],_0x97ae60=[-0x1,0x1],_0x1f98ae=[-0x1,0x1];for(var _0x581d27=0x0;_0x581d27<_0x436602['maxParticles'];_0x581d27++){for(var _0x37ecbe=0x0;_0x37ecbe<_0x54d4c9/0x2;_0x37ecbe++){for(var _0x3d4f6d=0x0;_0x3d4f6d<_0x54d4c9/0x2;_0x3d4f6d++){_0x281a9f[_0x4aaef2(0x1ca)](_0x97ae60[_0x37ecbe]),_0x281a9f[_0x4aaef2(0x1ca)](_0x1f98ae[_0x3d4f6d]),_0x281a9f['push'](0x0);}}}_0x281a9f=new Float32Array(_0x281a9f);var _0x144197=0x6*_0x436602[_0x4aaef2(0x252)],_0x115722=new Uint32Array(_0x144197);for(var _0x4dcdbf=0x0,_0x3f2766=0x0,_0x258f07=0x0;_0x4dcdbf<_0x436602['maxParticles'];_0x4dcdbf++){_0x115722[_0x3f2766++]=_0x258f07+0x0,_0x115722[_0x3f2766++]=_0x258f07+0x1,_0x115722[_0x3f2766++]=_0x258f07+0x2,_0x115722[_0x3f2766++]=_0x258f07+0x2,_0x115722[_0x3f2766++]=_0x258f07+0x1,_0x115722[_0x3f2766++]=_0x258f07+0x3,_0x258f07+=0x4;}var _0xf55716=new Cesium$4[(_0x4aaef2(0x16a))]({'attributes':new Cesium$4['GeometryAttributes']({'st':new Cesium$4[(_0x4aaef2(0x1f9))]({'componentDatatype':Cesium$4[_0x4aaef2(0x1c3)][_0x4aaef2(0x29a)],'componentsPerAttribute':0x2,'values':_0x31c8bb}),'normal':new Cesium$4['GeometryAttribute']({'componentDatatype':Cesium$4[_0x4aaef2(0x1c3)][_0x4aaef2(0x29a)],'componentsPerAttribute':0x3,'values':_0x281a9f})}),'indices':_0x115722});return _0xf55716;}},{'key':'createRenderingPrimitives','value':function _0x59cc1c(_0x4b0c7d,_0x4828bd,_0x439844,_0x5d02de){var _0x50555d=_0x505721,_0x3e6d38=this;this[_0x50555d(0x284)]={'segments':new CustomPrimitive({'commandType':_0x50555d(0x2dc),'attributeLocations':{'st':0x0,'normal':0x1},'geometry':this['createSegmentsGeometry'](_0x4828bd),'primitiveType':Cesium$4[_0x50555d(0x1a4)][_0x50555d(0x1db)],'uniformMap':{'currentParticlesPosition':function _0x406b24(){var _0x1e78be=_0x50555d;return _0x5d02de[_0x1e78be(0x1eb)][_0x1e78be(0x228)];},'postProcessingPosition':function _0x36fe13(){var _0x40ed84=_0x50555d;return _0x5d02de[_0x40ed84(0x1eb)][_0x40ed84(0x2c7)];},'postProcessingSpeed':function _0x189bcc(){var _0xfdc435=_0x50555d;return _0x5d02de[_0xfdc435(0x1eb)][_0xfdc435(0x180)];},'colorTable':function _0x2ffda9(){var _0x14e92e=_0x50555d;return _0x3e6d38[_0x14e92e(0x237)][_0x14e92e(0x1ea)];},'aspect':function _0x48d276(){var _0x47a6c4=_0x50555d;return _0x4b0c7d[_0x47a6c4(0x1a0)]/_0x4b0c7d[_0x47a6c4(0x26f)];},'pixelSize':function _0x4acbea(){return _0x439844['pixelSize'];},'lineWidth':function _0x40745b(){var _0x570773=_0x50555d;return _0x4828bd[_0x570773(0x1ce)];},'particleHeight':function _0x3055a0(){var _0x30e121=_0x50555d;return _0x4828bd[_0x30e121(0x181)];}},'vertexShaderSource':new Cesium$4[(_0x50555d(0x2ad))]({'sources':[segmentDraw_vert]}),'fragmentShaderSource':new Cesium$4[(_0x50555d(0x2ad))]({'sources':[segmentDraw_frag]}),'rawRenderState':Util['createRawRenderState']({'viewport':undefined,'depthTest':{'enabled':!![]},'depthMask':!![]}),'framebuffer':this[_0x50555d(0x287)][_0x50555d(0x259)],'autoClear':!![]}),'trails':new CustomPrimitive({'commandType':_0x50555d(0x2dc),'attributeLocations':{'position':0x0,'st':0x1},'geometry':Util['getFullscreenQuad'](),'primitiveType':Cesium$4[_0x50555d(0x1a4)]['TRIANGLES'],'uniformMap':{'segmentsColorTexture':function _0xcfec00(){return _0x3e6d38['textures']['segmentsColor'];},'segmentsDepthTexture':function _0xf26475(){var _0x33b873=_0x50555d;return _0x3e6d38[_0x33b873(0x237)]['segmentsDepth'];},'currentTrailsColor':function _0x264b42(){var _0x86b919=_0x50555d;return _0x3e6d38['framebuffers'][_0x86b919(0x2d5)]['getColorTexture'](0x0);},'trailsDepthTexture':function _0x27aa04(){var _0x5a0bd6=_0x50555d;return _0x3e6d38['framebuffers'][_0x5a0bd6(0x2d5)]['depthTexture'];},'fadeOpacity':function _0x59b50c(){return _0x4828bd['fadeOpacity'];}},'vertexShaderSource':new Cesium$4[(_0x50555d(0x2ad))]({'defines':[_0x50555d(0x18b)],'sources':[fullscreen_vert]}),'fragmentShaderSource':new Cesium$4['ShaderSource']({'defines':['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],'sources':[trailDraw_frag]}),'rawRenderState':Util['createRawRenderState']({'viewport':undefined,'depthTest':{'enabled':!![],'func':Cesium$4['DepthFunction'][_0x50555d(0x291)]},'depthMask':!![]}),'framebuffer':this[_0x50555d(0x287)][_0x50555d(0x280)],'autoClear':!![],'preExecute':function _0x542bf3(){var _0x798d99=_0x50555d,_0x232ac2=_0x3e6d38['framebuffers'][_0x798d99(0x2d5)];_0x3e6d38[_0x798d99(0x287)][_0x798d99(0x2d5)]=_0x3e6d38[_0x798d99(0x287)][_0x798d99(0x280)],_0x3e6d38[_0x798d99(0x287)][_0x798d99(0x280)]=_0x232ac2,_0x3e6d38[_0x798d99(0x284)][_0x798d99(0x1d6)][_0x798d99(0x236)][_0x798d99(0x28a)]=_0x3e6d38[_0x798d99(0x287)][_0x798d99(0x280)],_0x3e6d38[_0x798d99(0x284)][_0x798d99(0x1d6)]['clearCommand'][_0x798d99(0x28a)]=_0x3e6d38[_0x798d99(0x287)][_0x798d99(0x280)];}}),'screen':new CustomPrimitive({'commandType':_0x50555d(0x2dc),'attributeLocations':{'position':0x0,'st':0x1},'geometry':Util['getFullscreenQuad'](),'primitiveType':Cesium$4['PrimitiveType'][_0x50555d(0x1db)],'uniformMap':{'trailsColorTexture':function _0x46e4e7(){var _0x22318f=_0x50555d;return _0x3e6d38[_0x22318f(0x287)][_0x22318f(0x280)][_0x22318f(0x220)](0x0);},'trailsDepthTexture':function _0x207d52(){var _0x4dd7ea=_0x50555d;return _0x3e6d38[_0x4dd7ea(0x287)]['nextTrails'][_0x4dd7ea(0x224)];}},'vertexShaderSource':new Cesium$4[(_0x50555d(0x2ad))]({'defines':[_0x50555d(0x18b)],'sources':[fullscreen_vert]}),'fragmentShaderSource':new Cesium$4[(_0x50555d(0x2ad))]({'defines':['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],'sources':[screenDraw_frag]}),'rawRenderState':Util[_0x50555d(0x294)]({'viewport':undefined,'depthTest':{'enabled':![]},'depthMask':!![],'blending':{'enabled':!![]}}),'framebuffer':undefined})};}}]),_0x1cf8b1;}()),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=_0x2b205c(0x196),updatePosition_frag=_0x2b205c(0x1f1),postProcessingPosition_frag='uniform\x20sampler2D\x20nextParticlesPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0a\x0a//\x20range\x20(min,\x20max)\x0auniform\x20vec2\x20lonRange;\x0auniform\x20vec2\x20latRange;\x0a\x0auniform\x20float\x20randomCoefficient;\x20//\x20use\x20to\x20improve\x20the\x20pseudo-random\x20generator\x0auniform\x20float\x20dropRate;\x20//\x20drop\x20rate\x20is\x20a\x20chance\x20a\x20particle\x20will\x20restart\x20at\x20random\x20position\x20to\x20avoid\x20degeneration\x0auniform\x20float\x20dropRateBump;\x0a\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}',postProcessingSpeed_frag=_0x2b205c(0x258),Cesium$3=mars3d__namespace['Cesium'],ParticlesComputing=(function(){var _0x49b4b3=_0x2b205c;function _0x37ecf5(_0x2776e9,_0x5f9c79,_0x3128ef,_0x1b0923){var _0x356416=_0xfde8;_classCallCheck(this,_0x37ecf5),this[_0x356416(0x234)]=_0x5f9c79,this[_0x356416(0x2ac)](_0x2776e9,_0x5f9c79),this['createParticlesTextures'](_0x2776e9,_0x3128ef,_0x1b0923),this[_0x356416(0x203)](_0x5f9c79,_0x3128ef,_0x1b0923);}return _createClass(_0x37ecf5,[{'key':_0x49b4b3(0x2ac),'value':function _0xf36f53(_0x312fc5,_0x1e1680){var _0x25ad84=_0x49b4b3,_0x34d02e={'context':_0x312fc5,'width':_0x1e1680[_0x25ad84(0x24e)]['lon'],'height':_0x1e1680[_0x25ad84(0x24e)]['lat']*(_0x1e1680[_0x25ad84(0x24e)][_0x25ad84(0x2cc)]||0x1),'pixelFormat':Cesium$3[_0x25ad84(0x29d)][_0x25ad84(0x25a)],'pixelDatatype':Cesium$3['PixelDatatype']['FLOAT'],'flipY':![],'sampler':new Cesium$3[(_0x25ad84(0x1ec))]({'minificationFilter':Cesium$3[_0x25ad84(0x17c)][_0x25ad84(0x27f)],'magnificationFilter':Cesium$3[_0x25ad84(0x1f0)][_0x25ad84(0x27f)]})};this[_0x25ad84(0x24c)]={'U':Util[_0x25ad84(0x179)](_0x34d02e,_0x1e1680['U'][_0x25ad84(0x28f)]),'V':Util[_0x25ad84(0x179)](_0x34d02e,_0x1e1680['V']['array'])};}},{'key':'createParticlesTextures','value':function _0x12bba8(_0x630b78,_0x83d4fc,_0x5fba30){var _0x143e47=_0x49b4b3,_0x55b7a9={'context':_0x630b78,'width':_0x83d4fc[_0x143e47(0x163)],'height':_0x83d4fc[_0x143e47(0x163)],'pixelFormat':Cesium$3[_0x143e47(0x29d)][_0x143e47(0x1b3)],'pixelDatatype':Cesium$3[_0x143e47(0x175)][_0x143e47(0x29a)],'flipY':![],'sampler':new Cesium$3[(_0x143e47(0x1ec))]({'minificationFilter':Cesium$3[_0x143e47(0x17c)][_0x143e47(0x27f)],'magnificationFilter':Cesium$3[_0x143e47(0x1f0)][_0x143e47(0x27f)]})},_0x537d98=this[_0x143e47(0x218)](_0x83d4fc['maxParticles'],_0x5fba30),_0x1b5388=new Float32Array(0x4*_0x83d4fc[_0x143e47(0x252)])[_0x143e47(0x2a8)](0x0);this[_0x143e47(0x1eb)]={'particlesWind':Util[_0x143e47(0x179)](_0x55b7a9),'currentParticlesPosition':Util['createTexture'](_0x55b7a9,_0x537d98),'nextParticlesPosition':Util[_0x143e47(0x179)](_0x55b7a9,_0x537d98),'currentParticlesSpeed':Util['createTexture'](_0x55b7a9,_0x1b5388),'nextParticlesSpeed':Util['createTexture'](_0x55b7a9,_0x1b5388),'postProcessingPosition':Util['createTexture'](_0x55b7a9,_0x537d98),'postProcessingSpeed':Util[_0x143e47(0x179)](_0x55b7a9,_0x1b5388)};}},{'key':_0x49b4b3(0x218),'value':function _0xcf2d2(_0x41db96,_0x3fe8cc){var _0x329f5=_0x49b4b3,_0xa66139=new Float32Array(0x4*_0x41db96);for(var _0x2c2857=0x0;_0x2c2857<_0x41db96;_0x2c2857++){_0xa66139[0x4*_0x2c2857]=Cesium$3[_0x329f5(0x1f8)][_0x329f5(0x2de)](_0x3fe8cc[_0x329f5(0x1cc)]['x'],_0x3fe8cc[_0x329f5(0x1cc)]['y']),_0xa66139[0x4*_0x2c2857+0x1]=Cesium$3[_0x329f5(0x1f8)][_0x329f5(0x2de)](_0x3fe8cc['latRange']['x'],_0x3fe8cc[_0x329f5(0x15a)]['y']),_0xa66139[0x4*_0x2c2857+0x2]=Cesium$3[_0x329f5(0x1f8)][_0x329f5(0x2de)](this['data'][_0x329f5(0x2cc)][_0x329f5(0x215)],this[_0x329f5(0x234)]['lev'][_0x329f5(0x1d3)]),_0xa66139[0x4*_0x2c2857+0x3]=0x0;}return _0xa66139;}},{'key':_0x49b4b3(0x1c9),'value':function _0x1d4949(){var _0x7ad5ee=_0x49b4b3,_0x6ceab5=this;Object[_0x7ad5ee(0x24b)](this[_0x7ad5ee(0x1eb)])[_0x7ad5ee(0x1c8)](function(_0x29a202){var _0x2a2e4e=_0x7ad5ee;_0x6ceab5['particlesTextures'][_0x29a202][_0x2a2e4e(0x27d)]();});}},{'key':_0x49b4b3(0x203),'value':function _0x93596e(_0x1569e4,_0x1153e8,_0x33a00f){var _0x4679ca=_0x49b4b3,_0x5527c2=new Cesium$3[(_0x4679ca(0x1b9))](_0x1569e4[_0x4679ca(0x24e)][_0x4679ca(0x1ed)],_0x1569e4['dimensions'][_0x4679ca(0x190)],_0x1569e4[_0x4679ca(0x24e)][_0x4679ca(0x2cc)]),_0xbf5ab8=new Cesium$3['Cartesian3'](_0x1569e4[_0x4679ca(0x1ed)][_0x4679ca(0x215)],_0x1569e4[_0x4679ca(0x190)][_0x4679ca(0x215)],_0x1569e4[_0x4679ca(0x2cc)][_0x4679ca(0x215)]),_0x4bb0a9=new Cesium$3[(_0x4679ca(0x1b9))](_0x1569e4[_0x4679ca(0x1ed)][_0x4679ca(0x1d3)],_0x1569e4['lat'][_0x4679ca(0x1d3)],_0x1569e4[_0x4679ca(0x2cc)][_0x4679ca(0x1d3)]),_0x8c3d76=new Cesium$3[(_0x4679ca(0x1b9))]((_0x4bb0a9['x']-_0xbf5ab8['x'])/(_0x5527c2['x']-0x1),(_0x4bb0a9['y']-_0xbf5ab8['y'])/(_0x5527c2['y']-0x1),_0x5527c2['z']>0x1?(_0x4bb0a9['z']-_0xbf5ab8['z'])/(_0x5527c2['z']-0x1):0x1),_0x8c7ab5=new Cesium$3[(_0x4679ca(0x29c))](_0x1569e4['U'][_0x4679ca(0x215)],_0x1569e4['U'][_0x4679ca(0x1d3)]),_0x5abe80=new Cesium$3[(_0x4679ca(0x29c))](_0x1569e4['V'][_0x4679ca(0x215)],_0x1569e4['V']['max']),_0x508486=this;this[_0x4679ca(0x284)]={'getWind':new CustomPrimitive({'commandType':_0x4679ca(0x1de),'uniformMap':{'U':function _0x19d313(){var _0xe405d8=_0x4679ca;return _0x508486[_0xe405d8(0x24c)]['U'];},'V':function _0x4d6341(){var _0x403661=_0x4679ca;return _0x508486[_0x403661(0x24c)]['V'];},'currentParticlesPosition':function _0x35bb0c(){var _0x473f4a=_0x4679ca;return _0x508486[_0x473f4a(0x1eb)][_0x473f4a(0x228)];},'dimension':function _0x374b80(){return _0x5527c2;},'minimum':function _0x454a15(){return _0xbf5ab8;},'maximum':function _0x54804c(){return _0x4bb0a9;},'interval':function _0x212d01(){return _0x8c3d76;}},'fragmentShaderSource':new Cesium$3['ShaderSource']({'sources':[getWind_frag]}),'outputTexture':this[_0x4679ca(0x1eb)][_0x4679ca(0x26a)],'preExecute':function _0x24f95f(){var _0x4d6a46=_0x4679ca;_0x508486[_0x4d6a46(0x284)][_0x4d6a46(0x1a5)][_0x4d6a46(0x236)][_0x4d6a46(0x2c9)]=_0x508486[_0x4d6a46(0x1eb)][_0x4d6a46(0x26a)];}}),'updateSpeed':new CustomPrimitive({'commandType':_0x4679ca(0x1de),'uniformMap':{'currentParticlesSpeed':function _0x3ff34a(){var _0x14592f=_0x4679ca;return _0x508486[_0x14592f(0x1eb)][_0x14592f(0x2d3)];},'particlesWind':function _0x19c60d(){var _0x45f6a5=_0x4679ca;return _0x508486[_0x45f6a5(0x1eb)][_0x45f6a5(0x26a)];},'uSpeedRange':function _0xb05fdf(){return _0x8c7ab5;},'vSpeedRange':function _0x576026(){return _0x5abe80;},'pixelSize':function _0x29077d(){var _0x45473e=_0x4679ca;return _0x33a00f[_0x45473e(0x202)];},'speedFactor':function _0x36cd0b(){var _0x441940=_0x4679ca;return _0x1153e8[_0x441940(0x18f)];}},'fragmentShaderSource':new Cesium$3[(_0x4679ca(0x2ad))]({'sources':[updateSpeed_frag]}),'outputTexture':this[_0x4679ca(0x1eb)][_0x4679ca(0x1cb)],'preExecute':function _0x2f1db3(){var _0x4627eb=_0x4679ca,_0x4f2ac8=_0x508486[_0x4627eb(0x1eb)]['currentParticlesSpeed'];_0x508486[_0x4627eb(0x1eb)][_0x4627eb(0x2d3)]=_0x508486[_0x4627eb(0x1eb)][_0x4627eb(0x180)],_0x508486['particlesTextures'][_0x4627eb(0x180)]=_0x4f2ac8,_0x508486[_0x4627eb(0x284)][_0x4627eb(0x1aa)][_0x4627eb(0x236)][_0x4627eb(0x2c9)]=_0x508486[_0x4627eb(0x1eb)][_0x4627eb(0x1cb)];}}),'updatePosition':new CustomPrimitive({'commandType':_0x4679ca(0x1de),'uniformMap':{'currentParticlesPosition':function _0x3244bd(){return _0x508486['particlesTextures']['currentParticlesPosition'];},'currentParticlesSpeed':function _0x3b5e23(){var _0x481501=_0x4679ca;return _0x508486[_0x481501(0x1eb)][_0x481501(0x2d3)];}},'fragmentShaderSource':new Cesium$3[(_0x4679ca(0x2ad))]({'sources':[updatePosition_frag]}),'outputTexture':this[_0x4679ca(0x1eb)][_0x4679ca(0x18d)],'preExecute':function _0x1751d0(){var _0x4cf1e0=_0x4679ca,_0x56f404=_0x508486[_0x4cf1e0(0x1eb)][_0x4cf1e0(0x228)];_0x508486['particlesTextures'][_0x4cf1e0(0x228)]=_0x508486['particlesTextures'][_0x4cf1e0(0x2c7)],_0x508486[_0x4cf1e0(0x1eb)]['postProcessingPosition']=_0x56f404,_0x508486[_0x4cf1e0(0x284)]['updatePosition'][_0x4cf1e0(0x236)]['outputTexture']=_0x508486['particlesTextures'][_0x4cf1e0(0x18d)];}}),'postProcessingPosition':new CustomPrimitive({'commandType':_0x4679ca(0x1de),'uniformMap':{'nextParticlesPosition':function _0x374c07(){var _0x5d9e07=_0x4679ca;return _0x508486[_0x5d9e07(0x1eb)][_0x5d9e07(0x18d)];},'nextParticlesSpeed':function _0x214859(){var _0x2a40c7=_0x4679ca;return _0x508486['particlesTextures'][_0x2a40c7(0x1cb)];},'lonRange':function _0x26de27(){return _0x33a00f['lonRange'];},'latRange':function _0x24b192(){var _0x768bd1=_0x4679ca;return _0x33a00f[_0x768bd1(0x15a)];},'randomCoefficient':function _0x595d15(){var _0x17550b=_0x4679ca,_0x4873b8=Math[_0x17550b(0x2d8)]();return _0x4873b8;},'dropRate':function _0x47bcd7(){var _0x38d465=_0x4679ca;return _0x1153e8[_0x38d465(0x29b)];},'dropRateBump':function _0x1cbc48(){var _0x443a1d=_0x4679ca;return _0x1153e8[_0x443a1d(0x158)];}},'fragmentShaderSource':new Cesium$3[(_0x4679ca(0x2ad))]({'sources':[postProcessingPosition_frag]}),'outputTexture':this['particlesTextures']['postProcessingPosition'],'preExecute':function _0x8f6cc6(){var _0x3675c8=_0x4679ca;_0x508486[_0x3675c8(0x284)][_0x3675c8(0x2c7)][_0x3675c8(0x236)][_0x3675c8(0x2c9)]=_0x508486[_0x3675c8(0x1eb)][_0x3675c8(0x2c7)];}}),'postProcessingSpeed':new CustomPrimitive({'commandType':_0x4679ca(0x1de),'uniformMap':{'postProcessingPosition':function _0x35ac60(){var _0x2d0565=_0x4679ca;return _0x508486['particlesTextures'][_0x2d0565(0x2c7)];},'nextParticlesSpeed':function _0xb40ec1(){var _0xea4d01=_0x4679ca;return _0x508486[_0xea4d01(0x1eb)][_0xea4d01(0x1cb)];}},'fragmentShaderSource':new Cesium$3['ShaderSource']({'sources':[postProcessingSpeed_frag]}),'outputTexture':this[_0x4679ca(0x1eb)]['postProcessingSpeed'],'preExecute':function _0x50a389(){var _0x4d2cc4=_0x4679ca;_0x508486[_0x4d2cc4(0x284)][_0x4d2cc4(0x180)]['commandToExecute'][_0x4d2cc4(0x2c9)]=_0x508486[_0x4d2cc4(0x1eb)][_0x4d2cc4(0x180)];}})};}}]),_0x37ecf5;}()),Cesium$2=mars3d__namespace[_0x2b205c(0x25f)],ParticleSystem=(function(){var _0x53b176=_0x2b205c;function _0x4f891c(_0x29b227,_0x53f97e,_0xd33790,_0x40953e){var _0x4b612d=_0xfde8;_classCallCheck(this,_0x4f891c),this[_0x4b612d(0x243)]=_0x29b227,_0x53f97e=_objectSpread2({},_0x53f97e);if(_0x53f97e[_0x4b612d(0x1b0)]&&_0x53f97e['vdata']){var _0x416e85,_0x384559,_0x54182f,_0x4a3e73,_0x283fba,_0x14c429;_0x53f97e[_0x4b612d(0x24e)]={},_0x53f97e[_0x4b612d(0x24e)][_0x4b612d(0x1ed)]=_0x53f97e[_0x4b612d(0x1fe)],_0x53f97e[_0x4b612d(0x24e)][_0x4b612d(0x190)]=_0x53f97e[_0x4b612d(0x26c)],_0x53f97e[_0x4b612d(0x24e)][_0x4b612d(0x2cc)]=_0x53f97e[_0x4b612d(0x2cc)]||0x1,_0x53f97e[_0x4b612d(0x1ed)]={},_0x53f97e[_0x4b612d(0x1ed)][_0x4b612d(0x215)]=_0x53f97e['xmin'],_0x53f97e[_0x4b612d(0x1ed)][_0x4b612d(0x1d3)]=_0x53f97e[_0x4b612d(0x18a)],_0x53f97e['lat']={},_0x53f97e[_0x4b612d(0x190)]['min']=_0x53f97e['ymin'],_0x53f97e[_0x4b612d(0x190)][_0x4b612d(0x1d3)]=_0x53f97e[_0x4b612d(0x2b6)],_0x53f97e[_0x4b612d(0x2cc)]={},_0x53f97e[_0x4b612d(0x2cc)]['min']=(_0x416e85=_0x53f97e[_0x4b612d(0x261)])!==null&&_0x416e85!==void 0x0?_0x416e85:0x1,_0x53f97e['lev']['max']=(_0x384559=_0x53f97e[_0x4b612d(0x20d)])!==null&&_0x384559!==void 0x0?_0x384559:0x1,_0x53f97e['U']={},_0x53f97e['U'][_0x4b612d(0x28f)]=new Float32Array(_0x53f97e['udata']),_0x53f97e['U'][_0x4b612d(0x215)]=(_0x54182f=_0x53f97e[_0x4b612d(0x1be)])!==null&&_0x54182f!==void 0x0?_0x54182f:Math[_0x4b612d(0x215)]['apply'](Math,_toConsumableArray(_0x53f97e[_0x4b612d(0x1b0)])),_0x53f97e['U'][_0x4b612d(0x1d3)]=(_0x4a3e73=_0x53f97e[_0x4b612d(0x233)])!==null&&_0x4a3e73!==void 0x0?_0x4a3e73:Math[_0x4b612d(0x1d3)]['apply'](Math,_toConsumableArray(_0x53f97e[_0x4b612d(0x1b0)])),_0x53f97e['V']={},_0x53f97e['V'][_0x4b612d(0x28f)]=new Float32Array(_0x53f97e[_0x4b612d(0x2a9)]),_0x53f97e['V'][_0x4b612d(0x215)]=(_0x283fba=_0x53f97e[_0x4b612d(0x1ba)])!==null&&_0x283fba!==void 0x0?_0x283fba:Math[_0x4b612d(0x215)]['apply'](Math,_toConsumableArray(_0x53f97e[_0x4b612d(0x2a9)])),_0x53f97e['V']['max']=(_0x14c429=_0x53f97e['vmax'])!==null&&_0x14c429!==void 0x0?_0x14c429:Math[_0x4b612d(0x1d3)][_0x4b612d(0x278)](Math,_toConsumableArray(_0x53f97e[_0x4b612d(0x2a9)]));}this['data']=_0x53f97e,this[_0x4b612d(0x28b)]=_0xd33790,this[_0x4b612d(0x1f6)]=_0x40953e,this[_0x4b612d(0x20e)]=new ParticlesComputing(this[_0x4b612d(0x243)],this['data'],this[_0x4b612d(0x28b)],this[_0x4b612d(0x1f6)]),this[_0x4b612d(0x20f)]=new ParticlesRendering(this[_0x4b612d(0x243)],this[_0x4b612d(0x234)],this[_0x4b612d(0x28b)],this['viewerParameters'],this[_0x4b612d(0x20e)]);}return _createClass(_0x4f891c,[{'key':_0x53b176(0x222),'value':function _0xb077e5(_0x4a38d6){var _0x1d8533=_0x53b176,_0x4f022a=this;this['particlesComputing']['destroyParticlesTextures'](),Object['keys'](this[_0x1d8533(0x20e)][_0x1d8533(0x24c)])['forEach'](function(_0x27b984){var _0x25c2c5=_0x1d8533;_0x4f022a['particlesComputing'][_0x25c2c5(0x24c)][_0x27b984][_0x25c2c5(0x27d)]();}),this[_0x1d8533(0x20f)][_0x1d8533(0x237)][_0x1d8533(0x1ea)][_0x1d8533(0x27d)](),Object['keys'](this[_0x1d8533(0x20f)]['framebuffers'])[_0x1d8533(0x1c8)](function(_0x2f4067){var _0xc52950=_0x1d8533;_0x4f022a[_0xc52950(0x20f)][_0xc52950(0x287)][_0x2f4067][_0xc52950(0x27d)]();}),this[_0x1d8533(0x243)]=_0x4a38d6,this['particlesComputing']=new ParticlesComputing(this['context'],this[_0x1d8533(0x234)],this[_0x1d8533(0x28b)],this[_0x1d8533(0x1f6)]),this[_0x1d8533(0x20f)]=new ParticlesRendering(this['context'],this[_0x1d8533(0x234)],this[_0x1d8533(0x28b)],this[_0x1d8533(0x1f6)],this['particlesComputing']);}},{'key':_0x53b176(0x1c6),'value':function _0x4e626d(){var _0x556145=_0x53b176,_0xc4f82d=this,_0x21c6e4=new Cesium$2['ClearCommand']({'color':new Cesium$2['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':undefined,'pass':Cesium$2[_0x556145(0x23c)][_0x556145(0x286)]});Object['keys'](this[_0x556145(0x20f)][_0x556145(0x287)])[_0x556145(0x1c8)](function(_0xe25cb7){var _0x4894c4=_0x556145;_0x21c6e4['framebuffer']=_0xc4f82d[_0x4894c4(0x20f)][_0x4894c4(0x287)][_0xe25cb7],_0x21c6e4['execute'](_0xc4f82d[_0x4894c4(0x243)]);});}},{'key':_0x53b176(0x24d),'value':function _0x1f306d(_0x18da0a){var _0x16e117=_0x53b176;this[_0x16e117(0x1c6)](),this[_0x16e117(0x20e)][_0x16e117(0x1c9)](),this['particlesComputing'][_0x16e117(0x16f)](this[_0x16e117(0x243)],this[_0x16e117(0x28b)],this[_0x16e117(0x1f6)]);if(_0x18da0a){var _0x5138bf=this['particlesRendering'][_0x16e117(0x21e)](this[_0x16e117(0x28b)]);this[_0x16e117(0x20f)][_0x16e117(0x284)]['segments'][_0x16e117(0x164)]=_0x5138bf;var _0x44418c=Cesium$2['VertexArray']['fromGeometry']({'context':this[_0x16e117(0x243)],'geometry':_0x5138bf,'attributeLocations':this['particlesRendering']['primitives'][_0x16e117(0x259)][_0x16e117(0x19c)],'bufferUsage':Cesium$2[_0x16e117(0x22c)][_0x16e117(0x2a6)]});this[_0x16e117(0x20f)]['primitives'][_0x16e117(0x259)][_0x16e117(0x236)][_0x16e117(0x275)]=_0x44418c;}}},{'key':_0x53b176(0x2c3),'value':function _0x33b423(_0xc05e42){var _0x62361=_0x53b176,_0x2ceaa5=this,_0x4c6764=![];this[_0x62361(0x28b)][_0x62361(0x252)]!==_0xc05e42[_0x62361(0x252)]&&(_0x4c6764=!![]),Object[_0x62361(0x24b)](_0xc05e42)[_0x62361(0x1c8)](function(_0x4cf271){var _0x4d26a2=_0x62361;_0x2ceaa5[_0x4d26a2(0x28b)][_0x4cf271]=_0xc05e42[_0x4cf271];}),this[_0x62361(0x24d)](_0x4c6764);}},{'key':'applyViewerParameters','value':function _0x37e45b(_0x1e5326){var _0x48c4db=_0x53b176,_0x28e3d4=this;Object[_0x48c4db(0x24b)](_0x1e5326)[_0x48c4db(0x1c8)](function(_0x1d4bd9){_0x28e3d4['viewerParameters'][_0x1d4bd9]=_0x1e5326[_0x1d4bd9];}),this[_0x48c4db(0x24d)](![]);}},{'key':_0x53b176(0x27d),'value':function _0x33cdad(){var _0xf90db=_0x53b176,_0x5914ca=this;clearTimeout(this[_0xf90db(0x199)]),this[_0xf90db(0x20e)]['destroyParticlesTextures'](),Object[_0xf90db(0x24b)](this[_0xf90db(0x20e)][_0xf90db(0x24c)])['forEach'](function(_0x244ee0){var _0x5c2be3=_0xf90db;_0x5914ca[_0x5c2be3(0x20e)][_0x5c2be3(0x24c)][_0x244ee0][_0x5c2be3(0x27d)]();}),this[_0xf90db(0x20f)]['textures']['colorTable'][_0xf90db(0x27d)](),Object[_0xf90db(0x24b)](this[_0xf90db(0x20f)][_0xf90db(0x287)])[_0xf90db(0x1c8)](function(_0x22f347){var _0x48c2ea=_0xf90db;_0x5914ca['particlesRendering'][_0x48c2ea(0x287)][_0x22f347][_0x48c2ea(0x27d)]();});for(var _0x1f21d4 in this){delete this[_0x1f21d4];}}}]),_0x4f891c;}()),Cesium$1=mars3d__namespace[_0x2b205c(0x25f)],BaseLayer$1=mars3d__namespace[_0x2b205c(0x212)][_0x2b205c(0x17a)],DEF_OPTIONS={'particlesNumber':0x1000,'fixedHeight':0x0,'fadeOpacity':0.996,'dropRate':0.003,'dropRateBump':0.01,'speedFactor':0.5,'lineWidth':0x2,'colors':[_0x2b205c(0x2d7)]},WindLayer=function(_0x2554fe){var _0x4c0c4d=_0x2b205c;_inherits(_0x18b734,_0x2554fe);var _0x200968=_createSuper(_0x18b734);function _0x18b734(){var _0x6820be=_0xfde8,_0x188392,_0x170c10=arguments[_0x6820be(0x15e)]>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};return _classCallCheck(this,_0x18b734),_0x170c10=_objectSpread2(_objectSpread2({},DEF_OPTIONS),_0x170c10),_0x188392=_0x200968[_0x6820be(0x16b)](this,_0x170c10),_0x188392[_0x6820be(0x19f)](_0x170c10),_0x188392;}return _createClass(_0x18b734,[{'key':_0x4c0c4d(0x212),'get':function _0x5e0d1b(){return this['primitives'];}},{'key':_0x4c0c4d(0x234),'get':function _0x33de17(){var _0x1fede9=_0x4c0c4d;return this[_0x1fede9(0x277)];},'set':function _0x29a0d8(_0x278c6d){var _0x144084=_0x4c0c4d;this[_0x144084(0x230)](_0x278c6d);}},{'key':'colors','get':function _0x124116(){var _0x2011a7=_0x4c0c4d;return this[_0x2011a7(0x28b)]['colors'];},'set':function _0x39d208(_0x1b6028){var _0x42e090=_0x4c0c4d;this[_0x42e090(0x28b)][_0x42e090(0x2d4)]=_0x1b6028,this[_0x42e090(0x198)]&&this[_0x42e090(0x198)][_0x42e090(0x2c3)]({'colors':_0x1b6028}),this['resize']();}},{'key':_0x4c0c4d(0x272),'value':function _0x343d09(){}},{'key':_0x4c0c4d(0x1e5),'value':function _0x33a910(){var _0x30f191=_0x4c0c4d;this['scene']=this[_0x30f191(0x248)]['scene'],this[_0x30f191(0x19a)]=this[_0x30f191(0x248)][_0x30f191(0x19a)],this[_0x30f191(0x284)]=new Cesium$1['PrimitiveCollection'](),this[_0x30f191(0x248)][_0x30f191(0x2c0)][_0x30f191(0x284)][_0x30f191(0x250)](this[_0x30f191(0x284)]),this[_0x30f191(0x1f6)]={'lonRange':new Cesium$1[(_0x30f191(0x29c))](),'latRange':new Cesium$1[(_0x30f191(0x29c))](),'pixelSize':0x0},this[_0x30f191(0x241)]=new Cesium$1[(_0x30f191(0x2c8))](Cesium$1[_0x30f191(0x1b9)][_0x30f191(0x25c)],0.99*0x615299),this['updateViewerParameters'](),window['addEventListener'](_0x30f191(0x235),this[_0x30f191(0x235)]['bind'](this),![]),this[_0x30f191(0x2b3)]=![],this[_0x30f191(0x2bf)]=![],this[_0x30f191(0x248)]['on'](mars3d__namespace[_0x30f191(0x247)][_0x30f191(0x1ae)],this[_0x30f191(0x281)],this),this[_0x30f191(0x248)]['on'](mars3d__namespace[_0x30f191(0x247)][_0x30f191(0x262)],this[_0x30f191(0x17e)],this),this[_0x30f191(0x248)]['on'](mars3d__namespace[_0x30f191(0x247)][_0x30f191(0x1bf)],this[_0x30f191(0x194)],this),this['_map']['on'](mars3d__namespace[_0x30f191(0x247)][_0x30f191(0x265)],this[_0x30f191(0x1bc)],this),this[_0x30f191(0x277)]&&this[_0x30f191(0x230)](this[_0x30f191(0x277)]);}},{'key':'_removedHook','value':function _0xe867cf(){var _0x470fba=_0x4c0c4d;window[_0x470fba(0x1d2)]('resize',this[_0x470fba(0x235)]),this[_0x470fba(0x248)][_0x470fba(0x174)](mars3d__namespace[_0x470fba(0x247)][_0x470fba(0x166)],this['_onMap_preRenderEvent'],this),this[_0x470fba(0x248)][_0x470fba(0x174)](mars3d__namespace[_0x470fba(0x247)][_0x470fba(0x1ae)],this[_0x470fba(0x281)],this),this[_0x470fba(0x248)][_0x470fba(0x174)](mars3d__namespace[_0x470fba(0x247)]['mouseDown'],this[_0x470fba(0x17e)],this),this[_0x470fba(0x248)]['off'](mars3d__namespace[_0x470fba(0x247)]['mouseUp'],this['_onMouseUpEvent'],this),this[_0x470fba(0x248)][_0x470fba(0x174)](mars3d__namespace['EventType']['mouseMove'],this[_0x470fba(0x1bc)],this),this[_0x470fba(0x284)][_0x470fba(0x1ee)](),this[_0x470fba(0x248)][_0x470fba(0x2c0)]['primitives'][_0x470fba(0x22a)](this[_0x470fba(0x284)]);}},{'key':'resize','value':function _0x1a3589(){var _0x1ffff5=_0x4c0c4d;if(!this['show']||!this[_0x1ffff5(0x198)])return;this[_0x1ffff5(0x284)][_0x1ffff5(0x2b1)]=![],this['primitives'][_0x1ffff5(0x1ee)](),this['_map']['once'](mars3d__namespace[_0x1ffff5(0x247)]['preRender'],this[_0x1ffff5(0x1a9)],this);}},{'key':_0x4c0c4d(0x1a9),'value':function _0x4f4104(_0x154ec5){var _0x16d0cd=_0x4c0c4d;this[_0x16d0cd(0x198)][_0x16d0cd(0x222)](this['scene'][_0x16d0cd(0x243)]),this[_0x16d0cd(0x219)](),this[_0x16d0cd(0x284)][_0x16d0cd(0x2b1)]=!![];}},{'key':_0x4c0c4d(0x281),'value':function _0x56b699(_0x35b78e){var _0x27ca7d=_0x4c0c4d,_0x57213c=this;clearTimeout(this['refreshTimer']);if(!this[_0x27ca7d(0x2b1)]||!this['particleSystem'])return;this['primitives']['show']=![],this[_0x27ca7d(0x197)]=setTimeout(function(){var _0x1a4573=_0x27ca7d;if(!_0x57213c[_0x1a4573(0x2b1)])return;_0x57213c[_0x1a4573(0x171)]();},0xc8);}},{'key':_0x4c0c4d(0x17e),'value':function _0x25dfca(_0xa93d38){var _0x538c31=_0x4c0c4d;this[_0x538c31(0x2b3)]=!![];}},{'key':_0x4c0c4d(0x1bc),'value':function _0x36e911(_0x464d79){var _0x302297=_0x4c0c4d;if(!this[_0x302297(0x2b1)]||!this['particleSystem'])return;this['mouse_down']&&(this[_0x302297(0x284)][_0x302297(0x2b1)]=![],this[_0x302297(0x2bf)]=!![]);}},{'key':_0x4c0c4d(0x194),'value':function _0x437767(_0x1f4e10){var _0x48e411=_0x4c0c4d;if(!this[_0x48e411(0x2b1)]||!this[_0x48e411(0x198)])return;this[_0x48e411(0x2b3)]&&this[_0x48e411(0x2bf)]&&this[_0x48e411(0x171)](),this[_0x48e411(0x284)][_0x48e411(0x2b1)]=!![],this['mouse_down']=![],this[_0x48e411(0x2bf)]=![];}},{'key':_0x4c0c4d(0x171),'value':function _0x24889d(){var _0x1077ac=_0x4c0c4d;if(!this[_0x1077ac(0x248)]||!this['show'])return;this['updateViewerParameters'](),this['particleSystem']['applyViewerParameters'](this[_0x1077ac(0x1f6)]),this['primitives'][_0x1077ac(0x2b1)]=!![];}},{'key':_0x4c0c4d(0x230),'value':function _0x57e98c(_0x46bcaf){var _0x15d062=_0x4c0c4d;this[_0x15d062(0x277)]=_0x46bcaf,this[_0x15d062(0x198)]&&this[_0x15d062(0x198)]['destroy'](),this['particleSystem']=new ParticleSystem(this[_0x15d062(0x2c0)]['context'],_0x46bcaf,this[_0x15d062(0x1a1)](),this['viewerParameters']),this[_0x15d062(0x219)]();}},{'key':_0x4c0c4d(0x19f),'value':function _0x13f83e(_0x37b727,_0x5f57bd){var _0x25a56a=_0x4c0c4d;if(_0x37b727)for(var _0x37fd79 in _0x37b727){this[_0x37fd79]=_0x37b727[_0x37fd79];}this[_0x25a56a(0x198)]&&this[_0x25a56a(0x198)]['setOptions'](this[_0x25a56a(0x1a1)]());}},{'key':_0x4c0c4d(0x1a1),'value':function _0x1d1bb0(){var _0xc0d860=_0x4c0c4d,_0x208485=Math[_0xc0d860(0x23e)](Math[_0xc0d860(0x26b)](this[_0xc0d860(0x209)]));return this[_0xc0d860(0x209)]=_0x208485*_0x208485,{'particlesTextureSize':_0x208485,'maxParticles':this[_0xc0d860(0x209)],'particleHeight':this['fixedHeight'],'fadeOpacity':this[_0xc0d860(0x255)],'dropRate':this[_0xc0d860(0x29b)],'dropRateBump':this[_0xc0d860(0x158)],'speedFactor':this[_0xc0d860(0x18f)],'lineWidth':this[_0xc0d860(0x1ce)],'colors':this['colors']};}},{'key':'addPrimitives','value':function _0x301f34(){var _0x5c3e6e=_0x4c0c4d;this[_0x5c3e6e(0x284)]['add'](this['particleSystem'][_0x5c3e6e(0x20e)][_0x5c3e6e(0x284)][_0x5c3e6e(0x1a5)]),this[_0x5c3e6e(0x284)][_0x5c3e6e(0x250)](this['particleSystem']['particlesComputing'][_0x5c3e6e(0x284)]['updateSpeed']),this[_0x5c3e6e(0x284)][_0x5c3e6e(0x250)](this[_0x5c3e6e(0x198)][_0x5c3e6e(0x20e)][_0x5c3e6e(0x284)][_0x5c3e6e(0x253)]),this['primitives'][_0x5c3e6e(0x250)](this[_0x5c3e6e(0x198)]['particlesComputing'][_0x5c3e6e(0x284)][_0x5c3e6e(0x2c7)]),this['primitives'][_0x5c3e6e(0x250)](this[_0x5c3e6e(0x198)][_0x5c3e6e(0x20e)][_0x5c3e6e(0x284)][_0x5c3e6e(0x180)]),this[_0x5c3e6e(0x284)][_0x5c3e6e(0x250)](this[_0x5c3e6e(0x198)][_0x5c3e6e(0x20f)][_0x5c3e6e(0x284)][_0x5c3e6e(0x259)]),this['primitives'][_0x5c3e6e(0x250)](this['particleSystem'][_0x5c3e6e(0x20f)][_0x5c3e6e(0x284)][_0x5c3e6e(0x1d6)]),this[_0x5c3e6e(0x284)]['add'](this[_0x5c3e6e(0x198)][_0x5c3e6e(0x20f)][_0x5c3e6e(0x284)][_0x5c3e6e(0x21a)]);}},{'key':_0x4c0c4d(0x1b7),'value':function _0x1efa58(){var _0x3e707c=_0x4c0c4d,_0x44de8a=this[_0x3e707c(0x19a)]['computeViewRectangle'](this[_0x3e707c(0x2c0)][_0x3e707c(0x1b8)][_0x3e707c(0x266)]);if(!_0x44de8a){var _0x5b35d4=this[_0x3e707c(0x248)][_0x3e707c(0x1a2)]();_0x44de8a=Cesium$1[_0x3e707c(0x2bc)][_0x3e707c(0x1ff)](_0x5b35d4[_0x3e707c(0x159)],_0x5b35d4[_0x3e707c(0x1c4)],_0x5b35d4[_0x3e707c(0x18a)],_0x5b35d4['ymax']);}var _0x555572=Util[_0x3e707c(0x292)](_0x44de8a);this[_0x3e707c(0x1f6)]['lonRange']['x']=_0x555572[_0x3e707c(0x1ed)][_0x3e707c(0x215)],this['viewerParameters']['lonRange']['y']=_0x555572[_0x3e707c(0x1ed)][_0x3e707c(0x1d3)],this['viewerParameters'][_0x3e707c(0x15a)]['x']=_0x555572[_0x3e707c(0x190)]['min'],this[_0x3e707c(0x1f6)][_0x3e707c(0x15a)]['y']=_0x555572[_0x3e707c(0x190)][_0x3e707c(0x1d3)];var _0x778682=this[_0x3e707c(0x19a)][_0x3e707c(0x18e)](this[_0x3e707c(0x241)],this['scene'][_0x3e707c(0x1a0)],this[_0x3e707c(0x2c0)][_0x3e707c(0x26f)]);_0x778682>0x0&&(this[_0x3e707c(0x1f6)]['pixelSize']=_0x778682);}}]),_0x18b734;}(BaseLayer$1);mars3d__namespace[_0x2b205c(0x189)][_0x2b205c(0x1bb)](_0x2b205c(0x2c6),WindLayer),mars3d__namespace[_0x2b205c(0x212)][_0x2b205c(0x25e)]=WindLayer;var CanvasParticle=(function(){var _0x297fa6=_0x2b205c;function _0x2fa715(){var _0x10412d=_0xfde8;_classCallCheck(this,_0x2fa715),this[_0x10412d(0x22d)]=null,this[_0x10412d(0x190)]=null,this[_0x10412d(0x223)]=null,this['tlat']=null,this['age']=null;}return _createClass(_0x2fa715,[{'key':_0x297fa6(0x27d),'value':function _0x296d5a(){for(var _0x1bbaf1 in this){delete this[_0x1bbaf1];}}}]),_0x2fa715;}()),CanvasWindField=(function(){var _0x5af757=_0x2b205c;function _0x18f376(_0x3841ed){var _0x22e75c=_0xfde8;_classCallCheck(this,_0x18f376),this[_0x22e75c(0x2c3)](_0x3841ed);}return _createClass(_0x18f376,[{'key':_0x5af757(0x296),'get':function _0x25ee7e(){var _0x222f4b=_0x5af757;return this[_0x222f4b(0x26e)];},'set':function _0x215654(_0x33e22f){var _0x2615b1=_0x5af757;this[_0x2615b1(0x26e)]=(0x64-(_0x33e22f>0x63?0x63:_0x33e22f))*0x64,this[_0x2615b1(0x1e7)]=[(this[_0x2615b1(0x18a)]-this['xmin'])/this[_0x2615b1(0x26e)],(this[_0x2615b1(0x2b6)]-this[_0x2615b1(0x1c4)])/this[_0x2615b1(0x26e)]];}},{'key':_0x5af757(0x285),'get':function _0xd57fa2(){var _0x8af3b6=_0x5af757;return this[_0x8af3b6(0x2b9)];},'set':function _0xb6005e(_0x2e18db){var _0x5de335=_0x5af757;this[_0x5de335(0x2b9)]=_0x2e18db;}},{'key':_0x5af757(0x2c3),'value':function _0x574c89(_0x3b4a32){var _0x164f87=_0x5af757;this['options']=_0x3b4a32,this[_0x164f87(0x285)]=_0x3b4a32[_0x164f87(0x285)]||0x78,this[_0x164f87(0x296)]=_0x3b4a32['speedRate']||0x32,this['particles']=[];var _0x5a9456=_0x3b4a32[_0x164f87(0x209)]||0x1000;for(var _0x3f4c1c=0x0;_0x3f4c1c<_0x5a9456;_0x3f4c1c++){var _0x42f32b=this[_0x164f87(0x172)](new CanvasParticle());this[_0x164f87(0x2a4)][_0x164f87(0x1ca)](_0x42f32b);}}},{'key':_0x5af757(0x21f),'value':function _0x28d57e(_0x5c4910){var _0x192799=_0x5af757;this['rows']=_0x5c4910[_0x192799(0x26c)],this['cols']=_0x5c4910[_0x192799(0x1fe)],this[_0x192799(0x159)]=_0x5c4910['xmin'],this[_0x192799(0x18a)]=_0x5c4910[_0x192799(0x18a)],this[_0x192799(0x1c4)]=_0x5c4910[_0x192799(0x1c4)],this['ymax']=_0x5c4910[_0x192799(0x2b6)],this[_0x192799(0x28c)]=[];var _0x39f2b8=_0x5c4910[_0x192799(0x1b0)],_0x2ee3d2=_0x5c4910[_0x192799(0x2a9)],_0x17e3bb=![];_0x39f2b8[_0x192799(0x15e)]===this[_0x192799(0x26c)]&&_0x39f2b8[0x0]['length']===this[_0x192799(0x1fe)]&&(_0x17e3bb=!![]);var _0x37bbcf=0x0,_0x5cb306=null,_0x4169e7=null;for(var _0x5e11f9=0x0;_0x5e11f9<this[_0x192799(0x26c)];_0x5e11f9++){_0x5cb306=[];for(var _0xdebfa=0x0;_0xdebfa<this['cols'];_0xdebfa++,_0x37bbcf++){_0x17e3bb?_0x4169e7=this[_0x192799(0x192)](_0x39f2b8[_0x5e11f9][_0xdebfa],_0x2ee3d2[_0x5e11f9][_0xdebfa]):_0x4169e7=this[_0x192799(0x192)](_0x39f2b8[_0x37bbcf],_0x2ee3d2[_0x37bbcf]),_0x5cb306['push'](_0x4169e7);}this['grid'][_0x192799(0x1ca)](_0x5cb306);}this[_0x192799(0x28b)][_0x192799(0x2d9)]&&this[_0x192799(0x28c)][_0x192799(0x1ef)]();}},{'key':_0x5af757(0x240),'value':function _0x369481(){var _0xf565bf=_0x5af757;delete this[_0xf565bf(0x26c)],delete this[_0xf565bf(0x1fe)],delete this[_0xf565bf(0x159)],delete this['xmax'],delete this['ymin'],delete this[_0xf565bf(0x2b6)],delete this['grid'],delete this['particles'];}},{'key':'toGridXY','value':function _0x188f93(_0x546027,_0x5567b7){var _0x38ed47=_0x5af757,_0x473df2=(_0x546027-this[_0x38ed47(0x159)])/(this[_0x38ed47(0x18a)]-this['xmin'])*(this[_0x38ed47(0x1fe)]-0x1),_0x39c186=(this[_0x38ed47(0x2b6)]-_0x5567b7)/(this[_0x38ed47(0x2b6)]-this[_0x38ed47(0x1c4)])*(this[_0x38ed47(0x26c)]-0x1);return[_0x473df2,_0x39c186];}},{'key':_0x5af757(0x2d0),'value':function _0x206a55(_0x3a8515,_0x38a741){var _0x36f75c=_0x5af757;if(_0x3a8515<0x0||_0x3a8515>=this[_0x36f75c(0x1fe)]||_0x38a741>=this[_0x36f75c(0x26c)])return[0x0,0x0,0x0];var _0x352381=Math[_0x36f75c(0x15f)](_0x3a8515),_0x260265=Math[_0x36f75c(0x15f)](_0x38a741);if(_0x352381===_0x3a8515&&_0x260265===_0x38a741)return this[_0x36f75c(0x28c)][_0x38a741][_0x3a8515];var _0x5628c9=_0x352381+0x1,_0xe3f9ef=_0x260265+0x1,_0x45d5ce=this[_0x36f75c(0x2d0)](_0x352381,_0x260265),_0x48307d=this[_0x36f75c(0x2d0)](_0x5628c9,_0x260265),_0x4dae1b=this['getUVByXY'](_0x352381,_0xe3f9ef),_0x24d716=this['getUVByXY'](_0x5628c9,_0xe3f9ef),_0x155da7=null;try{_0x155da7=this[_0x36f75c(0x1a7)](_0x3a8515-_0x352381,_0x38a741-_0x260265,_0x45d5ce,_0x48307d,_0x4dae1b,_0x24d716);}catch(_0x5c75e3){console['log'](_0x3a8515,_0x38a741);}return _0x155da7;}},{'key':'_bilinearInterpolation','value':function _0x2f4d95(_0x351048,_0x4c40ab,_0x406565,_0x76b4f3,_0x381907,_0x37d482){var _0x598f1e=_0x5af757,_0x2d0846=0x1-_0x351048,_0x42d64e=0x1-_0x4c40ab,_0x3874a1=_0x2d0846*_0x42d64e,_0x2cecb5=_0x351048*_0x42d64e,_0x55ab25=_0x2d0846*_0x4c40ab,_0x2f1701=_0x351048*_0x4c40ab,_0x5f3870=_0x406565[0x0]*_0x3874a1+_0x76b4f3[0x0]*_0x2cecb5+_0x381907[0x0]*_0x55ab25+_0x37d482[0x0]*_0x2f1701,_0x348d97=_0x406565[0x1]*_0x3874a1+_0x76b4f3[0x1]*_0x2cecb5+_0x381907[0x1]*_0x55ab25+_0x37d482[0x1]*_0x2f1701;return this[_0x598f1e(0x192)](_0x5f3870,_0x348d97);}},{'key':_0x5af757(0x192),'value':function _0x1ca9b2(_0x2d3817,_0x400e45){var _0x5422e9=_0x5af757;return[+_0x2d3817,+_0x400e45,Math[_0x5422e9(0x26b)](_0x2d3817*_0x2d3817+_0x400e45*_0x400e45)];}},{'key':_0x5af757(0x29f),'value':function _0x10f7d6(_0x117262,_0x595d6e){var _0x2d9fde=_0x5af757;if(!this[_0x2d9fde(0x27c)](_0x117262,_0x595d6e))return null;var _0x53ee9e=this[_0x2d9fde(0x1da)](_0x117262,_0x595d6e),_0x28403b=this[_0x2d9fde(0x2d0)](_0x53ee9e[0x0],_0x53ee9e[0x1]);return _0x28403b;}},{'key':_0x5af757(0x27c),'value':function _0x2112e5(_0x3110e7,_0x2a7e0e){var _0x2b900d=_0x5af757;return _0x3110e7>=this[_0x2b900d(0x159)]&&_0x3110e7<=this[_0x2b900d(0x18a)]&&_0x2a7e0e>=this[_0x2b900d(0x1c4)]&&_0x2a7e0e<=this[_0x2b900d(0x2b6)]?!![]:![];}},{'key':'getRandomLatLng','value':function _0x434667(){var _0x429eea=_0x5af757,_0x3eba2f=fRandomByfloat(this[_0x429eea(0x159)],this[_0x429eea(0x18a)]),_0x361340=fRandomByfloat(this['ymin'],this[_0x429eea(0x2b6)]);return{'lat':_0x361340,'lng':_0x3eba2f};}},{'key':_0x5af757(0x19b),'value':function _0x5b942a(){var _0x3b43a9=_0x5af757,_0x390f4e,_0x5049df,_0x10d3bf;for(var _0x40fc2f=0x0,_0x4290f2=this[_0x3b43a9(0x2a4)][_0x3b43a9(0x15e)];_0x40fc2f<_0x4290f2;_0x40fc2f++){var _0x3b0dfd=this[_0x3b43a9(0x2a4)][_0x40fc2f];_0x3b0dfd['age']<=0x0&&(_0x3b0dfd=this[_0x3b43a9(0x172)](_0x3b0dfd));if(_0x3b0dfd[_0x3b43a9(0x2da)]>0x0){var _0x51e23c=_0x3b0dfd[_0x3b43a9(0x223)],_0x59625e=_0x3b0dfd['tlat'];_0x10d3bf=this[_0x3b43a9(0x29f)](_0x51e23c,_0x59625e),_0x10d3bf?(_0x390f4e=_0x51e23c+this[_0x3b43a9(0x1e7)][0x0]*_0x10d3bf[0x0],_0x5049df=_0x59625e+this[_0x3b43a9(0x1e7)][0x1]*_0x10d3bf[0x1],_0x3b0dfd[_0x3b43a9(0x22d)]=_0x51e23c,_0x3b0dfd[_0x3b43a9(0x190)]=_0x59625e,_0x3b0dfd[_0x3b43a9(0x223)]=_0x390f4e,_0x3b0dfd[_0x3b43a9(0x225)]=_0x5049df,_0x3b0dfd['age']--):_0x3b0dfd[_0x3b43a9(0x2da)]=0x0;}}return this[_0x3b43a9(0x2a4)];}},{'key':_0x5af757(0x172),'value':function _0x43c54a(_0x2c3177){var _0x27030d=_0x5af757,_0x47d7e6,_0x53846a;for(var _0x327db4=0x0;_0x327db4<0x1e;_0x327db4++){_0x47d7e6=this['getRandomLatLng'](),_0x53846a=this['getUVByPoint'](_0x47d7e6[_0x27030d(0x22d)],_0x47d7e6[_0x27030d(0x190)]);if(_0x53846a&&_0x53846a[0x2]>0x0)break;}if(!_0x53846a)return _0x2c3177;var _0xdbfca8=_0x47d7e6[_0x27030d(0x22d)]+this[_0x27030d(0x1e7)][0x0]*_0x53846a[0x0],_0x3ac7e3=_0x47d7e6['lat']+this[_0x27030d(0x1e7)][0x1]*_0x53846a[0x1];return _0x2c3177[_0x27030d(0x22d)]=_0x47d7e6['lng'],_0x2c3177[_0x27030d(0x190)]=_0x47d7e6[_0x27030d(0x190)],_0x2c3177[_0x27030d(0x223)]=_0xdbfca8,_0x2c3177[_0x27030d(0x225)]=_0x3ac7e3,_0x2c3177[_0x27030d(0x2da)]=Math[_0x27030d(0x1e0)](Math[_0x27030d(0x2d8)]()*this[_0x27030d(0x285)]),_0x2c3177;}},{'key':_0x5af757(0x27d),'value':function _0x586b40(){for(var _0x10f808 in this){delete this[_0x10f808];}}}]),_0x18f376;}());function _0x55b1(){var _0x9fd6e4=['clampToLatitudeRange','frameTime','_setOptionsHook','drawingBufferWidth','getOptions','getExtent','this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called','PrimitiveType','getWind','cos','_bilinearInterpolation','from','_onMap_preRenderEvent','updateSpeed','fragmentShaderSource','isArray','1633592XFsXMw','wheel','DrawCommand','udata','preExecute','fromGeometry','RGBA','construct','worker','getOwnPropertyDescriptors','updateViewerParameters','globe','Cartesian3','vmin','register','_onMouseMoveEvent','_pointerEvents','umin','mouseUp','string','canvasWind','canvasWindy','ComponentDatatype','ymin','object','clearFramebuffers','init','forEach','destroyParticlesTextures','push','nextParticlesSpeed','lonRange','createElement','lineWidth','Invalid\x20attempt\x20to\x20spread\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.','green','mode','removeEventListener','max','pow','LINEAR','trails','getDefaultRenderState','visibility','RGB','toGridXY','TRIANGLES','prototype','pointer-events','Compute','UNSIGNED_INT','round','5725856UjFyxM','onmessage','absolute','isPointVisible','_addedHook','mod','_calc_speedRate','setPrototypeOf','VertexArray','colorTable','particlesTextures','Sampler','lon','removeAll','reverse','TextureMagnificationFilter','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}','createFramebuffer','canvasHeight','rawRenderState','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}','viewerParameters','100%','Math','GeometryAttribute','TWO_PI','beginPath','update','iterator','cols','fromDegrees','clearCommand','writable','pixelSize','createComputingPrimitives','clientHeight','71520KQgyQp','unbindEvent','lineTo','abs','particlesNumber','DEPTH_COMPONENT','test','function','levmax','particlesComputing','particlesRendering','583065FCMrEP','56PXJDjV','layer','create','shaderProgram','min','ComputeCommand','position','randomizeParticles','addPrimitives','screen','getOwnPropertyDescriptor','_drawLines','0px','createSegmentsGeometry','setDate','getColorTexture','name','canvasResize','tlng','depthTexture','tlat','ShaderProgram','fromCssColorString','currentParticlesPosition','SceneMode','remove','defined','BufferUsage','lng','animateFrame','_removedHook','setData','atan2','UNSIGNED_BYTE','umax','data','resize','commandToExecute','textures','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}','SceneTransforms','createRenderingPrimitives','destination-in','Pass','sham','ceil','fromCache','clear','globeBoundingSphere','_updateIng2','context','CanvasWindField','_tomap','setGeometry','EventType','_map','PI_OVER_TWO','commandType','keys','windTextures','refreshParticles','dimensions','Framebuffer','add','canvasWidth','maxParticles','updatePosition','bindEvent','fadeOpacity','addEventListener','ClearCommand','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}','segments','LUMINANCE','visible','ZERO','THREE_PI_OVER_TWO','WindLayer','Cesium','clientWidth','levmin','mouseDown','getPrototypeOf','Cannot\x20call\x20a\x20class\x20as\x20a\x20function','mouseMove','ellipsoid','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}','Object','_showHook','particlesWind','sqrt','rows','CanvasWindLayer','_speedRate','drawingBufferHeight','class','_canrefresh','_mountedHook','Map','constructor','vertexArray','valueOf','_data','apply','isDestroyed','toString','vertexShaderSource','isInExtent','destroy','_createCanvas','NEAREST','nextTrails','_onMapWhellEvent','removeChild','primitiveType','primitives','maxAge','OPAQUE','framebuffers','canvas','lighter','framebuffer','options','grid','globalCompositeOperation','createRenderingTextures','array','north','ALWAYS','viewRectangleToLonLatRange','1434316LdvkHQ','createRawRenderState','createCommand','speedRate','__esModule','fixedHeight','undefined','FLOAT','dropRate','Cartesian2','PixelFormat','506597rlsveP','getUVByPoint','top','#ffffff','mouseHidden','arrayBufferView','particles','_updateIng','STATIC_DRAW','PI_OVER_THREE','fill','vdata','IDENTITY','Arguments','createWindTextures','ShaderSource','WindUtil','height','SCENE3D','show','configurable','mouse_down','none','toRadians','ymax','RenderState','zIndex','_maxAge','south','stroke','Rectangle','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}','__proto__','mouse_move','scene','initWorker','createRenderingFramebuffers','setOptions','positionWC','windField','wind','postProcessingPosition','BoundingSphere','outputTexture','autoClear','toDegrees','lev','key','color','5gbtemL','getUVByXY','Appearance','style','currentParticlesSpeed','colors','currentTrails','wgs84ToWindowCoordinates','rgb(206,255,255)','random','reverseY','age','all','Draw','default','randomBetween','Color','dropRateBump','xmin','latRange','postMessage','strokeStyle','source','length','floor','currentTrailsDepth','container','uniformMap','particlesTextureSize','geometry','Texture','preRender','9ugddKM','nextTrailsColor','defineProperty','Geometry','call','width','nextTrailsDepth','frameRate','createParticlesTextures','Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function','redraw','_randomParticle','currentTrailsColor','off','PixelDatatype','cancelAnimationFrame','canvasContext','10066030xzveWb','createTexture','BaseLayer','now','TextureMinificationFilter','left','_onMouseDownEvent','pointerEvents','postProcessingSpeed','particleHeight','globalAlpha','destroyObject','requestAnimationFrame','filter','blending','GeometryAttributes','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}','LayerUtil','xmax','DISABLE_GL_POSITION_LOG_DEPTH','enumerable','nextParticlesPosition','getPixelSize','speedFactor','lat','windData','_calcUV','fillRect','_onMouseUpEvent','setAttribute','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}','refreshTimer','particleSystem','canrefresh','camera','getParticles','attributeLocations'];_0x55b1=function(){return _0x9fd6e4;};return _0x55b1();}function fRandomByfloat(_0x46c02f,_0x4d4d27){var _0x324bcf=_0x2b205c;return _0x46c02f+Math[_0x324bcf(0x2d8)]()*(_0x4d4d27-_0x46c02f);}var Cesium=mars3d__namespace[_0x2b205c(0x25f)],BaseLayer=mars3d__namespace[_0x2b205c(0x212)][_0x2b205c(0x17a)],CanvasWindLayer=function(_0xebc6e6){var _0x26b6a0=_0x2b205c;_inherits(_0x360569,_0xebc6e6);var _0x1c8d16=_createSuper(_0x360569);function _0x360569(){var _0x357e03=_0xfde8,_0x14026b,_0x3f1e69=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};return _classCallCheck(this,_0x360569),_0x14026b=_0x1c8d16[_0x357e03(0x16b)](this,_0x3f1e69),_0x14026b[_0x357e03(0x19f)](_0x3f1e69),_0x14026b[_0x357e03(0x288)]=null,_0x14026b;}return _createClass(_0x360569,[{'key':_0x26b6a0(0x19f),'value':function _0x3546fb(_0x4c6148,_0x132b0e){var _0x7278dd=_0x26b6a0,_0x5c5915,_0x52bea0,_0x5183d4;this[_0x7278dd(0x19e)]=0x3e8/(_0x4c6148[_0x7278dd(0x16e)]||0xa),this[_0x7278dd(0x1bd)]=(_0x5c5915=this[_0x7278dd(0x28b)][_0x7278dd(0x17f)])!==null&&_0x5c5915!==void 0x0?_0x5c5915:![],this[_0x7278dd(0x2ce)]=_0x4c6148[_0x7278dd(0x2ce)]||_0x7278dd(0x2a1),this['lineWidth']=_0x4c6148[_0x7278dd(0x1ce)]||0x1,this[_0x7278dd(0x298)]=(_0x52bea0=_0x4c6148[_0x7278dd(0x298)])!==null&&_0x52bea0!==void 0x0?_0x52bea0:0x0,this['reverseY']=(_0x5183d4=_0x4c6148[_0x7278dd(0x2d9)])!==null&&_0x5183d4!==void 0x0?_0x5183d4:![],this[_0x7278dd(0x2c5)]&&this[_0x7278dd(0x2c5)][_0x7278dd(0x2c3)](_0x4c6148);}},{'key':'layer','get':function _0x4f1bce(){return this['canvas'];}},{'key':'canvasWidth','get':function _0x6e5103(){var _0x2637e6=_0x26b6a0;return this[_0x2637e6(0x248)]['scene'][_0x2637e6(0x288)]['clientWidth'];}},{'key':'canvasHeight','get':function _0x24f413(){var _0x3612b9=_0x26b6a0;return this['_map']['scene'][_0x3612b9(0x288)][_0x3612b9(0x204)];}},{'key':_0x26b6a0(0x17f),'get':function _0x47b326(){var _0x349c52=_0x26b6a0;return this[_0x349c52(0x1bd)];},'set':function _0x2b0873(_0x2a6dc6){var _0x241aa1=_0x26b6a0;this[_0x241aa1(0x1bd)]=_0x2a6dc6;if(!this[_0x241aa1(0x288)])return;_0x2a6dc6?this[_0x241aa1(0x288)][_0x241aa1(0x2d2)][_0x241aa1(0x1dd)]=_0x241aa1(0x2db):this['canvas'][_0x241aa1(0x2d2)][_0x241aa1(0x1dd)]=_0x241aa1(0x2b4);}},{'key':_0x26b6a0(0x209),'get':function _0x297c6f(){var _0x3889b6=_0x26b6a0;return this[_0x3889b6(0x28b)]['particlesNumber'];},'set':function _0x5cc6d2(_0x444ddf){var _0x3f9209=_0x26b6a0,_0x3af702=this;this[_0x3f9209(0x28b)][_0x3f9209(0x209)]=_0x444ddf,clearTimeout(this[_0x3f9209(0x271)]),this[_0x3f9209(0x271)]=setTimeout(function(){var _0x53bf73=_0x3f9209;_0x3af702[_0x53bf73(0x171)]();},0x1f4);}},{'key':_0x26b6a0(0x296),'get':function _0x5497a1(){var _0x43f328=_0x26b6a0;return this['options'][_0x43f328(0x296)];},'set':function _0xfb19e8(_0x3ee3dc){var _0x2a3b6a=_0x26b6a0;this[_0x2a3b6a(0x28b)][_0x2a3b6a(0x296)]=_0x3ee3dc,this[_0x2a3b6a(0x2c5)]&&(this['windField'][_0x2a3b6a(0x296)]=_0x3ee3dc);}},{'key':_0x26b6a0(0x285),'get':function _0x199cfe(){var _0x37d207=_0x26b6a0;return this[_0x37d207(0x28b)]['maxAge'];},'set':function _0x1aeaa3(_0x37d98f){var _0x33f46c=_0x26b6a0;this[_0x33f46c(0x28b)]['maxAge']=_0x37d98f,this[_0x33f46c(0x2c5)]&&(this[_0x33f46c(0x2c5)][_0x33f46c(0x285)]=_0x37d98f);}},{'key':_0x26b6a0(0x234),'get':function _0x2e5059(){var _0x366b22=_0x26b6a0;return this[_0x366b22(0x191)];},'set':function _0x2cb455(_0x289c0c){this['setData'](_0x289c0c);}},{'key':_0x26b6a0(0x269),'value':function _0x165598(_0x4d212b){var _0x41bb12=_0x26b6a0;_0x4d212b?this[_0x41bb12(0x1e5)]():(this[_0x41bb12(0x191)]&&(this[_0x41bb12(0x28b)]['data']=this['windData']),this[_0x41bb12(0x22f)]());}},{'key':'_mountedHook','value':function _0x5ba896(){var _0x5d2c25=_0x26b6a0;this[_0x5d2c25(0x28b)]['worker']?this[_0x5d2c25(0x2c1)]():this[_0x5d2c25(0x2c5)]=new CanvasWindField(this[_0x5d2c25(0x28b)]);}},{'key':_0x26b6a0(0x1e5),'value':function _0x461ff9(){var _0x4e3a43=_0x26b6a0;this[_0x4e3a43(0x288)]=this[_0x4e3a43(0x27e)](),this['canvasContext']=this[_0x4e3a43(0x288)]['getContext']('2d',{'willReadFrequently':!![]}),this['bindEvent'](),this['options'][_0x4e3a43(0x234)]&&this[_0x4e3a43(0x230)](this[_0x4e3a43(0x28b)]['data']);}},{'key':_0x26b6a0(0x22f),'value':function _0x541c18(){var _0x5368b4=_0x26b6a0;this[_0x5368b4(0x240)](),this[_0x5368b4(0x206)](),this['canvas']&&(this['_map']['container'][_0x5368b4(0x282)](this[_0x5368b4(0x288)]),delete this[_0x5368b4(0x288)]);}},{'key':'_createCanvas','value':function _0xd3ccc4(){var _0x50fe3a=_0x26b6a0,_0x29e720=document[_0x50fe3a(0x1cd)](_0x50fe3a(0x288));_0x29e720[_0x50fe3a(0x2d2)][_0x50fe3a(0x217)]=_0x50fe3a(0x1e3),_0x29e720['style'][_0x50fe3a(0x2a0)]=_0x50fe3a(0x21d),_0x29e720[_0x50fe3a(0x2d2)][_0x50fe3a(0x17d)]='0px',_0x29e720[_0x50fe3a(0x2d2)][_0x50fe3a(0x16c)]=_0x50fe3a(0x1f7),_0x29e720[_0x50fe3a(0x2d2)][_0x50fe3a(0x2af)]=_0x50fe3a(0x1f7),_0x29e720[_0x50fe3a(0x2d2)]['pointerEvents']=this[_0x50fe3a(0x1bd)]?'auto':'none',_0x29e720['style'][_0x50fe3a(0x2b8)]=0xa,_0x29e720[_0x50fe3a(0x195)]('id',_0x50fe3a(0x1c2)),_0x29e720[_0x50fe3a(0x195)](_0x50fe3a(0x270),'canvasWindy'),this[_0x50fe3a(0x248)][_0x50fe3a(0x161)]['appendChild'](_0x29e720);var _0x35b5e7=this[_0x50fe3a(0x248)]['scene'];return _0x29e720[_0x50fe3a(0x16c)]=_0x35b5e7['canvas'][_0x50fe3a(0x260)],_0x29e720[_0x50fe3a(0x2af)]=_0x35b5e7['canvas'][_0x50fe3a(0x204)],_0x29e720;}},{'key':'resize','value':function _0x4eaec9(){var _0x144990=_0x26b6a0;this[_0x144990(0x288)]&&(this[_0x144990(0x288)][_0x144990(0x16c)]=this[_0x144990(0x251)],this[_0x144990(0x288)][_0x144990(0x2af)]=this[_0x144990(0x1f3)]);}},{'key':_0x26b6a0(0x254),'value':function _0x5c648d(){var _0x4c29ff=_0x26b6a0,_0x27bb2f=this,_0x21f14a=Date[_0x4c29ff(0x17b)]();(function _0x1920ef(){var _0x208cee=_0x4c29ff;_0x27bb2f[_0x208cee(0x22e)]=window[_0x208cee(0x184)](_0x1920ef);if(_0x27bb2f['show']&&_0x27bb2f[_0x208cee(0x2c5)]){var _0x1e0f26=Date[_0x208cee(0x17b)](),_0x473d6f=_0x1e0f26-_0x21f14a;_0x473d6f>_0x27bb2f['frameTime']&&(_0x21f14a=_0x1e0f26-_0x473d6f%_0x27bb2f[_0x208cee(0x19e)],_0x27bb2f[_0x208cee(0x1fc)]());}}(),window[_0x4c29ff(0x256)](_0x4c29ff(0x235),this[_0x4c29ff(0x235)]['bind'](this),![]),this[_0x4c29ff(0x2b3)]=![],this[_0x4c29ff(0x2bf)]=![],this['options'][_0x4c29ff(0x2a2)]&&(this['_map']['on'](mars3d__namespace[_0x4c29ff(0x247)][_0x4c29ff(0x1ae)],this[_0x4c29ff(0x281)],this),this['_map']['on'](mars3d__namespace[_0x4c29ff(0x247)][_0x4c29ff(0x262)],this[_0x4c29ff(0x17e)],this),this[_0x4c29ff(0x248)]['on'](mars3d__namespace[_0x4c29ff(0x247)][_0x4c29ff(0x1bf)],this['_onMouseUpEvent'],this)));}},{'key':_0x26b6a0(0x206),'value':function _0x5ca5a6(){var _0xe9b20d=_0x26b6a0;window[_0xe9b20d(0x176)](this[_0xe9b20d(0x22e)]),delete this[_0xe9b20d(0x22e)],window[_0xe9b20d(0x1d2)](_0xe9b20d(0x235),this[_0xe9b20d(0x235)]),this['options'][_0xe9b20d(0x2a2)]&&(this['_map'][_0xe9b20d(0x174)](mars3d__namespace[_0xe9b20d(0x247)]['wheel'],this['_onMapWhellEvent'],this),this[_0xe9b20d(0x248)]['off'](mars3d__namespace['EventType'][_0xe9b20d(0x262)],this['_onMouseDownEvent'],this),this[_0xe9b20d(0x248)][_0xe9b20d(0x174)](mars3d__namespace['EventType'][_0xe9b20d(0x1bf)],this['_onMouseUpEvent'],this),this[_0xe9b20d(0x248)][_0xe9b20d(0x174)](mars3d__namespace[_0xe9b20d(0x247)]['mouseMove'],this[_0xe9b20d(0x1bc)],this));}},{'key':_0x26b6a0(0x281),'value':function _0x44bfd1(_0x5383bd){var _0x22c07e=_0x26b6a0,_0x5d92f1=this;clearTimeout(this[_0x22c07e(0x197)]);if(!this['show']||!this[_0x22c07e(0x288)])return;this[_0x22c07e(0x288)][_0x22c07e(0x2d2)]['visibility']='hidden',this['refreshTimer']=setTimeout(function(){var _0x181279=_0x22c07e;if(!_0x5d92f1[_0x181279(0x2b1)])return;_0x5d92f1['redraw'](),_0x5d92f1[_0x181279(0x288)][_0x181279(0x2d2)][_0x181279(0x1d8)]=_0x181279(0x25b);},0xc8);}},{'key':_0x26b6a0(0x17e),'value':function _0x5a29dc(_0x4356fa){var _0x4413e8=_0x26b6a0;this[_0x4413e8(0x2b3)]=!![],this[_0x4413e8(0x248)]['off'](mars3d__namespace[_0x4413e8(0x247)][_0x4413e8(0x265)],this['_onMouseMoveEvent'],this),this[_0x4413e8(0x248)]['on'](mars3d__namespace[_0x4413e8(0x247)][_0x4413e8(0x265)],this[_0x4413e8(0x1bc)],this);}},{'key':_0x26b6a0(0x1bc),'value':function _0x2b003e(_0x15eb65){var _0x8d2b4d=_0x26b6a0;if(!this[_0x8d2b4d(0x2b1)]||!this['canvas'])return;this['mouse_down']&&(this[_0x8d2b4d(0x288)]['style'][_0x8d2b4d(0x1d8)]='hidden',this[_0x8d2b4d(0x2bf)]=!![]);}},{'key':'_onMouseUpEvent','value':function _0x2c4e32(_0x231259){var _0x5bc249=_0x26b6a0;if(!this[_0x5bc249(0x2b1)]||!this[_0x5bc249(0x288)])return;this['_map'][_0x5bc249(0x174)](mars3d__namespace['EventType'][_0x5bc249(0x265)],this[_0x5bc249(0x1bc)],this),this['mouse_down']&&this[_0x5bc249(0x2bf)]&&this[_0x5bc249(0x171)](),this[_0x5bc249(0x288)]['style']['visibility']=_0x5bc249(0x25b),this[_0x5bc249(0x2b3)]=![],this[_0x5bc249(0x2bf)]=![];}},{'key':'setData','value':function _0x3e128e(_0x74e966){var _0x35acac=_0x26b6a0;this[_0x35acac(0x240)](),this[_0x35acac(0x191)]=_0x74e966,this[_0x35acac(0x2c5)][_0x35acac(0x21f)](_0x74e966),this[_0x35acac(0x171)]();}},{'key':'redraw','value':function _0x577781(){var _0x1b09a8=_0x26b6a0;if(!this['show'])return;this[_0x1b09a8(0x2c5)][_0x1b09a8(0x2c3)](this[_0x1b09a8(0x28b)]),this[_0x1b09a8(0x1fc)]();}},{'key':_0x26b6a0(0x1fc),'value':function _0x4adad0(){var _0x194669=_0x26b6a0;if(this[_0x194669(0x2a5)])return;this['_updateIng']=!![];if(this[_0x194669(0x1b5)])this['windField'][_0x194669(0x1fc)]();else{var _0xff056=this['windField'][_0x194669(0x19b)]();this[_0x194669(0x21c)](_0xff056);}this[_0x194669(0x2a5)]=![];}},{'key':_0x26b6a0(0x21c),'value':function _0x46f715(_0x2f33a0){var _0x10d6af=_0x26b6a0;this[_0x10d6af(0x177)][_0x10d6af(0x28d)]=_0x10d6af(0x23b),this[_0x10d6af(0x177)][_0x10d6af(0x193)](0x0,0x0,this['canvasWidth'],this[_0x10d6af(0x1f3)]),this[_0x10d6af(0x177)][_0x10d6af(0x28d)]=_0x10d6af(0x289),this[_0x10d6af(0x177)][_0x10d6af(0x182)]=0.9,this['canvasContext'][_0x10d6af(0x1fb)](),this[_0x10d6af(0x177)][_0x10d6af(0x1ce)]=this['lineWidth'],this[_0x10d6af(0x177)][_0x10d6af(0x15c)]=this[_0x10d6af(0x2ce)];var _0xb31c26=this[_0x10d6af(0x248)][_0x10d6af(0x2c0)][_0x10d6af(0x1d1)]!==Cesium[_0x10d6af(0x229)][_0x10d6af(0x2b0)];for(var _0x336672=0x0,_0x47a0e4=_0x2f33a0['length'];_0x336672<_0x47a0e4;_0x336672++){var _0x40fb06=_0x2f33a0[_0x336672],_0x50b808=this['_tomap'](_0x40fb06[_0x10d6af(0x22d)],_0x40fb06[_0x10d6af(0x190)],_0x40fb06),_0xe92ac5=this['_tomap'](_0x40fb06['tlng'],_0x40fb06[_0x10d6af(0x225)],_0x40fb06);if(!_0x50b808||!_0xe92ac5)continue;if(_0xb31c26&&Math[_0x10d6af(0x208)](_0x50b808[0x0]-_0xe92ac5[0x0])>=this[_0x10d6af(0x251)])continue;this[_0x10d6af(0x177)]['moveTo'](_0x50b808[0x0],_0x50b808[0x1]),this['canvasContext'][_0x10d6af(0x207)](_0xe92ac5[0x0],_0xe92ac5[0x1]);}this[_0x10d6af(0x177)][_0x10d6af(0x2bb)]();}},{'key':_0x26b6a0(0x245),'value':function _0x5d734e(_0x506f20,_0x320148,_0x2e5672){var _0x548989=_0x26b6a0,_0x278697=Cesium['Cartesian3'][_0x548989(0x1ff)](_0x506f20,_0x320148,this[_0x548989(0x298)]),_0x3485c5=this[_0x548989(0x248)]['scene'];if(_0x3485c5['mode']===Cesium[_0x548989(0x229)][_0x548989(0x2b0)]){var _0x530482=new Cesium['EllipsoidalOccluder'](_0x3485c5['globe']['ellipsoid'],_0x3485c5['camera'][_0x548989(0x2c4)]),_0x26567e=_0x530482[_0x548989(0x1e4)](_0x278697);if(!_0x26567e)return _0x2e5672[_0x548989(0x2da)]=0x0,null;}var _0x1dd26f=Cesium[_0x548989(0x239)][_0x548989(0x2d6)](this[_0x548989(0x248)]['scene'],_0x278697);return _0x1dd26f?[_0x1dd26f['x'],_0x1dd26f['y']]:null;}},{'key':_0x26b6a0(0x240),'value':function _0x5437b3(){var _0x316cb7=_0x26b6a0;this['windField'][_0x316cb7(0x240)](),delete this[_0x316cb7(0x191)];}},{'key':'initWorker','value':function _0x16e8fa(){var _0x2ad3fd=_0x26b6a0,_0x23dcd7=this;this[_0x2ad3fd(0x1b5)]=new Worker(this[_0x2ad3fd(0x28b)][_0x2ad3fd(0x1b5)]),this[_0x2ad3fd(0x1b5)][_0x2ad3fd(0x1e2)]=function(_0x45f8a1){var _0x5ac352=_0x2ad3fd;_0x23dcd7[_0x5ac352(0x21c)](_0x45f8a1[_0x5ac352(0x234)]['particles']),_0x23dcd7[_0x5ac352(0x242)]=![];},this[_0x2ad3fd(0x2c5)]={'init':function _0x414e90(_0x2ae44e){var _0x90939b=_0x2ad3fd;_0x23dcd7[_0x90939b(0x1b5)][_0x90939b(0x15b)]({'type':_0x90939b(0x1c7),'options':_0x2ae44e});},'setOptions':function _0x44c706(_0x1b3060){var _0x10f727=_0x2ad3fd;_0x23dcd7[_0x10f727(0x1b5)]['postMessage']({'type':_0x10f727(0x2c3),'options':_0x1b3060});},'setDate':function _0x313efd(_0xf65549){var _0x32e29b=_0x2ad3fd;_0x23dcd7[_0x32e29b(0x1b5)][_0x32e29b(0x15b)]({'type':'setDate','data':_0xf65549});},'update':function _0xe4ce17(){var _0x41ca60=_0x2ad3fd;if(_0x23dcd7[_0x41ca60(0x242)])return;_0x23dcd7[_0x41ca60(0x242)]=!![],_0x23dcd7[_0x41ca60(0x1b5)]['postMessage']({'type':_0x41ca60(0x1fc)});},'clear':function _0xba6fa4(){var _0x3b4742=_0x2ad3fd;_0x23dcd7['worker']['postMessage']({'type':_0x3b4742(0x240)});}},this[_0x2ad3fd(0x2c5)][_0x2ad3fd(0x1c7)](this['options']);}}]),_0x360569;}(BaseLayer);mars3d__namespace['LayerUtil'][_0x2b205c(0x1bb)](_0x2b205c(0x1c1),CanvasWindLayer),mars3d__namespace[_0x2b205c(0x212)][_0x2b205c(0x26d)]=CanvasWindLayer,mars3d__namespace[_0x2b205c(0x244)]=CanvasWindField,mars3d__namespace[_0x2b205c(0x2ae)]=WindUtil,exports[_0x2b205c(0x244)]=CanvasWindField,exports[_0x2b205c(0x26d)]=CanvasWindLayer,exports[_0x2b205c(0x25e)]=WindLayer,exports[_0x2b205c(0x2ae)]=WindUtil,Object[_0x2b205c(0x169)](exports,_0x2b205c(0x297),{'value':!![]});
}));