mars3d-wind 3.2.0 → 3.2.1
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/LICENSE +206 -0
- package/dist/mars3d-wind.js +3 -12
- package/package.json +30 -4
package/LICENSE
ADDED
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
|
|
2
|
+
Apache License
|
|
3
|
+
Version 2.0, January 2004
|
|
4
|
+
http://www.apache.org/licenses/
|
|
5
|
+
http://mars3d.cn/
|
|
6
|
+
|
|
7
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
8
|
+
|
|
9
|
+
1. Definitions.
|
|
10
|
+
|
|
11
|
+
"License" shall mean the terms and conditions for use, reproduction,
|
|
12
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
|
13
|
+
|
|
14
|
+
"Licensor" shall mean the copyright owner or entity authorized by
|
|
15
|
+
the copyright owner that is granting the License.
|
|
16
|
+
|
|
17
|
+
"Legal Entity" shall mean the union of the acting entity and all
|
|
18
|
+
other entities that control, are controlled by, or are under common
|
|
19
|
+
control with that entity. For the purposes of this definition,
|
|
20
|
+
"control" means (i) the power, direct or indirect, to cause the
|
|
21
|
+
direction or management of such entity, whether by contract or
|
|
22
|
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
23
|
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
24
|
+
|
|
25
|
+
"You" (or "Your") shall mean an individual or Legal Entity
|
|
26
|
+
exercising permissions granted by this License.
|
|
27
|
+
|
|
28
|
+
"Source" form shall mean the preferred form for making modifications,
|
|
29
|
+
including but not limited to software source code, documentation
|
|
30
|
+
source, and configuration files.
|
|
31
|
+
|
|
32
|
+
"Object" form shall mean any form resulting from mechanical
|
|
33
|
+
transformation or translation of a Source form, including but
|
|
34
|
+
not limited to compiled object code, generated documentation,
|
|
35
|
+
and conversions to other media types.
|
|
36
|
+
|
|
37
|
+
"Work" shall mean the work of authorship, whether in Source or
|
|
38
|
+
Object form, made available under the License, as indicated by a
|
|
39
|
+
copyright notice that is included in or attached to the work
|
|
40
|
+
(an example is provided in the Appendix below).
|
|
41
|
+
|
|
42
|
+
"Derivative Works" shall mean any work, whether in Source or Object
|
|
43
|
+
form, that is based on (or derived from) the Work and for which the
|
|
44
|
+
editorial revisions, annotations, elaborations, or other modifications
|
|
45
|
+
represent, as a whole, an original work of authorship. For the purposes
|
|
46
|
+
of this License, Derivative Works shall not include works that remain
|
|
47
|
+
separable from, or merely link (or bind by name) to the interfaces of,
|
|
48
|
+
the Work and Derivative Works thereof.
|
|
49
|
+
|
|
50
|
+
"Contribution" shall mean any work of authorship, including
|
|
51
|
+
the original version of the Work and any modifications or additions
|
|
52
|
+
to that Work or Derivative Works thereof, that is intentionally
|
|
53
|
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
54
|
+
or by an individual or Legal Entity authorized to submit on behalf of
|
|
55
|
+
the copyright owner. For the purposes of this definition, "submitted"
|
|
56
|
+
means any form of electronic, verbal, or written communication sent
|
|
57
|
+
to the Licensor or its representatives, including but not limited to
|
|
58
|
+
communication on electronic mailing lists, source code control systems,
|
|
59
|
+
and issue tracking systems that are managed by, or on behalf of, the
|
|
60
|
+
Licensor for the purpose of discussing and improving the Work, but
|
|
61
|
+
excluding communication that is conspicuously marked or otherwise
|
|
62
|
+
designated in writing by the copyright owner as "Not a Contribution."
|
|
63
|
+
|
|
64
|
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
65
|
+
on behalf of whom a Contribution has been received by Licensor and
|
|
66
|
+
subsequently incorporated within the Work.
|
|
67
|
+
|
|
68
|
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
69
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
70
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
71
|
+
copyright license to reproduce, prepare Derivative Works of,
|
|
72
|
+
publicly display, publicly perform, sublicense, and distribute the
|
|
73
|
+
Work and such Derivative Works in Source or Object form.
|
|
74
|
+
|
|
75
|
+
3. Grant of Patent License. Subject to the terms and conditions of
|
|
76
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
77
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
78
|
+
(except as stated in this section) patent license to make, have made,
|
|
79
|
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
80
|
+
where such license applies only to those patent claims licensable
|
|
81
|
+
by such Contributor that are necessarily infringed by their
|
|
82
|
+
Contribution(s) alone or by combination of their Contribution(s)
|
|
83
|
+
with the Work to which such Contribution(s) was submitted. If You
|
|
84
|
+
institute patent litigation against any entity (including a
|
|
85
|
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
86
|
+
or a Contribution incorporated within the Work constitutes direct
|
|
87
|
+
or contributory patent infringement, then any patent licenses
|
|
88
|
+
granted to You under this License for that Work shall terminate
|
|
89
|
+
as of the date such litigation is filed.
|
|
90
|
+
|
|
91
|
+
4. Redistribution. You may reproduce and distribute copies of the
|
|
92
|
+
Work or Derivative Works thereof in any medium, with or without
|
|
93
|
+
modifications, and in Source or Object form, provided that You
|
|
94
|
+
meet the following conditions:
|
|
95
|
+
|
|
96
|
+
(a) You must give any other recipients of the Work or
|
|
97
|
+
Derivative Works a copy of this License; and
|
|
98
|
+
|
|
99
|
+
(b) You must cause any modified files to carry prominent notices
|
|
100
|
+
stating that You changed the files; and
|
|
101
|
+
|
|
102
|
+
(c) You must retain, in the Source form of any Derivative Works
|
|
103
|
+
that You distribute, all copyright, patent, trademark, and
|
|
104
|
+
attribution notices from the Source form of the Work,
|
|
105
|
+
excluding those notices that do not pertain to any part of
|
|
106
|
+
the Derivative Works; and
|
|
107
|
+
|
|
108
|
+
(d) If the Work includes a "NOTICE" text file as part of its
|
|
109
|
+
distribution, then any Derivative Works that You distribute must
|
|
110
|
+
include a readable copy of the attribution notices contained
|
|
111
|
+
within such NOTICE file, excluding those notices that do not
|
|
112
|
+
pertain to any part of the Derivative Works, in at least one
|
|
113
|
+
of the following places: within a NOTICE text file distributed
|
|
114
|
+
as part of the Derivative Works; within the Source form or
|
|
115
|
+
documentation, if provided along with the Derivative Works; or,
|
|
116
|
+
within a display generated by the Derivative Works, if and
|
|
117
|
+
wherever such third-party notices normally appear. The contents
|
|
118
|
+
of the NOTICE file are for informational purposes only and
|
|
119
|
+
do not modify the License. You may add Your own attribution
|
|
120
|
+
notices within Derivative Works that You distribute, alongside
|
|
121
|
+
or as an addendum to the NOTICE text from the Work, provided
|
|
122
|
+
that such additional attribution notices cannot be construed
|
|
123
|
+
as modifying the License.
|
|
124
|
+
|
|
125
|
+
You may add Your own copyright statement to Your modifications and
|
|
126
|
+
may provide additional or different license terms and conditions
|
|
127
|
+
for use, reproduction, or distribution of Your modifications, or
|
|
128
|
+
for any such Derivative Works as a whole, provided Your use,
|
|
129
|
+
reproduction, and distribution of the Work otherwise complies with
|
|
130
|
+
the conditions stated in this License.
|
|
131
|
+
|
|
132
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
133
|
+
any Contribution intentionally submitted for inclusion in the Work
|
|
134
|
+
by You to the Licensor shall be under the terms and conditions of
|
|
135
|
+
this License, without any additional terms or conditions.
|
|
136
|
+
Notwithstanding the above, nothing herein shall supersede or modify
|
|
137
|
+
the terms of any separate license agreement you may have executed
|
|
138
|
+
with Licensor regarding such Contributions.
|
|
139
|
+
|
|
140
|
+
6. Trademarks. This License does not grant permission to use the trade
|
|
141
|
+
names, trademarks, service marks, or product names of the Licensor,
|
|
142
|
+
except as required for reasonable and customary use in describing the
|
|
143
|
+
origin of the Work and reproducing the content of the NOTICE file.
|
|
144
|
+
|
|
145
|
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
146
|
+
agreed to in writing, Licensor provides the Work (and each
|
|
147
|
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
148
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
149
|
+
implied, including, without limitation, any warranties or conditions
|
|
150
|
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
151
|
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
152
|
+
appropriateness of using or redistributing the Work and assume any
|
|
153
|
+
risks associated with Your exercise of permissions under this License.
|
|
154
|
+
|
|
155
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
|
156
|
+
whether in tort (including negligence), contract, or otherwise,
|
|
157
|
+
unless required by applicable law (such as deliberate and grossly
|
|
158
|
+
negligent acts) or agreed to in writing, shall any Contributor be
|
|
159
|
+
liable to You for damages, including any direct, indirect, special,
|
|
160
|
+
incidental, or consequential damages of any character arising as a
|
|
161
|
+
result of this License or out of the use or inability to use the
|
|
162
|
+
Work (including but not limited to damages for loss of goodwill,
|
|
163
|
+
work stoppage, computer failure or malfunction, or any and all
|
|
164
|
+
other commercial damages or losses), even if such Contributor
|
|
165
|
+
has been advised of the possibility of such damages.
|
|
166
|
+
|
|
167
|
+
9. Accepting Warranty or Additional Liability. While redistributing
|
|
168
|
+
the Work or Derivative Works thereof, You may choose to offer,
|
|
169
|
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
170
|
+
or other liability obligations and/or rights consistent with this
|
|
171
|
+
License. However, in accepting such obligations, You may act only
|
|
172
|
+
on Your own behalf and on Your sole responsibility, not on behalf
|
|
173
|
+
of any other Contributor, and only if You agree to indemnify,
|
|
174
|
+
defend, and hold each Contributor harmless for any liability
|
|
175
|
+
incurred by, or claims asserted against, such Contributor by reason
|
|
176
|
+
of your accepting any such warranty or additional liability.
|
|
177
|
+
|
|
178
|
+
END OF TERMS AND CONDITIONS
|
|
179
|
+
|
|
180
|
+
APPENDIX: How to apply the Apache License to your work.
|
|
181
|
+
|
|
182
|
+
To apply the Apache License to your work, attach the following
|
|
183
|
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
184
|
+
replaced with your own identifying information. (Don't include
|
|
185
|
+
the brackets!) The text should be enclosed in the appropriate
|
|
186
|
+
comment syntax for the file format. We also recommend that a
|
|
187
|
+
file or class name and description of purpose be included on the
|
|
188
|
+
same "printed page" as the copyright notice for easier
|
|
189
|
+
identification within third-party archives.
|
|
190
|
+
|
|
191
|
+
Copyright [2017-2022] [Hefei Mars Technology Co., LTD., China] http://mars3d.cn/
|
|
192
|
+
|
|
193
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
194
|
+
you may not use this file except in compliance with the License.
|
|
195
|
+
You may obtain a copy of the License at
|
|
196
|
+
|
|
197
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
Unless required by applicable law or agreed to in writing, software
|
|
201
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
202
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
203
|
+
See the License for the specific language governing permissions and
|
|
204
|
+
limitations under the License.
|
|
205
|
+
|
|
206
|
+
|
package/dist/mars3d-wind.js
CHANGED
|
@@ -1,20 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Mars3D平台插件,支持气象 风向图 功能插件
|
|
3
|
-
* 版本信息:v3.2.
|
|
4
|
-
* 编译日期:2022-
|
|
3
|
+
* 版本信息:v3.2.1
|
|
4
|
+
* 编译日期:2022-02-13 13:42:18
|
|
5
5
|
* 版权所有:Copyright by 火星科技 http://mars3d.cn
|
|
6
6
|
*/
|
|
7
7
|
(function webpackUniversalModuleDefinition(window) {
|
|
8
8
|
|
|
9
|
-
let Cesium = window.Cesium //通过index.html的head引入
|
|
10
|
-
if (!Cesium && typeof exports === 'object') {
|
|
11
|
-
Cesium = require('mars3d-cesium') //使用npm安装内置的Cesium
|
|
12
|
-
require('mars3d-cesium/Build/Cesium/Widgets/widgets.css')
|
|
13
|
-
window['Cesium'] = Cesium
|
|
14
|
-
}
|
|
15
|
-
if (!Cesium) {
|
|
16
|
-
console.error('请引入Cesium库,可参考教程:http://mars3d.cn/dev/guide/basics/import.html')
|
|
17
|
-
}
|
|
18
9
|
|
|
19
10
|
|
|
20
11
|
let mars3d = window.mars3d //通过index.html的head引入
|
|
@@ -27,7 +18,7 @@
|
|
|
27
18
|
}
|
|
28
19
|
|
|
29
20
|
|
|
30
|
-
function a0_0x555b(){var _0x54b19a=['dropRateBump','speedFactor','fixedHeight','Color','fromDegrees','tlat','visible','currentParticlesPosition','userInput','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}','getUVByPoint','requestAnimationFrame','once','Set','80gKjdRb','xmin','getUserInput','reverse','calc_speedRate','pointerEvents','green','__proto__','call','iterator','WMS_URL','mouseUp','_particlesNumber','addEventListener','colors','DISABLE_GL_POSITION_LOG_DEPTH','function','DEPTH_COMPONENT','canvasWidth','key','PI_OVER_THREE','_onMouseDownEvent','lighter','ymin','FLOAT','ShaderSource','Object','TRIANGLES','random','container','fromCssColorString','setData','construct','4kEkyVU','all','layer','clampToLatitudeRange','createComputingPrimitives','array','133925HWOpdc','positionWC','_calcStep','STATIC_DRAW','WindLayer','maxParticles','viewRectangleToLonLatRange','toRadians','2CANiAZ','mod','globe','TWO_PI','length','_onMouseUpEvent','canvasContext','globalAlpha','Cartesian3','color','BaseLayer','DrawCommand','particlesComputing','UNSIGNED_INT','reverseY','bind','min','globalCompositeOperation','getContext','createFramebuffer','lineTo','none','_calcUV','fragmentShaderSource','422587vdHqQD','filter','fadeOpacity','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}','updateViewerParameters','particlesRendering','toStringTag','canvasResize','clearFramebuffers','Cannot\x20call\x20a\x20class\x20as\x20a\x20function','getColorTexture','ClearCommand','pixelSize','default','keys','colorNum','isDestroyed','RGBA','object','options','Math','colorTable','getUVByXY','sin','vertexShaderSource','this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called','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}','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}','getPrototypeOf','mode','uniformMap','update','randomBetween','Geometry','frameTime','round','createWindTextures','destroyParticlesTextures','height','particles','speedRate','createElement','ceil','50GsJKWg','windField','particlesTextureSize','max','fillRect','canrefresh','wgs84ToWindowCoordinates','sham','applyUserInput','test','constructor','xmax','52551rmkONb','fillStyle','_bilinearInterpolation','ymax','lon','red','framebuffer','width','attributeLocations','pow','clientWidth','getOwnPropertyDescriptors','Pass','shaderProgram','symbol','RenderState','removeEventListener','refreshParticles','add','defined','Framebuffer','lonRange','textures','beginPath','visibility','TextureMinificationFilter','segmentsColor','now','destroyObject','clearCommand','apply','destination-in','bindEvent','animateFrame','Sampler','updateSpeed','depthTexture','moveTo','Map','nextTrailsDepth','lng','Matrix4','frameRate','writable','preExecute','LUMINANCE','currentTrails','nextTrailsColor','canvasHeight','getFullscreenQuad','remove','randomParticle','depthTest','nextParticlesPosition','153318dcMsZR','windData','viewerParameters','framebuffers','_mountedHook','left','WindUtil','blue','clientHeight','globeBoundingSphere','LayerUtil','screen','EllipsoidalOccluder','PrimitiveCollection','cancelAnimationFrame','@@iterator','create','Appearance','commandList','lat','defineProperties','windTextures','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','autoClear','scene','removeAll','NEAREST','string','clear','commandToExecute','_tomap','dropRate','vmax','age','//\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}','dimensions','createRawRenderState','cos','umin','absolute','abs','particleSystem','_setOptionsHook','name','geometry','context','hidden','rows','zIndex','particlesTextures','floor','PixelFormat','randomizeParticles','off','PrimitiveType','stroke','RGB','destroy','IDENTITY','mouseDown','setOptions','toDegrees','mars3d','unbindEvent','VertexArray','__esModule','Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function','style','ZERO','1157ovvNDL','defaultValue','_addedHook','_map','position','slice','particlesWind','defineProperty','TextureMagnificationFilter','createSegmentsGeometry','push','log','18nQnpCA','setPrototypeOf','EventType','BufferUsage','viewport','SceneMode','PI_OVER_TWO','refreshTimer','top','getPixelSize','getU','ellipsoid','applyViewerParameters','LINEAR','forEach','_onMouseMoveEvent','drawingBufferHeight','removeChild','rawRenderState','undefined','PixelDatatype','canvasWind','currentParticlesSpeed','mouse_down','maxAge','from','execute','_speedRate','Texture','toGridXY','fromCache','CanvasWindLayer','_showHook','globeLayer','getSpeed','Compute','rgba(0,\x200,\x200,\x200.97)','mouse_move','computeViewRectangle','mouseMove','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}','getWind','prototype','drawWind','Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined','outputTexture','tlng','GeometryAttribute','currentTrailsDepth','createTexture','mars3dWind','OPAQUE','32220HeiZUW','postProcessingPosition','arrayBufferView','isInExtent','latRange','lev','register','_maxAge','enumerable','value','THREE_PI_OVER_TWO','primitiveType','grid','704135EYtirr','getDirection','primitives','data','resize','Rectangle','exports','south','SceneTransforms','createParticlesTextures','ALWAYS','trails','wheel','nextTrails','toString','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}','_drawLines','configurable','west','drawingBufferWidth','show','474733bmeFpb','source','nextParticlesSpeed','vdata','fromGeometry','preRender','setGeometry','Draw','auto','lineWidth','valueOf','createCommand','getExtent','SCENE3D','redraw','commandType','_onMapWhellEvent','Cartesian2','_onMap_preRenderEvent','postProcessingSpeed','setAttribute','getOwnPropertySymbols','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}','class','canvasWindy','vertexArray','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}','BoundingSphere','getRandomLatLng','0px','GeometryAttributes','sqrt','getOwnPropertyDescriptor','canvas','addPrimitives','ComponentDatatype','segments','udata','strokeStyle','_pointerEvents','updatePosition','particlesNumber','cols','camera','_removedHook','UNSIGNED_BYTE'];a0_0x555b=function(){return _0x54b19a;};return a0_0x555b();}var a0_0x22ad39=a0_0x21a7;function a0_0x21a7(_0x182db7,_0x408eb6){var _0x555b88=a0_0x555b();return a0_0x21a7=function(_0x21a7a8,_0x1d28d9){_0x21a7a8=_0x21a7a8-0x1f4;var _0x5ee470=_0x555b88[_0x21a7a8];return _0x5ee470;},a0_0x21a7(_0x182db7,_0x408eb6);}(function(_0x2b3f57,_0x56545d){var _0x765f94=a0_0x21a7,_0x43d01b=_0x2b3f57();while(!![]){try{var _0xf5797c=parseInt(_0x765f94(0x252))/0x1+-parseInt(_0x765f94(0x25a))/0x2*(-parseInt(_0x765f94(0x2df))/0x3)+parseInt(_0x765f94(0x24c))/0x4*(-parseInt(_0x765f94(0x371))/0x5)+parseInt(_0x765f94(0x330))/0x6*(parseInt(_0x765f94(0x386))/0x7)+-parseInt(_0x765f94(0x22b))/0x8*(parseInt(_0x765f94(0x2a9))/0x9)+parseInt(_0x765f94(0x29d))/0xa*(parseInt(_0x765f94(0x272))/0xb)+-parseInt(_0x765f94(0x364))/0xc*(parseInt(_0x765f94(0x324))/0xd);if(_0xf5797c===_0x56545d)break;else _0x43d01b['push'](_0x43d01b['shift']());}catch(_0x534636){_0x43d01b['push'](_0x43d01b['shift']());}}}(a0_0x555b,0x22c37),window[a0_0x22ad39(0x362)]=function(_0x5bd776){var _0x3a66ca={};function _0x38d1c7(_0x52ea8e){var _0x10e8f3=a0_0x21a7;if(_0x3a66ca[_0x52ea8e])return _0x3a66ca[_0x52ea8e]['exports'];var _0x5af9e0=_0x3a66ca[_0x52ea8e]={'i':_0x52ea8e,'l':!0x1,'exports':{}};return _0x5bd776[_0x52ea8e][_0x10e8f3(0x233)](_0x5af9e0['exports'],_0x5af9e0,_0x5af9e0[_0x10e8f3(0x377)],_0x38d1c7),_0x5af9e0['l']=!0x0,_0x5af9e0[_0x10e8f3(0x377)];}return _0x38d1c7['m']=_0x5bd776,_0x38d1c7['c']=_0x3a66ca,_0x38d1c7['d']=function(_0x352524,_0x14ec15,_0x14d574){var _0x556d7c=a0_0x21a7;_0x38d1c7['o'](_0x352524,_0x14ec15)||Object[_0x556d7c(0x32b)](_0x352524,_0x14ec15,{'enumerable':!0x0,'get':_0x14d574});},_0x38d1c7['r']=function(_0xd07f1a){var _0x2a3936=a0_0x21a7;_0x2a3936(0x343)!=typeof Symbol&&Symbol[_0x2a3936(0x278)]&&Object[_0x2a3936(0x32b)](_0xd07f1a,Symbol[_0x2a3936(0x278)],{'value':'Module'}),Object[_0x2a3936(0x32b)](_0xd07f1a,'__esModule',{'value':!0x0});},_0x38d1c7['t']=function(_0x2d4d63,_0x15cba7){var _0x367ff3=a0_0x21a7;if(0x1&_0x15cba7&&(_0x2d4d63=_0x38d1c7(_0x2d4d63)),0x8&_0x15cba7)return _0x2d4d63;if(0x4&_0x15cba7&&_0x367ff3(0x284)==typeof _0x2d4d63&&_0x2d4d63&&_0x2d4d63[_0x367ff3(0x320)])return _0x2d4d63;var _0x205602=Object[_0x367ff3(0x2ef)](null);if(_0x38d1c7['r'](_0x205602),Object[_0x367ff3(0x32b)](_0x205602,_0x367ff3(0x27f),{'enumerable':!0x0,'value':_0x2d4d63}),0x2&_0x15cba7&&_0x367ff3(0x2fa)!=typeof _0x2d4d63){for(var _0x244cfb in _0x2d4d63)_0x38d1c7['d'](_0x205602,_0x244cfb,function(_0x1e63a4){return _0x2d4d63[_0x1e63a4];}[_0x367ff3(0x269)](null,_0x244cfb));}return _0x205602;},_0x38d1c7['n']=function(_0x383d3a){var _0x34bfc4=a0_0x21a7,_0x2f421b=_0x383d3a&&_0x383d3a[_0x34bfc4(0x320)]?function(){return _0x383d3a['default'];}:function(){return _0x383d3a;};return _0x38d1c7['d'](_0x2f421b,'a',_0x2f421b),_0x2f421b;},_0x38d1c7['o']=function(_0x2dbdff,_0x254fe1){var _0x55589c=a0_0x21a7;return Object[_0x55589c(0x35a)]['hasOwnProperty'][_0x55589c(0x233)](_0x2dbdff,_0x254fe1);},_0x38d1c7['p']='',_0x38d1c7(_0x38d1c7['s']=0x1b);}([function(_0x2a2696,_0x9d1e11){_0x2a2696['exports']=window['Cesium'];},function(_0x153235,_0x1210e3){var _0x169a56=a0_0x22ad39;_0x153235[_0x169a56(0x377)]=window[_0x169a56(0x31d)];},function(_0x48736f,_0xb1e14e){var _0x5822ee=a0_0x22ad39;_0x48736f[_0x5822ee(0x377)]=function(_0x3d78ca,_0x803921){var _0x1e50b0=_0x5822ee;if(!(_0x3d78ca instanceof _0x803921))throw new TypeError(_0x1e50b0(0x27b));},_0x48736f[_0x5822ee(0x377)][_0x5822ee(0x320)]=!0x0,_0x48736f[_0x5822ee(0x377)][_0x5822ee(0x27f)]=_0x48736f[_0x5822ee(0x377)];},function(_0x375d1a,_0x157596){var _0x51c937=a0_0x22ad39;function _0x4f2ac2(_0x3efa46,_0x5d3a76){var _0x63ba76=a0_0x21a7;for(var _0x1d089b=0x0;_0x1d089b<_0x5d3a76[_0x63ba76(0x25e)];_0x1d089b++){var _0x5d2a2f=_0x5d3a76[_0x1d089b];_0x5d2a2f[_0x63ba76(0x36c)]=_0x5d2a2f[_0x63ba76(0x36c)]||!0x1,_0x5d2a2f[_0x63ba76(0x382)]=!0x0,_0x63ba76(0x36d)in _0x5d2a2f&&(_0x5d2a2f[_0x63ba76(0x2d4)]=!0x0),Object[_0x63ba76(0x32b)](_0x3efa46,_0x5d2a2f[_0x63ba76(0x23e)],_0x5d2a2f);}}_0x375d1a[_0x51c937(0x377)]=function(_0x402908,_0x18cc30,_0x502f48){var _0x4258f4=_0x51c937;return _0x18cc30&&_0x4f2ac2(_0x402908[_0x4258f4(0x35a)],_0x18cc30),_0x502f48&&_0x4f2ac2(_0x402908,_0x502f48),Object[_0x4258f4(0x32b)](_0x402908,_0x4258f4(0x35a),{'writable':!0x1}),_0x402908;},_0x375d1a['exports']['__esModule']=!0x0,_0x375d1a[_0x51c937(0x377)][_0x51c937(0x27f)]=_0x375d1a[_0x51c937(0x377)];},function(_0x3660de,_0x15d78f){var _0xa21b74=a0_0x22ad39;function _0x105a14(_0x2935d2){var _0xc55514=a0_0x21a7;return _0x3660de[_0xc55514(0x377)]=_0x105a14=Object['setPrototypeOf']?Object[_0xc55514(0x28e)]:function(_0x9312c5){var _0x3f1a97=_0xc55514;return _0x9312c5[_0x3f1a97(0x232)]||Object[_0x3f1a97(0x28e)](_0x9312c5);},_0x3660de[_0xc55514(0x377)]['__esModule']=!0x0,_0x3660de['exports'][_0xc55514(0x27f)]=_0x3660de[_0xc55514(0x377)],_0x105a14(_0x2935d2);}_0x3660de[_0xa21b74(0x377)]=_0x105a14,_0x3660de[_0xa21b74(0x377)]['__esModule']=!0x0,_0x3660de[_0xa21b74(0x377)]['default']=_0x3660de[_0xa21b74(0x377)];},function(_0x420b15,_0x2fd29f,_0x43897b){var _0x41c31a=a0_0x22ad39,_0x367dec=_0x43897b(0x17),_0x42ed39=_0x43897b(0x18),_0x1cfcfa=_0x43897b(0x19),_0xe527a3=_0x43897b(0x1a);_0x420b15[_0x41c31a(0x377)]=function(_0x32fc6a){return _0x367dec(_0x32fc6a)||_0x42ed39(_0x32fc6a)||_0x1cfcfa(_0x32fc6a)||_0xe527a3();},_0x420b15['exports'][_0x41c31a(0x320)]=!0x0,_0x420b15[_0x41c31a(0x377)]['default']=_0x420b15['exports'];},function(_0x357910,_0x204345,_0x2cea84){var _0x362310=a0_0x22ad39,_0x109609=_0x2cea84(0x14);_0x357910[_0x362310(0x377)]=function(_0x5d4092,_0xbe6e3){var _0x40df5b=_0x362310;if(_0x40df5b(0x23b)!=typeof _0xbe6e3&&null!==_0xbe6e3)throw new TypeError(_0x40df5b(0x321));Object[_0x40df5b(0x32b)](_0x5d4092,'prototype',{'value':Object['create'](_0xbe6e3&&_0xbe6e3[_0x40df5b(0x35a)],{'constructor':{'value':_0x5d4092,'writable':!0x0,'configurable':!0x0}}),'writable':!0x1}),_0xbe6e3&&_0x109609(_0x5d4092,_0xbe6e3);},_0x357910[_0x362310(0x377)][_0x362310(0x320)]=!0x0,_0x357910[_0x362310(0x377)][_0x362310(0x27f)]=_0x357910[_0x362310(0x377)];},function(_0x2b1adf,_0x57d5be,_0x31607b){var _0xc3e2fe=a0_0x22ad39,_0xacb74d=_0x31607b(0x15)[_0xc3e2fe(0x27f)],_0x24b590=_0x31607b(0x16);_0x2b1adf[_0xc3e2fe(0x377)]=function(_0x1b4415,_0x3615b5){var _0x4c38e8=_0xc3e2fe;if(_0x3615b5&&(_0x4c38e8(0x284)===_0xacb74d(_0x3615b5)||_0x4c38e8(0x23b)==typeof _0x3615b5))return _0x3615b5;if(void 0x0!==_0x3615b5)throw new TypeError(_0x4c38e8(0x35c));return _0x24b590(_0x1b4415);},_0x2b1adf[_0xc3e2fe(0x377)][_0xc3e2fe(0x320)]=!0x0,_0x2b1adf[_0xc3e2fe(0x377)][_0xc3e2fe(0x27f)]=_0x2b1adf[_0xc3e2fe(0x377)];},function(_0x439952,_0x3a20df){var _0x81e259=a0_0x22ad39;_0x439952['exports']=_0x81e259(0x209);},function(_0x3f31bc,_0x1da4d7){var _0x20002c=a0_0x22ad39;_0x3f31bc[_0x20002c(0x377)]=function(_0x21a860,_0x32daf3){var _0x1ecc06=_0x20002c;(null==_0x32daf3||_0x32daf3>_0x21a860[_0x1ecc06(0x25e)])&&(_0x32daf3=_0x21a860[_0x1ecc06(0x25e)]);for(var _0x376758=0x0,_0x2a802c=new Array(_0x32daf3);_0x376758<_0x32daf3;_0x376758++)_0x2a802c[_0x376758]=_0x21a860[_0x376758];return _0x2a802c;},_0x3f31bc[_0x20002c(0x377)][_0x20002c(0x320)]=!0x0,_0x3f31bc[_0x20002c(0x377)][_0x20002c(0x27f)]=_0x3f31bc[_0x20002c(0x377)];},function(_0x52c726,_0x364e88){var _0x3d8efd=a0_0x22ad39;_0x52c726[_0x3d8efd(0x377)]=function(_0x24a001,_0x50ab94,_0x3e358){var _0x363ef4=_0x3d8efd;return _0x50ab94 in _0x24a001?Object[_0x363ef4(0x32b)](_0x24a001,_0x50ab94,{'value':_0x3e358,'enumerable':!0x0,'configurable':!0x0,'writable':!0x0}):_0x24a001[_0x50ab94]=_0x3e358,_0x24a001;},_0x52c726[_0x3d8efd(0x377)][_0x3d8efd(0x320)]=!0x0,_0x52c726['exports'][_0x3d8efd(0x27f)]=_0x52c726[_0x3d8efd(0x377)];},function(_0x45fc61,_0xd8a6a5){var _0x21aac6=a0_0x22ad39;_0x45fc61['exports']=_0x21aac6(0x28d);},function(_0x8f9759,_0x148d2d){_0x8f9759['exports']='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}';},function(_0x228973,_0x2683cb){var _0x53d97c=a0_0x22ad39;_0x228973['exports']=_0x53d97c(0x226);},function(_0x35a437,_0x5e6c61){var _0x427367=a0_0x22ad39;_0x35a437['exports']=_0x427367(0x275);},function(_0x1458bc,_0x33ae33){var _0x4737af=a0_0x22ad39;_0x1458bc[_0x4737af(0x377)]=_0x4737af(0x301);},function(_0x1d8e8e,_0x1eecf2){var _0x615af0=a0_0x22ad39;_0x1d8e8e[_0x615af0(0x377)]=_0x615af0(0x358);},function(_0x582dfb,_0x4604ff){var _0x357ebd=a0_0x22ad39;_0x582dfb[_0x357ebd(0x377)]=_0x357ebd(0x380);},function(_0x3a3b3f,_0x317ad0){var _0x2b1609=a0_0x22ad39;_0x3a3b3f[_0x2b1609(0x377)]=_0x2b1609(0x205);},function(_0x87802d,_0x2dbce9){var _0x3fccc9=a0_0x22ad39;_0x87802d[_0x3fccc9(0x377)]=_0x3fccc9(0x28c);},function(_0x5af8ea,_0x1d34d6){var _0x336864=a0_0x22ad39;function _0x2fc06e(_0xc12f,_0x2f9f55){var _0x125dfa=a0_0x21a7;return _0x5af8ea[_0x125dfa(0x377)]=_0x2fc06e=Object[_0x125dfa(0x331)]||function(_0x14d023,_0x392f71){var _0x4671ee=_0x125dfa;return _0x14d023[_0x4671ee(0x232)]=_0x392f71,_0x14d023;},_0x5af8ea['exports'][_0x125dfa(0x320)]=!0x0,_0x5af8ea['exports'][_0x125dfa(0x27f)]=_0x5af8ea[_0x125dfa(0x377)],_0x2fc06e(_0xc12f,_0x2f9f55);}_0x5af8ea['exports']=_0x2fc06e,_0x5af8ea[_0x336864(0x377)][_0x336864(0x320)]=!0x0,_0x5af8ea[_0x336864(0x377)][_0x336864(0x27f)]=_0x5af8ea[_0x336864(0x377)];},function(_0x2f5480,_0x43c803){var _0x4a6dfa=a0_0x22ad39;function _0x181a58(_0x19f5e8){var _0x4c6e09=a0_0x21a7;return _0x2f5480[_0x4c6e09(0x377)]=_0x181a58=_0x4c6e09(0x23b)==typeof Symbol&&_0x4c6e09(0x2b7)==typeof Symbol[_0x4c6e09(0x234)]?function(_0x4f6153){return typeof _0x4f6153;}:function(_0x7fa91f){var _0xeac021=_0x4c6e09;return _0x7fa91f&&_0xeac021(0x23b)==typeof Symbol&&_0x7fa91f[_0xeac021(0x2a7)]===Symbol&&_0x7fa91f!==Symbol[_0xeac021(0x35a)]?'symbol':typeof _0x7fa91f;},_0x2f5480['exports'][_0x4c6e09(0x320)]=!0x0,_0x2f5480[_0x4c6e09(0x377)]['default']=_0x2f5480[_0x4c6e09(0x377)],_0x181a58(_0x19f5e8);}_0x2f5480[_0x4a6dfa(0x377)]=_0x181a58,_0x2f5480[_0x4a6dfa(0x377)]['__esModule']=!0x0,_0x2f5480[_0x4a6dfa(0x377)]['default']=_0x2f5480[_0x4a6dfa(0x377)];},function(_0xc51956,_0x31cbc2){var _0x51b029=a0_0x22ad39;_0xc51956[_0x51b029(0x377)]=function(_0x221459){var _0x33389b=_0x51b029;if(void 0x0===_0x221459)throw new ReferenceError(_0x33389b(0x28b));return _0x221459;},_0xc51956[_0x51b029(0x377)][_0x51b029(0x320)]=!0x0,_0xc51956[_0x51b029(0x377)]['default']=_0xc51956[_0x51b029(0x377)];},function(_0x4ccf58,_0x5e38cd,_0x18a613){var _0x559653=a0_0x22ad39,_0x383933=_0x18a613(0x9);_0x4ccf58[_0x559653(0x377)]=function(_0x17808d){if(Array['isArray'](_0x17808d))return _0x383933(_0x17808d);},_0x4ccf58[_0x559653(0x377)][_0x559653(0x320)]=!0x0,_0x4ccf58[_0x559653(0x377)]['default']=_0x4ccf58[_0x559653(0x377)];},function(_0x20dbbb,_0x525fa1){var _0x5b9eab=a0_0x22ad39;_0x20dbbb[_0x5b9eab(0x377)]=function(_0x111f50){var _0x15f9f5=_0x5b9eab;if('undefined'!=typeof Symbol&&null!=_0x111f50[Symbol['iterator']]||null!=_0x111f50[_0x15f9f5(0x2ee)])return Array[_0x15f9f5(0x349)](_0x111f50);},_0x20dbbb[_0x5b9eab(0x377)][_0x5b9eab(0x320)]=!0x0,_0x20dbbb['exports']['default']=_0x20dbbb[_0x5b9eab(0x377)];},function(_0x3412c3,_0x4c3812,_0x118a6d){var _0x233b22=a0_0x22ad39,_0x52a5ed=_0x118a6d(0x9);_0x3412c3['exports']=function(_0x534d57,_0x1f9efa){var _0x2e13f2=a0_0x21a7;if(_0x534d57){if(_0x2e13f2(0x2fa)==typeof _0x534d57)return _0x52a5ed(_0x534d57,_0x1f9efa);var _0xcbb481=Object['prototype'][_0x2e13f2(0x37f)][_0x2e13f2(0x233)](_0x534d57)[_0x2e13f2(0x329)](0x8,-0x1);return _0x2e13f2(0x245)===_0xcbb481&&_0x534d57['constructor']&&(_0xcbb481=_0x534d57[_0x2e13f2(0x2a7)][_0x2e13f2(0x30a)]),_0x2e13f2(0x2cf)===_0xcbb481||_0x2e13f2(0x22a)===_0xcbb481?Array[_0x2e13f2(0x349)](_0x534d57):'Arguments'===_0xcbb481||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/[_0x2e13f2(0x2a6)](_0xcbb481)?_0x52a5ed(_0x534d57,_0x1f9efa):void 0x0;}},_0x3412c3[_0x233b22(0x377)][_0x233b22(0x320)]=!0x0,_0x3412c3[_0x233b22(0x377)]['default']=_0x3412c3[_0x233b22(0x377)];},function(_0x22bb5e,_0x4efe80){var _0x46d893=a0_0x22ad39;_0x22bb5e[_0x46d893(0x377)]=function(){throw new TypeError('Invalid\x20attempt\x20to\x20spread\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.');},_0x22bb5e[_0x46d893(0x377)][_0x46d893(0x320)]=!0x0,_0x22bb5e[_0x46d893(0x377)][_0x46d893(0x27f)]=_0x22bb5e[_0x46d893(0x377)];},function(_0x52fbb0,_0x1b862f,_0x4c1724){'use strict';var _0x3aa2d6=a0_0x22ad39;_0x4c1724['r'](_0x1b862f),_0x4c1724['d'](_0x1b862f,_0x3aa2d6(0x256),function(){return _0x109e9d;}),_0x4c1724['d'](_0x1b862f,'CanvasWindLayer',function(){return _0x474354;}),_0x4c1724['d'](_0x1b862f,_0x3aa2d6(0x2e5),function(){return _0x4f5185;});var _0x4f5185={};_0x4c1724['r'](_0x4f5185),_0x4c1724['d'](_0x4f5185,_0x3aa2d6(0x33a),function(){return _0x146062;}),_0x4c1724['d'](_0x4f5185,'getV',function(){return _0x1f06e2;}),_0x4c1724['d'](_0x4f5185,_0x3aa2d6(0x352),function(){return _0x450f3f;}),_0x4c1724['d'](_0x4f5185,_0x3aa2d6(0x372),function(){return _0x2cf9c1;});var _0x11e886=_0x4c1724(0x1),_0x212881=_0x4c1724(0x2),_0x2bde55=_0x4c1724['n'](_0x212881),_0x4876a0=_0x4c1724(0x3),_0x17f393=_0x4c1724['n'](_0x4876a0),_0x5e1c11=_0x4c1724(0x6),_0x5d1b83=_0x4c1724['n'](_0x5e1c11),_0x1a9282=_0x4c1724(0x7),_0x4d18bd=_0x4c1724['n'](_0x1a9282),_0x192d63=_0x4c1724(0x4),_0x3bd9d4=_0x4c1724['n'](_0x192d63),_0x49bd3c=_0x4c1724(0x0),_0x3f9b09=_0x4c1724(0x5),_0xdfd249=_0x4c1724['n'](_0x3f9b09),_0x3f1616=_0x4c1724(0xa),_0x32db15=_0x4c1724['n'](_0x3f1616),_0x13b2e7=(function(){var _0x4fe6ae=_0x3aa2d6;function _0x3fab20(_0x1aca49){var _0x2a45bd=a0_0x21a7;_0x2bde55()(this,_0x3fab20),this[_0x2a45bd(0x1fe)]=_0x1aca49[_0x2a45bd(0x1fe)],this[_0x2a45bd(0x30b)]=_0x1aca49['geometry'],this[_0x2a45bd(0x2b1)]=_0x1aca49[_0x2a45bd(0x2b1)],this[_0x2a45bd(0x36f)]=_0x1aca49['primitiveType'],this[_0x2a45bd(0x290)]=_0x1aca49['uniformMap'],this[_0x2a45bd(0x28a)]=_0x1aca49[_0x2a45bd(0x28a)],this[_0x2a45bd(0x271)]=_0x1aca49['fragmentShaderSource'],this['rawRenderState']=_0x1aca49[_0x2a45bd(0x342)],this[_0x2a45bd(0x2af)]=_0x1aca49['framebuffer'],this['outputTexture']=_0x1aca49[_0x2a45bd(0x35d)],this[_0x2a45bd(0x2f6)]=_0x49bd3c['defaultValue'](_0x1aca49[_0x2a45bd(0x2f6)],!0x1),this[_0x2a45bd(0x2d5)]=_0x1aca49[_0x2a45bd(0x2d5)],this[_0x2a45bd(0x385)]=!0x0,this[_0x2a45bd(0x2fc)]=void 0x0,this['clearCommand']=void 0x0,this[_0x2a45bd(0x2f6)]&&(this[_0x2a45bd(0x2c6)]=new _0x49bd3c[(_0x2a45bd(0x27d))]({'color':new _0x49bd3c[(_0x2a45bd(0x220))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[_0x2a45bd(0x2af)],'pass':_0x49bd3c['Pass'][_0x2a45bd(0x363)]}));}return _0x17f393()(_0x3fab20,[{'key':_0x4fe6ae(0x1fa),'value':function(_0x30e6f7){var _0x2c4f68=_0x4fe6ae;switch(this[_0x2c4f68(0x1fe)]){case _0x2c4f68(0x1f6):var _0x104e09=_0x49bd3c[_0x2c4f68(0x31f)]['fromGeometry']({'context':_0x30e6f7,'geometry':this[_0x2c4f68(0x30b)],'attributeLocations':this['attributeLocations'],'bufferUsage':_0x49bd3c[_0x2c4f68(0x333)][_0x2c4f68(0x255)]}),_0x3b7522=_0x49bd3c['ShaderProgram']['fromCache']({'context':_0x30e6f7,'attributeLocations':this[_0x2c4f68(0x2b1)],'vertexShaderSource':this['vertexShaderSource'],'fragmentShaderSource':this[_0x2c4f68(0x271)]}),_0x1074db=_0x49bd3c[_0x2c4f68(0x2b8)][_0x2c4f68(0x34e)](this[_0x2c4f68(0x342)]);return new _0x49bd3c[(_0x2c4f68(0x265))]({'owner':this,'vertexArray':_0x104e09,'primitiveType':this[_0x2c4f68(0x36f)],'uniformMap':this[_0x2c4f68(0x290)],'modelMatrix':_0x49bd3c[_0x2c4f68(0x2d2)][_0x2c4f68(0x319)],'shaderProgram':_0x3b7522,'framebuffer':this[_0x2c4f68(0x2af)],'renderState':_0x1074db,'pass':_0x49bd3c[_0x2c4f68(0x2b5)][_0x2c4f68(0x363)]});case _0x2c4f68(0x353):return new _0x49bd3c['ComputeCommand']({'owner':this,'fragmentShaderSource':this[_0x2c4f68(0x271)],'uniformMap':this[_0x2c4f68(0x290)],'outputTexture':this['outputTexture'],'persists':!0x0});default:return;}}},{'key':_0x4fe6ae(0x1f5),'value':function(_0xaa8bab,_0x36426b){var _0x1b65b1=_0x4fe6ae;this['geometry']=_0x36426b;var _0x5a0eb8=_0x49bd3c['VertexArray'][_0x1b65b1(0x38a)]({'context':_0xaa8bab,'geometry':this[_0x1b65b1(0x30b)],'attributeLocations':this[_0x1b65b1(0x2b1)],'bufferUsage':_0x49bd3c[_0x1b65b1(0x333)][_0x1b65b1(0x255)]});this['commandToExecute']['vertexArray']=_0x5a0eb8;}},{'key':'update','value':function(_0x1a317e){var _0x2af391=_0x4fe6ae;this[_0x2af391(0x385)]&&_0x1a317e[_0x2af391(0x28f)]==_0x49bd3c[_0x2af391(0x335)]['SCENE3D']&&(_0x49bd3c['defined'](this[_0x2af391(0x2fc)])||(this['commandToExecute']=this[_0x2af391(0x1fa)](_0x1a317e[_0x2af391(0x30c)])),_0x49bd3c[_0x2af391(0x2bc)](this['preExecute'])&&this['preExecute'](),_0x49bd3c[_0x2af391(0x2bc)](this[_0x2af391(0x2c6)])&&_0x1a317e[_0x2af391(0x2f1)][_0x2af391(0x32e)](this[_0x2af391(0x2c6)]),_0x1a317e[_0x2af391(0x2f1)]['push'](this[_0x2af391(0x2fc)]));}},{'key':_0x4fe6ae(0x282),'value':function(){return!0x1;}},{'key':_0x4fe6ae(0x318),'value':function(){var _0x3e42c0=_0x4fe6ae;return _0x49bd3c[_0x3e42c0(0x2bc)](this['commandToExecute'])&&(this[_0x3e42c0(0x2fc)][_0x3e42c0(0x2b6)]=this['commandToExecute'][_0x3e42c0(0x2b6)]&&this[_0x3e42c0(0x2fc)][_0x3e42c0(0x2b6)]['destroy']()),_0x49bd3c[_0x3e42c0(0x2c5)](this);}}]),_0x3fab20;}()),_0x415184={'getFullscreenQuad':function(){var _0x1563cc=_0x3aa2d6;return new _0x49bd3c[(_0x1563cc(0x293))]({'attributes':new _0x49bd3c[(_0x1563cc(0x20d))]({'position':new _0x49bd3c[(_0x1563cc(0x35f))]({'componentDatatype':_0x49bd3c[_0x1563cc(0x212)]['FLOAT'],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new _0x49bd3c['GeometryAttribute']({'componentDatatype':_0x49bd3c[_0x1563cc(0x212)][_0x1563cc(0x243)],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});},'createTexture':function(_0xbaeb9f,_0x440cbd){var _0x53a201=_0x3aa2d6;if(_0x49bd3c[_0x53a201(0x2bc)](_0x440cbd)){var _0x44c999={};_0x44c999[_0x53a201(0x366)]=_0x440cbd,_0xbaeb9f[_0x53a201(0x387)]=_0x44c999;}return new _0x49bd3c[(_0x53a201(0x34c))](_0xbaeb9f);},'createFramebuffer':function(_0x13fe06,_0x455d91,_0x5f3430){var _0xd41d65=_0x3aa2d6;return new _0x49bd3c[(_0xd41d65(0x2bd))]({'context':_0x13fe06,'colorTextures':[_0x455d91],'depthTexture':_0x5f3430});},'createRawRenderState':function(_0x4a5c60){var _0x7b8c9f=_0x3aa2d6,_0x2c45d7={'viewport':_0x4a5c60[_0x7b8c9f(0x334)],'depthTest':_0x4a5c60[_0x7b8c9f(0x2dd)],'depthMask':_0x4a5c60['depthMask'],'blending':_0x4a5c60['blending']};return _0x49bd3c[_0x7b8c9f(0x2f0)]['getDefaultRenderState'](!0x0,!0x1,_0x2c45d7);},'viewRectangleToLonLatRange':function(_0x37889e){var _0x1e0652=_0x3aa2d6,_0x6feaf4,_0x4374b8,_0x8a9258={},_0x277b70=_0x49bd3c[_0x1e0652(0x286)][_0x1e0652(0x25b)](_0x37889e[_0x1e0652(0x383)],_0x49bd3c['Math'][_0x1e0652(0x25d)]),_0x31e6b3=_0x49bd3c[_0x1e0652(0x286)][_0x1e0652(0x25b)](_0x37889e['east'],_0x49bd3c[_0x1e0652(0x286)]['TWO_PI']),_0x322920=_0x37889e['width'];_0x322920>_0x49bd3c[_0x1e0652(0x286)][_0x1e0652(0x36e)]?(_0x6feaf4=0x0,_0x4374b8=_0x49bd3c['Math'][_0x1e0652(0x25d)]):_0x31e6b3-_0x277b70<_0x322920?(_0x6feaf4=_0x277b70,_0x4374b8=_0x277b70+_0x322920):(_0x6feaf4=_0x277b70,_0x4374b8=_0x31e6b3),_0x8a9258[_0x1e0652(0x2ad)]={'min':_0x49bd3c['Math']['toDegrees'](_0x6feaf4),'max':_0x49bd3c[_0x1e0652(0x286)]['toDegrees'](_0x4374b8)};var _0x197cef=_0x37889e[_0x1e0652(0x378)],_0x44894e=_0x37889e['north'],_0xbc55b7=_0x37889e['height'],_0x44446e=_0xbc55b7>_0x49bd3c['Math']['PI']/0xc?_0xbc55b7/0x2:0x0,_0xfeaad5=_0x49bd3c['Math'][_0x1e0652(0x24f)](_0x197cef-_0x44446e),_0x436e36=_0x49bd3c[_0x1e0652(0x286)][_0x1e0652(0x24f)](_0x44894e+_0x44446e);return _0xfeaad5<-_0x49bd3c[_0x1e0652(0x286)][_0x1e0652(0x23f)]&&(_0xfeaad5=-_0x49bd3c['Math']['PI_OVER_TWO']),_0x436e36>_0x49bd3c[_0x1e0652(0x286)]['PI_OVER_THREE']&&(_0x436e36=_0x49bd3c[_0x1e0652(0x286)][_0x1e0652(0x336)]),_0x8a9258[_0x1e0652(0x2f2)]={'min':_0x49bd3c[_0x1e0652(0x286)][_0x1e0652(0x31c)](_0xfeaad5),'max':_0x49bd3c['Math']['toDegrees'](_0x436e36)},_0x8a9258;}},_0x1e37b2=_0x4c1724(0xb),_0x1592af=_0x4c1724['n'](_0x1e37b2),_0x549a9e=_0x4c1724(0xc),_0x44a7a8=_0x4c1724['n'](_0x549a9e),_0x332e1f=_0x4c1724(0x8),_0x1b3430=_0x4c1724['n'](_0x332e1f),_0x34b864=_0x4c1724(0xd),_0x4803df=_0x4c1724['n'](_0x34b864),_0x3bca52=_0x4c1724(0xe),_0x1fe10e=_0x4c1724['n'](_0x3bca52),_0x46ed5e=(function(){var _0x2f1bee=_0x3aa2d6;function _0x2d8d2d(_0x1c1128,_0xcbcadf,_0x3cc501,_0x5db30c,_0x347327){_0x2bde55()(this,_0x2d8d2d),this['createRenderingTextures'](_0x1c1128,_0xcbcadf),this['createRenderingFramebuffers'](_0x1c1128),this['createRenderingPrimitives'](_0x1c1128,_0x3cc501,_0x5db30c,_0x347327);}return _0x17f393()(_0x2d8d2d,[{'key':'createRenderingTextures','value':function(_0xa254f1,_0x2925f6){var _0x395f52=a0_0x21a7,_0x24055a={'context':_0xa254f1,'width':_0xa254f1[_0x395f52(0x384)],'height':_0xa254f1['drawingBufferHeight'],'pixelFormat':_0x49bd3c[_0x395f52(0x312)][_0x395f52(0x283)],'pixelDatatype':_0x49bd3c[_0x395f52(0x344)][_0x395f52(0x21c)]},_0x260386={'context':_0xa254f1,'width':_0xa254f1[_0x395f52(0x384)],'height':_0xa254f1[_0x395f52(0x340)],'pixelFormat':_0x49bd3c['PixelFormat'][_0x395f52(0x23c)],'pixelDatatype':_0x49bd3c[_0x395f52(0x344)][_0x395f52(0x267)]},_0x13a012={'context':_0xa254f1,'width':_0x2925f6['colorTable'][_0x395f52(0x281)],'height':0x1,'pixelFormat':_0x49bd3c[_0x395f52(0x312)][_0x395f52(0x317)],'pixelDatatype':_0x49bd3c[_0x395f52(0x344)][_0x395f52(0x243)],'sampler':new _0x49bd3c[(_0x395f52(0x2cb))]({'minificationFilter':_0x49bd3c[_0x395f52(0x2c2)][_0x395f52(0x33d)],'magnificationFilter':_0x49bd3c[_0x395f52(0x32c)][_0x395f52(0x33d)]})};this[_0x395f52(0x2bf)]={'segmentsColor':_0x415184['createTexture'](_0x24055a),'segmentsDepth':_0x415184['createTexture'](_0x260386),'currentTrailsColor':_0x415184['createTexture'](_0x24055a),'currentTrailsDepth':_0x415184[_0x395f52(0x361)](_0x260386),'nextTrailsColor':_0x415184[_0x395f52(0x361)](_0x24055a),'nextTrailsDepth':_0x415184[_0x395f52(0x361)](_0x260386),'colorTable':_0x415184['createTexture'](_0x13a012,_0x2925f6[_0x395f52(0x287)][_0x395f52(0x251)])};}},{'key':'createRenderingFramebuffers','value':function(_0x54c1bd){var _0x2618ce=a0_0x21a7;this[_0x2618ce(0x2e2)]={'segments':_0x415184[_0x2618ce(0x26d)](_0x54c1bd,this['textures'][_0x2618ce(0x2c3)],this[_0x2618ce(0x2bf)]['segmentsDepth']),'currentTrails':_0x415184['createFramebuffer'](_0x54c1bd,this[_0x2618ce(0x2bf)]['currentTrailsColor'],this['textures'][_0x2618ce(0x360)]),'nextTrails':_0x415184[_0x2618ce(0x26d)](_0x54c1bd,this[_0x2618ce(0x2bf)][_0x2618ce(0x2d8)],this[_0x2618ce(0x2bf)][_0x2618ce(0x2d0)])};}},{'key':_0x2f1bee(0x32d),'value':function(_0x8b890c){var _0x3b3f9e=_0x2f1bee;for(var _0x312617=[],_0x5ab250=0x0;_0x5ab250<_0x8b890c[_0x3b3f9e(0x29f)];_0x5ab250++)for(var _0xd549c=0x0;_0xd549c<_0x8b890c[_0x3b3f9e(0x29f)];_0xd549c++)for(var _0x3ef7d0=0x0;_0x3ef7d0<0x4;_0x3ef7d0++)_0x312617['push'](_0x5ab250/_0x8b890c[_0x3b3f9e(0x29f)]),_0x312617['push'](_0xd549c/_0x8b890c[_0x3b3f9e(0x29f)]);_0x312617=new Float32Array(_0x312617);for(var _0x2c09b7=[],_0x3be118=[-0x1,0x1],_0xd799b4=[-0x1,0x1],_0x2f727b=0x0;_0x2f727b<_0x8b890c['maxParticles'];_0x2f727b++)for(var _0x7f0e8d=0x0;_0x7f0e8d<0x2;_0x7f0e8d++)for(var _0x3f09b0=0x0;_0x3f09b0<0x2;_0x3f09b0++)_0x2c09b7[_0x3b3f9e(0x32e)](_0x3be118[_0x7f0e8d]),_0x2c09b7[_0x3b3f9e(0x32e)](_0xd799b4[_0x3f09b0]),_0x2c09b7[_0x3b3f9e(0x32e)](0x0);_0x2c09b7=new Float32Array(_0x2c09b7);for(var _0x224b06=0x6*_0x8b890c[_0x3b3f9e(0x257)],_0x520b01=new Uint32Array(_0x224b06),_0x5bfb40=0x0,_0xd3b1c1=0x0,_0x5cfa82=0x0;_0x5bfb40<_0x8b890c[_0x3b3f9e(0x257)];_0x5bfb40++)_0x520b01[_0xd3b1c1++]=_0x5cfa82+0x0,_0x520b01[_0xd3b1c1++]=_0x5cfa82+0x1,_0x520b01[_0xd3b1c1++]=_0x5cfa82+0x2,_0x520b01[_0xd3b1c1++]=_0x5cfa82+0x2,_0x520b01[_0xd3b1c1++]=_0x5cfa82+0x1,_0x520b01[_0xd3b1c1++]=_0x5cfa82+0x3,_0x5cfa82+=0x4;return new _0x49bd3c[(_0x3b3f9e(0x293))]({'attributes':new _0x49bd3c['GeometryAttributes']({'st':new _0x49bd3c[(_0x3b3f9e(0x35f))]({'componentDatatype':_0x49bd3c[_0x3b3f9e(0x212)][_0x3b3f9e(0x243)],'componentsPerAttribute':0x2,'values':_0x312617}),'normal':new _0x49bd3c[(_0x3b3f9e(0x35f))]({'componentDatatype':_0x49bd3c[_0x3b3f9e(0x212)]['FLOAT'],'componentsPerAttribute':0x3,'values':_0x2c09b7})}),'indices':_0x520b01});}},{'key':'createRenderingPrimitives','value':function(_0x51c6d0,_0x40d571,_0x7e9bf4,_0x51033f){var _0x2dfd38=_0x2f1bee,_0x211d20=this;this[_0x2dfd38(0x373)]={'segments':new _0x13b2e7({'commandType':_0x2dfd38(0x1f6),'attributeLocations':{'st':0x0,'normal':0x1},'geometry':this[_0x2dfd38(0x32d)](_0x40d571),'primitiveType':_0x49bd3c['PrimitiveType'][_0x2dfd38(0x246)],'uniformMap':{'currentParticlesPosition':function(){var _0x3d1fbf=_0x2dfd38;return _0x51033f[_0x3d1fbf(0x310)][_0x3d1fbf(0x224)];},'postProcessingPosition':function(){var _0x4cf192=_0x2dfd38;return _0x51033f[_0x4cf192(0x310)]['postProcessingPosition'];},'postProcessingSpeed':function(){var _0x5ad94a=_0x2dfd38;return _0x51033f[_0x5ad94a(0x310)][_0x5ad94a(0x202)];},'colorTable':function(){var _0x5dece5=_0x2dfd38;return _0x211d20[_0x5dece5(0x2bf)]['colorTable'];},'aspect':function(){var _0x529ba5=_0x2dfd38;return _0x51c6d0[_0x529ba5(0x384)]/_0x51c6d0[_0x529ba5(0x340)];},'pixelSize':function(){return _0x7e9bf4['pixelSize'];},'lineWidth':function(){var _0x27721c=_0x2dfd38;return _0x40d571[_0x27721c(0x1f8)];},'particleHeight':function(){return _0x40d571['particleHeight'];}},'vertexShaderSource':new _0x49bd3c['ShaderSource']({'sources':[_0x1592af['a']]}),'fragmentShaderSource':new _0x49bd3c[(_0x2dfd38(0x244))]({'sources':[_0x44a7a8['a']]}),'rawRenderState':_0x415184['createRawRenderState']({'viewport':void 0x0,'depthTest':{'enabled':!0x0},'depthMask':!0x0}),'framebuffer':this[_0x2dfd38(0x2e2)][_0x2dfd38(0x213)],'autoClear':!0x0}),'trails':new _0x13b2e7({'commandType':'Draw','attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x415184[_0x2dfd38(0x2da)](),'primitiveType':_0x49bd3c[_0x2dfd38(0x315)][_0x2dfd38(0x246)],'uniformMap':{'segmentsColorTexture':function(){var _0x5afd7c=_0x2dfd38;return _0x211d20[_0x5afd7c(0x2bf)]['segmentsColor'];},'segmentsDepthTexture':function(){return _0x211d20['textures']['segmentsDepth'];},'currentTrailsColor':function(){var _0x3320e1=_0x2dfd38;return _0x211d20[_0x3320e1(0x2e2)][_0x3320e1(0x2d7)][_0x3320e1(0x27c)](0x0);},'trailsDepthTexture':function(){var _0x58a877=_0x2dfd38;return _0x211d20[_0x58a877(0x2e2)][_0x58a877(0x2d7)][_0x58a877(0x2cd)];},'fadeOpacity':function(){var _0x1cae86=_0x2dfd38;return _0x40d571[_0x1cae86(0x274)];}},'vertexShaderSource':new _0x49bd3c[(_0x2dfd38(0x244))]({'defines':[_0x2dfd38(0x23a)],'sources':[_0x1b3430['a']]}),'fragmentShaderSource':new _0x49bd3c[(_0x2dfd38(0x244))]({'defines':[_0x2dfd38(0x2f5)],'sources':[_0x4803df['a']]}),'rawRenderState':_0x415184[_0x2dfd38(0x303)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0,'func':_0x49bd3c['DepthFunction'][_0x2dfd38(0x37b)]},'depthMask':!0x0}),'framebuffer':this['framebuffers'][_0x2dfd38(0x37e)],'autoClear':!0x0,'preExecute':function(){var _0x1a9da7=_0x2dfd38,_0x2281e0;_0x2281e0=_0x211d20[_0x1a9da7(0x2e2)][_0x1a9da7(0x2d7)],_0x211d20[_0x1a9da7(0x2e2)][_0x1a9da7(0x2d7)]=_0x211d20['framebuffers'][_0x1a9da7(0x37e)],_0x211d20[_0x1a9da7(0x2e2)][_0x1a9da7(0x37e)]=_0x2281e0,_0x211d20[_0x1a9da7(0x373)][_0x1a9da7(0x37c)][_0x1a9da7(0x2fc)][_0x1a9da7(0x2af)]=_0x211d20['framebuffers'][_0x1a9da7(0x37e)],_0x211d20[_0x1a9da7(0x373)][_0x1a9da7(0x37c)][_0x1a9da7(0x2c6)][_0x1a9da7(0x2af)]=_0x211d20[_0x1a9da7(0x2e2)][_0x1a9da7(0x37e)];}}),'screen':new _0x13b2e7({'commandType':'Draw','attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x415184[_0x2dfd38(0x2da)](),'primitiveType':_0x49bd3c[_0x2dfd38(0x315)][_0x2dfd38(0x246)],'uniformMap':{'trailsColorTexture':function(){var _0x544443=_0x2dfd38;return _0x211d20['framebuffers'][_0x544443(0x37e)]['getColorTexture'](0x0);},'trailsDepthTexture':function(){var _0xd9aef2=_0x2dfd38;return _0x211d20[_0xd9aef2(0x2e2)][_0xd9aef2(0x37e)][_0xd9aef2(0x2cd)];}},'vertexShaderSource':new _0x49bd3c[(_0x2dfd38(0x244))]({'defines':[_0x2dfd38(0x23a)],'sources':[_0x1b3430['a']]}),'fragmentShaderSource':new _0x49bd3c[(_0x2dfd38(0x244))]({'defines':['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],'sources':[_0x1fe10e['a']]}),'rawRenderState':_0x415184[_0x2dfd38(0x303)]({'viewport':void 0x0,'depthTest':{'enabled':!0x1},'depthMask':!0x0,'blending':{'enabled':!0x0}}),'framebuffer':void 0x0})};}}]),_0x2d8d2d;}()),_0xc6a47a=_0x4c1724(0xf),_0x3100e8=_0x4c1724['n'](_0xc6a47a),_0x572056=_0x4c1724(0x10),_0x36a91e=_0x4c1724['n'](_0x572056),_0x15d130=_0x4c1724(0x11),_0x1c448e=_0x4c1724['n'](_0x15d130),_0x488534=_0x4c1724(0x12),_0x1bd355=_0x4c1724['n'](_0x488534),_0x1b8ac4=_0x4c1724(0x13),_0x3a09d1=_0x4c1724['n'](_0x1b8ac4),_0x4cbc19=(function(){var _0xf580dd=_0x3aa2d6;function _0xa09625(_0x18c5c7,_0x10228a,_0x317464,_0x17e307){var _0x9716bb=a0_0x21a7;_0x2bde55()(this,_0xa09625),this[_0x9716bb(0x374)]=_0x10228a,this[_0x9716bb(0x296)](_0x18c5c7,_0x10228a),this[_0x9716bb(0x37a)](_0x18c5c7,_0x317464,_0x17e307),this[_0x9716bb(0x250)](_0x10228a,_0x317464,_0x17e307);}return _0x17f393()(_0xa09625,[{'key':_0xf580dd(0x296),'value':function(_0x2883b5,_0x1c0e99){var _0x492a76=_0xf580dd,_0x1d71c2={'context':_0x2883b5,'width':_0x1c0e99['dimensions'][_0x492a76(0x2ad)],'height':_0x1c0e99['dimensions']['lat']*(_0x1c0e99[_0x492a76(0x302)]['lev']||0x1),'pixelFormat':_0x49bd3c['PixelFormat'][_0x492a76(0x2d6)],'pixelDatatype':_0x49bd3c[_0x492a76(0x344)][_0x492a76(0x243)],'flipY':!0x1,'sampler':new _0x49bd3c[(_0x492a76(0x2cb))]({'minificationFilter':_0x49bd3c['TextureMinificationFilter']['NEAREST'],'magnificationFilter':_0x49bd3c[_0x492a76(0x32c)][_0x492a76(0x2f9)]})};this[_0x492a76(0x2f4)]={'U':_0x415184['createTexture'](_0x1d71c2,_0x1c0e99['U']['array']),'V':_0x415184[_0x492a76(0x361)](_0x1d71c2,_0x1c0e99['V'][_0x492a76(0x251)])};}},{'key':_0xf580dd(0x37a),'value':function(_0x292fc8,_0x3e52b4,_0x160c47){var _0x1f59f4=_0xf580dd,_0xc9fe8b={'context':_0x292fc8,'width':_0x3e52b4[_0x1f59f4(0x29f)],'height':_0x3e52b4[_0x1f59f4(0x29f)],'pixelFormat':_0x49bd3c[_0x1f59f4(0x312)]['RGBA'],'pixelDatatype':_0x49bd3c[_0x1f59f4(0x344)]['FLOAT'],'flipY':!0x1,'sampler':new _0x49bd3c[(_0x1f59f4(0x2cb))]({'minificationFilter':_0x49bd3c['TextureMinificationFilter'][_0x1f59f4(0x2f9)],'magnificationFilter':_0x49bd3c[_0x1f59f4(0x32c)]['NEAREST']})},_0xa58a1f=this[_0x1f59f4(0x313)](_0x3e52b4[_0x1f59f4(0x257)],_0x160c47),_0xc73d5e=new Float32Array(0x4*_0x3e52b4[_0x1f59f4(0x257)])['fill'](0x0);this[_0x1f59f4(0x310)]={'particlesWind':_0x415184['createTexture'](_0xc9fe8b),'currentParticlesPosition':_0x415184[_0x1f59f4(0x361)](_0xc9fe8b,_0xa58a1f),'nextParticlesPosition':_0x415184[_0x1f59f4(0x361)](_0xc9fe8b,_0xa58a1f),'currentParticlesSpeed':_0x415184[_0x1f59f4(0x361)](_0xc9fe8b,_0xc73d5e),'nextParticlesSpeed':_0x415184['createTexture'](_0xc9fe8b,_0xc73d5e),'postProcessingPosition':_0x415184[_0x1f59f4(0x361)](_0xc9fe8b,_0xa58a1f),'postProcessingSpeed':_0x415184[_0x1f59f4(0x361)](_0xc9fe8b,_0xc73d5e)};}},{'key':_0xf580dd(0x313),'value':function(_0x2c0461,_0x1686b3){var _0x420bc7=_0xf580dd;for(var _0x15e3d9=new Float32Array(0x4*_0x2c0461),_0x39e6b6=0x0;_0x39e6b6<_0x2c0461;_0x39e6b6++)_0x15e3d9[0x4*_0x39e6b6]=_0x49bd3c[_0x420bc7(0x286)][_0x420bc7(0x292)](_0x1686b3['lonRange']['x'],_0x1686b3[_0x420bc7(0x2be)]['y']),_0x15e3d9[0x4*_0x39e6b6+0x1]=_0x49bd3c[_0x420bc7(0x286)][_0x420bc7(0x292)](_0x1686b3[_0x420bc7(0x368)]['x'],_0x1686b3[_0x420bc7(0x368)]['y']),_0x15e3d9[0x4*_0x39e6b6+0x2]=_0x49bd3c[_0x420bc7(0x286)][_0x420bc7(0x292)](this[_0x420bc7(0x374)][_0x420bc7(0x369)][_0x420bc7(0x26a)],this['data']['lev'][_0x420bc7(0x2a0)]),_0x15e3d9[0x4*_0x39e6b6+0x3]=0x0;return _0x15e3d9;}},{'key':_0xf580dd(0x297),'value':function(){var _0x169d7d=_0xf580dd,_0x1283aa=this;Object[_0x169d7d(0x280)](this[_0x169d7d(0x310)])['forEach'](function(_0x4aba6b){_0x1283aa['particlesTextures'][_0x4aba6b]['destroy']();});}},{'key':_0xf580dd(0x250),'value':function(_0x5dabb9,_0x24d957,_0x3923c4){var _0x33cdd7=_0xf580dd,_0x1da96d=new _0x49bd3c[(_0x33cdd7(0x262))](_0x5dabb9[_0x33cdd7(0x302)][_0x33cdd7(0x2ad)],_0x5dabb9[_0x33cdd7(0x302)][_0x33cdd7(0x2f2)],_0x5dabb9[_0x33cdd7(0x302)][_0x33cdd7(0x369)]),_0xf608c2=new _0x49bd3c[(_0x33cdd7(0x262))](_0x5dabb9[_0x33cdd7(0x2ad)][_0x33cdd7(0x26a)],_0x5dabb9[_0x33cdd7(0x2f2)][_0x33cdd7(0x26a)],_0x5dabb9['lev'][_0x33cdd7(0x26a)]),_0x348e67=new _0x49bd3c[(_0x33cdd7(0x262))](_0x5dabb9[_0x33cdd7(0x2ad)][_0x33cdd7(0x2a0)],_0x5dabb9['lat'][_0x33cdd7(0x2a0)],_0x5dabb9[_0x33cdd7(0x369)]['max']),_0x1e5186=new _0x49bd3c[(_0x33cdd7(0x262))]((_0x348e67['x']-_0xf608c2['x'])/(_0x1da96d['x']-0x1),(_0x348e67['y']-_0xf608c2['y'])/(_0x1da96d['y']-0x1),_0x1da96d['z']>0x1?(_0x348e67['z']-_0xf608c2['z'])/(_0x1da96d['z']-0x1):0x1),_0x304660=new _0x49bd3c[(_0x33cdd7(0x200))](_0x5dabb9['U'][_0x33cdd7(0x26a)],_0x5dabb9['U'][_0x33cdd7(0x2a0)]),_0x1096bc=new _0x49bd3c[(_0x33cdd7(0x200))](_0x5dabb9['V']['min'],_0x5dabb9['V'][_0x33cdd7(0x2a0)]),_0x477848=this;this[_0x33cdd7(0x373)]={'getWind':new _0x13b2e7({'commandType':'Compute','uniformMap':{'U':function(){return _0x477848['windTextures']['U'];},'V':function(){var _0x498dea=_0x33cdd7;return _0x477848[_0x498dea(0x2f4)]['V'];},'currentParticlesPosition':function(){var _0xb299f8=_0x33cdd7;return _0x477848['particlesTextures'][_0xb299f8(0x224)];},'dimension':function(){return _0x1da96d;},'minimum':function(){return _0xf608c2;},'maximum':function(){return _0x348e67;},'interval':function(){return _0x1e5186;}},'fragmentShaderSource':new _0x49bd3c[(_0x33cdd7(0x244))]({'sources':[_0x3100e8['a']]}),'outputTexture':this[_0x33cdd7(0x310)][_0x33cdd7(0x32a)],'preExecute':function(){var _0x4c6204=_0x33cdd7;_0x477848['primitives'][_0x4c6204(0x359)][_0x4c6204(0x2fc)][_0x4c6204(0x35d)]=_0x477848[_0x4c6204(0x310)][_0x4c6204(0x32a)];}}),'updateSpeed':new _0x13b2e7({'commandType':_0x33cdd7(0x353),'uniformMap':{'currentParticlesSpeed':function(){return _0x477848['particlesTextures']['currentParticlesSpeed'];},'particlesWind':function(){var _0xed1ffe=_0x33cdd7;return _0x477848[_0xed1ffe(0x310)][_0xed1ffe(0x32a)];},'uSpeedRange':function(){return _0x304660;},'vSpeedRange':function(){return _0x1096bc;},'pixelSize':function(){return _0x3923c4['pixelSize'];},'speedFactor':function(){return _0x24d957['speedFactor'];}},'fragmentShaderSource':new _0x49bd3c['ShaderSource']({'sources':[_0x36a91e['a']]}),'outputTexture':this[_0x33cdd7(0x310)]['nextParticlesSpeed'],'preExecute':function(){var _0xb572e9=_0x33cdd7,_0x2abe4d;_0x2abe4d=_0x477848[_0xb572e9(0x310)][_0xb572e9(0x346)],_0x477848[_0xb572e9(0x310)][_0xb572e9(0x346)]=_0x477848[_0xb572e9(0x310)]['postProcessingSpeed'],_0x477848['particlesTextures']['postProcessingSpeed']=_0x2abe4d,_0x477848[_0xb572e9(0x373)][_0xb572e9(0x2cc)]['commandToExecute']['outputTexture']=_0x477848[_0xb572e9(0x310)][_0xb572e9(0x388)];}}),'updatePosition':new _0x13b2e7({'commandType':'Compute','uniformMap':{'currentParticlesPosition':function(){var _0x43331e=_0x33cdd7;return _0x477848['particlesTextures'][_0x43331e(0x224)];},'currentParticlesSpeed':function(){var _0x3f9461=_0x33cdd7;return _0x477848[_0x3f9461(0x310)][_0x3f9461(0x346)];}},'fragmentShaderSource':new _0x49bd3c[(_0x33cdd7(0x244))]({'sources':[_0x1c448e['a']]}),'outputTexture':this[_0x33cdd7(0x310)][_0x33cdd7(0x2de)],'preExecute':function(){var _0x153e35=_0x33cdd7,_0x1b4e5c;_0x1b4e5c=_0x477848['particlesTextures'][_0x153e35(0x224)],_0x477848[_0x153e35(0x310)]['currentParticlesPosition']=_0x477848['particlesTextures'][_0x153e35(0x365)],_0x477848[_0x153e35(0x310)][_0x153e35(0x365)]=_0x1b4e5c,_0x477848[_0x153e35(0x373)][_0x153e35(0x217)]['commandToExecute']['outputTexture']=_0x477848[_0x153e35(0x310)][_0x153e35(0x2de)];}}),'postProcessingPosition':new _0x13b2e7({'commandType':_0x33cdd7(0x353),'uniformMap':{'nextParticlesPosition':function(){var _0x2c1422=_0x33cdd7;return _0x477848[_0x2c1422(0x310)][_0x2c1422(0x2de)];},'nextParticlesSpeed':function(){var _0x369c57=_0x33cdd7;return _0x477848[_0x369c57(0x310)][_0x369c57(0x388)];},'lonRange':function(){var _0x52edc0=_0x33cdd7;return _0x3923c4[_0x52edc0(0x2be)];},'latRange':function(){var _0x3b4b53=_0x33cdd7;return _0x3923c4[_0x3b4b53(0x368)];},'randomCoefficient':function(){var _0x4c7c96=Math['random']();return _0x4c7c96;},'dropRate':function(){var _0x427549=_0x33cdd7;return _0x24d957[_0x427549(0x2fe)];},'dropRateBump':function(){var _0x7fec4e=_0x33cdd7;return _0x24d957[_0x7fec4e(0x21d)];}},'fragmentShaderSource':new _0x49bd3c[(_0x33cdd7(0x244))]({'sources':[_0x1bd355['a']]}),'outputTexture':this[_0x33cdd7(0x310)][_0x33cdd7(0x365)],'preExecute':function(){var _0x69846f=_0x33cdd7;_0x477848['primitives'][_0x69846f(0x365)][_0x69846f(0x2fc)][_0x69846f(0x35d)]=_0x477848['particlesTextures'][_0x69846f(0x365)];}}),'postProcessingSpeed':new _0x13b2e7({'commandType':_0x33cdd7(0x353),'uniformMap':{'postProcessingPosition':function(){var _0x2f5de7=_0x33cdd7;return _0x477848[_0x2f5de7(0x310)]['postProcessingPosition'];},'nextParticlesSpeed':function(){var _0xb63d73=_0x33cdd7;return _0x477848[_0xb63d73(0x310)][_0xb63d73(0x388)];}},'fragmentShaderSource':new _0x49bd3c[(_0x33cdd7(0x244))]({'sources':[_0x3a09d1['a']]}),'outputTexture':this[_0x33cdd7(0x310)]['postProcessingSpeed'],'preExecute':function(){var _0x423bd1=_0x33cdd7;_0x477848[_0x423bd1(0x373)][_0x423bd1(0x202)][_0x423bd1(0x2fc)][_0x423bd1(0x35d)]=_0x477848['particlesTextures'][_0x423bd1(0x202)];}})};}}]),_0xa09625;}());function _0x2610f9(_0x476270,_0x527594){var _0x1d444e=_0x3aa2d6,_0x223edb=Object[_0x1d444e(0x280)](_0x476270);if(Object[_0x1d444e(0x204)]){var _0x134765=Object[_0x1d444e(0x204)](_0x476270);_0x527594&&(_0x134765=_0x134765[_0x1d444e(0x273)](function(_0x5d648a){var _0x58eea7=_0x1d444e;return Object[_0x58eea7(0x20f)](_0x476270,_0x5d648a)['enumerable'];})),_0x223edb[_0x1d444e(0x32e)][_0x1d444e(0x2c7)](_0x223edb,_0x134765);}return _0x223edb;}var _0x46798b=(function(){var _0x58e098=_0x3aa2d6;function _0x3f751f(_0x39b07d,_0x962225,_0x57352e,_0x331ba6){var _0x2eb100=a0_0x21a7,_0x260b2b,_0x418759,_0x7a1b7f,_0xd37657,_0xf354a5,_0x13fc76;(_0x2bde55()(this,_0x3f751f),this[_0x2eb100(0x30c)]=_0x39b07d,(_0x962225=function(_0x39d7ab){var _0x5d6773=_0x2eb100;for(var _0xdc8790=0x1;_0xdc8790<arguments[_0x5d6773(0x25e)];_0xdc8790++){var _0x3f66cd=null!=arguments[_0xdc8790]?arguments[_0xdc8790]:{};_0xdc8790%0x2?_0x2610f9(Object(_0x3f66cd),!0x0)[_0x5d6773(0x33e)](function(_0x1810ac){_0x32db15()(_0x39d7ab,_0x1810ac,_0x3f66cd[_0x1810ac]);}):Object[_0x5d6773(0x2b4)]?Object[_0x5d6773(0x2f3)](_0x39d7ab,Object[_0x5d6773(0x2b4)](_0x3f66cd)):_0x2610f9(Object(_0x3f66cd))[_0x5d6773(0x33e)](function(_0x52a2ec){var _0x37a2bf=_0x5d6773;Object[_0x37a2bf(0x32b)](_0x39d7ab,_0x52a2ec,Object[_0x37a2bf(0x20f)](_0x3f66cd,_0x52a2ec));});}return _0x39d7ab;}({},_0x962225))[_0x2eb100(0x214)]&&_0x962225[_0x2eb100(0x389)])&&(_0x962225['dimensions']={},_0x962225[_0x2eb100(0x302)]['lon']=_0x962225[_0x2eb100(0x219)],_0x962225['dimensions']['lat']=_0x962225[_0x2eb100(0x30e)],_0x962225[_0x2eb100(0x302)][_0x2eb100(0x369)]=_0x962225[_0x2eb100(0x369)]||0x1,_0x962225[_0x2eb100(0x2ad)]={},_0x962225[_0x2eb100(0x2ad)]['min']=_0x962225[_0x2eb100(0x22c)],_0x962225[_0x2eb100(0x2ad)][_0x2eb100(0x2a0)]=_0x962225['xmax'],_0x962225[_0x2eb100(0x2f2)]={},_0x962225[_0x2eb100(0x2f2)][_0x2eb100(0x26a)]=_0x962225[_0x2eb100(0x242)],_0x962225['lat'][_0x2eb100(0x2a0)]=_0x962225[_0x2eb100(0x2ac)],_0x962225[_0x2eb100(0x369)]={},_0x962225[_0x2eb100(0x369)]['min']=null!==(_0x260b2b=_0x962225['levmin'])&&void 0x0!==_0x260b2b?_0x260b2b:0x1,_0x962225[_0x2eb100(0x369)][_0x2eb100(0x2a0)]=null!==(_0x418759=_0x962225['levmax'])&&void 0x0!==_0x418759?_0x418759:0x1,_0x962225['U']={},_0x962225['U'][_0x2eb100(0x251)]=new Float32Array(_0x962225['udata']),_0x962225['U'][_0x2eb100(0x26a)]=null!==(_0x7a1b7f=_0x962225[_0x2eb100(0x305)])&&void 0x0!==_0x7a1b7f?_0x7a1b7f:Math['min']['apply'](Math,_0xdfd249()(_0x962225[_0x2eb100(0x214)])),_0x962225['U'][_0x2eb100(0x2a0)]=null!==(_0xd37657=_0x962225['umax'])&&void 0x0!==_0xd37657?_0xd37657:Math[_0x2eb100(0x2a0)][_0x2eb100(0x2c7)](Math,_0xdfd249()(_0x962225[_0x2eb100(0x214)])),_0x962225['V']={},_0x962225['V'][_0x2eb100(0x251)]=new Float32Array(_0x962225[_0x2eb100(0x389)]),_0x962225['V']['min']=null!==(_0xf354a5=_0x962225['vmin'])&&void 0x0!==_0xf354a5?_0xf354a5:Math[_0x2eb100(0x26a)][_0x2eb100(0x2c7)](Math,_0xdfd249()(_0x962225[_0x2eb100(0x389)])),_0x962225['V'][_0x2eb100(0x2a0)]=null!==(_0x13fc76=_0x962225[_0x2eb100(0x2ff)])&&void 0x0!==_0x13fc76?_0x13fc76:Math[_0x2eb100(0x2a0)][_0x2eb100(0x2c7)](Math,_0xdfd249()(_0x962225[_0x2eb100(0x389)])));if(_0x962225['colorTable']||_0x962225[_0x2eb100(0x239)]||(_0x962225['colors']=['rgb(206,255,255)']),_0x962225[_0x2eb100(0x239)]){for(var _0x3bd2ae=_0x962225['colors'][_0x2eb100(0x25e)],_0x2c669c=new Float32Array(0x3*_0x3bd2ae),_0x3d60ea=0x0;_0x3d60ea<_0x3bd2ae;_0x3d60ea++){var _0x4e7ce4=_0x49bd3c[_0x2eb100(0x220)][_0x2eb100(0x249)](_0x962225['colors'][_0x3d60ea]);_0x2c669c[0x3*_0x3d60ea]=_0x4e7ce4[_0x2eb100(0x2ae)],_0x2c669c[0x3*_0x3d60ea+0x1]=_0x4e7ce4[_0x2eb100(0x231)],_0x2c669c[0x3*_0x3d60ea+0x2]=_0x4e7ce4[_0x2eb100(0x2e6)];}_0x962225['colorTable']={'colorNum':_0x3bd2ae,'array':_0x2c669c};}this[_0x2eb100(0x374)]=_0x962225,this[_0x2eb100(0x225)]=_0x57352e,this['viewerParameters']=_0x331ba6,this[_0x2eb100(0x266)]=new _0x4cbc19(this[_0x2eb100(0x30c)],this['data'],this[_0x2eb100(0x225)],this[_0x2eb100(0x2e1)]),this[_0x2eb100(0x277)]=new _0x46ed5e(this['context'],this['data'],this[_0x2eb100(0x225)],this['viewerParameters'],this[_0x2eb100(0x266)]);}return _0x17f393()(_0x3f751f,[{'key':_0x58e098(0x279),'value':function(_0x29711e){var _0x16b12c=_0x58e098,_0x2feb5a=this;this[_0x16b12c(0x266)][_0x16b12c(0x297)](),Object[_0x16b12c(0x280)](this[_0x16b12c(0x266)]['windTextures'])[_0x16b12c(0x33e)](function(_0x4936f6){var _0xb6edae=_0x16b12c;_0x2feb5a[_0xb6edae(0x266)][_0xb6edae(0x2f4)][_0x4936f6][_0xb6edae(0x318)]();}),this[_0x16b12c(0x277)][_0x16b12c(0x2bf)]['colorTable'][_0x16b12c(0x318)](),Object[_0x16b12c(0x280)](this[_0x16b12c(0x277)][_0x16b12c(0x2e2)])[_0x16b12c(0x33e)](function(_0xe3014c){_0x2feb5a['particlesRendering']['framebuffers'][_0xe3014c]['destroy']();}),this[_0x16b12c(0x30c)]=_0x29711e,this[_0x16b12c(0x266)]=new _0x4cbc19(this[_0x16b12c(0x30c)],this['data'],this[_0x16b12c(0x225)],this[_0x16b12c(0x2e1)]),this[_0x16b12c(0x277)]=new _0x46ed5e(this[_0x16b12c(0x30c)],this['data'],this[_0x16b12c(0x225)],this[_0x16b12c(0x2e1)],this[_0x16b12c(0x266)]);}},{'key':_0x58e098(0x27a),'value':function(){var _0x188cce=_0x58e098,_0x54d298=this,_0x3bc277=new _0x49bd3c[(_0x188cce(0x27d))]({'color':new _0x49bd3c[(_0x188cce(0x220))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':void 0x0,'pass':_0x49bd3c[_0x188cce(0x2b5)][_0x188cce(0x363)]});Object['keys'](this[_0x188cce(0x277)][_0x188cce(0x2e2)])[_0x188cce(0x33e)](function(_0x152193){var _0x448cba=_0x188cce;_0x3bc277['framebuffer']=_0x54d298[_0x448cba(0x277)]['framebuffers'][_0x152193],_0x3bc277[_0x448cba(0x34a)](_0x54d298['context']);});}},{'key':_0x58e098(0x2ba),'value':function(_0x120627){var _0x1af004=_0x58e098;if(this[_0x1af004(0x27a)](),this['particlesComputing']['destroyParticlesTextures'](),this['particlesComputing'][_0x1af004(0x37a)](this[_0x1af004(0x30c)],this[_0x1af004(0x225)],this[_0x1af004(0x2e1)]),_0x120627){var _0x1a7804=this[_0x1af004(0x277)][_0x1af004(0x32d)](this[_0x1af004(0x225)]);this[_0x1af004(0x277)]['primitives']['segments'][_0x1af004(0x30b)]=_0x1a7804;var _0x563016=_0x49bd3c[_0x1af004(0x31f)][_0x1af004(0x38a)]({'context':this[_0x1af004(0x30c)],'geometry':_0x1a7804,'attributeLocations':this['particlesRendering']['primitives'][_0x1af004(0x213)]['attributeLocations'],'bufferUsage':_0x49bd3c['BufferUsage']['STATIC_DRAW']});this[_0x1af004(0x277)][_0x1af004(0x373)][_0x1af004(0x213)][_0x1af004(0x2fc)][_0x1af004(0x208)]=_0x563016;}}},{'key':_0x58e098(0x2a5),'value':function(_0x27338b){var _0x1cf2df=_0x58e098,_0x49cf5b=this,_0x5d620f=!0x1;this['userInput']['maxParticles']!=_0x27338b[_0x1cf2df(0x257)]&&(_0x5d620f=!0x0),Object['keys'](_0x27338b)[_0x1cf2df(0x33e)](function(_0x3b6a82){var _0x1aa04c=_0x1cf2df;_0x49cf5b[_0x1aa04c(0x225)][_0x3b6a82]=_0x27338b[_0x3b6a82];}),this[_0x1cf2df(0x2ba)](_0x5d620f);}},{'key':_0x58e098(0x33c),'value':function(_0x390951){var _0x377226=_0x58e098,_0x5e3412=this;Object[_0x377226(0x280)](_0x390951)[_0x377226(0x33e)](function(_0x39d25b){var _0x47a4cb=_0x377226;_0x5e3412[_0x47a4cb(0x2e1)][_0x39d25b]=_0x390951[_0x39d25b];}),this['refreshParticles'](!0x1);}}]),_0x3f751f;}());function _0x22bae2(_0x2dfc0f){var _0x69ac29=(function(){var _0x17d972=a0_0x21a7;if(_0x17d972(0x343)==typeof Reflect||!Reflect[_0x17d972(0x24b)])return!0x1;if(Reflect['construct'][_0x17d972(0x2a4)])return!0x1;if(_0x17d972(0x23b)==typeof Proxy)return!0x0;try{return Boolean[_0x17d972(0x35a)][_0x17d972(0x1f9)][_0x17d972(0x233)](Reflect[_0x17d972(0x24b)](Boolean,[],function(){})),!0x0;}catch(_0x464514){return!0x1;}}());return function(){var _0x10110f=a0_0x21a7,_0x3d155c,_0x2e1f5=_0x3bd9d4()(_0x2dfc0f);if(_0x69ac29){var _0x225dd7=_0x3bd9d4()(this)[_0x10110f(0x2a7)];_0x3d155c=Reflect['construct'](_0x2e1f5,arguments,_0x225dd7);}else _0x3d155c=_0x2e1f5['apply'](this,arguments);return _0x4d18bd()(this,_0x3d155c);};}var _0x5e8848=_0x11e886[_0x3aa2d6(0x24e)][_0x3aa2d6(0x264)],_0x3bcfa4=0x1000,_0x1c5814=0x0,_0xf9563c=0.996,_0x10b685=0.003,_0x2d3df9=0.01,_0x3cc49c=0.5,_0x57aefa=0x2,_0x109e9d=function(_0x1bca73){var _0x5843da=_0x3aa2d6;_0x5d1b83()(_0x48e9d3,_0x1bca73);var _0x1486e2=_0x22bae2(_0x48e9d3);function _0x48e9d3(){var _0x1eb31c=a0_0x21a7,_0x2237a7,_0x1a3784=arguments['length']>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x2bde55()(this,_0x48e9d3),(_0x2237a7=_0x1486e2[_0x1eb31c(0x233)](this,_0x1a3784))[_0x1eb31c(0x218)]=_0x3bcfa4,_0x2237a7[_0x1eb31c(0x21f)]=_0x1c5814,_0x2237a7[_0x1eb31c(0x274)]=_0xf9563c,_0x2237a7[_0x1eb31c(0x2fe)]=_0x10b685,_0x2237a7[_0x1eb31c(0x21d)]=_0x2d3df9,_0x2237a7[_0x1eb31c(0x21e)]=_0x3cc49c,_0x2237a7[_0x1eb31c(0x1f8)]=_0x57aefa,_0x2237a7[_0x1eb31c(0x309)](_0x1a3784),_0x2237a7;}return _0x17f393()(_0x48e9d3,[{'key':_0x5843da(0x24e),'get':function(){return this['primitives'];}},{'key':_0x5843da(0x374),'get':function(){var _0x11c502=_0x5843da;return this[_0x11c502(0x285)]['data'];},'set':function(_0x163587){var _0x5e81dc=_0x5843da;this[_0x5e81dc(0x24a)](_0x163587);}},{'key':_0x5843da(0x309),'value':function(_0x556715){if(_0x556715){for(var _0x2b1774 in _0x556715)this[_0x2b1774]=_0x556715[_0x2b1774];}}},{'key':_0x5843da(0x2e3),'value':function(){}},{'key':_0x5843da(0x326),'value':function(){var _0xa1ddc=_0x5843da;this[_0xa1ddc(0x2f7)]=this[_0xa1ddc(0x327)][_0xa1ddc(0x2f7)],this['camera']=this[_0xa1ddc(0x327)][_0xa1ddc(0x21a)],this['primitives']=new _0x49bd3c[(_0xa1ddc(0x2ec))](),this[_0xa1ddc(0x327)][_0xa1ddc(0x2f7)][_0xa1ddc(0x373)]['add'](this['primitives']),this[_0xa1ddc(0x2e1)]={'lonRange':new _0x49bd3c[(_0xa1ddc(0x200))](),'latRange':new _0x49bd3c[(_0xa1ddc(0x200))](),'pixelSize':0x0},this[_0xa1ddc(0x2e8)]=new _0x49bd3c[(_0xa1ddc(0x20a))](_0x49bd3c[_0xa1ddc(0x262)][_0xa1ddc(0x323)],6314355.63),this[_0xa1ddc(0x276)](),window[_0xa1ddc(0x238)](_0xa1ddc(0x375),this['resize']['bind'](this),!0x1),this['mouse_down']=!0x1,this[_0xa1ddc(0x355)]=!0x1,this[_0xa1ddc(0x327)]['on'](_0x11e886[_0xa1ddc(0x332)][_0xa1ddc(0x37d)],this['_onMapWhellEvent'],this),this[_0xa1ddc(0x327)]['on'](_0x11e886[_0xa1ddc(0x332)][_0xa1ddc(0x31a)],this[_0xa1ddc(0x240)],this),this['_map']['on'](_0x11e886[_0xa1ddc(0x332)][_0xa1ddc(0x236)],this['_onMouseUpEvent'],this),this['_map']['on'](_0x11e886[_0xa1ddc(0x332)][_0xa1ddc(0x357)],this[_0xa1ddc(0x33f)],this),this[_0xa1ddc(0x285)][_0xa1ddc(0x374)]&&this[_0xa1ddc(0x24a)](this[_0xa1ddc(0x285)]['data']);}},{'key':_0x5843da(0x21b),'value':function(){var _0x37ca91=_0x5843da;window[_0x37ca91(0x2b9)]('resize',this[_0x37ca91(0x375)]),this['_map'][_0x37ca91(0x314)](_0x11e886[_0x37ca91(0x332)][_0x37ca91(0x1f4)],this[_0x37ca91(0x201)],this),this[_0x37ca91(0x327)][_0x37ca91(0x314)](_0x11e886[_0x37ca91(0x332)]['wheel'],this['_onMapWhellEvent'],this),this[_0x37ca91(0x327)]['off'](_0x11e886[_0x37ca91(0x332)][_0x37ca91(0x31a)],this['_onMouseDownEvent'],this),this['_map']['off'](_0x11e886[_0x37ca91(0x332)][_0x37ca91(0x236)],this[_0x37ca91(0x25f)],this),this['_map'][_0x37ca91(0x314)](_0x11e886[_0x37ca91(0x332)][_0x37ca91(0x357)],this[_0x37ca91(0x33f)],this),this[_0x37ca91(0x373)][_0x37ca91(0x2f8)](),this['_map'][_0x37ca91(0x2f7)]['primitives'][_0x37ca91(0x2db)](this[_0x37ca91(0x373)]);}},{'key':'resize','value':function(){var _0x2cfb9f=_0x5843da;this['show']&&this[_0x2cfb9f(0x308)]&&(this[_0x2cfb9f(0x373)][_0x2cfb9f(0x385)]=!0x1,this['primitives']['removeAll'](),this[_0x2cfb9f(0x327)][_0x2cfb9f(0x229)](_0x11e886[_0x2cfb9f(0x332)][_0x2cfb9f(0x1f4)],this['_onMap_preRenderEvent'],this));}},{'key':_0x5843da(0x201),'value':function(_0x510f59){var _0x51a8e5=_0x5843da;this[_0x51a8e5(0x308)][_0x51a8e5(0x279)](this['scene'][_0x51a8e5(0x30c)]),this[_0x51a8e5(0x211)](),this['primitives']['show']=!0x0;}},{'key':_0x5843da(0x1ff),'value':function(_0x12e869){var _0x442909=_0x5843da,_0x5dd0bf=this;clearTimeout(this[_0x442909(0x337)]),this['show']&&this[_0x442909(0x308)]&&(this[_0x442909(0x373)][_0x442909(0x385)]=!0x1,this[_0x442909(0x337)]=setTimeout(function(){var _0x2f0d4d=_0x442909;_0x5dd0bf[_0x2f0d4d(0x385)]&&_0x5dd0bf[_0x2f0d4d(0x1fd)]();},0xc8));}},{'key':_0x5843da(0x240),'value':function(_0x1f678e){var _0x1e78fd=_0x5843da;this[_0x1e78fd(0x347)]=!0x0;}},{'key':_0x5843da(0x33f),'value':function(_0x2393a2){var _0x1e6148=_0x5843da;this[_0x1e6148(0x385)]&&this[_0x1e6148(0x308)]&&this[_0x1e6148(0x347)]&&(this[_0x1e6148(0x373)][_0x1e6148(0x385)]=!0x1,this[_0x1e6148(0x355)]=!0x0);}},{'key':_0x5843da(0x25f),'value':function(_0x4c9097){var _0x50c3e7=_0x5843da;this[_0x50c3e7(0x385)]&&this[_0x50c3e7(0x308)]&&(this[_0x50c3e7(0x347)]&&this[_0x50c3e7(0x355)]&&this[_0x50c3e7(0x1fd)](),this[_0x50c3e7(0x373)][_0x50c3e7(0x385)]=!0x0,this['mouse_down']=!0x1,this[_0x50c3e7(0x355)]=!0x1);}},{'key':_0x5843da(0x1fd),'value':function(){var _0x49c718=_0x5843da;this['_map']&&this[_0x49c718(0x385)]&&(this[_0x49c718(0x276)](),this[_0x49c718(0x308)][_0x49c718(0x33c)](this[_0x49c718(0x2e1)]),this[_0x49c718(0x373)]['show']=!0x0);}},{'key':_0x5843da(0x24a),'value':function(_0x5761ff){var _0x137cb3=_0x5843da;this['options'][_0x137cb3(0x374)]=_0x5761ff,this[_0x137cb3(0x308)]=new _0x46798b(this['scene']['context'],_0x5761ff,this[_0x137cb3(0x22d)](),this['viewerParameters']),this[_0x137cb3(0x211)]();}},{'key':_0x5843da(0x31b),'value':function(_0x2fb88c){var _0x19481e=_0x5843da;if(_0x2fb88c){for(var _0x20f5ef in _0x2fb88c)this[_0x20f5ef]=_0x2fb88c[_0x20f5ef];}return this['particleSystem']&&this[_0x19481e(0x308)][_0x19481e(0x2a5)](this[_0x19481e(0x22d)]()),this;}},{'key':_0x5843da(0x22d),'value':function(){var _0x19b07b=_0x5843da,_0xfe9076=Math[_0x19b07b(0x29c)](Math['sqrt'](this['particlesNumber']));return this[_0x19b07b(0x218)]=_0xfe9076*_0xfe9076,{'particlesTextureSize':_0xfe9076,'maxParticles':this[_0x19b07b(0x218)],'particleHeight':this['fixedHeight'],'fadeOpacity':this[_0x19b07b(0x274)],'dropRate':this[_0x19b07b(0x2fe)],'dropRateBump':this[_0x19b07b(0x21d)],'speedFactor':this[_0x19b07b(0x21e)],'lineWidth':this[_0x19b07b(0x1f8)],'globeLayer':this[_0x19b07b(0x351)],'WMS_URL':this[_0x19b07b(0x235)]};}},{'key':'addPrimitives','value':function(){var _0x45fc4c=_0x5843da;this[_0x45fc4c(0x373)][_0x45fc4c(0x2bb)](this['particleSystem'][_0x45fc4c(0x266)]['primitives']['getWind']),this[_0x45fc4c(0x373)][_0x45fc4c(0x2bb)](this[_0x45fc4c(0x308)][_0x45fc4c(0x266)][_0x45fc4c(0x373)][_0x45fc4c(0x2cc)]),this[_0x45fc4c(0x373)]['add'](this['particleSystem']['particlesComputing'][_0x45fc4c(0x373)]['updatePosition']),this[_0x45fc4c(0x373)][_0x45fc4c(0x2bb)](this['particleSystem']['particlesComputing'][_0x45fc4c(0x373)][_0x45fc4c(0x365)]),this[_0x45fc4c(0x373)][_0x45fc4c(0x2bb)](this[_0x45fc4c(0x308)][_0x45fc4c(0x266)][_0x45fc4c(0x373)]['postProcessingSpeed']),this[_0x45fc4c(0x373)][_0x45fc4c(0x2bb)](this[_0x45fc4c(0x308)]['particlesRendering'][_0x45fc4c(0x373)][_0x45fc4c(0x213)]),this[_0x45fc4c(0x373)][_0x45fc4c(0x2bb)](this[_0x45fc4c(0x308)][_0x45fc4c(0x277)][_0x45fc4c(0x373)][_0x45fc4c(0x37c)]),this[_0x45fc4c(0x373)][_0x45fc4c(0x2bb)](this[_0x45fc4c(0x308)]['particlesRendering'][_0x45fc4c(0x373)][_0x45fc4c(0x2ea)]);}},{'key':'updateViewerParameters','value':function(){var _0x9e4a2e=_0x5843da,_0x4c5ab8=this['camera'][_0x9e4a2e(0x356)](this['scene'][_0x9e4a2e(0x25c)][_0x9e4a2e(0x33b)]);if(!_0x4c5ab8){var _0x35eee3=this[_0x9e4a2e(0x327)][_0x9e4a2e(0x1fb)]();_0x4c5ab8=_0x49bd3c[_0x9e4a2e(0x376)][_0x9e4a2e(0x221)](_0x35eee3[_0x9e4a2e(0x22c)],_0x35eee3[_0x9e4a2e(0x242)],_0x35eee3['xmax'],_0x35eee3[_0x9e4a2e(0x2ac)]);}var _0x38fbab=_0x415184[_0x9e4a2e(0x258)](_0x4c5ab8);this[_0x9e4a2e(0x2e1)][_0x9e4a2e(0x2be)]['x']=_0x38fbab['lon'][_0x9e4a2e(0x26a)],this[_0x9e4a2e(0x2e1)][_0x9e4a2e(0x2be)]['y']=_0x38fbab['lon'][_0x9e4a2e(0x2a0)],this['viewerParameters']['latRange']['x']=_0x38fbab[_0x9e4a2e(0x2f2)][_0x9e4a2e(0x26a)],this[_0x9e4a2e(0x2e1)]['latRange']['y']=_0x38fbab['lat'][_0x9e4a2e(0x2a0)];var _0x9d66a=this[_0x9e4a2e(0x21a)][_0x9e4a2e(0x339)](this['globeBoundingSphere'],this[_0x9e4a2e(0x2f7)][_0x9e4a2e(0x384)],this[_0x9e4a2e(0x2f7)][_0x9e4a2e(0x340)]);_0x9d66a>0x0&&(this[_0x9e4a2e(0x2e1)][_0x9e4a2e(0x27e)]=_0x9d66a);}}]),_0x48e9d3;}(_0x5e8848);_0x11e886[_0x3aa2d6(0x2e9)][_0x3aa2d6(0x36a)]('wind',_0x109e9d),_0x11e886[_0x3aa2d6(0x24e)][_0x3aa2d6(0x256)]=_0x109e9d;var _0x50ea5e=_0x17f393()(function _0x2322c6(){var _0x8f79b9=_0x3aa2d6;_0x2bde55()(this,_0x2322c6),this[_0x8f79b9(0x2d1)]=null,this['lat']=null,this[_0x8f79b9(0x35e)]=null,this[_0x8f79b9(0x222)]=null,this[_0x8f79b9(0x300)]=null;}),_0xf36a12=(function(){var _0x23d3b2=_0x3aa2d6;function _0x4d6956(_0x13ca1c,_0x142c3c){var _0x225fb3=a0_0x21a7;_0x2bde55()(this,_0x4d6956),this['rows']=_0x13ca1c[_0x225fb3(0x30e)],this[_0x225fb3(0x219)]=_0x13ca1c['cols'],this[_0x225fb3(0x22c)]=_0x13ca1c['xmin'],this[_0x225fb3(0x2a8)]=_0x13ca1c[_0x225fb3(0x2a8)],this[_0x225fb3(0x242)]=_0x13ca1c['ymin'],this[_0x225fb3(0x2ac)]=_0x13ca1c[_0x225fb3(0x2ac)],this[_0x225fb3(0x370)]=[];var _0x589c01=_0x13ca1c[_0x225fb3(0x214)],_0x2eb19a=_0x13ca1c[_0x225fb3(0x389)],_0x418298=!0x1;_0x589c01['length']===this[_0x225fb3(0x30e)]&&_0x589c01[0x0][_0x225fb3(0x25e)]===this[_0x225fb3(0x219)]&&(_0x418298=!0x0);for(var _0x30b18e=0x0,_0x398762=null,_0x4d0004=null,_0x1dade6=0x0;_0x1dade6<this['rows'];_0x1dade6++){_0x398762=[];for(var _0x549153=0x0;_0x549153<this[_0x225fb3(0x219)];_0x549153++,_0x30b18e++)_0x4d0004=_0x418298?this[_0x225fb3(0x270)](_0x589c01[_0x1dade6][_0x549153],_0x2eb19a[_0x1dade6][_0x549153]):this['_calcUV'](_0x589c01[_0x30b18e],_0x2eb19a[_0x30b18e]),_0x398762[_0x225fb3(0x32e)](_0x4d0004);this[_0x225fb3(0x370)][_0x225fb3(0x32e)](_0x398762);}_0x142c3c&&this[_0x225fb3(0x370)][_0x225fb3(0x22e)]();}return _0x17f393()(_0x4d6956,[{'key':_0x23d3b2(0x34d),'value':function(_0x17c5a9,_0x29f27a){var _0x7d6ab2=_0x23d3b2;return{'x':(_0x17c5a9-this['xmin'])/(this[_0x7d6ab2(0x2a8)]-this[_0x7d6ab2(0x22c)])*(this[_0x7d6ab2(0x219)]-0x1),'y':(this[_0x7d6ab2(0x2ac)]-_0x29f27a)/(this[_0x7d6ab2(0x2ac)]-this[_0x7d6ab2(0x242)])*(this[_0x7d6ab2(0x30e)]-0x1)};}},{'key':_0x23d3b2(0x288),'value':function(_0x30af43,_0x33ec97){var _0x4530d6=_0x23d3b2;if(_0x30af43<0x0||_0x30af43>=this[_0x4530d6(0x219)]||_0x33ec97>=this['rows'])return[0x0,0x0,0x0];var _0x47232e,_0x2c6375,_0x29ccde=Math['floor'](_0x30af43),_0x46c62c=Math[_0x4530d6(0x311)](_0x33ec97);if(_0x29ccde===_0x30af43&&_0x46c62c===_0x33ec97)return this['grid'][_0x33ec97][_0x30af43];_0x47232e=_0x29ccde+0x1,_0x2c6375=_0x46c62c+0x1;var _0x51ef94=this[_0x4530d6(0x288)](_0x29ccde,_0x46c62c),_0x3d020d=this[_0x4530d6(0x288)](_0x47232e,_0x46c62c),_0x278ac1=this[_0x4530d6(0x288)](_0x29ccde,_0x2c6375),_0x39db09=this[_0x4530d6(0x288)](_0x47232e,_0x2c6375),_0x35c375=null;try{_0x35c375=this['_bilinearInterpolation'](_0x30af43-_0x29ccde,_0x33ec97-_0x46c62c,_0x51ef94,_0x3d020d,_0x278ac1,_0x39db09);}catch(_0x4ab9d8){console[_0x4530d6(0x32f)](_0x30af43,_0x33ec97);}return _0x35c375;}},{'key':_0x23d3b2(0x2ab),'value':function(_0xacf4e2,_0x246a18,_0x49c873,_0x305892,_0x16cdca,_0x4ef959){var _0x5795f6=0x1-_0xacf4e2,_0x588984=0x1-_0x246a18,_0x4dfbfb=_0x5795f6*_0x588984,_0x13335e=_0xacf4e2*_0x588984,_0x507aaa=_0x5795f6*_0x246a18,_0x1066f8=_0xacf4e2*_0x246a18,_0x335020=_0x49c873[0x0]*_0x4dfbfb+_0x305892[0x0]*_0x13335e+_0x16cdca[0x0]*_0x507aaa+_0x4ef959[0x0]*_0x1066f8,_0x397919=_0x49c873[0x1]*_0x4dfbfb+_0x305892[0x1]*_0x13335e+_0x16cdca[0x1]*_0x507aaa+_0x4ef959[0x1]*_0x1066f8;return this['_calcUV'](_0x335020,_0x397919);}},{'key':'_calcUV','value':function(_0x93eb03,_0x12908a){var _0x5c7e79=_0x23d3b2;return[+_0x93eb03,+_0x12908a,Math[_0x5c7e79(0x20e)](_0x93eb03*_0x93eb03+_0x12908a*_0x12908a)];}},{'key':_0x23d3b2(0x227),'value':function(_0x3e83b0,_0x5a0c0b){var _0x5da210=_0x23d3b2;if(!this['isInExtent'](_0x3e83b0,_0x5a0c0b))return null;var _0x420c06=this[_0x5da210(0x34d)](_0x3e83b0,_0x5a0c0b);return this[_0x5da210(0x288)](_0x420c06['x'],_0x420c06['y']);}},{'key':_0x23d3b2(0x367),'value':function(_0xa2ab37,_0x5817a8){var _0x4b0472=_0x23d3b2;return _0xa2ab37>=this[_0x4b0472(0x22c)]&&_0xa2ab37<=this[_0x4b0472(0x2a8)]&&_0x5817a8>=this[_0x4b0472(0x242)]&&_0x5817a8<=this['ymax'];}},{'key':_0x23d3b2(0x20b),'value':function(){var _0x347bf9=_0x23d3b2,_0x53415a=_0x414b7b(this[_0x347bf9(0x22c)],this[_0x347bf9(0x2a8)]);return{'lat':_0x414b7b(this[_0x347bf9(0x242)],this['ymax']),'lng':_0x53415a};}}]),_0x4d6956;}());function _0x414b7b(_0x33277a,_0x4545c0){var _0x1973b1=_0x3aa2d6;return _0x33277a+Math[_0x1973b1(0x247)]()*(_0x4545c0-_0x33277a);}function _0x2d9405(_0x3a6b57){var _0x4f002e=(function(){var _0x3e0c7b=a0_0x21a7;if('undefined'==typeof Reflect||!Reflect[_0x3e0c7b(0x24b)])return!0x1;if(Reflect[_0x3e0c7b(0x24b)][_0x3e0c7b(0x2a4)])return!0x1;if(_0x3e0c7b(0x23b)==typeof Proxy)return!0x0;try{return Boolean[_0x3e0c7b(0x35a)][_0x3e0c7b(0x1f9)][_0x3e0c7b(0x233)](Reflect[_0x3e0c7b(0x24b)](Boolean,[],function(){})),!0x0;}catch(_0x56183c){return!0x1;}}());return function(){var _0x5effc9=a0_0x21a7,_0x155841,_0x41f2a4=_0x3bd9d4()(_0x3a6b57);if(_0x4f002e){var _0x2ac49c=_0x3bd9d4()(this)[_0x5effc9(0x2a7)];_0x155841=Reflect['construct'](_0x41f2a4,arguments,_0x2ac49c);}else _0x155841=_0x41f2a4[_0x5effc9(0x2c7)](this,arguments);return _0x4d18bd()(this,_0x155841);};}var _0x474354=function(_0x43a5da){var _0x240bf6=_0x3aa2d6;_0x5d1b83()(_0x14762d,_0x43a5da);var _0x13f217=_0x2d9405(_0x14762d);function _0x14762d(){var _0x5152da=a0_0x21a7,_0x55a131,_0x531bd6=arguments['length']>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x2bde55()(this,_0x14762d),(_0x55a131=_0x13f217['call'](this,_0x531bd6))[_0x5152da(0x309)](_0x531bd6),_0x55a131[_0x5152da(0x210)]=null,_0x55a131;}return _0x17f393()(_0x14762d,[{'key':_0x240bf6(0x309),'value':function(_0x1694bd){var _0x3cdfe7=_0x240bf6;this[_0x3cdfe7(0x22f)]=[0x0,0x0],this[_0x3cdfe7(0x299)]=[],this['speedRate']=_0x1694bd[_0x3cdfe7(0x29a)]||0x32,this[_0x3cdfe7(0x237)]=_0x1694bd[_0x3cdfe7(0x218)]||0x1000,this['_maxAge']=_0x1694bd[_0x3cdfe7(0x348)]||0x78,this[_0x3cdfe7(0x294)]=0x3e8/(_0x1694bd[_0x3cdfe7(0x2d3)]||0xa),this[_0x3cdfe7(0x216)]=_0x49bd3c[_0x3cdfe7(0x325)](this[_0x3cdfe7(0x285)][_0x3cdfe7(0x230)],!0x1),this[_0x3cdfe7(0x263)]=_0x1694bd[_0x3cdfe7(0x263)]||'#ffffff',this[_0x3cdfe7(0x1f8)]=_0x1694bd['lineWidth']||0x1,this[_0x3cdfe7(0x21f)]=_0x49bd3c['defaultValue'](_0x1694bd[_0x3cdfe7(0x21f)],0x0),this[_0x3cdfe7(0x268)]=_0x49bd3c[_0x3cdfe7(0x325)](_0x1694bd[_0x3cdfe7(0x268)],!0x1);}},{'key':_0x240bf6(0x24e),'get':function(){var _0xb42536=_0x240bf6;return this[_0xb42536(0x210)];}},{'key':_0x240bf6(0x23d),'get':function(){var _0x10918a=_0x240bf6;return this[_0x10918a(0x327)][_0x10918a(0x2f7)][_0x10918a(0x210)][_0x10918a(0x2b3)];}},{'key':'canvasHeight','get':function(){var _0x15412=_0x240bf6;return this[_0x15412(0x327)][_0x15412(0x2f7)]['canvas']['clientHeight'];}},{'key':_0x240bf6(0x230),'get':function(){var _0x1d6e56=_0x240bf6;return this[_0x1d6e56(0x216)];},'set':function(_0x1cf2fc){var _0x4a6886=_0x240bf6;this[_0x4a6886(0x216)]=_0x1cf2fc,this[_0x4a6886(0x210)]&&(this[_0x4a6886(0x210)][_0x4a6886(0x322)]['pointer-events']=_0x1cf2fc?_0x4a6886(0x24d):_0x4a6886(0x26f));}},{'key':_0x240bf6(0x29a),'get':function(){var _0x5f3d72=_0x240bf6;return this[_0x5f3d72(0x34b)];},'set':function(_0x53fa7d){var _0xdbfa1f=_0x240bf6;this[_0xdbfa1f(0x34b)]=0x64*(0x64-(_0x53fa7d>0x63?0x63:_0x53fa7d)),this[_0xdbfa1f(0x254)]();}},{'key':_0x240bf6(0x218),'get':function(){var _0x1e8c9c=_0x240bf6;return this[_0x1e8c9c(0x237)];},'set':function(_0x4e6975){var _0x1de0aa=_0x240bf6,_0x357024=this;this[_0x1de0aa(0x237)]=_0x4e6975,clearTimeout(this[_0x1de0aa(0x2a2)]),this[_0x1de0aa(0x2a2)]=setTimeout(function(){var _0x4d5985=_0x1de0aa;_0x357024[_0x4d5985(0x1fd)]();},0x1f4);}},{'key':'maxAge','get':function(){return this['_maxAge'];},'set':function(_0x24ce8c){var _0x5b4ecd=_0x240bf6,_0x190d28=this;this[_0x5b4ecd(0x36b)]=_0x24ce8c,clearTimeout(this[_0x5b4ecd(0x2a2)]),this[_0x5b4ecd(0x2a2)]=setTimeout(function(){var _0x102933=_0x5b4ecd;_0x190d28[_0x102933(0x1fd)]();},0x1f4);}},{'key':'data','get':function(){var _0x2479c5=_0x240bf6;return this[_0x2479c5(0x2e0)];},'set':function(_0x1b3e89){var _0x445232=_0x240bf6;this[_0x445232(0x24a)](_0x1b3e89);}},{'key':_0x240bf6(0x350),'value':function(_0x12133b){var _0x1056aa=_0x240bf6;_0x12133b?this[_0x1056aa(0x326)]():(this[_0x1056aa(0x2e0)]&&(this['options'][_0x1056aa(0x374)]=this[_0x1056aa(0x2e0)]),this['_removedHook']());}},{'key':'_mountedHook','value':function(){}},{'key':_0x240bf6(0x326),'value':function(){var _0x3622c1=_0x240bf6;this[_0x3622c1(0x210)]=this['_createCanvas'](),this['canvasContext']=this['canvas'][_0x3622c1(0x26c)]('2d'),this[_0x3622c1(0x2c9)](),this[_0x3622c1(0x285)][_0x3622c1(0x374)]&&this[_0x3622c1(0x24a)](this[_0x3622c1(0x285)][_0x3622c1(0x374)]);}},{'key':_0x240bf6(0x21b),'value':function(){var _0x5d3f91=_0x240bf6;this['clear'](),this[_0x5d3f91(0x31e)](),this[_0x5d3f91(0x210)]&&(this[_0x5d3f91(0x327)][_0x5d3f91(0x248)][_0x5d3f91(0x341)](this['canvas']),delete this[_0x5d3f91(0x210)]);}},{'key':'_createCanvas','value':function(){var _0x3536d7=_0x240bf6,_0x4fed28=document[_0x3536d7(0x29b)](_0x3536d7(0x210));_0x4fed28['style'][_0x3536d7(0x328)]=_0x3536d7(0x306),_0x4fed28[_0x3536d7(0x322)][_0x3536d7(0x338)]='0px',_0x4fed28[_0x3536d7(0x322)][_0x3536d7(0x2e4)]=_0x3536d7(0x20c),_0x4fed28[_0x3536d7(0x322)][_0x3536d7(0x2b0)]='100%',_0x4fed28[_0x3536d7(0x322)]['height']='100%',_0x4fed28['style']['pointerEvents']=this['_pointerEvents']?_0x3536d7(0x1f7):_0x3536d7(0x26f),_0x4fed28[_0x3536d7(0x322)][_0x3536d7(0x30f)]=0xa,_0x4fed28[_0x3536d7(0x203)]('id',_0x3536d7(0x207)),_0x4fed28[_0x3536d7(0x203)](_0x3536d7(0x206),'canvasWindy'),this['_map'][_0x3536d7(0x248)]['appendChild'](_0x4fed28);var _0x1d7617=this['_map'][_0x3536d7(0x2f7)];return _0x4fed28[_0x3536d7(0x2b0)]=_0x1d7617['canvas'][_0x3536d7(0x2b3)],_0x4fed28[_0x3536d7(0x298)]=_0x1d7617[_0x3536d7(0x210)][_0x3536d7(0x2e7)],_0x4fed28;}},{'key':'resize','value':function(){var _0x2d3bfe=_0x240bf6;this['canvas']&&(this[_0x2d3bfe(0x210)][_0x2d3bfe(0x2b0)]=this[_0x2d3bfe(0x23d)],this[_0x2d3bfe(0x210)][_0x2d3bfe(0x298)]=this[_0x2d3bfe(0x2d9)]);}},{'key':_0x240bf6(0x2c9),'value':function(){var _0x56d7c3=_0x240bf6,_0x4a3aaf=this,_0x59fe90=Date[_0x56d7c3(0x2c4)]();!function _0x3e652e(){var _0x2fba39=_0x56d7c3;_0x4a3aaf[_0x2fba39(0x2ca)]=window[_0x2fba39(0x228)](_0x3e652e);var _0x2f72a0=Date['now'](),_0x26e4bc=_0x2f72a0-_0x59fe90;_0x26e4bc>_0x4a3aaf[_0x2fba39(0x294)]&&(_0x59fe90=_0x2f72a0-_0x26e4bc%_0x4a3aaf[_0x2fba39(0x294)],_0x4a3aaf[_0x2fba39(0x291)]());}(),window[_0x56d7c3(0x238)](_0x56d7c3(0x375),this[_0x56d7c3(0x375)][_0x56d7c3(0x269)](this),!0x1),this[_0x56d7c3(0x347)]=!0x1,this[_0x56d7c3(0x355)]=!0x1,this[_0x56d7c3(0x327)]['on'](_0x11e886[_0x56d7c3(0x332)][_0x56d7c3(0x37d)],this[_0x56d7c3(0x1ff)],this),this[_0x56d7c3(0x327)]['on'](_0x11e886[_0x56d7c3(0x332)]['mouseDown'],this[_0x56d7c3(0x240)],this),this[_0x56d7c3(0x327)]['on'](_0x11e886['EventType']['mouseUp'],this[_0x56d7c3(0x25f)],this),this[_0x56d7c3(0x327)]['on'](_0x11e886['EventType'][_0x56d7c3(0x357)],this[_0x56d7c3(0x33f)],this);}},{'key':'unbindEvent','value':function(){var _0x405b80=_0x240bf6;window[_0x405b80(0x2ed)](this[_0x405b80(0x2ca)]),delete this[_0x405b80(0x2ca)],window[_0x405b80(0x2b9)](_0x405b80(0x375),this[_0x405b80(0x375)]),this[_0x405b80(0x327)][_0x405b80(0x314)](_0x11e886[_0x405b80(0x332)][_0x405b80(0x37d)],this[_0x405b80(0x1ff)],this),this[_0x405b80(0x327)][_0x405b80(0x314)](_0x11e886[_0x405b80(0x332)][_0x405b80(0x31a)],this[_0x405b80(0x240)],this),this['_map'][_0x405b80(0x314)](_0x11e886[_0x405b80(0x332)]['mouseUp'],this[_0x405b80(0x25f)],this),this['_map'][_0x405b80(0x314)](_0x11e886[_0x405b80(0x332)][_0x405b80(0x357)],this[_0x405b80(0x33f)],this);}},{'key':'_onMapWhellEvent','value':function(_0x4a261e){var _0x8bad1a=_0x240bf6,_0x58b16c=this;clearTimeout(this['refreshTimer']),this[_0x8bad1a(0x385)]&&this['canvas']&&(this[_0x8bad1a(0x210)]['style'][_0x8bad1a(0x2c1)]=_0x8bad1a(0x30d),this['refreshTimer']=setTimeout(function(){var _0x5f5d2a=_0x8bad1a;_0x58b16c['show']&&(_0x58b16c[_0x5f5d2a(0x1fd)](),_0x58b16c[_0x5f5d2a(0x210)]['style']['visibility']=_0x5f5d2a(0x223));},0xc8));}},{'key':_0x240bf6(0x240),'value':function(_0x2220e3){var _0xf7f6f2=_0x240bf6;this[_0xf7f6f2(0x347)]=!0x0;}},{'key':'_onMouseMoveEvent','value':function(_0x21f0d7){var _0x5b8b1e=_0x240bf6;this[_0x5b8b1e(0x385)]&&this[_0x5b8b1e(0x210)]&&this['mouse_down']&&(this['canvas']['style']['visibility']=_0x5b8b1e(0x30d),this[_0x5b8b1e(0x355)]=!0x0);}},{'key':_0x240bf6(0x25f),'value':function(_0x36cc10){var _0x36d877=_0x240bf6;this[_0x36d877(0x385)]&&this[_0x36d877(0x210)]&&(this['mouse_down']&&this['mouse_move']&&this['redraw'](),this[_0x36d877(0x210)][_0x36d877(0x322)]['visibility']=_0x36d877(0x223),this[_0x36d877(0x347)]=!0x1,this[_0x36d877(0x355)]=!0x1);}},{'key':_0x240bf6(0x1fd),'value':function(){var _0x20c837=_0x240bf6;this[_0x20c837(0x385)]&&this['windField']&&(this[_0x20c837(0x299)]=[],this[_0x20c837(0x35b)]());}},{'key':_0x240bf6(0x24a),'value':function(_0x5d2b53){var _0x3e63e9=_0x240bf6;this['clear'](),this['windData']=_0x5d2b53,this[_0x3e63e9(0x29e)]=new _0xf36a12(this[_0x3e63e9(0x2e0)],this['reverseY']),this['drawWind']();}},{'key':_0x240bf6(0x35b),'value':function(){var _0xac3499=_0x240bf6;this[_0xac3499(0x254)]();for(var _0x1ba65d=0x0;_0x1ba65d<this['particlesNumber'];_0x1ba65d++){var _0x405220=this[_0xac3499(0x2dc)](new _0x50ea5e());this[_0xac3499(0x299)][_0xac3499(0x32e)](_0x405220);}this[_0xac3499(0x260)][_0xac3499(0x2aa)]=_0xac3499(0x354),this['canvasContext'][_0xac3499(0x261)]=0.6,this['update']();}},{'key':_0x240bf6(0x254),'value':function(){var _0x32f32e=_0x240bf6;this[_0x32f32e(0x29e)]&&(this[_0x32f32e(0x22f)]=[(this[_0x32f32e(0x29e)]['xmax']-this[_0x32f32e(0x29e)][_0x32f32e(0x22c)])/this[_0x32f32e(0x29a)],(this[_0x32f32e(0x29e)][_0x32f32e(0x2ac)]-this[_0x32f32e(0x29e)][_0x32f32e(0x242)])/this[_0x32f32e(0x29a)]]);}},{'key':_0x240bf6(0x291),'value':function(){var _0x436e2a=_0x240bf6,_0x35ffad=this;if(this[_0x436e2a(0x385)]&&!(this[_0x436e2a(0x299)][_0x436e2a(0x25e)]<=0x0)){var _0x3b71f3=null,_0x61f3b7=null,_0x359ab5=null;this[_0x436e2a(0x299)][_0x436e2a(0x33e)](function(_0x461b22){var _0xaa24bd=_0x436e2a;if(_0x461b22[_0xaa24bd(0x300)]<=0x0&&_0x35ffad[_0xaa24bd(0x2dc)](_0x461b22),_0x461b22['age']>0x0){var _0x2f2637=_0x461b22[_0xaa24bd(0x35e)],_0x5950ff=_0x461b22[_0xaa24bd(0x222)];(_0x359ab5=_0x35ffad[_0xaa24bd(0x29e)][_0xaa24bd(0x227)](_0x2f2637,_0x5950ff))?(_0x3b71f3=_0x2f2637+_0x35ffad[_0xaa24bd(0x22f)][0x0]*_0x359ab5[0x0],_0x61f3b7=_0x5950ff+_0x35ffad['calc_speedRate'][0x1]*_0x359ab5[0x1],_0x461b22[_0xaa24bd(0x2d1)]=_0x2f2637,_0x461b22[_0xaa24bd(0x2f2)]=_0x5950ff,_0x461b22['tlng']=_0x3b71f3,_0x461b22[_0xaa24bd(0x222)]=_0x61f3b7,_0x461b22['age']--):_0x461b22[_0xaa24bd(0x300)]=0x0;}}),this[_0x436e2a(0x381)]();}}},{'key':'_tomap','value':function(_0x58e964,_0x1e2afe,_0x58e445){var _0x55fbaf=_0x240bf6,_0x548159=_0x49bd3c[_0x55fbaf(0x262)][_0x55fbaf(0x221)](_0x58e964,_0x1e2afe,this[_0x55fbaf(0x21f)]),_0xc9ca21=this[_0x55fbaf(0x327)]['scene'];if(_0xc9ca21[_0x55fbaf(0x28f)]===_0x49bd3c['SceneMode'][_0x55fbaf(0x1fc)]&&!new _0x49bd3c[(_0x55fbaf(0x2eb))](_0xc9ca21[_0x55fbaf(0x25c)][_0x55fbaf(0x33b)],_0xc9ca21[_0x55fbaf(0x21a)][_0x55fbaf(0x253)])['isPointVisible'](_0x548159))return _0x58e445[_0x55fbaf(0x300)]=0x0,null;var _0xb25c37=_0x49bd3c[_0x55fbaf(0x379)][_0x55fbaf(0x2a3)](this[_0x55fbaf(0x327)][_0x55fbaf(0x2f7)],_0x548159);return _0xb25c37?[_0xb25c37['x'],_0xb25c37['y']]:null;}},{'key':_0x240bf6(0x381),'value':function(){var _0x3df1c5=_0x240bf6,_0x47ffbd=this,_0x6691f9=this['particles'];this[_0x3df1c5(0x260)]['lineWidth']=_0x47ffbd['lineWidth'],this['canvasContext'][_0x3df1c5(0x26b)]=_0x3df1c5(0x2c8),this[_0x3df1c5(0x260)][_0x3df1c5(0x2a1)](0x0,0x0,this[_0x3df1c5(0x23d)],this['canvasHeight']),this[_0x3df1c5(0x260)][_0x3df1c5(0x26b)]=_0x3df1c5(0x241),this[_0x3df1c5(0x260)][_0x3df1c5(0x261)]=0.9,this['canvasContext'][_0x3df1c5(0x2c0)](),this['canvasContext'][_0x3df1c5(0x215)]=this[_0x3df1c5(0x263)];var _0x55ddd6=this[_0x3df1c5(0x327)]['scene'][_0x3df1c5(0x28f)]!==_0x49bd3c[_0x3df1c5(0x335)][_0x3df1c5(0x1fc)];_0x6691f9[_0x3df1c5(0x33e)](function(_0x42c3f2){var _0x332587=_0x3df1c5,_0x518f05=_0x47ffbd['_tomap'](_0x42c3f2['lng'],_0x42c3f2[_0x332587(0x2f2)],_0x42c3f2),_0xb6408c=_0x47ffbd[_0x332587(0x2fd)](_0x42c3f2[_0x332587(0x35e)],_0x42c3f2[_0x332587(0x222)],_0x42c3f2);if(null!=_0x518f05&&null!=_0xb6408c){var _0x10b990=Math[_0x332587(0x307)](_0x518f05[0x0]-_0xb6408c[0x0]);_0x55ddd6&&_0x10b990>=_0x47ffbd[_0x332587(0x23d)]||(_0x47ffbd[_0x332587(0x260)][_0x332587(0x2ce)](_0x518f05[0x0],_0x518f05[0x1]),_0x47ffbd[_0x332587(0x260)][_0x332587(0x26e)](_0xb6408c[0x0],_0xb6408c[0x1]));}}),this['canvasContext'][_0x3df1c5(0x316)]();}},{'key':'randomParticle','value':function(_0x377e99){var _0x103cdb=_0x240bf6;for(var _0x422556,_0x2b41ca,_0x36c53b=0x0;_0x36c53b<0x1e&&(_0x422556=this['windField'][_0x103cdb(0x20b)](),!((_0x2b41ca=this[_0x103cdb(0x29e)]['getUVByPoint'](_0x422556[_0x103cdb(0x2d1)],_0x422556['lat']))&&_0x2b41ca[0x2]>0x0));_0x36c53b++);if(!_0x2b41ca)return _0x377e99;var _0x5d0e80=_0x422556[_0x103cdb(0x2d1)]+this[_0x103cdb(0x22f)][0x0]*_0x2b41ca[0x0],_0x532da2=_0x422556[_0x103cdb(0x2f2)]+this[_0x103cdb(0x22f)][0x1]*_0x2b41ca[0x1];return _0x377e99['lng']=_0x422556['lng'],_0x377e99[_0x103cdb(0x2f2)]=_0x422556[_0x103cdb(0x2f2)],_0x377e99[_0x103cdb(0x35e)]=_0x5d0e80,_0x377e99[_0x103cdb(0x222)]=_0x532da2,_0x377e99[_0x103cdb(0x300)]=Math[_0x103cdb(0x295)](Math[_0x103cdb(0x247)]()*this[_0x103cdb(0x348)]),_0x377e99;}},{'key':_0x240bf6(0x2fb),'value':function(){var _0x30bf82=_0x240bf6;this[_0x30bf82(0x299)]=[],delete this['windField'],delete this[_0x30bf82(0x2e0)];}}]),_0x14762d;}(_0x11e886[_0x3aa2d6(0x24e)][_0x3aa2d6(0x264)]);function _0x146062(_0x500405,_0xa1c99b){var _0x47b36d=_0x3aa2d6;return _0x500405*Math[_0x47b36d(0x304)](_0x49bd3c[_0x47b36d(0x286)][_0x47b36d(0x259)](_0xa1c99b));}function _0x1f06e2(_0x263c10,_0x3bf9d8){var _0x26520c=_0x3aa2d6;return _0x263c10*Math[_0x26520c(0x289)](_0x49bd3c['Math'][_0x26520c(0x259)](_0x3bf9d8));}function _0x450f3f(_0x46a39f,_0x27ce16){var _0x233f36=_0x3aa2d6;return Math[_0x233f36(0x20e)](Math[_0x233f36(0x2b2)](_0x46a39f,0x2)+Math[_0x233f36(0x2b2)](_0x27ce16,0x2));}function _0x2cf9c1(_0x5dbc55,_0x42831c){var _0x41f051=_0x3aa2d6,_0x33f960=_0x49bd3c[_0x41f051(0x286)][_0x41f051(0x31c)](Math['atan2'](_0x42831c,_0x5dbc55));return _0x33f960+=_0x33f960<0x0?0x168:0x0;}_0x11e886[_0x3aa2d6(0x2e9)]['register'](_0x3aa2d6(0x345),_0x474354),_0x11e886[_0x3aa2d6(0x24e)][_0x3aa2d6(0x34f)]=_0x474354,_0x11e886[_0x3aa2d6(0x2e5)]=_0x4f5185;}]));
|
|
21
|
+
var a0_0x5a4f6f=a0_0x13b5;function a0_0x13b5(_0x179f73,_0x18f643){var _0x59c69d=a0_0x59c6();return a0_0x13b5=function(_0x13b5b9,_0x597dd7){_0x13b5b9=_0x13b5b9-0x79;var _0x358480=_0x59c69d[_0x13b5b9];return _0x358480;},a0_0x13b5(_0x179f73,_0x18f643);}function a0_0x59c6(){var _0x443889=['canvasHeight','#ffffff','mouse_down','ComputeCommand','PixelFormat','ALWAYS','options','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}','currentParticlesSpeed','getFullscreenQuad','particlesTextures','iterator','min','hasOwnProperty','_drawLines','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}','BufferUsage','139988mxmwlr','toDegrees','applyViewerParameters','EventType','_createCanvas','465594MYUhoT','wind','floor','PixelDatatype','lineWidth','removeChild','100%','canvasContext','max','arrayBufferView','mode','levmax','clear','particlesWind','Module','pointer-events','ellipsoid','postProcessingSpeed','lat','valueOf','animateFrame','isInExtent','createRawRenderState','defaultValue','_bilinearInterpolation','_data','currentTrailsDepth','NEAREST','WMS_URL','getOptions','framebuffer','createWindTextures','ShaderSource','requestAnimationFrame','viewport','push','canrefresh','removeEventListener','primitives','255304pchhaP','remove','resize','blending','vmax','drawingBufferHeight','DepthFunction','none','setData','nextTrailsColor','log','frameTime','_removedHook','fromDegrees','toRadians','forEach','getU','BaseLayer','ComponentDatatype','default','Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function','Compute','PrimitiveCollection','frameRate','SCENE3D','getExtent','FLOAT','nextParticlesPosition','getUVByPoint','fillStyle','hidden','Geometry','screen','style','RenderState','clampToLatitudeRange','maxParticles','textures','depthTexture','WindLayer','getDirection','randomParticle','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','_calcUV','speedFactor','umin','Cartesian2','TRIANGLES','framebuffers','depthTest','Pass','string','globalAlpha','removeAll','pixelSize','_tomap','rgb(206,255,255)','Object','globalCompositeOperation','setAttribute','color','canvasWidth','STATIC_DRAW','lighter','udata','particleSystem','421660ZIgtbt','drawingBufferWidth','sham','_onMap_preRenderEvent','dimensions','isArray','cos','createParticlesTextures','_onMouseDownEvent','calc_speedRate','ShaderProgram','nextTrails','PI_OVER_THREE','vertexArray','vmin','commandType','_map','TWO_PI','createTexture','array','rawRenderState','currentTrails','green','this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called','atan2','visible','uniformMap','canvasWindy','DISABLE_GL_POSITION_LOG_DEPTH','getOwnPropertySymbols','height','refreshParticles','appendChild','setOptions','particlesRendering','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}','addPrimitives','Set','_calcStep','getPrototypeOf','ymax','colors','depthMask','OPAQUE','refreshTimer','filter','configurable','object','updatePosition','mouseMove','6cUxnrN','outputTexture','Map','Matrix4','globeBoundingSphere','nextParticlesSpeed','DrawCommand','windData','tlng','destroy','uniform\x20sampler2D\x20segmentsColorTexture;\x0d\x0auniform\x20sampler2D\x20segmentsDepthTexture;\x0d\x0a\x0d\x0auniform\x20sampler2D\x20currentTrailsColor;\x0d\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0d\x0a\x0d\x0auniform\x20float\x20fadeOpacity;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20vec4\x20pointsColor\x20=\x20texture2D(segmentsColorTexture,\x20textureCoordinate);\x0d\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture2D(currentTrailsColor,\x20textureCoordinate);\x0d\x0a\x0d\x0a\x20\x20\x20\x20trailsColor\x20=\x20floor(fadeOpacity\x20*\x20255.0\x20*\x20trailsColor)\x20/\x20255.0;\x20//\x20make\x20sure\x20the\x20trailsColor\x20will\x20be\x20strictly\x20decreased\x0d\x0a\x0d\x0a\x20\x20\x20\x20float\x20pointsDepth\x20=\x20texture2D(segmentsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture2D(trailsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture2D(czm_globeDepthTexture,\x20textureCoordinate));\x0d\x0a\x0d\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0d\x0a\x20\x20\x20\x20if\x20(pointsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20gl_FragColor\x20+\x20pointsColor;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20gl_FragColor\x20+\x20trailsColor;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20gl_FragDepthEXT\x20=\x20min(pointsDepth,\x20trailsDepth);\x0d\x0a}','addEventListener','_setOptionsHook','particlesTextureSize','windTextures','zIndex','canvas','redraw','GeometryAttribute','constructor','getUVByXY','lev','show','postProcessingPosition','destroyObject','layer','fromCache','length','IDENTITY','//\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}','GeometryAttributes','LINEAR','ClearCommand','clientWidth','class','from','isDestroyed','416819QHJqIy','rows','TextureMinificationFilter','Color','pointerEvents','unbindEvent','wheel','random','mars3d','RGB','randomizeParticles','fromGeometry','__esModule','createFramebuffer','toGridXY','colorTable','_onMapWhellEvent','Arguments','vertexShaderSource','33lwrlhZ','0px','width','@@iterator','mars3dWind','positionWC','globe','age','Framebuffer','getOwnPropertyDescriptor','particles','construct','levmin','_showHook','destination-in','PrimitiveType','createCommand','14MithsP','10OvGvnG','exports','Cartesian3','shaderProgram','mod','LayerUtil','wgs84ToWindowCoordinates','toStringTag','UNSIGNED_INT','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}','viewRectangleToLonLatRange','execute','east','CanvasWindLayer','beginPath','_canrefresh','auto','visibility','particlesNumber','register','xmin','particlesComputing','LUMINANCE','once','fillRect','mouseUp','_maxAge','clearCommand','createComputingPrimitives','canvasResize','commandList','currentTrailsColor','sin','bindEvent','currentParticlesPosition','updateViewerParameters','sqrt','round','UNSIGNED_BYTE','_onMouseMoveEvent','toString','enumerable','PI_OVER_TWO','add','ZERO','mouseDown','VertexArray','Sampler','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}','getOwnPropertyDescriptors','value','writable','Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined','undefined','geometry','reverseY','update','_mountedHook','defined','clearFramebuffers','destroyParticlesTextures','tlat','commandToExecute','name','RGBA','fromCssColorString','ymin','BoundingSphere','trails','preRender','defineProperty','primitiveType','call','function','camera','grid','absolute','setGeometry','slice','_onMouseUpEvent','Rectangle','getRandomLatLng','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}','keys','bind','createSegmentsGeometry','Draw','blue','key','3601904aHwPAI','stroke','data','windField','xmax','isPointVisible','fill','off','computeViewRectangle','createElement','segments','__proto__','context','reverse','setPrototypeOf','globeLayer','attributeLocations','maxAge','dropRateBump','rgba(0,\x200,\x200,\x200.97)','WindUtil','createRenderingPrimitives','getV','Texture','_particlesNumber','Math','_addedHook','SceneMode','defineProperties','vdata','mouse_move','dropRate','6165792giTFSy','west','apply','latRange','lng','createRenderingFramebuffers','fixedHeight','_pointerEvents','getWind','cols','container','top','pow','prototype','fragmentShaderSource','autoClear','TextureMagnificationFilter','Appearance','segmentsColor','getContext','viewerParameters','preExecute','randomBetween','Cesium','getColorTexture','fadeOpacity','scene','lonRange','speedRate','lon','south','updateSpeed'];a0_0x59c6=function(){return _0x443889;};return a0_0x59c6();}(function(_0x5054c0,_0x4c436e){var _0x5b00db=a0_0x13b5,_0x12060a=_0x5054c0();while(!![]){try{var _0x1ac35c=parseInt(_0x5b00db(0x135))/0x1+parseInt(_0x5b00db(0x204))/0x2*(-parseInt(_0x5b00db(0x110))/0x3)+parseInt(_0x5b00db(0x9c))/0x4+parseInt(_0x5b00db(0x15a))/0x5*(-parseInt(_0x5b00db(0x209))/0x6)+parseInt(_0x5b00db(0x159))/0x7*(parseInt(_0x5b00db(0x1b3))/0x8)+-parseInt(_0x5b00db(0x1d3))/0x9+-parseInt(_0x5b00db(0xde))/0xa*(-parseInt(_0x5b00db(0x148))/0xb);if(_0x1ac35c===_0x4c436e)break;else _0x12060a['push'](_0x12060a['shift']());}catch(_0x588d81){_0x12060a['push'](_0x12060a['shift']());}}}(a0_0x59c6,0x80bf1),window[a0_0x5a4f6f(0x14c)]=function(_0x38629d){var _0x282366={};function _0x1b4cc6(_0x566097){var _0x33ae92=a0_0x13b5;if(_0x282366[_0x566097])return _0x282366[_0x566097][_0x33ae92(0x15b)];var _0x22b2e6=_0x282366[_0x566097]={'i':_0x566097,'l':!0x1,'exports':{}};return _0x38629d[_0x566097][_0x33ae92(0x1a2)](_0x22b2e6[_0x33ae92(0x15b)],_0x22b2e6,_0x22b2e6[_0x33ae92(0x15b)],_0x1b4cc6),_0x22b2e6['l']=!0x0,_0x22b2e6[_0x33ae92(0x15b)];}return _0x1b4cc6['m']=_0x38629d,_0x1b4cc6['c']=_0x282366,_0x1b4cc6['d']=function(_0x20bd9b,_0x38161f,_0x44e47e){var _0x453484=a0_0x13b5;_0x1b4cc6['o'](_0x20bd9b,_0x38161f)||Object[_0x453484(0x1a0)](_0x20bd9b,_0x38161f,{'enumerable':!0x0,'get':_0x44e47e});},_0x1b4cc6['r']=function(_0x31b7fb){var _0x69e101=a0_0x13b5;'undefined'!=typeof Symbol&&Symbol['toStringTag']&&Object[_0x69e101(0x1a0)](_0x31b7fb,Symbol[_0x69e101(0x161)],{'value':_0x69e101(0x83)}),Object[_0x69e101(0x1a0)](_0x31b7fb,_0x69e101(0x141),{'value':!0x0});},_0x1b4cc6['t']=function(_0x380b08,_0x4a93f5){var _0x4e8e28=a0_0x13b5;if(0x1&_0x4a93f5&&(_0x380b08=_0x1b4cc6(_0x380b08)),0x8&_0x4a93f5)return _0x380b08;if(0x4&_0x4a93f5&&'object'==typeof _0x380b08&&_0x380b08&&_0x380b08[_0x4e8e28(0x141)])return _0x380b08;var _0x5c5ef8=Object['create'](null);if(_0x1b4cc6['r'](_0x5c5ef8),Object[_0x4e8e28(0x1a0)](_0x5c5ef8,_0x4e8e28(0xaf),{'enumerable':!0x0,'value':_0x380b08}),0x2&_0x4a93f5&&'string'!=typeof _0x380b08){for(var _0x4df4c0 in _0x380b08)_0x1b4cc6['d'](_0x5c5ef8,_0x4df4c0,function(_0x1ab9d5){return _0x380b08[_0x1ab9d5];}[_0x4e8e28(0x1ae)](null,_0x4df4c0));}return _0x5c5ef8;},_0x1b4cc6['n']=function(_0x4f23e5){var _0x4c2c13=a0_0x13b5,_0x13ddae=_0x4f23e5&&_0x4f23e5[_0x4c2c13(0x141)]?function(){var _0x533166=_0x4c2c13;return _0x4f23e5[_0x533166(0xaf)];}:function(){return _0x4f23e5;};return _0x1b4cc6['d'](_0x13ddae,'a',_0x13ddae),_0x13ddae;},_0x1b4cc6['o']=function(_0x45cd26,_0x402632){var _0x493481=a0_0x13b5;return Object[_0x493481(0x1e0)][_0x493481(0x200)]['call'](_0x45cd26,_0x402632);},_0x1b4cc6['p']='',_0x1b4cc6(_0x1b4cc6['s']=0x1a);}([function(_0x777d0d,_0x4d9d4b){var _0x50f230=a0_0x5a4f6f;_0x777d0d[_0x50f230(0x15b)]=window[_0x50f230(0x13d)];},function(_0x24085f,_0x56fbcd){var _0x48ec99=a0_0x5a4f6f;_0x24085f[_0x48ec99(0x15b)]=function(_0x4dc8be,_0x57e4a7){if(!(_0x4dc8be instanceof _0x57e4a7))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');},_0x24085f[_0x48ec99(0x15b)][_0x48ec99(0x141)]=!0x0,_0x24085f[_0x48ec99(0x15b)][_0x48ec99(0xaf)]=_0x24085f['exports'];},function(_0x28dcbc,_0xca75d){var _0xdcd7f4=a0_0x5a4f6f;function _0x299305(_0x53a00a,_0x9daafc){var _0x5602af=a0_0x13b5;for(var _0x24c660=0x0;_0x24c660<_0x9daafc[_0x5602af(0x12b)];_0x24c660++){var _0x436a84=_0x9daafc[_0x24c660];_0x436a84[_0x5602af(0x183)]=_0x436a84[_0x5602af(0x183)]||!0x1,_0x436a84[_0x5602af(0x10c)]=!0x0,_0x5602af(0x18c)in _0x436a84&&(_0x436a84[_0x5602af(0x18d)]=!0x0),Object[_0x5602af(0x1a0)](_0x53a00a,_0x436a84[_0x5602af(0x1b2)],_0x436a84);}}_0x28dcbc['exports']=function(_0x5387ca,_0x4f7594,_0x1225a9){var _0x5459d9=a0_0x13b5;return _0x4f7594&&_0x299305(_0x5387ca[_0x5459d9(0x1e0)],_0x4f7594),_0x1225a9&&_0x299305(_0x5387ca,_0x1225a9),Object[_0x5459d9(0x1a0)](_0x5387ca,'prototype',{'writable':!0x1}),_0x5387ca;},_0x28dcbc['exports'][_0xdcd7f4(0x141)]=!0x0,_0x28dcbc['exports']['default']=_0x28dcbc[_0xdcd7f4(0x15b)];},function(_0x33e33c,_0x3af813){var _0x510635=a0_0x5a4f6f;function _0x403bc4(_0x165504){var _0x47f0b9=a0_0x13b5;return _0x33e33c['exports']=_0x403bc4=Object['setPrototypeOf']?Object[_0x47f0b9(0x105)]:function(_0x1cdca6){var _0x33c2ed=_0x47f0b9;return _0x1cdca6[_0x33c2ed(0x1be)]||Object['getPrototypeOf'](_0x1cdca6);},_0x33e33c[_0x47f0b9(0x15b)][_0x47f0b9(0x141)]=!0x0,_0x33e33c[_0x47f0b9(0x15b)]['default']=_0x33e33c['exports'],_0x403bc4(_0x165504);}_0x33e33c[_0x510635(0x15b)]=_0x403bc4,_0x33e33c[_0x510635(0x15b)]['__esModule']=!0x0,_0x33e33c['exports'][_0x510635(0xaf)]=_0x33e33c[_0x510635(0x15b)];},function(_0x34175b,_0x3c8aaa,_0x16d329){var _0x9e7420=a0_0x5a4f6f,_0x46c99e=_0x16d329(0x16),_0x2c2602=_0x16d329(0x17),_0xfd314b=_0x16d329(0x18),_0x530991=_0x16d329(0x19);_0x34175b[_0x9e7420(0x15b)]=function(_0x4bb6e5){return _0x46c99e(_0x4bb6e5)||_0x2c2602(_0x4bb6e5)||_0xfd314b(_0x4bb6e5)||_0x530991();},_0x34175b['exports'][_0x9e7420(0x141)]=!0x0,_0x34175b['exports'][_0x9e7420(0xaf)]=_0x34175b[_0x9e7420(0x15b)];},function(_0x1a4320,_0x48a932){var _0x542e31=a0_0x5a4f6f;_0x1a4320['exports']=function(_0x2f6dca,_0x41e1e2,_0x55092a){return _0x41e1e2 in _0x2f6dca?Object['defineProperty'](_0x2f6dca,_0x41e1e2,{'value':_0x55092a,'enumerable':!0x0,'configurable':!0x0,'writable':!0x0}):_0x2f6dca[_0x41e1e2]=_0x55092a,_0x2f6dca;},_0x1a4320['exports'][_0x542e31(0x141)]=!0x0,_0x1a4320['exports'][_0x542e31(0xaf)]=_0x1a4320['exports'];},function(_0x53345c,_0x2cdf58,_0x4b5279){var _0x474149=a0_0x5a4f6f,_0x557f75=_0x4b5279(0x13);_0x53345c[_0x474149(0x15b)]=function(_0x49eba1,_0x5cd201){var _0x49eb0f=_0x474149;if(_0x49eb0f(0x1a3)!=typeof _0x5cd201&&null!==_0x5cd201)throw new TypeError(_0x49eb0f(0xb0));Object['defineProperty'](_0x49eba1,_0x49eb0f(0x1e0),{'value':Object['create'](_0x5cd201&&_0x5cd201[_0x49eb0f(0x1e0)],{'constructor':{'value':_0x49eba1,'writable':!0x0,'configurable':!0x0}}),'writable':!0x1}),_0x5cd201&&_0x557f75(_0x49eba1,_0x5cd201);},_0x53345c[_0x474149(0x15b)][_0x474149(0x141)]=!0x0,_0x53345c['exports'][_0x474149(0xaf)]=_0x53345c[_0x474149(0x15b)];},function(_0x10a230,_0x3b4dc4,_0x21ca43){var _0x313ccf=a0_0x5a4f6f,_0xd7b6a1=_0x21ca43(0x14)['default'],_0x58fe83=_0x21ca43(0x15);_0x10a230[_0x313ccf(0x15b)]=function(_0x222e14,_0x225bda){var _0x407dff=_0x313ccf;if(_0x225bda&&(_0x407dff(0x10d)===_0xd7b6a1(_0x225bda)||_0x407dff(0x1a3)==typeof _0x225bda))return _0x225bda;if(void 0x0!==_0x225bda)throw new TypeError(_0x407dff(0x18e));return _0x58fe83(_0x222e14);},_0x10a230[_0x313ccf(0x15b)][_0x313ccf(0x141)]=!0x0,_0x10a230[_0x313ccf(0x15b)]['default']=_0x10a230[_0x313ccf(0x15b)];},function(_0x2eff12,_0x155423){var _0x25189b=a0_0x5a4f6f;_0x2eff12[_0x25189b(0x15b)]=_0x25189b(0x1fa);},function(_0x346c5e,_0x3c9c1b){var _0x340a02=a0_0x5a4f6f;_0x346c5e[_0x340a02(0x15b)]=function(_0xaf416b,_0x4dbce7){var _0x3d9ef5=_0x340a02;(null==_0x4dbce7||_0x4dbce7>_0xaf416b[_0x3d9ef5(0x12b)])&&(_0x4dbce7=_0xaf416b[_0x3d9ef5(0x12b)]);for(var _0x39a020=0x0,_0x420297=new Array(_0x4dbce7);_0x39a020<_0x4dbce7;_0x39a020++)_0x420297[_0x39a020]=_0xaf416b[_0x39a020];return _0x420297;},_0x346c5e[_0x340a02(0x15b)]['__esModule']=!0x0,_0x346c5e['exports'][_0x340a02(0xaf)]=_0x346c5e[_0x340a02(0x15b)];},function(_0x15f93a,_0x1e0a05){var _0x3e2e54=a0_0x5a4f6f;_0x15f93a[_0x3e2e54(0x15b)]=_0x3e2e54(0x18a);},function(_0x59f62a,_0x12840d){var _0x43e1e4=a0_0x5a4f6f;_0x59f62a[_0x43e1e4(0x15b)]='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}';},function(_0x188503,_0x491427){var _0x43febc=a0_0x5a4f6f;_0x188503[_0x43febc(0x15b)]=_0x43febc(0x11a);},function(_0xad4a6b,_0x17bf94){var _0x5c9cb6=a0_0x5a4f6f;_0xad4a6b[_0x5c9cb6(0x15b)]=_0x5c9cb6(0x1ac);},function(_0x75bd1,_0x32e65a){var _0x17ae5e=a0_0x5a4f6f;_0x75bd1[_0x17ae5e(0x15b)]=_0x17ae5e(0x12d);},function(_0x1ec5a2,_0x3db86c){var _0x33b3d8=a0_0x5a4f6f;_0x1ec5a2['exports']=_0x33b3d8(0x202);},function(_0x21b780,_0xb10c){var _0x5ce889=a0_0x5a4f6f;_0x21b780[_0x5ce889(0x15b)]=_0x5ce889(0x101);},function(_0x58b9ca,_0x57850f){var _0x33d7e6=a0_0x5a4f6f;_0x58b9ca[_0x33d7e6(0x15b)]=_0x33d7e6(0x163);},function(_0x59df67,_0x404184){var _0x12fa97=a0_0x5a4f6f;_0x59df67[_0x12fa97(0x15b)]='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(_0x5e41ca,_0x586963){function _0x57c17f(_0x264adf,_0x54db3f){var _0x2af471=a0_0x13b5;return _0x5e41ca[_0x2af471(0x15b)]=_0x57c17f=Object[_0x2af471(0x1c1)]||function(_0xef34a5,_0x5bc005){var _0x4fe33c=_0x2af471;return _0xef34a5[_0x4fe33c(0x1be)]=_0x5bc005,_0xef34a5;},_0x5e41ca[_0x2af471(0x15b)][_0x2af471(0x141)]=!0x0,_0x5e41ca['exports'][_0x2af471(0xaf)]=_0x5e41ca[_0x2af471(0x15b)],_0x57c17f(_0x264adf,_0x54db3f);}_0x5e41ca['exports']=_0x57c17f,_0x5e41ca['exports']['__esModule']=!0x0,_0x5e41ca['exports']['default']=_0x5e41ca['exports'];},function(_0x1660f6,_0x569dda){var _0xe647=a0_0x5a4f6f;function _0x347aff(_0x33b11b){var _0x270b44=a0_0x13b5;return _0x1660f6['exports']=_0x347aff=_0x270b44(0x1a3)==typeof Symbol&&'symbol'==typeof Symbol[_0x270b44(0x1fe)]?function(_0x9a357a){return typeof _0x9a357a;}:function(_0x384b09){var _0x403965=_0x270b44;return _0x384b09&&_0x403965(0x1a3)==typeof Symbol&&_0x384b09['constructor']===Symbol&&_0x384b09!==Symbol[_0x403965(0x1e0)]?'symbol':typeof _0x384b09;},_0x1660f6[_0x270b44(0x15b)][_0x270b44(0x141)]=!0x0,_0x1660f6[_0x270b44(0x15b)][_0x270b44(0xaf)]=_0x1660f6[_0x270b44(0x15b)],_0x347aff(_0x33b11b);}_0x1660f6[_0xe647(0x15b)]=_0x347aff,_0x1660f6[_0xe647(0x15b)][_0xe647(0x141)]=!0x0,_0x1660f6[_0xe647(0x15b)][_0xe647(0xaf)]=_0x1660f6[_0xe647(0x15b)];},function(_0x2acece,_0x3fbf7a){var _0x36c207=a0_0x5a4f6f;_0x2acece[_0x36c207(0x15b)]=function(_0x5cc727){var _0x4988af=_0x36c207;if(void 0x0===_0x5cc727)throw new ReferenceError(_0x4988af(0xf5));return _0x5cc727;},_0x2acece['exports'][_0x36c207(0x141)]=!0x0,_0x2acece[_0x36c207(0x15b)][_0x36c207(0xaf)]=_0x2acece[_0x36c207(0x15b)];},function(_0x496be0,_0xf6c521,_0x70a4d8){var _0x3cf69f=a0_0x5a4f6f,_0x56f578=_0x70a4d8(0x9);_0x496be0[_0x3cf69f(0x15b)]=function(_0x1188d8){var _0x1c3ab1=_0x3cf69f;if(Array[_0x1c3ab1(0xe3)](_0x1188d8))return _0x56f578(_0x1188d8);},_0x496be0[_0x3cf69f(0x15b)]['__esModule']=!0x0,_0x496be0['exports']['default']=_0x496be0[_0x3cf69f(0x15b)];},function(_0x3900aa,_0x502896){var _0x5eb410=a0_0x5a4f6f;_0x3900aa[_0x5eb410(0x15b)]=function(_0x5378de){var _0x53335d=_0x5eb410;if(_0x53335d(0x18f)!=typeof Symbol&&null!=_0x5378de[Symbol['iterator']]||null!=_0x5378de[_0x53335d(0x14b)])return Array[_0x53335d(0x133)](_0x5378de);},_0x3900aa['exports']['__esModule']=!0x0,_0x3900aa['exports'][_0x5eb410(0xaf)]=_0x3900aa[_0x5eb410(0x15b)];},function(_0x323556,_0x4075ba,_0x557bd6){var _0x5d0162=a0_0x5a4f6f,_0xa73c41=_0x557bd6(0x9);_0x323556[_0x5d0162(0x15b)]=function(_0x5369e6,_0x2dcef2){var _0x246b61=_0x5d0162;if(_0x5369e6){if(_0x246b61(0xcf)==typeof _0x5369e6)return _0xa73c41(_0x5369e6,_0x2dcef2);var _0x379072=Object[_0x246b61(0x1e0)][_0x246b61(0x182)]['call'](_0x5369e6)[_0x246b61(0x1a8)](0x8,-0x1);return _0x246b61(0xd5)===_0x379072&&_0x5369e6[_0x246b61(0x123)]&&(_0x379072=_0x5369e6['constructor'][_0x246b61(0x199)]),_0x246b61(0x112)===_0x379072||_0x246b61(0x103)===_0x379072?Array[_0x246b61(0x133)](_0x5369e6):_0x246b61(0x146)===_0x379072||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/['test'](_0x379072)?_0xa73c41(_0x5369e6,_0x2dcef2):void 0x0;}},_0x323556[_0x5d0162(0x15b)][_0x5d0162(0x141)]=!0x0,_0x323556[_0x5d0162(0x15b)][_0x5d0162(0xaf)]=_0x323556['exports'];},function(_0x2e29f5,_0x40dc30){var _0x54ea0c=a0_0x5a4f6f;_0x2e29f5[_0x54ea0c(0x15b)]=function(){throw new TypeError('Invalid\x20attempt\x20to\x20spread\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.');},_0x2e29f5[_0x54ea0c(0x15b)][_0x54ea0c(0x141)]=!0x0,_0x2e29f5[_0x54ea0c(0x15b)][_0x54ea0c(0xaf)]=_0x2e29f5[_0x54ea0c(0x15b)];},function(_0xc493dc,_0x482c65,_0x5b42b3){'use strict';var _0x132431=a0_0x5a4f6f;_0x5b42b3['r'](_0x482c65),_0x5b42b3['d'](_0x482c65,_0x132431(0xc3),function(){return _0xf4306f;}),_0x5b42b3['d'](_0x482c65,_0x132431(0x167),function(){return _0x5c5510;}),_0x5b42b3['d'](_0x482c65,_0x132431(0x1c7),function(){return _0x36b788;});var _0x36b788={};_0x5b42b3['r'](_0x36b788),_0x5b42b3['d'](_0x36b788,_0x132431(0xac),function(){return _0x1e420c;}),_0x5b42b3['d'](_0x36b788,_0x132431(0x1c9),function(){return _0x2f6890;}),_0x5b42b3['d'](_0x36b788,'getSpeed',function(){return _0x498375;}),_0x5b42b3['d'](_0x36b788,_0x132431(0xc4),function(){return _0x1a39b4;});var _0x170d6b=_0x5b42b3(0x0),_0x2982fb=_0x5b42b3(0x5),_0x1f925c=_0x5b42b3['n'](_0x2982fb),_0x9600c1=_0x5b42b3(0x1),_0x5c506e=_0x5b42b3['n'](_0x9600c1),_0x4a9524=_0x5b42b3(0x2),_0x2169ad=_0x5b42b3['n'](_0x4a9524),_0x11378f=_0x5b42b3(0x6),_0x33e7cd=_0x5b42b3['n'](_0x11378f),_0x3d547a=_0x5b42b3(0x7),_0x336778=_0x5b42b3['n'](_0x3d547a),_0xe27739=_0x5b42b3(0x3),_0x123b6d=_0x5b42b3['n'](_0xe27739),_0x187ae7=_0x5b42b3(0x4),_0x1a48bd=_0x5b42b3['n'](_0x187ae7),_0x5b5347=_0x170d6b['Cesium'],_0x5a53ab=(function(){var _0x594ce1=_0x132431;function _0x359225(_0x29ad1c){var _0x3bbab8=a0_0x13b5;_0x5c506e()(this,_0x359225),this[_0x3bbab8(0xed)]=_0x29ad1c['commandType'],this['geometry']=_0x29ad1c[_0x3bbab8(0x190)],this['attributeLocations']=_0x29ad1c[_0x3bbab8(0x1c3)],this[_0x3bbab8(0x1a1)]=_0x29ad1c[_0x3bbab8(0x1a1)],this[_0x3bbab8(0xf8)]=_0x29ad1c[_0x3bbab8(0xf8)],this[_0x3bbab8(0x147)]=_0x29ad1c[_0x3bbab8(0x147)],this[_0x3bbab8(0x1e1)]=_0x29ad1c[_0x3bbab8(0x1e1)],this[_0x3bbab8(0xf2)]=_0x29ad1c[_0x3bbab8(0xf2)],this[_0x3bbab8(0x93)]=_0x29ad1c['framebuffer'],this[_0x3bbab8(0x111)]=_0x29ad1c[_0x3bbab8(0x111)],this[_0x3bbab8(0x1e2)]=_0x5b5347[_0x3bbab8(0x8c)](_0x29ad1c[_0x3bbab8(0x1e2)],!0x1),this['preExecute']=_0x29ad1c['preExecute'],this[_0x3bbab8(0x126)]=!0x0,this[_0x3bbab8(0x198)]=void 0x0,this[_0x3bbab8(0x175)]=void 0x0,this[_0x3bbab8(0x1e2)]&&(this[_0x3bbab8(0x175)]=new _0x5b5347[(_0x3bbab8(0x130))]({'color':new _0x5b5347[(_0x3bbab8(0x138))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[_0x3bbab8(0x93)],'pass':_0x5b5347[_0x3bbab8(0xce)][_0x3bbab8(0x109)]}));}return _0x2169ad()(_0x359225,[{'key':_0x594ce1(0x158),'value':function(_0x42c17d){var _0x564985=_0x594ce1;switch(this[_0x564985(0xed)]){case _0x564985(0x1b0):var _0x2b3963=_0x5b5347[_0x564985(0x188)][_0x564985(0x140)]({'context':_0x42c17d,'geometry':this['geometry'],'attributeLocations':this[_0x564985(0x1c3)],'bufferUsage':_0x5b5347['BufferUsage'][_0x564985(0xda)]}),_0x2fed1d=_0x5b5347[_0x564985(0xe8)][_0x564985(0x12a)]({'context':_0x42c17d,'attributeLocations':this['attributeLocations'],'vertexShaderSource':this[_0x564985(0x147)],'fragmentShaderSource':this[_0x564985(0x1e1)]}),_0x347ff9=_0x5b5347[_0x564985(0xbe)][_0x564985(0x12a)](this[_0x564985(0xf2)]);return new _0x5b5347[(_0x564985(0x116))]({'owner':this,'vertexArray':_0x2b3963,'primitiveType':this[_0x564985(0x1a1)],'uniformMap':this[_0x564985(0xf8)],'modelMatrix':_0x5b5347[_0x564985(0x113)][_0x564985(0x12c)],'shaderProgram':_0x2fed1d,'framebuffer':this[_0x564985(0x93)],'renderState':_0x347ff9,'pass':_0x5b5347['Pass'][_0x564985(0x109)]});case _0x564985(0xb1):return new _0x5b5347[(_0x564985(0x1f6))]({'owner':this,'fragmentShaderSource':this[_0x564985(0x1e1)],'uniformMap':this[_0x564985(0xf8)],'outputTexture':this[_0x564985(0x111)],'persists':!0x0});default:return;}}},{'key':_0x594ce1(0x1a7),'value':function(_0x3bdbd4,_0x166a86){var _0x1d8bca=_0x594ce1;this[_0x1d8bca(0x190)]=_0x166a86;var _0x5adf6a=_0x5b5347[_0x1d8bca(0x188)]['fromGeometry']({'context':_0x3bdbd4,'geometry':this[_0x1d8bca(0x190)],'attributeLocations':this[_0x1d8bca(0x1c3)],'bufferUsage':_0x5b5347[_0x1d8bca(0x203)]['STATIC_DRAW']});this[_0x1d8bca(0x198)][_0x1d8bca(0xeb)]=_0x5adf6a;}},{'key':_0x594ce1(0x192),'value':function(_0xd0beae){var _0xb47107=_0x594ce1;this[_0xb47107(0x126)]&&_0xd0beae[_0xb47107(0x7f)]==_0x5b5347[_0xb47107(0x1ce)][_0xb47107(0xb4)]&&(_0x5b5347[_0xb47107(0x194)](this['commandToExecute'])||(this[_0xb47107(0x198)]=this[_0xb47107(0x158)](_0xd0beae[_0xb47107(0x1bf)])),_0x5b5347[_0xb47107(0x194)](this[_0xb47107(0x1e8)])&&this[_0xb47107(0x1e8)](),_0x5b5347[_0xb47107(0x194)](this[_0xb47107(0x175)])&&_0xd0beae[_0xb47107(0x178)][_0xb47107(0x98)](this['clearCommand']),_0xd0beae[_0xb47107(0x178)][_0xb47107(0x98)](this[_0xb47107(0x198)]));}},{'key':_0x594ce1(0x134),'value':function(){return!0x1;}},{'key':_0x594ce1(0x119),'value':function(){var _0x282d23=_0x594ce1;return _0x5b5347[_0x282d23(0x194)](this[_0x282d23(0x198)])&&(this[_0x282d23(0x198)][_0x282d23(0x15d)]=this[_0x282d23(0x198)][_0x282d23(0x15d)]&&this[_0x282d23(0x198)][_0x282d23(0x15d)][_0x282d23(0x119)]()),_0x5b5347[_0x282d23(0x128)](this);}}]),_0x359225;}()),_0x4c90a6=_0x170d6b[_0x132431(0x1ea)],_0x4d6a82={'getFullscreenQuad':function(){var _0x368d27=_0x132431;return new _0x4c90a6[(_0x368d27(0xbb))]({'attributes':new _0x4c90a6[(_0x368d27(0x12e))]({'position':new _0x4c90a6[(_0x368d27(0x122))]({'componentDatatype':_0x4c90a6[_0x368d27(0xae)]['FLOAT'],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new _0x4c90a6[(_0x368d27(0x122))]({'componentDatatype':_0x4c90a6[_0x368d27(0xae)][_0x368d27(0xb6)],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});},'createTexture':function(_0x4a030a,_0x144fed){var _0x30fc5a=_0x132431;if(_0x4c90a6[_0x30fc5a(0x194)](_0x144fed)){var _0x3437f8={};_0x3437f8[_0x30fc5a(0x7e)]=_0x144fed,_0x4a030a['source']=_0x3437f8;}return new _0x4c90a6[(_0x30fc5a(0x1ca))](_0x4a030a);},'createFramebuffer':function(_0x4ec9e1,_0x21340d,_0x1431dd){var _0x3f5c9d=_0x132431;return new _0x4c90a6[(_0x3f5c9d(0x150))]({'context':_0x4ec9e1,'colorTextures':[_0x21340d],'depthTexture':_0x1431dd});},'createRawRenderState':function(_0x14570c){var _0x38fabe=_0x132431,_0x46d222={'viewport':_0x14570c[_0x38fabe(0x97)],'depthTest':_0x14570c[_0x38fabe(0xcd)],'depthMask':_0x14570c[_0x38fabe(0x108)],'blending':_0x14570c[_0x38fabe(0x9f)]};return _0x4c90a6[_0x38fabe(0x1e4)]['getDefaultRenderState'](!0x0,!0x1,_0x46d222);},'viewRectangleToLonLatRange':function(_0xb30fa3){var _0x2a107c=_0x132431,_0xfbced3,_0x3c2602,_0x517f58={},_0x31d251=_0x4c90a6[_0x2a107c(0x1cc)][_0x2a107c(0x15e)](_0xb30fa3[_0x2a107c(0x1d4)],_0x4c90a6['Math'][_0x2a107c(0xef)]),_0x217eb5=_0x4c90a6['Math'][_0x2a107c(0x15e)](_0xb30fa3[_0x2a107c(0x166)],_0x4c90a6[_0x2a107c(0x1cc)][_0x2a107c(0xef)]),_0x1e5905=_0xb30fa3[_0x2a107c(0x14a)];_0x1e5905>_0x4c90a6[_0x2a107c(0x1cc)]['THREE_PI_OVER_TWO']?(_0xfbced3=0x0,_0x3c2602=_0x4c90a6[_0x2a107c(0x1cc)][_0x2a107c(0xef)]):_0x217eb5-_0x31d251<_0x1e5905?(_0xfbced3=_0x31d251,_0x3c2602=_0x31d251+_0x1e5905):(_0xfbced3=_0x31d251,_0x3c2602=_0x217eb5),_0x517f58[_0x2a107c(0x1f0)]={'min':_0x4c90a6[_0x2a107c(0x1cc)][_0x2a107c(0x205)](_0xfbced3),'max':_0x4c90a6[_0x2a107c(0x1cc)]['toDegrees'](_0x3c2602)};var _0x1576fe=_0xb30fa3[_0x2a107c(0x1f1)],_0x5534fb=_0xb30fa3['north'],_0x3ff3b9=_0xb30fa3[_0x2a107c(0xfc)],_0x22b75e=_0x3ff3b9>_0x4c90a6[_0x2a107c(0x1cc)]['PI']/0xc?_0x3ff3b9/0x2:0x0,_0x1946dd=_0x4c90a6[_0x2a107c(0x1cc)][_0x2a107c(0xbf)](_0x1576fe-_0x22b75e),_0x64083f=_0x4c90a6[_0x2a107c(0x1cc)]['clampToLatitudeRange'](_0x5534fb+_0x22b75e);return _0x1946dd<-_0x4c90a6[_0x2a107c(0x1cc)][_0x2a107c(0xea)]&&(_0x1946dd=-_0x4c90a6[_0x2a107c(0x1cc)][_0x2a107c(0x184)]),_0x64083f>_0x4c90a6[_0x2a107c(0x1cc)][_0x2a107c(0xea)]&&(_0x64083f=_0x4c90a6[_0x2a107c(0x1cc)]['PI_OVER_TWO']),_0x517f58[_0x2a107c(0x87)]={'min':_0x4c90a6['Math']['toDegrees'](_0x1946dd),'max':_0x4c90a6['Math']['toDegrees'](_0x64083f)},_0x517f58;}},_0x140853=_0x5b42b3(0xa),_0x5dfb6e=_0x5b42b3['n'](_0x140853),_0x3153f5=_0x5b42b3(0xb),_0x5658c2=_0x5b42b3['n'](_0x3153f5),_0x1ca4bd=_0x5b42b3(0x8),_0x24a3a5=_0x5b42b3['n'](_0x1ca4bd),_0x5f5353=_0x5b42b3(0xc),_0x5e68fc=_0x5b42b3['n'](_0x5f5353),_0x5f4e94=_0x5b42b3(0xd),_0x2085d7=_0x5b42b3['n'](_0x5f4e94),_0x44043d=_0x170d6b['Cesium'],_0x588385=(function(){var _0x334d8c=_0x132431;function _0xaa463b(_0x2fb8e2,_0x4dfc46,_0x14f7dc,_0x540fd6,_0x20fa96){var _0x1a35bc=a0_0x13b5;_0x5c506e()(this,_0xaa463b),this['createRenderingTextures'](_0x2fb8e2,_0x4dfc46,_0x14f7dc[_0x1a35bc(0x107)]),this[_0x1a35bc(0x1d8)](_0x2fb8e2),this[_0x1a35bc(0x1c8)](_0x2fb8e2,_0x14f7dc,_0x540fd6,_0x20fa96);}return _0x2169ad()(_0xaa463b,[{'key':'createRenderingTextures','value':function(_0x126f36,_0x2dff4e,_0x3303fe){var _0x298ad6=a0_0x13b5;for(var _0xc07fe4={'context':_0x126f36,'width':_0x126f36[_0x298ad6(0xdf)],'height':_0x126f36[_0x298ad6(0xa1)],'pixelFormat':_0x44043d[_0x298ad6(0x1f7)][_0x298ad6(0x19a)],'pixelDatatype':_0x44043d['PixelDatatype'][_0x298ad6(0x180)]},_0x362b59={'context':_0x126f36,'width':_0x126f36['drawingBufferWidth'],'height':_0x126f36[_0x298ad6(0xa1)],'pixelFormat':_0x44043d[_0x298ad6(0x1f7)]['DEPTH_COMPONENT'],'pixelDatatype':_0x44043d[_0x298ad6(0x20c)][_0x298ad6(0x162)]},_0x154f4d=_0x3303fe[_0x298ad6(0x12b)],_0x5a986f=new Float32Array(0x3*_0x154f4d),_0x88ade8=0x0;_0x88ade8<_0x154f4d;_0x88ade8++){var _0x3a4c74=_0x44043d[_0x298ad6(0x138)][_0x298ad6(0x19b)](_0x3303fe[_0x88ade8]);_0x5a986f[0x3*_0x88ade8]=_0x3a4c74['red'],_0x5a986f[0x3*_0x88ade8+0x1]=_0x3a4c74[_0x298ad6(0xf4)],_0x5a986f[0x3*_0x88ade8+0x2]=_0x3a4c74[_0x298ad6(0x1b1)];}var _0x48ed6c={'context':_0x126f36,'width':_0x154f4d,'height':0x1,'pixelFormat':_0x44043d['PixelFormat'][_0x298ad6(0x13e)],'pixelDatatype':_0x44043d[_0x298ad6(0x20c)][_0x298ad6(0xb6)],'sampler':new _0x44043d['Sampler']({'minificationFilter':_0x44043d['TextureMinificationFilter'][_0x298ad6(0x12f)],'magnificationFilter':_0x44043d[_0x298ad6(0x1e3)][_0x298ad6(0x12f)]})};this['textures']={'segmentsColor':_0x4d6a82[_0x298ad6(0xf0)](_0xc07fe4),'segmentsDepth':_0x4d6a82['createTexture'](_0x362b59),'currentTrailsColor':_0x4d6a82[_0x298ad6(0xf0)](_0xc07fe4),'currentTrailsDepth':_0x4d6a82[_0x298ad6(0xf0)](_0x362b59),'nextTrailsColor':_0x4d6a82[_0x298ad6(0xf0)](_0xc07fe4),'nextTrailsDepth':_0x4d6a82[_0x298ad6(0xf0)](_0x362b59),'colorTable':_0x4d6a82['createTexture'](_0x48ed6c,_0x5a986f)};}},{'key':_0x334d8c(0x1d8),'value':function(_0x3a27c2){var _0x21d1cc=_0x334d8c;this[_0x21d1cc(0xcc)]={'segments':_0x4d6a82['createFramebuffer'](_0x3a27c2,this['textures'][_0x21d1cc(0x1e5)],this[_0x21d1cc(0xc1)]['segmentsDepth']),'currentTrails':_0x4d6a82[_0x21d1cc(0x142)](_0x3a27c2,this[_0x21d1cc(0xc1)][_0x21d1cc(0x179)],this[_0x21d1cc(0xc1)][_0x21d1cc(0x8f)]),'nextTrails':_0x4d6a82['createFramebuffer'](_0x3a27c2,this['textures'][_0x21d1cc(0xa5)],this['textures']['nextTrailsDepth'])};}},{'key':_0x334d8c(0x1af),'value':function(_0x471154){var _0x335d20=_0x334d8c;for(var _0x4098c8=[],_0x52d3cb=0x0;_0x52d3cb<_0x471154[_0x335d20(0x11d)];_0x52d3cb++)for(var _0x41be1a=0x0;_0x41be1a<_0x471154[_0x335d20(0x11d)];_0x41be1a++)for(var _0x55fa4=0x0;_0x55fa4<0x4;_0x55fa4++)_0x4098c8['push'](_0x52d3cb/_0x471154[_0x335d20(0x11d)]),_0x4098c8[_0x335d20(0x98)](_0x41be1a/_0x471154[_0x335d20(0x11d)]);_0x4098c8=new Float32Array(_0x4098c8);for(var _0x20fbba=[],_0x4b10a4=[-0x1,0x1],_0x1ec5be=[-0x1,0x1],_0x1505c3=0x0;_0x1505c3<_0x471154[_0x335d20(0xc0)];_0x1505c3++)for(var _0x3964fc=0x0;_0x3964fc<0x2;_0x3964fc++)for(var _0x4cd5bb=0x0;_0x4cd5bb<0x2;_0x4cd5bb++)_0x20fbba['push'](_0x4b10a4[_0x3964fc]),_0x20fbba['push'](_0x1ec5be[_0x4cd5bb]),_0x20fbba['push'](0x0);_0x20fbba=new Float32Array(_0x20fbba);for(var _0x5094a6=0x6*_0x471154[_0x335d20(0xc0)],_0x4475e8=new Uint32Array(_0x5094a6),_0x43f032=0x0,_0x2cd40e=0x0,_0x27b84b=0x0;_0x43f032<_0x471154[_0x335d20(0xc0)];_0x43f032++)_0x4475e8[_0x2cd40e++]=_0x27b84b+0x0,_0x4475e8[_0x2cd40e++]=_0x27b84b+0x1,_0x4475e8[_0x2cd40e++]=_0x27b84b+0x2,_0x4475e8[_0x2cd40e++]=_0x27b84b+0x2,_0x4475e8[_0x2cd40e++]=_0x27b84b+0x1,_0x4475e8[_0x2cd40e++]=_0x27b84b+0x3,_0x27b84b+=0x4;return new _0x44043d[(_0x335d20(0xbb))]({'attributes':new _0x44043d[(_0x335d20(0x12e))]({'st':new _0x44043d['GeometryAttribute']({'componentDatatype':_0x44043d[_0x335d20(0xae)][_0x335d20(0xb6)],'componentsPerAttribute':0x2,'values':_0x4098c8}),'normal':new _0x44043d[(_0x335d20(0x122))]({'componentDatatype':_0x44043d['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x3,'values':_0x20fbba})}),'indices':_0x4475e8});}},{'key':'createRenderingPrimitives','value':function(_0x537c12,_0x11fd31,_0x2cbf65,_0xfd5f11){var _0x51a767=_0x334d8c,_0x2c113f=this;this[_0x51a767(0x9b)]={'segments':new _0x5a53ab({'commandType':_0x51a767(0x1b0),'attributeLocations':{'st':0x0,'normal':0x1},'geometry':this[_0x51a767(0x1af)](_0x11fd31),'primitiveType':_0x44043d['PrimitiveType'][_0x51a767(0xcb)],'uniformMap':{'currentParticlesPosition':function(){var _0x361bd6=_0x51a767;return _0xfd5f11[_0x361bd6(0x1fd)][_0x361bd6(0x17c)];},'postProcessingPosition':function(){var _0x13839d=_0x51a767;return _0xfd5f11[_0x13839d(0x1fd)][_0x13839d(0x127)];},'postProcessingSpeed':function(){var _0x247017=_0x51a767;return _0xfd5f11[_0x247017(0x1fd)][_0x247017(0x86)];},'colorTable':function(){var _0x11c9ff=_0x51a767;return _0x2c113f['textures'][_0x11c9ff(0x144)];},'aspect':function(){var _0x208108=_0x51a767;return _0x537c12[_0x208108(0xdf)]/_0x537c12['drawingBufferHeight'];},'pixelSize':function(){return _0x2cbf65['pixelSize'];},'lineWidth':function(){var _0x450bec=_0x51a767;return _0x11fd31[_0x450bec(0x79)];},'particleHeight':function(){return _0x11fd31['particleHeight'];}},'vertexShaderSource':new _0x44043d[(_0x51a767(0x95))]({'sources':[_0x5dfb6e['a']]}),'fragmentShaderSource':new _0x44043d[(_0x51a767(0x95))]({'sources':[_0x5658c2['a']]}),'rawRenderState':_0x4d6a82[_0x51a767(0x8b)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0},'depthMask':!0x0}),'framebuffer':this[_0x51a767(0xcc)][_0x51a767(0x1bd)],'autoClear':!0x0}),'trails':new _0x5a53ab({'commandType':_0x51a767(0x1b0),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x4d6a82[_0x51a767(0x1fc)](),'primitiveType':_0x44043d[_0x51a767(0x157)][_0x51a767(0xcb)],'uniformMap':{'segmentsColorTexture':function(){var _0x4090e0=_0x51a767;return _0x2c113f[_0x4090e0(0xc1)][_0x4090e0(0x1e5)];},'segmentsDepthTexture':function(){var _0x4a42b8=_0x51a767;return _0x2c113f[_0x4a42b8(0xc1)]['segmentsDepth'];},'currentTrailsColor':function(){var _0x526442=_0x51a767;return _0x2c113f['framebuffers']['currentTrails'][_0x526442(0x1eb)](0x0);},'trailsDepthTexture':function(){var _0x4d162d=_0x51a767;return _0x2c113f['framebuffers'][_0x4d162d(0xf3)]['depthTexture'];},'fadeOpacity':function(){var _0xe4f887=_0x51a767;return _0x11fd31[_0xe4f887(0x1ec)];}},'vertexShaderSource':new _0x44043d[(_0x51a767(0x95))]({'defines':[_0x51a767(0xfa)],'sources':[_0x24a3a5['a']]}),'fragmentShaderSource':new _0x44043d[(_0x51a767(0x95))]({'defines':['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],'sources':[_0x5e68fc['a']]}),'rawRenderState':_0x4d6a82[_0x51a767(0x8b)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0,'func':_0x44043d[_0x51a767(0xa2)][_0x51a767(0x1f8)]},'depthMask':!0x0}),'framebuffer':this['framebuffers'][_0x51a767(0xe9)],'autoClear':!0x0,'preExecute':function(){var _0x19bfe5=_0x51a767,_0x881cc1;_0x881cc1=_0x2c113f[_0x19bfe5(0xcc)][_0x19bfe5(0xf3)],_0x2c113f[_0x19bfe5(0xcc)][_0x19bfe5(0xf3)]=_0x2c113f[_0x19bfe5(0xcc)]['nextTrails'],_0x2c113f[_0x19bfe5(0xcc)][_0x19bfe5(0xe9)]=_0x881cc1,_0x2c113f[_0x19bfe5(0x9b)][_0x19bfe5(0x19e)][_0x19bfe5(0x198)][_0x19bfe5(0x93)]=_0x2c113f[_0x19bfe5(0xcc)][_0x19bfe5(0xe9)],_0x2c113f[_0x19bfe5(0x9b)][_0x19bfe5(0x19e)][_0x19bfe5(0x175)]['framebuffer']=_0x2c113f['framebuffers']['nextTrails'];}}),'screen':new _0x5a53ab({'commandType':_0x51a767(0x1b0),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x4d6a82[_0x51a767(0x1fc)](),'primitiveType':_0x44043d[_0x51a767(0x157)][_0x51a767(0xcb)],'uniformMap':{'trailsColorTexture':function(){var _0x196207=_0x51a767;return _0x2c113f[_0x196207(0xcc)][_0x196207(0xe9)][_0x196207(0x1eb)](0x0);},'trailsDepthTexture':function(){var _0x408fcc=_0x51a767;return _0x2c113f[_0x408fcc(0xcc)][_0x408fcc(0xe9)][_0x408fcc(0xc2)];}},'vertexShaderSource':new _0x44043d['ShaderSource']({'defines':[_0x51a767(0xfa)],'sources':[_0x24a3a5['a']]}),'fragmentShaderSource':new _0x44043d[(_0x51a767(0x95))]({'defines':[_0x51a767(0xc6)],'sources':[_0x2085d7['a']]}),'rawRenderState':_0x4d6a82[_0x51a767(0x8b)]({'viewport':void 0x0,'depthTest':{'enabled':!0x1},'depthMask':!0x0,'blending':{'enabled':!0x0}}),'framebuffer':void 0x0})};}}]),_0xaa463b;}()),_0x1fd0f9=_0x5b42b3(0xe),_0x1a82a0=_0x5b42b3['n'](_0x1fd0f9),_0x2d29b7=_0x5b42b3(0xf),_0x4fa44b=_0x5b42b3['n'](_0x2d29b7),_0x280555=_0x5b42b3(0x10),_0xee945b=_0x5b42b3['n'](_0x280555),_0xd6b051=_0x5b42b3(0x11),_0xcb2f62=_0x5b42b3['n'](_0xd6b051),_0x35a08b=_0x5b42b3(0x12),_0x5473cf=_0x5b42b3['n'](_0x35a08b),_0x5f1352=_0x170d6b[_0x132431(0x1ea)],_0x583437=(function(){var _0xc9846b=_0x132431;function _0x4260c7(_0x20e6cb,_0x3c8a4f,_0x5a75e1,_0x22b2d2){var _0x383594=a0_0x13b5;_0x5c506e()(this,_0x4260c7),this[_0x383594(0x1b5)]=_0x3c8a4f,this['createWindTextures'](_0x20e6cb,_0x3c8a4f),this[_0x383594(0xe5)](_0x20e6cb,_0x5a75e1,_0x22b2d2),this[_0x383594(0x176)](_0x3c8a4f,_0x5a75e1,_0x22b2d2);}return _0x2169ad()(_0x4260c7,[{'key':_0xc9846b(0x94),'value':function(_0x511cf0,_0x1954fc){var _0xdb9391=_0xc9846b,_0x4d9cd8={'context':_0x511cf0,'width':_0x1954fc[_0xdb9391(0xe2)]['lon'],'height':_0x1954fc[_0xdb9391(0xe2)][_0xdb9391(0x87)]*(_0x1954fc[_0xdb9391(0xe2)][_0xdb9391(0x125)]||0x1),'pixelFormat':_0x5f1352[_0xdb9391(0x1f7)][_0xdb9391(0x170)],'pixelDatatype':_0x5f1352[_0xdb9391(0x20c)][_0xdb9391(0xb6)],'flipY':!0x1,'sampler':new _0x5f1352['Sampler']({'minificationFilter':_0x5f1352[_0xdb9391(0x137)][_0xdb9391(0x90)],'magnificationFilter':_0x5f1352[_0xdb9391(0x1e3)][_0xdb9391(0x90)]})};this[_0xdb9391(0x11e)]={'U':_0x4d6a82[_0xdb9391(0xf0)](_0x4d9cd8,_0x1954fc['U'][_0xdb9391(0xf1)]),'V':_0x4d6a82[_0xdb9391(0xf0)](_0x4d9cd8,_0x1954fc['V'][_0xdb9391(0xf1)])};}},{'key':_0xc9846b(0xe5),'value':function(_0x36c3cb,_0x1f61a8,_0x77a160){var _0x2872e1=_0xc9846b,_0x26fb58={'context':_0x36c3cb,'width':_0x1f61a8['particlesTextureSize'],'height':_0x1f61a8[_0x2872e1(0x11d)],'pixelFormat':_0x5f1352[_0x2872e1(0x1f7)]['RGBA'],'pixelDatatype':_0x5f1352[_0x2872e1(0x20c)][_0x2872e1(0xb6)],'flipY':!0x1,'sampler':new _0x5f1352[(_0x2872e1(0x189))]({'minificationFilter':_0x5f1352[_0x2872e1(0x137)][_0x2872e1(0x90)],'magnificationFilter':_0x5f1352[_0x2872e1(0x1e3)][_0x2872e1(0x90)]})},_0x18e49e=this['randomizeParticles'](_0x1f61a8[_0x2872e1(0xc0)],_0x77a160),_0x444224=new Float32Array(0x4*_0x1f61a8['maxParticles'])[_0x2872e1(0x1b9)](0x0);this[_0x2872e1(0x1fd)]={'particlesWind':_0x4d6a82['createTexture'](_0x26fb58),'currentParticlesPosition':_0x4d6a82[_0x2872e1(0xf0)](_0x26fb58,_0x18e49e),'nextParticlesPosition':_0x4d6a82[_0x2872e1(0xf0)](_0x26fb58,_0x18e49e),'currentParticlesSpeed':_0x4d6a82[_0x2872e1(0xf0)](_0x26fb58,_0x444224),'nextParticlesSpeed':_0x4d6a82[_0x2872e1(0xf0)](_0x26fb58,_0x444224),'postProcessingPosition':_0x4d6a82[_0x2872e1(0xf0)](_0x26fb58,_0x18e49e),'postProcessingSpeed':_0x4d6a82[_0x2872e1(0xf0)](_0x26fb58,_0x444224)};}},{'key':_0xc9846b(0x13f),'value':function(_0xada1f4,_0x556b39){var _0x40467b=_0xc9846b;for(var _0x11b0e8=new Float32Array(0x4*_0xada1f4),_0x3dfc2c=0x0;_0x3dfc2c<_0xada1f4;_0x3dfc2c++)_0x11b0e8[0x4*_0x3dfc2c]=_0x5f1352[_0x40467b(0x1cc)][_0x40467b(0x1e9)](_0x556b39['lonRange']['x'],_0x556b39[_0x40467b(0x1ee)]['y']),_0x11b0e8[0x4*_0x3dfc2c+0x1]=_0x5f1352[_0x40467b(0x1cc)][_0x40467b(0x1e9)](_0x556b39[_0x40467b(0x1d6)]['x'],_0x556b39[_0x40467b(0x1d6)]['y']),_0x11b0e8[0x4*_0x3dfc2c+0x2]=_0x5f1352[_0x40467b(0x1cc)]['randomBetween'](this[_0x40467b(0x1b5)]['lev']['min'],this[_0x40467b(0x1b5)][_0x40467b(0x125)][_0x40467b(0x7d)]),_0x11b0e8[0x4*_0x3dfc2c+0x3]=0x0;return _0x11b0e8;}},{'key':_0xc9846b(0x196),'value':function(){var _0x1fac7e=_0xc9846b,_0x3ac5b0=this;Object[_0x1fac7e(0x1ad)](this[_0x1fac7e(0x1fd)])[_0x1fac7e(0xab)](function(_0x4c0c53){var _0x12a94f=_0x1fac7e;_0x3ac5b0[_0x12a94f(0x1fd)][_0x4c0c53][_0x12a94f(0x119)]();});}},{'key':_0xc9846b(0x176),'value':function(_0x39911f,_0x52312c,_0x1010be){var _0x1ac467=_0xc9846b,_0x4d688d=new _0x5f1352['Cartesian3'](_0x39911f[_0x1ac467(0xe2)][_0x1ac467(0x1f0)],_0x39911f[_0x1ac467(0xe2)]['lat'],_0x39911f[_0x1ac467(0xe2)][_0x1ac467(0x125)]),_0x82b512=new _0x5f1352[(_0x1ac467(0x15c))](_0x39911f['lon'][_0x1ac467(0x1ff)],_0x39911f['lat'][_0x1ac467(0x1ff)],_0x39911f[_0x1ac467(0x125)][_0x1ac467(0x1ff)]),_0x465e7a=new _0x5f1352[(_0x1ac467(0x15c))](_0x39911f['lon']['max'],_0x39911f[_0x1ac467(0x87)][_0x1ac467(0x7d)],_0x39911f['lev']['max']),_0xdc8876=new _0x5f1352[(_0x1ac467(0x15c))]((_0x465e7a['x']-_0x82b512['x'])/(_0x4d688d['x']-0x1),(_0x465e7a['y']-_0x82b512['y'])/(_0x4d688d['y']-0x1),_0x4d688d['z']>0x1?(_0x465e7a['z']-_0x82b512['z'])/(_0x4d688d['z']-0x1):0x1),_0x1faada=new _0x5f1352['Cartesian2'](_0x39911f['U'][_0x1ac467(0x1ff)],_0x39911f['U'][_0x1ac467(0x7d)]),_0x2df458=new _0x5f1352[(_0x1ac467(0xca))](_0x39911f['V']['min'],_0x39911f['V'][_0x1ac467(0x7d)]),_0x62de92=this;this[_0x1ac467(0x9b)]={'getWind':new _0x5a53ab({'commandType':_0x1ac467(0xb1),'uniformMap':{'U':function(){return _0x62de92['windTextures']['U'];},'V':function(){return _0x62de92['windTextures']['V'];},'currentParticlesPosition':function(){var _0x5cc094=_0x1ac467;return _0x62de92[_0x5cc094(0x1fd)][_0x5cc094(0x17c)];},'dimension':function(){return _0x4d688d;},'minimum':function(){return _0x82b512;},'maximum':function(){return _0x465e7a;},'interval':function(){return _0xdc8876;}},'fragmentShaderSource':new _0x5f1352['ShaderSource']({'sources':[_0x1a82a0['a']]}),'outputTexture':this[_0x1ac467(0x1fd)][_0x1ac467(0x82)],'preExecute':function(){var _0x2f5d1c=_0x1ac467;_0x62de92[_0x2f5d1c(0x9b)][_0x2f5d1c(0x1db)][_0x2f5d1c(0x198)]['outputTexture']=_0x62de92[_0x2f5d1c(0x1fd)]['particlesWind'];}}),'updateSpeed':new _0x5a53ab({'commandType':_0x1ac467(0xb1),'uniformMap':{'currentParticlesSpeed':function(){var _0x3b15a1=_0x1ac467;return _0x62de92['particlesTextures'][_0x3b15a1(0x1fb)];},'particlesWind':function(){var _0x42bb18=_0x1ac467;return _0x62de92[_0x42bb18(0x1fd)][_0x42bb18(0x82)];},'uSpeedRange':function(){return _0x1faada;},'vSpeedRange':function(){return _0x2df458;},'pixelSize':function(){var _0x3f426d=_0x1ac467;return _0x1010be[_0x3f426d(0xd2)];},'speedFactor':function(){var _0x2205f3=_0x1ac467;return _0x52312c[_0x2205f3(0xc8)];}},'fragmentShaderSource':new _0x5f1352[(_0x1ac467(0x95))]({'sources':[_0x4fa44b['a']]}),'outputTexture':this[_0x1ac467(0x1fd)][_0x1ac467(0x115)],'preExecute':function(){var _0x13aa6f=_0x1ac467,_0x27bae1;_0x27bae1=_0x62de92[_0x13aa6f(0x1fd)]['currentParticlesSpeed'],_0x62de92[_0x13aa6f(0x1fd)][_0x13aa6f(0x1fb)]=_0x62de92[_0x13aa6f(0x1fd)][_0x13aa6f(0x86)],_0x62de92[_0x13aa6f(0x1fd)][_0x13aa6f(0x86)]=_0x27bae1,_0x62de92[_0x13aa6f(0x9b)][_0x13aa6f(0x1f2)][_0x13aa6f(0x198)]['outputTexture']=_0x62de92[_0x13aa6f(0x1fd)][_0x13aa6f(0x115)];}}),'updatePosition':new _0x5a53ab({'commandType':_0x1ac467(0xb1),'uniformMap':{'currentParticlesPosition':function(){var _0x2f6762=_0x1ac467;return _0x62de92[_0x2f6762(0x1fd)][_0x2f6762(0x17c)];},'currentParticlesSpeed':function(){var _0x2f6152=_0x1ac467;return _0x62de92[_0x2f6152(0x1fd)][_0x2f6152(0x1fb)];}},'fragmentShaderSource':new _0x5f1352[(_0x1ac467(0x95))]({'sources':[_0xee945b['a']]}),'outputTexture':this[_0x1ac467(0x1fd)][_0x1ac467(0xb7)],'preExecute':function(){var _0x47cfbc=_0x1ac467,_0x223f12;_0x223f12=_0x62de92['particlesTextures'][_0x47cfbc(0x17c)],_0x62de92[_0x47cfbc(0x1fd)][_0x47cfbc(0x17c)]=_0x62de92[_0x47cfbc(0x1fd)][_0x47cfbc(0x127)],_0x62de92[_0x47cfbc(0x1fd)][_0x47cfbc(0x127)]=_0x223f12,_0x62de92[_0x47cfbc(0x9b)]['updatePosition']['commandToExecute'][_0x47cfbc(0x111)]=_0x62de92[_0x47cfbc(0x1fd)][_0x47cfbc(0xb7)];}}),'postProcessingPosition':new _0x5a53ab({'commandType':'Compute','uniformMap':{'nextParticlesPosition':function(){var _0x391d43=_0x1ac467;return _0x62de92[_0x391d43(0x1fd)][_0x391d43(0xb7)];},'nextParticlesSpeed':function(){var _0x45ca31=_0x1ac467;return _0x62de92[_0x45ca31(0x1fd)][_0x45ca31(0x115)];},'lonRange':function(){var _0x56b1f3=_0x1ac467;return _0x1010be[_0x56b1f3(0x1ee)];},'latRange':function(){return _0x1010be['latRange'];},'randomCoefficient':function(){var _0x275c42=_0x1ac467,_0x5808e9=Math[_0x275c42(0x13c)]();return _0x5808e9;},'dropRate':function(){return _0x52312c['dropRate'];},'dropRateBump':function(){return _0x52312c['dropRateBump'];}},'fragmentShaderSource':new _0x5f1352[(_0x1ac467(0x95))]({'sources':[_0xcb2f62['a']]}),'outputTexture':this[_0x1ac467(0x1fd)][_0x1ac467(0x127)],'preExecute':function(){var _0x39187f=_0x1ac467;_0x62de92[_0x39187f(0x9b)][_0x39187f(0x127)][_0x39187f(0x198)][_0x39187f(0x111)]=_0x62de92[_0x39187f(0x1fd)][_0x39187f(0x127)];}}),'postProcessingSpeed':new _0x5a53ab({'commandType':_0x1ac467(0xb1),'uniformMap':{'postProcessingPosition':function(){var _0x57ed85=_0x1ac467;return _0x62de92[_0x57ed85(0x1fd)][_0x57ed85(0x127)];},'nextParticlesSpeed':function(){var _0x22b673=_0x1ac467;return _0x62de92[_0x22b673(0x1fd)][_0x22b673(0x115)];}},'fragmentShaderSource':new _0x5f1352['ShaderSource']({'sources':[_0x5473cf['a']]}),'outputTexture':this[_0x1ac467(0x1fd)][_0x1ac467(0x86)],'preExecute':function(){var _0x4f8b44=_0x1ac467;_0x62de92[_0x4f8b44(0x9b)]['postProcessingSpeed'][_0x4f8b44(0x198)][_0x4f8b44(0x111)]=_0x62de92[_0x4f8b44(0x1fd)][_0x4f8b44(0x86)];}})};}}]),_0x4260c7;}());function _0x4b9d53(_0x33d8ca,_0x4575e8){var _0x3d8ab3=_0x132431,_0x49f6b3=Object[_0x3d8ab3(0x1ad)](_0x33d8ca);if(Object[_0x3d8ab3(0xfb)]){var _0x2ad02d=Object['getOwnPropertySymbols'](_0x33d8ca);_0x4575e8&&(_0x2ad02d=_0x2ad02d[_0x3d8ab3(0x10b)](function(_0x5c8391){var _0x442e02=_0x3d8ab3;return Object[_0x442e02(0x151)](_0x33d8ca,_0x5c8391)[_0x442e02(0x183)];})),_0x49f6b3[_0x3d8ab3(0x98)][_0x3d8ab3(0x1d5)](_0x49f6b3,_0x2ad02d);}return _0x49f6b3;}var _0x441f41=_0x170d6b['Cesium'],_0x3d6cf9=(function(){var _0x1b9b2d=_0x132431;function _0x3e7d9f(_0x3c404e,_0x336494,_0x207da6,_0x9fb751){var _0x12daf4=a0_0x13b5,_0x50ae94,_0x3dabc3,_0x45cbe3,_0x3aa77e,_0x141e5c,_0x37bfb7;(_0x5c506e()(this,_0x3e7d9f),this[_0x12daf4(0x1bf)]=_0x3c404e,(_0x336494=function(_0x504750){var _0x564387=_0x12daf4;for(var _0x18f8e0=0x1;_0x18f8e0<arguments['length'];_0x18f8e0++){var _0x1950d7=null!=arguments[_0x18f8e0]?arguments[_0x18f8e0]:{};_0x18f8e0%0x2?_0x4b9d53(Object(_0x1950d7),!0x0)[_0x564387(0xab)](function(_0x246cc6){_0x1f925c()(_0x504750,_0x246cc6,_0x1950d7[_0x246cc6]);}):Object[_0x564387(0x18b)]?Object['defineProperties'](_0x504750,Object[_0x564387(0x18b)](_0x1950d7)):_0x4b9d53(Object(_0x1950d7))[_0x564387(0xab)](function(_0x4986ec){var _0x20d6b3=_0x564387;Object[_0x20d6b3(0x1a0)](_0x504750,_0x4986ec,Object[_0x20d6b3(0x151)](_0x1950d7,_0x4986ec));});}return _0x504750;}({},_0x336494))[_0x12daf4(0xdc)]&&_0x336494[_0x12daf4(0x1d0)])&&(_0x336494[_0x12daf4(0xe2)]={},_0x336494['dimensions'][_0x12daf4(0x1f0)]=_0x336494[_0x12daf4(0x1dc)],_0x336494[_0x12daf4(0xe2)][_0x12daf4(0x87)]=_0x336494[_0x12daf4(0x136)],_0x336494['dimensions']['lev']=_0x336494[_0x12daf4(0x125)]||0x1,_0x336494['lon']={},_0x336494['lon'][_0x12daf4(0x1ff)]=_0x336494[_0x12daf4(0x16e)],_0x336494['lon']['max']=_0x336494[_0x12daf4(0x1b7)],_0x336494[_0x12daf4(0x87)]={},_0x336494[_0x12daf4(0x87)][_0x12daf4(0x1ff)]=_0x336494[_0x12daf4(0x19c)],_0x336494['lat']['max']=_0x336494[_0x12daf4(0x106)],_0x336494['lev']={},_0x336494['lev'][_0x12daf4(0x1ff)]=null!==(_0x50ae94=_0x336494[_0x12daf4(0x154)])&&void 0x0!==_0x50ae94?_0x50ae94:0x1,_0x336494[_0x12daf4(0x125)][_0x12daf4(0x7d)]=null!==(_0x3dabc3=_0x336494[_0x12daf4(0x80)])&&void 0x0!==_0x3dabc3?_0x3dabc3:0x1,_0x336494['U']={},_0x336494['U'][_0x12daf4(0xf1)]=new Float32Array(_0x336494[_0x12daf4(0xdc)]),_0x336494['U'][_0x12daf4(0x1ff)]=null!==(_0x45cbe3=_0x336494[_0x12daf4(0xc9)])&&void 0x0!==_0x45cbe3?_0x45cbe3:Math[_0x12daf4(0x1ff)][_0x12daf4(0x1d5)](Math,_0x1a48bd()(_0x336494[_0x12daf4(0xdc)])),_0x336494['U']['max']=null!==(_0x3aa77e=_0x336494['umax'])&&void 0x0!==_0x3aa77e?_0x3aa77e:Math[_0x12daf4(0x7d)][_0x12daf4(0x1d5)](Math,_0x1a48bd()(_0x336494[_0x12daf4(0xdc)])),_0x336494['V']={},_0x336494['V'][_0x12daf4(0xf1)]=new Float32Array(_0x336494[_0x12daf4(0x1d0)]),_0x336494['V']['min']=null!==(_0x141e5c=_0x336494[_0x12daf4(0xec)])&&void 0x0!==_0x141e5c?_0x141e5c:Math[_0x12daf4(0x1ff)][_0x12daf4(0x1d5)](Math,_0x1a48bd()(_0x336494[_0x12daf4(0x1d0)])),_0x336494['V'][_0x12daf4(0x7d)]=null!==(_0x37bfb7=_0x336494[_0x12daf4(0xa0)])&&void 0x0!==_0x37bfb7?_0x37bfb7:Math[_0x12daf4(0x7d)][_0x12daf4(0x1d5)](Math,_0x1a48bd()(_0x336494['vdata']))),(this[_0x12daf4(0x1b5)]=_0x336494,this['options']=_0x207da6,this[_0x12daf4(0x1e7)]=_0x9fb751,this['particlesComputing']=new _0x583437(this[_0x12daf4(0x1bf)],this[_0x12daf4(0x1b5)],this[_0x12daf4(0x1f9)],this[_0x12daf4(0x1e7)]),this[_0x12daf4(0x100)]=new _0x588385(this[_0x12daf4(0x1bf)],this[_0x12daf4(0x1b5)],this['options'],this[_0x12daf4(0x1e7)],this[_0x12daf4(0x16f)]));}return _0x2169ad()(_0x3e7d9f,[{'key':_0x1b9b2d(0x177),'value':function(_0xd95565){var _0x292a43=_0x1b9b2d,_0x3699d=this;this[_0x292a43(0x16f)]['destroyParticlesTextures'](),Object['keys'](this[_0x292a43(0x16f)][_0x292a43(0x11e)])[_0x292a43(0xab)](function(_0x5b12e0){var _0x29997f=_0x292a43;_0x3699d['particlesComputing'][_0x29997f(0x11e)][_0x5b12e0][_0x29997f(0x119)]();}),this[_0x292a43(0x100)][_0x292a43(0xc1)][_0x292a43(0x144)][_0x292a43(0x119)](),Object[_0x292a43(0x1ad)](this['particlesRendering'][_0x292a43(0xcc)])['forEach'](function(_0x45ef77){var _0x164a1b=_0x292a43;_0x3699d[_0x164a1b(0x100)]['framebuffers'][_0x45ef77]['destroy']();}),this[_0x292a43(0x1bf)]=_0xd95565,this['particlesComputing']=new _0x583437(this['context'],this[_0x292a43(0x1b5)],this[_0x292a43(0x1f9)],this[_0x292a43(0x1e7)]),this[_0x292a43(0x100)]=new _0x588385(this['context'],this[_0x292a43(0x1b5)],this[_0x292a43(0x1f9)],this[_0x292a43(0x1e7)],this[_0x292a43(0x16f)]);}},{'key':'clearFramebuffers','value':function(){var _0x18caba=_0x1b9b2d,_0x3426ca=this,_0x4d01b1=new _0x441f41[(_0x18caba(0x130))]({'color':new _0x441f41[(_0x18caba(0x138))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':void 0x0,'pass':_0x441f41[_0x18caba(0xce)]['OPAQUE']});Object[_0x18caba(0x1ad)](this[_0x18caba(0x100)][_0x18caba(0xcc)])[_0x18caba(0xab)](function(_0x543d7b){var _0x5db2b9=_0x18caba;_0x4d01b1[_0x5db2b9(0x93)]=_0x3426ca[_0x5db2b9(0x100)][_0x5db2b9(0xcc)][_0x543d7b],_0x4d01b1[_0x5db2b9(0x165)](_0x3426ca['context']);});}},{'key':_0x1b9b2d(0xfd),'value':function(_0xdfa9e3){var _0x5c1c47=_0x1b9b2d;if(this[_0x5c1c47(0x195)](),this[_0x5c1c47(0x16f)]['destroyParticlesTextures'](),this[_0x5c1c47(0x16f)][_0x5c1c47(0xe5)](this[_0x5c1c47(0x1bf)],this[_0x5c1c47(0x1f9)],this['viewerParameters']),_0xdfa9e3){var _0x396260=this[_0x5c1c47(0x100)][_0x5c1c47(0x1af)](this[_0x5c1c47(0x1f9)]);this[_0x5c1c47(0x100)][_0x5c1c47(0x9b)][_0x5c1c47(0x1bd)]['geometry']=_0x396260;var _0x190f04=_0x441f41[_0x5c1c47(0x188)][_0x5c1c47(0x140)]({'context':this['context'],'geometry':_0x396260,'attributeLocations':this[_0x5c1c47(0x100)]['primitives'][_0x5c1c47(0x1bd)][_0x5c1c47(0x1c3)],'bufferUsage':_0x441f41[_0x5c1c47(0x203)][_0x5c1c47(0xda)]});this[_0x5c1c47(0x100)][_0x5c1c47(0x9b)][_0x5c1c47(0x1bd)][_0x5c1c47(0x198)]['vertexArray']=_0x190f04;}}},{'key':_0x1b9b2d(0xff),'value':function(_0x343f4f){var _0x22d037=_0x1b9b2d,_0x324945=this,_0x2cbf46=!0x1;this['options'][_0x22d037(0xc0)]!=_0x343f4f['maxParticles']&&(_0x2cbf46=!0x0),Object[_0x22d037(0x1ad)](_0x343f4f)[_0x22d037(0xab)](function(_0x3f44a1){var _0x234388=_0x22d037;_0x324945[_0x234388(0x1f9)][_0x3f44a1]=_0x343f4f[_0x3f44a1];}),this[_0x22d037(0xfd)](_0x2cbf46);}},{'key':'applyViewerParameters','value':function(_0x44a2d){var _0x23f33c=_0x1b9b2d,_0x38ef3c=this;Object[_0x23f33c(0x1ad)](_0x44a2d)[_0x23f33c(0xab)](function(_0x3d583f){var _0x1ed731=_0x23f33c;_0x38ef3c[_0x1ed731(0x1e7)][_0x3d583f]=_0x44a2d[_0x3d583f];}),this[_0x23f33c(0xfd)](!0x1);}},{'key':'destroy','value':function(){var _0x2e0085=_0x1b9b2d,_0x5bacc1=this;for(var _0x20d8f7 in(clearTimeout(this[_0x2e0085(0x99)]),this[_0x2e0085(0x16f)][_0x2e0085(0x196)](),Object[_0x2e0085(0x1ad)](this[_0x2e0085(0x16f)][_0x2e0085(0x11e)])[_0x2e0085(0xab)](function(_0x39be8a){var _0x44bb47=_0x2e0085;_0x5bacc1[_0x44bb47(0x16f)][_0x44bb47(0x11e)][_0x39be8a][_0x44bb47(0x119)]();}),this[_0x2e0085(0x100)][_0x2e0085(0xc1)][_0x2e0085(0x144)][_0x2e0085(0x119)](),Object[_0x2e0085(0x1ad)](this[_0x2e0085(0x100)][_0x2e0085(0xcc)])[_0x2e0085(0xab)](function(_0x1f597b){var _0x32d4f7=_0x2e0085;_0x5bacc1[_0x32d4f7(0x100)]['framebuffers'][_0x1f597b][_0x32d4f7(0x119)]();}),this))delete this[_0x20d8f7];}}]),_0x3e7d9f;}());function _0x6f7971(_0x1d7f38,_0x57322a){var _0x1e89b0=_0x132431,_0x57c6bb=Object[_0x1e89b0(0x1ad)](_0x1d7f38);if(Object['getOwnPropertySymbols']){var _0x193a91=Object[_0x1e89b0(0xfb)](_0x1d7f38);_0x57322a&&(_0x193a91=_0x193a91[_0x1e89b0(0x10b)](function(_0x38cddc){return Object['getOwnPropertyDescriptor'](_0x1d7f38,_0x38cddc)['enumerable'];})),_0x57c6bb[_0x1e89b0(0x98)][_0x1e89b0(0x1d5)](_0x57c6bb,_0x193a91);}return _0x57c6bb;}function _0x3e36fa(_0x3a7446){var _0x365c8f=_0x132431;for(var _0x526c18=0x1;_0x526c18<arguments['length'];_0x526c18++){var _0x44fdf0=null!=arguments[_0x526c18]?arguments[_0x526c18]:{};_0x526c18%0x2?_0x6f7971(Object(_0x44fdf0),!0x0)[_0x365c8f(0xab)](function(_0x5c3f92){_0x1f925c()(_0x3a7446,_0x5c3f92,_0x44fdf0[_0x5c3f92]);}):Object[_0x365c8f(0x18b)]?Object[_0x365c8f(0x1cf)](_0x3a7446,Object[_0x365c8f(0x18b)](_0x44fdf0)):_0x6f7971(Object(_0x44fdf0))[_0x365c8f(0xab)](function(_0x2c7df6){var _0x34a7fa=_0x365c8f;Object['defineProperty'](_0x3a7446,_0x2c7df6,Object[_0x34a7fa(0x151)](_0x44fdf0,_0x2c7df6));});}return _0x3a7446;}function _0xf6fac3(_0x20556a){var _0x3749e7=(function(){var _0x1f631d=a0_0x13b5;if('undefined'==typeof Reflect||!Reflect['construct'])return!0x1;if(Reflect[_0x1f631d(0x153)][_0x1f631d(0xe0)])return!0x1;if(_0x1f631d(0x1a3)==typeof Proxy)return!0x0;try{return Boolean['prototype'][_0x1f631d(0x88)][_0x1f631d(0x1a2)](Reflect[_0x1f631d(0x153)](Boolean,[],function(){})),!0x0;}catch(_0x11ce0b){return!0x1;}}());return function(){var _0x56e5e4=a0_0x13b5,_0x1c0867,_0x500793=_0x123b6d()(_0x20556a);if(_0x3749e7){var _0x31e132=_0x123b6d()(this)[_0x56e5e4(0x123)];_0x1c0867=Reflect[_0x56e5e4(0x153)](_0x500793,arguments,_0x31e132);}else _0x1c0867=_0x500793['apply'](this,arguments);return _0x336778()(this,_0x1c0867);};}var _0x502d1a=_0x170d6b[_0x132431(0x1ea)],_0x16cad8=_0x170d6b[_0x132431(0x129)][_0x132431(0xad)],_0x38ed2e={'particlesNumber':0x1000,'fixedHeight':0x0,'fadeOpacity':0.996,'dropRate':0.003,'dropRateBump':0.01,'speedFactor':0.5,'lineWidth':0x2,'colors':[_0x132431(0xd4)]},_0xf4306f=function(_0x1546be){var _0x46304f=_0x132431;_0x33e7cd()(_0x3d7b0c,_0x1546be);var _0x56148d=_0xf6fac3(_0x3d7b0c);function _0x3d7b0c(){var _0x32bc67=a0_0x13b5,_0x9b6061,_0x4a0ca4=arguments[_0x32bc67(0x12b)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x5c506e()(this,_0x3d7b0c),_0x4a0ca4=_0x3e36fa(_0x3e36fa({},_0x38ed2e),_0x4a0ca4),(_0x9b6061=_0x56148d[_0x32bc67(0x1a2)](this,_0x4a0ca4))[_0x32bc67(0x11c)](_0x4a0ca4),_0x9b6061;}return _0x2169ad()(_0x3d7b0c,[{'key':_0x46304f(0x129),'get':function(){var _0x37f839=_0x46304f;return this[_0x37f839(0x9b)];}},{'key':_0x46304f(0x1b5),'get':function(){var _0x5915fa=_0x46304f;return this[_0x5915fa(0x8e)];},'set':function(_0x1ce741){var _0x3310b8=_0x46304f;this[_0x3310b8(0xa4)](_0x1ce741);}},{'key':_0x46304f(0x107),'get':function(){return this['options']['colors'];},'set':function(_0x314661){var _0x5cae52=_0x46304f;this[_0x5cae52(0x1f9)]['colors']=_0x314661,this[_0x5cae52(0xdd)]&&this[_0x5cae52(0xdd)][_0x5cae52(0xff)]({'colors':_0x314661}),this[_0x5cae52(0x9e)]();}},{'key':_0x46304f(0x193),'value':function(){}},{'key':_0x46304f(0x1cd),'value':function(){var _0x240bd9=_0x46304f;this[_0x240bd9(0x1ed)]=this['_map'][_0x240bd9(0x1ed)],this[_0x240bd9(0x1a4)]=this[_0x240bd9(0xee)][_0x240bd9(0x1a4)],this[_0x240bd9(0x9b)]=new _0x502d1a[(_0x240bd9(0xb2))](),this[_0x240bd9(0xee)][_0x240bd9(0x1ed)][_0x240bd9(0x9b)][_0x240bd9(0x185)](this[_0x240bd9(0x9b)]),this[_0x240bd9(0x1e7)]={'lonRange':new _0x502d1a[(_0x240bd9(0xca))](),'latRange':new _0x502d1a[(_0x240bd9(0xca))](),'pixelSize':0x0},this[_0x240bd9(0x114)]=new _0x502d1a[(_0x240bd9(0x19d))](_0x502d1a[_0x240bd9(0x15c)][_0x240bd9(0x186)],6314355.63),this[_0x240bd9(0x17d)](),window[_0x240bd9(0x11b)](_0x240bd9(0x9e),this[_0x240bd9(0x9e)]['bind'](this),!0x1),this[_0x240bd9(0x1f5)]=!0x1,this[_0x240bd9(0x1d1)]=!0x1,this['_map']['on'](_0x170d6b['EventType']['wheel'],this[_0x240bd9(0x145)],this),this[_0x240bd9(0xee)]['on'](_0x170d6b['EventType'][_0x240bd9(0x187)],this[_0x240bd9(0xe6)],this),this[_0x240bd9(0xee)]['on'](_0x170d6b[_0x240bd9(0x207)][_0x240bd9(0x173)],this['_onMouseUpEvent'],this),this['_map']['on'](_0x170d6b[_0x240bd9(0x207)][_0x240bd9(0x10f)],this['_onMouseMoveEvent'],this),this[_0x240bd9(0x8e)]&&this[_0x240bd9(0xa4)](this['_data']);}},{'key':'_removedHook','value':function(){var _0x36e724=_0x46304f;window[_0x36e724(0x9a)](_0x36e724(0x9e),this['resize']),this['_map'][_0x36e724(0x1ba)](_0x170d6b[_0x36e724(0x207)][_0x36e724(0x19f)],this[_0x36e724(0xe1)],this),this[_0x36e724(0xee)]['off'](_0x170d6b[_0x36e724(0x207)][_0x36e724(0x13b)],this[_0x36e724(0x145)],this),this['_map'][_0x36e724(0x1ba)](_0x170d6b[_0x36e724(0x207)][_0x36e724(0x187)],this[_0x36e724(0xe6)],this),this['_map']['off'](_0x170d6b[_0x36e724(0x207)][_0x36e724(0x173)],this[_0x36e724(0x1a9)],this),this[_0x36e724(0xee)][_0x36e724(0x1ba)](_0x170d6b['EventType'][_0x36e724(0x10f)],this[_0x36e724(0x181)],this),this[_0x36e724(0x9b)][_0x36e724(0xd1)](),this['_map'][_0x36e724(0x1ed)][_0x36e724(0x9b)][_0x36e724(0x9d)](this[_0x36e724(0x9b)]);}},{'key':_0x46304f(0x9e),'value':function(){var _0x830e2a=_0x46304f;this[_0x830e2a(0x126)]&&this[_0x830e2a(0xdd)]&&(this[_0x830e2a(0x9b)][_0x830e2a(0x126)]=!0x1,this[_0x830e2a(0x9b)][_0x830e2a(0xd1)](),this[_0x830e2a(0xee)][_0x830e2a(0x171)](_0x170d6b[_0x830e2a(0x207)][_0x830e2a(0x19f)],this[_0x830e2a(0xe1)],this));}},{'key':_0x46304f(0xe1),'value':function(_0x3e16ce){var _0x4a30b8=_0x46304f;this[_0x4a30b8(0xdd)][_0x4a30b8(0x177)](this['scene'][_0x4a30b8(0x1bf)]),this['addPrimitives'](),this[_0x4a30b8(0x9b)][_0x4a30b8(0x126)]=!0x0;}},{'key':_0x46304f(0x145),'value':function(_0x368c22){var _0x33920c=_0x46304f,_0x1ee630=this;clearTimeout(this['refreshTimer']),this[_0x33920c(0x126)]&&this['particleSystem']&&(this['primitives'][_0x33920c(0x126)]=!0x1,this[_0x33920c(0x10a)]=setTimeout(function(){var _0x8a6c2b=_0x33920c;_0x1ee630[_0x8a6c2b(0x126)]&&_0x1ee630[_0x8a6c2b(0x121)]();},0xc8));}},{'key':'_onMouseDownEvent','value':function(_0x2fef6d){var _0x126185=_0x46304f;this[_0x126185(0x1f5)]=!0x0;}},{'key':_0x46304f(0x181),'value':function(_0x814c6){var _0x27f770=_0x46304f;this[_0x27f770(0x126)]&&this[_0x27f770(0xdd)]&&this[_0x27f770(0x1f5)]&&(this[_0x27f770(0x9b)][_0x27f770(0x126)]=!0x1,this[_0x27f770(0x1d1)]=!0x0);}},{'key':_0x46304f(0x1a9),'value':function(_0x2f4016){var _0x287243=_0x46304f;this[_0x287243(0x126)]&&this['particleSystem']&&(this[_0x287243(0x1f5)]&&this['mouse_move']&&this[_0x287243(0x121)](),this[_0x287243(0x9b)]['show']=!0x0,this[_0x287243(0x1f5)]=!0x1,this[_0x287243(0x1d1)]=!0x1);}},{'key':_0x46304f(0x121),'value':function(){var _0x46d828=_0x46304f;this[_0x46d828(0xee)]&&this['show']&&(this[_0x46d828(0x17d)](),this['particleSystem'][_0x46d828(0x206)](this[_0x46d828(0x1e7)]),this[_0x46d828(0x9b)][_0x46d828(0x126)]=!0x0);}},{'key':_0x46304f(0xa4),'value':function(_0x4f1c7d){var _0x469ba2=_0x46304f;this[_0x469ba2(0x8e)]=_0x4f1c7d,this[_0x469ba2(0xdd)]&&this[_0x469ba2(0xdd)][_0x469ba2(0x119)](),this[_0x469ba2(0xdd)]=new _0x3d6cf9(this['scene'][_0x469ba2(0x1bf)],_0x4f1c7d,this[_0x469ba2(0x92)](),this[_0x469ba2(0x1e7)]),this[_0x469ba2(0x102)]();}},{'key':_0x46304f(0x11c),'value':function(_0x11534d){var _0x5218b1=_0x46304f;if(_0x11534d){for(var _0x40fd60 in _0x11534d)this[_0x40fd60]=_0x11534d[_0x40fd60];}this[_0x5218b1(0xdd)]&&this[_0x5218b1(0xdd)]['setOptions'](this[_0x5218b1(0x92)]());}},{'key':'getOptions','value':function(){var _0x4d7ad8=_0x46304f,_0x198687=Math['ceil'](Math[_0x4d7ad8(0x17e)](this[_0x4d7ad8(0x16c)]));return this[_0x4d7ad8(0x16c)]=_0x198687*_0x198687,{'particlesTextureSize':_0x198687,'maxParticles':this['particlesNumber'],'particleHeight':this[_0x4d7ad8(0x1d9)],'fadeOpacity':this['fadeOpacity'],'dropRate':this[_0x4d7ad8(0x1d2)],'dropRateBump':this[_0x4d7ad8(0x1c5)],'speedFactor':this[_0x4d7ad8(0xc8)],'lineWidth':this[_0x4d7ad8(0x79)],'globeLayer':this[_0x4d7ad8(0x1c2)],'WMS_URL':this[_0x4d7ad8(0x91)],'colors':this[_0x4d7ad8(0x107)]};}},{'key':'addPrimitives','value':function(){var _0x24aaf6=_0x46304f;this[_0x24aaf6(0x9b)][_0x24aaf6(0x185)](this[_0x24aaf6(0xdd)][_0x24aaf6(0x16f)]['primitives'][_0x24aaf6(0x1db)]),this['primitives']['add'](this[_0x24aaf6(0xdd)][_0x24aaf6(0x16f)][_0x24aaf6(0x9b)][_0x24aaf6(0x1f2)]),this[_0x24aaf6(0x9b)]['add'](this[_0x24aaf6(0xdd)][_0x24aaf6(0x16f)][_0x24aaf6(0x9b)][_0x24aaf6(0x10e)]),this[_0x24aaf6(0x9b)][_0x24aaf6(0x185)](this[_0x24aaf6(0xdd)][_0x24aaf6(0x16f)][_0x24aaf6(0x9b)][_0x24aaf6(0x127)]),this['primitives'][_0x24aaf6(0x185)](this[_0x24aaf6(0xdd)][_0x24aaf6(0x16f)][_0x24aaf6(0x9b)][_0x24aaf6(0x86)]),this['primitives'][_0x24aaf6(0x185)](this[_0x24aaf6(0xdd)]['particlesRendering'][_0x24aaf6(0x9b)][_0x24aaf6(0x1bd)]),this['primitives'][_0x24aaf6(0x185)](this[_0x24aaf6(0xdd)][_0x24aaf6(0x100)][_0x24aaf6(0x9b)]['trails']),this[_0x24aaf6(0x9b)]['add'](this['particleSystem'][_0x24aaf6(0x100)][_0x24aaf6(0x9b)][_0x24aaf6(0xbc)]);}},{'key':'updateViewerParameters','value':function(){var _0x456bc7=_0x46304f,_0x543895=this[_0x456bc7(0x1a4)][_0x456bc7(0x1bb)](this[_0x456bc7(0x1ed)][_0x456bc7(0x14e)][_0x456bc7(0x85)]);if(!_0x543895){var _0x516422=this[_0x456bc7(0xee)][_0x456bc7(0xb5)]();_0x543895=_0x502d1a[_0x456bc7(0x1aa)][_0x456bc7(0xa9)](_0x516422[_0x456bc7(0x16e)],_0x516422[_0x456bc7(0x19c)],_0x516422[_0x456bc7(0x1b7)],_0x516422[_0x456bc7(0x106)]);}var _0xdb6566=_0x4d6a82[_0x456bc7(0x164)](_0x543895);this['viewerParameters'][_0x456bc7(0x1ee)]['x']=_0xdb6566[_0x456bc7(0x1f0)][_0x456bc7(0x1ff)],this[_0x456bc7(0x1e7)][_0x456bc7(0x1ee)]['y']=_0xdb6566['lon']['max'],this['viewerParameters'][_0x456bc7(0x1d6)]['x']=_0xdb6566[_0x456bc7(0x87)]['min'],this[_0x456bc7(0x1e7)][_0x456bc7(0x1d6)]['y']=_0xdb6566['lat'][_0x456bc7(0x7d)];var _0x2275ae=this[_0x456bc7(0x1a4)]['getPixelSize'](this[_0x456bc7(0x114)],this[_0x456bc7(0x1ed)][_0x456bc7(0xdf)],this[_0x456bc7(0x1ed)]['drawingBufferHeight']);_0x2275ae>0x0&&(this[_0x456bc7(0x1e7)][_0x456bc7(0xd2)]=_0x2275ae);}}]),_0x3d7b0c;}(_0x16cad8);_0x170d6b[_0x132431(0x15f)][_0x132431(0x16d)](_0x132431(0x20a),_0xf4306f),_0x170d6b[_0x132431(0x129)][_0x132431(0xc3)]=_0xf4306f;var _0x1d8f1a=_0x2169ad()(function _0x510894(){var _0x2b0228=_0x132431;_0x5c506e()(this,_0x510894),this[_0x2b0228(0x1d7)]=null,this[_0x2b0228(0x87)]=null,this['tlng']=null,this[_0x2b0228(0x197)]=null,this[_0x2b0228(0x14f)]=null;}),_0x2e6381=(function(){var _0xf34a7d=_0x132431;function _0x283e22(_0x335a80,_0x367623){var _0x2d3e5d=a0_0x13b5;_0x5c506e()(this,_0x283e22),this[_0x2d3e5d(0x136)]=_0x335a80[_0x2d3e5d(0x136)],this[_0x2d3e5d(0x1dc)]=_0x335a80[_0x2d3e5d(0x1dc)],this[_0x2d3e5d(0x16e)]=_0x335a80[_0x2d3e5d(0x16e)],this[_0x2d3e5d(0x1b7)]=_0x335a80[_0x2d3e5d(0x1b7)],this[_0x2d3e5d(0x19c)]=_0x335a80['ymin'],this[_0x2d3e5d(0x106)]=_0x335a80[_0x2d3e5d(0x106)],this[_0x2d3e5d(0x1a5)]=[];var _0x2e198c=_0x335a80[_0x2d3e5d(0xdc)],_0x457665=_0x335a80[_0x2d3e5d(0x1d0)],_0x5dd9bc=!0x1;_0x2e198c['length']===this['rows']&&_0x2e198c[0x0]['length']===this[_0x2d3e5d(0x1dc)]&&(_0x5dd9bc=!0x0);for(var _0x239d38=0x0,_0x49d8d2=null,_0x483861=null,_0x4aec79=0x0;_0x4aec79<this[_0x2d3e5d(0x136)];_0x4aec79++){_0x49d8d2=[];for(var _0x2b9e40=0x0;_0x2b9e40<this[_0x2d3e5d(0x1dc)];_0x2b9e40++,_0x239d38++)_0x483861=_0x5dd9bc?this[_0x2d3e5d(0xc7)](_0x2e198c[_0x4aec79][_0x2b9e40],_0x457665[_0x4aec79][_0x2b9e40]):this['_calcUV'](_0x2e198c[_0x239d38],_0x457665[_0x239d38]),_0x49d8d2[_0x2d3e5d(0x98)](_0x483861);this[_0x2d3e5d(0x1a5)][_0x2d3e5d(0x98)](_0x49d8d2);}_0x367623&&this['grid'][_0x2d3e5d(0x1c0)]();}return _0x2169ad()(_0x283e22,[{'key':_0xf34a7d(0x143),'value':function(_0x1ea73d,_0xf1b5a4){var _0x1c9e6e=_0xf34a7d;return{'x':(_0x1ea73d-this[_0x1c9e6e(0x16e)])/(this[_0x1c9e6e(0x1b7)]-this[_0x1c9e6e(0x16e)])*(this[_0x1c9e6e(0x1dc)]-0x1),'y':(this[_0x1c9e6e(0x106)]-_0xf1b5a4)/(this[_0x1c9e6e(0x106)]-this[_0x1c9e6e(0x19c)])*(this[_0x1c9e6e(0x136)]-0x1)};}},{'key':'getUVByXY','value':function(_0x32753d,_0x364ed4){var _0x469bae=_0xf34a7d;if(_0x32753d<0x0||_0x32753d>=this['cols']||_0x364ed4>=this[_0x469bae(0x136)])return[0x0,0x0,0x0];var _0x408370,_0x2d3a2b,_0x394a63=Math[_0x469bae(0x20b)](_0x32753d),_0x407954=Math[_0x469bae(0x20b)](_0x364ed4);if(_0x394a63===_0x32753d&&_0x407954===_0x364ed4)return this[_0x469bae(0x1a5)][_0x364ed4][_0x32753d];_0x408370=_0x394a63+0x1,_0x2d3a2b=_0x407954+0x1;var _0x168be7=this['getUVByXY'](_0x394a63,_0x407954),_0x40dbc9=this[_0x469bae(0x124)](_0x408370,_0x407954),_0x45c0bb=this['getUVByXY'](_0x394a63,_0x2d3a2b),_0x53b30f=this['getUVByXY'](_0x408370,_0x2d3a2b),_0x5a2d7d=null;try{_0x5a2d7d=this[_0x469bae(0x8d)](_0x32753d-_0x394a63,_0x364ed4-_0x407954,_0x168be7,_0x40dbc9,_0x45c0bb,_0x53b30f);}catch(_0xa482d2){console[_0x469bae(0xa6)](_0x32753d,_0x364ed4);}return _0x5a2d7d;}},{'key':_0xf34a7d(0x8d),'value':function(_0x19e532,_0x59fc7a,_0x57e0d0,_0x21ed9d,_0x324d29,_0xe1fc3b){var _0x26727f=_0xf34a7d,_0x290e68=0x1-_0x19e532,_0x20f620=0x1-_0x59fc7a,_0x5168e6=_0x290e68*_0x20f620,_0xea174d=_0x19e532*_0x20f620,_0x54993e=_0x290e68*_0x59fc7a,_0x1de836=_0x19e532*_0x59fc7a,_0x2ba72b=_0x57e0d0[0x0]*_0x5168e6+_0x21ed9d[0x0]*_0xea174d+_0x324d29[0x0]*_0x54993e+_0xe1fc3b[0x0]*_0x1de836,_0x5b709d=_0x57e0d0[0x1]*_0x5168e6+_0x21ed9d[0x1]*_0xea174d+_0x324d29[0x1]*_0x54993e+_0xe1fc3b[0x1]*_0x1de836;return this[_0x26727f(0xc7)](_0x2ba72b,_0x5b709d);}},{'key':_0xf34a7d(0xc7),'value':function(_0x2b2bc4,_0x58fd88){var _0x3db7ee=_0xf34a7d;return[+_0x2b2bc4,+_0x58fd88,Math[_0x3db7ee(0x17e)](_0x2b2bc4*_0x2b2bc4+_0x58fd88*_0x58fd88)];}},{'key':_0xf34a7d(0xb8),'value':function(_0x11df55,_0x407840){var _0x5c0228=_0xf34a7d;if(!this[_0x5c0228(0x8a)](_0x11df55,_0x407840))return null;var _0x1edfef=this[_0x5c0228(0x143)](_0x11df55,_0x407840);return this[_0x5c0228(0x124)](_0x1edfef['x'],_0x1edfef['y']);}},{'key':'isInExtent','value':function(_0x108cac,_0x4a2190){var _0x14ce62=_0xf34a7d;return _0x108cac>=this[_0x14ce62(0x16e)]&&_0x108cac<=this[_0x14ce62(0x1b7)]&&_0x4a2190>=this[_0x14ce62(0x19c)]&&_0x4a2190<=this[_0x14ce62(0x106)];}},{'key':_0xf34a7d(0x1ab),'value':function(){var _0x16435b=_0xf34a7d,_0x3afe68=_0x94bbb2(this[_0x16435b(0x16e)],this[_0x16435b(0x1b7)]);return{'lat':_0x94bbb2(this['ymin'],this[_0x16435b(0x106)]),'lng':_0x3afe68};}}]),_0x283e22;}());function _0x94bbb2(_0x1f44ae,_0x418ff4){var _0x2cc124=_0x132431;return _0x1f44ae+Math[_0x2cc124(0x13c)]()*(_0x418ff4-_0x1f44ae);}function _0x3235fc(_0x3a55eb){var _0x21fbe7=(function(){var _0x35bcc4=a0_0x13b5;if(_0x35bcc4(0x18f)==typeof Reflect||!Reflect['construct'])return!0x1;if(Reflect[_0x35bcc4(0x153)]['sham'])return!0x1;if('function'==typeof Proxy)return!0x0;try{return Boolean[_0x35bcc4(0x1e0)][_0x35bcc4(0x88)][_0x35bcc4(0x1a2)](Reflect[_0x35bcc4(0x153)](Boolean,[],function(){})),!0x0;}catch(_0x4337d5){return!0x1;}}());return function(){var _0x2d5ea2=a0_0x13b5,_0x26aa66,_0x4af89d=_0x123b6d()(_0x3a55eb);if(_0x21fbe7){var _0x3cb3b1=_0x123b6d()(this)[_0x2d5ea2(0x123)];_0x26aa66=Reflect[_0x2d5ea2(0x153)](_0x4af89d,arguments,_0x3cb3b1);}else _0x26aa66=_0x4af89d['apply'](this,arguments);return _0x336778()(this,_0x26aa66);};}var _0x19acc7=_0x170d6b[_0x132431(0x1ea)],_0x5c5510=function(_0x195c3a){var _0x994133=_0x132431;_0x33e7cd()(_0x1dbfc9,_0x195c3a);var _0x1becb2=_0x3235fc(_0x1dbfc9);function _0x1dbfc9(){var _0x5562da=a0_0x13b5,_0x12950a,_0x205679=arguments[_0x5562da(0x12b)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x5c506e()(this,_0x1dbfc9),(_0x12950a=_0x1becb2['call'](this,_0x205679))[_0x5562da(0x11c)](_0x205679),_0x12950a['canvas']=null,_0x12950a;}return _0x2169ad()(_0x1dbfc9,[{'key':_0x994133(0x11c),'value':function(_0x14a7e2){var _0x254e14=_0x994133;this[_0x254e14(0xe7)]=[0x0,0x0],this[_0x254e14(0x152)]=[],this['speedRate']=_0x14a7e2[_0x254e14(0x1ef)]||0x32,this[_0x254e14(0x1cb)]=_0x14a7e2[_0x254e14(0x16c)]||0x1000,this[_0x254e14(0x174)]=_0x14a7e2[_0x254e14(0x1c4)]||0x78,this[_0x254e14(0xa7)]=0x3e8/(_0x14a7e2[_0x254e14(0xb3)]||0xa),this['_pointerEvents']=_0x19acc7[_0x254e14(0x8c)](this[_0x254e14(0x1f9)][_0x254e14(0x139)],!0x1),this['color']=_0x14a7e2[_0x254e14(0xd8)]||_0x254e14(0x1f4),this['lineWidth']=_0x14a7e2[_0x254e14(0x79)]||0x1,this[_0x254e14(0x1d9)]=_0x19acc7['defaultValue'](_0x14a7e2[_0x254e14(0x1d9)],0x0),this[_0x254e14(0x191)]=_0x19acc7[_0x254e14(0x8c)](_0x14a7e2[_0x254e14(0x191)],!0x1);}},{'key':_0x994133(0x129),'get':function(){var _0x15a2a1=_0x994133;return this[_0x15a2a1(0x120)];}},{'key':_0x994133(0xd9),'get':function(){var _0x2cb0a2=_0x994133;return this[_0x2cb0a2(0xee)][_0x2cb0a2(0x1ed)]['canvas'][_0x2cb0a2(0x131)];}},{'key':_0x994133(0x1f3),'get':function(){var _0x1148bf=_0x994133;return this[_0x1148bf(0xee)][_0x1148bf(0x1ed)][_0x1148bf(0x120)]['clientHeight'];}},{'key':_0x994133(0x139),'get':function(){var _0x1e596c=_0x994133;return this[_0x1e596c(0x1da)];},'set':function(_0x1f1813){var _0x553933=_0x994133;this['_pointerEvents']=_0x1f1813,this[_0x553933(0x120)]&&(this['canvas'][_0x553933(0xbd)][_0x553933(0x84)]=_0x1f1813?'all':_0x553933(0xa3));}},{'key':_0x994133(0x1ef),'get':function(){return this['_speedRate'];},'set':function(_0x2978da){var _0x11477e=_0x994133;this['_speedRate']=0x64*(0x64-(_0x2978da>0x63?0x63:_0x2978da)),this[_0x11477e(0x104)]();}},{'key':_0x994133(0x16c),'get':function(){var _0x56ac8c=_0x994133;return this[_0x56ac8c(0x1cb)];},'set':function(_0x1fe177){var _0x37dd85=_0x994133,_0x587abc=this;this[_0x37dd85(0x1cb)]=_0x1fe177,clearTimeout(this[_0x37dd85(0x169)]),this['_canrefresh']=setTimeout(function(){var _0x5c8b8c=_0x37dd85;_0x587abc[_0x5c8b8c(0x121)]();},0x1f4);}},{'key':_0x994133(0x1c4),'get':function(){var _0x486029=_0x994133;return this[_0x486029(0x174)];},'set':function(_0x5a2727){var _0x18e728=_0x994133,_0x51db27=this;this[_0x18e728(0x174)]=_0x5a2727,clearTimeout(this[_0x18e728(0x169)]),this[_0x18e728(0x169)]=setTimeout(function(){var _0x240b5f=_0x18e728;_0x51db27[_0x240b5f(0x121)]();},0x1f4);}},{'key':_0x994133(0x1b5),'get':function(){var _0x10c575=_0x994133;return this[_0x10c575(0x117)];},'set':function(_0x5705c2){var _0x2b1cc4=_0x994133;this[_0x2b1cc4(0xa4)](_0x5705c2);}},{'key':_0x994133(0x155),'value':function(_0x311403){var _0x360dc9=_0x994133;_0x311403?this['_addedHook']():(this[_0x360dc9(0x117)]&&(this['options']['data']=this['windData']),this[_0x360dc9(0xa8)]());}},{'key':_0x994133(0x193),'value':function(){}},{'key':'_addedHook','value':function(){var _0x213aa0=_0x994133;this[_0x213aa0(0x120)]=this[_0x213aa0(0x208)](),this[_0x213aa0(0x7c)]=this[_0x213aa0(0x120)][_0x213aa0(0x1e6)]('2d'),this[_0x213aa0(0x17b)](),this[_0x213aa0(0x1f9)]['data']&&this[_0x213aa0(0xa4)](this['options'][_0x213aa0(0x1b5)]);}},{'key':_0x994133(0xa8),'value':function(){var _0x123b8b=_0x994133;this[_0x123b8b(0x81)](),this[_0x123b8b(0x13a)](),this[_0x123b8b(0x120)]&&(this[_0x123b8b(0xee)][_0x123b8b(0x1dd)][_0x123b8b(0x7a)](this[_0x123b8b(0x120)]),delete this[_0x123b8b(0x120)]);}},{'key':_0x994133(0x208),'value':function(){var _0x57e19d=_0x994133,_0x1998c3=window['document'][_0x57e19d(0x1bc)](_0x57e19d(0x120));_0x1998c3[_0x57e19d(0xbd)]['position']=_0x57e19d(0x1a6),_0x1998c3[_0x57e19d(0xbd)][_0x57e19d(0x1de)]=_0x57e19d(0x149),_0x1998c3['style']['left']=_0x57e19d(0x149),_0x1998c3['style'][_0x57e19d(0x14a)]='100%',_0x1998c3[_0x57e19d(0xbd)][_0x57e19d(0xfc)]=_0x57e19d(0x7b),_0x1998c3[_0x57e19d(0xbd)][_0x57e19d(0x139)]=this[_0x57e19d(0x1da)]?_0x57e19d(0x16a):'none',_0x1998c3[_0x57e19d(0xbd)][_0x57e19d(0x11f)]=0xa,_0x1998c3[_0x57e19d(0xd7)]('id',_0x57e19d(0xf9)),_0x1998c3['setAttribute'](_0x57e19d(0x132),_0x57e19d(0xf9)),this[_0x57e19d(0xee)]['container'][_0x57e19d(0xfe)](_0x1998c3);var _0x462825=this[_0x57e19d(0xee)][_0x57e19d(0x1ed)];return _0x1998c3['width']=_0x462825['canvas'][_0x57e19d(0x131)],_0x1998c3[_0x57e19d(0xfc)]=_0x462825['canvas']['clientHeight'],_0x1998c3;}},{'key':_0x994133(0x9e),'value':function(){var _0x397e9e=_0x994133;this[_0x397e9e(0x120)]&&(this[_0x397e9e(0x120)][_0x397e9e(0x14a)]=this[_0x397e9e(0xd9)],this[_0x397e9e(0x120)][_0x397e9e(0xfc)]=this[_0x397e9e(0x1f3)]);}},{'key':_0x994133(0x17b),'value':function(){var _0xef5c9e=_0x994133,_0x3adec8=this,_0x1221c9=Date['now']();!function _0x2e80ff(){var _0x4a9fdb=a0_0x13b5;_0x3adec8[_0x4a9fdb(0x89)]=window[_0x4a9fdb(0x96)](_0x2e80ff);var _0x5362a7=Date['now'](),_0x5a199a=_0x5362a7-_0x1221c9;_0x5a199a>_0x3adec8[_0x4a9fdb(0xa7)]&&(_0x1221c9=_0x5362a7-_0x5a199a%_0x3adec8['frameTime'],_0x3adec8[_0x4a9fdb(0x192)]());}(),window[_0xef5c9e(0x11b)]('resize',this['resize'][_0xef5c9e(0x1ae)](this),!0x1),this[_0xef5c9e(0x1f5)]=!0x1,this[_0xef5c9e(0x1d1)]=!0x1,this[_0xef5c9e(0xee)]['on'](_0x170d6b[_0xef5c9e(0x207)]['wheel'],this[_0xef5c9e(0x145)],this),this[_0xef5c9e(0xee)]['on'](_0x170d6b[_0xef5c9e(0x207)][_0xef5c9e(0x187)],this[_0xef5c9e(0xe6)],this),this[_0xef5c9e(0xee)]['on'](_0x170d6b[_0xef5c9e(0x207)][_0xef5c9e(0x173)],this[_0xef5c9e(0x1a9)],this),this['_map']['on'](_0x170d6b[_0xef5c9e(0x207)][_0xef5c9e(0x10f)],this[_0xef5c9e(0x181)],this);}},{'key':_0x994133(0x13a),'value':function(){var _0x196acf=_0x994133;window['cancelAnimationFrame'](this['animateFrame']),delete this[_0x196acf(0x89)],window[_0x196acf(0x9a)](_0x196acf(0x9e),this[_0x196acf(0x9e)]),this[_0x196acf(0xee)][_0x196acf(0x1ba)](_0x170d6b[_0x196acf(0x207)][_0x196acf(0x13b)],this[_0x196acf(0x145)],this),this[_0x196acf(0xee)][_0x196acf(0x1ba)](_0x170d6b[_0x196acf(0x207)][_0x196acf(0x187)],this[_0x196acf(0xe6)],this),this['_map'][_0x196acf(0x1ba)](_0x170d6b[_0x196acf(0x207)][_0x196acf(0x173)],this[_0x196acf(0x1a9)],this),this[_0x196acf(0xee)][_0x196acf(0x1ba)](_0x170d6b[_0x196acf(0x207)][_0x196acf(0x10f)],this[_0x196acf(0x181)],this);}},{'key':_0x994133(0x145),'value':function(_0x15424f){var _0x23552b=_0x994133,_0x61126f=this;clearTimeout(this[_0x23552b(0x10a)]),this[_0x23552b(0x126)]&&this[_0x23552b(0x120)]&&(this[_0x23552b(0x120)]['style'][_0x23552b(0x16b)]=_0x23552b(0xba),this[_0x23552b(0x10a)]=setTimeout(function(){var _0x2904f8=_0x23552b;_0x61126f['show']&&(_0x61126f['redraw'](),_0x61126f[_0x2904f8(0x120)][_0x2904f8(0xbd)]['visibility']=_0x2904f8(0xf7));},0xc8));}},{'key':_0x994133(0xe6),'value':function(_0x2dbc52){var _0x36c22b=_0x994133;this[_0x36c22b(0x1f5)]=!0x0;}},{'key':_0x994133(0x181),'value':function(_0x5ad8a7){var _0x55391d=_0x994133;this[_0x55391d(0x126)]&&this[_0x55391d(0x120)]&&this[_0x55391d(0x1f5)]&&(this[_0x55391d(0x120)][_0x55391d(0xbd)][_0x55391d(0x16b)]=_0x55391d(0xba),this[_0x55391d(0x1d1)]=!0x0);}},{'key':_0x994133(0x1a9),'value':function(_0x55c94f){var _0x4deed7=_0x994133;this[_0x4deed7(0x126)]&&this[_0x4deed7(0x120)]&&(this[_0x4deed7(0x1f5)]&&this[_0x4deed7(0x1d1)]&&this[_0x4deed7(0x121)](),this[_0x4deed7(0x120)]['style'][_0x4deed7(0x16b)]='visible',this['mouse_down']=!0x1,this[_0x4deed7(0x1d1)]=!0x1);}},{'key':'redraw','value':function(){var _0x4e4cb3=_0x994133;this[_0x4e4cb3(0x126)]&&this[_0x4e4cb3(0x1b6)]&&(this[_0x4e4cb3(0x152)]=[],this['drawWind']());}},{'key':_0x994133(0xa4),'value':function(_0x7940db){var _0x579095=_0x994133;this[_0x579095(0x81)](),this['windData']=_0x7940db,this[_0x579095(0x1b6)]=new _0x2e6381(this[_0x579095(0x117)],this[_0x579095(0x191)]),this['drawWind']();}},{'key':'drawWind','value':function(){var _0x4d61dc=_0x994133;this[_0x4d61dc(0x104)]();for(var _0x4bb2d0=0x0;_0x4bb2d0<this[_0x4d61dc(0x16c)];_0x4bb2d0++){var _0x40c7d4=this[_0x4d61dc(0xc5)](new _0x1d8f1a());this[_0x4d61dc(0x152)][_0x4d61dc(0x98)](_0x40c7d4);}this[_0x4d61dc(0x7c)][_0x4d61dc(0xb9)]=_0x4d61dc(0x1c6),this[_0x4d61dc(0x7c)][_0x4d61dc(0xd0)]=0.6,this[_0x4d61dc(0x192)]();}},{'key':_0x994133(0x104),'value':function(){var _0x4e608b=_0x994133;this[_0x4e608b(0x1b6)]&&(this[_0x4e608b(0xe7)]=[(this[_0x4e608b(0x1b6)][_0x4e608b(0x1b7)]-this[_0x4e608b(0x1b6)]['xmin'])/this[_0x4e608b(0x1ef)],(this[_0x4e608b(0x1b6)][_0x4e608b(0x106)]-this[_0x4e608b(0x1b6)][_0x4e608b(0x19c)])/this[_0x4e608b(0x1ef)]]);}},{'key':_0x994133(0x192),'value':function(){var _0x12355b=_0x994133,_0x5348ac=this;if(this[_0x12355b(0x126)]&&!(this[_0x12355b(0x152)][_0x12355b(0x12b)]<=0x0)){var _0x1b3292=null,_0x13641c=null,_0xd332c5=null;this[_0x12355b(0x152)][_0x12355b(0xab)](function(_0x141e8b){var _0x37f194=_0x12355b;if(_0x141e8b[_0x37f194(0x14f)]<=0x0&&_0x5348ac['randomParticle'](_0x141e8b),_0x141e8b['age']>0x0){var _0x352182=_0x141e8b['tlng'],_0x70d84a=_0x141e8b[_0x37f194(0x197)];(_0xd332c5=_0x5348ac[_0x37f194(0x1b6)][_0x37f194(0xb8)](_0x352182,_0x70d84a))?(_0x1b3292=_0x352182+_0x5348ac['calc_speedRate'][0x0]*_0xd332c5[0x0],_0x13641c=_0x70d84a+_0x5348ac['calc_speedRate'][0x1]*_0xd332c5[0x1],_0x141e8b[_0x37f194(0x1d7)]=_0x352182,_0x141e8b['lat']=_0x70d84a,_0x141e8b[_0x37f194(0x118)]=_0x1b3292,_0x141e8b['tlat']=_0x13641c,_0x141e8b[_0x37f194(0x14f)]--):_0x141e8b[_0x37f194(0x14f)]=0x0;}}),this[_0x12355b(0x201)]();}}},{'key':_0x994133(0xd3),'value':function(_0x3e36b2,_0x43323e,_0x557fc1){var _0x5d2e42=_0x994133,_0x56824f=_0x19acc7[_0x5d2e42(0x15c)][_0x5d2e42(0xa9)](_0x3e36b2,_0x43323e,this[_0x5d2e42(0x1d9)]),_0x229a21=this[_0x5d2e42(0xee)][_0x5d2e42(0x1ed)];if(_0x229a21[_0x5d2e42(0x7f)]===_0x19acc7['SceneMode'][_0x5d2e42(0xb4)]&&!new _0x19acc7['EllipsoidalOccluder'](_0x229a21[_0x5d2e42(0x14e)][_0x5d2e42(0x85)],_0x229a21[_0x5d2e42(0x1a4)][_0x5d2e42(0x14d)])[_0x5d2e42(0x1b8)](_0x56824f))return _0x557fc1['age']=0x0,null;var _0xf61672=_0x19acc7['SceneTransforms'][_0x5d2e42(0x160)](this[_0x5d2e42(0xee)]['scene'],_0x56824f);return _0xf61672?[_0xf61672['x'],_0xf61672['y']]:null;}},{'key':_0x994133(0x201),'value':function(){var _0x49e37e=_0x994133,_0x23eabd=this,_0x596e48=this[_0x49e37e(0x152)];this[_0x49e37e(0x7c)][_0x49e37e(0x79)]=_0x23eabd['lineWidth'],this[_0x49e37e(0x7c)][_0x49e37e(0xd6)]=_0x49e37e(0x156),this[_0x49e37e(0x7c)][_0x49e37e(0x172)](0x0,0x0,this['canvasWidth'],this[_0x49e37e(0x1f3)]),this[_0x49e37e(0x7c)][_0x49e37e(0xd6)]=_0x49e37e(0xdb),this[_0x49e37e(0x7c)][_0x49e37e(0xd0)]=0.9,this[_0x49e37e(0x7c)][_0x49e37e(0x168)](),this[_0x49e37e(0x7c)]['strokeStyle']=this[_0x49e37e(0xd8)];var _0x267b23=this[_0x49e37e(0xee)][_0x49e37e(0x1ed)][_0x49e37e(0x7f)]!==_0x19acc7['SceneMode'][_0x49e37e(0xb4)];_0x596e48['forEach'](function(_0x109812){var _0x490733=_0x49e37e,_0x2ad30a=_0x23eabd[_0x490733(0xd3)](_0x109812[_0x490733(0x1d7)],_0x109812[_0x490733(0x87)],_0x109812),_0x5ae342=_0x23eabd[_0x490733(0xd3)](_0x109812[_0x490733(0x118)],_0x109812[_0x490733(0x197)],_0x109812);if(null!=_0x2ad30a&&null!=_0x5ae342){var _0xf8f138=Math['abs'](_0x2ad30a[0x0]-_0x5ae342[0x0]);_0x267b23&&_0xf8f138>=_0x23eabd['canvasWidth']||(_0x23eabd[_0x490733(0x7c)]['moveTo'](_0x2ad30a[0x0],_0x2ad30a[0x1]),_0x23eabd[_0x490733(0x7c)]['lineTo'](_0x5ae342[0x0],_0x5ae342[0x1]));}}),this[_0x49e37e(0x7c)][_0x49e37e(0x1b4)]();}},{'key':_0x994133(0xc5),'value':function(_0x1d8f26){var _0x1d697e=_0x994133;for(var _0x5df488,_0x204457,_0x522d37=0x0;_0x522d37<0x1e&&(_0x5df488=this[_0x1d697e(0x1b6)][_0x1d697e(0x1ab)](),!((_0x204457=this[_0x1d697e(0x1b6)]['getUVByPoint'](_0x5df488['lng'],_0x5df488[_0x1d697e(0x87)]))&&_0x204457[0x2]>0x0));_0x522d37++);if(!_0x204457)return _0x1d8f26;var _0x45d62c=_0x5df488[_0x1d697e(0x1d7)]+this[_0x1d697e(0xe7)][0x0]*_0x204457[0x0],_0xf95d7a=_0x5df488[_0x1d697e(0x87)]+this[_0x1d697e(0xe7)][0x1]*_0x204457[0x1];return _0x1d8f26[_0x1d697e(0x1d7)]=_0x5df488[_0x1d697e(0x1d7)],_0x1d8f26['lat']=_0x5df488[_0x1d697e(0x87)],_0x1d8f26[_0x1d697e(0x118)]=_0x45d62c,_0x1d8f26[_0x1d697e(0x197)]=_0xf95d7a,_0x1d8f26[_0x1d697e(0x14f)]=Math[_0x1d697e(0x17f)](Math[_0x1d697e(0x13c)]()*this[_0x1d697e(0x1c4)]),_0x1d8f26;}},{'key':_0x994133(0x81),'value':function(){var _0x58926b=_0x994133;this[_0x58926b(0x152)]=[],delete this[_0x58926b(0x1b6)],delete this[_0x58926b(0x117)];}}]),_0x1dbfc9;}(_0x170d6b[_0x132431(0x129)][_0x132431(0xad)]);_0x170d6b[_0x132431(0x15f)][_0x132431(0x16d)]('canvasWind',_0x5c5510),_0x170d6b[_0x132431(0x129)][_0x132431(0x167)]=_0x5c5510;var _0x275ad1=_0x170d6b[_0x132431(0x1ea)];function _0x1e420c(_0x245b36,_0x4f2516){var _0x56d9ab=_0x132431;return _0x245b36*Math[_0x56d9ab(0xe4)](_0x275ad1[_0x56d9ab(0x1cc)][_0x56d9ab(0xaa)](_0x4f2516));}function _0x2f6890(_0xbf408d,_0x179830){var _0x2f8eaa=_0x132431;return _0xbf408d*Math[_0x2f8eaa(0x17a)](_0x275ad1[_0x2f8eaa(0x1cc)][_0x2f8eaa(0xaa)](_0x179830));}function _0x498375(_0x23d78d,_0x45b6fb){var _0xba6518=_0x132431;return Math['sqrt'](Math[_0xba6518(0x1df)](_0x23d78d,0x2)+Math['pow'](_0x45b6fb,0x2));}function _0x1a39b4(_0x25e0d9,_0x26e5c8){var _0xb004bc=_0x132431,_0x4f2d58=_0x275ad1[_0xb004bc(0x1cc)][_0xb004bc(0x205)](Math[_0xb004bc(0xf6)](_0x26e5c8,_0x25e0d9));return _0x4f2d58+=_0x4f2d58<0x0?0x168:0x0;}_0x170d6b[_0x132431(0x1c7)]=_0x36b788;}]));
|
|
31
22
|
|
|
32
23
|
})(window);
|
|
33
24
|
|
package/package.json
CHANGED
|
@@ -1,15 +1,39 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mars3d-wind",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.1",
|
|
4
4
|
"description": "Mars3D平台插件,支持气象 风向图 功能插件",
|
|
5
5
|
"main": "dist/mars3d-wind.js",
|
|
6
6
|
"files": [
|
|
7
7
|
"dist"
|
|
8
8
|
],
|
|
9
9
|
"dependencies": {},
|
|
10
|
-
"devDependencies": {
|
|
10
|
+
"devDependencies": {
|
|
11
|
+
"mars3d": "^3.2.1",
|
|
12
|
+
"@babel/core": "^7.14.3",
|
|
13
|
+
"@babel/eslint-parser": "^7.14.3",
|
|
14
|
+
"@babel/plugin-proposal-class-properties": "^7.14.3",
|
|
15
|
+
"@babel/plugin-transform-runtime": "^7.14.3",
|
|
16
|
+
"@babel/preset-env": "^7.14.3",
|
|
17
|
+
"babel-eslint": "^10.1.0",
|
|
18
|
+
"babel-loader": "^8.2.2",
|
|
19
|
+
"eslint": "^7.26.0",
|
|
20
|
+
"eslint-config-prettier": "^7.2.0",
|
|
21
|
+
"eslint-plugin-import": "^2.22.1",
|
|
22
|
+
"eslint-plugin-node": "^11.1.0",
|
|
23
|
+
"eslint-plugin-prettier": "^3.3.1",
|
|
24
|
+
"eslint-plugin-promise": "^4.3.1",
|
|
25
|
+
"prettier": "^2.2.1",
|
|
26
|
+
"webpack": "^4.46.0",
|
|
27
|
+
"webpack-cli": "^3.3.12",
|
|
28
|
+
"webpack-glsl-loader": "^1.0.1",
|
|
29
|
+
"javascript-obfuscator": "^2.15.5",
|
|
30
|
+
"webpack-obfuscator": "^2.6.0"
|
|
31
|
+
},
|
|
11
32
|
"scripts": {
|
|
12
|
-
"
|
|
33
|
+
"build": "webpack --env.prod --env.min --progress --profile --colors --config ./scripts/webpack.config.js && webpack --env.prod --progress --profile --colors --config ./scripts/webpack.config.js --devtool source-map",
|
|
34
|
+
"build-src": "webpack --env.prod --progress --profile --colors --config ./scripts/webpack.config.js --devtool source-map",
|
|
35
|
+
"build-min": "webpack --env.prod --env.min --progress --profile --colors --config ./scripts/webpack.config.js",
|
|
36
|
+
"build-npm": "webpack --env.prod --env.min --progress --profile --colors --config ./scripts/webpack.npm.js && node scripts/npm/buildNpm.js",
|
|
13
37
|
"push": "npm publish"
|
|
14
38
|
},
|
|
15
39
|
"repository": {
|
|
@@ -24,11 +48,13 @@
|
|
|
24
48
|
"marsgis",
|
|
25
49
|
"mars3d",
|
|
26
50
|
"cesium",
|
|
51
|
+
"webgl",
|
|
52
|
+
"gis",
|
|
27
53
|
"3dgis",
|
|
28
54
|
"webgis",
|
|
29
55
|
"wind"
|
|
30
56
|
],
|
|
31
|
-
"license": "Apache-2.0",
|
|
32
57
|
"author": "火星科技",
|
|
58
|
+
"license": "Apache-2.0",
|
|
33
59
|
"homepage": "http://mars3d.cn"
|
|
34
60
|
}
|