mars3d-wind 3.1.12 → 3.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/mars3d-wind.js +3 -3
- package/package.json +3 -3
package/dist/mars3d-wind.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Mars3D平台插件,支持气象 风向图 功能插件
|
|
3
|
-
* 版本信息:v3.1.
|
|
4
|
-
* 编译日期:2021-11
|
|
3
|
+
* 版本信息:v3.1.16
|
|
4
|
+
* 编译日期:2021-12-11 17:06:11
|
|
5
5
|
* 版权所有:Copyright by 火星科技 http://mars3d.cn
|
|
6
6
|
*/
|
|
7
7
|
(function webpackUniversalModuleDefinition(window) {
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
var a0_0x35b78a=a0_0x139b;(function(_0x5887b0,_0x2af117){var _0x17a308=a0_0x139b,_0x4799a6=_0x5887b0();while(!![]){try{var _0x45aa71=-parseInt(_0x17a308(0x1e8))/0x1+-parseInt(_0x17a308(0x27a))/0x2+-parseInt(_0x17a308(0x211))/0x3+-parseInt(_0x17a308(0x210))/0x4+-parseInt(_0x17a308(0x1dc))/0x5*(parseInt(_0x17a308(0x1b4))/0x6)+parseInt(_0x17a308(0x219))/0x7*(-parseInt(_0x17a308(0x266))/0x8)+parseInt(_0x17a308(0x1c5))/0x9;if(_0x45aa71===_0x2af117)break;else _0x4799a6['push'](_0x4799a6['shift']());}catch(_0x83102c){_0x4799a6['push'](_0x4799a6['shift']());}}}(a0_0x2a2c,0x7f9fd),window[a0_0x35b78a(0x28d)]=function(_0x206fb9){var _0x57f267={};function _0x12e51e(_0x565fe0){var _0x3b830b=a0_0x139b;if(_0x57f267[_0x565fe0])return _0x57f267[_0x565fe0]['exports'];var _0x248e27=_0x57f267[_0x565fe0]={'i':_0x565fe0,'l':!0x1,'exports':{}};return _0x206fb9[_0x565fe0][_0x3b830b(0x1b7)](_0x248e27['exports'],_0x248e27,_0x248e27['exports'],_0x12e51e),_0x248e27['l']=!0x0,_0x248e27[_0x3b830b(0x2d0)];}return _0x12e51e['m']=_0x206fb9,_0x12e51e['c']=_0x57f267,_0x12e51e['d']=function(_0x19ec4d,_0x3ccd70,_0x5d89e9){var _0x10f5a7=a0_0x139b;_0x12e51e['o'](_0x19ec4d,_0x3ccd70)||Object[_0x10f5a7(0x30b)](_0x19ec4d,_0x3ccd70,{'enumerable':!0x0,'get':_0x5d89e9});},_0x12e51e['r']=function(_0x3f6d1){var _0x389add=a0_0x139b;'undefined'!=typeof Symbol&&Symbol[_0x389add(0x1cd)]&&Object[_0x389add(0x30b)](_0x3f6d1,Symbol['toStringTag'],{'value':_0x389add(0x2b5)}),Object['defineProperty'](_0x3f6d1,_0x389add(0x22b),{'value':!0x0});},_0x12e51e['t']=function(_0x4a67cf,_0x4d756c){var _0x5cf635=a0_0x139b;if(0x1&_0x4d756c&&(_0x4a67cf=_0x12e51e(_0x4a67cf)),0x8&_0x4d756c)return _0x4a67cf;if(0x4&_0x4d756c&&_0x5cf635(0x1b9)==typeof _0x4a67cf&&_0x4a67cf&&_0x4a67cf[_0x5cf635(0x22b)])return _0x4a67cf;var _0x1f2654=Object[_0x5cf635(0x2b0)](null);if(_0x12e51e['r'](_0x1f2654),Object['defineProperty'](_0x1f2654,_0x5cf635(0x217),{'enumerable':!0x0,'value':_0x4a67cf}),0x2&_0x4d756c&&_0x5cf635(0x222)!=typeof _0x4a67cf){for(var _0x357f3a in _0x4a67cf)_0x12e51e['d'](_0x1f2654,_0x357f3a,function(_0x25fec3){return _0x4a67cf[_0x25fec3];}[_0x5cf635(0x25a)](null,_0x357f3a));}return _0x1f2654;},_0x12e51e['n']=function(_0x24c1d3){var _0x272832=a0_0x139b,_0x51a2e3=_0x24c1d3&&_0x24c1d3[_0x272832(0x22b)]?function(){var _0xa2d366=_0x272832;return _0x24c1d3[_0xa2d366(0x217)];}:function(){return _0x24c1d3;};return _0x12e51e['d'](_0x51a2e3,'a',_0x51a2e3),_0x51a2e3;},_0x12e51e['o']=function(_0x5c8cc0,_0x2c0c19){var _0x4e27ec=a0_0x139b;return Object[_0x4e27ec(0x2d8)]['hasOwnProperty'][_0x4e27ec(0x1b7)](_0x5c8cc0,_0x2c0c19);},_0x12e51e['p']='',_0x12e51e(_0x12e51e['s']=0x14);}([function(_0x3609eb,_0x10f9e8){_0x3609eb['exports']=window['Cesium'];},function(_0x1569ad,_0x5428ca){var _0x404734=a0_0x35b78a;_0x1569ad[_0x404734(0x2d0)]=window['mars3d'];},function(_0x2df991,_0x29a78b){var _0x41f7da=a0_0x35b78a;_0x2df991['exports']=function(_0x2552a6,_0x274eee){var _0x4dd4e1=a0_0x139b;if(!(_0x2552a6 instanceof _0x274eee))throw new TypeError(_0x4dd4e1(0x20a));},_0x2df991[_0x41f7da(0x2d0)][_0x41f7da(0x217)]=_0x2df991[_0x41f7da(0x2d0)],_0x2df991[_0x41f7da(0x2d0)][_0x41f7da(0x22b)]=!0x0;},function(_0x6a47fc,_0x5be7a7){var _0xa2a414=a0_0x35b78a;function _0x593964(_0x1ad0aa,_0x4d3498){var _0x224759=a0_0x139b;for(var _0x165070=0x0;_0x165070<_0x4d3498[_0x224759(0x234)];_0x165070++){var _0x583e88=_0x4d3498[_0x165070];_0x583e88[_0x224759(0x21a)]=_0x583e88[_0x224759(0x21a)]||!0x1,_0x583e88[_0x224759(0x20c)]=!0x0,_0x224759(0x23a)in _0x583e88&&(_0x583e88[_0x224759(0x230)]=!0x0),Object[_0x224759(0x30b)](_0x1ad0aa,_0x583e88[_0x224759(0x27c)],_0x583e88);}}_0x6a47fc[_0xa2a414(0x2d0)]=function(_0x1fe5c1,_0x22ee3f,_0x40ff18){var _0x196187=_0xa2a414;return _0x22ee3f&&_0x593964(_0x1fe5c1[_0x196187(0x2d8)],_0x22ee3f),_0x40ff18&&_0x593964(_0x1fe5c1,_0x40ff18),_0x1fe5c1;},_0x6a47fc[_0xa2a414(0x2d0)][_0xa2a414(0x217)]=_0x6a47fc[_0xa2a414(0x2d0)],_0x6a47fc[_0xa2a414(0x2d0)][_0xa2a414(0x22b)]=!0x0;},function(_0x1b2c1b,_0x53ff93){var _0x2918d9=a0_0x35b78a;function _0x490ad3(_0x46f31a){var _0x136db1=a0_0x139b;return _0x1b2c1b[_0x136db1(0x2d0)]=_0x490ad3=Object['setPrototypeOf']?Object['getPrototypeOf']:function(_0x1cc3dd){var _0x58308d=_0x136db1;return _0x1cc3dd[_0x58308d(0x1f0)]||Object['getPrototypeOf'](_0x1cc3dd);},_0x1b2c1b[_0x136db1(0x2d0)][_0x136db1(0x217)]=_0x1b2c1b[_0x136db1(0x2d0)],_0x1b2c1b[_0x136db1(0x2d0)][_0x136db1(0x22b)]=!0x0,_0x490ad3(_0x46f31a);}_0x1b2c1b[_0x2918d9(0x2d0)]=_0x490ad3,_0x1b2c1b['exports']['default']=_0x1b2c1b[_0x2918d9(0x2d0)],_0x1b2c1b[_0x2918d9(0x2d0)][_0x2918d9(0x22b)]=!0x0;},function(_0x252eec,_0x179538,_0x58e7ae){var _0x439cf4=a0_0x35b78a,_0x4487ef=_0x58e7ae(0x11);_0x252eec[_0x439cf4(0x2d0)]=function(_0x1ca43a,_0x4231e8){var _0x3b8b4c=_0x439cf4;if(_0x3b8b4c(0x1f9)!=typeof _0x4231e8&&null!==_0x4231e8)throw new TypeError(_0x3b8b4c(0x25c));_0x1ca43a[_0x3b8b4c(0x2d8)]=Object[_0x3b8b4c(0x2b0)](_0x4231e8&&_0x4231e8[_0x3b8b4c(0x2d8)],{'constructor':{'value':_0x1ca43a,'writable':!0x0,'configurable':!0x0}}),_0x4231e8&&_0x4487ef(_0x1ca43a,_0x4231e8);},_0x252eec['exports']['default']=_0x252eec['exports'],_0x252eec[_0x439cf4(0x2d0)][_0x439cf4(0x22b)]=!0x0;},function(_0x3d11ee,_0x1fe585,_0x198ef3){var _0x1fe1b1=a0_0x35b78a,_0x4c57ed=_0x198ef3(0x12)[_0x1fe1b1(0x217)],_0x2e5f8d=_0x198ef3(0x13);_0x3d11ee[_0x1fe1b1(0x2d0)]=function(_0x825d91,_0x37096d){var _0x57ba81=_0x1fe1b1;if(_0x37096d&&(_0x57ba81(0x1b9)===_0x4c57ed(_0x37096d)||_0x57ba81(0x1f9)==typeof _0x37096d))return _0x37096d;if(void 0x0!==_0x37096d)throw new TypeError(_0x57ba81(0x267));return _0x2e5f8d(_0x825d91);},_0x3d11ee[_0x1fe1b1(0x2d0)][_0x1fe1b1(0x217)]=_0x3d11ee[_0x1fe1b1(0x2d0)],_0x3d11ee[_0x1fe1b1(0x2d0)][_0x1fe1b1(0x22b)]=!0x0;},function(_0x4ec463,_0x232f82){var _0x346b8d=a0_0x35b78a;_0x4ec463[_0x346b8d(0x2d0)]=_0x346b8d(0x2ae);},function(_0x3d844a,_0x5e9d9a){var _0x489f61=a0_0x35b78a;_0x3d844a[_0x489f61(0x2d0)]=_0x489f61(0x2f8);},function(_0x8df460,_0x175539){var _0x390869=a0_0x35b78a;_0x8df460[_0x390869(0x2d0)]=_0x390869(0x29c);},function(_0x2ffd6e,_0x1ffa66){_0x2ffd6e['exports']='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}';},function(_0x1e76ea,_0x56d3bb){var _0x17b5c5=a0_0x35b78a;_0x1e76ea[_0x17b5c5(0x2d0)]='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}';},function(_0x5b9b7d,_0x114fc1){var _0x1baa19=a0_0x35b78a;_0x5b9b7d[_0x1baa19(0x2d0)]=_0x1baa19(0x29a);},function(_0x3d5638,_0x69b739){var _0x18d7b2=a0_0x35b78a;_0x3d5638[_0x18d7b2(0x2d0)]='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\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}';},function(_0xda8e2a,_0xca706f){var _0x2bf4fa=a0_0x35b78a;_0xda8e2a[_0x2bf4fa(0x2d0)]=_0x2bf4fa(0x2ad);},function(_0x23d503,_0x2b07c3){var _0x57d41d=a0_0x35b78a;_0x23d503[_0x57d41d(0x2d0)]=_0x57d41d(0x207);},function(_0x36b61c,_0xe5979a){var _0xfd6be6=a0_0x35b78a;_0x36b61c['exports']=_0xfd6be6(0x1b2);},function(_0x589718,_0x14707f){var _0x3183dd=a0_0x35b78a;function _0xcf65fa(_0x3bba6f,_0xafa84a){var _0x5c60d2=a0_0x139b;return _0x589718[_0x5c60d2(0x2d0)]=_0xcf65fa=Object[_0x5c60d2(0x225)]||function(_0x21cdce,_0x22f342){var _0x333d2c=_0x5c60d2;return _0x21cdce[_0x333d2c(0x1f0)]=_0x22f342,_0x21cdce;},_0x589718[_0x5c60d2(0x2d0)]['default']=_0x589718[_0x5c60d2(0x2d0)],_0x589718[_0x5c60d2(0x2d0)][_0x5c60d2(0x22b)]=!0x0,_0xcf65fa(_0x3bba6f,_0xafa84a);}_0x589718[_0x3183dd(0x2d0)]=_0xcf65fa,_0x589718[_0x3183dd(0x2d0)][_0x3183dd(0x217)]=_0x589718['exports'],_0x589718[_0x3183dd(0x2d0)][_0x3183dd(0x22b)]=!0x0;},function(_0x2cafd4,_0xe008ae){var _0x36c414=a0_0x35b78a;function _0x2e291d(_0x505c65){var _0x49b830=a0_0x139b;return _0x49b830(0x1f9)==typeof Symbol&&'symbol'==typeof Symbol[_0x49b830(0x2fc)]?(_0x2cafd4['exports']=_0x2e291d=function(_0x5722dc){return typeof _0x5722dc;},_0x2cafd4[_0x49b830(0x2d0)][_0x49b830(0x217)]=_0x2cafd4[_0x49b830(0x2d0)],_0x2cafd4['exports'][_0x49b830(0x22b)]=!0x0):(_0x2cafd4[_0x49b830(0x2d0)]=_0x2e291d=function(_0x1b5b38){var _0x5028c0=_0x49b830;return _0x1b5b38&&_0x5028c0(0x1f9)==typeof Symbol&&_0x1b5b38[_0x5028c0(0x229)]===Symbol&&_0x1b5b38!==Symbol['prototype']?_0x5028c0(0x2de):typeof _0x1b5b38;},_0x2cafd4[_0x49b830(0x2d0)][_0x49b830(0x217)]=_0x2cafd4[_0x49b830(0x2d0)],_0x2cafd4[_0x49b830(0x2d0)][_0x49b830(0x22b)]=!0x0),_0x2e291d(_0x505c65);}_0x2cafd4[_0x36c414(0x2d0)]=_0x2e291d,_0x2cafd4[_0x36c414(0x2d0)][_0x36c414(0x217)]=_0x2cafd4[_0x36c414(0x2d0)],_0x2cafd4[_0x36c414(0x2d0)][_0x36c414(0x22b)]=!0x0;},function(_0x2e9ef1,_0x436c78){var _0x26a4e3=a0_0x35b78a;_0x2e9ef1[_0x26a4e3(0x2d0)]=function(_0x526baf){var _0x2b5c5f=_0x26a4e3;if(void 0x0===_0x526baf)throw new ReferenceError(_0x2b5c5f(0x1c2));return _0x526baf;},_0x2e9ef1[_0x26a4e3(0x2d0)][_0x26a4e3(0x217)]=_0x2e9ef1[_0x26a4e3(0x2d0)],_0x2e9ef1[_0x26a4e3(0x2d0)][_0x26a4e3(0x22b)]=!0x0;},function(_0x4f9e33,_0x1221eb,_0x1bb376){'use strict';var _0xb472d0=a0_0x35b78a;_0x1bb376['r'](_0x1221eb),_0x1bb376['d'](_0x1221eb,_0xb472d0(0x25d),function(){return _0x27ba02;}),_0x1bb376['d'](_0x1221eb,_0xb472d0(0x1c6),function(){return _0x220c96;}),_0x1bb376['d'](_0x1221eb,_0xb472d0(0x275),function(){return _0xe0c8ff;});var _0xe0c8ff={};_0x1bb376['r'](_0xe0c8ff),_0x1bb376['d'](_0xe0c8ff,_0xb472d0(0x2ed),function(){return _0x197661;}),_0x1bb376['d'](_0xe0c8ff,'getV',function(){return _0x3adbfc;}),_0x1bb376['d'](_0xe0c8ff,_0xb472d0(0x1bd),function(){return _0x4360b9;}),_0x1bb376['d'](_0xe0c8ff,_0xb472d0(0x30a),function(){return _0x33fb28;});var _0x4d2a6e=_0x1bb376(0x1),_0x46463d=_0x1bb376(0x2),_0x192c0c=_0x1bb376['n'](_0x46463d),_0x53e89e=_0x1bb376(0x3),_0x77a6a8=_0x1bb376['n'](_0x53e89e),_0x31597a=_0x1bb376(0x5),_0x3ba2b9=_0x1bb376['n'](_0x31597a),_0x5a2dcc=_0x1bb376(0x6),_0x403266=_0x1bb376['n'](_0x5a2dcc),_0x209e8e=_0x1bb376(0x4),_0x32e720=_0x1bb376['n'](_0x209e8e),_0x1b276f=_0x1bb376(0x0),_0x1e22ad=function(){var _0x7f21e0=_0xb472d0;function _0x453276(_0x203309){var _0x5a66a5=a0_0x139b;_0x192c0c()(this,_0x453276),this[_0x5a66a5(0x253)]=_0x203309['commandType'],this[_0x5a66a5(0x1c8)]=_0x203309[_0x5a66a5(0x1c8)],this[_0x5a66a5(0x1c0)]=_0x203309[_0x5a66a5(0x1c0)],this[_0x5a66a5(0x1da)]=_0x203309[_0x5a66a5(0x1da)],this[_0x5a66a5(0x30c)]=_0x203309['uniformMap'],this[_0x5a66a5(0x271)]=_0x203309['vertexShaderSource'],this['fragmentShaderSource']=_0x203309[_0x5a66a5(0x2db)],this['rawRenderState']=_0x203309[_0x5a66a5(0x1bf)],this['framebuffer']=_0x203309[_0x5a66a5(0x1a6)],this[_0x5a66a5(0x2ee)]=_0x203309[_0x5a66a5(0x2ee)],this[_0x5a66a5(0x1d3)]=_0x1b276f[_0x5a66a5(0x288)](_0x203309[_0x5a66a5(0x1d3)],!0x1),this[_0x5a66a5(0x1ae)]=_0x203309[_0x5a66a5(0x1ae)],this[_0x5a66a5(0x2eb)]=!0x0,this['commandToExecute']=void 0x0,this[_0x5a66a5(0x1fd)]=void 0x0,this[_0x5a66a5(0x1d3)]&&(this[_0x5a66a5(0x1fd)]=new _0x1b276f['ClearCommand']({'color':new _0x1b276f[(_0x5a66a5(0x1ba))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[_0x5a66a5(0x1a6)],'pass':_0x1b276f[_0x5a66a5(0x319)][_0x5a66a5(0x21b)]}));}return _0x77a6a8()(_0x453276,[{'key':_0x7f21e0(0x236),'value':function(_0x44a28d){var _0x34db00=_0x7f21e0;switch(this['commandType']){case _0x34db00(0x2ff):var _0x25309f=_0x1b276f['VertexArray'][_0x34db00(0x1cf)]({'context':_0x44a28d,'geometry':this[_0x34db00(0x1c8)],'attributeLocations':this[_0x34db00(0x1c0)],'bufferUsage':_0x1b276f[_0x34db00(0x1c9)][_0x34db00(0x2c4)]}),_0x4abab1=_0x1b276f[_0x34db00(0x27d)]['fromCache']({'context':_0x44a28d,'attributeLocations':this['attributeLocations'],'vertexShaderSource':this['vertexShaderSource'],'fragmentShaderSource':this['fragmentShaderSource']}),_0x52fbd9=_0x1b276f[_0x34db00(0x26c)][_0x34db00(0x1b5)](this[_0x34db00(0x1bf)]);return new _0x1b276f['DrawCommand']({'owner':this,'vertexArray':_0x25309f,'primitiveType':this[_0x34db00(0x1da)],'uniformMap':this[_0x34db00(0x30c)],'modelMatrix':_0x1b276f[_0x34db00(0x206)][_0x34db00(0x293)],'shaderProgram':_0x4abab1,'framebuffer':this[_0x34db00(0x1a6)],'renderState':_0x52fbd9,'pass':_0x1b276f[_0x34db00(0x319)][_0x34db00(0x21b)]});case _0x34db00(0x21d):return new _0x1b276f[(_0x34db00(0x214))]({'owner':this,'fragmentShaderSource':this[_0x34db00(0x2db)],'uniformMap':this['uniformMap'],'outputTexture':this[_0x34db00(0x2ee)],'persists':!0x0});}}},{'key':_0x7f21e0(0x246),'value':function(_0x5d5ffa,_0x3bf2a8){var _0x1eeb8b=_0x7f21e0;this[_0x1eeb8b(0x1c8)]=_0x3bf2a8;var _0x48c4d9=_0x1b276f['VertexArray']['fromGeometry']({'context':_0x5d5ffa,'geometry':this['geometry'],'attributeLocations':this[_0x1eeb8b(0x1c0)],'bufferUsage':_0x1b276f['BufferUsage']['STATIC_DRAW']});this['commandToExecute'][_0x1eeb8b(0x242)]=_0x48c4d9;}},{'key':'update','value':function(_0x2e08e8){var _0x1a9de9=_0x7f21e0;this['show']&&_0x2e08e8[_0x1a9de9(0x25b)]==_0x1b276f[_0x1a9de9(0x2bf)][_0x1a9de9(0x2f0)]&&(_0x1b276f['defined'](this[_0x1a9de9(0x1ce)])||(this['commandToExecute']=this['createCommand'](_0x2e08e8[_0x1a9de9(0x1aa)])),_0x1b276f[_0x1a9de9(0x255)](this['preExecute'])&&this[_0x1a9de9(0x1ae)](),_0x1b276f[_0x1a9de9(0x255)](this['clearCommand'])&&_0x2e08e8['commandList'][_0x1a9de9(0x272)](this[_0x1a9de9(0x1fd)]),_0x2e08e8[_0x1a9de9(0x2cf)]['push'](this[_0x1a9de9(0x1ce)]));}},{'key':_0x7f21e0(0x2f6),'value':function(){return!0x1;}},{'key':_0x7f21e0(0x2c1),'value':function(){var _0x526d98=_0x7f21e0;return _0x1b276f['defined'](this[_0x526d98(0x1ce)])&&(this[_0x526d98(0x1ce)][_0x526d98(0x2ef)]=this[_0x526d98(0x1ce)][_0x526d98(0x2ef)]&&this[_0x526d98(0x1ce)][_0x526d98(0x2ef)]['destroy']()),_0x1b276f[_0x526d98(0x2f1)](this);}}]),_0x453276;}(),_0x3c5dd2={'getFullscreenQuad':function(){var _0x3955c7=_0xb472d0;return new _0x1b276f[(_0x3955c7(0x1ea))]({'attributes':new _0x1b276f[(_0x3955c7(0x2a6))]({'position':new _0x1b276f['GeometryAttribute']({'componentDatatype':_0x1b276f['ComponentDatatype'][_0x3955c7(0x1c7)],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new _0x1b276f[(_0x3955c7(0x226))]({'componentDatatype':_0x1b276f[_0x3955c7(0x244)][_0x3955c7(0x1c7)],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});},'createTexture':function(_0x5cf48f,_0x1d380e){var _0x319e17=_0xb472d0;if(_0x1b276f[_0x319e17(0x255)](_0x1d380e)){var _0x4e684d={};_0x4e684d['arrayBufferView']=_0x1d380e,_0x5cf48f[_0x319e17(0x1ec)]=_0x4e684d;}return new _0x1b276f[(_0x319e17(0x1e5))](_0x5cf48f);},'createFramebuffer':function(_0x4fa76d,_0x929a26,_0x120ca9){var _0x4bac99=_0xb472d0;return new _0x1b276f[(_0x4bac99(0x27b))]({'context':_0x4fa76d,'colorTextures':[_0x929a26],'depthTexture':_0x120ca9});},'createRawRenderState':function(_0x12510e){var _0xdcabe1=_0xb472d0,_0x548d97={'viewport':_0x12510e['viewport'],'depthTest':_0x12510e[_0xdcabe1(0x294)],'depthMask':_0x12510e[_0xdcabe1(0x2e7)],'blending':_0x12510e[_0xdcabe1(0x2ec)]};return _0x1b276f[_0xdcabe1(0x291)]['getDefaultRenderState'](!0x0,!0x1,_0x548d97);},'viewRectangleToLonLatRange':function(_0x53c349){var _0x573979=_0xb472d0,_0xd63709,_0x40b27e,_0x5ae45a={},_0x4435ca=_0x1b276f['Math']['mod'](_0x53c349[_0x573979(0x307)],_0x1b276f[_0x573979(0x2aa)][_0x573979(0x28c)]),_0x21cb2a=_0x1b276f['Math'][_0x573979(0x1b0)](_0x53c349[_0x573979(0x23c)],_0x1b276f['Math']['TWO_PI']),_0x1f6d18=_0x53c349[_0x573979(0x245)];_0x1f6d18>_0x1b276f[_0x573979(0x2aa)][_0x573979(0x305)]?(_0xd63709=0x0,_0x40b27e=_0x1b276f[_0x573979(0x2aa)][_0x573979(0x28c)]):_0x21cb2a-_0x4435ca<_0x1f6d18?(_0xd63709=_0x4435ca,_0x40b27e=_0x4435ca+_0x1f6d18):(_0xd63709=_0x4435ca,_0x40b27e=_0x21cb2a),_0x5ae45a[_0x573979(0x202)]={'min':_0x1b276f[_0x573979(0x2aa)][_0x573979(0x1e0)](_0xd63709),'max':_0x1b276f[_0x573979(0x2aa)][_0x573979(0x1e0)](_0x40b27e)};var _0x151e89=_0x53c349[_0x573979(0x278)],_0x4c9ca7=_0x53c349[_0x573979(0x2c6)],_0x5f229f=_0x53c349[_0x573979(0x238)],_0x2a4876=_0x5f229f>_0x1b276f[_0x573979(0x2aa)]['PI']/0xc?_0x5f229f/0x2:0x0,_0x585f1d=_0x1b276f[_0x573979(0x2aa)][_0x573979(0x21f)](_0x151e89-_0x2a4876),_0x183d12=_0x1b276f['Math'][_0x573979(0x21f)](_0x4c9ca7+_0x2a4876);return _0x585f1d<-_0x1b276f[_0x573979(0x2aa)]['PI_OVER_THREE']&&(_0x585f1d=-_0x1b276f[_0x573979(0x2aa)][_0x573979(0x1d5)]),_0x183d12>_0x1b276f[_0x573979(0x2aa)]['PI_OVER_THREE']&&(_0x183d12=_0x1b276f[_0x573979(0x2aa)][_0x573979(0x1d5)]),_0x5ae45a[_0x573979(0x1af)]={'min':_0x1b276f[_0x573979(0x2aa)][_0x573979(0x1e0)](_0x585f1d),'max':_0x1b276f['Math'][_0x573979(0x1e0)](_0x183d12)},_0x5ae45a;}},_0x2329d8=_0x1bb376(0x8),_0x1942f5=_0x1bb376['n'](_0x2329d8),_0x14ae80=_0x1bb376(0x9),_0x478ac5=_0x1bb376['n'](_0x14ae80),_0x2e592f=_0x1bb376(0x7),_0x4fb2b8=_0x1bb376['n'](_0x2e592f),_0x3dafcb=_0x1bb376(0xa),_0x4acb02=_0x1bb376['n'](_0x3dafcb),_0x319c66=_0x1bb376(0xb),_0xbb1828=_0x1bb376['n'](_0x319c66),_0xa8aad=function(){var _0x56cab6=_0xb472d0;function _0x444b97(_0x23b7c4,_0x4ec0ab,_0x2a08c8,_0x5d3d40,_0x3ab370){var _0x4e185c=a0_0x139b;_0x192c0c()(this,_0x444b97),this['createRenderingTextures'](_0x23b7c4,_0x4ec0ab),this[_0x4e185c(0x2ca)](_0x23b7c4),this[_0x4e185c(0x247)](_0x23b7c4,_0x2a08c8,_0x5d3d40,_0x3ab370);}return _0x77a6a8()(_0x444b97,[{'key':_0x56cab6(0x237),'value':function(_0x520f56,_0x203c97){var _0x218699=_0x56cab6,_0xd52f9={'context':_0x520f56,'width':_0x520f56[_0x218699(0x221)],'height':_0x520f56[_0x218699(0x2e2)],'pixelFormat':_0x1b276f[_0x218699(0x1f2)]['RGBA'],'pixelDatatype':_0x1b276f[_0x218699(0x309)]['UNSIGNED_BYTE']},_0x501c39={'context':_0x520f56,'width':_0x520f56['drawingBufferWidth'],'height':_0x520f56[_0x218699(0x2e2)],'pixelFormat':_0x1b276f[_0x218699(0x1f2)][_0x218699(0x22d)],'pixelDatatype':_0x1b276f[_0x218699(0x309)]['UNSIGNED_INT']},_0x37f3a7={'context':_0x520f56,'width':_0x203c97[_0x218699(0x2d4)][_0x218699(0x2bc)],'height':0x1,'pixelFormat':_0x1b276f[_0x218699(0x1f2)][_0x218699(0x311)],'pixelDatatype':_0x1b276f[_0x218699(0x309)][_0x218699(0x1c7)],'sampler':new _0x1b276f['Sampler']({'minificationFilter':_0x1b276f[_0x218699(0x1c4)][_0x218699(0x233)],'magnificationFilter':_0x1b276f[_0x218699(0x310)][_0x218699(0x233)]})};this[_0x218699(0x29f)]={'segmentsColor':_0x3c5dd2['createTexture'](_0xd52f9),'segmentsDepth':_0x3c5dd2[_0x218699(0x29b)](_0x501c39),'currentTrailsColor':_0x3c5dd2[_0x218699(0x29b)](_0xd52f9),'currentTrailsDepth':_0x3c5dd2['createTexture'](_0x501c39),'nextTrailsColor':_0x3c5dd2[_0x218699(0x29b)](_0xd52f9),'nextTrailsDepth':_0x3c5dd2[_0x218699(0x29b)](_0x501c39),'colorTable':_0x3c5dd2[_0x218699(0x29b)](_0x37f3a7,_0x203c97[_0x218699(0x2d4)][_0x218699(0x1df)])};}},{'key':'createRenderingFramebuffers','value':function(_0x603189){var _0x3dd449=_0x56cab6;this['framebuffers']={'segments':_0x3c5dd2[_0x3dd449(0x260)](_0x603189,this[_0x3dd449(0x29f)]['segmentsColor'],this[_0x3dd449(0x29f)][_0x3dd449(0x224)]),'currentTrails':_0x3c5dd2[_0x3dd449(0x260)](_0x603189,this['textures'][_0x3dd449(0x273)],this['textures']['currentTrailsDepth']),'nextTrails':_0x3c5dd2[_0x3dd449(0x260)](_0x603189,this[_0x3dd449(0x29f)][_0x3dd449(0x249)],this[_0x3dd449(0x29f)][_0x3dd449(0x1fb)])};}},{'key':'createSegmentsGeometry','value':function(_0x2d2580){var _0x4c55ff=_0x56cab6;for(var _0x46f945=[],_0x2d7b41=0x0;_0x2d7b41<_0x2d2580['particlesTextureSize'];_0x2d7b41++)for(var _0x57106a=0x0;_0x57106a<_0x2d2580[_0x4c55ff(0x283)];_0x57106a++)for(var _0x48776d=0x0;_0x48776d<0x4;_0x48776d++)_0x46f945[_0x4c55ff(0x272)](_0x2d7b41/_0x2d2580[_0x4c55ff(0x283)]),_0x46f945[_0x4c55ff(0x272)](_0x57106a/_0x2d2580[_0x4c55ff(0x283)]);_0x46f945=new Float32Array(_0x46f945);for(var _0x2b807c=[],_0x2c29c0=[-0x1,0x1],_0x56e754=[-0x1,0x1],_0x18eb0b=0x0;_0x18eb0b<_0x2d2580[_0x4c55ff(0x258)];_0x18eb0b++)for(var _0x5a5ea2=0x0;_0x5a5ea2<0x2;_0x5a5ea2++)for(var _0x3bb68b=0x0;_0x3bb68b<0x2;_0x3bb68b++)_0x2b807c[_0x4c55ff(0x272)](_0x2c29c0[_0x5a5ea2]),_0x2b807c[_0x4c55ff(0x272)](_0x56e754[_0x3bb68b]),_0x2b807c[_0x4c55ff(0x272)](0x0);_0x2b807c=new Float32Array(_0x2b807c);for(var _0x343ab6=0x6*_0x2d2580[_0x4c55ff(0x258)],_0x2ec257=new Uint32Array(_0x343ab6),_0x594af8=0x0,_0x38c908=0x0,_0x2cd66f=0x0;_0x594af8<_0x2d2580[_0x4c55ff(0x258)];_0x594af8++)_0x2ec257[_0x38c908++]=_0x2cd66f+0x0,_0x2ec257[_0x38c908++]=_0x2cd66f+0x1,_0x2ec257[_0x38c908++]=_0x2cd66f+0x2,_0x2ec257[_0x38c908++]=_0x2cd66f+0x2,_0x2ec257[_0x38c908++]=_0x2cd66f+0x1,_0x2ec257[_0x38c908++]=_0x2cd66f+0x3,_0x2cd66f+=0x4;return new _0x1b276f[(_0x4c55ff(0x1ea))]({'attributes':new _0x1b276f[(_0x4c55ff(0x2a6))]({'st':new _0x1b276f[(_0x4c55ff(0x226))]({'componentDatatype':_0x1b276f['ComponentDatatype'][_0x4c55ff(0x1c7)],'componentsPerAttribute':0x2,'values':_0x46f945}),'normal':new _0x1b276f[(_0x4c55ff(0x226))]({'componentDatatype':_0x1b276f[_0x4c55ff(0x244)][_0x4c55ff(0x1c7)],'componentsPerAttribute':0x3,'values':_0x2b807c})}),'indices':_0x2ec257});}},{'key':'createRenderingPrimitives','value':function(_0x30a58e,_0x22165c,_0x1c138a,_0x51cb1a){var _0x340106=_0x56cab6,_0x57837a=this;this[_0x340106(0x2c8)]={'segments':new _0x1e22ad({'commandType':_0x340106(0x2ff),'attributeLocations':{'st':0x0,'normal':0x1},'geometry':this['createSegmentsGeometry'](_0x22165c),'primitiveType':_0x1b276f[_0x340106(0x22c)][_0x340106(0x304)],'uniformMap':{'currentParticlesPosition':function(){var _0x393c56=_0x340106;return _0x51cb1a['particlesTextures'][_0x393c56(0x2e6)];},'postProcessingPosition':function(){var _0x27471f=_0x340106;return _0x51cb1a['particlesTextures'][_0x27471f(0x2cb)];},'postProcessingSpeed':function(){var _0x5bcc14=_0x340106;return _0x51cb1a[_0x5bcc14(0x20e)][_0x5bcc14(0x2dd)];},'colorTable':function(){var _0x2c9db8=_0x340106;return _0x57837a['textures'][_0x2c9db8(0x2d4)];},'aspect':function(){return _0x30a58e['drawingBufferWidth']/_0x30a58e['drawingBufferHeight'];},'pixelSize':function(){var _0x4c7512=_0x340106;return _0x1c138a[_0x4c7512(0x2ac)];},'lineWidth':function(){return _0x22165c['lineWidth'];},'particleHeight':function(){var _0x2bed58=_0x340106;return _0x22165c[_0x2bed58(0x1b1)];}},'vertexShaderSource':new _0x1b276f[(_0x340106(0x28b))]({'sources':[_0x1942f5['a']]}),'fragmentShaderSource':new _0x1b276f[(_0x340106(0x28b))]({'sources':[_0x478ac5['a']]}),'rawRenderState':_0x3c5dd2[_0x340106(0x28f)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0},'depthMask':!0x0}),'framebuffer':this[_0x340106(0x2a0)]['segments'],'autoClear':!0x0}),'trails':new _0x1e22ad({'commandType':_0x340106(0x2ff),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x3c5dd2[_0x340106(0x2dc)](),'primitiveType':_0x1b276f[_0x340106(0x22c)][_0x340106(0x304)],'uniformMap':{'segmentsColorTexture':function(){var _0x3a0ffd=_0x340106;return _0x57837a[_0x3a0ffd(0x29f)]['segmentsColor'];},'segmentsDepthTexture':function(){var _0x35c07d=_0x340106;return _0x57837a['textures'][_0x35c07d(0x224)];},'currentTrailsColor':function(){var _0x4f1773=_0x340106;return _0x57837a[_0x4f1773(0x2a0)][_0x4f1773(0x2c2)][_0x4f1773(0x2b3)](0x0);},'trailsDepthTexture':function(){var _0x399e3c=_0x340106;return _0x57837a[_0x399e3c(0x2a0)][_0x399e3c(0x2c2)][_0x399e3c(0x270)];},'fadeOpacity':function(){var _0x357599=_0x340106;return _0x22165c[_0x357599(0x1d1)];}},'vertexShaderSource':new _0x1b276f[(_0x340106(0x28b))]({'defines':['DISABLE_GL_POSITION_LOG_DEPTH'],'sources':[_0x4fb2b8['a']]}),'fragmentShaderSource':new _0x1b276f['ShaderSource']({'defines':[_0x340106(0x2d7)],'sources':[_0x4acb02['a']]}),'rawRenderState':_0x3c5dd2[_0x340106(0x28f)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0,'func':_0x1b276f[_0x340106(0x2b7)][_0x340106(0x1f6)]},'depthMask':!0x0}),'framebuffer':this['framebuffers']['nextTrails'],'autoClear':!0x0,'preExecute':function(){var _0x52467e=_0x340106,_0x2ec2ff;_0x2ec2ff=_0x57837a[_0x52467e(0x2a0)][_0x52467e(0x2c2)],_0x57837a[_0x52467e(0x2a0)][_0x52467e(0x2c2)]=_0x57837a[_0x52467e(0x2a0)][_0x52467e(0x239)],_0x57837a['framebuffers'][_0x52467e(0x239)]=_0x2ec2ff,_0x57837a['primitives']['trails'][_0x52467e(0x1ce)][_0x52467e(0x1a6)]=_0x57837a['framebuffers'][_0x52467e(0x239)],_0x57837a['primitives']['trails'][_0x52467e(0x1fd)]['framebuffer']=_0x57837a['framebuffers']['nextTrails'];}}),'screen':new _0x1e22ad({'commandType':_0x340106(0x2ff),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x3c5dd2['getFullscreenQuad'](),'primitiveType':_0x1b276f['PrimitiveType']['TRIANGLES'],'uniformMap':{'trailsColorTexture':function(){var _0x4aceb6=_0x340106;return _0x57837a[_0x4aceb6(0x2a0)]['nextTrails'][_0x4aceb6(0x2b3)](0x0);},'trailsDepthTexture':function(){var _0x1245da=_0x340106;return _0x57837a[_0x1245da(0x2a0)]['nextTrails'][_0x1245da(0x270)];}},'vertexShaderSource':new _0x1b276f[(_0x340106(0x28b))]({'defines':[_0x340106(0x30e)],'sources':[_0x4fb2b8['a']]}),'fragmentShaderSource':new _0x1b276f[(_0x340106(0x28b))]({'defines':[_0x340106(0x2d7)],'sources':[_0xbb1828['a']]}),'rawRenderState':_0x3c5dd2[_0x340106(0x28f)]({'viewport':void 0x0,'depthTest':{'enabled':!0x1},'depthMask':!0x0,'blending':{'enabled':!0x0}}),'framebuffer':void 0x0})};}}]),_0x444b97;}(),_0x47b0c3=_0x1bb376(0xc),_0x42fb3f=_0x1bb376['n'](_0x47b0c3),_0x3921af=_0x1bb376(0xd),_0x2cfe62=_0x1bb376['n'](_0x3921af),_0x200f29=_0x1bb376(0xe),_0x1633e5=_0x1bb376['n'](_0x200f29),_0x3dbcdc=_0x1bb376(0xf),_0x30d67a=_0x1bb376['n'](_0x3dbcdc),_0x2021a3=_0x1bb376(0x10),_0x36abea=_0x1bb376['n'](_0x2021a3),_0x4e8060=function(){var _0x5b694d=_0xb472d0;function _0x2643d9(_0x409941,_0x4a1081,_0x4dee62,_0x483d2d){var _0x28c896=a0_0x139b;_0x192c0c()(this,_0x2643d9),this['data']=_0x4a1081,this[_0x28c896(0x2bb)](_0x409941,_0x4a1081),this[_0x28c896(0x277)](_0x409941,_0x4dee62,_0x483d2d),this[_0x28c896(0x240)](_0x4a1081,_0x4dee62,_0x483d2d);}return _0x77a6a8()(_0x2643d9,[{'key':'createWindTextures','value':function(_0x2f4e19,_0x5c2810){var _0x12589d=a0_0x139b,_0x85578a={'context':_0x2f4e19,'width':_0x5c2810[_0x12589d(0x2a3)][_0x12589d(0x202)],'height':_0x5c2810[_0x12589d(0x2a3)]['lat']*_0x5c2810[_0x12589d(0x2a3)][_0x12589d(0x268)],'pixelFormat':_0x1b276f[_0x12589d(0x1f2)]['LUMINANCE'],'pixelDatatype':_0x1b276f[_0x12589d(0x309)][_0x12589d(0x1c7)],'flipY':!0x1,'sampler':new _0x1b276f['Sampler']({'minificationFilter':_0x1b276f[_0x12589d(0x1c4)][_0x12589d(0x314)],'magnificationFilter':_0x1b276f[_0x12589d(0x310)]['NEAREST']})};this[_0x12589d(0x2b1)]={'U':_0x3c5dd2[_0x12589d(0x29b)](_0x85578a,_0x5c2810['U'][_0x12589d(0x1df)]),'V':_0x3c5dd2[_0x12589d(0x29b)](_0x85578a,_0x5c2810['V'][_0x12589d(0x1df)])};}},{'key':_0x5b694d(0x277),'value':function(_0x55ed53,_0xac4b3a,_0x3722d8){var _0x854139=_0x5b694d,_0x115a59={'context':_0x55ed53,'width':_0xac4b3a[_0x854139(0x283)],'height':_0xac4b3a['particlesTextureSize'],'pixelFormat':_0x1b276f['PixelFormat'][_0x854139(0x2ce)],'pixelDatatype':_0x1b276f[_0x854139(0x309)][_0x854139(0x1c7)],'flipY':!0x1,'sampler':new _0x1b276f['Sampler']({'minificationFilter':_0x1b276f[_0x854139(0x1c4)][_0x854139(0x314)],'magnificationFilter':_0x1b276f[_0x854139(0x310)]['NEAREST']})},_0x377d36=this[_0x854139(0x2a8)](_0xac4b3a[_0x854139(0x258)],_0x3722d8),_0xa4b525=new Float32Array(0x4*_0xac4b3a['maxParticles'])['fill'](0x0);this[_0x854139(0x20e)]={'particlesWind':_0x3c5dd2[_0x854139(0x29b)](_0x115a59),'currentParticlesPosition':_0x3c5dd2[_0x854139(0x29b)](_0x115a59,_0x377d36),'nextParticlesPosition':_0x3c5dd2['createTexture'](_0x115a59,_0x377d36),'currentParticlesSpeed':_0x3c5dd2[_0x854139(0x29b)](_0x115a59,_0xa4b525),'nextParticlesSpeed':_0x3c5dd2[_0x854139(0x29b)](_0x115a59,_0xa4b525),'postProcessingPosition':_0x3c5dd2[_0x854139(0x29b)](_0x115a59,_0x377d36),'postProcessingSpeed':_0x3c5dd2[_0x854139(0x29b)](_0x115a59,_0xa4b525)};}},{'key':_0x5b694d(0x2a8),'value':function(_0x37b620,_0x41629a){var _0x3bf187=_0x5b694d;for(var _0xfcfaec=new Float32Array(0x4*_0x37b620),_0x5f43d2=0x0;_0x5f43d2<_0x37b620;_0x5f43d2++)_0xfcfaec[0x4*_0x5f43d2]=_0x1b276f[_0x3bf187(0x2aa)]['randomBetween'](_0x41629a[_0x3bf187(0x26e)]['x'],_0x41629a['lonRange']['y']),_0xfcfaec[0x4*_0x5f43d2+0x1]=_0x1b276f['Math'][_0x3bf187(0x274)](_0x41629a[_0x3bf187(0x24f)]['x'],_0x41629a[_0x3bf187(0x24f)]['y']),_0xfcfaec[0x4*_0x5f43d2+0x2]=_0x1b276f['Math'][_0x3bf187(0x274)](this['data']['lev'][_0x3bf187(0x28e)],this[_0x3bf187(0x1f1)][_0x3bf187(0x268)][_0x3bf187(0x1c3)]),_0xfcfaec[0x4*_0x5f43d2+0x3]=0x0;return _0xfcfaec;}},{'key':_0x5b694d(0x1ad),'value':function(){var _0x3dd908=_0x5b694d,_0x329302=this;Object[_0x3dd908(0x203)](this[_0x3dd908(0x20e)])[_0x3dd908(0x287)](function(_0x2ddb65){var _0x1e03c0=_0x3dd908;_0x329302[_0x1e03c0(0x20e)][_0x2ddb65]['destroy']();});}},{'key':'createComputingPrimitives','value':function(_0x333e43,_0x234337,_0x10c2cf){var _0x2616ac=_0x5b694d,_0x490e04=new _0x1b276f[(_0x2616ac(0x213))](_0x333e43['dimensions'][_0x2616ac(0x202)],_0x333e43[_0x2616ac(0x2a3)][_0x2616ac(0x1af)],_0x333e43['dimensions'][_0x2616ac(0x268)]),_0x4e9396=new _0x1b276f[(_0x2616ac(0x213))](_0x333e43[_0x2616ac(0x202)][_0x2616ac(0x28e)],_0x333e43[_0x2616ac(0x1af)]['min'],_0x333e43['lev'][_0x2616ac(0x28e)]),_0x5ae53f=new _0x1b276f[(_0x2616ac(0x213))](_0x333e43[_0x2616ac(0x202)][_0x2616ac(0x1c3)],_0x333e43[_0x2616ac(0x1af)][_0x2616ac(0x1c3)],_0x333e43[_0x2616ac(0x268)][_0x2616ac(0x1c3)]),_0xb08a66=new _0x1b276f['Cartesian3']((_0x5ae53f['x']-_0x4e9396['x'])/(_0x490e04['x']-0x1),(_0x5ae53f['y']-_0x4e9396['y'])/(_0x490e04['y']-0x1),_0x490e04['z']>0x1?(_0x5ae53f['z']-_0x4e9396['z'])/(_0x490e04['z']-0x1):0x1),_0x55037a=new _0x1b276f[(_0x2616ac(0x318))](_0x333e43['U']['min'],_0x333e43['U'][_0x2616ac(0x1c3)]),_0x114f01=new _0x1b276f[(_0x2616ac(0x318))](_0x333e43['V'][_0x2616ac(0x28e)],_0x333e43['V'][_0x2616ac(0x1c3)]),_0x27ff48=this;this['primitives']={'getWind':new _0x1e22ad({'commandType':_0x2616ac(0x21d),'uniformMap':{'U':function(){return _0x27ff48['windTextures']['U'];},'V':function(){var _0x22478d=_0x2616ac;return _0x27ff48[_0x22478d(0x2b1)]['V'];},'currentParticlesPosition':function(){return _0x27ff48['particlesTextures']['currentParticlesPosition'];},'dimension':function(){return _0x490e04;},'minimum':function(){return _0x4e9396;},'maximum':function(){return _0x5ae53f;},'interval':function(){return _0xb08a66;}},'fragmentShaderSource':new _0x1b276f[(_0x2616ac(0x28b))]({'sources':[_0x42fb3f['a']]}),'outputTexture':this[_0x2616ac(0x20e)][_0x2616ac(0x1eb)],'preExecute':function(){var _0x1bf773=_0x2616ac;_0x27ff48['primitives']['getWind'][_0x1bf773(0x1ce)][_0x1bf773(0x2ee)]=_0x27ff48[_0x1bf773(0x20e)][_0x1bf773(0x1eb)];}}),'updateSpeed':new _0x1e22ad({'commandType':_0x2616ac(0x21d),'uniformMap':{'currentParticlesSpeed':function(){var _0x2aad07=_0x2616ac;return _0x27ff48['particlesTextures'][_0x2aad07(0x1e3)];},'particlesWind':function(){var _0x37e698=_0x2616ac;return _0x27ff48[_0x37e698(0x20e)][_0x37e698(0x1eb)];},'uSpeedRange':function(){return _0x55037a;},'vSpeedRange':function(){return _0x114f01;},'pixelSize':function(){return _0x10c2cf['pixelSize'];},'speedFactor':function(){var _0x2bd7ee=_0x2616ac;return _0x234337[_0x2bd7ee(0x20f)];}},'fragmentShaderSource':new _0x1b276f[(_0x2616ac(0x28b))]({'sources':[_0x2cfe62['a']]}),'outputTexture':this['particlesTextures'][_0x2616ac(0x23e)],'preExecute':function(){var _0x3f91e4=_0x2616ac,_0x422812;_0x422812=_0x27ff48['particlesTextures'][_0x3f91e4(0x1e3)],_0x27ff48[_0x3f91e4(0x20e)][_0x3f91e4(0x1e3)]=_0x27ff48['particlesTextures'][_0x3f91e4(0x2dd)],_0x27ff48['particlesTextures'][_0x3f91e4(0x2dd)]=_0x422812,_0x27ff48[_0x3f91e4(0x2c8)][_0x3f91e4(0x22a)][_0x3f91e4(0x1ce)][_0x3f91e4(0x2ee)]=_0x27ff48['particlesTextures']['nextParticlesSpeed'];}}),'updatePosition':new _0x1e22ad({'commandType':_0x2616ac(0x21d),'uniformMap':{'currentParticlesPosition':function(){var _0x548bc3=_0x2616ac;return _0x27ff48[_0x548bc3(0x20e)][_0x548bc3(0x2e6)];},'currentParticlesSpeed':function(){var _0x294943=_0x2616ac;return _0x27ff48['particlesTextures'][_0x294943(0x1e3)];}},'fragmentShaderSource':new _0x1b276f[(_0x2616ac(0x28b))]({'sources':[_0x1633e5['a']]}),'outputTexture':this[_0x2616ac(0x20e)][_0x2616ac(0x1f7)],'preExecute':function(){var _0x1b215b=_0x2616ac,_0x23abd5;_0x23abd5=_0x27ff48[_0x1b215b(0x20e)][_0x1b215b(0x2e6)],_0x27ff48[_0x1b215b(0x20e)]['currentParticlesPosition']=_0x27ff48[_0x1b215b(0x20e)][_0x1b215b(0x2cb)],_0x27ff48[_0x1b215b(0x20e)][_0x1b215b(0x2cb)]=_0x23abd5,_0x27ff48['primitives'][_0x1b215b(0x284)]['commandToExecute'][_0x1b215b(0x2ee)]=_0x27ff48[_0x1b215b(0x20e)][_0x1b215b(0x1f7)];}}),'postProcessingPosition':new _0x1e22ad({'commandType':'Compute','uniformMap':{'nextParticlesPosition':function(){var _0x2b63ba=_0x2616ac;return _0x27ff48[_0x2b63ba(0x20e)][_0x2b63ba(0x1f7)];},'nextParticlesSpeed':function(){var _0x22d180=_0x2616ac;return _0x27ff48[_0x22d180(0x20e)][_0x22d180(0x23e)];},'lonRange':function(){var _0x303602=_0x2616ac;return _0x10c2cf[_0x303602(0x26e)];},'latRange':function(){return _0x10c2cf['latRange'];},'randomCoefficient':function(){var _0x453bf7=_0x2616ac,_0x4286c1=Math[_0x453bf7(0x25f)]();return _0x4286c1;},'dropRate':function(){var _0x8c3701=_0x2616ac;return _0x234337[_0x8c3701(0x209)];},'dropRateBump':function(){var _0x7a38ff=_0x2616ac;return _0x234337[_0x7a38ff(0x1dd)];}},'fragmentShaderSource':new _0x1b276f[(_0x2616ac(0x28b))]({'sources':[_0x30d67a['a']]}),'outputTexture':this[_0x2616ac(0x20e)][_0x2616ac(0x2cb)],'preExecute':function(){var _0x82365b=_0x2616ac;_0x27ff48[_0x82365b(0x2c8)][_0x82365b(0x2cb)]['commandToExecute'][_0x82365b(0x2ee)]=_0x27ff48['particlesTextures']['postProcessingPosition'];}}),'postProcessingSpeed':new _0x1e22ad({'commandType':'Compute','uniformMap':{'postProcessingPosition':function(){var _0x3e7407=_0x2616ac;return _0x27ff48['particlesTextures'][_0x3e7407(0x2cb)];},'nextParticlesSpeed':function(){var _0x11a4ff=_0x2616ac;return _0x27ff48['particlesTextures'][_0x11a4ff(0x23e)];}},'fragmentShaderSource':new _0x1b276f[(_0x2616ac(0x28b))]({'sources':[_0x36abea['a']]}),'outputTexture':this[_0x2616ac(0x20e)][_0x2616ac(0x2dd)],'preExecute':function(){var _0x38cc96=_0x2616ac;_0x27ff48[_0x38cc96(0x2c8)][_0x38cc96(0x2dd)][_0x38cc96(0x1ce)][_0x38cc96(0x2ee)]=_0x27ff48[_0x38cc96(0x20e)][_0x38cc96(0x2dd)];}})};}}]),_0x2643d9;}(),_0x22afa4=function(){var _0x541fe8=_0xb472d0;function _0x5ad124(_0x29f114,_0xac24c6,_0x1f10ea,_0x7ce308){var _0x1a7f04=a0_0x139b;_0x192c0c()(this,_0x5ad124),this[_0x1a7f04(0x1aa)]=_0x29f114,this[_0x1a7f04(0x1f1)]=_0xac24c6,this[_0x1a7f04(0x306)]=_0x1f10ea,this['viewerParameters']=_0x7ce308,this[_0x1a7f04(0x201)]=new _0x4e8060(this[_0x1a7f04(0x1aa)],this['data'],this[_0x1a7f04(0x306)],this[_0x1a7f04(0x256)]),this[_0x1a7f04(0x204)]=new _0xa8aad(this[_0x1a7f04(0x1aa)],this[_0x1a7f04(0x1f1)],this['userInput'],this[_0x1a7f04(0x256)],this['particlesComputing']);}return _0x77a6a8()(_0x5ad124,[{'key':_0x541fe8(0x261),'value':function(_0x15e934){var _0x505dc3=_0x541fe8,_0x477f96=this;this[_0x505dc3(0x201)][_0x505dc3(0x1ad)](),Object[_0x505dc3(0x203)](this['particlesComputing'][_0x505dc3(0x2b1)])[_0x505dc3(0x287)](function(_0x5bf937){var _0x351ded=_0x505dc3;_0x477f96[_0x351ded(0x201)][_0x351ded(0x2b1)][_0x5bf937][_0x351ded(0x2c1)]();}),this['particlesRendering'][_0x505dc3(0x29f)][_0x505dc3(0x2d4)]['destroy'](),Object[_0x505dc3(0x203)](this[_0x505dc3(0x204)][_0x505dc3(0x2a0)])[_0x505dc3(0x287)](function(_0x3ffae0){var _0x51383d=_0x505dc3;_0x477f96['particlesRendering']['framebuffers'][_0x3ffae0][_0x51383d(0x2c1)]();}),this[_0x505dc3(0x1aa)]=_0x15e934,this[_0x505dc3(0x201)]=new _0x4e8060(this[_0x505dc3(0x1aa)],this[_0x505dc3(0x1f1)],this[_0x505dc3(0x306)],this[_0x505dc3(0x256)]),this[_0x505dc3(0x204)]=new _0xa8aad(this[_0x505dc3(0x1aa)],this[_0x505dc3(0x1f1)],this[_0x505dc3(0x306)],this[_0x505dc3(0x256)],this[_0x505dc3(0x201)]);}},{'key':_0x541fe8(0x1e6),'value':function(){var _0x34481f=_0x541fe8,_0x104b4f=this,_0xaf398c=new _0x1b276f[(_0x34481f(0x1be))]({'color':new _0x1b276f['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':void 0x0,'pass':_0x1b276f['Pass'][_0x34481f(0x21b)]});Object[_0x34481f(0x203)](this['particlesRendering'][_0x34481f(0x2a0)])[_0x34481f(0x287)](function(_0x42a5e6){var _0x36879e=_0x34481f;_0xaf398c[_0x36879e(0x1a6)]=_0x104b4f[_0x36879e(0x204)]['framebuffers'][_0x42a5e6],_0xaf398c[_0x36879e(0x24a)](_0x104b4f['context']);});}},{'key':_0x541fe8(0x21e),'value':function(_0x348583){var _0x5a9e3f=_0x541fe8;if(this['clearFramebuffers'](),this[_0x5a9e3f(0x201)][_0x5a9e3f(0x1ad)](),this[_0x5a9e3f(0x201)][_0x5a9e3f(0x277)](this[_0x5a9e3f(0x1aa)],this[_0x5a9e3f(0x306)],this[_0x5a9e3f(0x256)]),_0x348583){var _0x9acd8=this[_0x5a9e3f(0x204)][_0x5a9e3f(0x1d0)](this[_0x5a9e3f(0x306)]);this[_0x5a9e3f(0x204)]['primitives'][_0x5a9e3f(0x1f3)][_0x5a9e3f(0x1c8)]=_0x9acd8;var _0x3f5e6=_0x1b276f[_0x5a9e3f(0x1e4)][_0x5a9e3f(0x1cf)]({'context':this[_0x5a9e3f(0x1aa)],'geometry':_0x9acd8,'attributeLocations':this[_0x5a9e3f(0x204)]['primitives'][_0x5a9e3f(0x1f3)]['attributeLocations'],'bufferUsage':_0x1b276f[_0x5a9e3f(0x1c9)][_0x5a9e3f(0x2c4)]});this[_0x5a9e3f(0x204)]['primitives'][_0x5a9e3f(0x1f3)]['commandToExecute'][_0x5a9e3f(0x242)]=_0x3f5e6;}}},{'key':_0x541fe8(0x2d5),'value':function(_0x177178){var _0x5c6131=_0x541fe8,_0x550ebd=this,_0x1c6f2a=!0x1;this['userInput']['maxParticles']!=_0x177178[_0x5c6131(0x258)]&&(_0x1c6f2a=!0x0),Object[_0x5c6131(0x203)](_0x177178)[_0x5c6131(0x287)](function(_0x562f17){var _0x1dc315=_0x5c6131;_0x550ebd[_0x1dc315(0x306)][_0x562f17]=_0x177178[_0x562f17];}),this[_0x5c6131(0x21e)](_0x1c6f2a);}},{'key':_0x541fe8(0x2fb),'value':function(_0x187710){var _0x3761a8=_0x541fe8,_0x4473f4=this;Object[_0x3761a8(0x203)](_0x187710)[_0x3761a8(0x287)](function(_0x6830d1){var _0x51810f=_0x3761a8;_0x4473f4[_0x51810f(0x256)][_0x6830d1]=_0x187710[_0x6830d1];}),this[_0x3761a8(0x21e)](!0x1);}}]),_0x5ad124;}();function _0x26f40b(_0x4cef5d){var _0x2870a2=function(){var _0x76a648=a0_0x139b;if('undefined'==typeof Reflect||!Reflect[_0x76a648(0x1a8)])return!0x1;if(Reflect[_0x76a648(0x1a8)]['sham'])return!0x1;if('function'==typeof Proxy)return!0x0;try{return Boolean[_0x76a648(0x2d8)]['valueOf'][_0x76a648(0x1b7)](Reflect['construct'](Boolean,[],function(){})),!0x0;}catch(_0x13cc4e){return!0x1;}}();return function(){var _0x56e26f=a0_0x139b,_0x49f25e,_0x219d87=_0x32e720()(_0x4cef5d);if(_0x2870a2){var _0x14911e=_0x32e720()(this)[_0x56e26f(0x229)];_0x49f25e=Reflect[_0x56e26f(0x1a8)](_0x219d87,arguments,_0x14911e);}else _0x49f25e=_0x219d87[_0x56e26f(0x212)](this,arguments);return _0x403266()(this,_0x49f25e);};}var _0x49b0f5=_0x4d2a6e['layer'][_0xb472d0(0x23d)],_0x18fa1e=0x1000,_0x5505ad=0x64,_0x9541ca=0.996,_0x1db700=0.003,_0x125586=0.01,_0x433282=0.5,_0x3e8fac=0x2,_0x27ba02=function(_0x371932){var _0x2314d6=_0xb472d0;_0x3ba2b9()(_0x1e9929,_0x371932);var _0x1f6ea0=_0x26f40b(_0x1e9929);function _0x1e9929(){var _0x27c00c=a0_0x139b,_0x3b4b0f,_0x3c3016=arguments['length']>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};if(_0x192c0c()(this,_0x1e9929),(_0x3b4b0f=_0x1f6ea0[_0x27c00c(0x1b7)](this,_0x3c3016))[_0x27c00c(0x258)]=_0x18fa1e,_0x3b4b0f[_0x27c00c(0x1b1)]=_0x5505ad,_0x3b4b0f[_0x27c00c(0x1d1)]=_0x9541ca,_0x3b4b0f['dropRate']=_0x1db700,_0x3b4b0f[_0x27c00c(0x1dd)]=_0x125586,_0x3b4b0f[_0x27c00c(0x20f)]=_0x433282,_0x3b4b0f['lineWidth']=_0x3e8fac,_0x3c3016){for(var _0x30c956 in _0x3c3016)_0x3b4b0f[_0x30c956]=_0x3c3016[_0x30c956];}return _0x3b4b0f;}return _0x77a6a8()(_0x1e9929,[{'key':'layer','get':function(){return this['primitives'];}},{'key':_0x2314d6(0x2cd),'value':function(){}},{'key':_0x2314d6(0x24e),'value':function(){var _0x4fe445=_0x2314d6;this['scene']=this[_0x4fe445(0x2a9)]['scene'],this[_0x4fe445(0x2ba)]=this[_0x4fe445(0x2a9)][_0x4fe445(0x2ba)],this['primitives']=new _0x1b276f[(_0x4fe445(0x2fd))](),this[_0x4fe445(0x2a9)]['scene']['primitives'][_0x4fe445(0x1ef)](this[_0x4fe445(0x2c8)]),this['viewerParameters']={'lonRange':new _0x1b276f[(_0x4fe445(0x318))](),'latRange':new _0x1b276f[(_0x4fe445(0x318))](),'pixelSize':0x0},this[_0x4fe445(0x1a7)]=new _0x1b276f[(_0x4fe445(0x24c))](_0x1b276f['Cartesian3'][_0x4fe445(0x243)],6314355.63),this['updateViewerParameters'](),window[_0x4fe445(0x2ab)]('resize',this[_0x4fe445(0x251)][_0x4fe445(0x25a)](this),!0x1),this['mouse_down']=!0x1,this[_0x4fe445(0x1e1)]=!0x1,this[_0x4fe445(0x2a9)]['on'](_0x4d2a6e[_0x4fe445(0x2f3)][_0x4fe445(0x2e8)],this[_0x4fe445(0x1b3)],this),this['_map']['on'](_0x4d2a6e['EventType'][_0x4fe445(0x292)],this['_onMouseDownEvent'],this),this[_0x4fe445(0x2a9)]['on'](_0x4d2a6e[_0x4fe445(0x2f3)]['mouseUp'],this[_0x4fe445(0x1e9)],this),this[_0x4fe445(0x2a9)]['on'](_0x4d2a6e['EventType']['mouseMove'],this['_onMouseMoveEvent'],this);}},{'key':'_removedHook','value':function(){var _0x22f3c6=_0x2314d6;window['removeEventListener'](_0x22f3c6(0x251),this[_0x22f3c6(0x251)]),this[_0x22f3c6(0x2a9)][_0x22f3c6(0x1de)](_0x4d2a6e[_0x22f3c6(0x2f3)]['preRender'],this['_onMap_preRenderEvent'],this),this[_0x22f3c6(0x2a9)]['off'](_0x4d2a6e['EventType'][_0x22f3c6(0x2e8)],this[_0x22f3c6(0x1b3)],this),this[_0x22f3c6(0x2a9)]['off'](_0x4d2a6e[_0x22f3c6(0x2f3)][_0x22f3c6(0x292)],this[_0x22f3c6(0x252)],this),this[_0x22f3c6(0x2a9)][_0x22f3c6(0x1de)](_0x4d2a6e[_0x22f3c6(0x2f3)][_0x22f3c6(0x296)],this['_onMouseUpEvent'],this),this['_map'][_0x22f3c6(0x1de)](_0x4d2a6e['EventType'][_0x22f3c6(0x269)],this['_onMouseMoveEvent'],this),this[_0x22f3c6(0x2c8)][_0x22f3c6(0x23b)](),this[_0x22f3c6(0x2a9)][_0x22f3c6(0x295)][_0x22f3c6(0x2c8)][_0x22f3c6(0x27f)](this[_0x22f3c6(0x2c8)]);}},{'key':_0x2314d6(0x251),'value':function(){var _0x5822a8=_0x2314d6;this['show']&&this[_0x5822a8(0x235)]&&(this[_0x5822a8(0x2c8)][_0x5822a8(0x2eb)]=!0x1,this[_0x5822a8(0x2c8)]['removeAll'](),this[_0x5822a8(0x2a9)]['once'](_0x4d2a6e[_0x5822a8(0x2f3)][_0x5822a8(0x254)],this[_0x5822a8(0x297)],this));}},{'key':_0x2314d6(0x297),'value':function(_0x3f27e6){var _0x194996=_0x2314d6;this[_0x194996(0x235)]['canvasResize'](this['scene'][_0x194996(0x1aa)]),this['addPrimitives'](),this[_0x194996(0x2c8)][_0x194996(0x2eb)]=!0x0;}},{'key':_0x2314d6(0x1b3),'value':function(_0x4128e3){var _0x21ebf4=_0x2314d6,_0x40a10e=this;clearTimeout(this['refreshTimer']),this[_0x21ebf4(0x2eb)]&&this['particleSystem']&&(this[_0x21ebf4(0x2c8)]['show']=!0x1,this[_0x21ebf4(0x26f)]=setTimeout(function(){var _0x5291ae=_0x21ebf4;_0x40a10e[_0x5291ae(0x2eb)]&&_0x40a10e[_0x5291ae(0x2bd)]();},0xc8));}},{'key':_0x2314d6(0x252),'value':function(_0x40c909){var _0x402975=_0x2314d6;this[_0x402975(0x1d4)]=!0x0;}},{'key':_0x2314d6(0x2f2),'value':function(_0x23e131){var _0x4a69a5=_0x2314d6;this[_0x4a69a5(0x2eb)]&&this['particleSystem']&&this[_0x4a69a5(0x1d4)]&&(this[_0x4a69a5(0x2c8)][_0x4a69a5(0x2eb)]=!0x1,this['mouse_move']=!0x0);}},{'key':'_onMouseUpEvent','value':function(_0x4512a8){var _0xf56e5b=_0x2314d6;this[_0xf56e5b(0x2eb)]&&this[_0xf56e5b(0x235)]&&(this[_0xf56e5b(0x1d4)]&&this[_0xf56e5b(0x1e1)]&&this[_0xf56e5b(0x2bd)](),this['primitives'][_0xf56e5b(0x2eb)]=!0x0,this[_0xf56e5b(0x1d4)]=!0x1,this[_0xf56e5b(0x1e1)]=!0x1);}},{'key':_0x2314d6(0x2bd),'value':function(){var _0x406be5=_0x2314d6;this['_map']&&this[_0x406be5(0x2eb)]&&(this[_0x406be5(0x1d8)](),this[_0x406be5(0x235)][_0x406be5(0x2fb)](this[_0x406be5(0x256)]),this[_0x406be5(0x2c8)][_0x406be5(0x2eb)]=!0x0);}},{'key':_0x2314d6(0x241),'value':function(_0x1209b6){var _0x226889=_0x2314d6;this['particleSystem']=new _0x22afa4(this[_0x226889(0x295)]['context'],_0x1209b6,this[_0x226889(0x2a2)](),this[_0x226889(0x256)]),this[_0x226889(0x30f)]();}},{'key':_0x2314d6(0x264),'value':function(_0x3f90fe){var _0x1c8c53=_0x2314d6;if(_0x3f90fe){for(var _0x30ccd7 in _0x3f90fe)this[_0x30ccd7]=_0x3f90fe[_0x30ccd7];}return this['particleSystem']&&this[_0x1c8c53(0x235)][_0x1c8c53(0x2d5)](this['getUserInput']()),this;}},{'key':_0x2314d6(0x2a2),'value':function(){var _0x303888=_0x2314d6,_0x36127b=Math[_0x303888(0x1cc)](Math[_0x303888(0x2f9)](this[_0x303888(0x258)]));return this[_0x303888(0x258)]=_0x36127b*_0x36127b,{'particlesTextureSize':_0x36127b,'maxParticles':this[_0x303888(0x258)],'particleHeight':this[_0x303888(0x1b1)],'fadeOpacity':this['fadeOpacity'],'dropRate':this['dropRate'],'dropRateBump':this[_0x303888(0x1dd)],'speedFactor':this['speedFactor'],'lineWidth':this[_0x303888(0x2c5)],'globeLayer':this[_0x303888(0x302)],'WMS_URL':this[_0x303888(0x21c)]};}},{'key':_0x2314d6(0x30f),'value':function(){var _0x3f6897=_0x2314d6;this[_0x3f6897(0x2c8)]['add'](this[_0x3f6897(0x235)][_0x3f6897(0x201)][_0x3f6897(0x2c8)][_0x3f6897(0x1fe)]),this[_0x3f6897(0x2c8)][_0x3f6897(0x1ef)](this[_0x3f6897(0x235)]['particlesComputing']['primitives'][_0x3f6897(0x22a)]),this[_0x3f6897(0x2c8)][_0x3f6897(0x1ef)](this['particleSystem']['particlesComputing'][_0x3f6897(0x2c8)]['updatePosition']),this[_0x3f6897(0x2c8)][_0x3f6897(0x1ef)](this[_0x3f6897(0x235)][_0x3f6897(0x201)][_0x3f6897(0x2c8)][_0x3f6897(0x2cb)]),this[_0x3f6897(0x2c8)][_0x3f6897(0x1ef)](this[_0x3f6897(0x235)][_0x3f6897(0x201)]['primitives'][_0x3f6897(0x2dd)]),this['primitives'][_0x3f6897(0x1ef)](this[_0x3f6897(0x235)][_0x3f6897(0x204)][_0x3f6897(0x2c8)][_0x3f6897(0x1f3)]),this[_0x3f6897(0x2c8)]['add'](this[_0x3f6897(0x235)][_0x3f6897(0x204)]['primitives'][_0x3f6897(0x218)]),this['primitives'][_0x3f6897(0x1ef)](this[_0x3f6897(0x235)][_0x3f6897(0x204)][_0x3f6897(0x2c8)][_0x3f6897(0x2c9)]);}},{'key':_0x2314d6(0x1d8),'value':function(){var _0x265e84=_0x2314d6,_0x4df4c0=this[_0x265e84(0x2ba)][_0x265e84(0x2d3)](this['scene']['globe'][_0x265e84(0x1a9)]);if(!_0x4df4c0){var _0x58f424=this[_0x265e84(0x2a9)]['getExtent']();_0x4df4c0=_0x1b276f['Rectangle']['fromDegrees'](_0x58f424['xmin'],_0x58f424[_0x265e84(0x2d1)],_0x58f424[_0x265e84(0x2f7)],_0x58f424[_0x265e84(0x232)]);}var _0xf800d7=_0x3c5dd2[_0x265e84(0x2e3)](_0x4df4c0);this[_0x265e84(0x256)]['lonRange']['x']=_0xf800d7['lon'][_0x265e84(0x28e)],this[_0x265e84(0x256)][_0x265e84(0x26e)]['y']=_0xf800d7[_0x265e84(0x202)][_0x265e84(0x1c3)],this['viewerParameters'][_0x265e84(0x24f)]['x']=_0xf800d7['lat'][_0x265e84(0x28e)],this[_0x265e84(0x256)][_0x265e84(0x24f)]['y']=_0xf800d7[_0x265e84(0x1af)][_0x265e84(0x1c3)];var _0x38d132=this[_0x265e84(0x2ba)]['getPixelSize'](this['globeBoundingSphere'],this['scene'][_0x265e84(0x221)],this[_0x265e84(0x295)][_0x265e84(0x2e2)]);_0x38d132>0x0&&(this['viewerParameters'][_0x265e84(0x2ac)]=_0x38d132);}}]),_0x1e9929;}(_0x49b0f5);_0x4d2a6e[_0xb472d0(0x316)][_0xb472d0(0x1ab)](_0xb472d0(0x2df),_0x27ba02),_0x4d2a6e[_0xb472d0(0x263)][_0xb472d0(0x25d)]=_0x27ba02;var _0x1524e4=function _0x13b2cb(){var _0x12885b=_0xb472d0;_0x192c0c()(this,_0x13b2cb),this[_0x12885b(0x23f)]=null,this[_0x12885b(0x1af)]=null,this[_0x12885b(0x26d)]=null,this[_0x12885b(0x24b)]=null,this[_0x12885b(0x1bc)]=null;},_0x326b62=function(){var _0x1c7405=_0xb472d0;function _0x4a06ee(_0x56c28f,_0x5c1a1b){var _0x2162b4=a0_0x139b;_0x192c0c()(this,_0x4a06ee),this['rows']=_0x56c28f[_0x2162b4(0x220)],this[_0x2162b4(0x2e0)]=_0x56c28f[_0x2162b4(0x2e0)],this[_0x2162b4(0x299)]=_0x56c28f[_0x2162b4(0x299)],this[_0x2162b4(0x2f7)]=_0x56c28f['xmax'],this['ymin']=_0x56c28f[_0x2162b4(0x2d1)],this['ymax']=_0x56c28f[_0x2162b4(0x232)],this[_0x2162b4(0x317)]=[];var _0x11ccb4=_0x56c28f[_0x2162b4(0x315)],_0x47895c=_0x56c28f[_0x2162b4(0x2ea)],_0x2dc603=!0x1;_0x11ccb4['length']===this['rows']&&_0x11ccb4[0x0][_0x2162b4(0x234)]===this['cols']&&(_0x2dc603=!0x0);for(var _0x25b98e=0x0,_0xba1ec=null,_0x2bbe0b=null,_0x14889a=0x0;_0x14889a<this['rows'];_0x14889a++){_0xba1ec=[];for(var _0x364eea=0x0;_0x364eea<this[_0x2162b4(0x2e0)];_0x364eea++,_0x25b98e++)_0x2bbe0b=_0x2dc603?this[_0x2162b4(0x1e7)](_0x11ccb4[_0x14889a][_0x364eea],_0x47895c[_0x14889a][_0x364eea]):this[_0x2162b4(0x1e7)](_0x11ccb4[_0x25b98e],_0x47895c[_0x25b98e]),_0xba1ec[_0x2162b4(0x272)](_0x2bbe0b);this[_0x2162b4(0x317)][_0x2162b4(0x272)](_0xba1ec);}_0x5c1a1b&&this[_0x2162b4(0x317)][_0x2162b4(0x282)]();}return _0x77a6a8()(_0x4a06ee,[{'key':_0x1c7405(0x2b2),'value':function(_0x5929c0,_0x40cf84){var _0x3d4ccf=_0x1c7405;return{'x':(_0x5929c0-this['xmin'])/(this['xmax']-this[_0x3d4ccf(0x299)])*(this['cols']-0x1),'y':(this[_0x3d4ccf(0x232)]-_0x40cf84)/(this['ymax']-this[_0x3d4ccf(0x2d1)])*(this[_0x3d4ccf(0x220)]-0x1)};}},{'key':_0x1c7405(0x2e4),'value':function(_0x50f174,_0x1a41c5){var _0xb1671d=_0x1c7405;if(_0x50f174<0x0||_0x50f174>=this[_0xb1671d(0x2e0)]||_0x1a41c5>=this[_0xb1671d(0x220)])return[0x0,0x0,0x0];var _0x313008,_0x1885f1,_0x27fda4=Math[_0xb1671d(0x28a)](_0x50f174),_0x1c784e=Math[_0xb1671d(0x28a)](_0x1a41c5);if(_0x27fda4===_0x50f174&&_0x1c784e===_0x1a41c5)return this[_0xb1671d(0x317)][_0x1a41c5][_0x50f174];_0x313008=_0x27fda4+0x1,_0x1885f1=_0x1c784e+0x1;var _0x366baa=this[_0xb1671d(0x2e4)](_0x27fda4,_0x1c784e),_0x46cf63=this[_0xb1671d(0x2e4)](_0x313008,_0x1c784e),_0x5f029c=this[_0xb1671d(0x2e4)](_0x27fda4,_0x1885f1),_0x410727=this[_0xb1671d(0x2e4)](_0x313008,_0x1885f1),_0x5d3bbb=null;try{_0x5d3bbb=this[_0xb1671d(0x2b4)](_0x50f174-_0x27fda4,_0x1a41c5-_0x1c784e,_0x366baa,_0x46cf63,_0x5f029c,_0x410727);}catch(_0x4a7ed0){console[_0xb1671d(0x26b)](_0x50f174,_0x1a41c5);}return _0x5d3bbb;}},{'key':_0x1c7405(0x2b4),'value':function(_0x1e05a0,_0x200e3c,_0x303082,_0x252f2b,_0x2859cf,_0x30992e){var _0x5df52f=_0x1c7405,_0x123e5d=0x1-_0x1e05a0,_0x3749d0=0x1-_0x200e3c,_0x21591c=_0x123e5d*_0x3749d0,_0x255b0d=_0x1e05a0*_0x3749d0,_0x4b33ce=_0x123e5d*_0x200e3c,_0x47eeaf=_0x1e05a0*_0x200e3c,_0x443bcb=_0x303082[0x0]*_0x21591c+_0x252f2b[0x0]*_0x255b0d+_0x2859cf[0x0]*_0x4b33ce+_0x30992e[0x0]*_0x47eeaf,_0x5c9a2d=_0x303082[0x1]*_0x21591c+_0x252f2b[0x1]*_0x255b0d+_0x2859cf[0x1]*_0x4b33ce+_0x30992e[0x1]*_0x47eeaf;return this[_0x5df52f(0x1e7)](_0x443bcb,_0x5c9a2d);}},{'key':'_calcUV','value':function(_0x32cfc4,_0x39cee5){return[+_0x32cfc4,+_0x39cee5,Math['sqrt'](_0x32cfc4*_0x32cfc4+_0x39cee5*_0x39cee5)];}},{'key':_0x1c7405(0x280),'value':function(_0x4440f1,_0x1d55aa){var _0x470b3a=_0x1c7405;if(!this[_0x470b3a(0x1d7)](_0x4440f1,_0x1d55aa))return null;var _0x427b71=this[_0x470b3a(0x2b2)](_0x4440f1,_0x1d55aa);return this[_0x470b3a(0x2e4)](_0x427b71['x'],_0x427b71['y']);}},{'key':'isInExtent','value':function(_0x3416a6,_0xb7925b){var _0x3f1069=_0x1c7405;return _0x3416a6>=this['xmin']&&_0x3416a6<=this[_0x3f1069(0x2f7)]&&_0xb7925b>=this[_0x3f1069(0x2d1)]&&_0xb7925b<=this[_0x3f1069(0x232)];}},{'key':_0x1c7405(0x26a),'value':function(){var _0x47471f=_0x1c7405,_0x33c8b6=_0x4a56e8(this[_0x47471f(0x299)],this[_0x47471f(0x2f7)]);return{'lat':_0x4a56e8(this[_0x47471f(0x2d1)],this['ymax']),'lng':_0x33c8b6};}}]),_0x4a06ee;}();function _0x4a56e8(_0x3bcaef,_0x64e180){var _0x3616ea=_0xb472d0;return _0x3bcaef+Math[_0x3616ea(0x25f)]()*(_0x64e180-_0x3bcaef);}function _0x47356f(_0x115421){var _0xf1eaf1=function(){var _0x529bb3=a0_0x139b;if(_0x529bb3(0x215)==typeof Reflect||!Reflect['construct'])return!0x1;if(Reflect['construct'][_0x529bb3(0x227)])return!0x1;if(_0x529bb3(0x1f9)==typeof Proxy)return!0x0;try{return Boolean[_0x529bb3(0x2d8)][_0x529bb3(0x2c0)][_0x529bb3(0x1b7)](Reflect[_0x529bb3(0x1a8)](Boolean,[],function(){})),!0x0;}catch(_0x1c49a9){return!0x1;}}();return function(){var _0x734d76=a0_0x139b,_0xb6f5de,_0x25d8c3=_0x32e720()(_0x115421);if(_0xf1eaf1){var _0x130323=_0x32e720()(this)[_0x734d76(0x229)];_0xb6f5de=Reflect[_0x734d76(0x1a8)](_0x25d8c3,arguments,_0x130323);}else _0xb6f5de=_0x25d8c3[_0x734d76(0x212)](this,arguments);return _0x403266()(this,_0xb6f5de);};}var _0x220c96=function(_0x3cce54){var _0x53143c=_0xb472d0;_0x3ba2b9()(_0x5dea83,_0x3cce54);var _0x325ce8=_0x47356f(_0x5dea83);function _0x5dea83(){var _0x457292=a0_0x139b,_0x4dac33,_0x5cf5df=arguments[_0x457292(0x234)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x192c0c()(this,_0x5dea83),(_0x4dac33=_0x325ce8[_0x457292(0x1b7)](this,_0x5cf5df))['calc_speedRate']=[0x0,0x0],_0x4dac33['particles']=[],_0x4dac33[_0x457292(0x262)]=_0x5cf5df[_0x457292(0x262)]||0x32,_0x4dac33['_particlesNumber']=_0x5cf5df[_0x457292(0x289)]||0x4e20,_0x4dac33['_maxAge']=_0x5cf5df['maxAge']||0x78,_0x4dac33[_0x457292(0x228)]=0x3e8/(_0x5cf5df['frameRate']||0xa),_0x4dac33['_pointerEvents']=_0x1b276f[_0x457292(0x288)](_0x4dac33[_0x457292(0x1e2)][_0x457292(0x2a1)],!0x1),_0x4dac33['color']=_0x5cf5df['color']||_0x457292(0x1a5),_0x4dac33['lineWidth']=_0x5cf5df['lineWidth']||0x1,_0x4dac33[_0x457292(0x20b)]=_0x1b276f[_0x457292(0x288)](_0x5cf5df[_0x457292(0x20b)],0x0),_0x4dac33[_0x457292(0x29e)]=_0x1b276f[_0x457292(0x288)](_0x5cf5df[_0x457292(0x29e)],!0x1),_0x4dac33[_0x457292(0x1fc)]=null,_0x4dac33;}return _0x77a6a8()(_0x5dea83,[{'key':'layer','get':function(){var _0xabed11=a0_0x139b;return this[_0xabed11(0x1fc)];}},{'key':'canvasWidth','get':function(){var _0x20a5bb=a0_0x139b;return this['_map']['scene'][_0x20a5bb(0x1fc)]['clientWidth'];}},{'key':'canvasHeight','get':function(){var _0x4dc130=a0_0x139b;return this[_0x4dc130(0x2a9)][_0x4dc130(0x295)][_0x4dc130(0x1fc)][_0x4dc130(0x1bb)];}},{'key':_0x53143c(0x2a1),'get':function(){var _0x4238f0=_0x53143c;return this[_0x4238f0(0x24d)];},'set':function(_0xa7137c){var _0x277a88=_0x53143c;this[_0x277a88(0x24d)]=_0xa7137c,this['canvas']&&(this['canvas'][_0x277a88(0x1ee)][_0x277a88(0x298)]=_0xa7137c?_0x277a88(0x231):_0x277a88(0x2c3));}},{'key':_0x53143c(0x262),'get':function(){var _0x341ddb=_0x53143c;return this[_0x341ddb(0x205)];},'set':function(_0x289d7f){var _0x29bb06=_0x53143c;this[_0x29bb06(0x205)]=0x64*(0x64-(_0x289d7f>0x63?0x63:_0x289d7f)),this[_0x29bb06(0x2e9)]();}},{'key':_0x53143c(0x289),'get':function(){var _0x39503c=_0x53143c;return this[_0x39503c(0x1f4)];},'set':function(_0x5b8619){var _0x3364fe=_0x53143c,_0x5d8543=this;this[_0x3364fe(0x1f4)]=_0x5b8619,clearTimeout(this[_0x3364fe(0x257)]),this[_0x3364fe(0x257)]=setTimeout(function(){var _0x241135=_0x3364fe;_0x5d8543[_0x241135(0x2bd)]();},0x1f4);}},{'key':_0x53143c(0x312),'get':function(){var _0x5dce4a=_0x53143c;return this[_0x5dce4a(0x1f5)];},'set':function(_0x28ce93){var _0x337b0c=_0x53143c,_0x1f9225=this;this[_0x337b0c(0x1f5)]=_0x28ce93,clearTimeout(this['canrefresh']),this[_0x337b0c(0x257)]=setTimeout(function(){var _0x1d2306=_0x337b0c;_0x1f9225[_0x1d2306(0x2bd)]();},0x1f4);}},{'key':'data','get':function(){var _0x36f1be=_0x53143c;return this[_0x36f1be(0x20d)];},'set':function(_0x591643){this['updateDate'](_0x591643);}},{'key':_0x53143c(0x2b8),'value':function(_0x3d8bb3){var _0x2a6f78=_0x53143c;_0x3d8bb3?this[_0x2a6f78(0x24e)]():(this[_0x2a6f78(0x20d)]&&(this[_0x2a6f78(0x1e2)][_0x2a6f78(0x1f1)]=this[_0x2a6f78(0x20d)]),this[_0x2a6f78(0x1ff)]());}},{'key':_0x53143c(0x2cd),'value':function(){}},{'key':'_addedHook','value':function(){var _0x222bb3=_0x53143c;this['canvas']=this[_0x222bb3(0x313)](),this[_0x222bb3(0x308)]=this['canvas'][_0x222bb3(0x248)]('2d'),this[_0x222bb3(0x2a5)](),this[_0x222bb3(0x1e2)][_0x222bb3(0x1f1)]&&this[_0x222bb3(0x200)](this['options']['data']);}},{'key':_0x53143c(0x1ff),'value':function(){var _0x298b06=_0x53143c;this[_0x298b06(0x1f8)](),this['unbindEvent'](),this[_0x298b06(0x1fc)]&&(this['_map']['container']['removeChild'](this[_0x298b06(0x1fc)]),delete this[_0x298b06(0x1fc)]);}},{'key':_0x53143c(0x313),'value':function(){var _0x2bf360=_0x53143c,_0x5c38f9=document['createElement'](_0x2bf360(0x1fc));_0x5c38f9[_0x2bf360(0x1ee)][_0x2bf360(0x1b6)]='absolute',_0x5c38f9[_0x2bf360(0x1ee)]['top']=_0x2bf360(0x2d2),_0x5c38f9[_0x2bf360(0x1ee)][_0x2bf360(0x2f4)]='0px',_0x5c38f9[_0x2bf360(0x1ee)][_0x2bf360(0x245)]=_0x2bf360(0x30d),_0x5c38f9[_0x2bf360(0x1ee)]['height']='100%',_0x5c38f9[_0x2bf360(0x1ee)][_0x2bf360(0x2a1)]=this['_pointerEvents']?_0x2bf360(0x223):_0x2bf360(0x2c3),_0x5c38f9[_0x2bf360(0x1ee)][_0x2bf360(0x1db)]=0xa,_0x5c38f9[_0x2bf360(0x290)]('id','canvasWindy'),_0x5c38f9['setAttribute']('class',_0x2bf360(0x2d6)),this[_0x2bf360(0x2a9)][_0x2bf360(0x216)][_0x2bf360(0x2fa)](_0x5c38f9);var _0x4cdba2=this[_0x2bf360(0x2a9)][_0x2bf360(0x295)];return _0x5c38f9[_0x2bf360(0x245)]=_0x4cdba2[_0x2bf360(0x1fc)]['clientWidth'],_0x5c38f9[_0x2bf360(0x238)]=_0x4cdba2[_0x2bf360(0x1fc)]['clientHeight'],_0x5c38f9;}},{'key':'resize','value':function(){var _0x3a43be=_0x53143c;this[_0x3a43be(0x1fc)]&&(this[_0x3a43be(0x1fc)][_0x3a43be(0x245)]=this[_0x3a43be(0x281)],this['canvas']['height']=this['canvasHeight']);}},{'key':'bindEvent','value':function(){var _0x49f9a1=_0x53143c,_0x5cd8c8=this,_0x312234=Date['now']();!function _0x59d4cc(){var _0xdb3d9d=a0_0x139b;_0x5cd8c8[_0xdb3d9d(0x1ca)]=window[_0xdb3d9d(0x1ac)](_0x59d4cc);var _0x30473c=Date[_0xdb3d9d(0x265)](),_0x98eaa4=_0x30473c-_0x312234;_0x98eaa4>_0x5cd8c8[_0xdb3d9d(0x228)]&&(_0x312234=_0x30473c-_0x98eaa4%_0x5cd8c8[_0xdb3d9d(0x228)],_0x5cd8c8['update']());}(),window[_0x49f9a1(0x2ab)](_0x49f9a1(0x251),this['resize'][_0x49f9a1(0x25a)](this),!0x1),this[_0x49f9a1(0x1d4)]=!0x1,this['mouse_move']=!0x1,this[_0x49f9a1(0x2a9)]['on'](_0x4d2a6e[_0x49f9a1(0x2f3)][_0x49f9a1(0x2e8)],this['_onMapWhellEvent'],this),this['_map']['on'](_0x4d2a6e['EventType'][_0x49f9a1(0x292)],this[_0x49f9a1(0x252)],this),this[_0x49f9a1(0x2a9)]['on'](_0x4d2a6e[_0x49f9a1(0x2f3)][_0x49f9a1(0x296)],this[_0x49f9a1(0x1e9)],this),this[_0x49f9a1(0x2a9)]['on'](_0x4d2a6e[_0x49f9a1(0x2f3)][_0x49f9a1(0x269)],this[_0x49f9a1(0x2f2)],this);}},{'key':'unbindEvent','value':function(){var _0xf51ce6=_0x53143c;window[_0xf51ce6(0x285)](this['animateFrame']),delete this['animateFrame'],window[_0xf51ce6(0x22f)](_0xf51ce6(0x251),this[_0xf51ce6(0x251)]),this[_0xf51ce6(0x2a9)][_0xf51ce6(0x1de)](_0x4d2a6e[_0xf51ce6(0x2f3)]['wheel'],this['_onMapWhellEvent'],this),this[_0xf51ce6(0x2a9)]['off'](_0x4d2a6e['EventType'][_0xf51ce6(0x292)],this[_0xf51ce6(0x252)],this),this[_0xf51ce6(0x2a9)][_0xf51ce6(0x1de)](_0x4d2a6e[_0xf51ce6(0x2f3)][_0xf51ce6(0x296)],this['_onMouseUpEvent'],this),this[_0xf51ce6(0x2a9)][_0xf51ce6(0x1de)](_0x4d2a6e[_0xf51ce6(0x2f3)]['mouseMove'],this['_onMouseMoveEvent'],this);}},{'key':_0x53143c(0x1b3),'value':function(_0x2906e4){var _0x14f074=_0x53143c,_0xba885d=this;clearTimeout(this[_0x14f074(0x26f)]),this[_0x14f074(0x2eb)]&&this[_0x14f074(0x1fc)]&&(this[_0x14f074(0x1fc)][_0x14f074(0x1ee)][_0x14f074(0x2b9)]=_0x14f074(0x1cb),this[_0x14f074(0x26f)]=setTimeout(function(){var _0x47d080=_0x14f074;_0xba885d[_0x47d080(0x2eb)]&&(_0xba885d[_0x47d080(0x2bd)](),_0xba885d[_0x47d080(0x1fc)][_0x47d080(0x1ee)][_0x47d080(0x2b9)]=_0x47d080(0x2cc));},0xc8));}},{'key':_0x53143c(0x252),'value':function(_0x2ebb75){this['mouse_down']=!0x0;}},{'key':_0x53143c(0x2f2),'value':function(_0x382d70){var _0x5b6606=_0x53143c;this['show']&&this[_0x5b6606(0x1fc)]&&this['mouse_down']&&(this[_0x5b6606(0x1fc)][_0x5b6606(0x1ee)][_0x5b6606(0x2b9)]=_0x5b6606(0x1cb),this[_0x5b6606(0x1e1)]=!0x0);}},{'key':_0x53143c(0x1e9),'value':function(_0x5bbda2){var _0x25ed5e=_0x53143c;this[_0x25ed5e(0x2eb)]&&this['canvas']&&(this[_0x25ed5e(0x1d4)]&&this[_0x25ed5e(0x1e1)]&&this[_0x25ed5e(0x2bd)](),this[_0x25ed5e(0x1fc)][_0x25ed5e(0x1ee)][_0x25ed5e(0x2b9)]='visible',this[_0x25ed5e(0x1d4)]=!0x1,this[_0x25ed5e(0x1e1)]=!0x1);}},{'key':'redraw','value':function(){var _0x3e6758=_0x53143c;this[_0x3e6758(0x2eb)]&&this['windField']&&(this['particles']=[],this[_0x3e6758(0x250)]());}},{'key':_0x53143c(0x200),'value':function(_0x462670){var _0x3f967f=_0x53143c;this[_0x3f967f(0x1f8)](),this[_0x3f967f(0x20d)]=_0x462670,this['windField']=new _0x326b62(this[_0x3f967f(0x20d)],this['reverseY']),this[_0x3f967f(0x250)]();}},{'key':_0x53143c(0x250),'value':function(){var _0x4f6bb4=_0x53143c;this['_calcStep']();for(var _0x27d357=0x0;_0x27d357<this[_0x4f6bb4(0x289)];_0x27d357++){var _0x357dd3=this['randomParticle'](new _0x1524e4());this[_0x4f6bb4(0x1c1)][_0x4f6bb4(0x272)](_0x357dd3);}this[_0x4f6bb4(0x308)]['fillStyle']=_0x4f6bb4(0x1ed),this['canvasContext'][_0x4f6bb4(0x1b8)]=0.6,this['update']();}},{'key':_0x53143c(0x2e9),'value':function(){var _0x460636=_0x53143c;this[_0x460636(0x2c7)]&&(this[_0x460636(0x300)]=[(this['windField'][_0x460636(0x2f7)]-this['windField'][_0x460636(0x299)])/this[_0x460636(0x262)],(this[_0x460636(0x2c7)][_0x460636(0x232)]-this['windField'][_0x460636(0x2d1)])/this[_0x460636(0x262)]]);}},{'key':_0x53143c(0x2a4),'value':function(){var _0x507948=_0x53143c,_0x5cc703=this;if(this[_0x507948(0x2eb)]&&!(this[_0x507948(0x1c1)]['length']<=0x0)){var _0x3968e6=null,_0x469f34=null,_0x39d210=null;this[_0x507948(0x1c1)][_0x507948(0x287)](function(_0x702b56){var _0x543ce0=_0x507948;if(_0x702b56['age']<=0x0&&_0x5cc703['randomParticle'](_0x702b56),_0x702b56[_0x543ce0(0x1bc)]>0x0){var _0x1da810=_0x702b56['tlng'],_0x16a6f2=_0x702b56[_0x543ce0(0x24b)];(_0x39d210=_0x5cc703[_0x543ce0(0x2c7)]['getUVByPoint'](_0x1da810,_0x16a6f2))?(_0x3968e6=_0x1da810+_0x5cc703[_0x543ce0(0x300)][0x0]*_0x39d210[0x0],_0x469f34=_0x16a6f2+_0x5cc703[_0x543ce0(0x300)][0x1]*_0x39d210[0x1],_0x702b56['lng']=_0x1da810,_0x702b56[_0x543ce0(0x1af)]=_0x16a6f2,_0x702b56[_0x543ce0(0x26d)]=_0x3968e6,_0x702b56[_0x543ce0(0x24b)]=_0x469f34,_0x702b56['age']--):_0x702b56[_0x543ce0(0x1bc)]=0x0;}}),this[_0x507948(0x276)]();}}},{'key':'_tomap','value':function(_0x15b4ad,_0x13d528,_0x1c31b3){var _0x483ab1=_0x53143c,_0xe6542b=_0x1b276f[_0x483ab1(0x213)][_0x483ab1(0x1d9)](_0x15b4ad,_0x13d528,this[_0x483ab1(0x20b)]),_0x313b05=this[_0x483ab1(0x2a9)][_0x483ab1(0x295)];if(_0x313b05[_0x483ab1(0x25b)]===_0x1b276f['SceneMode'][_0x483ab1(0x2f0)]&&!new _0x1b276f[(_0x483ab1(0x2fe))](_0x313b05[_0x483ab1(0x27e)]['ellipsoid'],_0x313b05[_0x483ab1(0x2ba)][_0x483ab1(0x2be)])[_0x483ab1(0x259)](_0xe6542b))return _0x1c31b3['age']=0x0,null;var _0x4c7fdf=_0x1b276f[_0x483ab1(0x2b6)]['wgs84ToWindowCoordinates'](this['_map'][_0x483ab1(0x295)],_0xe6542b);return _0x4c7fdf?[_0x4c7fdf['x'],_0x4c7fdf['y']]:null;}},{'key':'_drawLines','value':function(){var _0x232b6b=_0x53143c,_0x5d2f9b=this,_0xee1c67=this['particles'];this['canvasContext'][_0x232b6b(0x2c5)]=_0x5d2f9b[_0x232b6b(0x2c5)],this[_0x232b6b(0x308)][_0x232b6b(0x303)]='destination-in',this[_0x232b6b(0x308)][_0x232b6b(0x1fa)](0x0,0x0,this[_0x232b6b(0x281)],this['canvasHeight']),this[_0x232b6b(0x308)][_0x232b6b(0x303)]=_0x232b6b(0x1d6),this[_0x232b6b(0x308)][_0x232b6b(0x1b8)]=0.9,this[_0x232b6b(0x308)][_0x232b6b(0x208)](),this[_0x232b6b(0x308)][_0x232b6b(0x2f5)]=this[_0x232b6b(0x1d2)];var _0x187c30=this[_0x232b6b(0x2a9)]['scene'][_0x232b6b(0x25b)]!==_0x1b276f[_0x232b6b(0x2bf)][_0x232b6b(0x2f0)];_0xee1c67['forEach'](function(_0x2d0549){var _0x498598=_0x232b6b,_0x5295c4=_0x5d2f9b['_tomap'](_0x2d0549[_0x498598(0x23f)],_0x2d0549['lat'],_0x2d0549),_0x3e7dd6=_0x5d2f9b[_0x498598(0x2af)](_0x2d0549[_0x498598(0x26d)],_0x2d0549[_0x498598(0x24b)],_0x2d0549);if(null!=_0x5295c4&&null!=_0x3e7dd6){var _0x346c53=Math[_0x498598(0x301)](_0x5295c4[0x0]-_0x3e7dd6[0x0]);_0x187c30&&_0x346c53>=_0x5d2f9b['canvasWidth']||(_0x5d2f9b[_0x498598(0x308)][_0x498598(0x2a7)](_0x5295c4[0x0],_0x5295c4[0x1]),_0x5d2f9b[_0x498598(0x308)][_0x498598(0x2e1)](_0x3e7dd6[0x0],_0x3e7dd6[0x1]));}}),this['canvasContext'][_0x232b6b(0x286)]();}},{'key':_0x53143c(0x29d),'value':function(_0x5f1f33){var _0x5417df=_0x53143c;for(var _0x3bcdb9,_0x3188f4,_0x443dc7=0x0;_0x443dc7<0x1e&&(_0x3bcdb9=this[_0x5417df(0x2c7)]['getRandomLatLng'](),!((_0x3188f4=this[_0x5417df(0x2c7)][_0x5417df(0x280)](_0x3bcdb9[_0x5417df(0x23f)],_0x3bcdb9['lat']))&&_0x3188f4[0x2]>0x0));_0x443dc7++);if(!_0x3188f4)return _0x5f1f33;var _0x22b06c=_0x3bcdb9['lng']+this['calc_speedRate'][0x0]*_0x3188f4[0x0],_0x50bfe6=_0x3bcdb9[_0x5417df(0x1af)]+this[_0x5417df(0x300)][0x1]*_0x3188f4[0x1];return _0x5f1f33[_0x5417df(0x23f)]=_0x3bcdb9[_0x5417df(0x23f)],_0x5f1f33[_0x5417df(0x1af)]=_0x3bcdb9['lat'],_0x5f1f33[_0x5417df(0x26d)]=_0x22b06c,_0x5f1f33[_0x5417df(0x24b)]=_0x50bfe6,_0x5f1f33[_0x5417df(0x1bc)]=Math[_0x5417df(0x25e)](Math[_0x5417df(0x25f)]()*this[_0x5417df(0x312)]),_0x5f1f33;}},{'key':'clear','value':function(){var _0x46796a=_0x53143c;this[_0x46796a(0x1c1)]=[],delete this['windField'],delete this[_0x46796a(0x20d)];}}]),_0x5dea83;}(_0x4d2a6e[_0xb472d0(0x263)][_0xb472d0(0x23d)]);function _0x197661(_0x596086,_0xf53e95){var _0x1c70d1=_0xb472d0;return _0x596086*Math[_0x1c70d1(0x2da)](_0x1b276f[_0x1c70d1(0x2aa)]['toRadians'](_0xf53e95));}function _0x3adbfc(_0x54b692,_0x34ee3f){var _0x1eff39=_0xb472d0;return _0x54b692*Math[_0x1eff39(0x22e)](_0x1b276f[_0x1eff39(0x2aa)][_0x1eff39(0x2d9)](_0x34ee3f));}function _0x4360b9(_0x2d5ba4,_0x3828b3){var _0x5032e1=_0xb472d0;return Math[_0x5032e1(0x2f9)](Math['pow'](_0x2d5ba4,0x2)+Math[_0x5032e1(0x2e5)](_0x3828b3,0x2));}function _0x33fb28(_0x39d487,_0x526325){var _0x5e6579=_0xb472d0,_0x181ea4=_0x1b276f[_0x5e6579(0x2aa)][_0x5e6579(0x1e0)](Math['atan2'](_0x526325,_0x39d487));return _0x181ea4+=_0x181ea4<0x0?0x168:0x0;}_0x4d2a6e[_0xb472d0(0x316)][_0xb472d0(0x1ab)](_0xb472d0(0x279),_0x220c96),_0x4d2a6e['layer']['CanvasWindLayer']=_0x220c96,_0x4d2a6e['WindUtil']=_0xe0c8ff;}]));function a0_0x139b(_0x2b77f5,_0x6ce9f2){var _0x2a2c6b=a0_0x2a2c();return a0_0x139b=function(_0x139b03,_0x866d1d){_0x139b03=_0x139b03-0x1a5;var _0x22293c=_0x2a2c6b[_0x139b03];return _0x22293c;},a0_0x139b(_0x2b77f5,_0x6ce9f2);}function a0_0x2a2c(){var _0x3ad22f=['createCommand','createRenderingTextures','height','nextTrails','value','removeAll','east','BaseLayer','nextParticlesSpeed','lng','createComputingPrimitives','setData','vertexArray','ZERO','ComponentDatatype','width','setGeometry','createRenderingPrimitives','getContext','nextTrailsColor','execute','tlat','BoundingSphere','_pointerEvents','_addedHook','latRange','drawWind','resize','_onMouseDownEvent','commandType','preRender','defined','viewerParameters','canrefresh','maxParticles','isPointVisible','bind','mode','Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function','WindLayer','round','random','createFramebuffer','canvasResize','speedRate','layer','setOptions','now','336MVLfOm','Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined','lev','mouseMove','getRandomLatLng','log','RenderState','tlng','lonRange','refreshTimer','depthTexture','vertexShaderSource','push','currentTrailsColor','randomBetween','WindUtil','_drawLines','createParticlesTextures','south','canvasWind','1777182llOMxt','Framebuffer','key','ShaderProgram','globe','remove','getUVByPoint','canvasWidth','reverse','particlesTextureSize','updatePosition','cancelAnimationFrame','stroke','forEach','defaultValue','particlesNumber','floor','ShaderSource','TWO_PI','mars3dWind','min','createRawRenderState','setAttribute','Appearance','mouseDown','IDENTITY','depthTest','scene','mouseUp','_onMap_preRenderEvent','pointer-events','xmin','//\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}','createTexture','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}','randomParticle','reverseY','textures','framebuffers','pointerEvents','getUserInput','dimensions','update','bindEvent','GeometryAttributes','moveTo','randomizeParticles','_map','Math','addEventListener','pixelSize','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}','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}','_tomap','create','windTextures','toGridXY','getColorTexture','_bilinearInterpolation','Module','SceneTransforms','DepthFunction','_showHook','visibility','camera','createWindTextures','colorNum','redraw','positionWC','SceneMode','valueOf','destroy','currentTrails','none','STATIC_DRAW','lineWidth','north','windField','primitives','screen','createRenderingFramebuffers','postProcessingPosition','visible','_mountedHook','RGBA','commandList','exports','ymin','0px','computeViewRectangle','colorTable','applyUserInput','canvasWindy','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','prototype','toRadians','cos','fragmentShaderSource','getFullscreenQuad','postProcessingSpeed','symbol','wind','cols','lineTo','drawingBufferHeight','viewRectangleToLonLatRange','getUVByXY','pow','currentParticlesPosition','depthMask','wheel','_calcStep','vdata','show','blending','getU','outputTexture','shaderProgram','SCENE3D','destroyObject','_onMouseMoveEvent','EventType','left','strokeStyle','isDestroyed','xmax','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}','sqrt','appendChild','applyViewerParameters','iterator','PrimitiveCollection','EllipsoidalOccluder','Draw','calc_speedRate','abs','globeLayer','globalCompositeOperation','TRIANGLES','THREE_PI_OVER_TWO','userInput','west','canvasContext','PixelDatatype','getDirection','defineProperty','uniformMap','100%','DISABLE_GL_POSITION_LOG_DEPTH','addPrimitives','TextureMagnificationFilter','RGB','maxAge','_createCanvas','NEAREST','udata','LayerUtil','grid','Cartesian2','Pass','#ffffff','framebuffer','globeBoundingSphere','construct','ellipsoid','context','register','requestAnimationFrame','destroyParticlesTextures','preExecute','lat','mod','particleHeight','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}','_onMapWhellEvent','6BqyQTB','fromCache','position','call','globalAlpha','object','Color','clientHeight','age','getSpeed','ClearCommand','rawRenderState','attributeLocations','particles','this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called','max','TextureMinificationFilter','25552656QprdeJ','CanvasWindLayer','FLOAT','geometry','BufferUsage','animateFrame','hidden','ceil','toStringTag','commandToExecute','fromGeometry','createSegmentsGeometry','fadeOpacity','color','autoClear','mouse_down','PI_OVER_TWO','lighter','isInExtent','updateViewerParameters','fromDegrees','primitiveType','zIndex','397315TdpEnw','dropRateBump','off','array','toDegrees','mouse_move','options','currentParticlesSpeed','VertexArray','Texture','clearFramebuffers','_calcUV','152018iPGGDe','_onMouseUpEvent','Geometry','particlesWind','source','rgba(0,\x200,\x200,\x200.97)','style','add','__proto__','data','PixelFormat','segments','_particlesNumber','_maxAge','ALWAYS','nextParticlesPosition','clear','function','fillRect','nextTrailsDepth','canvas','clearCommand','getWind','_removedHook','updateDate','particlesComputing','lon','keys','particlesRendering','_speedRate','Matrix4','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}','beginPath','dropRate','Cannot\x20call\x20a\x20class\x20as\x20a\x20function','fixedHeight','configurable','windData','particlesTextures','speedFactor','711940LRqYwX','2923212IkHFNk','apply','Cartesian3','ComputeCommand','undefined','container','default','trails','7329IrtEUn','enumerable','OPAQUE','WMS_URL','Compute','refreshParticles','clampToLatitudeRange','rows','drawingBufferWidth','string','auto','segmentsDepth','setPrototypeOf','GeometryAttribute','sham','frameTime','constructor','updateSpeed','__esModule','PrimitiveType','DEPTH_COMPONENT','sin','removeEventListener','writable','all','ymax','LINEAR','length','particleSystem'];a0_0x2a2c=function(){return _0x3ad22f;};return a0_0x2a2c();}
|
|
30
|
+
var a0_0x151bf9=a0_0x3594;function a0_0x3594(_0x4bc3ac,_0x43fe8f){var _0x2aa09e=a0_0x2aa0();return a0_0x3594=function(_0x359434,_0x1d2aea){_0x359434=_0x359434-0x1b4;var _0x4ebe1d=_0x2aa09e[_0x359434];return _0x4ebe1d;},a0_0x3594(_0x4bc3ac,_0x43fe8f);}function a0_0x2aa0(){var _0x5df3e2=['Module','TextureMinificationFilter','2758405KnSzfI','vertexArray','randomParticle','particles','add','now','primitives','CanvasWindLayer','container','particlesRendering','Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined','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}','PrimitiveCollection','ALWAYS','object','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}','particlesTextureSize','reverseY','createTexture','canrefresh','windTextures','clearFramebuffers','sqrt','Math','addPrimitives','register','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\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}','_onMapWhellEvent','windField','left','randomizeParticles','createSegmentsGeometry','width','fadeOpacity','_pointerEvents','scene','DEPTH_COMPONENT','none','round','getDirection','Cesium','fromGeometry','refreshTimer','atan2','0px','show','Cartesian2','fillRect','RGB','setData','destroyObject','all','BoundingSphere','userInput','createWindTextures','unbindEvent','getV','context','canvasContext','destination-in','defaultValue','ComputeCommand','globalAlpha','speedRate','isPointVisible','_createCanvas','78wPstgV','segmentsColor','hidden','SceneMode','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}','textures','_speedRate','getColorTexture','getPixelSize','_removedHook','getUserInput','vdata','grid','mouseUp','pow','random','latRange','__proto__','writable','autoClear','appendChild','speedFactor','Compute','Rectangle','east','globeBoundingSphere','getRandomLatLng','ClearCommand','currentParticlesPosition','_map','fragmentShaderSource','default','FLOAT','refreshParticles','framebuffer','toDegrees','fromDegrees','destroy','Cartesian3','16tLtFhF','clear','canvasWidth','wind','DISABLE_GL_POSITION_LOG_DEPTH','trails','LUMINANCE','mars3dWind','preRender','drawingBufferHeight','configurable','setOptions','_drawLines','applyViewerParameters','push','globalCompositeOperation','height','RGBA','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}','TRIANGLES','applyUserInput','particleHeight','xmin','updateSpeed','tlat','_bilinearInterpolation','segmentsDepth','_calcUV','globeLayer','bindEvent','90MxwTEn','camera','lat','getExtent','create','NEAREST','Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function','bind','frameTime','clearCommand','vertexShaderSource','ymin','drawingBufferWidth','enumerable','ymax','lighter','this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called','SCENE3D','dropRateBump','6094520wrhxaU','abs','cancelAnimationFrame','815441KLuaGw','createComputingPrimitives','mouseMove','_maxAge','depthMask','windData','TextureMagnificationFilter','rgba(0,\x200,\x200,\x200.97)','value','commandList','absolute','source','geometry','PixelFormat','particlesWind','uniformMap','Framebuffer','ellipsoid','getUVByXY','updatePosition','forEach','arrayBufferView','defineProperty','PixelDatatype','fixedHeight','_calcStep','destroyParticlesTextures','age','call','lev','getContext','redraw','createRawRenderState','fromCache','WindUtil','canvasWind','outputTexture','clampToLatitudeRange','particlesNumber','particleSystem','lineWidth','lng','stroke','rows','lon','commandToExecute','computeViewRectangle','data','fillStyle','style','defined','postProcessingSpeed','PrimitiveType','layer','maxParticles','addEventListener','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}','RenderState','_onMap_preRenderEvent','BufferUsage','PI_OVER_THREE','function','ShaderProgram','drawWind','colorTable','requestAnimationFrame','animateFrame','dropRate','beginPath','createRenderingPrimitives','undefined','ComponentDatatype','north','mouse_down','UNSIGNED_INT','canvasResize','LayerUtil','29400XDHdcF','toGridXY','west','mod','clientWidth','nextTrailsDepth','pixelSize','VertexArray','strokeStyle','keys','OPAQUE','array','_onMouseMoveEvent','_particlesNumber','clientHeight','calc_speedRate','exports','_onMouseDownEvent','postProcessingPosition','GeometryAttribute','rawRenderState','min','length','DepthFunction','nextTrailsColor','segments','viewerParameters','_onMouseUpEvent','createFramebuffer','currentParticlesSpeed','reverse','Geometry','update','createRenderingFramebuffers','viewRectangleToLonLatRange','IDENTITY','resize','STATIC_DRAW','south','valueOf','_tomap','screen','isInExtent','tlng','mode','apply','nextTrails','PI_OVER_TWO','toRadians','WindLayer','TWO_PI','getUVByPoint','removeChild','options','EllipsoidalOccluder','Draw','xmax','getU','Matrix4','Color','blending','//\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}','globe','_addedHook','ceil','DrawCommand','GeometryAttributes','lonRange','canvasWindy','removeAll','mouse_move','preExecute','setPrototypeOf','100%','visibility','wheel','framebuffers','7ijYbQP','5559417EDfIqH','getFullscreenQuad','key','color','dimensions','removeEventListener','WMS_URL','BaseLayer','updateViewerParameters','particlesTextures','construct','SceneTransforms','floor','updateDate','wgs84ToWindowCoordinates','canvas','createParticlesTextures','particlesComputing','EventType','commandType','createRenderingTextures','hasOwnProperty','currentTrails','LINEAR','mouseDown','prototype','off','pointerEvents','shaderProgram','ZERO','nextParticlesSpeed','max','iterator','attributeLocations','toStringTag','78325mbqymQ','ShaderSource','top','depthTexture','2606748hAtbWk','getWind','canvasHeight','symbol','Pass','_mountedHook','cols','getPrototypeOf','THREE_PI_OVER_TWO','__esModule','primitiveType','maxAge','nextParticlesPosition','getSpeed','randomBetween','Cannot\x20call\x20a\x20class\x20as\x20a\x20function','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}'];a0_0x2aa0=function(){return _0x5df3e2;};return a0_0x2aa0();}(function(_0x25a665,_0x1b923e){var _0x5ab3f6=a0_0x3594,_0xc94976=_0x25a665();while(!![]){try{var _0x4bad77=parseInt(_0x5ab3f6(0x2e7))/0x1*(parseInt(_0x5ab3f6(0x1f5))/0x2)+parseInt(_0x5ab3f6(0x1ce))/0x3*(parseInt(_0x5ab3f6(0x276))/0x4)+parseInt(_0x5ab3f6(0x2fe))/0x5+-parseInt(_0x5ab3f6(0x2eb))/0x6*(parseInt(_0x5ab3f6(0x2c3))/0x7)+parseInt(_0x5ab3f6(0x226))/0x8+-parseInt(_0x5ab3f6(0x2c4))/0x9+parseInt(_0x5ab3f6(0x213))/0xa*(-parseInt(_0x5ab3f6(0x229))/0xb);if(_0x4bad77===_0x1b923e)break;else _0xc94976['push'](_0xc94976['shift']());}catch(_0x183b87){_0xc94976['push'](_0xc94976['shift']());}}}(a0_0x2aa0,0x648c6),window[a0_0x151bf9(0x1fc)]=function(_0x359bc2){var _0x32f5a5={};function _0x304fa7(_0x579550){var _0x5991e3=a0_0x3594;if(_0x32f5a5[_0x579550])return _0x32f5a5[_0x579550][_0x5991e3(0x286)];var _0x79b10d=_0x32f5a5[_0x579550]={'i':_0x579550,'l':!0x1,'exports':{}};return _0x359bc2[_0x579550]['call'](_0x79b10d['exports'],_0x79b10d,_0x79b10d['exports'],_0x304fa7),_0x79b10d['l']=!0x0,_0x79b10d['exports'];}return _0x304fa7['m']=_0x359bc2,_0x304fa7['c']=_0x32f5a5,_0x304fa7['d']=function(_0x2d3a6c,_0x205ef8,_0x3eb1e6){_0x304fa7['o'](_0x2d3a6c,_0x205ef8)||Object['defineProperty'](_0x2d3a6c,_0x205ef8,{'enumerable':!0x0,'get':_0x3eb1e6});},_0x304fa7['r']=function(_0x2fdfc4){var _0x5d8681=a0_0x3594;_0x5d8681(0x26f)!=typeof Symbol&&Symbol[_0x5d8681(0x2e6)]&&Object['defineProperty'](_0x2fdfc4,Symbol[_0x5d8681(0x2e6)],{'value':_0x5d8681(0x2fc)}),Object['defineProperty'](_0x2fdfc4,'__esModule',{'value':!0x0});},_0x304fa7['t']=function(_0x4fca74,_0x3cb8c4){var _0x4f73b4=a0_0x3594;if(0x1&_0x3cb8c4&&(_0x4fca74=_0x304fa7(_0x4fca74)),0x8&_0x3cb8c4)return _0x4fca74;if(0x4&_0x3cb8c4&&_0x4f73b4(0x30c)==typeof _0x4fca74&&_0x4fca74&&_0x4fca74[_0x4f73b4(0x2f4)])return _0x4fca74;var _0x41b193=Object[_0x4f73b4(0x217)](null);if(_0x304fa7['r'](_0x41b193),Object[_0x4f73b4(0x23f)](_0x41b193,_0x4f73b4(0x1ed),{'enumerable':!0x0,'value':_0x4fca74}),0x2&_0x3cb8c4&&'string'!=typeof _0x4fca74){for(var _0x2d8fbe in _0x4fca74)_0x304fa7['d'](_0x41b193,_0x2d8fbe,function(_0x104dec){return _0x4fca74[_0x104dec];}[_0x4f73b4(0x21a)](null,_0x2d8fbe));}return _0x41b193;},_0x304fa7['n']=function(_0x4417d7){var _0x668b27=a0_0x3594,_0x50822e=_0x4417d7&&_0x4417d7[_0x668b27(0x2f4)]?function(){var _0x2a7250=_0x668b27;return _0x4417d7[_0x2a7250(0x1ed)];}:function(){return _0x4417d7;};return _0x304fa7['d'](_0x50822e,'a',_0x50822e),_0x50822e;},_0x304fa7['o']=function(_0x3147e5,_0x529cb4){var _0x59d051=a0_0x3594;return Object[_0x59d051(0x2dd)][_0x59d051(0x2d9)][_0x59d051(0x245)](_0x3147e5,_0x529cb4);},_0x304fa7['p']='',_0x304fa7(_0x304fa7['s']=0x14);}([function(_0x3e101b,_0x436dd7){var _0x465234=a0_0x151bf9;_0x3e101b[_0x465234(0x286)]=window[_0x465234(0x1b4)];},function(_0x454887,_0x4ecffe){var _0x515898=a0_0x151bf9;_0x454887[_0x515898(0x286)]=window['mars3d'];},function(_0xe4f178,_0x51a4b2){var _0x492a10=a0_0x151bf9;_0xe4f178['exports']=function(_0x16e48d,_0x4e0d90){var _0x192cb6=a0_0x3594;if(!(_0x16e48d instanceof _0x4e0d90))throw new TypeError(_0x192cb6(0x2fa));},_0xe4f178[_0x492a10(0x286)][_0x492a10(0x1ed)]=_0xe4f178['exports'],_0xe4f178[_0x492a10(0x286)][_0x492a10(0x2f4)]=!0x0;},function(_0x761abc,_0x407bbb){var _0x865e66=a0_0x151bf9;function _0x1282f1(_0x1ddc69,_0x569e51){var _0x40645b=a0_0x3594;for(var _0x5c98ca=0x0;_0x5c98ca<_0x569e51[_0x40645b(0x28c)];_0x5c98ca++){var _0x19a171=_0x569e51[_0x5c98ca];_0x19a171[_0x40645b(0x220)]=_0x19a171['enumerable']||!0x1,_0x19a171[_0x40645b(0x1ff)]=!0x0,_0x40645b(0x231)in _0x19a171&&(_0x19a171[_0x40645b(0x1e0)]=!0x0),Object[_0x40645b(0x23f)](_0x1ddc69,_0x19a171[_0x40645b(0x2c6)],_0x19a171);}}_0x761abc[_0x865e66(0x286)]=function(_0x508762,_0x2a0d16,_0x48a3f1){var _0x4d4645=_0x865e66;return _0x2a0d16&&_0x1282f1(_0x508762[_0x4d4645(0x2dd)],_0x2a0d16),_0x48a3f1&&_0x1282f1(_0x508762,_0x48a3f1),_0x508762;},_0x761abc[_0x865e66(0x286)]['default']=_0x761abc[_0x865e66(0x286)],_0x761abc[_0x865e66(0x286)][_0x865e66(0x2f4)]=!0x0;},function(_0x2752fc,_0x3206fa){var _0x3dd7e5=a0_0x151bf9;function _0x551672(_0x157c0c){var _0x2ecdff=a0_0x3594;return _0x2752fc['exports']=_0x551672=Object[_0x2ecdff(0x2be)]?Object['getPrototypeOf']:function(_0x5dba41){var _0x2a8003=_0x2ecdff;return _0x5dba41[_0x2a8003(0x1df)]||Object[_0x2a8003(0x2f2)](_0x5dba41);},_0x2752fc[_0x2ecdff(0x286)][_0x2ecdff(0x1ed)]=_0x2752fc['exports'],_0x2752fc[_0x2ecdff(0x286)]['__esModule']=!0x0,_0x551672(_0x157c0c);}_0x2752fc[_0x3dd7e5(0x286)]=_0x551672,_0x2752fc[_0x3dd7e5(0x286)][_0x3dd7e5(0x1ed)]=_0x2752fc[_0x3dd7e5(0x286)],_0x2752fc[_0x3dd7e5(0x286)][_0x3dd7e5(0x2f4)]=!0x0;},function(_0x1e804c,_0x5b308d,_0x251dff){var _0x508ce0=a0_0x151bf9,_0x111060=_0x251dff(0x11);_0x1e804c[_0x508ce0(0x286)]=function(_0x242130,_0x583957){var _0xd211fb=_0x508ce0;if(_0xd211fb(0x266)!=typeof _0x583957&&null!==_0x583957)throw new TypeError(_0xd211fb(0x219));_0x242130[_0xd211fb(0x2dd)]=Object[_0xd211fb(0x217)](_0x583957&&_0x583957[_0xd211fb(0x2dd)],{'constructor':{'value':_0x242130,'writable':!0x0,'configurable':!0x0}}),_0x583957&&_0x111060(_0x242130,_0x583957);},_0x1e804c['exports'][_0x508ce0(0x1ed)]=_0x1e804c['exports'],_0x1e804c['exports'][_0x508ce0(0x2f4)]=!0x0;},function(_0x1b1aa7,_0x31b576,_0x1f1a98){var _0x320156=a0_0x151bf9,_0x132c4a=_0x1f1a98(0x12)['default'],_0x2a6a74=_0x1f1a98(0x13);_0x1b1aa7[_0x320156(0x286)]=function(_0xd172f2,_0x2aff85){var _0x5aec=_0x320156;if(_0x2aff85&&(_0x5aec(0x30c)===_0x132c4a(_0x2aff85)||'function'==typeof _0x2aff85))return _0x2aff85;if(void 0x0!==_0x2aff85)throw new TypeError(_0x5aec(0x308));return _0x2a6a74(_0xd172f2);},_0x1b1aa7[_0x320156(0x286)][_0x320156(0x1ed)]=_0x1b1aa7['exports'],_0x1b1aa7['exports'][_0x320156(0x2f4)]=!0x0;},function(_0x5c4c25,_0x5d343b){var _0x50d4b1=a0_0x151bf9;_0x5c4c25[_0x50d4b1(0x286)]=_0x50d4b1(0x30d);},function(_0x3d8788,_0x24c79a){var _0x4c474e=a0_0x151bf9;_0x3d8788[_0x4c474e(0x286)]='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}';},function(_0x3f2714,_0xdcb10d){var _0xd26d5d=a0_0x151bf9;_0x3f2714['exports']=_0xd26d5d(0x1d2);},function(_0x6aa6be,_0x432274){var _0x164f31=a0_0x151bf9;_0x6aa6be['exports']=_0x164f31(0x207);},function(_0x325f43,_0x3c42b4){var _0x321dcc=a0_0x151bf9;_0x325f43[_0x321dcc(0x286)]=_0x321dcc(0x309);},function(_0x1a5417,_0x343ad3){var _0x2030e9=a0_0x151bf9;_0x1a5417[_0x2030e9(0x286)]=_0x2030e9(0x2b3);},function(_0x334a69,_0x45f2a2){var _0x2662b4=a0_0x151bf9;_0x334a69['exports']=_0x2662b4(0x318);},function(_0x4e7d58,_0x28cc34){var _0x328a78=a0_0x151bf9;_0x4e7d58[_0x328a78(0x286)]=_0x328a78(0x261);},function(_0x124d12,_0x42a6c4){var _0x5865d1=a0_0x151bf9;_0x124d12[_0x5865d1(0x286)]=_0x5865d1(0x2fb);},function(_0xd86b5c,_0x3c17f4){_0xd86b5c['exports']='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}';},function(_0x349f54,_0x4d3040){var _0x757ced=a0_0x151bf9;function _0xe98806(_0xef395,_0x9eab13){var _0x4127af=a0_0x3594;return _0x349f54[_0x4127af(0x286)]=_0xe98806=Object[_0x4127af(0x2be)]||function(_0x59011c,_0x123b4b){var _0x44cf2f=_0x4127af;return _0x59011c[_0x44cf2f(0x1df)]=_0x123b4b,_0x59011c;},_0x349f54['exports'][_0x4127af(0x1ed)]=_0x349f54[_0x4127af(0x286)],_0x349f54[_0x4127af(0x286)][_0x4127af(0x2f4)]=!0x0,_0xe98806(_0xef395,_0x9eab13);}_0x349f54[_0x757ced(0x286)]=_0xe98806,_0x349f54[_0x757ced(0x286)]['default']=_0x349f54[_0x757ced(0x286)],_0x349f54[_0x757ced(0x286)][_0x757ced(0x2f4)]=!0x0;},function(_0x345499,_0x55eae6){var _0x48690e=a0_0x151bf9;function _0xb17c0b(_0x49971d){var _0x3e0ca6=a0_0x3594;return _0x3e0ca6(0x266)==typeof Symbol&&_0x3e0ca6(0x2ee)==typeof Symbol[_0x3e0ca6(0x2e4)]?(_0x345499[_0x3e0ca6(0x286)]=_0xb17c0b=function(_0x54829c){return typeof _0x54829c;},_0x345499[_0x3e0ca6(0x286)][_0x3e0ca6(0x1ed)]=_0x345499[_0x3e0ca6(0x286)],_0x345499[_0x3e0ca6(0x286)][_0x3e0ca6(0x2f4)]=!0x0):(_0x345499[_0x3e0ca6(0x286)]=_0xb17c0b=function(_0x5cf5cd){var _0x5f18e8=_0x3e0ca6;return _0x5cf5cd&&_0x5f18e8(0x266)==typeof Symbol&&_0x5cf5cd['constructor']===Symbol&&_0x5cf5cd!==Symbol[_0x5f18e8(0x2dd)]?'symbol':typeof _0x5cf5cd;},_0x345499[_0x3e0ca6(0x286)][_0x3e0ca6(0x1ed)]=_0x345499[_0x3e0ca6(0x286)],_0x345499['exports'][_0x3e0ca6(0x2f4)]=!0x0),_0xb17c0b(_0x49971d);}_0x345499[_0x48690e(0x286)]=_0xb17c0b,_0x345499[_0x48690e(0x286)]['default']=_0x345499[_0x48690e(0x286)],_0x345499[_0x48690e(0x286)][_0x48690e(0x2f4)]=!0x0;},function(_0x17b80b,_0x222351){var _0x880433=a0_0x151bf9;_0x17b80b[_0x880433(0x286)]=function(_0x53bbda){var _0x33e588=_0x880433;if(void 0x0===_0x53bbda)throw new ReferenceError(_0x33e588(0x223));return _0x53bbda;},_0x17b80b[_0x880433(0x286)][_0x880433(0x1ed)]=_0x17b80b['exports'],_0x17b80b['exports'][_0x880433(0x2f4)]=!0x0;},function(_0x1e351c,_0x31244f,_0x3546eb){'use strict';var _0x3fa314=a0_0x151bf9;_0x3546eb['r'](_0x31244f),_0x3546eb['d'](_0x31244f,_0x3fa314(0x2a7),function(){return _0x1b3d8f;}),_0x3546eb['d'](_0x31244f,_0x3fa314(0x305),function(){return _0x37b8a6;}),_0x3546eb['d'](_0x31244f,_0x3fa314(0x24b),function(){return _0x4f5f37;});var _0x4f5f37={};_0x3546eb['r'](_0x4f5f37),_0x3546eb['d'](_0x4f5f37,_0x3fa314(0x2af),function(){return _0x6c529e;}),_0x3546eb['d'](_0x4f5f37,_0x3fa314(0x1c4),function(){return _0x2028da;}),_0x3546eb['d'](_0x4f5f37,_0x3fa314(0x2f8),function(){return _0x59e262;}),_0x3546eb['d'](_0x4f5f37,_0x3fa314(0x325),function(){return _0x2be7aa;});var _0x3933d9=_0x3546eb(0x1),_0x4410ab=_0x3546eb(0x2),_0x56af1d=_0x3546eb['n'](_0x4410ab),_0x3704b4=_0x3546eb(0x3),_0x1c42a7=_0x3546eb['n'](_0x3704b4),_0x482fc7=_0x3546eb(0x5),_0x58dc92=_0x3546eb['n'](_0x482fc7),_0x2925d8=_0x3546eb(0x6),_0x173342=_0x3546eb['n'](_0x2925d8),_0x17943c=_0x3546eb(0x4),_0x2e13bc=_0x3546eb['n'](_0x17943c),_0xcd9f5b=_0x3546eb(0x0),_0x511e40=function(){function _0x1dae15(_0x31c383){var _0x24d4ea=a0_0x3594;_0x56af1d()(this,_0x1dae15),this[_0x24d4ea(0x2d7)]=_0x31c383[_0x24d4ea(0x2d7)],this[_0x24d4ea(0x235)]=_0x31c383['geometry'],this[_0x24d4ea(0x2e5)]=_0x31c383[_0x24d4ea(0x2e5)],this[_0x24d4ea(0x2f5)]=_0x31c383[_0x24d4ea(0x2f5)],this[_0x24d4ea(0x238)]=_0x31c383[_0x24d4ea(0x238)],this[_0x24d4ea(0x21d)]=_0x31c383[_0x24d4ea(0x21d)],this[_0x24d4ea(0x1ec)]=_0x31c383[_0x24d4ea(0x1ec)],this[_0x24d4ea(0x28a)]=_0x31c383[_0x24d4ea(0x28a)],this['framebuffer']=_0x31c383[_0x24d4ea(0x1f0)],this[_0x24d4ea(0x24d)]=_0x31c383['outputTexture'],this['autoClear']=_0xcd9f5b['defaultValue'](_0x31c383[_0x24d4ea(0x1e1)],!0x1),this[_0x24d4ea(0x2bd)]=_0x31c383['preExecute'],this['show']=!0x0,this[_0x24d4ea(0x256)]=void 0x0,this[_0x24d4ea(0x21c)]=void 0x0,this[_0x24d4ea(0x1e1)]&&(this[_0x24d4ea(0x21c)]=new _0xcd9f5b[(_0x24d4ea(0x1e9))]({'color':new _0xcd9f5b['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[_0x24d4ea(0x1f0)],'pass':_0xcd9f5b[_0x24d4ea(0x2ef)][_0x24d4ea(0x280)]}));}return _0x1c42a7()(_0x1dae15,[{'key':'createCommand','value':function(_0x3d91aa){var _0x2666d2=a0_0x3594;switch(this[_0x2666d2(0x2d7)]){case _0x2666d2(0x2ad):var _0x15bf76=_0xcd9f5b['VertexArray'][_0x2666d2(0x1b5)]({'context':_0x3d91aa,'geometry':this[_0x2666d2(0x235)],'attributeLocations':this[_0x2666d2(0x2e5)],'bufferUsage':_0xcd9f5b[_0x2666d2(0x264)][_0x2666d2(0x29b)]}),_0x11a133=_0xcd9f5b[_0x2666d2(0x267)]['fromCache']({'context':_0x3d91aa,'attributeLocations':this[_0x2666d2(0x2e5)],'vertexShaderSource':this[_0x2666d2(0x21d)],'fragmentShaderSource':this['fragmentShaderSource']}),_0x448083=_0xcd9f5b[_0x2666d2(0x262)][_0x2666d2(0x24a)](this[_0x2666d2(0x28a)]);return new _0xcd9f5b[(_0x2666d2(0x2b7))]({'owner':this,'vertexArray':_0x15bf76,'primitiveType':this[_0x2666d2(0x2f5)],'uniformMap':this[_0x2666d2(0x238)],'modelMatrix':_0xcd9f5b[_0x2666d2(0x2b0)][_0x2666d2(0x299)],'shaderProgram':_0x11a133,'framebuffer':this[_0x2666d2(0x1f0)],'renderState':_0x448083,'pass':_0xcd9f5b[_0x2666d2(0x2ef)][_0x2666d2(0x280)]});case _0x2666d2(0x1e4):return new _0xcd9f5b[(_0x2666d2(0x1c9))]({'owner':this,'fragmentShaderSource':this[_0x2666d2(0x1ec)],'uniformMap':this[_0x2666d2(0x238)],'outputTexture':this['outputTexture'],'persists':!0x0});}}},{'key':'setGeometry','value':function(_0x23a630,_0x214ae2){var _0x363b43=a0_0x3594;this['geometry']=_0x214ae2;var _0x25c885=_0xcd9f5b['VertexArray'][_0x363b43(0x1b5)]({'context':_0x23a630,'geometry':this['geometry'],'attributeLocations':this['attributeLocations'],'bufferUsage':_0xcd9f5b[_0x363b43(0x264)]['STATIC_DRAW']});this[_0x363b43(0x256)][_0x363b43(0x2ff)]=_0x25c885;}},{'key':'update','value':function(_0x451753){var _0x28a9cf=a0_0x3594;this[_0x28a9cf(0x1b9)]&&_0x451753['mode']==_0xcd9f5b['SceneMode'][_0x28a9cf(0x224)]&&(_0xcd9f5b[_0x28a9cf(0x25b)](this['commandToExecute'])||(this[_0x28a9cf(0x256)]=this['createCommand'](_0x451753[_0x28a9cf(0x1c5)])),_0xcd9f5b[_0x28a9cf(0x25b)](this['preExecute'])&&this[_0x28a9cf(0x2bd)](),_0xcd9f5b[_0x28a9cf(0x25b)](this[_0x28a9cf(0x21c)])&&_0x451753[_0x28a9cf(0x232)][_0x28a9cf(0x203)](this[_0x28a9cf(0x21c)]),_0x451753[_0x28a9cf(0x232)][_0x28a9cf(0x203)](this[_0x28a9cf(0x256)]));}},{'key':'isDestroyed','value':function(){return!0x1;}},{'key':'destroy','value':function(){var _0x577e38=a0_0x3594;return _0xcd9f5b[_0x577e38(0x25b)](this['commandToExecute'])&&(this[_0x577e38(0x256)][_0x577e38(0x2e0)]=this['commandToExecute'][_0x577e38(0x2e0)]&&this[_0x577e38(0x256)][_0x577e38(0x2e0)][_0x577e38(0x1f3)]()),_0xcd9f5b[_0x577e38(0x1be)](this);}}]),_0x1dae15;}(),_0x3597ed={'getFullscreenQuad':function(){var _0x44e2c7=_0x3fa314;return new _0xcd9f5b[(_0x44e2c7(0x295))]({'attributes':new _0xcd9f5b[(_0x44e2c7(0x2b8))]({'position':new _0xcd9f5b[(_0x44e2c7(0x289))]({'componentDatatype':_0xcd9f5b[_0x44e2c7(0x270)][_0x44e2c7(0x1ee)],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new _0xcd9f5b[(_0x44e2c7(0x289))]({'componentDatatype':_0xcd9f5b[_0x44e2c7(0x270)]['FLOAT'],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});},'createTexture':function(_0x5ced6f,_0x3e7e9d){var _0x29918a=_0x3fa314;if(_0xcd9f5b[_0x29918a(0x25b)](_0x3e7e9d)){var _0x2024ab={};_0x2024ab[_0x29918a(0x23e)]=_0x3e7e9d,_0x5ced6f[_0x29918a(0x234)]=_0x2024ab;}return new _0xcd9f5b['Texture'](_0x5ced6f);},'createFramebuffer':function(_0x2efc26,_0x577161,_0x2ff8a6){var _0x45c066=_0x3fa314;return new _0xcd9f5b[(_0x45c066(0x239))]({'context':_0x2efc26,'colorTextures':[_0x577161],'depthTexture':_0x2ff8a6});},'createRawRenderState':function(_0x3b65f4){var _0x3aebd5=_0x3fa314,_0x2170a5={'viewport':_0x3b65f4['viewport'],'depthTest':_0x3b65f4['depthTest'],'depthMask':_0x3b65f4[_0x3aebd5(0x22d)],'blending':_0x3b65f4[_0x3aebd5(0x2b2)]};return _0xcd9f5b['Appearance']['getDefaultRenderState'](!0x0,!0x1,_0x2170a5);},'viewRectangleToLonLatRange':function(_0x5e7fc2){var _0x1d3770=_0x3fa314,_0x55ef11,_0x1ffc5e,_0xe80f54={},_0x4cadbb=_0xcd9f5b[_0x1d3770(0x315)][_0x1d3770(0x279)](_0x5e7fc2[_0x1d3770(0x278)],_0xcd9f5b[_0x1d3770(0x315)][_0x1d3770(0x2a8)]),_0x35207c=_0xcd9f5b[_0x1d3770(0x315)]['mod'](_0x5e7fc2[_0x1d3770(0x1e6)],_0xcd9f5b[_0x1d3770(0x315)][_0x1d3770(0x2a8)]),_0x368839=_0x5e7fc2[_0x1d3770(0x31e)];_0x368839>_0xcd9f5b[_0x1d3770(0x315)][_0x1d3770(0x2f3)]?(_0x55ef11=0x0,_0x1ffc5e=_0xcd9f5b[_0x1d3770(0x315)][_0x1d3770(0x2a8)]):_0x35207c-_0x4cadbb<_0x368839?(_0x55ef11=_0x4cadbb,_0x1ffc5e=_0x4cadbb+_0x368839):(_0x55ef11=_0x4cadbb,_0x1ffc5e=_0x35207c),_0xe80f54['lon']={'min':_0xcd9f5b['Math'][_0x1d3770(0x1f1)](_0x55ef11),'max':_0xcd9f5b[_0x1d3770(0x315)]['toDegrees'](_0x1ffc5e)};var _0x489c18=_0x5e7fc2[_0x1d3770(0x29c)],_0x598bb9=_0x5e7fc2[_0x1d3770(0x271)],_0x55d959=_0x5e7fc2['height'],_0x48edca=_0x55d959>_0xcd9f5b[_0x1d3770(0x315)]['PI']/0xc?_0x55d959/0x2:0x0,_0x28ac3a=_0xcd9f5b[_0x1d3770(0x315)][_0x1d3770(0x24e)](_0x489c18-_0x48edca),_0x5b787e=_0xcd9f5b['Math']['clampToLatitudeRange'](_0x598bb9+_0x48edca);return _0x28ac3a<-_0xcd9f5b['Math'][_0x1d3770(0x265)]&&(_0x28ac3a=-_0xcd9f5b[_0x1d3770(0x315)][_0x1d3770(0x2a5)]),_0x5b787e>_0xcd9f5b[_0x1d3770(0x315)]['PI_OVER_THREE']&&(_0x5b787e=_0xcd9f5b[_0x1d3770(0x315)][_0x1d3770(0x2a5)]),_0xe80f54[_0x1d3770(0x215)]={'min':_0xcd9f5b[_0x1d3770(0x315)][_0x1d3770(0x1f1)](_0x28ac3a),'max':_0xcd9f5b[_0x1d3770(0x315)]['toDegrees'](_0x5b787e)},_0xe80f54;}},_0x25dfa3=_0x3546eb(0x8),_0x4733da=_0x3546eb['n'](_0x25dfa3),_0x1b9dbb=_0x3546eb(0x9),_0x208b3a=_0x3546eb['n'](_0x1b9dbb),_0x3e09b2=_0x3546eb(0x7),_0x4e5242=_0x3546eb['n'](_0x3e09b2),_0x5b500d=_0x3546eb(0xa),_0x1d6c92=_0x3546eb['n'](_0x5b500d),_0x17debb=_0x3546eb(0xb),_0x38d9a0=_0x3546eb['n'](_0x17debb),_0x210558=function(){var _0x57a21c=_0x3fa314;function _0x563eb3(_0x475eb1,_0x42212d,_0x3e75de,_0x4f86f5,_0x1bdc90){var _0x3c9017=a0_0x3594;_0x56af1d()(this,_0x563eb3),this[_0x3c9017(0x2d8)](_0x475eb1,_0x42212d),this[_0x3c9017(0x297)](_0x475eb1),this[_0x3c9017(0x26e)](_0x475eb1,_0x3e75de,_0x4f86f5,_0x1bdc90);}return _0x1c42a7()(_0x563eb3,[{'key':_0x57a21c(0x2d8),'value':function(_0x315f4f,_0x105ac5){var _0x1f30d2=_0x57a21c,_0x57453c={'context':_0x315f4f,'width':_0x315f4f[_0x1f30d2(0x21f)],'height':_0x315f4f[_0x1f30d2(0x1fe)],'pixelFormat':_0xcd9f5b[_0x1f30d2(0x236)]['RGBA'],'pixelDatatype':_0xcd9f5b[_0x1f30d2(0x240)]['UNSIGNED_BYTE']},_0x4f03ab={'context':_0x315f4f,'width':_0x315f4f[_0x1f30d2(0x21f)],'height':_0x315f4f[_0x1f30d2(0x1fe)],'pixelFormat':_0xcd9f5b['PixelFormat'][_0x1f30d2(0x322)],'pixelDatatype':_0xcd9f5b[_0x1f30d2(0x240)][_0x1f30d2(0x273)]},_0x43d01e={'context':_0x315f4f,'width':_0x105ac5[_0x1f30d2(0x269)]['colorNum'],'height':0x1,'pixelFormat':_0xcd9f5b[_0x1f30d2(0x236)][_0x1f30d2(0x1bc)],'pixelDatatype':_0xcd9f5b[_0x1f30d2(0x240)]['FLOAT'],'sampler':new _0xcd9f5b['Sampler']({'minificationFilter':_0xcd9f5b[_0x1f30d2(0x2fd)][_0x1f30d2(0x2db)],'magnificationFilter':_0xcd9f5b[_0x1f30d2(0x22f)][_0x1f30d2(0x2db)]})};this[_0x1f30d2(0x1d3)]={'segmentsColor':_0x3597ed[_0x1f30d2(0x310)](_0x57453c),'segmentsDepth':_0x3597ed['createTexture'](_0x4f03ab),'currentTrailsColor':_0x3597ed['createTexture'](_0x57453c),'currentTrailsDepth':_0x3597ed[_0x1f30d2(0x310)](_0x4f03ab),'nextTrailsColor':_0x3597ed[_0x1f30d2(0x310)](_0x57453c),'nextTrailsDepth':_0x3597ed[_0x1f30d2(0x310)](_0x4f03ab),'colorTable':_0x3597ed[_0x1f30d2(0x310)](_0x43d01e,_0x105ac5[_0x1f30d2(0x269)][_0x1f30d2(0x281)])};}},{'key':'createRenderingFramebuffers','value':function(_0x177664){var _0x4189d9=_0x57a21c;this['framebuffers']={'segments':_0x3597ed[_0x4189d9(0x292)](_0x177664,this[_0x4189d9(0x1d3)][_0x4189d9(0x1cf)],this[_0x4189d9(0x1d3)][_0x4189d9(0x20f)]),'currentTrails':_0x3597ed[_0x4189d9(0x292)](_0x177664,this[_0x4189d9(0x1d3)]['currentTrailsColor'],this[_0x4189d9(0x1d3)]['currentTrailsDepth']),'nextTrails':_0x3597ed[_0x4189d9(0x292)](_0x177664,this['textures'][_0x4189d9(0x28e)],this[_0x4189d9(0x1d3)][_0x4189d9(0x27b)])};}},{'key':_0x57a21c(0x31d),'value':function(_0x5adc4b){var _0x3a9761=_0x57a21c;for(var _0xd35b0=[],_0x5cb991=0x0;_0x5cb991<_0x5adc4b[_0x3a9761(0x30e)];_0x5cb991++)for(var _0x469cbc=0x0;_0x469cbc<_0x5adc4b[_0x3a9761(0x30e)];_0x469cbc++)for(var _0x4fd35b=0x0;_0x4fd35b<0x4;_0x4fd35b++)_0xd35b0['push'](_0x5cb991/_0x5adc4b[_0x3a9761(0x30e)]),_0xd35b0[_0x3a9761(0x203)](_0x469cbc/_0x5adc4b[_0x3a9761(0x30e)]);_0xd35b0=new Float32Array(_0xd35b0);for(var _0x5f5d3c=[],_0x1ccade=[-0x1,0x1],_0x5bb91f=[-0x1,0x1],_0xdbb9f2=0x0;_0xdbb9f2<_0x5adc4b['maxParticles'];_0xdbb9f2++)for(var _0x387ddb=0x0;_0x387ddb<0x2;_0x387ddb++)for(var _0x280f2a=0x0;_0x280f2a<0x2;_0x280f2a++)_0x5f5d3c[_0x3a9761(0x203)](_0x1ccade[_0x387ddb]),_0x5f5d3c[_0x3a9761(0x203)](_0x5bb91f[_0x280f2a]),_0x5f5d3c[_0x3a9761(0x203)](0x0);_0x5f5d3c=new Float32Array(_0x5f5d3c);for(var _0x2d3837=0x6*_0x5adc4b[_0x3a9761(0x25f)],_0x2faa22=new Uint32Array(_0x2d3837),_0x39b6a3=0x0,_0x25d790=0x0,_0x5723f1=0x0;_0x39b6a3<_0x5adc4b[_0x3a9761(0x25f)];_0x39b6a3++)_0x2faa22[_0x25d790++]=_0x5723f1+0x0,_0x2faa22[_0x25d790++]=_0x5723f1+0x1,_0x2faa22[_0x25d790++]=_0x5723f1+0x2,_0x2faa22[_0x25d790++]=_0x5723f1+0x2,_0x2faa22[_0x25d790++]=_0x5723f1+0x1,_0x2faa22[_0x25d790++]=_0x5723f1+0x3,_0x5723f1+=0x4;return new _0xcd9f5b['Geometry']({'attributes':new _0xcd9f5b[(_0x3a9761(0x2b8))]({'st':new _0xcd9f5b[(_0x3a9761(0x289))]({'componentDatatype':_0xcd9f5b[_0x3a9761(0x270)]['FLOAT'],'componentsPerAttribute':0x2,'values':_0xd35b0}),'normal':new _0xcd9f5b[(_0x3a9761(0x289))]({'componentDatatype':_0xcd9f5b[_0x3a9761(0x270)]['FLOAT'],'componentsPerAttribute':0x3,'values':_0x5f5d3c})}),'indices':_0x2faa22});}},{'key':_0x57a21c(0x26e),'value':function(_0x2a7e40,_0x34f7ee,_0x139e77,_0x4ac98d){var _0x3212c2=_0x57a21c,_0x1a6e0f=this;this[_0x3212c2(0x304)]={'segments':new _0x511e40({'commandType':'Draw','attributeLocations':{'st':0x0,'normal':0x1},'geometry':this[_0x3212c2(0x31d)](_0x34f7ee),'primitiveType':_0xcd9f5b[_0x3212c2(0x25d)][_0x3212c2(0x208)],'uniformMap':{'currentParticlesPosition':function(){var _0xd2d735=_0x3212c2;return _0x4ac98d[_0xd2d735(0x2cd)][_0xd2d735(0x1ea)];},'postProcessingPosition':function(){var _0x40fa40=_0x3212c2;return _0x4ac98d[_0x40fa40(0x2cd)][_0x40fa40(0x288)];},'postProcessingSpeed':function(){var _0x18426b=_0x3212c2;return _0x4ac98d[_0x18426b(0x2cd)][_0x18426b(0x25c)];},'colorTable':function(){var _0x101d25=_0x3212c2;return _0x1a6e0f[_0x101d25(0x1d3)][_0x101d25(0x269)];},'aspect':function(){var _0x1f81af=_0x3212c2;return _0x2a7e40[_0x1f81af(0x21f)]/_0x2a7e40[_0x1f81af(0x1fe)];},'pixelSize':function(){var _0x2551da=_0x3212c2;return _0x139e77[_0x2551da(0x27c)];},'lineWidth':function(){return _0x34f7ee['lineWidth'];},'particleHeight':function(){var _0xe0fbd6=_0x3212c2;return _0x34f7ee[_0xe0fbd6(0x20a)];}},'vertexShaderSource':new _0xcd9f5b[(_0x3212c2(0x2e8))]({'sources':[_0x4733da['a']]}),'fragmentShaderSource':new _0xcd9f5b[(_0x3212c2(0x2e8))]({'sources':[_0x208b3a['a']]}),'rawRenderState':_0x3597ed[_0x3212c2(0x249)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0},'depthMask':!0x0}),'framebuffer':this[_0x3212c2(0x2c2)]['segments'],'autoClear':!0x0}),'trails':new _0x511e40({'commandType':_0x3212c2(0x2ad),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x3597ed['getFullscreenQuad'](),'primitiveType':_0xcd9f5b[_0x3212c2(0x25d)][_0x3212c2(0x208)],'uniformMap':{'segmentsColorTexture':function(){var _0x4491ba=_0x3212c2;return _0x1a6e0f[_0x4491ba(0x1d3)][_0x4491ba(0x1cf)];},'segmentsDepthTexture':function(){var _0x223117=_0x3212c2;return _0x1a6e0f[_0x223117(0x1d3)]['segmentsDepth'];},'currentTrailsColor':function(){var _0x37a77b=_0x3212c2;return _0x1a6e0f[_0x37a77b(0x2c2)][_0x37a77b(0x2da)][_0x37a77b(0x1d5)](0x0);},'trailsDepthTexture':function(){var _0x286856=_0x3212c2;return _0x1a6e0f[_0x286856(0x2c2)][_0x286856(0x2da)][_0x286856(0x2ea)];},'fadeOpacity':function(){var _0x17be9d=_0x3212c2;return _0x34f7ee[_0x17be9d(0x31f)];}},'vertexShaderSource':new _0xcd9f5b[(_0x3212c2(0x2e8))]({'defines':[_0x3212c2(0x1f9)],'sources':[_0x4e5242['a']]}),'fragmentShaderSource':new _0xcd9f5b[(_0x3212c2(0x2e8))]({'defines':['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],'sources':[_0x1d6c92['a']]}),'rawRenderState':_0x3597ed[_0x3212c2(0x249)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0,'func':_0xcd9f5b[_0x3212c2(0x28d)][_0x3212c2(0x30b)]},'depthMask':!0x0}),'framebuffer':this['framebuffers'][_0x3212c2(0x2a4)],'autoClear':!0x0,'preExecute':function(){var _0x3505cb=_0x3212c2,_0x220921;_0x220921=_0x1a6e0f[_0x3505cb(0x2c2)][_0x3505cb(0x2da)],_0x1a6e0f[_0x3505cb(0x2c2)][_0x3505cb(0x2da)]=_0x1a6e0f[_0x3505cb(0x2c2)]['nextTrails'],_0x1a6e0f[_0x3505cb(0x2c2)][_0x3505cb(0x2a4)]=_0x220921,_0x1a6e0f[_0x3505cb(0x304)][_0x3505cb(0x1fa)]['commandToExecute']['framebuffer']=_0x1a6e0f[_0x3505cb(0x2c2)]['nextTrails'],_0x1a6e0f[_0x3505cb(0x304)][_0x3505cb(0x1fa)]['clearCommand'][_0x3505cb(0x1f0)]=_0x1a6e0f[_0x3505cb(0x2c2)]['nextTrails'];}}),'screen':new _0x511e40({'commandType':_0x3212c2(0x2ad),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x3597ed[_0x3212c2(0x2c5)](),'primitiveType':_0xcd9f5b['PrimitiveType'][_0x3212c2(0x208)],'uniformMap':{'trailsColorTexture':function(){var _0x18fd0d=_0x3212c2;return _0x1a6e0f[_0x18fd0d(0x2c2)][_0x18fd0d(0x2a4)][_0x18fd0d(0x1d5)](0x0);},'trailsDepthTexture':function(){var _0x3d0841=_0x3212c2;return _0x1a6e0f[_0x3d0841(0x2c2)]['nextTrails'][_0x3d0841(0x2ea)];}},'vertexShaderSource':new _0xcd9f5b[(_0x3212c2(0x2e8))]({'defines':[_0x3212c2(0x1f9)],'sources':[_0x4e5242['a']]}),'fragmentShaderSource':new _0xcd9f5b[(_0x3212c2(0x2e8))]({'defines':['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],'sources':[_0x38d9a0['a']]}),'rawRenderState':_0x3597ed[_0x3212c2(0x249)]({'viewport':void 0x0,'depthTest':{'enabled':!0x1},'depthMask':!0x0,'blending':{'enabled':!0x0}}),'framebuffer':void 0x0})};}}]),_0x563eb3;}(),_0xe33879=_0x3546eb(0xc),_0x3f7cc1=_0x3546eb['n'](_0xe33879),_0x4e76ea=_0x3546eb(0xd),_0xdc97cf=_0x3546eb['n'](_0x4e76ea),_0x339d62=_0x3546eb(0xe),_0x240a47=_0x3546eb['n'](_0x339d62),_0x19bba9=_0x3546eb(0xf),_0x2223fc=_0x3546eb['n'](_0x19bba9),_0x4f4dfb=_0x3546eb(0x10),_0x18968a=_0x3546eb['n'](_0x4f4dfb),_0x41c647=function(){var _0x3b97f8=_0x3fa314;function _0x10e1d8(_0x3a461c,_0x5dd010,_0x55036b,_0x55e3d4){var _0x374e2b=a0_0x3594;_0x56af1d()(this,_0x10e1d8),this[_0x374e2b(0x258)]=_0x5dd010,this['createWindTextures'](_0x3a461c,_0x5dd010),this['createParticlesTextures'](_0x3a461c,_0x55036b,_0x55e3d4),this[_0x374e2b(0x22a)](_0x5dd010,_0x55036b,_0x55e3d4);}return _0x1c42a7()(_0x10e1d8,[{'key':_0x3b97f8(0x1c2),'value':function(_0x3f6a48,_0x59790e){var _0x36ed49=_0x3b97f8,_0x28bfa9={'context':_0x3f6a48,'width':_0x59790e['dimensions']['lon'],'height':_0x59790e[_0x36ed49(0x2c8)][_0x36ed49(0x215)]*_0x59790e['dimensions'][_0x36ed49(0x246)],'pixelFormat':_0xcd9f5b[_0x36ed49(0x236)][_0x36ed49(0x1fb)],'pixelDatatype':_0xcd9f5b[_0x36ed49(0x240)][_0x36ed49(0x1ee)],'flipY':!0x1,'sampler':new _0xcd9f5b['Sampler']({'minificationFilter':_0xcd9f5b[_0x36ed49(0x2fd)][_0x36ed49(0x218)],'magnificationFilter':_0xcd9f5b[_0x36ed49(0x22f)][_0x36ed49(0x218)]})};this['windTextures']={'U':_0x3597ed['createTexture'](_0x28bfa9,_0x59790e['U'][_0x36ed49(0x281)]),'V':_0x3597ed['createTexture'](_0x28bfa9,_0x59790e['V'][_0x36ed49(0x281)])};}},{'key':'createParticlesTextures','value':function(_0x481cdd,_0xb525c3,_0x48a6f1){var _0x4294bb=_0x3b97f8,_0x41f2cb={'context':_0x481cdd,'width':_0xb525c3[_0x4294bb(0x30e)],'height':_0xb525c3['particlesTextureSize'],'pixelFormat':_0xcd9f5b[_0x4294bb(0x236)][_0x4294bb(0x206)],'pixelDatatype':_0xcd9f5b[_0x4294bb(0x240)]['FLOAT'],'flipY':!0x1,'sampler':new _0xcd9f5b['Sampler']({'minificationFilter':_0xcd9f5b[_0x4294bb(0x2fd)][_0x4294bb(0x218)],'magnificationFilter':_0xcd9f5b['TextureMagnificationFilter'][_0x4294bb(0x218)]})},_0x1587bb=this[_0x4294bb(0x31c)](_0xb525c3[_0x4294bb(0x25f)],_0x48a6f1),_0x41b663=new Float32Array(0x4*_0xb525c3[_0x4294bb(0x25f)])['fill'](0x0);this[_0x4294bb(0x2cd)]={'particlesWind':_0x3597ed[_0x4294bb(0x310)](_0x41f2cb),'currentParticlesPosition':_0x3597ed['createTexture'](_0x41f2cb,_0x1587bb),'nextParticlesPosition':_0x3597ed['createTexture'](_0x41f2cb,_0x1587bb),'currentParticlesSpeed':_0x3597ed['createTexture'](_0x41f2cb,_0x41b663),'nextParticlesSpeed':_0x3597ed[_0x4294bb(0x310)](_0x41f2cb,_0x41b663),'postProcessingPosition':_0x3597ed[_0x4294bb(0x310)](_0x41f2cb,_0x1587bb),'postProcessingSpeed':_0x3597ed[_0x4294bb(0x310)](_0x41f2cb,_0x41b663)};}},{'key':'randomizeParticles','value':function(_0x4bdf55,_0x525b20){var _0x2a9ea2=_0x3b97f8;for(var _0x503ac0=new Float32Array(0x4*_0x4bdf55),_0x1b01a8=0x0;_0x1b01a8<_0x4bdf55;_0x1b01a8++)_0x503ac0[0x4*_0x1b01a8]=_0xcd9f5b[_0x2a9ea2(0x315)][_0x2a9ea2(0x2f9)](_0x525b20['lonRange']['x'],_0x525b20[_0x2a9ea2(0x2b9)]['y']),_0x503ac0[0x4*_0x1b01a8+0x1]=_0xcd9f5b[_0x2a9ea2(0x315)]['randomBetween'](_0x525b20[_0x2a9ea2(0x1de)]['x'],_0x525b20['latRange']['y']),_0x503ac0[0x4*_0x1b01a8+0x2]=_0xcd9f5b[_0x2a9ea2(0x315)][_0x2a9ea2(0x2f9)](this[_0x2a9ea2(0x258)][_0x2a9ea2(0x246)][_0x2a9ea2(0x28b)],this[_0x2a9ea2(0x258)][_0x2a9ea2(0x246)][_0x2a9ea2(0x2e3)]),_0x503ac0[0x4*_0x1b01a8+0x3]=0x0;return _0x503ac0;}},{'key':'destroyParticlesTextures','value':function(){var _0x415135=_0x3b97f8,_0x15dea9=this;Object['keys'](this[_0x415135(0x2cd)])[_0x415135(0x23d)](function(_0x483088){var _0x2398ab=_0x415135;_0x15dea9[_0x2398ab(0x2cd)][_0x483088][_0x2398ab(0x1f3)]();});}},{'key':_0x3b97f8(0x22a),'value':function(_0x6ec92e,_0x29a33f,_0x1e20db){var _0x3b9dea=_0x3b97f8,_0x4318ea=new _0xcd9f5b[(_0x3b9dea(0x1f4))](_0x6ec92e['dimensions'][_0x3b9dea(0x255)],_0x6ec92e[_0x3b9dea(0x2c8)][_0x3b9dea(0x215)],_0x6ec92e[_0x3b9dea(0x2c8)][_0x3b9dea(0x246)]),_0x158a06=new _0xcd9f5b[(_0x3b9dea(0x1f4))](_0x6ec92e['lon'][_0x3b9dea(0x28b)],_0x6ec92e[_0x3b9dea(0x215)]['min'],_0x6ec92e[_0x3b9dea(0x246)][_0x3b9dea(0x28b)]),_0x529209=new _0xcd9f5b[(_0x3b9dea(0x1f4))](_0x6ec92e['lon'][_0x3b9dea(0x2e3)],_0x6ec92e['lat'][_0x3b9dea(0x2e3)],_0x6ec92e[_0x3b9dea(0x246)]['max']),_0x5cd3a7=new _0xcd9f5b['Cartesian3']((_0x529209['x']-_0x158a06['x'])/(_0x4318ea['x']-0x1),(_0x529209['y']-_0x158a06['y'])/(_0x4318ea['y']-0x1),_0x4318ea['z']>0x1?(_0x529209['z']-_0x158a06['z'])/(_0x4318ea['z']-0x1):0x1),_0x5e813e=new _0xcd9f5b[(_0x3b9dea(0x1ba))](_0x6ec92e['U'][_0x3b9dea(0x28b)],_0x6ec92e['U'][_0x3b9dea(0x2e3)]),_0x5f0ff8=new _0xcd9f5b[(_0x3b9dea(0x1ba))](_0x6ec92e['V'][_0x3b9dea(0x28b)],_0x6ec92e['V']['max']),_0x2d911e=this;this[_0x3b9dea(0x304)]={'getWind':new _0x511e40({'commandType':'Compute','uniformMap':{'U':function(){var _0x513fe5=_0x3b9dea;return _0x2d911e[_0x513fe5(0x312)]['U'];},'V':function(){var _0x15e292=_0x3b9dea;return _0x2d911e[_0x15e292(0x312)]['V'];},'currentParticlesPosition':function(){var _0x17a151=_0x3b9dea;return _0x2d911e[_0x17a151(0x2cd)][_0x17a151(0x1ea)];},'dimension':function(){return _0x4318ea;},'minimum':function(){return _0x158a06;},'maximum':function(){return _0x529209;},'interval':function(){return _0x5cd3a7;}},'fragmentShaderSource':new _0xcd9f5b[(_0x3b9dea(0x2e8))]({'sources':[_0x3f7cc1['a']]}),'outputTexture':this['particlesTextures'][_0x3b9dea(0x237)],'preExecute':function(){var _0x465933=_0x3b9dea;_0x2d911e[_0x465933(0x304)][_0x465933(0x2ec)][_0x465933(0x256)][_0x465933(0x24d)]=_0x2d911e[_0x465933(0x2cd)]['particlesWind'];}}),'updateSpeed':new _0x511e40({'commandType':_0x3b9dea(0x1e4),'uniformMap':{'currentParticlesSpeed':function(){var _0x6d3c02=_0x3b9dea;return _0x2d911e[_0x6d3c02(0x2cd)][_0x6d3c02(0x293)];},'particlesWind':function(){var _0xf93752=_0x3b9dea;return _0x2d911e[_0xf93752(0x2cd)][_0xf93752(0x237)];},'uSpeedRange':function(){return _0x5e813e;},'vSpeedRange':function(){return _0x5f0ff8;},'pixelSize':function(){var _0x5b1595=_0x3b9dea;return _0x1e20db[_0x5b1595(0x27c)];},'speedFactor':function(){var _0x325f3f=_0x3b9dea;return _0x29a33f[_0x325f3f(0x1e3)];}},'fragmentShaderSource':new _0xcd9f5b[(_0x3b9dea(0x2e8))]({'sources':[_0xdc97cf['a']]}),'outputTexture':this[_0x3b9dea(0x2cd)][_0x3b9dea(0x2e2)],'preExecute':function(){var _0x57826b=_0x3b9dea,_0x64d69f;_0x64d69f=_0x2d911e['particlesTextures'][_0x57826b(0x293)],_0x2d911e[_0x57826b(0x2cd)]['currentParticlesSpeed']=_0x2d911e[_0x57826b(0x2cd)][_0x57826b(0x25c)],_0x2d911e[_0x57826b(0x2cd)][_0x57826b(0x25c)]=_0x64d69f,_0x2d911e['primitives'][_0x57826b(0x20c)]['commandToExecute'][_0x57826b(0x24d)]=_0x2d911e[_0x57826b(0x2cd)][_0x57826b(0x2e2)];}}),'updatePosition':new _0x511e40({'commandType':_0x3b9dea(0x1e4),'uniformMap':{'currentParticlesPosition':function(){var _0x177473=_0x3b9dea;return _0x2d911e[_0x177473(0x2cd)][_0x177473(0x1ea)];},'currentParticlesSpeed':function(){var _0x1675d8=_0x3b9dea;return _0x2d911e[_0x1675d8(0x2cd)]['currentParticlesSpeed'];}},'fragmentShaderSource':new _0xcd9f5b[(_0x3b9dea(0x2e8))]({'sources':[_0x240a47['a']]}),'outputTexture':this[_0x3b9dea(0x2cd)]['nextParticlesPosition'],'preExecute':function(){var _0x55787a=_0x3b9dea,_0x5ddcd8;_0x5ddcd8=_0x2d911e[_0x55787a(0x2cd)][_0x55787a(0x1ea)],_0x2d911e[_0x55787a(0x2cd)][_0x55787a(0x1ea)]=_0x2d911e[_0x55787a(0x2cd)][_0x55787a(0x288)],_0x2d911e[_0x55787a(0x2cd)][_0x55787a(0x288)]=_0x5ddcd8,_0x2d911e['primitives']['updatePosition'][_0x55787a(0x256)][_0x55787a(0x24d)]=_0x2d911e[_0x55787a(0x2cd)][_0x55787a(0x2f7)];}}),'postProcessingPosition':new _0x511e40({'commandType':_0x3b9dea(0x1e4),'uniformMap':{'nextParticlesPosition':function(){var _0x23c6c9=_0x3b9dea;return _0x2d911e[_0x23c6c9(0x2cd)][_0x23c6c9(0x2f7)];},'nextParticlesSpeed':function(){var _0x218253=_0x3b9dea;return _0x2d911e[_0x218253(0x2cd)][_0x218253(0x2e2)];},'lonRange':function(){var _0x252cd4=_0x3b9dea;return _0x1e20db[_0x252cd4(0x2b9)];},'latRange':function(){var _0x25d53d=_0x3b9dea;return _0x1e20db[_0x25d53d(0x1de)];},'randomCoefficient':function(){var _0x35d812=_0x3b9dea,_0x4a7807=Math[_0x35d812(0x1dd)]();return _0x4a7807;},'dropRate':function(){var _0x57a8e6=_0x3b9dea;return _0x29a33f[_0x57a8e6(0x26c)];},'dropRateBump':function(){var _0x31e11d=_0x3b9dea;return _0x29a33f[_0x31e11d(0x225)];}},'fragmentShaderSource':new _0xcd9f5b[(_0x3b9dea(0x2e8))]({'sources':[_0x2223fc['a']]}),'outputTexture':this['particlesTextures'][_0x3b9dea(0x288)],'preExecute':function(){var _0x1f120c=_0x3b9dea;_0x2d911e[_0x1f120c(0x304)][_0x1f120c(0x288)]['commandToExecute'][_0x1f120c(0x24d)]=_0x2d911e['particlesTextures'][_0x1f120c(0x288)];}}),'postProcessingSpeed':new _0x511e40({'commandType':'Compute','uniformMap':{'postProcessingPosition':function(){return _0x2d911e['particlesTextures']['postProcessingPosition'];},'nextParticlesSpeed':function(){var _0x2efcfd=_0x3b9dea;return _0x2d911e['particlesTextures'][_0x2efcfd(0x2e2)];}},'fragmentShaderSource':new _0xcd9f5b['ShaderSource']({'sources':[_0x18968a['a']]}),'outputTexture':this['particlesTextures']['postProcessingSpeed'],'preExecute':function(){var _0x29c39d=_0x3b9dea;_0x2d911e[_0x29c39d(0x304)][_0x29c39d(0x25c)][_0x29c39d(0x256)][_0x29c39d(0x24d)]=_0x2d911e[_0x29c39d(0x2cd)][_0x29c39d(0x25c)];}})};}}]),_0x10e1d8;}(),_0x37c580=function(){var _0x123a34=_0x3fa314;function _0x4c5cef(_0x49541,_0x2d566c,_0x34bb05,_0x12fb9c){var _0x346d86=a0_0x3594;_0x56af1d()(this,_0x4c5cef),this[_0x346d86(0x1c5)]=_0x49541,this[_0x346d86(0x258)]=_0x2d566c,this['userInput']=_0x34bb05,this[_0x346d86(0x290)]=_0x12fb9c,this[_0x346d86(0x2d5)]=new _0x41c647(this[_0x346d86(0x1c5)],this[_0x346d86(0x258)],this[_0x346d86(0x1c1)],this[_0x346d86(0x290)]),this[_0x346d86(0x307)]=new _0x210558(this[_0x346d86(0x1c5)],this[_0x346d86(0x258)],this[_0x346d86(0x1c1)],this[_0x346d86(0x290)],this[_0x346d86(0x2d5)]);}return _0x1c42a7()(_0x4c5cef,[{'key':_0x123a34(0x274),'value':function(_0x460b7a){var _0x34f52e=_0x123a34,_0x51f2e0=this;this['particlesComputing'][_0x34f52e(0x243)](),Object[_0x34f52e(0x27f)](this[_0x34f52e(0x2d5)][_0x34f52e(0x312)])[_0x34f52e(0x23d)](function(_0x48aac7){var _0x5e99af=_0x34f52e;_0x51f2e0[_0x5e99af(0x2d5)][_0x5e99af(0x312)][_0x48aac7][_0x5e99af(0x1f3)]();}),this[_0x34f52e(0x307)][_0x34f52e(0x1d3)]['colorTable'][_0x34f52e(0x1f3)](),Object[_0x34f52e(0x27f)](this[_0x34f52e(0x307)][_0x34f52e(0x2c2)])[_0x34f52e(0x23d)](function(_0x2f0b44){var _0x249bbd=_0x34f52e;_0x51f2e0[_0x249bbd(0x307)][_0x249bbd(0x2c2)][_0x2f0b44][_0x249bbd(0x1f3)]();}),this[_0x34f52e(0x1c5)]=_0x460b7a,this['particlesComputing']=new _0x41c647(this[_0x34f52e(0x1c5)],this[_0x34f52e(0x258)],this['userInput'],this[_0x34f52e(0x290)]),this['particlesRendering']=new _0x210558(this[_0x34f52e(0x1c5)],this[_0x34f52e(0x258)],this[_0x34f52e(0x1c1)],this['viewerParameters'],this['particlesComputing']);}},{'key':_0x123a34(0x313),'value':function(){var _0x1b4561=_0x123a34,_0x2d3f52=this,_0x54f5d2=new _0xcd9f5b[(_0x1b4561(0x1e9))]({'color':new _0xcd9f5b[(_0x1b4561(0x2b1))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':void 0x0,'pass':_0xcd9f5b[_0x1b4561(0x2ef)][_0x1b4561(0x280)]});Object['keys'](this[_0x1b4561(0x307)][_0x1b4561(0x2c2)])[_0x1b4561(0x23d)](function(_0x5705cd){var _0x46c4a2=_0x1b4561;_0x54f5d2['framebuffer']=_0x2d3f52[_0x46c4a2(0x307)]['framebuffers'][_0x5705cd],_0x54f5d2['execute'](_0x2d3f52['context']);});}},{'key':_0x123a34(0x1ef),'value':function(_0x57e416){var _0x1f5aa1=_0x123a34;if(this[_0x1f5aa1(0x313)](),this[_0x1f5aa1(0x2d5)][_0x1f5aa1(0x243)](),this['particlesComputing'][_0x1f5aa1(0x2d4)](this[_0x1f5aa1(0x1c5)],this[_0x1f5aa1(0x1c1)],this[_0x1f5aa1(0x290)]),_0x57e416){var _0x18c077=this[_0x1f5aa1(0x307)]['createSegmentsGeometry'](this[_0x1f5aa1(0x1c1)]);this[_0x1f5aa1(0x307)][_0x1f5aa1(0x304)][_0x1f5aa1(0x28f)][_0x1f5aa1(0x235)]=_0x18c077;var _0x215be9=_0xcd9f5b[_0x1f5aa1(0x27d)][_0x1f5aa1(0x1b5)]({'context':this[_0x1f5aa1(0x1c5)],'geometry':_0x18c077,'attributeLocations':this[_0x1f5aa1(0x307)][_0x1f5aa1(0x304)][_0x1f5aa1(0x28f)][_0x1f5aa1(0x2e5)],'bufferUsage':_0xcd9f5b[_0x1f5aa1(0x264)][_0x1f5aa1(0x29b)]});this['particlesRendering'][_0x1f5aa1(0x304)][_0x1f5aa1(0x28f)][_0x1f5aa1(0x256)][_0x1f5aa1(0x2ff)]=_0x215be9;}}},{'key':'applyUserInput','value':function(_0x23dc15){var _0x1497bc=_0x123a34,_0x151391=this,_0x512569=!0x1;this[_0x1497bc(0x1c1)][_0x1497bc(0x25f)]!=_0x23dc15['maxParticles']&&(_0x512569=!0x0),Object[_0x1497bc(0x27f)](_0x23dc15)[_0x1497bc(0x23d)](function(_0x30f739){_0x151391['userInput'][_0x30f739]=_0x23dc15[_0x30f739];}),this[_0x1497bc(0x1ef)](_0x512569);}},{'key':_0x123a34(0x202),'value':function(_0x3689d1){var _0xdf9cb2=_0x123a34,_0xd3cf9a=this;Object[_0xdf9cb2(0x27f)](_0x3689d1)[_0xdf9cb2(0x23d)](function(_0x44a936){_0xd3cf9a['viewerParameters'][_0x44a936]=_0x3689d1[_0x44a936];}),this['refreshParticles'](!0x1);}}]),_0x4c5cef;}();function _0x38f95a(_0x51af12){var _0x4b248b=function(){var _0x487018=a0_0x3594;if(_0x487018(0x26f)==typeof Reflect||!Reflect[_0x487018(0x2ce)])return!0x1;if(Reflect['construct']['sham'])return!0x1;if(_0x487018(0x266)==typeof Proxy)return!0x0;try{return Boolean[_0x487018(0x2dd)][_0x487018(0x29d)]['call'](Reflect[_0x487018(0x2ce)](Boolean,[],function(){})),!0x0;}catch(_0x29e2bc){return!0x1;}}();return function(){var _0x128803=a0_0x3594,_0x3fe83e,_0x145da4=_0x2e13bc()(_0x51af12);if(_0x4b248b){var _0xf1676c=_0x2e13bc()(this)['constructor'];_0x3fe83e=Reflect['construct'](_0x145da4,arguments,_0xf1676c);}else _0x3fe83e=_0x145da4[_0x128803(0x2a3)](this,arguments);return _0x173342()(this,_0x3fe83e);};}var _0x811b8b=_0x3933d9[_0x3fa314(0x25e)][_0x3fa314(0x2cb)],_0x42fc2d=0x1000,_0x16e2a8=0x64,_0x4ef3a9=0.996,_0x452552=0.003,_0x58f467=0.01,_0x6ef28=0.5,_0x382796=0x2,_0x1b3d8f=function(_0xd79cd6){var _0x480141=_0x3fa314;_0x58dc92()(_0x520a13,_0xd79cd6);var _0x382d5c=_0x38f95a(_0x520a13);function _0x520a13(){var _0x5dc86e=a0_0x3594,_0xb2f34d,_0x5aae6f=arguments['length']>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};if(_0x56af1d()(this,_0x520a13),(_0xb2f34d=_0x382d5c[_0x5dc86e(0x245)](this,_0x5aae6f))[_0x5dc86e(0x25f)]=_0x42fc2d,_0xb2f34d[_0x5dc86e(0x20a)]=_0x16e2a8,_0xb2f34d[_0x5dc86e(0x31f)]=_0x4ef3a9,_0xb2f34d[_0x5dc86e(0x26c)]=_0x452552,_0xb2f34d[_0x5dc86e(0x225)]=_0x58f467,_0xb2f34d[_0x5dc86e(0x1e3)]=_0x6ef28,_0xb2f34d[_0x5dc86e(0x251)]=_0x382796,_0x5aae6f){for(var _0x459f61 in _0x5aae6f)_0xb2f34d[_0x459f61]=_0x5aae6f[_0x459f61];}return _0xb2f34d;}return _0x1c42a7()(_0x520a13,[{'key':_0x480141(0x25e),'get':function(){var _0x27b8e0=_0x480141;return this[_0x27b8e0(0x304)];}},{'key':_0x480141(0x2f0),'value':function(){}},{'key':_0x480141(0x2b5),'value':function(){var _0x28d352=_0x480141;this['scene']=this[_0x28d352(0x1eb)]['scene'],this[_0x28d352(0x214)]=this[_0x28d352(0x1eb)][_0x28d352(0x214)],this[_0x28d352(0x304)]=new _0xcd9f5b[(_0x28d352(0x30a))](),this[_0x28d352(0x1eb)][_0x28d352(0x321)][_0x28d352(0x304)][_0x28d352(0x302)](this['primitives']),this[_0x28d352(0x290)]={'lonRange':new _0xcd9f5b[(_0x28d352(0x1ba))](),'latRange':new _0xcd9f5b['Cartesian2'](),'pixelSize':0x0},this[_0x28d352(0x1e7)]=new _0xcd9f5b[(_0x28d352(0x1c0))](_0xcd9f5b['Cartesian3'][_0x28d352(0x2e1)],6314355.63),this[_0x28d352(0x2cc)](),window[_0x28d352(0x260)](_0x28d352(0x29a),this[_0x28d352(0x29a)][_0x28d352(0x21a)](this),!0x1),this[_0x28d352(0x272)]=!0x1,this[_0x28d352(0x2bc)]=!0x1,this['_map']['on'](_0x3933d9[_0x28d352(0x2d6)][_0x28d352(0x2c1)],this[_0x28d352(0x319)],this),this[_0x28d352(0x1eb)]['on'](_0x3933d9[_0x28d352(0x2d6)][_0x28d352(0x2dc)],this[_0x28d352(0x287)],this),this[_0x28d352(0x1eb)]['on'](_0x3933d9[_0x28d352(0x2d6)][_0x28d352(0x1db)],this[_0x28d352(0x291)],this),this[_0x28d352(0x1eb)]['on'](_0x3933d9[_0x28d352(0x2d6)]['mouseMove'],this['_onMouseMoveEvent'],this);}},{'key':'_removedHook','value':function(){var _0x50090b=_0x480141;window[_0x50090b(0x2c9)](_0x50090b(0x29a),this[_0x50090b(0x29a)]),this[_0x50090b(0x1eb)][_0x50090b(0x2de)](_0x3933d9['EventType'][_0x50090b(0x1fd)],this[_0x50090b(0x263)],this),this['_map'][_0x50090b(0x2de)](_0x3933d9[_0x50090b(0x2d6)][_0x50090b(0x2c1)],this['_onMapWhellEvent'],this),this[_0x50090b(0x1eb)]['off'](_0x3933d9['EventType'][_0x50090b(0x2dc)],this[_0x50090b(0x287)],this),this[_0x50090b(0x1eb)]['off'](_0x3933d9[_0x50090b(0x2d6)][_0x50090b(0x1db)],this[_0x50090b(0x291)],this),this[_0x50090b(0x1eb)][_0x50090b(0x2de)](_0x3933d9[_0x50090b(0x2d6)][_0x50090b(0x22b)],this[_0x50090b(0x282)],this),this[_0x50090b(0x304)][_0x50090b(0x2bb)](),this[_0x50090b(0x1eb)][_0x50090b(0x321)][_0x50090b(0x304)]['remove'](this[_0x50090b(0x304)]);}},{'key':_0x480141(0x29a),'value':function(){var _0x195145=_0x480141;this[_0x195145(0x1b9)]&&this[_0x195145(0x250)]&&(this[_0x195145(0x304)][_0x195145(0x1b9)]=!0x1,this[_0x195145(0x304)]['removeAll'](),this[_0x195145(0x1eb)]['once'](_0x3933d9['EventType'][_0x195145(0x1fd)],this[_0x195145(0x263)],this));}},{'key':_0x480141(0x263),'value':function(_0x505ba2){var _0x4fe1e8=_0x480141;this[_0x4fe1e8(0x250)][_0x4fe1e8(0x274)](this['scene'][_0x4fe1e8(0x1c5)]),this['addPrimitives'](),this[_0x4fe1e8(0x304)]['show']=!0x0;}},{'key':'_onMapWhellEvent','value':function(_0x427174){var _0x5f10c8=_0x480141,_0x21f69d=this;clearTimeout(this['refreshTimer']),this['show']&&this[_0x5f10c8(0x250)]&&(this[_0x5f10c8(0x304)][_0x5f10c8(0x1b9)]=!0x1,this['refreshTimer']=setTimeout(function(){var _0x3a3bce=_0x5f10c8;_0x21f69d[_0x3a3bce(0x1b9)]&&_0x21f69d[_0x3a3bce(0x248)]();},0xc8));}},{'key':_0x480141(0x287),'value':function(_0x352d42){var _0x803321=_0x480141;this[_0x803321(0x272)]=!0x0;}},{'key':_0x480141(0x282),'value':function(_0x31cbd5){var _0xd9726d=_0x480141;this[_0xd9726d(0x1b9)]&&this[_0xd9726d(0x250)]&&this[_0xd9726d(0x272)]&&(this[_0xd9726d(0x304)]['show']=!0x1,this[_0xd9726d(0x2bc)]=!0x0);}},{'key':_0x480141(0x291),'value':function(_0x368cdf){var _0x3b8826=_0x480141;this['show']&&this[_0x3b8826(0x250)]&&(this[_0x3b8826(0x272)]&&this['mouse_move']&&this[_0x3b8826(0x248)](),this['primitives'][_0x3b8826(0x1b9)]=!0x0,this[_0x3b8826(0x272)]=!0x1,this[_0x3b8826(0x2bc)]=!0x1);}},{'key':_0x480141(0x248),'value':function(){var _0x1d9218=_0x480141;this[_0x1d9218(0x1eb)]&&this['show']&&(this[_0x1d9218(0x2cc)](),this['particleSystem'][_0x1d9218(0x202)](this[_0x1d9218(0x290)]),this[_0x1d9218(0x304)][_0x1d9218(0x1b9)]=!0x0);}},{'key':_0x480141(0x1bd),'value':function(_0x3467dc){var _0x4bec73=_0x480141;this[_0x4bec73(0x250)]=new _0x37c580(this[_0x4bec73(0x321)]['context'],_0x3467dc,this[_0x4bec73(0x1d8)](),this[_0x4bec73(0x290)]),this[_0x4bec73(0x316)]();}},{'key':_0x480141(0x200),'value':function(_0x38c31f){var _0x5f59c8=_0x480141;if(_0x38c31f){for(var _0x4b64cf in _0x38c31f)this[_0x4b64cf]=_0x38c31f[_0x4b64cf];}return this['particleSystem']&&this['particleSystem'][_0x5f59c8(0x209)](this[_0x5f59c8(0x1d8)]()),this;}},{'key':_0x480141(0x1d8),'value':function(){var _0x46bf1a=_0x480141,_0x5e1290=Math[_0x46bf1a(0x2b6)](Math['sqrt'](this[_0x46bf1a(0x25f)]));return this[_0x46bf1a(0x25f)]=_0x5e1290*_0x5e1290,{'particlesTextureSize':_0x5e1290,'maxParticles':this[_0x46bf1a(0x25f)],'particleHeight':this[_0x46bf1a(0x20a)],'fadeOpacity':this[_0x46bf1a(0x31f)],'dropRate':this['dropRate'],'dropRateBump':this['dropRateBump'],'speedFactor':this[_0x46bf1a(0x1e3)],'lineWidth':this['lineWidth'],'globeLayer':this[_0x46bf1a(0x211)],'WMS_URL':this[_0x46bf1a(0x2ca)]};}},{'key':_0x480141(0x316),'value':function(){var _0x11621c=_0x480141;this[_0x11621c(0x304)]['add'](this[_0x11621c(0x250)][_0x11621c(0x2d5)][_0x11621c(0x304)][_0x11621c(0x2ec)]),this['primitives']['add'](this[_0x11621c(0x250)][_0x11621c(0x2d5)][_0x11621c(0x304)][_0x11621c(0x20c)]),this[_0x11621c(0x304)][_0x11621c(0x302)](this[_0x11621c(0x250)][_0x11621c(0x2d5)][_0x11621c(0x304)][_0x11621c(0x23c)]),this[_0x11621c(0x304)][_0x11621c(0x302)](this[_0x11621c(0x250)][_0x11621c(0x2d5)][_0x11621c(0x304)][_0x11621c(0x288)]),this['primitives'][_0x11621c(0x302)](this[_0x11621c(0x250)][_0x11621c(0x2d5)][_0x11621c(0x304)][_0x11621c(0x25c)]),this['primitives'][_0x11621c(0x302)](this[_0x11621c(0x250)][_0x11621c(0x307)][_0x11621c(0x304)][_0x11621c(0x28f)]),this[_0x11621c(0x304)]['add'](this[_0x11621c(0x250)][_0x11621c(0x307)]['primitives']['trails']),this[_0x11621c(0x304)][_0x11621c(0x302)](this[_0x11621c(0x250)]['particlesRendering'][_0x11621c(0x304)][_0x11621c(0x29f)]);}},{'key':_0x480141(0x2cc),'value':function(){var _0x183b44=_0x480141,_0x21f070=this[_0x183b44(0x214)][_0x183b44(0x257)](this[_0x183b44(0x321)][_0x183b44(0x2b4)][_0x183b44(0x23a)]);if(!_0x21f070){var _0x86fd9e=this[_0x183b44(0x1eb)][_0x183b44(0x216)]();_0x21f070=_0xcd9f5b[_0x183b44(0x1e5)][_0x183b44(0x1f2)](_0x86fd9e[_0x183b44(0x20b)],_0x86fd9e[_0x183b44(0x21e)],_0x86fd9e['xmax'],_0x86fd9e[_0x183b44(0x221)]);}var _0x5e5521=_0x3597ed[_0x183b44(0x298)](_0x21f070);this['viewerParameters'][_0x183b44(0x2b9)]['x']=_0x5e5521[_0x183b44(0x255)][_0x183b44(0x28b)],this['viewerParameters']['lonRange']['y']=_0x5e5521[_0x183b44(0x255)]['max'],this[_0x183b44(0x290)][_0x183b44(0x1de)]['x']=_0x5e5521['lat']['min'],this[_0x183b44(0x290)]['latRange']['y']=_0x5e5521[_0x183b44(0x215)][_0x183b44(0x2e3)];var _0x51cfd0=this[_0x183b44(0x214)][_0x183b44(0x1d6)](this[_0x183b44(0x1e7)],this[_0x183b44(0x321)][_0x183b44(0x21f)],this['scene'][_0x183b44(0x1fe)]);_0x51cfd0>0x0&&(this[_0x183b44(0x290)][_0x183b44(0x27c)]=_0x51cfd0);}}]),_0x520a13;}(_0x811b8b);_0x3933d9['LayerUtil']['register'](_0x3fa314(0x1f8),_0x1b3d8f),_0x3933d9[_0x3fa314(0x25e)][_0x3fa314(0x2a7)]=_0x1b3d8f;var _0x5713ef=function _0x58146a(){var _0x50212e=_0x3fa314;_0x56af1d()(this,_0x58146a),this[_0x50212e(0x252)]=null,this[_0x50212e(0x215)]=null,this['tlng']=null,this[_0x50212e(0x20d)]=null,this['age']=null;},_0x2f3b9e=function(){var _0xf9dfe2=_0x3fa314;function _0x2eb7a1(_0x56aac5,_0x4ecaf2){var _0x190c57=a0_0x3594;_0x56af1d()(this,_0x2eb7a1),this[_0x190c57(0x254)]=_0x56aac5[_0x190c57(0x254)],this[_0x190c57(0x2f1)]=_0x56aac5[_0x190c57(0x2f1)],this['xmin']=_0x56aac5['xmin'],this[_0x190c57(0x2ae)]=_0x56aac5[_0x190c57(0x2ae)],this[_0x190c57(0x21e)]=_0x56aac5['ymin'],this[_0x190c57(0x221)]=_0x56aac5['ymax'],this[_0x190c57(0x1da)]=[];var _0xa9d7cf=_0x56aac5['udata'],_0x11fdff=_0x56aac5[_0x190c57(0x1d9)],_0x315278=!0x1;_0xa9d7cf[_0x190c57(0x28c)]===this[_0x190c57(0x254)]&&_0xa9d7cf[0x0][_0x190c57(0x28c)]===this[_0x190c57(0x2f1)]&&(_0x315278=!0x0);for(var _0x168033=0x0,_0x5cca00=null,_0xcbf452=null,_0x4d92bb=0x0;_0x4d92bb<this[_0x190c57(0x254)];_0x4d92bb++){_0x5cca00=[];for(var _0x5c4e12=0x0;_0x5c4e12<this[_0x190c57(0x2f1)];_0x5c4e12++,_0x168033++)_0xcbf452=_0x315278?this['_calcUV'](_0xa9d7cf[_0x4d92bb][_0x5c4e12],_0x11fdff[_0x4d92bb][_0x5c4e12]):this[_0x190c57(0x210)](_0xa9d7cf[_0x168033],_0x11fdff[_0x168033]),_0x5cca00[_0x190c57(0x203)](_0xcbf452);this[_0x190c57(0x1da)][_0x190c57(0x203)](_0x5cca00);}_0x4ecaf2&&this[_0x190c57(0x1da)][_0x190c57(0x294)]();}return _0x1c42a7()(_0x2eb7a1,[{'key':'toGridXY','value':function(_0x251b91,_0x3cdd2a){var _0x45aac4=a0_0x3594;return{'x':(_0x251b91-this[_0x45aac4(0x20b)])/(this[_0x45aac4(0x2ae)]-this['xmin'])*(this['cols']-0x1),'y':(this[_0x45aac4(0x221)]-_0x3cdd2a)/(this[_0x45aac4(0x221)]-this[_0x45aac4(0x21e)])*(this['rows']-0x1)};}},{'key':_0xf9dfe2(0x23b),'value':function(_0x86dd4a,_0x2662de){var _0x1760fe=_0xf9dfe2;if(_0x86dd4a<0x0||_0x86dd4a>=this[_0x1760fe(0x2f1)]||_0x2662de>=this[_0x1760fe(0x254)])return[0x0,0x0,0x0];var _0x2f1434,_0x5d02eb,_0x4a99d0=Math[_0x1760fe(0x2d0)](_0x86dd4a),_0x5def6c=Math[_0x1760fe(0x2d0)](_0x2662de);if(_0x4a99d0===_0x86dd4a&&_0x5def6c===_0x2662de)return this[_0x1760fe(0x1da)][_0x2662de][_0x86dd4a];_0x2f1434=_0x4a99d0+0x1,_0x5d02eb=_0x5def6c+0x1;var _0x100935=this[_0x1760fe(0x23b)](_0x4a99d0,_0x5def6c),_0xd7bb3e=this[_0x1760fe(0x23b)](_0x2f1434,_0x5def6c),_0x10c77d=this[_0x1760fe(0x23b)](_0x4a99d0,_0x5d02eb),_0xbcb204=this['getUVByXY'](_0x2f1434,_0x5d02eb),_0x26d787=null;try{_0x26d787=this[_0x1760fe(0x20e)](_0x86dd4a-_0x4a99d0,_0x2662de-_0x5def6c,_0x100935,_0xd7bb3e,_0x10c77d,_0xbcb204);}catch(_0x1133c4){console['log'](_0x86dd4a,_0x2662de);}return _0x26d787;}},{'key':'_bilinearInterpolation','value':function(_0x3c7193,_0x502e45,_0x81afae,_0x439ee7,_0x1075fb,_0x58b4e0){var _0x247be2=_0xf9dfe2,_0x2e7e70=0x1-_0x3c7193,_0x2586c6=0x1-_0x502e45,_0x589451=_0x2e7e70*_0x2586c6,_0x9ddb9c=_0x3c7193*_0x2586c6,_0x341edc=_0x2e7e70*_0x502e45,_0x52d2a8=_0x3c7193*_0x502e45,_0x61fb87=_0x81afae[0x0]*_0x589451+_0x439ee7[0x0]*_0x9ddb9c+_0x1075fb[0x0]*_0x341edc+_0x58b4e0[0x0]*_0x52d2a8,_0x1841b6=_0x81afae[0x1]*_0x589451+_0x439ee7[0x1]*_0x9ddb9c+_0x1075fb[0x1]*_0x341edc+_0x58b4e0[0x1]*_0x52d2a8;return this[_0x247be2(0x210)](_0x61fb87,_0x1841b6);}},{'key':_0xf9dfe2(0x210),'value':function(_0x50818a,_0x48781d){var _0x558e39=_0xf9dfe2;return[+_0x50818a,+_0x48781d,Math[_0x558e39(0x314)](_0x50818a*_0x50818a+_0x48781d*_0x48781d)];}},{'key':_0xf9dfe2(0x2a9),'value':function(_0x566230,_0x2d09dd){var _0x1bf6cf=_0xf9dfe2;if(!this[_0x1bf6cf(0x2a0)](_0x566230,_0x2d09dd))return null;var _0x2e61dc=this[_0x1bf6cf(0x277)](_0x566230,_0x2d09dd);return this[_0x1bf6cf(0x23b)](_0x2e61dc['x'],_0x2e61dc['y']);}},{'key':_0xf9dfe2(0x2a0),'value':function(_0x10b32c,_0x244fec){var _0x513e41=_0xf9dfe2;return _0x10b32c>=this[_0x513e41(0x20b)]&&_0x10b32c<=this[_0x513e41(0x2ae)]&&_0x244fec>=this[_0x513e41(0x21e)]&&_0x244fec<=this[_0x513e41(0x221)];}},{'key':_0xf9dfe2(0x1e8),'value':function(){var _0x151115=_0xf9dfe2,_0x103f0a=_0x2e1235(this['xmin'],this[_0x151115(0x2ae)]);return{'lat':_0x2e1235(this[_0x151115(0x21e)],this[_0x151115(0x221)]),'lng':_0x103f0a};}}]),_0x2eb7a1;}();function _0x2e1235(_0x2e5465,_0x163679){var _0x2304bd=_0x3fa314;return _0x2e5465+Math[_0x2304bd(0x1dd)]()*(_0x163679-_0x2e5465);}function _0x2df1c3(_0x1bf7ed){var _0x313039=function(){var _0x21d352=a0_0x3594;if('undefined'==typeof Reflect||!Reflect[_0x21d352(0x2ce)])return!0x1;if(Reflect[_0x21d352(0x2ce)]['sham'])return!0x1;if(_0x21d352(0x266)==typeof Proxy)return!0x0;try{return Boolean['prototype'][_0x21d352(0x29d)]['call'](Reflect[_0x21d352(0x2ce)](Boolean,[],function(){})),!0x0;}catch(_0x58def6){return!0x1;}}();return function(){var _0x231cc4=a0_0x3594,_0x4f66c4,_0x1c776b=_0x2e13bc()(_0x1bf7ed);if(_0x313039){var _0x54cad7=_0x2e13bc()(this)['constructor'];_0x4f66c4=Reflect[_0x231cc4(0x2ce)](_0x1c776b,arguments,_0x54cad7);}else _0x4f66c4=_0x1c776b[_0x231cc4(0x2a3)](this,arguments);return _0x173342()(this,_0x4f66c4);};}var _0x37b8a6=function(_0x4f9944){var _0xe6eff9=_0x3fa314;_0x58dc92()(_0x47f40a,_0x4f9944);var _0x1b8b48=_0x2df1c3(_0x47f40a);function _0x47f40a(){var _0x6b628f=a0_0x3594,_0x2d5afa,_0xbc1b16=arguments[_0x6b628f(0x28c)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x56af1d()(this,_0x47f40a),(_0x2d5afa=_0x1b8b48[_0x6b628f(0x245)](this,_0xbc1b16))[_0x6b628f(0x285)]=[0x0,0x0],_0x2d5afa[_0x6b628f(0x301)]=[],_0x2d5afa[_0x6b628f(0x1cb)]=_0xbc1b16[_0x6b628f(0x1cb)]||0x32,_0x2d5afa[_0x6b628f(0x283)]=_0xbc1b16[_0x6b628f(0x24f)]||0x4e20,_0x2d5afa['_maxAge']=_0xbc1b16[_0x6b628f(0x2f6)]||0x78,_0x2d5afa[_0x6b628f(0x21b)]=0x3e8/(_0xbc1b16['frameRate']||0xa),_0x2d5afa['_pointerEvents']=_0xcd9f5b[_0x6b628f(0x1c8)](_0x2d5afa[_0x6b628f(0x2ab)][_0x6b628f(0x2df)],!0x1),_0x2d5afa['color']=_0xbc1b16[_0x6b628f(0x2c7)]||'#ffffff',_0x2d5afa[_0x6b628f(0x251)]=_0xbc1b16['lineWidth']||0x1,_0x2d5afa[_0x6b628f(0x241)]=_0xcd9f5b[_0x6b628f(0x1c8)](_0xbc1b16['fixedHeight'],0x0),_0x2d5afa[_0x6b628f(0x30f)]=_0xcd9f5b[_0x6b628f(0x1c8)](_0xbc1b16[_0x6b628f(0x30f)],!0x1),_0x2d5afa[_0x6b628f(0x2d3)]=null,_0x2d5afa;}return _0x1c42a7()(_0x47f40a,[{'key':'layer','get':function(){var _0x1414cd=a0_0x3594;return this[_0x1414cd(0x2d3)];}},{'key':_0xe6eff9(0x1f7),'get':function(){var _0x397ce5=_0xe6eff9;return this['_map'][_0x397ce5(0x321)][_0x397ce5(0x2d3)]['clientWidth'];}},{'key':_0xe6eff9(0x2ed),'get':function(){var _0x4dd615=_0xe6eff9;return this[_0x4dd615(0x1eb)]['scene'][_0x4dd615(0x2d3)][_0x4dd615(0x284)];}},{'key':_0xe6eff9(0x2df),'get':function(){var _0x27b82e=_0xe6eff9;return this[_0x27b82e(0x320)];},'set':function(_0x508d6a){var _0xf31209=_0xe6eff9;this[_0xf31209(0x320)]=_0x508d6a,this[_0xf31209(0x2d3)]&&(this['canvas'][_0xf31209(0x25a)]['pointer-events']=_0x508d6a?_0xf31209(0x1bf):_0xf31209(0x323));}},{'key':_0xe6eff9(0x1cb),'get':function(){var _0x2bbf7d=_0xe6eff9;return this[_0x2bbf7d(0x1d4)];},'set':function(_0x53be7d){var _0x3f1d12=_0xe6eff9;this['_speedRate']=0x64*(0x64-(_0x53be7d>0x63?0x63:_0x53be7d)),this[_0x3f1d12(0x242)]();}},{'key':_0xe6eff9(0x24f),'get':function(){var _0x5d95b6=_0xe6eff9;return this[_0x5d95b6(0x283)];},'set':function(_0x2afaf2){var _0x3c2391=_0xe6eff9,_0x3d6ada=this;this[_0x3c2391(0x283)]=_0x2afaf2,clearTimeout(this[_0x3c2391(0x311)]),this['canrefresh']=setTimeout(function(){var _0x2e8fe6=_0x3c2391;_0x3d6ada[_0x2e8fe6(0x248)]();},0x1f4);}},{'key':_0xe6eff9(0x2f6),'get':function(){var _0x5c036b=_0xe6eff9;return this[_0x5c036b(0x22c)];},'set':function(_0xce1a5d){var _0x496e0c=_0xe6eff9,_0xbc5e43=this;this[_0x496e0c(0x22c)]=_0xce1a5d,clearTimeout(this[_0x496e0c(0x311)]),this['canrefresh']=setTimeout(function(){var _0x417e19=_0x496e0c;_0xbc5e43[_0x417e19(0x248)]();},0x1f4);}},{'key':_0xe6eff9(0x258),'get':function(){var _0x431ed5=_0xe6eff9;return this[_0x431ed5(0x22e)];},'set':function(_0x4d904b){var _0x1e39ff=_0xe6eff9;this[_0x1e39ff(0x2d1)](_0x4d904b);}},{'key':'_showHook','value':function(_0x5981f9){var _0x5e017=_0xe6eff9;_0x5981f9?this['_addedHook']():(this[_0x5e017(0x22e)]&&(this[_0x5e017(0x2ab)][_0x5e017(0x258)]=this[_0x5e017(0x22e)]),this[_0x5e017(0x1d7)]());}},{'key':_0xe6eff9(0x2f0),'value':function(){}},{'key':_0xe6eff9(0x2b5),'value':function(){var _0x1d753b=_0xe6eff9;this[_0x1d753b(0x2d3)]=this[_0x1d753b(0x1cd)](),this['canvasContext']=this[_0x1d753b(0x2d3)][_0x1d753b(0x247)]('2d'),this[_0x1d753b(0x212)](),this[_0x1d753b(0x2ab)][_0x1d753b(0x258)]&&this[_0x1d753b(0x2d1)](this[_0x1d753b(0x2ab)]['data']);}},{'key':_0xe6eff9(0x1d7),'value':function(){var _0x1d34c5=_0xe6eff9;this[_0x1d34c5(0x1f6)](),this[_0x1d34c5(0x1c3)](),this[_0x1d34c5(0x2d3)]&&(this[_0x1d34c5(0x1eb)][_0x1d34c5(0x306)][_0x1d34c5(0x2aa)](this[_0x1d34c5(0x2d3)]),delete this[_0x1d34c5(0x2d3)]);}},{'key':_0xe6eff9(0x1cd),'value':function(){var _0x25e1e0=_0xe6eff9,_0x53186a=document['createElement']('canvas');_0x53186a[_0x25e1e0(0x25a)]['position']=_0x25e1e0(0x233),_0x53186a[_0x25e1e0(0x25a)][_0x25e1e0(0x2e9)]=_0x25e1e0(0x1b8),_0x53186a[_0x25e1e0(0x25a)][_0x25e1e0(0x31b)]=_0x25e1e0(0x1b8),_0x53186a[_0x25e1e0(0x25a)][_0x25e1e0(0x31e)]=_0x25e1e0(0x2bf),_0x53186a[_0x25e1e0(0x25a)][_0x25e1e0(0x205)]=_0x25e1e0(0x2bf),_0x53186a['style'][_0x25e1e0(0x2df)]=this[_0x25e1e0(0x320)]?'auto':_0x25e1e0(0x323),_0x53186a['style']['zIndex']=0xa,_0x53186a['setAttribute']('id',_0x25e1e0(0x2ba)),_0x53186a['setAttribute']('class',_0x25e1e0(0x2ba)),this['_map'][_0x25e1e0(0x306)][_0x25e1e0(0x1e2)](_0x53186a);var _0x400e03=this['_map'][_0x25e1e0(0x321)];return _0x53186a['width']=_0x400e03[_0x25e1e0(0x2d3)][_0x25e1e0(0x27a)],_0x53186a[_0x25e1e0(0x205)]=_0x400e03[_0x25e1e0(0x2d3)][_0x25e1e0(0x284)],_0x53186a;}},{'key':_0xe6eff9(0x29a),'value':function(){var _0x189599=_0xe6eff9;this[_0x189599(0x2d3)]&&(this['canvas'][_0x189599(0x31e)]=this[_0x189599(0x1f7)],this[_0x189599(0x2d3)]['height']=this[_0x189599(0x2ed)]);}},{'key':'bindEvent','value':function(){var _0x1f6485=_0xe6eff9,_0x570bc7=this,_0x1cf297=Date['now']();!function _0x303183(){var _0x5733fc=a0_0x3594;_0x570bc7[_0x5733fc(0x26b)]=window[_0x5733fc(0x26a)](_0x303183);var _0x479eb3=Date[_0x5733fc(0x303)](),_0x5e9d31=_0x479eb3-_0x1cf297;_0x5e9d31>_0x570bc7[_0x5733fc(0x21b)]&&(_0x1cf297=_0x479eb3-_0x5e9d31%_0x570bc7['frameTime'],_0x570bc7[_0x5733fc(0x296)]());}(),window[_0x1f6485(0x260)](_0x1f6485(0x29a),this[_0x1f6485(0x29a)][_0x1f6485(0x21a)](this),!0x1),this[_0x1f6485(0x272)]=!0x1,this[_0x1f6485(0x2bc)]=!0x1,this[_0x1f6485(0x1eb)]['on'](_0x3933d9[_0x1f6485(0x2d6)][_0x1f6485(0x2c1)],this[_0x1f6485(0x319)],this),this[_0x1f6485(0x1eb)]['on'](_0x3933d9[_0x1f6485(0x2d6)][_0x1f6485(0x2dc)],this[_0x1f6485(0x287)],this),this[_0x1f6485(0x1eb)]['on'](_0x3933d9[_0x1f6485(0x2d6)][_0x1f6485(0x1db)],this['_onMouseUpEvent'],this),this[_0x1f6485(0x1eb)]['on'](_0x3933d9[_0x1f6485(0x2d6)][_0x1f6485(0x22b)],this['_onMouseMoveEvent'],this);}},{'key':_0xe6eff9(0x1c3),'value':function(){var _0x195e57=_0xe6eff9;window[_0x195e57(0x228)](this['animateFrame']),delete this[_0x195e57(0x26b)],window[_0x195e57(0x2c9)](_0x195e57(0x29a),this[_0x195e57(0x29a)]),this[_0x195e57(0x1eb)][_0x195e57(0x2de)](_0x3933d9[_0x195e57(0x2d6)][_0x195e57(0x2c1)],this[_0x195e57(0x319)],this),this['_map'][_0x195e57(0x2de)](_0x3933d9[_0x195e57(0x2d6)][_0x195e57(0x2dc)],this[_0x195e57(0x287)],this),this['_map'][_0x195e57(0x2de)](_0x3933d9[_0x195e57(0x2d6)][_0x195e57(0x1db)],this[_0x195e57(0x291)],this),this['_map'][_0x195e57(0x2de)](_0x3933d9[_0x195e57(0x2d6)][_0x195e57(0x22b)],this[_0x195e57(0x282)],this);}},{'key':'_onMapWhellEvent','value':function(_0xa33c66){var _0xa9c4af=_0xe6eff9,_0x47fcf0=this;clearTimeout(this[_0xa9c4af(0x1b6)]),this[_0xa9c4af(0x1b9)]&&this['canvas']&&(this[_0xa9c4af(0x2d3)][_0xa9c4af(0x25a)][_0xa9c4af(0x2c0)]=_0xa9c4af(0x1d0),this['refreshTimer']=setTimeout(function(){var _0x31a0ad=_0xa9c4af;_0x47fcf0[_0x31a0ad(0x1b9)]&&(_0x47fcf0[_0x31a0ad(0x248)](),_0x47fcf0[_0x31a0ad(0x2d3)][_0x31a0ad(0x25a)][_0x31a0ad(0x2c0)]='visible');},0xc8));}},{'key':'_onMouseDownEvent','value':function(_0x3d5956){var _0x22a264=_0xe6eff9;this[_0x22a264(0x272)]=!0x0;}},{'key':_0xe6eff9(0x282),'value':function(_0x1159c9){var _0x2ed562=_0xe6eff9;this[_0x2ed562(0x1b9)]&&this['canvas']&&this[_0x2ed562(0x272)]&&(this[_0x2ed562(0x2d3)]['style'][_0x2ed562(0x2c0)]='hidden',this['mouse_move']=!0x0);}},{'key':_0xe6eff9(0x291),'value':function(_0x2a73f1){var _0x1fd1af=_0xe6eff9;this[_0x1fd1af(0x1b9)]&&this[_0x1fd1af(0x2d3)]&&(this[_0x1fd1af(0x272)]&&this[_0x1fd1af(0x2bc)]&&this[_0x1fd1af(0x248)](),this['canvas']['style'][_0x1fd1af(0x2c0)]='visible',this['mouse_down']=!0x1,this[_0x1fd1af(0x2bc)]=!0x1);}},{'key':_0xe6eff9(0x248),'value':function(){var _0x37980b=_0xe6eff9;this[_0x37980b(0x1b9)]&&this[_0x37980b(0x31a)]&&(this[_0x37980b(0x301)]=[],this[_0x37980b(0x268)]());}},{'key':_0xe6eff9(0x2d1),'value':function(_0x4401b2){var _0x40ebeb=_0xe6eff9;this['clear'](),this['windData']=_0x4401b2,this['windField']=new _0x2f3b9e(this[_0x40ebeb(0x22e)],this[_0x40ebeb(0x30f)]),this['drawWind']();}},{'key':_0xe6eff9(0x268),'value':function(){var _0x5b6d78=_0xe6eff9;this[_0x5b6d78(0x242)]();for(var _0x3fe8c2=0x0;_0x3fe8c2<this[_0x5b6d78(0x24f)];_0x3fe8c2++){var _0x3e8af5=this[_0x5b6d78(0x300)](new _0x5713ef());this[_0x5b6d78(0x301)]['push'](_0x3e8af5);}this[_0x5b6d78(0x1c6)][_0x5b6d78(0x259)]=_0x5b6d78(0x230),this[_0x5b6d78(0x1c6)][_0x5b6d78(0x1ca)]=0.6,this[_0x5b6d78(0x296)]();}},{'key':_0xe6eff9(0x242),'value':function(){var _0x427268=_0xe6eff9;this[_0x427268(0x31a)]&&(this[_0x427268(0x285)]=[(this[_0x427268(0x31a)]['xmax']-this['windField'][_0x427268(0x20b)])/this[_0x427268(0x1cb)],(this[_0x427268(0x31a)][_0x427268(0x221)]-this[_0x427268(0x31a)][_0x427268(0x21e)])/this[_0x427268(0x1cb)]]);}},{'key':_0xe6eff9(0x296),'value':function(){var _0x19c1f1=_0xe6eff9,_0x2bf675=this;if(this[_0x19c1f1(0x1b9)]&&!(this[_0x19c1f1(0x301)][_0x19c1f1(0x28c)]<=0x0)){var _0x3220fd=null,_0x2bde10=null,_0xd36252=null;this[_0x19c1f1(0x301)][_0x19c1f1(0x23d)](function(_0x5da24){var _0x5c38b3=_0x19c1f1;if(_0x5da24[_0x5c38b3(0x244)]<=0x0&&_0x2bf675[_0x5c38b3(0x300)](_0x5da24),_0x5da24[_0x5c38b3(0x244)]>0x0){var _0x370e2a=_0x5da24[_0x5c38b3(0x2a1)],_0x23cf0e=_0x5da24['tlat'];(_0xd36252=_0x2bf675[_0x5c38b3(0x31a)][_0x5c38b3(0x2a9)](_0x370e2a,_0x23cf0e))?(_0x3220fd=_0x370e2a+_0x2bf675['calc_speedRate'][0x0]*_0xd36252[0x0],_0x2bde10=_0x23cf0e+_0x2bf675[_0x5c38b3(0x285)][0x1]*_0xd36252[0x1],_0x5da24['lng']=_0x370e2a,_0x5da24[_0x5c38b3(0x215)]=_0x23cf0e,_0x5da24[_0x5c38b3(0x2a1)]=_0x3220fd,_0x5da24[_0x5c38b3(0x20d)]=_0x2bde10,_0x5da24[_0x5c38b3(0x244)]--):_0x5da24['age']=0x0;}}),this[_0x19c1f1(0x201)]();}}},{'key':_0xe6eff9(0x29e),'value':function(_0x17cf2f,_0x35f5b2,_0x3e847c){var _0x3f02e6=_0xe6eff9,_0xbb4a34=_0xcd9f5b[_0x3f02e6(0x1f4)]['fromDegrees'](_0x17cf2f,_0x35f5b2,this[_0x3f02e6(0x241)]),_0x29a913=this[_0x3f02e6(0x1eb)][_0x3f02e6(0x321)];if(_0x29a913[_0x3f02e6(0x2a2)]===_0xcd9f5b[_0x3f02e6(0x1d1)][_0x3f02e6(0x224)]&&!new _0xcd9f5b[(_0x3f02e6(0x2ac))](_0x29a913[_0x3f02e6(0x2b4)][_0x3f02e6(0x23a)],_0x29a913[_0x3f02e6(0x214)]['positionWC'])[_0x3f02e6(0x1cc)](_0xbb4a34))return _0x3e847c[_0x3f02e6(0x244)]=0x0,null;var _0x442027=_0xcd9f5b[_0x3f02e6(0x2cf)][_0x3f02e6(0x2d2)](this[_0x3f02e6(0x1eb)][_0x3f02e6(0x321)],_0xbb4a34);return _0x442027?[_0x442027['x'],_0x442027['y']]:null;}},{'key':'_drawLines','value':function(){var _0x5b46a4=_0xe6eff9,_0xe2fd03=this,_0x47f601=this[_0x5b46a4(0x301)];this[_0x5b46a4(0x1c6)][_0x5b46a4(0x251)]=_0xe2fd03[_0x5b46a4(0x251)],this[_0x5b46a4(0x1c6)]['globalCompositeOperation']=_0x5b46a4(0x1c7),this[_0x5b46a4(0x1c6)][_0x5b46a4(0x1bb)](0x0,0x0,this[_0x5b46a4(0x1f7)],this[_0x5b46a4(0x2ed)]),this['canvasContext'][_0x5b46a4(0x204)]=_0x5b46a4(0x222),this[_0x5b46a4(0x1c6)][_0x5b46a4(0x1ca)]=0.9,this['canvasContext'][_0x5b46a4(0x26d)](),this[_0x5b46a4(0x1c6)][_0x5b46a4(0x27e)]=this['color'];var _0x11711f=this['_map'][_0x5b46a4(0x321)][_0x5b46a4(0x2a2)]!==_0xcd9f5b[_0x5b46a4(0x1d1)][_0x5b46a4(0x224)];_0x47f601['forEach'](function(_0x4cafc8){var _0x2cfb28=_0x5b46a4,_0xc445f6=_0xe2fd03[_0x2cfb28(0x29e)](_0x4cafc8[_0x2cfb28(0x252)],_0x4cafc8[_0x2cfb28(0x215)],_0x4cafc8),_0x4040a9=_0xe2fd03[_0x2cfb28(0x29e)](_0x4cafc8[_0x2cfb28(0x2a1)],_0x4cafc8[_0x2cfb28(0x20d)],_0x4cafc8);if(null!=_0xc445f6&&null!=_0x4040a9){var _0x90cb9f=Math[_0x2cfb28(0x227)](_0xc445f6[0x0]-_0x4040a9[0x0]);_0x11711f&&_0x90cb9f>=_0xe2fd03[_0x2cfb28(0x1f7)]||(_0xe2fd03[_0x2cfb28(0x1c6)]['moveTo'](_0xc445f6[0x0],_0xc445f6[0x1]),_0xe2fd03[_0x2cfb28(0x1c6)]['lineTo'](_0x4040a9[0x0],_0x4040a9[0x1]));}}),this['canvasContext'][_0x5b46a4(0x253)]();}},{'key':_0xe6eff9(0x300),'value':function(_0x303a6b){var _0x393e39=_0xe6eff9;for(var _0x26ee7d,_0xab97c3,_0x39b2c5=0x0;_0x39b2c5<0x1e&&(_0x26ee7d=this[_0x393e39(0x31a)][_0x393e39(0x1e8)](),!((_0xab97c3=this[_0x393e39(0x31a)][_0x393e39(0x2a9)](_0x26ee7d['lng'],_0x26ee7d['lat']))&&_0xab97c3[0x2]>0x0));_0x39b2c5++);if(!_0xab97c3)return _0x303a6b;var _0x4e3eaa=_0x26ee7d[_0x393e39(0x252)]+this['calc_speedRate'][0x0]*_0xab97c3[0x0],_0x58d088=_0x26ee7d['lat']+this[_0x393e39(0x285)][0x1]*_0xab97c3[0x1];return _0x303a6b[_0x393e39(0x252)]=_0x26ee7d[_0x393e39(0x252)],_0x303a6b['lat']=_0x26ee7d['lat'],_0x303a6b[_0x393e39(0x2a1)]=_0x4e3eaa,_0x303a6b[_0x393e39(0x20d)]=_0x58d088,_0x303a6b['age']=Math[_0x393e39(0x324)](Math[_0x393e39(0x1dd)]()*this['maxAge']),_0x303a6b;}},{'key':'clear','value':function(){var _0x11653e=_0xe6eff9;this[_0x11653e(0x301)]=[],delete this['windField'],delete this['windData'];}}]),_0x47f40a;}(_0x3933d9[_0x3fa314(0x25e)][_0x3fa314(0x2cb)]);function _0x6c529e(_0x1a3f5c,_0x4e5e68){var _0x29801f=_0x3fa314;return _0x1a3f5c*Math['cos'](_0xcd9f5b[_0x29801f(0x315)]['toRadians'](_0x4e5e68));}function _0x2028da(_0x52cd2a,_0x5e5a18){var _0x57e42a=_0x3fa314;return _0x52cd2a*Math['sin'](_0xcd9f5b[_0x57e42a(0x315)][_0x57e42a(0x2a6)](_0x5e5a18));}function _0x59e262(_0x56e55d,_0x41536a){var _0x16619b=_0x3fa314;return Math[_0x16619b(0x314)](Math[_0x16619b(0x1dc)](_0x56e55d,0x2)+Math[_0x16619b(0x1dc)](_0x41536a,0x2));}function _0x2be7aa(_0x1dc0dd,_0x4264ee){var _0xdab0a=_0x3fa314,_0x3fec09=_0xcd9f5b['Math'][_0xdab0a(0x1f1)](Math[_0xdab0a(0x1b7)](_0x4264ee,_0x1dc0dd));return _0x3fec09+=_0x3fec09<0x0?0x168:0x0;}_0x3933d9[_0x3fa314(0x275)][_0x3fa314(0x317)](_0x3fa314(0x24c),_0x37b8a6),_0x3933d9[_0x3fa314(0x25e)][_0x3fa314(0x305)]=_0x37b8a6,_0x3933d9['WindUtil']=_0x4f5f37;}]));
|
|
31
31
|
|
|
32
32
|
})(window);
|
|
33
33
|
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mars3d-wind",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.16",
|
|
4
4
|
"description": "Mars3D平台插件,支持气象 风向图 功能插件",
|
|
5
5
|
"main": "dist/mars3d-wind.js",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"mars3d": "^3.1.
|
|
8
|
-
"mars3d-cesium": "^1.
|
|
7
|
+
"mars3d": "^3.1.16",
|
|
8
|
+
"mars3d-cesium": "^1.88.0"
|
|
9
9
|
},
|
|
10
10
|
"devDependencies": {},
|
|
11
11
|
"scripts": {
|