diff --git a/html/Microgrids.html b/html/Microgrids.html index e3c87c8..9b9d3b4 100644 --- a/html/Microgrids.html +++ b/html/Microgrids.html @@ -8,13 +8,11 @@ - + - - - + -
-
+ +
+
-
+
+
- + Smart Energy System -

+

INTEGRATED INDEPENDENT - INTELLIGENT. + INTELLIGENT.

-

+

The Next Generation of Microgrid Solutions Empowering industrial parks and zero-carbon communities with seamless, green, and autonomous energy.

- -
+ +
-
-
+ +
+
-

- - Core Architecture of Microgrid System - +

+ CORE ARCHITECTURE OF MICROGRID SYSTEM

-
- +
+ INTELLIGENT MICROGRID NETWORK - +
-
+ +
-
+
-

Power Generation

-
NODE_TYPE: GEN_01
+

Power Gen

+
NODE: GEN_01
-
- VOLTAGE OUT - 400V DC +
+ VOLTAGE OUT + 400V DC
-
- STATUS - STABLE +
+ STATUS + STABLE
-

>_ Awaiting command...

+

>_ Awaiting command...

-
+
-
+ +
-
+
-

Energy Storage

-
NODE_TYPE: BATT_X
+

Energy Storage

+
NODE: BATT_X
-
- CAPACITY - 500 kWh +
+ CAPACITY + 500 kWh
-
- MODE - CHARGE +
+ MODE + CHARGE
-

>_ Interfacing...

+

>_ Interfacing...

-
+
+
-
+
-
-
-
- +
+
+
+
-
- CONVERTER +
+ CONVERTER
-

Power Conversion

-

AC/DC ⇌ DC/AC
EFF: 99.1%

+

Power Conversion

+

AC/DC ⇌ DC/AC
EFF: 99.1%

+
-
+
-
+
-

Demand Management

-
NODE_TYPE: LOAD_END
+

Demand Mgt

+
NODE: LOAD_END
-
- REAL POWER - 120 kW +
+ REAL POWER + 120 kW
-
- POWER FACTOR - 0.98 +
+ POWER FACTOR + 0.98
-

>_ Connecting...

+

>_ Connecting...

-
+
- - +
-
- -

Safe &
Reliable

-

Sustains island operation without disconnection, backed by multi-power redundancy to guarantee zero downtime for critical loads.

+
+ +

Safe &
Reliable

+

Sustains island operation without disconnection, backed by multi-power redundancy to guarantee zero downtime for critical loads.

-
- -

Smart &
Efficient

-

Intelligent optimization and dispatch enable peak shaving and valley filling, effectively reducing electricity costs and energy consumption.

+
+ +

Smart &
Efficient

+

Intelligent optimization and dispatch enable peak shaving and valley filling, effectively reducing electricity costs and energy consumption.

-
- -

Green &
Low-Carbon

-

Efficiently absorbs renewable energy and reduces carbon emissions, facilitating the realization of dual-carbon goals.

+
+ +

Green &
Low-Carbon

+

Efficiently absorbs renewable energy and reduces carbon emissions, facilitating the realization of dual-carbon goals.

-
- -

Autonomous &
Controllable

-

Operates independently of the external grid, significantly enhancing energy autonomy and risk resilience.

+
+ +

Autonomous &
Controllable

+

Operates independently of the external grid, significantly enhancing energy autonomy and risk resilience.

- - -
-

Applicable Scenarios

+ +
+

Applicable Scenarios

-
- - - - - - - - +
+ + + + + + + +
-
+
- Scenario Image + Scenario Image
-
+ +
-

-

+

+

-
+ + +
- - - - - + + + - - - + - - - -
-
+
+
+
Global Energy Transition Standard

Mastering the
- Zero-Carbon Equation. + Zero-Carbon Equation.

-

+

Empowering industrial giants and commercial leaders worldwide through elite Turnkey EPC execution and Zero-CAPEX Energy Management Contracting (EMC/PPA).

-
-
-
+
-

EPC

- - +

EPC

+

Engineering, Procurement, Construction

-

+

A traditional, robust model for clients holding CAPEX. We deliver end-to-end turnkey infrastructure, ensuring absolute quality control, timeline adherence, and tier-1 component integration.

-
- -
Site-Specific Design
- -
Global Sourcing
- -
Certified Build
- -
Grid Handover
+
+
Site-Specific Design
+
Global Sourcing
+
Certified Build
+
Grid Handover
-
+
-

EMC/PPA

- - +

EMC/PPA

+

Energy Management Contracting

-

+

The modern standard for risk-free upgrades. We finance 100% of the project. You enjoy immediate utility savings. We share the profit derived exclusively from the generated energy efficiency.

-
- -
Zero CAPEX Required
- -
Guaranteed Savings
- -
Free O&M Included
- -
Immediate ROI
+
+
Zero CAPEX Required
+
Guaranteed Savings
+
Free O&M Included
+
Immediate ROI
- - - -
+
-
-

Execution Pathways

-
- +

Execution Pathways

+
- -
-
-
-
+
- -
+
-

Site Survey

-

Comprehensive assessment of roof integrity, shading, and electrical infrastructure.

+

Site Survey

+

Comprehensive assessment of roof integrity, shading, and electrical infrastructure.

- -
+
-

Engineering

-

Precision CAD/3D design optimized for maximum energy density.

+

Engineering

+

Precision CAD/3D design optimized for maximum energy density.

- -
+
-

Procurement

-

Sourcing high-efficiency components through our robust supply chain.

+

Procurement

+

Sourcing high-efficiency components through our robust supply chain.

- -
+
-

Construction

-

Rigorous on-site management following international safety & quality standards.

+

Construction

+

Rigorous on-site management following international safety & quality standards.

- -
+
-

Grid & Testing

-

Handling all PEA/MEA permits and conducting strict pre-commissioning tests.

+

Grid & Testing

+

Handling all PEA/MEA permits and conducting strict pre-commissioning tests.

- -
+
-

O&M

-

24/7 remote monitoring and localized cleaning/repair services.

+

O&M

+

24/7 remote monitoring and localized cleaning/repair services.

-
-
+
- -
+
-

Evaluation

-

Financial feasibility study based on your historical electricity bills.

+

Evaluation

+

Financial feasibility study based on your historical electricity bills.

- -
+
-

Agreement

-

Clear, transparent PPA (Power Purchase Agreement) with no hidden fees.

+

Agreement

+

Clear, transparent PPA (Power Purchase Agreement) with no hidden fees.

- -
+
-

Deployment

-

Rapid installation and commissioning by our expert engineering team.

+

Deployment

+

Rapid installation and commissioning by our expert engineering team.

- -
+
-

Management

-

Intelligent dispatching of solar and storage to optimize self-consumption.

+

Management

+

Intelligent dispatching of solar and storage to optimize self-consumption.

- -
+
-

Benefit Share

-

Pay only for the solar energy generated at a rate significantly lower than the grid.

+

Benefit Share

+

Pay only for the solar energy generated at a rate significantly lower than the grid.

@@ -549,197 +496,164 @@
- - -
- -
+
+
-
-
Trust & Service
-

Built on Absolute Reliability.

+
Trust & Service
+

Built on Absolute Reliability.

-
- - -
+
-
-

Localized O&M Support

-

24/7/365 lifecycle protection for your energy assets.

+

Localized O&M Support

+

24/7/365 lifecycle protection for your energy assets.

-
- +
-
2H
+
2H
Consultation
-

Technical Consultation Response within 2 hours.

+

Technical Consultation Response within 2 hours.

-
-
24H
+
24H
Diagnosis
-

Remote Diagnosis & Solution proposition.

+

Remote Diagnosis & Solution proposition.

-
-
48H
-
On-Site
-

On-site Engineering Support deployment.

+
48H
+
On-Site
+

On-site Engineering Support deployment.

- -
-
+
+
- - -

Global Quality Benchmarks

-

Strictest adherence to global standards.

+ +

Global Quality Benchmarks

+

Strictest adherence to global standards.

-
ISO 9001 : 2015
-
ISO 14001 : 2015
-
ISO 45001 / CE
+
ISO 9001 : 2015
+
ISO 14001 : 2015
+
ISO 45001 / CE
- -
-
+
+
- -
+
- - -

Tier-1 Ecosystem

-

Forging Strategic Alliances with Global Leaders in PV manufacturing and inverter technology, backed by our years of industry expertise, ensuring lifecycle performance and uncompromised safety.

+ +

Tier-1 Ecosystem

+

Forging Strategic Alliances with Global Leaders in PV manufacturing and inverter technology, backed by our years of industry expertise, ensuring lifecycle performance and uncompromised safety.

-
100%
+
100%
Authentic Component Sourcing
-
-
- - -
- LONGi +
+ LONGi
-
- JA Solar +
+ JA Solar
-
- Trina Solar +
+ Trina Solar
-
- Huawei +
+ Huawei
-
- Sungrow +
+ Sungrow
-
- Ginlong +
+ Ginlong
-
- Chint +
+ Chint
-
- GoodWe +
+ GoodWe
-
- Deye +
+ Deye
- -
- LONGi +
+ LONGi
-
- JA Solar +
+ JA Solar
-
- Trina Solar +
+ Trina Solar
-
- Huawei +
+ Huawei
-
- Sungrow +
+ Sungrow
-
- Ginlong +
+ Ginlong
-
- Chint +
+ Chint
-
- GoodWe +
+ GoodWe
-
- Deye +
+ Deye
-
- -
- -
- - -
-
-
+
+
+
-
Success Stories
-

Our Portfolio

+
Success Stories
+

Our Portfolio

-
-
+
- -

Turnkey EPC

+

Turnkey EPC

- - - - + +
-
+
-
@@ -748,8 +662,6 @@
Wind Power - -

Yulin’s Wind Frontier: A Global Benchmark

@@ -761,7 +673,6 @@
-
@@ -770,7 +681,6 @@
Dual-Axis Solar -

The Solar Sentinel

@@ -782,7 +692,6 @@
-
@@ -791,10 +700,9 @@
Grid Integration -
-

The Grid-Ready Blueprint

+

The Grid-Ready Blueprint

Optimized 110kV substation and localized 35kV collection lines ensuring ultra-fast, seamless connection to the regional power grid.

40MW
Capacity
@@ -803,7 +711,6 @@
-
@@ -812,10 +719,9 @@
Agrivoltaics -
-

The Green Synergy Blueprint

+

The Green Synergy Blueprint

Customized panel height and irrigation-friendly design with optimized electrical safety to harmonize solar and agriculture.

70MWp
Capacity
@@ -829,25 +735,20 @@
-
-
+
- -

EMC/PPA Contracts

+

EMC/PPA Contracts

- - - - + +
-
+
-
@@ -856,7 +757,6 @@
Industrial Park -

10MWp Distributed Solar PV Empowerment

@@ -874,7 +774,6 @@
-
@@ -883,7 +782,6 @@
Tier-1 Hub -

5.2MWp High-Efficiency PV System

@@ -901,7 +799,6 @@
-
@@ -910,7 +807,6 @@
Logistics Park -

4.99MWp Rooftop PV Project

@@ -928,7 +824,6 @@
-
@@ -937,7 +832,6 @@
Manufacturing -

5.86MWp Integrated PV Solution

@@ -963,32 +857,25 @@
- -
+
-

Ready to Decarbonize?

-

Whether you are looking for a Turnkey EPC build or a Zero-CAPEX EMC/PPA partnership, our engineering teams are ready to assess your site.

+

Ready to Decarbonize?

+

Whether you are looking for a Turnkey EPC build or a Zero-CAPEX EMC/PPA partnership, our engineering teams are ready to assess your site.

- - - - - - + \ No newline at end of file diff --git a/html/home.html b/html/home.html index eb7cd37..cd7cbc5 100644 --- a/html/home.html +++ b/html/home.html @@ -1,24 +1,22 @@ - + 首页 - + - + - + + - - - + + + + -
-
-
-
+
+
+
- - - -
+ +
-
-
-
-
+
+
+
+
-
+
-

NENGHUI - -

-
-
- INIT_SYSTEM +
+ INIT_SYSTEM
-

- Energy
EMPOWERING. +

+ Energy
EMPOWERING.

-

Smart energy solutions for a sustainable and low-carbon future.

+

Smart energy solutions for a sustainable and low-carbon future.

- -
-
+ data-bg="https://nenghui.com/wp-content/uploads/2026/03/home-banner-20260318.jpg" >
- +

+ ธุรกิจโรงไฟฟ้า PPA
+ ในประเทศไทย. +

+

+ ขอเชิญพันธมิตรผู้พัฒนาช่องทางธุรกิจร่วมเติบโตไปกับเรา. +

+ +
+
+ +
+
+
+
+
+
-

+
+

Global Vision
Localized Performance.

-

- +

Engineering excellence meets on-site precision, Delivering integrated EPC solutions with global expertise. - -

-

- +
-
-
- - -

- +

Powering the AI-Driven
Energy Revolution.

-

- - +

Next-Gen Energy Storage Solutions | EPC & EMC/PPA for a Sustainable Future. - - - - -

-
- -
- - -
-
+
+
- - - - - -
- - - -
- Swipe + Swipe
-
-
- - -
- + +
-

Powering the Planet

+

Powering the Planet

Driving the transition with measurable impact.

- - -
-
- -
-
- -

Technology Pioneer

-

+

Technology Pioneer

+

0 +

@@ -381,25 +515,17 @@
- -
-
- -
- - -
- +
-

Carbon Offset

-

+

Carbon Offset

+

0 GW

@@ -408,512 +534,174 @@
- -
-
- -
-
- -

EPC Portfolio

-

+

EPC Portfolio

+

0 +

Projects Completed

-
- - - -
-
-
-

Integrated Renewable Energy Infrastructure

-

From cutting-edge storage products to full-lifecycle EPC, EMC/PPA, and BOT energy services.

+ +
+
+ + +
+
- -
- - - - - -
-
- - - -
-
- - -
- - - - - - + +
+
+
+
-
- - - - - - - -
-
-
- - -
-
- - - -
-
-

Integrated Renewable Energy Infrastructure

-

- - - - - REGIONAL HUBS ACTIVE -

-
-
+ +
+
+ Smart Energy Storage Systems +
+

+ NH-TS-EDB180-261 +

+

+ The NH-TS-EDB180-261 ESS Charger integrates high-capacity energy storage with ultra-fast EV charging in one compact system. Featuring 180kW max output, compatibility with diverse power environments. +

+
+ - - +
+ + +
+
+
+

+ Global Network +

+

+ Sustainable Energy Monitoring +

+
+ +
+
+

Active Stations

+ + + + +
+
+ 8 + Regions Live +
+
-
- - -
-
- -
-
+
+
+ 360 + Drag to Explore
-
- +
- - +
+
+ +
- - -
-
+
+
-

Why Partner with NENGHUI? @@ -923,66 +711,52 @@

-
- -
-
-

Proven Delivery Excellence

With years of consistent contract fulfillment and project execution, we ensure reliability in every commitment. Our robust operational capacity guarantees your energy transition is in safe hands.

-
Reliable Execution
-
-
-

16 Years of Technical Leadership

Founded by a technical expert team, we have remained dedicated to the energy sector for 16 years. Our deep-rooted engineering DNA drives continuous innovation and professional rigor in everything we build.

-
Since 2009
-
-

Design-Driven Evolution

Originating from the power industry, NENGHUI has evolved into a specialist in clean energy design and engineering. We provide high-value services, working heart-to-heart with global partners to create sustainable impact.

-
High-Value Services
- +
-
@@ -992,8 +766,6 @@ Our products and processes meet stringent domestic and international standards. With comprehensive global certifications, we ensure seamless market entry and long-term operational safety across the world.

- -
TÜV
@@ -1007,15 +779,10 @@
UL
US Std
-
-
...
- -
- +
-
@@ -1025,8 +792,6 @@ We offer a full spectrum of energy assets, including Solar, ESS, and EV Charging infrastructure. From microgrids to grid-scale projects, our integrated "Solar + Storage + Charging" solutions meet diverse global demands

- -
@@ -1036,22 +801,17 @@
- - -
- +
-
+
-

Cases

-
- - -
+
- -
-
+
-
+
IRAQ BESS - 2025 -

Empowering Iraq’s Grid with Smart BESS Technology

-

330kW/763kWh Turnkey EPC Project for Sustainable Industrial Power Management.

- +

Empowering Iraq’s Grid with Smart BESS Technology

+

330kW/763kWh Turnkey EPC Project for Sustainable Industrial Power Management.

- -
-
+
-
+
Excellence in Mountainous Solar Integration - 2024 -

Excellence in Mountainous Solar Integration

-

This signature project by Shanghai Nenghui Technology showcases our end-to-end capability in mountainous solar. From sophisticated grid connection to resilient structural engineering, we ensure long-term reliability in every peak we power.

- +

Excellence in Mountainous Solar Integration

+

This signature project by Shanghai Nenghui Technology showcases our end-to-end capability in mountainous solar. From sophisticated grid connection to resilient structural engineering, we ensure long-term reliability in every peak we power.

-
-
-
+ +
+
-
+
We Power the Arid Frontier - 2023 -

Innovative solar solutions tailored for the most demanding climates.

-

This landmark project showcases our ability to design and maintain high-efficiency PV plants in sandy and rocky deserts, setting a new benchmark for utility-scale solar.

- +

Innovative solar solutions tailored for the most demanding climates.

+

This landmark project showcases our ability to design and maintain high-efficiency PV plants in sandy and rocky deserts, setting a new benchmark for utility-scale solar.

- - -
-
+
-
+
Commercial ESS Project - 2019 -

Smart Energy, Zero Investment

-

NENGHUI-funded energy storage featuring smart C&I integration and lifetime performance guarantee.

- +

Smart Energy, Zero Investment

+

NENGHUI-funded energy storage featuring smart C&I integration and lifetime performance guarantee.

- -
-
+
-
+
Next-Gen EV Heavy Truck Powertrain - 2025 -

Pioneering Core Technology Breakthroughs

-

Delivering high-performance powertrain systems through intelligent manufacturing and advanced engineering.

- +

Pioneering Core Technology Breakthroughs

+

Delivering high-performance powertrain systems through intelligent manufacturing and advanced engineering.

- -
-
+
-
+
Qinzhou 20MWp Fishing-Solar Hybrid Project - 2023 -

Sustainable Synergy of Energy & Aquaculture

-

A premier EPC turnkey solution integrating high-efficiency PV arrays with modern fishery ecosystems.

- +

Sustainable Synergy of Energy & Aquaculture

+

A premier EPC turnkey solution integrating high-efficiency PV arrays with modern fishery ecosystems.

- -
-
+
-
+
Innovative Agri-Solar Hybrid Project - 2024 -

Harmony of Energy & Agriculture

-

A high-efficiency EPC solution maximizing land value through integrated solar power and sustainable forestry.

- +

Harmony of Energy & Agriculture

+

A high-efficiency EPC solution maximizing land value through integrated solar power and sustainable forestry.

- -
-
+
-
+
120MWp Integrated Agrivoltaic Project - 2025 -

Excellence in EPC Delivery

-

A premier subsidized PV development featuring high-standard equipment and rigorous execution within Guizhou's premier million-kilowatt solar cluster.

- +

Excellence in EPC Delivery

+

A premier subsidized PV development featuring high-standard equipment and rigorous execution within Guizhou's premier million-kilowatt solar cluster.

+
- - - - - -
- -

Certified Reliability, Global Compliance @@ -1214,16 +954,12 @@

-
-
-
TÜV
-
Safety Tested @@ -1231,25 +967,14 @@
-
- -
- - - - - -
- -
European Std. @@ -1257,8 +982,6 @@
- -
@@ -1273,7 +996,6 @@
-
IEC @@ -1285,7 +1007,6 @@
-
ISO @@ -1301,274 +1022,53 @@
- -
+ - - - - - - - + + + + + + + - - + + + + + + - const allData = [ - { data: ShapeLib.text(), text: "SYSTEM // NENGHUI" }, - { data: ShapeLib.bess(), text: "HARDWARE // STORAGE_UNITS" }, - { data: ShapeLib.wind(), text: "GEN // WIND_TURBINE" }, - { data: ShapeLib.solar(), text: "GEN // SOLAR_ARRAY" }, - { data: ShapeLib.truck(), text: "LOGISTICS // TRUCK_SWAP" } + - diff --git a/html/product copy.html b/html/product copy.html index 394b9cf..aca58a2 100644 --- a/html/product copy.html +++ b/html/product copy.html @@ -294,7 +294,7 @@ -->
-
+
≥93% Efficiency
Nenghui all-in-one liquid-cooled ESS cabinet adopts advanced cabinet-level liquid cooling and temperature balancing strategy. The cell temperature difference is less than 3°C, which further improves the consistency of cell temperature and extends the battery life. The modular design makes the parallel solution more flexible and has a higher energy density, which significantly improves the economy, safety and construction convenience of ESS projects.

- +
-->
-
+
≥90% Efficiency
-->
-
+
≥93% Efficiency
Nenghui’s N20HC5000 factory-assembled DC battery storage container ships with 12 battery racks on the 5.015MWh 20ft container, power distribution cabinet, fire suppression system and advanced liquid-cooling system. And the module is made up of 1P104S LFP prismatic cells. Each cell undergoes strict quality inspections to ensure high energy density, wide operating temperature range, extended battery life, as well as the highest protection and safety features.

-
+ diff --git a/wp-content/themes/nenghui-energy-theme-4/assets/js/globe.2.32.2.min.js b/wp-content/themes/nenghui-energy-theme-4/assets/js/globe.2.32.2.min.js new file mode 100644 index 0000000..4060ca4 --- /dev/null +++ b/wp-content/themes/nenghui-energy-theme-4/assets/js/globe.2.32.2.min.js @@ -0,0 +1,35 @@ +// Version 2.32.2 globe.gl - https://github.com/vasturiano/globe.gl +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Globe=e()}(this,(function(){"use strict";function t(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function e(e){for(var n=1;n=0||(i[n]=t[n]);return i}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}function a(t){return function(t){if(Array.isArray(t))return o(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return o(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n>8&255]+vt[t>>16&255]+vt[t>>24&255]+"-"+vt[255&e]+vt[e>>8&255]+"-"+vt[e>>16&15|64]+vt[e>>24&255]+"-"+vt[63&n|128]+vt[n>>8&255]+"-"+vt[n>>16&255]+vt[n>>24&255]+vt[255&r]+vt[r>>8&255]+vt[r>>16&255]+vt[r>>24&255]).toLowerCase()}function Mt(t,e,n){return Math.max(e,Math.min(n,t))}function wt(t,e){return(t%e+e)%e}function Et(t,e,n){return(1-n)*t+n*e}function St(t){return 0==(t&t-1)&&0!==t}function Tt(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))}function Ct(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return t/4294967295;case Uint16Array:return t/65535;case Uint8Array:return t/255;case Int32Array:return Math.max(t/2147483647,-1);case Int16Array:return Math.max(t/32767,-1);case Int8Array:return Math.max(t/127,-1);default:throw new Error("Invalid component type.")}}function Rt(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return Math.round(4294967295*t);case Uint16Array:return Math.round(65535*t);case Uint8Array:return Math.round(255*t);case Int32Array:return Math.round(2147483647*t);case Int16Array:return Math.round(32767*t);case Int8Array:return Math.round(127*t);default:throw new Error("Invalid component type.")}}const Pt={DEG2RAD:yt,RAD2DEG:xt,generateUUID:bt,clamp:Mt,euclideanModulo:wt,mapLinear:function(t,e,n,r,i){return r+(t-e)*(i-r)/(n-e)},inverseLerp:function(t,e,n){return t!==e?(n-t)/(e-t):0},lerp:Et,damp:function(t,e,n,r){return Et(t,e,1-Math.exp(-n*r))},pingpong:function(t,e=1){return e-Math.abs(wt(t,2*e)-e)},smoothstep:function(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e))*t*(3-2*t)},smootherstep:function(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e))*t*t*(t*(6*t-15)+10)},randInt:function(t,e){return t+Math.floor(Math.random()*(e-t+1))},randFloat:function(t,e){return t+Math.random()*(e-t)},randFloatSpread:function(t){return t*(.5-Math.random())},seededRandom:function(t){void 0!==t&&(_t=t);let e=_t+=1831565813;return e=Math.imul(e^e>>>15,1|e),e^=e+Math.imul(e^e>>>7,61|e),((e^e>>>14)>>>0)/4294967296},degToRad:function(t){return t*yt},radToDeg:function(t){return t*xt},isPowerOfTwo:St,ceilPowerOfTwo:function(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))},floorPowerOfTwo:Tt,setQuaternionFromProperEuler:function(t,e,n,r,i){const a=Math.cos,o=Math.sin,s=a(n/2),A=o(n/2),l=a((e+r)/2),c=o((e+r)/2),u=a((e-r)/2),h=o((e-r)/2),d=a((r-e)/2),f=o((r-e)/2);switch(i){case"XYX":t.set(s*c,A*u,A*h,s*l);break;case"YZY":t.set(A*h,s*c,A*u,s*l);break;case"ZXZ":t.set(A*u,A*h,s*c,s*l);break;case"XZX":t.set(s*c,A*f,A*d,s*l);break;case"YXY":t.set(A*d,s*c,A*f,s*l);break;case"ZYZ":t.set(A*f,A*d,s*c,s*l);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+i)}},normalize:Rt,denormalize:Ct};class Lt{constructor(t=0,e=0){Lt.prototype.isVector2=!0,this.x=t,this.y=e}get width(){return this.x}set width(t){this.x=t}get height(){return this.y}set height(t){this.y=t}set(t,e){return this.x=t,this.y=e,this}setScalar(t){return this.x=t,this.y=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y)}copy(t){return this.x=t.x,this.y=t.y,this}add(t){return this.x+=t.x,this.y+=t.y,this}addScalar(t){return this.x+=t,this.y+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this}subScalar(t){return this.x-=t,this.y-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this}multiply(t){return this.x*=t.x,this.y*=t.y,this}multiplyScalar(t){return this.x*=t,this.y*=t,this}divide(t){return this.x/=t.x,this.y/=t.y,this}divideScalar(t){return this.multiplyScalar(1/t)}applyMatrix3(t){const e=this.x,n=this.y,r=t.elements;return this.x=r[0]*e+r[3]*n+r[6],this.y=r[1]*e+r[4]*n+r[7],this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(t){return this.x*t.x+this.y*t.y}cross(t){return this.x*t.y-this.y*t.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(t){const e=Math.sqrt(this.lengthSq()*t.lengthSq());if(0===e)return Math.PI/2;const n=this.dot(t)/e;return Math.acos(Mt(n,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,n=this.y-t.y;return e*e+n*n}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this}equals(t){return t.x===this.x&&t.y===this.y}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this}rotateAround(t,e){const n=Math.cos(e),r=Math.sin(e),i=this.x-t.x,a=this.y-t.y;return this.x=i*n-a*r+t.x,this.y=i*r+a*n+t.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class Dt{constructor(t,e,n,r,i,a,o,s,A){Dt.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],void 0!==t&&this.set(t,e,n,r,i,a,o,s,A)}set(t,e,n,r,i,a,o,s,A){const l=this.elements;return l[0]=t,l[1]=r,l[2]=o,l[3]=e,l[4]=i,l[5]=s,l[6]=n,l[7]=a,l[8]=A,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(t){const e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],this}extractBasis(t,e,n){return t.setFromMatrix3Column(this,0),e.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(t){const e=t.elements;return this.set(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10]),this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const n=t.elements,r=e.elements,i=this.elements,a=n[0],o=n[3],s=n[6],A=n[1],l=n[4],c=n[7],u=n[2],h=n[5],d=n[8],f=r[0],p=r[3],m=r[6],g=r[1],v=r[4],_=r[7],y=r[2],x=r[5],b=r[8];return i[0]=a*f+o*g+s*y,i[3]=a*p+o*v+s*x,i[6]=a*m+o*_+s*b,i[1]=A*f+l*g+c*y,i[4]=A*p+l*v+c*x,i[7]=A*m+l*_+c*b,i[2]=u*f+h*g+d*y,i[5]=u*p+h*v+d*x,i[8]=u*m+h*_+d*b,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[3]*=t,e[6]*=t,e[1]*=t,e[4]*=t,e[7]*=t,e[2]*=t,e[5]*=t,e[8]*=t,this}determinant(){const t=this.elements,e=t[0],n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],A=t[7],l=t[8];return e*a*l-e*o*A-n*i*l+n*o*s+r*i*A-r*a*s}invert(){const t=this.elements,e=t[0],n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],A=t[7],l=t[8],c=l*a-o*A,u=o*s-l*i,h=A*i-a*s,d=e*c+n*u+r*h;if(0===d)return this.set(0,0,0,0,0,0,0,0,0);const f=1/d;return t[0]=c*f,t[1]=(r*A-l*n)*f,t[2]=(o*n-r*a)*f,t[3]=u*f,t[4]=(l*e-r*s)*f,t[5]=(r*i-o*e)*f,t[6]=h*f,t[7]=(n*s-A*e)*f,t[8]=(a*e-n*i)*f,this}transpose(){let t;const e=this.elements;return t=e[1],e[1]=e[3],e[3]=t,t=e[2],e[2]=e[6],e[6]=t,t=e[5],e[5]=e[7],e[7]=t,this}getNormalMatrix(t){return this.setFromMatrix4(t).invert().transpose()}transposeIntoArray(t){const e=this.elements;return t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],this}setUvTransform(t,e,n,r,i,a,o){const s=Math.cos(i),A=Math.sin(i);return this.set(n*s,n*A,-n*(s*a+A*o)+a+t,-r*A,r*s,-r*(-A*a+s*o)+o+e,0,0,1),this}scale(t,e){return this.premultiply(Ot.makeScale(t,e)),this}rotate(t){return this.premultiply(Ot.makeRotation(-t)),this}translate(t,e){return this.premultiply(Ot.makeTranslation(t,e)),this}makeTranslation(t,e){return t.isVector2?this.set(1,0,t.x,0,1,t.y,0,0,1):this.set(1,0,t,0,1,e,0,0,1),this}makeRotation(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,-n,0,n,e,0,0,0,1),this}makeScale(t,e){return this.set(t,0,0,0,e,0,0,0,1),this}equals(t){const e=this.elements,n=t.elements;for(let t=0;t<9;t++)if(e[t]!==n[t])return!1;return!0}fromArray(t,e=0){for(let n=0;n<9;n++)this.elements[n]=t[n+e];return this}toArray(t=[],e=0){const n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t}clone(){return(new this.constructor).fromArray(this.elements)}}const Ot=new Dt;function It(t){for(let e=t.length-1;e>=0;--e)if(t[e]>=65535)return!0;return!1}function qt(t){return document.createElementNS("http://www.w3.org/1999/xhtml",t)}function Ut(){const t=qt("canvas");return t.style.display="block",t}const Nt={};function Bt(t){t in Nt||(Nt[t]=!0,console.warn(t))}const kt=(new Dt).set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),Ft=(new Dt).set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),zt={[it]:{transfer:st,primaries:lt,toReference:t=>t,fromReference:t=>t},[rt]:{transfer:At,primaries:lt,toReference:t=>t.convertSRGBToLinear(),fromReference:t=>t.convertLinearToSRGB()},[ot]:{transfer:st,primaries:ct,toReference:t=>t.applyMatrix3(Ft),fromReference:t=>t.applyMatrix3(kt)},[at]:{transfer:At,primaries:ct,toReference:t=>t.convertSRGBToLinear().applyMatrix3(Ft),fromReference:t=>t.applyMatrix3(kt).convertLinearToSRGB()}},Gt=new Set([it,ot]),Ht={enabled:!0,_workingColorSpace:it,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(t){if(!Gt.has(t))throw new Error(`Unsupported working color space, "${t}".`);this._workingColorSpace=t},convert:function(t,e,n){if(!1===this.enabled||e===n||!e||!n)return t;const r=zt[e].toReference;return(0,zt[n].fromReference)(r(t))},fromWorkingColorSpace:function(t,e){return this.convert(t,this._workingColorSpace,e)},toWorkingColorSpace:function(t,e){return this.convert(t,e,this._workingColorSpace)},getPrimaries:function(t){return zt[t].primaries},getTransfer:function(t){return t===nt?st:zt[t].transfer}};function jt(t){return t<.04045?.0773993808*t:Math.pow(.9478672986*t+.0521327014,2.4)}function Vt(t){return t<.0031308?12.92*t:1.055*Math.pow(t,.41666)-.055}let Wt;class Xt{static getDataURL(t){if(/^data:/i.test(t.src))return t.src;if("undefined"==typeof HTMLCanvasElement)return t.src;let e;if(t instanceof HTMLCanvasElement)e=t;else{void 0===Wt&&(Wt=qt("canvas")),Wt.width=t.width,Wt.height=t.height;const n=Wt.getContext("2d");t instanceof ImageData?n.putImageData(t,0,0):n.drawImage(t,0,0,t.width,t.height),e=Wt}return e.width>2048||e.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",t),e.toDataURL("image/jpeg",.6)):e.toDataURL("image/png")}static sRGBToLinear(t){if("undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap){const e=qt("canvas");e.width=t.width,e.height=t.height;const n=e.getContext("2d");n.drawImage(t,0,0,t.width,t.height);const r=n.getImageData(0,0,t.width,t.height),i=r.data;for(let t=0;t0&&(n.userData=this.userData),e||(t.textures[this.uuid]=n),n}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(t){if(300!==this.mapping)return t;if(t.applyMatrix3(this.matrix),t.x<0||t.x>1)switch(this.wrapS){case D:t.x=t.x-Math.floor(t.x);break;case O:t.x=t.x<0?0:1;break;case I:1===Math.abs(Math.floor(t.x)%2)?t.x=Math.ceil(t.x)-t.x:t.x=t.x-Math.floor(t.x)}if(t.y<0||t.y>1)switch(this.wrapT){case D:t.y=t.y-Math.floor(t.y);break;case O:t.y=t.y<0?0:1;break;case I:1===Math.abs(Math.floor(t.y)%2)?t.y=Math.ceil(t.y)-t.y:t.y=t.y-Math.floor(t.y)}return this.flipY&&(t.y=1-t.y),t}set needsUpdate(t){!0===t&&(this.version++,this.source.needsUpdate=!0)}get encoding(){return Bt("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===rt?et:3e3}set encoding(t){Bt("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=t===et?rt:nt}}Jt.DEFAULT_IMAGE=null,Jt.DEFAULT_MAPPING=300,Jt.DEFAULT_ANISOTROPY=1;class $t{constructor(t=0,e=0,n=0,r=1){$t.prototype.isVector4=!0,this.x=t,this.y=e,this.z=n,this.w=r}get width(){return this.z}set width(t){this.z=t}get height(){return this.w}set height(t){this.w=t}set(t,e,n,r){return this.x=t,this.y=e,this.z=n,this.w=r,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this.w=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setW(t){return this.w=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;case 3:this.w=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=void 0!==t.w?t.w:1,this}add(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this}multiply(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this.w*=t.w,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this}applyMatrix4(t){const e=this.x,n=this.y,r=this.z,i=this.w,a=t.elements;return this.x=a[0]*e+a[4]*n+a[8]*r+a[12]*i,this.y=a[1]*e+a[5]*n+a[9]*r+a[13]*i,this.z=a[2]*e+a[6]*n+a[10]*r+a[14]*i,this.w=a[3]*e+a[7]*n+a[11]*r+a[15]*i,this}divideScalar(t){return this.multiplyScalar(1/t)}setAxisAngleFromQuaternion(t){this.w=2*Math.acos(t.w);const e=Math.sqrt(1-t.w*t.w);return e<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=t.x/e,this.y=t.y/e,this.z=t.z/e),this}setAxisAngleFromRotationMatrix(t){let e,n,r,i;const a=.01,o=.1,s=t.elements,A=s[0],l=s[4],c=s[8],u=s[1],h=s[5],d=s[9],f=s[2],p=s[6],m=s[10];if(Math.abs(l-u)s&&t>g?tg?s=0?1:-1,r=1-e*e;if(r>Number.EPSILON){const i=Math.sqrt(r),a=Math.atan2(i,e*n);t=Math.sin(t*a)/i,o=Math.sin(o*a)/i}const i=o*n;if(s=s*t+u*i,A=A*t+h*i,l=l*t+d*i,c=c*t+f*i,t===1-o){const t=1/Math.sqrt(s*s+A*A+l*l+c*c);s*=t,A*=t,l*=t,c*=t}}t[e]=s,t[e+1]=A,t[e+2]=l,t[e+3]=c}static multiplyQuaternionsFlat(t,e,n,r,i,a){const o=n[r],s=n[r+1],A=n[r+2],l=n[r+3],c=i[a],u=i[a+1],h=i[a+2],d=i[a+3];return t[e]=o*d+l*c+s*h-A*u,t[e+1]=s*d+l*u+A*c-o*h,t[e+2]=A*d+l*h+o*u-s*c,t[e+3]=l*d-o*c-s*u-A*h,t}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get w(){return this._w}set w(t){this._w=t,this._onChangeCallback()}set(t,e,n,r){return this._x=t,this._y=e,this._z=n,this._w=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(t){return this._x=t.x,this._y=t.y,this._z=t.z,this._w=t.w,this._onChangeCallback(),this}setFromEuler(t,e=!0){const n=t._x,r=t._y,i=t._z,a=t._order,o=Math.cos,s=Math.sin,A=o(n/2),l=o(r/2),c=o(i/2),u=s(n/2),h=s(r/2),d=s(i/2);switch(a){case"XYZ":this._x=u*l*c+A*h*d,this._y=A*h*c-u*l*d,this._z=A*l*d+u*h*c,this._w=A*l*c-u*h*d;break;case"YXZ":this._x=u*l*c+A*h*d,this._y=A*h*c-u*l*d,this._z=A*l*d-u*h*c,this._w=A*l*c+u*h*d;break;case"ZXY":this._x=u*l*c-A*h*d,this._y=A*h*c+u*l*d,this._z=A*l*d+u*h*c,this._w=A*l*c-u*h*d;break;case"ZYX":this._x=u*l*c-A*h*d,this._y=A*h*c+u*l*d,this._z=A*l*d-u*h*c,this._w=A*l*c+u*h*d;break;case"YZX":this._x=u*l*c+A*h*d,this._y=A*h*c+u*l*d,this._z=A*l*d-u*h*c,this._w=A*l*c-u*h*d;break;case"XZY":this._x=u*l*c-A*h*d,this._y=A*h*c-u*l*d,this._z=A*l*d+u*h*c,this._w=A*l*c+u*h*d;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+a)}return!0===e&&this._onChangeCallback(),this}setFromAxisAngle(t,e){const n=e/2,r=Math.sin(n);return this._x=t.x*r,this._y=t.y*r,this._z=t.z*r,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(t){const e=t.elements,n=e[0],r=e[4],i=e[8],a=e[1],o=e[5],s=e[9],A=e[2],l=e[6],c=e[10],u=n+o+c;if(u>0){const t=.5/Math.sqrt(u+1);this._w=.25/t,this._x=(l-s)*t,this._y=(i-A)*t,this._z=(a-r)*t}else if(n>o&&n>c){const t=2*Math.sqrt(1+n-o-c);this._w=(l-s)/t,this._x=.25*t,this._y=(r+a)/t,this._z=(i+A)/t}else if(o>c){const t=2*Math.sqrt(1+o-n-c);this._w=(i-A)/t,this._x=(r+a)/t,this._y=.25*t,this._z=(s+l)/t}else{const t=2*Math.sqrt(1+c-n-o);this._w=(a-r)/t,this._x=(i+A)/t,this._y=(s+l)/t,this._z=.25*t}return this._onChangeCallback(),this}setFromUnitVectors(t,e){let n=t.dot(e)+1;return nMath.abs(t.z)?(this._x=-t.y,this._y=t.x,this._z=0,this._w=n):(this._x=0,this._y=-t.z,this._z=t.y,this._w=n)):(this._x=t.y*e.z-t.z*e.y,this._y=t.z*e.x-t.x*e.z,this._z=t.x*e.y-t.y*e.x,this._w=n),this.normalize()}angleTo(t){return 2*Math.acos(Math.abs(Mt(this.dot(t),-1,1)))}rotateTowards(t,e){const n=this.angleTo(t);if(0===n)return this;const r=Math.min(1,e/n);return this.slerp(t,r),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let t=this.length();return 0===t?(this._x=0,this._y=0,this._z=0,this._w=1):(t=1/t,this._x=this._x*t,this._y=this._y*t,this._z=this._z*t,this._w=this._w*t),this._onChangeCallback(),this}multiply(t){return this.multiplyQuaternions(this,t)}premultiply(t){return this.multiplyQuaternions(t,this)}multiplyQuaternions(t,e){const n=t._x,r=t._y,i=t._z,a=t._w,o=e._x,s=e._y,A=e._z,l=e._w;return this._x=n*l+a*o+r*A-i*s,this._y=r*l+a*s+i*o-n*A,this._z=i*l+a*A+n*s-r*o,this._w=a*l-n*o-r*s-i*A,this._onChangeCallback(),this}slerp(t,e){if(0===e)return this;if(1===e)return this.copy(t);const n=this._x,r=this._y,i=this._z,a=this._w;let o=a*t._w+n*t._x+r*t._y+i*t._z;if(o<0?(this._w=-t._w,this._x=-t._x,this._y=-t._y,this._z=-t._z,o=-o):this.copy(t),o>=1)return this._w=a,this._x=n,this._y=r,this._z=i,this;const s=1-o*o;if(s<=Number.EPSILON){const t=1-e;return this._w=t*a+e*this._w,this._x=t*n+e*this._x,this._y=t*r+e*this._y,this._z=t*i+e*this._z,this.normalize(),this}const A=Math.sqrt(s),l=Math.atan2(A,o),c=Math.sin((1-e)*l)/A,u=Math.sin(e*l)/A;return this._w=a*c+this._w*u,this._x=n*c+this._x*u,this._y=r*c+this._y*u,this._z=i*c+this._z*u,this._onChangeCallback(),this}slerpQuaternions(t,e,n){return this.copy(t).slerp(e,n)}random(){const t=Math.random(),e=Math.sqrt(1-t),n=Math.sqrt(t),r=2*Math.PI*Math.random(),i=2*Math.PI*Math.random();return this.set(e*Math.cos(r),n*Math.sin(i),n*Math.cos(i),e*Math.sin(r))}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._w===this._w}fromArray(t,e=0){return this._x=t[e],this._y=t[e+1],this._z=t[e+2],this._w=t[e+3],this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,t}fromBufferAttribute(t,e){return this._x=t.getX(e),this._y=t.getY(e),this._z=t.getZ(e),this._w=t.getW(e),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class ae{constructor(t=0,e=0,n=0){ae.prototype.isVector3=!0,this.x=t,this.y=e,this.z=n}set(t,e,n){return void 0===n&&(n=this.z),this.x=t,this.y=e,this.z=n,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}add(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this}multiply(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this}multiplyVectors(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this}applyEuler(t){return this.applyQuaternion(se.setFromEuler(t))}applyAxisAngle(t,e){return this.applyQuaternion(se.setFromAxisAngle(t,e))}applyMatrix3(t){const e=this.x,n=this.y,r=this.z,i=t.elements;return this.x=i[0]*e+i[3]*n+i[6]*r,this.y=i[1]*e+i[4]*n+i[7]*r,this.z=i[2]*e+i[5]*n+i[8]*r,this}applyNormalMatrix(t){return this.applyMatrix3(t).normalize()}applyMatrix4(t){const e=this.x,n=this.y,r=this.z,i=t.elements,a=1/(i[3]*e+i[7]*n+i[11]*r+i[15]);return this.x=(i[0]*e+i[4]*n+i[8]*r+i[12])*a,this.y=(i[1]*e+i[5]*n+i[9]*r+i[13])*a,this.z=(i[2]*e+i[6]*n+i[10]*r+i[14])*a,this}applyQuaternion(t){const e=this.x,n=this.y,r=this.z,i=t.x,a=t.y,o=t.z,s=t.w,A=2*(a*r-o*n),l=2*(o*e-i*r),c=2*(i*n-a*e);return this.x=e+s*A+a*c-o*l,this.y=n+s*l+o*A-i*c,this.z=r+s*c+i*l-a*A,this}project(t){return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)}unproject(t){return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld)}transformDirection(t){const e=this.x,n=this.y,r=this.z,i=t.elements;return this.x=i[0]*e+i[4]*n+i[8]*r,this.y=i[1]*e+i[5]*n+i[9]*r,this.z=i[2]*e+i[6]*n+i[10]*r,this.normalize()}divide(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this}divideScalar(t){return this.multiplyScalar(1/t)}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this.z=Math.max(t.z,Math.min(e.z,this.z)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this.z=Math.max(t,Math.min(e,this.z)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this.z=t.z+(e.z-t.z)*n,this}cross(t){return this.crossVectors(this,t)}crossVectors(t,e){const n=t.x,r=t.y,i=t.z,a=e.x,o=e.y,s=e.z;return this.x=r*s-i*o,this.y=i*a-n*s,this.z=n*o-r*a,this}projectOnVector(t){const e=t.lengthSq();if(0===e)return this.set(0,0,0);const n=t.dot(this)/e;return this.copy(t).multiplyScalar(n)}projectOnPlane(t){return oe.copy(this).projectOnVector(t),this.sub(oe)}reflect(t){return this.sub(oe.copy(t).multiplyScalar(2*this.dot(t)))}angleTo(t){const e=Math.sqrt(this.lengthSq()*t.lengthSq());if(0===e)return Math.PI/2;const n=this.dot(t)/e;return Math.acos(Mt(n,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,n=this.y-t.y,r=this.z-t.z;return e*e+n*n+r*r}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)}setFromSpherical(t){return this.setFromSphericalCoords(t.radius,t.phi,t.theta)}setFromSphericalCoords(t,e,n){const r=Math.sin(e)*t;return this.x=r*Math.sin(n),this.y=Math.cos(e)*t,this.z=r*Math.cos(n),this}setFromCylindrical(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)}setFromCylindricalCoords(t,e,n){return this.x=t*Math.sin(e),this.y=n,this.z=t*Math.cos(e),this}setFromMatrixPosition(t){const e=t.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this}setFromMatrixScale(t){const e=this.setFromMatrixColumn(t,0).length(),n=this.setFromMatrixColumn(t,1).length(),r=this.setFromMatrixColumn(t,2).length();return this.x=e,this.y=n,this.z=r,this}setFromMatrixColumn(t,e){return this.fromArray(t.elements,4*e)}setFromMatrix3Column(t,e){return this.fromArray(t.elements,3*e)}setFromEuler(t){return this.x=t._x,this.y=t._y,this.z=t._z,this}setFromColor(t){return this.x=t.r,this.y=t.g,this.z=t.b,this}equals(t){return t.x===this.x&&t.y===this.y&&t.z===this.z}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const t=2*(Math.random()-.5),e=Math.random()*Math.PI*2,n=Math.sqrt(1-t**2);return this.x=n*Math.cos(e),this.y=n*Math.sin(e),this.z=t,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const oe=new ae,se=new ie;class Ae{constructor(t=new ae(1/0,1/0,1/0),e=new ae(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=t,this.max=e}set(t,e){return this.min.copy(t),this.max.copy(e),this}setFromArray(t){this.makeEmpty();for(let e=0,n=t.length;ethis.max.x||t.ythis.max.y||t.zthis.max.z)}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y&&this.min.z<=t.min.z&&t.max.z<=this.max.z}getParameter(t,e){return e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y),(t.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(t){return!(t.max.xthis.max.x||t.max.ythis.max.y||t.max.zthis.max.z)}intersectsSphere(t){return this.clampPoint(t.center,ce),ce.distanceToSquared(t.center)<=t.radius*t.radius}intersectsPlane(t){let e,n;return t.normal.x>0?(e=t.normal.x*this.min.x,n=t.normal.x*this.max.x):(e=t.normal.x*this.max.x,n=t.normal.x*this.min.x),t.normal.y>0?(e+=t.normal.y*this.min.y,n+=t.normal.y*this.max.y):(e+=t.normal.y*this.max.y,n+=t.normal.y*this.min.y),t.normal.z>0?(e+=t.normal.z*this.min.z,n+=t.normal.z*this.max.z):(e+=t.normal.z*this.max.z,n+=t.normal.z*this.min.z),e<=-t.constant&&n>=-t.constant}intersectsTriangle(t){if(this.isEmpty())return!1;this.getCenter(ve),_e.subVectors(this.max,ve),he.subVectors(t.a,ve),de.subVectors(t.b,ve),fe.subVectors(t.c,ve),pe.subVectors(de,he),me.subVectors(fe,de),ge.subVectors(he,fe);let e=[0,-pe.z,pe.y,0,-me.z,me.y,0,-ge.z,ge.y,pe.z,0,-pe.x,me.z,0,-me.x,ge.z,0,-ge.x,-pe.y,pe.x,0,-me.y,me.x,0,-ge.y,ge.x,0];return!!be(e,he,de,fe,_e)&&(e=[1,0,0,0,1,0,0,0,1],!!be(e,he,de,fe,_e)&&(ye.crossVectors(pe,me),e=[ye.x,ye.y,ye.z],be(e,he,de,fe,_e)))}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return this.clampPoint(t,ce).distanceTo(t)}getBoundingSphere(t){return this.isEmpty()?t.makeEmpty():(this.getCenter(t.center),t.radius=.5*this.getSize(ce).length()),t}intersect(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}applyMatrix4(t){return this.isEmpty()||(le[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(t),le[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(t),le[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(t),le[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(t),le[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(t),le[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(t),le[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(t),le[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(t),this.setFromPoints(le)),this}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}const le=[new ae,new ae,new ae,new ae,new ae,new ae,new ae,new ae],ce=new ae,ue=new Ae,he=new ae,de=new ae,fe=new ae,pe=new ae,me=new ae,ge=new ae,ve=new ae,_e=new ae,ye=new ae,xe=new ae;function be(t,e,n,r,i){for(let a=0,o=t.length-3;a<=o;a+=3){xe.fromArray(t,a);const o=i.x*Math.abs(xe.x)+i.y*Math.abs(xe.y)+i.z*Math.abs(xe.z),s=e.dot(xe),A=n.dot(xe),l=r.dot(xe);if(Math.max(-Math.max(s,A,l),Math.min(s,A,l))>o)return!1}return!0}const Me=new Ae,we=new ae,Ee=new ae;class Se{constructor(t=new ae,e=-1){this.isSphere=!0,this.center=t,this.radius=e}set(t,e){return this.center.copy(t),this.radius=e,this}setFromPoints(t,e){const n=this.center;void 0!==e?n.copy(e):Me.setFromPoints(t).getCenter(n);let r=0;for(let e=0,i=t.length;ethis.radius*this.radius&&(e.sub(this.center).normalize(),e.multiplyScalar(this.radius).add(this.center)),e}getBoundingBox(t){return this.isEmpty()?(t.makeEmpty(),t):(t.set(this.center,this.center),t.expandByScalar(this.radius),t)}applyMatrix4(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this}translate(t){return this.center.add(t),this}expandByPoint(t){if(this.isEmpty())return this.center.copy(t),this.radius=0,this;we.subVectors(t,this.center);const e=we.lengthSq();if(e>this.radius*this.radius){const t=Math.sqrt(e),n=.5*(t-this.radius);this.center.addScaledVector(we,n/t),this.radius+=n}return this}union(t){return t.isEmpty()?this:this.isEmpty()?(this.copy(t),this):(!0===this.center.equals(t.center)?this.radius=Math.max(this.radius,t.radius):(Ee.subVectors(t.center,this.center).setLength(t.radius),this.expandByPoint(we.copy(t.center).add(Ee)),this.expandByPoint(we.copy(t.center).sub(Ee))),this)}equals(t){return t.center.equals(this.center)&&t.radius===this.radius}clone(){return(new this.constructor).copy(this)}}const Te=new ae,Ce=new ae,Re=new ae,Pe=new ae,Le=new ae,De=new ae,Oe=new ae;class Ie{constructor(t=new ae,e=new ae(0,0,-1)){this.origin=t,this.direction=e}set(t,e){return this.origin.copy(t),this.direction.copy(e),this}copy(t){return this.origin.copy(t.origin),this.direction.copy(t.direction),this}at(t,e){return e.copy(this.origin).addScaledVector(this.direction,t)}lookAt(t){return this.direction.copy(t).sub(this.origin).normalize(),this}recast(t){return this.origin.copy(this.at(t,Te)),this}closestPointToPoint(t,e){e.subVectors(t,this.origin);const n=e.dot(this.direction);return n<0?e.copy(this.origin):e.copy(this.origin).addScaledVector(this.direction,n)}distanceToPoint(t){return Math.sqrt(this.distanceSqToPoint(t))}distanceSqToPoint(t){const e=Te.subVectors(t,this.origin).dot(this.direction);return e<0?this.origin.distanceToSquared(t):(Te.copy(this.origin).addScaledVector(this.direction,e),Te.distanceToSquared(t))}distanceSqToSegment(t,e,n,r){Ce.copy(t).add(e).multiplyScalar(.5),Re.copy(e).sub(t).normalize(),Pe.copy(this.origin).sub(Ce);const i=.5*t.distanceTo(e),a=-this.direction.dot(Re),o=Pe.dot(this.direction),s=-Pe.dot(Re),A=Pe.lengthSq(),l=Math.abs(1-a*a);let c,u,h,d;if(l>0)if(c=a*s-o,u=a*o-s,d=i*l,c>=0)if(u>=-d)if(u<=d){const t=1/l;c*=t,u*=t,h=c*(c+a*u+2*o)+u*(a*c+u+2*s)+A}else u=i,c=Math.max(0,-(a*u+o)),h=-c*c+u*(u+2*s)+A;else u=-i,c=Math.max(0,-(a*u+o)),h=-c*c+u*(u+2*s)+A;else u<=-d?(c=Math.max(0,-(-a*i+o)),u=c>0?-i:Math.min(Math.max(-i,-s),i),h=-c*c+u*(u+2*s)+A):u<=d?(c=0,u=Math.min(Math.max(-i,-s),i),h=u*(u+2*s)+A):(c=Math.max(0,-(a*i+o)),u=c>0?i:Math.min(Math.max(-i,-s),i),h=-c*c+u*(u+2*s)+A);else u=a>0?-i:i,c=Math.max(0,-(a*u+o)),h=-c*c+u*(u+2*s)+A;return n&&n.copy(this.origin).addScaledVector(this.direction,c),r&&r.copy(Ce).addScaledVector(Re,u),h}intersectSphere(t,e){Te.subVectors(t.center,this.origin);const n=Te.dot(this.direction),r=Te.dot(Te)-n*n,i=t.radius*t.radius;if(r>i)return null;const a=Math.sqrt(i-r),o=n-a,s=n+a;return s<0?null:o<0?this.at(s,e):this.at(o,e)}intersectsSphere(t){return this.distanceSqToPoint(t.center)<=t.radius*t.radius}distanceToPlane(t){const e=t.normal.dot(this.direction);if(0===e)return 0===t.distanceToPoint(this.origin)?0:null;const n=-(this.origin.dot(t.normal)+t.constant)/e;return n>=0?n:null}intersectPlane(t,e){const n=this.distanceToPlane(t);return null===n?null:this.at(n,e)}intersectsPlane(t){const e=t.distanceToPoint(this.origin);if(0===e)return!0;return t.normal.dot(this.direction)*e<0}intersectBox(t,e){let n,r,i,a,o,s;const A=1/this.direction.x,l=1/this.direction.y,c=1/this.direction.z,u=this.origin;return A>=0?(n=(t.min.x-u.x)*A,r=(t.max.x-u.x)*A):(n=(t.max.x-u.x)*A,r=(t.min.x-u.x)*A),l>=0?(i=(t.min.y-u.y)*l,a=(t.max.y-u.y)*l):(i=(t.max.y-u.y)*l,a=(t.min.y-u.y)*l),n>a||i>r?null:((i>n||isNaN(n))&&(n=i),(a=0?(o=(t.min.z-u.z)*c,s=(t.max.z-u.z)*c):(o=(t.max.z-u.z)*c,s=(t.min.z-u.z)*c),n>s||o>r?null:((o>n||n!=n)&&(n=o),(s=0?n:r,e)))}intersectsBox(t){return null!==this.intersectBox(t,Te)}intersectTriangle(t,e,n,r,i){Le.subVectors(e,t),De.subVectors(n,t),Oe.crossVectors(Le,De);let a,o=this.direction.dot(Oe);if(o>0){if(r)return null;a=1}else{if(!(o<0))return null;a=-1,o=-o}Pe.subVectors(this.origin,t);const s=a*this.direction.dot(De.crossVectors(Pe,De));if(s<0)return null;const A=a*this.direction.dot(Le.cross(Pe));if(A<0)return null;if(s+A>o)return null;const l=-a*Pe.dot(Oe);return l<0?null:this.at(l/o,i)}applyMatrix4(t){return this.origin.applyMatrix4(t),this.direction.transformDirection(t),this}equals(t){return t.origin.equals(this.origin)&&t.direction.equals(this.direction)}clone(){return(new this.constructor).copy(this)}}class qe{constructor(t,e,n,r,i,a,o,s,A,l,c,u,h,d,f,p){qe.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],void 0!==t&&this.set(t,e,n,r,i,a,o,s,A,l,c,u,h,d,f,p)}set(t,e,n,r,i,a,o,s,A,l,c,u,h,d,f,p){const m=this.elements;return m[0]=t,m[4]=e,m[8]=n,m[12]=r,m[1]=i,m[5]=a,m[9]=o,m[13]=s,m[2]=A,m[6]=l,m[10]=c,m[14]=u,m[3]=h,m[7]=d,m[11]=f,m[15]=p,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return(new qe).fromArray(this.elements)}copy(t){const e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],e[9]=n[9],e[10]=n[10],e[11]=n[11],e[12]=n[12],e[13]=n[13],e[14]=n[14],e[15]=n[15],this}copyPosition(t){const e=this.elements,n=t.elements;return e[12]=n[12],e[13]=n[13],e[14]=n[14],this}setFromMatrix3(t){const e=t.elements;return this.set(e[0],e[3],e[6],0,e[1],e[4],e[7],0,e[2],e[5],e[8],0,0,0,0,1),this}extractBasis(t,e,n){return t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(t,e,n){return this.set(t.x,e.x,n.x,0,t.y,e.y,n.y,0,t.z,e.z,n.z,0,0,0,0,1),this}extractRotation(t){const e=this.elements,n=t.elements,r=1/Ue.setFromMatrixColumn(t,0).length(),i=1/Ue.setFromMatrixColumn(t,1).length(),a=1/Ue.setFromMatrixColumn(t,2).length();return e[0]=n[0]*r,e[1]=n[1]*r,e[2]=n[2]*r,e[3]=0,e[4]=n[4]*i,e[5]=n[5]*i,e[6]=n[6]*i,e[7]=0,e[8]=n[8]*a,e[9]=n[9]*a,e[10]=n[10]*a,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromEuler(t){const e=this.elements,n=t.x,r=t.y,i=t.z,a=Math.cos(n),o=Math.sin(n),s=Math.cos(r),A=Math.sin(r),l=Math.cos(i),c=Math.sin(i);if("XYZ"===t.order){const t=a*l,n=a*c,r=o*l,i=o*c;e[0]=s*l,e[4]=-s*c,e[8]=A,e[1]=n+r*A,e[5]=t-i*A,e[9]=-o*s,e[2]=i-t*A,e[6]=r+n*A,e[10]=a*s}else if("YXZ"===t.order){const t=s*l,n=s*c,r=A*l,i=A*c;e[0]=t+i*o,e[4]=r*o-n,e[8]=a*A,e[1]=a*c,e[5]=a*l,e[9]=-o,e[2]=n*o-r,e[6]=i+t*o,e[10]=a*s}else if("ZXY"===t.order){const t=s*l,n=s*c,r=A*l,i=A*c;e[0]=t-i*o,e[4]=-a*c,e[8]=r+n*o,e[1]=n+r*o,e[5]=a*l,e[9]=i-t*o,e[2]=-a*A,e[6]=o,e[10]=a*s}else if("ZYX"===t.order){const t=a*l,n=a*c,r=o*l,i=o*c;e[0]=s*l,e[4]=r*A-n,e[8]=t*A+i,e[1]=s*c,e[5]=i*A+t,e[9]=n*A-r,e[2]=-A,e[6]=o*s,e[10]=a*s}else if("YZX"===t.order){const t=a*s,n=a*A,r=o*s,i=o*A;e[0]=s*l,e[4]=i-t*c,e[8]=r*c+n,e[1]=c,e[5]=a*l,e[9]=-o*l,e[2]=-A*l,e[6]=n*c+r,e[10]=t-i*c}else if("XZY"===t.order){const t=a*s,n=a*A,r=o*s,i=o*A;e[0]=s*l,e[4]=-c,e[8]=A*l,e[1]=t*c+i,e[5]=a*l,e[9]=n*c-r,e[2]=r*c-n,e[6]=o*l,e[10]=i*c+t}return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromQuaternion(t){return this.compose(Be,t,ke)}lookAt(t,e,n){const r=this.elements;return Ge.subVectors(t,e),0===Ge.lengthSq()&&(Ge.z=1),Ge.normalize(),Fe.crossVectors(n,Ge),0===Fe.lengthSq()&&(1===Math.abs(n.z)?Ge.x+=1e-4:Ge.z+=1e-4,Ge.normalize(),Fe.crossVectors(n,Ge)),Fe.normalize(),ze.crossVectors(Ge,Fe),r[0]=Fe.x,r[4]=ze.x,r[8]=Ge.x,r[1]=Fe.y,r[5]=ze.y,r[9]=Ge.y,r[2]=Fe.z,r[6]=ze.z,r[10]=Ge.z,this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const n=t.elements,r=e.elements,i=this.elements,a=n[0],o=n[4],s=n[8],A=n[12],l=n[1],c=n[5],u=n[9],h=n[13],d=n[2],f=n[6],p=n[10],m=n[14],g=n[3],v=n[7],_=n[11],y=n[15],x=r[0],b=r[4],M=r[8],w=r[12],E=r[1],S=r[5],T=r[9],C=r[13],R=r[2],P=r[6],L=r[10],D=r[14],O=r[3],I=r[7],q=r[11],U=r[15];return i[0]=a*x+o*E+s*R+A*O,i[4]=a*b+o*S+s*P+A*I,i[8]=a*M+o*T+s*L+A*q,i[12]=a*w+o*C+s*D+A*U,i[1]=l*x+c*E+u*R+h*O,i[5]=l*b+c*S+u*P+h*I,i[9]=l*M+c*T+u*L+h*q,i[13]=l*w+c*C+u*D+h*U,i[2]=d*x+f*E+p*R+m*O,i[6]=d*b+f*S+p*P+m*I,i[10]=d*M+f*T+p*L+m*q,i[14]=d*w+f*C+p*D+m*U,i[3]=g*x+v*E+_*R+y*O,i[7]=g*b+v*S+_*P+y*I,i[11]=g*M+v*T+_*L+y*q,i[15]=g*w+v*C+_*D+y*U,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this}determinant(){const t=this.elements,e=t[0],n=t[4],r=t[8],i=t[12],a=t[1],o=t[5],s=t[9],A=t[13],l=t[2],c=t[6],u=t[10],h=t[14];return t[3]*(+i*s*c-r*A*c-i*o*u+n*A*u+r*o*h-n*s*h)+t[7]*(+e*s*h-e*A*u+i*a*u-r*a*h+r*A*l-i*s*l)+t[11]*(+e*A*c-e*o*h-i*a*c+n*a*h+i*o*l-n*A*l)+t[15]*(-r*o*l-e*s*c+e*o*u+r*a*c-n*a*u+n*s*l)}transpose(){const t=this.elements;let e;return e=t[1],t[1]=t[4],t[4]=e,e=t[2],t[2]=t[8],t[8]=e,e=t[6],t[6]=t[9],t[9]=e,e=t[3],t[3]=t[12],t[12]=e,e=t[7],t[7]=t[13],t[13]=e,e=t[11],t[11]=t[14],t[14]=e,this}setPosition(t,e,n){const r=this.elements;return t.isVector3?(r[12]=t.x,r[13]=t.y,r[14]=t.z):(r[12]=t,r[13]=e,r[14]=n),this}invert(){const t=this.elements,e=t[0],n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],A=t[7],l=t[8],c=t[9],u=t[10],h=t[11],d=t[12],f=t[13],p=t[14],m=t[15],g=c*p*A-f*u*A+f*s*h-o*p*h-c*s*m+o*u*m,v=d*u*A-l*p*A-d*s*h+a*p*h+l*s*m-a*u*m,_=l*f*A-d*c*A+d*o*h-a*f*h-l*o*m+a*c*m,y=d*c*s-l*f*s-d*o*u+a*f*u+l*o*p-a*c*p,x=e*g+n*v+r*_+i*y;if(0===x)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const b=1/x;return t[0]=g*b,t[1]=(f*u*i-c*p*i-f*r*h+n*p*h+c*r*m-n*u*m)*b,t[2]=(o*p*i-f*s*i+f*r*A-n*p*A-o*r*m+n*s*m)*b,t[3]=(c*s*i-o*u*i-c*r*A+n*u*A+o*r*h-n*s*h)*b,t[4]=v*b,t[5]=(l*p*i-d*u*i+d*r*h-e*p*h-l*r*m+e*u*m)*b,t[6]=(d*s*i-a*p*i-d*r*A+e*p*A+a*r*m-e*s*m)*b,t[7]=(a*u*i-l*s*i+l*r*A-e*u*A-a*r*h+e*s*h)*b,t[8]=_*b,t[9]=(d*c*i-l*f*i-d*n*h+e*f*h+l*n*m-e*c*m)*b,t[10]=(a*f*i-d*o*i+d*n*A-e*f*A-a*n*m+e*o*m)*b,t[11]=(l*o*i-a*c*i-l*n*A+e*c*A+a*n*h-e*o*h)*b,t[12]=y*b,t[13]=(l*f*r-d*c*r+d*n*u-e*f*u-l*n*p+e*c*p)*b,t[14]=(d*o*r-a*f*r-d*n*s+e*f*s+a*n*p-e*o*p)*b,t[15]=(a*c*r-l*o*r+l*n*s-e*c*s-a*n*u+e*o*u)*b,this}scale(t){const e=this.elements,n=t.x,r=t.y,i=t.z;return e[0]*=n,e[4]*=r,e[8]*=i,e[1]*=n,e[5]*=r,e[9]*=i,e[2]*=n,e[6]*=r,e[10]*=i,e[3]*=n,e[7]*=r,e[11]*=i,this}getMaxScaleOnAxis(){const t=this.elements,e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],n=t[4]*t[4]+t[5]*t[5]+t[6]*t[6],r=t[8]*t[8]+t[9]*t[9]+t[10]*t[10];return Math.sqrt(Math.max(e,n,r))}makeTranslation(t,e,n){return t.isVector3?this.set(1,0,0,t.x,0,1,0,t.y,0,0,1,t.z,0,0,0,1):this.set(1,0,0,t,0,1,0,e,0,0,1,n,0,0,0,1),this}makeRotationX(t){const e=Math.cos(t),n=Math.sin(t);return this.set(1,0,0,0,0,e,-n,0,0,n,e,0,0,0,0,1),this}makeRotationY(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,0,n,0,0,1,0,0,-n,0,e,0,0,0,0,1),this}makeRotationZ(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,-n,0,0,n,e,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(t,e){const n=Math.cos(e),r=Math.sin(e),i=1-n,a=t.x,o=t.y,s=t.z,A=i*a,l=i*o;return this.set(A*a+n,A*o-r*s,A*s+r*o,0,A*o+r*s,l*o+n,l*s-r*a,0,A*s-r*o,l*s+r*a,i*s*s+n,0,0,0,0,1),this}makeScale(t,e,n){return this.set(t,0,0,0,0,e,0,0,0,0,n,0,0,0,0,1),this}makeShear(t,e,n,r,i,a){return this.set(1,n,i,0,t,1,a,0,e,r,1,0,0,0,0,1),this}compose(t,e,n){const r=this.elements,i=e._x,a=e._y,o=e._z,s=e._w,A=i+i,l=a+a,c=o+o,u=i*A,h=i*l,d=i*c,f=a*l,p=a*c,m=o*c,g=s*A,v=s*l,_=s*c,y=n.x,x=n.y,b=n.z;return r[0]=(1-(f+m))*y,r[1]=(h+_)*y,r[2]=(d-v)*y,r[3]=0,r[4]=(h-_)*x,r[5]=(1-(u+m))*x,r[6]=(p+g)*x,r[7]=0,r[8]=(d+v)*b,r[9]=(p-g)*b,r[10]=(1-(u+f))*b,r[11]=0,r[12]=t.x,r[13]=t.y,r[14]=t.z,r[15]=1,this}decompose(t,e,n){const r=this.elements;let i=Ue.set(r[0],r[1],r[2]).length();const a=Ue.set(r[4],r[5],r[6]).length(),o=Ue.set(r[8],r[9],r[10]).length();this.determinant()<0&&(i=-i),t.x=r[12],t.y=r[13],t.z=r[14],Ne.copy(this);const s=1/i,A=1/a,l=1/o;return Ne.elements[0]*=s,Ne.elements[1]*=s,Ne.elements[2]*=s,Ne.elements[4]*=A,Ne.elements[5]*=A,Ne.elements[6]*=A,Ne.elements[8]*=l,Ne.elements[9]*=l,Ne.elements[10]*=l,e.setFromRotationMatrix(Ne),n.x=i,n.y=a,n.z=o,this}makePerspective(t,e,n,r,i,a,o=2e3){const s=this.elements,A=2*i/(e-t),l=2*i/(n-r),c=(e+t)/(e-t),u=(n+r)/(n-r);let h,d;if(o===pt)h=-(a+i)/(a-i),d=-2*a*i/(a-i);else{if(o!==mt)throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+o);h=-a/(a-i),d=-a*i/(a-i)}return s[0]=A,s[4]=0,s[8]=c,s[12]=0,s[1]=0,s[5]=l,s[9]=u,s[13]=0,s[2]=0,s[6]=0,s[10]=h,s[14]=d,s[3]=0,s[7]=0,s[11]=-1,s[15]=0,this}makeOrthographic(t,e,n,r,i,a,o=2e3){const s=this.elements,A=1/(e-t),l=1/(n-r),c=1/(a-i),u=(e+t)*A,h=(n+r)*l;let d,f;if(o===pt)d=(a+i)*c,f=-2*c;else{if(o!==mt)throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+o);d=i*c,f=-1*c}return s[0]=2*A,s[4]=0,s[8]=0,s[12]=-u,s[1]=0,s[5]=2*l,s[9]=0,s[13]=-h,s[2]=0,s[6]=0,s[10]=f,s[14]=-d,s[3]=0,s[7]=0,s[11]=0,s[15]=1,this}equals(t){const e=this.elements,n=t.elements;for(let t=0;t<16;t++)if(e[t]!==n[t])return!1;return!0}fromArray(t,e=0){for(let n=0;n<16;n++)this.elements[n]=t[n+e];return this}toArray(t=[],e=0){const n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t[e+9]=n[9],t[e+10]=n[10],t[e+11]=n[11],t[e+12]=n[12],t[e+13]=n[13],t[e+14]=n[14],t[e+15]=n[15],t}}const Ue=new ae,Ne=new qe,Be=new ae(0,0,0),ke=new ae(1,1,1),Fe=new ae,ze=new ae,Ge=new ae,He=new qe,je=new ie;class Ve{constructor(t=0,e=0,n=0,r=Ve.DEFAULT_ORDER){this.isEuler=!0,this._x=t,this._y=e,this._z=n,this._order=r}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get order(){return this._order}set order(t){this._order=t,this._onChangeCallback()}set(t,e,n,r=this._order){return this._x=t,this._y=e,this._z=n,this._order=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(t){return this._x=t._x,this._y=t._y,this._z=t._z,this._order=t._order,this._onChangeCallback(),this}setFromRotationMatrix(t,e=this._order,n=!0){const r=t.elements,i=r[0],a=r[4],o=r[8],s=r[1],A=r[5],l=r[9],c=r[2],u=r[6],h=r[10];switch(e){case"XYZ":this._y=Math.asin(Mt(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-l,h),this._z=Math.atan2(-a,i)):(this._x=Math.atan2(u,A),this._z=0);break;case"YXZ":this._x=Math.asin(-Mt(l,-1,1)),Math.abs(l)<.9999999?(this._y=Math.atan2(o,h),this._z=Math.atan2(s,A)):(this._y=Math.atan2(-c,i),this._z=0);break;case"ZXY":this._x=Math.asin(Mt(u,-1,1)),Math.abs(u)<.9999999?(this._y=Math.atan2(-c,h),this._z=Math.atan2(-a,A)):(this._y=0,this._z=Math.atan2(s,i));break;case"ZYX":this._y=Math.asin(-Mt(c,-1,1)),Math.abs(c)<.9999999?(this._x=Math.atan2(u,h),this._z=Math.atan2(s,i)):(this._x=0,this._z=Math.atan2(-a,A));break;case"YZX":this._z=Math.asin(Mt(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(-l,A),this._y=Math.atan2(-c,i)):(this._x=0,this._y=Math.atan2(o,h));break;case"XZY":this._z=Math.asin(-Mt(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(u,A),this._y=Math.atan2(o,i)):(this._x=Math.atan2(-l,h),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+e)}return this._order=e,!0===n&&this._onChangeCallback(),this}setFromQuaternion(t,e,n){return He.makeRotationFromQuaternion(t),this.setFromRotationMatrix(He,e,n)}setFromVector3(t,e=this._order){return this.set(t.x,t.y,t.z,e)}reorder(t){return je.setFromEuler(this),this.setFromQuaternion(je,t)}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._order===this._order}fromArray(t){return this._x=t[0],this._y=t[1],this._z=t[2],void 0!==t[3]&&(this._order=t[3]),this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._order,t}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}Ve.DEFAULT_ORDER="XYZ";class We{constructor(){this.mask=1}set(t){this.mask=(1<>>0}enable(t){this.mask|=1<1){for(let t=0;t1){for(let t=0;t0&&(r.userData=this.userData),r.layers=this.layers.mask,r.matrix=this.matrix.toArray(),r.up=this.up.toArray(),!1===this.matrixAutoUpdate&&(r.matrixAutoUpdate=!1),this.isInstancedMesh&&(r.type="InstancedMesh",r.count=this.count,r.instanceMatrix=this.instanceMatrix.toJSON(),null!==this.instanceColor&&(r.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(r.type="BatchedMesh",r.perObjectFrustumCulled=this.perObjectFrustumCulled,r.sortObjects=this.sortObjects,r.drawRanges=this._drawRanges,r.reservedRanges=this._reservedRanges,r.visibility=this._visibility,r.active=this._active,r.bounds=this._bounds.map((t=>({boxInitialized:t.boxInitialized,boxMin:t.box.min.toArray(),boxMax:t.box.max.toArray(),sphereInitialized:t.sphereInitialized,sphereRadius:t.sphere.radius,sphereCenter:t.sphere.center.toArray()}))),r.maxGeometryCount=this._maxGeometryCount,r.maxVertexCount=this._maxVertexCount,r.maxIndexCount=this._maxIndexCount,r.geometryInitialized=this._geometryInitialized,r.geometryCount=this._geometryCount,r.matricesTexture=this._matricesTexture.toJSON(t),null!==this.boundingSphere&&(r.boundingSphere={center:r.boundingSphere.center.toArray(),radius:r.boundingSphere.radius}),null!==this.boundingBox&&(r.boundingBox={min:r.boundingBox.min.toArray(),max:r.boundingBox.max.toArray()})),this.isScene)this.background&&(this.background.isColor?r.background=this.background.toJSON():this.background.isTexture&&(r.background=this.background.toJSON(t).uuid)),this.environment&&this.environment.isTexture&&!0!==this.environment.isRenderTargetTexture&&(r.environment=this.environment.toJSON(t).uuid);else if(this.isMesh||this.isLine||this.isPoints){r.geometry=i(t.geometries,this.geometry);const e=this.geometry.parameters;if(void 0!==e&&void 0!==e.shapes){const n=e.shapes;if(Array.isArray(n))for(let e=0,r=n.length;e0){r.children=[];for(let e=0;e0){r.animations=[];for(let e=0;e0&&(n.geometries=e),r.length>0&&(n.materials=r),i.length>0&&(n.textures=i),o.length>0&&(n.images=o),s.length>0&&(n.shapes=s),A.length>0&&(n.skeletons=A),l.length>0&&(n.animations=l),c.length>0&&(n.nodes=c)}return n.object=r,n;function a(t){const e=[];for(const n in t){const r=t[n];delete r.metadata,e.push(r)}return e}}clone(t){return(new this.constructor).copy(this,t)}copy(t,e=!0){if(this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),this.rotation.order=t.rotation.order,this.quaternion.copy(t.quaternion),this.scale.copy(t.scale),this.matrix.copy(t.matrix),this.matrixWorld.copy(t.matrixWorld),this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrixWorldAutoUpdate=t.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate,this.layers.mask=t.layers.mask,this.visible=t.visible,this.castShadow=t.castShadow,this.receiveShadow=t.receiveShadow,this.frustumCulled=t.frustumCulled,this.renderOrder=t.renderOrder,this.animations=t.animations.slice(),this.userData=JSON.parse(JSON.stringify(t.userData)),!0===e)for(let e=0;e0?r.multiplyScalar(1/Math.sqrt(i)):r.set(0,0,0)}static getBarycoord(t,e,n,r,i){An.subVectors(r,e),ln.subVectors(n,e),cn.subVectors(t,e);const a=An.dot(An),o=An.dot(ln),s=An.dot(cn),A=ln.dot(ln),l=ln.dot(cn),c=a*A-o*o;if(0===c)return i.set(0,0,0),null;const u=1/c,h=(A*s-o*l)*u,d=(a*l-o*s)*u;return i.set(1-h-d,d,h)}static containsPoint(t,e,n,r){return null!==this.getBarycoord(t,e,n,r,un)&&(un.x>=0&&un.y>=0&&un.x+un.y<=1)}static getInterpolation(t,e,n,r,i,a,o,s){return null===this.getBarycoord(t,e,n,r,un)?(s.x=0,s.y=0,"z"in s&&(s.z=0),"w"in s&&(s.w=0),null):(s.setScalar(0),s.addScaledVector(i,un.x),s.addScaledVector(a,un.y),s.addScaledVector(o,un.z),s)}static isFrontFacing(t,e,n,r){return An.subVectors(n,e),ln.subVectors(t,e),An.cross(ln).dot(r)<0}set(t,e,n){return this.a.copy(t),this.b.copy(e),this.c.copy(n),this}setFromPointsAndIndices(t,e,n,r){return this.a.copy(t[e]),this.b.copy(t[n]),this.c.copy(t[r]),this}setFromAttributeAndIndices(t,e,n,r){return this.a.fromBufferAttribute(t,e),this.b.fromBufferAttribute(t,n),this.c.fromBufferAttribute(t,r),this}clone(){return(new this.constructor).copy(this)}copy(t){return this.a.copy(t.a),this.b.copy(t.b),this.c.copy(t.c),this}getArea(){return An.subVectors(this.c,this.b),ln.subVectors(this.a,this.b),.5*An.cross(ln).length()}getMidpoint(t){return t.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(t){return vn.getNormal(this.a,this.b,this.c,t)}getPlane(t){return t.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(t,e){return vn.getBarycoord(t,this.a,this.b,this.c,e)}getInterpolation(t,e,n,r,i){return vn.getInterpolation(t,this.a,this.b,this.c,e,n,r,i)}containsPoint(t){return vn.containsPoint(t,this.a,this.b,this.c)}isFrontFacing(t){return vn.isFrontFacing(this.a,this.b,this.c,t)}intersectsBox(t){return t.intersectsTriangle(this)}closestPointToPoint(t,e){const n=this.a,r=this.b,i=this.c;let a,o;hn.subVectors(r,n),dn.subVectors(i,n),pn.subVectors(t,n);const s=hn.dot(pn),A=dn.dot(pn);if(s<=0&&A<=0)return e.copy(n);mn.subVectors(t,r);const l=hn.dot(mn),c=dn.dot(mn);if(l>=0&&c<=l)return e.copy(r);const u=s*c-l*A;if(u<=0&&s>=0&&l<=0)return a=s/(s-l),e.copy(n).addScaledVector(hn,a);gn.subVectors(t,i);const h=hn.dot(gn),d=dn.dot(gn);if(d>=0&&h<=d)return e.copy(i);const f=h*A-s*d;if(f<=0&&A>=0&&d<=0)return o=A/(A-d),e.copy(n).addScaledVector(dn,o);const p=l*d-h*c;if(p<=0&&c-l>=0&&h-d>=0)return fn.subVectors(i,r),o=(c-l)/(c-l+(h-d)),e.copy(r).addScaledVector(fn,o);const m=1/(p+f+u);return a=f*m,o=u*m,e.copy(n).addScaledVector(hn,a).addScaledVector(dn,o)}equals(t){return t.a.equals(this.a)&&t.b.equals(this.b)&&t.c.equals(this.c)}}const _n={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},yn={h:0,s:0,l:0},xn={h:0,s:0,l:0};function bn(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+6*(e-t)*(2/3-n):t}let Mn=class{constructor(t,e,n){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(t,e,n)}set(t,e,n){if(void 0===e&&void 0===n){const e=t;e&&e.isColor?this.copy(e):"number"==typeof e?this.setHex(e):"string"==typeof e&&this.setStyle(e)}else this.setRGB(t,e,n);return this}setScalar(t){return this.r=t,this.g=t,this.b=t,this}setHex(t,e=rt){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(255&t)/255,Ht.toWorkingColorSpace(this,e),this}setRGB(t,e,n,r=Ht.workingColorSpace){return this.r=t,this.g=e,this.b=n,Ht.toWorkingColorSpace(this,r),this}setHSL(t,e,n,r=Ht.workingColorSpace){if(t=wt(t,1),e=Mt(e,0,1),n=Mt(n,0,1),0===e)this.r=this.g=this.b=n;else{const r=n<=.5?n*(1+e):n+e-n*e,i=2*n-r;this.r=bn(i,r,t+1/3),this.g=bn(i,r,t),this.b=bn(i,r,t-1/3)}return Ht.toWorkingColorSpace(this,r),this}setStyle(t,e=rt){function n(e){void 0!==e&&parseFloat(e)<1&&console.warn("THREE.Color: Alpha component of "+t+" will be ignored.")}let r;if(r=/^(\w+)\(([^\)]*)\)/.exec(t)){let i;const a=r[1],o=r[2];switch(a){case"rgb":case"rgba":if(i=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return n(i[4]),this.setRGB(Math.min(255,parseInt(i[1],10))/255,Math.min(255,parseInt(i[2],10))/255,Math.min(255,parseInt(i[3],10))/255,e);if(i=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return n(i[4]),this.setRGB(Math.min(100,parseInt(i[1],10))/100,Math.min(100,parseInt(i[2],10))/100,Math.min(100,parseInt(i[3],10))/100,e);break;case"hsl":case"hsla":if(i=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return n(i[4]),this.setHSL(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,e);break;default:console.warn("THREE.Color: Unknown color model "+t)}}else if(r=/^\#([A-Fa-f\d]+)$/.exec(t)){const n=r[1],i=n.length;if(3===i)return this.setRGB(parseInt(n.charAt(0),16)/15,parseInt(n.charAt(1),16)/15,parseInt(n.charAt(2),16)/15,e);if(6===i)return this.setHex(parseInt(n,16),e);console.warn("THREE.Color: Invalid hex color "+t)}else if(t&&t.length>0)return this.setColorName(t,e);return this}setColorName(t,e=rt){const n=_n[t.toLowerCase()];return void 0!==n?this.setHex(n,e):console.warn("THREE.Color: Unknown color "+t),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(t){return this.r=t.r,this.g=t.g,this.b=t.b,this}copySRGBToLinear(t){return this.r=jt(t.r),this.g=jt(t.g),this.b=jt(t.b),this}copyLinearToSRGB(t){return this.r=Vt(t.r),this.g=Vt(t.g),this.b=Vt(t.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(t=rt){return Ht.fromWorkingColorSpace(wn.copy(this),t),65536*Math.round(Mt(255*wn.r,0,255))+256*Math.round(Mt(255*wn.g,0,255))+Math.round(Mt(255*wn.b,0,255))}getHexString(t=rt){return("000000"+this.getHex(t).toString(16)).slice(-6)}getHSL(t,e=Ht.workingColorSpace){Ht.fromWorkingColorSpace(wn.copy(this),e);const n=wn.r,r=wn.g,i=wn.b,a=Math.max(n,r,i),o=Math.min(n,r,i);let s,A;const l=(o+a)/2;if(o===a)s=0,A=0;else{const t=a-o;switch(A=l<=.5?t/(a+o):t/(2-a-o),a){case n:s=(r-i)/t+(r0!=t>0&&this.version++,this._alphaTest=t}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(t){if(void 0!==t)for(const e in t){const n=t[e];if(void 0===n){console.warn(`THREE.Material: parameter '${e}' has value of undefined.`);continue}const r=this[e];void 0!==r?r&&r.isColor?r.set(n):r&&r.isVector3&&n&&n.isVector3?r.copy(n):this[e]=n:console.warn(`THREE.Material: '${e}' is not a property of THREE.${this.type}.`)}}toJSON(t){const e=void 0===t||"string"==typeof t;e&&(t={textures:{},images:{}});const n={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};function r(t){const e=[];for(const n in t){const r=t[n];delete r.metadata,e.push(r)}return e}if(n.uuid=this.uuid,n.type=this.type,""!==this.name&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),void 0!==this.roughness&&(n.roughness=this.roughness),void 0!==this.metalness&&(n.metalness=this.metalness),void 0!==this.sheen&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),void 0!==this.sheenRoughness&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity&&1!==this.emissiveIntensity&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),void 0!==this.specularIntensity&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),void 0!==this.shininess&&(n.shininess=this.shininess),void 0!==this.clearcoat&&(n.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(t).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(t).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(t).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),void 0!==this.iridescence&&(n.iridescence=this.iridescence),void 0!==this.iridescenceIOR&&(n.iridescenceIOR=this.iridescenceIOR),void 0!==this.iridescenceThicknessRange&&(n.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(n.iridescenceMap=this.iridescenceMap.toJSON(t).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(n.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(t).uuid),void 0!==this.anisotropy&&(n.anisotropy=this.anisotropy),void 0!==this.anisotropyRotation&&(n.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(n.anisotropyMap=this.anisotropyMap.toJSON(t).uuid),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(t).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(t).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(t).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(t).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(t).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(t).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(t).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(t).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(t).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(t).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(t).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(t).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(t).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(t).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(t).uuid,void 0!==this.combine&&(n.combine=this.combine)),void 0!==this.envMapIntensity&&(n.envMapIntensity=this.envMapIntensity),void 0!==this.reflectivity&&(n.reflectivity=this.reflectivity),void 0!==this.refractionRatio&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(t).uuid),void 0!==this.transmission&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(t).uuid),void 0!==this.thickness&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(t).uuid),void 0!==this.attenuationDistance&&this.attenuationDistance!==1/0&&(n.attenuationDistance=this.attenuationDistance),void 0!==this.attenuationColor&&(n.attenuationColor=this.attenuationColor.getHex()),void 0!==this.size&&(n.size=this.size),null!==this.shadowSide&&(n.shadowSide=this.shadowSide),void 0!==this.sizeAttenuation&&(n.sizeAttenuation=this.sizeAttenuation),1!==this.blending&&(n.blending=this.blending),this.side!==m&&(n.side=this.side),!0===this.vertexColors&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),!0===this.transparent&&(n.transparent=!0),204!==this.blendSrc&&(n.blendSrc=this.blendSrc),205!==this.blendDst&&(n.blendDst=this.blendDst),this.blendEquation!==v&&(n.blendEquation=this.blendEquation),null!==this.blendSrcAlpha&&(n.blendSrcAlpha=this.blendSrcAlpha),null!==this.blendDstAlpha&&(n.blendDstAlpha=this.blendDstAlpha),null!==this.blendEquationAlpha&&(n.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(n.blendColor=this.blendColor.getHex()),0!==this.blendAlpha&&(n.blendAlpha=this.blendAlpha),3!==this.depthFunc&&(n.depthFunc=this.depthFunc),!1===this.depthTest&&(n.depthTest=this.depthTest),!1===this.depthWrite&&(n.depthWrite=this.depthWrite),!1===this.colorWrite&&(n.colorWrite=this.colorWrite),255!==this.stencilWriteMask&&(n.stencilWriteMask=this.stencilWriteMask),519!==this.stencilFunc&&(n.stencilFunc=this.stencilFunc),0!==this.stencilRef&&(n.stencilRef=this.stencilRef),255!==this.stencilFuncMask&&(n.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==ut&&(n.stencilFail=this.stencilFail),this.stencilZFail!==ut&&(n.stencilZFail=this.stencilZFail),this.stencilZPass!==ut&&(n.stencilZPass=this.stencilZPass),!0===this.stencilWrite&&(n.stencilWrite=this.stencilWrite),void 0!==this.rotation&&0!==this.rotation&&(n.rotation=this.rotation),!0===this.polygonOffset&&(n.polygonOffset=!0),0!==this.polygonOffsetFactor&&(n.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(n.polygonOffsetUnits=this.polygonOffsetUnits),void 0!==this.linewidth&&1!==this.linewidth&&(n.linewidth=this.linewidth),void 0!==this.dashSize&&(n.dashSize=this.dashSize),void 0!==this.gapSize&&(n.gapSize=this.gapSize),void 0!==this.scale&&(n.scale=this.scale),!0===this.dithering&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),!0===this.alphaHash&&(n.alphaHash=!0),!0===this.alphaToCoverage&&(n.alphaToCoverage=!0),!0===this.premultipliedAlpha&&(n.premultipliedAlpha=!0),!0===this.forceSinglePass&&(n.forceSinglePass=!0),!0===this.wireframe&&(n.wireframe=!0),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(n.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(n.wireframeLinejoin=this.wireframeLinejoin),!0===this.flatShading&&(n.flatShading=!0),!1===this.visible&&(n.visible=!1),!1===this.toneMapped&&(n.toneMapped=!1),!1===this.fog&&(n.fog=!1),Object.keys(this.userData).length>0&&(n.userData=this.userData),e){const e=r(t.textures),i=r(t.images);e.length>0&&(n.textures=e),i.length>0&&(n.images=i)}return n}clone(){return(new this.constructor).copy(this)}copy(t){this.name=t.name,this.blending=t.blending,this.side=t.side,this.vertexColors=t.vertexColors,this.opacity=t.opacity,this.transparent=t.transparent,this.blendSrc=t.blendSrc,this.blendDst=t.blendDst,this.blendEquation=t.blendEquation,this.blendSrcAlpha=t.blendSrcAlpha,this.blendDstAlpha=t.blendDstAlpha,this.blendEquationAlpha=t.blendEquationAlpha,this.blendColor.copy(t.blendColor),this.blendAlpha=t.blendAlpha,this.depthFunc=t.depthFunc,this.depthTest=t.depthTest,this.depthWrite=t.depthWrite,this.stencilWriteMask=t.stencilWriteMask,this.stencilFunc=t.stencilFunc,this.stencilRef=t.stencilRef,this.stencilFuncMask=t.stencilFuncMask,this.stencilFail=t.stencilFail,this.stencilZFail=t.stencilZFail,this.stencilZPass=t.stencilZPass,this.stencilWrite=t.stencilWrite;const e=t.clippingPlanes;let n=null;if(null!==e){const t=e.length;n=new Array(t);for(let r=0;r!==t;++r)n[r]=e[r].clone()}return this.clippingPlanes=n,this.clipIntersection=t.clipIntersection,this.clipShadows=t.clipShadows,this.shadowSide=t.shadowSide,this.colorWrite=t.colorWrite,this.precision=t.precision,this.polygonOffset=t.polygonOffset,this.polygonOffsetFactor=t.polygonOffsetFactor,this.polygonOffsetUnits=t.polygonOffsetUnits,this.dithering=t.dithering,this.alphaTest=t.alphaTest,this.alphaHash=t.alphaHash,this.alphaToCoverage=t.alphaToCoverage,this.premultipliedAlpha=t.premultipliedAlpha,this.forceSinglePass=t.forceSinglePass,this.visible=t.visible,this.toneMapped=t.toneMapped,this.userData=JSON.parse(JSON.stringify(t.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(t){!0===t&&this.version++}}class Tn extends Sn{constructor(t){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new Mn(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=_,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.fog=t.fog,this}}const Cn=new ae,Rn=new Lt;class Pn{constructor(t,e,n=!1){if(Array.isArray(t))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=t,this.itemSize=e,this.count=void 0!==t?t.length/e:0,this.normalized=n,this.usage=ht,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=j,this.version=0}onUploadCallback(){}set needsUpdate(t){!0===t&&this.version++}get updateRange(){return Bt("THREE.BufferAttribute: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(t){return this.usage=t,this}addUpdateRange(t,e){this.updateRanges.push({start:t,count:e})}clearUpdateRanges(){this.updateRanges.length=0}copy(t){return this.name=t.name,this.array=new t.array.constructor(t.array),this.itemSize=t.itemSize,this.count=t.count,this.normalized=t.normalized,this.usage=t.usage,this.gpuType=t.gpuType,this}copyAt(t,e,n){t*=this.itemSize,n*=e.itemSize;for(let r=0,i=this.itemSize;r0&&(t.userData=this.userData),void 0!==this.parameters){const e=this.parameters;for(const n in e)void 0!==e[n]&&(t[n]=e[n]);return t}t.data={attributes:{}};const e=this.index;null!==e&&(t.data.index={type:e.array.constructor.name,array:Array.prototype.slice.call(e.array)});const n=this.attributes;for(const e in n){const r=n[e];t.data.attributes[e]=r.toJSON(t.data)}const r={};let i=!1;for(const e in this.morphAttributes){const n=this.morphAttributes[e],a=[];for(let e=0,r=n.length;e0&&(r[e]=a,i=!0)}i&&(t.data.morphAttributes=r,t.data.morphTargetsRelative=this.morphTargetsRelative);const a=this.groups;a.length>0&&(t.data.groups=JSON.parse(JSON.stringify(a)));const o=this.boundingSphere;return null!==o&&(t.data.boundingSphere={center:o.center.toArray(),radius:o.radius}),t}clone(){return(new this.constructor).copy(this)}copy(t){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const e={};this.name=t.name;const n=t.index;null!==n&&this.setIndex(n.clone(e));const r=t.attributes;for(const t in r){const n=r[t];this.setAttribute(t,n.clone(e))}const i=t.morphAttributes;for(const t in i){const n=[],r=i[t];for(let t=0,i=r.length;t0){const n=t[e[0]];if(void 0!==n){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let t=0,e=n.length;t(t.far-t.near)**2)return}Gn.copy(i).invert(),Hn.copy(t.ray).applyMatrix4(Gn),null!==n.boundingBox&&!1===Hn.intersectsBox(n.boundingBox)||this._computeIntersections(t,e,Hn)}}_computeIntersections(t,e,n){let r;const i=this.geometry,a=this.material,o=i.index,s=i.attributes.position,A=i.attributes.uv,l=i.attributes.uv1,c=i.attributes.normal,u=i.groups,h=i.drawRange;if(null!==o)if(Array.isArray(a))for(let i=0,s=u.length;in.far?null:{distance:l,point:ir.clone(),object:t}}(t,e,n,r,Wn,Xn,Qn,rr);if(c){i&&(Kn.fromBufferAttribute(i,s),Jn.fromBufferAttribute(i,A),$n.fromBufferAttribute(i,l),c.uv=vn.getInterpolation(rr,Wn,Xn,Qn,Kn,Jn,$n,new Lt)),a&&(Kn.fromBufferAttribute(a,s),Jn.fromBufferAttribute(a,A),$n.fromBufferAttribute(a,l),c.uv1=vn.getInterpolation(rr,Wn,Xn,Qn,Kn,Jn,$n,new Lt),c.uv2=c.uv1),o&&(tr.fromBufferAttribute(o,s),er.fromBufferAttribute(o,A),nr.fromBufferAttribute(o,l),c.normal=vn.getInterpolation(rr,Wn,Xn,Qn,tr,er,nr,new ae),c.normal.dot(r.direction)>0&&c.normal.multiplyScalar(-1));const t={a:s,b:A,c:l,normal:new ae,materialIndex:0};vn.getNormal(Wn,Xn,Qn,t.normal),c.face=t}return c}class sr extends zn{constructor(t=1,e=1,n=1,r=1,i=1,a=1){super(),this.type="BoxGeometry",this.parameters={width:t,height:e,depth:n,widthSegments:r,heightSegments:i,depthSegments:a};const o=this;r=Math.floor(r),i=Math.floor(i),a=Math.floor(a);const s=[],A=[],l=[],c=[];let u=0,h=0;function d(t,e,n,r,i,a,d,f,p,m,g){const v=a/p,_=d/m,y=a/2,x=d/2,b=f/2,M=p+1,w=m+1;let E=0,S=0;const T=new ae;for(let a=0;a0?1:-1,l.push(T.x,T.y,T.z),c.push(s/p),c.push(1-a/m),E+=1}}for(let t=0;t0&&(e.defines=this.defines),e.vertexShader=this.vertexShader,e.fragmentShader=this.fragmentShader,e.lights=this.lights,e.clipping=this.clipping;const n={};for(const t in this.extensions)!0===this.extensions[t]&&(n[t]=!0);return Object.keys(n).length>0&&(e.extensions=n),e}}class dr extends sn{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new qe,this.projectionMatrix=new qe,this.projectionMatrixInverse=new qe,this.coordinateSystem=pt}copy(t,e){return super.copy(t,e),this.matrixWorldInverse.copy(t.matrixWorldInverse),this.projectionMatrix.copy(t.projectionMatrix),this.projectionMatrixInverse.copy(t.projectionMatrixInverse),this.coordinateSystem=t.coordinateSystem,this}getWorldDirection(t){return super.getWorldDirection(t).negate()}updateMatrixWorld(t){super.updateMatrixWorld(t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(t,e){super.updateWorldMatrix(t,e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return(new this.constructor).copy(this)}}const fr=new ae,pr=new Lt,mr=new Lt;class gr extends dr{constructor(t=50,e=1,n=.1,r=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=t,this.zoom=1,this.near=n,this.far=r,this.focus=10,this.aspect=e,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(t,e){return super.copy(t,e),this.fov=t.fov,this.zoom=t.zoom,this.near=t.near,this.far=t.far,this.focus=t.focus,this.aspect=t.aspect,this.view=null===t.view?null:Object.assign({},t.view),this.filmGauge=t.filmGauge,this.filmOffset=t.filmOffset,this}setFocalLength(t){const e=.5*this.getFilmHeight()/t;this.fov=2*xt*Math.atan(e),this.updateProjectionMatrix()}getFocalLength(){const t=Math.tan(.5*yt*this.fov);return.5*this.getFilmHeight()/t}getEffectiveFOV(){return 2*xt*Math.atan(Math.tan(.5*yt*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(t,e,n){fr.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),e.set(fr.x,fr.y).multiplyScalar(-t/fr.z),fr.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),n.set(fr.x,fr.y).multiplyScalar(-t/fr.z)}getViewSize(t,e){return this.getViewBounds(t,pr,mr),e.subVectors(mr,pr)}setViewOffset(t,e,n,r,i,a){this.aspect=t/e,null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=n,this.view.offsetY=r,this.view.width=i,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const t=this.near;let e=t*Math.tan(.5*yt*this.fov)/this.zoom,n=2*e,r=this.aspect*n,i=-.5*r;const a=this.view;if(null!==this.view&&this.view.enabled){const t=a.fullWidth,o=a.fullHeight;i+=a.offsetX*r/t,e-=a.offsetY*n/o,r*=a.width/t,n*=a.height/o}const o=this.filmOffset;0!==o&&(i+=t*o/this.getFilmWidth()),this.projectionMatrix.makePerspective(i,i+r,e,e-n,t,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){const e=super.toJSON(t);return e.object.fov=this.fov,e.object.zoom=this.zoom,e.object.near=this.near,e.object.far=this.far,e.object.focus=this.focus,e.object.aspect=this.aspect,null!==this.view&&(e.object.view=Object.assign({},this.view)),e.object.filmGauge=this.filmGauge,e.object.filmOffset=this.filmOffset,e}}const vr=-90;class _r extends sn{constructor(t,e,n){super(),this.type="CubeCamera",this.renderTarget=n,this.coordinateSystem=null,this.activeMipmapLevel=0;const r=new gr(vr,1,t,e);r.layers=this.layers,this.add(r);const i=new gr(vr,1,t,e);i.layers=this.layers,this.add(i);const a=new gr(vr,1,t,e);a.layers=this.layers,this.add(a);const o=new gr(vr,1,t,e);o.layers=this.layers,this.add(o);const s=new gr(vr,1,t,e);s.layers=this.layers,this.add(s);const A=new gr(vr,1,t,e);A.layers=this.layers,this.add(A)}updateCoordinateSystem(){const t=this.coordinateSystem,e=this.children.concat(),[n,r,i,a,o,s]=e;for(const t of e)this.remove(t);if(t===pt)n.up.set(0,1,0),n.lookAt(1,0,0),r.up.set(0,1,0),r.lookAt(-1,0,0),i.up.set(0,0,-1),i.lookAt(0,1,0),a.up.set(0,0,1),a.lookAt(0,-1,0),o.up.set(0,1,0),o.lookAt(0,0,1),s.up.set(0,1,0),s.lookAt(0,0,-1);else{if(t!==mt)throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+t);n.up.set(0,-1,0),n.lookAt(-1,0,0),r.up.set(0,-1,0),r.lookAt(1,0,0),i.up.set(0,0,1),i.lookAt(0,1,0),a.up.set(0,0,-1),a.lookAt(0,-1,0),o.up.set(0,-1,0),o.lookAt(0,0,1),s.up.set(0,-1,0),s.lookAt(0,0,-1)}for(const t of e)this.add(t),t.updateMatrixWorld()}update(t,e){null===this.parent&&this.updateMatrixWorld();const{renderTarget:n,activeMipmapLevel:r}=this;this.coordinateSystem!==t.coordinateSystem&&(this.coordinateSystem=t.coordinateSystem,this.updateCoordinateSystem());const[i,a,o,s,A,l]=this.children,c=t.getRenderTarget(),u=t.getActiveCubeFace(),h=t.getActiveMipmapLevel(),d=t.xr.enabled;t.xr.enabled=!1;const f=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,t.setRenderTarget(n,0,r),t.render(e,i),t.setRenderTarget(n,1,r),t.render(e,a),t.setRenderTarget(n,2,r),t.render(e,o),t.setRenderTarget(n,3,r),t.render(e,s),t.setRenderTarget(n,4,r),t.render(e,A),n.texture.generateMipmaps=f,t.setRenderTarget(n,5,r),t.render(e,l),t.setRenderTarget(c,u,h),t.xr.enabled=d,n.texture.needsPMREMUpdate=!0}}class yr extends Jt{constructor(t,e,n,r,i,a,o,s,A,l){super(t=void 0!==t?t:[],e=void 0!==e?e:R,n,r,i,a,o,s,A,l),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(t){this.image=t}}class xr extends ee{constructor(t=1,e={}){super(t,t,e),this.isWebGLCubeRenderTarget=!0;const n={width:t,height:t,depth:1},r=[n,n,n,n,n,n];void 0!==e.encoding&&(Bt("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),e.colorSpace=e.encoding===et?rt:nt),this.texture=new yr(r,e.mapping,e.wrapS,e.wrapT,e.magFilter,e.minFilter,e.format,e.type,e.anisotropy,e.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=void 0!==e.generateMipmaps&&e.generateMipmaps,this.texture.minFilter=void 0!==e.minFilter?e.minFilter:N}fromEquirectangularTexture(t,e){this.texture.type=e.type,this.texture.colorSpace=e.colorSpace,this.texture.generateMipmaps=e.generateMipmaps,this.texture.minFilter=e.minFilter,this.texture.magFilter=e.magFilter;const n={uniforms:{tEquirect:{value:null}},vertexShader:"\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include \n\t\t\t\t\t#include \n\n\t\t\t\t}\n\t\t\t",fragmentShader:"\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include \n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t"},r=new sr(5,5,5),i=new hr({name:"CubemapFromEquirect",uniforms:Ar(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:g,blending:0});i.uniforms.tEquirect.value=e;const a=new ar(r,i),o=e.minFilter;e.minFilter===k&&(e.minFilter=N);return new _r(1,10,this).update(t,a),e.minFilter=o,a.geometry.dispose(),a.material.dispose(),this}clear(t,e,n,r){const i=t.getRenderTarget();for(let i=0;i<6;i++)t.setRenderTarget(this,i),t.clear(e,n,r);t.setRenderTarget(i)}}const br=new ae,Mr=new ae,wr=new Dt;class Er{constructor(t=new ae(1,0,0),e=0){this.isPlane=!0,this.normal=t,this.constant=e}set(t,e){return this.normal.copy(t),this.constant=e,this}setComponents(t,e,n,r){return this.normal.set(t,e,n),this.constant=r,this}setFromNormalAndCoplanarPoint(t,e){return this.normal.copy(t),this.constant=-e.dot(this.normal),this}setFromCoplanarPoints(t,e,n){const r=br.subVectors(n,e).cross(Mr.subVectors(t,e)).normalize();return this.setFromNormalAndCoplanarPoint(r,t),this}copy(t){return this.normal.copy(t.normal),this.constant=t.constant,this}normalize(){const t=1/this.normal.length();return this.normal.multiplyScalar(t),this.constant*=t,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(t){return this.normal.dot(t)+this.constant}distanceToSphere(t){return this.distanceToPoint(t.center)-t.radius}projectPoint(t,e){return e.copy(t).addScaledVector(this.normal,-this.distanceToPoint(t))}intersectLine(t,e){const n=t.delta(br),r=this.normal.dot(n);if(0===r)return 0===this.distanceToPoint(t.start)?e.copy(t.start):null;const i=-(t.start.dot(this.normal)+this.constant)/r;return i<0||i>1?null:e.copy(t.start).addScaledVector(n,i)}intersectsLine(t){const e=this.distanceToPoint(t.start),n=this.distanceToPoint(t.end);return e<0&&n>0||n<0&&e>0}intersectsBox(t){return t.intersectsPlane(this)}intersectsSphere(t){return t.intersectsPlane(this)}coplanarPoint(t){return t.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(t,e){const n=e||wr.getNormalMatrix(t),r=this.coplanarPoint(br).applyMatrix4(t),i=this.normal.applyMatrix3(n).normalize();return this.constant=-r.dot(i),this}translate(t){return this.constant-=t.dot(this.normal),this}equals(t){return t.normal.equals(this.normal)&&t.constant===this.constant}clone(){return(new this.constructor).copy(this)}}const Sr=new Se,Tr=new ae;class Cr{constructor(t=new Er,e=new Er,n=new Er,r=new Er,i=new Er,a=new Er){this.planes=[t,e,n,r,i,a]}set(t,e,n,r,i,a){const o=this.planes;return o[0].copy(t),o[1].copy(e),o[2].copy(n),o[3].copy(r),o[4].copy(i),o[5].copy(a),this}copy(t){const e=this.planes;for(let n=0;n<6;n++)e[n].copy(t.planes[n]);return this}setFromProjectionMatrix(t,e=2e3){const n=this.planes,r=t.elements,i=r[0],a=r[1],o=r[2],s=r[3],A=r[4],l=r[5],c=r[6],u=r[7],h=r[8],d=r[9],f=r[10],p=r[11],m=r[12],g=r[13],v=r[14],_=r[15];if(n[0].setComponents(s-i,u-A,p-h,_-m).normalize(),n[1].setComponents(s+i,u+A,p+h,_+m).normalize(),n[2].setComponents(s+a,u+l,p+d,_+g).normalize(),n[3].setComponents(s-a,u-l,p-d,_-g).normalize(),n[4].setComponents(s-o,u-c,p-f,_-v).normalize(),e===pt)n[5].setComponents(s+o,u+c,p+f,_+v).normalize();else{if(e!==mt)throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+e);n[5].setComponents(o,c,f,v).normalize()}return this}intersectsObject(t){if(void 0!==t.boundingSphere)null===t.boundingSphere&&t.computeBoundingSphere(),Sr.copy(t.boundingSphere).applyMatrix4(t.matrixWorld);else{const e=t.geometry;null===e.boundingSphere&&e.computeBoundingSphere(),Sr.copy(e.boundingSphere).applyMatrix4(t.matrixWorld)}return this.intersectsSphere(Sr)}intersectsSprite(t){return Sr.center.set(0,0,0),Sr.radius=.7071067811865476,Sr.applyMatrix4(t.matrixWorld),this.intersectsSphere(Sr)}intersectsSphere(t){const e=this.planes,n=t.center,r=-t.radius;for(let t=0;t<6;t++){if(e[t].distanceToPoint(n)0?t.max.x:t.min.x,Tr.y=r.normal.y>0?t.max.y:t.min.y,Tr.z=r.normal.z>0?t.max.z:t.min.z,r.distanceToPoint(Tr)<0)return!1}return!0}containsPoint(t){const e=this.planes;for(let n=0;n<6;n++)if(e[n].distanceToPoint(t)<0)return!1;return!0}clone(){return(new this.constructor).copy(this)}}function Rr(){let t=null,e=!1,n=null,r=null;function i(e,a){n(e,a),r=t.requestAnimationFrame(i)}return{start:function(){!0!==e&&null!==n&&(r=t.requestAnimationFrame(i),e=!0)},stop:function(){t.cancelAnimationFrame(r),e=!1},setAnimationLoop:function(t){n=t},setContext:function(e){t=e}}}function Pr(t,e){const n=e.isWebGL2,r=new WeakMap;return{get:function(t){return t.isInterleavedBufferAttribute&&(t=t.data),r.get(t)},remove:function(e){e.isInterleavedBufferAttribute&&(e=e.data);const n=r.get(e);n&&(t.deleteBuffer(n.buffer),r.delete(e))},update:function(e,i){if(e.isGLBufferAttribute){const t=r.get(e);return void((!t||t.version 0\n\tvec4 plane;\n\t#ifdef ALPHA_TO_COVERAGE\n\t\tfloat distanceToPlane, distanceGradient;\n\t\tfloat clipOpacity = 1.0;\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tdistanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w;\n\t\t\tdistanceGradient = fwidth( distanceToPlane ) / 2.0;\n\t\t\tclipOpacity *= smoothstep( - distanceGradient, distanceGradient, distanceToPlane );\n\t\t\tif ( clipOpacity == 0.0 ) discard;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\t\tfloat unionClipOpacity = 1.0;\n\t\t\t#pragma unroll_loop_start\n\t\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\t\tplane = clippingPlanes[ i ];\n\t\t\t\tdistanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w;\n\t\t\t\tdistanceGradient = fwidth( distanceToPlane ) / 2.0;\n\t\t\t\tunionClipOpacity *= 1.0 - smoothstep( - distanceGradient, distanceGradient, distanceToPlane );\n\t\t\t}\n\t\t\t#pragma unroll_loop_end\n\t\t\tclipOpacity *= 1.0 - unionClipOpacity;\n\t\t#endif\n\t\tdiffuseColor.a *= clipOpacity;\n\t\tif ( diffuseColor.a == 0.0 ) discard;\n\t#else\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\t\tbool clipped = true;\n\t\t\t#pragma unroll_loop_start\n\t\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\t\tplane = clippingPlanes[ i ];\n\t\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t\t}\n\t\t\t#pragma unroll_loop_end\n\t\t\tif ( clipped ) discard;\n\t\t#endif\n\t#endif\n#endif",clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n#endif",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvClipPosition = - mvPosition.xyz;\n#endif",color_fragment:"#if defined( USE_COLOR_ALPHA )\n\tdiffuseColor *= vColor;\n#elif defined( USE_COLOR )\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR )\n\tvarying vec3 vColor;\n#endif",color_pars_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvarying vec3 vColor;\n#endif",color_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvColor = vec4( 1.0 );\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvColor = vec3( 1.0 );\n#endif\n#ifdef USE_COLOR\n\tvColor *= color;\n#endif\n#ifdef USE_INSTANCING_COLOR\n\tvColor.xyz *= instanceColor.xyz;\n#endif",common:"#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nvec3 pow2( const in vec3 x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\nfloat average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract( sin( sn ) * c );\n}\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\n#ifdef USE_ALPHAHASH\n\tvarying vec3 vPosition;\n#endif\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat luminance( const in vec3 rgb ) {\n\tconst vec3 weights = vec3( 0.2126729, 0.7151522, 0.0721750 );\n\treturn dot( weights, rgb );\n}\nbool isPerspectiveMatrix( mat4 m ) {\n\treturn m[ 2 ][ 3 ] == - 1.0;\n}\nvec2 equirectUv( in vec3 dir ) {\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\treturn vec2( u, v );\n}\nvec3 BRDF_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) {\n\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n}\nfloat F_Schlick( const in float f0, const in float f90, const in float dotVH ) {\n\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n} // validated",cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n\t#define cubeUV_minMipLevel 4.0\n\t#define cubeUV_minTileSize 16.0\n\tfloat getFace( vec3 direction ) {\n\t\tvec3 absDirection = abs( direction );\n\t\tfloat face = - 1.0;\n\t\tif ( absDirection.x > absDirection.z ) {\n\t\t\tif ( absDirection.x > absDirection.y )\n\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t} else {\n\t\t\tif ( absDirection.z > absDirection.y )\n\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t}\n\t\treturn face;\n\t}\n\tvec2 getUV( vec3 direction, float face ) {\n\t\tvec2 uv;\n\t\tif ( face == 0.0 ) {\n\t\t\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 1.0 ) {\n\t\t\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\n\t\t} else if ( face == 2.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\n\t\t} else if ( face == 3.0 ) {\n\t\t\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 4.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\n\t\t} else {\n\t\t\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\n\t\t}\n\t\treturn 0.5 * ( uv + 1.0 );\n\t}\n\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n\t\tfloat face = getFace( direction );\n\t\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n\t\tmipInt = max( mipInt, cubeUV_minMipLevel );\n\t\tfloat faceSize = exp2( mipInt );\n\t\thighp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0;\n\t\tif ( face > 2.0 ) {\n\t\t\tuv.y += faceSize;\n\t\t\tface -= 3.0;\n\t\t}\n\t\tuv.x += face * faceSize;\n\t\tuv.x += filterInt * 3.0 * cubeUV_minTileSize;\n\t\tuv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize );\n\t\tuv.x *= CUBEUV_TEXEL_WIDTH;\n\t\tuv.y *= CUBEUV_TEXEL_HEIGHT;\n\t\t#ifdef texture2DGradEXT\n\t\t\treturn texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb;\n\t\t#else\n\t\t\treturn texture2D( envMap, uv ).rgb;\n\t\t#endif\n\t}\n\t#define cubeUV_r0 1.0\n\t#define cubeUV_m0 - 2.0\n\t#define cubeUV_r1 0.8\n\t#define cubeUV_m1 - 1.0\n\t#define cubeUV_r4 0.4\n\t#define cubeUV_m4 2.0\n\t#define cubeUV_r5 0.305\n\t#define cubeUV_m5 3.0\n\t#define cubeUV_r6 0.21\n\t#define cubeUV_m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= cubeUV_r1 ) {\n\t\t\tmip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0;\n\t\t} else if ( roughness >= cubeUV_r4 ) {\n\t\t\tmip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1;\n\t\t} else if ( roughness >= cubeUV_r5 ) {\n\t\t\tmip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4;\n\t\t} else if ( roughness >= cubeUV_r6 ) {\n\t\t\tmip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5;\n\t\t} else {\n\t\t\tmip = - 2.0 * log2( 1.16 * roughness );\t\t}\n\t\treturn mip;\n\t}\n\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n\t\tfloat mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP );\n\t\tfloat mipF = fract( mip );\n\t\tfloat mipInt = floor( mip );\n\t\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n\t\tif ( mipF == 0.0 ) {\n\t\t\treturn vec4( color0, 1.0 );\n\t\t} else {\n\t\t\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n\t\t\treturn vec4( mix( color0, color1, mipF ), 1.0 );\n\t\t}\n\t}\n#endif",defaultnormal_vertex:"vec3 transformedNormal = objectNormal;\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = objectTangent;\n#endif\n#ifdef USE_BATCHING\n\tmat3 bm = mat3( batchingMatrix );\n\ttransformedNormal /= vec3( dot( bm[ 0 ], bm[ 0 ] ), dot( bm[ 1 ], bm[ 1 ] ), dot( bm[ 2 ], bm[ 2 ] ) );\n\ttransformedNormal = bm * transformedNormal;\n\t#ifdef USE_TANGENT\n\t\ttransformedTangent = bm * transformedTangent;\n\t#endif\n#endif\n#ifdef USE_INSTANCING\n\tmat3 im = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( im[ 0 ], im[ 0 ] ), dot( im[ 1 ], im[ 1 ] ), dot( im[ 2 ], im[ 2 ] ) );\n\ttransformedNormal = im * transformedNormal;\n\t#ifdef USE_TANGENT\n\t\ttransformedTangent = im * transformedTangent;\n\t#endif\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\ttransformedTangent = ( modelViewMatrix * vec4( transformedTangent, 0.0 ) ).xyz;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif",displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias );\n#endif",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv );\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif",colorspace_fragment:"gl_FragColor = linearToOutputTexel( gl_FragColor );",colorspace_pars_fragment:"\nconst mat3 LINEAR_SRGB_TO_LINEAR_DISPLAY_P3 = mat3(\n\tvec3( 0.8224621, 0.177538, 0.0 ),\n\tvec3( 0.0331941, 0.9668058, 0.0 ),\n\tvec3( 0.0170827, 0.0723974, 0.9105199 )\n);\nconst mat3 LINEAR_DISPLAY_P3_TO_LINEAR_SRGB = mat3(\n\tvec3( 1.2249401, - 0.2249404, 0.0 ),\n\tvec3( - 0.0420569, 1.0420571, 0.0 ),\n\tvec3( - 0.0196376, - 0.0786361, 1.0982735 )\n);\nvec4 LinearSRGBToLinearDisplayP3( in vec4 value ) {\n\treturn vec4( value.rgb * LINEAR_SRGB_TO_LINEAR_DISPLAY_P3, value.a );\n}\nvec4 LinearDisplayP3ToLinearSRGB( in vec4 value ) {\n\treturn vec4( value.rgb * LINEAR_DISPLAY_P3_TO_LINEAR_SRGB, value.a );\n}\nvec4 LinearTransferOETF( in vec4 value ) {\n\treturn value;\n}\nvec4 sRGBTransferOETF( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn sRGBTransferOETF( value );\n}",envmap_fragment:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvec3 cameraToFrag;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif",envmap_common_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\t\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float reflectivity;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif",envmap_physical_pars_fragment:"#ifdef USE_ENVMAP\n\tvec3 getIBLIrradiance( const in vec3 normal ) {\n\t\t#ifdef ENVMAP_TYPE_CUBE_UV\n\t\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\n\t\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n\tvec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\n\t\t#ifdef ENVMAP_TYPE_CUBE_UV\n\t\t\tvec3 reflectVec = reflect( - viewDir, normal );\n\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n\t\t\treturn envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n\t#ifdef USE_ANISOTROPY\n\t\tvec3 getIBLAnisotropyRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in vec3 bitangent, const in float anisotropy ) {\n\t\t\t#ifdef ENVMAP_TYPE_CUBE_UV\n\t\t\t\tvec3 bentNormal = cross( bitangent, viewDir );\n\t\t\t\tbentNormal = normalize( cross( bentNormal, bitangent ) );\n\t\t\t\tbentNormal = normalize( mix( bentNormal, normal, pow2( pow2( 1.0 - anisotropy * ( 1.0 - roughness ) ) ) ) );\n\t\t\t\treturn getIBLRadiance( viewDir, bentNormal, roughness );\n\t\t\t#else\n\t\t\t\treturn vec3( 0.0 );\n\t\t\t#endif\n\t\t}\n\t#endif\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif",fog_vertex:"#ifdef USE_FOG\n\tvFogDepth = - mvPosition.z;\n#endif",fog_pars_vertex:"#ifdef USE_FOG\n\tvarying float vFogDepth;\n#endif",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif",fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float vFogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif",gradientmap_pars_fragment:"#ifdef USE_GRADIENTMAP\n\tuniform sampler2D gradientMap;\n#endif\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\tfloat dotNL = dot( normal, lightDirection );\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t#ifdef USE_GRADIENTMAP\n\t\treturn vec3( texture2D( gradientMap, coord ).r );\n\t#else\n\t\tvec2 fw = fwidth( coord ) * 0.5;\n\t\treturn mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) );\n\t#endif\n}",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\n\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\n\treflectedLight.indirectDiffuse += lightMapIrradiance;\n#endif",lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_fragment:"LambertMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularStrength = specularStrength;",lights_lambert_pars_fragment:"varying vec3 vViewPosition;\nstruct LambertMaterial {\n\tvec3 diffuseColor;\n\tfloat specularStrength;\n};\nvoid RE_Direct_Lambert( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometryNormal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Lambert\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Lambert",lights_pars_begin:"uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\n#if defined( USE_LIGHT_PROBES )\n\tuniform vec3 lightProbe[ 9 ];\n#endif\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\treturn result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {\n\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\treturn irradiance;\n}\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n\t#if defined ( LEGACY_LIGHTS )\n\t\tif ( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\t\treturn pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t\t}\n\t\treturn 1.0;\n\t#else\n\t\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\t\tif ( cutoffDistance > 0.0 ) {\n\t\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t\t}\n\t\treturn distanceFalloff;\n\t#endif\n}\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\n\treturn smoothstep( coneCosine, penumbraCosine, angleCosine );\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalLightInfo( const in DirectionalLight directionalLight, out IncidentLight light ) {\n\t\tlight.color = directionalLight.color;\n\t\tlight.direction = directionalLight.direction;\n\t\tlight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointLightInfo( const in PointLight pointLight, const in vec3 geometryPosition, out IncidentLight light ) {\n\t\tvec3 lVector = pointLight.position - geometryPosition;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tlight.color = pointLight.color;\n\t\tlight.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\n\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotLightInfo( const in SpotLight spotLight, const in vec3 geometryPosition, out IncidentLight light ) {\n\t\tvec3 lVector = spotLight.position - geometryPosition;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat angleCos = dot( light.direction, spotLight.direction );\n\t\tfloat spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\tif ( spotAttenuation > 0.0 ) {\n\t\t\tfloat lightDistance = length( lVector );\n\t\t\tlight.color = spotLight.color * spotAttenuation;\n\t\t\tlight.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t\t} else {\n\t\t\tlight.color = vec3( 0.0 );\n\t\t\tlight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {\n\t\tfloat dotNL = dot( normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\treturn irradiance;\n\t}\n#endif",lights_toon_fragment:"ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;",lights_toon_pars_fragment:"varying vec3 vViewPosition;\nstruct ToonMaterial {\n\tvec3 diffuseColor;\n};\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometryNormal, directLight.direction ) * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Toon\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon",lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;",lights_phong_pars_fragment:"varying vec3 vViewPosition;\nstruct BlinnPhongMaterial {\n\tvec3 diffuseColor;\n\tvec3 specularColor;\n\tfloat specularShininess;\n\tfloat specularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometryNormal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometryViewDir, geometryNormal, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;\nmaterial.roughness = min( material.roughness, 1.0 );\n#ifdef IOR\n\tmaterial.ior = ior;\n\t#ifdef USE_SPECULAR\n\t\tfloat specularIntensityFactor = specularIntensity;\n\t\tvec3 specularColorFactor = specularColor;\n\t\t#ifdef USE_SPECULAR_COLORMAP\n\t\t\tspecularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb;\n\t\t#endif\n\t\t#ifdef USE_SPECULAR_INTENSITYMAP\n\t\t\tspecularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a;\n\t\t#endif\n\t\tmaterial.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\n\t#else\n\t\tfloat specularIntensityFactor = 1.0;\n\t\tvec3 specularColorFactor = vec3( 1.0 );\n\t\tmaterial.specularF90 = 1.0;\n\t#endif\n\tmaterial.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.specularF90 = 1.0;\n#endif\n#ifdef USE_CLEARCOAT\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\tmaterial.clearcoatF0 = vec3( 0.04 );\n\tmaterial.clearcoatF90 = 1.0;\n\t#ifdef USE_CLEARCOATMAP\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y;\n\t#endif\n\tmaterial.clearcoat = saturate( material.clearcoat );\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_IRIDESCENCE\n\tmaterial.iridescence = iridescence;\n\tmaterial.iridescenceIOR = iridescenceIOR;\n\t#ifdef USE_IRIDESCENCEMAP\n\t\tmaterial.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r;\n\t#endif\n\t#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\t\tmaterial.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum;\n\t#else\n\t\tmaterial.iridescenceThickness = iridescenceThicknessMaximum;\n\t#endif\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenColor = sheenColor;\n\t#ifdef USE_SHEEN_COLORMAP\n\t\tmaterial.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb;\n\t#endif\n\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\n\t#ifdef USE_SHEEN_ROUGHNESSMAP\n\t\tmaterial.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a;\n\t#endif\n#endif\n#ifdef USE_ANISOTROPY\n\t#ifdef USE_ANISOTROPYMAP\n\t\tmat2 anisotropyMat = mat2( anisotropyVector.x, anisotropyVector.y, - anisotropyVector.y, anisotropyVector.x );\n\t\tvec3 anisotropyPolar = texture2D( anisotropyMap, vAnisotropyMapUv ).rgb;\n\t\tvec2 anisotropyV = anisotropyMat * normalize( 2.0 * anisotropyPolar.rg - vec2( 1.0 ) ) * anisotropyPolar.b;\n\t#else\n\t\tvec2 anisotropyV = anisotropyVector;\n\t#endif\n\tmaterial.anisotropy = length( anisotropyV );\n\tif( material.anisotropy == 0.0 ) {\n\t\tanisotropyV = vec2( 1.0, 0.0 );\n\t} else {\n\t\tanisotropyV /= material.anisotropy;\n\t\tmaterial.anisotropy = saturate( material.anisotropy );\n\t}\n\tmaterial.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) );\n\tmaterial.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y;\n\tmaterial.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y;\n#endif",lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3 diffuseColor;\n\tfloat roughness;\n\tvec3 specularColor;\n\tfloat specularF90;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat clearcoat;\n\t\tfloat clearcoatRoughness;\n\t\tvec3 clearcoatF0;\n\t\tfloat clearcoatF90;\n\t#endif\n\t#ifdef USE_IRIDESCENCE\n\t\tfloat iridescence;\n\t\tfloat iridescenceIOR;\n\t\tfloat iridescenceThickness;\n\t\tvec3 iridescenceFresnel;\n\t\tvec3 iridescenceF0;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tvec3 sheenColor;\n\t\tfloat sheenRoughness;\n\t#endif\n\t#ifdef IOR\n\t\tfloat ior;\n\t#endif\n\t#ifdef USE_TRANSMISSION\n\t\tfloat transmission;\n\t\tfloat transmissionAlpha;\n\t\tfloat thickness;\n\t\tfloat attenuationDistance;\n\t\tvec3 attenuationColor;\n\t#endif\n\t#ifdef USE_ANISOTROPY\n\t\tfloat anisotropy;\n\t\tfloat alphaT;\n\t\tvec3 anisotropyT;\n\t\tvec3 anisotropyB;\n\t#endif\n};\nvec3 clearcoatSpecularDirect = vec3( 0.0 );\nvec3 clearcoatSpecularIndirect = vec3( 0.0 );\nvec3 sheenSpecularDirect = vec3( 0.0 );\nvec3 sheenSpecularIndirect = vec3(0.0 );\nvec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) {\n float x = clamp( 1.0 - dotVH, 0.0, 1.0 );\n float x2 = x * x;\n float x5 = clamp( x * x2 * x2, 0.0, 0.9999 );\n return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 );\n}\nfloat V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\treturn 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\tfloat a2 = pow2( alpha );\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n}\n#ifdef USE_ANISOTROPY\n\tfloat V_GGX_SmithCorrelated_Anisotropic( const in float alphaT, const in float alphaB, const in float dotTV, const in float dotBV, const in float dotTL, const in float dotBL, const in float dotNV, const in float dotNL ) {\n\t\tfloat gv = dotNL * length( vec3( alphaT * dotTV, alphaB * dotBV, dotNV ) );\n\t\tfloat gl = dotNV * length( vec3( alphaT * dotTL, alphaB * dotBL, dotNL ) );\n\t\tfloat v = 0.5 / ( gv + gl );\n\t\treturn saturate(v);\n\t}\n\tfloat D_GGX_Anisotropic( const in float alphaT, const in float alphaB, const in float dotNH, const in float dotTH, const in float dotBH ) {\n\t\tfloat a2 = alphaT * alphaB;\n\t\thighp vec3 v = vec3( alphaB * dotTH, alphaT * dotBH, a2 * dotNH );\n\t\thighp float v2 = dot( v, v );\n\t\tfloat w2 = a2 / v2;\n\t\treturn RECIPROCAL_PI * a2 * pow2 ( w2 );\n\t}\n#endif\n#ifdef USE_CLEARCOAT\n\tvec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) {\n\t\tvec3 f0 = material.clearcoatF0;\n\t\tfloat f90 = material.clearcoatF90;\n\t\tfloat roughness = material.clearcoatRoughness;\n\t\tfloat alpha = pow2( roughness );\n\t\tvec3 halfDir = normalize( lightDir + viewDir );\n\t\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\t\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\t\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\t\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\t\tvec3 F = F_Schlick( f0, f90, dotVH );\n\t\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\t\tfloat D = D_GGX( alpha, dotNH );\n\t\treturn F * ( V * D );\n\t}\n#endif\nvec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) {\n\tvec3 f0 = material.specularColor;\n\tfloat f90 = material.specularF90;\n\tfloat roughness = material.roughness;\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\tvec3 F = F_Schlick( f0, f90, dotVH );\n\t#ifdef USE_IRIDESCENCE\n\t\tF = mix( F, material.iridescenceFresnel, material.iridescence );\n\t#endif\n\t#ifdef USE_ANISOTROPY\n\t\tfloat dotTL = dot( material.anisotropyT, lightDir );\n\t\tfloat dotTV = dot( material.anisotropyT, viewDir );\n\t\tfloat dotTH = dot( material.anisotropyT, halfDir );\n\t\tfloat dotBL = dot( material.anisotropyB, lightDir );\n\t\tfloat dotBV = dot( material.anisotropyB, viewDir );\n\t\tfloat dotBH = dot( material.anisotropyB, halfDir );\n\t\tfloat V = V_GGX_SmithCorrelated_Anisotropic( material.alphaT, alpha, dotTV, dotBV, dotTL, dotBL, dotNV, dotNL );\n\t\tfloat D = D_GGX_Anisotropic( material.alphaT, alpha, dotNH, dotTH, dotBH );\n\t#else\n\t\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\t\tfloat D = D_GGX( alpha, dotNH );\n\t#endif\n\treturn F * ( V * D );\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie( float roughness, float dotNH ) {\n\tfloat alpha = pow2( roughness );\n\tfloat invAlpha = 1.0 / alpha;\n\tfloat cos2h = dotNH * dotNH;\n\tfloat sin2h = max( 1.0 - cos2h, 0.0078125 );\n\treturn ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\n}\nfloat V_Neubelt( float dotNV, float dotNL ) {\n\treturn saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );\n}\nvec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat D = D_Charlie( sheenRoughness, dotNH );\n\tfloat V = V_Neubelt( dotNV, dotNL );\n\treturn sheenColor * ( D * V );\n}\n#endif\nfloat IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat r2 = roughness * roughness;\n\tfloat a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;\n\tfloat b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;\n\tfloat DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );\n\treturn saturate( DG * RECIPROCAL_PI );\n}\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\tvec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\n\treturn fab;\n}\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\treturn specularColor * fab.x + specularF90 * fab.y;\n}\n#ifdef USE_IRIDESCENCE\nvoid computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n#else\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n#endif\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\t#ifdef USE_IRIDESCENCE\n\t\tvec3 Fr = mix( specularColor, iridescenceF0, iridescence );\n\t#else\n\t\tvec3 Fr = specularColor;\n\t#endif\n\tvec3 FssEss = Fr * fab.x + specularF90 * fab.y;\n\tfloat Ess = fab.x + fab.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometryNormal;\n\t\tvec3 viewDir = geometryViewDir;\n\t\tvec3 position = geometryPosition;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.roughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3( 0, 1, 0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometryNormal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNLcc = saturate( dot( geometryClearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = dotNLcc * directLight.color;\n\t\tclearcoatSpecularDirect += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometryViewDir, geometryClearcoatNormal, material );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecularDirect += irradiance * BRDF_Sheen( directLight.direction, geometryViewDir, geometryNormal, material.sheenColor, material.sheenRoughness );\n\t#endif\n\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometryViewDir, geometryNormal, material );\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatSpecularIndirect += clearcoatRadiance * EnvironmentBRDF( geometryClearcoatNormal, geometryViewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecularIndirect += irradiance * material.sheenColor * IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness );\n\t#endif\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\t#ifdef USE_IRIDESCENCE\n\t\tcomputeMultiscatteringIridescence( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering );\n\t#else\n\t\tcomputeMultiscattering( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\n\t#endif\n\tvec3 totalScattering = singleScattering + multiScattering;\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) );\n\treflectedLight.indirectSpecular += radiance * singleScattering;\n\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}",lights_fragment_begin:"\nvec3 geometryPosition = - vViewPosition;\nvec3 geometryNormal = normal;\nvec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\nvec3 geometryClearcoatNormal = vec3( 0.0 );\n#ifdef USE_CLEARCOAT\n\tgeometryClearcoatNormal = clearcoatNormal;\n#endif\n#ifdef USE_IRIDESCENCE\n\tfloat dotNVi = saturate( dot( normal, geometryViewDir ) );\n\tif ( material.iridescenceThickness == 0.0 ) {\n\t\tmaterial.iridescence = 0.0;\n\t} else {\n\t\tmaterial.iridescence = saturate( material.iridescence );\n\t}\n\tif ( material.iridescence > 0.0 ) {\n\t\tmaterial.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor );\n\t\tmaterial.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi );\n\t}\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointLightInfo( pointLight, geometryPosition, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\tvec4 spotColor;\n\tvec3 spotLightCoord;\n\tbool inSpotLightMap;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotLightInfo( spotLight, geometryPosition, directLight );\n\t\t#if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n\t\t#define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX\n\t\t#elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\t#define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS\n\t\t#else\n\t\t#define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n\t\t#endif\n\t\t#if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS )\n\t\t\tspotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w;\n\t\t\tinSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) );\n\t\t\tspotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy );\n\t\t\tdirectLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color;\n\t\t#endif\n\t\t#undef SPOT_LIGHT_MAP_INDEX\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalLightInfo( directionalLight, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 iblIrradiance = vec3( 0.0 );\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\t#if defined( USE_LIGHT_PROBES )\n\t\tirradiance += getLightProbeIrradiance( lightProbe, geometryNormal );\n\t#endif\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometryNormal );\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n#endif",lights_fragment_maps:"#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\n\t\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tiblIrradiance += getIBLIrradiance( geometryNormal );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\t#ifdef USE_ANISOTROPY\n\t\tradiance += getIBLAnisotropyRadiance( geometryViewDir, geometryNormal, material.roughness, material.anisotropyB, material.anisotropy );\n\t#else\n\t\tradiance += getIBLRadiance( geometryViewDir, geometryNormal, material.roughness );\n\t#endif\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness );\n\t#endif\n#endif",lights_fragment_end:"#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n#endif",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif",logdepthbuf_pars_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t\tvarying float vIsPerspective;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n\t#else\n\t\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\n\t\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\t\tgl_Position.z *= gl_Position.w;\n\t\t}\n\t#endif\n#endif",map_fragment:"#ifdef USE_MAP\n\tvec4 sampledDiffuseColor = texture2D( map, vMapUv );\n\t#ifdef DECODE_VIDEO_TEXTURE\n\t\tsampledDiffuseColor = vec4( mix( pow( sampledDiffuseColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), sampledDiffuseColor.rgb * 0.0773993808, vec3( lessThanEqual( sampledDiffuseColor.rgb, vec3( 0.04045 ) ) ) ), sampledDiffuseColor.w );\n\t\n\t#endif\n\tdiffuseColor *= sampledDiffuseColor;\n#endif",map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif",map_particle_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\t#if defined( USE_POINTS_UV )\n\t\tvec2 uv = vUv;\n\t#else\n\t\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n\t#endif\n#endif\n#ifdef USE_MAP\n\tdiffuseColor *= texture2D( map, uv );\n#endif\n#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\n#endif",map_particle_pars_fragment:"#if defined( USE_POINTS_UV )\n\tvarying vec2 vUv;\n#else\n\t#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\t\tuniform mat3 uvTransform;\n\t#endif\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphcolor_vertex:"#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE )\n\tvColor *= morphTargetBaseInfluence;\n\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t#if defined( USE_COLOR_ALPHA )\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ];\n\t\t#elif defined( USE_COLOR )\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ];\n\t\t#endif\n\t}\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ];\n\t\t}\n\t#else\n\t\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n\t\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n\t\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n\t\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n\t#endif\n#endif",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\tuniform float morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tuniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\n\t\tuniform sampler2DArray morphTargetsTexture;\n\t\tuniform ivec2 morphTargetsTextureSize;\n\t\tvec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) {\n\t\t\tint texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset;\n\t\t\tint y = texelIndex / morphTargetsTextureSize.x;\n\t\t\tint x = texelIndex - y * morphTargetsTextureSize.x;\n\t\t\tivec3 morphUV = ivec3( x, y, morphTargetIndex );\n\t\t\treturn texelFetch( morphTargetsTexture, morphUV, 0 );\n\t\t}\n\t#else\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\tuniform float morphTargetInfluences[ 8 ];\n\t\t#else\n\t\t\tuniform float morphTargetInfluences[ 4 ];\n\t\t#endif\n\t#endif\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ];\n\t\t}\n\t#else\n\t\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\n\t\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\n\t\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\n\t\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\t\t\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\t\t\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\t\t\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\t\t#endif\n\t#endif\n#endif",normal_fragment_begin:"float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\n#ifdef FLAT_SHADED\n\tvec3 fdx = dFdx( vViewPosition );\n\tvec3 fdy = dFdy( vViewPosition );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal *= faceDirection;\n\t#endif\n#endif\n#if defined( USE_NORMALMAP_TANGENTSPACE ) || defined( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY )\n\t#ifdef USE_TANGENT\n\t\tmat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\n\t#else\n\t\tmat3 tbn = getTangentFrame( - vViewPosition, normal,\n\t\t#if defined( USE_NORMALMAP )\n\t\t\tvNormalMapUv\n\t\t#elif defined( USE_CLEARCOAT_NORMALMAP )\n\t\t\tvClearcoatNormalMapUv\n\t\t#else\n\t\t\tvUv\n\t\t#endif\n\t\t);\n\t#endif\n\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\n\t\ttbn[0] *= faceDirection;\n\t\ttbn[1] *= faceDirection;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\t#ifdef USE_TANGENT\n\t\tmat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\n\t#else\n\t\tmat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv );\n\t#endif\n\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\n\t\ttbn2[0] *= faceDirection;\n\t\ttbn2[1] *= faceDirection;\n\t#endif\n#endif\nvec3 nonPerturbedNormal = normal;",normal_fragment_maps:"#ifdef USE_NORMALMAP_OBJECTSPACE\n\tnormal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\n\t#ifdef FLIP_SIDED\n\t\tnormal = - normal;\n\t#endif\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\tnormal = normalize( normalMatrix * normal );\n#elif defined( USE_NORMALMAP_TANGENTSPACE )\n\tvec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\tnormal = normalize( tbn * mapN );\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\n#endif",normal_pars_fragment:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_pars_vertex:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_vertex:"#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif",normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n#endif\n#ifdef USE_NORMALMAP_OBJECTSPACE\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) )\n\tmat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {\n\t\tvec3 q0 = dFdx( eye_pos.xyz );\n\t\tvec3 q1 = dFdy( eye_pos.xyz );\n\t\tvec2 st0 = dFdx( uv.st );\n\t\tvec2 st1 = dFdy( uv.st );\n\t\tvec3 N = surf_norm;\n\t\tvec3 q1perp = cross( q1, N );\n\t\tvec3 q0perp = cross( N, q0 );\n\t\tvec3 T = q1perp * st0.x + q0perp * st1.x;\n\t\tvec3 B = q1perp * st0.y + q0perp * st1.y;\n\t\tfloat det = max( dot( T, T ), dot( B, B ) );\n\t\tfloat scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det );\n\t\treturn mat3( T * scale, B * scale, N );\n\t}\n#endif",clearcoat_normal_fragment_begin:"#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal = nonPerturbedNormal;\n#endif",clearcoat_normal_fragment_maps:"#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\tclearcoatNormal = normalize( tbn2 * clearcoatMapN );\n#endif",clearcoat_pars_fragment:"#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\n#endif",iridescence_pars_fragment:"#ifdef USE_IRIDESCENCEMAP\n\tuniform sampler2D iridescenceMap;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tuniform sampler2D iridescenceThicknessMap;\n#endif",opaque_fragment:"#ifdef OPAQUE\ndiffuseColor.a = 1.0;\n#endif\n#ifdef USE_TRANSMISSION\ndiffuseColor.a *= material.transmissionAlpha;\n#endif\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );",packing:"vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nvec2 packDepthToRG( in highp float v ) {\n\treturn packDepthToRGBA( v ).yx;\n}\nfloat unpackRGToDepth( const in highp vec2 v ) {\n\treturn unpackRGBAToDepth( vec4( v.xy, 0.0, 0.0 ) );\n}\nvec4 pack2HalfToRGBA( vec2 v ) {\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\n}\nvec2 unpackRGBATo2Half( vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float depth, const in float near, const in float far ) {\n\treturn depth * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * depth - far );\n}",premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif",project_vertex:"vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_BATCHING\n\tmvPosition = batchingMatrix * mvPosition;\n#endif\n#ifdef USE_INSTANCING\n\tmvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;",dithering_fragment:"#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif",dithering_pars_fragment:"#ifdef DITHERING\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif",roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv );\n\troughnessFactor *= texelRoughness.g;\n#endif",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#if NUM_SPOT_LIGHT_COORDS > 0\n\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#if NUM_SPOT_LIGHT_MAPS > 0\n\tuniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ];\n#endif\n#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\t\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\n\t}\n\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\t\tfloat occlusion = 1.0;\n\t\tvec2 distribution = texture2DDistribution( shadow, uv );\n\t\tfloat hard_shadow = step( compare , distribution.x );\n\t\tif (hard_shadow != 1.0 ) {\n\t\t\tfloat distance = compare - distribution.x ;\n\t\t\tfloat variance = max( 0.00000, distribution.y * distribution.y );\n\t\t\tfloat softness_probability = variance / (variance + distance * distance );\t\t\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\t\t\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\t\t}\n\t\treturn occlusion;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0;\n\t\tbool frustumTest = inFrustum && shadowCoord.z <= 1.0;\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tfloat dx2 = dx0 / 2.0;\n\t\t\tfloat dy2 = dy0 / 2.0;\n\t\t\tfloat dx3 = dx1 / 2.0;\n\t\t\tfloat dy3 = dy1 / 2.0;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 17.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx = texelSize.x;\n\t\t\tfloat dy = texelSize.y;\n\t\t\tvec2 uv = shadowCoord.xy;\n\t\t\tvec2 f = fract( uv * shadowMapSize + 0.5 );\n\t\t\tuv -= f * texelSize;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t f.y )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_VSM )\n\t\t\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif",shadowmap_pars_vertex:"#if NUM_SPOT_LIGHT_COORDS > 0\n\tuniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ];\n\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n#endif",shadowmap_vertex:"#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 )\n\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\tvec4 shadowWorldPosition;\n#endif\n#if defined( USE_SHADOWMAP )\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if NUM_SPOT_LIGHT_COORDS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition;\n\t\t#if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\t\tshadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias;\n\t\t#endif\n\t\tvSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n#endif",shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tdirectionalLight = directionalLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tspotLight = spotLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tpointLight = pointLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#endif\n\treturn shadow;\n}",skinbase_vertex:"#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\tuniform highp sampler2D boneTexture;\n\tmat4 getBoneMatrix( const in float i ) {\n\t\tint size = textureSize( boneTexture, 0 ).x;\n\t\tint j = int( i ) * 4;\n\t\tint x = j % size;\n\t\tint y = j / size;\n\t\tvec4 v1 = texelFetch( boneTexture, ivec2( x, y ), 0 );\n\t\tvec4 v2 = texelFetch( boneTexture, ivec2( x + 1, y ), 0 );\n\t\tvec4 v3 = texelFetch( boneTexture, ivec2( x + 2, y ), 0 );\n\t\tvec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 );\n\t\treturn mat4( v1, v2, v3, v4 );\n\t}\n#endif",skinning_vertex:"#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif",skinnormal_vertex:"#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif",specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vSpecularMapUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif",specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif",tonemapping_fragment:"#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif",tonemapping_pars_fragment:"#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn saturate( toneMappingExposure * color );\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 RRTAndODTFit( vec3 v ) {\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\treturn a / b;\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tconst mat3 ACESInputMat = mat3(\n\t\tvec3( 0.59719, 0.07600, 0.02840 ),\t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t);\n\tconst mat3 ACESOutputMat = mat3(\n\t\tvec3( 1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108, 1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605, 1.07602 )\n\t);\n\tcolor *= toneMappingExposure / 0.6;\n\tcolor = ACESInputMat * color;\n\tcolor = RRTAndODTFit( color );\n\tcolor = ACESOutputMat * color;\n\treturn saturate( color );\n}\nconst mat3 LINEAR_REC2020_TO_LINEAR_SRGB = mat3(\n\tvec3( 1.6605, - 0.1246, - 0.0182 ),\n\tvec3( - 0.5876, 1.1329, - 0.1006 ),\n\tvec3( - 0.0728, - 0.0083, 1.1187 )\n);\nconst mat3 LINEAR_SRGB_TO_LINEAR_REC2020 = mat3(\n\tvec3( 0.6274, 0.0691, 0.0164 ),\n\tvec3( 0.3293, 0.9195, 0.0880 ),\n\tvec3( 0.0433, 0.0113, 0.8956 )\n);\nvec3 agxDefaultContrastApprox( vec3 x ) {\n\tvec3 x2 = x * x;\n\tvec3 x4 = x2 * x2;\n\treturn + 15.5 * x4 * x2\n\t\t- 40.14 * x4 * x\n\t\t+ 31.96 * x4\n\t\t- 6.868 * x2 * x\n\t\t+ 0.4298 * x2\n\t\t+ 0.1191 * x\n\t\t- 0.00232;\n}\nvec3 AgXToneMapping( vec3 color ) {\n\tconst mat3 AgXInsetMatrix = mat3(\n\t\tvec3( 0.856627153315983, 0.137318972929847, 0.11189821299995 ),\n\t\tvec3( 0.0951212405381588, 0.761241990602591, 0.0767994186031903 ),\n\t\tvec3( 0.0482516061458583, 0.101439036467562, 0.811302368396859 )\n\t);\n\tconst mat3 AgXOutsetMatrix = mat3(\n\t\tvec3( 1.1271005818144368, - 0.1413297634984383, - 0.14132976349843826 ),\n\t\tvec3( - 0.11060664309660323, 1.157823702216272, - 0.11060664309660294 ),\n\t\tvec3( - 0.016493938717834573, - 0.016493938717834257, 1.2519364065950405 )\n\t);\n\tconst float AgxMinEv = - 12.47393;\tconst float AgxMaxEv = 4.026069;\n\tcolor *= toneMappingExposure;\n\tcolor = LINEAR_SRGB_TO_LINEAR_REC2020 * color;\n\tcolor = AgXInsetMatrix * color;\n\tcolor = max( color, 1e-10 );\tcolor = log2( color );\n\tcolor = ( color - AgxMinEv ) / ( AgxMaxEv - AgxMinEv );\n\tcolor = clamp( color, 0.0, 1.0 );\n\tcolor = agxDefaultContrastApprox( color );\n\tcolor = AgXOutsetMatrix * color;\n\tcolor = pow( max( vec3( 0.0 ), color ), vec3( 2.2 ) );\n\tcolor = LINEAR_REC2020_TO_LINEAR_SRGB * color;\n\tcolor = clamp( color, 0.0, 1.0 );\n\treturn color;\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }",transmission_fragment:"#ifdef USE_TRANSMISSION\n\tmaterial.transmission = transmission;\n\tmaterial.transmissionAlpha = 1.0;\n\tmaterial.thickness = thickness;\n\tmaterial.attenuationDistance = attenuationDistance;\n\tmaterial.attenuationColor = attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tmaterial.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tmaterial.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g;\n\t#endif\n\tvec3 pos = vWorldPosition;\n\tvec3 v = normalize( cameraPosition - pos );\n\tvec3 n = inverseTransformDirection( normal, viewMatrix );\n\tvec4 transmitted = getIBLVolumeRefraction(\n\t\tn, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90,\n\t\tpos, modelMatrix, viewMatrix, projectionMatrix, material.ior, material.thickness,\n\t\tmaterial.attenuationColor, material.attenuationDistance );\n\tmaterial.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission );\n\ttotalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission );\n#endif",transmission_pars_fragment:"#ifdef USE_TRANSMISSION\n\tuniform float transmission;\n\tuniform float thickness;\n\tuniform float attenuationDistance;\n\tuniform vec3 attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tuniform sampler2D transmissionMap;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tuniform sampler2D thicknessMap;\n\t#endif\n\tuniform vec2 transmissionSamplerSize;\n\tuniform sampler2D transmissionSamplerMap;\n\tuniform mat4 modelMatrix;\n\tuniform mat4 projectionMatrix;\n\tvarying vec3 vWorldPosition;\n\tfloat w0( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 );\n\t}\n\tfloat w1( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * a * ( 3.0 * a - 6.0 ) + 4.0 );\n\t}\n\tfloat w2( float a ){\n\t\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 );\n\t}\n\tfloat w3( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * a * a );\n\t}\n\tfloat g0( float a ) {\n\t\treturn w0( a ) + w1( a );\n\t}\n\tfloat g1( float a ) {\n\t\treturn w2( a ) + w3( a );\n\t}\n\tfloat h0( float a ) {\n\t\treturn - 1.0 + w1( a ) / ( w0( a ) + w1( a ) );\n\t}\n\tfloat h1( float a ) {\n\t\treturn 1.0 + w3( a ) / ( w2( a ) + w3( a ) );\n\t}\n\tvec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) {\n\t\tuv = uv * texelSize.zw + 0.5;\n\t\tvec2 iuv = floor( uv );\n\t\tvec2 fuv = fract( uv );\n\t\tfloat g0x = g0( fuv.x );\n\t\tfloat g1x = g1( fuv.x );\n\t\tfloat h0x = h0( fuv.x );\n\t\tfloat h1x = h1( fuv.x );\n\t\tfloat h0y = h0( fuv.y );\n\t\tfloat h1y = h1( fuv.y );\n\t\tvec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\n\t\treturn g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) +\n\t\t\tg1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) );\n\t}\n\tvec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) {\n\t\tvec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) );\n\t\tvec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) );\n\t\tvec2 fLodSizeInv = 1.0 / fLodSize;\n\t\tvec2 cLodSizeInv = 1.0 / cLodSize;\n\t\tvec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) );\n\t\tvec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) );\n\t\treturn mix( fSample, cSample, fract( lod ) );\n\t}\n\tvec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) {\n\t\tvec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\n\t\tvec3 modelScale;\n\t\tmodelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\n\t\tmodelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\n\t\tmodelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\n\t\treturn normalize( refractionVector ) * thickness * modelScale;\n\t}\n\tfloat applyIorToRoughness( const in float roughness, const in float ior ) {\n\t\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\n\t}\n\tvec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) {\n\t\tfloat lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\n\t\treturn textureBicubic( transmissionSamplerMap, fragCoord.xy, lod );\n\t}\n\tvec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) {\n\t\tif ( isinf( attenuationDistance ) ) {\n\t\t\treturn vec3( 1.0 );\n\t\t} else {\n\t\t\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\n\t\t\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\t\t\treturn transmittance;\n\t\t}\n\t}\n\tvec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor,\n\t\tconst in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix,\n\t\tconst in mat4 viewMatrix, const in mat4 projMatrix, const in float ior, const in float thickness,\n\t\tconst in vec3 attenuationColor, const in float attenuationDistance ) {\n\t\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\n\t\tvec3 refractedRayExit = position + transmissionRay;\n\t\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\n\t\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\n\t\trefractionCoords += 1.0;\n\t\trefractionCoords /= 2.0;\n\t\tvec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\n\t\tvec3 transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance );\n\t\tvec3 attenuatedColor = transmittance * transmittedLight.rgb;\n\t\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\n\t\tfloat transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0;\n\t\treturn vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor );\n\t}\n#endif",uv_pars_fragment:"#if defined( USE_UV ) || defined( USE_ANISOTROPY )\n\tvarying vec2 vUv;\n#endif\n#ifdef USE_MAP\n\tvarying vec2 vMapUv;\n#endif\n#ifdef USE_ALPHAMAP\n\tvarying vec2 vAlphaMapUv;\n#endif\n#ifdef USE_LIGHTMAP\n\tvarying vec2 vLightMapUv;\n#endif\n#ifdef USE_AOMAP\n\tvarying vec2 vAoMapUv;\n#endif\n#ifdef USE_BUMPMAP\n\tvarying vec2 vBumpMapUv;\n#endif\n#ifdef USE_NORMALMAP\n\tvarying vec2 vNormalMapUv;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tvarying vec2 vEmissiveMapUv;\n#endif\n#ifdef USE_METALNESSMAP\n\tvarying vec2 vMetalnessMapUv;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tvarying vec2 vRoughnessMapUv;\n#endif\n#ifdef USE_ANISOTROPYMAP\n\tvarying vec2 vAnisotropyMapUv;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tvarying vec2 vClearcoatMapUv;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tvarying vec2 vClearcoatNormalMapUv;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tvarying vec2 vClearcoatRoughnessMapUv;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tvarying vec2 vIridescenceMapUv;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tvarying vec2 vIridescenceThicknessMapUv;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tvarying vec2 vSheenColorMapUv;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tvarying vec2 vSheenRoughnessMapUv;\n#endif\n#ifdef USE_SPECULARMAP\n\tvarying vec2 vSpecularMapUv;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tvarying vec2 vSpecularColorMapUv;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tvarying vec2 vSpecularIntensityMapUv;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tuniform mat3 transmissionMapTransform;\n\tvarying vec2 vTransmissionMapUv;\n#endif\n#ifdef USE_THICKNESSMAP\n\tuniform mat3 thicknessMapTransform;\n\tvarying vec2 vThicknessMapUv;\n#endif",uv_pars_vertex:"#if defined( USE_UV ) || defined( USE_ANISOTROPY )\n\tvarying vec2 vUv;\n#endif\n#ifdef USE_MAP\n\tuniform mat3 mapTransform;\n\tvarying vec2 vMapUv;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform mat3 alphaMapTransform;\n\tvarying vec2 vAlphaMapUv;\n#endif\n#ifdef USE_LIGHTMAP\n\tuniform mat3 lightMapTransform;\n\tvarying vec2 vLightMapUv;\n#endif\n#ifdef USE_AOMAP\n\tuniform mat3 aoMapTransform;\n\tvarying vec2 vAoMapUv;\n#endif\n#ifdef USE_BUMPMAP\n\tuniform mat3 bumpMapTransform;\n\tvarying vec2 vBumpMapUv;\n#endif\n#ifdef USE_NORMALMAP\n\tuniform mat3 normalMapTransform;\n\tvarying vec2 vNormalMapUv;\n#endif\n#ifdef USE_DISPLACEMENTMAP\n\tuniform mat3 displacementMapTransform;\n\tvarying vec2 vDisplacementMapUv;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tuniform mat3 emissiveMapTransform;\n\tvarying vec2 vEmissiveMapUv;\n#endif\n#ifdef USE_METALNESSMAP\n\tuniform mat3 metalnessMapTransform;\n\tvarying vec2 vMetalnessMapUv;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tuniform mat3 roughnessMapTransform;\n\tvarying vec2 vRoughnessMapUv;\n#endif\n#ifdef USE_ANISOTROPYMAP\n\tuniform mat3 anisotropyMapTransform;\n\tvarying vec2 vAnisotropyMapUv;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tuniform mat3 clearcoatMapTransform;\n\tvarying vec2 vClearcoatMapUv;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform mat3 clearcoatNormalMapTransform;\n\tvarying vec2 vClearcoatNormalMapUv;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform mat3 clearcoatRoughnessMapTransform;\n\tvarying vec2 vClearcoatRoughnessMapUv;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tuniform mat3 sheenColorMapTransform;\n\tvarying vec2 vSheenColorMapUv;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tuniform mat3 sheenRoughnessMapTransform;\n\tvarying vec2 vSheenRoughnessMapUv;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tuniform mat3 iridescenceMapTransform;\n\tvarying vec2 vIridescenceMapUv;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tuniform mat3 iridescenceThicknessMapTransform;\n\tvarying vec2 vIridescenceThicknessMapUv;\n#endif\n#ifdef USE_SPECULARMAP\n\tuniform mat3 specularMapTransform;\n\tvarying vec2 vSpecularMapUv;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tuniform mat3 specularColorMapTransform;\n\tvarying vec2 vSpecularColorMapUv;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tuniform mat3 specularIntensityMapTransform;\n\tvarying vec2 vSpecularIntensityMapUv;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tuniform mat3 transmissionMapTransform;\n\tvarying vec2 vTransmissionMapUv;\n#endif\n#ifdef USE_THICKNESSMAP\n\tuniform mat3 thicknessMapTransform;\n\tvarying vec2 vThicknessMapUv;\n#endif",uv_vertex:"#if defined( USE_UV ) || defined( USE_ANISOTROPY )\n\tvUv = vec3( uv, 1 ).xy;\n#endif\n#ifdef USE_MAP\n\tvMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ALPHAMAP\n\tvAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_LIGHTMAP\n\tvLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_AOMAP\n\tvAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_BUMPMAP\n\tvBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_NORMALMAP\n\tvNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_DISPLACEMENTMAP\n\tvDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tvEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_METALNESSMAP\n\tvMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tvRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ANISOTROPYMAP\n\tvAnisotropyMapUv = ( anisotropyMapTransform * vec3( ANISOTROPYMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tvClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tvClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tvClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tvIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tvIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tvSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tvSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULARMAP\n\tvSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tvSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tvSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tvTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_THICKNESSMAP\n\tvThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_BATCHING\n\t\tworldPosition = batchingMatrix * worldPosition;\n\t#endif\n\t#ifdef USE_INSTANCING\n\t\tworldPosition = instanceMatrix * worldPosition;\n\t#endif\n\tworldPosition = modelMatrix * worldPosition;\n#endif",background_vert:"varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}",background_frag:"uniform sampler2D t2D;\nuniform float backgroundIntensity;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\t#ifdef DECODE_VIDEO_TEXTURE\n\t\ttexColor = vec4( mix( pow( texColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), texColor.rgb * 0.0773993808, vec3( lessThanEqual( texColor.rgb, vec3( 0.04045 ) ) ) ), texColor.w );\n\t#endif\n\ttexColor.rgb *= backgroundIntensity;\n\tgl_FragColor = texColor;\n\t#include \n\t#include \n}",backgroundCube_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}",backgroundCube_frag:"#ifdef ENVMAP_TYPE_CUBE\n\tuniform samplerCube envMap;\n#elif defined( ENVMAP_TYPE_CUBE_UV )\n\tuniform sampler2D envMap;\n#endif\nuniform float flipEnvMap;\nuniform float backgroundBlurriness;\nuniform float backgroundIntensity;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 texColor = textureCube( envMap, vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) );\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 texColor = textureCubeUV( envMap, vWorldDirection, backgroundBlurriness );\n\t#else\n\t\tvec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t#endif\n\ttexColor.rgb *= backgroundIntensity;\n\tgl_FragColor = texColor;\n\t#include \n\t#include \n}",cube_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}",cube_frag:"uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldDirection;\nvoid main() {\n\tvec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );\n\tgl_FragColor = texColor;\n\tgl_FragColor.a *= opacity;\n\t#include \n\t#include \n}",depth_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvHighPrecisionZW = gl_Position.zw;\n}",depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include \n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\n}",distanceRGBA_vert:"#define DISTANCE\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvWorldPosition = worldPosition.xyz;\n}",distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main () {\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}",equirect_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n}",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\t#include \n\t#include \n}",linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\n\t\treflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_vert:"#define LAMBERT\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_frag:"#define LAMBERT\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n}",meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t#else\n\t\tvec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshnormal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvarying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}",meshnormal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvarying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvec4 diffuseColor = vec4( 0.0, 0.0, 0.0, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_FragColor = vec4( packNormalToRGB( normal ), diffuseColor.a );\n\t#ifdef OPAQUE\n\t\tgl_FragColor.a = 1.0;\n\t#endif\n}",meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphysical_vert:"#define STANDARD\nvarying vec3 vViewPosition;\n#ifdef USE_TRANSMISSION\n\tvarying vec3 vWorldPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n#ifdef USE_TRANSMISSION\n\tvWorldPosition = worldPosition.xyz;\n#endif\n}",meshphysical_frag:"#define STANDARD\n#ifdef PHYSICAL\n\t#define IOR\n\t#define USE_SPECULAR\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef IOR\n\tuniform float ior;\n#endif\n#ifdef USE_SPECULAR\n\tuniform float specularIntensity;\n\tuniform vec3 specularColor;\n\t#ifdef USE_SPECULAR_COLORMAP\n\t\tuniform sampler2D specularColorMap;\n\t#endif\n\t#ifdef USE_SPECULAR_INTENSITYMAP\n\t\tuniform sampler2D specularIntensityMap;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_IRIDESCENCE\n\tuniform float iridescence;\n\tuniform float iridescenceIOR;\n\tuniform float iridescenceThicknessMinimum;\n\tuniform float iridescenceThicknessMaximum;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheenColor;\n\tuniform float sheenRoughness;\n\t#ifdef USE_SHEEN_COLORMAP\n\t\tuniform sampler2D sheenColorMap;\n\t#endif\n\t#ifdef USE_SHEEN_ROUGHNESSMAP\n\t\tuniform sampler2D sheenRoughnessMap;\n\t#endif\n#endif\n#ifdef USE_ANISOTROPY\n\tuniform vec2 anisotropyVector;\n\t#ifdef USE_ANISOTROPYMAP\n\t\tuniform sampler2D anisotropyMap;\n\t#endif\n#endif\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\t#include \n\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\n\t#ifdef USE_SHEEN\n\t\tfloat sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\n\t\toutgoingLight = outgoingLight * sheenEnergyComp + sheenSpecularDirect + sheenSpecularIndirect;\n\t#endif\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNVcc = saturate( dot( geometryClearcoatNormal, geometryViewDir ) );\n\t\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\n\t\toutgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + ( clearcoatSpecularDirect + clearcoatSpecularIndirect ) * material.clearcoat;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshtoon_vert:"#define TOON\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n}",meshtoon_frag:"#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",points_vert:"uniform float size;\nuniform float scale;\n#include \n#include \n#include \n#include \n#include \n#include \n#ifdef USE_POINTS_UV\n\tvarying vec2 vUv;\n\tuniform mat3 uvTransform;\n#endif\nvoid main() {\n\t#ifdef USE_POINTS_UV\n\t\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n}",points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",shadow_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include \n\t#include \n\t#include \n}",sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include \n\t#include \n\t#include \n}",sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n}"},Or={common:{diffuse:{value:new Mn(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new Dt},alphaMap:{value:null},alphaMapTransform:{value:new Dt},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new Dt}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new Dt}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new Dt}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new Dt},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new Dt},normalScale:{value:new Lt(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new Dt},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new Dt}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new Dt}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new Dt}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Mn(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new Mn(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new Dt},alphaTest:{value:0},uvTransform:{value:new Dt}},sprite:{diffuse:{value:new Mn(16777215)},opacity:{value:1},center:{value:new Lt(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new Dt},alphaMap:{value:null},alphaMapTransform:{value:new Dt},alphaTest:{value:0}}},Ir={basic:{uniforms:lr([Or.common,Or.specularmap,Or.envmap,Or.aomap,Or.lightmap,Or.fog]),vertexShader:Dr.meshbasic_vert,fragmentShader:Dr.meshbasic_frag},lambert:{uniforms:lr([Or.common,Or.specularmap,Or.envmap,Or.aomap,Or.lightmap,Or.emissivemap,Or.bumpmap,Or.normalmap,Or.displacementmap,Or.fog,Or.lights,{emissive:{value:new Mn(0)}}]),vertexShader:Dr.meshlambert_vert,fragmentShader:Dr.meshlambert_frag},phong:{uniforms:lr([Or.common,Or.specularmap,Or.envmap,Or.aomap,Or.lightmap,Or.emissivemap,Or.bumpmap,Or.normalmap,Or.displacementmap,Or.fog,Or.lights,{emissive:{value:new Mn(0)},specular:{value:new Mn(1118481)},shininess:{value:30}}]),vertexShader:Dr.meshphong_vert,fragmentShader:Dr.meshphong_frag},standard:{uniforms:lr([Or.common,Or.envmap,Or.aomap,Or.lightmap,Or.emissivemap,Or.bumpmap,Or.normalmap,Or.displacementmap,Or.roughnessmap,Or.metalnessmap,Or.fog,Or.lights,{emissive:{value:new Mn(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Dr.meshphysical_vert,fragmentShader:Dr.meshphysical_frag},toon:{uniforms:lr([Or.common,Or.aomap,Or.lightmap,Or.emissivemap,Or.bumpmap,Or.normalmap,Or.displacementmap,Or.gradientmap,Or.fog,Or.lights,{emissive:{value:new Mn(0)}}]),vertexShader:Dr.meshtoon_vert,fragmentShader:Dr.meshtoon_frag},matcap:{uniforms:lr([Or.common,Or.bumpmap,Or.normalmap,Or.displacementmap,Or.fog,{matcap:{value:null}}]),vertexShader:Dr.meshmatcap_vert,fragmentShader:Dr.meshmatcap_frag},points:{uniforms:lr([Or.points,Or.fog]),vertexShader:Dr.points_vert,fragmentShader:Dr.points_frag},dashed:{uniforms:lr([Or.common,Or.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Dr.linedashed_vert,fragmentShader:Dr.linedashed_frag},depth:{uniforms:lr([Or.common,Or.displacementmap]),vertexShader:Dr.depth_vert,fragmentShader:Dr.depth_frag},normal:{uniforms:lr([Or.common,Or.bumpmap,Or.normalmap,Or.displacementmap,{opacity:{value:1}}]),vertexShader:Dr.meshnormal_vert,fragmentShader:Dr.meshnormal_frag},sprite:{uniforms:lr([Or.sprite,Or.fog]),vertexShader:Dr.sprite_vert,fragmentShader:Dr.sprite_frag},background:{uniforms:{uvTransform:{value:new Dt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:Dr.background_vert,fragmentShader:Dr.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:Dr.backgroundCube_vert,fragmentShader:Dr.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Dr.cube_vert,fragmentShader:Dr.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Dr.equirect_vert,fragmentShader:Dr.equirect_frag},distanceRGBA:{uniforms:lr([Or.common,Or.displacementmap,{referencePosition:{value:new ae},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Dr.distanceRGBA_vert,fragmentShader:Dr.distanceRGBA_frag},shadow:{uniforms:lr([Or.lights,Or.fog,{color:{value:new Mn(0)},opacity:{value:1}}]),vertexShader:Dr.shadow_vert,fragmentShader:Dr.shadow_frag}};Ir.physical={uniforms:lr([Ir.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new Dt},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new Dt},clearcoatNormalScale:{value:new Lt(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new Dt},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new Dt},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new Dt},sheen:{value:0},sheenColor:{value:new Mn(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new Dt},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new Dt},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new Dt},transmissionSamplerSize:{value:new Lt},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new Dt},attenuationDistance:{value:0},attenuationColor:{value:new Mn(0)},specularColor:{value:new Mn(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new Dt},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new Dt},anisotropyVector:{value:new Lt},anisotropyMap:{value:null},anisotropyMapTransform:{value:new Dt}}]),vertexShader:Dr.meshphysical_vert,fragmentShader:Dr.meshphysical_frag};const qr={r:0,b:0,g:0};function Ur(t,e,n,r,i,a,o){const s=new Mn(0);let A,l,c=!0===a?0:1,u=null,h=0,d=null;function f(e,n){e.getRGB(qr,cr(t)),r.buffers.color.setClear(qr.r,qr.g,qr.b,n,o)}return{getClearColor:function(){return s},setClearColor:function(t,e=1){s.set(t),c=e,f(s,c)},getClearAlpha:function(){return c},setClearAlpha:function(t){c=t,f(s,c)},render:function(a,p){let v=!1,_=!0===p.isScene?p.background:null;if(_&&_.isTexture){_=(p.backgroundBlurriness>0?n:e).get(_)}null===_?f(s,c):_&&_.isColor&&(f(_,1),v=!0);const y=t.xr.getEnvironmentBlendMode();"additive"===y?r.buffers.color.setClear(0,0,0,1,o):"alpha-blend"===y&&r.buffers.color.setClear(0,0,0,0,o),(t.autoClear||v)&&t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil),_&&(_.isCubeTexture||_.mapping===L)?(void 0===l&&(l=new ar(new sr(1,1,1),new hr({name:"BackgroundCubeMaterial",uniforms:Ar(Ir.backgroundCube.uniforms),vertexShader:Ir.backgroundCube.vertexShader,fragmentShader:Ir.backgroundCube.fragmentShader,side:g,depthTest:!1,depthWrite:!1,fog:!1})),l.geometry.deleteAttribute("normal"),l.geometry.deleteAttribute("uv"),l.onBeforeRender=function(t,e,n){this.matrixWorld.copyPosition(n.matrixWorld)},Object.defineProperty(l.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),i.update(l)),l.material.uniforms.envMap.value=_,l.material.uniforms.flipEnvMap.value=_.isCubeTexture&&!1===_.isRenderTargetTexture?-1:1,l.material.uniforms.backgroundBlurriness.value=p.backgroundBlurriness,l.material.uniforms.backgroundIntensity.value=p.backgroundIntensity,l.material.toneMapped=Ht.getTransfer(_.colorSpace)!==At,u===_&&h===_.version&&d===t.toneMapping||(l.material.needsUpdate=!0,u=_,h=_.version,d=t.toneMapping),l.layers.enableAll(),a.unshift(l,l.geometry,l.material,0,0,null)):_&&_.isTexture&&(void 0===A&&(A=new ar(new Lr(2,2),new hr({name:"BackgroundMaterial",uniforms:Ar(Ir.background.uniforms),vertexShader:Ir.background.vertexShader,fragmentShader:Ir.background.fragmentShader,side:m,depthTest:!1,depthWrite:!1,fog:!1})),A.geometry.deleteAttribute("normal"),Object.defineProperty(A.material,"map",{get:function(){return this.uniforms.t2D.value}}),i.update(A)),A.material.uniforms.t2D.value=_,A.material.uniforms.backgroundIntensity.value=p.backgroundIntensity,A.material.toneMapped=Ht.getTransfer(_.colorSpace)!==At,!0===_.matrixAutoUpdate&&_.updateMatrix(),A.material.uniforms.uvTransform.value.copy(_.matrix),u===_&&h===_.version&&d===t.toneMapping||(A.material.needsUpdate=!0,u=_,h=_.version,d=t.toneMapping),A.layers.enableAll(),a.unshift(A,A.geometry,A.material,0,0,null))}}}function Nr(t,e,n,r){const i=t.getParameter(t.MAX_VERTEX_ATTRIBS),a=r.isWebGL2?null:e.get("OES_vertex_array_object"),o=r.isWebGL2||null!==a,s={},A=d(null);let l=A,c=!1;function u(e){return r.isWebGL2?t.bindVertexArray(e):a.bindVertexArrayOES(e)}function h(e){return r.isWebGL2?t.deleteVertexArray(e):a.deleteVertexArrayOES(e)}function d(t){const e=[],n=[],r=[];for(let t=0;t=0){const n=i[e];let r=a[e];if(void 0===r&&("instanceMatrix"===e&&t.instanceMatrix&&(r=t.instanceMatrix),"instanceColor"===e&&t.instanceColor&&(r=t.instanceColor)),void 0===n)return!0;if(n.attribute!==r)return!0;if(r&&n.data!==r.data)return!0;o++}}return l.attributesNum!==o||l.index!==r}(i,_,h,y),x&&function(t,e,n,r){const i={},a=e.attributes;let o=0;const s=n.getAttributes();for(const e in s){if(s[e].location>=0){let n=a[e];void 0===n&&("instanceMatrix"===e&&t.instanceMatrix&&(n=t.instanceMatrix),"instanceColor"===e&&t.instanceColor&&(n=t.instanceColor));const r={};r.attribute=n,n&&n.data&&(r.data=n.data),i[e]=r,o++}}l.attributes=i,l.attributesNum=o,l.index=r}(i,_,h,y)}else{const t=!0===A.wireframe;l.geometry===_.id&&l.program===h.id&&l.wireframe===t||(l.geometry=_.id,l.program=h.id,l.wireframe=t,x=!0)}null!==y&&n.update(y,t.ELEMENT_ARRAY_BUFFER),(x||c)&&(c=!1,function(i,a,o,s){if(!1===r.isWebGL2&&(i.isInstancedMesh||s.isInstancedBufferGeometry)&&null===e.get("ANGLE_instanced_arrays"))return;f();const A=s.attributes,l=o.getAttributes(),c=a.defaultAttributeValues;for(const e in l){const a=l[e];if(a.location>=0){let o=A[e];if(void 0===o&&("instanceMatrix"===e&&i.instanceMatrix&&(o=i.instanceMatrix),"instanceColor"===e&&i.instanceColor&&(o=i.instanceColor)),void 0!==o){const e=o.normalized,A=o.itemSize,l=n.get(o);if(void 0===l)continue;const c=l.buffer,u=l.type,h=l.bytesPerElement,d=!0===r.isWebGL2&&(u===t.INT||u===t.UNSIGNED_INT||o.gpuType===G);if(o.isInterleavedBufferAttribute){const n=o.data,r=n.stride,l=o.offset;if(n.isInstancedInterleavedBuffer){for(let t=0;t0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.HIGH_FLOAT).precision>0)return"highp";e="mediump"}return"mediump"===e&&t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.MEDIUM_FLOAT).precision>0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const a="undefined"!=typeof WebGL2RenderingContext&&"WebGL2RenderingContext"===t.constructor.name;let o=void 0!==n.precision?n.precision:"highp";const s=i(o);s!==o&&(console.warn("THREE.WebGLRenderer:",o,"not supported, using",s,"instead."),o=s);const A=a||e.has("WEBGL_draw_buffers"),l=!0===n.logarithmicDepthBuffer,c=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS),u=t.getParameter(t.MAX_VERTEX_TEXTURE_IMAGE_UNITS),h=t.getParameter(t.MAX_TEXTURE_SIZE),d=t.getParameter(t.MAX_CUBE_MAP_TEXTURE_SIZE),f=t.getParameter(t.MAX_VERTEX_ATTRIBS),p=t.getParameter(t.MAX_VERTEX_UNIFORM_VECTORS),m=t.getParameter(t.MAX_VARYING_VECTORS),g=t.getParameter(t.MAX_FRAGMENT_UNIFORM_VECTORS),v=u>0,_=a||e.has("OES_texture_float");return{isWebGL2:a,drawBuffers:A,getMaxAnisotropy:function(){if(void 0!==r)return r;if(!0===e.has("EXT_texture_filter_anisotropic")){const n=e.get("EXT_texture_filter_anisotropic");r=t.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else r=0;return r},getMaxPrecision:i,precision:o,logarithmicDepthBuffer:l,maxTextures:c,maxVertexTextures:u,maxTextureSize:h,maxCubemapSize:d,maxAttributes:f,maxVertexUniforms:p,maxVaryings:m,maxFragmentUniforms:g,vertexTextures:v,floatFragmentTextures:_,floatVertexTextures:v&&_,maxSamples:a?t.getParameter(t.MAX_SAMPLES):0}}function Fr(t){const e=this;let n=null,r=0,i=!1,a=!1;const o=new Er,s=new Dt,A={value:null,needsUpdate:!1};function l(t,n,r,i){const a=null!==t?t.length:0;let l=null;if(0!==a){if(l=A.value,!0!==i||null===l){const e=r+4*a,i=n.matrixWorldInverse;s.getNormalMatrix(i),(null===l||l.length0);e.numPlanes=r,e.numIntersection=0}();else{const t=a?0:r,e=4*t;let i=f.clippingState||null;A.value=i,i=l(u,s,e,c);for(let t=0;t!==e;++t)i[t]=n[t];f.clippingState=i,this.numIntersection=h?this.numPlanes:0,this.numPlanes+=t}}}function zr(t){let e=new WeakMap;function n(t,e){return 303===e?t.mapping=R:304===e&&(t.mapping=P),t}function r(t){const n=t.target;n.removeEventListener("dispose",r);const i=e.get(n);void 0!==i&&(e.delete(n),i.dispose())}return{get:function(i){if(i&&i.isTexture){const a=i.mapping;if(303===a||304===a){if(e.has(i)){return n(e.get(i).texture,i.mapping)}{const a=i.image;if(a&&a.height>0){const o=new xr(a.height);return o.fromEquirectangularTexture(t,i),e.set(i,o),i.addEventListener("dispose",r),n(o.texture,i.mapping)}return null}}}return i},dispose:function(){e=new WeakMap}}}class Gr extends dr{constructor(t=-1,e=1,n=1,r=-1,i=.1,a=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=t,this.right=e,this.top=n,this.bottom=r,this.near=i,this.far=a,this.updateProjectionMatrix()}copy(t,e){return super.copy(t,e),this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this.near=t.near,this.far=t.far,this.zoom=t.zoom,this.view=null===t.view?null:Object.assign({},t.view),this}setViewOffset(t,e,n,r,i,a){null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=n,this.view.offsetY=r,this.view.width=i,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const t=(this.right-this.left)/(2*this.zoom),e=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,r=(this.top+this.bottom)/2;let i=n-t,a=n+t,o=r+e,s=r-e;if(null!==this.view&&this.view.enabled){const t=(this.right-this.left)/this.view.fullWidth/this.zoom,e=(this.top-this.bottom)/this.view.fullHeight/this.zoom;i+=t*this.view.offsetX,a=i+t*this.view.width,o-=e*this.view.offsetY,s=o-e*this.view.height}this.projectionMatrix.makeOrthographic(i,a,o,s,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){const e=super.toJSON(t);return e.object.zoom=this.zoom,e.object.left=this.left,e.object.right=this.right,e.object.top=this.top,e.object.bottom=this.bottom,e.object.near=this.near,e.object.far=this.far,null!==this.view&&(e.object.view=Object.assign({},this.view)),e}}const Hr=[.125,.215,.35,.446,.526,.582],jr=20,Vr=new Gr,Wr=new Mn;let Xr=null,Qr=0,Yr=0;const Zr=(1+Math.sqrt(5))/2,Kr=1/Zr,Jr=[new ae(1,1,1),new ae(-1,1,1),new ae(1,1,-1),new ae(-1,1,-1),new ae(0,Zr,Kr),new ae(0,Zr,-Kr),new ae(Kr,0,Zr),new ae(-Kr,0,Zr),new ae(Zr,Kr,0),new ae(-Zr,Kr,0)];class $r{constructor(t){this._renderer=t,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(t,e=0,n=.1,r=100){Xr=this._renderer.getRenderTarget(),Qr=this._renderer.getActiveCubeFace(),Yr=this._renderer.getActiveMipmapLevel(),this._setSize(256);const i=this._allocateTargets();return i.depthBuffer=!0,this._sceneToCubeUV(t,n,r,i),e>0&&this._blur(i,0,0,e),this._applyPMREM(i),this._cleanup(i),i}fromEquirectangular(t,e=null){return this._fromTexture(t,e)}fromCubemap(t,e=null){return this._fromTexture(t,e)}compileCubemapShader(){null===this._cubemapMaterial&&(this._cubemapMaterial=ri(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){null===this._equirectMaterial&&(this._equirectMaterial=ni(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),null!==this._cubemapMaterial&&this._cubemapMaterial.dispose(),null!==this._equirectMaterial&&this._equirectMaterial.dispose()}_setSize(t){this._lodMax=Math.floor(Math.log2(t)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){null!==this._blurMaterial&&this._blurMaterial.dispose(),null!==this._pingPongRenderTarget&&this._pingPongRenderTarget.dispose();for(let t=0;tt-4?s=Hr[o-t+4-1]:0===o&&(s=0),r.push(s);const A=1/(a-2),l=-A,c=1+A,u=[l,l,c,l,c,c,l,l,c,c,l,c],h=6,d=6,f=3,p=2,m=1,g=new Float32Array(f*d*h),v=new Float32Array(p*d*h),_=new Float32Array(m*d*h);for(let t=0;t2?0:-1,r=[e,n,0,e+2/3,n,0,e+2/3,n+1,0,e,n,0,e+2/3,n+1,0,e,n+1,0];g.set(r,f*d*t),v.set(u,p*d*t);const i=[t,t,t,t,t,t];_.set(i,m*d*t)}const y=new zn;y.setAttribute("position",new Pn(g,f)),y.setAttribute("uv",new Pn(v,p)),y.setAttribute("faceIndex",new Pn(_,m)),e.push(y),i>4&&i--}return{lodPlanes:e,sizeLods:n,sigmas:r}}(r)),this._blurMaterial=function(t,e,n){const r=new Float32Array(jr),i=new ae(0,1,0),a=new hr({name:"SphericalGaussianBlur",defines:{n:jr,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/n,CUBEUV_MAX_MIP:`${t}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:r},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:i}},vertexShader:ii(),fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform int samples;\n\t\t\tuniform float weights[ n ];\n\t\t\tuniform bool latitudinal;\n\t\t\tuniform float dTheta;\n\t\t\tuniform float mipInt;\n\t\t\tuniform vec3 poleAxis;\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include \n\n\t\t\tvec3 getSample( float theta, vec3 axis ) {\n\n\t\t\t\tfloat cosTheta = cos( theta );\n\t\t\t\t// Rodrigues' axis-angle rotation\n\t\t\t\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t\t\t\t+ cross( axis, vOutputDirection ) * sin( theta )\n\t\t\t\t\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n\n\t\t\t\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n\n\t\t\t\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n\n\t\t\t\t\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n\n\t\t\t\t}\n\n\t\t\t\taxis = normalize( axis );\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n\n\t\t\t\tfor ( int i = 1; i < n; i++ ) {\n\n\t\t\t\t\tif ( i >= samples ) {\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfloat theta = dTheta * float( i );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t",blending:0,depthTest:!1,depthWrite:!1});return a}(r,t,e)}return r}_compileMaterial(t){const e=new ar(this._lodPlanes[0],t);this._renderer.compile(e,Vr)}_sceneToCubeUV(t,e,n,r){const i=new gr(90,1,e,n),a=[1,-1,1,1,1,1],o=[1,1,1,-1,-1,-1],s=this._renderer,A=s.autoClear,l=s.toneMapping;s.getClearColor(Wr),s.toneMapping=b,s.autoClear=!1;const c=new Tn({name:"PMREM.Background",side:g,depthWrite:!1,depthTest:!1}),u=new ar(new sr,c);let h=!1;const d=t.background;d?d.isColor&&(c.color.copy(d),t.background=null,h=!0):(c.color.copy(Wr),h=!0);for(let e=0;e<6;e++){const n=e%3;0===n?(i.up.set(0,a[e],0),i.lookAt(o[e],0,0)):1===n?(i.up.set(0,0,a[e]),i.lookAt(0,o[e],0)):(i.up.set(0,a[e],0),i.lookAt(0,0,o[e]));const A=this._cubeSize;ei(r,n*A,e>2?A:0,A,A),s.setRenderTarget(r),h&&s.render(u,i),s.render(t,i)}u.geometry.dispose(),u.material.dispose(),s.toneMapping=l,s.autoClear=A,t.background=d}_textureToCubeUV(t,e){const n=this._renderer,r=t.mapping===R||t.mapping===P;r?(null===this._cubemapMaterial&&(this._cubemapMaterial=ri()),this._cubemapMaterial.uniforms.flipEnvMap.value=!1===t.isRenderTargetTexture?-1:1):null===this._equirectMaterial&&(this._equirectMaterial=ni());const i=r?this._cubemapMaterial:this._equirectMaterial,a=new ar(this._lodPlanes[0],i);i.uniforms.envMap.value=t;const o=this._cubeSize;ei(e,0,0,3*o,2*o),n.setRenderTarget(e),n.render(a,Vr)}_applyPMREM(t){const e=this._renderer,n=e.autoClear;e.autoClear=!1;for(let e=1;ejr&&console.warn(`sigmaRadians, ${i}, is too large and will clip, as it requested ${f} samples when the maximum is set to 20`);const p=[];let m=0;for(let t=0;tg-4?r-g+4:0),4*(this._cubeSize-v),3*v,2*v),s.setRenderTarget(e),s.render(l,Vr)}}function ti(t,e,n){const r=new ee(t,e,n);return r.texture.mapping=L,r.texture.name="PMREM.cubeUv",r.scissorTest=!0,r}function ei(t,e,n,r,i){t.viewport.set(e,n,r,i),t.scissor.set(e,n,r,i)}function ni(){return new hr({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:ii(),fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\n\t\t\t#include \n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );\n\n\t\t\t\tgl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 );\n\n\t\t\t}\n\t\t",blending:0,depthTest:!1,depthWrite:!1})}function ri(){return new hr({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:ii(),fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tuniform float flipEnvMap;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform samplerCube envMap;\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) );\n\n\t\t\t}\n\t\t",blending:0,depthTest:!1,depthWrite:!1})}function ii(){return"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t"}function ai(t){let e=new WeakMap,n=null;function r(t){const n=t.target;n.removeEventListener("dispose",r);const i=e.get(n);void 0!==i&&(e.delete(n),i.dispose())}return{get:function(i){if(i&&i.isTexture){const a=i.mapping,o=303===a||304===a,s=a===R||a===P;if(o||s){if(i.isRenderTargetTexture&&!0===i.needsPMREMUpdate){i.needsPMREMUpdate=!1;let r=e.get(i);return null===n&&(n=new $r(t)),r=o?n.fromEquirectangular(i,r):n.fromCubemap(i,r),e.set(i,r),r.texture}if(e.has(i))return e.get(i).texture;{const a=i.image;if(o&&a&&a.height>0||s&&a&&function(t){let e=0;const n=6;for(let r=0;re.maxTextureSize&&(E=Math.ceil(w/e.maxTextureSize),w=e.maxTextureSize);const S=new Float32Array(w*E*4*d),T=new ne(S,w,E,d);T.type=j,T.needsUpdate=!0;const C=4*M;for(let P=0;P0)return t;const i=e*n;let a=yi[i];if(void 0===a&&(a=new Float32Array(i),yi[i]=a),0!==e){r.toArray(a,0);for(let r=1,i=0;r!==e;++r)i+=n,t[r].toArray(a,i)}return a}function Si(t,e){if(t.length!==e.length)return!1;for(let n=0,r=t.length;n":" "} ${i}: ${n[t]}`)}return r.join("\n")}(t.getShaderSource(e),r)}return i}function wa(t,e){const n=function(t){const e=Ht.getPrimaries(Ht.workingColorSpace),n=Ht.getPrimaries(t);let r;switch(e===n?r="":e===ct&&n===lt?r="LinearDisplayP3ToLinearSRGB":e===lt&&n===ct&&(r="LinearSRGBToLinearDisplayP3"),t){case it:case ot:return[r,"LinearTransferOETF"];case rt:case at:return[r,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",t),[r,"LinearTransferOETF"]}}(e);return`vec4 ${t}( vec4 value ) { return ${n[0]}( ${n[1]}( value ) ); }`}function Ea(t,e){let n;switch(e){case M:n="Linear";break;case w:n="Reinhard";break;case E:n="OptimizedCineon";break;case S:n="ACESFilmic";break;case C:n="AgX";break;case T:n="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),n="Linear"}return"vec3 "+t+"( vec3 color ) { return "+n+"ToneMapping( color ); }"}function Sa(t){return""!==t}function Ta(t,e){const n=e.numSpotLightShadows+e.numSpotLightMaps-e.numSpotLightShadowsWithMaps;return t.replace(/NUM_DIR_LIGHTS/g,e.numDirLights).replace(/NUM_SPOT_LIGHTS/g,e.numSpotLights).replace(/NUM_SPOT_LIGHT_MAPS/g,e.numSpotLightMaps).replace(/NUM_SPOT_LIGHT_COORDS/g,n).replace(/NUM_RECT_AREA_LIGHTS/g,e.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,e.numPointLights).replace(/NUM_HEMI_LIGHTS/g,e.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,e.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS/g,e.numSpotLightShadowsWithMaps).replace(/NUM_SPOT_LIGHT_SHADOWS/g,e.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,e.numPointLightShadows)}function Ca(t,e){return t.replace(/NUM_CLIPPING_PLANES/g,e.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,e.numClippingPlanes-e.numClipIntersection)}const Ra=/^[ \t]*#include +<([\w\d./]+)>/gm;function Pa(t){return t.replace(Ra,Da)}const La=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function Da(t,e){let n=Dr[e];if(void 0===n){const t=La.get(e);if(void 0===t)throw new Error("Can not resolve #include <"+e+">");n=Dr[t],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',e,t)}return Pa(n)}const Oa=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function Ia(t){return t.replace(Oa,qa)}function qa(t,e,n,r){let i="";for(let t=parseInt(e);t0&&(w+="\n"),E=[m,"#define SHADER_TYPE "+n.shaderType,"#define SHADER_NAME "+n.shaderName,v].filter(Sa).join("\n"),E.length>0&&(E+="\n")):(w=[Ua(n),"#define SHADER_TYPE "+n.shaderType,"#define SHADER_NAME "+n.shaderName,v,n.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",n.batching?"#define USE_BATCHING":"",n.instancing?"#define USE_INSTANCING":"",n.instancingColor?"#define USE_INSTANCING_COLOR":"",n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+c:"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",n.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",n.displacementMap?"#define USE_DISPLACEMENTMAP":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.anisotropy?"#define USE_ANISOTROPY":"",n.anisotropyMap?"#define USE_ANISOTROPYMAP":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",n.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",n.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.alphaHash?"#define USE_ALPHAHASH":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",n.mapUv?"#define MAP_UV "+n.mapUv:"",n.alphaMapUv?"#define ALPHAMAP_UV "+n.alphaMapUv:"",n.lightMapUv?"#define LIGHTMAP_UV "+n.lightMapUv:"",n.aoMapUv?"#define AOMAP_UV "+n.aoMapUv:"",n.emissiveMapUv?"#define EMISSIVEMAP_UV "+n.emissiveMapUv:"",n.bumpMapUv?"#define BUMPMAP_UV "+n.bumpMapUv:"",n.normalMapUv?"#define NORMALMAP_UV "+n.normalMapUv:"",n.displacementMapUv?"#define DISPLACEMENTMAP_UV "+n.displacementMapUv:"",n.metalnessMapUv?"#define METALNESSMAP_UV "+n.metalnessMapUv:"",n.roughnessMapUv?"#define ROUGHNESSMAP_UV "+n.roughnessMapUv:"",n.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+n.anisotropyMapUv:"",n.clearcoatMapUv?"#define CLEARCOATMAP_UV "+n.clearcoatMapUv:"",n.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+n.clearcoatNormalMapUv:"",n.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+n.clearcoatRoughnessMapUv:"",n.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+n.iridescenceMapUv:"",n.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+n.iridescenceThicknessMapUv:"",n.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+n.sheenColorMapUv:"",n.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+n.sheenRoughnessMapUv:"",n.specularMapUv?"#define SPECULARMAP_UV "+n.specularMapUv:"",n.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+n.specularColorMapUv:"",n.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+n.specularIntensityMapUv:"",n.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+n.transmissionMapUv:"",n.thicknessMapUv?"#define THICKNESSMAP_UV "+n.thicknessMapUv:"",n.vertexTangents&&!1===n.flatShading?"#define USE_TANGENT":"",n.vertexColors?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUv1s?"#define USE_UV1":"",n.vertexUv2s?"#define USE_UV2":"",n.vertexUv3s?"#define USE_UV3":"",n.pointsUvs?"#define USE_POINTS_UV":"",n.flatShading?"#define FLAT_SHADED":"",n.skinning?"#define USE_SKINNING":"",n.morphTargets?"#define USE_MORPHTARGETS":"",n.morphNormals&&!1===n.flatShading?"#define USE_MORPHNORMALS":"",n.morphColors&&n.isWebGL2?"#define USE_MORPHCOLORS":"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+n.morphTextureStride:"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_COUNT "+n.morphTargetsCount:"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+A:"",n.sizeAttenuation?"#define USE_SIZEATTENUATION":"",n.numLightProbes>0?"#define USE_LIGHT_PROBES":"",n.useLegacyLights?"#define LEGACY_LIGHTS":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING","\tattribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR","\tattribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_UV1","\tattribute vec2 uv1;","#endif","#ifdef USE_UV2","\tattribute vec2 uv2;","#endif","#ifdef USE_UV3","\tattribute vec2 uv3;","#endif","#ifdef USE_TANGENT","\tattribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )","\tattribute vec4 color;","#elif defined( USE_COLOR )","\tattribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )","\tattribute vec3 morphTarget0;","\tattribute vec3 morphTarget1;","\tattribute vec3 morphTarget2;","\tattribute vec3 morphTarget3;","\t#ifdef USE_MORPHNORMALS","\t\tattribute vec3 morphNormal0;","\t\tattribute vec3 morphNormal1;","\t\tattribute vec3 morphNormal2;","\t\tattribute vec3 morphNormal3;","\t#else","\t\tattribute vec3 morphTarget4;","\t\tattribute vec3 morphTarget5;","\t\tattribute vec3 morphTarget6;","\t\tattribute vec3 morphTarget7;","\t#endif","#endif","#ifdef USE_SKINNING","\tattribute vec4 skinIndex;","\tattribute vec4 skinWeight;","#endif","\n"].filter(Sa).join("\n"),E=[m,Ua(n),"#define SHADER_TYPE "+n.shaderType,"#define SHADER_NAME "+n.shaderName,v,n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.alphaToCoverage?"#define ALPHA_TO_COVERAGE":"",n.map?"#define USE_MAP":"",n.matcap?"#define USE_MATCAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+l:"",n.envMap?"#define "+c:"",n.envMap?"#define "+u:"",h?"#define CUBEUV_TEXEL_WIDTH "+h.texelWidth:"",h?"#define CUBEUV_TEXEL_HEIGHT "+h.texelHeight:"",h?"#define CUBEUV_MAX_MIP "+h.maxMip+".0":"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",n.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.anisotropy?"#define USE_ANISOTROPY":"",n.anisotropyMap?"#define USE_ANISOTROPYMAP":"",n.clearcoat?"#define USE_CLEARCOAT":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.iridescence?"#define USE_IRIDESCENCE":"",n.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",n.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",n.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.alphaTest?"#define USE_ALPHATEST":"",n.alphaHash?"#define USE_ALPHAHASH":"",n.sheen?"#define USE_SHEEN":"",n.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.vertexTangents&&!1===n.flatShading?"#define USE_TANGENT":"",n.vertexColors||n.instancingColor?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUv1s?"#define USE_UV1":"",n.vertexUv2s?"#define USE_UV2":"",n.vertexUv3s?"#define USE_UV3":"",n.pointsUvs?"#define USE_POINTS_UV":"",n.gradientMap?"#define USE_GRADIENTMAP":"",n.flatShading?"#define FLAT_SHADED":"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+A:"",n.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",n.numLightProbes>0?"#define USE_LIGHT_PROBES":"",n.useLegacyLights?"#define LEGACY_LIGHTS":"",n.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",n.toneMapping!==b?"#define TONE_MAPPING":"",n.toneMapping!==b?Dr.tonemapping_pars_fragment:"",n.toneMapping!==b?Ea("toneMapping",n.toneMapping):"",n.dithering?"#define DITHERING":"",n.opaque?"#define OPAQUE":"",Dr.colorspace_pars_fragment,wa("linearToOutputTexel",n.outputColorSpace),n.useDepthPacking?"#define DEPTH_PACKING "+n.depthPacking:"","\n"].filter(Sa).join("\n")),o=Pa(o),o=Ta(o,n),o=Ca(o,n),s=Pa(s),s=Ta(s,n),s=Ca(s,n),o=Ia(o),s=Ia(s),n.isWebGL2&&!0!==n.isRawShaderMaterial&&(S="#version 300 es\n",w=[g,"precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+w,E=["precision mediump sampler2DArray;","#define varying in",n.glslVersion===dt?"":"layout(location = 0) out highp vec4 pc_fragColor;",n.glslVersion===dt?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join("\n")+"\n"+E);const T=S+w+o,C=S+E+s,D=ya(i,i.VERTEX_SHADER,T),O=ya(i,i.FRAGMENT_SHADER,C);function I(e){if(t.debug.checkShaderErrors){const n=i.getProgramInfoLog(M).trim(),r=i.getShaderInfoLog(D).trim(),a=i.getShaderInfoLog(O).trim();let o=!0,s=!0;if(!1===i.getProgramParameter(M,i.LINK_STATUS))if(o=!1,"function"==typeof t.debug.onShaderError)t.debug.onShaderError(i,M,D,O);else{const t=Ma(i,D,"vertex"),r=Ma(i,O,"fragment");console.error("THREE.WebGLProgram: Shader Error "+i.getError()+" - VALIDATE_STATUS "+i.getProgramParameter(M,i.VALIDATE_STATUS)+"\n\nMaterial Name: "+e.name+"\nMaterial Type: "+e.type+"\n\nProgram Info Log: "+n+"\n"+t+"\n"+r)}else""!==n?console.warn("THREE.WebGLProgram: Program Info Log:",n):""!==r&&""!==a||(s=!1);s&&(e.diagnostics={runnable:o,programLog:n,vertexShader:{log:r,prefix:w},fragmentShader:{log:a,prefix:E}})}i.deleteShader(D),i.deleteShader(O),q=new _a(i,M),U=function(t,e){const n={},r=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES);for(let i=0;i0,Z=a.clearcoat>0,K=a.iridescence>0,J=a.sheen>0,$=a.transmission>0,tt=Y&&!!a.anisotropyMap,et=Z&&!!a.clearcoatMap,nt=Z&&!!a.clearcoatNormalMap,rt=Z&&!!a.clearcoatRoughnessMap,at=K&&!!a.iridescenceMap,ot=K&&!!a.iridescenceThicknessMap,st=J&&!!a.sheenColorMap,lt=J&&!!a.sheenRoughnessMap,ct=!!a.specularMap,ut=!!a.specularColorMap,ht=!!a.specularIntensityMap,dt=$&&!!a.transmissionMap,ft=$&&!!a.thicknessMap,pt=!!a.gradientMap,mt=!!a.alphaMap,gt=a.alphaTest>0,vt=!!a.alphaHash,_t=!!a.extensions;let yt=b;a.toneMapped&&(null!==q&&!0!==q.isXRRenderTarget||(yt=t.toneMapping));const xt={isWebGL2:u,shaderID:S,shaderType:a.type,shaderName:a.name,vertexShader:R,fragmentShader:P,defines:a.defines,customVertexShaderID:D,customFragmentShaderID:O,isRawShaderMaterial:!0===a.isRawShaderMaterial,glslVersion:a.glslVersion,precision:f,batching:N,instancing:U,instancingColor:U&&null!==_.instanceColor,supportsVertexTextures:d,outputColorSpace:null===q?t.outputColorSpace:!0===q.isXRRenderTarget?q.texture.colorSpace:it,alphaToCoverage:!!a.alphaToCoverage,map:B,matcap:k,envMap:F,envMapMode:F&&w.mapping,envMapCubeUVHeight:E,aoMap:z,lightMap:G,bumpMap:H,normalMap:j,displacementMap:d&&V,emissiveMap:W,normalMapObjectSpace:j&&1===a.normalMapType,normalMapTangentSpace:j&&0===a.normalMapType,metalnessMap:X,roughnessMap:Q,anisotropy:Y,anisotropyMap:tt,clearcoat:Z,clearcoatMap:et,clearcoatNormalMap:nt,clearcoatRoughnessMap:rt,iridescence:K,iridescenceMap:at,iridescenceThicknessMap:ot,sheen:J,sheenColorMap:st,sheenRoughnessMap:lt,specularMap:ct,specularColorMap:ut,specularIntensityMap:ht,transmission:$,transmissionMap:dt,thicknessMap:ft,gradientMap:pt,opaque:!1===a.transparent&&1===a.blending&&!1===a.alphaToCoverage,alphaMap:mt,alphaTest:gt,alphaHash:vt,combine:a.combine,mapUv:B&&m(a.map.channel),aoMapUv:z&&m(a.aoMap.channel),lightMapUv:G&&m(a.lightMap.channel),bumpMapUv:H&&m(a.bumpMap.channel),normalMapUv:j&&m(a.normalMap.channel),displacementMapUv:V&&m(a.displacementMap.channel),emissiveMapUv:W&&m(a.emissiveMap.channel),metalnessMapUv:X&&m(a.metalnessMap.channel),roughnessMapUv:Q&&m(a.roughnessMap.channel),anisotropyMapUv:tt&&m(a.anisotropyMap.channel),clearcoatMapUv:et&&m(a.clearcoatMap.channel),clearcoatNormalMapUv:nt&&m(a.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:rt&&m(a.clearcoatRoughnessMap.channel),iridescenceMapUv:at&&m(a.iridescenceMap.channel),iridescenceThicknessMapUv:ot&&m(a.iridescenceThicknessMap.channel),sheenColorMapUv:st&&m(a.sheenColorMap.channel),sheenRoughnessMapUv:lt&&m(a.sheenRoughnessMap.channel),specularMapUv:ct&&m(a.specularMap.channel),specularColorMapUv:ut&&m(a.specularColorMap.channel),specularIntensityMapUv:ht&&m(a.specularIntensityMap.channel),transmissionMapUv:dt&&m(a.transmissionMap.channel),thicknessMapUv:ft&&m(a.thicknessMap.channel),alphaMapUv:mt&&m(a.alphaMap.channel),vertexTangents:!!x.attributes.tangent&&(j||Y),vertexColors:a.vertexColors,vertexAlphas:!0===a.vertexColors&&!!x.attributes.color&&4===x.attributes.color.itemSize,pointsUvs:!0===_.isPoints&&!!x.attributes.uv&&(B||mt),fog:!!y,useFog:!0===a.fog,fogExp2:!!y&&y.isFogExp2,flatShading:!0===a.flatShading,sizeAttenuation:!0===a.sizeAttenuation,logarithmicDepthBuffer:h,skinning:!0===_.isSkinnedMesh,morphTargets:void 0!==x.morphAttributes.position,morphNormals:void 0!==x.morphAttributes.normal,morphColors:void 0!==x.morphAttributes.color,morphTargetsCount:C,morphTextureStride:I,numDirLights:s.directional.length,numPointLights:s.point.length,numSpotLights:s.spot.length,numSpotLightMaps:s.spotLightMap.length,numRectAreaLights:s.rectArea.length,numHemiLights:s.hemi.length,numDirLightShadows:s.directionalShadowMap.length,numPointLightShadows:s.pointShadowMap.length,numSpotLightShadows:s.spotShadowMap.length,numSpotLightShadowsWithMaps:s.numSpotLightShadowsWithMaps,numLightProbes:s.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:a.dithering,shadowMapEnabled:t.shadowMap.enabled&&c.length>0,shadowMapType:t.shadowMap.type,toneMapping:yt,useLegacyLights:t._useLegacyLights,decodeVideoTexture:B&&!0===a.map.isVideoTexture&&Ht.getTransfer(a.map.colorSpace)===At,premultipliedAlpha:a.premultipliedAlpha,doubleSided:2===a.side,flipSided:a.side===g,useDepthPacking:a.depthPacking>=0,depthPacking:a.depthPacking||0,index0AttributeName:a.index0AttributeName,extensionDerivatives:_t&&!0===a.extensions.derivatives,extensionFragDepth:_t&&!0===a.extensions.fragDepth,extensionDrawBuffers:_t&&!0===a.extensions.drawBuffers,extensionShaderTextureLOD:_t&&!0===a.extensions.shaderTextureLOD,extensionClipCullDistance:_t&&!0===a.extensions.clipCullDistance&&r.has("WEBGL_clip_cull_distance"),extensionMultiDraw:_t&&!0===a.extensions.multiDraw&&r.has("WEBGL_multi_draw"),rendererExtensionFragDepth:u||r.has("EXT_frag_depth"),rendererExtensionDrawBuffers:u||r.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:u||r.has("EXT_shader_texture_lod"),rendererExtensionParallelShaderCompile:r.has("KHR_parallel_shader_compile"),customProgramCacheKey:a.customProgramCacheKey()};return xt.vertexUv1s=l.has(1),xt.vertexUv2s=l.has(2),xt.vertexUv3s=l.has(3),l.clear(),xt},getProgramCacheKey:function(e){const n=[];if(e.shaderID?n.push(e.shaderID):(n.push(e.customVertexShaderID),n.push(e.customFragmentShaderID)),void 0!==e.defines)for(const t in e.defines)n.push(t),n.push(e.defines[t]);return!1===e.isRawShaderMaterial&&(!function(t,e){t.push(e.precision),t.push(e.outputColorSpace),t.push(e.envMapMode),t.push(e.envMapCubeUVHeight),t.push(e.mapUv),t.push(e.alphaMapUv),t.push(e.lightMapUv),t.push(e.aoMapUv),t.push(e.bumpMapUv),t.push(e.normalMapUv),t.push(e.displacementMapUv),t.push(e.emissiveMapUv),t.push(e.metalnessMapUv),t.push(e.roughnessMapUv),t.push(e.anisotropyMapUv),t.push(e.clearcoatMapUv),t.push(e.clearcoatNormalMapUv),t.push(e.clearcoatRoughnessMapUv),t.push(e.iridescenceMapUv),t.push(e.iridescenceThicknessMapUv),t.push(e.sheenColorMapUv),t.push(e.sheenRoughnessMapUv),t.push(e.specularMapUv),t.push(e.specularColorMapUv),t.push(e.specularIntensityMapUv),t.push(e.transmissionMapUv),t.push(e.thicknessMapUv),t.push(e.combine),t.push(e.fogExp2),t.push(e.sizeAttenuation),t.push(e.morphTargetsCount),t.push(e.morphAttributeCount),t.push(e.numDirLights),t.push(e.numPointLights),t.push(e.numSpotLights),t.push(e.numSpotLightMaps),t.push(e.numHemiLights),t.push(e.numRectAreaLights),t.push(e.numDirLightShadows),t.push(e.numPointLightShadows),t.push(e.numSpotLightShadows),t.push(e.numSpotLightShadowsWithMaps),t.push(e.numLightProbes),t.push(e.shadowMapType),t.push(e.toneMapping),t.push(e.numClippingPlanes),t.push(e.numClipIntersection),t.push(e.depthPacking)}(n,e),function(t,e){s.disableAll(),e.isWebGL2&&s.enable(0);e.supportsVertexTextures&&s.enable(1);e.instancing&&s.enable(2);e.instancingColor&&s.enable(3);e.matcap&&s.enable(4);e.envMap&&s.enable(5);e.normalMapObjectSpace&&s.enable(6);e.normalMapTangentSpace&&s.enable(7);e.clearcoat&&s.enable(8);e.iridescence&&s.enable(9);e.alphaTest&&s.enable(10);e.vertexColors&&s.enable(11);e.vertexAlphas&&s.enable(12);e.vertexUv1s&&s.enable(13);e.vertexUv2s&&s.enable(14);e.vertexUv3s&&s.enable(15);e.vertexTangents&&s.enable(16);e.anisotropy&&s.enable(17);e.alphaHash&&s.enable(18);e.batching&&s.enable(19);t.push(s.mask),s.disableAll(),e.fog&&s.enable(0);e.useFog&&s.enable(1);e.flatShading&&s.enable(2);e.logarithmicDepthBuffer&&s.enable(3);e.skinning&&s.enable(4);e.morphTargets&&s.enable(5);e.morphNormals&&s.enable(6);e.morphColors&&s.enable(7);e.premultipliedAlpha&&s.enable(8);e.shadowMapEnabled&&s.enable(9);e.useLegacyLights&&s.enable(10);e.doubleSided&&s.enable(11);e.flipSided&&s.enable(12);e.useDepthPacking&&s.enable(13);e.dithering&&s.enable(14);e.transmission&&s.enable(15);e.sheen&&s.enable(16);e.opaque&&s.enable(17);e.pointsUvs&&s.enable(18);e.decodeVideoTexture&&s.enable(19);e.alphaToCoverage&&s.enable(20);t.push(s.mask)}(n,e),n.push(t.outputColorSpace)),n.push(e.customProgramCacheKey),n.join()},getUniforms:function(t){const e=p[t.type];let n;if(e){const t=Ir[e];n=ur.clone(t.uniforms)}else n=t.uniforms;return n},acquireProgram:function(e,n){let r;for(let t=0,e=c.length;t0?r.push(c):!0===o.transparent?i.push(c):n.push(c)},unshift:function(t,e,o,s,A,l){const c=a(t,e,o,s,A,l);o.transmission>0?r.unshift(c):!0===o.transparent?i.unshift(c):n.unshift(c)},finish:function(){for(let n=e,r=t.length;n1&&n.sort(t||Ha),r.length>1&&r.sort(e||ja),i.length>1&&i.sort(e||ja)}}}function Wa(){let t=new WeakMap;return{get:function(e,n){const r=t.get(e);let i;return void 0===r?(i=new Va,t.set(e,[i])):n>=r.length?(i=new Va,r.push(i)):i=r[n],i},dispose:function(){t=new WeakMap}}}function Xa(){const t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];let n;switch(e.type){case"DirectionalLight":n={direction:new ae,color:new Mn};break;case"SpotLight":n={position:new ae,direction:new ae,color:new Mn,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":n={position:new ae,color:new Mn,distance:0,decay:0};break;case"HemisphereLight":n={direction:new ae,skyColor:new Mn,groundColor:new Mn};break;case"RectAreaLight":n={color:new Mn,position:new ae,halfWidth:new ae,halfHeight:new ae}}return t[e.id]=n,n}}}let Qa=0;function Ya(t,e){return(e.castShadow?2:0)-(t.castShadow?2:0)+(e.map?1:0)-(t.map?1:0)}function Za(t,e){const n=new Xa,r=function(){const t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];let n;switch(e.type){case"DirectionalLight":case"SpotLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Lt};break;case"PointLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Lt,shadowCameraNear:1,shadowCameraFar:1e3}}return t[e.id]=n,n}}}(),i={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let t=0;t<9;t++)i.probe.push(new ae);const a=new ae,o=new qe,s=new qe;return{setup:function(a,o){let s=0,A=0,l=0;for(let t=0;t<9;t++)i.probe[t].set(0,0,0);let c=0,u=0,h=0,d=0,f=0,p=0,m=0,g=0,v=0,_=0,y=0;a.sort(Ya);const x=!0===o?Math.PI:1;for(let t=0,e=a.length;t0&&(e.isWebGL2?!0===t.has("OES_texture_float_linear")?(i.rectAreaLTC1=Or.LTC_FLOAT_1,i.rectAreaLTC2=Or.LTC_FLOAT_2):(i.rectAreaLTC1=Or.LTC_HALF_1,i.rectAreaLTC2=Or.LTC_HALF_2):!0===t.has("OES_texture_float_linear")?(i.rectAreaLTC1=Or.LTC_FLOAT_1,i.rectAreaLTC2=Or.LTC_FLOAT_2):!0===t.has("OES_texture_half_float_linear")?(i.rectAreaLTC1=Or.LTC_HALF_1,i.rectAreaLTC2=Or.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),i.ambient[0]=s,i.ambient[1]=A,i.ambient[2]=l;const b=i.hash;b.directionalLength===c&&b.pointLength===u&&b.spotLength===h&&b.rectAreaLength===d&&b.hemiLength===f&&b.numDirectionalShadows===p&&b.numPointShadows===m&&b.numSpotShadows===g&&b.numSpotMaps===v&&b.numLightProbes===y||(i.directional.length=c,i.spot.length=h,i.rectArea.length=d,i.point.length=u,i.hemi.length=f,i.directionalShadow.length=p,i.directionalShadowMap.length=p,i.pointShadow.length=m,i.pointShadowMap.length=m,i.spotShadow.length=g,i.spotShadowMap.length=g,i.directionalShadowMatrix.length=p,i.pointShadowMatrix.length=m,i.spotLightMatrix.length=g+v-_,i.spotLightMap.length=v,i.numSpotLightShadowsWithMaps=_,i.numLightProbes=y,b.directionalLength=c,b.pointLength=u,b.spotLength=h,b.rectAreaLength=d,b.hemiLength=f,b.numDirectionalShadows=p,b.numPointShadows=m,b.numSpotShadows=g,b.numSpotMaps=v,b.numLightProbes=y,i.version=Qa++)},setupView:function(t,e){let n=0,r=0,A=0,l=0,c=0;const u=e.matrixWorldInverse;for(let e=0,h=t.length;e=a.length?(o=new Ka(t,e),a.push(o)):o=a[i],o},dispose:function(){n=new WeakMap}}}class $a extends Sn{constructor(t){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=3200,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(t)}copy(t){return super.copy(t),this.depthPacking=t.depthPacking,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this}}class to extends Sn{constructor(t){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(t)}copy(t){return super.copy(t),this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this}}function eo(t,e,n){let r=new Cr;const i=new Lt,a=new Lt,o=new $t,s=new $a({depthPacking:3201}),A=new to,l={},c=n.maxTextureSize,u={[m]:g,[g]:m,2:2},h=new hr({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new Lt},radius:{value:4}},vertexShader:"void main() {\n\tgl_Position = vec4( position, 1.0 );\n}",fragmentShader:"uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include \nvoid main() {\n\tconst float samples = float( VSM_SAMPLES );\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\n\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\n\tfor ( float i = 0.0; i < samples; i ++ ) {\n\t\tfloat uvOffset = uvStart + i * uvStride;\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean / samples;\n\tsquared_mean = squared_mean / samples;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}"}),f=h.clone();f.defines.HORIZONTAL_PASS=1;const v=new zn;v.setAttribute("position",new Pn(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const _=new ar(v,h),y=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=d;let x=this.type;function b(n,r){const a=e.update(_);h.defines.VSM_SAMPLES!==n.blurSamples&&(h.defines.VSM_SAMPLES=n.blurSamples,f.defines.VSM_SAMPLES=n.blurSamples,h.needsUpdate=!0,f.needsUpdate=!0),null===n.mapPass&&(n.mapPass=new ee(i.x,i.y)),h.uniforms.shadow_pass.value=n.map.texture,h.uniforms.resolution.value=n.mapSize,h.uniforms.radius.value=n.radius,t.setRenderTarget(n.mapPass),t.clear(),t.renderBufferDirect(r,null,a,h,_,null),f.uniforms.shadow_pass.value=n.mapPass.texture,f.uniforms.resolution.value=n.mapSize,f.uniforms.radius.value=n.radius,t.setRenderTarget(n.map),t.clear(),t.renderBufferDirect(r,null,a,f,_,null)}function M(e,n,r,i){let a=null;const o=!0===r.isPointLight?e.customDistanceMaterial:e.customDepthMaterial;if(void 0!==o)a=o;else if(a=!0===r.isPointLight?A:s,t.localClippingEnabled&&!0===n.clipShadows&&Array.isArray(n.clippingPlanes)&&0!==n.clippingPlanes.length||n.displacementMap&&0!==n.displacementScale||n.alphaMap&&n.alphaTest>0||n.map&&n.alphaTest>0){const t=a.uuid,e=n.uuid;let r=l[t];void 0===r&&(r={},l[t]=r);let i=r[e];void 0===i&&(i=a.clone(),r[e]=i,n.addEventListener("dispose",E)),a=i}if(a.visible=n.visible,a.wireframe=n.wireframe,a.side=i===p?null!==n.shadowSide?n.shadowSide:n.side:null!==n.shadowSide?n.shadowSide:u[n.side],a.alphaMap=n.alphaMap,a.alphaTest=n.alphaTest,a.map=n.map,a.clipShadows=n.clipShadows,a.clippingPlanes=n.clippingPlanes,a.clipIntersection=n.clipIntersection,a.displacementMap=n.displacementMap,a.displacementScale=n.displacementScale,a.displacementBias=n.displacementBias,a.wireframeLinewidth=n.wireframeLinewidth,a.linewidth=n.linewidth,!0===r.isPointLight&&!0===a.isMeshDistanceMaterial){t.properties.get(a).light=r}return a}function w(n,i,a,o,s){if(!1===n.visible)return;if(n.layers.test(i.layers)&&(n.isMesh||n.isLine||n.isPoints)&&(n.castShadow||n.receiveShadow&&s===p)&&(!n.frustumCulled||r.intersectsObject(n))){n.modelViewMatrix.multiplyMatrices(a.matrixWorldInverse,n.matrixWorld);const r=e.update(n),A=n.material;if(Array.isArray(A)){const e=r.groups;for(let l=0,c=e.length;lc||i.y>c)&&(i.x>c&&(a.x=Math.floor(c/m.x),i.x=a.x*m.x,u.mapSize.x=a.x),i.y>c&&(a.y=Math.floor(c/m.y),i.y=a.y*m.y,u.mapSize.y=a.y)),null===u.map||!0===d||!0===f){const t=this.type!==p?{minFilter:q,magFilter:q}:{};null!==u.map&&u.map.dispose(),u.map=new ee(i.x,i.y,t),u.map.texture.name=l.name+".shadowMap",u.camera.updateProjectionMatrix()}t.setRenderTarget(u.map),t.clear();const g=u.getViewportCount();for(let t=0;t=1):-1!==q.indexOf("OpenGL ES")&&(I=parseFloat(/^OpenGL ES (\d)/.exec(q)[1]),O=I>=2);let U=null,N={};const B=t.getParameter(t.SCISSOR_BOX),k=t.getParameter(t.VIEWPORT),F=(new $t).fromArray(B),z=(new $t).fromArray(k);function G(e,n,i,a){const o=new Uint8Array(4),s=t.createTexture();t.bindTexture(e,s),t.texParameteri(e,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(e,t.TEXTURE_MAG_FILTER,t.NEAREST);for(let s=0;sr||t.height>r)&&(i=r/Math.max(t.width,t.height)),i<1||!0===e){if("undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap){const r=e?Tt:Math.floor,a=r(i*t.width),o=r(i*t.height);void 0===u&&(u=f(a,o));const s=n?f(a,o):u;s.width=a,s.height=o;return s.getContext("2d").drawImage(t,0,0,a,o),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+t.width+"x"+t.height+") to ("+a+"x"+o+")."),s}return"data"in t&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+t.width+"x"+t.height+")."),t}return t}function m(t){return St(t.width)&&St(t.height)}function g(t,e){return t.generateMipmaps&&e&&t.minFilter!==q&&t.minFilter!==N}function v(e){t.generateMipmap(e)}function _(n,r,i,a,o=!1){if(!1===s)return r;if(null!==n){if(void 0!==t[n])return t[n];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+n+"'")}let A=r;if(r===t.RED&&(i===t.FLOAT&&(A=t.R32F),i===t.HALF_FLOAT&&(A=t.R16F),i===t.UNSIGNED_BYTE&&(A=t.R8)),r===t.RED_INTEGER&&(i===t.UNSIGNED_BYTE&&(A=t.R8UI),i===t.UNSIGNED_SHORT&&(A=t.R16UI),i===t.UNSIGNED_INT&&(A=t.R32UI),i===t.BYTE&&(A=t.R8I),i===t.SHORT&&(A=t.R16I),i===t.INT&&(A=t.R32I)),r===t.RG&&(i===t.FLOAT&&(A=t.RG32F),i===t.HALF_FLOAT&&(A=t.RG16F),i===t.UNSIGNED_BYTE&&(A=t.RG8)),r===t.RGBA){const e=o?st:Ht.getTransfer(a);i===t.FLOAT&&(A=t.RGBA32F),i===t.HALF_FLOAT&&(A=t.RGBA16F),i===t.UNSIGNED_BYTE&&(A=e===At?t.SRGB8_ALPHA8:t.RGBA8),i===t.UNSIGNED_SHORT_4_4_4_4&&(A=t.RGBA4),i===t.UNSIGNED_SHORT_5_5_5_1&&(A=t.RGB5_A1)}return A!==t.R16F&&A!==t.R32F&&A!==t.RG16F&&A!==t.RG32F&&A!==t.RGBA16F&&A!==t.RGBA32F||e.get("EXT_color_buffer_float"),A}function y(t,e,n){return!0===g(t,n)||t.isFramebufferTexture&&t.minFilter!==q&&t.minFilter!==N?Math.log2(Math.max(e.width,e.height))+1:void 0!==t.mipmaps&&t.mipmaps.length>0?t.mipmaps.length:t.isCompressedTexture&&Array.isArray(t.image)?e.mipmaps.length:1}function x(e){return e===q||1004===e||e===U?t.NEAREST:t.LINEAR}function b(t){const e=t.target;e.removeEventListener("dispose",b),function(t){const e=r.get(t);if(void 0===e.__webglInit)return;const n=t.source,i=h.get(n);if(i){const r=i[e.__cacheKey];r.usedTimes--,0===r.usedTimes&&w(t),0===Object.keys(i).length&&h.delete(n)}r.remove(t)}(e),e.isVideoTexture&&c.delete(e)}function M(e){const n=e.target;n.removeEventListener("dispose",M),function(e){const n=e.texture,i=r.get(e),a=r.get(n);void 0!==a.__webglTexture&&(t.deleteTexture(a.__webglTexture),o.memory.textures--);e.depthTexture&&e.depthTexture.dispose();if(e.isWebGLCubeRenderTarget)for(let e=0;e<6;e++){if(Array.isArray(i.__webglFramebuffer[e]))for(let n=0;n0&&a.__version!==e.version){const t=e.image;if(null===t)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else{if(!1!==t.complete)return void G(a,e,i);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}n.bindTexture(t.TEXTURE_2D,a.__webglTexture,t.TEXTURE0+i)}const T={[D]:t.REPEAT,[O]:t.CLAMP_TO_EDGE,[I]:t.MIRRORED_REPEAT},C={[q]:t.NEAREST,1004:t.NEAREST_MIPMAP_NEAREST,[U]:t.NEAREST_MIPMAP_LINEAR,[N]:t.LINEAR,[B]:t.LINEAR_MIPMAP_NEAREST,[k]:t.LINEAR_MIPMAP_LINEAR},R={512:t.NEVER,519:t.ALWAYS,513:t.LESS,515:t.LEQUAL,514:t.EQUAL,518:t.GEQUAL,516:t.GREATER,517:t.NOTEQUAL};function P(n,a,o){if(a.type!==j||!1!==e.has("OES_texture_float_linear")||a.magFilter!==N&&a.magFilter!==B&&a.magFilter!==U&&a.magFilter!==k&&a.minFilter!==N&&a.minFilter!==B&&a.minFilter!==U&&a.minFilter!==k||console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),o?(t.texParameteri(n,t.TEXTURE_WRAP_S,T[a.wrapS]),t.texParameteri(n,t.TEXTURE_WRAP_T,T[a.wrapT]),n!==t.TEXTURE_3D&&n!==t.TEXTURE_2D_ARRAY||t.texParameteri(n,t.TEXTURE_WRAP_R,T[a.wrapR]),t.texParameteri(n,t.TEXTURE_MAG_FILTER,C[a.magFilter]),t.texParameteri(n,t.TEXTURE_MIN_FILTER,C[a.minFilter])):(t.texParameteri(n,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(n,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),n!==t.TEXTURE_3D&&n!==t.TEXTURE_2D_ARRAY||t.texParameteri(n,t.TEXTURE_WRAP_R,t.CLAMP_TO_EDGE),a.wrapS===O&&a.wrapT===O||console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),t.texParameteri(n,t.TEXTURE_MAG_FILTER,x(a.magFilter)),t.texParameteri(n,t.TEXTURE_MIN_FILTER,x(a.minFilter)),a.minFilter!==q&&a.minFilter!==N&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),a.compareFunction&&(t.texParameteri(n,t.TEXTURE_COMPARE_MODE,t.COMPARE_REF_TO_TEXTURE),t.texParameteri(n,t.TEXTURE_COMPARE_FUNC,R[a.compareFunction])),!0===e.has("EXT_texture_filter_anisotropic")){const o=e.get("EXT_texture_filter_anisotropic");if(a.magFilter===q)return;if(a.minFilter!==U&&a.minFilter!==k)return;if(a.type===j&&!1===e.has("OES_texture_float_linear"))return;if(!1===s&&a.type===V&&!1===e.has("OES_texture_half_float_linear"))return;(a.anisotropy>1||r.get(a).__currentAnisotropy)&&(t.texParameterf(n,o.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(a.anisotropy,i.getMaxAnisotropy())),r.get(a).__currentAnisotropy=a.anisotropy)}}function L(e,n){let r=!1;void 0===e.__webglInit&&(e.__webglInit=!0,n.addEventListener("dispose",b));const i=n.source;let a=h.get(i);void 0===a&&(a={},h.set(i,a));const s=function(t){const e=[];return e.push(t.wrapS),e.push(t.wrapT),e.push(t.wrapR||0),e.push(t.magFilter),e.push(t.minFilter),e.push(t.anisotropy),e.push(t.internalFormat),e.push(t.format),e.push(t.type),e.push(t.generateMipmaps),e.push(t.premultiplyAlpha),e.push(t.flipY),e.push(t.unpackAlignment),e.push(t.colorSpace),e.join()}(n);if(s!==e.__cacheKey){void 0===a[s]&&(a[s]={texture:t.createTexture(),usedTimes:0},o.memory.textures++,r=!0),a[s].usedTimes++;const i=a[e.__cacheKey];void 0!==i&&(a[e.__cacheKey].usedTimes--,0===i.usedTimes&&w(n)),e.__cacheKey=s,e.__webglTexture=a[s].texture}return r}function G(e,o,A){let l=t.TEXTURE_2D;(o.isDataArrayTexture||o.isCompressedArrayTexture)&&(l=t.TEXTURE_2D_ARRAY),o.isData3DTexture&&(l=t.TEXTURE_3D);const c=L(e,o),u=o.source;n.bindTexture(l,e.__webglTexture,t.TEXTURE0+A);const h=r.get(u);if(u.version!==h.__version||!0===c){n.activeTexture(t.TEXTURE0+A);const e=Ht.getPrimaries(Ht.workingColorSpace),r=o.colorSpace===nt?null:Ht.getPrimaries(o.colorSpace),d=o.colorSpace===nt||e===r?t.NONE:t.BROWSER_DEFAULT_WEBGL;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,o.flipY),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,o.premultiplyAlpha),t.pixelStorei(t.UNPACK_ALIGNMENT,o.unpackAlignment),t.pixelStorei(t.UNPACK_COLORSPACE_CONVERSION_WEBGL,d);const f=function(t){return!s&&(t.wrapS!==O||t.wrapT!==O||t.minFilter!==q&&t.minFilter!==N)}(o)&&!1===m(o.image);let x=p(o.image,f,!1,i.maxTextureSize);x=et(o,x);const b=m(x)||s,M=a.convert(o.format,o.colorSpace);let w,E=a.convert(o.type),S=_(o.internalFormat,M,E,o.colorSpace,o.isVideoTexture);P(l,o,b);const T=o.mipmaps,C=s&&!0!==o.isVideoTexture&&36196!==S,R=void 0===h.__version||!0===c,L=u.dataReady,D=y(o,x,b);if(o.isDepthTexture)S=t.DEPTH_COMPONENT,s?S=o.type===j?t.DEPTH_COMPONENT32F:o.type===H?t.DEPTH_COMPONENT24:o.type===W?t.DEPTH24_STENCIL8:t.DEPTH_COMPONENT16:o.type===j&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),o.format===Q&&S===t.DEPTH_COMPONENT&&o.type!==z&&o.type!==H&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),o.type=H,E=a.convert(o.type)),o.format===Y&&S===t.DEPTH_COMPONENT&&(S=t.DEPTH_STENCIL,o.type!==W&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),o.type=W,E=a.convert(o.type))),R&&(C?n.texStorage2D(t.TEXTURE_2D,1,S,x.width,x.height):n.texImage2D(t.TEXTURE_2D,0,S,x.width,x.height,0,M,E,null));else if(o.isDataTexture)if(T.length>0&&b){C&&R&&n.texStorage2D(t.TEXTURE_2D,D,S,T[0].width,T[0].height);for(let e=0,r=T.length;e>=1,r>>=1}}else if(T.length>0&&b){C&&R&&n.texStorage2D(t.TEXTURE_2D,D,S,T[0].width,T[0].height);for(let e=0,r=T.length;e>c),r=Math.max(1,i.height>>c);l===t.TEXTURE_3D||l===t.TEXTURE_2D_ARRAY?n.texImage3D(l,c,d,e,r,i.depth,0,u,h,null):n.texImage2D(l,c,d,e,r,0,u,h,null)}n.bindFramebuffer(t.FRAMEBUFFER,e),tt(i)?A.framebufferTexture2DMultisampleEXT(t.FRAMEBUFFER,s,l,r.get(o).__webglTexture,0,$(i)):(l===t.TEXTURE_2D||l>=t.TEXTURE_CUBE_MAP_POSITIVE_X&&l<=t.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&t.framebufferTexture2D(t.FRAMEBUFFER,s,l,r.get(o).__webglTexture,c),n.bindFramebuffer(t.FRAMEBUFFER,null)}function K(e,n,r){if(t.bindRenderbuffer(t.RENDERBUFFER,e),n.depthBuffer&&!n.stencilBuffer){let i=!0===s?t.DEPTH_COMPONENT24:t.DEPTH_COMPONENT16;if(r||tt(n)){const e=n.depthTexture;e&&e.isDepthTexture&&(e.type===j?i=t.DEPTH_COMPONENT32F:e.type===H&&(i=t.DEPTH_COMPONENT24));const r=$(n);tt(n)?A.renderbufferStorageMultisampleEXT(t.RENDERBUFFER,r,i,n.width,n.height):t.renderbufferStorageMultisample(t.RENDERBUFFER,r,i,n.width,n.height)}else t.renderbufferStorage(t.RENDERBUFFER,i,n.width,n.height);t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_ATTACHMENT,t.RENDERBUFFER,e)}else if(n.depthBuffer&&n.stencilBuffer){const i=$(n);r&&!1===tt(n)?t.renderbufferStorageMultisample(t.RENDERBUFFER,i,t.DEPTH24_STENCIL8,n.width,n.height):tt(n)?A.renderbufferStorageMultisampleEXT(t.RENDERBUFFER,i,t.DEPTH24_STENCIL8,n.width,n.height):t.renderbufferStorage(t.RENDERBUFFER,t.DEPTH_STENCIL,n.width,n.height),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.RENDERBUFFER,e)}else{const e=!0===n.isWebGLMultipleRenderTargets?n.texture:[n.texture];for(let i=0;i0&&!0===e.has("WEBGL_multisampled_render_to_texture")&&!1!==n.__useRenderToTexture}function et(t,n){const r=t.colorSpace,i=t.format,a=t.type;return!0===t.isCompressedTexture||!0===t.isVideoTexture||t.format===ft||r!==it&&r!==nt&&(Ht.getTransfer(r)===At?!1===s?!0===e.has("EXT_sRGB")&&i===X?(t.format=ft,t.minFilter=N,t.generateMipmaps=!1):n=Xt.sRGBToLinear(n):i===X&&a===F||console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",r)),n}this.allocateTextureUnit=function(){const t=E;return t>=i.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+t+" texture units while this GPU supports only "+i.maxTextures),E+=1,t},this.resetTextureUnits=function(){E=0},this.setTexture2D=S,this.setTexture2DArray=function(e,i){const a=r.get(e);e.version>0&&a.__version!==e.version?G(a,e,i):n.bindTexture(t.TEXTURE_2D_ARRAY,a.__webglTexture,t.TEXTURE0+i)},this.setTexture3D=function(e,i){const a=r.get(e);e.version>0&&a.__version!==e.version?G(a,e,i):n.bindTexture(t.TEXTURE_3D,a.__webglTexture,t.TEXTURE0+i)},this.setTextureCube=function(e,o){const A=r.get(e);e.version>0&&A.__version!==e.version?function(e,o,A){if(6!==o.image.length)return;const l=L(e,o),c=o.source;n.bindTexture(t.TEXTURE_CUBE_MAP,e.__webglTexture,t.TEXTURE0+A);const u=r.get(c);if(c.version!==u.__version||!0===l){n.activeTexture(t.TEXTURE0+A);const e=Ht.getPrimaries(Ht.workingColorSpace),r=o.colorSpace===nt?null:Ht.getPrimaries(o.colorSpace),h=o.colorSpace===nt||e===r?t.NONE:t.BROWSER_DEFAULT_WEBGL;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,o.flipY),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,o.premultiplyAlpha),t.pixelStorei(t.UNPACK_ALIGNMENT,o.unpackAlignment),t.pixelStorei(t.UNPACK_COLORSPACE_CONVERSION_WEBGL,h);const d=o.isCompressedTexture||o.image[0].isCompressedTexture,f=o.image[0]&&o.image[0].isDataTexture,x=[];for(let t=0;t<6;t++)x[t]=d||f?f?o.image[t].image:o.image[t]:p(o.image[t],!1,!0,i.maxCubemapSize),x[t]=et(o,x[t]);const b=x[0],M=m(b)||s,w=a.convert(o.format,o.colorSpace),E=a.convert(o.type),S=_(o.internalFormat,w,E,o.colorSpace),T=s&&!0!==o.isVideoTexture,C=void 0===u.__version||!0===l,R=c.dataReady;let L,D=y(o,b,M);if(P(t.TEXTURE_CUBE_MAP,o,M),d){T&&C&&n.texStorage2D(t.TEXTURE_CUBE_MAP,D,S,b.width,b.height);for(let e=0;e<6;e++){L=x[e].mipmaps;for(let r=0;r0&&D++,n.texStorage2D(t.TEXTURE_CUBE_MAP,D,S,x[0].width,x[0].height));for(let e=0;e<6;e++)if(f){T?R&&n.texSubImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+e,0,0,0,x[e].width,x[e].height,w,E,x[e].data):n.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+e,0,S,x[e].width,x[e].height,0,w,E,x[e].data);for(let r=0;r0){l.__webglFramebuffer[e]=[];for(let n=0;n0){l.__webglFramebuffer=[];for(let e=0;e0&&!1===tt(e)){const r=h?A:[A];l.__webglMultisampledFramebuffer=t.createFramebuffer(),l.__webglColorRenderbuffer=[],n.bindFramebuffer(t.FRAMEBUFFER,l.__webglMultisampledFramebuffer);for(let n=0;n0)for(let r=0;r0)for(let n=0;n0&&!1===tt(e)){const i=e.isWebGLMultipleRenderTargets?e.texture:[e.texture],a=e.width,o=e.height;let s=t.COLOR_BUFFER_BIT;const A=[],c=e.stencilBuffer?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT,u=r.get(e),h=!0===e.isWebGLMultipleRenderTargets;if(h)for(let e=0;es+l?(A.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:t.handedness,target:this})):!A.inputState.pinching&&o<=s-l&&(A.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:t.handedness,target:this}))}else null!==s&&t.gripSpace&&(i=e.getPose(t.gripSpace,n),null!==i&&(s.matrix.fromArray(i.transform.matrix),s.matrix.decompose(s.position,s.rotation,s.scale),s.matrixWorldNeedsUpdate=!0,i.linearVelocity?(s.hasLinearVelocity=!0,s.linearVelocity.copy(i.linearVelocity)):s.hasLinearVelocity=!1,i.angularVelocity?(s.hasAngularVelocity=!0,s.angularVelocity.copy(i.angularVelocity)):s.hasAngularVelocity=!1));null!==o&&(r=e.getPose(t.targetRaySpace,n),null===r&&null!==i&&(r=i),null!==r&&(o.matrix.fromArray(r.transform.matrix),o.matrix.decompose(o.position,o.rotation,o.scale),o.matrixWorldNeedsUpdate=!0,r.linearVelocity?(o.hasLinearVelocity=!0,o.linearVelocity.copy(r.linearVelocity)):o.hasLinearVelocity=!1,r.angularVelocity?(o.hasAngularVelocity=!0,o.angularVelocity.copy(r.angularVelocity)):o.hasAngularVelocity=!1,this.dispatchEvent(so)))}return null!==o&&(o.visible=null!==r),null!==s&&(s.visible=null!==i),null!==A&&(A.visible=null!==a),this}_getHandJoint(t,e){if(void 0===t.joints[e.jointName]){const n=new oo;n.matrixAutoUpdate=!1,n.visible=!1,t.joints[e.jointName]=n,t.add(n)}return t.joints[e.jointName]}}class lo{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(t,e,n){if(null===this.texture){const r=new Jt;t.properties.get(r).__webglTexture=e.texture,e.depthNear==n.depthNear&&e.depthFar==n.depthFar||(this.depthNear=e.depthNear,this.depthFar=e.depthFar),this.texture=r}}render(t,e){if(null!==this.texture){if(null===this.mesh){const t=e.cameras[0].viewport,n=new hr({extensions:{fragDepth:!0},vertexShader:"\nvoid main() {\n\n\tgl_Position = vec4( position, 1.0 );\n\n}",fragmentShader:"\nuniform sampler2DArray depthColor;\nuniform float depthWidth;\nuniform float depthHeight;\n\nvoid main() {\n\n\tvec2 coord = vec2( gl_FragCoord.x / depthWidth, gl_FragCoord.y / depthHeight );\n\n\tif ( coord.x >= 1.0 ) {\n\n\t\tgl_FragDepthEXT = texture( depthColor, vec3( coord.x - 1.0, coord.y, 1 ) ).r;\n\n\t} else {\n\n\t\tgl_FragDepthEXT = texture( depthColor, vec3( coord.x, coord.y, 0 ) ).r;\n\n\t}\n\n}",uniforms:{depthColor:{value:this.texture},depthWidth:{value:t.z},depthHeight:{value:t.w}}});this.mesh=new ar(new Lr(20,20),n)}t.render(this.mesh,e)}}reset(){this.texture=null,this.mesh=null}}class co extends gt{constructor(t,e){super();const n=this;let r=null,i=1,a=null,o="local-floor",s=1,A=null,l=null,c=null,u=null,h=null,d=null;const f=new lo,p=e.getContextAttributes();let m=null,g=null;const v=[],_=[],y=new Lt;let x=null;const b=new gr;b.layers.enable(1),b.viewport=new $t;const M=new gr;M.layers.enable(2),M.viewport=new $t;const w=[b,M],E=new ao;E.layers.enable(1),E.layers.enable(2);let S=null,T=null;function C(t){const e=_.indexOf(t.inputSource);if(-1===e)return;const n=v[e];void 0!==n&&(n.update(t.inputSource,t.frame,A||a),n.dispatchEvent({type:t.type,data:t.inputSource}))}function R(){r.removeEventListener("select",C),r.removeEventListener("selectstart",C),r.removeEventListener("selectend",C),r.removeEventListener("squeeze",C),r.removeEventListener("squeezestart",C),r.removeEventListener("squeezeend",C),r.removeEventListener("end",R),r.removeEventListener("inputsourceschange",P);for(let t=0;t=0&&(_[r]=null,v[r].disconnect(n))}for(let e=0;e=_.length){_.push(n),r=t;break}if(null===_[t]){_[t]=n,r=t;break}}if(-1===r)break}const i=v[r];i&&i.connect(n)}}this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(t){let e=v[t];return void 0===e&&(e=new Ao,v[t]=e),e.getTargetRaySpace()},this.getControllerGrip=function(t){let e=v[t];return void 0===e&&(e=new Ao,v[t]=e),e.getGripSpace()},this.getHand=function(t){let e=v[t];return void 0===e&&(e=new Ao,v[t]=e),e.getHandSpace()},this.setFramebufferScaleFactor=function(t){i=t,!0===n.isPresenting&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(t){o=t,!0===n.isPresenting&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return A||a},this.setReferenceSpace=function(t){A=t},this.getBaseLayer=function(){return null!==u?u:h},this.getBinding=function(){return c},this.getFrame=function(){return d},this.getSession=function(){return r},this.setSession=async function(l){if(r=l,null!==r){if(m=t.getRenderTarget(),r.addEventListener("select",C),r.addEventListener("selectstart",C),r.addEventListener("selectend",C),r.addEventListener("squeeze",C),r.addEventListener("squeezestart",C),r.addEventListener("squeezeend",C),r.addEventListener("end",R),r.addEventListener("inputsourceschange",P),!0!==p.xrCompatible&&await e.makeXRCompatible(),x=t.getPixelRatio(),t.getSize(y),void 0===r.renderState.layers||!1===t.capabilities.isWebGL2){const n={antialias:void 0!==r.renderState.layers||p.antialias,alpha:!0,depth:p.depth,stencil:p.stencil,framebufferScaleFactor:i};h=new XRWebGLLayer(r,e,n),r.updateRenderState({baseLayer:h}),t.setPixelRatio(1),t.setSize(h.framebufferWidth,h.framebufferHeight,!1),g=new ee(h.framebufferWidth,h.framebufferHeight,{format:X,type:F,colorSpace:t.outputColorSpace,stencilBuffer:p.stencil})}else{let n=null,a=null,o=null;p.depth&&(o=p.stencil?e.DEPTH24_STENCIL8:e.DEPTH_COMPONENT24,n=p.stencil?Y:Q,a=p.stencil?W:H);const s={colorFormat:e.RGBA8,depthFormat:o,scaleFactor:i};c=new XRWebGLBinding(r,e),u=c.createProjectionLayer(s),r.updateRenderState({layers:[u]}),t.setPixelRatio(1),t.setSize(u.textureWidth,u.textureHeight,!1),g=new ee(u.textureWidth,u.textureHeight,{format:X,type:F,depthTexture:new fi(u.textureWidth,u.textureHeight,a,void 0,void 0,void 0,void 0,void 0,void 0,n),stencilBuffer:p.stencil,colorSpace:t.outputColorSpace,samples:p.antialias?4:0});t.properties.get(g).__ignoreDepthValues=u.ignoreDepthValues}g.isXRRenderTarget=!0,this.setFoveation(s),A=null,a=await r.requestReferenceSpace(o),q.setContext(r),q.start(),n.isPresenting=!0,n.dispatchEvent({type:"sessionstart"})}},this.getEnvironmentBlendMode=function(){if(null!==r)return r.environmentBlendMode};const L=new ae,D=new ae;function O(t,e){null===e?t.matrixWorld.copy(t.matrix):t.matrixWorld.multiplyMatrices(e.matrixWorld,t.matrix),t.matrixWorldInverse.copy(t.matrixWorld).invert()}this.updateCamera=function(t){if(null===r)return;null!==f.texture&&(t.near=f.depthNear,t.far=f.depthFar),E.near=M.near=b.near=t.near,E.far=M.far=b.far=t.far,S===E.near&&T===E.far||(r.updateRenderState({depthNear:E.near,depthFar:E.far}),S=E.near,T=E.far,b.near=S,b.far=T,M.near=S,M.far=T,b.updateProjectionMatrix(),M.updateProjectionMatrix(),t.updateProjectionMatrix());const e=t.parent,n=E.cameras;O(E,e);for(let t=0;t0&&(r.alphaTest.value=i.alphaTest);const a=e.get(i).envMap;if(a&&(r.envMap.value=a,r.flipEnvMap.value=a.isCubeTexture&&!1===a.isRenderTargetTexture?-1:1,r.reflectivity.value=i.reflectivity,r.ior.value=i.ior,r.refractionRatio.value=i.refractionRatio),i.lightMap){r.lightMap.value=i.lightMap;const e=!0===t._useLegacyLights?Math.PI:1;r.lightMapIntensity.value=i.lightMapIntensity*e,n(i.lightMap,r.lightMapTransform)}i.aoMap&&(r.aoMap.value=i.aoMap,r.aoMapIntensity.value=i.aoMapIntensity,n(i.aoMap,r.aoMapTransform))}return{refreshFogUniforms:function(e,n){n.color.getRGB(e.fogColor.value,cr(t)),n.isFog?(e.fogNear.value=n.near,e.fogFar.value=n.far):n.isFogExp2&&(e.fogDensity.value=n.density)},refreshMaterialUniforms:function(t,i,a,o,s){i.isMeshBasicMaterial||i.isMeshLambertMaterial?r(t,i):i.isMeshToonMaterial?(r(t,i),function(t,e){e.gradientMap&&(t.gradientMap.value=e.gradientMap)}(t,i)):i.isMeshPhongMaterial?(r(t,i),function(t,e){t.specular.value.copy(e.specular),t.shininess.value=Math.max(e.shininess,1e-4)}(t,i)):i.isMeshStandardMaterial?(r(t,i),function(t,r){t.metalness.value=r.metalness,r.metalnessMap&&(t.metalnessMap.value=r.metalnessMap,n(r.metalnessMap,t.metalnessMapTransform));t.roughness.value=r.roughness,r.roughnessMap&&(t.roughnessMap.value=r.roughnessMap,n(r.roughnessMap,t.roughnessMapTransform));const i=e.get(r).envMap;i&&(t.envMapIntensity.value=r.envMapIntensity)}(t,i),i.isMeshPhysicalMaterial&&function(t,e,r){t.ior.value=e.ior,e.sheen>0&&(t.sheenColor.value.copy(e.sheenColor).multiplyScalar(e.sheen),t.sheenRoughness.value=e.sheenRoughness,e.sheenColorMap&&(t.sheenColorMap.value=e.sheenColorMap,n(e.sheenColorMap,t.sheenColorMapTransform)),e.sheenRoughnessMap&&(t.sheenRoughnessMap.value=e.sheenRoughnessMap,n(e.sheenRoughnessMap,t.sheenRoughnessMapTransform)));e.clearcoat>0&&(t.clearcoat.value=e.clearcoat,t.clearcoatRoughness.value=e.clearcoatRoughness,e.clearcoatMap&&(t.clearcoatMap.value=e.clearcoatMap,n(e.clearcoatMap,t.clearcoatMapTransform)),e.clearcoatRoughnessMap&&(t.clearcoatRoughnessMap.value=e.clearcoatRoughnessMap,n(e.clearcoatRoughnessMap,t.clearcoatRoughnessMapTransform)),e.clearcoatNormalMap&&(t.clearcoatNormalMap.value=e.clearcoatNormalMap,n(e.clearcoatNormalMap,t.clearcoatNormalMapTransform),t.clearcoatNormalScale.value.copy(e.clearcoatNormalScale),e.side===g&&t.clearcoatNormalScale.value.negate()));e.iridescence>0&&(t.iridescence.value=e.iridescence,t.iridescenceIOR.value=e.iridescenceIOR,t.iridescenceThicknessMinimum.value=e.iridescenceThicknessRange[0],t.iridescenceThicknessMaximum.value=e.iridescenceThicknessRange[1],e.iridescenceMap&&(t.iridescenceMap.value=e.iridescenceMap,n(e.iridescenceMap,t.iridescenceMapTransform)),e.iridescenceThicknessMap&&(t.iridescenceThicknessMap.value=e.iridescenceThicknessMap,n(e.iridescenceThicknessMap,t.iridescenceThicknessMapTransform)));e.transmission>0&&(t.transmission.value=e.transmission,t.transmissionSamplerMap.value=r.texture,t.transmissionSamplerSize.value.set(r.width,r.height),e.transmissionMap&&(t.transmissionMap.value=e.transmissionMap,n(e.transmissionMap,t.transmissionMapTransform)),t.thickness.value=e.thickness,e.thicknessMap&&(t.thicknessMap.value=e.thicknessMap,n(e.thicknessMap,t.thicknessMapTransform)),t.attenuationDistance.value=e.attenuationDistance,t.attenuationColor.value.copy(e.attenuationColor));e.anisotropy>0&&(t.anisotropyVector.value.set(e.anisotropy*Math.cos(e.anisotropyRotation),e.anisotropy*Math.sin(e.anisotropyRotation)),e.anisotropyMap&&(t.anisotropyMap.value=e.anisotropyMap,n(e.anisotropyMap,t.anisotropyMapTransform)));t.specularIntensity.value=e.specularIntensity,t.specularColor.value.copy(e.specularColor),e.specularColorMap&&(t.specularColorMap.value=e.specularColorMap,n(e.specularColorMap,t.specularColorMapTransform));e.specularIntensityMap&&(t.specularIntensityMap.value=e.specularIntensityMap,n(e.specularIntensityMap,t.specularIntensityMapTransform))}(t,i,s)):i.isMeshMatcapMaterial?(r(t,i),function(t,e){e.matcap&&(t.matcap.value=e.matcap)}(t,i)):i.isMeshDepthMaterial?r(t,i):i.isMeshDistanceMaterial?(r(t,i),function(t,n){const r=e.get(n).light;t.referencePosition.value.setFromMatrixPosition(r.matrixWorld),t.nearDistance.value=r.shadow.camera.near,t.farDistance.value=r.shadow.camera.far}(t,i)):i.isMeshNormalMaterial?r(t,i):i.isLineBasicMaterial?(function(t,e){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity,e.map&&(t.map.value=e.map,n(e.map,t.mapTransform))}(t,i),i.isLineDashedMaterial&&function(t,e){t.dashSize.value=e.dashSize,t.totalSize.value=e.dashSize+e.gapSize,t.scale.value=e.scale}(t,i)):i.isPointsMaterial?function(t,e,r,i){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity,t.size.value=e.size*r,t.scale.value=.5*i,e.map&&(t.map.value=e.map,n(e.map,t.uvTransform));e.alphaMap&&(t.alphaMap.value=e.alphaMap,n(e.alphaMap,t.alphaMapTransform));e.alphaTest>0&&(t.alphaTest.value=e.alphaTest)}(t,i,a,o):i.isSpriteMaterial?function(t,e){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity,t.rotation.value=e.rotation,e.map&&(t.map.value=e.map,n(e.map,t.mapTransform));e.alphaMap&&(t.alphaMap.value=e.alphaMap,n(e.alphaMap,t.alphaMapTransform));e.alphaTest>0&&(t.alphaTest.value=e.alphaTest)}(t,i):i.isShadowMaterial?(t.color.value.copy(i.color),t.opacity.value=i.opacity):i.isShaderMaterial&&(i.uniformsNeedUpdate=!1)}}}function ho(t,e,n,r){let i={},a={},o=[];const s=n.isWebGL2?t.getParameter(t.MAX_UNIFORM_BUFFER_BINDINGS):0;function A(t,e,n,r){const i=t.value,a=e+"_"+n;if(void 0===r[a])return r[a]="number"==typeof i||"boolean"==typeof i?i:i.clone(),!0;{const t=r[a];if("number"==typeof i||"boolean"==typeof i){if(t!==i)return r[a]=i,!0}else if(!1===t.equals(i))return t.copy(i),!0}return!1}function l(t){const e={boundary:0,storage:0};return"number"==typeof t||"boolean"==typeof t?(e.boundary=4,e.storage=4):t.isVector2?(e.boundary=8,e.storage=8):t.isVector3||t.isColor?(e.boundary=16,e.storage=12):t.isVector4?(e.boundary=16,e.storage=16):t.isMatrix3?(e.boundary=48,e.storage=48):t.isMatrix4?(e.boundary=64,e.storage=64):t.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",t),e}function c(e){const n=e.target;n.removeEventListener("dispose",c);const r=o.indexOf(n.__bindingPointIndex);o.splice(r,1),t.deleteBuffer(i[n.id]),delete i[n.id],delete a[n.id]}return{bind:function(t,e){const n=e.program;r.uniformBlockBinding(t,n)},update:function(n,u){let h=i[n.id];void 0===h&&(!function(t){const e=t.uniforms;let n=0;const r=16;for(let t=0,i=e.length;t0&&(n+=r-i);t.__size=n,t.__cache={}}(n),h=function(e){const n=function(){for(let t=0;t0),u=!!n.morphAttributes.position,h=!!n.morphAttributes.normal,d=!!n.morphAttributes.color;let f=b;r.toneMapped&&(null!==S&&!0!==S.isXRRenderTarget||(f=x.toneMapping));const p=n.morphAttributes.position||n.morphAttributes.normal||n.morphAttributes.color,m=void 0!==p?p.length:0,g=ut.get(r),_=v.state.lights;if(!0===K&&(!0===J||t!==C)){const e=t===C&&r.id===T;bt.setState(r,t,e)}let y=!1;r.version===g.__version?g.needsLights&&g.lightsStateVersion!==_.state.version||g.outputColorSpace!==s||i.isBatchedMesh&&!1===g.batching?y=!0:i.isBatchedMesh||!0!==g.batching?i.isInstancedMesh&&!1===g.instancing?y=!0:i.isInstancedMesh||!0!==g.instancing?i.isSkinnedMesh&&!1===g.skinning?y=!0:i.isSkinnedMesh||!0!==g.skinning?i.isInstancedMesh&&!0===g.instancingColor&&null===i.instanceColor||i.isInstancedMesh&&!1===g.instancingColor&&null!==i.instanceColor||g.envMap!==A||!0===r.fog&&g.fog!==a?y=!0:void 0===g.numClippingPlanes||g.numClippingPlanes===bt.numPlanes&&g.numIntersection===bt.numIntersection?(g.vertexAlphas!==l||g.vertexTangents!==c||g.morphTargets!==u||g.morphNormals!==h||g.morphColors!==d||g.toneMapping!==f||!0===At.isWebGL2&&g.morphTargetsCount!==m)&&(y=!0):y=!0:y=!0:y=!0:y=!0:(y=!0,g.__version=r.version);let M=g.currentProgram;!0===y&&(M=Kt(r,e,i));let w=!1,E=!1,R=!1;const P=M.getUniforms(),L=g.uniforms;lt.useProgram(M.program)&&(w=!0,E=!0,R=!0);r.id!==T&&(T=r.id,E=!0);if(w||C!==t){P.setValue(Ot,"projectionMatrix",t.projectionMatrix),P.setValue(Ot,"viewMatrix",t.matrixWorldInverse);const e=P.map.cameraPosition;void 0!==e&&e.setValue(Ot,nt.setFromMatrixPosition(t.matrixWorld)),At.logarithmicDepthBuffer&&P.setValue(Ot,"logDepthBufFC",2/(Math.log(t.far+1)/Math.LN2)),(r.isMeshPhongMaterial||r.isMeshToonMaterial||r.isMeshLambertMaterial||r.isMeshBasicMaterial||r.isMeshStandardMaterial||r.isShaderMaterial)&&P.setValue(Ot,"isOrthographic",!0===t.isOrthographicCamera),C!==t&&(C=t,E=!0,R=!0)}if(i.isSkinnedMesh){P.setOptional(Ot,i,"bindMatrix"),P.setOptional(Ot,i,"bindMatrixInverse");const t=i.skeleton;t&&(At.floatVertexTextures?(null===t.boneTexture&&t.computeBoneTexture(),P.setValue(Ot,"boneTexture",t.boneTexture,ht)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}i.isBatchedMesh&&(P.setOptional(Ot,i,"batchingTexture"),P.setValue(Ot,"batchingTexture",i._matricesTexture,ht));const D=n.morphAttributes;(void 0!==D.position||void 0!==D.normal||void 0!==D.color&&!0===At.isWebGL2)&&Et.update(i,n,M);(E||g.receiveShadow!==i.receiveShadow)&&(g.receiveShadow=i.receiveShadow,P.setValue(Ot,"receiveShadow",i.receiveShadow));r.isMeshGouraudMaterial&&null!==r.envMap&&(L.envMap.value=A,L.flipEnvMap.value=A.isCubeTexture&&!1===A.isRenderTargetTexture?-1:1);E&&(P.setValue(Ot,"toneMappingExposure",x.toneMappingExposure),g.needsLights&&(I=R,(O=L).ambientLightColor.needsUpdate=I,O.lightProbe.needsUpdate=I,O.directionalLights.needsUpdate=I,O.directionalLightShadows.needsUpdate=I,O.pointLights.needsUpdate=I,O.pointLightShadows.needsUpdate=I,O.spotLights.needsUpdate=I,O.spotLightShadows.needsUpdate=I,O.rectAreaLights.needsUpdate=I,O.hemisphereLights.needsUpdate=I),a&&!0===r.fog&&_t.refreshFogUniforms(L,a),_t.refreshMaterialUniforms(L,r,U,q,$),_a.upload(Ot,Jt(g),L,ht));var O,I;r.isShaderMaterial&&!0===r.uniformsNeedUpdate&&(_a.upload(Ot,Jt(g),L,ht),r.uniformsNeedUpdate=!1);r.isSpriteMaterial&&P.setValue(Ot,"center",i.center);if(P.setValue(Ot,"modelViewMatrix",i.modelViewMatrix),P.setValue(Ot,"normalMatrix",i.normalMatrix),P.setValue(Ot,"modelMatrix",i.matrixWorld),r.isShaderMaterial||r.isRawShaderMaterial){const t=r.uniformsGroups;for(let e=0,n=t.length;e{function n(){r.forEach((function(t){ut.get(t).currentProgram.isReady()&&r.delete(t)})),0!==r.size?setTimeout(n,10):e(t)}null!==st.get("KHR_parallel_shader_compile")?n():setTimeout(n,10)}))};let Ht=null;function jt(){Wt.stop()}function Vt(){Wt.start()}const Wt=new Rr;function Xt(t,e,n,r){if(!1===t.visible)return;if(t.layers.test(e.layers))if(t.isGroup)n=t.renderOrder;else if(t.isLOD)!0===t.autoUpdate&&t.update(e);else if(t.isLight)v.pushLight(t),t.castShadow&&v.pushShadow(t);else if(t.isSprite){if(!t.frustumCulled||Z.intersectsSprite(t)){r&&nt.setFromMatrixPosition(t.matrixWorld).applyMatrix4(tt);const e=gt.update(t),i=t.material;i.visible&&p.push(t,e,i,n,nt.z,null)}}else if((t.isMesh||t.isLine||t.isPoints)&&(!t.frustumCulled||Z.intersectsObject(t))){const e=gt.update(t),i=t.material;if(r&&(void 0!==t.boundingSphere?(null===t.boundingSphere&&t.computeBoundingSphere(),nt.copy(t.boundingSphere.center)):(null===e.boundingSphere&&e.computeBoundingSphere(),nt.copy(e.boundingSphere.center)),nt.applyMatrix4(t.matrixWorld).applyMatrix4(tt)),Array.isArray(i)){const r=e.groups;for(let a=0,o=r.length;a0&&function(t,e,n,r){const i=!0===n.isScene?n.overrideMaterial:null;if(null!==i)return;const a=At.isWebGL2;null===$&&($=new ee(1,1,{generateMipmaps:!0,type:st.has("EXT_color_buffer_half_float")?V:F,minFilter:k,samples:a?4:0}));x.getDrawingBufferSize(et),a?$.setSize(et.x,et.y):$.setSize(Tt(et.x),Tt(et.y));const o=x.getRenderTarget();x.setRenderTarget($),x.getClearColor(D),O=x.getClearAlpha(),O<1&&x.setClearColor(16777215,.5);x.clear();const s=x.toneMapping;x.toneMapping=b,Yt(t,n,r),ht.updateMultisampleRenderTarget($),ht.updateRenderTargetMipmap($);let A=!1;for(let t=0,i=e.length;t0&&Yt(i,e,n),a.length>0&&Yt(a,e,n),o.length>0&&Yt(o,e,n),lt.buffers.depth.setTest(!0),lt.buffers.depth.setMask(!0),lt.buffers.color.setMask(!0),lt.setPolygonOffset(!1)}function Yt(t,e,n){const r=!0===e.isScene?e.overrideMaterial:null;for(let i=0,a=t.length;i0?y[y.length-1]:null,_.pop(),p=_.length>0?_[_.length-1]:null},this.getActiveCubeFace=function(){return w},this.getActiveMipmapLevel=function(){return E},this.getRenderTarget=function(){return S},this.setRenderTargetTextures=function(t,e,n){ut.get(t.texture).__webglTexture=e,ut.get(t.depthTexture).__webglTexture=n;const r=ut.get(t);r.__hasExternalTextures=!0,r.__hasExternalTextures&&(r.__autoAllocateDepthBuffer=void 0===n,r.__autoAllocateDepthBuffer||!0===st.has("WEBGL_multisampled_render_to_texture")&&(console.warn("THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided"),r.__useRenderToTexture=!1))},this.setRenderTargetFramebuffer=function(t,e){const n=ut.get(t);n.__webglFramebuffer=e,n.__useDefaultFramebuffer=void 0===e},this.setRenderTarget=function(t,e=0,n=0){S=t,w=e,E=n;let r=!0,i=null,a=!1,o=!1;if(t){const s=ut.get(t);void 0!==s.__useDefaultFramebuffer?(lt.bindFramebuffer(Ot.FRAMEBUFFER,null),r=!1):void 0===s.__webglFramebuffer?ht.setupRenderTarget(t):s.__hasExternalTextures&&ht.rebindTextures(t,ut.get(t.texture).__webglTexture,ut.get(t.depthTexture).__webglTexture);const A=t.texture;(A.isData3DTexture||A.isDataArrayTexture||A.isCompressedArrayTexture)&&(o=!0);const l=ut.get(t).__webglFramebuffer;t.isWebGLCubeRenderTarget?(i=Array.isArray(l[e])?l[e][n]:l[e],a=!0):i=At.isWebGL2&&t.samples>0&&!1===ht.useMultisampledRTT(t)?ut.get(t).__webglMultisampledFramebuffer:Array.isArray(l)?l[n]:l,R.copy(t.viewport),P.copy(t.scissor),L=t.scissorTest}else R.copy(G).multiplyScalar(U).floor(),P.copy(Q).multiplyScalar(U).floor(),L=Y;if(lt.bindFramebuffer(Ot.FRAMEBUFFER,i)&&At.drawBuffers&&r&<.drawBuffers(t,i),lt.viewport(R),lt.scissor(P),lt.setScissorTest(L),a){const r=ut.get(t.texture);Ot.framebufferTexture2D(Ot.FRAMEBUFFER,Ot.COLOR_ATTACHMENT0,Ot.TEXTURE_CUBE_MAP_POSITIVE_X+e,r.__webglTexture,n)}else if(o){const r=ut.get(t.texture),i=e||0;Ot.framebufferTextureLayer(Ot.FRAMEBUFFER,Ot.COLOR_ATTACHMENT0,r.__webglTexture,n||0,i)}T=-1},this.readRenderTargetPixels=function(t,e,n,r,i,a,o){if(!t||!t.isWebGLRenderTarget)return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let s=ut.get(t).__webglFramebuffer;if(t.isWebGLCubeRenderTarget&&void 0!==o&&(s=s[o]),s){lt.bindFramebuffer(Ot.FRAMEBUFFER,s);try{const o=t.texture,s=o.format,A=o.type;if(s!==X&&Rt.convert(s)!==Ot.getParameter(Ot.IMPLEMENTATION_COLOR_READ_FORMAT))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");const l=A===V&&(st.has("EXT_color_buffer_half_float")||At.isWebGL2&&st.has("EXT_color_buffer_float"));if(!(A===F||Rt.convert(A)===Ot.getParameter(Ot.IMPLEMENTATION_COLOR_READ_TYPE)||A===j&&(At.isWebGL2||st.has("OES_texture_float")||st.has("WEBGL_color_buffer_float"))||l))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");e>=0&&e<=t.width-r&&n>=0&&n<=t.height-i&&Ot.readPixels(e,n,r,i,Rt.convert(s),Rt.convert(A),a)}finally{const t=null!==S?ut.get(S).__webglFramebuffer:null;lt.bindFramebuffer(Ot.FRAMEBUFFER,t)}}},this.copyFramebufferToTexture=function(t,e,n=0){const r=Math.pow(2,-n),i=Math.floor(e.image.width*r),a=Math.floor(e.image.height*r);ht.setTexture2D(e,0),Ot.copyTexSubImage2D(Ot.TEXTURE_2D,n,0,0,t.x,t.y,i,a),lt.unbindTexture()},this.copyTextureToTexture=function(t,e,n,r=0){const i=e.image.width,a=e.image.height,o=Rt.convert(n.format),s=Rt.convert(n.type);ht.setTexture2D(n,0),Ot.pixelStorei(Ot.UNPACK_FLIP_Y_WEBGL,n.flipY),Ot.pixelStorei(Ot.UNPACK_PREMULTIPLY_ALPHA_WEBGL,n.premultiplyAlpha),Ot.pixelStorei(Ot.UNPACK_ALIGNMENT,n.unpackAlignment),e.isDataTexture?Ot.texSubImage2D(Ot.TEXTURE_2D,r,t.x,t.y,i,a,o,s,e.image.data):e.isCompressedTexture?Ot.compressedTexSubImage2D(Ot.TEXTURE_2D,r,t.x,t.y,e.mipmaps[0].width,e.mipmaps[0].height,o,e.mipmaps[0].data):Ot.texSubImage2D(Ot.TEXTURE_2D,r,t.x,t.y,o,s,e.image),0===r&&n.generateMipmaps&&Ot.generateMipmap(Ot.TEXTURE_2D),lt.unbindTexture()},this.copyTextureToTexture3D=function(t,e,n,r,i=0){if(x.isWebGL1Renderer)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");const a=t.max.x-t.min.x+1,o=t.max.y-t.min.y+1,s=t.max.z-t.min.z+1,A=Rt.convert(r.format),l=Rt.convert(r.type);let c;if(r.isData3DTexture)ht.setTexture3D(r,0),c=Ot.TEXTURE_3D;else{if(!r.isDataArrayTexture&&!r.isCompressedArrayTexture)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");ht.setTexture2DArray(r,0),c=Ot.TEXTURE_2D_ARRAY}Ot.pixelStorei(Ot.UNPACK_FLIP_Y_WEBGL,r.flipY),Ot.pixelStorei(Ot.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r.premultiplyAlpha),Ot.pixelStorei(Ot.UNPACK_ALIGNMENT,r.unpackAlignment);const u=Ot.getParameter(Ot.UNPACK_ROW_LENGTH),h=Ot.getParameter(Ot.UNPACK_IMAGE_HEIGHT),d=Ot.getParameter(Ot.UNPACK_SKIP_PIXELS),f=Ot.getParameter(Ot.UNPACK_SKIP_ROWS),p=Ot.getParameter(Ot.UNPACK_SKIP_IMAGES),m=n.isCompressedTexture?n.mipmaps[i]:n.image;Ot.pixelStorei(Ot.UNPACK_ROW_LENGTH,m.width),Ot.pixelStorei(Ot.UNPACK_IMAGE_HEIGHT,m.height),Ot.pixelStorei(Ot.UNPACK_SKIP_PIXELS,t.min.x),Ot.pixelStorei(Ot.UNPACK_SKIP_ROWS,t.min.y),Ot.pixelStorei(Ot.UNPACK_SKIP_IMAGES,t.min.z),n.isDataTexture||n.isData3DTexture?Ot.texSubImage3D(c,i,e.x,e.y,e.z,a,o,s,A,l,m.data):n.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),Ot.compressedTexSubImage3D(c,i,e.x,e.y,e.z,a,o,s,A,m.data)):Ot.texSubImage3D(c,i,e.x,e.y,e.z,a,o,s,A,l,m),Ot.pixelStorei(Ot.UNPACK_ROW_LENGTH,u),Ot.pixelStorei(Ot.UNPACK_IMAGE_HEIGHT,h),Ot.pixelStorei(Ot.UNPACK_SKIP_PIXELS,d),Ot.pixelStorei(Ot.UNPACK_SKIP_ROWS,f),Ot.pixelStorei(Ot.UNPACK_SKIP_IMAGES,p),0===i&&r.generateMipmaps&&Ot.generateMipmap(c),lt.unbindTexture()},this.initTexture=function(t){t.isCubeTexture?ht.setTextureCube(t,0):t.isData3DTexture?ht.setTexture3D(t,0):t.isDataArrayTexture||t.isCompressedArrayTexture?ht.setTexture2DArray(t,0):ht.setTexture2D(t,0),lt.unbindTexture()},this.resetState=function(){w=0,E=0,S=null,lt.reset(),Pt.reset()},"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return pt}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(t){this._outputColorSpace=t;const e=this.getContext();e.drawingBufferColorSpace=t===at?"display-p3":"srgb",e.unpackColorSpace=Ht.workingColorSpace===ot?"display-p3":"srgb"}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===rt?et:3e3}set outputEncoding(t){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=t===et?rt:it}get useLegacyLights(){return console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights}set useLegacyLights(t){console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights=t}}(class extends fo{}).prototype.isWebGL1Renderer=!0;class po{constructor(t,e){this.isInterleavedBuffer=!0,this.array=t,this.stride=e,this.count=void 0!==t?t.length/e:0,this.usage=ht,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=bt()}onUploadCallback(){}set needsUpdate(t){!0===t&&this.version++}get updateRange(){return Bt("THREE.InterleavedBuffer: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(t){return this.usage=t,this}addUpdateRange(t,e){this.updateRanges.push({start:t,count:e})}clearUpdateRanges(){this.updateRanges.length=0}copy(t){return this.array=new t.array.constructor(t.array),this.count=t.count,this.stride=t.stride,this.usage=t.usage,this}copyAt(t,e,n){t*=this.stride,n*=e.stride;for(let r=0,i=this.stride;rs)continue;u.applyMatrix4(this.matrixWorld);const a=t.ray.origin.distanceTo(u);at.far||e.push({distance:a,point:c.clone().applyMatrix4(this.matrixWorld),index:n,face:null,faceIndex:null,object:this})}}else{for(let n=Math.max(0,a.start),r=Math.min(f.count,a.start+a.count)-1;ns)continue;u.applyMatrix4(this.matrixWorld);const r=t.ray.origin.distanceTo(u);rt.far||e.push({distance:r,point:c.clone().applyMatrix4(this.matrixWorld),index:n,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const t=this.geometry.morphAttributes,e=Object.keys(t);if(e.length>0){const n=t[e[0]];if(void 0!==n){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let t=0,e=n.length;t0)){A=r;break}A=r-1}if(r=A,n[r]===a)return r/(i-1);const l=n[r];return(r+(a-l)/(n[r+1]-l))/(i-1)}getTangent(t,e){const n=1e-4;let r=t-n,i=t+n;r<0&&(r=0),i>1&&(i=1);const a=this.getPoint(r),o=this.getPoint(i),s=e||(a.isVector2?new Lt:new ae);return s.copy(o).sub(a).normalize(),s}getTangentAt(t,e){const n=this.getUtoTmapping(t);return this.getTangent(n,e)}computeFrenetFrames(t,e){const n=new ae,r=[],i=[],a=[],o=new ae,s=new qe;for(let e=0;e<=t;e++){const n=e/t;r[e]=this.getTangentAt(n,new ae)}i[0]=new ae,a[0]=new ae;let A=Number.MAX_VALUE;const l=Math.abs(r[0].x),c=Math.abs(r[0].y),u=Math.abs(r[0].z);l<=A&&(A=l,n.set(1,0,0)),c<=A&&(A=c,n.set(0,1,0)),u<=A&&n.set(0,0,1),o.crossVectors(r[0],n).normalize(),i[0].crossVectors(r[0],o),a[0].crossVectors(r[0],i[0]);for(let e=1;e<=t;e++){if(i[e]=i[e-1].clone(),a[e]=a[e-1].clone(),o.crossVectors(r[e-1],r[e]),o.length()>Number.EPSILON){o.normalize();const t=Math.acos(Mt(r[e-1].dot(r[e]),-1,1));i[e].applyMatrix4(s.makeRotationAxis(o,t))}a[e].crossVectors(r[e],i[e])}if(!0===e){let e=Math.acos(Mt(i[0].dot(i[t]),-1,1));e/=t,r[0].dot(o.crossVectors(i[0],i[t]))>0&&(e=-e);for(let n=1;n<=t;n++)i[n].applyMatrix4(s.makeRotationAxis(r[n],e*n)),a[n].crossVectors(r[n],i[n])}return{tangents:r,normals:i,binormals:a}}clone(){return(new this.constructor).copy(this)}copy(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}toJSON(){const t={metadata:{version:4.6,type:"Curve",generator:"Curve.toJSON"}};return t.arcLengthDivisions=this.arcLengthDivisions,t.type=this.type,t}fromJSON(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}}class Po extends Ro{constructor(t=0,e=0,n=1,r=1,i=0,a=2*Math.PI,o=!1,s=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=t,this.aY=e,this.xRadius=n,this.yRadius=r,this.aStartAngle=i,this.aEndAngle=a,this.aClockwise=o,this.aRotation=s}getPoint(t,e){const n=e||new Lt,r=2*Math.PI;let i=this.aEndAngle-this.aStartAngle;const a=Math.abs(i)r;)i-=r;ir.length-2?r.length-1:a+1],c=r[a>r.length-3?r.length-1:a+2];return n.set(Uo(o,s.x,A.x,l.x,c.x),Uo(o,s.y,A.y,l.y,c.y)),n}copy(t){super.copy(t),this.points=[];for(let e=0,n=t.points.length;e0?0:(Math.floor(Math.abs(A)/i)+1)*i:0===l&&A===i-1&&(A=i-2,l=1),this.closed||A>0?o=r[(A-1)%i]:(Do.subVectors(r[0],r[1]).add(r[0]),o=Do);const c=r[A%i],u=r[(A+1)%i];if(this.closed||A+2=n){const t=r[i]-n,a=this.curves[i],o=a.getLength(),s=0===o?0:1-t/o;return a.getPointAt(s,e)}i++}return null}getLength(){const t=this.getCurveLengths();return t[t.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const t=[];let e=0;for(let n=0,r=this.curves.length;n1&&!e[e.length-1].equals(e[0])&&e.push(e[0]),e}copy(t){super.copy(t),this.curves=[];for(let e=0,n=t.curves.length;e0){const t=A.getPoint(0);t.equals(this.currentPoint)||this.lineTo(t.x,t.y)}this.curves.push(A);const l=A.getPoint(1);return this.currentPoint.copy(l),this}copy(t){return super.copy(t),this.currentPoint.copy(t.currentPoint),this}toJSON(){const t=super.toJSON();return t.currentPoint=this.currentPoint.toArray(),t}fromJSON(t){return super.fromJSON(t),this.currentPoint.fromArray(t.currentPoint),this}};class Qo extends zn{constructor(t=1,e=32,n=0,r=2*Math.PI){super(),this.type="CircleGeometry",this.parameters={radius:t,segments:e,thetaStart:n,thetaLength:r},e=Math.max(3,e);const i=[],a=[],o=[],s=[],A=new ae,l=new Lt;a.push(0,0,0),o.push(0,0,1),s.push(.5,.5);for(let i=0,c=3;i<=e;i++,c+=3){const u=n+i/e*r;A.x=t*Math.cos(u),A.y=t*Math.sin(u),a.push(A.x,A.y,A.z),o.push(0,0,1),l.x=(a[c]/t+1)/2,l.y=(a[c+1]/t+1)/2,s.push(l.x,l.y)}for(let t=1;t<=e;t++)i.push(t,t+1,0);this.setIndex(i),this.setAttribute("position",new On(a,3)),this.setAttribute("normal",new On(o,3)),this.setAttribute("uv",new On(s,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new Qo(t.radius,t.segments,t.thetaStart,t.thetaLength)}}class Yo extends zn{constructor(t=1,e=1,n=1,r=32,i=1,a=!1,o=0,s=2*Math.PI){super(),this.type="CylinderGeometry",this.parameters={radiusTop:t,radiusBottom:e,height:n,radialSegments:r,heightSegments:i,openEnded:a,thetaStart:o,thetaLength:s};const A=this;r=Math.floor(r),i=Math.floor(i);const l=[],c=[],u=[],h=[];let d=0;const f=[],p=n/2;let m=0;function g(n){const i=d,a=new Lt,f=new ae;let g=0;const v=!0===n?t:e,_=!0===n?1:-1;for(let t=1;t<=r;t++)c.push(0,p*_,0),u.push(0,_,0),h.push(.5,.5),d++;const y=d;for(let t=0;t<=r;t++){const e=t/r*s+o,n=Math.cos(e),i=Math.sin(e);f.x=v*i,f.y=p*_,f.z=v*n,c.push(f.x,f.y,f.z),u.push(0,_,0),a.x=.5*n+.5,a.y=.5*i*_+.5,h.push(a.x,a.y),d++}for(let t=0;t0&&g(!0),e>0&&g(!1)),this.setIndex(l),this.setAttribute("position",new On(c,3)),this.setAttribute("normal",new On(u,3)),this.setAttribute("uv",new On(h,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new Yo(t.radiusTop,t.radiusBottom,t.height,t.radialSegments,t.heightSegments,t.openEnded,t.thetaStart,t.thetaLength)}}class Zo extends Xo{constructor(t){super(t),this.uuid=bt(),this.type="Shape",this.holes=[]}getPointsHoles(t){const e=[];for(let n=0,r=this.holes.length;n80*n){s=l=t[0],A=c=t[1];for(let e=n;el&&(l=u),h>c&&(c=h);d=Math.max(l-s,c-A),d=0!==d?32767/d:0}return ts(a,o,n,s,A,d,0),o};function Jo(t,e,n,r,i){let a,o;if(i===function(t,e,n,r){let i=0;for(let a=e,o=n-r;a0)for(a=e;a=e;a-=r)o=_s(a,t[a],t[a+1],o);return o&&ds(o,o.next)&&(ys(o),o=o.next),o}function $o(t,e){if(!t)return t;e||(e=t);let n,r=t;do{if(n=!1,r.steiner||!ds(r,r.next)&&0!==hs(r.prev,r,r.next))r=r.next;else{if(ys(r),r=e=r.prev,r===r.next)break;n=!0}}while(n||r!==e);return e}function ts(t,e,n,r,i,a,o){if(!t)return;!o&&a&&function(t,e,n,r){let i=t;do{0===i.z&&(i.z=As(i.x,i.y,e,n,r)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){let e,n,r,i,a,o,s,A,l=1;do{for(n=t,t=null,a=null,o=0;n;){for(o++,r=n,s=0,e=0;e0||A>0&&r;)0!==s&&(0===A||!r||n.z<=r.z)?(i=n,n=n.nextZ,s--):(i=r,r=r.nextZ,A--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;n=r}a.nextZ=null,l*=2}while(o>1)}(i)}(t,r,i,a);let s,A,l=t;for(;t.prev!==t.next;)if(s=t.prev,A=t.next,a?ns(t,r,i,a):es(t))e.push(s.i/n|0),e.push(t.i/n|0),e.push(A.i/n|0),ys(t),t=A.next,l=A.next;else if((t=A)===l){o?1===o?ts(t=rs($o(t),e,n),e,n,r,i,a,2):2===o&&is(t,e,n,r,i,a):ts($o(t),e,n,r,i,a,1);break}}function es(t){const e=t.prev,n=t,r=t.next;if(hs(e,n,r)>=0)return!1;const i=e.x,a=n.x,o=r.x,s=e.y,A=n.y,l=r.y,c=ia?i>o?i:o:a>o?a:o,d=s>A?s>l?s:l:A>l?A:l;let f=r.next;for(;f!==e;){if(f.x>=c&&f.x<=h&&f.y>=u&&f.y<=d&&cs(i,s,a,A,o,l,f.x,f.y)&&hs(f.prev,f,f.next)>=0)return!1;f=f.next}return!0}function ns(t,e,n,r){const i=t.prev,a=t,o=t.next;if(hs(i,a,o)>=0)return!1;const s=i.x,A=a.x,l=o.x,c=i.y,u=a.y,h=o.y,d=sA?s>l?s:l:A>l?A:l,m=c>u?c>h?c:h:u>h?u:h,g=As(d,f,e,n,r),v=As(p,m,e,n,r);let _=t.prevZ,y=t.nextZ;for(;_&&_.z>=g&&y&&y.z<=v;){if(_.x>=d&&_.x<=p&&_.y>=f&&_.y<=m&&_!==i&&_!==o&&cs(s,c,A,u,l,h,_.x,_.y)&&hs(_.prev,_,_.next)>=0)return!1;if(_=_.prevZ,y.x>=d&&y.x<=p&&y.y>=f&&y.y<=m&&y!==i&&y!==o&&cs(s,c,A,u,l,h,y.x,y.y)&&hs(y.prev,y,y.next)>=0)return!1;y=y.nextZ}for(;_&&_.z>=g;){if(_.x>=d&&_.x<=p&&_.y>=f&&_.y<=m&&_!==i&&_!==o&&cs(s,c,A,u,l,h,_.x,_.y)&&hs(_.prev,_,_.next)>=0)return!1;_=_.prevZ}for(;y&&y.z<=v;){if(y.x>=d&&y.x<=p&&y.y>=f&&y.y<=m&&y!==i&&y!==o&&cs(s,c,A,u,l,h,y.x,y.y)&&hs(y.prev,y,y.next)>=0)return!1;y=y.nextZ}return!0}function rs(t,e,n){let r=t;do{const i=r.prev,a=r.next.next;!ds(i,a)&&fs(i,r,r.next,a)&&gs(i,a)&&gs(a,i)&&(e.push(i.i/n|0),e.push(r.i/n|0),e.push(a.i/n|0),ys(r),ys(r.next),r=t=a),r=r.next}while(r!==t);return $o(r)}function is(t,e,n,r,i,a){let o=t;do{let t=o.next.next;for(;t!==o.prev;){if(o.i!==t.i&&us(o,t)){let s=vs(o,t);return o=$o(o,o.next),s=$o(s,s.next),ts(o,e,n,r,i,a,0),void ts(s,e,n,r,i,a,0)}t=t.next}o=o.next}while(o!==t)}function as(t,e){return t.x-e.x}function os(t,e){const n=function(t,e){let n,r=e,i=-1/0;const a=t.x,o=t.y;do{if(o<=r.y&&o>=r.next.y&&r.next.y!==r.y){const t=r.x+(o-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(t<=a&&t>i&&(i=t,n=r.x=r.x&&r.x>=A&&a!==r.x&&cs(on.x||r.x===n.x&&ss(n,r)))&&(n=r,u=c)),r=r.next}while(r!==s);return n}(t,e);if(!n)return e;const r=vs(n,t);return $o(r,r.next),$o(n,n.next)}function ss(t,e){return hs(t.prev,t,e.prev)<0&&hs(e.next,t,t.next)<0}function As(t,e,n,r,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-n)*i|0)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-r)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function ls(t){let e=t,n=t;do{(e.x=(t-o)*(a-s)&&(t-o)*(r-s)>=(n-o)*(e-s)&&(n-o)*(a-s)>=(i-o)*(r-s)}function us(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){let n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==e.i&&n.next.i!==e.i&&fs(n,n.next,t,e))return!0;n=n.next}while(n!==t);return!1}(t,e)&&(gs(t,e)&&gs(e,t)&&function(t,e){let n=t,r=!1;const i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{n.y>a!=n.next.y>a&&n.next.y!==n.y&&i<(n.next.x-n.x)*(a-n.y)/(n.next.y-n.y)+n.x&&(r=!r),n=n.next}while(n!==t);return r}(t,e)&&(hs(t.prev,t,e.prev)||hs(t,e.prev,e))||ds(t,e)&&hs(t.prev,t,t.next)>0&&hs(e.prev,e,e.next)>0)}function hs(t,e,n){return(e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y)}function ds(t,e){return t.x===e.x&&t.y===e.y}function fs(t,e,n,r){const i=ms(hs(t,e,n)),a=ms(hs(t,e,r)),o=ms(hs(n,r,t)),s=ms(hs(n,r,e));return i!==a&&o!==s||(!(0!==i||!ps(t,n,e))||(!(0!==a||!ps(t,r,e))||(!(0!==o||!ps(n,t,r))||!(0!==s||!ps(n,e,r)))))}function ps(t,e,n){return e.x<=Math.max(t.x,n.x)&&e.x>=Math.min(t.x,n.x)&&e.y<=Math.max(t.y,n.y)&&e.y>=Math.min(t.y,n.y)}function ms(t){return t>0?1:t<0?-1:0}function gs(t,e){return hs(t.prev,t,t.next)<0?hs(t,e,t.next)>=0&&hs(t,t.prev,e)>=0:hs(t,e,t.prev)<0||hs(t,t.next,e)<0}function vs(t,e){const n=new xs(t.i,t.x,t.y),r=new xs(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,n.next=i,i.prev=n,r.next=n,n.prev=r,a.next=r,r.prev=a,r}function _s(t,e,n,r){const i=new xs(t,e,n);return r?(i.next=r.next,i.prev=r,r.next.prev=i,r.next=i):(i.prev=i,i.next=i),i}function ys(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function xs(t,e,n){this.i=t,this.x=e,this.y=n,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}class bs{static area(t){const e=t.length;let n=0;for(let r=e-1,i=0;i2&&t[e-1].equals(t[0])&&t.pop()}function ws(t,e){for(let n=0;nNumber.EPSILON){const u=Math.sqrt(c),h=Math.sqrt(A*A+l*l),d=e.x-s/u,f=e.y+o/u,p=((n.x-l/h-d)*l-(n.y+A/h-f)*A)/(o*l-s*A);r=d+o*p-t.x,i=f+s*p-t.y;const m=r*r+i*i;if(m<=2)return new Lt(r,i);a=Math.sqrt(m/2)}else{let t=!1;o>Number.EPSILON?A>Number.EPSILON&&(t=!0):o<-Number.EPSILON?A<-Number.EPSILON&&(t=!0):Math.sign(s)===Math.sign(l)&&(t=!0),t?(r=-s,i=o,a=Math.sqrt(c)):(r=o,i=s,a=Math.sqrt(c/2))}return new Lt(r/a,i/a)}const L=[];for(let t=0,e=S.length,n=e-1,r=t+1;t=0;t--){const e=t/d,n=c*Math.cos(e*Math.PI/2),r=u*Math.sin(e*Math.PI/2)+h;for(let t=0,e=S.length;t=0;){const r=n;let i=n-1;i<0&&(i=t.length-1);for(let t=0,n=s+2*d;t0)&&h.push(e,i,A),(t!==n-1||sNumber.EPSILON){if(A<0&&(n=e[a],s=-s,o=e[i],A=-A),t.yo.y)continue;if(t.y===n.y){if(t.x===n.x)return!0}else{const e=A*(t.x-n.x)-s*(t.y-n.y);if(0===e)return!0;if(e<0)continue;r=!r}}else{if(t.y!==n.y)continue;if(o.x<=t.x&&t.x<=n.x||n.x<=t.x&&t.x<=o.x)return!0}}return r}const n=bs.isClockWise,r=this.subPaths;if(0===r.length)return[];let i,a,o;const s=[];if(1===r.length)return a=r[0],o=new Zo,o.curves=a.curves,s.push(o),s;let A=!n(r[0].getPoints());A=t?!A:A;const l=[],c=[];let u,h,d=[],f=0;c[f]=void 0,d[f]=[];for(let e=0,o=r.length;e1){let t=!1,n=0;for(let t=0,e=c.length;t0&&!1===t&&(d=l)}for(let t=0,e=c.length;t=e||n<0||u&&t-l>=a}function p(){var t=sA();if(f(t))return m(t);s=setTimeout(p,function(t){var n=e-(t-A);return u?PA(n,a-(t-l)):n}(t))}function m(t){return s=void 0,h&&r?d(t):(r=i=void 0,o)}function g(){var t=sA(),n=f(t);if(r=arguments,i=this,A=t,n){if(void 0===s)return function(t){return l=t,s=setTimeout(p,e),c?d(t):o}(A);if(u)return clearTimeout(s),s=setTimeout(p,e),d(A)}return void 0===s&&(s=setTimeout(p,e)),o}return e=TA(e)||0,rA(n)&&(c=!!n.leading,a=(u="maxWait"in n)?RA(TA(n.maxWait)||0,e):a,h="trailing"in n?!!n.trailing:h),g.cancel=function(){void 0!==s&&clearTimeout(s),l=0,r=A=i=s=void 0},g.flush=function(){return void 0===s?o:m(sA())},g}function DA(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n0&&void 0!==arguments[0]?arguments[0]:{},e=Object.assign({},n instanceof Function?n(t):n,{initialised:!1}),r={};function i(e){return a(e,t),s(),i}var a=function(t,n){c.call(i,t,e,n),e.initialised=!0},s=LA((function(){e.initialised&&(h.call(i,e,r),r={})}),1);return d.forEach((function(t){i[t.name]=function(t){var n=t.name,a=t.triggerUpdate,o=void 0!==a&&a,A=t.onChange,l=void 0===A?function(t,e){}:A,c=t.defaultVal,u=void 0===c?null:c;return function(t){var a=e[n];if(!arguments.length)return a;var A=void 0===t?u:t;return e[n]=A,l.call(i,A,e,a),!r.hasOwnProperty(n)&&(r[n]=a),o&&s(),i}}(t)})),Object.keys(o).forEach((function(t){i[t]=function(){for(var n,r=arguments.length,a=new Array(r),s=0;s1e4?1e4:t,{In:function(e){return Math.pow(e,t)},Out:function(e){return 1-Math.pow(1-e,t)},InOut:function(e){return e<.5?Math.pow(2*e,t)/2:(1-Math.pow(2-2*e,t))/2+.5}}}}),FA=function(){return performance.now()},zA=function(){function t(){this._tweens={},this._tweensAddedDuringUpdate={}}return t.prototype.getAll=function(){var t=this;return Object.keys(this._tweens).map((function(e){return t._tweens[e]}))},t.prototype.removeAll=function(){this._tweens={}},t.prototype.add=function(t){this._tweens[t.getId()]=t,this._tweensAddedDuringUpdate[t.getId()]=t},t.prototype.remove=function(t){delete this._tweens[t.getId()],delete this._tweensAddedDuringUpdate[t.getId()]},t.prototype.update=function(t,e){void 0===t&&(t=FA()),void 0===e&&(e=!1);var n=Object.keys(this._tweens);if(0===n.length)return!1;for(;n.length>0;){this._tweensAddedDuringUpdate={};for(var r=0;r1?a(t[n],t[n-1],n-r):a(t[i],t[i+1>n?n:i+1],r-i)},Bezier:function(t,e){for(var n=0,r=t.length-1,i=Math.pow,a=GA.Utils.Bernstein,o=0;o<=r;o++)n+=i(1-e,r-o)*i(e,o)*t[o]*a(r,o);return n},CatmullRom:function(t,e){var n=t.length-1,r=n*e,i=Math.floor(r),a=GA.Utils.CatmullRom;return t[0]===t[n]?(e<0&&(i=Math.floor(r=n*(1+e))),a(t[(i-1+n)%n],t[i],t[(i+1)%n],t[(i+2)%n],r-i)):e<0?t[0]-(a(t[0],t[0],t[1],t[1],-r)-t[0]):e>1?t[n]-(a(t[n],t[n],t[n-1],t[n-1],r-n)-t[n]):a(t[i?i-1:0],t[i],t[n1;n--)e*=n;return BA[t]=e,e}),CatmullRom:function(t,e,n,r,i){var a=.5*(n-t),o=.5*(r-e),s=i*i;return(2*e-2*n+a+o)*(i*s)+(-3*e+3*n-2*a-o)*s+a*i+e}}},HA=function(){function t(){}return t.nextId=function(){return t._nextId++},t._nextId=0,t}(),jA=new zA,VA=function(){function t(t,e){void 0===e&&(e=jA),this._object=t,this._group=e,this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._isDynamic=!1,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=kA.Linear.None,this._interpolationFunction=GA.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._id=HA.nextId(),this._isChainStopped=!1,this._propertiesAreSetUp=!1,this._goToEnd=!1}return t.prototype.getId=function(){return this._id},t.prototype.isPlaying=function(){return this._isPlaying},t.prototype.isPaused=function(){return this._isPaused},t.prototype.getDuration=function(){return this._duration},t.prototype.to=function(t,e){if(void 0===e&&(e=1e3),this._isPlaying)throw new Error("Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.");return this._valuesEnd=t,this._propertiesAreSetUp=!1,this._duration=e<0?0:e,this},t.prototype.duration=function(t){return void 0===t&&(t=1e3),this._duration=t<0?0:t,this},t.prototype.dynamic=function(t){return void 0===t&&(t=!1),this._isDynamic=t,this},t.prototype.start=function(t,e){if(void 0===t&&(t=FA()),void 0===e&&(e=!1),this._isPlaying)return this;if(this._group&&this._group.add(this),this._repeat=this._initialRepeat,this._reversed)for(var n in this._reversed=!1,this._valuesStartRepeat)this._swapEndStartRepeatValues(n),this._valuesStart[n]=this._valuesStartRepeat[n];if(this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=t,this._startTime+=this._delayTime,!this._propertiesAreSetUp||e){if(this._propertiesAreSetUp=!0,!this._isDynamic){var r={};for(var i in this._valuesEnd)r[i]=this._valuesEnd[i];this._valuesEnd=r}this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat,e)}return this},t.prototype.startFromCurrentValues=function(t){return this.start(t,!0)},t.prototype._setupProperties=function(t,e,n,r,i){for(var a in n){var o=t[a],s=Array.isArray(o),A=s?"array":typeof o,l=!s&&Array.isArray(n[a]);if("undefined"!==A&&"function"!==A){if(l){if(0===(m=n[a]).length)continue;for(var c=[o],u=0,h=m.length;ua)return!1;e&&this.start(t,!0)}if(this._goToEnd=!1,tA)return 1;var t=Math.trunc(o/s),e=o-t*s,n=Math.min(e/i._duration,1);return 0===n&&o===i._duration?1:n}(),c=this._easingFunction(l);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,c),this._onUpdateCallback&&this._onUpdateCallback(this._object,l),0===this._duration||o>=this._duration){if(this._repeat>0){var u=Math.min(Math.trunc((o-this._duration)/s)+1,this._repeat);for(r in isFinite(this._repeat)&&(this._repeat-=u),this._valuesStartRepeat)this._yoyo||"string"!=typeof this._valuesEnd[r]||(this._valuesStartRepeat[r]=this._valuesStartRepeat[r]+parseFloat(this._valuesEnd[r])),this._yoyo&&this._swapEndStartRepeatValues(r),this._valuesStart[r]=this._valuesStartRepeat[r];return this._yoyo&&(this._reversed=!this._reversed),this._startTime+=s*u,this._onRepeatCallback&&this._onRepeatCallback(this._object),this._onEveryStartCallbackFired=!1,!0}this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var h=0,d=this._chainedTweens.length;h80*n){r=a=t[0],i=o=t[1];for(var f=n;fa&&(a=s),A>o&&(o=A);l=0!==(l=Math.max(a-r,o-i))?32767/l:0}return $A(h,d,n,r,i,l,0),d}function KA(t,e,n,r,i){var a,o;if(i===xl(t,e,n,r)>0)for(a=e;a=e;a-=r)o=vl(a,t[a],t[a+1],o);return o&&hl(o,o.next)&&(_l(o),o=o.next),o}function JA(t,e){if(!t)return t;e||(e=t);var n,r=t;do{if(n=!1,r.steiner||!hl(r,r.next)&&0!==ul(r.prev,r,r.next))r=r.next;else{if(_l(r),(r=e=r.prev)===r.next)break;n=!0}}while(n||r!==e);return e}function $A(t,e,n,r,i,a,o){if(t){!o&&a&&function(t,e,n,r){var i=t;do{0===i.z&&(i.z=sl(i.x,i.y,e,n,r)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,n,r,i,a,o,s,A,l=1;do{for(n=t,t=null,a=null,o=0;n;){for(o++,r=n,s=0,e=0;e0||A>0&&r;)0!==s&&(0===A||!r||n.z<=r.z)?(i=n,n=n.nextZ,s--):(i=r,r=r.nextZ,A--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;n=r}a.nextZ=null,l*=2}while(o>1)}(i)}(t,r,i,a);for(var s,A,l=t;t.prev!==t.next;)if(s=t.prev,A=t.next,a?el(t,r,i,a):tl(t))e.push(s.i/n|0),e.push(t.i/n|0),e.push(A.i/n|0),_l(t),t=A.next,l=A.next;else if((t=A)===l){o?1===o?$A(t=nl(JA(t),e,n),e,n,r,i,a,2):2===o&&rl(t,e,n,r,i,a):$A(JA(t),e,n,r,i,a,1);break}}}function tl(t){var e=t.prev,n=t,r=t.next;if(ul(e,n,r)>=0)return!1;for(var i=e.x,a=n.x,o=r.x,s=e.y,A=n.y,l=r.y,c=ia?i>o?i:o:a>o?a:o,d=s>A?s>l?s:l:A>l?A:l,f=r.next;f!==e;){if(f.x>=c&&f.x<=h&&f.y>=u&&f.y<=d&&ll(i,s,a,A,o,l,f.x,f.y)&&ul(f.prev,f,f.next)>=0)return!1;f=f.next}return!0}function el(t,e,n,r){var i=t.prev,a=t,o=t.next;if(ul(i,a,o)>=0)return!1;for(var s=i.x,A=a.x,l=o.x,c=i.y,u=a.y,h=o.y,d=sA?s>l?s:l:A>l?A:l,m=c>u?c>h?c:h:u>h?u:h,g=sl(d,f,e,n,r),v=sl(p,m,e,n,r),_=t.prevZ,y=t.nextZ;_&&_.z>=g&&y&&y.z<=v;){if(_.x>=d&&_.x<=p&&_.y>=f&&_.y<=m&&_!==i&&_!==o&&ll(s,c,A,u,l,h,_.x,_.y)&&ul(_.prev,_,_.next)>=0)return!1;if(_=_.prevZ,y.x>=d&&y.x<=p&&y.y>=f&&y.y<=m&&y!==i&&y!==o&&ll(s,c,A,u,l,h,y.x,y.y)&&ul(y.prev,y,y.next)>=0)return!1;y=y.nextZ}for(;_&&_.z>=g;){if(_.x>=d&&_.x<=p&&_.y>=f&&_.y<=m&&_!==i&&_!==o&&ll(s,c,A,u,l,h,_.x,_.y)&&ul(_.prev,_,_.next)>=0)return!1;_=_.prevZ}for(;y&&y.z<=v;){if(y.x>=d&&y.x<=p&&y.y>=f&&y.y<=m&&y!==i&&y!==o&&ll(s,c,A,u,l,h,y.x,y.y)&&ul(y.prev,y,y.next)>=0)return!1;y=y.nextZ}return!0}function nl(t,e,n){var r=t;do{var i=r.prev,a=r.next.next;!hl(i,a)&&dl(i,r,r.next,a)&&ml(i,a)&&ml(a,i)&&(e.push(i.i/n|0),e.push(r.i/n|0),e.push(a.i/n|0),_l(r),_l(r.next),r=t=a),r=r.next}while(r!==t);return JA(r)}function rl(t,e,n,r,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&cl(o,s)){var A=gl(o,s);return o=JA(o,o.next),A=JA(A,A.next),$A(o,e,n,r,i,a,0),void $A(A,e,n,r,i,a,0)}s=s.next}o=o.next}while(o!==t)}function il(t,e){return t.x-e.x}function al(t,e){var n=function(t,e){var n,r=e,i=t.x,a=t.y,o=-1/0;do{if(a<=r.y&&a>=r.next.y&&r.next.y!==r.y){var s=r.x+(a-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(s<=i&&s>o&&(o=s,n=r.x=r.x&&r.x>=c&&i!==r.x&&ll(an.x||r.x===n.x&&ol(n,r)))&&(n=r,h=A)),r=r.next}while(r!==l);return n}(t,e);if(!n)return e;var r=gl(n,t);return JA(r,r.next),JA(n,n.next)}function ol(t,e){return ul(t.prev,t,e.prev)<0&&ul(e.next,t,t.next)<0}function sl(t,e,n,r,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-n)*i|0)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-r)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Al(t){var e=t,n=t;do{(e.x=(t-o)*(a-s)&&(t-o)*(r-s)>=(n-o)*(e-s)&&(n-o)*(a-s)>=(i-o)*(r-s)}function cl(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==e.i&&n.next.i!==e.i&&dl(n,n.next,t,e))return!0;n=n.next}while(n!==t);return!1}(t,e)&&(ml(t,e)&&ml(e,t)&&function(t,e){var n=t,r=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{n.y>a!=n.next.y>a&&n.next.y!==n.y&&i<(n.next.x-n.x)*(a-n.y)/(n.next.y-n.y)+n.x&&(r=!r),n=n.next}while(n!==t);return r}(t,e)&&(ul(t.prev,t,e.prev)||ul(t,e.prev,e))||hl(t,e)&&ul(t.prev,t,t.next)>0&&ul(e.prev,e,e.next)>0)}function ul(t,e,n){return(e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y)}function hl(t,e){return t.x===e.x&&t.y===e.y}function dl(t,e,n,r){var i=pl(ul(t,e,n)),a=pl(ul(t,e,r)),o=pl(ul(n,r,t)),s=pl(ul(n,r,e));return i!==a&&o!==s||(!(0!==i||!fl(t,n,e))||(!(0!==a||!fl(t,r,e))||(!(0!==o||!fl(n,t,r))||!(0!==s||!fl(n,e,r)))))}function fl(t,e,n){return e.x<=Math.max(t.x,n.x)&&e.x>=Math.min(t.x,n.x)&&e.y<=Math.max(t.y,n.y)&&e.y>=Math.min(t.y,n.y)}function pl(t){return t>0?1:t<0?-1:0}function ml(t,e){return ul(t.prev,t,t.next)<0?ul(t,e,t.next)>=0&&ul(t,t.prev,e)>=0:ul(t,e,t.prev)<0||ul(t,t.next,e)<0}function gl(t,e){var n=new yl(t.i,t.x,t.y),r=new yl(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,n.next=i,i.prev=n,r.next=n,n.prev=r,a.next=r,r.prev=a,r}function vl(t,e,n,r){var i=new yl(t,e,n);return r?(i.next=r.next,i.prev=r,r.next.prev=i,r.next=i):(i.prev=i,i.next=i),i}function _l(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function yl(t,e,n){this.i=t,this.x=e,this.y=n,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function xl(t,e,n,r){for(var i=0,a=e,o=n-r;a0&&(r+=t[i-1].length,n.holes.push(r))}return n};var bl=QA(YA.exports);function Ml(t,e){return null==t||null==e?NaN:te?1:t>=e?0:NaN}function wl(t,e){return null==t||null==e?NaN:et?1:e>=t?0:NaN}function El(t){let e,n,r;function i(t,r,i=0,a=t.length){if(i>>1;n(t[e],r)<0?i=e+1:a=e}while(iMl(t(e),n),r=(e,n)=>t(e)-n):(e=t===Ml||t===wl?t:Sl,n=t,r=t),{left:i,center:function(t,e,n=0,a=t.length){const o=i(t,e,n,a-1);return o>n&&r(t[o-1],e)>-r(t[o],e)?o-1:o},right:function(t,r,i=0,a=t.length){if(i>>1;n(t[e],r)<=0?i=e+1:a=e}while(i=e&&(n=r=e):(n>e&&(n=e),r=a&&(n=r=a):(n>a&&(n=a),r0){for(a=t[--i];i>0&&(e=a,n=t[--i],a=e+n,r=n-(a-e),!r););i>0&&(r<0&&t[i-1]<0||r>0&&t[i-1]>0)&&(n=2*r,e=a+n,n==e-a&&(a=e))}return a}}const Pl=Math.sqrt(50),Ll=Math.sqrt(10),Dl=Math.sqrt(2);function Ol(t,e,n){const r=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/Math.pow(10,i),o=a>=Pl?10:a>=Ll?5:a>=Dl?2:1;let s,A,l;return i<0?(l=Math.pow(10,-i)/o,s=Math.round(t*l),A=Math.round(e*l),s/le&&--A,l=-l):(l=Math.pow(10,i)*o,s=Math.round(t/l),A=Math.round(e/l),s*le&&--A),A0?1:t<0?-1:0},$l=Math.sqrt;function tc(t){return t>1?Fl:t<-1?-Fl:Math.asin(t)}function ec(t){return(t=Kl(t/2))*t}function nc(){}function rc(t,e){t&&ac.hasOwnProperty(t.type)&&ac[t.type](t,e)}var ic={Feature:function(t,e){rc(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r=0?1:-1,i=r*n,a=Ql(e=(e*=jl)/2+zl),o=Kl(e),s=dc*o,A=hc*a+s*Ql(i),l=s*r*Kl(i);Ec.add(Xl(l,A)),uc=t,hc=a,dc=o}function Dc(t){return[Xl(t[1],t[0]),tc(t[2])]}function Oc(t){var e=t[0],n=t[1],r=Ql(n);return[r*Ql(e),r*Kl(e),Kl(n)]}function Ic(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function qc(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function Uc(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Nc(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Bc(t){var e=$l(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}var kc,Fc,zc,Gc,Hc,jc,Vc,Wc,Xc,Qc,Yc,Zc,Kc,Jc,$c,tu,eu={point:nu,lineStart:iu,lineEnd:au,polygonStart:function(){eu.point=ou,eu.lineStart=su,eu.lineEnd=Au,bc=new Rl,Tc.polygonStart()},polygonEnd:function(){Tc.polygonEnd(),eu.point=nu,eu.lineStart=iu,eu.lineEnd=au,Ec<0?(fc=-(mc=180),pc=-(gc=90)):bc>Nl?gc=90:bc<-Nl&&(pc=-90),wc[0]=fc,wc[1]=mc},sphere:function(){fc=-(mc=180),pc=-(gc=90)}};function nu(t,e){Mc.push(wc=[fc=t,mc=t]),egc&&(gc=e)}function ru(t,e){var n=Oc([t*jl,e*jl]);if(xc){var r=qc(xc,n),i=qc([r[1],-r[0],0],r);Bc(i),i=Dc(i);var a,o=t-vc,s=o>0?1:-1,A=i[0]*Hl*s,l=Vl(o)>180;l^(s*vcgc&&(gc=a):l^(s*vc<(A=(A+360)%360-180)&&Agc&&(gc=e)),l?tlu(fc,mc)&&(mc=t):lu(t,mc)>lu(fc,mc)&&(fc=t):mc>=fc?(tmc&&(mc=t)):t>vc?lu(fc,t)>lu(fc,mc)&&(mc=t):lu(t,mc)>lu(fc,mc)&&(fc=t)}else Mc.push(wc=[fc=t,mc=t]);egc&&(gc=e),xc=n,vc=t}function iu(){eu.point=ru}function au(){wc[0]=fc,wc[1]=mc,eu.point=nu,xc=null}function ou(t,e){if(xc){var n=t-vc;bc.add(Vl(n)>180?n+(n>0?360:-360):n)}else _c=t,yc=e;Tc.point(t,e),ru(t,e)}function su(){Tc.lineStart()}function Au(){ou(_c,yc),Tc.lineEnd(),Vl(bc)>Nl&&(fc=-(mc=180)),wc[0]=fc,wc[1]=mc,xc=null}function lu(t,e){return(e-=t)<0?e+360:e}function cu(t,e){return t[0]-e[0]}function uu(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:elu(r[0],r[1])&&(r[1]=i[1]),lu(i[0],r[1])>lu(r[0],r[1])&&(r[0]=i[0])):a.push(r=i);for(o=-1/0,e=0,r=a[n=a.length-1];e<=n;r=i,++e)i=a[e],(s=lu(r[1],i[0]))>o&&(o=s,fc=i[0],mc=r[1])}return Mc=wc=null,fc===1/0||pc===1/0?[[NaN,NaN],[NaN,NaN]]:[[fc,pc],[mc,gc]]}var du={sphere:nc,point:fu,lineStart:mu,lineEnd:_u,polygonStart:function(){du.lineStart=yu,du.lineEnd=xu},polygonEnd:function(){du.lineStart=mu,du.lineEnd=_u}};function fu(t,e){t*=jl;var n=Ql(e*=jl);pu(n*Ql(t),n*Kl(t),Kl(e))}function pu(t,e,n){++kc,zc+=(t-zc)/kc,Gc+=(e-Gc)/kc,Hc+=(n-Hc)/kc}function mu(){du.point=gu}function gu(t,e){t*=jl;var n=Ql(e*=jl);Jc=n*Ql(t),$c=n*Kl(t),tu=Kl(e),du.point=vu,pu(Jc,$c,tu)}function vu(t,e){t*=jl;var n=Ql(e*=jl),r=n*Ql(t),i=n*Kl(t),a=Kl(e),o=Xl($l((o=$c*a-tu*i)*o+(o=tu*r-Jc*a)*o+(o=Jc*i-$c*r)*o),Jc*r+$c*i+tu*a);Fc+=o,jc+=o*(Jc+(Jc=r)),Vc+=o*($c+($c=i)),Wc+=o*(tu+(tu=a)),pu(Jc,$c,tu)}function _u(){du.point=fu}function yu(){du.point=bu}function xu(){Mu(Zc,Kc),du.point=fu}function bu(t,e){Zc=t,Kc=e,t*=jl,e*=jl,du.point=Mu;var n=Ql(e);Jc=n*Ql(t),$c=n*Kl(t),tu=Kl(e),pu(Jc,$c,tu)}function Mu(t,e){t*=jl;var n=Ql(e*=jl),r=n*Ql(t),i=n*Kl(t),a=Kl(e),o=$c*a-tu*i,s=tu*r-Jc*a,A=Jc*i-$c*r,l=Zl(o,s,A),c=tc(l),u=l&&-c/l;Xc.add(u*o),Qc.add(u*s),Yc.add(u*A),Fc+=c,jc+=c*(Jc+(Jc=r)),Vc+=c*($c+($c=i)),Wc+=c*(tu+(tu=a)),pu(Jc,$c,tu)}function wu(t){kc=Fc=zc=Gc=Hc=jc=Vc=Wc=0,Xc=new Rl,Qc=new Rl,Yc=new Rl,Ac(t,du);var e=+Xc,n=+Qc,r=+Yc,i=Zl(e,n,r);return ikl&&(t-=Math.round(t/Gl)*Gl),[t,e]}function Tu(t,e,n){return(t%=Gl)?e||n?Eu(Ru(t),Pu(e,n)):Ru(t):e||n?Pu(e,n):Su}function Cu(t){return function(e,n){return Vl(e+=t)>kl&&(e-=Math.round(e/Gl)*Gl),[e,n]}}function Ru(t){var e=Cu(t);return e.invert=Cu(-t),e}function Pu(t,e){var n=Ql(t),r=Kl(t),i=Ql(e),a=Kl(e);function o(t,e){var o=Ql(e),s=Ql(t)*o,A=Kl(t)*o,l=Kl(e),c=l*n+s*r;return[Xl(A*i-c*a,s*n-l*r),tc(c*i+A*a)]}return o.invert=function(t,e){var o=Ql(e),s=Ql(t)*o,A=Kl(t)*o,l=Kl(e),c=l*i-A*a;return[Xl(A*i+l*a,s*n+c*r),tc(c*n-s*r)]},o}function Lu(t,e){(e=Oc(e))[0]-=t,Bc(e);var n,r=(n=-e[1])>1?0:n<-1?kl:Math.acos(n);return((-e[2]<0?-r:r)+Gl-Nl)%Gl}function Du(){var t,e=[];return{point:function(e,n,r){t.push([e,n,r])},lineStart:function(){e.push(t=[])},lineEnd:nc,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}}function Ou(t,e){return Vl(t[0]-e[0])=0;--a)i.point((c=l[a])[0],c[1]);else r(h.x,h.p.x,-1,i);h=h.p}l=(h=h.o).z,d=!d}while(!h.v);i.lineEnd()}}}function Uu(t){if(e=t.length){for(var e,n,r=0,i=t[0];++r=0?1:-1,S=E*w,T=S>kl,C=m*b;if(A.add(Xl(C*E*Kl(S),g*M+C*Ql(S))),o+=T?w+E*Gl:w,T^f>=n^y>=n){var R=qc(Oc(d),Oc(_));Bc(R);var P=qc(a,R);Bc(P);var L=(T^w>=0?-1:1)*tc(P[2]);(r>L||r===L&&(R[0]||R[1]))&&(s+=T^w>=0?1:-1)}}return(o<-Nl||o0){for(u||(i.polygonStart(),u=!0),i.lineStart(),t=0;t1&&2&A&&h.push(h.pop().concat(h.shift())),o.push(h.filter(Fu))}return h}}function Fu(t){return t.length>1}function zu(t,e){return((t=t.x)[0]<0?t[1]-Fl-Nl:Fl-t[1])-((e=e.x)[0]<0?e[1]-Fl-Nl:Fl-e[1])}Su.invert=Su;var Gu=ku((function(){return!0}),(function(t){var e,n=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a>0?kl:-kl,A=Vl(a-n);Vl(A-kl)0?Fl:-Fl),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(s,r),t.point(a,r),e=0):i!==s&&A>=kl&&(Vl(n-i)Nl?Wl((Kl(e)*(a=Ql(r))*Kl(n)-Kl(r)*(i=Ql(e))*Kl(t))/(i*a*o)):(e+r)/2}(n,r,a,o),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(s,r),e=0),t.point(n=a,r=o),i=s},lineEnd:function(){t.lineEnd(),n=r=NaN},clean:function(){return 2-e}}}),(function(t,e,n,r){var i;if(null==t)i=n*Fl,r.point(-kl,i),r.point(0,i),r.point(kl,i),r.point(kl,0),r.point(kl,-i),r.point(0,-i),r.point(-kl,-i),r.point(-kl,0),r.point(-kl,i);else if(Vl(t[0]-e[0])>Nl){var a=t[0]0,i=Vl(e)>Nl;function a(t,n){return Ql(t)*Ql(n)>e}function o(t,n,r){var i=[1,0,0],a=qc(Oc(t),Oc(n)),o=Ic(a,a),s=a[0],A=o-s*s;if(!A)return!r&&t;var l=e*o/A,c=-e*s/A,u=qc(i,a),h=Nc(i,l);Uc(h,Nc(a,c));var d=u,f=Ic(h,d),p=Ic(d,d),m=f*f-p*(Ic(h,h)-1);if(!(m<0)){var g=$l(m),v=Nc(d,(-f-g)/p);if(Uc(v,h),v=Dc(v),!r)return v;var _,y=t[0],x=n[0],b=t[1],M=n[1];x0^v[1]<(Vl(v[0]-y)kl^(y<=v[0]&&v[0]<=x)){var S=Nc(d,(-f+g)/p);return Uc(S,h),[v,Dc(S)]}}}function s(e,n){var i=r?t:kl-t,a=0;return e<-i?a|=1:e>i&&(a|=2),n<-i?a|=4:n>i&&(a|=8),a}return ku(a,(function(t){var e,n,A,l,c;return{lineStart:function(){l=A=!1,c=1},point:function(u,h){var d,f=[u,h],p=a(u,h),m=r?p?0:s(u,h):p?s(u+(u<0?kl:-kl),h):0;if(!e&&(l=A=p)&&t.lineStart(),p!==A&&(!(d=o(e,f))||Ou(e,d)||Ou(f,d))&&(f[2]=1),p!==A)c=0,p?(t.lineStart(),d=o(f,e),t.point(d[0],d[1])):(d=o(e,f),t.point(d[0],d[1],2),t.lineEnd()),e=d;else if(i&&e&&r^p){var g;m&n||!(g=o(f,e,!0))||(c=0,r?(t.lineStart(),t.point(g[0][0],g[0][1]),t.point(g[1][0],g[1][1]),t.lineEnd()):(t.point(g[1][0],g[1][1]),t.lineEnd(),t.lineStart(),t.point(g[0][0],g[0][1],3)))}!p||e&&Ou(e,f)||t.point(f[0],f[1]),e=f,A=p,n=m},lineEnd:function(){A&&t.lineEnd(),e=null},clean:function(){return c|(l&&A)<<1}}}),(function(e,r,i,a){!function(t,e,n,r,i,a){if(n){var o=Ql(e),s=Kl(e),A=r*n;null==i?(i=e+r*Gl,a=e-A/2):(i=Lu(o,i),a=Lu(o,a),(r>0?ia)&&(i+=r*Gl));for(var l,c=i;r>0?c>a:c0)do{l.point(0===c||3===c?t:n,c>1?r:e)}while((c=(c+s+4)%4)!==u);else l.point(a[0],a[1])}function o(r,i){return Vl(r[0]-t)0?0:3:Vl(r[0]-n)0?2:1:Vl(r[1]-e)0?1:0:i>0?3:2}function s(t,e){return A(t.x,e.x)}function A(t,e){var n=o(t,1),r=o(e,1);return n!==r?n-r:0===n?e[1]-t[1]:1===n?t[0]-e[0]:2===n?t[1]-e[1]:e[0]-t[0]}return function(o){var A,l,c,u,h,d,f,p,m,g,v,_=o,y=Du(),x={point:b,lineStart:function(){x.point=M,l&&l.push(c=[]);g=!0,m=!1,f=p=NaN},lineEnd:function(){A&&(M(u,h),d&&m&&y.rejoin(),A.push(y.result()));x.point=b,m&&_.lineEnd()},polygonStart:function(){_=y,A=[],l=[],v=!0},polygonEnd:function(){var e=function(){for(var e=0,n=0,i=l.length;nr&&(h-a)*(r-o)>(d-o)*(t-a)&&++e:d<=r&&(h-a)*(r-o)<(d-o)*(t-a)&&--e;return e}(),n=v&&e,i=(A=ql(A)).length;(n||i)&&(o.polygonStart(),n&&(o.lineStart(),a(null,null,1,o),o.lineEnd()),i&&qu(A,s,e,a,o),o.polygonEnd());_=o,A=l=c=null}};function b(t,e){i(t,e)&&_.point(t,e)}function M(a,o){var s=i(a,o);if(l&&c.push([a,o]),g)u=a,h=o,d=s,g=!1,s&&(_.lineStart(),_.point(a,o));else if(s&&m)_.point(a,o);else{var A=[f=Math.max(Yu,Math.min(Qu,f)),p=Math.max(Yu,Math.min(Qu,p))],y=[a=Math.max(Yu,Math.min(Qu,a)),o=Math.max(Yu,Math.min(Qu,o))];!function(t,e,n,r,i,a){var o,s=t[0],A=t[1],l=0,c=1,u=e[0]-s,h=e[1]-A;if(o=n-s,u||!(o>0)){if(o/=u,u<0){if(o0){if(o>c)return;o>l&&(l=o)}if(o=i-s,u||!(o<0)){if(o/=u,u<0){if(o>c)return;o>l&&(l=o)}else if(u>0){if(o0)){if(o/=h,h<0){if(o0){if(o>c)return;o>l&&(l=o)}if(o=a-A,h||!(o<0)){if(o/=h,h<0){if(o>c)return;o>l&&(l=o)}else if(h>0){if(o0&&(t[0]=s+l*u,t[1]=A+l*h),c<1&&(e[0]=s+c*u,e[1]=A+c*h),!0}}}}}(A,y,t,e,n,r)?s&&(_.lineStart(),_.point(a,o),v=!1):(m||(_.lineStart(),_.point(A[0],A[1])),_.point(y[0],y[1]),s||_.lineEnd(),v=!1)}f=a,p=o,m=s}return x}}var Ku={sphere:nc,point:nc,lineStart:function(){Ku.point=$u,Ku.lineEnd=Ju},lineEnd:nc,polygonStart:nc,polygonEnd:nc};function Ju(){Ku.point=Ku.lineEnd=nc}function $u(t,e){Vu=t*=jl,Wu=Kl(e*=jl),Xu=Ql(e),Ku.point=th}function th(t,e){t*=jl;var n=Kl(e*=jl),r=Ql(e),i=Vl(t-Vu),a=Ql(i),o=r*Kl(i),s=Xu*n-Wu*r*a,A=Wu*n+Xu*r*a;ju.add(Xl($l(o*o+s*s),A)),Vu=t,Wu=n,Xu=r}var eh=[null,null],nh={type:"LineString",coordinates:eh};function rh(t,e){return eh[0]=t,eh[1]=e,function(t){return ju=new Rl,Ac(t,Ku),+ju}(nh)}var ih={Feature:function(t,e){return oh(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r0&&(i=rh(t[a],t[a-1]))>0&&n<=i&&r<=i&&(n+r-i)*(1-Math.pow((n-r)/i,2))Nl})).map(A)).concat(Ul(Yl(a/d)*d,i,d).filter((function(t){return Vl(t%p)>Nl})).map(l))}return g.lines=function(){return v().map((function(t){return{type:"LineString",coordinates:t}}))},g.outline=function(){return{type:"Polygon",coordinates:[c(r).concat(u(o).slice(1),c(n).reverse().slice(1),u(s).reverse().slice(1))]}},g.extent=function(t){return arguments.length?g.extentMajor(t).extentMinor(t):g.extentMinor()},g.extentMajor=function(t){return arguments.length?(r=+t[0][0],n=+t[1][0],s=+t[0][1],o=+t[1][1],r>n&&(t=r,r=n,n=t),s>o&&(t=s,s=o,o=t),g.precision(m)):[[r,s],[n,o]]},g.extentMinor=function(n){return arguments.length?(e=+n[0][0],t=+n[1][0],a=+n[0][1],i=+n[1][1],e>t&&(n=e,e=t,t=n),a>i&&(n=a,a=i,i=n),g.precision(m)):[[e,a],[t,i]]},g.step=function(t){return arguments.length?g.stepMajor(t).stepMinor(t):g.stepMinor()},g.stepMajor=function(t){return arguments.length?(f=+t[0],p=+t[1],g):[f,p]},g.stepMinor=function(t){return arguments.length?(h=+t[0],d=+t[1],g):[h,d]},g.precision=function(h){return arguments.length?(m=+h,A=hh(a,i,90),l=dh(e,t,m),c=hh(s,o,90),u=dh(r,n,m),g):m},g.extentMajor([[-180,-90+Nl],[180,90-Nl]]).extentMinor([[-180,-80-Nl],[180,80+Nl]])}()()}function ph(t,e){var n=t[0]*jl,r=t[1]*jl,i=e[0]*jl,a=e[1]*jl,o=Ql(r),s=Kl(r),A=Ql(a),l=Kl(a),c=o*Ql(n),u=o*Kl(n),h=A*Ql(i),d=A*Kl(i),f=2*tc($l(ec(a-r)+o*A*ec(i-n))),p=Kl(f),m=f?function(t){var e=Kl(t*=f)/p,n=Kl(f-t)/p,r=n*c+e*h,i=n*u+e*d,a=n*s+e*l;return[Xl(i,r)*Hl,Xl(a,$l(r*r+i*i))*Hl]}:function(){return[n*Hl,r*Hl]};return m.distance=f,m}var mh=t=>t,gh=1/0,vh=gh,_h=-gh,yh=_h;var xh={point:function(t,e){t_h&&(_h=t);eyh&&(yh=e)},lineStart:nc,lineEnd:nc,polygonStart:nc,polygonEnd:nc,result:function(){var t=[[gh,vh],[_h,yh]];return _h=yh=-(vh=gh=1/0),t}};function bh(t){return function(e){var n=new Mh;for(var r in t)n[r]=t[r];return n.stream=e,n}}function Mh(){}function wh(t,e,n){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),null!=r&&t.clipExtent(null),Ac(n,t.stream(xh)),e(xh.result()),null!=r&&t.clipExtent(r),t}function Eh(t,e,n){return wh(t,(function(n){var r=e[1][0]-e[0][0],i=e[1][1]-e[0][1],a=Math.min(r/(n[1][0]-n[0][0]),i/(n[1][1]-n[0][1])),o=+e[0][0]+(r-a*(n[1][0]+n[0][0]))/2,s=+e[0][1]+(i-a*(n[1][1]+n[0][1]))/2;t.scale(150*a).translate([o,s])}),n)}Mh.prototype={constructor:Mh,point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var Sh=16,Th=Ql(30*jl);function Ch(t,e){return+e?function(t,e){function n(r,i,a,o,s,A,l,c,u,h,d,f,p,m){var g=l-r,v=c-i,_=g*g+v*v;if(_>4*e&&p--){var y=o+h,x=s+d,b=A+f,M=$l(y*y+x*x+b*b),w=tc(b/=M),E=Vl(Vl(b)-1)e||Vl((g*R+v*P)/_-.5)>.3||o*h+s*d+A*f2?t[2]%360*jl:0,R()):[m*Hl,g*Hl,v*Hl]},T.angle=function(t){return arguments.length?(_=t%360*jl,R()):_*Hl},T.reflectX=function(t){return arguments.length?(y=t?-1:1,R()):y<0},T.reflectY=function(t){return arguments.length?(x=t?-1:1,R()):x<0},T.precision=function(t){return arguments.length?(o=Ch(s,S=t*t),P()):$l(S)},T.fitExtent=function(t,e){return Eh(T,t,e)},T.fitSize=function(t,e){return function(t,e,n){return Eh(t,[[0,0],e],n)}(T,t,e)},T.fitWidth=function(t,e){return function(t,e,n){return wh(t,(function(n){var r=+e,i=r/(n[1][0]-n[0][0]),a=(r-i*(n[1][0]+n[0][0]))/2,o=-i*n[0][1];t.scale(150*i).translate([a,o])}),n)}(T,t,e)},T.fitHeight=function(t,e){return function(t,e,n){return wh(t,(function(n){var r=+e,i=r/(n[1][1]-n[0][1]),a=-i*n[0][0],o=(r-i*(n[1][1]+n[0][1]))/2;t.scale(150*i).translate([a,o])}),n)}(T,t,e)},function(){return e=t.apply(this,arguments),T.invert=e.invert&&C,R()}}((function(){return t}))()}function Dh(t,e){var n=Ql(e),r=1+Ql(t)*n;return[n*Kl(t)/r,Kl(e)/r]}function Oh(){return Lh(Dh).scale(250).clipAngle(142)}function Ih(t,e,n){return e=Bh(e),function(t,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,qh()?Reflect.construct(e,n||[],Bh(t).constructor):e.apply(t,n))}function qh(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(qh=function(){return!!t})()}function Uh(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}function Nh(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&void 0!==arguments[1]?arguments[1]:1,e=[],n=null;return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).forEach((function(r){if(n){var i=180*rh(r,n)/Math.PI;if(i>t)for(var a=ph(n,r),o=1/Math.ceil(i/t),s=o;s<1;)e.push(a(s)),s+=o}e.push(n=r)})),e},jh="undefined"!=typeof window&&window.THREE?window.THREE:{BufferGeometry:zn,Float32BufferAttribute:On},Vh=(new jh.BufferGeometry).setAttribute?"setAttribute":"addAttribute",Wh=function(t){function e(t){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),(n=Ih(this,e)).type="GeoJsonGeometry",n.parameters={geoJson:t,radius:r,resolution:i};var a=({Point:l,MultiPoint:function(t,e){var n={vertices:[],indices:[]};return t.map((function(t){return l(t,e)})).forEach((function(t){var e=Fh(t,1)[0];Xh(n,e)})),[n]},LineString:c,MultiLineString:function(t,e){var n={vertices:[],indices:[]};return t.map((function(t){return c(t,e)})).forEach((function(t){var e=Fh(t,1)[0];Xh(n,e)})),[n]},Polygon:u,MultiPolygon:function(t,e){var n={vertices:[],indices:[]},r={vertices:[],indices:[]};t.map((function(t){return u(t,e)})).forEach((function(t){var e=Fh(t,2),i=e[0],a=e[1];Xh(n,i),a&&Xh(r,a)}));var i=[n];return r.vertices.length&&i.push(r),i}}[t.type]||function(){return[]})(t.coordinates,r),o=[],s=[],A=0;function l(t,e){return[{vertices:Yh(t[1],t[0],e),indices:[]}]}function c(t,e){for(var n=Hh(t,i).map((function(t){var n=Fh(t,2),r=n[0];return Yh(n[1],r,e)})),r=bl.flatten([n]).vertices,a=Math.round(r.length/3),o=[],s=1;s=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return o=t.done,t},e:function(t){s=!0,a=t},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}(e);try{for(r.s();!(n=r.n()).done;){var i=n.value;t.push(i)}}catch(t){r.e(t)}finally{r.f()}}function Yh(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=(90-t)*Math.PI/180,i=(90-e)*Math.PI/180;return[n*Math.sin(r)*Math.cos(i),n*Math.cos(r),n*Math.sin(r)*Math.sin(i)]}function Zh(t){let e,n,r,i=-1,a=0;for(let o=0;o=2&&o.setY(e,t.getY(e)),r>=3&&o.setZ(e,t.getZ(e)),r>=4&&o.setW(e,t.getW(e));return o}var Jh=Object.freeze({__proto__:null,computeMikkTSpaceTangents:function(t,e,n=!0){if(!e||!e.isReady)throw new Error("BufferGeometryUtils: Initialized MikkTSpace library required.");if(!t.hasAttribute("position")||!t.hasAttribute("normal")||!t.hasAttribute("uv"))throw new Error('BufferGeometryUtils: Tangents require "position", "normal", and "uv" attributes.');function r(t){if(t.normalized||t.isInterleavedBufferAttribute){const e=new Float32Array(t.count*t.itemSize);for(let n=0,r=0;n2&&(e[r++]=t.getZ(n));return e}return t.array instanceof Float32Array?t.array:new Float32Array(t.array)}const i=t.index?t.toNonIndexed():t,a=e.generateTangents(r(i.attributes.position),r(i.attributes.normal),r(i.attributes.uv));if(n)for(let t=3;tt.materialIndex!==e.materialIndex?t.materialIndex-e.materialIndex:t.start-e.start)),null===t.getIndex()){const e=t.getAttribute("position"),n=[];for(let t=0;tn&&A.add(e)}A.normalize(),f.setXYZ(e+t,A.x,A.y,A.z)}}return c.setAttribute("normal",f),c},toTrianglesDrawMode:function(t,e){if(0===e)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),t;if(2===e||1===e){let n=t.getIndex();if(null===n){const e=[],r=t.getAttribute("position");if(void 0===r)return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."),t;for(let t=0;t>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?yd(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?yd(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=ld.exec(t))?new bd(e[1],e[2],e[3],1):(e=cd.exec(t))?new bd(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=ud.exec(t))?yd(e[1],e[2],e[3],e[4]):(e=hd.exec(t))?yd(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=dd.exec(t))?Cd(e[1],e[2]/100,e[3]/100,1):(e=fd.exec(t))?Cd(e[1],e[2]/100,e[3]/100,e[4]):pd.hasOwnProperty(t)?_d(pd[t]):"transparent"===t?new bd(NaN,NaN,NaN,0):null}function _d(t){return new bd(t>>16&255,t>>8&255,255&t,1)}function yd(t,e,n,r){return r<=0&&(t=e=n=NaN),new bd(t,e,n,r)}function xd(t,e,n,r){return 1===arguments.length?((i=t)instanceof nd||(i=vd(i)),i?new bd((i=i.rgb()).r,i.g,i.b,i.opacity):new bd):new bd(t,e,n,null==r?1:r);var i}function bd(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function Md(){return`#${Td(this.r)}${Td(this.g)}${Td(this.b)}`}function wd(){const t=Ed(this.opacity);return`${1===t?"rgb(":"rgba("}${Sd(this.r)}, ${Sd(this.g)}, ${Sd(this.b)}${1===t?")":`, ${t})`}`}function Ed(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Sd(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Td(t){return((t=Sd(t))<16?"0":"")+t.toString(16)}function Cd(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Pd(t,e,n,r)}function Rd(t){if(t instanceof Pd)return new Pd(t.h,t.s,t.l,t.opacity);if(t instanceof nd||(t=vd(t)),!t)return new Pd;if(t instanceof Pd)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),a=Math.max(e,n,r),o=NaN,s=a-i,A=(a+i)/2;return s?(o=e===a?(n-r)/s+6*(n0&&A<1?0:o,new Pd(o,s,A,t.opacity)}function Pd(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function Ld(t){return(t=(t||0)%360)<0?t+360:t}function Dd(t){return Math.max(0,Math.min(1,t||0))}function Od(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}function Id(t){return Id="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Id(t)}td(nd,vd,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:md,formatHex:md,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return Rd(this).formatHsl()},formatRgb:gd,toString:gd}),td(bd,xd,ed(nd,{brighter(t){return t=null==t?id:Math.pow(id,t),new bd(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?rd:Math.pow(rd,t),new bd(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new bd(Sd(this.r),Sd(this.g),Sd(this.b),Ed(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Md,formatHex:Md,formatHex8:function(){return`#${Td(this.r)}${Td(this.g)}${Td(this.b)}${Td(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:wd,toString:wd})),td(Pd,(function(t,e,n,r){return 1===arguments.length?Rd(t):new Pd(t,e,n,null==r?1:r)}),ed(nd,{brighter(t){return t=null==t?id:Math.pow(id,t),new Pd(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?rd:Math.pow(rd,t),new Pd(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new bd(Od(t>=240?t-240:t+120,i,r),Od(t,i,r),Od(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new Pd(Ld(this.h),Dd(this.s),Dd(this.l),Ed(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=Ed(this.opacity);return`${1===t?"hsl(":"hsla("}${Ld(this.h)}, ${100*Dd(this.s)}%, ${100*Dd(this.l)}%${1===t?")":`, ${t})`}`}}));var qd=/^\s+/,Ud=/\s+$/;function Nd(t,e){if(e=e||{},(t=t||"")instanceof Nd)return t;if(!(this instanceof Nd))return new Nd(t,e);var n=function(t){var e={r:0,g:0,b:0},n=1,r=null,i=null,a=null,o=!1,s=!1;"string"==typeof t&&(t=function(t){t=t.replace(qd,"").replace(Ud,"").toLowerCase();var e,n=!1;if(tf[t])t=tf[t],n=!0;else if("transparent"==t)return{r:0,g:0,b:0,a:0,format:"name"};if(e=ff.rgb.exec(t))return{r:e[1],g:e[2],b:e[3]};if(e=ff.rgba.exec(t))return{r:e[1],g:e[2],b:e[3],a:e[4]};if(e=ff.hsl.exec(t))return{h:e[1],s:e[2],l:e[3]};if(e=ff.hsla.exec(t))return{h:e[1],s:e[2],l:e[3],a:e[4]};if(e=ff.hsv.exec(t))return{h:e[1],s:e[2],v:e[3]};if(e=ff.hsva.exec(t))return{h:e[1],s:e[2],v:e[3],a:e[4]};if(e=ff.hex8.exec(t))return{r:of(e[1]),g:of(e[2]),b:of(e[3]),a:cf(e[4]),format:n?"name":"hex8"};if(e=ff.hex6.exec(t))return{r:of(e[1]),g:of(e[2]),b:of(e[3]),format:n?"name":"hex"};if(e=ff.hex4.exec(t))return{r:of(e[1]+""+e[1]),g:of(e[2]+""+e[2]),b:of(e[3]+""+e[3]),a:cf(e[4]+""+e[4]),format:n?"name":"hex8"};if(e=ff.hex3.exec(t))return{r:of(e[1]+""+e[1]),g:of(e[2]+""+e[2]),b:of(e[3]+""+e[3]),format:n?"name":"hex"};return!1}(t));"object"==Id(t)&&(pf(t.r)&&pf(t.g)&&pf(t.b)?(A=t.r,l=t.g,c=t.b,e={r:255*rf(A,255),g:255*rf(l,255),b:255*rf(c,255)},o=!0,s="%"===String(t.r).substr(-1)?"prgb":"rgb"):pf(t.h)&&pf(t.s)&&pf(t.v)?(r=Af(t.s),i=Af(t.v),e=function(t,e,n){t=6*rf(t,360),e=rf(e,100),n=rf(n,100);var r=Math.floor(t),i=t-r,a=n*(1-e),o=n*(1-i*e),s=n*(1-(1-i)*e),A=r%6,l=[n,o,a,a,s,n][A],c=[s,n,n,o,a,a][A],u=[a,a,s,n,n,o][A];return{r:255*l,g:255*c,b:255*u}}(t.h,r,i),o=!0,s="hsv"):pf(t.h)&&pf(t.s)&&pf(t.l)&&(r=Af(t.s),a=Af(t.l),e=function(t,e,n){var r,i,a;function o(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t}if(t=rf(t,360),e=rf(e,100),n=rf(n,100),0===e)r=i=a=n;else{var s=n<.5?n*(1+e):n+e-n*e,A=2*n-s;r=o(A,s,t+1/3),i=o(A,s,t),a=o(A,s,t-1/3)}return{r:255*r,g:255*i,b:255*a}}(t.h,r,a),o=!0,s="hsl"),t.hasOwnProperty("a")&&(n=t.a));var A,l,c;return n=nf(n),{ok:o,format:t.format||s,r:Math.min(255,Math.max(e.r,0)),g:Math.min(255,Math.max(e.g,0)),b:Math.min(255,Math.max(e.b,0)),a:n}}(t);this._originalInput=t,this._r=n.r,this._g=n.g,this._b=n.b,this._a=n.a,this._roundA=Math.round(100*this._a)/100,this._format=e.format||n.format,this._gradientType=e.gradientType,this._r<1&&(this._r=Math.round(this._r)),this._g<1&&(this._g=Math.round(this._g)),this._b<1&&(this._b=Math.round(this._b)),this._ok=n.ok}function Bd(t,e,n){t=rf(t,255),e=rf(e,255),n=rf(n,255);var r,i,a=Math.max(t,e,n),o=Math.min(t,e,n),s=(a+o)/2;if(a==o)r=i=0;else{var A=a-o;switch(i=s>.5?A/(2-a-o):A/(a+o),a){case t:r=(e-n)/A+(e>1)+720)%360;--e;)r.h=(r.h+i)%360,a.push(Nd(r));return a}function $d(t,e){e=e||6;for(var n=Nd(t).toHsv(),r=n.h,i=n.s,a=n.v,o=[],s=1/e;e--;)o.push(Nd({h:r,s:i,v:a})),a=(a+s)%1;return o}Nd.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var t,e,n,r=this.toRgb();return t=r.r/255,e=r.g/255,n=r.b/255,.2126*(t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.7152*(e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))},setAlpha:function(t){return this._a=nf(t),this._roundA=Math.round(100*this._a)/100,this},toHsv:function(){var t=kd(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=kd(this._r,this._g,this._b),e=Math.round(360*t.h),n=Math.round(100*t.s),r=Math.round(100*t.v);return 1==this._a?"hsv("+e+", "+n+"%, "+r+"%)":"hsva("+e+", "+n+"%, "+r+"%, "+this._roundA+")"},toHsl:function(){var t=Bd(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=Bd(this._r,this._g,this._b),e=Math.round(360*t.h),n=Math.round(100*t.s),r=Math.round(100*t.l);return 1==this._a?"hsl("+e+", "+n+"%, "+r+"%)":"hsla("+e+", "+n+"%, "+r+"%, "+this._roundA+")"},toHex:function(t){return Fd(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,e,n,r,i){var a=[sf(Math.round(t).toString(16)),sf(Math.round(e).toString(16)),sf(Math.round(n).toString(16)),sf(lf(r))];if(i&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)&&a[3].charAt(0)==a[3].charAt(1))return a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0);return a.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+")":"rgba("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:Math.round(100*rf(this._r,255))+"%",g:Math.round(100*rf(this._g,255))+"%",b:Math.round(100*rf(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+Math.round(100*rf(this._r,255))+"%, "+Math.round(100*rf(this._g,255))+"%, "+Math.round(100*rf(this._b,255))+"%)":"rgba("+Math.round(100*rf(this._r,255))+"%, "+Math.round(100*rf(this._g,255))+"%, "+Math.round(100*rf(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(ef[Fd(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+zd(this._r,this._g,this._b,this._a),n=e,r=this._gradientType?"GradientType = 1, ":"";if(t){var i=Nd(t);n="#"+zd(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+r+"startColorstr="+e+",endColorstr="+n+")"},toString:function(t){var e=!!t;t=t||this._format;var n=!1,r=this._a<1&&this._a>=0;return e||!r||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(n=this.toRgbString()),"prgb"===t&&(n=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(n=this.toHexString()),"hex3"===t&&(n=this.toHexString(!0)),"hex4"===t&&(n=this.toHex8String(!0)),"hex8"===t&&(n=this.toHex8String()),"name"===t&&(n=this.toName()),"hsl"===t&&(n=this.toHslString()),"hsv"===t&&(n=this.toHsvString()),n||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return Nd(this.toString())},_applyModification:function(t,e){var n=t.apply(null,[this].concat([].slice.call(e)));return this._r=n._r,this._g=n._g,this._b=n._b,this.setAlpha(n._a),this},lighten:function(){return this._applyModification(Vd,arguments)},brighten:function(){return this._applyModification(Wd,arguments)},darken:function(){return this._applyModification(Xd,arguments)},desaturate:function(){return this._applyModification(Gd,arguments)},saturate:function(){return this._applyModification(Hd,arguments)},greyscale:function(){return this._applyModification(jd,arguments)},spin:function(){return this._applyModification(Qd,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(Jd,arguments)},complement:function(){return this._applyCombination(Yd,arguments)},monochromatic:function(){return this._applyCombination($d,arguments)},splitcomplement:function(){return this._applyCombination(Kd,arguments)},triad:function(){return this._applyCombination(Zd,[3])},tetrad:function(){return this._applyCombination(Zd,[4])}},Nd.fromRatio=function(t,e){if("object"==Id(t)){var n={};for(var r in t)t.hasOwnProperty(r)&&(n[r]="a"===r?t[r]:Af(t[r]));t=n}return Nd(t,e)},Nd.equals=function(t,e){return!(!t||!e)&&Nd(t).toRgbString()==Nd(e).toRgbString()},Nd.random=function(){return Nd.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})},Nd.mix=function(t,e,n){n=0===n?0:n||50;var r=Nd(t).toRgb(),i=Nd(e).toRgb(),a=n/100;return Nd({r:(i.r-r.r)*a+r.r,g:(i.g-r.g)*a+r.g,b:(i.b-r.b)*a+r.b,a:(i.a-r.a)*a+r.a})}, +// =4.5;break;case"AAlarge":i=a>=3;break;case"AAAsmall":i=a>=7}return i},Nd.mostReadable=function(t,e,n){var r,i,a,o,s=null,A=0;i=(n=n||{}).includeFallbackColors,a=n.level,o=n.size;for(var l=0;lA&&(A=r,s=Nd(e[l]));return Nd.isReadable(t,s,{level:a,size:o})||!i?s:(n.includeFallbackColors=!1,Nd.mostReadable(t,["#fff","#000"],n))};var tf=Nd.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},ef=Nd.hexNames=function(t){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[t[n]]=n);return e}(tf);function nf(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function rf(t,e){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(t)&&(t="100%");var n=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(t);return t=Math.min(e,Math.max(0,parseFloat(t))),n&&(t=parseInt(t*e,10)/100),Math.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function af(t){return Math.min(1,Math.max(0,t))}function of(t){return parseInt(t,16)}function sf(t){return 1==t.length?"0"+t:""+t}function Af(t){return t<=1&&(t=100*t+"%"),t}function lf(t){return Math.round(255*parseFloat(t)).toString(16)}function cf(t){return of(t)/255}var uf,hf,df,ff=(hf="[\\s|\\(]+("+(uf="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+uf+")[,|\\s]+("+uf+")\\s*\\)?",df="[\\s|\\(]+("+uf+")[,|\\s]+("+uf+")[,|\\s]+("+uf+")[,|\\s]+("+uf+")\\s*\\)?",{CSS_UNIT:new RegExp(uf),rgb:new RegExp("rgb"+hf),rgba:new RegExp("rgba"+df),hsl:new RegExp("hsl"+hf),hsla:new RegExp("hsla"+df),hsv:new RegExp("hsv"+hf),hsva:new RegExp("hsva"+df),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function pf(t){return!!ff.CSS_UNIT.exec(t)}function mf(t,e){if(null==t)return{};var n,r,i=function(t,e){if(null==t)return{};var n,r,i={},a=Object.keys(t);for(r=0;r=0||(i[n]=t[n]);return i}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}function gf(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,i,a,o,s=[],A=!0,l=!1;try{if(a=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;A=!1}else for(;!(A=(r=a.call(n)).done)&&(s.push(r.value),s.length!==e);A=!0);}catch(t){l=!0,i=t}finally{try{if(!A&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}(t,e)||_f(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function vf(t){return function(t){if(Array.isArray(t))return yf(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||_f(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _f(t,e){if(t){if("string"==typeof t)return yf(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?yf(t,e):void 0}}function yf(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=(e instanceof Array?e.length?e:[void 0]:[e]).map((function(t){return{keyAccessor:t,isProp:!(t instanceof Function)}})),a=t.reduce((function(t,e){var r=t,a=e;return i.forEach((function(t,e){var o,s=t.keyAccessor;if(t.isProp){var A=a,l=A[s],c=mf(A,[s].map(xf));o=l,a=c}else o=s(a,e);e+11&&void 0!==arguments[1]?arguments[1]:1;r===i.length?Object.keys(e).forEach((function(t){return e[t]=n(e[t])})):Object.values(e).forEach((function(e){return t(e,r+1)}))}(a);var o=a;return r&&(o=[],function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];n.length===i.length?o.push({keys:n,vals:e}):Object.entries(e).forEach((function(e){var r=gf(e,2),i=r[0],a=r[1];return t(a,[].concat(vf(n),[i]))}))}(a),e instanceof Array&&0===e.length&&1===o.length&&(o[0].keys=[])),o};function Mf(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function wf(t,e,n){return(e=function(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Ef(t,e){if(null==t)return{};var n,r,i=function(t,e){if(null==t)return{};var n,r,i={},a=Object.keys(t);for(r=0;r=0||(i[n]=t[n]);return i}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}function Sf(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,i,a,o,s=[],A=!0,l=!1;try{if(a=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;A=!1}else for(;!(A=(r=a.call(n)).done)&&(s.push(r.value),s.length!==e);A=!0);}catch(t){l=!0,i=t}finally{try{if(!A&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}(t,e)||Cf(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Tf(t){return function(t){if(Array.isArray(t))return Rf(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||Cf(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Cf(t,e){if(t){if("string"==typeof t)return Rf(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Rf(t,e):void 0}}function Rf(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=this._minInterval)if(isNaN(this._maxInterval))this.update(this._frameDeltaTime*this._timeScale,!0),this._lastTimeUpdated=this._now;else for(this._interval=Math.min(this._frameDeltaTime,this._maxInterval);this._now>=this._lastTimeUpdated+this._interval;)this.update(this._interval*this._timeScale,this._now<=this._lastTimeUpdated+2*this._maxInterval),this._lastTimeUpdated+=this._interval;this._isRunning&&this.animateOnce()},t.prototype.update=function(t,e){void 0===e&&(e=!0),this._currentTick++,this._currentTime+=t,this._tickDeltaTime=t,this._onTick.dispatch(this.currentTimeSeconds,this.tickDeltaTimeSeconds,this.currentTick),e&&this._onTickOncePerFrame.dispatch(this.currentTimeSeconds,this.tickDeltaTimeSeconds,this.currentTick)},t.prototype.getTimer=function(){return Date.now()},t}();Object.defineProperty(e,"__esModule",{value:!0}),e.default=i},function(t,e,n){!function(e,n){t.exports=n()}(0,(function(){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return t[r].call(i.exports,i,i.exports,e),i.loaded=!0,i.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e){var n=function(){function t(){this.functions=[]}return t.prototype.add=function(t){return-1===this.functions.indexOf(t)&&(this.functions.push(t),!0)},t.prototype.remove=function(t){var e=this.functions.indexOf(t);return e>-1&&(this.functions.splice(e,1),!0)},t.prototype.removeAll=function(){return this.functions.length>0&&(this.functions.length=0,!0)},t.prototype.dispatch=function(){for(var t=[],e=0;e()=>t;function Nf(t){return 1==(t=+t)?Bf:function(e,n){return n-e?function(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}(e,n,t):Uf(isNaN(e)?n:e)}}function Bf(t,e){var n=e-t;return n?function(t,e){return function(n){return t+n*e}}(t,n):Uf(isNaN(t)?e:t)}var kf=function t(e){var n=Nf(e);function r(t,e){var r=n((t=xd(t)).r,(e=xd(e)).r),i=n(t.g,e.g),a=n(t.b,e.b),o=Bf(t.opacity,e.opacity);return function(e){return t.r=r(e),t.g=i(e),t.b=a(e),t.opacity=o(e),t+""}}return r.gamma=t,r}(1);function Ff(t,e){e||(e=[]);var n,r=t?Math.min(e.length,t.length):0,i=e.slice();return function(a){for(n=0;na&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(n=n[0])===(r=r[0])?s[o]?s[o]+=r:s[++o]=r:(s[++o]=null,A.push({i:o,x:Vf(n,r)})),a=Qf.lastIndex;return ae&&(n=t,t=e,e=n),function(n){return Math.max(t,Math.min(e,n))}}(o[0],o[t-1])),r=t>2?rp:np,i=a=null,u}function u(e){return null==e||isNaN(e=+e)?n:(i||(i=r(o.map(t),s,A)))(t(l(e)))}return u.invert=function(n){return l(e((a||(a=r(s,o.map(t),Vf)))(n)))},u.domain=function(t){return arguments.length?(o=Array.from(t,Jf),c()):o.slice()},u.range=function(t){return arguments.length?(s=Array.from(t),c()):s.slice()},u.rangeRound=function(t){return s=Array.from(t),A=Kf,c()},u.clamp=function(t){return arguments.length?(l=!!t||tp,c()):l!==tp},u.interpolate=function(t){return arguments.length?(A=t,c()):A},u.unknown=function(t){return arguments.length?(n=t,u):n},function(n,r){return t=n,e=r,c()}}function ap(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function op(t){return(t=ap(Math.abs(t)))?t[1]:NaN}var sp,Ap=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function lp(t){if(!(e=Ap.exec(t)))throw new Error("invalid format: "+t);var e;return new cp({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function cp(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function up(t,e){var n=ap(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}lp.prototype=cp.prototype,cp.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var hp={"%":(t,e)=>(100*t).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>up(100*t,e),r:up,s:function(t,e){var n=ap(t,e);if(!n)return t+"";var r=n[0],i=n[1],a=i-(sp=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,o=r.length;return a===o?r:a>o?r+new Array(a-o+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+ap(t,Math.max(0,e+a-1))[0]},X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function dp(t){return t}var fp,pp,mp,gp=Array.prototype.map,vp=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function _p(t){var e,n,r=void 0===t.grouping||void 0===t.thousands?dp:(e=gp.call(t.grouping,Number),n=t.thousands+"",function(t,r){for(var i=t.length,a=[],o=0,s=e[0],A=0;i>0&&s>0&&(A+s+1>r&&(s=Math.max(1,r-A)),a.push(t.substring(i-=s,i+s)),!((A+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(n)}),i=void 0===t.currency?"":t.currency[0]+"",a=void 0===t.currency?"":t.currency[1]+"",o=void 0===t.decimal?".":t.decimal+"",s=void 0===t.numerals?dp:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(gp.call(t.numerals,String)),A=void 0===t.percent?"%":t.percent+"",l=void 0===t.minus?"−":t.minus+"",c=void 0===t.nan?"NaN":t.nan+"";function u(t){var e=(t=lp(t)).fill,n=t.align,u=t.sign,h=t.symbol,d=t.zero,f=t.width,p=t.comma,m=t.precision,g=t.trim,v=t.type;"n"===v?(p=!0,v="g"):hp[v]||(void 0===m&&(m=12),g=!0,v="g"),(d||"0"===e&&"="===n)&&(d=!0,e="0",n="=");var _="$"===h?i:"#"===h&&/[boxX]/.test(v)?"0"+v.toLowerCase():"",y="$"===h?a:/[%p]/.test(v)?A:"",x=hp[v],b=/[defgprs%]/.test(v);function M(t){var i,a,A,h=_,M=y;if("c"===v)M=x(t)+M,t="";else{var w=(t=+t)<0||1/t<0;if(t=isNaN(t)?c:x(Math.abs(t),m),g&&(t=function(t){t:for(var e,n=t.length,r=1,i=-1;r0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),w&&0==+t&&"+"!==u&&(w=!1),h=(w?"("===u?u:l:"-"===u||"("===u?"":u)+h,M=("s"===v?vp[8+sp/3]:"")+M+(w&&"("===u?")":""),b)for(i=-1,a=t.length;++i(A=t.charCodeAt(i))||A>57){M=(46===A?o+t.slice(i+1):t.slice(i))+M,t=t.slice(0,i);break}}p&&!d&&(t=r(t,1/0));var E=h.length+t.length+M.length,S=E>1)+h+t+M+S.slice(E);break;default:t=S+h+t+M}return s(t)}return m=void 0===m?6:/[gprs]/.test(v)?Math.max(1,Math.min(21,m)):Math.max(0,Math.min(20,m)),M.toString=function(){return t+""},M}return{format:u,formatPrefix:function(t,e){var n=u(((t=lp(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(op(e)/3))),i=Math.pow(10,-r),a=vp[8+r/3];return function(t){return n(i*t)+a}}}}function yp(t,e,n,r){var i,a=function(t,e,n){n=+n;const r=(e=+e)<(t=+t),i=r?Il(e,t,n):Il(t,e,n);return(r?-1:1)*(i<0?1/-i:i)}(t,e,n);switch((r=lp(null==r?",f":r)).type){case"s":var o=Math.max(Math.abs(t),Math.abs(e));return null!=r.precision||isNaN(i=function(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(op(e)/3)))-op(Math.abs(t)))}(a,o))||(r.precision=i),mp(r,o);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=function(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,op(e)-op(t))+1}(a,Math.max(Math.abs(t),Math.abs(e))))||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=function(t){return Math.max(0,-op(Math.abs(t)))}(a))||(r.precision=i-2*("%"===r.type))}return pp(r)}function xp(t){var e=t.domain;return t.ticks=function(t){var n=e();return function(t,e,n){if(!((n=+n)>0))return[];if((t=+t)==(e=+e))return[t];const r=e=i))return[];const s=a-i+1,A=new Array(s);if(r)if(o<0)for(let t=0;t0;){if((i=Il(A,l,n))===r)return a[o]=A,a[s]=l,e(a);if(i>0)A=Math.floor(A/i)*i,l=Math.ceil(l/i)*i;else{if(!(i<0))break;A=Math.ceil(A*i)/i,l=Math.floor(l*i)/i}r=i}return t},t}function bp(){var t=ip()(tp,tp);return t.copy=function(){return e=t,bp().domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown());var e},qf.apply(t,arguments),xp(t)}fp=_p({thousands:",",grouping:[3],currency:["$",""]}),pp=fp.format,mp=fp.formatPrefix;const Mp=134217729,wp=33306690738754706e-32;function Ep(t,e,n,r,i){let a,o,s,A,l=e[0],c=r[0],u=0,h=0;c>l==c>-l?(a=l,l=e[++u]):(a=c,c=r[++h]);let d=0;if(ul==c>-l?(o=l+a,s=a-(o-l),l=e[++u]):(o=c+a,s=a-(o-c),c=r[++h]),a=o,0!==s&&(i[d++]=s);ul==c>-l?(o=a+l,A=o-a,s=a-(o-A)+(l-A),l=e[++u]):(o=a+c,A=o-a,s=a-(o-A)+(c-A),c=r[++h]),a=o,0!==s&&(i[d++]=s);for(;u=33306690738754716e-32*l?A:-function(t,e,n,r,i,a,o){let s,A,l,c,u,h,d,f,p,m,g,v,_,y,x,b,M,w;const E=t-i,S=n-i,T=e-a,C=r-a;y=E*C,h=Mp*E,d=h-(h-E),f=E-d,h=Mp*C,p=h-(h-C),m=C-p,x=f*m-(y-d*p-f*p-d*m),b=T*S,h=Mp*T,d=h-(h-T),f=T-d,h=Mp*S,p=h-(h-S),m=S-p,M=f*m-(b-d*p-f*p-d*m),g=x-M,u=x-g,Rp[0]=x-(g+u)+(u-M),v=y+g,u=v-y,_=y-(v-u)+(g-u),g=_-b,u=_-g,Rp[1]=_-(g+u)+(u-b),w=v+g,u=w-v,Rp[2]=v-(w-u)+(g-u),Rp[3]=w;let R=function(t,e){let n=e[0];for(let r=1;r=P||-R>=P)return R;if(u=t-E,s=t-(E+u)+(u-i),u=n-S,l=n-(S+u)+(u-i),u=e-T,A=e-(T+u)+(u-a),u=r-C,c=r-(C+u)+(u-a),0===s&&0===A&&0===l&&0===c)return R;if(P=Cp*o+wp*Math.abs(R),R+=E*c+C*s-(T*l+S*A),R>=P||-R>=P)return R;y=s*C,h=Mp*s,d=h-(h-s),f=s-d,h=Mp*C,p=h-(h-C),m=C-p,x=f*m-(y-d*p-f*p-d*m),b=A*S,h=Mp*A,d=h-(h-A),f=A-d,h=Mp*S,p=h-(h-S),m=S-p,M=f*m-(b-d*p-f*p-d*m),g=x-M,u=x-g,Op[0]=x-(g+u)+(u-M),v=y+g,u=v-y,_=y-(v-u)+(g-u),g=_-b,u=_-g,Op[1]=_-(g+u)+(u-b),w=v+g,u=w-v,Op[2]=v-(w-u)+(g-u),Op[3]=w;const L=Ep(4,Rp,4,Op,Pp);y=E*c,h=Mp*E,d=h-(h-E),f=E-d,h=Mp*c,p=h-(h-c),m=c-p,x=f*m-(y-d*p-f*p-d*m),b=T*l,h=Mp*T,d=h-(h-T),f=T-d,h=Mp*l,p=h-(h-l),m=l-p,M=f*m-(b-d*p-f*p-d*m),g=x-M,u=x-g,Op[0]=x-(g+u)+(u-M),v=y+g,u=v-y,_=y-(v-u)+(g-u),g=_-b,u=_-g,Op[1]=_-(g+u)+(u-b),w=v+g,u=w-v,Op[2]=v-(w-u)+(g-u),Op[3]=w;const D=Ep(L,Pp,4,Op,Lp);y=s*c,h=Mp*s,d=h-(h-s),f=s-d,h=Mp*c,p=h-(h-c),m=c-p,x=f*m-(y-d*p-f*p-d*m),b=A*l,h=Mp*A,d=h-(h-A),f=A-d,h=Mp*l,p=h-(h-l),m=l-p,M=f*m-(b-d*p-f*p-d*m),g=x-M,u=x-g,Op[0]=x-(g+u)+(u-M),v=y+g,u=v-y,_=y-(v-u)+(g-u),g=_-b,u=_-g,Op[1]=_-(g+u)+(u-b),w=v+g,u=w-v,Op[2]=v-(w-u)+(g-u),Op[3]=w;const O=Ep(D,Lp,4,Op,Dp);return Dp[O-1]}(t,e,n,r,i,a,l)}const qp=Math.pow(2,-52),Up=new Uint32Array(512);class Np{static from(t,e=Hp,n=jp){const r=t.length,i=new Float64Array(2*r);for(let a=0;a>1;if(e>0&&"number"!=typeof t[0])throw new Error("Expected coords to contain numbers.");this.coords=t;const n=Math.max(2*e-5,0);this._triangles=new Uint32Array(3*n),this._halfedges=new Int32Array(3*n),this._hashSize=Math.ceil(Math.sqrt(e)),this._hullPrev=new Uint32Array(e),this._hullNext=new Uint32Array(e),this._hullTri=new Uint32Array(e),this._hullHash=new Int32Array(this._hashSize),this._ids=new Uint32Array(e),this._dists=new Float64Array(e),this.update()}update(){const{coords:t,_hullPrev:e,_hullNext:n,_hullTri:r,_hullHash:i}=this,a=t.length>>1;let o=1/0,s=1/0,A=-1/0,l=-1/0;for(let e=0;eA&&(A=n),r>l&&(l=r),this._ids[e]=e}const c=(o+A)/2,u=(s+l)/2;let h,d,f;for(let e=0,n=1/0;e0&&(d=e,n=r)}let g=t[2*d],v=t[2*d+1],_=1/0;for(let e=0;er&&(e[n++]=i,r=a)}return this.hull=e.subarray(0,n),this.triangles=new Uint32Array(0),void(this.halfedges=new Uint32Array(0))}if(Ip(p,m,g,v,y,x)<0){const t=d,e=g,n=v;d=f,g=y,v=x,f=t,y=e,x=n}const b=function(t,e,n,r,i,a){const o=n-t,s=r-e,A=i-t,l=a-e,c=o*o+s*s,u=A*A+l*l,h=.5/(o*l-s*A);return{x:t+(l*c-s*u)*h,y:e+(o*u-A*c)*h}}(p,m,g,v,y,x);this._cx=b.x,this._cy=b.y;for(let e=0;e0&&Math.abs(l-a)<=qp&&Math.abs(c-o)<=qp)continue;if(a=l,o=c,A===h||A===d||A===f)continue;let u=0;for(let t=0,e=this._hashKey(l,c);t=0;)if(m=p,m===u){m=-1;break}if(-1===m)continue;let g=this._addTriangle(m,A,n[m],-1,-1,r[m]);r[A]=this._legalize(g+2),r[m]=g,M++;let v=n[m];for(;p=n[v],Ip(l,c,t[2*v],t[2*v+1],t[2*p],t[2*p+1])<0;)g=this._addTriangle(v,A,p,r[A],-1,r[v]),r[A]=this._legalize(g+2),n[v]=v,M--,v=p;if(m===u)for(;p=e[m],Ip(l,c,t[2*p],t[2*p+1],t[2*m],t[2*m+1])<0;)g=this._addTriangle(p,A,m,-1,r[m],r[p]),this._legalize(g+2),r[p]=g,n[m]=m,M--,m=p;this._hullStart=e[A]=m,n[m]=e[v]=A,n[A]=v,i[this._hashKey(l,c)]=A,i[this._hashKey(t[2*m],t[2*m+1])]=m}this.hull=new Uint32Array(M);for(let t=0,e=this._hullStart;t0?3-n:1+n)/4}(t-this._cx,e-this._cy)*this._hashSize)%this._hashSize}_legalize(t){const{_triangles:e,_halfedges:n,coords:r}=this;let i=0,a=0;for(;;){const o=n[t],s=t-t%3;if(a=s+(t+2)%3,-1===o){if(0===i)break;t=Up[--i];continue}const A=o-o%3,l=s+(t+1)%3,c=A+(o+2)%3,u=e[a],h=e[t],d=e[l],f=e[c];if(kp(r[2*u],r[2*u+1],r[2*h],r[2*h+1],r[2*d],r[2*d+1],r[2*f],r[2*f+1])){e[t]=f,e[o]=u;const r=n[c];if(-1===r){let e=this._hullStart;do{if(this._hullTri[e]===c){this._hullTri[e]=t;break}e=this._hullPrev[e]}while(e!==this._hullStart)}this._link(t,r),this._link(o,n[a]),this._link(a,c);const s=A+(o+1)%3;i=n&&e[t[o]]>a;)t[o+1]=t[o--];t[o+1]=r}else{let i=n+1,a=r;Gp(t,n+r>>1,i),e[t[n]]>e[t[r]]&&Gp(t,n,r),e[t[i]]>e[t[r]]&&Gp(t,i,r),e[t[n]]>e[t[i]]&&Gp(t,n,i);const o=t[i],s=e[o];for(;;){do{i++}while(e[t[i]]s);if(a=a-n?(zp(t,e,i,r),zp(t,e,n,a-1)):(zp(t,e,n,a-1),zp(t,e,i,r))}}function Gp(t,e,n){const r=t[e];t[e]=t[n],t[n]=r}function Hp(t){return t[0]}function jp(t){return t[1]}function Vp(t,e,n){if(void 0===n&&(n={}),!t)throw new Error("point is required");if(!e)throw new Error("polygon is required");var r,i=function(t){if(!t)throw new Error("coord is required");if(!Array.isArray(t)){if("Feature"===t.type&&null!==t.geometry&&"Point"===t.geometry.type)return t.geometry.coordinates;if("Point"===t.type)return t.coordinates}if(Array.isArray(t)&&t.length>=2&&!Array.isArray(t[0])&&!Array.isArray(t[1]))return t;throw new Error("coord must be GeoJSON Point or an Array of numbers")}(t),a="Feature"===(r=e).type?r.geometry:r,o=a.type,s=e.bbox,A=a.coordinates;if(s&&!1===function(t,e){return e[0]<=t[0]&&e[1]<=t[1]&&e[2]>=t[0]&&e[3]>=t[1]}(i,s))return!1;"Polygon"===o&&(A=[A]);for(var l=!1,c=0;ct[1]!=l>t[1]&&t[0]<(A-o)*(t[1]-s)/(l-s)+o&&(r=!r)}return r}const Xp=1e-6;class Qp{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(t,e){this._+=`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(t,e){this._+=`L${this._x1=+t},${this._y1=+e}`}arc(t,e,n){const r=(t=+t)+(n=+n),i=e=+e;if(n<0)throw new Error("negative radius");null===this._x1?this._+=`M${r},${i}`:(Math.abs(this._x1-r)>Xp||Math.abs(this._y1-i)>Xp)&&(this._+="L"+r+","+i),n&&(this._+=`A${n},${n},0,1,1,${t-n},${e}A${n},${n},0,1,1,${this._x1=r},${this._y1=i}`)}rect(t,e,n,r){this._+=`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}h${+n}v${+r}h${-n}Z`}value(){return this._||null}}class Yp{constructor(){this._=[]}moveTo(t,e){this._.push([t,e])}closePath(){this._.push(this._[0].slice())}lineTo(t,e){this._.push([t,e])}value(){return this._.length?this._:null}}class Zp{constructor(t,[e,n,r,i]=[0,0,960,500]){if(!((r=+r)>=(e=+e)&&(i=+i)>=(n=+n)))throw new Error("invalid bounds");this.delaunay=t,this._circumcenters=new Float64Array(2*t.points.length),this.vectors=new Float64Array(2*t.points.length),this.xmax=r,this.xmin=e,this.ymax=i,this.ymin=n,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){const{delaunay:{points:t,hull:e,triangles:n},vectors:r}=this;let i,a;const o=this.circumcenters=this._circumcenters.subarray(0,n.length/3*2);for(let r,s,A=0,l=0,c=n.length;A1;)i-=2;for(let t=2;t0){if(e>=this.ymax)return null;(i=(this.ymax-e)/r)0){if(t>=this.xmax)return null;(i=(this.xmax-t)/n)this.xmax?2:0)|(ethis.ymax?8:0)}_simplify(t){if(t&&t.length>4){for(let e=0;e2&&function(t){const{triangles:e,coords:n}=t;for(let t=0;t1e-10)return!1}return!0}(t)){this.collinear=Int32Array.from({length:e.length/2},((t,e)=>e)).sort(((t,n)=>e[2*t]-e[2*n]||e[2*t+1]-e[2*n+1]));const t=this.collinear[0],n=this.collinear[this.collinear.length-1],r=[e[2*t],e[2*t+1],e[2*n],e[2*n+1]],i=1e-8*Math.hypot(r[3]-r[1],r[2]-r[0]);for(let t=0,n=e.length/2;t0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=r[0],a[r[0]]=1,2===r.length&&(a[r[1]]=0,this.triangles[1]=r[1],this.triangles[2]=r[1]))}voronoi(t){return new Zp(this,t)}*neighbors(t){const{inedges:e,hull:n,_hullIndex:r,halfedges:i,triangles:a,collinear:o}=this;if(o){const e=o.indexOf(t);return e>0&&(yield o[e-1]),void(e=0&&i!==n&&i!==r;)n=i;return i}_step(t,e,n){const{inedges:r,hull:i,_hullIndex:a,halfedges:o,triangles:s,points:A}=this;if(-1===r[t]||!A.length)return(t+1)%(A.length>>1);let l=t,c=Jp(e-A[2*t],2)+Jp(n-A[2*t+1],2);const u=r[t];let h=u;do{let r=s[h];const u=Jp(e-A[2*r],2)+Jp(n-A[2*r+1],2);if(u0?1:t<0?-1:0},dm=Math.sqrt;function fm(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function pm(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function mm(t,e){return[t[0]+e[0],t[1]+e[1],t[2]+e[2]]}function gm(t){var e=dm(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);return[t[0]/e,t[1]/e,t[2]/e]}function vm(t){return[sm(t[1],t[0])*am,(e=lm(-1,cm(1,t[2])),(e>1?im:e<-1?-im:Math.asin(e))*am)];var e}function _m(t){const e=t[0]*om,n=t[1]*om,r=Am(n);return[r*Am(e),r*um(e),um(n)]}function ym(t){return fm((t=t.map((t=>_m(t))))[0],pm(t[2],t[1]))}function xm(t){const e=function(t){if(t.length<2)return{};let e=0;for(;isNaN(t[e][0]+t[e][1])&&e++2?t[2]*jl:0),e.invert=function(e){return(e=t.invert(e[0]*jl,e[1]*jl))[0]*=Hl,e[1]*=Hl,e},e}(t[e]),r=Oh().translate([0,0]).scale(1).rotate(n.invert([180,0]));t=t.map(r);const i=[];let a=1;for(let e=0,n=t.length;e1e32?i.push(e):n>a&&(a=n)}const o=1e6*dm(a);i.forEach((e=>t[e]=[o,0])),t.push([0,o]),t.push([-o,0]),t.push([0,-o]);const s=nm.from(t);s.projection=r;const{triangles:A,halfedges:l,inedges:c}=s;for(let n=0,r=l.length;nt.length-3-1&&(A[n]=e);return s}(t),n=function(t){const{triangles:e}=t;if(!e)return[];const n=[];for(let t=0,r=e.length/3;t{if(t[0]!==t[1]&&!(ym(t.map((t=>e[t])))<0))for(let e,r=0;r<3;r++)e=(r+1)%3,n.add(Cl([t[r],t[e]]).join("-"))})),Array.from(n,(t=>t.split("-").map(Number))))}(n,t),i=function(t,e){const n=[];t.forEach((t=>{for(let e=0;e<3;e++){const r=t[e],i=t[(e+1)%3];n[r]=n[r]||[],n[r].push(i)}})),0===t.length&&(2===e?(n[0]=[1],n[1]=[0]):1===e&&(n[0]=[]));return n}(n,t.length),a=function(t,e){function n(t,e){let n=t[0]-e[0],r=t[1]-e[1],i=t[2]-e[2];return n*n+r*r+i*i}return function(r,i,a){void 0===a&&(a=0);let o,s,A=a;const l=_m([r,i]);do{o=a,a=null,s=n(l,_m(e[o])),t[o].forEach((t=>{let r=n(l,_m(e[t]));if(r{const n=t.map((t=>e[t])).map(_m);return vm(gm(mm(mm(pm(n[1],n[0]),pm(n[2],n[1])),pm(n[0],n[2]))))}))}(n,t),{polygons:s,centers:A}=function(t,e,n){const r=[],i=t.slice();if(0===e.length){if(n.length<2)return{polygons:r,centers:i};if(2===n.length){const t=_m(n[0]),e=_m(n[1]),a=gm(mm(t,e)),s=gm(pm(t,e)),A=pm(a,s),l=[a,pm(a,A),pm(pm(a,A),A),pm(pm(pm(a,A),A),A)].map(vm).map(o);return r.push(l),r.push(l.slice().reverse()),{polygons:r,centers:i}}}e.forEach(((t,e)=>{for(let n=0;n<3;n++){const i=t[n],a=t[(n+1)%3],o=t[(n+2)%3];r[i]=r[i]||[],r[i].push([a,o,e,[i,a,o]])}}));const a=r.map((t=>{const e=[t[0][2]];let r=t[0][1];for(let n=1;n2)return e;if(2==e.length){const r=bm(n[t[0][3][0]],n[t[0][3][1]],i[e[0]]),a=bm(n[t[0][3][2]],n[t[0][3][0]],i[e[0]]),s=o(r),A=o(a);return[e[0],A,e[1],s]}}));function o(t){let n=-1;return i.slice(e.length,1/0).forEach(((r,i)=>{r[0]===t[0]&&r[1]===t[1]&&(n=i+e.length)})),n<0&&(n=i.length,i.push(t)),n}return{polygons:a,centers:i}}(o,n,t),l=function(t){const e=[];return t.forEach((t=>{if(!t)return;let n=t[t.length-1];for(let r of t)r>n&&e.push([n,r]),n=r})),e}(s),c=function(t,e){const n=new Set,r=[];t.map((t=>{if(!(ym(t.map((t=>e[t>e.length?0:t])))>1e-12))for(let e=0;e<3;e++){let r=[t[e],t[(e+1)%3]],i=`${r[0]}-${r[1]}`;n.has(i)?n.delete(i):n.add(`${r[1]}-${r[0]}`)}}));const i=new Map;let a;if(n.forEach((t=>{t=t.split("-").map(Number),i.set(t[0],t[1]),a=t[0]})),void 0===a)return r;let o=a;do{r.push(o);let t=i.get(o);i.set(o,-1),o=t}while(o>-1&&o!==a);return r}(n,t),u=function(t,e){return function(n){const r=new Map,i=new Map;return t.forEach(((t,e)=>{const a=t.join("-");r.set(a,n[e]),i.set(a,!0)})),e.forEach((t=>{let e=0,n=-1;for(let i=0;i<3;i++){let a=Cl([t[i],t[(i+1)%3]]).join("-");r.get(a)>e&&(e=r.get(a),n=a)}i.set(n,!1)})),t.map((t=>i.get(t.join("-"))))}}(r,n);return{delaunay:e,edges:r,triangles:n,centers:A,neighbors:i,polygons:s,mesh:l,hull:c,urquhart:u,find:a}}function bm(t,e,n){t=_m(t),e=_m(e),n=_m(n);const r=hm(fm(pm(e,t),n));return vm(gm(mm(t,e)).map((t=>r*t)))}function Mm(t,e,n){return e=Tm(e),function(t,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,wm()?Reflect.construct(e,n||[],Tm(t).constructor):e.apply(t,n))}function wm(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(wm=function(){return!!t})()}function Em(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}function Sm(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&void 0!==arguments[1]?arguments[1]:{}).resolution,n=void 0===e?1/0:e,r=function(t,e){return t.map((function(t){var n,r=[];return t.forEach((function(t){if(n){var i=180*rh(t,n)/Math.PI;if(i>e)for(var a=ph(n,t),o=1/Math.ceil(i/e),s=o;s<1;)r.push(a(s)),s+=o}r.push(n=t)})),r}))}(t,n),i=ql(r),a=function(t,e){var n={type:"Polygon",coordinates:t},r=hu(n),i=Rm(r,2),a=Rm(i[0],2),o=a[0],s=a[1],A=Rm(i[1],2),l=A[0],c=A[1];if(Math.min(Math.abs(l-o),Math.abs(c-s))l||c>=89||s<=-89;return function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.minLng,r=e.maxLng,i=e.minLat,a=e.maxLat,o=Math.round(Math.pow(360/t,2)/Math.PI),s=(1+Math.sqrt(5))/2,A=function(t){return t/s*360%360-180},l=function(t){return Math.acos(2*t/o-1)/Math.PI*180-90},c=function(t){return o*(Math.cos((t+90)*Math.PI/180)+1)/2},u=[void 0!==a?Math.ceil(c(a)):0,void 0!==i?Math.floor(c(i)):o-1],h=void 0===n&&void 0===r?function(){return!0}:void 0===n?function(t){return t<=r}:void 0===r?function(t){return t>=n}:r>=n?function(t){return t>=n&&t<=r}:function(t){return t>=n||t<=r},d=[],f=u[0];f<=u[1];f++){var p=A(f);h(p)&&d.push([p,l(f)])}return d}(e,{minLng:o,maxLng:l,minLat:s,maxLat:c}).filter((function(t){return Im(t,n,u)}))}(t,n),o=[].concat(Pm(i),Pm(a)),s={type:"Polygon",coordinates:t},A=Rm(hu(s),2),l=Rm(A[0],2),c=l[0],u=l[1],h=Rm(A[1],2),d=h[0],f=h[1],p=c>d||f>=89||u<=-89,m=[];if(p){var g=function(t){const e=function(t){if(e.delaunay=null,e._data=t,"object"==typeof e._data&&"FeatureCollection"===e._data.type&&(e._data=e._data.features),"object"==typeof e._data){const t=e._data.map((t=>[e._vx(t),e._vy(t),t])).filter((t=>isFinite(t[0]+t[1])));e.points=t.map((t=>[t[0],t[1]])),e.valid=t.map((t=>t[2])),e.delaunay=xm(e.points)}return e};return e._vx=function(t){return"object"==typeof t&&"type"in t?wu(t)[0]:0 in t?t[0]:void 0},e._vy=function(t){return"object"==typeof t&&"type"in t?wu(t)[1]:1 in t?t[1]:void 0},e.x=function(t){return t?(e._vx=t,e):e._vx},e.y=function(t){return t?(e._vy=t,e):e._vy},e.polygons=function(t){if(void 0!==t&&e(t),!e.delaunay)return!1;const n={type:"FeatureCollection",features:[]};return 0===e.valid.length||(e.delaunay.polygons.forEach(((t,r)=>n.features.push({type:"Feature",geometry:t?{type:"Polygon",coordinates:[[...t,t[0]].map((t=>e.delaunay.centers[t]))]}:null,properties:{site:e.valid[r],sitecoordinates:e.points[r],neighbours:e.delaunay.neighbors[r]}}))),1===e.valid.length&&n.features.push({type:"Feature",geometry:{type:"Sphere"},properties:{site:e.valid[0],sitecoordinates:e.points[0],neighbours:[]}})),n},e.triangles=function(t){return void 0!==t&&e(t),!!e.delaunay&&{type:"FeatureCollection",features:e.delaunay.triangles.map(((t,n)=>((t=t.map((t=>e.points[t]))).center=e.delaunay.centers[n],t))).filter((t=>ym(t)>0)).map((t=>({type:"Feature",properties:{circumcenter:t.center},geometry:{type:"Polygon",coordinates:[[...t,t[0]]]}})))}},e.links=function(t){if(void 0!==t&&e(t),!e.delaunay)return!1;const n=e.delaunay.edges.map((t=>rh(e.points[t[0]],e.points[t[1]]))),r=e.delaunay.urquhart(n);return{type:"FeatureCollection",features:e.delaunay.edges.map(((t,i)=>({type:"Feature",properties:{source:e.valid[t[0]],target:e.valid[t[1]],length:n[i],urquhart:!!r[i]},geometry:{type:"LineString",coordinates:[e.points[t[0]],e.points[t[1]]]}})))}},e.mesh=function(t){return void 0!==t&&e(t),!!e.delaunay&&{type:"MultiLineString",coordinates:e.delaunay.edges.map((t=>[e.points[t[0]],e.points[t[1]]]))}},e.cellMesh=function(t){if(void 0!==t&&e(t),!e.delaunay)return!1;const{centers:n,polygons:r}=e.delaunay,i=[];for(const t of r)if(t)for(let e=t.length,r=t[e-1],a=t[0],o=0;or&&i.push([n[r],n[a]]);return{type:"MultiLineString",coordinates:i}},e._found=void 0,e.find=function(t,n,r){if(e._found=e.delaunay.find(t,n,e._found),!r||rh([t,n],e.points[e._found])r[t])),r[n[0]]]]}},t?e(t):e}(o).triangles(),v=new Map(o.map((function(t,e){var n=Rm(t,2),r=n[0],i=n[1];return["".concat(r,"-").concat(i),e]})));g.features.forEach((function(t){var e,n=t.geometry.coordinates[0].slice(0,3).reverse(),r=[];if(n.forEach((function(t){var e=Rm(t,2),n=e[0],i=e[1],a="".concat(n,"-").concat(i);v.has(a)&&r.push(v.get(a))})),3===r.length){if(r.some((function(t){return t=e&&(++n,r+=e);else{let i=-1;for(let a of t)null!=(a=e(a,++i,t))&&(a=+a)>=a&&(++n,r+=a)}if(n)return r/n}(r,(function(e){return e[t]}))}));if(!Im(a,s,p))return 1}(e=m).push.apply(e,Pm(n))},x=0,b=_.triangles.length;x2&&void 0!==arguments[2]&&arguments[2]?function(t,e){return(t&&ih.hasOwnProperty(t.type)?ih[t.type]:oh)(t,e)}(e,t):Vp(t,e)}var qm=window.THREE?window.THREE:{BufferGeometry:zn,Float32BufferAttribute:On},Um=(new qm.BufferGeometry).setAttribute?"setAttribute":"addAttribute",Nm=function(t){function e(t,n,r,i,a,o,s){var A;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),(A=Mm(this,e)).type="ConicPolygonBufferGeometry",A.parameters={polygonGeoJson:t,startHeight:n,endHeight:r,closedBottom:i,closedTop:a,includeSides:o,curvatureResolution:s},n=n||0,r=r||1,i=void 0===i||i,a=void 0===a||a,o=void 0===o||o;var l=Om(t,{resolution:s=s||5}),c=l.contour,u=l.triangles,h=ql(u.uvs),d=[],f=[],p=[],m=0,g=function(t){var e=Math.round(d.length/3),n=p.length;d=d.concat(t.vertices),f=f.concat(t.uvs),p=p.concat(e?t.indices.map((function(t){return t+e})):t.indices),A.addGroup(n,p.length-n,m++)};function v(t,e){var n=t.map((function(t){return t.map((function(t){var n=Rm(t,2),r=n[0];return function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=(90-t)*Math.PI/180,i=(90-e)*Math.PI/180;return[n*Math.sin(r)*Math.cos(i),n*Math.cos(r),n*Math.sin(r)*Math.sin(i)]}(n[1],r,e)}))}));return bl.flatten(n)}function _(t){return{indices:!(arguments.length>1&&void 0!==arguments[1])||arguments[1]?u.indices:u.indices.slice().reverse(),vertices:v([u.points],t).vertices,uvs:h}}return o&&g(function(){for(var t=v(c,n),e=t.vertices,i=t.holes,a=v(c,r).vertices,o=ql([a,e]),s=Math.round(a.length/3),A=new Set(i),l=0,u=[],h=0;h=0;m--)for(var g=0;g1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),n.inspect=function(){return"[Emscripten Module object]"}):s?("undefined"!=typeof read&&(l=function(t){var e=rt(t);return e?et(e):read(t)}),u=function(t){var e;return(e=rt(t))?e:"function"==typeof readbuffer?new Uint8Array(readbuffer(t)):(_("object"==typeof(e=read(t,"binary"))),e)},"undefined"!=typeof scriptArgs&&scriptArgs,"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)):(i||a)&&(a?f=self.location.href:"undefined"!=typeof document&&document.currentScript&&(f=document.currentScript.src),f=0!==f.indexOf("blob:")?f.substr(0,f.lastIndexOf("/")+1):"",l=function(t){try{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.send(null),e.responseText}catch(e){var n=rt(t);if(n)return et(n);throw e}},a&&(u=function(t){try{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}catch(e){var n=rt(t);if(n)return n;throw e}}),c=function(t,e,n){var r=new XMLHttpRequest;r.open("GET",t,!0),r.responseType="arraybuffer",r.onload=function(){if(200==r.status||0==r.status&&r.response)e(r.response);else{var i=rt(t);i?e(i.buffer):n()}},r.onerror=n,r.send(null)});var p=n.print||console.log.bind(console),m=n.printErr||console.warn.bind(console);for(e in r)r.hasOwnProperty(e)&&(n[e]=r[e]);r=null,n.arguments&&n.arguments,n.thisProgram&&n.thisProgram;var g=0;var v=!1;function _(t,e){t||gt("Assertion failed: "+e)}function y(t){var e=n["_"+t];return _(e,"Cannot call unknown function "+t+", make sure it is exported"),e}function x(t,e,n,r,i){var a={string:function(t){var e=0;if(null!=t&&0!==t){var n=1+(t.length<<2);(function(t,e,n){(function(t,e,n,r){if(!(r>0))return 0;for(var i=n,a=n+r-1,o=0;o=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&t.charCodeAt(++o);if(s<=127){if(n>=a)break;e[n++]=s}else if(s<=2047){if(n+1>=a)break;e[n++]=192|s>>6,e[n++]=128|63&s}else if(s<=65535){if(n+2>=a)break;e[n++]=224|s>>12,e[n++]=128|s>>6&63,e[n++]=128|63&s}else{if(n+3>=a)break;e[n++]=240|s>>18,e[n++]=128|s>>12&63,e[n++]=128|s>>6&63,e[n++]=128|63&s}}e[n]=0})(t,w,e,n)})(t,e=At(n),n)}return e},array:function(t){var e=At(t.length);return function(t,e){M.set(t,e)}(t,e),e}};var o=y(t),s=[],A=0;if(r)for(var l=0;l=r);)++i;if(i-e>16&&t.subarray&&R)return R.decode(t.subarray(e,i));for(var a="";e>10,56320|1023&l)}}else a+=String.fromCharCode((31&o)<<6|s)}else a+=String.fromCharCode(o)}return a}(w,t,e):""}function L(t,e){return t%e>0&&(t+=e-t%e),t}function D(t){b=t,n.HEAP8=M=new Int8Array(t),n.HEAP16=E=new Int16Array(t),n.HEAP32=S=new Int32Array(t),n.HEAPU8=w=new Uint8Array(t),n.HEAPU16=new Uint16Array(t),n.HEAPU32=new Uint32Array(t),n.HEAPF32=T=new Float32Array(t),n.HEAPF64=C=new Float64Array(t)}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");var O=n.TOTAL_MEMORY||33554432;function I(t){for(;t.length>0;){var e=t.shift();if("function"!=typeof e){var r=e.func;"number"==typeof r?void 0===e.arg?n.dynCall_v(r):n.dynCall_vi(r,e.arg):r(void 0===e.arg?null:e.arg)}else e()}}O=(b=n.buffer?n.buffer:new ArrayBuffer(O)).byteLength,D(b),S[6032]=5267040;var q=[],U=[],N=[],B=[];var k=Math.abs,F=Math.ceil,z=Math.floor,G=Math.min,H=0,j=null;n.preloadedImages={},n.preloadedAudios={};var V,W,X=null,Q="data:application/octet-stream;base64,";function Y(t){return String.prototype.startsWith?t.startsWith(Q):0===t.indexOf(Q)}X="data:application/octet-stream;base64,AAAAAAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAAAQAAAAQAAAADAAAABgAAAAUAAAACAAAAAAAAAAIAAAADAAAAAQAAAAQAAAAGAAAAAAAAAAUAAAADAAAABgAAAAQAAAAFAAAAAAAAAAEAAAACAAAABAAAAAUAAAAGAAAAAAAAAAIAAAADAAAAAQAAAAUAAAACAAAAAAAAAAEAAAADAAAABgAAAAQAAAAGAAAAAAAAAAUAAAACAAAAAQAAAAQAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAAAAAAEAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAYAAAAAAAAABQAAAAAAAAAAAAAABAAAAAUAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAYAAAAAAAAAAwAAAAIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAFAAAABAAAAAAAAAABAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAYAAAAAAAAABAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAgAAAAQAAAADAAAACAAAAAEAAAAHAAAABgAAAAkAAAAAAAAAAwAAAAIAAAACAAAABgAAAAoAAAALAAAAAAAAAAEAAAAFAAAAAwAAAA0AAAABAAAABwAAAAQAAAAMAAAAAAAAAAQAAAB/AAAADwAAAAgAAAADAAAAAAAAAAwAAAAFAAAAAgAAABIAAAAKAAAACAAAAAAAAAAQAAAABgAAAA4AAAALAAAAEQAAAAEAAAAJAAAAAgAAAAcAAAAVAAAACQAAABMAAAADAAAADQAAAAEAAAAIAAAABQAAABYAAAAQAAAABAAAAAAAAAAPAAAACQAAABMAAAAOAAAAFAAAAAEAAAAHAAAABgAAAAoAAAALAAAAGAAAABcAAAAFAAAAAgAAABIAAAALAAAAEQAAABcAAAAZAAAAAgAAAAYAAAAKAAAADAAAABwAAAANAAAAGgAAAAQAAAAPAAAAAwAAAA0AAAAaAAAAFQAAAB0AAAADAAAADAAAAAcAAAAOAAAAfwAAABEAAAAbAAAACQAAABQAAAAGAAAADwAAABYAAAAcAAAAHwAAAAQAAAAIAAAADAAAABAAAAASAAAAIQAAAB4AAAAIAAAABQAAABYAAAARAAAACwAAAA4AAAAGAAAAIwAAABkAAAAbAAAAEgAAABgAAAAeAAAAIAAAAAUAAAAKAAAAEAAAABMAAAAiAAAAFAAAACQAAAAHAAAAFQAAAAkAAAAUAAAADgAAABMAAAAJAAAAKAAAABsAAAAkAAAAFQAAACYAAAATAAAAIgAAAA0AAAAdAAAABwAAABYAAAAQAAAAKQAAACEAAAAPAAAACAAAAB8AAAAXAAAAGAAAAAsAAAAKAAAAJwAAACUAAAAZAAAAGAAAAH8AAAAgAAAAJQAAAAoAAAAXAAAAEgAAABkAAAAXAAAAEQAAAAsAAAAtAAAAJwAAACMAAAAaAAAAKgAAAB0AAAArAAAADAAAABwAAAANAAAAGwAAACgAAAAjAAAALgAAAA4AAAAUAAAAEQAAABwAAAAfAAAAKgAAACwAAAAMAAAADwAAABoAAAAdAAAAKwAAACYAAAAvAAAADQAAABoAAAAVAAAAHgAAACAAAAAwAAAAMgAAABAAAAASAAAAIQAAAB8AAAApAAAALAAAADUAAAAPAAAAFgAAABwAAAAgAAAAHgAAABgAAAASAAAANAAAADIAAAAlAAAAIQAAAB4AAAAxAAAAMAAAABYAAAAQAAAAKQAAACIAAAATAAAAJgAAABUAAAA2AAAAJAAAADMAAAAjAAAALgAAAC0AAAA4AAAAEQAAABsAAAAZAAAAJAAAABQAAAAiAAAAEwAAADcAAAAoAAAANgAAACUAAAAnAAAANAAAADkAAAAYAAAAFwAAACAAAAAmAAAAfwAAACIAAAAzAAAAHQAAAC8AAAAVAAAAJwAAACUAAAAZAAAAFwAAADsAAAA5AAAALQAAACgAAAAbAAAAJAAAABQAAAA8AAAALgAAADcAAAApAAAAMQAAADUAAAA9AAAAFgAAACEAAAAfAAAAKgAAADoAAAArAAAAPgAAABwAAAAsAAAAGgAAACsAAAA+AAAALwAAAEAAAAAaAAAAKgAAAB0AAAAsAAAANQAAADoAAABBAAAAHAAAAB8AAAAqAAAALQAAACcAAAAjAAAAGQAAAD8AAAA7AAAAOAAAAC4AAAA8AAAAOAAAAEQAAAAbAAAAKAAAACMAAAAvAAAAJgAAACsAAAAdAAAARQAAADMAAABAAAAAMAAAADEAAAAeAAAAIQAAAEMAAABCAAAAMgAAADEAAAB/AAAAPQAAAEIAAAAhAAAAMAAAACkAAAAyAAAAMAAAACAAAAAeAAAARgAAAEMAAAA0AAAAMwAAAEUAAAA2AAAARwAAACYAAAAvAAAAIgAAADQAAAA5AAAARgAAAEoAAAAgAAAAJQAAADIAAAA1AAAAPQAAAEEAAABLAAAAHwAAACkAAAAsAAAANgAAAEcAAAA3AAAASQAAACIAAAAzAAAAJAAAADcAAAAoAAAANgAAACQAAABIAAAAPAAAAEkAAAA4AAAARAAAAD8AAABNAAAAIwAAAC4AAAAtAAAAOQAAADsAAABKAAAATgAAACUAAAAnAAAANAAAADoAAAB/AAAAPgAAAEwAAAAsAAAAQQAAACoAAAA7AAAAPwAAAE4AAABPAAAAJwAAAC0AAAA5AAAAPAAAAEgAAABEAAAAUAAAACgAAAA3AAAALgAAAD0AAAA1AAAAMQAAACkAAABRAAAASwAAAEIAAAA+AAAAKwAAADoAAAAqAAAAUgAAAEAAAABMAAAAPwAAAH8AAAA4AAAALQAAAE8AAAA7AAAATQAAAEAAAAAvAAAAPgAAACsAAABUAAAARQAAAFIAAABBAAAAOgAAADUAAAAsAAAAVgAAAEwAAABLAAAAQgAAAEMAAABRAAAAVQAAADEAAAAwAAAAPQAAAEMAAABCAAAAMgAAADAAAABXAAAAVQAAAEYAAABEAAAAOAAAADwAAAAuAAAAWgAAAE0AAABQAAAARQAAADMAAABAAAAALwAAAFkAAABHAAAAVAAAAEYAAABDAAAANAAAADIAAABTAAAAVwAAAEoAAABHAAAAWQAAAEkAAABbAAAAMwAAAEUAAAA2AAAASAAAAH8AAABJAAAANwAAAFAAAAA8AAAAWAAAAEkAAABbAAAASAAAAFgAAAA2AAAARwAAADcAAABKAAAATgAAAFMAAABcAAAANAAAADkAAABGAAAASwAAAEEAAAA9AAAANQAAAF4AAABWAAAAUQAAAEwAAABWAAAAUgAAAGAAAAA6AAAAQQAAAD4AAABNAAAAPwAAAEQAAAA4AAAAXQAAAE8AAABaAAAATgAAAEoAAAA7AAAAOQAAAF8AAABcAAAATwAAAE8AAABOAAAAPwAAADsAAABdAAAAXwAAAE0AAABQAAAARAAAAEgAAAA8AAAAYwAAAFoAAABYAAAAUQAAAFUAAABeAAAAZQAAAD0AAABCAAAASwAAAFIAAABgAAAAVAAAAGIAAAA+AAAATAAAAEAAAABTAAAAfwAAAEoAAABGAAAAZAAAAFcAAABcAAAAVAAAAEUAAABSAAAAQAAAAGEAAABZAAAAYgAAAFUAAABXAAAAZQAAAGYAAABCAAAAQwAAAFEAAABWAAAATAAAAEsAAABBAAAAaAAAAGAAAABeAAAAVwAAAFMAAABmAAAAZAAAAEMAAABGAAAAVQAAAFgAAABIAAAAWwAAAEkAAABjAAAAUAAAAGkAAABZAAAAYQAAAFsAAABnAAAARQAAAFQAAABHAAAAWgAAAE0AAABQAAAARAAAAGoAAABdAAAAYwAAAFsAAABJAAAAWQAAAEcAAABpAAAAWAAAAGcAAABcAAAAUwAAAE4AAABKAAAAbAAAAGQAAABfAAAAXQAAAE8AAABaAAAATQAAAG0AAABfAAAAagAAAF4AAABWAAAAUQAAAEsAAABrAAAAaAAAAGUAAABfAAAAXAAAAE8AAABOAAAAbQAAAGwAAABdAAAAYAAAAGgAAABiAAAAbgAAAEwAAABWAAAAUgAAAGEAAAB/AAAAYgAAAFQAAABnAAAAWQAAAG8AAABiAAAAbgAAAGEAAABvAAAAUgAAAGAAAABUAAAAYwAAAFAAAABpAAAAWAAAAGoAAABaAAAAcQAAAGQAAABmAAAAUwAAAFcAAABsAAAAcgAAAFwAAABlAAAAZgAAAGsAAABwAAAAUQAAAFUAAABeAAAAZgAAAGUAAABXAAAAVQAAAHIAAABwAAAAZAAAAGcAAABbAAAAYQAAAFkAAAB0AAAAaQAAAG8AAABoAAAAawAAAG4AAABzAAAAVgAAAF4AAABgAAAAaQAAAFgAAABnAAAAWwAAAHEAAABjAAAAdAAAAGoAAABdAAAAYwAAAFoAAAB1AAAAbQAAAHEAAABrAAAAfwAAAGUAAABeAAAAcwAAAGgAAABwAAAAbAAAAGQAAABfAAAAXAAAAHYAAAByAAAAbQAAAG0AAABsAAAAXQAAAF8AAAB1AAAAdgAAAGoAAABuAAAAYgAAAGgAAABgAAAAdwAAAG8AAABzAAAAbwAAAGEAAABuAAAAYgAAAHQAAABnAAAAdwAAAHAAAABrAAAAZgAAAGUAAAB4AAAAcwAAAHIAAABxAAAAYwAAAHQAAABpAAAAdQAAAGoAAAB5AAAAcgAAAHAAAABkAAAAZgAAAHYAAAB4AAAAbAAAAHMAAABuAAAAawAAAGgAAAB4AAAAdwAAAHAAAAB0AAAAZwAAAHcAAABvAAAAcQAAAGkAAAB5AAAAdQAAAH8AAABtAAAAdgAAAHEAAAB5AAAAagAAAHYAAAB4AAAAbAAAAHIAAAB1AAAAeQAAAG0AAAB3AAAAbwAAAHMAAABuAAAAeQAAAHQAAAB4AAAAeAAAAHMAAAByAAAAcAAAAHkAAAB3AAAAdgAAAHkAAAB0AAAAeAAAAHcAAAB1AAAAcQAAAHYAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABAAAABQAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAACAAAABQAAAAEAAAAAAAAA/////wEAAAAAAAAAAwAAAAQAAAACAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAFAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAABQAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAEAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAUAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABAAAAAUAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAIAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAD/////AQAAAAAAAAADAAAABAAAAAIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAUAAAABAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAEAAAD//////////wEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAAAAAAAAAAABAAAAAgAAAAYAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAAAAAAAAAAAAQAAAAEAAAAFAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAACAAAAAAAAAAAAAAABAAAAAwAAAAcAAAAGAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAADgAAAAIAAAAAAAAAAAAAAAEAAAAAAAAACQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAIAAAAAAAAAAAAAAAEAAAAEAAAACAAAAAoAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAAAAAAAAAAAAQAAAAsAAAAPAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAIAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAgAAAAAAAAAAAAAAAQAAAAwAAAAQAAAADAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAADwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAACAAAAAAAAAAAAAAABAAAACgAAABMAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAAAAAAAAAAAAAEAAAANAAAAEQAAAA0AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAACAAAAAAAAAAAAAAABAAAADgAAABIAAAAPAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABIAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAgAAAAAAAAAAAAAAAQAAAP//////////EwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAASAAAAAAAAABgAAAAAAAAAIQAAAAAAAAAeAAAAAAAAACAAAAADAAAAMQAAAAEAAAAwAAAAAwAAADIAAAADAAAACAAAAAAAAAAFAAAABQAAAAoAAAAFAAAAFgAAAAAAAAAQAAAAAAAAABIAAAAAAAAAKQAAAAEAAAAhAAAAAAAAAB4AAAAAAAAABAAAAAAAAAAAAAAABQAAAAIAAAAFAAAADwAAAAEAAAAIAAAAAAAAAAUAAAAFAAAAHwAAAAEAAAAWAAAAAAAAABAAAAAAAAAAAgAAAAAAAAAGAAAAAAAAAA4AAAAAAAAACgAAAAAAAAALAAAAAAAAABEAAAADAAAAGAAAAAEAAAAXAAAAAwAAABkAAAADAAAAAAAAAAAAAAABAAAABQAAAAkAAAAFAAAABQAAAAAAAAACAAAAAAAAAAYAAAAAAAAAEgAAAAEAAAAKAAAAAAAAAAsAAAAAAAAABAAAAAEAAAADAAAABQAAAAcAAAAFAAAACAAAAAEAAAAAAAAAAAAAAAEAAAAFAAAAEAAAAAEAAAAFAAAAAAAAAAIAAAAAAAAABwAAAAAAAAAVAAAAAAAAACYAAAAAAAAACQAAAAAAAAATAAAAAAAAACIAAAADAAAADgAAAAEAAAAUAAAAAwAAACQAAAADAAAAAwAAAAAAAAANAAAABQAAAB0AAAAFAAAAAQAAAAAAAAAHAAAAAAAAABUAAAAAAAAABgAAAAEAAAAJAAAAAAAAABMAAAAAAAAABAAAAAIAAAAMAAAABQAAABoAAAAFAAAAAAAAAAEAAAADAAAAAAAAAA0AAAAFAAAAAgAAAAEAAAABAAAAAAAAAAcAAAAAAAAAGgAAAAAAAAAqAAAAAAAAADoAAAAAAAAAHQAAAAAAAAArAAAAAAAAAD4AAAADAAAAJgAAAAEAAAAvAAAAAwAAAEAAAAADAAAADAAAAAAAAAAcAAAABQAAACwAAAAFAAAADQAAAAAAAAAaAAAAAAAAACoAAAAAAAAAFQAAAAEAAAAdAAAAAAAAACsAAAAAAAAABAAAAAMAAAAPAAAABQAAAB8AAAAFAAAAAwAAAAEAAAAMAAAAAAAAABwAAAAFAAAABwAAAAEAAAANAAAAAAAAABoAAAAAAAAAHwAAAAAAAAApAAAAAAAAADEAAAAAAAAALAAAAAAAAAA1AAAAAAAAAD0AAAADAAAAOgAAAAEAAABBAAAAAwAAAEsAAAADAAAADwAAAAAAAAAWAAAABQAAACEAAAAFAAAAHAAAAAAAAAAfAAAAAAAAACkAAAAAAAAAKgAAAAEAAAAsAAAAAAAAADUAAAAAAAAABAAAAAQAAAAIAAAABQAAABAAAAAFAAAADAAAAAEAAAAPAAAAAAAAABYAAAAFAAAAGgAAAAEAAAAcAAAAAAAAAB8AAAAAAAAAMgAAAAAAAAAwAAAAAAAAADEAAAADAAAAIAAAAAAAAAAeAAAAAwAAACEAAAADAAAAGAAAAAMAAAASAAAAAwAAABAAAAADAAAARgAAAAAAAABDAAAAAAAAAEIAAAADAAAANAAAAAMAAAAyAAAAAAAAADAAAAAAAAAAJQAAAAMAAAAgAAAAAAAAAB4AAAADAAAAUwAAAAAAAABXAAAAAwAAAFUAAAADAAAASgAAAAMAAABGAAAAAAAAAEMAAAAAAAAAOQAAAAEAAAA0AAAAAwAAADIAAAAAAAAAGQAAAAAAAAAXAAAAAAAAABgAAAADAAAAEQAAAAAAAAALAAAAAwAAAAoAAAADAAAADgAAAAMAAAAGAAAAAwAAAAIAAAADAAAALQAAAAAAAAAnAAAAAAAAACUAAAADAAAAIwAAAAMAAAAZAAAAAAAAABcAAAAAAAAAGwAAAAMAAAARAAAAAAAAAAsAAAADAAAAPwAAAAAAAAA7AAAAAwAAADkAAAADAAAAOAAAAAMAAAAtAAAAAAAAACcAAAAAAAAALgAAAAMAAAAjAAAAAwAAABkAAAAAAAAAJAAAAAAAAAAUAAAAAAAAAA4AAAADAAAAIgAAAAAAAAATAAAAAwAAAAkAAAADAAAAJgAAAAMAAAAVAAAAAwAAAAcAAAADAAAANwAAAAAAAAAoAAAAAAAAABsAAAADAAAANgAAAAMAAAAkAAAAAAAAABQAAAAAAAAAMwAAAAMAAAAiAAAAAAAAABMAAAADAAAASAAAAAAAAAA8AAAAAwAAAC4AAAADAAAASQAAAAMAAAA3AAAAAAAAACgAAAAAAAAARwAAAAMAAAA2AAAAAwAAACQAAAAAAAAAQAAAAAAAAAAvAAAAAAAAACYAAAADAAAAPgAAAAAAAAArAAAAAwAAAB0AAAADAAAAOgAAAAMAAAAqAAAAAwAAABoAAAADAAAAVAAAAAAAAABFAAAAAAAAADMAAAADAAAAUgAAAAMAAABAAAAAAAAAAC8AAAAAAAAATAAAAAMAAAA+AAAAAAAAACsAAAADAAAAYQAAAAAAAABZAAAAAwAAAEcAAAADAAAAYgAAAAMAAABUAAAAAAAAAEUAAAAAAAAAYAAAAAMAAABSAAAAAwAAAEAAAAAAAAAASwAAAAAAAABBAAAAAAAAADoAAAADAAAAPQAAAAAAAAA1AAAAAwAAACwAAAADAAAAMQAAAAMAAAApAAAAAwAAAB8AAAADAAAAXgAAAAAAAABWAAAAAAAAAEwAAAADAAAAUQAAAAMAAABLAAAAAAAAAEEAAAAAAAAAQgAAAAMAAAA9AAAAAAAAADUAAAADAAAAawAAAAAAAABoAAAAAwAAAGAAAAADAAAAZQAAAAMAAABeAAAAAAAAAFYAAAAAAAAAVQAAAAMAAABRAAAAAwAAAEsAAAAAAAAAOQAAAAAAAAA7AAAAAAAAAD8AAAADAAAASgAAAAAAAABOAAAAAwAAAE8AAAADAAAAUwAAAAMAAABcAAAAAwAAAF8AAAADAAAAJQAAAAAAAAAnAAAAAwAAAC0AAAADAAAANAAAAAAAAAA5AAAAAAAAADsAAAAAAAAARgAAAAMAAABKAAAAAAAAAE4AAAADAAAAGAAAAAAAAAAXAAAAAwAAABkAAAADAAAAIAAAAAMAAAAlAAAAAAAAACcAAAADAAAAMgAAAAMAAAA0AAAAAAAAADkAAAAAAAAALgAAAAAAAAA8AAAAAAAAAEgAAAADAAAAOAAAAAAAAABEAAAAAwAAAFAAAAADAAAAPwAAAAMAAABNAAAAAwAAAFoAAAADAAAAGwAAAAAAAAAoAAAAAwAAADcAAAADAAAAIwAAAAAAAAAuAAAAAAAAADwAAAAAAAAALQAAAAMAAAA4AAAAAAAAAEQAAAADAAAADgAAAAAAAAAUAAAAAwAAACQAAAADAAAAEQAAAAMAAAAbAAAAAAAAACgAAAADAAAAGQAAAAMAAAAjAAAAAAAAAC4AAAAAAAAARwAAAAAAAABZAAAAAAAAAGEAAAADAAAASQAAAAAAAABbAAAAAwAAAGcAAAADAAAASAAAAAMAAABYAAAAAwAAAGkAAAADAAAAMwAAAAAAAABFAAAAAwAAAFQAAAADAAAANgAAAAAAAABHAAAAAAAAAFkAAAAAAAAANwAAAAMAAABJAAAAAAAAAFsAAAADAAAAJgAAAAAAAAAvAAAAAwAAAEAAAAADAAAAIgAAAAMAAAAzAAAAAAAAAEUAAAADAAAAJAAAAAMAAAA2AAAAAAAAAEcAAAAAAAAAYAAAAAAAAABoAAAAAAAAAGsAAAADAAAAYgAAAAAAAABuAAAAAwAAAHMAAAADAAAAYQAAAAMAAABvAAAAAwAAAHcAAAADAAAATAAAAAAAAABWAAAAAwAAAF4AAAADAAAAUgAAAAAAAABgAAAAAAAAAGgAAAAAAAAAVAAAAAMAAABiAAAAAAAAAG4AAAADAAAAOgAAAAAAAABBAAAAAwAAAEsAAAADAAAAPgAAAAMAAABMAAAAAAAAAFYAAAADAAAAQAAAAAMAAABSAAAAAAAAAGAAAAAAAAAAVQAAAAAAAABXAAAAAAAAAFMAAAADAAAAZQAAAAAAAABmAAAAAwAAAGQAAAADAAAAawAAAAMAAABwAAAAAwAAAHIAAAADAAAAQgAAAAAAAABDAAAAAwAAAEYAAAADAAAAUQAAAAAAAABVAAAAAAAAAFcAAAAAAAAAXgAAAAMAAABlAAAAAAAAAGYAAAADAAAAMQAAAAAAAAAwAAAAAwAAADIAAAADAAAAPQAAAAMAAABCAAAAAAAAAEMAAAADAAAASwAAAAMAAABRAAAAAAAAAFUAAAAAAAAAXwAAAAAAAABcAAAAAAAAAFMAAAAAAAAATwAAAAAAAABOAAAAAAAAAEoAAAADAAAAPwAAAAEAAAA7AAAAAwAAADkAAAADAAAAbQAAAAAAAABsAAAAAAAAAGQAAAAFAAAAXQAAAAEAAABfAAAAAAAAAFwAAAAAAAAATQAAAAEAAABPAAAAAAAAAE4AAAAAAAAAdQAAAAQAAAB2AAAABQAAAHIAAAAFAAAAagAAAAEAAABtAAAAAAAAAGwAAAAAAAAAWgAAAAEAAABdAAAAAQAAAF8AAAAAAAAAWgAAAAAAAABNAAAAAAAAAD8AAAAAAAAAUAAAAAAAAABEAAAAAAAAADgAAAADAAAASAAAAAEAAAA8AAAAAwAAAC4AAAADAAAAagAAAAAAAABdAAAAAAAAAE8AAAAFAAAAYwAAAAEAAABaAAAAAAAAAE0AAAAAAAAAWAAAAAEAAABQAAAAAAAAAEQAAAAAAAAAdQAAAAMAAABtAAAABQAAAF8AAAAFAAAAcQAAAAEAAABqAAAAAAAAAF0AAAAAAAAAaQAAAAEAAABjAAAAAQAAAFoAAAAAAAAAaQAAAAAAAABYAAAAAAAAAEgAAAAAAAAAZwAAAAAAAABbAAAAAAAAAEkAAAADAAAAYQAAAAEAAABZAAAAAwAAAEcAAAADAAAAcQAAAAAAAABjAAAAAAAAAFAAAAAFAAAAdAAAAAEAAABpAAAAAAAAAFgAAAAAAAAAbwAAAAEAAABnAAAAAAAAAFsAAAAAAAAAdQAAAAIAAABqAAAABQAAAFoAAAAFAAAAeQAAAAEAAABxAAAAAAAAAGMAAAAAAAAAdwAAAAEAAAB0AAAAAQAAAGkAAAAAAAAAdwAAAAAAAABvAAAAAAAAAGEAAAAAAAAAcwAAAAAAAABuAAAAAAAAAGIAAAADAAAAawAAAAEAAABoAAAAAwAAAGAAAAADAAAAeQAAAAAAAAB0AAAAAAAAAGcAAAAFAAAAeAAAAAEAAAB3AAAAAAAAAG8AAAAAAAAAcAAAAAEAAABzAAAAAAAAAG4AAAAAAAAAdQAAAAEAAABxAAAABQAAAGkAAAAFAAAAdgAAAAEAAAB5AAAAAAAAAHQAAAAAAAAAcgAAAAEAAAB4AAAAAQAAAHcAAAAAAAAAcgAAAAAAAABwAAAAAAAAAGsAAAAAAAAAZAAAAAAAAABmAAAAAAAAAGUAAAADAAAAUwAAAAEAAABXAAAAAwAAAFUAAAADAAAAdgAAAAAAAAB4AAAAAAAAAHMAAAAFAAAAbAAAAAEAAAByAAAAAAAAAHAAAAAAAAAAXAAAAAEAAABkAAAAAAAAAGYAAAAAAAAAdQAAAAAAAAB5AAAABQAAAHcAAAAFAAAAbQAAAAEAAAB2AAAAAAAAAHgAAAAAAAAAXwAAAAEAAABsAAAAAQAAAHIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAGAAAAAgAAAAUAAAABAAAABAAAAAAAAAAAAAAABQAAAAMAAAABAAAABgAAAAQAAAACAAAAAAAAAH6iBfbytuk/Gq6akm/58z/Xrm0Liez0P5doSdOpSwRAWs602ULg8D/dT7Rcbo/1v1N1RQHFNOM/g9Snx7HW3L8HWsP8Q3jfP6VwOLosutk/9rjk1YQcxj+gnmKMsNn6P/HDeuPFY+M/YHwDjqKhB0Ci19/fCVrbP4UxKkDWOP6/pvljWa09tL9wi7wrQXjnv/Z6yLImkM2/3yTlOzY14D+m+WNZrT20PzwKVQnrQwNA9nrIsiaQzT/g40rFrRQFwPa45NWEHMa/kbslHEZq97/xw3rjxWPjv4cLC2SMBci/otff3wla27+rKF5oIAv0P1N1RQHFNOO/iDJPGyWHBUAHWsP8Q3jfvwQf/by16gXAfqIF9vK26b8XrO0Vh0r+v9eubQuJ7PS/BxLrA0ZZ479azrTZQuDwv1MK1EuItPw/yscgV9Z6FkAwHBR2WjQMQJNRzXsQ5vY/GlUHVJYKF0DONuFv2lMNQNCGZ28QJfk/0WUwoIL36D8ggDOMQuATQNqMOeAy/wZAWFYOYM+M2z/LWC4uH3oSQDE+LyTsMgRAkJzhRGWFGEDd4soovCQQQKqk0DJMEP8/rGmNdwOLBUAW2X/9xCbjP4hu3dcqJhNAzuYItRvdB0CgzW3zJW/sPxotm/Y2TxRAQAk9XmdDDEC1Kx9MKgT3P1M+NctcghZAFVqcLlb0C0Bgzd3sB2b2P77mZDPUWhZAFROHJpUGCEDAfma5CxXtPz1DWq/zYxRAmhYY5824F0DOuQKWSbAOQNCMqrvu3fs/L6DR22K2wT9nAAxPBU8RQGiN6mW43AFAZhu25b633D8c1YgmzowSQNM25BRKWARArGS08/lNxD+LFssHwmMRQLC5aNcxBgJABL9HT0WRF0CjCmJmOGEOQHsuaVzMP/s/TWJCaGGwBUCeu1PAPLzjP9nqN9DZOBNAKE4JcydbCkCGtbd1qjPzP8dgm9U8jhVAtPeKTkVwDkCeCLss5l37P401XMPLmBdAFd29VMVQDUBg0yA55h75Pz6odcYLCRdApBM4rBrkAkDyAVWgQxbRP4XDMnK20hFAymLlF7EmzD8GUgo9XBHlP3lbK7T9COc/k+OhPthhy7+YGEpnrOvCPzBFhLs15u4/epbqB6H4uz9IuuLF5svev6lzLKY31es/CaQ0envF5z8ZY0xlUADXv7zaz7HYEuI/CfbK1sn16T8uAQfWwxLWPzKn/YuFN94/5KdbC1AFu793fyCSnlfvPzK2y4doAMY/NRg5t1/X6b/shq4QJaHDP5yNIAKPOeI/vpn7BSE30r/X4YQrO6nrv78Ziv/Thto/DqJ1Y6+y5z9l51NaxFrlv8QlA65HOLS/86dxiEc96z+Hj0+LFjneP6LzBZ8LTc2/DaJ1Y6+y579l51NaxFrlP8QlA65HOLQ/8qdxiEc967+Jj0+LFjnev6LzBZ8LTc0/1qdbC1AFuz93fyCSnlfvvzK2y4doAMa/NRg5t1/X6T/vhq4QJaHDv5yNIAKPOeK/wJn7BSE30j/W4YQrO6nrP78Ziv/Thtq/CaQ0envF578XY0xlUADXP7zaz7HYEuK/CvbK1sn16b8rAQfWwxLWvzKn/YuFN96/zWLlF7EmzL8GUgo9XBHlv3lbK7T9COe/kOOhPthhyz+cGEpnrOvCvzBFhLs15u6/c5bqB6H4u79IuuLF5sveP6lzLKY31eu/AQAAAP////8HAAAA/////zEAAAD/////VwEAAP////9hCQAA/////6dBAAD/////kcsBAP/////3kAwA/////8H2VwAAAAAAAAAAAAAAAAACAAAA/////w4AAAD/////YgAAAP////+uAgAA/////8ISAAD/////ToMAAP////8ilwMA/////+4hGQD/////gu2vAAAAAAAAAAAAAAAAAAAAAAACAAAA//////////8BAAAAAwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////AgAAAP//////////AQAAAAAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD/////////////////////AQAAAP///////////////wIAAAD///////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP///////////////////////////////wIAAAD///////////////8BAAAA/////////////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAABAAAA//////////8CAAAA//////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAAAQAAAP//////////AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACAAAAAAAAAAIAAAABAAAAAQAAAAIAAAACAAAAAAAAAAUAAAAFAAAAAAAAAAIAAAACAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAEAAAACAAAAAgAAAAIAAAAAAAAABQAAAAYAAAAAAAAAAgAAAAIAAAADAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAACAAAAAQAAAAMAAAACAAAAAgAAAAAAAAAFAAAABwAAAAAAAAACAAAAAgAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAIAAAABAAAABAAAAAIAAAACAAAAAAAAAAUAAAAIAAAAAAAAAAIAAAACAAAAAwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAIAAAAAAAAAAgAAAAEAAAAAAAAAAgAAAAIAAAAAAAAABQAAAAkAAAAAAAAAAgAAAAIAAAADAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAIAAAAAAAAAAwAAAA4AAAACAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAgAAAAMAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAgAAAAAAAAADAAAACgAAAAIAAAAAAAAAAgAAAAMAAAABAAAAAAAAAAIAAAACAAAAAwAAAAcAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAIAAAACAAAAAAAAAAMAAAALAAAAAgAAAAAAAAACAAAAAwAAAAIAAAAAAAAAAgAAAAIAAAADAAAACAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAgAAAAIAAAAAAAAAAwAAAAwAAAACAAAAAAAAAAIAAAADAAAAAwAAAAAAAAACAAAAAgAAAAMAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAACAAAAAgAAAAAAAAADAAAADQAAAAIAAAAAAAAAAgAAAAMAAAAEAAAAAAAAAAIAAAACAAAAAwAAAAoAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAIAAAACAAAAAAAAAAMAAAAGAAAAAgAAAAAAAAACAAAAAwAAAA8AAAAAAAAAAgAAAAIAAAADAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAIAAAAAAAAAAwAAAAcAAAACAAAAAAAAAAIAAAADAAAAEAAAAAAAAAACAAAAAgAAAAMAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAACAAAAAgAAAAAAAAADAAAACAAAAAIAAAAAAAAAAgAAAAMAAAARAAAAAAAAAAIAAAACAAAAAwAAAA0AAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAACAAAAAAAAAAMAAAAJAAAAAgAAAAAAAAACAAAAAwAAABIAAAAAAAAAAgAAAAIAAAADAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAgAAAAIAAAAAAAAAAwAAAAUAAAACAAAAAAAAAAIAAAADAAAAEwAAAAAAAAACAAAAAgAAAAMAAAAPAAAAAAAAAAAAAAAAAAAAAAAAABAAAAACAAAAAAAAAAIAAAABAAAAEwAAAAIAAAACAAAAAAAAAAUAAAAKAAAAAAAAAAIAAAACAAAAAwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAIAAAAAAAAAAgAAAAEAAAAPAAAAAgAAAAIAAAAAAAAABQAAAAsAAAAAAAAAAgAAAAIAAAADAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAgAAAAAAAAACAAAAAQAAABAAAAACAAAAAgAAAAAAAAAFAAAADAAAAAAAAAACAAAAAgAAAAMAAAASAAAAAAAAAAAAAAAAAAAAAAAAABMAAAACAAAAAAAAAAIAAAABAAAAEQAAAAIAAAACAAAAAAAAAAUAAAANAAAAAAAAAAIAAAACAAAAAwAAABMAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAIAAAAAAAAAAgAAAAEAAAASAAAAAgAAAAIAAAAAAAAABQAAAA4AAAAAAAAAAgAAAAIAAAADAAAAAgAAAAEAAAAAAAAAAQAAAAIAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAEAAAACAAAAAQAAAAAAAAACAAAAAAAAAAUAAAAEAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAFAAAABAAAAAAAAAABAAAABQAAAAQAAAAAAAAABQAAAAAAAAACAAAAAQAAAAAAAAABAAAAAgAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAQAAAAIAAAABAAAAAAAAAAIAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAAEAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAFAAAABAAAAAAAAAABAAAABQAAAAQAAAAAAAAABQAAAAUAAAAAAAAAAQAAAAAAAAAAAAAAOgehWlKfUEEz1zLi+JsiQa2og3wcMfVAWCbHorc0yEDi+Yn/Y6mbQJ11/mfsnG9At6bnG4UQQkBvMCQWKqUUQJVmwwswmOc/3hVgVBL3uj//qqOEOdGOPw/WDN4gnGE/H3ANkCUgND+AA8btKgAHPwTXBqJVSdo+XfRQAqsKrj4fc+zLYbSPQklEmCZHv2FCUP+uDso1NEKYtPhwphUHQptxnyFXYdpB7CddZAMmrkGAt1AxSTqBQUibBVdTsFNBSuX3MV+AJkFocv82SLf5QAqmgj7AY81A23VDSEnLoEDGEJVSeDFzQDYrqvBk70VA8U157pcRGUBWfEF+ZKbsP7KBdLHZTpFAqKYk69AqekDbeGY41MdjQD8AZzHK501A1vcrrjubNkD5LnquvBYhQCbiRRD71QlAqt72EbOH8z8Eu+jL1YbdP4uaox/xUcY/abedg1XfsD+BsUdzJ4KZP5wE9YFySIM/rW1kAKMpbT+rZFthVRhWPy4PKlXIs0A/qMZLlwDnMEHByqEF0I0ZQQYSFD8lUQNBPpY+dFs07UAH8BZImBPWQN9RY0I0sMBA2T7kLfc6qUByFYvfhBKTQMq+0Mis1XxA0XQbeQXMZUBJJ5aEGXpQQP7/SY0a6ThAaMD92b/UIkAs8s8yqXoMQNIegOvCk/U/aOi7NZJP4D8AAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////wAAAAD/////AAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAA/////wAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAP////8AAAAABQAAAAAAAAAAAAAAAAAAAAAAAAD/////BQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////////////////////////8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////wAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAAAAAABAAAAAAAAAAUAAAABAAAAAQAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAEAAQAAAQEAAAAAAAEAAAABAAAAAQABAAAAAAAAAAAAAAAAAAAAAAcAAAAHAAAAAQAAAAIAAAAEAAAAAwAAAAAAAAAAAAAABwAAAAMAAAABAAAAAgAAAAUAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAACAAAAAQAAAAMAAAAOAAAABgAAAAsAAAACAAAABwAAAAEAAAAYAAAABQAAAAoAAAABAAAABgAAAAAAAAAmAAAABwAAAAwAAAADAAAACAAAAAIAAAAxAAAACQAAAA4AAAAAAAAABQAAAAQAAAA6AAAACAAAAA0AAAAEAAAACQAAAAMAAAA/AAAACwAAAAYAAAAPAAAACgAAABAAAABIAAAADAAAAAcAAAAQAAAACwAAABEAAABTAAAACgAAAAUAAAATAAAADgAAAA8AAABhAAAADQAAAAgAAAARAAAADAAAABIAAABrAAAADgAAAAkAAAASAAAADQAAABMAAAB1AAAADwAAABMAAAARAAAAEgAAABAAAAAGAAAAAgAAAAMAAAAFAAAABAAAAAAAAAAAAAAAAAAAAAYAAAACAAAAAwAAAAEAAAAFAAAABAAAAAAAAAAAAAAABwAAAAUAAAADAAAABAAAAAEAAAAAAAAAAgAAAAAAAAACAAAAAwAAAAEAAAAFAAAABAAAAAYAAAAAAAAAAAAAAGFsZ29zLmMAaDNOZWlnaGJvclJvdGF0aW9ucwBjb29yZGlqay5jAF91cEFwN0NoZWNrZWQAX3VwQXA3ckNoZWNrZWQAZGlyZWN0ZWRFZGdlLmMAZGlyZWN0ZWRFZGdlVG9Cb3VuZGFyeQBhZGphY2VudEZhY2VEaXJbdG1wRmlqay5mYWNlXVtmaWprLmZhY2VdID09IEtJAGZhY2VpamsuYwBfZmFjZUlqa1BlbnRUb0NlbGxCb3VuZGFyeQBhZGphY2VudEZhY2VEaXJbY2VudGVySUpLLmZhY2VdW2ZhY2UyXSA9PSBLSQBfZmFjZUlqa1RvQ2VsbEJvdW5kYXJ5AGgzSW5kZXguYwBjb21wYWN0Q2VsbHMAbGF0TG5nVG9DZWxsAGNlbGxUb0NoaWxkUG9zAHZhbGlkYXRlQ2hpbGRQb3MAbGF0TG5nLmMAY2VsbEFyZWFSYWRzMgBwb2x5Z29uLT5uZXh0ID09IE5VTEwAbGlua2VkR2VvLmMAYWRkTmV3TGlua2VkUG9seWdvbgBuZXh0ICE9IE5VTEwAbG9vcCAhPSBOVUxMAGFkZE5ld0xpbmtlZExvb3AAcG9seWdvbi0+Zmlyc3QgPT0gTlVMTABhZGRMaW5rZWRMb29wAGNvb3JkICE9IE5VTEwAYWRkTGlua2VkQ29vcmQAbG9vcC0+Zmlyc3QgPT0gTlVMTABpbm5lckxvb3BzICE9IE5VTEwAbm9ybWFsaXplTXVsdGlQb2x5Z29uAGJib3hlcyAhPSBOVUxMAGNhbmRpZGF0ZXMgIT0gTlVMTABmaW5kUG9seWdvbkZvckhvbGUAY2FuZGlkYXRlQkJveGVzICE9IE5VTEwAcmV2RGlyICE9IElOVkFMSURfRElHSVQAbG9jYWxpai5jAGNlbGxUb0xvY2FsSWprAGJhc2VDZWxsICE9IG9yaWdpbkJhc2VDZWxsACEob3JpZ2luT25QZW50ICYmIGluZGV4T25QZW50KQBiYXNlQ2VsbCA9PSBvcmlnaW5CYXNlQ2VsbABiYXNlQ2VsbCAhPSBJTlZBTElEX0JBU0VfQ0VMTABsb2NhbElqa1RvQ2VsbAAhX2lzQmFzZUNlbGxQZW50YWdvbihiYXNlQ2VsbCkAYmFzZUNlbGxSb3RhdGlvbnMgPj0gMABncmlkUGF0aENlbGxzADAAdmVydGV4LmMAY2VsbFRvVmVydGV4AGdyYXBoLT5idWNrZXRzICE9IE5VTEwAdmVydGV4R3JhcGguYwBpbml0VmVydGV4R3JhcGgAbm9kZSAhPSBOVUxMAGFkZFZlcnRleE5vZGU=";function Z(t){return t}function K(t){return t.replace(/\b__Z[\w\d_]+/g,(function(t){return t===t?t:t+" ["+t+"]"}))}function J(){var t=new Error;if(!t.stack){try{throw new Error(0)}catch(e){t=e}if(!t.stack)return"(no stack trace available)"}return t.stack.toString()}function $(){return M.length}function tt(t){try{var e=new ArrayBuffer(t);if(e.byteLength!=t)return;return new Int8Array(e).set(M),at(e),D(e),1}catch(t){}}function et(t){for(var e=[],n=0;n255&&(r&=255),e.push(String.fromCharCode(r))}return e.join("")}var nt="function"==typeof atob?atob:function(t){var e,n,r,i,a,o,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",A="",l=0;t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{e=s.indexOf(t.charAt(l++))<<2|(i=s.indexOf(t.charAt(l++)))>>4,n=(15&i)<<4|(a=s.indexOf(t.charAt(l++)))>>2,r=(3&a)<<6|(o=s.indexOf(t.charAt(l++))),A+=String.fromCharCode(e),64!==a&&(A+=String.fromCharCode(n)),64!==o&&(A+=String.fromCharCode(r))}while(l=0){if((0|n)>13780509){if(0|(s=0|ee(15,A)))break;A=0|i[(l=A)>>2],l=0|i[l+4>>2]}else c=0|Ne(0|n,0|(s=((0|n)<0)<<31>>31),3,0),l=0|E(),s=0|De(0|n,0|s,1,0),s=0|De(0|(s=0|Ne(0|c,0|l,0|s,0|E())),0|E(),1,0),l=0|E(),i[A>>2]=s,i[A+4>>2]=l,A=s;if(Xe(0|r,0,A<<3|0),0|a){Xe(0|a,0,A<<2|0),s=0|U(t,e,n,r,a,A,l,0);break}(s=0|Le(A,4))?(c=0|U(t,e,n,r,s,A,l,0),Pe(s),s=c):s=13}else s=2}while(0);return D=o,0|(c=s)}function q(t,e,n,r,a){t|=0,e|=0,n|=0,r|=0,a|=0;var o,s,A=0,l=0,c=0,u=0,h=0,d=0,f=0,p=0,m=0;if(s=D,D=D+16|0,m=s+8|0,i[(p=o=s)>>2]=t,i[p+4>>2]=e,(0|n)<0)return D=s,0|(m=2);if(i[(A=r)>>2]=t,i[A+4>>2]=e,(A=0!=(0|a))&&(i[a>>2]=0),0|Nt(t,e))return D=s,0|(m=9);i[m>>2]=0;t:do{if((0|n)>=1)if(A)for(d=1,h=0,f=0,p=1,A=t;;){if(!(h|f)){if(0|(A=0|N(A,e,4,m,o)))break t;if(0|Nt(A=0|i[(e=o)>>2],e=0|i[e+4>>2])){A=9;break t}}if(0|(A=0|N(A,e,0|i[22384+(f<<2)>>2],m,o)))break t;if(A=0|i[(e=o)>>2],e=0|i[e+4>>2],i[(t=r+(d<<3)|0)>>2]=A,i[t+4>>2]=e,i[a+(d<<2)>>2]=p,l=(0|(t=h+1|0))==(0|p),u=6==(0|(c=f+1|0)),0|Nt(A,e)){A=9;break t}if((0|(p=p+(u&l&1)|0))>(0|n)){A=0;break}d=d+1|0,h=l?0:t,f=l?u?0:c:f}else for(d=1,h=0,f=0,p=1,A=t;;){if(!(h|f)){if(0|(A=0|N(A,e,4,m,o)))break t;if(0|Nt(A=0|i[(e=o)>>2],e=0|i[e+4>>2])){A=9;break t}}if(0|(A=0|N(A,e,0|i[22384+(f<<2)>>2],m,o)))break t;if(A=0|i[(e=o)>>2],e=0|i[e+4>>2],i[(t=r+(d<<3)|0)>>2]=A,i[t+4>>2]=e,l=(0|(t=h+1|0))==(0|p),u=6==(0|(c=f+1|0)),0|Nt(A,e)){A=9;break t}if((0|(p=p+(u&l&1)|0))>(0|n)){A=0;break}d=d+1|0,h=l?0:t,f=l?u?0:c:f}else A=0}while(0);return D=s,0|(m=A)}function U(t,e,n,r,a,o,s,A){n|=0,r|=0,a|=0,A|=0;var l,c,u,h=0,d=0,f=0,p=0,m=0,g=0,v=0;if(u=D,D=D+16|0,l=u+8|0,c=u,h=0|ke(0|(t|=0),0|(e|=0),0|(o|=0),0|(s|=0)),f=0|E(),!(0==(0|(v=0|i[(g=p=r+(h<<3)|0)>>2]))&0==(0|(g=0|i[g+4>>2]))|(d=(0|v)==(0|t)&(0|g)==(0|e))))do{h=0|Be(0|(h=0|De(0|h,0|f,1,0)),0|E(),0|o,0|s),f=0|E(),d=(0|(g=0|i[(v=p=r+(h<<3)|0)>>2]))==(0|t)&(0|(v=0|i[v+4>>2]))==(0|e)}while(!(0==(0|g)&0==(0|v)|d));if(h=a+(h<<2)|0,d&&(0|i[h>>2])<=(0|A))return D=u,0|(v=0);if(i[(v=p)>>2]=t,i[v+4>>2]=e,i[h>>2]=A,(0|A)>=(0|n))return D=u,0|(v=0);switch(d=A+1|0,i[l>>2]=0,0|(h=0|N(t,e,2,l,c))){case 9:m=9;break;case 0:(h=0|U(0|i[(h=c)>>2],0|i[h+4>>2],n,r,a,o,s,d))||(m=9)}t:do{if(9==(0|m)){switch(i[l>>2]=0,0|(h=0|N(t,e,3,l,c))){case 9:break;case 0:if(0|(h=0|U(0|i[(h=c)>>2],0|i[h+4>>2],n,r,a,o,s,d)))break t;break;default:break t}switch(i[l>>2]=0,0|(h=0|N(t,e,1,l,c))){case 9:break;case 0:if(0|(h=0|U(0|i[(h=c)>>2],0|i[h+4>>2],n,r,a,o,s,d)))break t;break;default:break t}switch(i[l>>2]=0,0|(h=0|N(t,e,5,l,c))){case 9:break;case 0:if(0|(h=0|U(0|i[(h=c)>>2],0|i[h+4>>2],n,r,a,o,s,d)))break t;break;default:break t}switch(i[l>>2]=0,0|(h=0|N(t,e,4,l,c))){case 9:break;case 0:if(0|(h=0|U(0|i[(h=c)>>2],0|i[h+4>>2],n,r,a,o,s,d)))break t;break;default:break t}switch(i[l>>2]=0,0|(h=0|N(t,e,6,l,c))){case 9:break;case 0:if(0|(h=0|U(0|i[(h=c)>>2],0|i[h+4>>2],n,r,a,o,s,d)))break t;break;default:break t}return D=u,0|(v=0)}}while(0);return D=u,0|(v=h)}function N(t,e,n,r,a){t|=0,e|=0,a|=0;var o,s,A=0,l=0,c=0,u=0,h=0,d=0,f=0;if((n|=0)>>>0>6)return 0|(a=1);if(h=(0|i[(r|=0)>>2])%6|0,i[r>>2]=h,(0|h)>0){A=0;do{n=0|ft(n),A=A+1|0}while((0|A)<(0|i[r>>2]))}if(h=0|ze(0|t,0|e,45),E(),(s=127&h)>>>0>121)return 0|(a=5);o=0|Bt(t,e),A=0|ze(0|t,0|e,52),E(),A&=15;t:do{if(A){for(;;){if(c=0|ze(0|t,0|e,0|(l=3*(15-A|0)|0)),E(),7==(0|(c&=7))){e=5;break}if(f=0==(0|Ht(A)),A=A+-1|0,d=0|Ge(7,0,0|l),e&=~(0|E()),t=0|Ge(0|i[(f?432:16)+(28*c|0)+(n<<2)>>2],0,0|l)|t&~d,e|=l=0|E(),!(n=0|i[(f?640:224)+(28*c|0)+(n<<2)>>2])){n=0;break t}if(!A){u=8;break t}}return 0|e}u=8}while(0);8==(0|u)&&(t|=0|Ge(0|(f=0|i[848+(28*s|0)+(n<<2)>>2]),0,45),e=0|E()|-1040385&e,n=0|i[4272+(28*s|0)+(n<<2)>>2],127==(127&f|0)&&(f=0|Ge(0|i[848+(28*s|0)+20>>2],0,45),e=0|E()|-1040385&e,n=0|i[4272+(28*s|0)+20>>2],t=0|Ft(f|t,e),e=0|E(),i[r>>2]=1+(0|i[r>>2]))),c=0|ze(0|t,0|e,45),E(),c&=127;t:do{if(0|F(c)){e:do{if(1==(0|Bt(t,e))){if((0|s)!=(0|c)){if(0|j(c,0|i[7696+(28*s|0)>>2])){t=0|Gt(t,e),l=1,e=0|E();break}S(23313,22416,436,22424)}switch(0|o){case 3:t=0|Ft(t,e),e=0|E(),i[r>>2]=1+(0|i[r>>2]),l=0;break e;case 5:t=0|Gt(t,e),e=0|E(),i[r>>2]=5+(0|i[r>>2]),l=0;break e;case 0:return 0|(f=9);default:return 0|(f=1)}}else l=0}while(0);if((0|n)>0){A=0;do{t=0|kt(t,e),e=0|E(),A=A+1|0}while((0|A)!=(0|n))}if((0|s)!=(0|c)){if(!(0|z(c))){if(0!=(0|l)|5!=(0|Bt(t,e)))break;i[r>>2]=1+(0|i[r>>2]);break}switch(127&h){case 8:case 118:break t}3!=(0|Bt(t,e))&&(i[r>>2]=1+(0|i[r>>2]))}}else if((0|n)>0){A=0;do{t=0|Ft(t,e),e=0|E(),A=A+1|0}while((0|A)!=(0|n))}}while(0);return i[r>>2]=((0|i[r>>2])+n|0)%6|0,i[(f=a)>>2]=t,i[f+4>>2]=e,0|(f=0)}function B(t,e,n,r){n|=0,r|=0;var a,o,s,A=0,l=0;for(s=D,D=D+16|0,a=s,o=s+8|0,A=(A=0==(0|Nt(t|=0,e|=0)))?1:2;;){if(i[o>>2]=0,0==(0|N(t,e,A,o,a))&((0|i[(l=a)>>2])==(0|n)?(0|i[l+4>>2])==(0|r):0)){t=4;break}if((A=A+1|0)>>>0>=7){A=7,t=4;break}}return 4==(0|t)?(D=s,0|A):0}function k(t,e,n,r,o,s,A){e|=0,n|=0,r|=0,o|=0,s|=0,A|=0;var l,c,u,h,d,f,p,m,g,v,_=0,y=0,x=0,b=0,M=0,w=0,S=0,T=0,C=0,R=0,P=0,L=0,O=0,I=0,q=0,U=0,N=0,B=0,k=0;if(v=D,D=D+64|0,p=v+48|0,m=v+32|0,g=v+24|0,l=v+8|0,c=v,(0|(y=0|i[(t|=0)>>2]))<=0)return D=v,0|(q=0);for(u=t+4|0,h=p+8|0,d=m+8|0,f=l+8|0,_=0,O=0;;){L=(x=0|i[u>>2])+(O<<4)|0,i[p>>2]=i[L>>2],i[p+4>>2]=i[L+4>>2],i[p+8>>2]=i[L+8>>2],i[p+12>>2]=i[L+12>>2],(0|O)==(y+-1|0)?(i[m>>2]=i[x>>2],i[m+4>>2]=i[x+4>>2],i[m+8>>2]=i[x+8>>2],i[m+12>>2]=i[x+12>>2]):(L=x+(O+1<<4)|0,i[m>>2]=i[L>>2],i[m+4>>2]=i[L+4>>2],i[m+8>>2]=i[L+8>>2],i[m+12>>2]=i[L+12>>2]),y=0|Z(p,m,r,g);t:do{if(y)x=0,_=y;else if(y=0|i[(x=g)>>2],(0|(x=0|i[x+4>>2]))>0|0==(0|x)&y>>>0>0){P=0,L=0;e:for(;;){if(k=+a[p>>3],B=+((R=0|Oe(0|y,0|x,0|P,0|L))>>>0)+4294967296*+(0|E()),U=+(y>>>0)+4294967296*+(0|x),N=+(P>>>0)+4294967296*+(0|L),a[l>>3]=k*B/U+ +a[m>>3]*N/U,a[f>>3]=+a[h>>3]*B/U+ +a[d>>3]*N/U,0|(y=0|jt(l,r,c))){_=y;break}w=0|ke(0|(C=0|i[(R=c)>>2]),0|(R=0|i[R+4>>2]),0|e,0|n),b=0|E(),x=0|i[(M=y=A+(w<<3)|0)>>2],M=0|i[M+4>>2];n:do{if(0==(0|x)&0==(0|M))I=y,q=16;else for(S=0,T=0;;){if((0|S)>(0|n)|(0|S)==(0|n)&T>>>0>e>>>0){_=1;break e}if((0|x)==(0|C)&(0|M)==(0|R))break n;if(w=0|Be(0|(y=0|De(0|w,0|b,1,0)),0|E(),0|e,0|n),b=0|E(),T=0|De(0|T,0|S,1,0),S=0|E(),0==(0|(x=0|i[(M=y=A+(w<<3)|0)>>2]))&0==(0|(M=0|i[M+4>>2]))){I=y,q=16;break}}}while(0);if(16!=(0|q)||(q=0,0==(0|C)&0==(0|R))||(i[(T=I)>>2]=C,i[T+4>>2]=R,T=s+(i[o>>2]<<3)|0,i[T>>2]=C,i[T+4>>2]=R,T=0|De(0|i[(T=o)>>2],0|i[T+4>>2],1,0),C=0|E(),i[(R=o)>>2]=T,i[R+4>>2]=C),P=0|De(0|P,0|L,1,0),L=0|E(),y=0|i[(x=g)>>2],!((0|(x=0|i[x+4>>2]))>(0|L)|(0|x)==(0|L)&y>>>0>P>>>0)){x=1;break t}}x=0}else x=1}while(0);if(O=O+1|0,!x){q=21;break}if((0|O)>=(0|(y=0|i[t>>2]))){_=0,q=21;break}}return 21==(0|q)?(D=v,0|_):0}function F(t){return(t|=0)>>>0>121?0|(t=0):0|(t=0|i[7696+(28*t|0)+16>>2])}function z(t){return 4==(0|(t|=0))|117==(0|t)|0}function G(t){return 0|i[11120+(216*(0|i[(t|=0)>>2])|0)+(72*(0|i[t+4>>2])|0)+(24*(0|i[t+8>>2])|0)+(i[t+12>>2]<<3)>>2]}function H(t){return 0|i[11120+(216*(0|i[(t|=0)>>2])|0)+(72*(0|i[t+4>>2])|0)+(24*(0|i[t+8>>2])|0)+(i[t+12>>2]<<3)+4>>2]}function j(t,e){return e|=0,(0|i[7696+(28*(t|=0)|0)+20>>2])==(0|e)?0|(e=1):0|(e=(0|i[7696+(28*t|0)+24>>2])==(0|e))}function V(t,e){return 0|i[848+(28*(t|=0)|0)+((e|=0)<<2)>>2]}function W(t,e){return e|=0,(0|i[848+(28*(t|=0)|0)>>2])==(0|e)?0|(e=0):(0|i[848+(28*t|0)+4>>2])==(0|e)?0|(e=1):(0|i[848+(28*t|0)+8>>2])==(0|e)?0|(e=2):(0|i[848+(28*t|0)+12>>2])==(0|e)?0|(e=3):(0|i[848+(28*t|0)+16>>2])==(0|e)?0|(e=4):(0|i[848+(28*t|0)+20>>2])==(0|e)?0|(e=5):0|((0|i[848+(28*t|0)+24>>2])==(0|e)?6:7)}function X(t){return+a[(t|=0)+16>>3]<+a[t+24>>3]|0}function Q(t,e){t|=0;var n,r,i=0;return(i=+a[(e|=0)>>3])>=+a[t+8>>3]&&i<=+a[t>>3]?(n=+a[t+16>>3],i=+a[t+24>>3],e=(r=+a[e+8>>3])>=i,t=r<=n&1,n>2]=0,p=p+4|0}while((0|p)<(0|m));return 0|(e=0|Yt(e,g))?(D=d,0|(b=e)):(Xt(g=0|i[(m=g)>>2],m=0|i[m+4>>2],h),Qt(g,m,v),u=+te(h,v+8|0),a[h>>3]=+a[t>>3],a[(m=h+8|0)>>3]=+a[t+16>>3],a[v>>3]=+a[t+8>>3],a[(g=v+8|0)>>3]=+a[t+24>>3],s=+te(h,v),M=+a[m>>3]-+a[g>>3],c=+l(+M),f=+a[h>>3]-+a[v>>3],r=+l(+f),0==M|0==f||(M=+He(+c,+r),M=+_(+s*s/+je(+M/+je(+c,+r),3)/(u*(2.59807621135*u)*.8)),a[o>>3]=M,y=~~M>>>0,b=+l(M)>=1?M>0?~~+x(+A(M/4294967296),4294967295)>>>0:~~+_((M-+(~~M>>>0))/4294967296)>>>0:0,2146435072==(2146435072&i[o+4>>2]|0))?e=1:(v=0==(0|y)&0==(0|b),i[(e=n)>>2]=v?1:y,i[e+4>>2]=v?0:b,e=0),D=d,0|(b=e))}function Z(t,e,n,r){t|=0,e|=0,n|=0,r|=0;var s,c,u,h,d=0,f=0,p=0;h=D,D=D+288|0,c=h+264|0,u=h+96|0,s=(d=f=h)+96|0;do{i[d>>2]=0,d=d+4|0}while((0|d)<(0|s));return 0|(n=0|Yt(n,f))?(D=h,0|(r=n)):(Xt(d=0|i[(n=f)>>2],n=0|i[n+4>>2],c),Qt(d,n,u),p=+te(c,u+8|0),p=+_(+ +te(t,e)/(2*p)),a[o>>3]=p,n=~~p>>>0,d=+l(p)>=1?p>0?~~+x(+A(p/4294967296),4294967295)>>>0:~~+_((p-+(~~p>>>0))/4294967296)>>>0:0,2146435072==(2146435072&i[o+4>>2]|0)?(D=h,0|(r=1)):(f=0==(0|n)&0==(0|d),i[r>>2]=f?1:n,i[r+4>>2]=f?0:d,D=h,0|(r=0)))}function K(t,e,n,r){e|=0,n|=0,r|=0,i[(t|=0)>>2]=e,i[t+4>>2]=n,i[t+8>>2]=r}function J(t,e){t|=0;var n,r,o,s,A=0,c=0,u=0,h=0,d=0,f=0,p=0;i[(s=(e|=0)+8|0)>>2]=0,r=+a[t>>3],h=+l(+r),o=+a[t+8>>3],h+=.5*(d=+l(+o)/.8660254037844386),h-=+(0|(A=~~h)),d-=+(0|(t=~~d));do{if(h<.5){if(h<.3333333333333333){if(i[e>>2]=A,d<.5*(h+1)){i[e+4>>2]=t;break}t=t+1|0,i[e+4>>2]=t;break}if(t=(1&!(d<(p=1-h)))+t|0,i[e+4>>2]=t,p<=d&d<2*h){A=A+1|0,i[e>>2]=A;break}i[e>>2]=A;break}if(!(h<.6666666666666666)){if(A=A+1|0,i[e>>2]=A,d<.5*h){i[e+4>>2]=t;break}t=t+1|0,i[e+4>>2]=t;break}if(d<1-h){if(i[e+4>>2]=t,2*h-1>2]=A;break}}else t=t+1|0,i[e+4>>2]=t;A=A+1|0,i[e>>2]=A}while(0);do{if(r<0){if(1&t){A=~~(+(0|A)-(2*(+((f=0|Oe(0|A,((0|A)<0)<<31>>31|0,0|(f=(t+1|0)/2|0),((0|f)<0)<<31>>31|0))>>>0)+4294967296*+(0|E()))+1)),i[e>>2]=A;break}A=~~(+(0|A)-2*(+((f=0|Oe(0|A,((0|A)<0)<<31>>31|0,0|(f=(0|t)/2|0),((0|f)<0)<<31>>31|0))>>>0)+4294967296*+(0|E()))),i[e>>2]=A;break}}while(0);f=e+4|0,o<0&&(A=A-((1|t<<1)/2|0)|0,i[e>>2]=A,t=0-t|0,i[f>>2]=t),c=t-A|0,(0|A)<0?(u=0-A|0,i[f>>2]=c,i[s>>2]=u,i[e>>2]=0,t=c,A=0):u=0,(0|t)<0&&(A=A-t|0,i[e>>2]=A,u=u-t|0,i[s>>2]=u,i[f>>2]=0,t=0),n=A-u|0,c=t-u|0,(0|u)<0&&(i[e>>2]=n,i[f>>2]=c,i[s>>2]=0,t=c,A=n,u=0),(0|(c=(0|u)<(0|(c=(0|t)<(0|A)?t:A))?u:c))<=0||(i[e>>2]=A-c,i[f>>2]=t-c,i[s>>2]=u-c)}function $(t){var e,n=0,r=0,a=0,o=0,s=0;n=0|i[(t|=0)>>2],r=0|i[(e=t+4|0)>>2],(0|n)<0&&(r=r-n|0,i[e>>2]=r,i[(s=t+8|0)>>2]=(0|i[s>>2])-n,i[t>>2]=0,n=0),(0|r)<0?(n=n-r|0,i[t>>2]=n,o=(0|i[(s=t+8|0)>>2])-r|0,i[s>>2]=o,i[e>>2]=0,r=0):(s=o=t+8|0,o=0|i[o>>2]),(0|o)<0&&(n=n-o|0,i[t>>2]=n,r=r-o|0,i[e>>2]=r,i[s>>2]=0,o=0),(0|(a=(0|o)<(0|(a=(0|r)<(0|n)?r:n))?o:a))<=0||(i[t>>2]=n-a,i[e>>2]=r-a,i[s>>2]=o-a)}function tt(t,e){e|=0;var n,r;r=0|i[(t|=0)+8>>2],n=+((0|i[t+4>>2])-r|0),a[e>>3]=+((0|i[t>>2])-r|0)-.5*n,a[e+8>>3]=.8660254037844386*n}function et(t,e,n){t|=0,e|=0,i[(n|=0)>>2]=(0|i[e>>2])+(0|i[t>>2]),i[n+4>>2]=(0|i[e+4>>2])+(0|i[t+4>>2]),i[n+8>>2]=(0|i[e+8>>2])+(0|i[t+8>>2])}function nt(t,e,n){t|=0,e|=0,i[(n|=0)>>2]=(0|i[t>>2])-(0|i[e>>2]),i[n+4>>2]=(0|i[t+4>>2])-(0|i[e+4>>2]),i[n+8>>2]=(0|i[t+8>>2])-(0|i[e+8>>2])}function rt(t,e){e|=0;var n,r=0;r=0|y(0|i[(t|=0)>>2],e),i[t>>2]=r,n=0|y(0|i[(r=t+4|0)>>2],e),i[r>>2]=n,e=0|y(0|i[(t=t+8|0)>>2],e),i[t>>2]=e}function it(t){var e,n,r=0,a=0,o=0,s=0,A=0;A=(0|(n=0|i[(t|=0)>>2]))<0,t=(t=(a=(0|(s=((e=(0|(o=(0|i[t+4>>2])-(A?n:0)|0))<0)?0-o|0:0)+((0|i[t+8>>2])-(A?n:0))|0))<0)?0:s)-((o=(0|(a=(0|t)<(0|(a=(0|(r=(e?0:o)-(a?s:0)|0))<(0|(s=(A?0:n)-(e?o:0)-(a?s:0)|0))?r:s))?t:a))>0)?a:0)|0,r=r-(o?a:0)|0;t:do{switch(s-(o?a:0)|0){case 0:switch(0|r){case 0:return 0|(A=0==(0|t)?0:1==(0|t)?1:7);case 1:return 0|(A=0==(0|t)?2:1==(0|t)?3:7);default:break t}case 1:switch(0|r){case 0:return 0|(A=0==(0|t)?4:1==(0|t)?5:7);case 1:if(t)break t;return 0|(t=6);default:break t}}}while(0);return 0|(A=7)}function at(t){var e,n=0,r=0,a=0,o=0,s=0,A=0;o=0|i[(e=(t|=0)+8|0)>>2],s=(0|i[t>>2])-o|0,o=(0|i[(A=t+4|0)>>2])-o|0;do{if(s>>>0>715827881|o>>>0>715827881){if(r=(0|s)>0){if((2147483647-s|0)<(0|s))return 0|(A=1);if((2147483647-(s<<1)|0)<(0|s))return 0|(A=1)}else{if((-2147483648-s|0)>(0|s))return 0|(A=1);if((-2147483648-(s<<1)|0)>(0|s))return 0|(A=1)}if(n=3*s|0,(0|o)>0){if((2147483647-o|0)<(0|o))return 0|(A=1)}else if((-2147483648-o|0)>(0|o))return 0|(A=1);if(a=o<<1,(0|s)>-1){if((-2147483648|n|0)>=(0|o))return 0|(A=1)}else if((-2147483648^n|0)<(0|o))return 0|(A=1);if(r){if(!((2147483647-s|0)<(0|a))){r=a;break}return 0|(n=1)}if(!((-2147483648-s|0)>(0|a))){r=a;break}return 0|(n=1)}r=o<<1,n=3*s|0}while(0);a=0|Ce(+(n-o|0)/7),i[t>>2]=a,o=0|Ce(+(r+s|0)/7),i[A>>2]=o,i[e>>2]=0,n=(r=(0|o)<(0|a))?a:o,r=r?o:a;do{if((0|r)<0){if((0|n)>0){if((-2147483648|n|0)<(0|r)&-2147483648!=(0|r)&(2147483647-n|0)>=(0|r))break;S(23313,22444,355,22455)}if(-2147483648==(0|r)|(-2147483648-n|0)>(0|r)&&S(23313,22444,355,22455),(0|n)>-1){if((-2147483648|n|0)<(0|r))break;S(23313,22444,355,22455)}else{if((-2147483648^n|0)>=(0|r))break;S(23313,22444,355,22455)}}}while(0);return n=o-a|0,(0|a)<0?(r=0-a|0,i[A>>2]=n,i[e>>2]=r,i[t>>2]=0,a=0):(n=o,r=0),(0|n)<0&&(a=a-n|0,i[t>>2]=a,r=r-n|0,i[e>>2]=r,i[A>>2]=0,n=0),s=a-r|0,o=n-r|0,(0|r)<0?(i[t>>2]=s,i[A>>2]=o,i[e>>2]=0,n=o,o=s,r=0):o=a,(0|(a=(0|r)<(0|(a=(0|n)<(0|o)?n:o))?r:a))<=0||(i[t>>2]=o-a,i[A>>2]=n-a,i[e>>2]=r-a),0|(A=0)}function ot(t){var e,n=0,r=0,a=0,o=0,s=0,A=0;o=0|i[(e=(t|=0)+8|0)>>2],s=(0|i[t>>2])-o|0,o=(0|i[(A=t+4|0)>>2])-o|0;do{if(s>>>0>715827881|o>>>0>715827881){if(r=(0|s)>0){if((2147483647-s|0)<(0|s))return 0|(A=1)}else if((-2147483648-s|0)>(0|s))return 0|(A=1);if(n=s<<1,(0|o)>0){if((2147483647-o|0)<(0|o))return 0|(A=1);if((2147483647-(o<<1)|0)<(0|o))return 0|(A=1)}else{if((-2147483648-o|0)>(0|o))return 0|(A=1);if((-2147483648-(o<<1)|0)>(0|o))return 0|(A=1)}if(a=3*o|0,r){if((2147483647-n|0)<(0|o))return 0|(A=1)}else if((-2147483648-n|0)>(0|o))return 0|(A=1);if((0|o)>-1){if((-2147483648|a|0)<(0|s)){r=a;break}return 0|(n=1)}if(!((-2147483648^a|0)<(0|s))){r=a;break}return 0|(n=1)}r=3*o|0,n=s<<1}while(0);a=0|Ce(+(n+o|0)/7),i[t>>2]=a,o=0|Ce(+(r-s|0)/7),i[A>>2]=o,i[e>>2]=0,n=(r=(0|o)<(0|a))?a:o,r=r?o:a;do{if((0|r)<0){if((0|n)>0){if((-2147483648|n|0)<(0|r)&-2147483648!=(0|r)&(2147483647-n|0)>=(0|r))break;S(23313,22444,404,22469)}if(-2147483648==(0|r)|(-2147483648-n|0)>(0|r)&&S(23313,22444,404,22469),(0|n)>-1){if((-2147483648|n|0)<(0|r))break;S(23313,22444,404,22469)}else{if((-2147483648^n|0)>=(0|r))break;S(23313,22444,404,22469)}}}while(0);return n=o-a|0,(0|a)<0?(r=0-a|0,i[A>>2]=n,i[e>>2]=r,i[t>>2]=0,a=0):(n=o,r=0),(0|n)<0&&(a=a-n|0,i[t>>2]=a,r=r-n|0,i[e>>2]=r,i[A>>2]=0,n=0),s=a-r|0,o=n-r|0,(0|r)<0?(i[t>>2]=s,i[A>>2]=o,i[e>>2]=0,n=o,o=s,r=0):o=a,(0|(a=(0|r)<(0|(a=(0|n)<(0|o)?n:o))?r:a))<=0||(i[t>>2]=o-a,i[A>>2]=n-a,i[e>>2]=r-a),0|(A=0)}function st(t){var e,n,r=0,a=0,o=0,s=0,A=0;a=0|i[(e=(t|=0)+8|0)>>2],o=0|Ce(+((3*(r=(0|i[t>>2])-a|0)|0)-(a=(0|i[(n=t+4|0)>>2])-a|0)|0)/7),i[t>>2]=o,r=0|Ce(+((a<<1)+r|0)/7),i[n>>2]=r,i[e>>2]=0,a=r-o|0,(0|o)<0?(A=0-o|0,i[n>>2]=a,i[e>>2]=A,i[t>>2]=0,r=a,o=0,a=A):a=0,(0|r)<0&&(o=o-r|0,i[t>>2]=o,a=a-r|0,i[e>>2]=a,i[n>>2]=0,r=0),A=o-a|0,s=r-a|0,(0|a)<0?(i[t>>2]=A,i[n>>2]=s,i[e>>2]=0,r=s,s=A,a=0):s=o,(0|(o=(0|a)<(0|(o=(0|r)<(0|s)?r:s))?a:o))<=0||(i[t>>2]=s-o,i[n>>2]=r-o,i[e>>2]=a-o)}function At(t){var e,n,r=0,a=0,o=0,s=0,A=0;a=0|i[(e=(t|=0)+8|0)>>2],o=0|Ce(+(((r=(0|i[t>>2])-a|0)<<1)+(a=(0|i[(n=t+4|0)>>2])-a|0)|0)/7),i[t>>2]=o,r=0|Ce(+((3*a|0)-r|0)/7),i[n>>2]=r,i[e>>2]=0,a=r-o|0,(0|o)<0?(A=0-o|0,i[n>>2]=a,i[e>>2]=A,i[t>>2]=0,r=a,o=0,a=A):a=0,(0|r)<0&&(o=o-r|0,i[t>>2]=o,a=a-r|0,i[e>>2]=a,i[n>>2]=0,r=0),A=o-a|0,s=r-a|0,(0|a)<0?(i[t>>2]=A,i[n>>2]=s,i[e>>2]=0,r=s,s=A,a=0):s=o,(0|(o=(0|a)<(0|(o=(0|r)<(0|s)?r:s))?a:o))<=0||(i[t>>2]=s-o,i[n>>2]=r-o,i[e>>2]=a-o)}function lt(t){var e,n,r,a=0,o=0,s=0,A=0;a=0|i[(t|=0)>>2],o=0|i[(n=t+4|0)>>2],s=0|i[(r=t+8|0)>>2],A=o+(3*a|0)|0,i[t>>2]=A,o=s+(3*o|0)|0,i[n>>2]=o,a=(3*s|0)+a|0,i[r>>2]=a,s=o-A|0,(0|A)<0?(a=a-A|0,i[n>>2]=s,i[r>>2]=a,i[t>>2]=0,o=s,s=0):s=A,(0|o)<0&&(s=s-o|0,i[t>>2]=s,a=a-o|0,i[r>>2]=a,i[n>>2]=0,o=0),e=s-a|0,A=o-a|0,(0|a)<0?(i[t>>2]=e,i[n>>2]=A,i[r>>2]=0,s=e,a=0):A=o,(0|(o=(0|a)<(0|(o=(0|A)<(0|s)?A:s))?a:o))<=0||(i[t>>2]=s-o,i[n>>2]=A-o,i[r>>2]=a-o)}function ct(t){var e,n,r,a=0,o=0,s=0,A=0;A=0|i[(t|=0)>>2],s=(3*(a=0|i[(n=t+4|0)>>2])|0)+A|0,A=(o=0|i[(r=t+8|0)>>2])+(3*A|0)|0,i[t>>2]=A,i[n>>2]=s,a=(3*o|0)+a|0,i[r>>2]=a,o=s-A|0,(0|A)<0?(a=a-A|0,i[n>>2]=o,i[r>>2]=a,i[t>>2]=0,A=0):o=s,(0|o)<0&&(A=A-o|0,i[t>>2]=A,a=a-o|0,i[r>>2]=a,i[n>>2]=0,o=0),e=A-a|0,s=o-a|0,(0|a)<0?(i[t>>2]=e,i[n>>2]=s,i[r>>2]=0,A=e,a=0):s=o,(0|(o=(0|a)<(0|(o=(0|s)<(0|A)?s:A))?a:o))<=0||(i[t>>2]=A-o,i[n>>2]=s-o,i[r>>2]=a-o)}function ut(t,e){t|=0;var n,r,a,o=0,s=0,A=0;((e|=0)+-1|0)>>>0>=6||(A=(0|i[15440+(12*e|0)>>2])+(0|i[t>>2])|0,i[t>>2]=A,a=t+4|0,s=(0|i[15440+(12*e|0)+4>>2])+(0|i[a>>2])|0,i[a>>2]=s,r=t+8|0,e=(0|i[15440+(12*e|0)+8>>2])+(0|i[r>>2])|0,i[r>>2]=e,o=s-A|0,(0|A)<0?(e=e-A|0,i[a>>2]=o,i[r>>2]=e,i[t>>2]=0,s=0):(o=s,s=A),(0|o)<0&&(s=s-o|0,i[t>>2]=s,e=e-o|0,i[r>>2]=e,i[a>>2]=0,o=0),n=s-e|0,A=o-e|0,(0|e)<0?(i[t>>2]=n,i[a>>2]=A,i[r>>2]=0,s=n,e=0):A=o,(0|(o=(0|e)<(0|(o=(0|A)<(0|s)?A:s))?e:o))<=0||(i[t>>2]=s-o,i[a>>2]=A-o,i[r>>2]=e-o))}function ht(t){var e,n,r,a=0,o=0,s=0,A=0;A=0|i[(t|=0)>>2],s=(a=0|i[(n=t+4|0)>>2])+A|0,A=(o=0|i[(r=t+8|0)>>2])+A|0,i[t>>2]=A,i[n>>2]=s,a=o+a|0,i[r>>2]=a,o=s-A|0,(0|A)<0?(a=a-A|0,i[n>>2]=o,i[r>>2]=a,i[t>>2]=0,s=0):(o=s,s=A),(0|o)<0&&(s=s-o|0,i[t>>2]=s,a=a-o|0,i[r>>2]=a,i[n>>2]=0,o=0),e=s-a|0,A=o-a|0,(0|a)<0?(i[t>>2]=e,i[n>>2]=A,i[r>>2]=0,s=e,a=0):A=o,(0|(o=(0|a)<(0|(o=(0|A)<(0|s)?A:s))?a:o))<=0||(i[t>>2]=s-o,i[n>>2]=A-o,i[r>>2]=a-o)}function dt(t){var e,n,r,a=0,o=0,s=0,A=0;a=0|i[(t|=0)>>2],s=0|i[(n=t+4|0)>>2],o=0|i[(r=t+8|0)>>2],A=s+a|0,i[t>>2]=A,s=o+s|0,i[n>>2]=s,a=o+a|0,i[r>>2]=a,o=s-A|0,(0|A)<0?(a=a-A|0,i[n>>2]=o,i[r>>2]=a,i[t>>2]=0,s=0):(o=s,s=A),(0|o)<0&&(s=s-o|0,i[t>>2]=s,a=a-o|0,i[r>>2]=a,i[n>>2]=0,o=0),e=s-a|0,A=o-a|0,(0|a)<0?(i[t>>2]=e,i[n>>2]=A,i[r>>2]=0,s=e,a=0):A=o,(0|(o=(0|a)<(0|(o=(0|A)<(0|s)?A:s))?a:o))<=0||(i[t>>2]=s-o,i[n>>2]=A-o,i[r>>2]=a-o)}function ft(t){switch(0|(t|=0)){case 1:t=5;break;case 5:t=4;break;case 4:t=6;break;case 6:t=2;break;case 2:t=3;break;case 3:t=1}return 0|t}function pt(t){switch(0|(t|=0)){case 1:t=3;break;case 3:t=2;break;case 2:t=6;break;case 6:t=4;break;case 4:t=5;break;case 5:t=1}return 0|t}function mt(t){var e,n,r,a=0,o=0,s=0,A=0;a=0|i[(t|=0)>>2],o=0|i[(n=t+4|0)>>2],s=0|i[(r=t+8|0)>>2],A=o+(a<<1)|0,i[t>>2]=A,o=s+(o<<1)|0,i[n>>2]=o,a=(s<<1)+a|0,i[r>>2]=a,s=o-A|0,(0|A)<0?(a=a-A|0,i[n>>2]=s,i[r>>2]=a,i[t>>2]=0,o=s,s=0):s=A,(0|o)<0&&(s=s-o|0,i[t>>2]=s,a=a-o|0,i[r>>2]=a,i[n>>2]=0,o=0),e=s-a|0,A=o-a|0,(0|a)<0?(i[t>>2]=e,i[n>>2]=A,i[r>>2]=0,s=e,a=0):A=o,(0|(o=(0|a)<(0|(o=(0|A)<(0|s)?A:s))?a:o))<=0||(i[t>>2]=s-o,i[n>>2]=A-o,i[r>>2]=a-o)}function gt(t){var e,n,r,a=0,o=0,s=0,A=0;A=0|i[(t|=0)>>2],s=((a=0|i[(n=t+4|0)>>2])<<1)+A|0,A=(o=0|i[(r=t+8|0)>>2])+(A<<1)|0,i[t>>2]=A,i[n>>2]=s,a=(o<<1)+a|0,i[r>>2]=a,o=s-A|0,(0|A)<0?(a=a-A|0,i[n>>2]=o,i[r>>2]=a,i[t>>2]=0,A=0):o=s,(0|o)<0&&(A=A-o|0,i[t>>2]=A,a=a-o|0,i[r>>2]=a,i[n>>2]=0,o=0),e=A-a|0,s=o-a|0,(0|a)<0?(i[t>>2]=e,i[n>>2]=s,i[r>>2]=0,A=e,a=0):s=o,(0|(o=(0|a)<(0|(o=(0|s)<(0|A)?s:A))?a:o))<=0||(i[t>>2]=A-o,i[n>>2]=s-o,i[r>>2]=a-o)}function vt(t,e){e|=0;var n,r,a,o=0,s=0,A=0;return a=(0|(r=(0|i[(t|=0)>>2])-(0|i[e>>2])|0))<0,n=(0|(s=(0|i[t+4>>2])-(0|i[e+4>>2])-(a?r:0)|0))<0,e=(e=(t=(0|(A=(a?0-r|0:0)+(0|i[t+8>>2])-(0|i[e+8>>2])+(n?0-s|0:0)|0))<0)?0:A)-((s=(0|(t=(0|e)<(0|(t=(0|(o=(n?0:s)-(t?A:0)|0))<(0|(A=(a?0:r)-(n?s:0)-(t?A:0)|0))?o:A))?e:t))>0)?t:0)|0,o=o-(s?t:0)|0,0|((0|(t=(0|(t=A-(s?t:0)|0))>-1?t:0-t|0))>(0|(e=(0|(o=(0|o)>-1?o:0-o|0))>(0|(e=(0|e)>-1?e:0-e|0))?o:e))?t:e)}function _t(t,e){e|=0;var n;n=0|i[(t|=0)+8>>2],i[e>>2]=(0|i[t>>2])-n,i[e+4>>2]=(0|i[t+4>>2])-n}function yt(t,e){e|=0;var n,r,a,o=0,s=0,A=0;s=0|i[(t|=0)>>2],i[e>>2]=s,A=0|i[t+4>>2],i[(r=e+4|0)>>2]=A,i[(a=e+8|0)>>2]=0,t=(o=(0|A)<(0|s))?s:A,o=o?A:s;do{if((0|o)<0){if((0|t)>0){if((-2147483648|t|0)<(0|o)&-2147483648!=(0|o)&(2147483647-t|0)>=(0|o))break;return 0|(t=1)}if(-2147483648==(0|o)|(-2147483648-t|0)>(0|o))return 0|(e=1);if((0|t)>-1){if((-2147483648|t|0)<(0|o))break;return 0|(t=1)}if(!((-2147483648^t|0)<(0|o)))break;return 0|(t=1)}}while(0);return t=A-s|0,(0|s)<0?(o=0-s|0,i[r>>2]=t,i[a>>2]=o,i[e>>2]=0,s=0):(t=A,o=0),(0|t)<0&&(s=s-t|0,i[e>>2]=s,o=o-t|0,i[a>>2]=o,i[r>>2]=0,t=0),n=s-o|0,A=t-o|0,(0|o)<0?(i[e>>2]=n,i[r>>2]=A,i[a>>2]=0,t=A,A=n,o=0):A=s,(0|(s=(0|o)<(0|(s=(0|t)<(0|A)?t:A))?o:s))<=0||(i[e>>2]=A-s,i[r>>2]=t-s,i[a>>2]=o-s),0|(e=0)}function xt(t){var e,n,r,a;n=(a=0|i[(e=(t|=0)+8|0)>>2])-(0|i[t>>2])|0,i[t>>2]=n,t=(0|i[(r=t+4|0)>>2])-a|0,i[r>>2]=t,i[e>>2]=0-(t+n)}function bt(t){var e,n,r=0,a=0,o=0,s=0,A=0;r=0-(a=0|i[(t|=0)>>2])|0,i[t>>2]=r,i[(e=t+8|0)>>2]=0,s=(o=0|i[(n=t+4|0)>>2])+a|0,(0|a)>0?(i[n>>2]=s,i[e>>2]=a,i[t>>2]=0,r=0,o=s):a=0,(0|o)<0?(A=r-o|0,i[t>>2]=A,a=a-o|0,i[e>>2]=a,i[n>>2]=0,s=A-a|0,r=0-a|0,(0|a)<0?(i[t>>2]=s,i[n>>2]=r,i[e>>2]=0,o=r,a=0):(o=0,s=A)):s=r,(0|(r=(0|a)<(0|(r=(0|o)<(0|s)?o:s))?a:r))<=0||(i[t>>2]=s-r,i[n>>2]=o-r,i[e>>2]=a-r)}function Mt(t,e,n){n|=0;var r,a,o=0,s=0;return a=D,D=D+16|0,r=a,s=-2130706433&(e|=0)|134217728,!0&268435456==(2013265920&e|0)?(o=0|ze(0|(t|=0),0|e,56),E(),o=0|function(t,e,n){t|=0,e|=0,n|=0;var r=0,a=0,o=0;if(o=D,D=D+16|0,a=o,r=0|Nt(t,e),(n+-1|0)>>>0>5)return D=o,0|(a=-1);if(r=0!=(0|r),1==(0|n)&r)return D=o,0|(a=-1);do{if(!(0|_e(t,e,a))){if(r){r=(5+(0|i[21936+(n<<2)>>2])-(0|i[a>>2])|0)%5|0;break}r=(6+(0|i[21968+(n<<2)>>2])-(0|i[a>>2])|0)%6|0;break}r=-1}while(0);return a=r,D=o,0|a}(t,s,7&o),-1==(0|o)?(i[n>>2]=0,D=a,0|(s=6)):(0|Wt(t,s,r)&&S(23313,22484,282,22499),e=0|ze(0|t,0|e,52),E(),e&=15,0|Nt(t,s)?Tt(r,e,o,2,n):Lt(r,e,o,2,n),D=a,0|(s=0))):(D=a,0|(s=6))}function wt(t,e,n,r){e|=0,r|=0;var o,s=0,A=0,l=0,c=0;if(o=D,D=D+16|0,function(t,e,n){t|=0,e|=0,n|=0;var r=0,o=0,s=0;s=D,D=D+32|0,o=s,function(t,e){t|=0,e|=0;var n=0,r=0,i=0;n=+a[t>>3],r=+h(+n),n=+d(+n),a[e+16>>3]=n,n=+a[t+8>>3],i=r*+h(+n),a[e>>3]=i,n=r*+d(+n),a[e+8>>3]=n}(t,o),i[e>>2]=0,a[n>>3]=5,r=+ve(16400,o),r<+a[n>>3]&&(i[e>>2]=0,a[n>>3]=r);r=+ve(16424,o),r<+a[n>>3]&&(i[e>>2]=1,a[n>>3]=r);r=+ve(16448,o),r<+a[n>>3]&&(i[e>>2]=2,a[n>>3]=r);r=+ve(16472,o),r<+a[n>>3]&&(i[e>>2]=3,a[n>>3]=r);r=+ve(16496,o),r<+a[n>>3]&&(i[e>>2]=4,a[n>>3]=r);r=+ve(16520,o),r<+a[n>>3]&&(i[e>>2]=5,a[n>>3]=r);r=+ve(16544,o),r<+a[n>>3]&&(i[e>>2]=6,a[n>>3]=r);r=+ve(16568,o),r<+a[n>>3]&&(i[e>>2]=7,a[n>>3]=r);r=+ve(16592,o),r<+a[n>>3]&&(i[e>>2]=8,a[n>>3]=r);r=+ve(16616,o),r<+a[n>>3]&&(i[e>>2]=9,a[n>>3]=r);r=+ve(16640,o),r<+a[n>>3]&&(i[e>>2]=10,a[n>>3]=r);r=+ve(16664,o),r<+a[n>>3]&&(i[e>>2]=11,a[n>>3]=r);r=+ve(16688,o),r<+a[n>>3]&&(i[e>>2]=12,a[n>>3]=r);r=+ve(16712,o),r<+a[n>>3]&&(i[e>>2]=13,a[n>>3]=r);r=+ve(16736,o),r<+a[n>>3]&&(i[e>>2]=14,a[n>>3]=r);r=+ve(16760,o),r<+a[n>>3]&&(i[e>>2]=15,a[n>>3]=r);r=+ve(16784,o),r<+a[n>>3]&&(i[e>>2]=16,a[n>>3]=r);r=+ve(16808,o),r<+a[n>>3]&&(i[e>>2]=17,a[n>>3]=r);r=+ve(16832,o),r<+a[n>>3]&&(i[e>>2]=18,a[n>>3]=r);if(r=+ve(16856,o),!(r<+a[n>>3]))return void(D=s);i[e>>2]=19,a[n>>3]=r,D=s}(t|=0,n|=0,c=o),(A=+p(+(1-.5*+a[c>>3])))<1e-16)return i[r>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,void(D=o);if(c=0|i[n>>2],s=+Jt((s=+a[15920+(24*c|0)>>3])-+Jt(+function(t,e){t|=0,e|=0;var n=0,r=0,i=0,o=0,s=0;return o=+a[e>>3],r=+h(+o),i=+a[e+8>>3]-+a[t+8>>3],s=r*+d(+i),n=+a[t>>3],+ +v(+s,+(+d(+o)*+h(+n)-+h(+i)*(r*+d(+n))))}(15600+(c<<4)|0,t))),l=0|Ht(e)?+Jt(s+-.3334731722518321):s,s=+f(+A)/.381966011250105,(0|e)>0){t=0;do{s*=2.6457513110645907,t=t+1|0}while((0|t)!=(0|e))}A=+h(+l)*s,a[r>>3]=A,l=+d(+l)*s,a[r+8>>3]=l,D=o}function Et(t,e,n,r,o){e|=0,n|=0,r|=0,o|=0;var s=0,A=0;if(s=+function(t){t|=0;var e=0,n=0;return n=+a[t>>3],e=+a[t+8>>3],+ +c(+(n*n+e*e))}(t|=0),s<1e-16)return e=15600+(e<<4)|0,i[o>>2]=i[e>>2],i[o+4>>2]=i[e+4>>2],i[o+8>>2]=i[e+8>>2],void(i[o+12>>2]=i[e+12>>2]);if(A=+v(+ +a[t+8>>3],+ +a[t>>3]),(0|n)>0){t=0;do{s/=2.6457513110645907,t=t+1|0}while((0|t)!=(0|n))}r?(s/=3,n=0==(0|Ht(n)),s=+g(.381966011250105*(n?s:s/2.6457513110645907))):(s=+g(.381966011250105*s),0|Ht(n)&&(A=+Jt(A+.3334731722518321))),function(t,e,n,r){t|=0,e=+e,n=+n,r|=0;var o=0,s=0,A=0,c=0;if(n<1e-16)return i[r>>2]=i[t>>2],i[r+4>>2]=i[t+4>>2],i[r+8>>2]=i[t+8>>2],void(i[r+12>>2]=i[t+12>>2]);s=e<0?e+6.283185307179586:e,s=e>=6.283185307179586?s+-6.283185307179586:s;do{if(!(s<1e-16)){if(o=+l(+(s+-3.141592653589793))<1e-16,e=+a[t>>3],o){e-=n,a[r>>3]=e,o=r;break}if(A=+h(+n),n=+d(+n),e=A*+d(+e)+ +h(+s)*(n*+h(+e)),e=+m(+((e=e>1?1:e)<-1?-1:e)),a[r>>3]=e,+l(+(e+-1.5707963267948966))<1e-16)return a[r>>3]=1.5707963267948966,void(a[r+8>>3]=0);if(+l(+(e+1.5707963267948966))<1e-16)return a[r>>3]=-1.5707963267948966,void(a[r+8>>3]=0);if(c=+h(+e),s=n*+d(+s)/c,n=+a[t>>3],e=(A-+d(+e)*+d(+n))/+h(+n)/c,A=s>1?1:s,e=e>1?1:e,(e=+a[t+8>>3]+ +v(+(A<-1?-1:A),+(e<-1?-1:e)))>3.141592653589793)do{e+=-6.283185307179586}while(e>3.141592653589793);if(e<-3.141592653589793)do{e+=6.283185307179586}while(e<-3.141592653589793);return void(a[r+8>>3]=e)}e=+a[t>>3]+n,a[r>>3]=e,o=r}while(0);if(+l(+(e+-1.5707963267948966))<1e-16)return a[o>>3]=1.5707963267948966,void(a[r+8>>3]=0);if(+l(+(e+1.5707963267948966))<1e-16)return a[o>>3]=-1.5707963267948966,void(a[r+8>>3]=0);if(e=+a[t+8>>3],e>3.141592653589793)do{e+=-6.283185307179586}while(e>3.141592653589793);if(e<-3.141592653589793)do{e+=6.283185307179586}while(e<-3.141592653589793);a[r+8>>3]=e}(15600+(e<<4)|0,+Jt(+a[15920+(24*e|0)>>3]-A),s,o)}function St(t,e,n){e|=0,n|=0;var r,a;r=D,D=D+16|0,tt((t|=0)+4|0,a=r),Et(a,0|i[t>>2],e,0,n),D=r}function Tt(t,e,n,r,o){t|=0,e|=0,n|=0,r|=0,o|=0;var s,A,l,c,u,h,d,f,p,m,g,v,_,y,x,b,M,w,E,T,C,R,P=0,L=0,O=0,I=0,q=0,U=0;if(R=D,D=D+272|0,I=R+240|0,E=R,T=R+224|0,C=R+208|0,g=R+176|0,v=R+160|0,_=R+192|0,y=R+144|0,x=R+128|0,b=R+112|0,M=R+96|0,w=R+80|0,i[(P=R+256|0)>>2]=e,i[I>>2]=i[t>>2],i[I+4>>2]=i[t+4>>2],i[I+8>>2]=i[t+8>>2],i[I+12>>2]=i[t+12>>2],Ct(I,P,E),i[o>>2]=0,(0|(I=r+n+(5==(0|r)&1)|0))<=(0|n))D=R;else{A=T+4|0,l=g+4|0,c=n+5|0,u=16880+((s=0|i[P>>2])<<2)|0,h=16960+(s<<2)|0,d=x+8|0,f=b+8|0,p=M+8|0,m=C+4|0,O=n;t:for(;;){L=E+(((0|O)%5|0)<<4)|0,i[C>>2]=i[L>>2],i[C+4>>2]=i[L+4>>2],i[C+8>>2]=i[L+8>>2],i[C+12>>2]=i[L+12>>2];do{}while(2==(0|Rt(C,s,0,1)));if((0|O)>(0|n)&0!=(0|Ht(e))){if(i[g>>2]=i[C>>2],i[g+4>>2]=i[C+4>>2],i[g+8>>2]=i[C+8>>2],i[g+12>>2]=i[C+12>>2],tt(A,v),r=0|i[g>>2],P=0|i[17040+(80*r|0)+(i[T>>2]<<2)>>2],i[g>>2]=i[18640+(80*r|0)+(20*P|0)>>2],(0|(L=0|i[18640+(80*r|0)+(20*P|0)+16>>2]))>0){t=0;do{ht(l),t=t+1|0}while((0|t)<(0|L))}switch(L=18640+(80*r|0)+(20*P|0)+4|0,i[_>>2]=i[L>>2],i[_+4>>2]=i[L+4>>2],i[_+8>>2]=i[L+8>>2],rt(_,3*(0|i[u>>2])|0),et(l,_,l),$(l),tt(l,y),q=+(0|i[h>>2]),a[x>>3]=3*q,a[d>>3]=0,U=-1.5*q,a[b>>3]=U,a[f>>3]=2.598076211353316*q,a[M>>3]=U,a[p>>3]=-2.598076211353316*q,0|i[17040+(80*(0|i[g>>2])|0)+(i[C>>2]<<2)>>2]){case 1:t=b,r=x;break;case 3:t=M,r=b;break;case 2:t=x,r=M;break;default:t=12;break t}me(v,y,r,t,w),Et(w,0|i[g>>2],s,1,o+8+(i[o>>2]<<4)|0),i[o>>2]=1+(0|i[o>>2])}if((0|O)<(0|c)&&(tt(m,g),Et(g,0|i[C>>2],s,1,o+8+(i[o>>2]<<4)|0),i[o>>2]=1+(0|i[o>>2])),i[T>>2]=i[C>>2],i[T+4>>2]=i[C+4>>2],i[T+8>>2]=i[C+8>>2],i[T+12>>2]=i[C+12>>2],(0|(O=O+1|0))>=(0|I)){t=3;break}}3!=(0|t)?12==(0|t)&&S(22522,22569,571,22579):D=R}}function Ct(t,e,n){t|=0,e|=0,n|=0;var r,a=0,o=0,s=0,A=0,l=0;r=D,D=D+128|0,o=r,A=20240,l=(s=a=r+64|0)+60|0;do{i[s>>2]=i[A>>2],s=s+4|0,A=A+4|0}while((0|s)<(0|l));A=20304,l=(s=o)+60|0;do{i[s>>2]=i[A>>2],s=s+4|0,A=A+4|0}while((0|s)<(0|l));a=(l=0==(0|Ht(0|i[e>>2])))?a:o,mt(o=t+4|0),gt(o),0|Ht(0|i[e>>2])&&(ct(o),i[e>>2]=1+(0|i[e>>2])),i[n>>2]=i[t>>2],et(o,a,e=n+4|0),$(e),i[n+16>>2]=i[t>>2],et(o,a+12|0,e=n+20|0),$(e),i[n+32>>2]=i[t>>2],et(o,a+24|0,e=n+36|0),$(e),i[n+48>>2]=i[t>>2],et(o,a+36|0,e=n+52|0),$(e),i[n+64>>2]=i[t>>2],et(o,a+48|0,n=n+68|0),$(n),D=r}function Rt(t,e,n,r){n|=0,r|=0;var a,o,s,A,l,c,u=0,h=0,d=0,f=0,p=0;if(c=D,D=D+32|0,l=c+12|0,o=c,p=(t|=0)+4|0,f=0|i[16960+((e|=0)<<2)>>2],f=(A=0!=(0|r))?3*f|0:f,u=0|i[p>>2],a=0|i[(s=t+8|0)>>2],A){if((0|(u=a+u+(r=0|i[(h=t+12|0)>>2])|0))==(0|f))return D=c,0|(p=1);d=h}else u=a+u+(r=0|i[(d=t+12|0)>>2])|0;if((0|u)<=(0|f))return D=c,0|(p=0);do{if((0|r)>0){if(r=0|i[t>>2],(0|a)>0){h=18640+(80*r|0)+60|0,r=t;break}r=18640+(80*r|0)+40|0,n?(K(l,f,0,0),nt(p,l,o),dt(o),et(o,l,p),h=r,r=t):(h=r,r=t)}else h=18640+(80*(0|i[t>>2])|0)+20|0,r=t}while(0);if(i[r>>2]=i[h>>2],(0|i[(u=h+16|0)>>2])>0){r=0;do{ht(p),r=r+1|0}while((0|r)<(0|i[u>>2]))}return t=h+4|0,i[l>>2]=i[t>>2],i[l+4>>2]=i[t+4>>2],i[l+8>>2]=i[t+8>>2],e=0|i[16880+(e<<2)>>2],rt(l,A?3*e|0:e),et(p,l,p),$(p),r=A&&((0|i[s>>2])+(0|i[p>>2])+(0|i[d>>2])|0)==(0|f)?1:2,D=c,0|(p=r)}function Pt(t,e){t|=0,e|=0;var n=0;do{n=0|Rt(t,e,0,1)}while(2==(0|n));return 0|n}function Lt(t,e,n,r,o){t|=0,e|=0,n|=0,r|=0,o|=0;var s,A,l,c,u,h,d,f,p,m,g,v,_,y,x,b,M,w,E=0,T=0,C=0,R=0,P=0;if(w=D,D=D+240|0,y=w+208|0,x=w,b=w+192|0,M=w+176|0,p=w+160|0,m=w+144|0,g=w+128|0,v=w+112|0,_=w+96|0,i[(E=w+224|0)>>2]=e,i[y>>2]=i[t>>2],i[y+4>>2]=i[t+4>>2],i[y+8>>2]=i[t+8>>2],i[y+12>>2]=i[t+12>>2],Dt(y,E,x),i[o>>2]=0,(0|(f=r+n+(6==(0|r)&1)|0))<=(0|n))D=w;else{A=n+6|0,l=16960+((s=0|i[E>>2])<<2)|0,c=m+8|0,u=g+8|0,h=v+8|0,d=b+4|0,T=0,C=n,r=-1;t:for(;;){if(t=x+((E=(0|C)%6|0)<<4)|0,i[b>>2]=i[t>>2],i[b+4>>2]=i[t+4>>2],i[b+8>>2]=i[t+8>>2],i[b+12>>2]=i[t+12>>2],t=T,T=0|Rt(b,s,0,1),(0|C)>(0|n)&0!=(0|Ht(e))&&(1!=(0|t)&&(0|i[b>>2])!=(0|r))){switch(tt(x+(((E+5|0)%6|0)<<4)+4|0,M),tt(x+(E<<4)+4|0,p),R=+(0|i[l>>2]),a[m>>3]=3*R,a[c>>3]=0,P=-1.5*R,a[g>>3]=P,a[u>>3]=2.598076211353316*R,a[v>>3]=P,a[h>>3]=-2.598076211353316*R,E=0|i[y>>2],0|i[17040+(80*E|0)+(((0|r)==(0|E)?0|i[b>>2]:r)<<2)>>2]){case 1:t=g,r=m;break;case 3:t=v,r=g;break;case 2:t=m,r=v;break;default:t=8;break t}me(M,p,r,t,_),0|ge(M,_)||0|ge(p,_)||(Et(_,0|i[y>>2],s,1,o+8+(i[o>>2]<<4)|0),i[o>>2]=1+(0|i[o>>2]))}if((0|C)<(0|A)&&(tt(d,M),Et(M,0|i[b>>2],s,1,o+8+(i[o>>2]<<4)|0),i[o>>2]=1+(0|i[o>>2])),(0|(C=C+1|0))>=(0|f)){t=3;break}r=0|i[b>>2]}3!=(0|t)?8==(0|t)&&S(22606,22569,736,22651):D=w}}function Dt(t,e,n){t|=0,e|=0,n|=0;var r,a=0,o=0,s=0,A=0,l=0;r=D,D=D+160|0,o=r,A=20368,l=(s=a=r+80|0)+72|0;do{i[s>>2]=i[A>>2],s=s+4|0,A=A+4|0}while((0|s)<(0|l));A=20448,l=(s=o)+72|0;do{i[s>>2]=i[A>>2],s=s+4|0,A=A+4|0}while((0|s)<(0|l));a=(l=0==(0|Ht(0|i[e>>2])))?a:o,mt(o=t+4|0),gt(o),0|Ht(0|i[e>>2])&&(ct(o),i[e>>2]=1+(0|i[e>>2])),i[n>>2]=i[t>>2],et(o,a,e=n+4|0),$(e),i[n+16>>2]=i[t>>2],et(o,a+12|0,e=n+20|0),$(e),i[n+32>>2]=i[t>>2],et(o,a+24|0,e=n+36|0),$(e),i[n+48>>2]=i[t>>2],et(o,a+36|0,e=n+52|0),$(e),i[n+64>>2]=i[t>>2],et(o,a+48|0,e=n+68|0),$(e),i[n+80>>2]=i[t>>2],et(o,a+60|0,n=n+84|0),$(n),D=r}function Ot(t,e){return e=0|ze(0|(t|=0),0|(e|=0),45),E(),127&e|0}function It(t,e){var n=0,r=0,i=0,a=0,o=0,s=0;if(!(!0&134217728==(-16777216&(e|=0)|0)))return 0|(e=0);if(o=0|ze(0|(t|=0),0|e,45),E(),(o&=127)>>>0>121)return 0|(e=0);n=0|ze(0|t,0|e,52),E(),n&=15;do{if(0|n){for(i=1,r=0;;){if(a=0|ze(0|t,0|e,3*(15-i|0)|0),E(),0!=(0|(a&=7))&(1^r)){if(1==(0|a)&0!=(0|F(o))){s=0,r=13;break}r=1}if(7==(0|a)){s=0,r=13;break}if(!(i>>>0>>0)){r=9;break}i=i+1|0}if(9==(0|r)){if(15!=(0|n))break;return 0|(s=1)}if(13==(0|r))return 0|s}}while(0);for(;;){if(s=0|ze(0|t,0|e,3*(14-n|0)|0),E(),!(7==(7&s|0)&!0)){s=0,r=13;break}if(!(n>>>0<14)){s=1,r=13;break}n=n+1|0}return 13==(0|r)?0|s:0}function qt(t,e,n,r){n|=0,r|=0;var a=0,o=0;if(o=0|ze(0|(t|=0),0|(e|=0),52),E(),n>>>0>15)return 0|(r=4);if((0|(o&=15))<(0|n))return 0|(r=12);if((0|o)==(0|n))return i[r>>2]=t,i[r+4>>2]=e,0|(r=0);if(a=0|Ge(0|n,0,52),a|=t,t=0|E()|-15728641&e,(0|o)>(0|n))do{e=0|Ge(7,0,3*(14-n|0)|0),n=n+1|0,a|=e,t=0|E()|t}while((0|n)<(0|o));return i[r>>2]=a,i[r+4>>2]=t,0|(r=0)}function Ut(t,e,n,r){n|=0,r|=0;var a=0,o=0,s=0;if(o=0|ze(0|(t|=0),0|(e|=0),52),E(),!((0|n)<16&(0|(o&=15))<=(0|n)))return 0|(r=4);a=n-o|0,n=0|ze(0|t,0|e,45),E();t:do{if(0|F(127&n)){e:do{if(0|o){for(n=1;0==((s=0|Ge(7,0,3*(15-n|0)|0))&t|0)&0==((0|E())&e|0);){if(!(n>>>0>>0))break e;n=n+1|0}n=0|ue(7,0,a,((0|a)<0)<<31>>31),a=0|E();break t}}while(0);n=0|De(0|(n=0|Ne(0|(n=0|ue(7,0,a,((0|a)<0)<<31>>31)),0|E(),5,0)),0|E(),-5,-1),n=0|De(0|(n=0|Ue(0|n,0|E(),6,0)),0|E(),1,0),a=0|E()}else n=0|ue(7,0,a,((0|a)<0)<<31>>31),a=0|E()}while(0);return i[(s=r)>>2]=n,i[s+4>>2]=a,0|(s=0)}function Nt(t,e){var n=0,r=0,i=0;if(i=0|ze(0|(t|=0),0|(e|=0),45),E(),!(0|F(127&i)))return 0|(i=0);i=0|ze(0|t,0|e,52),E(),i&=15;t:do{if(i)for(r=1;;){if(n=0|ze(0|t,0|e,3*(15-r|0)|0),E(),0|(n&=7))break t;if(!(r>>>0>>0)){n=0;break}r=r+1|0}else n=0}while(0);return 0|(i=0==(0|n)&1)}function Bt(t,e){var n=0,r=0,i=0;if(i=0|ze(0|(t|=0),0|(e|=0),52),E(),!(i&=15))return 0|(i=0);for(r=1;;){if(n=0|ze(0|t,0|e,3*(15-r|0)|0),E(),0|(n&=7)){r=5;break}if(!(r>>>0>>0)){n=0,r=5;break}r=r+1|0}return 5==(0|r)?0|n:0}function kt(t,e){var n=0,r=0,i=0,a=0,o=0,s=0,A=0;if(A=0|ze(0|(t|=0),0|(e|=0),52),E(),!(A&=15))return A=t,w(0|(s=e)),0|A;for(s=1,n=0;;){r=0|Ge(7,0,0|(a=3*(15-s|0)|0)),i=0|E(),o=0|ze(0|t,0|e,0|a),E(),t=(a=0|Ge(0|ft(7&o),0,0|a))|t&~r,e=(o=0|E())|e&~i;t:do{if(!n)if(0==(a&r|0)&0==(o&i|0))n=0;else if(r=0|ze(0|t,0|e,52),E(),r&=15){n=1;e:for(;;){switch(o=0|ze(0|t,0|e,3*(15-n|0)|0),E(),7&o){case 1:break e;case 0:break;default:n=1;break t}if(!(n>>>0>>0)){n=1;break t}n=n+1|0}for(n=1;;){if(i=0|ze(0|t,0|e,0|(o=3*(15-n|0)|0)),E(),a=0|Ge(7,0,0|o),e&=~(0|E()),t=t&~a|(o=0|Ge(0|ft(7&i),0,0|o)),e=0|e|E(),!(n>>>0>>0)){n=1;break}n=n+1|0}}else n=1}while(0);if(!(s>>>0>>0))break;s=s+1|0}return w(0|e),0|t}function Ft(t,e){var n=0,r=0,i=0,a=0,o=0;if(r=0|ze(0|(t|=0),0|(e|=0),52),E(),!(r&=15))return r=t,w(0|(n=e)),0|r;for(n=1;o=0|ze(0|t,0|e,0|(a=3*(15-n|0)|0)),E(),i=0|Ge(7,0,0|a),e&=~(0|E()),t=(a=0|Ge(0|ft(7&o),0,0|a))|t&~i,e=0|E()|e,n>>>0>>0;)n=n+1|0;return w(0|e),0|t}function zt(t,e){var n=0,r=0,i=0,a=0,o=0,s=0,A=0;if(A=0|ze(0|(t|=0),0|(e|=0),52),E(),!(A&=15))return A=t,w(0|(s=e)),0|A;for(s=1,n=0;;){r=0|Ge(7,0,0|(a=3*(15-s|0)|0)),i=0|E(),o=0|ze(0|t,0|e,0|a),E(),t=(a=0|Ge(0|pt(7&o),0,0|a))|t&~r,e=(o=0|E())|e&~i;t:do{if(!n)if(0==(a&r|0)&0==(o&i|0))n=0;else if(r=0|ze(0|t,0|e,52),E(),r&=15){n=1;e:for(;;){switch(o=0|ze(0|t,0|e,3*(15-n|0)|0),E(),7&o){case 1:break e;case 0:break;default:n=1;break t}if(!(n>>>0>>0)){n=1;break t}n=n+1|0}for(n=1;;){if(a=0|Ge(7,0,0|(i=3*(15-n|0)|0)),o=e&~(0|E()),e=0|ze(0|t,0|e,0|i),E(),t=t&~a|(e=0|Ge(0|pt(7&e),0,0|i)),e=0|o|E(),!(n>>>0>>0)){n=1;break}n=n+1|0}}else n=1}while(0);if(!(s>>>0>>0))break;s=s+1|0}return w(0|e),0|t}function Gt(t,e){var n=0,r=0,i=0,a=0,o=0;if(r=0|ze(0|(t|=0),0|(e|=0),52),E(),!(r&=15))return r=t,w(0|(n=e)),0|r;for(n=1;a=0|Ge(7,0,0|(o=3*(15-n|0)|0)),i=e&~(0|E()),e=0|ze(0|t,0|e,0|o),E(),t=(e=0|Ge(0|pt(7&e),0,0|o))|t&~a,e=0|E()|i,n>>>0>>0;)n=n+1|0;return w(0|e),0|t}function Ht(t){return 0|(0|(t|=0))%2}function jt(t,e,n){n|=0;var r,a=0;return r=D,D=D+16|0,a=r,(e|=0)>>>0>15?(D=r,0|(a=4)):2146435072==(2146435072&i[(t|=0)+4>>2]|0)||2146435072==(2146435072&i[t+8+4>>2]|0)?(D=r,0|(a=3)):(function(t,e,n){var r,i;r=D,D=D+16|0,wt(t|=0,e|=0,n|=0,i=r),J(i,n+4|0),D=r}(t,e,a),e=0|function(t,e){t|=0;var n,r=0,a=0,o=0,s=0,A=0,l=0,c=0,u=0;if(n=D,D=D+64|0,l=n+40|0,a=n+24|0,o=n+12|0,s=n,Ge(0|(e|=0),0,52),r=134225919|E(),!e)return(0|i[t+4>>2])>2||(0|i[t+8>>2])>2||(0|i[t+12>>2])>2?(l=0,w(0|(A=0)),D=n,0|l):(Ge(0|G(t),0,45),A=0|E()|r,l=-1,w(0|A),D=n,0|l);if(i[l>>2]=i[t>>2],i[l+4>>2]=i[t+4>>2],i[l+8>>2]=i[t+8>>2],i[l+12>>2]=i[t+12>>2],A=l+4|0,(0|e)>0)for(t=-1;i[a>>2]=i[A>>2],i[a+4>>2]=i[A+4>>2],i[a+8>>2]=i[A+8>>2],1&e?(st(A),i[o>>2]=i[A>>2],i[o+4>>2]=i[A+4>>2],i[o+8>>2]=i[A+8>>2],lt(o)):(At(A),i[o>>2]=i[A>>2],i[o+4>>2]=i[A+4>>2],i[o+8>>2]=i[A+8>>2],ct(o)),nt(a,o,s),$(s),c=0|Ge(7,0,0|(u=3*(15-e|0)|0)),r&=~(0|E()),t=(u=0|Ge(0|it(s),0,0|u))|t&~c,r=0|E()|r,(0|e)>1;)e=e+-1|0;else t=-1;t:do{if((0|i[A>>2])<=2&&(0|i[l+8>>2])<=2&&(0|i[l+12>>2])<=2){if(e=0|Ge(0|(a=0|G(l)),0,45),e|=t,t=0|E()|-1040385&r,s=0|H(l),!(0|F(a))){if((0|s)<=0)break;for(o=0;;){if(a=0|ze(0|e,0|t,52),E(),a&=15)for(r=1;l=0|ze(0|e,0|t,0|(u=3*(15-r|0)|0)),E(),c=0|Ge(7,0,0|u),t&=~(0|E()),e=e&~c|(u=0|Ge(0|ft(7&l),0,0|u)),t=0|t|E(),r>>>0>>0;)r=r+1|0;if((0|(o=o+1|0))==(0|s))break t}}o=0|ze(0|e,0|t,52),E(),o&=15;e:do{if(o){r=1;n:for(;;){switch(u=0|ze(0|e,0|t,3*(15-r|0)|0),E(),7&u){case 1:break n;case 0:break;default:break e}if(!(r>>>0>>0))break e;r=r+1|0}if(0|j(a,0|i[l>>2]))for(r=1;c=0|Ge(7,0,0|(l=3*(15-r|0)|0)),u=t&~(0|E()),t=0|ze(0|e,0|t,0|l),E(),e=e&~c|(t=0|Ge(0|pt(7&t),0,0|l)),t=0|u|E(),r>>>0>>0;)r=r+1|0;else for(r=1;l=0|ze(0|e,0|t,0|(u=3*(15-r|0)|0)),E(),c=0|Ge(7,0,0|u),t&=~(0|E()),e=e&~c|(u=0|Ge(0|ft(7&l),0,0|u)),t=0|t|E(),r>>>0>>0;)r=r+1|0}}while(0);if((0|s)>0){r=0;do{e=0|kt(e,t),t=0|E(),r=r+1|0}while((0|r)!=(0|s))}}else e=0,t=0}while(0);return u=e,w(0|(c=t)),D=n,0|u}(a,e),a=0|E(),i[n>>2]=e,i[n+4>>2]=a,0==(0|e)&0==(0|a)&&S(23313,22674,786,22697),D=r,0|(a=0))}function Vt(t,e,n){var r,a=0,o=0,s=0;if(r=(n|=0)+4|0,o=0|ze(0|(t|=0),0|(e|=0),52),E(),o&=15,s=0|ze(0|t,0|e,45),E(),a=0==(0|o),0|F(127&s)){if(a)return 0|(s=1);a=1}else{if(a)return 0|(s=0);a=0==(0|i[r>>2])&&0==(0|i[n+8>>2])?0!=(0|i[n+12>>2])&1:1}for(n=1;1&n?lt(r):ct(r),s=0|ze(0|t,0|e,3*(15-n|0)|0),E(),ut(r,7&s),n>>>0>>0;)n=n+1|0;return 0|a}function Wt(t,e,n){n|=0;var r,a,o=0,s=0,A=0,l=0,c=0,u=0;if(a=D,D=D+16|0,r=a,u=0|ze(0|(t|=0),0|(e|=0),45),E(),(u&=127)>>>0>121)return i[n>>2]=0,i[n+4>>2]=0,i[n+8>>2]=0,i[n+12>>2]=0,D=a,0|(u=5);t:do{if(0!=(0|F(u))&&(A=0|ze(0|t,0|e,52),E(),0!=(0|(A&=15)))){o=1;e:for(;;){switch(c=0|ze(0|t,0|e,3*(15-o|0)|0),E(),7&c){case 5:break e;case 0:break;default:o=e;break t}if(!(o>>>0>>0)){o=e;break t}o=o+1|0}for(s=1,o=e;l=0|Ge(7,0,0|(e=3*(15-s|0)|0)),c=o&~(0|E()),o=0|ze(0|t,0|o,0|e),E(),t=t&~l|(o=0|Ge(0|pt(7&o),0,0|e)),o=0|c|E(),s>>>0>>0;)s=s+1|0}else o=e}while(0);if(c=7696+(28*u|0)|0,i[n>>2]=i[c>>2],i[n+4>>2]=i[c+4>>2],i[n+8>>2]=i[c+8>>2],i[n+12>>2]=i[c+12>>2],!(0|Vt(t,o,n)))return D=a,0|(u=0);if(l=n+4|0,i[r>>2]=i[l>>2],i[r+4>>2]=i[l+4>>2],i[r+8>>2]=i[l+8>>2],A=0|ze(0|t,0|o,52),E(),c=15&A,1&A?(ct(l),A=c+1|0):A=c,0|F(u)){t:do{if(c)for(e=1;;){if(s=0|ze(0|t,0|o,3*(15-e|0)|0),E(),0|(s&=7)){o=s;break t}if(!(e>>>0>>0)){o=0;break}e=e+1|0}else o=0}while(0);o=4==(0|o)&1}else o=0;if(0|Rt(n,A,o,0)){if(0|F(u))do{}while(0!=(0|Rt(n,A,0,0)));(0|A)!=(0|c)&&At(l)}else(0|A)!=(0|c)&&(i[l>>2]=i[r>>2],i[l+4>>2]=i[r+4>>2],i[l+8>>2]=i[r+8>>2]);return D=a,0|(u=0)}function Xt(t,e,n){n|=0;var r,i,a=0;return i=D,D=D+16|0,0|(a=0|Wt(t|=0,e|=0,r=i))?(D=i,0|a):(a=0|ze(0|t,0|e,52),E(),St(r,15&a,n),D=i,0|(a=0))}function Qt(t,e,n){n|=0;var r,i=0,a=0,o=0;if(r=D,D=D+16|0,0|(i=0|Wt(t|=0,e|=0,o=r)))return D=r,0|(o=i);i=0|ze(0|t,0|e,45),E(),i=0==(0|F(127&i)),a=0|ze(0|t,0|e,52),E(),a&=15;t:do{if(!i){if(0|a)for(i=1;;){if(!(0==((0|Ge(7,0,3*(15-i|0)|0))&t|0)&0==((0|E())&e|0)))break t;if(!(i>>>0>>0))break;i=i+1|0}return Tt(o,a,0,5,n),D=r,0|0}}while(0);return Lt(o,a,0,6,n),D=r,0|0}function Yt(t,e){e|=0;var n=0,r=0,a=0,o=0,s=0,A=0,l=0;if((t|=0)>>>0>15)return 0|(A=4);if(Ge(0|t,0,52),A=134225919|E(),!t){n=0,r=0;do{0|F(r)&&(Ge(0|r,0,45),s=0|A|E(),i[(t=e+(n<<3)|0)>>2]=-1,i[t+4>>2]=s,n=n+1|0),r=r+1|0}while(122!=(0|r));return 0|(n=0)}n=0,s=0;do{if(0|F(s)){for(Ge(0|s,0,45),r=1,a=-1,o=0|A|E();a&=~(l=0|Ge(7,0,3*(15-r|0)|0)),o&=~(0|E()),(0|r)!=(0|t);)r=r+1|0;i[(l=e+(n<<3)|0)>>2]=a,i[l+4>>2]=o,n=n+1|0}s=s+1|0}while(122!=(0|s));return 0|(n=0)}function Zt(t,e,n,r){t|=0,r|=0;var a=0,o=0;a=0|ze(0|(e|=0),0|(n|=0),52),E(),0==(0|e)&0==(0|n)|(0|r)>15|(0|(a&=15))>(0|r)?(r=-1,a=-1,e=0,n=0):(o=0|function(t,e,n,r){return t|=0,e|=0,(0|(r|=0))<(0|(n|=0))?(r=t,w(0|(n=e)),0|r):(n=0|Ge(-1,-1,3+(3*(r-n|0)|0)|0),r=0|Ge(0|~n,0|~(0|E()),3*(15-r|0)|0),n=~(0|E())&e,r=~r&t,w(0|n),0|r)}(e,n,a+1|0,r),n=-15728641&(0|E()),e=0|Ge(0|r,0,52),r=(o=0==(0|Nt(e|=o,n=0|n|E())))?-1:r),i[(o=t)>>2]=e,i[o+4>>2]=n,i[t+8>>2]=a,i[t+12>>2]=r}function Kt(t){var e,n=0,r=0,a=0,o=0,s=0,A=0,l=0,c=0;if(!(0==(0|(n=0|i[(r=t|=0)>>2]))&0==(0|(r=0|i[r+4>>2]))||(a=0|ze(0|n,0|r,52),E(),n=0|De(0|(l=0|Ge(1,0,3*(15^(a&=15))|0)),0|E(),0|n,0|r),r=0|E(),i[(l=t)>>2]=n,i[l+4>>2]=r,(0|a)<(0|(A=0|i[(l=t+8|0)>>2]))))){for(e=t+12|0,s=a;;){if((0|s)==(0|A)){a=5;break}if(c=(0|s)==(0|i[e>>2]),a=0|ze(0|n,0|r,0|(o=3*(15-s|0)|0)),E(),c&1==(0|(a&=7))&!0){a=7;break}if(!(7==(0|a)&!0)){a=10;break}if(n=0|De(0|n,0|r,0|(c=0|Ge(1,0,0|o)),0|E()),r=0|E(),i[(c=t)>>2]=n,i[c+4>>2]=r,!((0|s)>(0|A))){a=10;break}s=s+-1|0}if(5==(0|a))return i[(c=t)>>2]=0,i[c+4>>2]=0,i[l>>2]=-1,void(i[e>>2]=-1);if(7==(0|a))return A=0|De(0|n,0|r,0|(A=0|Ge(1,0,0|o)),0|E()),l=0|E(),i[(c=t)>>2]=A,i[c+4>>2]=l,void(i[e>>2]=s+-1)}}function Jt(t){var e;return e=(t=+t)<0?t+6.283185307179586:t,+(t>=6.283185307179586?e+-6.283185307179586:e)}function $t(t,e){return e|=0,+l(+(+a[(t|=0)>>3]-+a[e>>3]))<17453292519943298e-27?0|(e=+l(+(+a[t+8>>3]-+a[e+8>>3]))<17453292519943298e-27):0|(e=0)}function te(t,e){t|=0;var n,r,i,o=0;return r=+a[(e|=0)>>3],n=+a[t>>3],o=(i=+d(.5*(r-n)))*i+(o=+d(.5*(+a[e+8>>3]-+a[t+8>>3])))*(+h(+r)*+h(+n)*o),2*+v(+ +c(+o),+ +c(+(1-o)))*6371.007180918475}function ee(t,e){e|=0;var n=0;return(t|=0)>>>0>15?0|(e=4):(n=0|Ne(0|(n=0|ue(7,0,t,((0|t)<0)<<31>>31)),0|E(),120,0),t=0|E(),i[e>>2]=2|n,i[e+4>>2]=t,0|(e=0))}function ne(t,e,n){t|=0,n|=0;var r,i,o,s,A=0,l=0,u=0,p=0,m=0,_=0;return _=+a[(e|=0)>>3],o=+a[t>>3],m=+d(.5*(_-o)),u=+a[e+8>>3],i=+a[t+8>>3],p=+d(.5*(u-i)),r=+h(+o),s=+h(+_),p=2*+v(+ +c(+(p=m*m+p*(s*r*p))),+ +c(+(1-p))),m=+a[n>>3],_=+d(.5*(m-_)),A=+a[n+8>>3],u=+d(.5*(A-u)),l=+h(+m),u=2*+v(+ +c(+(u=_*_+u*(s*l*u))),+ +c(+(1-u))),m=+d(.5*(o-m)),A=+d(.5*(i-A)),A=2*+v(+ +c(+(A=m*m+A*(r*l*A))),+ +c(+(1-A))),4*+g(+ +c(+ +f(.5*(l=.5*(p+u+A)))*+f(.5*(l-p))*+f(.5*(l-u))*+f(.5*(l-A))))}function re(t,e,n){n|=0;var r,o,s,A=0,l=0;if(s=D,D=D+192|0,o=s,0|(l=0|Xt(t|=0,e|=0,r=s+168|0)))return D=s,0|(n=l);if(0|Qt(t,e,o)&&S(23313,22742,386,22751),(0|(e=0|i[o>>2]))>0){if(A=+ne(o+8|0,o+8+((1!=(0|e)&1)<<4)|0,r)+0,1!=(0|e)){t=1;do{A+=+ne(o+8+((l=t)<<4)|0,o+8+(((0|(t=t+1|0))%(0|e)|0)<<4)|0,r)}while((0|t)<(0|e))}}else A=0;return a[n>>3]=A,D=s,0|(n=0)}function ie(t){t|=0;var e,n,r=0;return(e=0|Le(1,12))||S(22832,22787,49,22845),0|(r=0|i[(n=t+4|0)>>2])?(i[(r=r+8|0)>>2]=e,i[n>>2]=e,0|e):(0|i[t>>2]&&S(22862,22787,61,22885),i[(r=t)>>2]=e,i[n>>2]=e,0|e)}function ae(t,e){t|=0,e|=0;var n,r;return(r=0|Re(24))||S(22899,22787,78,22913),i[r>>2]=i[e>>2],i[r+4>>2]=i[e+4>>2],i[r+8>>2]=i[e+8>>2],i[r+12>>2]=i[e+12>>2],i[r+16>>2]=0,0|(n=0|i[(e=t+4|0)>>2])?(i[n+16>>2]=r,i[e>>2]=r,0|r):(0|i[t>>2]&&S(22928,22787,82,22913),i[t>>2]=r,i[e>>2]=r,0|r)}function oe(t){var e=0,n=0,r=0,a=0;if(t|=0)for(r=1;;){if(0|(e=0|i[t>>2]))do{if(0|(n=0|i[e>>2]))do{a=n,n=0|i[n+16>>2],Pe(a)}while(0!=(0|n));a=e,e=0|i[e+8>>2],Pe(a)}while(0!=(0|e));if(e=t,t=0|i[t+8>>2],r||Pe(e),!t)break;r=0}}function se(t){var e,n,r=0,o=0,s=0,A=0,c=0,u=0,h=0,d=0,f=0,p=0,m=0,g=0,v=0,_=0,y=0,x=0,b=0,M=0,w=0,E=0,T=0,C=0,R=0,P=0,L=0,D=0,O=0,I=0,q=0,U=0;if(0|i[(A=(t|=0)+8|0)>>2])return 0|(U=1);if(!(s=0|i[t>>2]))return 0|(U=0);r=s,o=0;do{o=o+1|0,r=0|i[r+8>>2]}while(0!=(0|r));if(o>>>0<2)return 0|(U=0);(n=0|Re(o<<2))||S(22948,22787,317,22967),(e=0|Re(o<<5))||S(22989,22787,321,22967),i[t>>2]=0,i[(C=t+4|0)>>2]=0,i[A>>2]=0,o=0,I=0,T=0,m=0;t:for(;;){if(p=0|i[s>>2]){c=0,u=p;do{if(d=+a[u+8>>3],r=u,u=0|i[u+16>>2],h=+a[(A=(f=0==(0|u))?p:u)+8>>3],+l(+(d-h))>3.141592653589793){U=14;break}c+=(h-d)*(+a[r>>3]+ +a[A>>3])}while(!f);if(14==(0|U)){U=0,c=0,r=p;do{E=+a[r+8>>3],D=0|i[(O=r+16|0)>>2],w=+a[(D=0==(0|D)?p:D)+8>>3],c+=(+a[r>>3]+ +a[D>>3])*((w<0?w+6.283185307179586:w)-(E<0?E+6.283185307179586:E)),r=0|i[(0==(0|r)?s:O)>>2]}while(0!=(0|r))}c>0?(i[n+(I<<2)>>2]=s,I=I+1|0,A=T,r=m):U=19}else U=19;if(19==(0|U)){U=0;do{if(!o){if(m){A=C,u=m+8|0,r=s,o=t;break}if(0|i[t>>2]){U=27;break t}A=C,u=t,r=s,o=t;break}if(0|i[(r=o+8|0)>>2]){U=21;break t}if(!(o=0|Le(1,12))){U=23;break t}i[r>>2]=o,A=o+4|0,u=o,r=m}while(0);if(i[u>>2]=s,i[A>>2]=s,u=e+(T<<5)|0,f=0|i[s>>2]){for(a[(p=e+(T<<5)+8|0)>>3]=17976931348623157e292,a[(m=e+(T<<5)+24|0)>>3]=17976931348623157e292,a[u>>3]=-17976931348623157e292,a[(g=e+(T<<5)+16|0)>>3]=-17976931348623157e292,b=17976931348623157e292,M=-17976931348623157e292,A=0,v=f,d=17976931348623157e292,y=17976931348623157e292,x=-17976931348623157e292,h=-17976931348623157e292;c=+a[v>>3],E=+a[v+8>>3],v=0|i[v+16>>2],w=+a[((_=0==(0|v))?f:v)+8>>3],c>3]=c,d=c),E>3]=E,y=E),c>x?a[u>>3]=c:c=x,E>h&&(a[g>>3]=E,h=E),b=E>0&EM?E:M,A|=+l(+(E-w))>3.141592653589793,!_;)x=c;A&&(a[g>>3]=M,a[m>>3]=b)}else i[u>>2]=0,i[u+4>>2]=0,i[u+8>>2]=0,i[u+12>>2]=0,i[u+16>>2]=0,i[u+20>>2]=0,i[u+24>>2]=0,i[u+28>>2]=0;A=T+1|0}if(s=0|i[(O=s+8|0)>>2],i[O>>2]=0,!s){U=45;break}T=A,m=r}if(21==(0|U))S(22765,22787,35,22799);else if(23==(0|U))S(22819,22787,37,22799);else if(27==(0|U))S(22862,22787,61,22885);else if(45==(0|U)){t:do{if((0|I)>0){for(O=0==(0|A),L=A<<2,D=0==(0|t),P=0,r=0;;){if(R=0|i[n+(P<<2)>>2],O)U=73;else{if(!(T=0|Re(L))){U=50;break}if(!(C=0|Re(L))){U=52;break}e:do{if(D)o=0;else{for(A=0,o=0,u=t;s=e+(A<<5)|0,0|Ae(0|i[u>>2],s,0|i[R>>2])?(i[T+(o<<2)>>2]=u,i[C+(o<<2)>>2]=s,_=o+1|0):_=o,u=0|i[u+8>>2];)A=A+1|0,o=_;if((0|_)>0)if(s=0|i[T>>2],1==(0|_))o=s;else for(g=0,v=-1,o=s,m=s;;){for(f=0|i[m>>2],s=0,u=0;p=(0|(A=0|i[i[T+(u<<2)>>2]>>2]))==(0|f)?s:s+(1&(0|Ae(A,0|i[C+(u<<2)>>2],0|i[f>>2])))|0,(0|(u=u+1|0))!=(0|_);)s=p;if(o=(A=(0|p)>(0|v))?m:o,(0|(s=g+1|0))==(0|_))break e;g=s,v=A?p:v,m=0|i[T+(s<<2)>>2]}else o=0}}while(0);if(Pe(T),Pe(C),o){if(s=0|i[(A=o+4|0)>>2])o=s+8|0;else if(0|i[o>>2]){U=70;break}i[o>>2]=R,i[A>>2]=R}else U=73}if(73==(0|U)){if(U=0,0|(r=0|i[R>>2]))do{C=r,r=0|i[r+16>>2],Pe(C)}while(0!=(0|r));Pe(R),r=1}if((0|(P=P+1|0))>=(0|I)){q=r;break t}}50==(0|U)?S(23004,22787,249,23023):52==(0|U)?S(23042,22787,252,23023):70==(0|U)&&S(22862,22787,61,22885)}else q=0}while(0);return Pe(n),Pe(e),0|(U=q)}return 0}function Ae(t,e,n){t|=0;var r=0,o=0,s=0,A=0,l=0,c=0,u=0,h=0;if(!(0|Q(e|=0,n|=0)))return 0|(t=0);if(e=0|X(e),r=+a[n>>3],o=e&(o=+a[n+8>>3])<0?o+6.283185307179586:o,!(t=0|i[t>>2]))return 0|(t=0);if(e){e=0,u=o,n=t;t:for(;;){for(;A=+a[n>>3],o=+a[n+8>>3],h=0|i[(n=n+16|0)>>2],s=+a[(h=0==(0|h)?t:h)>>3],l=+a[h+8>>3],A>s?(c=A,A=l):(c=s,s=A,A=o,o=l),(r=r==s|r==c?r+2220446049250313e-31:r)c;)if(!(n=0|i[n>>2])){n=22;break t}if(((c=(l=A<0?A+6.283185307179586:A)+(r-s)/(c-s)*((A=o<0?o+6.283185307179586:o)-l))<0?c+6.283185307179586:c)>(u=l==u|A==u?u+-2220446049250313e-31:u)&&(e^=1),!(n=0|i[n>>2])){n=22;break}}if(22==(0|n))return 0|e}else{e=0,u=o,n=t;t:for(;;){for(;A=+a[n>>3],o=+a[n+8>>3],h=0|i[(n=n+16|0)>>2],s=+a[(h=0==(0|h)?t:h)>>3],l=+a[h+8>>3],A>s?(c=A,A=l):(c=s,s=A,A=o,o=l),(r=r==s|r==c?r+2220446049250313e-31:r)c;)if(!(n=0|i[n>>2])){n=22;break t}if(A+(r-s)/(c-s)*(o-A)>(u=A==u|o==u?u+-2220446049250313e-31:u)&&(e^=1),!(n=0|i[n>>2])){n=22;break}}if(22==(0|n))return 0|e}return 0}function le(t,e,n,a,o){n|=0,a|=0,o|=0;var s,A,l,c,u=0,h=0,d=0,f=0,p=0,m=0,g=0,v=0,_=0,y=0;if(c=D,D=D+32|0,y=c+16|0,l=c,u=0|ze(0|(t|=0),0|(e|=0),52),E(),u&=15,g=0|ze(0|n,0|a,52),E(),(0|u)!=(15&g|0))return D=c,0|(y=12);if(p=0|ze(0|t,0|e,45),E(),p&=127,m=0|ze(0|n,0|a,45),E(),p>>>0>121|(m&=127)>>>0>121)return D=c,0|(y=5);if(g=(0|p)!=(0|m)){if(7==(0|(d=0|W(p,m))))return D=c,0|(y=1);7==(0|(f=0|W(m,p)))?S(23066,23090,161,23100):(v=d,h=f)}else v=0,h=0;s=0|F(p),A=0|F(m),i[y>>2]=0,i[y+4>>2]=0,i[y+8>>2]=0,i[y+12>>2]=0;do{if(v){if(d=(0|(m=0|i[4272+(28*p|0)+(v<<2)>>2]))>0,A)if(d){p=0,f=n,d=a;do{f=0|zt(f,d),d=0|E(),1==(0|(h=0|pt(h)))&&(h=0|pt(1)),p=p+1|0}while((0|p)!=(0|m));m=h,p=f,f=d}else m=h,p=n,f=a;else if(d){p=0,f=n,d=a;do{f=0|Gt(f,d),d=0|E(),h=0|pt(h),p=p+1|0}while((0|p)!=(0|m));m=h,p=f,f=d}else m=h,p=n,f=a;if(Vt(p,f,y),g||S(23115,23090,191,23100),(d=0!=(0|s))&(h=0!=(0|A))&&S(23142,23090,192,23100),d){if(7==(0|(h=0|Bt(t,e)))){u=5;break}if(0|r[21872+(7*h|0)+v>>0]){u=1;break}p=f=0|i[21040+(28*h|0)+(v<<2)>>2]}else if(h){if(7==(0|(h=0|Bt(p,f)))){u=5;break}if(0|r[21872+(7*h|0)+m>>0]){u=1;break}p=0,f=0|i[21040+(28*m|0)+(h<<2)>>2]}else p=0,f=0;if((p|f|0)<0)u=5;else{if((0|f)>0){d=y+4|0,h=0;do{dt(d),h=h+1|0}while((0|h)!=(0|f))}if(i[l>>2]=0,i[l+4>>2]=0,i[l+8>>2]=0,ut(l,v),0|u)for(;0|Ht(u)?lt(l):ct(l),(0|u)>1;)u=u+-1|0;if((0|p)>0){u=0;do{dt(l),u=u+1|0}while((0|u)!=(0|p))}et(_=y+4|0,l,_),$(_),_=51}}else if(Vt(n,a,y),0!=(0|s)&0!=(0|A))if((0|m)!=(0|p)&&S(23173,23090,261,23100),7==(0|(h=0|Bt(t,e)))|7==(0|(u=0|Bt(n,a))))u=5;else if(0|r[21872+(7*h|0)+u>>0])u=1;else if((0|(h=0|i[21040+(28*h|0)+(u<<2)>>2]))>0){d=y+4|0,u=0;do{dt(d),u=u+1|0}while((0|u)!=(0|h));_=51}else _=51;else _=51}while(0);return 51==(0|_)&&(u=y+4|0,i[o>>2]=i[u>>2],i[o+4>>2]=i[u+4>>2],i[o+8>>2]=i[u+8>>2],u=0),D=c,0|(y=u)}function ce(t,e,n,r){n|=0,r|=0;var a,o,s,A=0,l=0,c=0,u=0,h=0,d=0,f=0,p=0,m=0,g=0,v=0,_=0,y=0;if(s=D,D=D+48|0,a=s+36|0,c=s+24|0,u=s+12|0,h=s,A=0|ze(0|(t|=0),0|(e|=0),52),E(),A&=15,f=0|ze(0|t,0|e,45),E(),(f&=127)>>>0>121)return D=s,0|(r=5);if(o=0|F(f),Ge(0|A,0,52),g=134225919|E(),i[(l=r)>>2]=-1,i[l+4>>2]=g,!A)return 7==(0|(A=0|it(n)))||127==(0|(A=0|V(f,A)))?(D=s,0|(g=1)):(p=0|Ge(0|A,0,45),m=0|E(),m=-1040385&i[(f=r)+4>>2]|m,i[(g=r)>>2]=i[f>>2]|p,i[g+4>>2]=m,D=s,0|(g=0));for(i[a>>2]=i[n>>2],i[a+4>>2]=i[n+4>>2],i[a+8>>2]=i[n+8>>2],n=A;;){if(l=n,n=n+-1|0,i[c>>2]=i[a>>2],i[c+4>>2]=i[a+4>>2],i[c+8>>2]=i[a+8>>2],0|Ht(l)){if(0|(A=0|at(a))){n=13;break}i[u>>2]=i[a>>2],i[u+4>>2]=i[a+4>>2],i[u+8>>2]=i[a+8>>2],lt(u)}else{if(0|(A=0|ot(a))){n=13;break}i[u>>2]=i[a>>2],i[u+4>>2]=i[a+4>>2],i[u+8>>2]=i[a+8>>2],ct(u)}if(nt(c,u,h),$(h),_=0|i[(A=r)>>2],A=0|i[A+4>>2],v=0|Ge(7,0,0|(y=3*(15-l|0)|0)),A&=~(0|E()),y=0|Ge(0|it(h),0,0|y),A=0|E()|A,i[(g=r)>>2]=y|_&~v,i[g+4>>2]=A,(0|l)<=1){n=14;break}}t:do{if(13!=(0|n)&&14==(0|n))if((0|i[a>>2])<=1&&(0|i[a+4>>2])<=1&&(0|i[a+8>>2])<=1){h=127==(0|(A=0|V(f,n=0|it(a))))?0:0|F(A);e:do{if(n){if(o){if(7==(0|(A=0|Bt(t,e)))){A=5;break t}if((0|(l=0|i[21248+(28*A|0)+(n<<2)>>2]))>0){A=n,n=0;do{A=0|ft(A),n=n+1|0}while((0|n)!=(0|l))}else A=n;if(1==(0|A)){A=9;break t}127==(0|(n=0|V(f,A)))&&S(23200,23090,411,23230),0|F(n)?S(23245,23090,412,23230):(m=n,p=l,d=A)}else m=A,p=0,d=n;if((0|(u=0|i[4272+(28*f|0)+(d<<2)>>2]))<=-1&&S(23276,23090,419,23230),!h){if((0|p)<0){A=5;break t}if(0|p){A=0,n=0|i[(l=r)>>2],l=0|i[l+4>>2];do{n=0|Ft(n,l),l=0|E(),i[(y=r)>>2]=n,i[y+4>>2]=l,A=A+1|0}while((0|A)<(0|p))}if((0|u)<=0){A=m,n=58;break}for(A=0,n=0|i[(l=r)>>2],l=0|i[l+4>>2];;)if(n=0|Ft(n,l),l=0|E(),i[(y=r)>>2]=n,i[y+4>>2]=l,(0|(A=A+1|0))==(0|u)){A=m,n=58;break e}}if(7==(0|(c=0|W(m,f)))&&S(23066,23090,428,23230),n=0|i[(A=r)>>2],A=0|i[A+4>>2],(0|u)>0){l=0;do{n=0|Ft(n,A),A=0|E(),i[(y=r)>>2]=n,i[y+4>>2]=A,l=l+1|0}while((0|l)!=(0|u))}if(7==(0|(A=0|Bt(n,A)))&&S(23313,23090,440,23230),n=0|z(m),(0|(n=0|i[(n?21664:21456)+(28*c|0)+(A<<2)>>2]))<0&&S(23313,23090,454,23230),n){A=0,l=0|i[(c=r)>>2],c=0|i[c+4>>2];do{l=0|kt(l,c),c=0|E(),i[(y=r)>>2]=l,i[y+4>>2]=c,A=A+1|0}while((0|A)<(0|n));A=m,n=58}else A=m,n=58}else if(0!=(0|o)&0!=(0|h)){if(7==(0|(n=0|Bt(t,e)))|7==(0|(l=0|Bt(0|i[(l=r)>>2],0|i[l+4>>2])))){A=5;break t}if((0|(l=0|i[21248+(28*n|0)+(l<<2)>>2]))<0){A=5;break t}if(l){n=0,c=0|i[(u=r)>>2],u=0|i[u+4>>2];do{c=0|Ft(c,u),u=0|E(),i[(y=r)>>2]=c,i[y+4>>2]=u,n=n+1|0}while((0|n)<(0|l));n=58}else n=59}else n=58}while(0);if(58==(0|n)&&h&&(n=59),59==(0|n)&&1==(0|Bt(0|i[(y=r)>>2],0|i[y+4>>2]))){A=9;break}v=0|i[(y=r)>>2],y=-1040385&i[y+4>>2],_=0|Ge(0|A,0,45),y=0|y|E(),i[(A=r)>>2]=v|_,i[A+4>>2]=y,A=0}else A=1}while(0);return D=s,0|(y=A)}function ue(t,e,n,r){t|=0,e|=0;var i=0,a=0,o=0;if(0==(0|(n|=0))&0==(0|(r|=0)))return a=1,w(0|(i=0)),0|a;a=t,i=e,t=1,e=0;do{t=0|Ne(0|((o=0==(1&n|0)&!0)?1:a),0|(o?0:i),0|t,0|e),e=0|E(),n=0|Fe(0|n,0|r,1),r=0|E(),a=0|Ne(0|a,0|i,0|a,0|i),i=0|E()}while(!(0==(0|n)&0==(0|r)));return w(0|e),0|t}function he(t,e,n){t|=0;var r,o=0,s=0,A=0,l=0,c=0,u=0,h=0,d=0,f=0;if(!(0|Q(e|=0,n|=0)))return 0|(f=0);if(e=0|X(e),o=+a[n>>3],s=e&(s=+a[n+8>>3])<0?s+6.283185307179586:s,(0|(f=0|i[t>>2]))<=0)return 0|(f=0);if(r=0|i[t+4>>2],e){e=0,d=s,n=-1,t=0;t:for(;;){for(h=t;l=+a[r+(h<<4)>>3],s=+a[r+(h<<4)+8>>3],A=+a[r+((t=(n+2|0)%(0|f)|0)<<4)>>3],c=+a[r+(t<<4)+8>>3],l>A?(u=l,l=c):(u=A,A=l,l=s,s=c),(o=o==A|o==u?o+2220446049250313e-31:o)u;){if((0|(n=h+1|0))>=(0|f)){n=22;break t}t=h,h=n,n=t}if(((u=(c=l<0?l+6.283185307179586:l)+(o-A)/(u-A)*((l=s<0?s+6.283185307179586:s)-c))<0?u+6.283185307179586:u)>(d=c==d|l==d?d+-2220446049250313e-31:d)&&(e^=1),(0|(t=h+1|0))>=(0|f)){n=22;break}n=h}if(22==(0|n))return 0|e}else{e=0,d=s,n=-1,t=0;t:for(;;){for(h=t;l=+a[r+(h<<4)>>3],s=+a[r+(h<<4)+8>>3],A=+a[r+((t=(n+2|0)%(0|f)|0)<<4)>>3],c=+a[r+(t<<4)+8>>3],l>A?(u=l,l=c):(u=A,A=l,l=s,s=c),(o=o==A|o==u?o+2220446049250313e-31:o)u;){if((0|(n=h+1|0))>=(0|f)){n=22;break t}t=h,h=n,n=t}if(l+(o-A)/(u-A)*(s-l)>(d=l==d|s==d?d+-2220446049250313e-31:d)&&(e^=1),(0|(t=h+1|0))>=(0|f)){n=22;break}n=h}if(22==(0|n))return 0|e}return 0}function de(t,e){e|=0;var n,r,o,s,A,c=0,u=0,h=0,d=0,f=0,p=0,m=0,g=0,v=0,_=0,y=0,x=0;if(!(r=0|i[(t|=0)>>2]))return i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,i[e+12>>2]=0,i[e+16>>2]=0,i[e+20>>2]=0,i[e+24>>2]=0,void(i[e+28>>2]=0);if(a[(o=e+8|0)>>3]=17976931348623157e292,a[(s=e+24|0)>>3]=17976931348623157e292,a[e>>3]=-17976931348623157e292,a[(A=e+16|0)>>3]=-17976931348623157e292,!((0|r)<=0)){for(n=0|i[t+4>>2],g=17976931348623157e292,v=-17976931348623157e292,_=0,t=-1,d=17976931348623157e292,f=17976931348623157e292,m=-17976931348623157e292,u=-17976931348623157e292,y=0;c=+a[n+(y<<4)>>3],p=+a[n+(y<<4)+8>>3],h=+a[n+(((0|(t=t+2|0))==(0|r)?0:t)<<4)+8>>3],c>3]=c,d=c),p>3]=p,f=p),c>m?a[e>>3]=c:c=m,p>u&&(a[A>>3]=p,u=p),g=p>0&pv?p:v,_|=+l(+(p-h))>3.141592653589793,(0|(t=y+1|0))!=(0|r);)x=y,m=c,y=t,t=x;_&&(a[A>>3]=v,a[s>>3]=g)}}function fe(t,e){e|=0;var n,r=0,o=0,s=0,A=0,c=0,u=0,h=0,d=0,f=0,p=0,m=0,g=0,v=0,_=0,y=0,x=0,b=0,M=0,w=0,E=0,S=0;if(v=0|i[(t|=0)>>2]){if(a[(_=e+8|0)>>3]=17976931348623157e292,a[(y=e+24|0)>>3]=17976931348623157e292,a[e>>3]=-17976931348623157e292,a[(x=e+16|0)>>3]=-17976931348623157e292,(0|v)>0){for(s=0|i[t+4>>2],m=17976931348623157e292,g=-17976931348623157e292,o=0,r=-1,h=17976931348623157e292,d=17976931348623157e292,p=-17976931348623157e292,c=-17976931348623157e292,b=0;A=+a[s+(b<<4)>>3],f=+a[s+(b<<4)+8>>3],u=+a[s+(((0|(E=r+2|0))==(0|v)?0:E)<<4)+8>>3],A>3]=A,h=A),f>3]=f,d=f),A>p?a[e>>3]=A:A=p,f>c&&(a[x>>3]=f,c=f),m=f>0&fg?f:g,o|=+l(+(f-u))>3.141592653589793,(0|(r=b+1|0))!=(0|v);)E=b,p=A,b=r,r=E;o&&(a[x>>3]=g,a[y>>3]=m)}}else i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,i[e+12>>2]=0,i[e+16>>2]=0,i[e+20>>2]=0,i[e+24>>2]=0,i[e+28>>2]=0;if(!((0|(r=0|i[(E=t+8|0)>>2]))<=0)){n=t+12|0,w=0;do{if(s=0|i[n>>2],o=w,y=e+((w=w+1|0)<<5)|0,x=0|i[s+(o<<3)>>2]){if(a[(b=e+(w<<5)+8|0)>>3]=17976931348623157e292,a[(t=e+(w<<5)+24|0)>>3]=17976931348623157e292,a[y>>3]=-17976931348623157e292,a[(M=e+(w<<5)+16|0)>>3]=-17976931348623157e292,(0|x)>0){for(v=0|i[s+(o<<3)+4>>2],m=17976931348623157e292,g=-17976931348623157e292,s=0,o=-1,_=0,h=17976931348623157e292,d=17976931348623157e292,f=-17976931348623157e292,c=-17976931348623157e292;A=+a[v+(_<<4)>>3],p=+a[v+(_<<4)+8>>3],u=+a[v+(((0|(o=o+2|0))==(0|x)?0:o)<<4)+8>>3],A>3]=A,h=A),p>3]=p,d=p),A>f?a[y>>3]=A:A=f,p>c&&(a[M>>3]=p,c=p),m=p>0&pg?p:g,s|=+l(+(p-u))>3.141592653589793,(0|(o=_+1|0))!=(0|x);)S=_,_=o,f=A,o=S;s&&(a[M>>3]=g,a[t>>3]=m)}}else i[y>>2]=0,i[y+4>>2]=0,i[y+8>>2]=0,i[y+12>>2]=0,i[y+16>>2]=0,i[y+20>>2]=0,i[y+24>>2]=0,i[y+28>>2]=0,r=0|i[E>>2]}while((0|w)<(0|r))}}function pe(t,e,n){var r=0,a=0,o=0;if(!(0|he(t|=0,e|=0,n|=0)))return 0|(a=0);if((0|i[(a=t+8|0)>>2])<=0)return 0|(a=1);for(r=t+12|0,t=0;;){if(o=t,t=t+1|0,0|he((0|i[r>>2])+(o<<3)|0,e+(t<<5)|0,n)){t=0,r=6;break}if((0|t)>=(0|i[a>>2])){t=1,r=6;break}}return 6==(0|r)?0|t:0}function me(t,e,n,r,i){e|=0,n|=0,r|=0,i|=0;var o,s,A,l,c,u,h,d=0;l=+a[(t|=0)>>3],A=+a[e>>3]-l,s=+a[t+8>>3],o=+a[e+8>>3]-s,u=+a[n>>3],d=((d=+a[r>>3]-u)*(s-(h=+a[n+8>>3]))-(l-u)*(c=+a[r+8>>3]-h))/(A*c-o*d),a[i>>3]=l+A*d,a[i+8>>3]=s+o*d}function ge(t,e){return e|=0,+l(+(+a[(t|=0)>>3]-+a[e>>3]))<1.1920928955078125e-7?0|(e=+l(+(+a[t+8>>3]-+a[e+8>>3]))<1.1920928955078125e-7):0|(e=0)}function ve(t,e){e|=0;var n,r,i;return+((i=+a[(t|=0)>>3]-+a[e>>3])*i+(r=+a[t+8>>3]-+a[e+8>>3])*r+(n=+a[t+16>>3]-+a[e+16>>3])*n)}function _e(t,e,n){n|=0;var r,a,o,s,A=0,l=0,c=0;if(s=D,D=D+32|0,c=s,0|(A=0|Wt(t|=0,e|=0,a=s+16|0)))return D=s,0|(n=A);r=0|Ot(t,e),o=0|Bt(t,e),function(t,e){t=7696+(28*(t|=0)|0)|0,i[(e|=0)>>2]=i[t>>2],i[e+4>>2]=i[t+4>>2],i[e+8>>2]=i[t+8>>2],i[e+12>>2]=i[t+12>>2]}(r,c),A=0|function(t,e){t|=0;var n=0,r=0;if((e|=0)>>>0>20)return-1;do{if((0|i[11120+(216*e|0)>>2])!=(0|t))if((0|i[11120+(216*e|0)+8>>2])!=(0|t))if((0|i[11120+(216*e|0)+16>>2])!=(0|t))if((0|i[11120+(216*e|0)+24>>2])!=(0|t))if((0|i[11120+(216*e|0)+32>>2])!=(0|t))if((0|i[11120+(216*e|0)+40>>2])!=(0|t))if((0|i[11120+(216*e|0)+48>>2])!=(0|t))if((0|i[11120+(216*e|0)+56>>2])!=(0|t))if((0|i[11120+(216*e|0)+64>>2])!=(0|t))if((0|i[11120+(216*e|0)+72>>2])!=(0|t))if((0|i[11120+(216*e|0)+80>>2])!=(0|t))if((0|i[11120+(216*e|0)+88>>2])!=(0|t))if((0|i[11120+(216*e|0)+96>>2])!=(0|t))if((0|i[11120+(216*e|0)+104>>2])!=(0|t))if((0|i[11120+(216*e|0)+112>>2])!=(0|t))if((0|i[11120+(216*e|0)+120>>2])!=(0|t))if((0|i[11120+(216*e|0)+128>>2])!=(0|t)){if((0|i[11120+(216*e|0)+136>>2])!=(0|t)){if((0|i[11120+(216*e|0)+144>>2])==(0|t)){t=0,n=2,r=0;break}if((0|i[11120+(216*e|0)+152>>2])==(0|t)){t=0,n=2,r=1;break}if((0|i[11120+(216*e|0)+160>>2])==(0|t)){t=0,n=2,r=2;break}if((0|i[11120+(216*e|0)+168>>2])==(0|t)){t=1,n=2,r=0;break}if((0|i[11120+(216*e|0)+176>>2])==(0|t)){t=1,n=2,r=1;break}if((0|i[11120+(216*e|0)+184>>2])==(0|t)){t=1,n=2,r=2;break}if((0|i[11120+(216*e|0)+192>>2])==(0|t)){t=2,n=2,r=0;break}if((0|i[11120+(216*e|0)+200>>2])==(0|t)){t=2,n=2,r=1;break}if((0|i[11120+(216*e|0)+208>>2])==(0|t)){t=2,n=2,r=2;break}return-1}t=2,n=1,r=2}else t=2,n=1,r=1;else t=2,n=1,r=0;else t=1,n=1,r=2;else t=1,n=1,r=1;else t=1,n=1,r=0;else t=0,n=1,r=2;else t=0,n=1,r=1;else t=0,n=1,r=0;else t=2,n=0,r=2;else t=2,n=0,r=1;else t=2,n=0,r=0;else t=1,n=0,r=2;else t=1,n=0,r=1;else t=1,n=0,r=0;else t=0,n=0,r=2;else t=0,n=0,r=1;else t=0,n=0,r=0}while(0);return 0|i[11120+(216*e|0)+(72*n|0)+(24*t|0)+(r<<3)+4>>2]}(r,0|i[a>>2]);t:do{if(0|F(r)){switch(0|r){case 4:t=0;break;case 14:t=1;break;case 24:t=2;break;case 38:t=3;break;case 49:t=4;break;case 58:t=5;break;case 63:t=6;break;case 72:t=7;break;case 83:t=8;break;case 97:t=9;break;case 107:t=10;break;case 117:t=11;break;default:A=1;break t}if(l=0|i[22e3+(24*t|0)+8>>2],e=0|i[22e3+(24*t|0)+16>>2],(0|(t=0|i[a>>2]))!=(0|i[c>>2])&&(c=0|z(r))|(0|(t=0|i[a>>2]))==(0|e)&&(A=(A+1|0)%6|0),3==(0|o)&(0|t)==(0|e)){A=(A+5|0)%6|0,l=22;break}5==(0|o)&(0|t)==(0|l)?(A=(A+1|0)%6|0,l=22):l=22}else l=22}while(0);return 22==(0|l)&&(i[n>>2]=A,A=0),D=s,0|(n=A)}function ye(t,e,n,r){n|=0,r|=0;var a,o,s,A,l,c=0,u=0,h=0,d=0,f=0,p=0,m=0,g=0,v=0,_=0,y=0;if(l=D,D=D+32|0,y=l+24|0,A=l+20|0,s=l+8|0,o=l+16|0,a=l,f=(f=0==(0|Nt(t|=0,e|=0)))?6:5,m=0|ze(0|t,0|e,52),E(),f>>>0<=n>>>0)return D=l,0|(r=2);!(g=0==(0|(m&=15)))&&0==((v=0|Ge(7,0,3*(15^m)|0))&t|0)&0==((0|E())&e|0)?c=n:u=4;t:do{if(4==(0|u)){if((0|((c=0!=(0|Nt(t,e)))?4:5))<(0|n))return D=l,0|(r=1);if(0|_e(t,e,y))return D=l,0|(r=1);if(u=(0|i[y>>2])+n|0,7==(0|(v=0|i[(c=c?22288+(((0|u)%5|0)<<2)|0:22320+(((0|u)%6|0)<<2)|0)>>2])))return D=l,0|(r=1);i[A>>2]=0,c=0|N(t,e,v,A,s);do{if(!c){if(p=0|i[(d=s)>>2],u=(h=(d=0|i[d+4>>2])>>>0>>0|(0|d)==(0|e)&p>>>0>>0)?p:t,h=h?d:e,!g&&0==(p&(g=0|Ge(7,0,3*(15^m)|0))|0)&0==(d&(0|E())|0))c=n;else{if(d=(n+-1+f|0)%(0|f)|0,c=0|Nt(t,e),(0|d)<0&&S(23313,23315,245,23324),(0|((f=0!=(0|c))?4:5))<(0|d)&&S(23313,23315,245,23324),0|_e(t,e,y)&&S(23313,23315,245,23324),c=(0|i[y>>2])+d|0,7==(0|(d=0|i[(c=f?22288+(((0|c)%5|0)<<2)|0:22320+(((0|c)%6|0)<<2)|0)>>2]))&&S(23313,23315,245,23324),i[o>>2]=0,0|(c=0|N(t,e,d,o,a)))break;f=0|i[(p=a)>>2],p=0|i[p+4>>2];do{if(p>>>0>>0|(0|p)==(0|h)&f>>>0>>0){if(u=0|Nt(f,p)?0|B(f,p,t,e):0|i[22384+((((0|i[o>>2])+(0|i[22352+(d<<2)>>2])|0)%6|0)<<2)>>2],c=0|Nt(f,p),(u+-1|0)>>>0>5){c=-1,u=f,h=p;break}if(1==(0|u)&(c=0!=(0|c))){c=-1,u=f,h=p;break}do{if(!(0|_e(f,p,y))){if(c){c=(5+(0|i[21936+(u<<2)>>2])-(0|i[y>>2])|0)%5|0;break}c=(6+(0|i[21968+(u<<2)>>2])-(0|i[y>>2])|0)%6|0;break}c=-1}while(0);u=f,h=p}else c=n}while(0);p=0|i[(d=s)>>2],d=0|i[d+4>>2]}if((0|u)==(0|p)&(0|h)==(0|d)){if(t=(f=0!=(0|Nt(p,d)))?0|B(p,d,t,e):0|i[22384+((((0|i[A>>2])+(0|i[22352+(v<<2)>>2])|0)%6|0)<<2)>>2],c=0|Nt(p,d),(t+-1|0)>>>0<=5&&!(1==(0|t)&(_=0!=(0|c))))do{if(!(0|_e(p,d,y))){if(_){c=(5+(0|i[21936+(t<<2)>>2])-(0|i[y>>2])|0)%5|0;break}c=(6+(0|i[21968+(t<<2)>>2])-(0|i[y>>2])|0)%6|0;break}c=-1}while(0);else c=-1;c=6==(0|(c=c+1|0))|f&5==(0|c)?0:c}e=h,t=u;break t}}while(0);return D=l,0|(r=c)}}while(0);return _=0|Ge(0|c,0,56),y=0|E()|-2130706433&e|536870912,i[r>>2]=_|t,i[r+4>>2]=y,D=l,0|(r=0)}function xe(t,e,n){t|=0,n|=0;var r=0;(0|(e|=0))>0?(r=0|Le(e,4),i[t>>2]=r,r||S(23337,23360,40,23374)):i[t>>2]=0,i[t+4>>2]=e,i[t+8>>2]=0,i[t+12>>2]=n}function be(t){var e,n,r,o=0,s=0,A=0,c=0;e=(t|=0)+4|0,n=t+12|0,r=t+8|0;t:for(;;){for(s=0|i[e>>2],o=0;;){if((0|o)>=(0|s))break t;if(A=0|i[t>>2],c=0|i[A+(o<<2)>>2])break;o=o+1|0}o=A+(~~(+l(+ +u(10,+ +(15-(0|i[n>>2])|0))*(+a[c>>3]+ +a[c+8>>3]))%+(0|s))>>>0<<2)|0,s=0|i[o>>2];e:do{if(0|s){if(A=c+32|0,(0|s)==(0|c))i[o>>2]=i[A>>2];else{if(!(o=0|i[(s=s+32|0)>>2]))break;for(;(0|o)!=(0|c);)if(!(o=0|i[(s=o+32|0)>>2]))break e;i[s>>2]=i[A>>2]}Pe(c),i[r>>2]=(0|i[r>>2])-1}}while(0)}Pe(0|i[t>>2])}function Me(t){var e,n=0,r=0;for(e=0|i[(t|=0)+4>>2],r=0;;){if((0|r)>=(0|e)){n=0,r=4;break}if(n=0|i[(0|i[t>>2])+(r<<2)>>2]){r=4;break}r=r+1|0}return 4==(0|r)?0|n:0}function we(t,e){e|=0;var n=0,r=0,o=0,s=0;if(n=~~(+l(+ +u(10,+ +(15-(0|i[(t|=0)+12>>2])|0))*(+a[e>>3]+ +a[e+8>>3]))%+(0|i[t+4>>2]))>>>0,n=(0|i[t>>2])+(n<<2)|0,!(r=0|i[n>>2]))return 0|(s=1);s=e+32|0;do{if((0|r)!=(0|e)){if(!(n=0|i[r+32>>2]))return 0|(s=1);for(o=n;;){if((0|o)==(0|e)){o=8;break}if(!(n=0|i[o+32>>2])){n=1,o=10;break}r=o,o=n}if(8==(0|o)){i[r+32>>2]=i[s>>2];break}if(10==(0|o))return 0|n}else i[n>>2]=i[s>>2]}while(0);return Pe(e),i[(s=t+8|0)>>2]=(0|i[s>>2])-1,0|(s=0)}function Ee(t,e,n){t|=0,e|=0,n|=0;var r,o=0,s=0,A=0;(r=0|Re(40))||S(23390,23360,98,23403),i[r>>2]=i[e>>2],i[r+4>>2]=i[e+4>>2],i[r+8>>2]=i[e+8>>2],i[r+12>>2]=i[e+12>>2],i[(s=r+16|0)>>2]=i[n>>2],i[s+4>>2]=i[n+4>>2],i[s+8>>2]=i[n+8>>2],i[s+12>>2]=i[n+12>>2],i[r+32>>2]=0,s=~~(+l(+ +u(10,+ +(15-(0|i[t+12>>2])|0))*(+a[e>>3]+ +a[e+8>>3]))%+(0|i[t+4>>2]))>>>0,s=(0|i[t>>2])+(s<<2)|0,o=0|i[s>>2];do{if(o){for(;!(0|$t(o,e)&&0|$t(o+16|0,n));)if(s=0|i[o+32>>2],!(0|i[(o=0==(0|s)?o:s)+32>>2])){A=10;break}if(10==(0|A)){i[o+32>>2]=r;break}return Pe(r),0|(A=o)}i[s>>2]=r}while(0);return i[(A=t+8|0)>>2]=1+(0|i[A>>2]),0|(A=r)}function Se(t,e,n){e|=0,n|=0;var r=0,o=0;if(o=~~(+l(+ +u(10,+ +(15-(0|i[(t|=0)+12>>2])|0))*(+a[e>>3]+ +a[e+8>>3]))%+(0|i[t+4>>2]))>>>0,!(o=0|i[(0|i[t>>2])+(o<<2)>>2]))return 0|(n=0);if(!n){for(t=o;;){if(0|$t(t,e)){r=10;break}if(!(t=0|i[t+32>>2])){t=0,r=10;break}}if(10==(0|r))return 0|t}for(t=o;;){if(0|$t(t,e)&&0|$t(t+16|0,n)){r=10;break}if(!(t=0|i[t+32>>2])){t=0,r=10;break}}return 10==(0|r)?0|t:0}function Te(t,e){e|=0;var n=0;if(n=~~(+l(+ +u(10,+ +(15-(0|i[(t|=0)+12>>2])|0))*(+a[e>>3]+ +a[e+8>>3]))%+(0|i[t+4>>2]))>>>0,!(t=0|i[(0|i[t>>2])+(n<<2)>>2]))return 0|(n=0);for(;;){if(0|$t(t,e)){e=5;break}if(!(t=0|i[t+32>>2])){t=0,e=5;break}}return 5==(0|e)?0|t:0}function Ce(t){return 0|~~+function(t){return+ +Qe(+(t=+t))}(t=+t)}function Re(t){t|=0;var e,n=0,r=0,a=0,o=0,s=0,A=0,l=0,c=0,u=0,h=0,d=0,f=0,p=0,m=0,g=0,v=0,_=0,y=0,x=0,b=0;e=D,D=D+16|0,f=e;do{if(t>>>0<245){if(t=(u=t>>>0<11?16:t+11&-8)>>>3,3&(r=(d=0|i[5857])>>>t)|0)return a=0|i[(r=(t=23468+((n=(1&r^1)+t|0)<<1<<2)|0)+8|0)>>2],(0|(s=0|i[(o=a+8|0)>>2]))==(0|t)?i[5857]=d&~(1<>2]=t,i[r>>2]=s),b=n<<3,i[a+4>>2]=3|b,i[(b=a+b+4|0)>>2]=1|i[b>>2],D=e,0|(b=o);if(u>>>0>(h=0|i[5859])>>>0){if(0|r)return n=((n=r<>>=l=n>>>12&16)>>>5&8)|l|(s=(n>>>=r)>>>2&4)|(t=(n>>>=s)>>>1&2)|(a=(n>>>=t)>>>1&1))+(n>>>a)|0)<<1<<2)|0)+8|0)>>2],(0|(r=0|i[(l=s+8|0)>>2]))==(0|n)?(t=d&~(1<>2]=n,i[t>>2]=r,t=d),A=(b=a<<3)-u|0,i[s+4>>2]=3|u,i[(o=s+u|0)+4>>2]=1|A,i[s+b>>2]=A,0|h&&(a=0|i[5862],r=23468+((n=h>>>3)<<1<<2)|0,t&(n=1<>2]:(i[5857]=t|n,n=r,t=r+8|0),i[t>>2]=a,i[n+12>>2]=a,i[a+8>>2]=n,i[a+12>>2]=r),i[5859]=A,i[5862]=o,D=e,0|(b=l);if(s=0|i[5858]){for(r=(s&0-s)-1|0,r=c=0|i[23732+(((a=(r>>>=o=r>>>12&16)>>>5&8)|o|(A=(r>>>=a)>>>2&4)|(l=(r>>>=A)>>>1&2)|(c=(r>>>=l)>>>1&1))+(r>>>c)<<2)>>2],l=c,c=(-8&i[c+4>>2])-u|0;(t=0|i[r+16>>2])||(t=0|i[r+20>>2]);)r=t,l=(o=(A=(-8&i[t+4>>2])-u|0)>>>0>>0)?t:l,c=o?A:c;if((A=l+u|0)>>>0>l>>>0){o=0|i[l+24>>2],n=0|i[l+12>>2];do{if((0|n)==(0|l)){if(!(n=0|i[(t=l+20|0)>>2])&&!(n=0|i[(t=l+16|0)>>2])){r=0;break}for(;;)if(r=0|i[(a=n+20|0)>>2])n=r,t=a;else{if(!(r=0|i[(a=n+16|0)>>2]))break;n=r,t=a}i[t>>2]=0,r=n}else r=0|i[l+8>>2],i[r+12>>2]=n,i[n+8>>2]=r,r=n}while(0);do{if(0|o){if(n=0|i[l+28>>2],(0|l)==(0|i[(t=23732+(n<<2)|0)>>2])){if(i[t>>2]=r,!r){i[5858]=s&~(1<>2])==(0|l)?b:o+20|0)>>2]=r,!r)break;i[r+24>>2]=o,0|(n=0|i[l+16>>2])&&(i[r+16>>2]=n,i[n+24>>2]=r),0|(n=0|i[l+20>>2])&&(i[r+20>>2]=n,i[n+24>>2]=r)}}while(0);return c>>>0<16?(b=c+u|0,i[l+4>>2]=3|b,i[(b=l+b+4|0)>>2]=1|i[b>>2]):(i[l+4>>2]=3|u,i[A+4>>2]=1|c,i[A+c>>2]=c,0|h&&(a=0|i[5862],r=23468+((n=h>>>3)<<1<<2)|0,(n=1<>2]:(i[5857]=n|d,n=r,t=r+8|0),i[t>>2]=a,i[n+12>>2]=a,i[a+8>>2]=n,i[a+12>>2]=r),i[5859]=c,i[5862]=A),D=e,0|(b=l+8|0)}d=u}else d=u}else d=u}else if(t>>>0<=4294967231)if(u=-8&(t=t+11|0),a=0|i[5858]){o=0-u|0,c=(t>>>=8)?u>>>0>16777215?31:u>>>((c=14-((l=((g=t<<(d=(t+1048320|0)>>>16&8))+520192|0)>>>16&4)|d|(c=((g<<=l)+245760|0)>>>16&2))+(g<>>15)|0)+7|0)&1|c<<1:0,r=0|i[23732+(c<<2)>>2];t:do{if(r)for(t=0,l=u<<(31==(0|c)?0:25-(c>>>1)|0),s=0;;){if((A=(-8&i[r+4>>2])-u|0)>>>0>>0){if(!A){t=r,o=0,g=65;break t}t=r,o=A}if(s=0==(0|(g=0|i[r+20>>2]))|(0|g)==(0|(r=0|i[r+16+(l>>>31<<2)>>2]))?s:g,!r){r=s,g=61;break}l<<=1}else r=0,t=0,g=61}while(0);if(61==(0|g)){if(0==(0|r)&0==(0|t)){if(!(t=((t=2<>>=A=d>>>12&16)>>>5&8)|A|(l=(d>>>=s)>>>2&4)|(c=(d>>>=l)>>>1&2)|(r=(d>>>=c)>>>1&1))+(d>>>r)<<2)>>2]}r?g=65:(l=t,A=o)}if(65==(0|g))for(s=r;;){if(o=(r=(d=(-8&i[s+4>>2])-u|0)>>>0>>0)?d:o,t=r?s:t,(r=0|i[s+16>>2])||(r=0|i[s+20>>2]),!r){l=t,A=o;break}s=r}if(0!=(0|l)&&A>>>0<((0|i[5859])-u|0)>>>0&&(h=l+u|0)>>>0>l>>>0){s=0|i[l+24>>2],n=0|i[l+12>>2];do{if((0|n)==(0|l)){if(!(n=0|i[(t=l+20|0)>>2])&&!(n=0|i[(t=l+16|0)>>2])){n=0;break}for(;;)if(r=0|i[(o=n+20|0)>>2])n=r,t=o;else{if(!(r=0|i[(o=n+16|0)>>2]))break;n=r,t=o}i[t>>2]=0}else b=0|i[l+8>>2],i[b+12>>2]=n,i[n+8>>2]=b}while(0);do{if(s){if(t=0|i[l+28>>2],(0|l)==(0|i[(r=23732+(t<<2)|0)>>2])){if(i[r>>2]=n,!n){a&=~(1<>2])==(0|l)?b:s+20|0)>>2]=n,!n)break;i[n+24>>2]=s,0|(t=0|i[l+16>>2])&&(i[n+16>>2]=t,i[t+24>>2]=n),(t=0|i[l+20>>2])&&(i[n+20>>2]=t,i[t+24>>2]=n)}}while(0);t:do{if(A>>>0<16)b=A+u|0,i[l+4>>2]=3|b,i[(b=l+b+4|0)>>2]=1|i[b>>2];else{if(i[l+4>>2]=3|u,i[h+4>>2]=1|A,i[h+A>>2]=A,n=A>>>3,A>>>0<256){r=23468+(n<<1<<2)|0,(t=0|i[5857])&(n=1<>2]:(i[5857]=t|n,n=r,t=r+8|0),i[t>>2]=h,i[n+12>>2]=h,i[h+8>>2]=n,i[h+12>>2]=r;break}if(n=23732+((r=(n=A>>>8)?A>>>0>16777215?31:A>>>((r=14-((y=((b=n<<(x=(n+1048320|0)>>>16&8))+520192|0)>>>16&4)|x|(r=((b<<=y)+245760|0)>>>16&2))+(b<>>15)|0)+7|0)&1|r<<1:0)<<2)|0,i[h+28>>2]=r,i[(t=h+16|0)+4>>2]=0,i[t>>2]=0,!(a&(t=1<>2]=h,i[h+24>>2]=n,i[h+12>>2]=h,i[h+8>>2]=h;break}n=0|i[n>>2];e:do{if((-8&i[n+4>>2]|0)!=(0|A)){for(a=A<<(31==(0|r)?0:25-(r>>>1)|0);t=0|i[(r=n+16+(a>>>31<<2)|0)>>2];){if((-8&i[t+4>>2]|0)==(0|A)){n=t;break e}a<<=1,n=t}i[r>>2]=h,i[h+24>>2]=n,i[h+12>>2]=h,i[h+8>>2]=h;break t}}while(0);b=0|i[(x=n+8|0)>>2],i[b+12>>2]=h,i[x>>2]=h,i[h+8>>2]=b,i[h+12>>2]=n,i[h+24>>2]=0}}while(0);return D=e,0|(b=l+8|0)}d=u}else d=u;else d=-1}while(0);if((r=0|i[5859])>>>0>=d>>>0)return n=r-d|0,t=0|i[5862],n>>>0>15?(b=t+d|0,i[5862]=b,i[5859]=n,i[b+4>>2]=1|n,i[t+r>>2]=n,i[t+4>>2]=3|d):(i[5859]=0,i[5862]=0,i[t+4>>2]=3|r,i[(b=t+r+4|0)>>2]=1|i[b>>2]),D=e,0|(b=t+8|0);if((A=0|i[5860])>>>0>d>>>0)return y=A-d|0,i[5860]=y,x=(b=0|i[5863])+d|0,i[5863]=x,i[x+4>>2]=1|y,i[b+4>>2]=3|d,D=e,0|(b=b+8|0);if(0|i[5975]?t=0|i[5977]:(i[5977]=4096,i[5976]=4096,i[5978]=-1,i[5979]=-1,i[5980]=0,i[5968]=0,i[5975]=-16&f^1431655768,t=4096),l=d+48|0,(u=(s=t+(c=d+47|0)|0)&(o=0-t|0))>>>0<=d>>>0)return D=e,0|(b=0);if(0|(t=0|i[5967])&&(f=(h=0|i[5965])+u|0)>>>0<=h>>>0|f>>>0>t>>>0)return D=e,0|(b=0);t:do{if(4&i[5968])n=0,g=143;else{r=0|i[5863];e:do{if(r){for(a=23876;!((f=0|i[a>>2])>>>0<=r>>>0&&(f+(0|i[a+4>>2])|0)>>>0>r>>>0);){if(!(t=0|i[a+8>>2])){g=128;break e}a=t}if((n=s-A&o)>>>0<2147483647)if((0|(t=0|Ye(0|n)))==((0|i[a>>2])+(0|i[a+4>>2])|0)){if(-1!=(0|t)){A=n,s=t,g=145;break t}}else a=t,g=136;else n=0}else g=128}while(0);do{if(128==(0|g))if(-1!=(0|(r=0|Ye(0)))&&(n=r,m=(n=(0==((m=(p=0|i[5976])+-1|0)&n|0)?0:(m+n&0-p)-n|0)+u|0)+(p=0|i[5965])|0,n>>>0>d>>>0&n>>>0<2147483647)){if(0|(f=0|i[5967])&&m>>>0<=p>>>0|m>>>0>f>>>0){n=0;break}if((0|(t=0|Ye(0|n)))==(0|r)){A=n,s=r,g=145;break t}a=t,g=136}else n=0}while(0);do{if(136==(0|g)){if(r=0-n|0,!(l>>>0>n>>>0&n>>>0<2147483647&-1!=(0|a))){if(-1==(0|a)){n=0;break}A=n,s=a,g=145;break t}if((t=c-n+(t=0|i[5977])&0-t)>>>0>=2147483647){A=n,s=a,g=145;break t}if(-1==(0|Ye(0|t))){Ye(0|r),n=0;break}A=t+n|0,s=a,g=145;break t}}while(0);i[5968]=4|i[5968],g=143}}while(0);if(143==(0|g)&&u>>>0<2147483647&&!(-1==(0|(y=0|Ye(0|u)))|1^(_=(v=(m=0|Ye(0))-y|0)>>>0>(d+40|0)>>>0)|y>>>0>>0&-1!=(0|y)&-1!=(0|m)^1)&&(A=_?v:n,s=y,g=145),145==(0|g)){n=(0|i[5965])+A|0,i[5965]=n,n>>>0>(0|i[5966])>>>0&&(i[5966]=n),c=0|i[5863];t:do{if(c){for(n=23876;;){if((0|s)==((t=0|i[n>>2])+(r=0|i[n+4>>2])|0)){g=154;break}if(!(a=0|i[n+8>>2]))break;n=a}if(154==(0|g)&&(x=n+4|0,0==(8&i[n+12>>2]|0))&&s>>>0>c>>>0&t>>>0<=c>>>0){i[x>>2]=r+A,x=c+(y=0==(7&(y=c+8|0)|0)?0:0-y&7)|0,y=(b=(0|i[5860])+A|0)-y|0,i[5863]=x,i[5860]=y,i[x+4>>2]=1|y,i[c+b+4>>2]=40,i[5864]=i[5979];break}for(s>>>0<(0|i[5861])>>>0&&(i[5861]=s),r=s+A|0,n=23876;;){if((0|i[n>>2])==(0|r)){g=162;break}if(!(t=0|i[n+8>>2]))break;n=t}if(162==(0|g)&&0==(8&i[n+12>>2]|0)){i[n>>2]=s,i[(h=n+4|0)>>2]=(0|i[h>>2])+A,u=(h=s+(0==(7&(h=s+8|0)|0)?0:0-h&7)|0)+d|0,l=(n=r+(0==(7&(n=r+8|0)|0)?0:0-n&7)|0)-h-d|0,i[h+4>>2]=3|d;e:do{if((0|c)==(0|n))b=(0|i[5860])+l|0,i[5860]=b,i[5863]=u,i[u+4>>2]=1|b;else{if((0|i[5862])==(0|n)){b=(0|i[5859])+l|0,i[5859]=b,i[5862]=u,i[u+4>>2]=1|b,i[u+b>>2]=b;break}if(1==(3&(t=0|i[n+4>>2])|0)){A=-8&t,a=t>>>3;n:do{if(t>>>0<256){if(t=0|i[n+8>>2],(0|(r=0|i[n+12>>2]))==(0|t)){i[5857]=i[5857]&~(1<>2]=r,i[r+8>>2]=t;break}s=0|i[n+24>>2],t=0|i[n+12>>2];do{if((0|t)==(0|n)){if(t=0|i[(a=(r=n+16|0)+4|0)>>2])r=a;else if(!(t=0|i[r>>2])){t=0;break}for(;;)if(a=0|i[(o=t+20|0)>>2])t=a,r=o;else{if(!(a=0|i[(o=t+16|0)>>2]))break;t=a,r=o}i[r>>2]=0}else b=0|i[n+8>>2],i[b+12>>2]=t,i[t+8>>2]=b}while(0);if(!s)break;a=23732+((r=0|i[n+28>>2])<<2)|0;do{if((0|i[a>>2])==(0|n)){if(i[a>>2]=t,0|t)break;i[5858]=i[5858]&~(1<>2])==(0|n)?b:s+20|0)>>2]=t,!t)break n}while(0);if(i[t+24>>2]=s,0|(a=0|i[(r=n+16|0)>>2])&&(i[t+16>>2]=a,i[a+24>>2]=t),!(r=0|i[r+4>>2]))break;i[t+20>>2]=r,i[r+24>>2]=t}while(0);n=n+A|0,o=A+l|0}else o=l;if(i[(n=n+4|0)>>2]=-2&i[n>>2],i[u+4>>2]=1|o,i[u+o>>2]=o,n=o>>>3,o>>>0<256){r=23468+(n<<1<<2)|0,(t=0|i[5857])&(n=1<>2]:(i[5857]=t|n,n=r,t=r+8|0),i[t>>2]=u,i[n+12>>2]=u,i[u+8>>2]=n,i[u+12>>2]=r;break}n=o>>>8;do{if(n){if(o>>>0>16777215){a=31;break}a=o>>>((a=14-((y=((b=n<<(x=(n+1048320|0)>>>16&8))+520192|0)>>>16&4)|x|(a=((b<<=y)+245760|0)>>>16&2))+(b<>>15)|0)+7|0)&1|a<<1}else a=0}while(0);if(n=23732+(a<<2)|0,i[u+28>>2]=a,i[(t=u+16|0)+4>>2]=0,i[t>>2]=0,!((t=0|i[5858])&(r=1<>2]=u,i[u+24>>2]=n,i[u+12>>2]=u,i[u+8>>2]=u;break}n=0|i[n>>2];n:do{if((-8&i[n+4>>2]|0)!=(0|o)){for(a=o<<(31==(0|a)?0:25-(a>>>1)|0);t=0|i[(r=n+16+(a>>>31<<2)|0)>>2];){if((-8&i[t+4>>2]|0)==(0|o)){n=t;break n}a<<=1,n=t}i[r>>2]=u,i[u+24>>2]=n,i[u+12>>2]=u,i[u+8>>2]=u;break e}}while(0);b=0|i[(x=n+8|0)>>2],i[b+12>>2]=u,i[x>>2]=u,i[u+8>>2]=b,i[u+12>>2]=n,i[u+24>>2]=0}}while(0);return D=e,0|(b=h+8|0)}for(n=23876;!((t=0|i[n>>2])>>>0<=c>>>0&&(b=t+(0|i[n+4>>2])|0)>>>0>c>>>0);)n=0|i[n+8>>2];n=(t=(t=(o=b+-47|0)+(0==(7&(t=o+8|0)|0)?0:0-t&7)|0)>>>0<(o=c+16|0)>>>0?c:t)+8|0,x=s+(y=0==(7&(y=s+8|0)|0)?0:0-y&7)|0,y=(r=A+-40|0)-y|0,i[5863]=x,i[5860]=y,i[x+4>>2]=1|y,i[s+r+4>>2]=40,i[5864]=i[5979],i[(r=t+4|0)>>2]=27,i[n>>2]=i[5969],i[n+4>>2]=i[5970],i[n+8>>2]=i[5971],i[n+12>>2]=i[5972],i[5969]=s,i[5970]=A,i[5972]=0,i[5971]=n,n=t+24|0;do{x=n,i[(n=n+4|0)>>2]=7}while((x+8|0)>>>0>>0);if((0|t)!=(0|c)){if(s=t-c|0,i[r>>2]=-2&i[r>>2],i[c+4>>2]=1|s,i[t>>2]=s,n=s>>>3,s>>>0<256){r=23468+(n<<1<<2)|0,(t=0|i[5857])&(n=1<>2]:(i[5857]=t|n,n=r,t=r+8|0),i[t>>2]=c,i[n+12>>2]=c,i[c+8>>2]=n,i[c+12>>2]=r;break}if(r=23732+((a=(n=s>>>8)?s>>>0>16777215?31:s>>>((a=14-((y=((b=n<<(x=(n+1048320|0)>>>16&8))+520192|0)>>>16&4)|x|(a=((b<<=y)+245760|0)>>>16&2))+(b<>>15)|0)+7|0)&1|a<<1:0)<<2)|0,i[c+28>>2]=a,i[c+20>>2]=0,i[o>>2]=0,!((n=0|i[5858])&(t=1<>2]=c,i[c+24>>2]=r,i[c+12>>2]=c,i[c+8>>2]=c;break}n=0|i[r>>2];e:do{if((-8&i[n+4>>2]|0)!=(0|s)){for(a=s<<(31==(0|a)?0:25-(a>>>1)|0);t=0|i[(r=n+16+(a>>>31<<2)|0)>>2];){if((-8&i[t+4>>2]|0)==(0|s)){n=t;break e}a<<=1,n=t}i[r>>2]=c,i[c+24>>2]=n,i[c+12>>2]=c,i[c+8>>2]=c;break t}}while(0);b=0|i[(x=n+8|0)>>2],i[b+12>>2]=c,i[x>>2]=c,i[c+8>>2]=b,i[c+12>>2]=n,i[c+24>>2]=0}}else 0==(0|(b=0|i[5861]))|s>>>0>>0&&(i[5861]=s),i[5969]=s,i[5970]=A,i[5972]=0,i[5866]=i[5975],i[5865]=-1,i[5870]=23468,i[5869]=23468,i[5872]=23476,i[5871]=23476,i[5874]=23484,i[5873]=23484,i[5876]=23492,i[5875]=23492,i[5878]=23500,i[5877]=23500,i[5880]=23508,i[5879]=23508,i[5882]=23516,i[5881]=23516,i[5884]=23524,i[5883]=23524,i[5886]=23532,i[5885]=23532,i[5888]=23540,i[5887]=23540,i[5890]=23548,i[5889]=23548,i[5892]=23556,i[5891]=23556,i[5894]=23564,i[5893]=23564,i[5896]=23572,i[5895]=23572,i[5898]=23580,i[5897]=23580,i[5900]=23588,i[5899]=23588,i[5902]=23596,i[5901]=23596,i[5904]=23604,i[5903]=23604,i[5906]=23612,i[5905]=23612,i[5908]=23620,i[5907]=23620,i[5910]=23628,i[5909]=23628,i[5912]=23636,i[5911]=23636,i[5914]=23644,i[5913]=23644,i[5916]=23652,i[5915]=23652,i[5918]=23660,i[5917]=23660,i[5920]=23668,i[5919]=23668,i[5922]=23676,i[5921]=23676,i[5924]=23684,i[5923]=23684,i[5926]=23692,i[5925]=23692,i[5928]=23700,i[5927]=23700,i[5930]=23708,i[5929]=23708,i[5932]=23716,i[5931]=23716,x=s+(y=0==(7&(y=s+8|0)|0)?0:0-y&7)|0,y=(b=A+-40|0)-y|0,i[5863]=x,i[5860]=y,i[x+4>>2]=1|y,i[s+b+4>>2]=40,i[5864]=i[5979]}while(0);if((n=0|i[5860])>>>0>d>>>0)return y=n-d|0,i[5860]=y,x=(b=0|i[5863])+d|0,i[5863]=x,i[x+4>>2]=1|y,i[b+4>>2]=3|d,D=e,0|(b=b+8|0)}return i[(b=23424)>>2]=12,D=e,0|(b=0)}function Pe(t){var e=0,n=0,r=0,a=0,o=0,s=0,A=0,l=0;if(t|=0){n=t+-8|0,a=0|i[5861],l=n+(e=-8&(t=0|i[t+-4>>2]))|0;do{if(1&t)A=n,s=n;else{if(r=0|i[n>>2],!(3&t))return;if(o=r+e|0,(s=n+(0-r)|0)>>>0>>0)return;if((0|i[5862])==(0|s)){if(3!=(3&(e=0|i[(t=l+4|0)>>2])|0)){A=s,e=o;break}return i[5859]=o,i[t>>2]=-2&e,i[s+4>>2]=1|o,void(i[s+o>>2]=o)}if(n=r>>>3,r>>>0<256){if(t=0|i[s+8>>2],(0|(e=0|i[s+12>>2]))==(0|t)){i[5857]=i[5857]&~(1<>2]=e,i[e+8>>2]=t,A=s,e=o;break}a=0|i[s+24>>2],t=0|i[s+12>>2];do{if((0|t)==(0|s)){if(t=0|i[(n=(e=s+16|0)+4|0)>>2])e=n;else if(!(t=0|i[e>>2])){t=0;break}for(;;)if(n=0|i[(r=t+20|0)>>2])t=n,e=r;else{if(!(n=0|i[(r=t+16|0)>>2]))break;t=n,e=r}i[e>>2]=0}else A=0|i[s+8>>2],i[A+12>>2]=t,i[t+8>>2]=A}while(0);if(a){if(e=0|i[s+28>>2],(0|i[(n=23732+(e<<2)|0)>>2])==(0|s)){if(i[n>>2]=t,!t){i[5858]=i[5858]&~(1<>2])==(0|s)?A:a+20|0)>>2]=t,!t){A=s,e=o;break}i[t+24>>2]=a,0|(n=0|i[(e=s+16|0)>>2])&&(i[t+16>>2]=n,i[n+24>>2]=t),(e=0|i[e+4>>2])?(i[t+20>>2]=e,i[e+24>>2]=t,A=s,e=o):(A=s,e=o)}else A=s,e=o}}while(0);if(!(s>>>0>=l>>>0)&&1&(r=0|i[(t=l+4|0)>>2])){if(2&r)i[t>>2]=-2&r,i[A+4>>2]=1|e,i[s+e>>2]=e,a=e;else{if((0|i[5863])==(0|l)){if(l=(0|i[5860])+e|0,i[5860]=l,i[5863]=A,i[A+4>>2]=1|l,(0|A)!=(0|i[5862]))return;return i[5862]=0,void(i[5859]=0)}if((0|i[5862])==(0|l))return l=(0|i[5859])+e|0,i[5859]=l,i[5862]=s,i[A+4>>2]=1|l,void(i[s+l>>2]=l);a=(-8&r)+e|0,n=r>>>3;do{if(r>>>0<256){if(e=0|i[l+8>>2],(0|(t=0|i[l+12>>2]))==(0|e)){i[5857]=i[5857]&~(1<>2]=t,i[t+8>>2]=e;break}o=0|i[l+24>>2],t=0|i[l+12>>2];do{if((0|t)==(0|l)){if(t=0|i[(n=(e=l+16|0)+4|0)>>2])e=n;else if(!(t=0|i[e>>2])){n=0;break}for(;;)if(n=0|i[(r=t+20|0)>>2])t=n,e=r;else{if(!(n=0|i[(r=t+16|0)>>2]))break;t=n,e=r}i[e>>2]=0,n=t}else n=0|i[l+8>>2],i[n+12>>2]=t,i[t+8>>2]=n,n=t}while(0);if(0|o){if(t=0|i[l+28>>2],(0|i[(e=23732+(t<<2)|0)>>2])==(0|l)){if(i[e>>2]=n,!n){i[5858]=i[5858]&~(1<>2])==(0|l)?r:o+20|0)>>2]=n,!n)break;i[n+24>>2]=o,0|(e=0|i[(t=l+16|0)>>2])&&(i[n+16>>2]=e,i[e+24>>2]=n),0|(t=0|i[t+4>>2])&&(i[n+20>>2]=t,i[t+24>>2]=n)}}while(0);if(i[A+4>>2]=1|a,i[s+a>>2]=a,(0|A)==(0|i[5862]))return void(i[5859]=a)}if(t=a>>>3,a>>>0<256)return n=23468+(t<<1<<2)|0,(e=0|i[5857])&(t=1<>2]:(i[5857]=e|t,t=n,e=n+8|0),i[e>>2]=A,i[t+12>>2]=A,i[A+8>>2]=t,void(i[A+12>>2]=n);t=23732+((r=(t=a>>>8)?a>>>0>16777215?31:a>>>((r=14-((o=((l=t<<(s=(t+1048320|0)>>>16&8))+520192|0)>>>16&4)|s|(r=((l<<=o)+245760|0)>>>16&2))+(l<>>15)|0)+7|0)&1|r<<1:0)<<2)|0,i[A+28>>2]=r,i[A+20>>2]=0,i[A+16>>2]=0,e=0|i[5858],n=1<>2];e:do{if((-8&i[t+4>>2]|0)!=(0|a)){for(r=a<<(31==(0|r)?0:25-(r>>>1)|0);e=0|i[(n=t+16+(r>>>31<<2)|0)>>2];){if((-8&i[e+4>>2]|0)==(0|a)){t=e;break e}r<<=1,t=e}i[n>>2]=A,i[A+24>>2]=t,i[A+12>>2]=A,i[A+8>>2]=A;break t}}while(0);l=0|i[(s=t+8|0)>>2],i[l+12>>2]=A,i[s>>2]=A,i[A+8>>2]=l,i[A+12>>2]=t,i[A+24>>2]=0}else i[5858]=e|n,i[t>>2]=A,i[A+24>>2]=t,i[A+12>>2]=A,i[A+8>>2]=A}while(0);if(l=(0|i[5865])-1|0,i[5865]=l,!(0|l)){for(t=23884;t=0|i[t>>2];)t=t+8|0;i[5865]=-1}}}}function Le(t,e){e|=0;var n=0;return(t|=0)?(n=0|y(e,t),(e|t)>>>0>65535&&(n=(0|(n>>>0)/(t>>>0))==(0|e)?n:-1)):n=0,(t=0|Re(n))&&3&i[t+-4>>2]?(Xe(0|t,0,0|n),0|t):0|t}function De(t,e,n,r){return 0|(w((e|=0)+(r|=0)+((n=(t|=0)+(n|=0)>>>0)>>>0>>0|0)>>>0|0),0|n)}function Oe(t,e,n,r){return 0|(w(0|(r=(e|=0)-(r|=0)-((n|=0)>>>0>(t|=0)>>>0|0)>>>0)),t-n>>>0|0)}function Ie(t){return 0|((t|=0)?31-(0|M(t^t-1))|0:32)}function qe(t,e,n,r,a){a|=0;var o=0,s=0,A=0,l=0,c=0,u=0,h=0,d=0,f=0,p=0;if(u=t|=0,s=n|=0,A=d=r|=0,!(c=l=e|=0))return o=0!=(0|a),A?o?(i[a>>2]=0|t,i[a+4>>2]=0&e,a=0,0|(w(0|(d=0)),a)):(a=0,0|(w(0|(d=0)),a)):(o&&(i[a>>2]=(u>>>0)%(s>>>0),i[a+4>>2]=0),a=(u>>>0)/(s>>>0)>>>0,0|(w(0|(d=0)),a));o=0==(0|A);do{if(s){if(!o){if((o=(0|M(0|A))-(0|M(0|c))|0)>>>0<=31){s=h=o+1|0,t=u>>>(h>>>0)&(e=o-31>>31)|c<<(A=31-o|0),e&=c>>>(h>>>0),o=0,A=u<>2]=0|t,i[a+4>>2]=l|0&e,a=0,0|(w(0|(d=0)),a)):(a=0,0|(w(0|(d=0)),a))}if((o=s-1|0)&s|0){s=A=33+(0|M(0|s))-(0|M(0|c))|0,t=(h=32-A|0)-1>>31&c>>>((f=A-32|0)>>>0)|(c<>>(A>>>0))&(e=f>>31),e&=c>>>(A>>>0),o=u<<(p=64-A|0)&(l=h>>31),A=(c<>>(f>>>0))&l|u<>31;break}return 0|a&&(i[a>>2]=o&u,i[a+4>>2]=0),1==(0|s)?(p=0|t,0|(w(0|(f=l|0&e)),p)):(f=c>>>((p=0|Ie(0|s))>>>0)|0,p=c<<32-p|u>>>(p>>>0)|0,0|(w(0|f),p))}if(o)return 0|a&&(i[a>>2]=(c>>>0)%(s>>>0),i[a+4>>2]=0),p=(c>>>0)/(s>>>0)>>>0,0|(w(0|(f=0)),p);if(!u)return 0|a&&(i[a>>2]=0,i[a+4>>2]=(c>>>0)%(A>>>0)),p=(c>>>0)/(A>>>0)>>>0,0|(w(0|(f=0)),p);if(!((o=A-1|0)&A))return 0|a&&(i[a>>2]=0|t,i[a+4>>2]=o&c|0&e),f=0,p=c>>>((0|Ie(0|A))>>>0),0|(w(0|f),p);if((o=(0|M(0|A))-(0|M(0|c))|0)>>>0<=30){s=e=o+1|0,t=c<<(A=31-o|0)|u>>>(e>>>0),e=c>>>(e>>>0),o=0,A=u<>2]=0|t,i[a+4>>2]=l|0&e,p=0,0|(w(0|(f=0)),p)):(p=0,0|(w(0|(f=0)),p))}while(0);if(s){c=0|De(0|(h=0|n),0|(u=d|0&r),-1,-1),n=0|E(),l=A,A=0;do{r=l,l=o>>>31|l<<1,o=A|o<<1,Oe(0|c,0|n,0|(r=t<<1|r>>>31|0),0|(d=t>>>31|e<<1|0)),A=1&(f=(p=0|E())>>31|((0|p)<0?-1:0)<<1),t=0|Oe(0|r,0|d,f&h|0,(((0|p)<0?-1:0)>>31|((0|p)<0?-1:0)<<1)&u|0),e=0|E(),s=s-1|0}while(0!=(0|s));c=l,l=0}else c=A,l=0,A=0;return s=0,0|a&&(i[a>>2]=t,i[a+4>>2]=e),p=-2&(o<<1|0)|A,0|(w(0|(f=(0|o)>>>31|(c|s)<<1|0&(s<<1|o>>>31)|l)),p)}function Ue(t,e,n,r){n|=0;var i,a,o,s,A;return a=(r|=0)>>31|((0|r)<0?-1:0)<<1,i=((0|r)<0?-1:0)>>31|((0|r)<0?-1:0)<<1,o=0|Oe((A=(e|=0)>>31|((0|e)<0?-1:0)<<1)^(t|=0)|0,(s=((0|e)<0?-1:0)>>31|((0|e)<0?-1:0)<<1)^e|0,0|A,0|s),t=a^A,e=i^s,0|Oe((0|qe(o,0|E(),0|Oe(a^n|0,i^r|0,0|a,0|i),0|E(),0))^t|0,(0|E())^e|0,0|t,0|e)}function Ne(t,e,n,r){e|=0,r|=0;var i,a;return n=0|function(t,e){var n,r,i,a=0;return t=((n=0|y(a=65535&(e|=0),i=65535&(t|=0)))>>>16)+(0|y(a,r=t>>>16))|0,e=0|y(a=e>>>16,i),0|(w((t>>>16)+(0|y(a,r))+(((65535&t)+e|0)>>>16)|0),t+e<<16|65535&n|0)}(i=t|=0,a=n|=0),t=0|E(),0|(w((0|y(e,a))+(0|y(r,i))+t|0&t|0),0|n)}function Be(t,e,n,r){n|=0;var a,o,s,A,l,c;return a=D,D=D+16|0,A=0|a,c=(r|=0)>>31|((0|r)<0?-1:0)<<1,l=((0|r)<0?-1:0)>>31|((0|r)<0?-1:0)<<1,qe(t=0|Oe((s=(e|=0)>>31|((0|e)<0?-1:0)<<1)^(t|=0)|0,(o=((0|e)<0?-1:0)>>31|((0|e)<0?-1:0)<<1)^e|0,0|s,0|o),e=0|E(),0|Oe(c^n|0,l^r|0,0|c,0|l),0|E(),A),r=0|Oe(i[A>>2]^s|0,i[A+4>>2]^o|0,0|s,0|o),n=0|E(),D=a,0|(w(0|n),r)}function ke(t,e,n,r){var a,o;return o=D,D=D+16|0,qe(t|=0,e|=0,n|=0,r|=0,a=0|o),D=o,0|(w(0|i[a+4>>2]),0|i[a>>2])}function Fe(t,e,n){return t|=0,e|=0,(0|(n|=0))<32?(w(e>>n|0),t>>>n|(e&(1<>n-32|0)}function ze(t,e,n){return t|=0,e|=0,(0|(n|=0))<32?(w(e>>>n|0),t>>>n|(e&(1<>>n-32|0)}function Ge(t,e,n){return t|=0,e|=0,(0|(n|=0))<32?(w(e<>>32-n|0),t<=0?+A(t+.5):+_(t-.5)}function We(t,e,n){t|=0,e|=0;var a,o,s=0;if((0|(n|=0))>=8192)return R(0|t,0|e,0|n),0|t;if(o=0|t,a=t+n|0,(3&t)==(3&e)){for(;3&t;){if(!n)return 0|o;r[t>>0]=0|r[e>>0],t=t+1|0,e=e+1|0,n=n-1|0}for(s=(n=-4&a|0)-64|0;(0|t)<=(0|s);)i[t>>2]=i[e>>2],i[t+4>>2]=i[e+4>>2],i[t+8>>2]=i[e+8>>2],i[t+12>>2]=i[e+12>>2],i[t+16>>2]=i[e+16>>2],i[t+20>>2]=i[e+20>>2],i[t+24>>2]=i[e+24>>2],i[t+28>>2]=i[e+28>>2],i[t+32>>2]=i[e+32>>2],i[t+36>>2]=i[e+36>>2],i[t+40>>2]=i[e+40>>2],i[t+44>>2]=i[e+44>>2],i[t+48>>2]=i[e+48>>2],i[t+52>>2]=i[e+52>>2],i[t+56>>2]=i[e+56>>2],i[t+60>>2]=i[e+60>>2],t=t+64|0,e=e+64|0;for(;(0|t)<(0|n);)i[t>>2]=i[e>>2],t=t+4|0,e=e+4|0}else for(n=a-4|0;(0|t)<(0|n);)r[t>>0]=0|r[e>>0],r[t+1>>0]=0|r[e+1>>0],r[t+2>>0]=0|r[e+2>>0],r[t+3>>0]=0|r[e+3>>0],t=t+4|0,e=e+4|0;for(;(0|t)<(0|a);)r[t>>0]=0|r[e>>0],t=t+1|0,e=e+1|0;return 0|o}function Xe(t,e,n){e|=0;var a,o=0,s=0,A=0;if(a=(t|=0)+(n|=0)|0,e&=255,(0|n)>=67){for(;3&t;)r[t>>0]=e,t=t+1|0;for(A=e|e<<8|e<<16|e<<24,s=(o=-4&a|0)-64|0;(0|t)<=(0|s);)i[t>>2]=A,i[t+4>>2]=A,i[t+8>>2]=A,i[t+12>>2]=A,i[t+16>>2]=A,i[t+20>>2]=A,i[t+24>>2]=A,i[t+28>>2]=A,i[t+32>>2]=A,i[t+36>>2]=A,i[t+40>>2]=A,i[t+44>>2]=A,i[t+48>>2]=A,i[t+52>>2]=A,i[t+56>>2]=A,i[t+60>>2]=A,t=t+64|0;for(;(0|t)<(0|o);)i[t>>2]=A,t=t+4|0}for(;(0|t)<(0|a);)r[t>>0]=e,t=t+1|0;return a-n|0}function Qe(t){return(t=+t)>=0?+A(t+.5):+_(t-.5)}function Ye(t){t|=0;var e,n,r;return r=0|C(),(0|t)>0&(0|(e=(n=0|i[s>>2])+t|0))<(0|n)|(0|e)<0?(L(0|e),T(12),-1):(0|e)>(0|r)&&!(0|P(0|e))?(T(12),-1):(i[s>>2]=e,0|n)}return{___divdi3:Ue,___muldi3:Ne,___remdi3:Be,___uremdi3:ke,_areNeighborCells:function(t,e,n,r,a){a|=0;var o,s,A,l=0,c=0,u=0,h=0;if(A=D,D=D+64|0,s=A,o=A+56|0,!(!0&134217728==(2013265920&(e|=0)|0)&!0&134217728==(2013265920&(r|=0)|0)))return D=A,0|(a=5);if((0|(t|=0))==(0|(n|=0))&(0|e)==(0|r))return i[a>>2]=0,D=A,0|(a=0);if(c=0|ze(0|t,0|e,52),E(),c&=15,h=0|ze(0|n,0|r,52),E(),(0|c)!=(15&h|0))return D=A,0|(a=12);if(l=c+-1|0,c>>>0>1){qt(t,e,l,s),qt(n,r,l,o),u=0|i[(h=s)>>2],h=0|i[h+4>>2];t:do{if((0|u)==(0|i[o>>2])&&(0|h)==(0|i[o+4>>2])){l=0|ze(0|t,0|e,0|(c=3*(15^c)|0)),E(),l&=7,c=0|ze(0|n,0|r,0|c),E(),c&=7;do{if(0==(0|l)|0==(0|c))i[a>>2]=1,l=0;else if(7==(0|l))l=5;else{if(1==(0|l)|1==(0|c)&&0|Nt(u,h)){l=5;break}if((0|i[15536+(l<<2)>>2])!=(0|c)&&(0|i[15568+(l<<2)>>2])!=(0|c))break t;i[a>>2]=1,l=0}}while(0);return D=A,0|(a=l)}}while(0)}c=(l=s)+56|0;do{i[l>>2]=0,l=l+4|0}while((0|l)<(0|c));return O(t,e,1,s),l=(0|i[(e=s)>>2])==(0|n)&&(0|i[e+4>>2])==(0|r)||(0|i[(e=s+8|0)>>2])==(0|n)&&(0|i[e+4>>2])==(0|r)||(0|i[(e=s+16|0)>>2])==(0|n)&&(0|i[e+4>>2])==(0|r)||(0|i[(e=s+24|0)>>2])==(0|n)&&(0|i[e+4>>2])==(0|r)||(0|i[(e=s+32|0)>>2])==(0|n)&&(0|i[e+4>>2])==(0|r)||(0|i[(e=s+40|0)>>2])==(0|n)&&(0|i[e+4>>2])==(0|r)?1:1&((0|i[(l=s+48|0)>>2])==(0|n)?(0|i[l+4>>2])==(0|r):0),i[a>>2]=l,D=A,0|(a=0)},_bitshift64Ashr:Fe,_bitshift64Lshr:ze,_bitshift64Shl:Ge,_calloc:Le,_cellAreaKm2:function(t,e,n){return 0|(t=0|re(t|=0,e|=0,n|=0))||(a[n>>3]=6371.007180918475*+a[n>>3]*6371.007180918475),0|t},_cellAreaM2:function(t,e,n){return 0|(t=0|re(t|=0,e|=0,n|=0))||(a[n>>3]=6371.007180918475*+a[n>>3]*6371.007180918475*1e3*1e3),0|t},_cellAreaRads2:re,_cellToBoundary:Qt,_cellToCenterChild:function(t,e,n,r){n|=0,r|=0;var a=0;return a=0|ze(0|(t|=0),0|(e|=0),52),E(),(0|n)<16&(0|(a&=15))<=(0|n)?((0|a)<(0|n)&&(a=0|Ge(-1,-1,3+(3*(n+-1-a|0)|0)|0),a=0|Ge(0|~a,0|~(0|E()),3*(15-n|0)|0),e=~(0|E())&e,t&=~a),a=0|Ge(0|n,0,52),n=-15728641&e|0|E(),i[r>>2]=t|a,i[r+4>>2]=n,0|(r=0)):0|(r=4)},_cellToChildPos:function(t,e,n,r){n|=0,r|=0;var a,o=0,s=0,A=0,l=0,c=0,u=0,h=0,d=0,f=0,p=0,m=0,g=0,v=0,_=0;if(a=D,D=D+16|0,v=a,_=0|ze(0|(t|=0),0|(e|=0),52),E(),_&=15,n>>>0>15)return D=a,0|(_=4);if((0|_)<(0|n))return D=a,0|(_=12);if((0|_)!=(0|n))if(s=0|Ge(0|n,0,52),s|=t,l=0|E()|-15728641&e,(0|_)>(0|n)){c=n;do{g=0|Ge(7,0,3*(14-c|0)|0),c=c+1|0,s|=g,l=0|E()|l}while((0|c)<(0|_));g=s}else g=s;else g=t,l=e;m=0|ze(0|g,0|l,45),E();t:do{if(0|F(127&m)){if(c=0|ze(0|g,0|l,52),E(),0|(c&=15))for(s=1;;){if(!(0==((m=0|Ge(7,0,3*(15-s|0)|0))&g|0)&0==((0|E())&l|0))){u=33;break t}if(!(s>>>0>>0))break;s=s+1|0}if(i[(m=r)>>2]=0,i[m+4>>2]=0,(0|_)>(0|n)){for(m=-15728641&e,p=_;;){if(f=p,(p=p+-1|0)>>>0>15|(0|_)<(0|p)){u=19;break}if((0|_)!=(0|p))if(s=0|Ge(0|p,0,52),s|=t,c=0|E()|m,(0|_)<(0|f))d=s;else{u=p;do{d=0|Ge(7,0,3*(14-u|0)|0),u=u+1|0,s|=d,c=0|E()|c}while((0|u)<(0|_));d=s}else d=t,c=e;if(h=0|ze(0|d,0|c,45),E(),0|F(127&h)){h=0|ze(0|d,0|c,52),E(),h&=15;e:do{if(h)for(u=1;;){if(s=0|ze(0|d,0|c,3*(15-u|0)|0),E(),0|(s&=7))break e;if(!(u>>>0>>0)){s=0;break}u=u+1|0}else s=0}while(0);s=0==(0|s)&1}else s=0;if(c=0|ze(0|t,0|e,3*(15-f|0)|0),E(),7==(0|(c&=7))){o=5,u=42;break}if(1==(0|c)&(s=0!=(0|s))){o=5,u=42;break}if(0|(d=c+((0!=(0|c)&s)<<31>>31)|0)&&(u=0|ue(7,0,u=_-f|0,((0|u)<0)<<31>>31),h=0|E(),s?(s=0|De(0|(s=0|Ne(0|u,0|h,5,0)),0|E(),-5,-1),s=0|De(0|(s=0|Ue(0|s,0|E(),6,0)),0|E(),1,0),c=0|E()):(s=u,c=h),f=0|De(0|s,0|c,0|(f=0|Ne(0|u,0|h,0|(f=d+-1|0),((0|f)<0)<<31>>31|0)),0|E()),h=0|De(0|f,0|(d=0|E()),0|i[(h=r)>>2],0|i[h+4>>2]),d=0|E(),i[(f=r)>>2]=h,i[f+4>>2]=d),(0|p)<=(0|n)){u=37;break}}if(19==(0|u))S(23313,22674,1099,22710);else{if(37==(0|u)){o=0|i[(A=r)+4>>2],A=0|i[A>>2];break}if(42==(0|u))return D=a,0|o}}else o=0,A=0}else u=33}while(0);t:do{if(33==(0|u)){if(i[(m=r)>>2]=0,i[m+4>>2]=0,(0|_)>(0|n)){for(s=_;;){if(o=0|ze(0|t,0|e,3*(15-s|0)|0),E(),7==(0|(o&=7))){o=5;break}if(o=0|Ne(0|(A=0|ue(7,0,A=_-s|0,((0|A)<0)<<31>>31)),0|E(),0|o,0),A=0|E(),A=0|De(0|i[(m=r)>>2],0|i[m+4>>2],0|o,0|A),o=0|E(),i[(m=r)>>2]=A,i[m+4>>2]=o,(0|(s=s+-1|0))<=(0|n))break t}return D=a,0|o}o=0,A=0}}while(0);return 0|Ut(g,l,_,v)&&S(23313,22674,1063,22725),((0|o)>-1|-1==(0|o)&A>>>0>4294967295)&((0|(v=0|i[(_=v)+4>>2]))>(0|o)|((0|v)==(0|o)?(0|i[_>>2])>>>0>A>>>0:0))?(D=a,0|(_=0)):(S(23313,22674,1139,22710),0)},_cellToChildren:function(t,e,n,r){r|=0;var a,o,s=0,A=0;if(o=D,D=D+16|0,Zt(a=o,t|=0,e|=0,n|=0),0==(0|(t=0|i[(e=a)>>2]))&0==(0|(e=0|i[e+4>>2])))return D=o,0;s=0,n=0;do{i[(A=r+(s<<3)|0)>>2]=t,i[A+4>>2]=e,s=0|De(0|s,0|n,1,0),n=0|E(),Kt(a),t=0|i[(A=a)>>2],e=0|i[A+4>>2]}while(!(0==(0|t)&0==(0|e)));return D=o,0},_cellToChildrenSize:Ut,_cellToLatLng:Xt,_cellToLocalIj:function(t,e,n,r,i,a){var o,s;return t|=0,e|=0,n|=0,r|=0,a|=0,s=D,D=D+16|0,o=s,(i|=0)?t=15:(t=0|le(t,e,n,r,o))||(_t(o,a),t=0),D=s,0|t},_cellToParent:qt,_cellToVertex:ye,_cellToVertexes:function(t,e,n){n|=0;var r,a=0,o=0;return o=0==(0|Nt(t|=0,e|=0)),r=0==(0|(a=0|ye(t,e,0,n))),o?r?0|(a=0|ye(t,e,1,n+8|0))||0|(a=0|ye(t,e,2,n+16|0))||0|(a=0|ye(t,e,3,n+24|0))||(a=0|ye(t,e,4,n+32|0))?0|(o=a):0|ye(t,e,5,n+40|0):0|(o=a):r?0|(a=0|ye(t,e,1,n+8|0))||0|(a=0|ye(t,e,2,n+16|0))||0|(a=0|ye(t,e,3,n+24|0))||0|(a=0|ye(t,e,4,n+32|0))?0|(o=a):(i[(o=n+40|0)>>2]=0,i[o+4>>2]=0,0|(o=0)):0|(o=a)},_cellsToDirectedEdge:function(t,e,n,r,a){return a|=0,7==(0|(n=0|B(t|=0,e|=0,n|=0,r|=0)))?0|(a=11):(r=0|Ge(0|n,0,56),e=-2130706433&e|0|E()|268435456,i[a>>2]=t|r,i[a+4>>2]=e,0|(a=0))},_cellsToLinkedMultiPolygon:function(t,e,n){n|=0;var r,a,o,s=0;if(o=D,D=D+32|0,r=o,t=0|function(t,e,n){t|=0,n|=0;var r,a,o=0,s=0,A=0,l=0,c=0,u=0;if(a=D,D=D+176|0,r=a,(0|(e|=0))<1)return xe(n,0,0),D=a,0;for(c=0|ze(0|i[(c=t)>>2],0|i[c+4>>2],52),E(),xe(n,(0|e)>6?e:6,15&c),c=0;!(0|(o=0|Qt(0|i[(o=t+(c<<3)|0)>>2],0|i[o+4>>2],r)));){if((0|(o=0|i[r>>2]))>0){l=0;do{A=r+8+(l<<4)|0,(s=0|Se(n,o=r+8+(((0|(l=l+1|0))%(0|o)|0)<<4)|0,A))?we(n,s):Ee(n,A,o),o=0|i[r>>2]}while((0|l)<(0|o))}if((0|(c=c+1|0))>=(0|e)){o=0,u=13;break}}return 13==(0|u)?(D=a,0|o):(be(n),D=a,0|(u=o))}(t|=0,e|=0,a=o+16|0),0|t)return D=o,0|(n=t);if(i[n>>2]=0,i[n+4>>2]=0,i[n+8>>2]=0,0|(t=0|Me(a)))do{e=0|ie(n);do{ae(e,t),s=t+16|0,i[r>>2]=i[s>>2],i[r+4>>2]=i[s+4>>2],i[r+8>>2]=i[s+8>>2],i[r+12>>2]=i[s+12>>2],we(a,t),t=0|Te(a,r)}while(0!=(0|t));t=0|Me(a)}while(0!=(0|t));return be(a),(t=0|se(n))?(oe(n),D=o,0|(s=t)):(D=o,0|(s=0))},_childPosToCell:function(t,e,n,r,a,o){t|=0,e|=0,o|=0;var s,A=0,l=0,c=0,u=0,h=0,d=0,f=0,p=0,m=0;if(s=D,D=D+16|0,A=s,(a|=0)>>>0>15)return D=s,0|(o=4);if(l=0|ze(0|(n|=0),0|(r|=0),52),E(),(0|(l&=15))>(0|a))return D=s,0|(o=12);if(0|Ut(n,r,a,A)&&S(23313,22674,1063,22725),!(((0|e)>-1|-1==(0|e)&t>>>0>4294967295)&((0|(u=0|i[(h=A)+4>>2]))>(0|e)|((0|u)==(0|e)?(0|i[h>>2])>>>0>t>>>0:0))))return D=s,0|(o=2);h=a-l|0,a=0|Ge(0|a,0,52),c=0|E()|-15728641&r,i[(u=o)>>2]=a|n,i[u+4>>2]=c,u=0|ze(0|n,0|r,45),E();t:do{if(0|F(127&u)){if(0|l)for(A=1;;){if(!(0==((u=0|Ge(7,0,3*(15-A|0)|0))&n|0)&0==((0|E())&r|0)))break t;if(!(A>>>0>>0))break;A=A+1|0}if((0|h)<1)return D=s,0|(o=0);for(u=15^l,r=-1,c=1,A=1;;){l=0|ue(7,0,l=h-c|0,((0|l)<0)<<31>>31),n=0|E();do{if(A){if(A=0|Ue(0|(A=0|De(0|(A=0|Ne(0|l,0|n,5,0)),0|E(),-5,-1)),0|E(),6,0),(0|e)>(0|(a=0|E()))|(0|e)==(0|a)&t>>>0>A>>>0){e=0|Oe(0|(e=0|De(0|t,0|e,-1,-1)),0|E(),0|A,0|a),A=0|E(),p=0|i[(d=o)>>2],d=0|i[d+4>>2],f=0|Ge(7,0,0|(m=3*(u+r|0)|0)),d&=~(0|E()),m=0|Ge(0|(a=0|De(0|(r=0|Ue(0|e,0|A,0|l,0|n)),0|(t=0|E()),2,0)),0|E(),0|m),d=0|E()|d,i[(a=o)>>2]=m|p&~f,i[a+4>>2]=d,t=0|Oe(0|e,0|A,0|(t=0|Ne(0|r,0|t,0|l,0|n)),0|E()),A=0,e=0|E();break}f=0|i[(m=o)>>2],m=0|i[m+4>>2],p=0|Ge(7,0,3*(u+r|0)|0),m&=~(0|E()),i[(A=o)>>2]=f&~p,i[A+4>>2]=m,A=1;break}a=0|i[(f=o)>>2],f=0|i[f+4>>2],d=0|Ge(7,0,0|(r=3*(u+r|0)|0)),f&=~(0|E()),r=0|Ge(0|(m=0|Ue(0|t,0|e,0|l,0|n)),0|(A=0|E()),0|r),f=0|E()|f,i[(p=o)>>2]=r|a&~d,i[p+4>>2]=f,t=0|Oe(0|t,0|e,0|(A=0|Ne(0|m,0|A,0|l,0|n)),0|E()),A=0,e=0|E()}while(0);if(!((0|h)>(0|c))){e=0;break}r=~c,c=c+1|0}return D=s,0|e}}while(0);if((0|h)<1)return D=s,0|(m=0);for(a=15^l,A=1;;){if(p=0|ue(7,0,p=h-A|0,((0|p)<0)<<31>>31),m=0|E(),n=0|i[(c=o)>>2],c=0|i[c+4>>2],r=0|Ge(7,0,0|(l=3*(a-A|0)|0)),c&=~(0|E()),l=0|Ge(0|(d=0|Ue(0|t,0|e,0|p,0|m)),0|(f=0|E()),0|l),c=0|E()|c,i[(u=o)>>2]=l|n&~r,i[u+4>>2]=c,t=0|Oe(0|t,0|e,0|(m=0|Ne(0|d,0|f,0|p,0|m)),0|E()),e=0|E(),(0|h)<=(0|A)){e=0;break}A=A+1|0}return D=s,0|e},_compactCells:function(t,e,n,r){e|=0;var a,o=0,s=0,A=0,l=0,c=0,u=0,h=0,d=0,f=0,p=0,m=0,g=0,v=0,_=0,y=0,x=0,b=0,M=0,w=0,T=0;if(0==(0|(n|=0))&0==(0|(r|=0)))return 0|(w=0);if(s=0|i[(o=t|=0)>>2],!0&0==(15728640&(o=0|i[o+4>>2])|0)){if(!((0|r)>0|0==(0|r)&n>>>0>0))return 0|(w=0);if(i[(w=e)>>2]=s,i[w+4>>2]=o,1==(0|n)&0==(0|r))return 0|(w=0);o=1;do{M=0|i[(b=t+(o<<3)|0)+4>>2],i[(w=e+(o<<3)|0)>>2]=i[b>>2],i[w+4>>2]=M,o=o+1|0}while(0<(0|r)|0==(0|r)&o>>>0>>0);return 0|(o=0)}if(!(M=0|Re(a=n<<3)))return 0|(w=13);if(We(0|M,0|t,0|a),!(b=0|Le(n,8)))return Pe(M),0|(w=13);t:do{if(0|n){e:for(;;){y=0|ze(0|(_=0|i[(o=M)>>2]),0|(o=0|i[o+4>>2]),52),E(),x=(y&=15)+-1|0,v=(0|n)>0;n:do{if(0!=(0|y)&v){if(p=((0|n)<0)<<31>>31,m=0|Ge(0|x,0,52),g=0|E(),x>>>0>15){if(!(0==(0|_)&0==(0|o))){w=17;break e}for(s=0;;){if((0|(s=s+1|0))>=(0|n))break n;if(!(0==(0|(g=0|i[(r=M+(s<<3)|0)>>2]))&0==(0|(r=0|i[r+4>>2])))){o=r,w=17;break e}}}for(s=0,t=_,r=o;;){if(!(0==(0|t)&0==(0|r))){if(!(!0&0==(117440512&r|0))){w=22;break e}if(l=0|ze(0|t,0|r,52),E(),(0|(l&=15))<(0|x)){o=12,w=28;break e}if((0|l)!=(0|x)&&(t|=m,r=-15728641&r|g,l>>>0>=y>>>0)){A=x;do{f=0|Ge(7,0,3*(14-A|0)|0),A=A+1|0,t|=f,r=0|E()|r}while(A>>>0>>0)}if(A=0|ke(0|t,0|r,0|n,0|p),E(),0==(0|(c=0|i[(l=u=b+(A<<3)|0)>>2]))&0==(0|(l=0|i[l+4>>2])))A=u;else for(f=0;;){if((0|f)>(0|n)){w=32;break e}if((0|c)==(0|t)&(-117440513&l|0)==(0|r)){h=0|ze(0|c,0|l,56),E(),d=(h&=7)+1|0,T=0|ze(0|c,0|l,45),E();r:do{if(0|F(127&T)){if(c=0|ze(0|c,0|l,52),E(),!(c&=15)){l=6;break}for(l=1;;){if(!(0==((T=0|Ge(7,0,3*(15-l|0)|0))&t|0)&0==((0|E())&r|0))){l=7;break r}if(!(l>>>0>>0)){l=6;break}l=l+1|0}}else l=7}while(0);if((h+2|0)>>>0>l>>>0){w=42;break e}T=0|Ge(0|d,0,56),r=0|E()|-117440513&r,i[(d=u)>>2]=0,i[d+4>>2]=0,t|=T}else A=(A+1|0)%(0|n)|0;if(0==(0|(c=0|i[(l=u=b+(A<<3)|0)>>2]))&0==(0|(l=0|i[l+4>>2]))){A=u;break}f=f+1|0}i[(T=A)>>2]=t,i[T+4>>2]=r}if((0|(s=s+1|0))>=(0|n))break n;t=0|i[(r=M+(s<<3)|0)>>2],r=0|i[r+4>>2]}}}while(0);if((n+5|0)>>>0<11){w=85;break}if(!(g=0|Le((0|n)/6|0,8))){w=49;break}n:do{if(v){f=0,d=0;do{if(!(0==(0|(s=0|i[(r=l=b+(f<<3)|0)>>2]))&0==(0|(r=0|i[r+4>>2])))){c=0|ze(0|s,0|r,56),E(),t=(c&=7)+1|0,u=-117440513&r,T=0|ze(0|s,0|r,45),E();r:do{if(0|F(127&T)){if(h=0|ze(0|s,0|r,52),E(),0|(h&=15))for(A=1;;){if(!(0==(s&(T=0|Ge(7,0,3*(15-A|0)|0))|0)&0==(u&(0|E())|0)))break r;if(!(A>>>0>>0))break;A=A+1|0}s|=r=0|Ge(0|t,0,56),r=0|E()|u,i[(t=l)>>2]=s,i[t+4>>2]=r,t=c+2|0}}while(0);7==(0|t)&&(i[(T=g+(d<<3)|0)>>2]=s,i[T+4>>2]=-117440513&r,d=d+1|0)}f=f+1|0}while((0|f)!=(0|n));if(v){if(f=((0|n)<0)<<31>>31,p=0|Ge(0|x,0,52),m=0|E(),x>>>0>15){if(!(0==(0|_)&0==(0|o))){o=4,w=84;break e}for(o=0;;){if((0|(o=o+1|0))>=(0|n)){s=0,o=d;break n}if(!(0==(0|i[(T=M+(o<<3)|0)>>2])&0==(0|i[T+4>>2]))){o=4,w=84;break e}}}for(h=0,s=0,u=_;;){do{if(!(0==(0|u)&0==(0|o))){if(l=0|ze(0|u,0|o,52),E(),(0|(l&=15))<(0|x)){o=12,w=84;break e}do{if((0|l)==(0|x))r=u,l=o;else{if(r=u|p,t=-15728641&o|m,l>>>0>>0){l=t;break}A=x;do{T=0|Ge(7,0,3*(14-A|0)|0),A=A+1|0,r|=T,t=0|E()|t}while(A>>>0>>0);l=t}}while(0);for(A=0|ke(0|r,0|l,0|n,0|f),E(),t=0;;){if((0|t)>(0|n)){w=77;break e}if((-117440513&(c=0|i[(T=b+(A<<3)|0)+4>>2])|0)==(0|l)&&(0|i[T>>2])==(0|r)){w=79;break}if((0|i[(T=b+((A=(A+1|0)%(0|n)|0)<<3)|0)>>2])==(0|r)&&(0|i[T+4>>2])==(0|l))break;t=t+1|0}if(79==(0|w)&&(w=0,!0&100663296==(117440512&c|0)))break;i[(T=e+(s<<3)|0)>>2]=u,i[T+4>>2]=o,s=s+1|0}}while(0);if((0|(o=h+1|0))>=(0|n)){o=d;break n}h=o,u=0|i[(T=M+(o<<3)|0)>>2],o=0|i[T+4>>2]}}else s=0,o=d}else s=0,o=0}while(0);if(Xe(0|b,0,0|a),We(0|M,0|g,o<<3|0),Pe(g),!o)break t;e=e+(s<<3)|0,n=o}if(17==(0|w))!0&0==(117440512&o|0)?(o=4,w=28):w=22;else if(32==(0|w))S(23313,22674,362,22684);else{if(42==(0|w))return Pe(M),Pe(b),0|(T=10);if(49==(0|w))return Pe(M),Pe(b),0|(T=13);if(77==(0|w))S(23313,22674,462,22684);else{if(84==(0|w))return Pe(g),Pe(M),Pe(b),0|(T=o);if(85==(0|w)){We(0|e,0|M,n<<3|0);break}}}if(22==(0|w))return Pe(M),Pe(b),0|(T=5);if(28==(0|w))return Pe(M),Pe(b),0|(T=o)}}while(0);return Pe(M),Pe(b),0|(T=0)},_destroyLinkedMultiPolygon:oe,_directedEdgeToBoundary:Mt,_directedEdgeToCells:function(t,e,n){t|=0;var r,a,o,s=0;return r=D,D=D+16|0,s=r,!0&268435456==(2013265920&(e|=0)|0)?(a=-2130706433&e|134217728,i[(o=n|=0)>>2]=t,i[o+4>>2]=a,i[s>>2]=0,e=0|ze(0|t,0|e,56),E(),s=0|N(t,a,7&e,s,n+8|0),D=r,0|s):(D=r,0|(s=6))},_edgeLengthKm:function(t,e,n){n|=0;var r,o=0,s=0,A=0,l=0,u=0,f=0,p=0;if(r=D,D=D+176|0,0|(t=0|Mt(t|=0,e|=0,l=r)))return l=t,A=+a[n>>3],A*=6371.007180918475,a[n>>3]=A,D=r,0|l;if(a[n>>3]=0,(0|(t=0|i[l>>2]))<=1)return l=0,A=0,A*=6371.007180918475,a[n>>3]=A,D=r,0|l;e=t+-1|0,t=0,o=+a[l+8>>3],s=+a[l+16>>3],A=0;do{f=o,o=+a[l+8+((t=t+1|0)<<4)>>3],p=+d(.5*(o-f)),u=s,s=+a[l+8+(t<<4)+8>>3],u=p*p+(u=+d(.5*(s-u)))*(+h(+f)*+h(+o)*u),A+=2*+v(+ +c(+u),+ +c(+(1-u)))}while((0|t)!=(0|e));return a[n>>3]=A,l=0,p=A,p*=6371.007180918475,a[n>>3]=p,D=r,0|l},_edgeLengthM:function(t,e,n){n|=0;var r,o=0,s=0,A=0,l=0,u=0,f=0,p=0;if(r=D,D=D+176|0,0|(t=0|Mt(t|=0,e|=0,l=r)))return l=t,A=+a[n>>3],A*=6371.007180918475,A*=1e3,a[n>>3]=A,D=r,0|l;if(a[n>>3]=0,(0|(t=0|i[l>>2]))<=1)return l=0,A=0,A*=6371.007180918475,A*=1e3,a[n>>3]=A,D=r,0|l;e=t+-1|0,t=0,o=+a[l+8>>3],s=+a[l+16>>3],A=0;do{f=o,o=+a[l+8+((t=t+1|0)<<4)>>3],p=+d(.5*(o-f)),u=s,s=+a[l+8+(t<<4)+8>>3],u=p*p+(u=+d(.5*(s-u)))*(+h(+f)*+h(+o)*u),A+=2*+v(+ +c(+u),+ +c(+(1-u)))}while((0|t)!=(0|e));return a[n>>3]=A,l=0,p=A,p*=6371.007180918475,p*=1e3,a[n>>3]=p,D=r,0|l},_edgeLengthRads:function(t,e,n){n|=0;var r,o=0,s=0,A=0,l=0,u=0,f=0,p=0;if(r=D,D=D+176|0,0|(t=0|Mt(t|=0,e|=0,l=r)))return D=r,0|(l=t);if(a[n>>3]=0,(0|(t=0|i[l>>2]))<=1)return D=r,0|(l=0);e=t+-1|0,t=0,o=+a[l+8>>3],s=+a[l+16>>3],A=0;do{f=o,o=+a[l+8+((t=t+1|0)<<4)>>3],p=+d(.5*(o-f)),u=s,s=+a[l+8+(t<<4)+8>>3],u=p*p+(u=+d(.5*(s-u)))*(+h(+o)*+h(+f)*u),A+=2*+v(+ +c(+u),+ +c(+(1-u)))}while((0|t)<(0|e));return a[n>>3]=A,D=r,0|(l=0)},_emscripten_replace_memory:function(t){return r=new Int8Array(t),i=new Int32Array(t),a=new Float64Array(t),n=t,!0},_free:Pe,_getBaseCellNumber:Ot,_getDirectedEdgeDestination:function(t,e,n){t|=0,e|=0,n|=0;var r,a,o=0;return r=D,D=D+16|0,i[(o=r)>>2]=0,!0&268435456==(2013265920&e|0)?(a=0|ze(0|t,0|e,56),E(),o=0|N(t,-2130706433&e|134217728,7&a,o,n),D=r,0|o):(D=r,0|(o=6))},_getDirectedEdgeOrigin:function(t,e,n){return t|=0,n|=0,!0&268435456==(2013265920&(e|=0)|0)?(i[n>>2]=t,i[n+4>>2]=-2130706433&e|134217728,0|(n=0)):0|(n=6)},_getHexagonAreaAvgKm2:function(t,e){return e|=0,(t|=0)>>>0>15?0|(e=4):(a[e>>3]=+a[20528+(t<<3)>>3],0|(e=0))},_getHexagonAreaAvgM2:function(t,e){return e|=0,(t|=0)>>>0>15?0|(e=4):(a[e>>3]=+a[20656+(t<<3)>>3],0|(e=0))},_getHexagonEdgeLengthAvgKm:function(t,e){return e|=0,(t|=0)>>>0>15?0|(e=4):(a[e>>3]=+a[20784+(t<<3)>>3],0|(e=0))},_getHexagonEdgeLengthAvgM:function(t,e){return e|=0,(t|=0)>>>0>15?0|(e=4):(a[e>>3]=+a[20912+(t<<3)>>3],0|(e=0))},_getIcosahedronFaces:function t(e,n,r){r|=0;var a,o=0,s=0,A=0,l=0,c=0,u=0,h=0,d=0;a=D,D=D+128|0,h=a+112|0,A=a+96|0,d=a,s=0|ze(0|(e|=0),0|(n|=0),52),E(),c=15&s,i[h>>2]=c,l=0|ze(0|e,0|n,45),E(),l&=127;t:do{if(0|F(l)){if(0|c)for(o=1;;){if(!(0==((u=0|Ge(7,0,3*(15-o|0)|0))&e|0)&0==((0|E())&n|0))){s=0;break t}if(!(o>>>0>>0))break;o=o+1|0}if(!(1&s))return u=0|Ge(c+1|0,0,52),d=0|E()|-15728641&n,d=0|t((u|e)&~(h=0|Ge(7,0,3*(14-c|0)|0)),d&~(0|E()),r),D=a,0|d;s=1}else s=0}while(0);if(!(o=0|Wt(e,n,A))){s?(Ct(A,h,d),u=5):(Dt(A,h,d),u=6);t:do{if(0|F(l))if(c)for(o=1;;){if(!(0==((l=0|Ge(7,0,3*(15-o|0)|0))&e|0)&0==((0|E())&n|0))){e=2;break t}if(!(o>>>0>>0)){e=5;break}o=o+1|0}else e=5;else e=2}while(0);Xe(0|r,-1,e<<2|0);t:do{if(s)for(A=0;;){if(Pt(l=d+(A<<4)|0,0|i[h>>2]),l=0|i[l>>2],-1==(0|(c=0|i[r>>2]))|(0|c)==(0|l))o=r;else{s=0;do{if((s=s+1|0)>>>0>=e>>>0){o=1;break t}c=0|i[(o=r+(s<<2)|0)>>2]}while(!(-1==(0|c)|(0|c)==(0|l)))}if(i[o>>2]=l,(A=A+1|0)>>>0>=u>>>0){o=0;break}}else for(A=0;;){if(Rt(l=d+(A<<4)|0,0|i[h>>2],0,1),l=0|i[l>>2],-1==(0|(c=0|i[r>>2]))|(0|c)==(0|l))o=r;else{s=0;do{if((s=s+1|0)>>>0>=e>>>0){o=1;break t}c=0|i[(o=r+(s<<2)|0)>>2]}while(!(-1==(0|c)|(0|c)==(0|l)))}if(i[o>>2]=l,(A=A+1|0)>>>0>=u>>>0){o=0;break}}}while(0)}return D=a,0|(d=o)},_getNumCells:ee,_getPentagons:Yt,_getRes0Cells:function(t){t|=0;var e=0,n=0,r=0;e=0;do{Ge(0|e,0,45),r=134225919|E(),i[(n=t+(e<<3)|0)>>2]=-1,i[n+4>>2]=r,e=e+1|0}while(122!=(0|e));return 0},_getResolution:function(t,e){return e=0|ze(0|(t|=0),0|(e|=0),52),E(),15&e|0},_greatCircleDistanceKm:te,_greatCircleDistanceM:function(t,e){t|=0;var n,r,i,o=0;return r=+a[(e|=0)>>3],n=+a[t>>3],o=(i=+d(.5*(r-n)))*i+(o=+d(.5*(+a[e+8>>3]-+a[t+8>>3])))*(+h(+r)*+h(+n)*o),2*+v(+ +c(+o),+ +c(+(1-o)))*6371.007180918475*1e3},_greatCircleDistanceRads:function(t,e){t|=0;var n,r,i,o=0;return r=+a[(e|=0)>>3],n=+a[t>>3],o=(i=+d(.5*(r-n)))*i+(o=+d(.5*(+a[e+8>>3]-+a[t+8>>3])))*(+h(+r)*+h(+n)*o),2*+v(+ +c(+o),+ +c(+(1-o)))},_gridDisk:O,_gridDiskDistances:I,_gridDistance:function(t,e,n,r,a){n|=0,r|=0,a|=0;var o,s,A=0,l=0;return s=D,D=D+32|0,l=s,0|(o=0|le(t|=0,e|=0,t,e,A=s+12|0))?(D=s,0|(l=o)):0|(t=0|le(t,e,n,r,l))?(D=s,0|(l=t)):(A=0|vt(A,l),i[(l=a)>>2]=A,i[l+4>>2]=((0|A)<0)<<31>>31,D=s,0|(l=0))},_gridPathCells:function(t,e,n,r,a){n|=0,r|=0,a|=0;var o,s=0,A=0,c=0,u=0,h=0,d=0,f=0,p=0,m=0,g=0,v=0,_=0,y=0,x=0,b=0,M=0,w=0,T=0,C=0;if(o=D,D=D+48|0,c=o+12|0,T=o,!(s=0|le(t|=0,e|=0,t,e,A=o+24|0))&&!(s=0|le(t,e,n,r,c))){w=((0|(M=0|vt(A,c)))<0)<<31>>31,i[A>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[c>>2]=0,i[c+4>>2]=0,i[c+8>>2]=0,0|le(t,e,t,e,A)&&S(23313,23090,691,23299),0|le(t,e,n,r,c)&&S(23313,23090,696,23299),xt(A),xt(c),M?(g=+(0|M),b=A,r=f=0|i[A>>2],s=p=0|i[(y=A+4|0)>>2],n=m=0|i[(x=A+8|0)>>2],v=+((0|i[c>>2])-f|0)/g,_=+((0|i[c+4>>2])-p|0)/g,g=+((0|i[c+8>>2])-m|0)/g):(y=s=A+4|0,x=n=A+8|0,b=A,r=0|i[A>>2],s=0|i[s>>2],n=0|i[n>>2],v=0,_=0,g=0),i[T>>2]=r,i[(m=T+4|0)>>2]=s,i[(p=T+8|0)>>2]=n;t:do{if((0|M)<0)s=0;else for(d=0,f=0,s=r;;){C=v*(h=+(f>>>0)+4294967296*+(0|d))+ +(0|s),u=_*h+ +(0|i[y>>2]),h=g*h+ +(0|i[x>>2]),n=~~+Ve(+C),A=~~+Ve(+u),s=~~+Ve(+h),C=+l(+(+(0|n)-C)),u=+l(+(+(0|A)-u)),h=+l(+(+(0|s)-h));do{if(!(C>u&C>h)){if(c=0-n|0,u>h){r=c-s|0;break}r=A,s=c-A|0;break}n=0-(A+s)|0,r=A}while(0);if(i[T>>2]=n,i[m>>2]=r,i[p>>2]=s,bt(T),0|(s=0|ce(t,e,T,a+(f<<3)|0)))break t;if(!((0|d)<(0|w)|(0|d)==(0|w)&f>>>0>>0)){s=0;break t}s=0|De(0|f,0|d,1,0),d=c=0|E(),f=s,s=0|i[b>>2]}}while(0);return D=o,0|(T=s)}return D=o,0|(T=s)},_gridPathCellsSize:function(t,e,n,r,a){n|=0,r|=0,a|=0;var o,s=0,A=0,l=0;return o=D,D=D+32|0,l=o,(s=0|le(t|=0,e|=0,t,e,A=o+12|0))||(s=0|le(t,e,n,r,l))?(D=o,0|(l=s)):(r=0|De(0|(r=0|vt(A,l)),((0|r)<0)<<31>>31|0,1,0),A=0|E(),i[(l=a)>>2]=r,i[l+4>>2]=A,D=o,0|(l=0))},_gridRingUnsafe:function(t,e,n,r){t|=0,e|=0,n|=0,r|=0;var a,o,s=0,A=0,l=0,c=0,u=0,h=0,d=0,f=0,p=0;if(o=D,D=D+16|0,p=o+8|0,i[(f=a=o)>>2]=t,i[f+4>>2]=e,!n)return i[(p=r)>>2]=t,i[p+4>>2]=e,D=o,0|(p=0);i[p>>2]=0;t:do{if(0|Nt(t,e))t=9;else{if(A=(0|n)>0){s=0,f=t;do{if(0|(t=0|N(f,e,4,p,a)))break t;if(s=s+1|0,0|Nt(f=0|i[(e=a)>>2],e=0|i[e+4>>2])){t=9;break t}}while((0|s)<(0|n));if(i[(d=r)>>2]=f,i[d+4>>2]=e,d=n+-1|0,A){h=0,t=1;do{if(s=22384+(h<<2)|0,5==(0|h))for(l=0|i[s>>2],A=0,s=t;;){if(0|(t=0|N(0|i[(t=a)>>2],0|i[t+4>>2],l,p,a)))break t;if((0|A)!=(0|d)){if(c=0|i[(u=a)>>2],u=0|i[u+4>>2],i[(t=r+(s<<3)|0)>>2]=c,i[t+4>>2]=u,0|Nt(c,u)){t=9;break t}t=s+1|0}else t=s;if((0|(A=A+1|0))>=(0|n))break;s=t}else for(l=a,u=0|i[s>>2],c=0,s=t,A=0|i[l>>2],l=0|i[l+4>>2];;){if(0|(t=0|N(A,l,u,p,a)))break t;if(A=0|i[(l=a)>>2],l=0|i[l+4>>2],i[(t=r+(s<<3)|0)>>2]=A,i[t+4>>2]=l,t=s+1|0,0|Nt(A,l)){t=9;break t}if((0|(c=c+1|0))>=(0|n))break;s=t}h=h+1|0}while(h>>>0<6);l=f,s=0|i[(t=a)>>2],A=e,t=0|i[t+4>>2]}else l=f,s=f,A=e,t=e}else i[(l=r)>>2]=t,i[l+4>>2]=e,l=t,s=t,A=e,t=e;t=(0|l)==(0|s)&(0|A)==(0|t)?0:9}}while(0);return D=o,0|(p=t)},_i64Add:De,_i64Subtract:Oe,_isPentagon:Nt,_isResClassIII:function(t,e){return e=0|ze(0|(t|=0),0|(e|=0),52),E(),1&e|0},_isValidCell:It,_isValidDirectedEdge:function(t,e){var n=0;switch(n=0|ze(0|(t|=0),0|(e|=0),56),E(),7&n){case 0:case 7:return 0|(n=0)}return n=-2130706433&e|134217728,!0&268435456==(2013265920&e|0)?!0&16777216==(117440512&e|0)&0!=(0|Nt(t,n))?0|(n=0):0|(n=0|It(t,n)):0|(n=0)},_isValidVertex:function(t,e){t|=0;var n,r,a=0,o=0;return r=D,D=D+16|0,n=r,!0&536870912==(2013265920&(e|=0)|0)&&0|It(t,a=-2130706433&e|134217728)?(o=0|ze(0|t,0|e,56),E(),a=(o=0==(0|ye(t,a,7&o,n)))&((0|i[(a=n)>>2])==(0|t)?(0|i[a+4>>2])==(0|e):0)&1,D=r,0|a):(D=r,0|(a=0))},_latLngToCell:jt,_llvm_maxnum_f64:He,_llvm_minnum_f64:je,_llvm_round_f64:Ve,_localIjToCell:function(t,e,n,r,i){var a,o;return t|=0,e|=0,n|=0,i|=0,o=D,D=D+16|0,a=o,(r|=0)?n=15:(n=0|yt(n,a))||(n=0|ce(t,e,a,i)),D=o,0|n},_malloc:Re,_maxFaceCount:function(t,e,n){n|=0;var r=0,a=0;if(a=0|ze(0|(t|=0),0|(e|=0),45),E(),!(0|F(127&a)))return a=2,i[n>>2]=a,0;if(a=0|ze(0|t,0|e,52),E(),!(a&=15))return a=5,i[n>>2]=a,0;for(r=1;;){if(!(0==((0|Ge(7,0,3*(15-r|0)|0))&t|0)&0==((0|E())&e|0))){r=2,t=6;break}if(!(r>>>0>>0)){r=5,t=6;break}r=r+1|0}return 6==(0|t)?(i[n>>2]=r,0):0},_maxGridDiskSize:function(t,e){e|=0;var n=0,r=0,a=0;return(0|(t|=0))<0?0|(e=2):(0|t)>13780509?0|(e=0|ee(15,e)):(a=0|Ne(0|t,0|(n=((0|t)<0)<<31>>31),3,0),r=0|E(),n=0|De(0|t,0|n,1,0),n=0|De(0|(n=0|Ne(0|a,0|r,0|n,0|E())),0|E(),1,0),t=0|E(),i[e>>2]=n,i[e+4>>2]=t,0|(e=0))},_maxPolygonToCellsSize:function(t,e,n,r){e|=0,r|=0;var a,o=0,s=0,A=0,l=0,c=0;if(a=D,D=D+48|0,o=a+16|0,s=a+8|0,A=a,0|(n|=0))return D=a,0|(A=15);if(l=0|i[(c=t|=0)+4>>2],i[(n=s)>>2]=i[c>>2],i[n+4>>2]=l,de(s,o),!(e=0|Y(o,e,A))){if(n=0|i[s>>2],(0|(s=0|i[t+8>>2]))>0){o=0|i[t+12>>2],e=0;do{n=(0|i[o+(e<<3)>>2])+n|0,e=e+1|0}while((0|e)<(0|s))}o=0|i[(e=A)>>2],(0|(e=0|i[e+4>>2]))<(0|(s=((0|n)<0)<<31>>31))|(0|e)==(0|s)&o>>>0>>0?(i[(e=A)>>2]=n,i[e+4>>2]=s,e=s):n=o,l=0|De(0|n,0|e,12,0),c=0|E(),i[(e=A)>>2]=l,i[e+4>>2]=c,i[(e=r)>>2]=l,i[e+4>>2]=c,e=0}return D=a,0|(c=e)},_memcpy:We,_memset:Xe,_originToDirectedEdges:function(t,e,n){n|=0;var r,a=0;return r=0==(0|Nt(t|=0,e|=0)),e&=-2130706433,i[(a=n)>>2]=r?t:0,i[a+4>>2]=r?285212672|e:0,i[(a=n+8|0)>>2]=t,i[a+4>>2]=301989888|e,i[(a=n+16|0)>>2]=t,i[a+4>>2]=318767104|e,i[(a=n+24|0)>>2]=t,i[a+4>>2]=335544320|e,i[(a=n+32|0)>>2]=t,i[a+4>>2]=352321536|e,i[(n=n+40|0)>>2]=t,i[n+4>>2]=369098752|e,0},_pentagonCount:function(){return 12},_polygonToCells:function(t,e,n,r){e|=0,r|=0;var a,o,s,A,l=0,c=0,u=0,h=0,d=0,f=0,p=0,m=0,g=0,v=0,_=0,y=0,x=0,b=0,M=0,w=0,S=0,T=0,C=0,R=0,P=0,L=0,O=0,I=0,N=0,B=0,F=0;if(A=D,D=D+112|0,a=A+80|0,d=A+72|0,o=A,s=A+56|0,0|(n|=0))return D=A,0|(F=15);if(!(F=0|Re(32+(i[(f=(t|=0)+8|0)>>2]<<5)|0)))return D=A,0|(F=13);if(fe(t,F),B=0|i[(N=t)+4>>2],i[(n=d)>>2]=i[N>>2],i[n+4>>2]=B,de(d,a),n=0|Y(a,e,o))N=0,B=0;else{if(n=0|i[d>>2],(0|(c=0|i[f>>2]))>0){u=0|i[t+12>>2],l=0;do{n=(0|i[u+(l<<3)>>2])+n|0,l=l+1|0}while((0|l)!=(0|c));l=n}else l=n;c=0|i[(n=o)>>2],(0|(n=0|i[n+4>>2]))<(0|(u=((0|l)<0)<<31>>31))|(0|n)==(0|u)&c>>>0>>0?(i[(n=o)>>2]=l,i[n+4>>2]=u,n=u):l=c,N=0|De(0|l,0|n,12,0),B=0|E(),i[(n=o)>>2]=N,i[n+4>>2]=B,n=0}if(0|n)return Pe(F),D=A,0|(F=n);if(!(l=0|Le(N,8)))return Pe(F),D=A,0|(F=13);if(!(h=0|Le(N,8)))return Pe(F),Pe(l),D=A,0|(F=13);i[(O=a)>>2]=0,i[O+4>>2]=0,I=0|i[(O=t)+4>>2],i[(n=d)>>2]=i[O>>2],i[n+4>>2]=I,n=0|k(d,N,B,e,a,l,h);t:do{if(n)Pe(l),Pe(h),Pe(F);else{e:do{if((0|i[f>>2])>0){for(u=t+12|0,c=0;n=0|k((0|i[u>>2])+(c<<3)|0,N,B,e,a,l,h),c=c+1|0,!(0|n);)if((0|c)>=(0|i[f>>2]))break e;Pe(l),Pe(h),Pe(F);break t}}while(0);(0|B)>0|0==(0|B)&N>>>0>0&&Xe(0|h,0,N<<3|0),O=0|i[(I=a)+4>>2];e:do{if((0|O)>0|0==(0|O)&(0|i[I>>2])>>>0>0){R=l,P=h,L=l,O=h,I=l,n=l,S=l,T=h,C=h,l=h;n:for(;;){for(x=0,b=0,M=0,w=0,c=0,u=0;;){d=(h=o)+56|0;do{i[h>>2]=0,h=h+4|0}while((0|h)<(0|d));if(0|q(f=0|i[(e=R+(x<<3)|0)>>2],e=0|i[e+4>>2],1,o,0)){d=(h=o)+56|0;do{i[h>>2]=0,h=h+4|0}while((0|h)<(0|d));0|(h=0|Le(7,4))&&(U(f,e,1,o,h,7,0,0),Pe(h))}for(y=0;;){v=0|i[(_=o+(y<<3)|0)>>2],_=0|i[_+4>>2];r:do{if(0==(0|v)&0==(0|_))h=c,d=u;else{if(p=0|ke(0|v,0|_,0|N,0|B),f=0|E(),!(0==(0|(d=0|i[(e=h=r+(p<<3)|0)>>2]))&0==(0|(e=0|i[e+4>>2])))){m=0,g=0;do{if((0|m)>(0|B)|(0|m)==(0|B)&g>>>0>N>>>0)break n;if((0|d)==(0|v)&(0|e)==(0|_)){h=c,d=u;break r}p=0|Be(0|(h=0|De(0|p,0|f,1,0)),0|E(),0|N,0|B),f=0|E(),g=0|De(0|g,0|m,1,0),m=0|E(),d=0|i[(e=h=r+(p<<3)|0)>>2],e=0|i[e+4>>2]}while(!(0==(0|d)&0==(0|e)))}0==(0|v)&0==(0|_)?(h=c,d=u):(Xt(v,_,s),0|pe(t,F,s)&&(g=0|De(0|c,0|u,1,0),u=0|E(),i[(m=h)>>2]=v,i[m+4>>2]=_,i[(c=P+(c<<3)|0)>>2]=v,i[c+4>>2]=_,c=g),h=c,d=u)}}while(0);if((y=y+1|0)>>>0>=7)break;c=h,u=d}if(x=0|De(0|x,0|b,1,0),b=0|E(),M=0|De(0|M,0|w,1,0),w=0|E(),c=0|i[(u=a)>>2],!((0|w)<(0|(u=0|i[u+4>>2]))|(0|w)==(0|u)&M>>>0>>0))break;c=h,u=d}if((0|u)>0|0==(0|u)&c>>>0>0){c=0,u=0;do{i[(w=R+(c<<3)|0)>>2]=0,i[w+4>>2]=0,c=0|De(0|c,0|u,1,0),u=0|E(),M=0|i[(w=a)+4>>2]}while((0|u)<(0|M)|((0|u)==(0|M)?c>>>0<(0|i[w>>2])>>>0:0))}if(i[(w=a)>>2]=h,i[w+4>>2]=d,!((0|d)>0|0==(0|d)&h>>>0>0))break e;y=l,x=C,b=I,M=T,w=P,l=S,C=n,T=L,S=y,n=x,I=O,O=b,L=M,P=R,R=w}Pe(L),Pe(O),Pe(F),n=1;break t}n=h}while(0);Pe(F),Pe(l),Pe(n),n=0}}while(0);return D=A,0|(F=n)},_readInt64AsDoubleFromPointer:function(t){return+(+((0|i[(t|=0)>>2])>>>0)+4294967296*+(0|i[t+4>>2]))},_res0CellCount:function(){return 122},_round:Qe,_sbrk:Ye,_sizeOfCellBoundary:function(){return 168},_sizeOfCoordIJ:function(){return 8},_sizeOfGeoLoop:function(){return 8},_sizeOfGeoPolygon:function(){return 16},_sizeOfH3Index:function(){return 8},_sizeOfLatLng:function(){return 16},_sizeOfLinkedGeoPolygon:function(){return 12},_uncompactCells:function(t,e,n,r,a,o,s){t|=0,r|=0,a|=0,o|=0;var A,l=0,c=0,u=0,h=0,d=0,f=0,p=0,m=0;if(A=D,D=D+16|0,m=A,!((0|(n|=0))>0|0==(0|n)&(e|=0)>>>0>0))return D=A,0|(m=0);if((0|(s|=0))>=16)return D=A,0|(m=12);f=0,p=0,d=0,l=0;t:for(;;){if(h=0|ze(0|(c=0|i[(u=t+(f<<3)|0)>>2]),0|(u=0|i[u+4>>2]),52),E(),(15&h|0)>(0|s)){l=12,c=11;break}if(Zt(m,c,u,s),0==(0|(u=0|i[(h=m)>>2]))&0==(0|(h=0|i[h+4>>2])))c=d;else{c=d;do{if(!((0|l)<(0|o)|(0|l)==(0|o)&c>>>0>>0)){c=10;break t}i[(d=r+(c<<3)|0)>>2]=u,i[d+4>>2]=h,c=0|De(0|c,0|l,1,0),l=0|E(),Kt(m),u=0|i[(d=m)>>2],h=0|i[d+4>>2]}while(!(0==(0|u)&0==(0|h)))}if(f=0|De(0|f,0|p,1,0),!((0|(p=0|E()))<(0|n)|(0|p)==(0|n)&f>>>0>>0)){l=0,c=11;break}d=c}return 10==(0|c)?(D=A,0|(m=14)):11==(0|c)?(D=A,0|l):0},_uncompactCellsSize:function(t,e,n,r,a){t|=0,e|=0,n|=0,r|=0,a|=0;var o,s,A=0,l=0,c=0,u=0,h=0,d=0;s=D,D=D+16|0,o=s;t:do{if((0|n)>0|0==(0|n)&e>>>0>0){for(h=0,l=0,A=0,d=0;;){if(!(0==(0|(c=0|i[(u=t+(h<<3)|0)>>2]))&0==(0|(u=0|i[u+4>>2]))||(u=0==(0|Ut(c,u,r,o)),l=0|De(0|i[(c=o)>>2],0|i[c+4>>2],0|l,0|A),A=0|E(),u))){A=12;break}if(h=0|De(0|h,0|d,1,0),!((0|(d=0|E()))<(0|n)|(0|d)==(0|n)&h>>>0>>0))break t}return D=s,0|A}l=0,A=0}while(0);return i[a>>2]=l,i[a+4>>2]=A,D=s,0|(a=0)},_vertexToLatLng:function(t,e,n){n|=0;var r,a,o,s,A=0,l=0;return s=D,D=D+192|0,a=s,o=s+168|0,A=0|ze(0|(t|=0),0|(e|=0),56),E(),A&=7,0|(r=0|Wt(t,l=-2130706433&e|134217728,o))?(D=s,0|(l=r)):(e=0|ze(0|t,0|e,52),E(),e&=15,0|Nt(t,l)?Tt(o,e,A,1,a):Lt(o,e,A,1,a),l=a+8|0,i[n>>2]=i[l>>2],i[n+4>>2]=i[l+4>>2],i[n+8>>2]=i[l+8>>2],i[n+12>>2]=i[l+12>>2],D=s,0|(l=0))},establishStackSpace:function(t,e){D=t|=0},stackAlloc:function(t){var e;return e=D,D=(D=D+(t|=0)|0)+15&-16,0|e},stackRestore:function(t){D=t|=0},stackSave:function(){return 0|D}}}({Math:Math,Int8Array:Int8Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Float32Array:Float32Array,Float64Array:Float64Array},{a:gt,b:function(t){g=t},c:function(){return g},d:function(t,e,n,r){gt("Assertion failed: "+P(t)+", at: "+[e?P(e):"unknown filename",n,r?P(r):"unknown function"])},e:function(t){return n.___errno_location&&(S[n.___errno_location()>>2]=t),t},f:$,g:function(t,e,n){w.set(w.subarray(e,e+n),t)},h:function(t){var e=$(),n=16777216,r=2130706432;if(t>r)return!1;for(var i=Math.max(e,16777216);i>0]=e;break;case"i16":E[t>>1]=e;break;case"i32":S[t>>2]=e;break;case"i64":W=[e>>>0,(V=e,+k(V)>=1?V>0?(0|G(+z(V/4294967296),4294967295))>>>0:~~+F((V-+(~~V>>>0))/4294967296)>>>0:0)],S[t>>2]=W[0],S[t+4>>2]=W[1];break;case"float":T[t>>2]=e;break;case"double":C[t>>3]=e;break;default:gt("invalid type for setValue: "+n)}},n.getValue=function(t,e,n){switch("*"===(e=e||"i8").charAt(e.length-1)&&(e="i32"),e){case"i1":case"i8":return M[t>>0];case"i16":return E[t>>1];case"i32":case"i64":return S[t>>2];case"float":return T[t>>2];case"double":return C[t>>3];default:gt("invalid type for getValue: "+e)}return null},X)if(Y(X)||(ot=X,X=n.locateFile?n.locateFile(ot,f):f+ot),A||s){var ut=u(X);w.set(ut,8)}else{H++,n.monitorRunDependencies&&n.monitorRunDependencies(H);var ht=function(t){t.byteLength&&(t=new Uint8Array(t)),w.set(t,8),n.memoryInitializerRequest&&delete n.memoryInitializerRequest.response,function(t){if(H--,n.monitorRunDependencies&&n.monitorRunDependencies(H),0==H&&j){var e=j;j=null,e()}}()},dt=function(){c(X,ht,(function(){throw"could not load memory initializer "+X}))},ft=rt(X);if(ft)ht(ft.buffer);else if(n.memoryInitializerRequest){var pt=function(){var t=n.memoryInitializerRequest,e=t.response;if(200!==t.status&&0!==t.status){var r=rt(n.memoryInitializerRequestURL);if(!r)return console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+t.status+", retrying "+X),void dt();e=r.buffer}ht(e)};n.memoryInitializerRequest.response?setTimeout(pt,0):n.memoryInitializerRequest.addEventListener("load",pt)}else dt()}function mt(t){function e(){st||(st=!0,v||(I(U),I(N),n.onRuntimeInitialized&&n.onRuntimeInitialized(),function(){if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)t=n.postRun.shift(),B.unshift(t);var t;I(B)}()))}H>0||(!function(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)t=n.preRun.shift(),q.unshift(t);var t;I(q)}(),H>0||(n.setStatus?(n.setStatus("Running..."),setTimeout((function(){setTimeout((function(){n.setStatus("")}),1),e()}),1)):e()))}function gt(t){throw n.onAbort&&n.onAbort(t),p(t+=""),m(t),v=!0,"abort("+t+"). Build with -s ASSERTIONS=1 for more info."}if(j=function t(){st||mt(),st||(j=t)},n.run=mt,n.abort=gt,n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();return mt(),t}("object"==typeof Bm?Bm:{}),km="number",Fm=[["sizeOfH3Index",km],["sizeOfLatLng",km],["sizeOfCellBoundary",km],["sizeOfGeoLoop",km],["sizeOfGeoPolygon",km],["sizeOfLinkedGeoPolygon",km],["sizeOfCoordIJ",km],["readInt64AsDoubleFromPointer",km],["isValidCell",km,[km,km]],["latLngToCell",km,[km,km,km,km]],["cellToLatLng",km,[km,km,km]],["cellToBoundary",km,[km,km,km]],["maxGridDiskSize",km,[km,km]],["gridDisk",km,[km,km,km,km]],["gridDiskDistances",km,[km,km,km,km,km]],["gridRingUnsafe",km,[km,km,km,km]],["maxPolygonToCellsSize",km,[km,km,km,km]],["polygonToCells",km,[km,km,km,km]],["cellsToLinkedMultiPolygon",km,[km,km,km]],["destroyLinkedMultiPolygon",null,[km]],["compactCells",km,[km,km,km,km]],["uncompactCells",km,[km,km,km,km,km,km]],["uncompactCellsSize",km,[km,km,km,km,km]],["isPentagon",km,[km,km]],["isResClassIII",km,[km,km]],["getBaseCellNumber",km,[km,km]],["getResolution",km,[km,km]],["maxFaceCount",km,[km,km,km]],["getIcosahedronFaces",km,[km,km,km]],["cellToParent",km,[km,km,km,km]],["cellToChildren",km,[km,km,km,km]],["cellToCenterChild",km,[km,km,km,km]],["cellToChildrenSize",km,[km,km,km,km]],["cellToChildPos",km,[km,km,km,km]],["childPosToCell",km,[km,km,km,km,km,km]],["areNeighborCells",km,[km,km,km,km,km]],["cellsToDirectedEdge",km,[km,km,km,km,km]],["getDirectedEdgeOrigin",km,[km,km,km]],["getDirectedEdgeDestination",km,[km,km,km]],["isValidDirectedEdge",km,[km,km]],["directedEdgeToCells",km,[km,km,km]],["originToDirectedEdges",km,[km,km,km]],["directedEdgeToBoundary",km,[km,km,km]],["gridDistance",km,[km,km,km,km,km]],["gridPathCells",km,[km,km,km,km,km]],["gridPathCellsSize",km,[km,km,km,km,km]],["cellToLocalIj",km,[km,km,km,km,km,km]],["localIjToCell",km,[km,km,km,km,km]],["getHexagonAreaAvgM2",km,[km,km]],["getHexagonAreaAvgKm2",km,[km,km]],["getHexagonEdgeLengthAvgM",km,[km,km]],["getHexagonEdgeLengthAvgKm",km,[km,km]],["greatCircleDistanceM",km,[km,km]],["greatCircleDistanceKm",km,[km,km]],["greatCircleDistanceRads",km,[km,km]],["cellAreaM2",km,[km,km,km]],["cellAreaKm2",km,[km,km,km]],["cellAreaRads2",km,[km,km,km]],["edgeLengthM",km,[km,km,km]],["edgeLengthKm",km,[km,km,km]],["edgeLengthRads",km,[km,km,km]],["getNumCells",km,[km,km]],["getRes0Cells",km,[km]],["res0CellCount",km],["getPentagons",km,[km,km]],["pentagonCount",km],["cellToVertex",km,[km,km,km,km]],["cellToVertexes",km,[km,km,km]],["vertexToLatLng",km,[km,km,km]],["isValidVertex",km,[km,km]]],zm=4,Gm={0:"Success",1:"The operation failed but a more specific error is not available",2:"Argument was outside of acceptable range",3:"Latitude or longitude arguments were outside of acceptable range"}; +/* + * Copyright 2018-2019, 2022 Uber Technologies, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */Gm[zm]="Resolution argument was outside of acceptable range",Gm[5]="Cell argument was not valid",Gm[6]="Directed edge argument was not valid",Gm[7]="Undirected edge argument was not valid",Gm[8]="Vertex argument was not valid",Gm[9]="Pentagon distortion was encountered",Gm[10]="Duplicate input",Gm[11]="Cell arguments were not neighbors",Gm[12]="Cell arguments had incompatible resolutions",Gm[13]="Memory allocation failed",Gm[14]="Bounds of provided memory were insufficient",Gm[15]="Mode or flags argument was not valid";var Hm=1001,jm=1002,Vm={1e3:"Unknown unit"};Vm[Hm]="Array length out of bounds",Vm[jm]="Got unexpected null value for H3 index";var Wm="Unknown error";function Xm(t,e,n){var r=n&&"value"in n,i=new Error((t[e]||Wm)+" (code: "+e+(r?", value: "+n.value:"")+")");return i.code=e,i}function Qm(t,e){return Xm(Gm,t,2===arguments.length?{value:e}:{})}function Ym(t,e){return Xm(Vm,t,2===arguments.length?{value:e}:{})}function Zm(t){if(0!==t)throw Qm(t)} +/* + * Copyright 2018-2019, 2022 Uber Technologies, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */var Km={};Fm.forEach((function(t){Km[t[0]]=Bm.cwrap.apply(Bm,t)}));var Jm=16,$m=4,tg=8,eg=Km.sizeOfH3Index(),ng=Km.sizeOfLatLng(),rg=Km.sizeOfCellBoundary(),ig=Km.sizeOfGeoPolygon(),ag=Km.sizeOfGeoLoop();Km.sizeOfLinkedGeoPolygon(),Km.sizeOfCoordIJ();var og=Math.pow(2,32)-1;var sg=/[^0-9a-fA-F]/;function Ag(t){if(Array.isArray(t)&&2===t.length&&Number.isInteger(t[0])&&Number.isInteger(t[1]))return t;if("string"!=typeof t||sg.test(t))return[0,0];var e=parseInt(t.substring(0,t.length-8),Jm);return[parseInt(t.substring(t.length-8),Jm),e]}function lg(t){if(t>=0)return t.toString(Jm);var e=cg(8,(t&=2147483647).toString(Jm));return e=(parseInt(e[0],Jm)+8).toString(Jm)+e.substring(1)}function cg(t,e){for(var n=t-e.length,r="",i=0;i15||Math.floor(t)!==t)throw Qm(zm,t)}(e),n=Boolean(n),0===t.length||0===t[0].length)return[];var r,i=function(t,e){var n,r=t.length-1,i=Bm._calloc(ig),a=0+ag,o=a+$m;if(ug(t[0],i+0,e),r>0){n=Bm._calloc(r,ag);for(var s=0;sog)throw Ym(Hm,t);return t}((r=a,Km.readInt64AsDoubleFromPointer(r))),s=Bm._calloc(o,eg);try{return Zm(Km.polygonToCells(i,e,0,s)),function(t,e){for(var n=[],r=0;r0){for(var a=Bm.getValue(t+n,"i32"),o=0;o=4&&n<16){this.subdivide();for(var r=0;rs.x&&(A+=1),a>s.y&&(A+=2),o>s.z&&(A+=4);var l=function(t,e){if(0===e)return t.q0;if(1===e)return t.q1;if(2===e)return t.q2;if(3===e)return t.q3;if(4===e)return t.q4;if(5===e)return t.q5;if(6===e)return t.q6;if(7===e)return t.q7}(this,A);l.insert(t,e,n+1)}},Eg.prototype.query=function(t,e,n,r){if(n(this.bounds)){var i=this.items,a="function"==typeof r;if(i)for(var o=0;oe.x+r&&(n-=a(t-(e.x+r))),ie.y+r&&(n-=a(i-(e.y+r))),oe.z+r&&(n-=a(o-(e.z+r))),n>0}function u(e,n,r){return a(e-t)+a(n-i)+a(r-o)a&&(a=l),co&&(o=c),us&&(s=u)}var h=Math.max(Math.max(a-n,o-r),s-i),d=(h+=2)/2,f=new Tg((n-=1)+d,(r-=1)+d,(i-=1)+d,d);return new Cg(f)}};var Dg=QA(Lg);const Og=window.THREE?window.THREE:{Box3:Ae,BufferGeometry:zn,Float32BufferAttribute:On,InstancedBufferGeometry:class extends zn{constructor(){super(),this.isInstancedBufferGeometry=!0,this.type="InstancedBufferGeometry",this.instanceCount=1/0}copy(t){return super.copy(t),this.instanceCount=t.instanceCount,this}toJSON(){const t=super.toJSON();return t.instanceCount=this.instanceCount,t.isInstancedBufferGeometry=!0,t}},InstancedInterleavedBuffer:Vs,InterleavedBufferAttribute:go,Sphere:Se,Vector3:ae,WireframeGeometry:class extends zn{constructor(t=null){if(super(),this.type="WireframeGeometry",this.parameters={geometry:t},null!==t){const e=[],n=new Set,r=new ae,i=new ae;if(null!==t.index){const a=t.attributes.position,o=t.index;let s=t.groups;0===s.length&&(s=[{start:0,count:o.count,materialIndex:0}]);for(let t=0,A=s.length;t\n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\n\t\tuniform float linewidth;\n\t\tuniform vec2 resolution;\n\n\t\tattribute vec3 instanceStart;\n\t\tattribute vec3 instanceEnd;\n\n\t\tattribute vec3 instanceColorStart;\n\t\tattribute vec3 instanceColorEnd;\n\n\t\tvarying vec2 vUv;\n\t\tvarying vec4 worldPos;\n\t\tvarying vec3 worldStart;\n\t\tvarying vec3 worldEnd;\n\n\t\t#ifdef USE_DASH\n\n\t\t\tuniform float dashScale;\n\t\t\tattribute float instanceDistanceStart;\n\t\t\tattribute float instanceDistanceEnd;\n\t\t\tvarying float vLineDistance;\n\n\t\t#endif\n\n\t\tvoid trimSegment( const in vec4 start, inout vec4 end ) {\n\n\t\t\t// trim end segment so it terminates between the camera plane and the near plane\n\n\t\t\t// conservative estimate of the near plane\n\t\t\tfloat a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column\n\t\t\tfloat b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column\n\t\t\tfloat nearEstimate = - 0.5 * b / a;\n\n\t\t\tfloat alpha = ( nearEstimate - start.z ) / ( end.z - start.z );\n\n\t\t\tend.xyz = mix( start.xyz, end.xyz, alpha );\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\t#ifdef USE_COLOR\n\n\t\t\t\tvColor.xyz = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd;\n\n\t\t\t#endif\n\n\t\t\t#ifdef USE_DASH\n\n\t\t\t\tvLineDistance = ( position.y < 0.5 ) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd;\n\n\t\t\t#endif\n\n\t\t\tfloat aspect = resolution.x / resolution.y;\n\n\t\t\tvUv = uv;\n\n\t\t\t// camera space\n\t\t\tvec4 start = modelViewMatrix * vec4( instanceStart, 1.0 );\n\t\t\tvec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 );\n\n\t\t\tworldStart = start.xyz;\n\t\t\tworldEnd = end.xyz;\n\n\t\t\t// special case for perspective projection, and segments that terminate either in, or behind, the camera plane\n\t\t\t// clearly the gpu firmware has a way of addressing this issue when projecting into ndc space\n\t\t\t// but we need to perform ndc-space calculations in the shader, so we must address this issue directly\n\t\t\t// perhaps there is a more elegant solution -- WestLangley\n\n\t\t\tbool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column\n\n\t\t\tif ( perspective ) {\n\n\t\t\t\tif ( start.z < 0.0 && end.z >= 0.0 ) {\n\n\t\t\t\t\ttrimSegment( start, end );\n\n\t\t\t\t} else if ( end.z < 0.0 && start.z >= 0.0 ) {\n\n\t\t\t\t\ttrimSegment( end, start );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// clip space\n\t\t\tvec4 clipStart = projectionMatrix * start;\n\t\t\tvec4 clipEnd = projectionMatrix * end;\n\n\t\t\t// ndc space\n\t\t\tvec3 ndcStart = clipStart.xyz / clipStart.w;\n\t\t\tvec3 ndcEnd = clipEnd.xyz / clipEnd.w;\n\n\t\t\t// direction\n\t\t\tvec2 dir = ndcEnd.xy - ndcStart.xy;\n\n\t\t\t// account for clip-space aspect ratio\n\t\t\tdir.x *= aspect;\n\t\t\tdir = normalize( dir );\n\n\t\t\t#ifdef WORLD_UNITS\n\n\t\t\t\t// get the offset direction as perpendicular to the view vector\n\t\t\t\tvec3 worldDir = normalize( end.xyz - start.xyz );\n\t\t\t\tvec3 offset;\n\t\t\t\tif ( position.y < 0.5 ) {\n\n\t\t\t\t\toffset = normalize( cross( start.xyz, worldDir ) );\n\n\t\t\t\t} else {\n\n\t\t\t\t\toffset = normalize( cross( end.xyz, worldDir ) );\n\n\t\t\t\t}\n\n\t\t\t\t// sign flip\n\t\t\t\tif ( position.x < 0.0 ) offset *= - 1.0;\n\n\t\t\t\tfloat forwardOffset = dot( worldDir, vec3( 0.0, 0.0, 1.0 ) );\n\n\t\t\t\t// don't extend the line if we're rendering dashes because we\n\t\t\t\t// won't be rendering the endcaps\n\t\t\t\t#ifndef USE_DASH\n\n\t\t\t\t\t// extend the line bounds to encompass endcaps\n\t\t\t\t\tstart.xyz += - worldDir * linewidth * 0.5;\n\t\t\t\t\tend.xyz += worldDir * linewidth * 0.5;\n\n\t\t\t\t\t// shift the position of the quad so it hugs the forward edge of the line\n\t\t\t\t\toffset.xy -= dir * forwardOffset;\n\t\t\t\t\toffset.z += 0.5;\n\n\t\t\t\t#endif\n\n\t\t\t\t// endcaps\n\t\t\t\tif ( position.y > 1.0 || position.y < 0.0 ) {\n\n\t\t\t\t\toffset.xy += dir * 2.0 * forwardOffset;\n\n\t\t\t\t}\n\n\t\t\t\t// adjust for linewidth\n\t\t\t\toffset *= linewidth * 0.5;\n\n\t\t\t\t// set the world position\n\t\t\t\tworldPos = ( position.y < 0.5 ) ? start : end;\n\t\t\t\tworldPos.xyz += offset;\n\n\t\t\t\t// project the worldpos\n\t\t\t\tvec4 clip = projectionMatrix * worldPos;\n\n\t\t\t\t// shift the depth of the projected points so the line\n\t\t\t\t// segements overlap neatly\n\t\t\t\tvec3 clipPose = ( position.y < 0.5 ) ? ndcStart : ndcEnd;\n\t\t\t\tclip.z = clipPose.z * clip.w;\n\n\t\t\t#else\n\n\t\t\tvec2 offset = vec2( dir.y, - dir.x );\n\t\t\t// undo aspect ratio adjustment\n\t\t\tdir.x /= aspect;\n\t\t\toffset.x /= aspect;\n\n\t\t\t// sign flip\n\t\t\tif ( position.x < 0.0 ) offset *= - 1.0;\n\n\t\t\t// endcaps\n\t\t\tif ( position.y < 0.0 ) {\n\n\t\t\t\toffset += - dir;\n\n\t\t\t} else if ( position.y > 1.0 ) {\n\n\t\t\t\toffset += dir;\n\n\t\t\t}\n\n\t\t\t// adjust for linewidth\n\t\t\toffset *= linewidth;\n\n\t\t\t// adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ...\n\t\t\toffset /= resolution.y;\n\n\t\t\t// select end\n\t\t\tvec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd;\n\n\t\t\t// back to clip space\n\t\t\toffset *= clip.w;\n\n\t\t\tclip.xy += offset;\n\n\t\t\t#endif\n\n\t\t\tgl_Position = clip;\n\n\t\t\tvec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation\n\n\t\t\t#include \n\t\t\t#include \n\t\t\t#include \n\n\t\t}\n\t\t",fragmentShader:"\n\t\tuniform vec3 diffuse;\n\t\tuniform float opacity;\n\t\tuniform float linewidth;\n\n\t\t#ifdef USE_DASH\n\n\t\t\tuniform float dashOffset;\n\t\t\tuniform float dashSize;\n\t\t\tuniform float gapSize;\n\n\t\t#endif\n\n\t\tvarying float vLineDistance;\n\t\tvarying vec4 worldPos;\n\t\tvarying vec3 worldStart;\n\t\tvarying vec3 worldEnd;\n\n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\n\t\tvarying vec2 vUv;\n\n\t\tvec2 closestLineToLine(vec3 p1, vec3 p2, vec3 p3, vec3 p4) {\n\n\t\t\tfloat mua;\n\t\t\tfloat mub;\n\n\t\t\tvec3 p13 = p1 - p3;\n\t\t\tvec3 p43 = p4 - p3;\n\n\t\t\tvec3 p21 = p2 - p1;\n\n\t\t\tfloat d1343 = dot( p13, p43 );\n\t\t\tfloat d4321 = dot( p43, p21 );\n\t\t\tfloat d1321 = dot( p13, p21 );\n\t\t\tfloat d4343 = dot( p43, p43 );\n\t\t\tfloat d2121 = dot( p21, p21 );\n\n\t\t\tfloat denom = d2121 * d4343 - d4321 * d4321;\n\n\t\t\tfloat numer = d1343 * d4321 - d1321 * d4343;\n\n\t\t\tmua = numer / denom;\n\t\t\tmua = clamp( mua, 0.0, 1.0 );\n\t\t\tmub = ( d1343 + d4321 * ( mua ) ) / d4343;\n\t\t\tmub = clamp( mub, 0.0, 1.0 );\n\n\t\t\treturn vec2( mua, mub );\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\t#include \n\n\t\t\t#ifdef USE_DASH\n\n\t\t\t\tif ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps\n\n\t\t\t\tif ( mod( vLineDistance + dashOffset, dashSize + gapSize ) > dashSize ) discard; // todo - FIX\n\n\t\t\t#endif\n\n\t\t\tfloat alpha = opacity;\n\n\t\t\t#ifdef WORLD_UNITS\n\n\t\t\t\t// Find the closest points on the view ray and the line segment\n\t\t\t\tvec3 rayEnd = normalize( worldPos.xyz ) * 1e5;\n\t\t\t\tvec3 lineDir = worldEnd - worldStart;\n\t\t\t\tvec2 params = closestLineToLine( worldStart, worldEnd, vec3( 0.0, 0.0, 0.0 ), rayEnd );\n\n\t\t\t\tvec3 p1 = worldStart + lineDir * params.x;\n\t\t\t\tvec3 p2 = rayEnd * params.y;\n\t\t\t\tvec3 delta = p1 - p2;\n\t\t\t\tfloat len = length( delta );\n\t\t\t\tfloat norm = len / linewidth;\n\n\t\t\t\t#ifndef USE_DASH\n\n\t\t\t\t\t#ifdef ALPHA_TO_COVERAGE\n\n\t\t\t\t\t\tfloat dnorm = fwidth( norm );\n\t\t\t\t\t\talpha = 1.0 - smoothstep( 0.5 - dnorm, 0.5 + dnorm, norm );\n\n\t\t\t\t\t#else\n\n\t\t\t\t\t\tif ( norm > 0.5 ) {\n\n\t\t\t\t\t\t\tdiscard;\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t#endif\n\n\t\t\t#endif\n\n\t\t\t#else\n\n\t\t\t\t#ifdef ALPHA_TO_COVERAGE\n\n\t\t\t\t\t// artifacts appear on some hardware if a derivative is taken within a conditional\n\t\t\t\t\tfloat a = vUv.x;\n\t\t\t\t\tfloat b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;\n\t\t\t\t\tfloat len2 = a * a + b * b;\n\t\t\t\t\tfloat dlen = fwidth( len2 );\n\n\t\t\t\t\tif ( abs( vUv.y ) > 1.0 ) {\n\n\t\t\t\t\t\talpha = 1.0 - smoothstep( 1.0 - dlen, 1.0 + dlen, len2 );\n\n\t\t\t\t\t}\n\n\t\t\t\t#else\n\n\t\t\tif ( abs( vUv.y ) > 1.0 ) {\n\n\t\t\t\tfloat a = vUv.x;\n\t\t\t\tfloat b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;\n\t\t\t\tfloat len2 = a * a + b * b;\n\n\t\t\t\tif ( len2 > 1.0 ) discard;\n\n\t\t\t}\n\n\t\t\t\t#endif\n\n\t\t\t#endif\n\n\t\t\tvec4 diffuseColor = vec4( diffuse, alpha );\n\n\t\t\t#include \n\t\t\t#include \n\n\t\t\tgl_FragColor = vec4( diffuseColor.rgb, alpha );\n\n\t\t\t#include \n\t\t\t#include \n\t\t\t#include \n\t\t\t#include \n\n\t\t}\n\t\t"};class kg extends Bg.ShaderMaterial{constructor(t){super({type:"LineMaterial",uniforms:Bg.UniformsUtils.clone(Bg.ShaderLib.line.uniforms),vertexShader:Bg.ShaderLib.line.vertexShader,fragmentShader:Bg.ShaderLib.line.fragmentShader,clipping:!0}),Object.defineProperties(this,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(t){this.uniforms.diffuse.value=t}},worldUnits:{enumerable:!0,get:function(){return"WORLD_UNITS"in this.defines},set:function(t){!0===t?this.defines.WORLD_UNITS="":delete this.defines.WORLD_UNITS}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(t){this.uniforms.linewidth.value=t}},dashed:{enumerable:!0,get:function(){return Boolean("USE_DASH"in this.defines)},set(t){Boolean(t)!==Boolean("USE_DASH"in this.defines)&&(this.needsUpdate=!0),!0===t?this.defines.USE_DASH="":delete this.defines.USE_DASH}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(t){this.uniforms.dashScale.value=t}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(t){this.uniforms.dashSize.value=t}},dashOffset:{enumerable:!0,get:function(){return this.uniforms.dashOffset.value},set:function(t){this.uniforms.dashOffset.value=t}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(t){this.uniforms.gapSize.value=t}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(t){this.uniforms.opacity.value=t}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(t){this.uniforms.resolution.value.copy(t)}},alphaToCoverage:{enumerable:!0,get:function(){return Boolean("ALPHA_TO_COVERAGE"in this.defines)},set:function(t){Boolean(t)!==Boolean("ALPHA_TO_COVERAGE"in this.defines)&&(this.needsUpdate=!0),!0===t?(this.defines.ALPHA_TO_COVERAGE="",this.extensions.derivatives=!0):(delete this.defines.ALPHA_TO_COVERAGE,this.extensions.derivatives=!1)}}}),this.setValues(t)}}kg.prototype.isLineMaterial=!0;const Fg=window.THREE?window.THREE:{Box3:Ae,BufferGeometry:zn,InstancedInterleavedBuffer:Vs,InterleavedBufferAttribute:go,Line3:class{constructor(t=new ae,e=new ae){this.start=t,this.end=e}set(t,e){return this.start.copy(t),this.end.copy(e),this}copy(t){return this.start.copy(t.start),this.end.copy(t.end),this}getCenter(t){return t.addVectors(this.start,this.end).multiplyScalar(.5)}delta(t){return t.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(t,e){return this.delta(e).multiplyScalar(t).add(this.start)}closestPointToPointParameter(t,e){Ys.subVectors(t,this.start),Zs.subVectors(this.end,this.start);const n=Zs.dot(Zs);let r=Zs.dot(Ys)/n;return e&&(r=Mt(r,0,1)),r}closestPointToPoint(t,e,n){const r=this.closestPointToPointParameter(t,e);return this.delta(n).multiplyScalar(r).add(this.start)}applyMatrix4(t){return this.start.applyMatrix4(t),this.end.applyMatrix4(t),this}equals(t){return t.start.equals(this.start)&&t.end.equals(this.end)}clone(){return(new this.constructor).copy(this)}},MathUtils:Pt,Matrix4:qe,Mesh:ar,Sphere:Se,Vector3:ae,Vector4:$t};var zg=(new Fg.BufferGeometry).setAttribute?"setAttribute":"addAttribute";const Gg=new Fg.Vector3,Hg=new Fg.Vector3,jg=new Fg.Vector4,Vg=new Fg.Vector4,Wg=new Fg.Vector4,Xg=new Fg.Vector3,Qg=new Fg.Matrix4,Yg=new Fg.Line3,Zg=new Fg.Vector3,Kg=new Fg.Box3,Jg=new Fg.Sphere,$g=new Fg.Vector4;class tv extends Fg.Mesh{constructor(t=new Ng,e=new kg({color:16777215*Math.random()})){super(t,e),this.type="LineSegments2"}computeLineDistances(){const t=this.geometry,e=t.attributes.instanceStart,n=t.attributes.instanceEnd,r=new Float32Array(2*e.count);for(let t=0,i=0,a=e.count;td&&Vg.z>d)continue;if(jg.z>d){const t=jg.z-Vg.z,e=(jg.z-d)/t;jg.lerp(Vg,e)}else if(Vg.z>d){const t=Vg.z-jg.z,e=(Vg.z-d)/t;Vg.lerp(jg,e)}jg.applyMatrix4(a),Vg.applyMatrix4(a),jg.multiplyScalar(1/jg.w),Vg.multiplyScalar(1/Vg.w),jg.x*=l.x/2,jg.y*=l.y/2,Vg.x*=l.x/2,Vg.y*=l.y/2,Yg.start.copy(jg),Yg.start.z=0,Yg.end.copy(Vg),Yg.end.z=0;const n=Yg.closestPointToPointParameter(Xg,!0);Yg.at(n,Zg);const i=Fg.MathUtils.lerp(jg.z,Vg.z,n),s=i>=-1&&i<=1,A=Xg.distanceTo(Zg)<.5*c;if(s&&A){Yg.start.fromBufferAttribute(u,t),Yg.end.fromBufferAttribute(h,t),Yg.start.applyMatrix4(o),Yg.end.applyMatrix4(o);const n=new Fg.Vector3,i=new Fg.Vector3;r.distanceSqToSegment(Yg.start,Yg.end,i,n),e.push({point:i,pointOnLine:n,distance:r.origin.distanceTo(i),object:this,face:null,faceIndex:t,uv:null,uv2:null})}}}}}tv.prototype.LineSegments2=!0;class ev extends Ng{constructor(){super(),this.type="LineGeometry"}setPositions(t){for(var e=t.length-3,n=new Float32Array(2*e),r=0;r=0||(i[n]=t[n]);return i}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}function vv(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function _v(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,i,a,o,s=[],A=!0,l=!1;try{if(a=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;A=!1}else for(;!(A=(r=a.call(n)).done)&&(s.push(r.value),s.length!==e);A=!0);}catch(t){l=!0,i=t}finally{try{if(!A&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}(t,e)||xv(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function yv(t){return function(t){if(Array.isArray(t))return bv(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||xv(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function xv(t,e){if(t){if("string"==typeof t)return bv(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?bv(t,e):void 0}}function bv(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n1?i-1:0),o=1;o2&&void 0!==arguments[2]?arguments[2]:0,r=(90-t)*Math.PI/180,i=(90-e)*Math.PI/180,a=Dv*(1+n);return{x:a*Math.sin(r)*Math.cos(i),y:a*Math.cos(r),z:a*Math.sin(r)*Math.sin(i)}}function qv(t){var e=t.x,n=t.y,r=t.z,i=Math.sqrt(e*e+n*n+r*r),a=Math.acos(n/i),o=Math.atan2(r,e);return{lat:90-180*a/Math.PI,lng:90-180*o/Math.PI-(o<-Math.PI/2?360:0),altitude:i/Dv-1}}function Uv(t){return t*Math.PI/180}var Nv=window.THREE?window.THREE:{BackSide:g,BufferAttribute:Pn,Color:Mn,Mesh:ar,ShaderMaterial:hr},Bv="\nuniform vec3 color;\nuniform float coefficient;\nuniform float power;\nvarying vec3 vVertexNormal;\nvarying vec3 vVertexWorldPosition;\nvoid main() {\n vec3 worldCameraToVertex = vVertexWorldPosition - cameraPosition;\n vec3 viewCameraToVertex\t= (viewMatrix * vec4(worldCameraToVertex, 0.0)).xyz;\n viewCameraToVertex = normalize(viewCameraToVertex);\n float intensity\t= pow(\n coefficient + dot(vVertexNormal, viewCameraToVertex),\n power\n );\n gl_FragColor = vec4(color, intensity);\n}",kv="\nvarying vec3 vVertexWorldPosition;\nvarying vec3 vVertexNormal;\nvoid main() {\n vVertexNormal\t= normalize(normalMatrix * normal);\n vVertexWorldPosition = (modelMatrix * vec4(position, 1.0)).xyz;\n gl_Position\t= projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",Fv={backside:!0,coefficient:.5,color:"gold",size:2,power:1};function zv(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Fv,n=e.backside,r=e.coefficient,i=e.color,a=e.size,o=e.power,s=function(t,e){for(var n=t.clone(),r=new Float32Array(3*t.attributes.position.count),i=0,a=r.length;i1&&void 0!==arguments[1])||arguments[1],r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=1,a=/^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d.eE+-]+)\s*\)$/.exec(t.trim().toLowerCase());if(a){var o=_v(a.slice(1),4),s=o[0],A=o[1],l=o[2],c=o[3];e=new Mn("rgb(".concat(+s,",").concat(+A,",").concat(+l,")")),i=Math.min(+c,1)}else e=new Mn(t);r&&e.convertLinearToSRGB();var u=e.toArray();return n?[].concat(yv(u),[i]):u};var Xv=window.THREE?window.THREE:{Float32BufferAttribute:On};function Qv(t,e){var n=new(arguments.length>2&&void 0!==arguments[2]?arguments[2]:Xv.Float32BufferAttribute)(t.length*e,e);return 1===e?t.forEach((function(t,e){return n.setX(e,t)})):t.forEach((function(t,r){return n.set(t,r*e)})),n}function Yv(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=(arguments.length>3&&void 0!==arguments[3]?arguments[3]:{}).removeDelay,i=void 0===r?0:r;return Df(t,e.children,(function(t){return e.add(t)}),(function(t){var n=function(){e.remove(t),Pv(t),t&&t.hasOwnProperty("__data")&&delete t.__data.__currentTargetD};i?setTimeout(n,i):n()}),Av({objBindAttr:"__threeObj"},n))}var Zv=window.THREE?window.THREE:{BufferGeometry:zn,Color:Mn,CylinderGeometry:Yo,Matrix4:qe,Mesh:ar,MeshLambertMaterial:Ps,Object3D:sn,Vector3:ae},Kv=Object.assign({},Jh),Jv=Kv.BufferGeometryUtils||Kv,$v=NA({props:{pointsData:{default:[]},pointLat:{default:"lat"},pointLng:{default:"lng"},pointColor:{default:function(){return"#ffffaa"}},pointAltitude:{default:.1},pointRadius:{default:.25},pointResolution:{default:12,triggerUpdate:!1},pointsMerge:{default:!1},pointsTransitionDuration:{default:1e3,triggerUpdate:!1}},init:function(t,e){Pv(t),e.scene=t},update:function(t){var e=$h(t.pointLat),n=$h(t.pointLng),r=$h(t.pointAltitude),i=$h(t.pointRadius),a=$h(t.pointColor),o=new Zv.CylinderGeometry(1,1,1,t.pointResolution);o.applyMatrix4((new Zv.Matrix4).makeRotationX(Math.PI/2)),o.applyMatrix4((new Zv.Matrix4).makeTranslation(0,0,-.5));var s=2*Math.PI*Dv/360,A={},l=t.pointsMerge?new Zv.Object3D:t.scene;if(Yv(t.pointsData,l,{createObj:function(){var t=new Zv.Mesh(o);return t.__globeObjType="point",t},updateObj:function(o,l){var c=function(e){var n=o.__currentTargetD=e,r=n.r,i=n.alt,a=n.lat,A=n.lng;Object.assign(o.position,Iv(a,A));var l=t.pointsMerge?new Zv.Vector3(0,0,0):t.scene.localToWorld(new Zv.Vector3(0,0,0));o.lookAt(l),o.scale.x=o.scale.y=Math.min(30,r)*s,o.scale.z=Math.max(i*Dv,.1)},u={alt:+r(l),r:+i(l),lat:+e(l),lng:+n(l)},h=o.__currentTargetD||Object.assign({},u,{alt:-.001});Object.keys(u).some((function(t){return h[t]!==u[t]}))&&(t.pointsMerge||!t.pointsTransitionDuration||t.pointsTransitionDuration<0?c(u):new VA(h).to(u,t.pointsTransitionDuration).easing(kA.Quadratic.InOut).onUpdate(c).start());if(!t.pointsMerge){var d=a(l),f=d?Vv(d):0,p=!!f;o.visible=p,p&&(A.hasOwnProperty(d)||(A[d]=new Zv.MeshLambertMaterial({color:jv(d),transparent:f<1,opacity:f})),o.material=A[d])}}}),t.pointsMerge){var c=t.pointsData.length?(Jv.mergeGeometries||Jv.mergeBufferGeometries)(t.pointsData.map((function(t){var e=t.__threeObj;t.__threeObj=void 0;var n=e.geometry.clone();e.updateMatrix(),n.applyMatrix4(e.matrix);var r=Wv(a(t));return n.setAttribute("color",Qv(yv(new Array(n.getAttribute("position").count)).map((function(){return r})),4)),n}))):new Zv.BufferGeometry,u=new Zv.Mesh(c,new Zv.MeshLambertMaterial({color:16777215,transparent:!0,vertexColors:!0}));u.__globeObjType="points",u.__data=t.pointsData,Pv(t.scene),t.scene.add(u)}}}),t_=["stroke"],e_=window.THREE?window.THREE:{BufferGeometry:zn,CubicBezierCurve3:Fo,Curve:Ro,Group:oo,Line:Eo,Mesh:ar,NormalBlending:1,QuadraticBezierCurve3:Ho,ShaderMaterial:hr,TubeGeometry:Cs,Vector3:ae},n_=If.default||If,r_={uniforms:{dashOffset:{value:0},dashSize:{value:1},gapSize:{value:0},dashTranslate:{value:0}},vertexShader:"\n uniform float dashTranslate; \n\n attribute vec4 vertexColor;\n varying vec4 vColor;\n \n attribute float vertexRelDistance;\n varying float vRelDistance;\n\n void main() {\n // pass through colors and distances\n vColor = vertexColor;\n vRelDistance = vertexRelDistance + dashTranslate;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n ",fragmentShader:"\n uniform float dashOffset; \n uniform float dashSize;\n uniform float gapSize; \n \n varying vec4 vColor;\n varying float vRelDistance;\n \n void main() {\n // ignore pixels in the gap\n if (vRelDistance < dashOffset) discard;\n if (mod(vRelDistance - dashOffset, dashSize + gapSize) > dashSize) discard;\n \n // set px color: [r, g, b, a], interpolated between vertices \n gl_FragColor = vColor; \n }\n "},i_=NA({props:{arcsData:{default:[]},arcStartLat:{default:"startLat"},arcStartLng:{default:"startLng"},arcEndLat:{default:"endLat"},arcEndLng:{default:"endLng"},arcColor:{default:function(){return"#ffffaa"}},arcAltitude:{},arcAltitudeAutoScale:{default:.5},arcStroke:{},arcCurveResolution:{default:64,triggerUpdate:!1},arcCircularResolution:{default:6,triggerUpdate:!1},arcDashLength:{default:1},arcDashGap:{default:0},arcDashInitialGap:{default:0},arcDashAnimateTime:{default:0},arcsTransitionDuration:{default:1e3,triggerUpdate:!1}},methods:{pauseAnimation:function(t){var e;null===(e=t.ticker)||void 0===e||e.pause()},resumeAnimation:function(t){var e;null===(e=t.ticker)||void 0===e||e.resume()},_destructor:function(t){var e;null===(e=t.ticker)||void 0===e||e.dispose()}},init:function(t,e){Pv(t),e.scene=t,e.ticker=new n_,e.ticker.onTick.add((function(t,n){e.arcsData.filter((function(t){return t.__threeObj&&t.__threeObj.children.length&&t.__threeObj.children[0].material&&t.__threeObj.children[0].__dashAnimateStep})).forEach((function(t){var e=t.__threeObj.children[0],r=e.__dashAnimateStep*n,i=e.material.uniforms.dashTranslate.value%1e9;e.material.uniforms.dashTranslate.value=i+r}))}))},update:function(t){var e=$h(t.arcStartLat),n=$h(t.arcStartLng),r=$h(t.arcEndLat),i=$h(t.arcEndLng),a=$h(t.arcAltitude),o=$h(t.arcAltitudeAutoScale),s=$h(t.arcStroke),A=$h(t.arcColor),l=$h(t.arcDashLength),c=$h(t.arcDashGap),u=$h(t.arcDashInitialGap),h=$h(t.arcDashAnimateTime),d=new e_.ShaderMaterial(Av(Av({},r_),{},{transparent:!0,blending:e_.NormalBlending}));Yv(t.arcsData,t.scene,{createObj:function(){var t=new e_.Group;return t.__globeObjType="arc",t},updateObj:function(f,p){var m=s(p),g=null!=m;if(!f.children.length||g!==("Mesh"===f.children[0].type)){Pv(f);var v=g?new e_.Mesh:new e_.Line(new e_.BufferGeometry);v.material=d.clone(),f.add(v)}var _=f.children[0];Object.assign(_.material.uniforms,{dashSize:{value:l(p)},gapSize:{value:c(p)},dashOffset:{value:u(p)}});var y=h(p);_.__dashAnimateStep=y>0?1e3/y:0;var x=function(t,e){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=e+1;if(t instanceof Array||t instanceof Function){var a=t instanceof Array?bp().domain(t.map((function(e,n){return n/(t.length-1)}))).range(t):t;n=function(t){return Wv(a(t),!0,!0)}}else{var o=Wv(t,!0,!0);n=function(){return o}}for(var s=[],A=0,l=i;A1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=[],i=0,a=t+1;i170&&(t[0]+=n>e?360:-360)})),e.__globeObjType="hexbin",e},updateObj:function(e,n){var r=Math.max(0,Math.min(1,+s(n))),A=_v(e.__hexCenter,2),l=A[0],u=A[1],h=0===r?e.__hexGeoJson:e.__hexGeoJson.map((function(t){var e=_v(t,2),n=e[0],i=e[1];return[[n,u],[i,l]].map((function(t){var e=_v(t,2);return function(t,e,n){return t-(t-e)*n}(e[0],e[1],r)}))})),d=t.hexTopCurvatureResolution;e.geometry&&e.geometry.dispose(),e.geometry=new Nm([h],0,Dv,!1,!0,!0,d);var f={alt:+i(n)},p=function(t){var n=(e.__currentTargetD=t).alt;e.scale.x=e.scale.y=e.scale.z=1+n},m=e.__currentTargetD||Object.assign({},f,{alt:-.001});Object.keys(f).some((function(t){return m[t]!==f[t]}))&&(t.hexBinMerge||!t.hexTransitionDuration||t.hexTransitionDuration<0?p(f):new VA(m).to(f,t.hexTransitionDuration).easing(kA.Quadratic.InOut).onUpdate(p).start());if(!t.hexBinMerge){var g=o(n),v=a(n);[g,v].forEach((function(t){if(!c.hasOwnProperty(t)){var e=Vv(t);c[t]=new a_.MeshLambertMaterial({color:jv(t),transparent:e<1,opacity:e,side:a_.DoubleSide})}})),e.material=[g,v].map((function(t){return c[t]}))}},idAccessor:function(t){return t.h3Idx}}),t.hexBinMerge){var u=l.length?(s_.mergeGeometries||s_.mergeBufferGeometries)(l.map((function(t){var e=t.__threeObj;t.__threeObj=void 0;var n=e.geometry.toNonIndexed();e.updateMatrix(),n.applyMatrix4(e.matrix);var r=Wv(a(t)),i=Wv(o(t)),s=n.getAttribute("position").count,A=n.groups[0].count;return n.setAttribute("color",Qv(yv(new Array(s)).map((function(t,e){return e>=A?r:i})),4)),n}))):new a_.BufferGeometry,h=new a_.Mesh(u,new a_.MeshLambertMaterial({color:16777215,transparent:!0,vertexColors:!0,side:a_.DoubleSide}));h.__globeObjType="hexBinPoints",h.__data=l,Pv(t.scene),t.scene.add(h)}}}),l_=function(t){return t*t};var c_=Math.sqrt(2*Math.PI);var u_=function(t){var e=_v(t,2),n=e[0],r=e[1],i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=a.lngAccessor,s=void 0===o?function(t){return t[0]}:o,A=a.latAccessor,l=void 0===A?function(t){return t[1]}:A,c=a.weightAccessor,u=void 0===c?function(){return 1}:c,h=a.bandwidth,d=[n,r],f=h*Math.PI/180;return function(t,e){let n=0;if(void 0===e)for(let e of t)(e=+e)&&(n+=e);else{let r=-1;for(let i of t)(i=+e(i,++r,t))&&(n+=i)}return n}(i.map((function(t){var e=u(t);if(!e)return 0;var n,r,i=function(t,e){var n=Math.sqrt,r=Math.cos,i=function(t){return t*Math.PI/180},a=function(t){return l_(Math.sin(t/2))},o=i(t[1]),s=i(e[1]),A=i(t[0]),l=i(e[0]);return 2*Math.asin(n(a(s-o)+r(o)*r(s)*a(l-A)))}(d,[s(t),l(t)]);return n=i,r=f,Math.exp(-l_(n/r)/2)/(r*c_)*e})))},h_=window.THREE?window.THREE:{Mesh:ar,MeshLambertMaterial:Ps,SphereGeometry:Ts},d_=new WeakSet,f_=new WeakMap,p_=new WeakMap,m_=new WeakMap,g_=function(){function t(e,n){var r,i;cv(this,t),Sv(r=this,i=d_),i.add(r),Tv(this,f_,{writable:!0,value:void 0}),Tv(this,p_,{writable:!0,value:void 0}),Tv(this,m_,{writable:!0,value:void 0}),wv(this,f_,e),wv(this,p_,Dg()),Mv(this,p_).init(e.map((function(t){return[t.x,t.y,t.z]})).flat()),wv(this,m_,function(t,e,n){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return n}(this,d_,v_).call(this,Iv(0,0),Iv(0,Math.min(180,n))))}return hv(t,[{key:"getNearPoints",value:function(t,e,n){var r=this;return Mv(this,p_).intersectSphere(t,e,n,Mv(this,m_)).map((function(t){return Mv(r,f_)[t/3]}))}}]),t}();function v_(t,e){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)+Math.pow(t.z-e.z,2))}var __=function(t){var e=vd(function(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+t*(1172.33-t*(10793.56-t*(33300.12-t*(38394.49-14825.05*t)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+t*(557.33+t*(1225.33-t*(3574.96-t*(1073.77+707.56*t)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+t*(3211.1-t*(15327.97-t*(27814-t*(22569.18-6838.66*t)))))))+")"}(t));return e.opacity=Math.cbrt(t),e.formatRgb()},y_=NA({props:{heatmapsData:{default:[]},heatmapPoints:{default:function(t){return t}},heatmapPointLat:{default:function(t){return t[0]}},heatmapPointLng:{default:function(t){return t[1]}},heatmapPointWeight:{default:1},heatmapBandwidth:{default:4},heatmapColorFn:{default:function(){return __}},heatmapColorSaturation:{default:1.5},heatmapBaseAltitude:{default:.01},heatmapTopAltitude:{},heatmapsTransitionDuration:{default:0,triggerUpdate:!1}},init:function(t,e){Pv(t),e.scene=t},update:function(t){var e=$h(t.heatmapPoints),n=$h(t.heatmapPointLat),r=$h(t.heatmapPointLng),i=$h(t.heatmapPointWeight),a=$h(t.heatmapBandwidth),o=$h(t.heatmapColorFn),s=$h(t.heatmapColorSaturation),A=$h(t.heatmapBaseAltitude),l=$h(t.heatmapTopAltitude);Yv(t.heatmapsData,t.scene,{createObj:function(t){var e=new h_.Mesh(new h_.SphereGeometry(Dv),new h_.MeshLambertMaterial({vertexColors:!0,transparent:!0}));return e.__globeObjType="heatmap",e},updateObj:function(c,u){var h=a(u),d=o(u),f=s(u),p=A(u),m=l(u),g=e(u).map((function(t){var e=n(t),a=r(t),o=Iv(e,a);return{x:o.x,y:o.y,z:o.z,lat:e,lng:a,weight:i(t)}})),v=Math.max(.1,h/3.5),_=Math.ceil(360/(v||-1));c.geometry.parameters.widthSegments!==_&&(c.geometry.dispose(),c.geometry=new h_.SphereGeometry(Dv,_,_/2));var y=function(t){for(var e=t.itemSize,n=[],r=0;r=e)&&(n=e);else{let r=-1;for(let i of t)null!=(i=e(i,++r,t))&&(n=i)&&(n=i)}return n}(n.map(Math.abs))||1e-15;c.geometry.setAttribute("color",Qv(n.map((function(t){return Wv(d(t/a*i))})),4));var o=bp([0,a],[p,r||p]);c.geometry.setAttribute("position",Qv(n.map((function(t,e){var n=_v(x[e],2),r=n[0],i=Iv(n[1],r,o(Math.abs(t)));return[i.x,i.y,i.z]})),3))},E={kdeVals:M,topAlt:m,saturation:f},S=c.__currentTargetD||Object.assign({},E,{kdeVals:M.map((function(){return 0})),topAlt:m?p:m,saturation:.5});S.kdeVals.length!==M.length&&(S.kdeVals=M.slice()),Object.keys(E).some((function(t){return S[t]!==E[t]}))&&(!t.heatmapsTransitionDuration||t.heatmapsTransitionDuration<0?w(E):new VA(S).to(E,t.heatmapsTransitionDuration).easing(kA.Quadratic.InOut).onUpdate(w).start())}})}}),x_=window.THREE?window.THREE:{DoubleSide:2,Group:oo,LineBasicMaterial:_o,LineSegments:Co,Mesh:ar,MeshBasicMaterial:Tn},b_=NA({props:{polygonsData:{default:[]},polygonGeoJsonGeometry:{default:"geometry"},polygonSideColor:{default:function(){return"#ffffaa"}},polygonSideMaterial:{},polygonCapColor:{default:function(){return"#ffffaa"}},polygonCapMaterial:{},polygonStrokeColor:{},polygonAltitude:{default:.01},polygonCapCurvatureResolution:{default:5},polygonsTransitionDuration:{default:1e3,triggerUpdate:!1}},init:function(t,e){Pv(t),e.scene=t},update:function(t){var e=$h(t.polygonGeoJsonGeometry),n=$h(t.polygonAltitude),r=$h(t.polygonCapCurvatureResolution),i=$h(t.polygonCapColor),a=$h(t.polygonCapMaterial),o=$h(t.polygonSideColor),s=$h(t.polygonSideMaterial),A=$h(t.polygonStrokeColor),l=[];t.polygonsData.forEach((function(t){var c={data:t,capColor:i(t),capMaterial:a(t),sideColor:o(t),sideMaterial:s(t),strokeColor:A(t),altitude:+n(t),capCurvatureResolution:+r(t)},u=e(t),h=t.__id||"".concat(Math.round(1e9*Math.random()));t.__id=h,"Polygon"===u.type?l.push(Av({id:"".concat(h,"_0"),coords:u.coordinates},c)):"MultiPolygon"===u.type?l.push.apply(l,yv(u.coordinates.map((function(t,e){return Av({id:"".concat(h,"_").concat(e),coords:t},c)})))):console.warn("Unsupported GeoJson geometry type: ".concat(u.type,". Skipping geometry..."))})),Yv(l,t.scene,{idAccessor:function(t){return t.id},createObj:function(){var t=new x_.Group;return t.__defaultSideMaterial=new x_.MeshBasicMaterial({side:x_.DoubleSide,depthWrite:!0}),t.__defaultCapMaterial=new x_.MeshBasicMaterial({side:x_.DoubleSide,depthWrite:!0}),t.add(new x_.Mesh(void 0,[t.__defaultSideMaterial,t.__defaultCapMaterial])),t.add(new x_.LineSegments(void 0,new x_.LineBasicMaterial)),t.__globeObjType="polygon",t},updateObj:function(e,n){var r=n.coords,i=n.capColor,a=n.capMaterial,o=n.sideColor,s=n.sideMaterial,A=n.strokeColor,l=n.altitude,c=n.capCurvatureResolution,u=_v(e.children,2),h=u[0],d=u[1],f=!!A;if(d.visible=f,function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){return function(t,e){return t===e}};return Object.entries(e).every((function(e){var r=_v(e,2),i=r[0],a=r[1];return t.hasOwnProperty(i)&&n(i)(t[i],a)}))}(h.geometry.parameters||{},{polygonGeoJson:r,curvatureResolution:c})||(h.geometry&&h.geometry.dispose(),h.geometry=new Nm(r,0,Dv,!1,!0,!0,c)),!f||d.geometry.parameters&&d.geometry.parameters.geoJson.coordinates===r&&d.geometry.parameters.resolution===c||(d.geometry&&d.geometry.dispose(),d.geometry=new Wh({type:"Polygon",coordinates:r},Dv,c)),h.material[0]=s||e.__defaultSideMaterial,h.material[1]=a||e.__defaultCapMaterial,[!s&&o,!a&&i].forEach((function(t,e){if(t){var n=h.material[e],r=Vv(t);n.color.set(jv(t)),n.transparent=r<1,n.opacity=r}})),f){var p=d.material,m=Vv(A);p.color.set(jv(A)),p.transparent=m<1,p.opacity=m}var g={alt:l},v=function(t){var n=(e.__currentTargetD=t).alt;h.scale.x=h.scale.y=h.scale.z=1+n,f&&(d.scale.x=d.scale.y=d.scale.z=1+n+1e-4)},_=e.__currentTargetD||Object.assign({},g,{alt:-.001});Object.keys(g).some((function(t){return _[t]!==g[t]}))&&(!t.polygonsTransitionDuration||t.polygonsTransitionDuration<0||_.alt===g.alt?v(g):new VA(_).to(g,t.polygonsTransitionDuration).easing(kA.Quadratic.InOut).onUpdate(v).start())}})}});var M_=window.THREE?window.THREE:{BufferGeometry:zn,CircleGeometry:Qo,DoubleSide:2,Mesh:ar,MeshLambertMaterial:Ps,Vector3:ae},w_=Object.assign({},Jh),E_=w_.BufferGeometryUtils||w_,S_=NA({props:{hexPolygonsData:{default:[]},hexPolygonGeoJsonGeometry:{default:"geometry"},hexPolygonColor:{default:function(){return"#ffffaa"}},hexPolygonAltitude:{default:.001},hexPolygonResolution:{default:3},hexPolygonMargin:{default:.2},hexPolygonUseDots:{default:!1},hexPolygonCurvatureResolution:{default:5},hexPolygonDotResolution:{default:12},hexPolygonsTransitionDuration:{default:0,triggerUpdate:!1}},init:function(t,e){Pv(t),e.scene=t},update:function(t){var e=$h(t.hexPolygonGeoJsonGeometry),n=$h(t.hexPolygonColor),r=$h(t.hexPolygonAltitude),i=$h(t.hexPolygonResolution),a=$h(t.hexPolygonMargin),o=$h(t.hexPolygonUseDots),s=$h(t.hexPolygonCurvatureResolution),A=$h(t.hexPolygonDotResolution);Yv(t.hexPolygonsData,t.scene,{createObj:function(t){var e=new M_.Mesh(void 0,new M_.MeshLambertMaterial({side:M_.DoubleSide}));return e.__globeObjType="hexPolygon",e},updateObj:function(l,c){var u=e(c),h=i(c),d=r(c),f=Math.max(0,Math.min(1,+a(c))),p=o(c),m=s(c),g=A(c),v=n(c),_=Vv(v);l.material.color.set(jv(v)),l.material.transparent=_<1,l.material.opacity=_;var y={alt:d,margin:f,curvatureResolution:m},x={geoJson:u,h3Res:h},b=l.__currentTargetD||Object.assign({},y,{alt:-.001}),M=l.__currentMemD||x;if(Object.keys(y).some((function(t){return b[t]!==y[t]}))||Object.keys(x).some((function(t){return M[t]!==x[t]}))){l.__currentMemD=x;var w=[];"Polygon"===u.type?_g(u.coordinates,h,!0).forEach((function(t){return w.push(t)})):"MultiPolygon"===u.type?u.coordinates.forEach((function(t){return _g(t,h,!0).forEach((function(t){return w.push(t)}))})):console.warn("Unsupported GeoJson geometry type: ".concat(u.type,". Skipping geometry..."));var E=w.map((function(t){var e=gg(t),n=vg(t,!0).reverse(),r=e[1];return n.forEach((function(t){var e=t[0];Math.abs(r-e)>170&&(t[0]+=r>e?360:-360)})),{h3Idx:t,hexCenter:e,hexGeoJson:n}})),S=function(t){var e=l.__currentTargetD=t,n=e.alt,r=e.margin,i=e.curvatureResolution;l.geometry&&l.geometry.dispose(),l.geometry=E.length?(E_.mergeGeometries||E_.mergeBufferGeometries)(E.map((function(t){var e=_v(t.hexCenter,2),a=e[0],o=e[1];if(p){var s=Iv(a,o,n),A=Iv(t.hexGeoJson[0][1],t.hexGeoJson[0][0],n),l=.85*(1-r)*new M_.Vector3(s.x,s.y,s.z).distanceTo(new M_.Vector3(A.x,A.y,A.z)),c=new Qo(l,g);return c.rotateX(Uv(-a)),c.rotateY(Uv(o)),c.translate(s.x,s.y,s.z),c}var u=0===r?t.hexGeoJson:t.hexGeoJson.map((function(t){var e=_v(t,2),n=e[0],i=e[1];return[[n,o],[i,a]].map((function(t){var e=_v(t,2);return function(t,e,n){return t-(t-e)*n}(e[0],e[1],r)}))}));return new Nm([u],Dv,Dv*(1+n),!1,!0,!1,i)}))):new M_.BufferGeometry};!t.hexPolygonsTransitionDuration||t.hexPolygonsTransitionDuration<0?S(y):new VA(b).to(y,t.hexPolygonsTransitionDuration).easing(kA.Quadratic.InOut).onUpdate(S).start()}}})}}),T_=window.THREE?window.THREE:{Vector3:ae};function C_(t,e){var n=Math.max(t.length,e.length),r=Gf.apply(void 0,yv([t,e].map((function(t){return t.map((function(t){return[t.x,t.y,t.z]}))})).map((function(t){return function(t,e){var n=t[t.length-1];return[].concat(yv(t),yv(yv(new Array(e-t.length)).map((function(){return n}))))}(t,n)}))));return function(n){return 0===n?t:1===n?e:r(n).map((function(t){var e=_v(t,3),n=e[0],r=e[1],i=e[2];return new T_.Vector3(n,r,i)}))}}var R_=window.THREE?window.THREE:{BufferGeometry:zn,Color:Mn,Group:oo,Line:Eo,NormalBlending:1,ShaderMaterial:hr,Vector3:ae},P_=If.default||If,L_={uniforms:{dashOffset:{value:0},dashSize:{value:1},gapSize:{value:0},dashTranslate:{value:0}},vertexShader:"\n uniform float dashTranslate;\n\n attribute vec4 vertexColor;\n varying vec4 vColor;\n\n attribute float vertexRelDistance;\n varying float vRelDistance;\n\n void main() {\n // pass through colors and distances\n vColor = vertexColor;\n vRelDistance = vertexRelDistance + dashTranslate;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n ",fragmentShader:"\n uniform float dashOffset;\n uniform float dashSize;\n uniform float gapSize;\n\n varying vec4 vColor;\n varying float vRelDistance;\n\n void main() {\n // ignore pixels in the gap\n if (vRelDistance < dashOffset) discard;\n if (mod(vRelDistance - dashOffset, dashSize + gapSize) > dashSize) discard;\n\n // set px color: [r, g, b, a], interpolated between vertices\n gl_FragColor = vColor;\n }\n "},D_=NA({props:{pathsData:{default:[]},pathPoints:{default:function(t){return t}},pathPointLat:{default:function(t){return t[0]}},pathPointLng:{default:function(t){return t[1]}},pathPointAlt:{default:.001},pathResolution:{default:2},pathColor:{default:function(){return"#ffffaa"}},pathStroke:{},pathDashLength:{default:1},pathDashGap:{default:0},pathDashInitialGap:{default:0},pathDashAnimateTime:{default:0},pathTransitionDuration:{default:1e3,triggerUpdate:!1},rendererSize:{}},methods:{pauseAnimation:function(t){var e;null===(e=t.ticker)||void 0===e||e.pause()},resumeAnimation:function(t){var e;null===(e=t.ticker)||void 0===e||e.resume()},_destructor:function(t){var e;null===(e=t.ticker)||void 0===e||e.dispose()}},init:function(t,e){Pv(t),e.scene=t,e.ticker=new P_,e.ticker.onTick.add((function(t,n){e.pathsData.filter((function(t){return t.__threeObj&&t.__threeObj.children.length&&t.__threeObj.children[0].material&&t.__threeObj.children[0].__dashAnimateStep})).forEach((function(t){var e=t.__threeObj.children[0],r=e.__dashAnimateStep*n;if("Line"===e.type){var i=e.material.uniforms.dashTranslate.value%1e9;e.material.uniforms.dashTranslate.value=i+r}else if("Line2"===e.type){for(var a=e.material.dashOffset-r,o=e.material.dashSize+e.material.gapSize;a<=-o;)a+=o;e.material.dashOffset=a}}))}))},update:function(t){var e=$h(t.pathPoints),n=$h(t.pathPointLat),r=$h(t.pathPointLng),i=$h(t.pathPointAlt),a=$h(t.pathStroke),o=$h(t.pathColor),s=$h(t.pathDashLength),A=$h(t.pathDashGap),l=$h(t.pathDashInitialGap),c=$h(t.pathDashAnimateTime),u=new R_.ShaderMaterial(Av(Av({},L_),{},{transparent:!0,blending:R_.NormalBlending}));function h(t,e){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=e+1;if(t instanceof Array||t instanceof Function){var o=t instanceof Array?bp().domain(t.map((function(e,n){return n/(t.length-1)}))).range(t):t;n=function(t){return Wv(o(t),i,!0)}}else{var s=Wv(t,i,!0);n=function(){return s}}for(var A=[],l=0,c=a;l1&&void 0!==arguments[1]?arguments[1]:1,e=[],n=null;return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).forEach((function(r){if(n){for(;Math.abs(n[1]-r[1])>180;)n[1]+=360*(n[1]t)for(var o=Math.floor(i/t),s=a(n[0],r[0],o),A=a(n[1],r[1],o),l=a(n[2],r[2],o),c=0,u=s.length;c0?1e3/b:0,m){y.material.resolution=t.rendererSize;var M=s(f),w=A(f),E=l(f);y.material.dashed=w>0,y.material.dashed?y.material.defines.USE_DASH="":delete y.material.defines.USE_DASH,y.material.dashed&&(y.material.dashScale=1/(_=0,x.forEach((function(t){v&&(_+=v.distanceTo(t)),v=t})),_),y.material.dashSize=M,y.material.gapSize=w,y.material.dashOffset=-E);var S=o(f);if(S instanceof Array){var T=h(o(f),x.length-1,1,!1);y.geometry.setColors(T.array),y.material.vertexColors=!0}else{var C=S,R=Vv(C);y.material.color=new R_.Color(jv(C)),y.material.transparent=R<1,y.material.opacity=R,y.material.vertexColors=!1}y.material.needsUpdate=!0}else{Object.assign(y.material.uniforms,{dashSize:{value:s(f)},gapSize:{value:A(f)},dashOffset:{value:l(f)}});var P=h(o(f),x.length),L=function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=[],i=0,a=t+1;i":{x_min:18.0625,x_max:774,ha:792,o:"m 774 376 l 18 40 l 18 149 l 631 421 l 18 692 l 18 799 l 774 465 l 774 376 "},v:{x_min:0,x_max:675.15625,ha:761,o:"m 675 738 l 404 0 l 272 0 l 0 738 l 133 737 l 340 147 l 541 737 l 675 738 "},"τ":{x_min:.28125,x_max:644.5,ha:703,o:"m 644 628 l 382 628 l 382 179 q 388 120 382 137 q 436 91 401 91 q 474 94 447 91 q 504 97 501 97 l 504 0 q 454 -9 482 -5 q 401 -14 426 -14 q 278 67 308 -14 q 260 233 260 118 l 260 628 l 0 628 l 0 739 l 644 739 l 644 628 "},"ξ":{x_min:0,x_max:624.9375,ha:699,o:"m 624 -37 q 608 -153 624 -96 q 563 -278 593 -211 l 454 -278 q 491 -183 486 -200 q 511 -83 511 -126 q 484 -23 511 -44 q 370 1 452 1 q 323 0 354 1 q 283 -1 293 -1 q 84 76 169 -1 q 0 266 0 154 q 56 431 0 358 q 197 538 108 498 q 94 613 134 562 q 54 730 54 665 q 77 823 54 780 q 143 901 101 867 l 27 901 l 27 1012 l 576 1012 l 576 901 l 380 901 q 244 863 303 901 q 178 745 178 820 q 312 600 178 636 q 532 582 380 582 l 532 479 q 276 455 361 479 q 118 281 118 410 q 165 173 118 217 q 274 120 208 133 q 494 101 384 110 q 624 -37 624 76 "},"&":{x_min:-3,x_max:894.25,ha:992,o:"m 894 0 l 725 0 l 624 123 q 471 0 553 40 q 306 -41 390 -41 q 168 -7 231 -41 q 62 92 105 26 q 14 187 31 139 q -3 276 -3 235 q 55 433 -3 358 q 248 581 114 508 q 170 689 196 640 q 137 817 137 751 q 214 985 137 922 q 384 1041 284 1041 q 548 988 483 1041 q 622 824 622 928 q 563 666 622 739 q 431 556 516 608 l 621 326 q 649 407 639 361 q 663 493 653 426 l 781 493 q 703 229 781 352 l 894 0 m 504 818 q 468 908 504 877 q 384 940 433 940 q 293 907 331 940 q 255 818 255 875 q 289 714 255 767 q 363 628 313 678 q 477 729 446 682 q 504 818 504 771 m 556 209 l 314 499 q 179 395 223 449 q 135 283 135 341 q 146 222 135 253 q 183 158 158 192 q 333 80 241 80 q 556 209 448 80 "},"Λ":{x_min:0,x_max:862.5,ha:942,o:"m 862 0 l 719 0 l 426 847 l 143 0 l 0 0 l 356 1013 l 501 1013 l 862 0 "},I:{x_min:41,x_max:180,ha:293,o:"m 180 0 l 41 0 l 41 1013 l 180 1013 l 180 0 "},G:{x_min:0,x_max:921,ha:1011,o:"m 921 0 l 832 0 l 801 136 q 655 15 741 58 q 470 -28 568 -28 q 126 133 259 -28 q 0 499 0 284 q 125 881 0 731 q 486 1043 259 1043 q 763 957 647 1043 q 905 709 890 864 l 772 709 q 668 866 747 807 q 486 926 589 926 q 228 795 322 926 q 142 507 142 677 q 228 224 142 342 q 483 94 323 94 q 712 195 625 94 q 796 435 796 291 l 477 435 l 477 549 l 921 549 l 921 0 "},"ΰ":{x_min:0,x_max:617,ha:725,o:"m 524 800 l 414 800 l 414 925 l 524 925 l 524 800 m 183 800 l 73 800 l 73 925 l 183 925 l 183 800 m 617 352 q 540 93 617 199 q 308 -24 455 -24 q 76 93 161 -24 q 0 352 0 199 l 0 738 l 126 738 l 126 354 q 169 185 126 257 q 312 98 220 98 q 451 185 402 98 q 492 354 492 257 l 492 738 l 617 738 l 617 352 m 489 1040 l 300 819 l 216 819 l 351 1040 l 489 1040 "},"`":{x_min:0,x_max:138.890625,ha:236,o:"m 138 699 l 0 699 l 0 861 q 36 974 0 929 q 138 1041 72 1020 l 138 977 q 82 931 95 969 q 69 839 69 893 l 138 839 l 138 699 "},"·":{x_min:0,x_max:142,ha:239,o:"m 142 585 l 0 585 l 0 738 l 142 738 l 142 585 "},"Υ":{x_min:.328125,x_max:819.515625,ha:889,o:"m 819 1013 l 482 416 l 482 0 l 342 0 l 342 416 l 0 1013 l 140 1013 l 411 533 l 679 1013 l 819 1013 "},r:{x_min:0,x_max:355.5625,ha:432,o:"m 355 621 l 343 621 q 179 569 236 621 q 122 411 122 518 l 122 0 l 0 0 l 0 737 l 117 737 l 117 604 q 204 719 146 686 q 355 753 262 753 l 355 621 "},x:{x_min:0,x_max:675,ha:764,o:"m 675 0 l 525 0 l 331 286 l 144 0 l 0 0 l 256 379 l 12 738 l 157 737 l 336 473 l 516 738 l 661 738 l 412 380 l 675 0 "},"μ":{x_min:0,x_max:696.609375,ha:747,o:"m 696 -4 q 628 -14 657 -14 q 498 97 513 -14 q 422 8 470 41 q 313 -24 374 -24 q 207 3 258 -24 q 120 80 157 31 l 120 -278 l 0 -278 l 0 738 l 124 738 l 124 343 q 165 172 124 246 q 308 82 216 82 q 451 177 402 82 q 492 358 492 254 l 492 738 l 616 738 l 616 214 q 623 136 616 160 q 673 92 636 92 q 696 95 684 92 l 696 -4 "},h:{x_min:0,x_max:615,ha:724,o:"m 615 472 l 615 0 l 490 0 l 490 454 q 456 590 490 535 q 338 654 416 654 q 186 588 251 654 q 122 436 122 522 l 122 0 l 0 0 l 0 1013 l 122 1013 l 122 633 q 218 727 149 694 q 362 760 287 760 q 552 676 484 760 q 615 472 615 600 "},".":{x_min:0,x_max:142,ha:239,o:"m 142 0 l 0 0 l 0 151 l 142 151 l 142 0 "},"φ":{x_min:-2,x_max:878,ha:974,o:"m 496 -279 l 378 -279 l 378 -17 q 101 88 204 -17 q -2 367 -2 194 q 68 626 -2 510 q 283 758 151 758 l 283 646 q 167 537 209 626 q 133 373 133 462 q 192 177 133 254 q 378 93 259 93 l 378 758 q 445 764 426 763 q 476 765 464 765 q 765 659 653 765 q 878 377 878 553 q 771 96 878 209 q 496 -17 665 -17 l 496 -279 m 496 93 l 514 93 q 687 183 623 93 q 746 380 746 265 q 691 569 746 491 q 522 658 629 658 l 496 656 l 496 93 "},";":{x_min:0,x_max:142,ha:239,o:"m 142 585 l 0 585 l 0 738 l 142 738 l 142 585 m 142 -12 q 105 -132 142 -82 q 0 -206 68 -182 l 0 -138 q 58 -82 43 -123 q 68 0 68 -56 l 0 0 l 0 151 l 142 151 l 142 -12 "},f:{x_min:0,x_max:378,ha:472,o:"m 378 638 l 246 638 l 246 0 l 121 0 l 121 638 l 0 638 l 0 738 l 121 738 q 137 935 121 887 q 290 1028 171 1028 q 320 1027 305 1028 q 378 1021 334 1026 l 378 908 q 323 918 346 918 q 257 870 273 918 q 246 780 246 840 l 246 738 l 378 738 l 378 638 "},"“":{x_min:1,x_max:348.21875,ha:454,o:"m 140 670 l 1 670 l 1 830 q 37 943 1 897 q 140 1011 74 990 l 140 947 q 82 900 97 940 q 68 810 68 861 l 140 810 l 140 670 m 348 670 l 209 670 l 209 830 q 245 943 209 897 q 348 1011 282 990 l 348 947 q 290 900 305 940 q 276 810 276 861 l 348 810 l 348 670 "},A:{x_min:.03125,x_max:906.953125,ha:1008,o:"m 906 0 l 756 0 l 648 303 l 251 303 l 142 0 l 0 0 l 376 1013 l 529 1013 l 906 0 m 610 421 l 452 867 l 293 421 l 610 421 "},"‘":{x_min:1,x_max:139.890625,ha:236,o:"m 139 670 l 1 670 l 1 830 q 37 943 1 897 q 139 1011 74 990 l 139 947 q 82 900 97 940 q 68 810 68 861 l 139 810 l 139 670 "},"ϊ":{x_min:-70,x_max:283,ha:361,o:"m 283 800 l 173 800 l 173 925 l 283 925 l 283 800 m 40 800 l -70 800 l -70 925 l 40 925 l 40 800 m 283 3 q 232 -10 257 -5 q 181 -15 206 -15 q 84 26 118 -15 q 41 200 41 79 l 41 737 l 166 737 l 167 215 q 171 141 167 157 q 225 101 182 101 q 247 103 238 101 q 283 112 256 104 l 283 3 "},"π":{x_min:-.21875,x_max:773.21875,ha:857,o:"m 773 -7 l 707 -11 q 575 40 607 -11 q 552 174 552 77 l 552 226 l 552 626 l 222 626 l 222 0 l 97 0 l 97 626 l 0 626 l 0 737 l 773 737 l 773 626 l 676 626 l 676 171 q 695 103 676 117 q 773 90 714 90 l 773 -7 "},"ά":{x_min:0,x_max:765.5625,ha:809,o:"m 765 -4 q 698 -14 726 -14 q 564 97 586 -14 q 466 7 525 40 q 337 -26 407 -26 q 88 98 186 -26 q 0 369 0 212 q 88 637 0 525 q 337 760 184 760 q 465 727 407 760 q 563 637 524 695 l 563 738 l 685 738 l 685 222 q 693 141 685 168 q 748 94 708 94 q 765 95 760 94 l 765 -4 m 584 371 q 531 562 584 485 q 360 653 470 653 q 192 566 254 653 q 135 379 135 489 q 186 181 135 261 q 358 84 247 84 q 528 176 465 84 q 584 371 584 260 m 604 1040 l 415 819 l 332 819 l 466 1040 l 604 1040 "},O:{x_min:0,x_max:958,ha:1057,o:"m 485 1041 q 834 882 702 1041 q 958 512 958 734 q 834 136 958 287 q 481 -26 702 -26 q 126 130 261 -26 q 0 504 0 279 q 127 880 0 728 q 485 1041 263 1041 m 480 98 q 731 225 638 98 q 815 504 815 340 q 733 783 815 669 q 480 912 640 912 q 226 784 321 912 q 142 504 142 670 q 226 224 142 339 q 480 98 319 98 "},n:{x_min:0,x_max:615,ha:724,o:"m 615 463 l 615 0 l 490 0 l 490 454 q 453 592 490 537 q 331 656 410 656 q 178 585 240 656 q 117 421 117 514 l 117 0 l 0 0 l 0 738 l 117 738 l 117 630 q 218 728 150 693 q 359 764 286 764 q 552 675 484 764 q 615 463 615 593 "},l:{x_min:41,x_max:166,ha:279,o:"m 166 0 l 41 0 l 41 1013 l 166 1013 l 166 0 "},"¤":{x_min:40.09375,x_max:728.796875,ha:825,o:"m 728 304 l 649 224 l 512 363 q 383 331 458 331 q 256 363 310 331 l 119 224 l 40 304 l 177 441 q 150 553 150 493 q 184 673 150 621 l 40 818 l 119 898 l 267 749 q 321 766 291 759 q 384 773 351 773 q 447 766 417 773 q 501 749 477 759 l 649 898 l 728 818 l 585 675 q 612 618 604 648 q 621 553 621 587 q 591 441 621 491 l 728 304 m 384 682 q 280 643 318 682 q 243 551 243 604 q 279 461 243 499 q 383 423 316 423 q 487 461 449 423 q 525 553 525 500 q 490 641 525 605 q 384 682 451 682 "},"κ":{x_min:0,x_max:632.328125,ha:679,o:"m 632 0 l 482 0 l 225 384 l 124 288 l 124 0 l 0 0 l 0 738 l 124 738 l 124 446 l 433 738 l 596 738 l 312 466 l 632 0 "},p:{x_min:0,x_max:685,ha:786,o:"m 685 364 q 598 96 685 205 q 350 -23 504 -23 q 121 89 205 -23 l 121 -278 l 0 -278 l 0 738 l 121 738 l 121 633 q 220 726 159 691 q 351 761 280 761 q 598 636 504 761 q 685 364 685 522 m 557 371 q 501 560 557 481 q 330 651 437 651 q 162 559 223 651 q 108 366 108 479 q 162 177 108 254 q 333 87 224 87 q 502 178 441 87 q 557 371 557 258 "},"‡":{x_min:0,x_max:777,ha:835,o:"m 458 238 l 458 0 l 319 0 l 319 238 l 0 238 l 0 360 l 319 360 l 319 681 l 0 683 l 0 804 l 319 804 l 319 1015 l 458 1013 l 458 804 l 777 804 l 777 683 l 458 683 l 458 360 l 777 360 l 777 238 l 458 238 "},"ψ":{x_min:0,x_max:808,ha:907,o:"m 465 -278 l 341 -278 l 341 -15 q 87 102 180 -15 q 0 378 0 210 l 0 739 l 133 739 l 133 379 q 182 195 133 275 q 341 98 242 98 l 341 922 l 465 922 l 465 98 q 623 195 563 98 q 675 382 675 278 l 675 742 l 808 742 l 808 381 q 720 104 808 213 q 466 -13 627 -13 l 465 -278 "},"η":{x_min:.78125,x_max:697,ha:810,o:"m 697 -278 l 572 -278 l 572 454 q 540 587 572 536 q 425 650 501 650 q 271 579 337 650 q 206 420 206 509 l 206 0 l 81 0 l 81 489 q 73 588 81 562 q 0 644 56 644 l 0 741 q 68 755 38 755 q 158 720 124 755 q 200 630 193 686 q 297 726 234 692 q 434 761 359 761 q 620 692 544 761 q 697 516 697 624 l 697 -278 "}},cssFontWeight:"normal",ascender:1189,underlinePosition:-100,cssFontStyle:"normal",boundingBox:{yMin:-334,xMin:-111,yMax:1189,xMax:1672},resolution:1e3,original_font_information:{postscript_name:"Helvetiker-Regular",version_string:"Version 1.00 2004 initial release",vendor_url:"http://www.magenta.gr/",full_font_name:"Helvetiker",font_family_name:"Helvetiker",copyright:"Copyright (c) Μagenta ltd, 2004",description:"",trademark:"",designer:"",designer_url:"",unique_font_identifier:"Μagenta ltd:Helvetiker:22-10-104",license_url:"http://www.ellak.gr/fonts/MgOpen/license.html",license_description:'Copyright (c) 2004 by MAGENTA Ltd. All Rights Reserved.\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy of the fonts accompanying this license ("Fonts") and associated documentation files (the "Font Software"), to reproduce and distribute the Font Software, including without limitation the rights to use, copy, merge, publish, distribute, and/or sell copies of the Font Software, and to permit persons to whom the Font Software is furnished to do so, subject to the following conditions: \r\n\r\nThe above copyright and this permission notice shall be included in all copies of one or more of the Font Software typefaces.\r\n\r\nThe Font Software may be modified, altered, or added to, and in particular the designs of glyphs or characters in the Fonts may be modified and additional glyphs or characters may be added to the Fonts, only if the fonts are renamed to names not containing the word "MgOpen", or if the modifications are accepted for inclusion in the Font Software itself by the each appointed Administrator.\r\n\r\nThis License becomes null and void to the extent applicable to Fonts or Font Software that has been modified and is distributed under the "MgOpen" name.\r\n\r\nThe Font Software may be sold as part of a larger software package but no copy of one or more of the Font Software typefaces may be sold by itself. \r\n\r\nTHE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL MAGENTA OR PERSONS OR BODIES IN CHARGE OF ADMINISTRATION AND MAINTENANCE OF THE FONT SOFTWARE BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.',manufacturer_name:"Μagenta ltd",font_sub_family_name:"Regular"},descender:-334,familyName:"Helvetiker",lineHeight:1522,underlineThickness:50},N_=Av(Av({},window.THREE?window.THREE:{CircleGeometry:Qo,DoubleSide:2,Group:oo,Mesh:ar,MeshLambertMaterial:Ps,TextGeometry:rv,Vector3:ae}),{},{Font:class{constructor(t){this.isFont=!0,this.type="Font",this.data=t}generateShapes(t,e=100){const n=[],r=function(t,e,n){const r=Array.from(t),i=e/n.resolution,a=(n.boundingBox.yMax-n.boundingBox.yMin+n.underlineThickness)*i,o=[];let s=0,A=0;for(let t=0;t0&&void 0!==arguments[0]?arguments[0]:1,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:32;cv(this,e),(t=av(this,e)).type="CircleLineGeometry",t.parameters={radius:n,segmentCount:r};for(var i=[],a=0;a<=r;a++){var o=(a/r-.25)*Math.PI*2;i.push({x:Math.cos(o)*n,y:Math.sin(o)*n,z:0})}return t.setFromPoints(i),t}return fv(e,t),hv(e)}((window.THREE?window.THREE:{BufferGeometry:zn}).BufferGeometry),F_=window.THREE?window.THREE:{Color:Mn,Group:oo,Line:Eo,LineBasicMaterial:_o,Vector3:ae},z_=If.default||If,G_=NA({props:{ringsData:{default:[]},ringLat:{default:"lat"},ringLng:{default:"lng"},ringAltitude:{default:.0015},ringColor:{default:function(){return"#ffffaa"},triggerUpdate:!1},ringResolution:{default:64,triggerUpdate:!1},ringMaxRadius:{default:2,triggerUpdate:!1},ringPropagationSpeed:{default:1,triggerUpdate:!1},ringRepeatPeriod:{default:700,triggerUpdate:!1}},methods:{pauseAnimation:function(t){var e;null===(e=t.ticker)||void 0===e||e.pause()},resumeAnimation:function(t){var e;null===(e=t.ticker)||void 0===e||e.resume()},_destructor:function(t){var e;null===(e=t.ticker)||void 0===e||e.dispose()}},init:function(t,e){Pv(t),e.scene=t,e.ticker=new z_,e.ticker.onTick.add((function(t){if(e.ringsData.length){var n=$h(e.ringColor),r=$h(e.ringAltitude),i=$h(e.ringMaxRadius),a=$h(e.ringPropagationSpeed),o=$h(e.ringRepeatPeriod);e.ringsData.filter((function(t){return t.__threeObj})).forEach((function(s){var A,l,c,u=s.__threeObj;if((u.__nextRingTime||0)<=t){var h=o(s)/1e3;u.__nextRingTime=t+(h<=0?1/0:h);var d,f=new F_.Line(new k_(1,e.ringResolution),new F_.LineBasicMaterial),p=n(s),m=p instanceof Array||p instanceof Function;m?p instanceof Array?(d=bp().domain(p.map((function(t,e){return e/(p.length-1)}))).range(p),f.material.transparent=p.some((function(t){return Vv(t)<1}))):(d=p,f.material.transparent=!0):(f.material.color=new F_.Color(jv(p)),A=f.material,l=Vv(p),A.opacity=l,A.transparent=l<1,A.depthWrite=void 0===c?l>=1:c);var g=Dv*(1+r(s)),v=i(s),_=v*Math.PI/180,y=a(s),x=y<=0,b=function(t){var e=t.t,n=(x?1-e:e)*_;if(f.scale.x=f.scale.y=g*Math.sin(n),f.position.z=g*(1-Math.cos(n)),m){var r=d(e);f.material.color=new F_.Color(jv(r)),f.material.transparent&&(f.material.opacity=Vv(r))}};if(0===y)b({t:0}),u.add(f);else{var M=1e3*Math.abs(v/y);new VA({t:0}).to({t:1},M).onUpdate(b).onStart((function(){return u.add(f)})).onComplete((function(){u.remove(f),Rv(f)})).start()}}}))}}))},update:function(t){var e=$h(t.ringLat),n=$h(t.ringLng),r=$h(t.ringAltitude),i=t.scene.localToWorld(new F_.Vector3(0,0,0));Yv(t.ringsData,t.scene,{createObj:function(){var t=new F_.Group;return t.__globeObjType="ring",t},updateObj:function(t,a){var o=e(a),s=n(a),A=r(a);Object.assign(t.position,Iv(o,s,A)),t.lookAt(i)}},{removeDelay:3e4})}}),H_=Av(Av({},window.THREE?window.THREE:{}),{},{CSS2DObject:class extends sn{constructor(t=document.createElement("div")){super(),this.isCSS2DObject=!0,this.element=t,this.element.style.position="absolute",this.element.style.userSelect="none",this.element.setAttribute("draggable",!1),this.center=new Lt(.5,.5),this.addEventListener("removed",(function(){this.traverse((function(t){t.element instanceof Element&&null!==t.element.parentNode&&t.element.parentNode.removeChild(t.element)}))}))}copy(t,e){return super.copy(t,e),this.element=t.element.cloneNode(!0),this.center=t.center,this}}}),j_=NA({props:{htmlElementsData:{default:[]},htmlLat:{default:"lat"},htmlLng:{default:"lng"},htmlAltitude:{default:0},htmlElement:{},htmlTransitionDuration:{default:1e3,triggerUpdate:!1},isBehindGlobe:{onChange:function(){this.updateObjVisibility()},triggerUpdate:!1}},methods:{updateObjVisibility:function(t,e){(e?[e]:t.htmlElementsData.map((function(t){return t.__threeObj})).filter((function(t){return t}))).forEach((function(e){return e.visible=!t.isBehindGlobe||!t.isBehindGlobe(e.position)}))}},init:function(t,e){Pv(t),e.scene=t},update:function(t,e){var n=this,r=$h(t.htmlLat),i=$h(t.htmlLng),a=$h(t.htmlAltitude),o=$h(t.htmlElement);Yv(t.htmlElementsData,t.scene,{purge:e.hasOwnProperty("htmlElement"),createObj:function(t){var e=o(t),n=new H_.CSS2DObject(e);return n.__globeObjType="html",n},updateObj:function(e,o){var s=function(t){var r=e.__currentTargetD=t,i=r.alt,a=r.lat,o=r.lng;Object.assign(e.position,Iv(a,o,i)),n.updateObjVisibility(e)},A={lat:+r(o),lng:+i(o),alt:+a(o)};!t.htmlTransitionDuration||t.htmlTransitionDuration<0||!e.__currentTargetD?s(A):new VA(e.__currentTargetD).to(A,t.pointsTransitionDuration).easing(kA.Quadratic.InOut).onUpdate(s).start()}})}}),V_=window.THREE?window.THREE:{Euler:Ve,Group:oo,Mesh:ar,MeshLambertMaterial:Ps,SphereGeometry:Ts},W_=NA({props:{objectsData:{default:[]},objectLat:{default:"lat"},objectLng:{default:"lng"},objectAltitude:{default:.01},objectFacesSurface:{default:!0},objectRotation:{},objectThreeObject:{default:new V_.Mesh(new V_.SphereGeometry(1,16,8),new V_.MeshLambertMaterial({color:"#ffffaa",transparent:!0,opacity:.7}))}},init:function(t,e){Pv(t),e.scene=t},update:function(t,e){var n=$h(t.objectLat),r=$h(t.objectLng),i=$h(t.objectAltitude),a=$h(t.objectFacesSurface),o=$h(t.objectRotation),s=$h(t.objectThreeObject);Yv(t.objectsData,t.scene,{purge:e.hasOwnProperty("objectThreeObject"),createObj:function(e){var n=s(e);t.objectThreeObject===n&&(n=n.clone());var r=new V_.Group;return r.add(n),r.__globeObjType="object",r},updateObj:function(t,e){var s=+n(e),A=+r(e),l=+i(e);Object.assign(t.position,Iv(s,A,l)),a(e)?t.setRotationFromEuler(new Ve(Uv(-s),Uv(A),0,"YXZ")):t.rotation.set(0,0,0);var c=t.children[0],u=o(e);u&&c.setRotationFromEuler(new Ve(Uv(u.x||0),Uv(u.y||0),Uv(u.z||0)))}})}}),X_=NA({props:{customLayerData:{default:[]},customThreeObject:{},customThreeObjectUpdate:{triggerUpdate:!1}},init:function(t,e){Pv(t),e.scene=t},update:function(t,e){t.customThreeObjectUpdate||Pv(t.scene);var n=$h(t.customThreeObject),r=$h(t.customThreeObjectUpdate);Yv(t.customLayerData,t.scene,{purge:e.hasOwnProperty("customThreeObject"),createObj:function(e){var r=n(e,Dv);return r&&(t.customThreeObject===r&&(r=r.clone()),r.__globeObjType="custom"),r},updateObj:function(t,e){return r(t,e,Dv)}})}}),Q_=window.THREE?window.THREE:{Group:oo,Vector2:Lt,Vector3:ae},Y_=["globeLayer","pointsLayer","arcsLayer","hexBinLayer","heatmapsLayer","polygonsLayer","hexedPolygonsLayer","pathsLayer","tilesLayer","labelsLayer","ringsLayer","htmlElementsLayer","objectsLayer","customLayer"],Z_=Lv("globeLayer",Hv),K_=Object.assign.apply(Object,yv(["globeImageUrl","bumpImageUrl","showGlobe","showGraticules","showAtmosphere","atmosphereColor","atmosphereAltitude"].map((function(t){return dv({},t,Z_.linkProp(t))})))),J_=Object.assign.apply(Object,yv(["globeMaterial"].map((function(t){return dv({},t,Z_.linkMethod(t))})))),$_=Lv("pointsLayer",$v),ty=Object.assign.apply(Object,yv(["pointsData","pointLat","pointLng","pointColor","pointAltitude","pointRadius","pointResolution","pointsMerge","pointsTransitionDuration"].map((function(t){return dv({},t,$_.linkProp(t))})))),ey=Lv("arcsLayer",i_),ny=Object.assign.apply(Object,yv(["arcsData","arcStartLat","arcStartLng","arcEndLat","arcEndLng","arcColor","arcAltitude","arcAltitudeAutoScale","arcStroke","arcCurveResolution","arcCircularResolution","arcDashLength","arcDashGap","arcDashInitialGap","arcDashAnimateTime","arcsTransitionDuration"].map((function(t){return dv({},t,ey.linkProp(t))})))),ry=Lv("hexBinLayer",A_),iy=Object.assign.apply(Object,yv(["hexBinPointsData","hexBinPointLat","hexBinPointLng","hexBinPointWeight","hexBinResolution","hexMargin","hexTopCurvatureResolution","hexTopColor","hexSideColor","hexAltitude","hexBinMerge","hexTransitionDuration"].map((function(t){return dv({},t,ry.linkProp(t))})))),ay=Lv("heatmapsLayer",y_),oy=Object.assign.apply(Object,yv(["heatmapsData","heatmapPoints","heatmapPointLat","heatmapPointLng","heatmapPointWeight","heatmapBandwidth","heatmapColorFn","heatmapColorSaturation","heatmapBaseAltitude","heatmapTopAltitude","heatmapsTransitionDuration"].map((function(t){return dv({},t,ay.linkProp(t))})))),sy=Lv("hexedPolygonsLayer",S_),Ay=Object.assign.apply(Object,yv(["hexPolygonsData","hexPolygonGeoJsonGeometry","hexPolygonColor","hexPolygonAltitude","hexPolygonResolution","hexPolygonMargin","hexPolygonUseDots","hexPolygonCurvatureResolution","hexPolygonDotResolution","hexPolygonsTransitionDuration"].map((function(t){return dv({},t,sy.linkProp(t))})))),ly=Lv("polygonsLayer",b_),cy=Object.assign.apply(Object,yv(["polygonsData","polygonGeoJsonGeometry","polygonCapColor","polygonCapMaterial","polygonSideColor","polygonSideMaterial","polygonStrokeColor","polygonAltitude","polygonCapCurvatureResolution","polygonsTransitionDuration"].map((function(t){return dv({},t,ly.linkProp(t))})))),uy=Lv("pathsLayer",D_),hy=Object.assign.apply(Object,yv(["pathsData","pathPoints","pathPointLat","pathPointLng","pathPointAlt","pathResolution","pathColor","pathStroke","pathDashLength","pathDashGap","pathDashInitialGap","pathDashAnimateTime","pathTransitionDuration"].map((function(t){return dv({},t,uy.linkProp(t))})))),dy=Lv("tilesLayer",I_),fy=Object.assign.apply(Object,yv(["tilesData","tileLat","tileLng","tileAltitude","tileWidth","tileHeight","tileUseGlobeProjection","tileMaterial","tileCurvatureResolution","tilesTransitionDuration"].map((function(t){return dv({},t,dy.linkProp(t))})))),py=Lv("labelsLayer",B_),my=Object.assign.apply(Object,yv(["labelsData","labelLat","labelLng","labelAltitude","labelRotation","labelText","labelSize","labelTypeFace","labelColor","labelResolution","labelIncludeDot","labelDotRadius","labelDotOrientation","labelsTransitionDuration"].map((function(t){return dv({},t,py.linkProp(t))})))),gy=Lv("ringsLayer",G_),vy=Object.assign.apply(Object,yv(["ringsData","ringLat","ringLng","ringAltitude","ringColor","ringResolution","ringMaxRadius","ringPropagationSpeed","ringRepeatPeriod"].map((function(t){return dv({},t,gy.linkProp(t))})))),_y=Lv("htmlElementsLayer",j_),yy=Object.assign.apply(Object,yv(["htmlElementsData","htmlLat","htmlLng","htmlAltitude","htmlElement","htmlTransitionDuration"].map((function(t){return dv({},t,_y.linkProp(t))})))),xy=Lv("objectsLayer",W_),by=Object.assign.apply(Object,yv(["objectsData","objectLat","objectLng","objectAltitude","objectRotation","objectFacesSurface","objectThreeObject"].map((function(t){return dv({},t,xy.linkProp(t))})))),My=Lv("customLayer",X_),wy=Object.assign.apply(Object,yv(["customLayerData","customThreeObject","customThreeObjectUpdate"].map((function(t){return dv({},t,My.linkProp(t))})))),Ey=NA({props:Av(Av(Av(Av(Av(Av(Av(Av(Av(Av(Av(Av(Av(Av({onGlobeReady:{triggerUpdate:!1},rendererSize:{default:new Q_.Vector2(window.innerWidth,window.innerHeight),onChange:function(t,e){e.pathsLayer.rendererSize(t)},triggerUpdate:!1}},K_),ty),ny),iy),oy),cy),Ay),hy),fy),my),vy),yy),by),wy),methods:Av({getGlobeRadius:Ov,getCoords:function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r1?e-1:0),r=1;r2&&void 0!==arguments[2]&&arguments[2],n=function(n){function r(){var n;cv(this,r);for(var i=arguments.length,a=new Array(i),o=0;o1&&void 0!==arguments[1]?arguments[1]:Object);return Object.keys(t()).forEach((function(t){return n.prototype[t]=function(){var e,n=(e=this.__kapsuleInstance)[t].apply(e,arguments);return n===this.__kapsuleInstance?this:n}})),n}(Ey,(window.THREE?window.THREE:{Group:oo}).Group,!0);const Ty={type:"change"},Cy={type:"start"},Ry={type:"end"};class Py extends gt{constructor(t,e){super();const n=this,r=-1,i=0,a=1,o=2,s=3,l=4;this.object=t,this.domElement=e,this.domElement.style.touchAction="none",this.enabled=!0,this.screen={left:0,top:0,width:0,height:0},this.rotateSpeed=1,this.zoomSpeed=1.2,this.panSpeed=.3,this.noRotate=!1,this.noZoom=!1,this.noPan=!1,this.staticMoving=!1,this.dynamicDampingFactor=.2,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.keys=["KeyA","KeyS","KeyD"],this.mouseButtons={LEFT:A.ROTATE,MIDDLE:A.DOLLY,RIGHT:A.PAN},this.target=new ae;const c=1e-6,u=new ae;let h=1,d=r,f=r,p=0,m=0,g=0;const v=new ae,_=new Lt,y=new Lt,x=new ae,b=new Lt,M=new Lt,w=new Lt,E=new Lt,S=[],T={};this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.up0=this.object.up.clone(),this.zoom0=this.object.zoom,this.handleResize=function(){const t=n.domElement.getBoundingClientRect(),e=n.domElement.ownerDocument.documentElement;n.screen.left=t.left+window.pageXOffset-e.clientLeft,n.screen.top=t.top+window.pageYOffset-e.clientTop,n.screen.width=t.width,n.screen.height=t.height};const C=function(){const t=new Lt;return function(e,r){return t.set((e-n.screen.left)/n.screen.width,(r-n.screen.top)/n.screen.height),t}}(),R=function(){const t=new Lt;return function(e,r){return t.set((e-.5*n.screen.width-n.screen.left)/(.5*n.screen.width),(n.screen.height+2*(n.screen.top-r))/n.screen.width),t}}();function P(t){!1!==n.enabled&&(0===S.length&&(n.domElement.setPointerCapture(t.pointerId),n.domElement.addEventListener("pointermove",L),n.domElement.addEventListener("pointerup",D)),function(t){S.push(t)}(t),"touch"===t.pointerType?function(t){if(1===(k(t),S.length))d=s,y.copy(R(S[0].pageX,S[0].pageY)),_.copy(y);else{d=l;const t=S[0].pageX-S[1].pageX,e=S[0].pageY-S[1].pageY;m=p=Math.sqrt(t*t+e*e);const n=(S[0].pageX+S[1].pageX)/2,r=(S[0].pageY+S[1].pageY)/2;w.copy(C(n,r)),E.copy(w)}n.dispatchEvent(Cy)}(t):function(t){if(d===r)switch(t.button){case n.mouseButtons.LEFT:d=i;break;case n.mouseButtons.MIDDLE:d=a;break;case n.mouseButtons.RIGHT:d=o}const e=f!==r?f:d;e!==i||n.noRotate?e!==a||n.noZoom?e!==o||n.noPan||(w.copy(C(t.pageX,t.pageY)),E.copy(w)):(b.copy(C(t.pageX,t.pageY)),M.copy(b)):(y.copy(R(t.pageX,t.pageY)),_.copy(y));n.dispatchEvent(Cy)}(t))}function L(t){!1!==n.enabled&&("touch"===t.pointerType?function(t){if(1===(k(t),S.length))_.copy(y),y.copy(R(t.pageX,t.pageY));else{const e=function(t){const e=t.pointerId===S[0].pointerId?S[1]:S[0];return T[e.pointerId]}(t),n=t.pageX-e.x,r=t.pageY-e.y;m=Math.sqrt(n*n+r*r);const i=(t.pageX+e.x)/2,a=(t.pageY+e.y)/2;E.copy(C(i,a))}}(t):function(t){const e=f!==r?f:d;e!==i||n.noRotate?e!==a||n.noZoom?e!==o||n.noPan||E.copy(C(t.pageX,t.pageY)):M.copy(C(t.pageX,t.pageY)):(_.copy(y),y.copy(R(t.pageX,t.pageY)))}(t))}function D(t){!1!==n.enabled&&("touch"===t.pointerType?function(t){switch(S.length){case 0:d=r;break;case 1:d=s,y.copy(R(t.pageX,t.pageY)),_.copy(y);break;case 2:d=l;for(let e=0;e0&&(n.object.isPerspectiveCamera?v.multiplyScalar(t):n.object.isOrthographicCamera?(n.object.zoom=Pt.clamp(n.object.zoom/t,n.minZoom,n.maxZoom),h!==n.object.zoom&&n.object.updateProjectionMatrix()):console.warn("THREE.TrackballControls: Unsupported camera type")),n.staticMoving?b.copy(M):b.y+=(M.y-b.y)*this.dynamicDampingFactor)},this.panCamera=function(){const t=new Lt,e=new ae,r=new ae;return function(){if(t.copy(E).sub(w),t.lengthSq()){if(n.object.isOrthographicCamera){const e=(n.object.right-n.object.left)/n.object.zoom/n.domElement.clientWidth,r=(n.object.top-n.object.bottom)/n.object.zoom/n.domElement.clientWidth;t.x*=e,t.y*=r}t.multiplyScalar(v.length()*n.panSpeed),r.copy(v).cross(n.object.up).setLength(t.x),r.add(e.copy(n.object.up).setLength(t.y)),n.object.position.add(r),n.target.add(r),n.staticMoving?w.copy(E):w.add(t.subVectors(E,w).multiplyScalar(n.dynamicDampingFactor))}}}(),this.checkDistances=function(){n.noZoom&&n.noPan||(v.lengthSq()>n.maxDistance*n.maxDistance&&(n.object.position.addVectors(n.target,v.setLength(n.maxDistance)),b.copy(M)),v.lengthSq()c&&(n.dispatchEvent(Ty),u.copy(n.object.position))):n.object.isOrthographicCamera?(n.object.lookAt(n.target),(u.distanceToSquared(n.object.position)>c||h!==n.object.zoom)&&(n.dispatchEvent(Ty),u.copy(n.object.position),h=n.object.zoom)):console.warn("THREE.TrackballControls: Unsupported camera type")},this.reset=function(){d=r,f=r,n.target.copy(n.target0),n.object.position.copy(n.position0),n.object.up.copy(n.up0),n.object.zoom=n.zoom0,n.object.updateProjectionMatrix(),v.subVectors(n.object.position,n.target),n.object.lookAt(n.target),n.dispatchEvent(Ty),u.copy(n.object.position),h=n.object.zoom},this.dispose=function(){n.domElement.removeEventListener("contextmenu",N),n.domElement.removeEventListener("pointerdown",P),n.domElement.removeEventListener("pointercancel",O),n.domElement.removeEventListener("wheel",U),n.domElement.removeEventListener("pointermove",L),n.domElement.removeEventListener("pointerup",D),window.removeEventListener("keydown",I),window.removeEventListener("keyup",q)},this.domElement.addEventListener("contextmenu",N),this.domElement.addEventListener("pointerdown",P),this.domElement.addEventListener("pointercancel",O),this.domElement.addEventListener("wheel",U,{passive:!1}),window.addEventListener("keydown",I),window.addEventListener("keyup",q),this.handleResize(),this.update()}}const Ly={type:"change"},Dy={type:"start"},Oy={type:"end"},Iy=new Ie,qy=new Er,Uy=Math.cos(70*Pt.DEG2RAD);class Ny extends gt{constructor(t,e){super(),this.object=t,this.domElement=e,this.domElement.style.touchAction="none",this.enabled=!0,this.target=new ae,this.cursor=new ae,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minTargetRadius=0,this.maxTargetRadius=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.mouseButtons={LEFT:A.ROTATE,MIDDLE:A.DOLLY,RIGHT:A.PAN},this.touches={ONE:l,TWO:u},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this.getPolarAngle=function(){return o.phi},this.getAzimuthalAngle=function(){return o.theta},this.getDistance=function(){return this.object.position.distanceTo(this.target)},this.listenToKeyEvents=function(t){t.addEventListener("keydown",$),this._domElementKeyEvents=t},this.stopListenToKeyEvents=function(){this._domElementKeyEvents.removeEventListener("keydown",$),this._domElementKeyEvents=null},this.saveState=function(){n.target0.copy(n.target),n.position0.copy(n.object.position),n.zoom0=n.object.zoom},this.reset=function(){n.target.copy(n.target0),n.object.position.copy(n.position0),n.object.zoom=n.zoom0,n.object.updateProjectionMatrix(),n.dispatchEvent(Ly),n.update(),i=r.NONE},this.update=function(){const e=new ae,A=(new ie).setFromUnitVectors(t.up,new ae(0,1,0)),l=A.clone().invert(),c=new ae,u=new ie,h=new ae,p=2*Math.PI;return function(m=null){const g=n.object.position;e.copy(g).sub(n.target),e.applyQuaternion(A),o.setFromVector3(e),n.autoRotate&&i===r.NONE&&L(function(t){return null!==t?2*Math.PI/60*n.autoRotateSpeed*t:2*Math.PI/60/60*n.autoRotateSpeed}(m)),n.enableDamping?(o.theta+=s.theta*n.dampingFactor,o.phi+=s.phi*n.dampingFactor):(o.theta+=s.theta,o.phi+=s.phi);let v=n.minAzimuthAngle,_=n.maxAzimuthAngle;isFinite(v)&&isFinite(_)&&(v<-Math.PI?v+=p:v>Math.PI&&(v-=p),_<-Math.PI?_+=p:_>Math.PI&&(_-=p),o.theta=v<=_?Math.max(v,Math.min(_,o.theta)):o.theta>(v+_)/2?Math.max(v,o.theta):Math.min(_,o.theta)),o.phi=Math.max(n.minPolarAngle,Math.min(n.maxPolarAngle,o.phi)),o.makeSafe(),!0===n.enableDamping?n.target.addScaledVector(f,n.dampingFactor):n.target.add(f),n.target.sub(n.cursor),n.target.clampLength(n.minTargetRadius,n.maxTargetRadius),n.target.add(n.cursor),n.zoomToCursor&&S||n.object.isOrthographicCamera?o.radius=k(o.radius):o.radius=k(o.radius*d),e.setFromSpherical(o),e.applyQuaternion(l),g.copy(n.target).add(e),n.object.lookAt(n.target),!0===n.enableDamping?(s.theta*=1-n.dampingFactor,s.phi*=1-n.dampingFactor,f.multiplyScalar(1-n.dampingFactor)):(s.set(0,0,0),f.set(0,0,0));let y=!1;if(n.zoomToCursor&&S){let r=null;if(n.object.isPerspectiveCamera){const t=e.length();r=k(t*d);const i=t-r;n.object.position.addScaledVector(w,i),n.object.updateMatrixWorld()}else if(n.object.isOrthographicCamera){const t=new ae(E.x,E.y,0);t.unproject(n.object),n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom/d)),n.object.updateProjectionMatrix(),y=!0;const i=new ae(E.x,E.y,0);i.unproject(n.object),n.object.position.sub(i).add(t),n.object.updateMatrixWorld(),r=e.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),n.zoomToCursor=!1;null!==r&&(this.screenSpacePanning?n.target.set(0,0,-1).transformDirection(n.object.matrix).multiplyScalar(r).add(n.object.position):(Iy.origin.copy(n.object.position),Iy.direction.set(0,0,-1).transformDirection(n.object.matrix),Math.abs(n.object.up.dot(Iy.direction))a||8*(1-u.dot(n.object.quaternion))>a||h.distanceToSquared(n.target)>0)&&(n.dispatchEvent(Ly),c.copy(n.object.position),u.copy(n.object.quaternion),h.copy(n.target),!0)}}(),this.dispose=function(){n.domElement.removeEventListener("contextmenu",et),n.domElement.removeEventListener("pointerdown",Q),n.domElement.removeEventListener("pointercancel",Z),n.domElement.removeEventListener("wheel",K),n.domElement.removeEventListener("pointermove",Y),n.domElement.removeEventListener("pointerup",Z),null!==n._domElementKeyEvents&&(n._domElementKeyEvents.removeEventListener("keydown",$),n._domElementKeyEvents=null)};const n=this,r={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let i=r.NONE;const a=1e-6,o=new Qs,s=new Qs;let d=1;const f=new ae,p=new Lt,m=new Lt,g=new Lt,v=new Lt,_=new Lt,y=new Lt,x=new Lt,b=new Lt,M=new Lt,w=new ae,E=new Lt;let S=!1;const T=[],C={};let R=!1;function P(t){const e=Math.abs(.01*t);return Math.pow(.95,n.zoomSpeed*e)}function L(t){s.theta-=t}function D(t){s.phi-=t}const O=function(){const t=new ae;return function(e,n){t.setFromMatrixColumn(n,0),t.multiplyScalar(-e),f.add(t)}}(),I=function(){const t=new ae;return function(e,r){!0===n.screenSpacePanning?t.setFromMatrixColumn(r,1):(t.setFromMatrixColumn(r,0),t.crossVectors(n.object.up,t)),t.multiplyScalar(e),f.add(t)}}(),q=function(){const t=new ae;return function(e,r){const i=n.domElement;if(n.object.isPerspectiveCamera){const a=n.object.position;t.copy(a).sub(n.target);let o=t.length();o*=Math.tan(n.object.fov/2*Math.PI/180),O(2*e*o/i.clientHeight,n.object.matrix),I(2*r*o/i.clientHeight,n.object.matrix)}else n.object.isOrthographicCamera?(O(e*(n.object.right-n.object.left)/n.object.zoom/i.clientWidth,n.object.matrix),I(r*(n.object.top-n.object.bottom)/n.object.zoom/i.clientHeight,n.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),n.enablePan=!1)}}();function U(t){n.object.isPerspectiveCamera||n.object.isOrthographicCamera?d/=t:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function N(t){n.object.isPerspectiveCamera||n.object.isOrthographicCamera?d*=t:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function B(t,e){if(!n.zoomToCursor)return;S=!0;const r=n.domElement.getBoundingClientRect(),i=t-r.left,a=e-r.top,o=r.width,s=r.height;E.x=i/o*2-1,E.y=-a/s*2+1,w.set(E.x,E.y,1).unproject(n.object).sub(n.object.position).normalize()}function k(t){return Math.max(n.minDistance,Math.min(n.maxDistance,t))}function F(t){p.set(t.clientX,t.clientY)}function z(t){v.set(t.clientX,t.clientY)}function G(t){if(1===T.length)p.set(t.pageX,t.pageY);else{const e=rt(t),n=.5*(t.pageX+e.x),r=.5*(t.pageY+e.y);p.set(n,r)}}function H(t){if(1===T.length)v.set(t.pageX,t.pageY);else{const e=rt(t),n=.5*(t.pageX+e.x),r=.5*(t.pageY+e.y);v.set(n,r)}}function j(t){const e=rt(t),n=t.pageX-e.x,r=t.pageY-e.y,i=Math.sqrt(n*n+r*r);x.set(0,i)}function V(t){if(1==T.length)m.set(t.pageX,t.pageY);else{const e=rt(t),n=.5*(t.pageX+e.x),r=.5*(t.pageY+e.y);m.set(n,r)}g.subVectors(m,p).multiplyScalar(n.rotateSpeed);const e=n.domElement;L(2*Math.PI*g.x/e.clientHeight),D(2*Math.PI*g.y/e.clientHeight),p.copy(m)}function W(t){if(1===T.length)_.set(t.pageX,t.pageY);else{const e=rt(t),n=.5*(t.pageX+e.x),r=.5*(t.pageY+e.y);_.set(n,r)}y.subVectors(_,v).multiplyScalar(n.panSpeed),q(y.x,y.y),v.copy(_)}function X(t){const e=rt(t),r=t.pageX-e.x,i=t.pageY-e.y,a=Math.sqrt(r*r+i*i);b.set(0,a),M.set(0,Math.pow(b.y/x.y,n.zoomSpeed)),U(M.y),x.copy(b);B(.5*(t.pageX+e.x),.5*(t.pageY+e.y))}function Q(t){!1!==n.enabled&&(0===T.length&&(n.domElement.setPointerCapture(t.pointerId),n.domElement.addEventListener("pointermove",Y),n.domElement.addEventListener("pointerup",Z)),function(t){T.push(t.pointerId)}(t),"touch"===t.pointerType?tt(t):function(t){let e;switch(t.button){case 0:e=n.mouseButtons.LEFT;break;case 1:e=n.mouseButtons.MIDDLE;break;case 2:e=n.mouseButtons.RIGHT;break;default:e=-1}switch(e){case A.DOLLY:if(!1===n.enableZoom)return;!function(t){B(t.clientX,t.clientX),x.set(t.clientX,t.clientY)}(t),i=r.DOLLY;break;case A.ROTATE:if(t.ctrlKey||t.metaKey||t.shiftKey){if(!1===n.enablePan)return;z(t),i=r.PAN}else{if(!1===n.enableRotate)return;F(t),i=r.ROTATE}break;case A.PAN:if(t.ctrlKey||t.metaKey||t.shiftKey){if(!1===n.enableRotate)return;F(t),i=r.ROTATE}else{if(!1===n.enablePan)return;z(t),i=r.PAN}break;default:i=r.NONE}i!==r.NONE&&n.dispatchEvent(Dy)}(t))}function Y(t){!1!==n.enabled&&("touch"===t.pointerType?function(t){switch(nt(t),i){case r.TOUCH_ROTATE:if(!1===n.enableRotate)return;V(t),n.update();break;case r.TOUCH_PAN:if(!1===n.enablePan)return;W(t),n.update();break;case r.TOUCH_DOLLY_PAN:if(!1===n.enableZoom&&!1===n.enablePan)return;!function(t){n.enableZoom&&X(t),n.enablePan&&W(t)}(t),n.update();break;case r.TOUCH_DOLLY_ROTATE:if(!1===n.enableZoom&&!1===n.enableRotate)return;!function(t){n.enableZoom&&X(t),n.enableRotate&&V(t)}(t),n.update();break;default:i=r.NONE}}(t):function(t){switch(i){case r.ROTATE:if(!1===n.enableRotate)return;!function(t){m.set(t.clientX,t.clientY),g.subVectors(m,p).multiplyScalar(n.rotateSpeed);const e=n.domElement;L(2*Math.PI*g.x/e.clientHeight),D(2*Math.PI*g.y/e.clientHeight),p.copy(m),n.update()}(t);break;case r.DOLLY:if(!1===n.enableZoom)return;!function(t){b.set(t.clientX,t.clientY),M.subVectors(b,x),M.y>0?U(P(M.y)):M.y<0&&N(P(M.y)),x.copy(b),n.update()}(t);break;case r.PAN:if(!1===n.enablePan)return;!function(t){_.set(t.clientX,t.clientY),y.subVectors(_,v).multiplyScalar(n.panSpeed),q(y.x,y.y),v.copy(_),n.update()}(t)}}(t))}function Z(t){switch(function(t){delete C[t.pointerId];for(let e=0;e0&&U(P(t.deltaY)),n.update()}(function(t){const e=t.deltaMode,n={clientX:t.clientX,clientY:t.clientY,deltaY:t.deltaY};switch(e){case 1:n.deltaY*=16;break;case 2:n.deltaY*=100}t.ctrlKey&&!R&&(n.deltaY*=10);return n}(t)),n.dispatchEvent(Oy))}function J(t){if("Control"===t.key){R=!1;n.domElement.getRootNode().removeEventListener("keyup",J,{passive:!0,capture:!0})}}function $(t){!1!==n.enabled&&!1!==n.enablePan&&function(t){let e=!1;switch(t.code){case n.keys.UP:t.ctrlKey||t.metaKey||t.shiftKey?D(2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):q(0,n.keyPanSpeed),e=!0;break;case n.keys.BOTTOM:t.ctrlKey||t.metaKey||t.shiftKey?D(-2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):q(0,-n.keyPanSpeed),e=!0;break;case n.keys.LEFT:t.ctrlKey||t.metaKey||t.shiftKey?L(2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):q(n.keyPanSpeed,0),e=!0;break;case n.keys.RIGHT:t.ctrlKey||t.metaKey||t.shiftKey?L(-2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):q(-n.keyPanSpeed,0),e=!0}e&&(t.preventDefault(),n.update())}(t)}function tt(t){switch(nt(t),T.length){case 1:switch(n.touches.ONE){case l:if(!1===n.enableRotate)return;G(t),i=r.TOUCH_ROTATE;break;case c:if(!1===n.enablePan)return;H(t),i=r.TOUCH_PAN;break;default:i=r.NONE}break;case 2:switch(n.touches.TWO){case u:if(!1===n.enableZoom&&!1===n.enablePan)return;!function(t){n.enableZoom&&j(t),n.enablePan&&H(t)}(t),i=r.TOUCH_DOLLY_PAN;break;case h:if(!1===n.enableZoom&&!1===n.enableRotate)return;!function(t){n.enableZoom&&j(t),n.enableRotate&&G(t)}(t),i=r.TOUCH_DOLLY_ROTATE;break;default:i=r.NONE}break;default:i=r.NONE}i!==r.NONE&&n.dispatchEvent(Dy)}function et(t){!1!==n.enabled&&t.preventDefault()}function nt(t){let e=C[t.pointerId];void 0===e&&(e=new Lt,C[t.pointerId]=e),e.set(t.pageX,t.pageY)}function rt(t){const e=t.pointerId===T[0]?T[1]:T[0];return C[e]}n.domElement.addEventListener("contextmenu",et),n.domElement.addEventListener("pointerdown",Q),n.domElement.addEventListener("pointercancel",Z),n.domElement.addEventListener("wheel",K,{passive:!1});n.domElement.getRootNode().addEventListener("keydown",(function(t){if("Control"===t.key){R=!0;n.domElement.getRootNode().addEventListener("keyup",J,{passive:!0,capture:!0})}}),{passive:!0,capture:!0}),this.update()}}const By={type:"change"};class ky extends gt{constructor(t,e){super(),this.object=t,this.domElement=e,this.enabled=!0,this.movementSpeed=1,this.rollSpeed=.005,this.dragToLook=!1,this.autoForward=!1;const n=this,r=1e-6,i=new ie,a=new ae;this.tmpQuaternion=new ie,this.status=0,this.moveState={up:0,down:0,left:0,right:0,forward:0,back:0,pitchUp:0,pitchDown:0,yawLeft:0,yawRight:0,rollLeft:0,rollRight:0},this.moveVector=new ae(0,0,0),this.rotationVector=new ae(0,0,0),this.keydown=function(t){if(!t.altKey&&!1!==this.enabled){switch(t.code){case"ShiftLeft":case"ShiftRight":this.movementSpeedMultiplier=.1;break;case"KeyW":this.moveState.forward=1;break;case"KeyS":this.moveState.back=1;break;case"KeyA":this.moveState.left=1;break;case"KeyD":this.moveState.right=1;break;case"KeyR":this.moveState.up=1;break;case"KeyF":this.moveState.down=1;break;case"ArrowUp":this.moveState.pitchUp=1;break;case"ArrowDown":this.moveState.pitchDown=1;break;case"ArrowLeft":this.moveState.yawLeft=1;break;case"ArrowRight":this.moveState.yawRight=1;break;case"KeyQ":this.moveState.rollLeft=1;break;case"KeyE":this.moveState.rollRight=1}this.updateMovementVector(),this.updateRotationVector()}},this.keyup=function(t){if(!1!==this.enabled){switch(t.code){case"ShiftLeft":case"ShiftRight":this.movementSpeedMultiplier=1;break;case"KeyW":this.moveState.forward=0;break;case"KeyS":this.moveState.back=0;break;case"KeyA":this.moveState.left=0;break;case"KeyD":this.moveState.right=0;break;case"KeyR":this.moveState.up=0;break;case"KeyF":this.moveState.down=0;break;case"ArrowUp":this.moveState.pitchUp=0;break;case"ArrowDown":this.moveState.pitchDown=0;break;case"ArrowLeft":this.moveState.yawLeft=0;break;case"ArrowRight":this.moveState.yawRight=0;break;case"KeyQ":this.moveState.rollLeft=0;break;case"KeyE":this.moveState.rollRight=0}this.updateMovementVector(),this.updateRotationVector()}},this.pointerdown=function(t){if(!1!==this.enabled)if(this.dragToLook)this.status++;else{switch(t.button){case 0:this.moveState.forward=1;break;case 2:this.moveState.back=1}this.updateMovementVector()}},this.pointermove=function(t){if(!1!==this.enabled&&(!this.dragToLook||this.status>0)){const e=this.getContainerDimensions(),n=e.size[0]/2,r=e.size[1]/2;this.moveState.yawLeft=-(t.pageX-e.offset[0]-n)/n,this.moveState.pitchDown=(t.pageY-e.offset[1]-r)/r,this.updateRotationVector()}},this.pointerup=function(t){if(!1!==this.enabled){if(this.dragToLook)this.status--,this.moveState.yawLeft=this.moveState.pitchDown=0;else{switch(t.button){case 0:this.moveState.forward=0;break;case 2:this.moveState.back=0}this.updateMovementVector()}this.updateRotationVector()}},this.pointercancel=function(){!1!==this.enabled&&(this.dragToLook?(this.status=0,this.moveState.yawLeft=this.moveState.pitchDown=0):(this.moveState.forward=0,this.moveState.back=0,this.updateMovementVector()),this.updateRotationVector())},this.contextMenu=function(t){!1!==this.enabled&&t.preventDefault()},this.update=function(t){if(!1===this.enabled)return;const e=t*n.movementSpeed,o=t*n.rollSpeed;n.object.translateX(n.moveVector.x*e),n.object.translateY(n.moveVector.y*e),n.object.translateZ(n.moveVector.z*e),n.tmpQuaternion.set(n.rotationVector.x*o,n.rotationVector.y*o,n.rotationVector.z*o,1).normalize(),n.object.quaternion.multiply(n.tmpQuaternion),(a.distanceToSquared(n.object.position)>r||8*(1-i.dot(n.object.quaternion))>r)&&(n.dispatchEvent(By),i.copy(n.object.quaternion),a.copy(n.object.position))},this.updateMovementVector=function(){const t=this.moveState.forward||this.autoForward&&!this.moveState.back?1:0;this.moveVector.x=-this.moveState.left+this.moveState.right,this.moveVector.y=-this.moveState.down+this.moveState.up,this.moveVector.z=-t+this.moveState.back},this.updateRotationVector=function(){this.rotationVector.x=-this.moveState.pitchDown+this.moveState.pitchUp,this.rotationVector.y=-this.moveState.yawRight+this.moveState.yawLeft,this.rotationVector.z=-this.moveState.rollRight+this.moveState.rollLeft},this.getContainerDimensions=function(){return this.domElement!=document?{size:[this.domElement.offsetWidth,this.domElement.offsetHeight],offset:[this.domElement.offsetLeft,this.domElement.offsetTop]}:{size:[window.innerWidth,window.innerHeight],offset:[0,0]}},this.dispose=function(){this.domElement.removeEventListener("contextmenu",o),this.domElement.removeEventListener("pointerdown",A),this.domElement.removeEventListener("pointermove",s),this.domElement.removeEventListener("pointerup",l),this.domElement.removeEventListener("pointercancel",c),window.removeEventListener("keydown",u),window.removeEventListener("keyup",h)};const o=this.contextMenu.bind(this),s=this.pointermove.bind(this),A=this.pointerdown.bind(this),l=this.pointerup.bind(this),c=this.pointercancel.bind(this),u=this.keydown.bind(this),h=this.keyup.bind(this);this.domElement.addEventListener("contextmenu",o),this.domElement.addEventListener("pointerdown",A),this.domElement.addEventListener("pointermove",s),this.domElement.addEventListener("pointerup",l),this.domElement.addEventListener("pointercancel",c),window.addEventListener("keydown",u),window.addEventListener("keyup",h),this.updateMovementVector(),this.updateRotationVector()}}const Fy={name:"CopyShader",uniforms:{tDiffuse:{value:null},opacity:{value:1}},vertexShader:"\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvUv = uv;\n\t\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n\t\t}",fragmentShader:"\n\n\t\tuniform float opacity;\n\n\t\tuniform sampler2D tDiffuse;\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvec4 texel = texture2D( tDiffuse, vUv );\n\t\t\tgl_FragColor = opacity * texel;\n\n\n\t\t}"};class zy{constructor(){this.isPass=!0,this.enabled=!0,this.needsSwap=!0,this.clear=!1,this.renderToScreen=!1}setSize(){}render(){console.error("THREE.Pass: .render() must be implemented in derived pass.")}dispose(){}}const Gy=new Gr(-1,1,1,-1,0,1);const Hy=new class extends zn{constructor(){super(),this.setAttribute("position",new On([-1,3,0,-1,-1,0,3,-1,0],3)),this.setAttribute("uv",new On([0,2,0,0,2,0],2))}};class jy{constructor(t){this._mesh=new ar(Hy,t)}dispose(){this._mesh.geometry.dispose()}render(t){t.render(this._mesh,Gy)}get material(){return this._mesh.material}set material(t){this._mesh.material=t}}class Vy extends zy{constructor(t,e){super(),this.textureID=void 0!==e?e:"tDiffuse",t instanceof hr?(this.uniforms=t.uniforms,this.material=t):t&&(this.uniforms=ur.clone(t.uniforms),this.material=new hr({name:void 0!==t.name?t.name:"unspecified",defines:Object.assign({},t.defines),uniforms:this.uniforms,vertexShader:t.vertexShader,fragmentShader:t.fragmentShader})),this.fsQuad=new jy(this.material)}render(t,e,n){this.uniforms[this.textureID]&&(this.uniforms[this.textureID].value=n.texture),this.fsQuad.material=this.material,this.renderToScreen?(t.setRenderTarget(null),this.fsQuad.render(t)):(t.setRenderTarget(e),this.clear&&t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil),this.fsQuad.render(t))}dispose(){this.material.dispose(),this.fsQuad.dispose()}}class Wy extends zy{constructor(t,e){super(),this.scene=t,this.camera=e,this.clear=!0,this.needsSwap=!1,this.inverse=!1}render(t,e,n){const r=t.getContext(),i=t.state;let a,o;i.buffers.color.setMask(!1),i.buffers.depth.setMask(!1),i.buffers.color.setLocked(!0),i.buffers.depth.setLocked(!0),this.inverse?(a=0,o=1):(a=1,o=0),i.buffers.stencil.setTest(!0),i.buffers.stencil.setOp(r.REPLACE,r.REPLACE,r.REPLACE),i.buffers.stencil.setFunc(r.ALWAYS,a,4294967295),i.buffers.stencil.setClear(o),i.buffers.stencil.setLocked(!0),t.setRenderTarget(n),this.clear&&t.clear(),t.render(this.scene,this.camera),t.setRenderTarget(e),this.clear&&t.clear(),t.render(this.scene,this.camera),i.buffers.color.setLocked(!1),i.buffers.depth.setLocked(!1),i.buffers.color.setMask(!0),i.buffers.depth.setMask(!0),i.buffers.stencil.setLocked(!1),i.buffers.stencil.setFunc(r.EQUAL,1,4294967295),i.buffers.stencil.setOp(r.KEEP,r.KEEP,r.KEEP),i.buffers.stencil.setLocked(!0)}}class Xy extends zy{constructor(){super(),this.needsSwap=!1}render(t){t.state.buffers.stencil.setLocked(!1),t.state.buffers.stencil.setTest(!1)}}class Qy{constructor(t,e){if(this.renderer=t,this._pixelRatio=t.getPixelRatio(),void 0===e){const n=t.getSize(new Lt);this._width=n.width,this._height=n.height,(e=new ee(this._width*this._pixelRatio,this._height*this._pixelRatio,{type:V})).texture.name="EffectComposer.rt1"}else this._width=e.width,this._height=e.height;this.renderTarget1=e,this.renderTarget2=e.clone(),this.renderTarget2.texture.name="EffectComposer.rt2",this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2,this.renderToScreen=!0,this.passes=[],this.copyPass=new Vy(Fy),this.copyPass.material.blending=0,this.clock=new Hs}swapBuffers(){const t=this.readBuffer;this.readBuffer=this.writeBuffer,this.writeBuffer=t}addPass(t){this.passes.push(t),t.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}insertPass(t,e){this.passes.splice(e,0,t),t.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}removePass(t){const e=this.passes.indexOf(t);-1!==e&&this.passes.splice(e,1)}isLastEnabledPass(t){for(let e=t+1;e1?r-1:0),a=1;a=0&&i<1?(s=a,A=o):i>=1&&i<2?(s=o,A=a):i>=2&&i<3?(A=a,l=o):i>=3&&i<4?(A=o,l=a):i>=4&&i<5?(s=o,l=a):i>=5&&i<6&&(s=a,l=o);var c=n-a/2;return r(s+c,A+c,l+c)}var sx={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};var Ax=/^#[a-fA-F0-9]{6}$/,lx=/^#[a-fA-F0-9]{8}$/,cx=/^#[a-fA-F0-9]{3}$/,ux=/^#[a-fA-F0-9]{4}$/,hx=/^rgb\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*\)$/i,dx=/^rgb(?:a)?\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i,fx=/^hsl\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,px=/^hsl(?:a)?\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i;function mx(t){if("string"!=typeof t)throw new rx(3);var e=function(t){if("string"!=typeof t)return t;var e=t.toLowerCase();return sx[e]?"#"+sx[e]:t}(t);if(e.match(Ax))return{red:parseInt(""+e[1]+e[2],16),green:parseInt(""+e[3]+e[4],16),blue:parseInt(""+e[5]+e[6],16)};if(e.match(lx)){var n=parseFloat((parseInt(""+e[7]+e[8],16)/255).toFixed(2));return{red:parseInt(""+e[1]+e[2],16),green:parseInt(""+e[3]+e[4],16),blue:parseInt(""+e[5]+e[6],16),alpha:n}}if(e.match(cx))return{red:parseInt(""+e[1]+e[1],16),green:parseInt(""+e[2]+e[2],16),blue:parseInt(""+e[3]+e[3],16)};if(e.match(ux)){var r=parseFloat((parseInt(""+e[4]+e[4],16)/255).toFixed(2));return{red:parseInt(""+e[1]+e[1],16),green:parseInt(""+e[2]+e[2],16),blue:parseInt(""+e[3]+e[3],16),alpha:r}}var i=hx.exec(e);if(i)return{red:parseInt(""+i[1],10),green:parseInt(""+i[2],10),blue:parseInt(""+i[3],10)};var a=dx.exec(e.substring(0,50));if(a)return{red:parseInt(""+a[1],10),green:parseInt(""+a[2],10),blue:parseInt(""+a[3],10),alpha:parseFloat(""+a[4])>1?parseFloat(""+a[4])/100:parseFloat(""+a[4])};var o=fx.exec(e);if(o){var s="rgb("+ox(parseInt(""+o[1],10),parseInt(""+o[2],10)/100,parseInt(""+o[3],10)/100)+")",A=hx.exec(s);if(!A)throw new rx(4,e,s);return{red:parseInt(""+A[1],10),green:parseInt(""+A[2],10),blue:parseInt(""+A[3],10)}}var l=px.exec(e.substring(0,50));if(l){var c="rgb("+ox(parseInt(""+l[1],10),parseInt(""+l[2],10)/100,parseInt(""+l[3],10)/100)+")",u=hx.exec(c);if(!u)throw new rx(4,e,c);return{red:parseInt(""+u[1],10),green:parseInt(""+u[2],10),blue:parseInt(""+u[3],10),alpha:parseFloat(""+l[4])>1?parseFloat(""+l[4])/100:parseFloat(""+l[4])}}throw new rx(5)}function gx(t){return function(t){var e,n=t.red/255,r=t.green/255,i=t.blue/255,a=Math.max(n,r,i),o=Math.min(n,r,i),s=(a+o)/2;if(a===o)return void 0!==t.alpha?{hue:0,saturation:0,lightness:s,alpha:t.alpha}:{hue:0,saturation:0,lightness:s};var A=a-o,l=s>.5?A/(2-a-o):A/(a+o);switch(a){case n:e=(r-i)/A+(r=1?Mx(t,e,n):"rgba("+t+","+e+","+n+","+r+")";if("object"==typeof t&&void 0===e&&void 0===n&&void 0===r)return t.alpha>=1?Mx(t.red,t.green,t.blue):"rgba("+t.red+","+t.green+","+t.blue+","+t.alpha+")";throw new rx(7)}var Ex=function(t){return"number"==typeof t.red&&"number"==typeof t.green&&"number"==typeof t.blue&&("number"!=typeof t.alpha||void 0===t.alpha)},Sx=function(t){return"number"==typeof t.red&&"number"==typeof t.green&&"number"==typeof t.blue&&"number"==typeof t.alpha},Tx=function(t){return"number"==typeof t.hue&&"number"==typeof t.saturation&&"number"==typeof t.lightness&&("number"!=typeof t.alpha||void 0===t.alpha)},Cx=function(t){return"number"==typeof t.hue&&"number"==typeof t.saturation&&"number"==typeof t.lightness&&"number"==typeof t.alpha};function Rx(t){if("object"!=typeof t)throw new rx(8);if(Sx(t))return wx(t);if(Ex(t))return Mx(t);if(Cx(t))return function(t,e,n,r){if("number"==typeof t&&"number"==typeof e&&"number"==typeof n&&"number"==typeof r)return r>=1?bx(t,e,n):"rgba("+ox(t,e,n)+","+r+")";if("object"==typeof t&&void 0===e&&void 0===n&&void 0===r)return t.alpha>=1?bx(t.hue,t.saturation,t.lightness):"rgba("+ox(t.hue,t.saturation,t.lightness)+","+t.alpha+")";throw new rx(2)}(t);if(Tx(t))return function(t,e,n){if("number"==typeof t&&"number"==typeof e&&"number"==typeof n)return bx(t,e,n);if("object"==typeof t&&void 0===e&&void 0===n)return bx(t.hue,t.saturation,t.lightness);throw new rx(1)}(t);throw new rx(8)}function Px(t,e,n){return function(){var r=n.concat(Array.prototype.slice.call(arguments));return r.length>=e?t.apply(this,r):Px(t,e,r)}}function Lx(t){return Px(t,t.length,[])}function Dx(t,e,n){return Math.max(t,Math.min(e,n))}Lx((function(t,e){if("transparent"===e)return e;var n=gx(e);return Rx(Zy({},n,{hue:n.hue+parseFloat(t)}))})),Lx((function(t,e){if("transparent"===e)return e;var n=gx(e);return Rx(Zy({},n,{lightness:Dx(0,1,n.lightness-parseFloat(t))}))})),Lx((function(t,e){if("transparent"===e)return e;var n=gx(e);return Rx(Zy({},n,{saturation:Dx(0,1,n.saturation-parseFloat(t))}))})),Lx((function(t,e){if("transparent"===e)return e;var n=gx(e);return Rx(Zy({},n,{lightness:Dx(0,1,n.lightness+parseFloat(t))}))}));var Ox=Lx((function(t,e,n){if("transparent"===e)return n;if("transparent"===n)return e;if(0===t)return n;var r=mx(e),i=Zy({},r,{alpha:"number"==typeof r.alpha?r.alpha:1}),a=mx(n),o=Zy({},a,{alpha:"number"==typeof a.alpha?a.alpha:1}),s=i.alpha-o.alpha,A=2*parseFloat(t)-1,l=((A*s==-1?A:A+s)/(1+A*s)+1)/2,c=1-l;return wx({red:Math.floor(i.red*l+o.red*c),green:Math.floor(i.green*l+o.green*c),blue:Math.floor(i.blue*l+o.blue*c),alpha:i.alpha*parseFloat(t)+o.alpha*(1-parseFloat(t))})})),Ix=Ox;var qx=Lx((function(t,e){if("transparent"===e)return e;var n=mx(e);return wx(Zy({},n,{alpha:Dx(0,1,(100*("number"==typeof n.alpha?n.alpha:1)+100*parseFloat(t))/100)}))})),Ux=qx;Lx((function(t,e){if("transparent"===e)return e;var n=gx(e);return Rx(Zy({},n,{saturation:Dx(0,1,n.saturation+parseFloat(t))}))})),Lx((function(t,e){return"transparent"===e?e:Rx(Zy({},gx(e),{hue:parseFloat(t)}))})),Lx((function(t,e){return"transparent"===e?e:Rx(Zy({},gx(e),{lightness:parseFloat(t)}))})),Lx((function(t,e){return"transparent"===e?e:Rx(Zy({},gx(e),{saturation:parseFloat(t)}))})),Lx((function(t,e){return"transparent"===e?e:Ix(parseFloat(t),"rgb(0, 0, 0)",e)})),Lx((function(t,e){return"transparent"===e?e:Ix(parseFloat(t),"rgb(255, 255, 255)",e)})),Lx((function(t,e){if("transparent"===e)return e;var n=mx(e);return wx(Zy({},n,{alpha:Dx(0,1,+(100*("number"==typeof n.alpha?n.alpha:1)-100*parseFloat(t)).toFixed(2)/100)}))}));function Nx(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}function Bx(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,i,a,o,s=[],A=!0,l=!1;try{if(a=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;A=!1}else for(;!(A=(r=a.call(n)).done)&&(s.push(r.value),s.length!==e);A=!0);}catch(t){l=!0,i=t}finally{try{if(!A&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}(t,e)||Fx(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function kx(t){return function(t){if(Array.isArray(t))return zx(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||Fx(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Fx(t,e){if(t){if("string"==typeof t)return zx(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?zx(t,e):void 0}}function zx(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n0&&(e.object.backgroundBlurriness=this.backgroundBlurriness),1!==this.backgroundIntensity&&(e.object.backgroundIntensity=this.backgroundIntensity),e}},PerspectiveCamera:gr,Raycaster:class{constructor(t,e,n=0,r=1/0){this.ray=new Ie(t,e),this.near=n,this.far=r,this.camera=null,this.layers=new We,this.params={Mesh:{},Line:{threshold:1},LOD:{},Points:{threshold:1},Sprite:{}}}set(t,e){this.ray.set(t,e)}setFromCamera(t,e){e.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(e.matrixWorld),this.ray.direction.set(t.x,t.y,.5).unproject(e).sub(this.ray.origin).normalize(),this.camera=e):e.isOrthographicCamera?(this.ray.origin.set(t.x,t.y,(e.near+e.far)/(e.near-e.far)).unproject(e),this.ray.direction.set(0,0,-1).transformDirection(e.matrixWorld),this.camera=e):console.error("THREE.Raycaster: Unsupported camera type: "+e.type)}intersectObject(t,e=!0,n=[]){return Xs(t,this,n,e),n.sort(Ws),n}intersectObjects(t,e=!0,n=[]){for(let r=0,i=t.length;r1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,r=arguments.length,i=new Array(r>3?r-3:0),a=3;a2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,i=t.camera;if(e){var a=new Gx.Vector3(0,0,0),o=2*Math.max.apply(Math,kx(Object.entries(e).map((function(t){var e=Bx(t,2),n=e[0],r=e[1];return Math.max.apply(Math,kx(r.map((function(t){return Math.abs(a[n]-t)}))))})))),s=(1-2*r/t.height)*i.fov,A=o/Math.atan(s*Math.PI/180),l=A/i.aspect,c=Math.max(A,l);if(c>0){var u=a.clone().sub(i.position).normalize().multiplyScalar(-c);this.cameraPosition(u,a,n)}}return this},getBbox:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){return!0},n=new Gx.Box3(new Gx.Vector3(0,0,0),new Gx.Vector3(0,0,0)),r=t.objects.filter(e);return r.length?(r.forEach((function(t){return n.expandByObject(t)})),Object.assign.apply(Object,kx(["x","y","z"].map((function(t){return e={},r=t,i=[n.min[t],n.max[t]],(r=Nx(r))in e?Object.defineProperty(e,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[r]=i,e;var e,r,i}))))):null},getScreenCoords:function(t,e,n,r){var i=new Gx.Vector3(e,n,r);return i.project(this.camera()),{x:(i.x+1)*t.width/2,y:-(i.y-1)*t.height/2}},getSceneCoords:function(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=new Gx.Vector2(e/t.width*2-1,-n/t.height*2+1),a=new Gx.Raycaster;return a.setFromCamera(i,t.camera),Object.assign({},a.ray.at(r,new Gx.Vector3))},intersectingObjects:function(t,e,n){var r=new Gx.Vector2(e/t.width*2-1,-n/t.height*2+1),i=new Gx.Raycaster;return i.params.Line.threshold=t.lineHoverPrecision,i.setFromCamera(r,t.camera),i.intersectObjects(t.objects,!0)},renderer:function(t){return t.renderer},scene:function(t){return t.scene},camera:function(t){return t.camera},postProcessingComposer:function(t){return t.postProcessingComposer},controls:function(t){return t.controls},tbControls:function(t){return t.controls}},stateInit:function(){return{scene:new Gx.Scene,camera:new Gx.PerspectiveCamera,clock:new Gx.Clock}},init:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.controlType,i=void 0===r?"trackball":r,a=n.rendererConfig,o=void 0===a?{}:a,s=n.extraRenderers,A=void 0===s?[]:s,l=n.waitForLoadComplete,c=void 0===l||l;t.innerHTML="",t.appendChild(e.container=document.createElement("div")),e.container.className="scene-container",e.container.style.position="relative",e.container.appendChild(e.navInfo=document.createElement("div")),e.navInfo.className="scene-nav-info",e.navInfo.textContent={orbit:"Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan",trackball:"Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan",fly:"WASD: move, R|F: up | down, Q|E: roll, up|down: pitch, left|right: yaw"}[i]||"",e.navInfo.style.display=e.showNavInfo?null:"none",e.toolTipElem=document.createElement("div"),e.toolTipElem.classList.add("scene-tooltip"),e.container.appendChild(e.toolTipElem),e.pointerPos=new Gx.Vector2,e.pointerPos.x=-2,e.pointerPos.y=-2,["pointermove","pointerdown"].forEach((function(t){return e.container.addEventListener(t,(function(n){if("pointerdown"===t&&(e.isPointerPressed=!0),!e.isPointerDragging&&"pointermove"===n.type&&(n.pressure>0||e.isPointerPressed)&&("touch"!==n.pointerType||void 0===n.movementX||[n.movementX,n.movementY].some((function(t){return Math.abs(t)>1})))&&(e.isPointerDragging=!0),e.enablePointerInteraction){var r=(i=e.container,a=i.getBoundingClientRect(),o=window.pageXOffset||document.documentElement.scrollLeft,s=window.pageYOffset||document.documentElement.scrollTop,{top:a.top+s,left:a.left+o});e.pointerPos.x=n.pageX-r.left,e.pointerPos.y=n.pageY-r.top,e.toolTipElem.style.top="".concat(e.pointerPos.y,"px"),e.toolTipElem.style.left="".concat(e.pointerPos.x,"px"),e.toolTipElem.style.transform="translate(-".concat(e.pointerPos.x/e.width*100,"%, ").concat(e.height-e.pointerPos.y<100?"calc(-100% - 8px)":"21px",")")}var i,a,o,s}),{passive:!0})})),e.container.addEventListener("pointerup",(function(t){e.isPointerPressed=!1,e.isPointerDragging&&(e.isPointerDragging=!1,!e.clickAfterDrag)||requestAnimationFrame((function(){0===t.button&&e.onClick(e.hoverObj||null,t,e.intersectionPoint),2===t.button&&e.onRightClick&&e.onRightClick(e.hoverObj||null,t,e.intersectionPoint)}))}),{passive:!0,capture:!0}),e.container.addEventListener("contextmenu",(function(t){e.onRightClick&&t.preventDefault()})),e.renderer=new Gx.WebGLRenderer(Object.assign({antialias:!0,alpha:!0},o)),e.renderer.setPixelRatio(Math.min(2,window.devicePixelRatio)),e.container.appendChild(e.renderer.domElement),e.extraRenderers=A,e.extraRenderers.forEach((function(t){t.domElement.style.position="absolute",t.domElement.style.top="0px",t.domElement.style.pointerEvents="none",e.container.appendChild(t.domElement)})),e.postProcessingComposer=new Qy(e.renderer),e.postProcessingComposer.addPass(new Yy(e.scene,e.camera)),e.controls=new{trackball:Py,orbit:Ny,fly:ky}[i](e.camera,e.renderer.domElement),"fly"===i&&(e.controls.movementSpeed=300,e.controls.rollSpeed=Math.PI/6,e.controls.dragToLook=!0),"trackball"!==i&&"orbit"!==i||(e.controls.minDistance=.1,e.controls.maxDistance=e.skyRadius,e.controls.addEventListener("start",(function(){e.controlsEngaged=!0})),e.controls.addEventListener("change",(function(){e.controlsEngaged&&(e.controlsDragging=!0)})),e.controls.addEventListener("end",(function(){e.controlsEngaged=!1,e.controlsDragging=!1}))),[e.renderer,e.postProcessingComposer].concat(kx(e.extraRenderers)).forEach((function(t){return t.setSize(e.width,e.height)})),e.camera.aspect=e.width/e.height,e.camera.updateProjectionMatrix(),e.camera.position.z=1e3,e.scene.add(e.skysphere=new Gx.Mesh),e.skysphere.visible=!1,e.loadComplete=e.scene.visible=!c,window.scene=e.scene},update:function(t,e){if(t.width&&t.height&&(e.hasOwnProperty("width")||e.hasOwnProperty("height"))&&(t.container.style.width="".concat(t.width,"px"),t.container.style.height="".concat(t.height,"px"),[t.renderer,t.postProcessingComposer].concat(kx(t.extraRenderers)).forEach((function(e){return e.setSize(t.width,t.height)})),t.camera.aspect=t.width/t.height,t.camera.updateProjectionMatrix()),e.hasOwnProperty("skyRadius")&&t.skyRadius&&(t.controls.hasOwnProperty("maxDistance")&&e.skyRadius&&(t.controls.maxDistance=Math.min(t.controls.maxDistance,t.skyRadius)),t.camera.far=2.5*t.skyRadius,t.camera.updateProjectionMatrix(),t.skysphere.geometry=new Gx.SphereGeometry(t.skyRadius)),e.hasOwnProperty("backgroundColor")){var n=mx(t.backgroundColor).alpha;void 0===n&&(n=1),t.renderer.setClearColor(new Gx.Color(Ux(1,t.backgroundColor)),n)}function r(){t.loadComplete=t.scene.visible=!0}e.hasOwnProperty("backgroundImageUrl")&&(t.backgroundImageUrl?(new Gx.TextureLoader).load(t.backgroundImageUrl,(function(e){e.colorSpace=Gx.SRGBColorSpace,t.skysphere.material=new Gx.MeshBasicMaterial({map:e,side:Gx.BackSide}),t.skysphere.visible=!0,t.onBackgroundImageLoaded&&setTimeout(t.onBackgroundImageLoaded),!t.loadComplete&&r()})):(t.skysphere.visible=!1,t.skysphere.material.map=null,!t.loadComplete&&r())),e.hasOwnProperty("showNavInfo")&&(t.navInfo.style.display=t.showNavInfo?null:"none"),e.hasOwnProperty("lights")&&((e.lights||[]).forEach((function(e){return t.scene.remove(e)})),t.lights.forEach((function(e){return t.scene.add(e)}))),e.hasOwnProperty("objects")&&((e.objects||[]).forEach((function(e){return t.scene.remove(e)})),t.objects.forEach((function(e){return t.scene.add(e)})))}});function jx(t,e){var n=new e;return n._destructor&&n._destructor(),{linkProp:function(e){return{default:n[e](),onChange:function(n,r){r[t][e](n)},triggerUpdate:!1}},linkMethod:function(e){return function(n){for(var r=n[t],i=arguments.length,a=new Array(i>1?i-1:0),o=1;o=-1&&Js.z<=1&&!0===t.layers.test(r.layers);if(t.element.style.display=!0===A?"":"none",!0===A){t.onBeforeRender(e,n,r);const o=t.element;o.style.transform="translate("+-100*t.center.x+"%,"+-100*t.center.y+"%)translate("+(Js.x*i+i)+"px,"+(-Js.y*a+a)+"px)",o.parentNode!==s&&s.appendChild(o),t.onAfterRender(e,n,r)}const c={distanceToCameraSquared:l(r,t)};o.objects.set(t,c)}for(let e=0,i=t.children.length;e1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=t.globe.toGeoCoords(t.renderObjs.cameraPosition());if(void 0===e.lat&&void 0===e.lng&&void 0===e.altitude)return r;var i=Object.assign({},r,e);if(["lat","lng","altitude"].forEach((function(t){return i[t]=+i[t]})),n){for(;r.lng-i.lng>180;)r.lng-=360;for(;r.lng-i.lng<-180;)r.lng+=360;new VA(r).to(i,n).easing(kA.Cubic.InOut).onUpdate(a).start()}else a(i);return this;function a(e){var n=e.lat,r=e.lng,i=e.altitude;t.renderObjs.cameraPosition(t.globe.getCoords(n,r,i))}},getScreenCoords:function(t){for(var e,n=arguments.length,r=new Array(n>1?n-1:0),i=1;i=1;const o=i?1:this.easing(s);this.value=this.from+(this.to-this.from)*o}var s,o,n,l;this.onUpdate?.(this.value,i),i&&this.stop()}stop(){this.isRunning=!1}fromTo(t,e,{lerp:i=.1,duration:s=1,easing:o=(t=>t),onStart:n,onUpdate:l}){this.from=this.value=t,this.to=e,this.lerp=i,this.duration=s,this.easing=o,this.currentTime=0,this.isRunning=!0,n?.(),this.onUpdate=l}}class Dimensions{constructor({wrapper:t,content:e,autoResize:i=!0,debounce:s=250}={}){this.wrapper=t,this.content=e,i&&(this.debouncedResize=function(t,e){let i;return function(){let s=arguments,o=this;clearTimeout(i),i=setTimeout((function(){t.apply(o,s)}),e)}}(this.resize,s),this.wrapper===window?window.addEventListener("resize",this.debouncedResize,!1):(this.wrapperResizeObserver=new ResizeObserver(this.debouncedResize),this.wrapperResizeObserver.observe(this.wrapper)),this.contentResizeObserver=new ResizeObserver(this.debouncedResize),this.contentResizeObserver.observe(this.content)),this.resize()}destroy(){this.wrapperResizeObserver?.disconnect(),this.contentResizeObserver?.disconnect(),window.removeEventListener("resize",this.debouncedResize,!1)}resize=()=>{this.onWrapperResize(),this.onContentResize()};onWrapperResize=()=>{this.wrapper===window?(this.width=window.innerWidth,this.height=window.innerHeight):(this.width=this.wrapper.clientWidth,this.height=this.wrapper.clientHeight)};onContentResize=()=>{this.wrapper===window?(this.scrollHeight=this.content.scrollHeight,this.scrollWidth=this.content.scrollWidth):(this.scrollHeight=this.wrapper.scrollHeight,this.scrollWidth=this.wrapper.scrollWidth)};get limit(){return{x:this.scrollWidth-this.width,y:this.scrollHeight-this.height}}}class Emitter{constructor(){this.events={}}emit(t,...e){let i=this.events[t]||[];for(let t=0,s=i.length;t{this.events[t]=this.events[t]?.filter((t=>e!==t))}}off(t,e){this.events[t]=this.events[t]?.filter((t=>e!==t))}destroy(){this.events={}}}class VirtualScroll{constructor(t,{wheelMultiplier:e=1,touchMultiplier:i=2,normalizeWheel:s=!1}){this.element=t,this.wheelMultiplier=e,this.touchMultiplier=i,this.normalizeWheel=s,this.touchStart={x:null,y:null},this.emitter=new Emitter,this.element.addEventListener("wheel",this.onWheel,{passive:!1}),this.element.addEventListener("touchstart",this.onTouchStart,{passive:!1}),this.element.addEventListener("touchmove",this.onTouchMove,{passive:!1}),this.element.addEventListener("touchend",this.onTouchEnd,{passive:!1})}on(t,e){return this.emitter.on(t,e)}destroy(){this.emitter.destroy(),this.element.removeEventListener("wheel",this.onWheel,{passive:!1}),this.element.removeEventListener("touchstart",this.onTouchStart,{passive:!1}),this.element.removeEventListener("touchmove",this.onTouchMove,{passive:!1}),this.element.removeEventListener("touchend",this.onTouchEnd,{passive:!1})}onTouchStart=t=>{const{clientX:e,clientY:i}=t.targetTouches?t.targetTouches[0]:t;this.touchStart.x=e,this.touchStart.y=i,this.lastDelta={x:0,y:0},this.emitter.emit("scroll",{deltaX:0,deltaY:0,event:t})};onTouchMove=t=>{const{clientX:e,clientY:i}=t.targetTouches?t.targetTouches[0]:t,s=-(e-this.touchStart.x)*this.touchMultiplier,o=-(i-this.touchStart.y)*this.touchMultiplier;this.touchStart.x=e,this.touchStart.y=i,this.lastDelta={x:s,y:o},this.emitter.emit("scroll",{deltaX:s,deltaY:o,event:t})};onTouchEnd=t=>{this.emitter.emit("scroll",{deltaX:this.lastDelta.x,deltaY:this.lastDelta.y,event:t})};onWheel=e=>{let{deltaX:i,deltaY:s}=e;this.normalizeWheel&&(i=t(-100,i,100),s=t(-100,s,100)),i*=this.wheelMultiplier,s*=this.wheelMultiplier,this.emitter.emit("scroll",{deltaX:i,deltaY:s,event:e})}}return class Lenis{constructor({wrapper:t=window,content:e=document.documentElement,wheelEventsTarget:i=t,eventsTarget:s=i,smoothWheel:o=!0,syncTouch:n=!1,syncTouchLerp:l=.075,touchInertiaMultiplier:r=35,duration:h,easing:a=(t=>Math.min(1,1.001-Math.pow(2,-10*t))),lerp:c=!h&&.1,infinite:p=!1,orientation:u="vertical",gestureOrientation:d="vertical",touchMultiplier:m=1,wheelMultiplier:v=1,normalizeWheel:g=!1,autoResize:S=!0,__experimental__naiveDimensions:w=!1}={}){this.__isSmooth=!1,this.__isScrolling=!1,this.__isStopped=!1,this.__isLocked=!1,this.onVirtualScroll=({deltaX:t,deltaY:e,event:i})=>{if(i.ctrlKey)return;const s=i.type.includes("touch"),o=i.type.includes("wheel");if(this.options.syncTouch&&s&&"touchstart"===i.type)return void this.reset();const n=0===t&&0===e,l="vertical"===this.options.gestureOrientation&&0===e||"horizontal"===this.options.gestureOrientation&&0===t;if(n||l)return;let r=i.composedPath();if(r=r.slice(0,r.indexOf(this.rootElement)),r.find((t=>{var e,i,n,l,r;return(null===(e=t.hasAttribute)||void 0===e?void 0:e.call(t,"data-lenis-prevent"))||s&&(null===(i=t.hasAttribute)||void 0===i?void 0:i.call(t,"data-lenis-prevent-touch"))||o&&(null===(n=t.hasAttribute)||void 0===n?void 0:n.call(t,"data-lenis-prevent-wheel"))||(null===(l=t.classList)||void 0===l?void 0:l.contains("lenis"))&&!(null===(r=t.classList)||void 0===r?void 0:r.contains("lenis-stopped"))})))return;if(this.isStopped||this.isLocked)return void i.preventDefault();if(this.isSmooth=this.options.syncTouch&&s||this.options.smoothWheel&&o,!this.isSmooth)return this.isScrolling=!1,void this.animate.stop();i.preventDefault();let h=e;"both"===this.options.gestureOrientation?h=Math.abs(e)>Math.abs(t)?e:t:"horizontal"===this.options.gestureOrientation&&(h=t);const a=s&&this.options.syncTouch,c=s&&"touchend"===i.type&&Math.abs(h)>5;c&&(h=this.velocity*this.options.touchInertiaMultiplier),this.scrollTo(this.targetScroll+h,Object.assign({programmatic:!1},a?{lerp:c?this.options.syncTouchLerp:1}:{lerp:this.options.lerp,duration:this.options.duration,easing:this.options.easing}))},this.onNativeScroll=()=>{if(!this.__preventNextScrollEvent&&!this.isScrolling){const t=this.animatedScroll;this.animatedScroll=this.targetScroll=this.actualScroll,this.velocity=0,this.direction=Math.sign(this.animatedScroll-t),this.emit()}},window.lenisVersion="1.0.39",t!==document.documentElement&&t!==document.body||(t=window),this.options={wrapper:t,content:e,wheelEventsTarget:i,eventsTarget:s,smoothWheel:o,syncTouch:n,syncTouchLerp:l,touchInertiaMultiplier:r,duration:h,easing:a,lerp:c,infinite:p,gestureOrientation:d,orientation:u,touchMultiplier:m,wheelMultiplier:v,normalizeWheel:g,autoResize:S,__experimental__naiveDimensions:w},this.animate=new Animate,this.emitter=new Emitter,this.dimensions=new Dimensions({wrapper:t,content:e,autoResize:S}),this.toggleClassName("lenis",!0),this.velocity=0,this.isLocked=!1,this.isStopped=!1,this.isSmooth=n||o,this.isScrolling=!1,this.targetScroll=this.animatedScroll=this.actualScroll,this.options.wrapper.addEventListener("scroll",this.onNativeScroll,{passive:!1}),this.virtualScroll=new VirtualScroll(s,{touchMultiplier:m,wheelMultiplier:v,normalizeWheel:g}),this.virtualScroll.on("scroll",this.onVirtualScroll)}destroy(){this.emitter.destroy(),this.options.wrapper.removeEventListener("scroll",this.onNativeScroll,{passive:!1}),this.virtualScroll.destroy(),this.dimensions.destroy(),this.toggleClassName("lenis",!1),this.toggleClassName("lenis-smooth",!1),this.toggleClassName("lenis-scrolling",!1),this.toggleClassName("lenis-stopped",!1),this.toggleClassName("lenis-locked",!1)}on(t,e){return this.emitter.on(t,e)}off(t,e){return this.emitter.off(t,e)}setScroll(t){this.isHorizontal?this.rootElement.scrollLeft=t:this.rootElement.scrollTop=t}resize(){this.dimensions.resize()}emit(){this.emitter.emit("scroll",this)}reset(){this.isLocked=!1,this.isScrolling=!1,this.animatedScroll=this.targetScroll=this.actualScroll,this.velocity=0,this.animate.stop()}start(){this.isStopped&&(this.isStopped=!1,this.reset())}stop(){this.isStopped||(this.isStopped=!0,this.animate.stop(),this.reset())}raf(t){const e=t-(this.time||t);this.time=t,this.animate.advance(.001*e)}scrollTo(e,{offset:i=0,immediate:s=!1,lock:o=!1,duration:n=this.options.duration,easing:l=this.options.easing,lerp:r=!n&&this.options.lerp,onComplete:h,force:a=!1,programmatic:c=!0}={}){if(!this.isStopped&&!this.isLocked||a){if(["top","left","start"].includes(e))e=0;else if(["bottom","right","end"].includes(e))e=this.limit;else{let t;if("string"==typeof e?t=document.querySelector(e):(null==e?void 0:e.nodeType)&&(t=e),t){if(this.options.wrapper!==window){const t=this.options.wrapper.getBoundingClientRect();i-=this.isHorizontal?t.left:t.top}const s=t.getBoundingClientRect();e=(this.isHorizontal?s.left:s.top)+this.animatedScroll}}if("number"==typeof e){if(e+=i,e=Math.round(e),this.options.infinite?c&&(this.targetScroll=this.animatedScroll=this.scroll):e=t(0,e,this.limit),s)return this.animatedScroll=this.targetScroll=e,this.setScroll(this.scroll),this.reset(),void(null==h||h(this));if(!c){if(e===this.targetScroll)return;this.targetScroll=e}this.animate.fromTo(this.animatedScroll,e,{duration:n,easing:l,lerp:r,onStart:()=>{o&&(this.isLocked=!0),this.isScrolling=!0},onUpdate:(t,e)=>{this.isScrolling=!0,this.velocity=t-this.animatedScroll,this.direction=Math.sign(this.velocity),this.animatedScroll=t,this.setScroll(this.scroll),c&&(this.targetScroll=t),e||this.emit(),e&&(this.reset(),this.emit(),null==h||h(this),this.__preventNextScrollEvent=!0,requestAnimationFrame((()=>{delete this.__preventNextScrollEvent})))}})}}}get rootElement(){return this.options.wrapper===window?document.documentElement:this.options.wrapper}get limit(){return this.options.__experimental__naiveDimensions?this.isHorizontal?this.rootElement.scrollWidth-this.rootElement.clientWidth:this.rootElement.scrollHeight-this.rootElement.clientHeight:this.dimensions.limit[this.isHorizontal?"x":"y"]}get isHorizontal(){return"horizontal"===this.options.orientation}get actualScroll(){return this.isHorizontal?this.rootElement.scrollLeft:this.rootElement.scrollTop}get scroll(){return this.options.infinite?(t=this.animatedScroll,e=this.limit,(t%e+e)%e):this.animatedScroll;var t,e}get progress(){return 0===this.limit?1:this.scroll/this.limit}get isSmooth(){return this.__isSmooth}set isSmooth(t){this.__isSmooth!==t&&(this.__isSmooth=t,this.toggleClassName("lenis-smooth",t))}get isScrolling(){return this.__isScrolling}set isScrolling(t){this.__isScrolling!==t&&(this.__isScrolling=t,this.toggleClassName("lenis-scrolling",t))}get isStopped(){return this.__isStopped}set isStopped(t){this.__isStopped!==t&&(this.__isStopped=t,this.toggleClassName("lenis-stopped",t))}get isLocked(){return this.__isLocked}set isLocked(t){this.__isLocked!==t&&(this.__isLocked=t,this.toggleClassName("lenis-locked",t))}get className(){let t="lenis";return this.isStopped&&(t+=" lenis-stopped"),this.isLocked&&(t+=" lenis-locked"),this.isScrolling&&(t+=" lenis-scrolling"),this.isSmooth&&(t+=" lenis-smooth"),t}toggleClassName(t,e){this.rootElement.classList.toggle(t,e),this.emitter.emit("className change",this)}}},"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Lenis=e(); \ No newline at end of file diff --git a/wp-content/themes/nenghui-energy-theme-4/assets/json/countries.geojson b/wp-content/themes/nenghui-energy-theme-4/assets/json/countries.geojson new file mode 100644 index 0000000..fc2e16e --- /dev/null +++ b/wp-content/themes/nenghui-energy-theme-4/assets/json/countries.geojson @@ -0,0 +1 @@ +{"type":"FeatureCollection","name":"ne_110m_admin_0_countries","crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:OGC:1.3:CRS84"}},"features":[{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Fiji","SOV_A3":"FJI","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Fiji","ADM0_A3":"FJI","GEOU_DIF":0,"GEOUNIT":"Fiji","GU_A3":"FJI","SU_DIF":0,"SUBUNIT":"Fiji","SU_A3":"FJI","BRK_DIFF":0,"NAME":"Fiji","NAME_LONG":"Fiji","BRK_A3":"FJI","BRK_NAME":"Fiji","BRK_GROUP":null,"ABBREV":"Fiji","POSTAL":"FJ","FORMAL_EN":"Republic of Fiji","FORMAL_FR":null,"NAME_CIAWF":"Fiji","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Fiji","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":1,"MAPCOLOR9":2,"MAPCOLOR13":2,"POP_EST":889953,"POP_RANK":11,"POP_YEAR":2019,"GDP_MD":5496,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"FJ","ISO_A2":"FJ","ISO_A2_EH":"FJ","ISO_A3":"FJI","ISO_A3_EH":"FJI","ISO_N3":"242","ISO_N3_EH":"242","UN_A3":"242","WB_A2":"FJ","WB_A3":"FJI","WOE_ID":23424813,"WOE_ID_EH":23424813,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"FJI","ADM0_DIFF":null,"ADM0_TLC":"FJI","ADM0_A3_US":"FJI","ADM0_A3_FR":"FJI","ADM0_A3_RU":"FJI","ADM0_A3_ES":"FJI","ADM0_A3_CN":"FJI","ADM0_A3_TW":"FJI","ADM0_A3_IN":"FJI","ADM0_A3_NP":"FJI","ADM0_A3_PK":"FJI","ADM0_A3_DE":"FJI","ADM0_A3_GB":"FJI","ADM0_A3_BR":"FJI","ADM0_A3_IL":"FJI","ADM0_A3_PS":"FJI","ADM0_A3_SA":"FJI","ADM0_A3_EG":"FJI","ADM0_A3_MA":"FJI","ADM0_A3_PT":"FJI","ADM0_A3_AR":"FJI","ADM0_A3_JP":"FJI","ADM0_A3_KO":"FJI","ADM0_A3_VN":"FJI","ADM0_A3_TR":"FJI","ADM0_A3_ID":"FJI","ADM0_A3_PL":"FJI","ADM0_A3_GR":"FJI","ADM0_A3_IT":"FJI","ADM0_A3_NL":"FJI","ADM0_A3_SE":"FJI","ADM0_A3_BD":"FJI","ADM0_A3_UA":"FJI","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Melanesia","REGION_WB":"East Asia & Pacific","NAME_LEN":4,"LONG_LEN":4,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":177.975427,"LABEL_Y":-17.826099,"NE_ID":1159320625,"WIKIDATAID":"Q712","NAME_AR":"فيجي","NAME_BN":"ফিজি","NAME_DE":"Fidschi","NAME_EN":"Fiji","NAME_ES":"Fiyi","NAME_FA":"فیجی","NAME_FR":"Fidji","NAME_EL":"Φίτζι","NAME_HE":"פיג'י","NAME_HI":"फ़िजी","NAME_HU":"Fidzsi-szigetek","NAME_ID":"Fiji","NAME_IT":"Figi","NAME_JA":"フィジー","NAME_KO":"피지","NAME_NL":"Fiji","NAME_PL":"Fidżi","NAME_PT":"Fiji","NAME_RU":"Фиджи","NAME_SV":"Fiji","NAME_TR":"Fiji","NAME_UK":"Фіджі","NAME_UR":"فجی","NAME_VI":"Fiji","NAME_ZH":"斐济","NAME_ZHT":"斐濟","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-180,-18.28799,180,-16.020882],"geometry":{"type":"MultiPolygon","coordinates":[[[[180,-16.067133],[180,-16.555217],[179.364143,-16.801354],[178.725059,-17.012042],[178.596839,-16.63915],[179.096609,-16.433984],[179.413509,-16.379054],[180,-16.067133]]],[[[178.12557,-17.50481],[178.3736,-17.33992],[178.71806,-17.62846],[178.55271,-18.15059],[177.93266,-18.28799],[177.38146,-18.16432],[177.28504,-17.72465],[177.67087,-17.38114],[178.12557,-17.50481]]],[[[-179.79332,-16.020882],[-179.917369,-16.501783],[-180,-16.555217],[-180,-16.067133],[-179.79332,-16.020882]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"United Republic of Tanzania","SOV_A3":"TZA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"United Republic of Tanzania","ADM0_A3":"TZA","GEOU_DIF":0,"GEOUNIT":"Tanzania","GU_A3":"TZA","SU_DIF":0,"SUBUNIT":"Tanzania","SU_A3":"TZA","BRK_DIFF":0,"NAME":"Tanzania","NAME_LONG":"Tanzania","BRK_A3":"TZA","BRK_NAME":"Tanzania","BRK_GROUP":null,"ABBREV":"Tanz.","POSTAL":"TZ","FORMAL_EN":"United Republic of Tanzania","FORMAL_FR":null,"NAME_CIAWF":"Tanzania","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Tanzania","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":6,"MAPCOLOR9":2,"MAPCOLOR13":2,"POP_EST":58005463,"POP_RANK":16,"POP_YEAR":2019,"GDP_MD":63177,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"TZ","ISO_A2":"TZ","ISO_A2_EH":"TZ","ISO_A3":"TZA","ISO_A3_EH":"TZA","ISO_N3":"834","ISO_N3_EH":"834","UN_A3":"834","WB_A2":"TZ","WB_A3":"TZA","WOE_ID":23424973,"WOE_ID_EH":23424973,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"TZA","ADM0_DIFF":null,"ADM0_TLC":"TZA","ADM0_A3_US":"TZA","ADM0_A3_FR":"TZA","ADM0_A3_RU":"TZA","ADM0_A3_ES":"TZA","ADM0_A3_CN":"TZA","ADM0_A3_TW":"TZA","ADM0_A3_IN":"TZA","ADM0_A3_NP":"TZA","ADM0_A3_PK":"TZA","ADM0_A3_DE":"TZA","ADM0_A3_GB":"TZA","ADM0_A3_BR":"TZA","ADM0_A3_IL":"TZA","ADM0_A3_PS":"TZA","ADM0_A3_SA":"TZA","ADM0_A3_EG":"TZA","ADM0_A3_MA":"TZA","ADM0_A3_PT":"TZA","ADM0_A3_AR":"TZA","ADM0_A3_JP":"TZA","ADM0_A3_KO":"TZA","ADM0_A3_VN":"TZA","ADM0_A3_TR":"TZA","ADM0_A3_ID":"TZA","ADM0_A3_PL":"TZA","ADM0_A3_GR":"TZA","ADM0_A3_IT":"TZA","ADM0_A3_NL":"TZA","ADM0_A3_SE":"TZA","ADM0_A3_BD":"TZA","ADM0_A3_UA":"TZA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":34.959183,"LABEL_Y":-6.051866,"NE_ID":1159321337,"WIKIDATAID":"Q924","NAME_AR":"تنزانيا","NAME_BN":"তানজানিয়া","NAME_DE":"Tansania","NAME_EN":"Tanzania","NAME_ES":"Tanzania","NAME_FA":"تانزانیا","NAME_FR":"Tanzanie","NAME_EL":"Τανζανία","NAME_HE":"טנזניה","NAME_HI":"तंज़ानिया","NAME_HU":"Tanzánia","NAME_ID":"Tanzania","NAME_IT":"Tanzania","NAME_JA":"タンザニア","NAME_KO":"탄자니아","NAME_NL":"Tanzania","NAME_PL":"Tanzania","NAME_PT":"Tanzânia","NAME_RU":"Танзания","NAME_SV":"Tanzania","NAME_TR":"Tanzanya","NAME_UK":"Танзанія","NAME_UR":"تنزانیہ","NAME_VI":"Tanzania","NAME_ZH":"坦桑尼亚","NAME_ZHT":"坦尚尼亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[29.339998,-11.720938,40.31659,-0.95],"geometry":{"type":"Polygon","coordinates":[[[33.903711,-0.95],[34.07262,-1.05982],[37.69869,-3.09699],[37.7669,-3.67712],[39.20222,-4.67677],[38.74054,-5.90895],[38.79977,-6.47566],[39.44,-6.84],[39.47,-7.1],[39.19469,-7.7039],[39.25203,-8.00781],[39.18652,-8.48551],[39.53574,-9.11237],[39.9496,-10.0984],[40.316586,-10.317098],[40.31659,-10.3171],[39.521,-10.89688],[38.427557,-11.285202],[37.82764,-11.26879],[37.47129,-11.56876],[36.775151,-11.594537],[36.514082,-11.720938],[35.312398,-11.439146],[34.559989,-11.52002],[34.28,-10.16],[33.940838,-9.693674],[33.73972,-9.41715],[32.759375,-9.230599],[32.191865,-8.930359],[31.556348,-8.762049],[31.157751,-8.594579],[30.74001,-8.340006],[30.740015,-8.340007],[30.199997,-7.079981],[29.620032,-6.520015],[29.419993,-5.939999],[29.519987,-5.419979],[29.339998,-4.499983],[29.753512,-4.452389],[30.11632,-4.09012],[30.50554,-3.56858],[30.75224,-3.35931],[30.74301,-3.03431],[30.52766,-2.80762],[30.469674,-2.413855],[30.46967,-2.41383],[30.758309,-2.28725],[30.816135,-1.698914],[30.419105,-1.134659],[30.76986,-1.01455],[31.86617,-1.02736],[33.903711,-0.95]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":7,"SOVEREIGNT":"Western Sahara","SOV_A3":"SAH","ADM0_DIF":0,"LEVEL":2,"TYPE":"Indeterminate","TLC":"1","ADMIN":"Western Sahara","ADM0_A3":"SAH","GEOU_DIF":0,"GEOUNIT":"Western Sahara","GU_A3":"SAH","SU_DIF":0,"SUBUNIT":"Western Sahara","SU_A3":"SAH","BRK_DIFF":1,"NAME":"W. Sahara","NAME_LONG":"Western Sahara","BRK_A3":"B28","BRK_NAME":"W. Sahara","BRK_GROUP":null,"ABBREV":"W. Sah.","POSTAL":"WS","FORMAL_EN":"Sahrawi Arab Democratic Republic","FORMAL_FR":null,"NAME_CIAWF":"Western Sahara","NOTE_ADM0":null,"NOTE_BRK":"Self admin.; Claimed by Morocco","NAME_SORT":"Western Sahara","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":7,"MAPCOLOR9":4,"MAPCOLOR13":4,"POP_EST":603253,"POP_RANK":11,"POP_YEAR":2017,"GDP_MD":907,"GDP_YEAR":2007,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"WI","ISO_A2":"EH","ISO_A2_EH":"EH","ISO_A3":"ESH","ISO_A3_EH":"ESH","ISO_N3":"732","ISO_N3_EH":"732","UN_A3":"732","WB_A2":"-99","WB_A3":"-99","WOE_ID":23424990,"WOE_ID_EH":23424990,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"B28","ADM0_DIFF":null,"ADM0_TLC":"B28","ADM0_A3_US":"SAH","ADM0_A3_FR":"MAR","ADM0_A3_RU":"SAH","ADM0_A3_ES":"SAH","ADM0_A3_CN":"SAH","ADM0_A3_TW":"SAH","ADM0_A3_IN":"MAR","ADM0_A3_NP":"SAH","ADM0_A3_PK":"SAH","ADM0_A3_DE":"SAH","ADM0_A3_GB":"SAH","ADM0_A3_BR":"SAH","ADM0_A3_IL":"SAH","ADM0_A3_PS":"MAR","ADM0_A3_SA":"MAR","ADM0_A3_EG":"SAH","ADM0_A3_MA":"MAR","ADM0_A3_PT":"SAH","ADM0_A3_AR":"SAH","ADM0_A3_JP":"SAH","ADM0_A3_KO":"SAH","ADM0_A3_VN":"SAH","ADM0_A3_TR":"MAR","ADM0_A3_ID":"MAR","ADM0_A3_PL":"MAR","ADM0_A3_GR":"SAH","ADM0_A3_IT":"SAH","ADM0_A3_NL":"MAR","ADM0_A3_SE":"SAH","ADM0_A3_BD":"SAH","ADM0_A3_UA":"SAH","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Northern Africa","REGION_WB":"Middle East & North Africa","NAME_LEN":9,"LONG_LEN":14,"ABBREV_LEN":7,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":4.7,"MIN_LABEL":6,"MAX_LABEL":11,"LABEL_X":-12.630304,"LABEL_Y":23.967592,"NE_ID":1159321223,"WIKIDATAID":"Q6250","NAME_AR":"الصحراء الغربية","NAME_BN":"পশ্চিম সাহারা","NAME_DE":"Westsahara","NAME_EN":"Western Sahara","NAME_ES":"Sahara Occidental","NAME_FA":"صحرای غربی","NAME_FR":"Sahara occidental","NAME_EL":"Δυτική Σαχάρα","NAME_HE":"סהרה המערבית","NAME_HI":"पश्चिमी सहारा","NAME_HU":"Nyugat-Szahara","NAME_ID":"Sahara Barat","NAME_IT":"Sahara Occidentale","NAME_JA":"西サハラ","NAME_KO":"서사하라","NAME_NL":"Westelijke Sahara","NAME_PL":"Sahara Zachodnia","NAME_PT":"Sara Ocidental","NAME_RU":"Западная Сахара","NAME_SV":"Västsahara","NAME_TR":"Batı Sahra","NAME_UK":"Західна Сахара","NAME_UR":"مغربی صحارا","NAME_VI":"Tây Sahara","NAME_ZH":"西撒哈拉","NAME_ZHT":"西撒哈拉","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":"Unrecognized","FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":"Unrecognized","FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":"Unrecognized","FCLASS_SA":"Unrecognized","FCLASS_EG":null,"FCLASS_MA":"Unrecognized","FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":"Unrecognized","FCLASS_ID":"Unrecognized","FCLASS_PL":"Unrecognized","FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":"Unrecognized","FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-17.063423,20.999752,-8.665124,27.656426],"geometry":{"type":"Polygon","coordinates":[[[-8.66559,27.656426],[-8.665124,27.589479],[-8.6844,27.395744],[-8.687294,25.881056],[-11.969419,25.933353],[-11.937224,23.374594],[-12.874222,23.284832],[-13.118754,22.77122],[-12.929102,21.327071],[-16.845194,21.333323],[-17.063423,20.999752],[-17.020428,21.42231],[-17.002962,21.420734],[-14.750955,21.5006],[-14.630833,21.86094],[-14.221168,22.310163],[-13.89111,23.691009],[-12.500963,24.770116],[-12.030759,26.030866],[-11.71822,26.104092],[-11.392555,26.883424],[-10.551263,26.990808],[-10.189424,26.860945],[-9.735343,26.860945],[-9.413037,27.088476],[-8.794884,27.120696],[-8.817828,27.656426],[-8.66559,27.656426]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Canada","SOV_A3":"CAN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Canada","ADM0_A3":"CAN","GEOU_DIF":0,"GEOUNIT":"Canada","GU_A3":"CAN","SU_DIF":0,"SUBUNIT":"Canada","SU_A3":"CAN","BRK_DIFF":0,"NAME":"Canada","NAME_LONG":"Canada","BRK_A3":"CAN","BRK_NAME":"Canada","BRK_GROUP":null,"ABBREV":"Can.","POSTAL":"CA","FORMAL_EN":"Canada","FORMAL_FR":null,"NAME_CIAWF":"Canada","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Canada","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":6,"MAPCOLOR9":2,"MAPCOLOR13":2,"POP_EST":37589262,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":1736425,"GDP_YEAR":2019,"ECONOMY":"1. Developed region: G7","INCOME_GRP":"1. High income: OECD","FIPS_10":"CA","ISO_A2":"CA","ISO_A2_EH":"CA","ISO_A3":"CAN","ISO_A3_EH":"CAN","ISO_N3":"124","ISO_N3_EH":"124","UN_A3":"124","WB_A2":"CA","WB_A3":"CAN","WOE_ID":23424775,"WOE_ID_EH":23424775,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"CAN","ADM0_DIFF":null,"ADM0_TLC":"CAN","ADM0_A3_US":"CAN","ADM0_A3_FR":"CAN","ADM0_A3_RU":"CAN","ADM0_A3_ES":"CAN","ADM0_A3_CN":"CAN","ADM0_A3_TW":"CAN","ADM0_A3_IN":"CAN","ADM0_A3_NP":"CAN","ADM0_A3_PK":"CAN","ADM0_A3_DE":"CAN","ADM0_A3_GB":"CAN","ADM0_A3_BR":"CAN","ADM0_A3_IL":"CAN","ADM0_A3_PS":"CAN","ADM0_A3_SA":"CAN","ADM0_A3_EG":"CAN","ADM0_A3_MA":"CAN","ADM0_A3_PT":"CAN","ADM0_A3_AR":"CAN","ADM0_A3_JP":"CAN","ADM0_A3_KO":"CAN","ADM0_A3_VN":"CAN","ADM0_A3_TR":"CAN","ADM0_A3_ID":"CAN","ADM0_A3_PL":"CAN","ADM0_A3_GR":"CAN","ADM0_A3_IT":"CAN","ADM0_A3_NL":"CAN","ADM0_A3_SE":"CAN","ADM0_A3_BD":"CAN","ADM0_A3_UA":"CAN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Northern America","REGION_WB":"North America","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":5.7,"LABEL_X":-101.9107,"LABEL_Y":60.324287,"NE_ID":1159320467,"WIKIDATAID":"Q16","NAME_AR":"كندا","NAME_BN":"কানাডা","NAME_DE":"Kanada","NAME_EN":"Canada","NAME_ES":"Canadá","NAME_FA":"کانادا","NAME_FR":"Canada","NAME_EL":"Καναδάς","NAME_HE":"קנדה","NAME_HI":"कनाडा","NAME_HU":"Kanada","NAME_ID":"Kanada","NAME_IT":"Canada","NAME_JA":"カナダ","NAME_KO":"캐나다","NAME_NL":"Canada","NAME_PL":"Kanada","NAME_PT":"Canadá","NAME_RU":"Канада","NAME_SV":"Kanada","NAME_TR":"Kanada","NAME_UK":"Канада","NAME_UR":"کینیڈا","NAME_VI":"Canada","NAME_ZH":"加拿大","NAME_ZHT":"加拿大","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-140.99778,41.675105,-52.648099,83.23324],"geometry":{"type":"MultiPolygon","coordinates":[[[[-122.84,49],[-122.97421,49.002538],[-124.91024,49.98456],[-125.62461,50.41656],[-127.43561,50.83061],[-127.99276,51.71583],[-127.85032,52.32961],[-129.12979,52.75538],[-129.30523,53.56159],[-130.51497,54.28757],[-130.536109,54.802754],[-130.53611,54.80278],[-129.98,55.285],[-130.00778,55.91583],[-131.70781,56.55212],[-132.73042,57.69289],[-133.35556,58.41028],[-134.27111,58.86111],[-134.945,59.27056],[-135.47583,59.78778],[-136.47972,59.46389],[-137.4525,58.905],[-138.34089,59.56211],[-139.039,60],[-140.013,60.27682],[-140.99778,60.30639],[-140.9925,66.00003],[-140.986,69.712],[-140.985988,69.711998],[-139.12052,69.47102],[-137.54636,68.99002],[-136.50358,68.89804],[-135.62576,69.31512],[-134.41464,69.62743],[-132.92925,69.50534],[-131.43136,69.94451],[-129.79471,70.19369],[-129.10773,69.77927],[-128.36156,70.01286],[-128.13817,70.48384],[-127.44712,70.37721],[-125.75632,69.48058],[-124.42483,70.1584],[-124.28968,69.39969],[-123.06108,69.56372],[-122.6835,69.85553],[-121.47226,69.79778],[-119.94288,69.37786],[-117.60268,69.01128],[-116.22643,68.84151],[-115.2469,68.90591],[-113.89794,68.3989],[-115.30489,67.90261],[-113.49727,67.68815],[-110.798,67.80612],[-109.94619,67.98104],[-108.8802,67.38144],[-107.79239,67.88736],[-108.81299,68.31164],[-108.16721,68.65392],[-106.95,68.7],[-106.15,68.8],[-105.34282,68.56122],[-104.33791,68.018],[-103.22115,68.09775],[-101.45433,67.64689],[-99.90195,67.80566],[-98.4432,67.78165],[-98.5586,68.40394],[-97.66948,68.57864],[-96.11991,68.23939],[-96.12588,67.29338],[-95.48943,68.0907],[-94.685,68.06383],[-94.23282,69.06903],[-95.30408,69.68571],[-96.47131,70.08976],[-96.39115,71.19482],[-95.2088,71.92053],[-93.88997,71.76015],[-92.87818,71.31869],[-91.51964,70.19129],[-92.40692,69.69997],[-90.5471,69.49766],[-90.55151,68.47499],[-89.21515,69.25873],[-88.01966,68.61508],[-88.31749,67.87338],[-87.35017,67.19872],[-86.30607,67.92146],[-85.57664,68.78456],[-85.52197,69.88211],[-84.10081,69.80539],[-82.62258,69.65826],[-81.28043,69.16202],[-81.2202,68.66567],[-81.96436,68.13253],[-81.25928,67.59716],[-81.38653,67.11078],[-83.34456,66.41154],[-84.73542,66.2573],[-85.76943,66.55833],[-86.0676,66.05625],[-87.03143,65.21297],[-87.32324,64.77563],[-88.48296,64.09897],[-89.91444,64.03273],[-90.70398,63.61017],[-90.77004,62.96021],[-91.93342,62.83508],[-93.15698,62.02469],[-94.24153,60.89865],[-94.62931,60.11021],[-94.6846,58.94882],[-93.21502,58.78212],[-92.76462,57.84571],[-92.29703,57.08709],[-90.89769,57.28468],[-89.03953,56.85172],[-88.03978,56.47162],[-87.32421,55.99914],[-86.07121,55.72383],[-85.01181,55.3026],[-83.36055,55.24489],[-82.27285,55.14832],[-82.4362,54.28227],[-82.12502,53.27703],[-81.40075,52.15788],[-79.91289,51.20842],[-79.14301,51.53393],[-78.60191,52.56208],[-79.12421,54.14145],[-79.82958,54.66772],[-78.22874,55.13645],[-77.0956,55.83741],[-76.54137,56.53423],[-76.62319,57.20263],[-77.30226,58.05209],[-78.51688,58.80458],[-77.33676,59.85261],[-77.77272,60.75788],[-78.10687,62.31964],[-77.41067,62.55053],[-75.69621,62.2784],[-74.6682,62.18111],[-73.83988,62.4438],[-72.90853,62.10507],[-71.67708,61.52535],[-71.37369,61.13717],[-69.59042,61.06141],[-69.62033,60.22125],[-69.2879,58.95736],[-68.37455,58.80106],[-67.64976,58.21206],[-66.20178,58.76731],[-65.24517,59.87071],[-64.58352,60.33558],[-63.80475,59.4426],[-62.50236,58.16708],[-61.39655,56.96745],[-61.79866,56.33945],[-60.46853,55.77548],[-59.56962,55.20407],[-57.97508,54.94549],[-57.3332,54.6265],[-56.93689,53.78032],[-56.15811,53.64749],[-55.75632,53.27036],[-55.68338,52.14664],[-56.40916,51.7707],[-57.12691,51.41972],[-58.77482,51.0643],[-60.03309,50.24277],[-61.72366,50.08046],[-63.86251,50.29099],[-65.36331,50.2982],[-66.39905,50.22897],[-67.23631,49.51156],[-68.51114,49.06836],[-69.95362,47.74488],[-71.10458,46.82171],[-70.25522,46.98606],[-68.65,48.3],[-66.55243,49.1331],[-65.05626,49.23278],[-64.17099,48.74248],[-65.11545,48.07085],[-64.79854,46.99297],[-64.47219,46.23849],[-63.17329,45.73902],[-61.52072,45.88377],[-60.51815,47.00793],[-60.4486,46.28264],[-59.80287,45.9204],[-61.03988,45.26525],[-63.25471,44.67014],[-64.24656,44.26553],[-65.36406,43.54523],[-66.1234,43.61867],[-66.16173,44.46512],[-64.42549,45.29204],[-66.02605,45.25931],[-67.13741,45.13753],[-67.79134,45.70281],[-67.79046,47.06636],[-68.23444,47.35486],[-68.905,47.185],[-69.237216,47.447781],[-69.99997,46.69307],[-70.305,45.915],[-70.66,45.46],[-71.08482,45.30524],[-71.405,45.255],[-71.50506,45.0082],[-73.34783,45.00738],[-74.867,45.00048],[-75.31821,44.81645],[-76.375,44.09631],[-76.5,44.018459],[-76.820034,43.628784],[-77.737885,43.629056],[-78.72028,43.625089],[-79.171674,43.466339],[-79.01,43.27],[-78.92,42.965],[-78.939362,42.863611],[-80.247448,42.3662],[-81.277747,42.209026],[-82.439278,41.675105],[-82.690089,41.675105],[-83.02981,41.832796],[-83.142,41.975681],[-83.12,42.08],[-82.9,42.43],[-82.43,42.98],[-82.137642,43.571088],[-82.337763,44.44],[-82.550925,45.347517],[-83.592851,45.816894],[-83.469551,45.994686],[-83.616131,46.116927],[-83.890765,46.116927],[-84.091851,46.275419],[-84.14212,46.512226],[-84.3367,46.40877],[-84.6049,46.4396],[-84.543749,46.538684],[-84.779238,46.637102],[-84.87608,46.900083],[-85.652363,47.220219],[-86.461991,47.553338],[-87.439793,47.94],[-88.378114,48.302918],[-89.272917,48.019808],[-89.6,48.01],[-90.83,48.27],[-91.64,48.14],[-92.61,48.45],[-93.63087,48.60926],[-94.32914,48.67074],[-94.64,48.84],[-94.81758,49.38905],[-95.15609,49.38425],[-95.15907,49],[-97.22872,49.0007],[-100.65,49],[-104.04826,48.99986],[-107.05,49],[-110.05,49],[-113,49],[-116.04818,49],[-117.03121,49],[-120,49],[-122.84,49]]],[[[-83.99367,62.4528],[-83.25048,62.91409],[-81.87699,62.90458],[-81.89825,62.7108],[-83.06857,62.15922],[-83.77462,62.18231],[-83.99367,62.4528]]],[[[-79.775833,72.802902],[-80.876099,73.333183],[-80.833885,73.693184],[-80.353058,73.75972],[-78.064438,73.651932],[-76.34,73.102685],[-76.251404,72.826385],[-77.314438,72.855545],[-78.39167,72.876656],[-79.486252,72.742203],[-79.775833,72.802902]]],[[[-80.315395,62.085565],[-79.92939,62.3856],[-79.52002,62.36371],[-79.26582,62.158675],[-79.65752,61.63308],[-80.09956,61.7181],[-80.36215,62.01649],[-80.315395,62.085565]]],[[[-93.612756,74.979997],[-94.156909,74.592347],[-95.608681,74.666864],[-96.820932,74.927623],[-96.288587,75.377828],[-94.85082,75.647218],[-93.977747,75.29649],[-93.612756,74.979997]]],[[[-93.840003,77.519997],[-94.295608,77.491343],[-96.169654,77.555111],[-96.436304,77.834629],[-94.422577,77.820005],[-93.720656,77.634331],[-93.840003,77.519997]]],[[[-96.754399,78.765813],[-95.559278,78.418315],[-95.830295,78.056941],[-97.309843,77.850597],[-98.124289,78.082857],[-98.552868,78.458105],[-98.631984,78.87193],[-97.337231,78.831984],[-96.754399,78.765813]]],[[[-88.15035,74.392307],[-89.764722,74.515555],[-92.422441,74.837758],[-92.768285,75.38682],[-92.889906,75.882655],[-93.893824,76.319244],[-95.962457,76.441381],[-97.121379,76.751078],[-96.745123,77.161389],[-94.684086,77.097878],[-93.573921,76.776296],[-91.605023,76.778518],[-90.741846,76.449597],[-90.969661,76.074013],[-89.822238,75.847774],[-89.187083,75.610166],[-87.838276,75.566189],[-86.379192,75.482421],[-84.789625,75.699204],[-82.753445,75.784315],[-81.128531,75.713983],[-80.057511,75.336849],[-79.833933,74.923127],[-80.457771,74.657304],[-81.948843,74.442459],[-83.228894,74.564028],[-86.097452,74.410032],[-88.15035,74.392307]]],[[[-111.264443,78.152956],[-109.854452,77.996325],[-110.186938,77.697015],[-112.051191,77.409229],[-113.534279,77.732207],[-112.724587,78.05105],[-111.264443,78.152956]]],[[[-110.963661,78.804441],[-109.663146,78.601973],[-110.881314,78.40692],[-112.542091,78.407902],[-112.525891,78.550555],[-111.50001,78.849994],[-110.963661,78.804441]]],[[[-55.600218,51.317075],[-56.134036,50.68701],[-56.795882,49.812309],[-56.143105,50.150117],[-55.471492,49.935815],[-55.822401,49.587129],[-54.935143,49.313011],[-54.473775,49.556691],[-53.476549,49.249139],[-53.786014,48.516781],[-53.086134,48.687804],[-52.958648,48.157164],[-52.648099,47.535548],[-53.069158,46.655499],[-53.521456,46.618292],[-54.178936,46.807066],[-53.961869,47.625207],[-54.240482,47.752279],[-55.400773,46.884994],[-55.997481,46.91972],[-55.291219,47.389562],[-56.250799,47.632545],[-57.325229,47.572807],[-59.266015,47.603348],[-59.419494,47.899454],[-58.796586,48.251525],[-59.231625,48.523188],[-58.391805,49.125581],[-57.35869,50.718274],[-56.73865,51.287438],[-55.870977,51.632094],[-55.406974,51.588273],[-55.600218,51.317075]]],[[[-83.882626,65.109618],[-82.787577,64.766693],[-81.642014,64.455136],[-81.55344,63.979609],[-80.817361,64.057486],[-80.103451,63.725981],[-80.99102,63.411246],[-82.547178,63.651722],[-83.108798,64.101876],[-84.100417,63.569712],[-85.523405,63.052379],[-85.866769,63.637253],[-87.221983,63.541238],[-86.35276,64.035833],[-86.224886,64.822917],[-85.883848,65.738778],[-85.161308,65.657285],[-84.975764,65.217518],[-84.464012,65.371772],[-83.882626,65.109618]]],[[[-78.770639,72.352173],[-77.824624,72.749617],[-75.605845,72.243678],[-74.228616,71.767144],[-74.099141,71.33084],[-72.242226,71.556925],[-71.200015,70.920013],[-68.786054,70.525024],[-67.91497,70.121948],[-66.969033,69.186087],[-68.805123,68.720198],[-66.449866,68.067163],[-64.862314,67.847539],[-63.424934,66.928473],[-61.851981,66.862121],[-62.163177,66.160251],[-63.918444,64.998669],[-65.14886,65.426033],[-66.721219,66.388041],[-68.015016,66.262726],[-68.141287,65.689789],[-67.089646,65.108455],[-65.73208,64.648406],[-65.320168,64.382737],[-64.669406,63.392927],[-65.013804,62.674185],[-66.275045,62.945099],[-68.783186,63.74567],[-67.369681,62.883966],[-66.328297,62.280075],[-66.165568,61.930897],[-68.877367,62.330149],[-71.023437,62.910708],[-72.235379,63.397836],[-71.886278,63.679989],[-73.378306,64.193963],[-74.834419,64.679076],[-74.818503,64.389093],[-77.70998,64.229542],[-78.555949,64.572906],[-77.897281,65.309192],[-76.018274,65.326969],[-73.959795,65.454765],[-74.293883,65.811771],[-73.944912,66.310578],[-72.651167,67.284576],[-72.92606,67.726926],[-73.311618,68.069437],[-74.843307,68.554627],[-76.869101,68.894736],[-76.228649,69.147769],[-77.28737,69.76954],[-78.168634,69.826488],[-78.957242,70.16688],[-79.492455,69.871808],[-81.305471,69.743185],[-84.944706,69.966634],[-87.060003,70.260001],[-88.681713,70.410741],[-89.51342,70.762038],[-88.467721,71.218186],[-89.888151,71.222552],[-90.20516,72.235074],[-89.436577,73.129464],[-88.408242,73.537889],[-85.826151,73.803816],[-86.562179,73.157447],[-85.774371,72.534126],[-84.850112,73.340278],[-82.31559,73.750951],[-80.600088,72.716544],[-80.748942,72.061907],[-78.770639,72.352173]]],[[[-94.503658,74.134907],[-92.420012,74.100025],[-90.509793,73.856732],[-92.003965,72.966244],[-93.196296,72.771992],[-94.269047,72.024596],[-95.409856,72.061881],[-96.033745,72.940277],[-96.018268,73.43743],[-95.495793,73.862417],[-94.503658,74.134907]]],[[[-122.854924,76.116543],[-122.854925,76.116543],[-121.157535,76.864508],[-119.103939,77.51222],[-117.570131,77.498319],[-116.198587,77.645287],[-116.335813,76.876962],[-117.106051,76.530032],[-118.040412,76.481172],[-119.899318,76.053213],[-121.499995,75.900019],[-122.854924,76.116543]]],[[[-132.710008,54.040009],[-131.74999,54.120004],[-132.04948,52.984621],[-131.179043,52.180433],[-131.57783,52.182371],[-132.180428,52.639707],[-132.549992,53.100015],[-133.054611,53.411469],[-133.239664,53.85108],[-133.180004,54.169975],[-132.710008,54.040009]]],[[[-105.492289,79.301594],[-103.529282,79.165349],[-100.825158,78.800462],[-100.060192,78.324754],[-99.670939,77.907545],[-101.30394,78.018985],[-102.949809,78.343229],[-105.176133,78.380332],[-104.210429,78.67742],[-105.41958,78.918336],[-105.492289,79.301594]]],[[[-123.510002,48.510011],[-124.012891,48.370846],[-125.655013,48.825005],[-125.954994,49.179996],[-126.850004,49.53],[-127.029993,49.814996],[-128.059336,49.994959],[-128.444584,50.539138],[-128.358414,50.770648],[-127.308581,50.552574],[-126.695001,50.400903],[-125.755007,50.295018],[-125.415002,49.950001],[-124.920768,49.475275],[-123.922509,49.062484],[-123.510002,48.510011]]],[[[-121.53788,74.44893],[-120.10978,74.24135],[-117.55564,74.18577],[-116.58442,73.89607],[-115.51081,73.47519],[-116.76794,73.22292],[-119.22,72.52],[-120.46,71.82],[-120.46,71.383602],[-123.09219,70.90164],[-123.62,71.34],[-125.928949,71.868688],[-125.5,72.292261],[-124.80729,73.02256],[-123.94,73.68],[-124.91775,74.29275],[-121.53788,74.44893]]],[[[-107.81943,75.84552],[-106.92893,76.01282],[-105.881,75.9694],[-105.70498,75.47951],[-106.31347,75.00527],[-109.7,74.85],[-112.22307,74.41696],[-113.74381,74.39427],[-113.87135,74.72029],[-111.79421,75.1625],[-116.31221,75.04343],[-117.7104,75.2222],[-116.34602,76.19903],[-115.40487,76.47887],[-112.59056,76.14134],[-110.81422,75.54919],[-109.0671,75.47321],[-110.49726,76.42982],[-109.5811,76.79417],[-108.54859,76.67832],[-108.21141,76.20168],[-107.81943,75.84552]]],[[[-106.52259,73.07601],[-105.40246,72.67259],[-104.77484,71.6984],[-104.46476,70.99297],[-102.78537,70.49776],[-100.98078,70.02432],[-101.08929,69.58447],[-102.73116,69.50402],[-102.09329,69.11962],[-102.43024,68.75282],[-104.24,68.91],[-105.96,69.18],[-107.12254,69.11922],[-109,68.78],[-111.534149,68.630059],[-113.3132,68.53554],[-113.85496,69.00744],[-115.22,69.28],[-116.10794,69.16821],[-117.34,69.96],[-116.67473,70.06655],[-115.13112,70.2373],[-113.72141,70.19237],[-112.4161,70.36638],[-114.35,70.6],[-116.48684,70.52045],[-117.9048,70.54056],[-118.43238,70.9092],[-116.11311,71.30918],[-117.65568,71.2952],[-119.40199,71.55859],[-118.56267,72.30785],[-117.86642,72.70594],[-115.18909,73.31459],[-114.16717,73.12145],[-114.66634,72.65277],[-112.44102,72.9554],[-111.05039,72.4504],[-109.92035,72.96113],[-109.00654,72.63335],[-108.18835,71.65089],[-107.68599,72.06548],[-108.39639,73.08953],[-107.51645,73.23598],[-106.52259,73.07601]]],[[[-100.43836,72.70588],[-101.54,73.36],[-100.35642,73.84389],[-99.16387,73.63339],[-97.38,73.76],[-97.12,73.47],[-98.05359,72.99052],[-96.54,72.56],[-96.72,71.66],[-98.35966,71.27285],[-99.32286,71.35639],[-100.01482,71.73827],[-102.5,72.51],[-102.48,72.83],[-100.43836,72.70588]]],[[[-106.6,73.6],[-105.26,73.64],[-104.5,73.42],[-105.38,72.76],[-106.94,73.46],[-106.6,73.6]]],[[[-98.5,76.72],[-97.735585,76.25656],[-97.704415,75.74344],[-98.16,75],[-99.80874,74.89744],[-100.88366,75.05736],[-100.86292,75.64075],[-102.50209,75.5638],[-102.56552,76.3366],[-101.48973,76.30537],[-99.98349,76.64634],[-98.57699,76.58859],[-98.5,76.72]]],[[[-96.01644,80.60233],[-95.32345,80.90729],[-94.29843,80.97727],[-94.73542,81.20646],[-92.40984,81.25739],[-91.13289,80.72345],[-89.45,80.509322],[-87.81,80.32],[-87.02,79.66],[-85.81435,79.3369],[-87.18756,79.0393],[-89.03535,78.28723],[-90.80436,78.21533],[-92.87669,78.34333],[-93.95116,78.75099],[-93.93574,79.11373],[-93.14524,79.3801],[-94.974,79.37248],[-96.07614,79.70502],[-96.70972,80.15777],[-96.01644,80.60233]]],[[[-91.58702,81.89429],[-90.1,82.085],[-88.93227,82.11751],[-86.97024,82.27961],[-85.5,82.652273],[-84.260005,82.6],[-83.18,82.32],[-82.42,82.86],[-81.1,83.02],[-79.30664,83.13056],[-76.25,83.172059],[-75.71878,83.06404],[-72.83153,83.23324],[-70.665765,83.169781],[-68.5,83.106322],[-65.82735,83.02801],[-63.68,82.9],[-61.85,82.6286],[-61.89388,82.36165],[-64.334,81.92775],[-66.75342,81.72527],[-67.65755,81.50141],[-65.48031,81.50657],[-67.84,80.9],[-69.4697,80.61683],[-71.18,79.8],[-73.2428,79.63415],[-73.88,79.430162],[-76.90773,79.32309],[-75.52924,79.19766],[-76.22046,79.01907],[-75.39345,78.52581],[-76.34354,78.18296],[-77.88851,77.89991],[-78.36269,77.50859],[-79.75951,77.20968],[-79.61965,76.98336],[-77.91089,77.022045],[-77.88911,76.777955],[-80.56125,76.17812],[-83.17439,76.45403],[-86.11184,76.29901],[-87.6,76.42],[-89.49068,76.47239],[-89.6161,76.95213],[-87.76739,77.17833],[-88.26,77.9],[-87.65,77.970222],[-84.97634,77.53873],[-86.34,78.18],[-87.96192,78.37181],[-87.15198,78.75867],[-85.37868,78.9969],[-85.09495,79.34543],[-86.50734,79.73624],[-86.93179,80.25145],[-84.19844,80.20836],[-83.408696,80.1],[-81.84823,80.46442],[-84.1,80.58],[-87.59895,80.51627],[-89.36663,80.85569],[-90.2,81.26],[-91.36786,81.5531],[-91.58702,81.89429]]],[[[-75.21597,67.44425],[-75.86588,67.14886],[-76.98687,67.09873],[-77.2364,67.58809],[-76.81166,68.14856],[-75.89521,68.28721],[-75.1145,68.01036],[-75.10333,67.58202],[-75.21597,67.44425]]],[[[-96.257401,69.49003],[-95.647681,69.10769],[-96.269521,68.75704],[-97.617401,69.06003],[-98.431801,68.9507],[-99.797401,69.40003],[-98.917401,69.71003],[-98.218261,70.14354],[-97.157401,69.86003],[-96.557401,69.68003],[-96.257401,69.49003]]],[[[-64.51912,49.87304],[-64.17322,49.95718],[-62.85829,49.70641],[-61.835585,49.28855],[-61.806305,49.10506],[-62.29318,49.08717],[-63.58926,49.40069],[-64.51912,49.87304]]],[[[-64.01486,47.03601],[-63.6645,46.55001],[-62.9393,46.41587],[-62.01208,46.44314],[-62.50391,46.03339],[-62.87433,45.96818],[-64.1428,46.39265],[-64.39261,46.72747],[-64.01486,47.03601]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"United States of America","SOV_A3":"US1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Country","TLC":"1","ADMIN":"United States of America","ADM0_A3":"USA","GEOU_DIF":0,"GEOUNIT":"United States of America","GU_A3":"USA","SU_DIF":0,"SUBUNIT":"United States","SU_A3":"USA","BRK_DIFF":0,"NAME":"United States of America","NAME_LONG":"United States","BRK_A3":"USA","BRK_NAME":"United States","BRK_GROUP":null,"ABBREV":"U.S.A.","POSTAL":"US","FORMAL_EN":"United States of America","FORMAL_FR":null,"NAME_CIAWF":"United States","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"United States of America","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":5,"MAPCOLOR9":1,"MAPCOLOR13":1,"POP_EST":328239523,"POP_RANK":17,"POP_YEAR":2019,"GDP_MD":21433226,"GDP_YEAR":2019,"ECONOMY":"1. Developed region: G7","INCOME_GRP":"1. High income: OECD","FIPS_10":"US","ISO_A2":"US","ISO_A2_EH":"US","ISO_A3":"USA","ISO_A3_EH":"USA","ISO_N3":"840","ISO_N3_EH":"840","UN_A3":"840","WB_A2":"US","WB_A3":"USA","WOE_ID":23424977,"WOE_ID_EH":23424977,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"USA","ADM0_DIFF":null,"ADM0_TLC":"USA","ADM0_A3_US":"USA","ADM0_A3_FR":"USA","ADM0_A3_RU":"USA","ADM0_A3_ES":"USA","ADM0_A3_CN":"USA","ADM0_A3_TW":"USA","ADM0_A3_IN":"USA","ADM0_A3_NP":"USA","ADM0_A3_PK":"USA","ADM0_A3_DE":"USA","ADM0_A3_GB":"USA","ADM0_A3_BR":"USA","ADM0_A3_IL":"USA","ADM0_A3_PS":"USA","ADM0_A3_SA":"USA","ADM0_A3_EG":"USA","ADM0_A3_MA":"USA","ADM0_A3_PT":"USA","ADM0_A3_AR":"USA","ADM0_A3_JP":"USA","ADM0_A3_KO":"USA","ADM0_A3_VN":"USA","ADM0_A3_TR":"USA","ADM0_A3_ID":"USA","ADM0_A3_PL":"USA","ADM0_A3_GR":"USA","ADM0_A3_IT":"USA","ADM0_A3_NL":"USA","ADM0_A3_SE":"USA","ADM0_A3_BD":"USA","ADM0_A3_UA":"USA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Northern America","REGION_WB":"North America","NAME_LEN":24,"LONG_LEN":13,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":5.7,"LABEL_X":-97.482602,"LABEL_Y":39.538479,"NE_ID":1159321369,"WIKIDATAID":"Q30","NAME_AR":"الولايات المتحدة","NAME_BN":"মার্কিন যুক্তরাষ্ট্র","NAME_DE":"Vereinigte Staaten","NAME_EN":"United States of America","NAME_ES":"Estados Unidos","NAME_FA":"ایالات متحده آمریکا","NAME_FR":"États-Unis","NAME_EL":"Ηνωμένες Πολιτείες Αμερικής","NAME_HE":"ארצות הברית","NAME_HI":"संयुक्त राज्य अमेरिका","NAME_HU":"Amerikai Egyesült Államok","NAME_ID":"Amerika Serikat","NAME_IT":"Stati Uniti d'America","NAME_JA":"アメリカ合衆国","NAME_KO":"미국","NAME_NL":"Verenigde Staten van Amerika","NAME_PL":"Stany Zjednoczone","NAME_PT":"Estados Unidos","NAME_RU":"США","NAME_SV":"USA","NAME_TR":"Amerika Birleşik Devletleri","NAME_UK":"Сполучені Штати Америки","NAME_UR":"ریاستہائے متحدہ امریکا","NAME_VI":"Hoa Kỳ","NAME_ZH":"美国","NAME_ZHT":"美國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-171.791111,18.91619,-66.96466,71.357764],"geometry":{"type":"MultiPolygon","coordinates":[[[[-122.84,49],[-120,49],[-117.03121,49],[-116.04818,49],[-113,49],[-110.05,49],[-107.05,49],[-104.04826,48.99986],[-100.65,49],[-97.22872,49.0007],[-95.15907,49],[-95.15609,49.38425],[-94.81758,49.38905],[-94.64,48.84],[-94.32914,48.67074],[-93.63087,48.60926],[-92.61,48.45],[-91.64,48.14],[-90.83,48.27],[-89.6,48.01],[-89.272917,48.019808],[-88.378114,48.302918],[-87.439793,47.94],[-86.461991,47.553338],[-85.652363,47.220219],[-84.87608,46.900083],[-84.779238,46.637102],[-84.543749,46.538684],[-84.6049,46.4396],[-84.3367,46.40877],[-84.14212,46.512226],[-84.091851,46.275419],[-83.890765,46.116927],[-83.616131,46.116927],[-83.469551,45.994686],[-83.592851,45.816894],[-82.550925,45.347517],[-82.337763,44.44],[-82.137642,43.571088],[-82.43,42.98],[-82.9,42.43],[-83.12,42.08],[-83.142,41.975681],[-83.02981,41.832796],[-82.690089,41.675105],[-82.439278,41.675105],[-81.277747,42.209026],[-80.247448,42.3662],[-78.939362,42.863611],[-78.92,42.965],[-79.01,43.27],[-79.171674,43.466339],[-78.72028,43.625089],[-77.737885,43.629056],[-76.820034,43.628784],[-76.5,44.018459],[-76.375,44.09631],[-75.31821,44.81645],[-74.867,45.00048],[-73.34783,45.00738],[-71.50506,45.0082],[-71.405,45.255],[-71.08482,45.30524],[-70.66,45.46],[-70.305,45.915],[-69.99997,46.69307],[-69.237216,47.447781],[-68.905,47.185],[-68.23444,47.35486],[-67.79046,47.06636],[-67.79134,45.70281],[-67.13741,45.13753],[-66.96466,44.8097],[-68.03252,44.3252],[-69.06,43.98],[-70.11617,43.68405],[-70.645476,43.090238],[-70.81489,42.8653],[-70.825,42.335],[-70.495,41.805],[-70.08,41.78],[-70.185,42.145],[-69.88497,41.92283],[-69.96503,41.63717],[-70.64,41.475],[-71.12039,41.49445],[-71.86,41.32],[-72.295,41.27],[-72.87643,41.22065],[-73.71,40.931102],[-72.24126,41.11948],[-71.945,40.93],[-73.345,40.63],[-73.982,40.628],[-73.952325,40.75075],[-74.25671,40.47351],[-73.96244,40.42763],[-74.17838,39.70926],[-74.90604,38.93954],[-74.98041,39.1964],[-75.20002,39.24845],[-75.52805,39.4985],[-75.32,38.96],[-75.071835,38.782032],[-75.05673,38.40412],[-75.37747,38.01551],[-75.94023,37.21689],[-76.03127,37.2566],[-75.72205,37.93705],[-76.23287,38.319215],[-76.35,39.15],[-76.542725,38.717615],[-76.32933,38.08326],[-76.989998,38.239992],[-76.30162,37.917945],[-76.25874,36.9664],[-75.9718,36.89726],[-75.86804,36.55125],[-75.72749,35.55074],[-76.36318,34.80854],[-77.397635,34.51201],[-78.05496,33.92547],[-78.55435,33.86133],[-79.06067,33.49395],[-79.20357,33.15839],[-80.301325,32.509355],[-80.86498,32.0333],[-81.33629,31.44049],[-81.49042,30.72999],[-81.31371,30.03552],[-80.98,29.18],[-80.535585,28.47213],[-80.53,28.04],[-80.056539,26.88],[-80.088015,26.205765],[-80.13156,25.816775],[-80.38103,25.20616],[-80.68,25.08],[-81.17213,25.20126],[-81.33,25.64],[-81.71,25.87],[-82.24,26.73],[-82.70515,27.49504],[-82.85526,27.88624],[-82.65,28.55],[-82.93,29.1],[-83.70959,29.93656],[-84.1,30.09],[-85.10882,29.63615],[-85.28784,29.68612],[-85.7731,30.15261],[-86.4,30.4],[-87.53036,30.27433],[-88.41782,30.3849],[-89.18049,30.31598],[-89.593831,30.159994],[-89.413735,29.89419],[-89.43,29.48864],[-89.21767,29.29108],[-89.40823,29.15961],[-89.77928,29.30714],[-90.15463,29.11743],[-90.880225,29.148535],[-91.626785,29.677],[-92.49906,29.5523],[-93.22637,29.78375],[-93.84842,29.71363],[-94.69,29.48],[-95.60026,28.73863],[-96.59404,28.30748],[-97.14,27.83],[-97.37,27.38],[-97.38,26.69],[-97.33,26.21],[-97.14,25.87],[-97.53,25.84],[-98.24,26.06],[-99.02,26.37],[-99.3,26.84],[-99.52,27.54],[-100.11,28.11],[-100.45584,28.69612],[-100.9576,29.38071],[-101.6624,29.7793],[-102.48,29.76],[-103.11,28.97],[-103.94,29.27],[-104.45697,29.57196],[-104.70575,30.12173],[-105.03737,30.64402],[-105.63159,31.08383],[-106.1429,31.39995],[-106.50759,31.75452],[-108.24,31.754854],[-108.24194,31.34222],[-109.035,31.34194],[-111.02361,31.33472],[-113.30498,32.03914],[-114.815,32.52528],[-114.72139,32.72083],[-115.99135,32.61239],[-117.12776,32.53534],[-117.295938,33.046225],[-117.944,33.621236],[-118.410602,33.740909],[-118.519895,34.027782],[-119.081,34.078],[-119.438841,34.348477],[-120.36778,34.44711],[-120.62286,34.60855],[-120.74433,35.15686],[-121.71457,36.16153],[-122.54747,37.55176],[-122.51201,37.78339],[-122.95319,38.11371],[-123.7272,38.95166],[-123.86517,39.76699],[-124.39807,40.3132],[-124.17886,41.14202],[-124.2137,41.99964],[-124.53284,42.76599],[-124.14214,43.70838],[-124.020535,44.615895],[-123.89893,45.52341],[-124.079635,46.86475],[-124.39567,47.72017],[-124.68721,48.184433],[-124.566101,48.379715],[-123.12,48.04],[-122.58736,47.096],[-122.34,47.36],[-122.5,48.18],[-122.84,49]]],[[[-155.40214,20.07975],[-155.22452,19.99302],[-155.06226,19.8591],[-154.80741,19.50871],[-154.83147,19.45328],[-155.22217,19.23972],[-155.54211,19.08348],[-155.68817,18.91619],[-155.93665,19.05939],[-155.90806,19.33888],[-156.07347,19.70294],[-156.02368,19.81422],[-155.85008,19.97729],[-155.91907,20.17395],[-155.86108,20.26721],[-155.78505,20.2487],[-155.40214,20.07975]]],[[[-155.99566,20.76404],[-156.07926,20.64397],[-156.41445,20.57241],[-156.58673,20.783],[-156.70167,20.8643],[-156.71055,20.92676],[-156.61258,21.01249],[-156.25711,20.91745],[-155.99566,20.76404]]],[[[-156.75824,21.17684],[-156.78933,21.06873],[-157.32521,21.09777],[-157.25027,21.21958],[-156.75824,21.17684]]],[[[-158.0252,21.71696],[-157.94161,21.65272],[-157.65283,21.32217],[-157.70703,21.26442],[-157.7786,21.27729],[-158.12667,21.31244],[-158.2538,21.53919],[-158.29265,21.57912],[-158.0252,21.71696]]],[[[-159.36569,22.21494],[-159.34512,21.982],[-159.46372,21.88299],[-159.80051,22.06533],[-159.74877,22.1382],[-159.5962,22.23618],[-159.36569,22.21494]]],[[[-166.467792,60.38417],[-165.67443,60.293607],[-165.579164,59.909987],[-166.19277,59.754441],[-166.848337,59.941406],[-167.455277,60.213069],[-166.467792,60.38417]]],[[[-153.228729,57.968968],[-152.564791,57.901427],[-152.141147,57.591059],[-153.006314,57.115842],[-154.00509,56.734677],[-154.516403,56.992749],[-154.670993,57.461196],[-153.76278,57.816575],[-153.228729,57.968968]]],[[[-140.985988,69.711998],[-140.986,69.712],[-140.9925,66.00003],[-140.99778,60.30639],[-140.013,60.27682],[-139.039,60],[-138.34089,59.56211],[-137.4525,58.905],[-136.47972,59.46389],[-135.47583,59.78778],[-134.945,59.27056],[-134.27111,58.86111],[-133.35556,58.41028],[-132.73042,57.69289],[-131.70781,56.55212],[-130.00778,55.91583],[-129.98,55.285],[-130.53611,54.80278],[-130.536109,54.802754],[-130.53611,54.802753],[-131.085818,55.178906],[-131.967211,55.497776],[-132.250011,56.369996],[-133.539181,57.178887],[-134.078063,58.123068],[-135.038211,58.187715],[-136.628062,58.212209],[-137.800006,58.499995],[-139.867787,59.537762],[-140.825274,59.727517],[-142.574444,60.084447],[-143.958881,59.99918],[-145.925557,60.45861],[-147.114374,60.884656],[-148.224306,60.672989],[-148.018066,59.978329],[-148.570823,59.914173],[-149.727858,59.705658],[-150.608243,59.368211],[-151.716393,59.155821],[-151.859433,59.744984],[-151.409719,60.725803],[-150.346941,61.033588],[-150.621111,61.284425],[-151.895839,60.727198],[-152.57833,60.061657],[-154.019172,59.350279],[-153.287511,58.864728],[-154.232492,58.146374],[-155.307491,57.727795],[-156.308335,57.422774],[-156.556097,56.979985],[-158.117217,56.463608],[-158.433321,55.994154],[-159.603327,55.566686],[-160.28972,55.643581],[-161.223048,55.364735],[-162.237766,55.024187],[-163.069447,54.689737],[-164.785569,54.404173],[-164.942226,54.572225],[-163.84834,55.039431],[-162.870001,55.348043],[-161.804175,55.894986],[-160.563605,56.008055],[-160.07056,56.418055],[-158.684443,57.016675],[-158.461097,57.216921],[-157.72277,57.570001],[-157.550274,58.328326],[-157.041675,58.918885],[-158.194731,58.615802],[-158.517218,58.787781],[-159.058606,58.424186],[-159.711667,58.93139],[-159.981289,58.572549],[-160.355271,59.071123],[-161.355003,58.670838],[-161.968894,58.671665],[-162.054987,59.266925],[-161.874171,59.633621],[-162.518059,59.989724],[-163.818341,59.798056],[-164.662218,60.267484],[-165.346388,60.507496],[-165.350832,61.073895],[-166.121379,61.500019],[-165.734452,62.074997],[-164.919179,62.633076],[-164.562508,63.146378],[-163.753332,63.219449],[-163.067224,63.059459],[-162.260555,63.541936],[-161.53445,63.455817],[-160.772507,63.766108],[-160.958335,64.222799],[-161.518068,64.402788],[-160.777778,64.788604],[-161.391926,64.777235],[-162.45305,64.559445],[-162.757786,64.338605],[-163.546394,64.55916],[-164.96083,64.446945],[-166.425288,64.686672],[-166.845004,65.088896],[-168.11056,65.669997],[-166.705271,66.088318],[-164.47471,66.57666],[-163.652512,66.57666],[-163.788602,66.077207],[-161.677774,66.11612],[-162.489715,66.735565],[-163.719717,67.116395],[-164.430991,67.616338],[-165.390287,68.042772],[-166.764441,68.358877],[-166.204707,68.883031],[-164.430811,68.915535],[-163.168614,69.371115],[-162.930566,69.858062],[-161.908897,70.33333],[-160.934797,70.44769],[-159.039176,70.891642],[-158.119723,70.824721],[-156.580825,71.357764],[-155.06779,71.147776],[-154.344165,70.696409],[-153.900006,70.889989],[-152.210006,70.829992],[-152.270002,70.600006],[-150.739992,70.430017],[-149.720003,70.53001],[-147.613362,70.214035],[-145.68999,70.12001],[-144.920011,69.989992],[-143.589446,70.152514],[-142.07251,69.851938],[-140.985988,69.711998],[-140.985988,69.711998]]],[[[-171.731657,63.782515],[-171.114434,63.592191],[-170.491112,63.694975],[-169.682505,63.431116],[-168.689439,63.297506],[-168.771941,63.188598],[-169.52944,62.976931],[-170.290556,63.194438],[-170.671386,63.375822],[-171.553063,63.317789],[-171.791111,63.405846],[-171.731657,63.782515]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Kazakhstan","SOV_A3":"KA1","ADM0_DIF":1,"LEVEL":1,"TYPE":"Sovereignty","TLC":"1","ADMIN":"Kazakhstan","ADM0_A3":"KAZ","GEOU_DIF":0,"GEOUNIT":"Kazakhstan","GU_A3":"KAZ","SU_DIF":0,"SUBUNIT":"Kazakhstan","SU_A3":"KAZ","BRK_DIFF":0,"NAME":"Kazakhstan","NAME_LONG":"Kazakhstan","BRK_A3":"KAZ","BRK_NAME":"Kazakhstan","BRK_GROUP":null,"ABBREV":"Kaz.","POSTAL":"KZ","FORMAL_EN":"Republic of Kazakhstan","FORMAL_FR":null,"NAME_CIAWF":"Kazakhstan","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Kazakhstan","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":1,"MAPCOLOR9":6,"MAPCOLOR13":1,"POP_EST":18513930,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":181665,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"KZ","ISO_A2":"KZ","ISO_A2_EH":"KZ","ISO_A3":"KAZ","ISO_A3_EH":"KAZ","ISO_N3":"398","ISO_N3_EH":"398","UN_A3":"398","WB_A2":"KZ","WB_A3":"KAZ","WOE_ID":-90,"WOE_ID_EH":23424871,"WOE_NOTE":"Includes Baykonur Cosmodrome as an Admin-1 states provinces","ADM0_ISO":"KAZ","ADM0_DIFF":null,"ADM0_TLC":"KAZ","ADM0_A3_US":"KAZ","ADM0_A3_FR":"KAZ","ADM0_A3_RU":"KAZ","ADM0_A3_ES":"KAZ","ADM0_A3_CN":"KAZ","ADM0_A3_TW":"KAZ","ADM0_A3_IN":"KAZ","ADM0_A3_NP":"KAZ","ADM0_A3_PK":"KAZ","ADM0_A3_DE":"KAZ","ADM0_A3_GB":"KAZ","ADM0_A3_BR":"KAZ","ADM0_A3_IL":"KAZ","ADM0_A3_PS":"KAZ","ADM0_A3_SA":"KAZ","ADM0_A3_EG":"KAZ","ADM0_A3_MA":"KAZ","ADM0_A3_PT":"KAZ","ADM0_A3_AR":"KAZ","ADM0_A3_JP":"KAZ","ADM0_A3_KO":"KAZ","ADM0_A3_VN":"KAZ","ADM0_A3_TR":"KAZ","ADM0_A3_ID":"KAZ","ADM0_A3_PL":"KAZ","ADM0_A3_GR":"KAZ","ADM0_A3_IT":"KAZ","ADM0_A3_NL":"KAZ","ADM0_A3_SE":"KAZ","ADM0_A3_BD":"KAZ","ADM0_A3_UA":"KAZ","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Central Asia","REGION_WB":"Europe & Central Asia","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.7,"MAX_LABEL":7,"LABEL_X":68.685548,"LABEL_Y":49.054149,"NE_ID":1159320967,"WIKIDATAID":"Q232","NAME_AR":"كازاخستان","NAME_BN":"কাজাখস্তান","NAME_DE":"Kasachstan","NAME_EN":"Kazakhstan","NAME_ES":"Kazajistán","NAME_FA":"قزاقستان","NAME_FR":"Kazakhstan","NAME_EL":"Καζακστάν","NAME_HE":"קזחסטן","NAME_HI":"कज़ाख़िस्तान","NAME_HU":"Kazahsztán","NAME_ID":"Kazakhstan","NAME_IT":"Kazakistan","NAME_JA":"カザフスタン","NAME_KO":"카자흐스탄","NAME_NL":"Kazachstan","NAME_PL":"Kazachstan","NAME_PT":"Cazaquistão","NAME_RU":"Казахстан","NAME_SV":"Kazakstan","NAME_TR":"Kazakistan","NAME_UK":"Казахстан","NAME_UR":"قازقستان","NAME_VI":"Kazakhstan","NAME_ZH":"哈萨克斯坦","NAME_ZHT":"哈薩克","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[46.466446,40.662325,87.35997,55.38525],"geometry":{"type":"Polygon","coordinates":[[[87.35997,49.214981],[86.598776,48.549182],[85.768233,48.455751],[85.720484,47.452969],[85.16429,47.000956],[83.180484,47.330031],[82.458926,45.53965],[81.947071,45.317027],[79.966106,44.917517],[80.866206,43.180362],[80.18015,42.920068],[80.25999,42.349999],[79.643645,42.496683],[79.142177,42.856092],[77.658392,42.960686],[76.000354,42.988022],[75.636965,42.8779],[74.212866,43.298339],[73.645304,43.091272],[73.489758,42.500894],[71.844638,42.845395],[71.186281,42.704293],[70.962315,42.266154],[70.388965,42.081308],[69.070027,41.384244],[68.632483,40.668681],[68.259896,40.662325],[67.985856,41.135991],[66.714047,41.168444],[66.510649,41.987644],[66.023392,41.994646],[66.098012,42.99766],[64.900824,43.728081],[63.185787,43.650075],[62.0133,43.504477],[61.05832,44.405817],[60.239972,44.784037],[58.689989,45.500014],[58.503127,45.586804],[55.928917,44.995858],[55.968191,41.308642],[55.455251,41.259859],[54.755345,42.043971],[54.079418,42.324109],[52.944293,42.116034],[52.50246,41.783316],[52.446339,42.027151],[52.692112,42.443895],[52.501426,42.792298],[51.342427,43.132975],[50.891292,44.031034],[50.339129,44.284016],[50.305643,44.609836],[51.278503,44.514854],[51.316899,45.245998],[52.16739,45.408391],[53.040876,45.259047],[53.220866,46.234646],[53.042737,46.853006],[52.042023,46.804637],[51.191945,47.048705],[50.034083,46.60899],[49.10116,46.39933],[48.59325,46.56104],[48.694734,47.075628],[48.05725,47.74377],[47.31524,47.71585],[46.466446,48.394152],[47.043672,49.152039],[46.751596,49.356006],[47.54948,50.454698],[48.577841,49.87476],[48.702382,50.605128],[50.766648,51.692762],[52.328724,51.718652],[54.532878,51.02624],[55.71694,50.62171],[56.77798,51.04355],[58.36332,51.06364],[59.642282,50.545442],[59.932807,50.842194],[61.337424,50.79907],[61.588003,51.272659],[59.967534,51.96042],[60.927269,52.447548],[60.739993,52.719986],[61.699986,52.979996],[60.978066,53.664993],[61.4366,54.00625],[65.178534,54.354228],[65.66687,54.60125],[68.1691,54.970392],[69.068167,55.38525],[70.865267,55.169734],[71.180131,54.133285],[72.22415,54.376655],[73.508516,54.035617],[73.425679,53.48981],[74.38482,53.54685],[76.8911,54.490524],[76.525179,54.177003],[77.800916,53.404415],[80.03556,50.864751],[80.568447,51.388336],[81.945986,50.812196],[83.383004,51.069183],[83.935115,50.889246],[84.416377,50.3114],[85.11556,50.117303],[85.54127,49.692859],[86.829357,49.826675],[87.35997,49.214981]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Uzbekistan","SOV_A3":"UZB","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Uzbekistan","ADM0_A3":"UZB","GEOU_DIF":0,"GEOUNIT":"Uzbekistan","GU_A3":"UZB","SU_DIF":0,"SUBUNIT":"Uzbekistan","SU_A3":"UZB","BRK_DIFF":0,"NAME":"Uzbekistan","NAME_LONG":"Uzbekistan","BRK_A3":"UZB","BRK_NAME":"Uzbekistan","BRK_GROUP":null,"ABBREV":"Uzb.","POSTAL":"UZ","FORMAL_EN":"Republic of Uzbekistan","FORMAL_FR":null,"NAME_CIAWF":"Uzbekistan","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Uzbekistan","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":3,"MAPCOLOR9":5,"MAPCOLOR13":4,"POP_EST":33580650,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":57921,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"UZ","ISO_A2":"UZ","ISO_A2_EH":"UZ","ISO_A3":"UZB","ISO_A3_EH":"UZB","ISO_N3":"860","ISO_N3_EH":"860","UN_A3":"860","WB_A2":"UZ","WB_A3":"UZB","WOE_ID":23424980,"WOE_ID_EH":23424980,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"UZB","ADM0_DIFF":null,"ADM0_TLC":"UZB","ADM0_A3_US":"UZB","ADM0_A3_FR":"UZB","ADM0_A3_RU":"UZB","ADM0_A3_ES":"UZB","ADM0_A3_CN":"UZB","ADM0_A3_TW":"UZB","ADM0_A3_IN":"UZB","ADM0_A3_NP":"UZB","ADM0_A3_PK":"UZB","ADM0_A3_DE":"UZB","ADM0_A3_GB":"UZB","ADM0_A3_BR":"UZB","ADM0_A3_IL":"UZB","ADM0_A3_PS":"UZB","ADM0_A3_SA":"UZB","ADM0_A3_EG":"UZB","ADM0_A3_MA":"UZB","ADM0_A3_PT":"UZB","ADM0_A3_AR":"UZB","ADM0_A3_JP":"UZB","ADM0_A3_KO":"UZB","ADM0_A3_VN":"UZB","ADM0_A3_TR":"UZB","ADM0_A3_ID":"UZB","ADM0_A3_PL":"UZB","ADM0_A3_GR":"UZB","ADM0_A3_IT":"UZB","ADM0_A3_NL":"UZB","ADM0_A3_SE":"UZB","ADM0_A3_BD":"UZB","ADM0_A3_UA":"UZB","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Central Asia","REGION_WB":"Europe & Central Asia","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":4,"TINY":5,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":64.005429,"LABEL_Y":41.693603,"NE_ID":1159321405,"WIKIDATAID":"Q265","NAME_AR":"أوزبكستان","NAME_BN":"উজবেকিস্তান","NAME_DE":"Usbekistan","NAME_EN":"Uzbekistan","NAME_ES":"Uzbekistán","NAME_FA":"ازبکستان","NAME_FR":"Ouzbékistan","NAME_EL":"Ουζμπεκιστάν","NAME_HE":"אוזבקיסטן","NAME_HI":"उज़्बेकिस्तान","NAME_HU":"Üzbegisztán","NAME_ID":"Uzbekistan","NAME_IT":"Uzbekistan","NAME_JA":"ウズベキスタン","NAME_KO":"우즈베키스탄","NAME_NL":"Oezbekistan","NAME_PL":"Uzbekistan","NAME_PT":"Uzbequistão","NAME_RU":"Узбекистан","NAME_SV":"Uzbekistan","NAME_TR":"Özbekistan","NAME_UK":"Узбекистан","NAME_UR":"ازبکستان","NAME_VI":"Uzbekistan","NAME_ZH":"乌兹别克斯坦","NAME_ZHT":"烏茲別克","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[55.928917,37.144994,73.055417,45.586804],"geometry":{"type":"Polygon","coordinates":[[[55.968191,41.308642],[55.928917,44.995858],[58.503127,45.586804],[58.689989,45.500014],[60.239972,44.784037],[61.05832,44.405817],[62.0133,43.504477],[63.185787,43.650075],[64.900824,43.728081],[66.098012,42.99766],[66.023392,41.994646],[66.510649,41.987644],[66.714047,41.168444],[67.985856,41.135991],[68.259896,40.662325],[68.632483,40.668681],[69.070027,41.384244],[70.388965,42.081308],[70.962315,42.266154],[71.259248,42.167711],[70.420022,41.519998],[71.157859,41.143587],[71.870115,41.3929],[73.055417,40.866033],[71.774875,40.145844],[71.014198,40.244366],[70.601407,40.218527],[70.45816,40.496495],[70.666622,40.960213],[69.329495,40.727824],[69.011633,40.086158],[68.536416,39.533453],[67.701429,39.580478],[67.44222,39.140144],[68.176025,38.901553],[68.392033,38.157025],[67.83,37.144994],[67.075782,37.356144],[66.518607,37.362784],[66.54615,37.974685],[65.215999,38.402695],[64.170223,38.892407],[63.518015,39.363257],[62.37426,40.053886],[61.882714,41.084857],[61.547179,41.26637],[60.465953,41.220327],[60.083341,41.425146],[59.976422,42.223082],[58.629011,42.751551],[57.78653,42.170553],[56.932215,41.826026],[57.096391,41.32231],[55.968191,41.308642]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Papua New Guinea","SOV_A3":"PNG","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Papua New Guinea","ADM0_A3":"PNG","GEOU_DIF":0,"GEOUNIT":"Papua New Guinea","GU_A3":"PNG","SU_DIF":1,"SUBUNIT":"Papua New Guinea","SU_A3":"PN1","BRK_DIFF":0,"NAME":"Papua New Guinea","NAME_LONG":"Papua New Guinea","BRK_A3":"PN1","BRK_NAME":"Papua New Guinea","BRK_GROUP":null,"ABBREV":"P.N.G.","POSTAL":"PG","FORMAL_EN":"Independent State of Papua New Guinea","FORMAL_FR":null,"NAME_CIAWF":"Papua New Guinea","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Papua New Guinea","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":2,"MAPCOLOR9":3,"MAPCOLOR13":1,"POP_EST":8776109,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":24829,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"PP","ISO_A2":"PG","ISO_A2_EH":"PG","ISO_A3":"PNG","ISO_A3_EH":"PNG","ISO_N3":"598","ISO_N3_EH":"598","UN_A3":"598","WB_A2":"PG","WB_A3":"PNG","WOE_ID":23424926,"WOE_ID_EH":23424926,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"PN1","ADM0_DIFF":null,"ADM0_TLC":"PN1","ADM0_A3_US":"PNG","ADM0_A3_FR":"PNG","ADM0_A3_RU":"PNG","ADM0_A3_ES":"PNG","ADM0_A3_CN":"PNG","ADM0_A3_TW":"PNG","ADM0_A3_IN":"PNG","ADM0_A3_NP":"PNG","ADM0_A3_PK":"PNG","ADM0_A3_DE":"PNG","ADM0_A3_GB":"PNG","ADM0_A3_BR":"PNG","ADM0_A3_IL":"PNG","ADM0_A3_PS":"PNG","ADM0_A3_SA":"PNG","ADM0_A3_EG":"PNG","ADM0_A3_MA":"PNG","ADM0_A3_PT":"PNG","ADM0_A3_AR":"PNG","ADM0_A3_JP":"PNG","ADM0_A3_KO":"PNG","ADM0_A3_VN":"PNG","ADM0_A3_TR":"PNG","ADM0_A3_ID":"PNG","ADM0_A3_PL":"PNG","ADM0_A3_GR":"PNG","ADM0_A3_IT":"PNG","ADM0_A3_NL":"PNG","ADM0_A3_SE":"PNG","ADM0_A3_BD":"PNG","ADM0_A3_UA":"PNG","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Melanesia","REGION_WB":"East Asia & Pacific","NAME_LEN":16,"LONG_LEN":16,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.5,"MAX_LABEL":7.5,"LABEL_X":143.910216,"LABEL_Y":-5.695285,"NE_ID":1159321173,"WIKIDATAID":"Q691","NAME_AR":"بابوا غينيا الجديدة","NAME_BN":"পাপুয়া নিউগিনি","NAME_DE":"Papua-Neuguinea","NAME_EN":"Papua New Guinea","NAME_ES":"Papúa Nueva Guinea","NAME_FA":"پاپوآ گینه نو","NAME_FR":"Papouasie-Nouvelle-Guinée","NAME_EL":"Παπούα Νέα Γουινέα","NAME_HE":"פפואה גינאה החדשה","NAME_HI":"पापुआ न्यू गिनी","NAME_HU":"Pápua Új-Guinea","NAME_ID":"Papua Nugini","NAME_IT":"Papua Nuova Guinea","NAME_JA":"パプアニューギニア","NAME_KO":"파푸아뉴기니","NAME_NL":"Papoea-Nieuw-Guinea","NAME_PL":"Papua-Nowa Gwinea","NAME_PT":"Papua-Nova Guiné","NAME_RU":"Папуа — Новая Гвинея","NAME_SV":"Papua Nya Guinea","NAME_TR":"Papua Yeni Gine","NAME_UK":"Папуа Нова Гвінея","NAME_UR":"پاپوا نیو گنی","NAME_VI":"Papua New Guinea","NAME_ZH":"巴布亚新几内亚","NAME_ZHT":"巴布亞紐幾內亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[141.00021,-10.652476,156.019965,-2.500002],"geometry":{"type":"MultiPolygon","coordinates":[[[[141.00021,-2.600151],[142.735247,-3.289153],[144.583971,-3.861418],[145.27318,-4.373738],[145.829786,-4.876498],[145.981922,-5.465609],[147.648073,-6.083659],[147.891108,-6.614015],[146.970905,-6.721657],[147.191874,-7.388024],[148.084636,-8.044108],[148.734105,-9.104664],[149.306835,-9.071436],[149.266631,-9.514406],[150.038728,-9.684318],[149.738798,-9.872937],[150.801628,-10.293687],[150.690575,-10.582713],[150.028393,-10.652476],[149.78231,-10.393267],[148.923138,-10.280923],[147.913018,-10.130441],[147.135443,-9.492444],[146.567881,-8.942555],[146.048481,-8.067414],[144.744168,-7.630128],[143.897088,-7.91533],[143.286376,-8.245491],[143.413913,-8.983069],[142.628431,-9.326821],[142.068259,-9.159596],[141.033852,-9.117893],[141.017057,-5.859022],[141.00021,-2.600151]]],[[[152.640017,-3.659983],[153.019994,-3.980015],[153.140038,-4.499983],[152.827292,-4.766427],[152.638673,-4.176127],[152.406026,-3.789743],[151.953237,-3.462062],[151.384279,-3.035422],[150.66205,-2.741486],[150.939965,-2.500002],[151.479984,-2.779985],[151.820015,-2.999972],[152.239989,-3.240009],[152.640017,-3.659983]]],[[[151.30139,-5.840728],[150.754447,-6.083763],[150.241197,-6.317754],[149.709963,-6.316513],[148.890065,-6.02604],[148.318937,-5.747142],[148.401826,-5.437756],[149.298412,-5.583742],[149.845562,-5.505503],[149.99625,-5.026101],[150.139756,-5.001348],[150.236908,-5.53222],[150.807467,-5.455842],[151.089672,-5.113693],[151.647881,-4.757074],[151.537862,-4.167807],[152.136792,-4.14879],[152.338743,-4.312966],[152.318693,-4.867661],[151.982796,-5.478063],[151.459107,-5.56028],[151.30139,-5.840728]]],[[[154.759991,-5.339984],[155.062918,-5.566792],[155.547746,-6.200655],[156.019965,-6.540014],[155.880026,-6.819997],[155.599991,-6.919991],[155.166994,-6.535931],[154.729192,-5.900828],[154.514114,-5.139118],[154.652504,-5.042431],[154.759991,-5.339984]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Indonesia","SOV_A3":"IDN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Indonesia","ADM0_A3":"IDN","GEOU_DIF":0,"GEOUNIT":"Indonesia","GU_A3":"IDN","SU_DIF":0,"SUBUNIT":"Indonesia","SU_A3":"IDN","BRK_DIFF":0,"NAME":"Indonesia","NAME_LONG":"Indonesia","BRK_A3":"IDN","BRK_NAME":"Indonesia","BRK_GROUP":null,"ABBREV":"Indo.","POSTAL":"INDO","FORMAL_EN":"Republic of Indonesia","FORMAL_FR":null,"NAME_CIAWF":"Indonesia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Indonesia","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":6,"MAPCOLOR9":6,"MAPCOLOR13":11,"POP_EST":270625568,"POP_RANK":17,"POP_YEAR":2019,"GDP_MD":1119190,"GDP_YEAR":2019,"ECONOMY":"4. Emerging region: MIKT","INCOME_GRP":"4. Lower middle income","FIPS_10":"ID","ISO_A2":"ID","ISO_A2_EH":"ID","ISO_A3":"IDN","ISO_A3_EH":"IDN","ISO_N3":"360","ISO_N3_EH":"360","UN_A3":"360","WB_A2":"ID","WB_A3":"IDN","WOE_ID":23424846,"WOE_ID_EH":23424846,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"IDN","ADM0_DIFF":null,"ADM0_TLC":"IDN","ADM0_A3_US":"IDN","ADM0_A3_FR":"IDN","ADM0_A3_RU":"IDN","ADM0_A3_ES":"IDN","ADM0_A3_CN":"IDN","ADM0_A3_TW":"IDN","ADM0_A3_IN":"IDN","ADM0_A3_NP":"IDN","ADM0_A3_PK":"IDN","ADM0_A3_DE":"IDN","ADM0_A3_GB":"IDN","ADM0_A3_BR":"IDN","ADM0_A3_IL":"IDN","ADM0_A3_PS":"IDN","ADM0_A3_SA":"IDN","ADM0_A3_EG":"IDN","ADM0_A3_MA":"IDN","ADM0_A3_PT":"IDN","ADM0_A3_AR":"IDN","ADM0_A3_JP":"IDN","ADM0_A3_KO":"IDN","ADM0_A3_VN":"IDN","ADM0_A3_TR":"IDN","ADM0_A3_ID":"IDN","ADM0_A3_PL":"IDN","ADM0_A3_GR":"IDN","ADM0_A3_IT":"IDN","ADM0_A3_NL":"IDN","ADM0_A3_SE":"IDN","ADM0_A3_BD":"IDN","ADM0_A3_UA":"IDN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"South-Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":9,"LONG_LEN":9,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":6.7,"LABEL_X":101.892949,"LABEL_Y":-0.954404,"NE_ID":1159320845,"WIKIDATAID":"Q252","NAME_AR":"إندونيسيا","NAME_BN":"ইন্দোনেশিয়া","NAME_DE":"Indonesien","NAME_EN":"Indonesia","NAME_ES":"Indonesia","NAME_FA":"اندونزی","NAME_FR":"Indonésie","NAME_EL":"Ινδονησία","NAME_HE":"אינדונזיה","NAME_HI":"इंडोनेशिया","NAME_HU":"Indonézia","NAME_ID":"Indonesia","NAME_IT":"Indonesia","NAME_JA":"インドネシア","NAME_KO":"인도네시아","NAME_NL":"Indonesië","NAME_PL":"Indonezja","NAME_PT":"Indonésia","NAME_RU":"Индонезия","NAME_SV":"Indonesien","NAME_TR":"Endonezya","NAME_UK":"Індонезія","NAME_UR":"انڈونیشیا","NAME_VI":"Indonesia","NAME_ZH":"印度尼西亚","NAME_ZHT":"印度尼西亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[95.293026,-10.359987,141.033852,5.479821],"geometry":{"type":"MultiPolygon","coordinates":[[[[141.00021,-2.600151],[141.017057,-5.859022],[141.033852,-9.117893],[140.143415,-8.297168],[139.127767,-8.096043],[138.881477,-8.380935],[137.614474,-8.411683],[138.039099,-7.597882],[138.668621,-7.320225],[138.407914,-6.232849],[137.92784,-5.393366],[135.98925,-4.546544],[135.164598,-4.462931],[133.66288,-3.538853],[133.367705,-4.024819],[132.983956,-4.112979],[132.756941,-3.746283],[132.753789,-3.311787],[131.989804,-2.820551],[133.066845,-2.460418],[133.780031,-2.479848],[133.696212,-2.214542],[132.232373,-2.212526],[131.836222,-1.617162],[130.94284,-1.432522],[130.519558,-0.93772],[131.867538,-0.695461],[132.380116,-0.369538],[133.985548,-0.78021],[134.143368,-1.151867],[134.422627,-2.769185],[135.457603,-3.367753],[136.293314,-2.307042],[137.440738,-1.703513],[138.329727,-1.702686],[139.184921,-2.051296],[139.926684,-2.409052],[141.00021,-2.600151]]],[[[124.968682,-8.89279],[125.07002,-9.089987],[125.08852,-9.393173],[124.43595,-10.140001],[123.579982,-10.359987],[123.459989,-10.239995],[123.550009,-9.900016],[123.980009,-9.290027],[124.968682,-8.89279]]],[[[134.210134,-6.895238],[134.112776,-6.142467],[134.290336,-5.783058],[134.499625,-5.445042],[134.727002,-5.737582],[134.724624,-6.214401],[134.210134,-6.895238]]],[[[117.882035,4.137551],[117.313232,3.234428],[118.04833,2.28769],[117.875627,1.827641],[118.996747,0.902219],[117.811858,0.784242],[117.478339,0.102475],[117.521644,-0.803723],[116.560048,-1.487661],[116.533797,-2.483517],[116.148084,-4.012726],[116.000858,-3.657037],[114.864803,-4.106984],[114.468652,-3.495704],[113.755672,-3.43917],[113.256994,-3.118776],[112.068126,-3.478392],[111.703291,-2.994442],[111.04824,-3.049426],[110.223846,-2.934032],[110.070936,-1.592874],[109.571948,-1.314907],[109.091874,-0.459507],[108.952658,0.415375],[109.069136,1.341934],[109.66326,2.006467],[109.830227,1.338136],[110.514061,0.773131],[111.159138,0.976478],[111.797548,0.904441],[112.380252,1.410121],[112.859809,1.49779],[113.80585,1.217549],[114.621355,1.430688],[115.134037,2.821482],[115.519078,3.169238],[115.865517,4.306559],[117.015214,4.306094],[117.882035,4.137551]]],[[[129.370998,-2.802154],[130.471344,-3.093764],[130.834836,-3.858472],[129.990547,-3.446301],[129.155249,-3.362637],[128.590684,-3.428679],[127.898891,-3.393436],[128.135879,-2.84365],[129.370998,-2.802154]]],[[[126.874923,-3.790983],[126.183802,-3.607376],[125.989034,-3.177273],[127.000651,-3.129318],[127.249215,-3.459065],[126.874923,-3.790983]]],[[[127.932378,2.174596],[128.004156,1.628531],[128.594559,1.540811],[128.688249,1.132386],[128.635952,0.258486],[128.12017,0.356413],[127.968034,-0.252077],[128.379999,-0.780004],[128.100016,-0.899996],[127.696475,-0.266598],[127.39949,1.011722],[127.600512,1.810691],[127.932378,2.174596]]],[[[122.927567,0.875192],[124.077522,0.917102],[125.065989,1.643259],[125.240501,1.419836],[124.437035,0.427881],[123.685505,0.235593],[122.723083,0.431137],[121.056725,0.381217],[120.183083,0.237247],[120.04087,-0.519658],[120.935905,-1.408906],[121.475821,-0.955962],[123.340565,-0.615673],[123.258399,-1.076213],[122.822715,-0.930951],[122.38853,-1.516858],[121.508274,-1.904483],[122.454572,-3.186058],[122.271896,-3.5295],[123.170963,-4.683693],[123.162333,-5.340604],[122.628515,-5.634591],[122.236394,-5.282933],[122.719569,-4.464172],[121.738234,-4.851331],[121.489463,-4.574553],[121.619171,-4.188478],[120.898182,-3.602105],[120.972389,-2.627643],[120.305453,-2.931604],[120.390047,-4.097579],[120.430717,-5.528241],[119.796543,-5.6734],[119.366906,-5.379878],[119.653606,-4.459417],[119.498835,-3.494412],[119.078344,-3.487022],[118.767769,-2.801999],[119.180974,-2.147104],[119.323394,-1.353147],[119.825999,0.154254],[120.035702,0.566477],[120.885779,1.309223],[121.666817,1.013944],[122.927567,0.875192]]],[[[120.295014,-10.25865],[118.967808,-9.557969],[119.90031,-9.36134],[120.425756,-9.665921],[120.775502,-9.969675],[120.715609,-10.239581],[120.295014,-10.25865]]],[[[121.341669,-8.53674],[122.007365,-8.46062],[122.903537,-8.094234],[122.756983,-8.649808],[121.254491,-8.933666],[119.924391,-8.810418],[119.920929,-8.444859],[120.715092,-8.236965],[121.341669,-8.53674]]],[[[118.260616,-8.362383],[118.87846,-8.280683],[119.126507,-8.705825],[117.970402,-8.906639],[117.277731,-9.040895],[116.740141,-9.032937],[117.083737,-8.457158],[117.632024,-8.449303],[117.900018,-8.095681],[118.260616,-8.362383]]],[[[108.486846,-6.421985],[108.623479,-6.777674],[110.539227,-6.877358],[110.759576,-6.465186],[112.614811,-6.946036],[112.978768,-7.594213],[114.478935,-7.776528],[115.705527,-8.370807],[114.564511,-8.751817],[113.464734,-8.348947],[112.559672,-8.376181],[111.522061,-8.302129],[110.58615,-8.122605],[109.427667,-7.740664],[108.693655,-7.6416],[108.277763,-7.766657],[106.454102,-7.3549],[106.280624,-6.9249],[105.365486,-6.851416],[106.051646,-5.895919],[107.265009,-5.954985],[108.072091,-6.345762],[108.486846,-6.421985]]],[[[104.369991,-1.084843],[104.53949,-1.782372],[104.887893,-2.340425],[105.622111,-2.428844],[106.108593,-3.061777],[105.857446,-4.305525],[105.817655,-5.852356],[104.710384,-5.873285],[103.868213,-5.037315],[102.584261,-4.220259],[102.156173,-3.614146],[101.399113,-2.799777],[100.902503,-2.050262],[100.141981,-0.650348],[99.26374,0.183142],[98.970011,1.042882],[98.601351,1.823507],[97.699598,2.453184],[97.176942,3.308791],[96.424017,3.86886],[95.380876,4.970782],[95.293026,5.479821],[95.936863,5.439513],[97.484882,5.246321],[98.369169,4.26837],[99.142559,3.59035],[99.693998,3.174329],[100.641434,2.099381],[101.658012,2.083697],[102.498271,1.3987],[103.07684,0.561361],[103.838396,0.104542],[103.437645,-0.711946],[104.010789,-1.059212],[104.369991,-1.084843]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Argentina","SOV_A3":"ARG","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Argentina","ADM0_A3":"ARG","GEOU_DIF":0,"GEOUNIT":"Argentina","GU_A3":"ARG","SU_DIF":0,"SUBUNIT":"Argentina","SU_A3":"ARG","BRK_DIFF":0,"NAME":"Argentina","NAME_LONG":"Argentina","BRK_A3":"ARG","BRK_NAME":"Argentina","BRK_GROUP":null,"ABBREV":"Arg.","POSTAL":"AR","FORMAL_EN":"Argentine Republic","FORMAL_FR":null,"NAME_CIAWF":"Argentina","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Argentina","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":1,"MAPCOLOR9":3,"MAPCOLOR13":13,"POP_EST":44938712,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":445445,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"3. Upper middle income","FIPS_10":"AR","ISO_A2":"AR","ISO_A2_EH":"AR","ISO_A3":"ARG","ISO_A3_EH":"ARG","ISO_N3":"032","ISO_N3_EH":"032","UN_A3":"032","WB_A2":"AR","WB_A3":"ARG","WOE_ID":23424747,"WOE_ID_EH":23424747,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ARG","ADM0_DIFF":null,"ADM0_TLC":"ARG","ADM0_A3_US":"ARG","ADM0_A3_FR":"ARG","ADM0_A3_RU":"ARG","ADM0_A3_ES":"ARG","ADM0_A3_CN":"ARG","ADM0_A3_TW":"ARG","ADM0_A3_IN":"ARG","ADM0_A3_NP":"ARG","ADM0_A3_PK":"ARG","ADM0_A3_DE":"ARG","ADM0_A3_GB":"ARG","ADM0_A3_BR":"ARG","ADM0_A3_IL":"ARG","ADM0_A3_PS":"ARG","ADM0_A3_SA":"ARG","ADM0_A3_EG":"ARG","ADM0_A3_MA":"ARG","ADM0_A3_PT":"ARG","ADM0_A3_AR":"ARG","ADM0_A3_JP":"ARG","ADM0_A3_KO":"ARG","ADM0_A3_VN":"ARG","ADM0_A3_TR":"ARG","ADM0_A3_ID":"ARG","ADM0_A3_PL":"ARG","ADM0_A3_GR":"ARG","ADM0_A3_IT":"ARG","ADM0_A3_NL":"ARG","ADM0_A3_SE":"ARG","ADM0_A3_BD":"ARG","ADM0_A3_UA":"ARG","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"South America","REGION_UN":"Americas","SUBREGION":"South America","REGION_WB":"Latin America & Caribbean","NAME_LEN":9,"LONG_LEN":9,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2,"MAX_LABEL":7,"LABEL_X":-64.173331,"LABEL_Y":-33.501159,"NE_ID":1159320331,"WIKIDATAID":"Q414","NAME_AR":"الأرجنتين","NAME_BN":"আর্জেন্টিনা","NAME_DE":"Argentinien","NAME_EN":"Argentina","NAME_ES":"Argentina","NAME_FA":"آرژانتین","NAME_FR":"Argentine","NAME_EL":"Αργεντινή","NAME_HE":"ארגנטינה","NAME_HI":"अर्जेण्टीना","NAME_HU":"Argentína","NAME_ID":"Argentina","NAME_IT":"Argentina","NAME_JA":"アルゼンチン","NAME_KO":"아르헨티나","NAME_NL":"Argentinië","NAME_PL":"Argentyna","NAME_PT":"Argentina","NAME_RU":"Аргентина","NAME_SV":"Argentina","NAME_TR":"Arjantin","NAME_UK":"Аргентина","NAME_UR":"ارجنٹائن","NAME_VI":"Argentina","NAME_ZH":"阿根廷","NAME_ZHT":"阿根廷","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-73.415436,-55.25,-53.628349,-21.83231],"geometry":{"type":"MultiPolygon","coordinates":[[[[-68.63401,-52.63637],[-68.25,-53.1],[-67.75,-53.85],[-66.45,-54.45],[-65.05,-54.7],[-65.5,-55.2],[-66.45,-55.25],[-66.95992,-54.89681],[-67.56244,-54.87001],[-68.63335,-54.8695],[-68.63401,-52.63637]]],[[[-57.625133,-30.216295],[-57.874937,-31.016556],[-58.14244,-32.044504],[-58.132648,-33.040567],[-58.349611,-33.263189],[-58.427074,-33.909454],[-58.495442,-34.43149],[-57.22583,-35.288027],[-57.362359,-35.97739],[-56.737487,-36.413126],[-56.788285,-36.901572],[-57.749157,-38.183871],[-59.231857,-38.72022],[-61.237445,-38.928425],[-62.335957,-38.827707],[-62.125763,-39.424105],[-62.330531,-40.172586],[-62.145994,-40.676897],[-62.745803,-41.028761],[-63.770495,-41.166789],[-64.73209,-40.802677],[-65.118035,-41.064315],[-64.978561,-42.058001],[-64.303408,-42.359016],[-63.755948,-42.043687],[-63.458059,-42.563138],[-64.378804,-42.873558],[-65.181804,-43.495381],[-65.328823,-44.501366],[-65.565269,-45.036786],[-66.509966,-45.039628],[-67.293794,-45.551896],[-67.580546,-46.301773],[-66.597066,-47.033925],[-65.641027,-47.236135],[-65.985088,-48.133289],[-67.166179,-48.697337],[-67.816088,-49.869669],[-68.728745,-50.264218],[-69.138539,-50.73251],[-68.815561,-51.771104],[-68.149995,-52.349983],[-68.571545,-52.299444],[-69.498362,-52.142761],[-71.914804,-52.009022],[-72.329404,-51.425956],[-72.309974,-50.67701],[-72.975747,-50.74145],[-73.328051,-50.378785],[-73.415436,-49.318436],[-72.648247,-48.878618],[-72.331161,-48.244238],[-72.447355,-47.738533],[-71.917258,-46.884838],[-71.552009,-45.560733],[-71.659316,-44.973689],[-71.222779,-44.784243],[-71.329801,-44.407522],[-71.793623,-44.207172],[-71.464056,-43.787611],[-71.915424,-43.408565],[-72.148898,-42.254888],[-71.746804,-42.051386],[-71.915734,-40.832339],[-71.680761,-39.808164],[-71.413517,-38.916022],[-70.814664,-38.552995],[-71.118625,-37.576827],[-71.121881,-36.658124],[-70.364769,-36.005089],[-70.388049,-35.169688],[-69.817309,-34.193571],[-69.814777,-33.273886],[-70.074399,-33.09121],[-70.535069,-31.36501],[-69.919008,-30.336339],[-70.01355,-29.367923],[-69.65613,-28.459141],[-69.001235,-27.521214],[-68.295542,-26.89934],[-68.5948,-26.506909],[-68.386001,-26.185016],[-68.417653,-24.518555],[-67.328443,-24.025303],[-66.985234,-22.986349],[-67.106674,-22.735925],[-66.273339,-21.83231],[-64.964892,-22.075862],[-64.377021,-22.798091],[-63.986838,-21.993644],[-62.846468,-22.034985],[-62.685057,-22.249029],[-60.846565,-23.880713],[-60.028966,-24.032796],[-58.807128,-24.771459],[-57.777217,-25.16234],[-57.63366,-25.603657],[-58.618174,-27.123719],[-57.60976,-27.395899],[-56.486702,-27.548499],[-55.695846,-27.387837],[-54.788795,-26.621786],[-54.625291,-25.739255],[-54.13005,-25.547639],[-53.628349,-26.124865],[-53.648735,-26.923473],[-54.490725,-27.474757],[-55.162286,-27.881915],[-56.2909,-28.852761],[-57.625133,-30.216295]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Chile","SOV_A3":"CHL","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Chile","ADM0_A3":"CHL","GEOU_DIF":0,"GEOUNIT":"Chile","GU_A3":"CHL","SU_DIF":0,"SUBUNIT":"Chile","SU_A3":"CHL","BRK_DIFF":0,"NAME":"Chile","NAME_LONG":"Chile","BRK_A3":"CHL","BRK_NAME":"Chile","BRK_GROUP":null,"ABBREV":"Chile","POSTAL":"CL","FORMAL_EN":"Republic of Chile","FORMAL_FR":null,"NAME_CIAWF":"Chile","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Chile","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":1,"MAPCOLOR9":5,"MAPCOLOR13":9,"POP_EST":18952038,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":282318,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"3. Upper middle income","FIPS_10":"CI","ISO_A2":"CL","ISO_A2_EH":"CL","ISO_A3":"CHL","ISO_A3_EH":"CHL","ISO_N3":"152","ISO_N3_EH":"152","UN_A3":"152","WB_A2":"CL","WB_A3":"CHL","WOE_ID":23424782,"WOE_ID_EH":23424782,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"CHL","ADM0_DIFF":null,"ADM0_TLC":"CHL","ADM0_A3_US":"CHL","ADM0_A3_FR":"CHL","ADM0_A3_RU":"CHL","ADM0_A3_ES":"CHL","ADM0_A3_CN":"CHL","ADM0_A3_TW":"CHL","ADM0_A3_IN":"CHL","ADM0_A3_NP":"CHL","ADM0_A3_PK":"CHL","ADM0_A3_DE":"CHL","ADM0_A3_GB":"CHL","ADM0_A3_BR":"CHL","ADM0_A3_IL":"CHL","ADM0_A3_PS":"CHL","ADM0_A3_SA":"CHL","ADM0_A3_EG":"CHL","ADM0_A3_MA":"CHL","ADM0_A3_PT":"CHL","ADM0_A3_AR":"CHL","ADM0_A3_JP":"CHL","ADM0_A3_KO":"CHL","ADM0_A3_VN":"CHL","ADM0_A3_TR":"CHL","ADM0_A3_ID":"CHL","ADM0_A3_PL":"CHL","ADM0_A3_GR":"CHL","ADM0_A3_IT":"CHL","ADM0_A3_NL":"CHL","ADM0_A3_SE":"CHL","ADM0_A3_BD":"CHL","ADM0_A3_UA":"CHL","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"South America","REGION_UN":"Americas","SUBREGION":"South America","REGION_WB":"Latin America & Caribbean","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":6.7,"LABEL_X":-72.318871,"LABEL_Y":-38.151771,"NE_ID":1159320493,"WIKIDATAID":"Q298","NAME_AR":"تشيلي","NAME_BN":"চিলি","NAME_DE":"Chile","NAME_EN":"Chile","NAME_ES":"Chile","NAME_FA":"شیلی","NAME_FR":"Chili","NAME_EL":"Χιλή","NAME_HE":"צ'ילה","NAME_HI":"चिली","NAME_HU":"Chile","NAME_ID":"Chili","NAME_IT":"Cile","NAME_JA":"チリ","NAME_KO":"칠레","NAME_NL":"Chili","NAME_PL":"Chile","NAME_PT":"Chile","NAME_RU":"Чили","NAME_SV":"Chile","NAME_TR":"Şili","NAME_UK":"Чилі","NAME_UR":"چلی","NAME_VI":"Chile","NAME_ZH":"智利","NAME_ZHT":"智利","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-75.644395,-55.61183,-66.95992,-17.580012],"geometry":{"type":"MultiPolygon","coordinates":[[[[-68.63401,-52.63637],[-68.63335,-54.8695],[-67.56244,-54.87001],[-66.95992,-54.89681],[-67.29103,-55.30124],[-68.14863,-55.61183],[-68.639991,-55.580018],[-69.2321,-55.49906],[-69.95809,-55.19843],[-71.00568,-55.05383],[-72.2639,-54.49514],[-73.2852,-53.95752],[-74.66253,-52.83749],[-73.8381,-53.04743],[-72.43418,-53.7154],[-71.10773,-54.07433],[-70.59178,-53.61583],[-70.26748,-52.93123],[-69.34565,-52.5183],[-68.63401,-52.63637]]],[[[-69.590424,-17.580012],[-69.100247,-18.260125],[-68.966818,-18.981683],[-68.442225,-19.405068],[-68.757167,-20.372658],[-68.219913,-21.494347],[-67.82818,-22.872919],[-67.106674,-22.735925],[-66.985234,-22.986349],[-67.328443,-24.025303],[-68.417653,-24.518555],[-68.386001,-26.185016],[-68.5948,-26.506909],[-68.295542,-26.89934],[-69.001235,-27.521214],[-69.65613,-28.459141],[-70.01355,-29.367923],[-69.919008,-30.336339],[-70.535069,-31.36501],[-70.074399,-33.09121],[-69.814777,-33.273886],[-69.817309,-34.193571],[-70.388049,-35.169688],[-70.364769,-36.005089],[-71.121881,-36.658124],[-71.118625,-37.576827],[-70.814664,-38.552995],[-71.413517,-38.916022],[-71.680761,-39.808164],[-71.915734,-40.832339],[-71.746804,-42.051386],[-72.148898,-42.254888],[-71.915424,-43.408565],[-71.464056,-43.787611],[-71.793623,-44.207172],[-71.329801,-44.407522],[-71.222779,-44.784243],[-71.659316,-44.973689],[-71.552009,-45.560733],[-71.917258,-46.884838],[-72.447355,-47.738533],[-72.331161,-48.244238],[-72.648247,-48.878618],[-73.415436,-49.318436],[-73.328051,-50.378785],[-72.975747,-50.74145],[-72.309974,-50.67701],[-72.329404,-51.425956],[-71.914804,-52.009022],[-69.498362,-52.142761],[-68.571545,-52.299444],[-69.461284,-52.291951],[-69.94278,-52.537931],[-70.845102,-52.899201],[-71.006332,-53.833252],[-71.429795,-53.856455],[-72.557943,-53.53141],[-73.702757,-52.835069],[-73.702757,-52.83507],[-74.946763,-52.262754],[-75.260026,-51.629355],[-74.976632,-51.043396],[-75.479754,-50.378372],[-75.608015,-48.673773],[-75.18277,-47.711919],[-74.126581,-46.939253],[-75.644395,-46.647643],[-74.692154,-45.763976],[-74.351709,-44.103044],[-73.240356,-44.454961],[-72.717804,-42.383356],[-73.3889,-42.117532],[-73.701336,-43.365776],[-74.331943,-43.224958],[-74.017957,-41.794813],[-73.677099,-39.942213],[-73.217593,-39.258689],[-73.505559,-38.282883],[-73.588061,-37.156285],[-73.166717,-37.12378],[-72.553137,-35.50884],[-71.861732,-33.909093],[-71.43845,-32.418899],[-71.668721,-30.920645],[-71.370083,-30.095682],[-71.489894,-28.861442],[-70.905124,-27.64038],[-70.724954,-25.705924],[-70.403966,-23.628997],[-70.091246,-21.393319],[-70.16442,-19.756468],[-70.372572,-18.347975],[-69.858444,-18.092694],[-69.590424,-17.580012]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Democratic Republic of the Congo","SOV_A3":"COD","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Democratic Republic of the Congo","ADM0_A3":"COD","GEOU_DIF":0,"GEOUNIT":"Democratic Republic of the Congo","GU_A3":"COD","SU_DIF":0,"SUBUNIT":"Democratic Republic of the Congo","SU_A3":"COD","BRK_DIFF":0,"NAME":"Dem. Rep. Congo","NAME_LONG":"Democratic Republic of the Congo","BRK_A3":"COD","BRK_NAME":"Democratic Republic of the Congo","BRK_GROUP":null,"ABBREV":"D.R.C.","POSTAL":"DRC","FORMAL_EN":"Democratic Republic of the Congo","FORMAL_FR":null,"NAME_CIAWF":"Congo, Democratic Republic of the","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Congo, Dem. Rep.","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":4,"MAPCOLOR9":4,"MAPCOLOR13":7,"POP_EST":86790567,"POP_RANK":16,"POP_YEAR":2019,"GDP_MD":50400,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"CG","ISO_A2":"CD","ISO_A2_EH":"CD","ISO_A3":"COD","ISO_A3_EH":"COD","ISO_N3":"180","ISO_N3_EH":"180","UN_A3":"180","WB_A2":"ZR","WB_A3":"ZAR","WOE_ID":23424780,"WOE_ID_EH":23424780,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"COD","ADM0_DIFF":null,"ADM0_TLC":"COD","ADM0_A3_US":"COD","ADM0_A3_FR":"COD","ADM0_A3_RU":"COD","ADM0_A3_ES":"COD","ADM0_A3_CN":"COD","ADM0_A3_TW":"COD","ADM0_A3_IN":"COD","ADM0_A3_NP":"COD","ADM0_A3_PK":"COD","ADM0_A3_DE":"COD","ADM0_A3_GB":"COD","ADM0_A3_BR":"COD","ADM0_A3_IL":"COD","ADM0_A3_PS":"COD","ADM0_A3_SA":"COD","ADM0_A3_EG":"COD","ADM0_A3_MA":"COD","ADM0_A3_PT":"COD","ADM0_A3_AR":"COD","ADM0_A3_JP":"COD","ADM0_A3_KO":"COD","ADM0_A3_VN":"COD","ADM0_A3_TR":"COD","ADM0_A3_ID":"COD","ADM0_A3_PL":"COD","ADM0_A3_GR":"COD","ADM0_A3_IT":"COD","ADM0_A3_NL":"COD","ADM0_A3_SE":"COD","ADM0_A3_BD":"COD","ADM0_A3_UA":"COD","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Middle Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":15,"LONG_LEN":32,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2,"MAX_LABEL":7,"LABEL_X":23.458829,"LABEL_Y":-1.858167,"NE_ID":1159320513,"WIKIDATAID":"Q974","NAME_AR":"جمهورية الكونغو الديمقراطية","NAME_BN":"গণতান্ত্রিক কঙ্গো প্রজাতন্ত্র","NAME_DE":"Demokratische Republik Kongo","NAME_EN":"Democratic Republic of the Congo","NAME_ES":"República Democrática del Congo","NAME_FA":"جمهوری دموکراتیک کنگو","NAME_FR":"République démocratique du Congo","NAME_EL":"Λαϊκή Δημοκρατία του Κονγκό","NAME_HE":"הרפובליקה הדמוקרטית של קונגו","NAME_HI":"कांगो लोकतान्त्रिक गणराज्य","NAME_HU":"Kongói Demokratikus Köztársaság","NAME_ID":"Republik Demokratik Kongo","NAME_IT":"Repubblica Democratica del Congo","NAME_JA":"コンゴ民主共和国","NAME_KO":"콩고 민주 공화국","NAME_NL":"Congo-Kinshasa","NAME_PL":"Demokratyczna Republika Konga","NAME_PT":"República Democrática do Congo","NAME_RU":"Демократическая Республика Конго","NAME_SV":"Kongo-Kinshasa","NAME_TR":"Demokratik Kongo Cumhuriyeti","NAME_UK":"Демократична Республіка Конго","NAME_UR":"جمہوری جمہوریہ کانگو","NAME_VI":"Cộng hòa Dân chủ Congo","NAME_ZH":"刚果民主共和国","NAME_ZHT":"剛果民主共和國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[12.182337,-13.257227,31.174149,5.256088],"geometry":{"type":"Polygon","coordinates":[[[29.339998,-4.499983],[29.519987,-5.419979],[29.419993,-5.939999],[29.620032,-6.520015],[30.199997,-7.079981],[30.740015,-8.340007],[30.74001,-8.340006],[30.346086,-8.238257],[29.002912,-8.407032],[28.734867,-8.526559],[28.449871,-9.164918],[28.673682,-9.605925],[28.49607,-10.789884],[28.372253,-11.793647],[28.642417,-11.971569],[29.341548,-12.360744],[29.616001,-12.178895],[29.699614,-13.257227],[28.934286,-13.248958],[28.523562,-12.698604],[28.155109,-12.272481],[27.388799,-12.132747],[27.16442,-11.608748],[26.553088,-11.92444],[25.75231,-11.784965],[25.418118,-11.330936],[24.78317,-11.238694],[24.314516,-11.262826],[24.257155,-10.951993],[23.912215,-10.926826],[23.456791,-10.867863],[22.837345,-11.017622],[22.402798,-10.993075],[22.155268,-11.084801],[22.208753,-9.894796],[21.875182,-9.523708],[21.801801,-8.908707],[21.949131,-8.305901],[21.746456,-7.920085],[21.728111,-7.290872],[20.514748,-7.299606],[20.601823,-6.939318],[20.091622,-6.94309],[20.037723,-7.116361],[19.417502,-7.155429],[19.166613,-7.738184],[19.016752,-7.988246],[18.464176,-7.847014],[18.134222,-7.987678],[17.47297,-8.068551],[17.089996,-7.545689],[16.860191,-7.222298],[16.57318,-6.622645],[16.326528,-5.87747],[13.375597,-5.864241],[13.024869,-5.984389],[12.735171,-5.965682],[12.322432,-6.100092],[12.182337,-5.789931],[12.436688,-5.684304],[12.468004,-5.248362],[12.631612,-4.991271],[12.995517,-4.781103],[13.25824,-4.882957],[13.600235,-4.500138],[14.144956,-4.510009],[14.209035,-4.793092],[14.582604,-4.970239],[15.170992,-4.343507],[15.75354,-3.855165],[16.00629,-3.535133],[15.972803,-2.712392],[16.407092,-1.740927],[16.865307,-1.225816],[17.523716,-0.74383],[17.638645,-0.424832],[17.663553,-0.058084],[17.82654,0.288923],[17.774192,0.855659],[17.898835,1.741832],[18.094276,2.365722],[18.393792,2.900443],[18.453065,3.504386],[18.542982,4.201785],[18.932312,4.709506],[19.467784,5.031528],[20.290679,4.691678],[20.927591,4.322786],[21.659123,4.224342],[22.405124,4.02916],[22.704124,4.633051],[22.84148,4.710126],[23.297214,4.609693],[24.410531,5.108784],[24.805029,4.897247],[25.128833,4.927245],[25.278798,5.170408],[25.650455,5.256088],[26.402761,5.150875],[27.044065,5.127853],[27.374226,5.233944],[27.979977,4.408413],[28.428994,4.287155],[28.696678,4.455077],[29.159078,4.389267],[29.715995,4.600805],[29.9535,4.173699],[30.833852,3.509172],[30.83386,3.509166],[30.773347,2.339883],[31.174149,2.204465],[30.85267,1.849396],[30.468508,1.583805],[30.086154,1.062313],[29.875779,0.59738],[29.819503,-0.20531],[29.587838,-0.587406],[29.579466,-1.341313],[29.291887,-1.620056],[29.254835,-2.21511],[29.117479,-2.292211],[29.024926,-2.839258],[29.276384,-3.293907],[29.339998,-4.499983]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Somalia","SOV_A3":"SOM","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Somalia","ADM0_A3":"SOM","GEOU_DIF":0,"GEOUNIT":"Somalia","GU_A3":"SOM","SU_DIF":0,"SUBUNIT":"Somalia","SU_A3":"SOM","BRK_DIFF":0,"NAME":"Somalia","NAME_LONG":"Somalia","BRK_A3":"SOM","BRK_NAME":"Somalia","BRK_GROUP":null,"ABBREV":"Som.","POSTAL":"SO","FORMAL_EN":"Federal Republic of Somalia","FORMAL_FR":null,"NAME_CIAWF":"Somalia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Somalia","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":8,"MAPCOLOR9":6,"MAPCOLOR13":7,"POP_EST":10192317.3,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":4719,"GDP_YEAR":2016,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"SO","ISO_A2":"SO","ISO_A2_EH":"SO","ISO_A3":"SOM","ISO_A3_EH":"SOM","ISO_N3":"706","ISO_N3_EH":"706","UN_A3":"706","WB_A2":"SO","WB_A3":"SOM","WOE_ID":-90,"WOE_ID_EH":23424949,"WOE_NOTE":"Includes Somaliland (2347021, 2347020, 2347017 and portion of 2347016)","ADM0_ISO":"SOM","ADM0_DIFF":null,"ADM0_TLC":"SOM","ADM0_A3_US":"SOM","ADM0_A3_FR":"SOM","ADM0_A3_RU":"SOM","ADM0_A3_ES":"SOM","ADM0_A3_CN":"SOM","ADM0_A3_TW":"SOM","ADM0_A3_IN":"SOM","ADM0_A3_NP":"SOM","ADM0_A3_PK":"SOM","ADM0_A3_DE":"SOM","ADM0_A3_GB":"SOM","ADM0_A3_BR":"SOM","ADM0_A3_IL":"SOM","ADM0_A3_PS":"SOM","ADM0_A3_SA":"SOM","ADM0_A3_EG":"SOM","ADM0_A3_MA":"SOM","ADM0_A3_PT":"SOM","ADM0_A3_AR":"SOM","ADM0_A3_JP":"SOM","ADM0_A3_KO":"SOM","ADM0_A3_VN":"SOM","ADM0_A3_TR":"SOM","ADM0_A3_ID":"SOM","ADM0_A3_PL":"SOM","ADM0_A3_GR":"SOM","ADM0_A3_IT":"SOM","ADM0_A3_NL":"SOM","ADM0_A3_SE":"SOM","ADM0_A3_BD":"SOM","ADM0_A3_UA":"SOM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":45.19238,"LABEL_Y":3.568925,"NE_ID":1159321261,"WIKIDATAID":"Q1045","NAME_AR":"الصومال","NAME_BN":"সোমালিয়া","NAME_DE":"Somalia","NAME_EN":"Somalia","NAME_ES":"Somalia","NAME_FA":"سومالی","NAME_FR":"Somalie","NAME_EL":"Σομαλία","NAME_HE":"סומליה","NAME_HI":"सोमालिया","NAME_HU":"Szomália","NAME_ID":"Somalia","NAME_IT":"Somalia","NAME_JA":"ソマリア","NAME_KO":"소말리아","NAME_NL":"Somalië","NAME_PL":"Somalia","NAME_PT":"Somália","NAME_RU":"Сомали","NAME_SV":"Somalia","NAME_TR":"Somali","NAME_UK":"Сомалі","NAME_UR":"صومالیہ","NAME_VI":"Somalia","NAME_ZH":"索马里","NAME_ZHT":"索馬利亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[40.98105,-1.68325,51.13387,12.02464],"geometry":{"type":"Polygon","coordinates":[[[41.58513,-1.68325],[40.993,-0.85829],[40.98105,2.78452],[41.855083,3.918912],[42.12861,4.23413],[42.76967,4.25259],[43.66087,4.95755],[44.9636,5.00162],[47.78942,8.003],[48.486736,8.837626],[48.93813,9.451749],[48.938233,9.9735],[48.938491,10.982327],[48.942005,11.394266],[48.948205,11.410617],[48.948205,11.410617],[49.26776,11.43033],[49.72862,11.5789],[50.25878,11.67957],[50.73202,12.0219],[51.1112,12.02464],[51.13387,11.74815],[51.04153,11.16651],[51.04531,10.6409],[50.83418,10.27972],[50.55239,9.19874],[50.07092,8.08173],[49.4527,6.80466],[48.59455,5.33911],[47.74079,4.2194],[46.56476,2.85529],[45.56399,2.04576],[44.06815,1.05283],[43.13597,0.2922],[42.04157,-0.91916],[41.81095,-1.44647],[41.58513,-1.68325]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Kenya","SOV_A3":"KEN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Kenya","ADM0_A3":"KEN","GEOU_DIF":0,"GEOUNIT":"Kenya","GU_A3":"KEN","SU_DIF":0,"SUBUNIT":"Kenya","SU_A3":"KEN","BRK_DIFF":0,"NAME":"Kenya","NAME_LONG":"Kenya","BRK_A3":"KEN","BRK_NAME":"Kenya","BRK_GROUP":null,"ABBREV":"Ken.","POSTAL":"KE","FORMAL_EN":"Republic of Kenya","FORMAL_FR":null,"NAME_CIAWF":"Kenya","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Kenya","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":2,"MAPCOLOR9":7,"MAPCOLOR13":3,"POP_EST":52573973,"POP_RANK":16,"POP_YEAR":2019,"GDP_MD":95503,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"5. Low income","FIPS_10":"KE","ISO_A2":"KE","ISO_A2_EH":"KE","ISO_A3":"KEN","ISO_A3_EH":"KEN","ISO_N3":"404","ISO_N3_EH":"404","UN_A3":"404","WB_A2":"KE","WB_A3":"KEN","WOE_ID":23424863,"WOE_ID_EH":23424863,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"KEN","ADM0_DIFF":null,"ADM0_TLC":"KEN","ADM0_A3_US":"KEN","ADM0_A3_FR":"KEN","ADM0_A3_RU":"KEN","ADM0_A3_ES":"KEN","ADM0_A3_CN":"KEN","ADM0_A3_TW":"KEN","ADM0_A3_IN":"KEN","ADM0_A3_NP":"KEN","ADM0_A3_PK":"KEN","ADM0_A3_DE":"KEN","ADM0_A3_GB":"KEN","ADM0_A3_BR":"KEN","ADM0_A3_IL":"KEN","ADM0_A3_PS":"KEN","ADM0_A3_SA":"KEN","ADM0_A3_EG":"KEN","ADM0_A3_MA":"KEN","ADM0_A3_PT":"KEN","ADM0_A3_AR":"KEN","ADM0_A3_JP":"KEN","ADM0_A3_KO":"KEN","ADM0_A3_VN":"KEN","ADM0_A3_TR":"KEN","ADM0_A3_ID":"KEN","ADM0_A3_PL":"KEN","ADM0_A3_GR":"KEN","ADM0_A3_IT":"KEN","ADM0_A3_NL":"KEN","ADM0_A3_SE":"KEN","ADM0_A3_BD":"KEN","ADM0_A3_UA":"KEN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":6.7,"LABEL_X":37.907632,"LABEL_Y":0.549043,"NE_ID":1159320971,"WIKIDATAID":"Q114","NAME_AR":"كينيا","NAME_BN":"কেনিয়া","NAME_DE":"Kenia","NAME_EN":"Kenya","NAME_ES":"Kenia","NAME_FA":"کنیا","NAME_FR":"Kenya","NAME_EL":"Κένυα","NAME_HE":"קניה","NAME_HI":"कीनिया","NAME_HU":"Kenya","NAME_ID":"Kenya","NAME_IT":"Kenya","NAME_JA":"ケニア","NAME_KO":"케냐","NAME_NL":"Kenia","NAME_PL":"Kenia","NAME_PT":"Quénia","NAME_RU":"Кения","NAME_SV":"Kenya","NAME_TR":"Kenya","NAME_UK":"Кенія","NAME_UR":"کینیا","NAME_VI":"Kenya","NAME_ZH":"肯尼亚","NAME_ZHT":"肯亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[33.893569,-4.67677,41.855083,5.506],"geometry":{"type":"Polygon","coordinates":[[[39.20222,-4.67677],[37.7669,-3.67712],[37.69869,-3.09699],[34.07262,-1.05982],[33.903711,-0.95],[33.893569,0.109814],[34.18,0.515],[34.6721,1.17694],[35.03599,1.90584],[34.59607,3.05374],[34.47913,3.5556],[34.005,4.249885],[34.620196,4.847123],[35.298007,5.506],[35.817448,5.338232],[35.817448,4.776966],[36.159079,4.447864],[36.855093,4.447864],[38.120915,3.598605],[38.43697,3.58851],[38.67114,3.61607],[38.89251,3.50074],[39.559384,3.42206],[39.85494,3.83879],[40.76848,4.25702],[41.1718,3.91909],[41.855083,3.918912],[40.98105,2.78452],[40.993,-0.85829],[41.58513,-1.68325],[40.88477,-2.08255],[40.63785,-2.49979],[40.26304,-2.57309],[40.12119,-3.27768],[39.80006,-3.68116],[39.60489,-4.34653],[39.20222,-4.67677]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Sudan","SOV_A3":"SDN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Sudan","ADM0_A3":"SDN","GEOU_DIF":0,"GEOUNIT":"Sudan","GU_A3":"SDN","SU_DIF":0,"SUBUNIT":"Sudan","SU_A3":"SDN","BRK_DIFF":0,"NAME":"Sudan","NAME_LONG":"Sudan","BRK_A3":"SDN","BRK_NAME":"Sudan","BRK_GROUP":null,"ABBREV":"Sudan","POSTAL":"SD","FORMAL_EN":"Republic of the Sudan","FORMAL_FR":null,"NAME_CIAWF":"Sudan","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Sudan","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":6,"MAPCOLOR9":4,"MAPCOLOR13":1,"POP_EST":42813238,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":30513,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"SU","ISO_A2":"SD","ISO_A2_EH":"SD","ISO_A3":"SDN","ISO_A3_EH":"SDN","ISO_N3":"729","ISO_N3_EH":"729","UN_A3":"729","WB_A2":"SD","WB_A3":"SDN","WOE_ID":-90,"WOE_ID_EH":23424952,"WOE_NOTE":"Almost all FLickr photos are in the north.","ADM0_ISO":"SDZ","ADM0_DIFF":null,"ADM0_TLC":"SDZ","ADM0_A3_US":"SDN","ADM0_A3_FR":"SDN","ADM0_A3_RU":"SDN","ADM0_A3_ES":"SDN","ADM0_A3_CN":"SDN","ADM0_A3_TW":"SDN","ADM0_A3_IN":"SDN","ADM0_A3_NP":"SDN","ADM0_A3_PK":"SDN","ADM0_A3_DE":"SDN","ADM0_A3_GB":"SDN","ADM0_A3_BR":"SDN","ADM0_A3_IL":"SDN","ADM0_A3_PS":"SDN","ADM0_A3_SA":"SDN","ADM0_A3_EG":"SDN","ADM0_A3_MA":"SDN","ADM0_A3_PT":"SDN","ADM0_A3_AR":"SDN","ADM0_A3_JP":"SDN","ADM0_A3_KO":"SDN","ADM0_A3_VN":"SDN","ADM0_A3_TR":"SDN","ADM0_A3_ID":"SDN","ADM0_A3_PL":"SDN","ADM0_A3_GR":"SDN","ADM0_A3_IT":"SDN","ADM0_A3_NL":"SDN","ADM0_A3_SE":"SDN","ADM0_A3_BD":"SDN","ADM0_A3_UA":"SDN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Northern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.5,"MAX_LABEL":8,"LABEL_X":29.260657,"LABEL_Y":16.330746,"NE_ID":1159321229,"WIKIDATAID":"Q1049","NAME_AR":"السودان","NAME_BN":"সুদান","NAME_DE":"Sudan","NAME_EN":"Sudan","NAME_ES":"Sudán","NAME_FA":"سودان","NAME_FR":"Soudan","NAME_EL":"Σουδάν","NAME_HE":"סודאן","NAME_HI":"सूडान","NAME_HU":"Szudán","NAME_ID":"Sudan","NAME_IT":"Sudan","NAME_JA":"スーダン","NAME_KO":"수단","NAME_NL":"Soedan","NAME_PL":"Sudan","NAME_PT":"Sudão","NAME_RU":"Судан","NAME_SV":"Sudan","NAME_TR":"Sudan","NAME_UK":"Судан","NAME_UR":"سوڈان","NAME_VI":"Sudan","NAME_ZH":"苏丹","NAME_ZHT":"蘇丹","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[21.93681,8.229188,38.41009,22],"geometry":{"type":"Polygon","coordinates":[[[24.567369,8.229188],[23.805813,8.666319],[23.459013,8.954286],[23.394779,9.265068],[23.55725,9.681218],[23.554304,10.089255],[22.977544,10.714463],[22.864165,11.142395],[22.87622,11.38461],[22.50869,11.67936],[22.49762,12.26024],[22.28801,12.64605],[21.93681,12.58818],[22.03759,12.95546],[22.29658,13.37232],[22.18329,13.78648],[22.51202,14.09318],[22.30351,14.32682],[22.56795,14.94429],[23.02459,15.68072],[23.88689,15.61084],[23.83766,19.58047],[23.85,20],[25,20.00304],[25,22],[29.02,22],[32.9,22],[36.86623,22],[37.18872,21.01885],[36.96941,20.83744],[37.1147,19.80796],[37.48179,18.61409],[37.86276,18.36786],[38.41009,17.998307],[37.904,17.42754],[37.16747,17.26314],[36.85253,16.95655],[36.75389,16.29186],[36.32322,14.82249],[36.42951,14.42211],[36.27022,13.56333],[35.86363,12.57828],[35.26049,12.08286],[34.83163,11.31896],[34.73115,10.91017],[34.25745,10.63009],[33.96162,9.58358],[33.97498,8.68456],[33.963393,9.464285],[33.824963,9.484061],[33.842131,9.981915],[33.721959,10.325262],[33.206938,10.720112],[33.086766,11.441141],[33.206938,12.179338],[32.743419,12.248008],[32.67475,12.024832],[32.073892,11.97333],[32.314235,11.681484],[32.400072,11.080626],[31.850716,10.531271],[31.352862,9.810241],[30.837841,9.707237],[29.996639,10.290927],[29.618957,10.084919],[29.515953,9.793074],[29.000932,9.604232],[28.966597,9.398224],[27.97089,9.398224],[27.833551,9.604232],[27.112521,9.638567],[26.752006,9.466893],[26.477328,9.55273],[25.962307,10.136421],[25.790633,10.411099],[25.069604,10.27376],[24.794926,9.810241],[24.537415,8.917538],[24.194068,8.728696],[23.88698,8.61973],[24.567369,8.229188]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Chad","SOV_A3":"TCD","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Chad","ADM0_A3":"TCD","GEOU_DIF":0,"GEOUNIT":"Chad","GU_A3":"TCD","SU_DIF":0,"SUBUNIT":"Chad","SU_A3":"TCD","BRK_DIFF":0,"NAME":"Chad","NAME_LONG":"Chad","BRK_A3":"TCD","BRK_NAME":"Chad","BRK_GROUP":null,"ABBREV":"Chad","POSTAL":"TD","FORMAL_EN":"Republic of Chad","FORMAL_FR":null,"NAME_CIAWF":"Chad","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Chad","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":1,"MAPCOLOR9":8,"MAPCOLOR13":6,"POP_EST":15946876,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":11314,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"CD","ISO_A2":"TD","ISO_A2_EH":"TD","ISO_A3":"TCD","ISO_A3_EH":"TCD","ISO_N3":"148","ISO_N3_EH":"148","UN_A3":"148","WB_A2":"TD","WB_A3":"TCD","WOE_ID":23424777,"WOE_ID_EH":23424777,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"TCD","ADM0_DIFF":null,"ADM0_TLC":"TCD","ADM0_A3_US":"TCD","ADM0_A3_FR":"TCD","ADM0_A3_RU":"TCD","ADM0_A3_ES":"TCD","ADM0_A3_CN":"TCD","ADM0_A3_TW":"TCD","ADM0_A3_IN":"TCD","ADM0_A3_NP":"TCD","ADM0_A3_PK":"TCD","ADM0_A3_DE":"TCD","ADM0_A3_GB":"TCD","ADM0_A3_BR":"TCD","ADM0_A3_IL":"TCD","ADM0_A3_PS":"TCD","ADM0_A3_SA":"TCD","ADM0_A3_EG":"TCD","ADM0_A3_MA":"TCD","ADM0_A3_PT":"TCD","ADM0_A3_AR":"TCD","ADM0_A3_JP":"TCD","ADM0_A3_KO":"TCD","ADM0_A3_VN":"TCD","ADM0_A3_TR":"TCD","ADM0_A3_ID":"TCD","ADM0_A3_PL":"TCD","ADM0_A3_GR":"TCD","ADM0_A3_IT":"TCD","ADM0_A3_NL":"TCD","ADM0_A3_SE":"TCD","ADM0_A3_BD":"TCD","ADM0_A3_UA":"TCD","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Middle Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":4,"LONG_LEN":4,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":18.645041,"LABEL_Y":15.142959,"NE_ID":1159321301,"WIKIDATAID":"Q657","NAME_AR":"تشاد","NAME_BN":"চাদ","NAME_DE":"Tschad","NAME_EN":"Chad","NAME_ES":"Chad","NAME_FA":"چاد","NAME_FR":"Tchad","NAME_EL":"Τσαντ","NAME_HE":"צ'אד","NAME_HI":"चाड","NAME_HU":"Csád","NAME_ID":"Chad","NAME_IT":"Ciad","NAME_JA":"チャド","NAME_KO":"차드","NAME_NL":"Tsjaad","NAME_PL":"Czad","NAME_PT":"Chade","NAME_RU":"Чад","NAME_SV":"Tchad","NAME_TR":"Çad","NAME_UK":"Чад","NAME_UR":"چاڈ","NAME_VI":"Tchad","NAME_ZH":"乍得","NAME_ZHT":"查德","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[13.540394,7.421925,23.88689,23.40972],"geometry":{"type":"Polygon","coordinates":[[[23.83766,19.58047],[23.88689,15.61084],[23.02459,15.68072],[22.56795,14.94429],[22.30351,14.32682],[22.51202,14.09318],[22.18329,13.78648],[22.29658,13.37232],[22.03759,12.95546],[21.93681,12.58818],[22.28801,12.64605],[22.49762,12.26024],[22.50869,11.67936],[22.87622,11.38461],[22.864165,11.142395],[22.231129,10.971889],[21.723822,10.567056],[21.000868,9.475985],[20.059685,9.012706],[19.094008,9.074847],[18.81201,8.982915],[18.911022,8.630895],[18.389555,8.281304],[17.96493,7.890914],[16.705988,7.508328],[16.456185,7.734774],[16.290562,7.754307],[16.106232,7.497088],[15.27946,7.421925],[15.436092,7.692812],[15.120866,8.38215],[14.979996,8.796104],[14.544467,8.965861],[13.954218,9.549495],[14.171466,10.021378],[14.627201,9.920919],[14.909354,9.992129],[15.467873,9.982337],[14.923565,10.891325],[14.960152,11.555574],[14.89336,12.21905],[14.495787,12.859396],[14.595781,13.330427],[13.954477,13.353449],[13.956699,13.996691],[13.540394,14.367134],[13.97217,15.68437],[15.247731,16.627306],[15.300441,17.92795],[15.685741,19.95718],[15.903247,20.387619],[15.487148,20.730415],[15.47106,21.04845],[15.096888,21.308519],[14.8513,22.86295],[15.86085,23.40972],[19.84926,21.49509],[23.83766,19.58047]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Haiti","SOV_A3":"HTI","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Haiti","ADM0_A3":"HTI","GEOU_DIF":0,"GEOUNIT":"Haiti","GU_A3":"HTI","SU_DIF":0,"SUBUNIT":"Haiti","SU_A3":"HTI","BRK_DIFF":0,"NAME":"Haiti","NAME_LONG":"Haiti","BRK_A3":"HTI","BRK_NAME":"Haiti","BRK_GROUP":null,"ABBREV":"Haiti","POSTAL":"HT","FORMAL_EN":"Republic of Haiti","FORMAL_FR":null,"NAME_CIAWF":"Haiti","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Haiti","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":1,"MAPCOLOR9":7,"MAPCOLOR13":2,"POP_EST":11263077,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":14332,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"HA","ISO_A2":"HT","ISO_A2_EH":"HT","ISO_A3":"HTI","ISO_A3_EH":"HTI","ISO_N3":"332","ISO_N3_EH":"332","UN_A3":"332","WB_A2":"HT","WB_A3":"HTI","WOE_ID":23424839,"WOE_ID_EH":23424839,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"HTI","ADM0_DIFF":null,"ADM0_TLC":"HTI","ADM0_A3_US":"HTI","ADM0_A3_FR":"HTI","ADM0_A3_RU":"HTI","ADM0_A3_ES":"HTI","ADM0_A3_CN":"HTI","ADM0_A3_TW":"HTI","ADM0_A3_IN":"HTI","ADM0_A3_NP":"HTI","ADM0_A3_PK":"HTI","ADM0_A3_DE":"HTI","ADM0_A3_GB":"HTI","ADM0_A3_BR":"HTI","ADM0_A3_IL":"HTI","ADM0_A3_PS":"HTI","ADM0_A3_SA":"HTI","ADM0_A3_EG":"HTI","ADM0_A3_MA":"HTI","ADM0_A3_PT":"HTI","ADM0_A3_AR":"HTI","ADM0_A3_JP":"HTI","ADM0_A3_KO":"HTI","ADM0_A3_VN":"HTI","ADM0_A3_TR":"HTI","ADM0_A3_ID":"HTI","ADM0_A3_PL":"HTI","ADM0_A3_GR":"HTI","ADM0_A3_IT":"HTI","ADM0_A3_NL":"HTI","ADM0_A3_SE":"HTI","ADM0_A3_BD":"HTI","ADM0_A3_UA":"HTI","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":-72.224051,"LABEL_Y":19.263784,"NE_ID":1159320839,"WIKIDATAID":"Q790","NAME_AR":"هايتي","NAME_BN":"হাইতি","NAME_DE":"Haiti","NAME_EN":"Haiti","NAME_ES":"Haití","NAME_FA":"هائیتی","NAME_FR":"Haïti","NAME_EL":"Αϊτή","NAME_HE":"האיטי","NAME_HI":"हैती","NAME_HU":"Haiti","NAME_ID":"Haiti","NAME_IT":"Haiti","NAME_JA":"ハイチ","NAME_KO":"아이티","NAME_NL":"Haïti","NAME_PL":"Haiti","NAME_PT":"Haiti","NAME_RU":"Республика Гаити","NAME_SV":"Haiti","NAME_TR":"Haiti","NAME_UK":"Гаїті","NAME_UR":"ہیٹی","NAME_VI":"Haiti","NAME_ZH":"海地","NAME_ZHT":"海地","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-74.458034,18.030993,-71.624873,19.915684],"geometry":{"type":"Polygon","coordinates":[[[-71.712361,19.714456],[-71.624873,19.169838],[-71.701303,18.785417],[-71.945112,18.6169],[-71.687738,18.31666],[-71.708305,18.044997],[-72.372476,18.214961],[-72.844411,18.145611],[-73.454555,18.217906],[-73.922433,18.030993],[-74.458034,18.34255],[-74.369925,18.664908],[-73.449542,18.526053],[-72.694937,18.445799],[-72.334882,18.668422],[-72.79165,19.101625],[-72.784105,19.483591],[-73.415022,19.639551],[-73.189791,19.915684],[-72.579673,19.871501],[-71.712361,19.714456]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Dominican Republic","SOV_A3":"DOM","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Dominican Republic","ADM0_A3":"DOM","GEOU_DIF":0,"GEOUNIT":"Dominican Republic","GU_A3":"DOM","SU_DIF":0,"SUBUNIT":"Dominican Republic","SU_A3":"DOM","BRK_DIFF":0,"NAME":"Dominican Rep.","NAME_LONG":"Dominican Republic","BRK_A3":"DOM","BRK_NAME":"Dominican Rep.","BRK_GROUP":null,"ABBREV":"Dom. Rep.","POSTAL":"DO","FORMAL_EN":"Dominican Republic","FORMAL_FR":null,"NAME_CIAWF":"Dominican Republic","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Dominican Republic","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":2,"MAPCOLOR9":5,"MAPCOLOR13":7,"POP_EST":10738958,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":88941,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"DR","ISO_A2":"DO","ISO_A2_EH":"DO","ISO_A3":"DOM","ISO_A3_EH":"DOM","ISO_N3":"214","ISO_N3_EH":"214","UN_A3":"214","WB_A2":"DO","WB_A3":"DOM","WOE_ID":23424800,"WOE_ID_EH":23424800,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"DOM","ADM0_DIFF":null,"ADM0_TLC":"DOM","ADM0_A3_US":"DOM","ADM0_A3_FR":"DOM","ADM0_A3_RU":"DOM","ADM0_A3_ES":"DOM","ADM0_A3_CN":"DOM","ADM0_A3_TW":"DOM","ADM0_A3_IN":"DOM","ADM0_A3_NP":"DOM","ADM0_A3_PK":"DOM","ADM0_A3_DE":"DOM","ADM0_A3_GB":"DOM","ADM0_A3_BR":"DOM","ADM0_A3_IL":"DOM","ADM0_A3_PS":"DOM","ADM0_A3_SA":"DOM","ADM0_A3_EG":"DOM","ADM0_A3_MA":"DOM","ADM0_A3_PT":"DOM","ADM0_A3_AR":"DOM","ADM0_A3_JP":"DOM","ADM0_A3_KO":"DOM","ADM0_A3_VN":"DOM","ADM0_A3_TR":"DOM","ADM0_A3_ID":"DOM","ADM0_A3_PL":"DOM","ADM0_A3_GR":"DOM","ADM0_A3_IT":"DOM","ADM0_A3_NL":"DOM","ADM0_A3_SE":"DOM","ADM0_A3_BD":"DOM","ADM0_A3_UA":"DOM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":14,"LONG_LEN":18,"ABBREV_LEN":9,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4.5,"MAX_LABEL":9.5,"LABEL_X":-70.653998,"LABEL_Y":19.104137,"NE_ID":1159320563,"WIKIDATAID":"Q786","NAME_AR":"جمهورية الدومينيكان","NAME_BN":"ডোমিনিকান প্রজাতন্ত্র","NAME_DE":"Dominikanische Republik","NAME_EN":"Dominican Republic","NAME_ES":"República Dominicana","NAME_FA":"جمهوری دومینیکن","NAME_FR":"République dominicaine","NAME_EL":"Δομινικανή Δημοκρατία","NAME_HE":"הרפובליקה הדומיניקנית","NAME_HI":"डोमिनिकन गणराज्य","NAME_HU":"Dominikai Köztársaság","NAME_ID":"Republik Dominika","NAME_IT":"Repubblica Dominicana","NAME_JA":"ドミニカ共和国","NAME_KO":"도미니카 공화국","NAME_NL":"Dominicaanse Republiek","NAME_PL":"Dominikana","NAME_PT":"República Dominicana","NAME_RU":"Доминиканская Республика","NAME_SV":"Dominikanska republiken","NAME_TR":"Dominik Cumhuriyeti","NAME_UK":"Домініканська Республіка","NAME_UR":"جمہوریہ ڈومینیکن","NAME_VI":"Cộng hòa Dominica","NAME_ZH":"多米尼加","NAME_ZHT":"多明尼加","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-71.945112,17.598564,-68.317943,19.884911],"geometry":{"type":"Polygon","coordinates":[[[-71.708305,18.044997],[-71.687738,18.31666],[-71.945112,18.6169],[-71.701303,18.785417],[-71.624873,19.169838],[-71.712361,19.714456],[-71.587304,19.884911],[-70.806706,19.880286],[-70.214365,19.622885],[-69.950815,19.648],[-69.76925,19.293267],[-69.222126,19.313214],[-69.254346,19.015196],[-68.809412,18.979074],[-68.317943,18.612198],[-68.689316,18.205142],[-69.164946,18.422648],[-69.623988,18.380713],[-69.952934,18.428307],[-70.133233,18.245915],[-70.517137,18.184291],[-70.669298,18.426886],[-70.99995,18.283329],[-71.40021,17.598564],[-71.657662,17.757573],[-71.708305,18.044997]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Russia","SOV_A3":"RUS","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Russia","ADM0_A3":"RUS","GEOU_DIF":0,"GEOUNIT":"Russia","GU_A3":"RUS","SU_DIF":0,"SUBUNIT":"Russia","SU_A3":"RUS","BRK_DIFF":0,"NAME":"Russia","NAME_LONG":"Russian Federation","BRK_A3":"RUS","BRK_NAME":"Russia","BRK_GROUP":null,"ABBREV":"Rus.","POSTAL":"RUS","FORMAL_EN":"Russian Federation","FORMAL_FR":null,"NAME_CIAWF":"Russia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Russian Federation","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":5,"MAPCOLOR9":7,"MAPCOLOR13":7,"POP_EST":144373535,"POP_RANK":17,"POP_YEAR":2019,"GDP_MD":1699876,"GDP_YEAR":2019,"ECONOMY":"3. Emerging region: BRIC","INCOME_GRP":"3. Upper middle income","FIPS_10":"RS","ISO_A2":"RU","ISO_A2_EH":"RU","ISO_A3":"RUS","ISO_A3_EH":"RUS","ISO_N3":"643","ISO_N3_EH":"643","UN_A3":"643","WB_A2":"RU","WB_A3":"RUS","WOE_ID":23424936,"WOE_ID_EH":23424936,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"RUS","ADM0_DIFF":null,"ADM0_TLC":"RUS","ADM0_A3_US":"RUS","ADM0_A3_FR":"RUS","ADM0_A3_RU":"RUS","ADM0_A3_ES":"RUS","ADM0_A3_CN":"RUS","ADM0_A3_TW":"RUS","ADM0_A3_IN":"RUS","ADM0_A3_NP":"RUS","ADM0_A3_PK":"RUS","ADM0_A3_DE":"RUS","ADM0_A3_GB":"RUS","ADM0_A3_BR":"RUS","ADM0_A3_IL":"RUS","ADM0_A3_PS":"RUS","ADM0_A3_SA":"RUS","ADM0_A3_EG":"RUS","ADM0_A3_MA":"RUS","ADM0_A3_PT":"RUS","ADM0_A3_AR":"RUS","ADM0_A3_JP":"RUS","ADM0_A3_KO":"RUS","ADM0_A3_VN":"RUS","ADM0_A3_TR":"RUS","ADM0_A3_ID":"RUS","ADM0_A3_PL":"RUS","ADM0_A3_GR":"RUS","ADM0_A3_IT":"RUS","ADM0_A3_NL":"RUS","ADM0_A3_SE":"RUS","ADM0_A3_BD":"RUS","ADM0_A3_UA":"RUS","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Eastern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":6,"LONG_LEN":18,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":5.2,"LABEL_X":44.686469,"LABEL_Y":58.249357,"NE_ID":1159321201,"WIKIDATAID":"Q159","NAME_AR":"روسيا","NAME_BN":"রাশিয়া","NAME_DE":"Russland","NAME_EN":"Russia","NAME_ES":"Rusia","NAME_FA":"روسیه","NAME_FR":"Russie","NAME_EL":"Ρωσία","NAME_HE":"רוסיה","NAME_HI":"रूस","NAME_HU":"Oroszország","NAME_ID":"Rusia","NAME_IT":"Russia","NAME_JA":"ロシア","NAME_KO":"러시아","NAME_NL":"Rusland","NAME_PL":"Rosja","NAME_PT":"Rússia","NAME_RU":"Россия","NAME_SV":"Ryssland","NAME_TR":"Rusya","NAME_UK":"Росія","NAME_UR":"روس","NAME_VI":"Nga","NAME_ZH":"俄罗斯","NAME_ZHT":"俄羅斯","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-180,41.151416,180,81.2504],"geometry":{"type":"MultiPolygon","coordinates":[[[[178.7253,71.0988],[180,71.515714],[180,70.832199],[178.903425,70.78114],[178.7253,71.0988]]],[[[49.10116,46.39933],[48.64541,45.80629],[47.67591,45.64149],[46.68201,44.6092],[47.59094,43.66016],[47.49252,42.98658],[48.58437,41.80888],[48.584353,41.808869],[47.987283,41.405819],[47.815666,41.151416],[47.373315,41.219732],[46.686071,41.827137],[46.404951,41.860675],[45.7764,42.09244],[45.470279,42.502781],[44.537623,42.711993],[43.93121,42.55496],[43.75599,42.74083],[42.3944,43.2203],[40.92219,43.38215],[40.076965,43.553104],[39.955009,43.434998],[38.68,44.28],[37.53912,44.65721],[36.67546,45.24469],[37.40317,45.40451],[38.23295,46.24087],[37.67372,46.63657],[39.14767,47.04475],[39.1212,47.26336],[38.223538,47.10219],[38.255112,47.5464],[38.77057,47.82562],[39.738278,47.898937],[39.89562,48.23241],[39.67465,48.78382],[40.080789,49.30743],[40.06904,49.60105],[38.594988,49.926462],[38.010631,49.915662],[37.39346,50.383953],[36.626168,50.225591],[35.356116,50.577197],[35.37791,50.77394],[35.022183,51.207572],[34.224816,51.255993],[34.141978,51.566413],[34.391731,51.768882],[33.7527,52.335075],[32.715761,52.238465],[32.412058,52.288695],[32.15944,52.06125],[31.785992,52.101678],[31.78597,52.10168],[31.540018,52.742052],[31.305201,53.073996],[31.49764,53.16743],[32.304519,53.132726],[32.693643,53.351421],[32.405599,53.618045],[31.731273,53.794029],[31.791424,53.974639],[31.384472,54.157056],[30.757534,54.811771],[30.971836,55.081548],[30.873909,55.550976],[29.896294,55.789463],[29.371572,55.670091],[29.229513,55.918344],[28.176709,56.16913],[27.855282,56.759326],[27.770016,57.244258],[27.288185,57.474528],[27.716686,57.791899],[27.42015,58.72457],[28.131699,59.300825],[27.98112,59.47537],[27.981127,59.475373],[29.1177,60.02805],[28.070002,60.503519],[28.07,60.50352],[30.211107,61.780028],[31.139991,62.357693],[31.516092,62.867687],[30.035872,63.552814],[30.444685,64.204453],[29.54443,64.948672],[30.21765,65.80598],[29.054589,66.944286],[29.977426,67.698297],[28.445944,68.364613],[28.59193,69.064777],[29.39955,69.15692],[31.101042,69.558101],[31.10108,69.55811],[32.13272,69.90595],[33.77547,69.30142],[36.51396,69.06342],[40.29234,67.9324],[41.05987,67.45713],[41.12595,66.79158],[40.01583,66.26618],[38.38295,65.99953],[33.91871,66.75961],[33.18444,66.63253],[34.81477,65.90015],[34.878574,65.436213],[34.94391,64.41437],[36.23129,64.10945],[37.01273,63.84983],[37.14197,64.33471],[36.539579,64.76446],[37.17604,65.14322],[39.59345,64.52079],[40.4356,64.76446],[39.7626,65.49682],[42.09309,66.47623],[43.01604,66.41858],[43.94975,66.06908],[44.53226,66.75634],[43.69839,67.35245],[44.18795,67.95051],[43.45282,68.57079],[46.25,68.25],[46.82134,67.68997],[45.55517,67.56652],[45.56202,67.01005],[46.34915,66.66767],[47.89416,66.88455],[48.13876,67.52238],[50.22766,67.99867],[53.71743,68.85738],[54.47171,68.80815],[53.48582,68.20131],[54.72628,68.09702],[55.44268,68.43866],[57.31702,68.46628],[58.802,68.88082],[59.94142,68.27844],[61.07784,68.94069],[60.03,69.52],[60.55,69.85],[63.504,69.54739],[64.888115,69.234835],[68.51216,68.09233],[69.18068,68.61563],[68.16444,69.14436],[68.13522,69.35649],[66.93008,69.45461],[67.25976,69.92873],[66.72492,70.70889],[66.69466,71.02897],[68.54006,71.9345],[69.19636,72.84336],[69.94,73.04],[72.58754,72.77629],[72.79603,72.22006],[71.84811,71.40898],[72.47011,71.09019],[72.79188,70.39114],[72.5647,69.02085],[73.66787,68.4079],[73.2387,67.7404],[71.28,66.32],[72.42301,66.17267],[72.82077,66.53267],[73.92099,66.78946],[74.18651,67.28429],[75.052,67.76047],[74.46926,68.32899],[74.93584,68.98918],[73.84236,69.07146],[73.60187,69.62763],[74.3998,70.63175],[73.1011,71.44717],[74.89082,72.12119],[74.65926,72.83227],[75.15801,72.85497],[75.68351,72.30056],[75.28898,71.33556],[76.35911,71.15287],[75.90313,71.87401],[77.57665,72.26717],[79.65202,72.32011],[81.5,71.75],[80.61071,72.58285],[80.51109,73.6482],[82.25,73.85],[84.65526,73.80591],[86.8223,73.93688],[86.00956,74.45967],[87.16682,75.11643],[88.31571,75.14393],[90.26,75.64],[92.90058,75.77333],[93.23421,76.0472],[95.86,76.14],[96.67821,75.91548],[98.92254,76.44689],[100.75967,76.43028],[101.03532,76.86189],[101.99084,77.28754],[104.3516,77.69792],[106.06664,77.37389],[104.705,77.1274],[106.97013,76.97419],[107.24,76.48],[108.1538,76.72335],[111.07726,76.71],[113.33151,76.22224],[114.13417,75.84764],[113.88539,75.32779],[112.77918,75.03186],[110.15125,74.47673],[109.4,74.18],[110.64,74.04],[112.11919,73.78774],[113.01954,73.97693],[113.52958,73.33505],[113.96881,73.59488],[115.56782,73.75285],[118.77633,73.58772],[119.02,73.12],[123.20066,72.97122],[123.25777,73.73503],[125.38,73.56],[126.97644,73.56549],[128.59126,73.03871],[129.05157,72.39872],[128.46,71.98],[129.71599,71.19304],[131.28858,70.78699],[132.2535,71.8363],[133.85766,71.38642],[135.56193,71.65525],[137.49755,71.34763],[138.23409,71.62803],[139.86983,71.48783],[139.14791,72.41619],[140.46817,72.84941],[149.5,72.2],[150.35118,71.60643],[152.9689,70.84222],[157.00688,71.03141],[158.99779,70.86672],[159.83031,70.45324],[159.70866,69.72198],[160.94053,69.43728],[162.27907,69.64204],[164.05248,69.66823],[165.94037,69.47199],[167.83567,69.58269],[169.57763,68.6938],[170.81688,69.01363],[170.0082,69.65276],[170.45345,70.09703],[173.64391,69.81743],[175.72403,69.87725],[178.6,69.4],[180,68.963636],[180,64.979709],[179.99281,64.97433],[178.7072,64.53493],[177.41128,64.60821],[178.313,64.07593],[178.90825,63.25197],[179.37034,62.98262],[179.48636,62.56894],[179.22825,62.3041],[177.3643,62.5219],[174.56929,61.76915],[173.68013,61.65261],[172.15,60.95],[170.6985,60.33618],[170.33085,59.88177],[168.90046,60.57355],[166.29498,59.78855],[165.84,60.16],[164.87674,59.7316],[163.53929,59.86871],[163.21711,59.21101],[162.01733,58.24328],[162.05297,57.83912],[163.19191,57.61503],[163.05794,56.15924],[162.12958,56.12219],[161.70146,55.28568],[162.11749,54.85514],[160.36877,54.34433],[160.02173,53.20257],[158.53094,52.95868],[158.23118,51.94269],[156.78979,51.01105],[156.42,51.7],[155.99182,53.15895],[155.43366,55.38103],[155.91442,56.76792],[156.75815,57.3647],[156.81035,57.83204],[158.36433,58.05575],[160.15064,59.31477],[161.87204,60.343],[163.66969,61.1409],[164.47355,62.55061],[163.25842,62.46627],[162.65791,61.6425],[160.12148,60.54423],[159.30232,61.77396],[156.72068,61.43442],[154.21806,59.75818],[155.04375,59.14495],[152.81185,58.88385],[151.26573,58.78089],[151.33815,59.50396],[149.78371,59.65573],[148.54481,59.16448],[145.48722,59.33637],[142.19782,59.03998],[138.95848,57.08805],[135.12619,54.72959],[136.70171,54.60355],[137.19342,53.97732],[138.1647,53.75501],[138.80463,54.25455],[139.90151,54.18968],[141.34531,53.08957],[141.37923,52.23877],[140.59742,51.23967],[140.51308,50.04553],[140.06193,48.44671],[138.55472,46.99965],[138.21971,46.30795],[136.86232,45.1435],[135.51535,43.989],[134.86939,43.39821],[133.53687,42.81147],[132.90627,42.79849],[132.27807,43.28456],[130.93587,42.55274],[130.780005,42.22001],[130.780004,42.220008],[130.78,42.22],[130.779992,42.22001],[130.64,42.395],[130.64,42.395024],[130.633866,42.903015],[131.144688,42.92999],[131.288555,44.11152],[131.02519,44.96796],[131.883454,45.321162],[133.09712,45.14409],[133.769644,46.116927],[134.11235,47.21248],[134.50081,47.57845],[135.026311,48.47823],[133.373596,48.183442],[132.50669,47.78896],[130.98726,47.79013],[130.582293,48.729687],[129.397818,49.4406],[127.6574,49.76027],[127.287456,50.739797],[126.939157,51.353894],[126.564399,51.784255],[125.946349,52.792799],[125.068211,53.161045],[123.57147,53.4588],[122.245748,53.431726],[121.003085,53.251401],[120.177089,52.753886],[120.725789,52.516226],[120.7382,51.96411],[120.18208,51.64355],[119.27939,50.58292],[119.288461,50.142883],[117.879244,49.510983],[116.678801,49.888531],[115.485695,49.805177],[114.96211,50.140247],[114.362456,50.248303],[112.89774,49.543565],[111.581231,49.377968],[110.662011,49.130128],[109.402449,49.292961],[108.475167,49.282548],[107.868176,49.793705],[106.888804,50.274296],[105.886591,50.406019],[104.62158,50.27532],[103.676545,50.089966],[102.25589,50.51056],[102.06521,51.25991],[100.88948,51.516856],[99.981732,51.634006],[98.861491,52.047366],[97.82574,51.010995],[98.231762,50.422401],[97.25976,49.72605],[95.81402,49.97746],[94.815949,50.013433],[94.147566,50.480537],[93.10421,50.49529],[92.234712,50.802171],[90.713667,50.331812],[88.805567,49.470521],[87.751264,49.297198],[87.35997,49.214981],[86.829357,49.826675],[85.54127,49.692859],[85.11556,50.117303],[84.416377,50.3114],[83.935115,50.889246],[83.383004,51.069183],[81.945986,50.812196],[80.568447,51.388336],[80.03556,50.864751],[77.800916,53.404415],[76.525179,54.177003],[76.8911,54.490524],[74.38482,53.54685],[73.425679,53.48981],[73.508516,54.035617],[72.22415,54.376655],[71.180131,54.133285],[70.865267,55.169734],[69.068167,55.38525],[68.1691,54.970392],[65.66687,54.60125],[65.178534,54.354228],[61.4366,54.00625],[60.978066,53.664993],[61.699986,52.979996],[60.739993,52.719986],[60.927269,52.447548],[59.967534,51.96042],[61.588003,51.272659],[61.337424,50.79907],[59.932807,50.842194],[59.642282,50.545442],[58.36332,51.06364],[56.77798,51.04355],[55.71694,50.62171],[54.532878,51.02624],[52.328724,51.718652],[50.766648,51.692762],[48.702382,50.605128],[48.577841,49.87476],[47.54948,50.454698],[46.751596,49.356006],[47.043672,49.152039],[46.466446,48.394152],[47.31524,47.71585],[48.05725,47.74377],[48.694734,47.075628],[48.59325,46.56104],[49.10116,46.39933]]],[[[93.77766,81.0246],[95.940895,81.2504],[97.88385,80.746975],[100.186655,79.780135],[99.93976,78.88094],[97.75794,78.7562],[94.97259,79.044745],[93.31288,79.4265],[92.5454,80.14379],[91.18107,80.34146],[93.77766,81.0246]]],[[[102.837815,79.28129],[105.37243,78.71334],[105.07547,78.30689],[99.43814,77.921],[101.2649,79.23399],[102.08635,79.34641],[102.837815,79.28129]]],[[[138.831075,76.13676],[141.471615,76.09289],[145.086285,75.562625],[144.3,74.82],[140.61381,74.84768],[138.95544,74.61148],[136.97439,75.26167],[137.51176,75.94917],[138.831075,76.13676]]],[[[148.22223,75.345845],[150.73167,75.08406],[149.575925,74.68892],[147.977465,74.778355],[146.11919,75.17298],[146.358485,75.49682],[148.22223,75.345845]]],[[[139.86312,73.36983],[140.81171,73.76506],[142.06207,73.85758],[143.48283,73.47525],[143.60385,73.21244],[142.08763,73.20544],[140.038155,73.31692],[139.86312,73.36983]]],[[[44.846958,80.58981],[46.799139,80.771918],[48.318477,80.78401],[48.522806,80.514569],[49.09719,80.753986],[50.039768,80.918885],[51.522933,80.699726],[51.136187,80.54728],[49.793685,80.415428],[48.894411,80.339567],[48.754937,80.175468],[47.586119,80.010181],[46.502826,80.247247],[47.072455,80.559424],[44.846958,80.58981]]],[[[22.731099,54.327537],[20.892245,54.312525],[19.66064,54.426084],[19.888481,54.86616],[21.268449,55.190482],[22.315724,55.015299],[22.757764,54.856574],[22.651052,54.582741],[22.731099,54.327537]]],[[[53.50829,73.749814],[55.902459,74.627486],[55.631933,75.081412],[57.868644,75.60939],[61.170044,76.251883],[64.498368,76.439055],[66.210977,76.809782],[68.15706,76.939697],[68.852211,76.544811],[68.180573,76.233642],[64.637326,75.737755],[61.583508,75.260885],[58.477082,74.309056],[56.986786,73.333044],[55.419336,72.371268],[55.622838,71.540595],[57.535693,70.720464],[56.944979,70.632743],[53.677375,70.762658],[53.412017,71.206662],[51.601895,71.474759],[51.455754,72.014881],[52.478275,72.229442],[52.444169,72.774731],[54.427614,73.627548],[53.50829,73.749814]]],[[[142.914616,53.704578],[143.260848,52.74076],[143.235268,51.75666],[143.648007,50.7476],[144.654148,48.976391],[143.173928,49.306551],[142.558668,47.861575],[143.533492,46.836728],[143.505277,46.137908],[142.747701,46.740765],[142.09203,45.966755],[141.906925,46.805929],[142.018443,47.780133],[141.904445,48.859189],[142.1358,49.615163],[142.179983,50.952342],[141.594076,51.935435],[141.682546,53.301966],[142.606934,53.762145],[142.209749,54.225476],[142.654786,54.365881],[142.914616,53.704578]]],[[[-174.92825,67.20589],[-175.01425,66.58435],[-174.33983,66.33556],[-174.57182,67.06219],[-171.85731,66.91308],[-169.89958,65.97724],[-170.89107,65.54139],[-172.53025,65.43791],[-172.555,64.46079],[-172.95533,64.25269],[-173.89184,64.2826],[-174.65392,64.63125],[-175.98353,64.92288],[-176.20716,65.35667],[-177.22266,65.52024],[-178.35993,65.39052],[-178.90332,65.74044],[-178.68611,66.11211],[-179.88377,65.87456],[-179.43268,65.40411],[-180,64.979709],[-180,68.963636],[-177.55,68.2],[-174.92825,67.20589]]],[[[-178.69378,70.89302],[-180,70.832199],[-180,71.515714],[-179.871875,71.55762],[-179.02433,71.55553],[-177.577945,71.26948],[-177.663575,71.13277],[-178.69378,70.89302]]],[[[33.435988,45.971917],[33.699462,46.219573],[34.410402,46.005162],[34.732017,45.965666],[34.861792,45.768182],[35.012659,45.737725],[35.020788,45.651219],[35.510009,45.409993],[36.529998,45.46999],[36.334713,45.113216],[35.239999,44.939996],[33.882511,44.361479],[33.326421,44.564877],[33.546924,45.034771],[32.454174,45.327466],[32.630804,45.519186],[33.588162,45.851569],[33.435988,45.971917]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"The Bahamas","SOV_A3":"BHS","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"The Bahamas","ADM0_A3":"BHS","GEOU_DIF":0,"GEOUNIT":"The Bahamas","GU_A3":"BHS","SU_DIF":0,"SUBUNIT":"The Bahamas","SU_A3":"BHS","BRK_DIFF":0,"NAME":"Bahamas","NAME_LONG":"Bahamas","BRK_A3":"BHS","BRK_NAME":"Bahamas","BRK_GROUP":null,"ABBREV":"Bhs.","POSTAL":"BS","FORMAL_EN":"Commonwealth of the Bahamas","FORMAL_FR":null,"NAME_CIAWF":"Bahamas, The","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Bahamas, The","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":1,"MAPCOLOR9":2,"MAPCOLOR13":5,"POP_EST":389482,"POP_RANK":10,"POP_YEAR":2019,"GDP_MD":13578,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"BF","ISO_A2":"BS","ISO_A2_EH":"BS","ISO_A3":"BHS","ISO_A3_EH":"BHS","ISO_N3":"044","ISO_N3_EH":"044","UN_A3":"044","WB_A2":"BS","WB_A3":"BHS","WOE_ID":23424758,"WOE_ID_EH":23424758,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BHS","ADM0_DIFF":null,"ADM0_TLC":"BHS","ADM0_A3_US":"BHS","ADM0_A3_FR":"BHS","ADM0_A3_RU":"BHS","ADM0_A3_ES":"BHS","ADM0_A3_CN":"BHS","ADM0_A3_TW":"BHS","ADM0_A3_IN":"BHS","ADM0_A3_NP":"BHS","ADM0_A3_PK":"BHS","ADM0_A3_DE":"BHS","ADM0_A3_GB":"BHS","ADM0_A3_BR":"BHS","ADM0_A3_IL":"BHS","ADM0_A3_PS":"BHS","ADM0_A3_SA":"BHS","ADM0_A3_EG":"BHS","ADM0_A3_MA":"BHS","ADM0_A3_PT":"BHS","ADM0_A3_AR":"BHS","ADM0_A3_JP":"BHS","ADM0_A3_KO":"BHS","ADM0_A3_VN":"BHS","ADM0_A3_TR":"BHS","ADM0_A3_ID":"BHS","ADM0_A3_PL":"BHS","ADM0_A3_GR":"BHS","ADM0_A3_IT":"BHS","ADM0_A3_NL":"BHS","ADM0_A3_SE":"BHS","ADM0_A3_BD":"BHS","ADM0_A3_UA":"BHS","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":-77.146688,"LABEL_Y":26.401789,"NE_ID":1159320415,"WIKIDATAID":"Q778","NAME_AR":"باهاماس","NAME_BN":"বাহামা দ্বীপপুঞ্জ","NAME_DE":"Bahamas","NAME_EN":"The Bahamas","NAME_ES":"Bahamas","NAME_FA":"باهاما","NAME_FR":"Bahamas","NAME_EL":"Μπαχάμες","NAME_HE":"איי בהאמה","NAME_HI":"बहामास","NAME_HU":"Bahama-szigetek","NAME_ID":"Bahama","NAME_IT":"Bahamas","NAME_JA":"バハマ","NAME_KO":"바하마","NAME_NL":"Bahama's","NAME_PL":"Bahamy","NAME_PT":"Bahamas","NAME_RU":"Багамские Острова","NAME_SV":"Bahamas","NAME_TR":"Bahamalar","NAME_UK":"Багамські Острови","NAME_UR":"بہاماس","NAME_VI":"Bahamas","NAME_ZH":"巴哈马","NAME_ZHT":"巴哈馬","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-78.98,23.71,-77,27.04],"geometry":{"type":"MultiPolygon","coordinates":[[[[-78.98,26.79],[-78.51,26.87],[-77.85,26.84],[-77.82,26.58],[-78.91,26.42],[-78.98,26.79]]],[[[-77.79,27.04],[-77,26.59],[-77.17255,25.87918],[-77.35641,26.00735],[-77.34,26.53],[-77.78802,26.92516],[-77.79,27.04]]],[[[-78.19087,25.2103],[-77.89,25.17],[-77.54,24.34],[-77.53466,23.75975],[-77.78,23.71],[-78.03405,24.28615],[-78.40848,24.57564],[-78.19087,25.2103]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"United Kingdom","SOV_A3":"GB1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Disputed","TLC":"1","ADMIN":"Falkland Islands","ADM0_A3":"FLK","GEOU_DIF":0,"GEOUNIT":"Falkland Islands","GU_A3":"FLK","SU_DIF":0,"SUBUNIT":"Falkland Islands","SU_A3":"FLK","BRK_DIFF":1,"NAME":"Falkland Is.","NAME_LONG":"Falkland Islands / Malvinas","BRK_A3":"B12","BRK_NAME":"Falkland Is.","BRK_GROUP":null,"ABBREV":"Flk. Is.","POSTAL":"FK","FORMAL_EN":"Falkland Islands","FORMAL_FR":null,"NAME_CIAWF":"Falkland Islands (Islas Malvinas)","NOTE_ADM0":"U.K.","NOTE_BRK":"Admin. by U.K.; Claimed by Argentina","NAME_SORT":"Falkland Islands","NAME_ALT":"Islas Malvinas","MAPCOLOR7":6,"MAPCOLOR8":6,"MAPCOLOR9":6,"MAPCOLOR13":3,"POP_EST":3398,"POP_RANK":4,"POP_YEAR":2016,"GDP_MD":282,"GDP_YEAR":2012,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"FK","ISO_A2":"FK","ISO_A2_EH":"FK","ISO_A3":"FLK","ISO_A3_EH":"FLK","ISO_N3":"238","ISO_N3_EH":"238","UN_A3":"238","WB_A2":"-99","WB_A3":"-99","WOE_ID":23424814,"WOE_ID_EH":23424814,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"B12","ADM0_DIFF":null,"ADM0_TLC":"B12","ADM0_A3_US":"FLK","ADM0_A3_FR":"FLK","ADM0_A3_RU":"FLK","ADM0_A3_ES":"FLK","ADM0_A3_CN":"FLK","ADM0_A3_TW":"FLK","ADM0_A3_IN":"FLK","ADM0_A3_NP":"FLK","ADM0_A3_PK":"FLK","ADM0_A3_DE":"FLK","ADM0_A3_GB":"FLK","ADM0_A3_BR":"FLK","ADM0_A3_IL":"FLK","ADM0_A3_PS":"FLK","ADM0_A3_SA":"FLK","ADM0_A3_EG":"FLK","ADM0_A3_MA":"FLK","ADM0_A3_PT":"FLK","ADM0_A3_AR":"ARG","ADM0_A3_JP":"FLK","ADM0_A3_KO":"FLK","ADM0_A3_VN":"FLK","ADM0_A3_TR":"FLK","ADM0_A3_ID":"FLK","ADM0_A3_PL":"FLK","ADM0_A3_GR":"FLK","ADM0_A3_IT":"FLK","ADM0_A3_NL":"FLK","ADM0_A3_SE":"FLK","ADM0_A3_BD":"FLK","ADM0_A3_UA":"FLK","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"South America","REGION_UN":"Americas","SUBREGION":"South America","REGION_WB":"Latin America & Caribbean","NAME_LEN":12,"LONG_LEN":27,"ABBREV_LEN":8,"TINY":-99,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":4.5,"MAX_LABEL":9,"LABEL_X":-58.738602,"LABEL_Y":-51.608913,"NE_ID":1159320711,"WIKIDATAID":"Q9648","NAME_AR":"جزر فوكلاند","NAME_BN":"ফকল্যান্ড দ্বীপপুঞ্জ","NAME_DE":"Falklandinseln","NAME_EN":"Falkland Islands","NAME_ES":"Islas Malvinas","NAME_FA":"جزایر فالکلند","NAME_FR":"îles Malouines","NAME_EL":"Νήσοι Φώκλαντ","NAME_HE":"איי פוקלנד","NAME_HI":"फ़ॉकलैंड द्वीपसमूह","NAME_HU":"Falkland-szigetek","NAME_ID":"Kepulauan Falkland","NAME_IT":"Isole Falkland","NAME_JA":"フォークランド諸島","NAME_KO":"포클랜드 제도","NAME_NL":"Falklandeilanden","NAME_PL":"Falklandy","NAME_PT":"Ilhas Malvinas","NAME_RU":"Фолклендские острова","NAME_SV":"Falklandsöarna","NAME_TR":"Falkland Adaları","NAME_UK":"Фолклендські острови","NAME_UR":"جزائر فاکلینڈ","NAME_VI":"Quần đảo Falkland","NAME_ZH":"福克兰群岛","NAME_ZHT":"福克蘭群島","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":"Unrecognized","FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-61.2,-52.3,-57.75,-51.1],"geometry":{"type":"Polygon","coordinates":[[[-61.2,-51.85],[-60,-51.25],[-59.15,-51.5],[-58.55,-51.1],[-57.75,-51.55],[-58.05,-51.9],[-59.4,-52.2],[-59.85,-51.85],[-60.7,-52.3],[-61.2,-51.85]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Norway","SOV_A3":"NOR","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":null,"ADMIN":"Norway","ADM0_A3":"NOR","GEOU_DIF":0,"GEOUNIT":"Norway","GU_A3":"NOR","SU_DIF":0,"SUBUNIT":"Norway","SU_A3":"NOR","BRK_DIFF":0,"NAME":"Norway","NAME_LONG":"Norway","BRK_A3":"NOR","BRK_NAME":"Norway","BRK_GROUP":null,"ABBREV":"Nor.","POSTAL":"N","FORMAL_EN":"Kingdom of Norway","FORMAL_FR":null,"NAME_CIAWF":"Norway","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Norway","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":3,"MAPCOLOR9":8,"MAPCOLOR13":12,"POP_EST":5347896,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":403336,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"-99","ISO_A2":"-99","ISO_A2_EH":"NO","ISO_A3":"-99","ISO_A3_EH":"NOR","ISO_N3":"-99","ISO_N3_EH":"578","UN_A3":"-99","WB_A2":"-99","WB_A3":"-99","WOE_ID":-90,"WOE_ID_EH":23424910,"WOE_NOTE":"Does not include Svalbard, Jan Mayen, or Bouvet Islands (28289410).","ADM0_ISO":"NOR","ADM0_DIFF":null,"ADM0_TLC":"NOR","ADM0_A3_US":"NOR","ADM0_A3_FR":"NOR","ADM0_A3_RU":"NOR","ADM0_A3_ES":"NOR","ADM0_A3_CN":"NOR","ADM0_A3_TW":"NOR","ADM0_A3_IN":"NOR","ADM0_A3_NP":"NOR","ADM0_A3_PK":"NOR","ADM0_A3_DE":"NOR","ADM0_A3_GB":"NOR","ADM0_A3_BR":"NOR","ADM0_A3_IL":"NOR","ADM0_A3_PS":"NOR","ADM0_A3_SA":"NOR","ADM0_A3_EG":"NOR","ADM0_A3_MA":"NOR","ADM0_A3_PT":"NOR","ADM0_A3_AR":"NOR","ADM0_A3_JP":"NOR","ADM0_A3_KO":"NOR","ADM0_A3_VN":"NOR","ADM0_A3_TR":"NOR","ADM0_A3_ID":"NOR","ADM0_A3_PL":"NOR","ADM0_A3_GR":"NOR","ADM0_A3_IT":"NOR","ADM0_A3_NL":"NOR","ADM0_A3_SE":"NOR","ADM0_A3_BD":"NOR","ADM0_A3_UA":"NOR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Northern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":7,"LABEL_X":9.679975,"LABEL_Y":61.357092,"NE_ID":1159321109,"WIKIDATAID":"Q20","NAME_AR":"النرويج","NAME_BN":"নরওয়ে","NAME_DE":"Norwegen","NAME_EN":"Norway","NAME_ES":"Noruega","NAME_FA":"نروژ","NAME_FR":"Norvège","NAME_EL":"Νορβηγία","NAME_HE":"נורווגיה","NAME_HI":"नॉर्वे","NAME_HU":"Norvégia","NAME_ID":"Norwegia","NAME_IT":"Norvegia","NAME_JA":"ノルウェー","NAME_KO":"노르웨이","NAME_NL":"Noorwegen","NAME_PL":"Norwegia","NAME_PT":"Noruega","NAME_RU":"Норвегия","NAME_SV":"Norge","NAME_TR":"Norveç","NAME_UK":"Норвегія","NAME_UR":"ناروے","NAME_VI":"Na Uy","NAME_ZH":"挪威","NAME_ZHT":"挪威","FCLASS_ISO":"Unrecognized","TLC_DIFF":null,"FCLASS_TLC":"Unrecognized","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[4.992078,58.078884,31.293418,80.657144],"geometry":{"type":"MultiPolygon","coordinates":[[[[15.14282,79.67431],[15.52255,80.01608],[16.99085,80.05086],[18.25183,79.70175],[21.54383,78.95611],[19.02737,78.5626],[18.47172,77.82669],[17.59441,77.63796],[17.1182,76.80941],[15.91315,76.77045],[13.76259,77.38035],[14.66956,77.73565],[13.1706,78.02493],[11.22231,78.8693],[10.44453,79.65239],[13.17077,80.01046],[13.71852,79.66039],[15.14282,79.67431]]],[[[31.101042,69.558101],[29.39955,69.15692],[28.59193,69.064777],[29.015573,69.766491],[27.732292,70.164193],[26.179622,69.825299],[25.689213,69.092114],[24.735679,68.649557],[23.66205,68.891247],[22.356238,68.841741],[21.244936,69.370443],[20.645593,69.106247],[20.025269,69.065139],[19.87856,68.407194],[17.993868,68.567391],[17.729182,68.010552],[16.768879,68.013937],[16.108712,67.302456],[15.108411,66.193867],[13.55569,64.787028],[13.919905,64.445421],[13.571916,64.049114],[12.579935,64.066219],[11.930569,63.128318],[11.992064,61.800362],[12.631147,61.293572],[12.300366,60.117933],[11.468272,59.432393],[11.027369,58.856149],[10.356557,59.469807],[8.382,58.313288],[7.048748,58.078884],[5.665835,58.588155],[5.308234,59.663232],[4.992078,61.970998],[5.9129,62.614473],[8.553411,63.454008],[10.527709,64.486038],[12.358347,65.879726],[14.761146,67.810642],[16.435927,68.563205],[19.184028,69.817444],[21.378416,70.255169],[23.023742,70.202072],[24.546543,71.030497],[26.37005,70.986262],[28.165547,71.185474],[31.293418,70.453788],[30.005435,70.186259],[31.101042,69.558101]]],[[[27.407506,80.056406],[25.924651,79.517834],[23.024466,79.400012],[20.075188,79.566823],[19.897266,79.842362],[18.462264,79.85988],[17.368015,80.318896],[20.455992,80.598156],[21.907945,80.357679],[22.919253,80.657144],[25.447625,80.40734],[27.407506,80.056406]]],[[[24.72412,77.85385],[22.49032,77.44493],[20.72601,77.67704],[21.41611,77.93504],[20.8119,78.25463],[22.88426,78.45494],[23.28134,78.07954],[24.72412,77.85385]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Denmark","SOV_A3":"DN1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Country","TLC":"1","ADMIN":"Greenland","ADM0_A3":"GRL","GEOU_DIF":0,"GEOUNIT":"Greenland","GU_A3":"GRL","SU_DIF":0,"SUBUNIT":"Greenland","SU_A3":"GRL","BRK_DIFF":0,"NAME":"Greenland","NAME_LONG":"Greenland","BRK_A3":"GRL","BRK_NAME":"Greenland","BRK_GROUP":null,"ABBREV":"Grlnd.","POSTAL":"GL","FORMAL_EN":"Greenland","FORMAL_FR":null,"NAME_CIAWF":"Greenland","NOTE_ADM0":"Den.","NOTE_BRK":null,"NAME_SORT":"Greenland","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":1,"MAPCOLOR9":3,"MAPCOLOR13":12,"POP_EST":56225,"POP_RANK":8,"POP_YEAR":2019,"GDP_MD":3051,"GDP_YEAR":2018,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"GL","ISO_A2":"GL","ISO_A2_EH":"GL","ISO_A3":"GRL","ISO_A3_EH":"GRL","ISO_N3":"304","ISO_N3_EH":"304","UN_A3":"304","WB_A2":"GL","WB_A3":"GRL","WOE_ID":23424828,"WOE_ID_EH":23424828,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"GRL","ADM0_DIFF":null,"ADM0_TLC":"GRL","ADM0_A3_US":"GRL","ADM0_A3_FR":"GRL","ADM0_A3_RU":"GRL","ADM0_A3_ES":"GRL","ADM0_A3_CN":"GRL","ADM0_A3_TW":"GRL","ADM0_A3_IN":"GRL","ADM0_A3_NP":"GRL","ADM0_A3_PK":"GRL","ADM0_A3_DE":"GRL","ADM0_A3_GB":"GRL","ADM0_A3_BR":"GRL","ADM0_A3_IL":"GRL","ADM0_A3_PS":"GRL","ADM0_A3_SA":"GRL","ADM0_A3_EG":"GRL","ADM0_A3_MA":"GRL","ADM0_A3_PT":"GRL","ADM0_A3_AR":"GRL","ADM0_A3_JP":"GRL","ADM0_A3_KO":"GRL","ADM0_A3_VN":"GRL","ADM0_A3_TR":"GRL","ADM0_A3_ID":"GRL","ADM0_A3_PL":"GRL","ADM0_A3_GR":"GRL","ADM0_A3_IT":"GRL","ADM0_A3_NL":"GRL","ADM0_A3_SE":"GRL","ADM0_A3_BD":"GRL","ADM0_A3_UA":"GRL","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Northern America","REGION_WB":"Europe & Central Asia","NAME_LEN":9,"LONG_LEN":9,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":6.7,"LABEL_X":-39.335251,"LABEL_Y":74.319387,"NE_ID":1159320551,"WIKIDATAID":"Q223","NAME_AR":"جرينلاند","NAME_BN":"গ্রিনল্যান্ড","NAME_DE":"Grönland","NAME_EN":"Greenland","NAME_ES":"Groenlandia","NAME_FA":"گرینلند","NAME_FR":"Groenland","NAME_EL":"Γροιλανδία","NAME_HE":"גרינלנד","NAME_HI":"ग्रीनलैण्ड","NAME_HU":"Grönland","NAME_ID":"Greenland","NAME_IT":"Groenlandia","NAME_JA":"グリーンランド","NAME_KO":"그린란드","NAME_NL":"Groenland","NAME_PL":"Grenlandia","NAME_PT":"Groenlândia","NAME_RU":"Гренландия","NAME_SV":"Grönland","NAME_TR":"Grönland","NAME_UK":"Гренландія","NAME_UR":"گرین لینڈ","NAME_VI":"Greenland","NAME_ZH":"格陵兰","NAME_ZHT":"格陵蘭","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-73.297,60.03676,-12.20855,83.64513],"geometry":{"type":"Polygon","coordinates":[[[-46.76379,82.62796],[-43.40644,83.22516],[-39.89753,83.18018],[-38.62214,83.54905],[-35.08787,83.64513],[-27.10046,83.51966],[-20.84539,82.72669],[-22.69182,82.34165],[-26.51753,82.29765],[-31.9,82.2],[-31.39646,82.02154],[-27.85666,82.13178],[-24.84448,81.78697],[-22.90328,82.09317],[-22.07175,81.73449],[-23.16961,81.15271],[-20.62363,81.52462],[-15.76818,81.91245],[-12.77018,81.71885],[-12.20855,81.29154],[-16.28533,80.58004],[-16.85,80.35],[-20.04624,80.17708],[-17.73035,80.12912],[-18.9,79.4],[-19.70499,78.75128],[-19.67353,77.63859],[-18.47285,76.98565],[-20.03503,76.94434],[-21.67944,76.62795],[-19.83407,76.09808],[-19.59896,75.24838],[-20.66818,75.15585],[-19.37281,74.29561],[-21.59422,74.22382],[-20.43454,73.81713],[-20.76234,73.46436],[-22.17221,73.30955],[-23.56593,73.30663],[-22.31311,72.62928],[-22.29954,72.18409],[-24.27834,72.59788],[-24.79296,72.3302],[-23.44296,72.08016],[-22.13281,71.46898],[-21.75356,70.66369],[-23.53603,70.471],[-24.30702,70.85649],[-25.54341,71.43094],[-25.20135,70.75226],[-26.36276,70.22646],[-23.72742,70.18401],[-22.34902,70.12946],[-25.02927,69.2588],[-27.74737,68.47046],[-30.67371,68.12503],[-31.77665,68.12078],[-32.81105,67.73547],[-34.20196,66.67974],[-36.35284,65.9789],[-37.04378,65.93768],[-38.37505,65.69213],[-39.81222,65.45848],[-40.66899,64.83997],[-40.68281,64.13902],[-41.1887,63.48246],[-42.81938,62.68233],[-42.41666,61.90093],[-42.86619,61.07404],[-43.3784,60.09772],[-44.7875,60.03676],[-46.26364,60.85328],[-48.26294,60.85843],[-49.23308,61.40681],[-49.90039,62.38336],[-51.63325,63.62691],[-52.14014,64.27842],[-52.27659,65.1767],[-53.66166,66.09957],[-53.30161,66.8365],[-53.96911,67.18899],[-52.9804,68.35759],[-51.47536,68.72958],[-51.08041,69.14781],[-50.87122,69.9291],[-52.013585,69.574925],[-52.55792,69.42616],[-53.45629,69.283625],[-54.68336,69.61003],[-54.75001,70.28932],[-54.35884,70.821315],[-53.431315,70.835755],[-51.39014,70.56978],[-53.10937,71.20485],[-54.00422,71.54719],[-55,71.406537],[-55.83468,71.65444],[-54.71819,72.58625],[-55.32634,72.95861],[-56.12003,73.64977],[-57.32363,74.71026],[-58.59679,75.09861],[-58.58516,75.51727],[-61.26861,76.10238],[-63.39165,76.1752],[-66.06427,76.13486],[-68.50438,76.06141],[-69.66485,76.37975],[-71.40257,77.00857],[-68.77671,77.32312],[-66.76397,77.37595],[-71.04293,77.63595],[-73.297,78.04419],[-73.15938,78.43271],[-69.37345,78.91388],[-65.7107,79.39436],[-65.3239,79.75814],[-68.02298,80.11721],[-67.15129,80.51582],[-63.68925,81.21396],[-62.23444,81.3211],[-62.65116,81.77042],[-60.28249,82.03363],[-57.20744,82.19074],[-54.13442,82.19962],[-53.04328,81.88833],[-50.39061,82.43883],[-48.00386,82.06481],[-46.59984,81.985945],[-44.523,81.6607],[-46.9007,82.19979],[-46.76379,82.62796]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":6,"SOVEREIGNT":"France","SOV_A3":"FR1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"French Southern and Antarctic Lands","ADM0_A3":"ATF","GEOU_DIF":0,"GEOUNIT":"French Southern and Antarctic Lands","GU_A3":"ATF","SU_DIF":0,"SUBUNIT":"French Southern and Antarctic Lands","SU_A3":"ATF","BRK_DIFF":0,"NAME":"Fr. S. Antarctic Lands","NAME_LONG":"French Southern and Antarctic Lands","BRK_A3":"ATF","BRK_NAME":"Fr. S. and Antarctic Lands","BRK_GROUP":null,"ABBREV":"Fr. S.A.L.","POSTAL":"TF","FORMAL_EN":"Territory of the French Southern and Antarctic Lands","FORMAL_FR":null,"NAME_CIAWF":null,"NOTE_ADM0":"Fr.","NOTE_BRK":null,"NAME_SORT":"French Southern and Antarctic Lands","NAME_ALT":null,"MAPCOLOR7":7,"MAPCOLOR8":5,"MAPCOLOR9":9,"MAPCOLOR13":11,"POP_EST":140,"POP_RANK":1,"POP_YEAR":2017,"GDP_MD":16,"GDP_YEAR":2016,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"FS","ISO_A2":"TF","ISO_A2_EH":"TF","ISO_A3":"ATF","ISO_A3_EH":"ATF","ISO_N3":"260","ISO_N3_EH":"260","UN_A3":"260","WB_A2":"-99","WB_A3":"-99","WOE_ID":28289406,"WOE_ID_EH":28289406,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ATF","ADM0_DIFF":null,"ADM0_TLC":"ATF","ADM0_A3_US":"ATF","ADM0_A3_FR":"ATF","ADM0_A3_RU":"ATF","ADM0_A3_ES":"ATF","ADM0_A3_CN":"ATF","ADM0_A3_TW":"ATF","ADM0_A3_IN":"ATF","ADM0_A3_NP":"ATF","ADM0_A3_PK":"ATF","ADM0_A3_DE":"ATF","ADM0_A3_GB":"ATF","ADM0_A3_BR":"ATF","ADM0_A3_IL":"ATF","ADM0_A3_PS":"ATF","ADM0_A3_SA":"ATF","ADM0_A3_EG":"ATF","ADM0_A3_MA":"ATF","ADM0_A3_PT":"ATF","ADM0_A3_AR":"ATF","ADM0_A3_JP":"ATF","ADM0_A3_KO":"ATF","ADM0_A3_VN":"ATF","ADM0_A3_TR":"ATF","ADM0_A3_ID":"ATF","ADM0_A3_PL":"ATF","ADM0_A3_GR":"ATF","ADM0_A3_IT":"ATF","ADM0_A3_NL":"ATF","ADM0_A3_SE":"ATF","ADM0_A3_BD":"ATF","ADM0_A3_UA":"ATF","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Seven seas (open ocean)","REGION_UN":"Africa","SUBREGION":"Seven seas (open ocean)","REGION_WB":"Sub-Saharan Africa","NAME_LEN":22,"LONG_LEN":35,"ABBREV_LEN":10,"TINY":2,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":69.122136,"LABEL_Y":-49.303721,"NE_ID":1159320631,"WIKIDATAID":"Q129003","NAME_AR":"أراض فرنسية جنوبية وأنتارتيكية","NAME_BN":"ফ্র. এস. অ্যান্ড অ্যান্টার্কটিক ল্যান্ড","NAME_DE":"Französische Süd- und Antarktisgebiete","NAME_EN":"French Southern and Antarctic Lands","NAME_ES":"Tierras Australes y Antárticas Francesas","NAME_FA":"سرزمینهای جنوبی و جنوبگانی فرانسه","NAME_FR":"Terres australes et antarctiques françaises","NAME_EL":"Γαλλικά Νότια και Ανταρκτικά Εδάφη","NAME_HE":"הארצות הדרומיות והאנטארקטיות של צרפת","NAME_HI":"दक्षिण फ्रांसीसी और अंटार्कटिक लैंड","NAME_HU":"Francia déli és antarktiszi területek","NAME_ID":"Daratan Selatan dan Antarktika Perancis","NAME_IT":"Terre australi e antartiche francesi","NAME_JA":"フランス領南方・南極地域","NAME_KO":"프랑스령 남방 및 남극","NAME_NL":"Franse Zuidelijke Gebieden","NAME_PL":"Francuskie Terytoria Południowe i Antarktyczne","NAME_PT":"Terras Austrais e Antárticas Francesas","NAME_RU":"Французские Южные и Антарктические территории","NAME_SV":"Franska sydterritorierna","NAME_TR":"Fransız Güney ve Antarktika Toprakları","NAME_UK":"Французькі Південні і Антарктичні території","NAME_UR":"سرزمین جنوبی فرانسیسیہ و انٹارکٹیکا","NAME_VI":"Vùng đất phía Nam và châu Nam Cực thuộc Pháp","NAME_ZH":"法属南部和南极领地","NAME_ZHT":"法屬南部和南極領地","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[68.72,-49.775,70.56,-48.625],"geometry":{"type":"Polygon","coordinates":[[[68.935,-48.625],[69.58,-48.94],[70.525,-49.065],[70.56,-49.255],[70.28,-49.71],[68.745,-49.775],[68.72,-49.2425],[68.8675,-48.83],[68.935,-48.625]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"East Timor","SOV_A3":"TLS","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"East Timor","ADM0_A3":"TLS","GEOU_DIF":0,"GEOUNIT":"East Timor","GU_A3":"TLS","SU_DIF":0,"SUBUNIT":"East Timor","SU_A3":"TLS","BRK_DIFF":0,"NAME":"Timor-Leste","NAME_LONG":"Timor-Leste","BRK_A3":"TLS","BRK_NAME":"Timor-Leste","BRK_GROUP":null,"ABBREV":"T.L.","POSTAL":"TL","FORMAL_EN":"Democratic Republic of Timor-Leste","FORMAL_FR":null,"NAME_CIAWF":"Timor-Leste","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Timor-Leste","NAME_ALT":"East Timor","MAPCOLOR7":2,"MAPCOLOR8":2,"MAPCOLOR9":4,"MAPCOLOR13":3,"POP_EST":1293119,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":2017,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"4. Lower middle income","FIPS_10":"TT","ISO_A2":"TL","ISO_A2_EH":"TL","ISO_A3":"TLS","ISO_A3_EH":"TLS","ISO_N3":"626","ISO_N3_EH":"626","UN_A3":"626","WB_A2":"TP","WB_A3":"TMP","WOE_ID":23424968,"WOE_ID_EH":23424968,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"TLS","ADM0_DIFF":null,"ADM0_TLC":"TLS","ADM0_A3_US":"TLS","ADM0_A3_FR":"TLS","ADM0_A3_RU":"TLS","ADM0_A3_ES":"TLS","ADM0_A3_CN":"TLS","ADM0_A3_TW":"TLS","ADM0_A3_IN":"TLS","ADM0_A3_NP":"TLS","ADM0_A3_PK":"TLS","ADM0_A3_DE":"TLS","ADM0_A3_GB":"TLS","ADM0_A3_BR":"TLS","ADM0_A3_IL":"TLS","ADM0_A3_PS":"TLS","ADM0_A3_SA":"TLS","ADM0_A3_EG":"TLS","ADM0_A3_MA":"TLS","ADM0_A3_PT":"TLS","ADM0_A3_AR":"TLS","ADM0_A3_JP":"TLS","ADM0_A3_KO":"TLS","ADM0_A3_VN":"TLS","ADM0_A3_TR":"TLS","ADM0_A3_ID":"TLS","ADM0_A3_PL":"TLS","ADM0_A3_GR":"TLS","ADM0_A3_IT":"TLS","ADM0_A3_NL":"TLS","ADM0_A3_SE":"TLS","ADM0_A3_BD":"TLS","ADM0_A3_UA":"TLS","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"South-Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":11,"LONG_LEN":11,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":125.854679,"LABEL_Y":-8.803705,"NE_ID":1159321313,"WIKIDATAID":"Q574","NAME_AR":"تيمور الشرقية","NAME_BN":"পূর্ব তিমুর","NAME_DE":"Osttimor","NAME_EN":"East Timor","NAME_ES":"Timor Oriental","NAME_FA":"تیمور شرقی","NAME_FR":"Timor oriental","NAME_EL":"Ανατολικό Τιμόρ","NAME_HE":"מזרח טימור","NAME_HI":"पूर्वी तिमोर","NAME_HU":"Kelet-Timor","NAME_ID":"Timor Leste","NAME_IT":"Timor Est","NAME_JA":"東ティモール","NAME_KO":"동티모르","NAME_NL":"Oost-Timor","NAME_PL":"Timor Wschodni","NAME_PT":"Timor-Leste","NAME_RU":"Восточный Тимор","NAME_SV":"Östtimor","NAME_TR":"Doğu Timor","NAME_UK":"Східний Тимор","NAME_UR":"مشرقی تیمور","NAME_VI":"Đông Timor","NAME_ZH":"东帝汶","NAME_ZHT":"東帝汶","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[124.968682,-9.393173,127.335928,-8.273345],"geometry":{"type":"Polygon","coordinates":[[[124.968682,-8.89279],[125.086246,-8.656887],[125.947072,-8.432095],[126.644704,-8.398247],[126.957243,-8.273345],[127.335928,-8.397317],[126.967992,-8.668256],[125.925885,-9.106007],[125.08852,-9.393173],[125.07002,-9.089987],[124.968682,-8.89279]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"South Africa","SOV_A3":"ZAF","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"South Africa","ADM0_A3":"ZAF","GEOU_DIF":0,"GEOUNIT":"South Africa","GU_A3":"ZAF","SU_DIF":0,"SUBUNIT":"South Africa","SU_A3":"ZAF","BRK_DIFF":0,"NAME":"South Africa","NAME_LONG":"South Africa","BRK_A3":"ZAF","BRK_NAME":"South Africa","BRK_GROUP":null,"ABBREV":"S.Af.","POSTAL":"ZA","FORMAL_EN":"Republic of South Africa","FORMAL_FR":null,"NAME_CIAWF":"South Africa","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"South Africa","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":3,"MAPCOLOR9":4,"MAPCOLOR13":2,"POP_EST":58558270,"POP_RANK":16,"POP_YEAR":2019,"GDP_MD":351431,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"3. Upper middle income","FIPS_10":"SF","ISO_A2":"ZA","ISO_A2_EH":"ZA","ISO_A3":"ZAF","ISO_A3_EH":"ZAF","ISO_N3":"710","ISO_N3_EH":"710","UN_A3":"710","WB_A2":"ZA","WB_A3":"ZAF","WOE_ID":23424942,"WOE_ID_EH":23424942,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ZAF","ADM0_DIFF":null,"ADM0_TLC":"ZAF","ADM0_A3_US":"ZAF","ADM0_A3_FR":"ZAF","ADM0_A3_RU":"ZAF","ADM0_A3_ES":"ZAF","ADM0_A3_CN":"ZAF","ADM0_A3_TW":"ZAF","ADM0_A3_IN":"ZAF","ADM0_A3_NP":"ZAF","ADM0_A3_PK":"ZAF","ADM0_A3_DE":"ZAF","ADM0_A3_GB":"ZAF","ADM0_A3_BR":"ZAF","ADM0_A3_IL":"ZAF","ADM0_A3_PS":"ZAF","ADM0_A3_SA":"ZAF","ADM0_A3_EG":"ZAF","ADM0_A3_MA":"ZAF","ADM0_A3_PT":"ZAF","ADM0_A3_AR":"ZAF","ADM0_A3_JP":"ZAF","ADM0_A3_KO":"ZAF","ADM0_A3_VN":"ZAF","ADM0_A3_TR":"ZAF","ADM0_A3_ID":"ZAF","ADM0_A3_PL":"ZAF","ADM0_A3_GR":"ZAF","ADM0_A3_IT":"ZAF","ADM0_A3_NL":"ZAF","ADM0_A3_SE":"ZAF","ADM0_A3_BD":"ZAF","ADM0_A3_UA":"ZAF","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Southern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":12,"LONG_LEN":12,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":6.7,"LABEL_X":23.665734,"LABEL_Y":-29.708776,"NE_ID":1159321431,"WIKIDATAID":"Q258","NAME_AR":"جنوب أفريقيا","NAME_BN":"দক্ষিণ আফ্রিকা","NAME_DE":"Südafrika","NAME_EN":"South Africa","NAME_ES":"Sudáfrica","NAME_FA":"آفریقای جنوبی","NAME_FR":"Afrique du Sud","NAME_EL":"Νότια Αφρική","NAME_HE":"דרום אפריקה","NAME_HI":"दक्षिण अफ़्रीका","NAME_HU":"Dél-afrikai Köztársaság","NAME_ID":"Afrika Selatan","NAME_IT":"Sudafrica","NAME_JA":"南アフリカ共和国","NAME_KO":"남아프리카 공화국","NAME_NL":"Zuid-Afrika","NAME_PL":"Południowa Afryka","NAME_PT":"África do Sul","NAME_RU":"ЮАР","NAME_SV":"Sydafrika","NAME_TR":"Güney Afrika Cumhuriyeti","NAME_UK":"Південно-Африканська Республіка","NAME_UR":"جنوبی افریقا","NAME_VI":"Cộng hòa Nam Phi","NAME_ZH":"南非","NAME_ZHT":"南非","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[16.344977,-34.819166,32.83012,-22.091313],"geometry":{"type":"Polygon","coordinates":[[[16.344977,-28.576705],[16.824017,-28.082162],[17.218929,-28.355943],[17.387497,-28.783514],[17.836152,-28.856378],[18.464899,-29.045462],[19.002127,-28.972443],[19.894734,-28.461105],[19.895768,-24.76779],[20.165726,-24.917962],[20.758609,-25.868136],[20.66647,-26.477453],[20.889609,-26.828543],[21.605896,-26.726534],[22.105969,-26.280256],[22.579532,-25.979448],[22.824271,-25.500459],[23.312097,-25.26869],[23.73357,-25.390129],[24.211267,-25.670216],[25.025171,-25.71967],[25.664666,-25.486816],[25.765849,-25.174845],[25.941652,-24.696373],[26.485753,-24.616327],[26.786407,-24.240691],[27.11941,-23.574323],[28.017236,-22.827754],[29.432188,-22.091313],[29.839037,-22.102216],[30.322883,-22.271612],[30.659865,-22.151567],[31.191409,-22.25151],[31.670398,-23.658969],[31.930589,-24.369417],[31.752408,-25.484284],[31.837778,-25.843332],[31.333158,-25.660191],[31.04408,-25.731452],[30.949667,-26.022649],[30.676609,-26.398078],[30.685962,-26.743845],[31.282773,-27.285879],[31.86806,-27.177927],[32.071665,-26.73382],[32.83012,-26.742192],[32.580265,-27.470158],[32.462133,-28.301011],[32.203389,-28.752405],[31.521001,-29.257387],[31.325561,-29.401978],[30.901763,-29.909957],[30.622813,-30.423776],[30.055716,-31.140269],[28.925553,-32.172041],[28.219756,-32.771953],[27.464608,-33.226964],[26.419452,-33.61495],[25.909664,-33.66704],[25.780628,-33.944646],[25.172862,-33.796851],[24.677853,-33.987176],[23.594043,-33.794474],[22.988189,-33.916431],[22.574157,-33.864083],[21.542799,-34.258839],[20.689053,-34.417175],[20.071261,-34.795137],[19.616405,-34.819166],[19.193278,-34.462599],[18.855315,-34.444306],[18.424643,-33.997873],[18.377411,-34.136521],[18.244499,-33.867752],[18.25008,-33.281431],[17.92519,-32.611291],[18.24791,-32.429131],[18.221762,-31.661633],[17.566918,-30.725721],[17.064416,-29.878641],[17.062918,-29.875954],[16.344977,-28.576705]],[[28.978263,-28.955597],[28.5417,-28.647502],[28.074338,-28.851469],[27.532511,-29.242711],[26.999262,-29.875954],[27.749397,-30.645106],[28.107205,-30.545732],[28.291069,-30.226217],[28.8484,-30.070051],[29.018415,-29.743766],[29.325166,-29.257387],[28.978263,-28.955597]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Lesotho","SOV_A3":"LSO","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Lesotho","ADM0_A3":"LSO","GEOU_DIF":0,"GEOUNIT":"Lesotho","GU_A3":"LSO","SU_DIF":0,"SUBUNIT":"Lesotho","SU_A3":"LSO","BRK_DIFF":0,"NAME":"Lesotho","NAME_LONG":"Lesotho","BRK_A3":"LSO","BRK_NAME":"Lesotho","BRK_GROUP":null,"ABBREV":"Les.","POSTAL":"LS","FORMAL_EN":"Kingdom of Lesotho","FORMAL_FR":null,"NAME_CIAWF":"Lesotho","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Lesotho","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":5,"MAPCOLOR9":2,"MAPCOLOR13":8,"POP_EST":2125268,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":2376,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"4. Lower middle income","FIPS_10":"LT","ISO_A2":"LS","ISO_A2_EH":"LS","ISO_A3":"LSO","ISO_A3_EH":"LSO","ISO_N3":"426","ISO_N3_EH":"426","UN_A3":"426","WB_A2":"LS","WB_A3":"LSO","WOE_ID":23424880,"WOE_ID_EH":23424880,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"LSO","ADM0_DIFF":null,"ADM0_TLC":"LSO","ADM0_A3_US":"LSO","ADM0_A3_FR":"LSO","ADM0_A3_RU":"LSO","ADM0_A3_ES":"LSO","ADM0_A3_CN":"LSO","ADM0_A3_TW":"LSO","ADM0_A3_IN":"LSO","ADM0_A3_NP":"LSO","ADM0_A3_PK":"LSO","ADM0_A3_DE":"LSO","ADM0_A3_GB":"LSO","ADM0_A3_BR":"LSO","ADM0_A3_IL":"LSO","ADM0_A3_PS":"LSO","ADM0_A3_SA":"LSO","ADM0_A3_EG":"LSO","ADM0_A3_MA":"LSO","ADM0_A3_PT":"LSO","ADM0_A3_AR":"LSO","ADM0_A3_JP":"LSO","ADM0_A3_KO":"LSO","ADM0_A3_VN":"LSO","ADM0_A3_TR":"LSO","ADM0_A3_ID":"LSO","ADM0_A3_PL":"LSO","ADM0_A3_GR":"LSO","ADM0_A3_IT":"LSO","ADM0_A3_NL":"LSO","ADM0_A3_SE":"LSO","ADM0_A3_BD":"LSO","ADM0_A3_UA":"LSO","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Southern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":28.246639,"LABEL_Y":-29.480158,"NE_ID":1159321027,"WIKIDATAID":"Q1013","NAME_AR":"ليسوتو","NAME_BN":"লেসোথো","NAME_DE":"Lesotho","NAME_EN":"Lesotho","NAME_ES":"Lesoto","NAME_FA":"لسوتو","NAME_FR":"Lesotho","NAME_EL":"Λεσότο","NAME_HE":"לסוטו","NAME_HI":"लेसोथो","NAME_HU":"Lesotho","NAME_ID":"Lesotho","NAME_IT":"Lesotho","NAME_JA":"レソト","NAME_KO":"레소토","NAME_NL":"Lesotho","NAME_PL":"Lesotho","NAME_PT":"Lesoto","NAME_RU":"Лесото","NAME_SV":"Lesotho","NAME_TR":"Lesotho","NAME_UK":"Лесото","NAME_UR":"لیسوتھو","NAME_VI":"Lesotho","NAME_ZH":"莱索托","NAME_ZHT":"賴索托","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[26.999262,-30.645106,29.325166,-28.647502],"geometry":{"type":"Polygon","coordinates":[[[28.978263,-28.955597],[29.325166,-29.257387],[29.018415,-29.743766],[28.8484,-30.070051],[28.291069,-30.226217],[28.107205,-30.545732],[27.749397,-30.645106],[26.999262,-29.875954],[27.532511,-29.242711],[28.074338,-28.851469],[28.5417,-28.647502],[28.978263,-28.955597]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Mexico","SOV_A3":"MEX","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Mexico","ADM0_A3":"MEX","GEOU_DIF":0,"GEOUNIT":"Mexico","GU_A3":"MEX","SU_DIF":0,"SUBUNIT":"Mexico","SU_A3":"MEX","BRK_DIFF":0,"NAME":"Mexico","NAME_LONG":"Mexico","BRK_A3":"MEX","BRK_NAME":"Mexico","BRK_GROUP":null,"ABBREV":"Mex.","POSTAL":"MX","FORMAL_EN":"United Mexican States","FORMAL_FR":null,"NAME_CIAWF":"Mexico","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Mexico","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":1,"MAPCOLOR9":7,"MAPCOLOR13":3,"POP_EST":127575529,"POP_RANK":17,"POP_YEAR":2019,"GDP_MD":1268870,"GDP_YEAR":2019,"ECONOMY":"4. Emerging region: MIKT","INCOME_GRP":"3. Upper middle income","FIPS_10":"MX","ISO_A2":"MX","ISO_A2_EH":"MX","ISO_A3":"MEX","ISO_A3_EH":"MEX","ISO_N3":"484","ISO_N3_EH":"484","UN_A3":"484","WB_A2":"MX","WB_A3":"MEX","WOE_ID":23424900,"WOE_ID_EH":23424900,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MEX","ADM0_DIFF":null,"ADM0_TLC":"MEX","ADM0_A3_US":"MEX","ADM0_A3_FR":"MEX","ADM0_A3_RU":"MEX","ADM0_A3_ES":"MEX","ADM0_A3_CN":"MEX","ADM0_A3_TW":"MEX","ADM0_A3_IN":"MEX","ADM0_A3_NP":"MEX","ADM0_A3_PK":"MEX","ADM0_A3_DE":"MEX","ADM0_A3_GB":"MEX","ADM0_A3_BR":"MEX","ADM0_A3_IL":"MEX","ADM0_A3_PS":"MEX","ADM0_A3_SA":"MEX","ADM0_A3_EG":"MEX","ADM0_A3_MA":"MEX","ADM0_A3_PT":"MEX","ADM0_A3_AR":"MEX","ADM0_A3_JP":"MEX","ADM0_A3_KO":"MEX","ADM0_A3_VN":"MEX","ADM0_A3_TR":"MEX","ADM0_A3_ID":"MEX","ADM0_A3_PL":"MEX","ADM0_A3_GR":"MEX","ADM0_A3_IT":"MEX","ADM0_A3_NL":"MEX","ADM0_A3_SE":"MEX","ADM0_A3_BD":"MEX","ADM0_A3_UA":"MEX","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Central America","REGION_WB":"Latin America & Caribbean","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2,"MAX_LABEL":6.7,"LABEL_X":-102.289448,"LABEL_Y":23.919988,"NE_ID":1159321055,"WIKIDATAID":"Q96","NAME_AR":"المكسيك","NAME_BN":"মেক্সিকো","NAME_DE":"Mexiko","NAME_EN":"Mexico","NAME_ES":"México","NAME_FA":"مکزیک","NAME_FR":"Mexique","NAME_EL":"Μεξικό","NAME_HE":"מקסיקו","NAME_HI":"मेक्सिको","NAME_HU":"Mexikó","NAME_ID":"Meksiko","NAME_IT":"Messico","NAME_JA":"メキシコ","NAME_KO":"멕시코","NAME_NL":"Mexico","NAME_PL":"Meksyk","NAME_PT":"México","NAME_RU":"Мексика","NAME_SV":"Mexiko","NAME_TR":"Meksika","NAME_UK":"Мексика","NAME_UR":"میکسیکو","NAME_VI":"México","NAME_ZH":"墨西哥","NAME_ZHT":"墨西哥","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-117.12776,14.538829,-86.811982,32.72083],"geometry":{"type":"Polygon","coordinates":[[[-117.12776,32.53534],[-115.99135,32.61239],[-114.72139,32.72083],[-114.815,32.52528],[-113.30498,32.03914],[-111.02361,31.33472],[-109.035,31.34194],[-108.24194,31.34222],[-108.24,31.754854],[-106.50759,31.75452],[-106.1429,31.39995],[-105.63159,31.08383],[-105.03737,30.64402],[-104.70575,30.12173],[-104.45697,29.57196],[-103.94,29.27],[-103.11,28.97],[-102.48,29.76],[-101.6624,29.7793],[-100.9576,29.38071],[-100.45584,28.69612],[-100.11,28.11],[-99.52,27.54],[-99.3,26.84],[-99.02,26.37],[-98.24,26.06],[-97.53,25.84],[-97.140008,25.869997],[-97.528072,24.992144],[-97.702946,24.272343],[-97.776042,22.93258],[-97.872367,22.444212],[-97.699044,21.898689],[-97.38896,21.411019],[-97.189333,20.635433],[-96.525576,19.890931],[-96.292127,19.320371],[-95.900885,18.828024],[-94.839063,18.562717],[-94.42573,18.144371],[-93.548651,18.423837],[-92.786114,18.524839],[-92.037348,18.704569],[-91.407903,18.876083],[-90.77187,19.28412],[-90.53359,19.867418],[-90.451476,20.707522],[-90.278618,20.999855],[-89.601321,21.261726],[-88.543866,21.493675],[-87.658417,21.458846],[-87.05189,21.543543],[-86.811982,21.331515],[-86.845908,20.849865],[-87.383291,20.255405],[-87.621054,19.646553],[-87.43675,19.472403],[-87.58656,19.04013],[-87.837191,18.259816],[-88.090664,18.516648],[-88.300031,18.499982],[-88.490123,18.486831],[-88.848344,17.883198],[-89.029857,18.001511],[-89.150909,17.955468],[-89.14308,17.808319],[-90.067934,17.819326],[-91.00152,17.817595],[-91.002269,17.254658],[-91.453921,17.252177],[-91.08167,16.918477],[-90.711822,16.687483],[-90.600847,16.470778],[-90.438867,16.41011],[-90.464473,16.069562],[-91.74796,16.066565],[-92.229249,15.251447],[-92.087216,15.064585],[-92.20323,14.830103],[-92.22775,14.538829],[-93.359464,15.61543],[-93.875169,15.940164],[-94.691656,16.200975],[-95.250227,16.128318],[-96.053382,15.752088],[-96.557434,15.653515],[-97.263592,15.917065],[-98.01303,16.107312],[-98.947676,16.566043],[-99.697397,16.706164],[-100.829499,17.171071],[-101.666089,17.649026],[-101.918528,17.91609],[-102.478132,17.975751],[-103.50099,18.292295],[-103.917527,18.748572],[-104.99201,19.316134],[-105.493038,19.946767],[-105.731396,20.434102],[-105.397773,20.531719],[-105.500661,20.816895],[-105.270752,21.076285],[-105.265817,21.422104],[-105.603161,21.871146],[-105.693414,22.26908],[-106.028716,22.773752],[-106.90998,23.767774],[-107.915449,24.548915],[-108.401905,25.172314],[-109.260199,25.580609],[-109.444089,25.824884],[-109.291644,26.442934],[-109.801458,26.676176],[-110.391732,27.162115],[-110.641019,27.859876],[-111.178919,27.941241],[-111.759607,28.467953],[-112.228235,28.954409],[-112.271824,29.266844],[-112.809594,30.021114],[-113.163811,30.786881],[-113.148669,31.170966],[-113.871881,31.567608],[-114.205737,31.524045],[-114.776451,31.799532],[-114.9367,31.393485],[-114.771232,30.913617],[-114.673899,30.162681],[-114.330974,29.750432],[-113.588875,29.061611],[-113.424053,28.826174],[-113.271969,28.754783],[-113.140039,28.411289],[-112.962298,28.42519],[-112.761587,27.780217],[-112.457911,27.525814],[-112.244952,27.171727],[-111.616489,26.662817],[-111.284675,25.73259],[-110.987819,25.294606],[-110.710007,24.826004],[-110.655049,24.298595],[-110.172856,24.265548],[-109.771847,23.811183],[-109.409104,23.364672],[-109.433392,23.185588],[-109.854219,22.818272],[-110.031392,22.823078],[-110.295071,23.430973],[-110.949501,24.000964],[-111.670568,24.484423],[-112.182036,24.738413],[-112.148989,25.470125],[-112.300711,26.012004],[-112.777297,26.32196],[-113.464671,26.768186],[-113.59673,26.63946],[-113.848937,26.900064],[-114.465747,27.14209],[-115.055142,27.722727],[-114.982253,27.7982],[-114.570366,27.741485],[-114.199329,28.115003],[-114.162018,28.566112],[-114.931842,29.279479],[-115.518654,29.556362],[-115.887365,30.180794],[-116.25835,30.836464],[-116.721526,31.635744],[-117.12776,32.53534]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Uruguay","SOV_A3":"URY","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Uruguay","ADM0_A3":"URY","GEOU_DIF":0,"GEOUNIT":"Uruguay","GU_A3":"URY","SU_DIF":0,"SUBUNIT":"Uruguay","SU_A3":"URY","BRK_DIFF":0,"NAME":"Uruguay","NAME_LONG":"Uruguay","BRK_A3":"URY","BRK_NAME":"Uruguay","BRK_GROUP":null,"ABBREV":"Ury.","POSTAL":"UY","FORMAL_EN":"Oriental Republic of Uruguay","FORMAL_FR":null,"NAME_CIAWF":"Uruguay","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Uruguay","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":2,"MAPCOLOR9":2,"MAPCOLOR13":10,"POP_EST":3461734,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":56045,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"3. Upper middle income","FIPS_10":"UY","ISO_A2":"UY","ISO_A2_EH":"UY","ISO_A3":"URY","ISO_A3_EH":"URY","ISO_N3":"858","ISO_N3_EH":"858","UN_A3":"858","WB_A2":"UY","WB_A3":"URY","WOE_ID":23424979,"WOE_ID_EH":23424979,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"URY","ADM0_DIFF":null,"ADM0_TLC":"URY","ADM0_A3_US":"URY","ADM0_A3_FR":"URY","ADM0_A3_RU":"URY","ADM0_A3_ES":"URY","ADM0_A3_CN":"URY","ADM0_A3_TW":"URY","ADM0_A3_IN":"URY","ADM0_A3_NP":"URY","ADM0_A3_PK":"URY","ADM0_A3_DE":"URY","ADM0_A3_GB":"URY","ADM0_A3_BR":"URY","ADM0_A3_IL":"URY","ADM0_A3_PS":"URY","ADM0_A3_SA":"URY","ADM0_A3_EG":"URY","ADM0_A3_MA":"URY","ADM0_A3_PT":"URY","ADM0_A3_AR":"URY","ADM0_A3_JP":"URY","ADM0_A3_KO":"URY","ADM0_A3_VN":"URY","ADM0_A3_TR":"URY","ADM0_A3_ID":"URY","ADM0_A3_PL":"URY","ADM0_A3_GR":"URY","ADM0_A3_IT":"URY","ADM0_A3_NL":"URY","ADM0_A3_SE":"URY","ADM0_A3_BD":"URY","ADM0_A3_UA":"URY","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"South America","REGION_UN":"Americas","SUBREGION":"South America","REGION_WB":"Latin America & Caribbean","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":-55.966942,"LABEL_Y":-32.961127,"NE_ID":1159321353,"WIKIDATAID":"Q77","NAME_AR":"الأوروغواي","NAME_BN":"উরুগুয়ে","NAME_DE":"Uruguay","NAME_EN":"Uruguay","NAME_ES":"Uruguay","NAME_FA":"اروگوئه","NAME_FR":"Uruguay","NAME_EL":"Ουρουγουάη","NAME_HE":"אורוגוואי","NAME_HI":"उरुग्वे","NAME_HU":"Uruguay","NAME_ID":"Uruguay","NAME_IT":"Uruguay","NAME_JA":"ウルグアイ","NAME_KO":"우루과이","NAME_NL":"Uruguay","NAME_PL":"Urugwaj","NAME_PT":"Uruguai","NAME_RU":"Уругвай","NAME_SV":"Uruguay","NAME_TR":"Uruguay","NAME_UK":"Уругвай","NAME_UR":"یوراگوئے","NAME_VI":"Uruguay","NAME_ZH":"乌拉圭","NAME_ZHT":"烏拉圭","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-58.427074,-34.952647,-53.209589,-30.109686],"geometry":{"type":"Polygon","coordinates":[[[-57.625133,-30.216295],[-56.976026,-30.109686],[-55.973245,-30.883076],[-55.60151,-30.853879],[-54.572452,-31.494511],[-53.787952,-32.047243],[-53.209589,-32.727666],[-53.650544,-33.202004],[-53.373662,-33.768378],[-53.806426,-34.396815],[-54.935866,-34.952647],[-55.67409,-34.752659],[-56.215297,-34.859836],[-57.139685,-34.430456],[-57.817861,-34.462547],[-58.427074,-33.909454],[-58.349611,-33.263189],[-58.132648,-33.040567],[-58.14244,-32.044504],[-57.874937,-31.016556],[-57.625133,-30.216295]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Brazil","SOV_A3":"BRA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Brazil","ADM0_A3":"BRA","GEOU_DIF":0,"GEOUNIT":"Brazil","GU_A3":"BRA","SU_DIF":0,"SUBUNIT":"Brazil","SU_A3":"BRA","BRK_DIFF":0,"NAME":"Brazil","NAME_LONG":"Brazil","BRK_A3":"BRA","BRK_NAME":"Brazil","BRK_GROUP":null,"ABBREV":"Brazil","POSTAL":"BR","FORMAL_EN":"Federative Republic of Brazil","FORMAL_FR":null,"NAME_CIAWF":"Brazil","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Brazil","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":6,"MAPCOLOR9":5,"MAPCOLOR13":7,"POP_EST":211049527,"POP_RANK":17,"POP_YEAR":2019,"GDP_MD":1839758,"GDP_YEAR":2019,"ECONOMY":"3. Emerging region: BRIC","INCOME_GRP":"3. Upper middle income","FIPS_10":"BR","ISO_A2":"BR","ISO_A2_EH":"BR","ISO_A3":"BRA","ISO_A3_EH":"BRA","ISO_N3":"076","ISO_N3_EH":"076","UN_A3":"076","WB_A2":"BR","WB_A3":"BRA","WOE_ID":23424768,"WOE_ID_EH":23424768,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BRA","ADM0_DIFF":null,"ADM0_TLC":"BRA","ADM0_A3_US":"BRA","ADM0_A3_FR":"BRA","ADM0_A3_RU":"BRA","ADM0_A3_ES":"BRA","ADM0_A3_CN":"BRA","ADM0_A3_TW":"BRA","ADM0_A3_IN":"BRA","ADM0_A3_NP":"BRA","ADM0_A3_PK":"BRA","ADM0_A3_DE":"BRA","ADM0_A3_GB":"BRA","ADM0_A3_BR":"BRA","ADM0_A3_IL":"BRA","ADM0_A3_PS":"BRA","ADM0_A3_SA":"BRA","ADM0_A3_EG":"BRA","ADM0_A3_MA":"BRA","ADM0_A3_PT":"BRA","ADM0_A3_AR":"BRA","ADM0_A3_JP":"BRA","ADM0_A3_KO":"BRA","ADM0_A3_VN":"BRA","ADM0_A3_TR":"BRA","ADM0_A3_ID":"BRA","ADM0_A3_PL":"BRA","ADM0_A3_GR":"BRA","ADM0_A3_IT":"BRA","ADM0_A3_NL":"BRA","ADM0_A3_SE":"BRA","ADM0_A3_BD":"BRA","ADM0_A3_UA":"BRA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"South America","REGION_UN":"Americas","SUBREGION":"South America","REGION_WB":"Latin America & Caribbean","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":5.7,"LABEL_X":-49.55945,"LABEL_Y":-12.098687,"NE_ID":1159320441,"WIKIDATAID":"Q155","NAME_AR":"البرازيل","NAME_BN":"ব্রাজিল","NAME_DE":"Brasilien","NAME_EN":"Brazil","NAME_ES":"Brasil","NAME_FA":"برزیل","NAME_FR":"Brésil","NAME_EL":"Βραζιλία","NAME_HE":"ברזיל","NAME_HI":"ब्राज़ील","NAME_HU":"Brazília","NAME_ID":"Brasil","NAME_IT":"Brasile","NAME_JA":"ブラジル","NAME_KO":"브라질","NAME_NL":"Brazilië","NAME_PL":"Brazylia","NAME_PT":"Brasil","NAME_RU":"Бразилия","NAME_SV":"Brasilien","NAME_TR":"Brezilya","NAME_UK":"Бразилія","NAME_UR":"برازیل","NAME_VI":"Brasil","NAME_ZH":"巴西","NAME_ZHT":"巴西","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-73.987235,-33.768378,-34.729993,5.244486],"geometry":{"type":"Polygon","coordinates":[[[-53.373662,-33.768378],[-53.650544,-33.202004],[-53.209589,-32.727666],[-53.787952,-32.047243],[-54.572452,-31.494511],[-55.60151,-30.853879],[-55.973245,-30.883076],[-56.976026,-30.109686],[-57.625133,-30.216295],[-56.2909,-28.852761],[-55.162286,-27.881915],[-54.490725,-27.474757],[-53.648735,-26.923473],[-53.628349,-26.124865],[-54.13005,-25.547639],[-54.625291,-25.739255],[-54.428946,-25.162185],[-54.293476,-24.5708],[-54.29296,-24.021014],[-54.652834,-23.839578],[-55.027902,-24.001274],[-55.400747,-23.956935],[-55.517639,-23.571998],[-55.610683,-22.655619],[-55.797958,-22.35693],[-56.473317,-22.0863],[-56.88151,-22.282154],[-57.937156,-22.090176],[-57.870674,-20.732688],[-58.166392,-20.176701],[-57.853802,-19.969995],[-57.949997,-19.400004],[-57.676009,-18.96184],[-57.498371,-18.174188],[-57.734558,-17.552468],[-58.280804,-17.27171],[-58.388058,-16.877109],[-58.24122,-16.299573],[-60.15839,-16.258284],[-60.542966,-15.09391],[-60.251149,-15.077219],[-60.264326,-14.645979],[-60.459198,-14.354007],[-60.503304,-13.775955],[-61.084121,-13.479384],[-61.713204,-13.489202],[-62.127081,-13.198781],[-62.80306,-13.000653],[-63.196499,-12.627033],[-64.316353,-12.461978],[-65.402281,-11.56627],[-65.321899,-10.895872],[-65.444837,-10.511451],[-65.338435,-9.761988],[-66.646908,-9.931331],[-67.173801,-10.306812],[-68.048192,-10.712059],[-68.271254,-11.014521],[-68.786158,-11.03638],[-69.529678,-10.951734],[-70.093752,-11.123972],[-70.548686,-11.009147],[-70.481894,-9.490118],[-71.302412,-10.079436],[-72.184891,-10.053598],[-72.563033,-9.520194],[-73.226713,-9.462213],[-73.015383,-9.032833],[-73.571059,-8.424447],[-73.987235,-7.52383],[-73.723401,-7.340999],[-73.724487,-6.918595],[-73.120027,-6.629931],[-73.219711,-6.089189],[-72.964507,-5.741251],[-72.891928,-5.274561],[-71.748406,-4.593983],[-70.928843,-4.401591],[-70.794769,-4.251265],[-69.893635,-4.298187],[-69.444102,-1.556287],[-69.420486,-1.122619],[-69.577065,-0.549992],[-70.020656,-0.185156],[-70.015566,0.541414],[-69.452396,0.706159],[-69.252434,0.602651],[-69.218638,0.985677],[-69.804597,1.089081],[-69.816973,1.714805],[-67.868565,1.692455],[-67.53781,2.037163],[-67.259998,1.719999],[-67.065048,1.130112],[-66.876326,1.253361],[-66.325765,0.724452],[-65.548267,0.789254],[-65.354713,1.095282],[-64.611012,1.328731],[-64.199306,1.492855],[-64.083085,1.916369],[-63.368788,2.2009],[-63.422867,2.411068],[-64.269999,2.497006],[-64.408828,3.126786],[-64.368494,3.79721],[-64.816064,4.056445],[-64.628659,4.148481],[-63.888343,4.02053],[-63.093198,3.770571],[-62.804533,4.006965],[-62.08543,4.162124],[-60.966893,4.536468],[-60.601179,4.918098],[-60.733574,5.200277],[-60.213683,5.244486],[-59.980959,5.014061],[-60.111002,4.574967],[-59.767406,4.423503],[-59.53804,3.958803],[-59.815413,3.606499],[-59.974525,2.755233],[-59.718546,2.24963],[-59.646044,1.786894],[-59.030862,1.317698],[-58.540013,1.268088],[-58.429477,1.463942],[-58.11345,1.507195],[-57.660971,1.682585],[-57.335823,1.948538],[-56.782704,1.863711],[-56.539386,1.899523],[-55.995698,1.817667],[-55.9056,2.021996],[-56.073342,2.220795],[-55.973322,2.510364],[-55.569755,2.421506],[-55.097587,2.523748],[-54.524754,2.311849],[-54.088063,2.105557],[-53.778521,2.376703],[-53.554839,2.334897],[-53.418465,2.053389],[-52.939657,2.124858],[-52.556425,2.504705],[-52.249338,3.241094],[-51.657797,4.156232],[-51.317146,4.203491],[-51.069771,3.650398],[-50.508875,1.901564],[-49.974076,1.736483],[-49.947101,1.04619],[-50.699251,0.222984],[-50.388211,-0.078445],[-48.620567,-0.235489],[-48.584497,-1.237805],[-47.824956,-0.581618],[-46.566584,-0.941028],[-44.905703,-1.55174],[-44.417619,-2.13775],[-44.581589,-2.691308],[-43.418791,-2.38311],[-41.472657,-2.912018],[-39.978665,-2.873054],[-38.500383,-3.700652],[-37.223252,-4.820946],[-36.452937,-5.109404],[-35.597796,-5.149504],[-35.235389,-5.464937],[-34.89603,-6.738193],[-34.729993,-7.343221],[-35.128212,-8.996401],[-35.636967,-9.649282],[-37.046519,-11.040721],[-37.683612,-12.171195],[-38.423877,-13.038119],[-38.673887,-13.057652],[-38.953276,-13.79337],[-38.882298,-15.667054],[-39.161092,-17.208407],[-39.267339,-17.867746],[-39.583521,-18.262296],[-39.760823,-19.599113],[-40.774741,-20.904512],[-40.944756,-21.937317],[-41.754164,-22.370676],[-41.988284,-22.97007],[-43.074704,-22.967693],[-44.647812,-23.351959],[-45.352136,-23.796842],[-46.472093,-24.088969],[-47.648972,-24.885199],[-48.495458,-25.877025],[-48.641005,-26.623698],[-48.474736,-27.175912],[-48.66152,-28.186135],[-48.888457,-28.674115],[-49.587329,-29.224469],[-50.696874,-30.984465],[-51.576226,-31.777698],[-52.256081,-32.24537],[-52.7121,-33.196578],[-53.373662,-33.768378]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Bolivia","SOV_A3":"BOL","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Bolivia","ADM0_A3":"BOL","GEOU_DIF":0,"GEOUNIT":"Bolivia","GU_A3":"BOL","SU_DIF":0,"SUBUNIT":"Bolivia","SU_A3":"BOL","BRK_DIFF":0,"NAME":"Bolivia","NAME_LONG":"Bolivia","BRK_A3":"BOL","BRK_NAME":"Bolivia","BRK_GROUP":null,"ABBREV":"Bolivia","POSTAL":"BO","FORMAL_EN":"Plurinational State of Bolivia","FORMAL_FR":null,"NAME_CIAWF":"Bolivia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Bolivia","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":5,"MAPCOLOR9":2,"MAPCOLOR13":3,"POP_EST":11513100,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":40895,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"4. Lower middle income","FIPS_10":"BL","ISO_A2":"BO","ISO_A2_EH":"BO","ISO_A3":"BOL","ISO_A3_EH":"BOL","ISO_N3":"068","ISO_N3_EH":"068","UN_A3":"068","WB_A2":"BO","WB_A3":"BOL","WOE_ID":23424762,"WOE_ID_EH":23424762,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BOL","ADM0_DIFF":null,"ADM0_TLC":"BOL","ADM0_A3_US":"BOL","ADM0_A3_FR":"BOL","ADM0_A3_RU":"BOL","ADM0_A3_ES":"BOL","ADM0_A3_CN":"BOL","ADM0_A3_TW":"BOL","ADM0_A3_IN":"BOL","ADM0_A3_NP":"BOL","ADM0_A3_PK":"BOL","ADM0_A3_DE":"BOL","ADM0_A3_GB":"BOL","ADM0_A3_BR":"BOL","ADM0_A3_IL":"BOL","ADM0_A3_PS":"BOL","ADM0_A3_SA":"BOL","ADM0_A3_EG":"BOL","ADM0_A3_MA":"BOL","ADM0_A3_PT":"BOL","ADM0_A3_AR":"BOL","ADM0_A3_JP":"BOL","ADM0_A3_KO":"BOL","ADM0_A3_VN":"BOL","ADM0_A3_TR":"BOL","ADM0_A3_ID":"BOL","ADM0_A3_PL":"BOL","ADM0_A3_GR":"BOL","ADM0_A3_IT":"BOL","ADM0_A3_NL":"BOL","ADM0_A3_SE":"BOL","ADM0_A3_BD":"BOL","ADM0_A3_UA":"BOL","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"South America","REGION_UN":"Americas","SUBREGION":"South America","REGION_WB":"Latin America & Caribbean","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":7,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":7.5,"LABEL_X":-64.593433,"LABEL_Y":-16.666015,"NE_ID":1159320439,"WIKIDATAID":"Q750","NAME_AR":"بوليفيا","NAME_BN":"বলিভিয়া","NAME_DE":"Bolivien","NAME_EN":"Bolivia","NAME_ES":"Bolivia","NAME_FA":"بولیوی","NAME_FR":"Bolivie","NAME_EL":"Βολιβία","NAME_HE":"בוליביה","NAME_HI":"बोलिविया","NAME_HU":"Bolívia","NAME_ID":"Bolivia","NAME_IT":"Bolivia","NAME_JA":"ボリビア","NAME_KO":"볼리비아","NAME_NL":"Bolivia","NAME_PL":"Boliwia","NAME_PT":"Bolívia","NAME_RU":"Боливия","NAME_SV":"Bolivia","NAME_TR":"Bolivya","NAME_UK":"Болівія","NAME_UR":"بولیویا","NAME_VI":"Bolivia","NAME_ZH":"玻利维亚","NAME_ZHT":"玻利維亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-69.590424,-22.872919,-57.498371,-9.761988],"geometry":{"type":"Polygon","coordinates":[[[-69.529678,-10.951734],[-68.786158,-11.03638],[-68.271254,-11.014521],[-68.048192,-10.712059],[-67.173801,-10.306812],[-66.646908,-9.931331],[-65.338435,-9.761988],[-65.444837,-10.511451],[-65.321899,-10.895872],[-65.402281,-11.56627],[-64.316353,-12.461978],[-63.196499,-12.627033],[-62.80306,-13.000653],[-62.127081,-13.198781],[-61.713204,-13.489202],[-61.084121,-13.479384],[-60.503304,-13.775955],[-60.459198,-14.354007],[-60.264326,-14.645979],[-60.251149,-15.077219],[-60.542966,-15.09391],[-60.15839,-16.258284],[-58.24122,-16.299573],[-58.388058,-16.877109],[-58.280804,-17.27171],[-57.734558,-17.552468],[-57.498371,-18.174188],[-57.676009,-18.96184],[-57.949997,-19.400004],[-57.853802,-19.969995],[-58.166392,-20.176701],[-58.183471,-19.868399],[-59.115042,-19.356906],[-60.043565,-19.342747],[-61.786326,-19.633737],[-62.265961,-20.513735],[-62.291179,-21.051635],[-62.685057,-22.249029],[-62.846468,-22.034985],[-63.986838,-21.993644],[-64.377021,-22.798091],[-64.964892,-22.075862],[-66.273339,-21.83231],[-67.106674,-22.735925],[-67.82818,-22.872919],[-68.219913,-21.494347],[-68.757167,-20.372658],[-68.442225,-19.405068],[-68.966818,-18.981683],[-69.100247,-18.260125],[-69.590424,-17.580012],[-68.959635,-16.500698],[-69.389764,-15.660129],[-69.160347,-15.323974],[-69.339535,-14.953195],[-68.948887,-14.453639],[-68.929224,-13.602684],[-68.88008,-12.899729],[-68.66508,-12.5613],[-69.529678,-10.951734]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Peru","SOV_A3":"PER","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Peru","ADM0_A3":"PER","GEOU_DIF":0,"GEOUNIT":"Peru","GU_A3":"PER","SU_DIF":0,"SUBUNIT":"Peru","SU_A3":"PER","BRK_DIFF":0,"NAME":"Peru","NAME_LONG":"Peru","BRK_A3":"PER","BRK_NAME":"Peru","BRK_GROUP":null,"ABBREV":"Peru","POSTAL":"PE","FORMAL_EN":"Republic of Peru","FORMAL_FR":null,"NAME_CIAWF":"Peru","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Peru","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":4,"MAPCOLOR9":4,"MAPCOLOR13":11,"POP_EST":32510453,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":226848,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"3. Upper middle income","FIPS_10":"PE","ISO_A2":"PE","ISO_A2_EH":"PE","ISO_A3":"PER","ISO_A3_EH":"PER","ISO_N3":"604","ISO_N3_EH":"604","UN_A3":"604","WB_A2":"PE","WB_A3":"PER","WOE_ID":23424919,"WOE_ID_EH":23424919,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"PER","ADM0_DIFF":null,"ADM0_TLC":"PER","ADM0_A3_US":"PER","ADM0_A3_FR":"PER","ADM0_A3_RU":"PER","ADM0_A3_ES":"PER","ADM0_A3_CN":"PER","ADM0_A3_TW":"PER","ADM0_A3_IN":"PER","ADM0_A3_NP":"PER","ADM0_A3_PK":"PER","ADM0_A3_DE":"PER","ADM0_A3_GB":"PER","ADM0_A3_BR":"PER","ADM0_A3_IL":"PER","ADM0_A3_PS":"PER","ADM0_A3_SA":"PER","ADM0_A3_EG":"PER","ADM0_A3_MA":"PER","ADM0_A3_PT":"PER","ADM0_A3_AR":"PER","ADM0_A3_JP":"PER","ADM0_A3_KO":"PER","ADM0_A3_VN":"PER","ADM0_A3_TR":"PER","ADM0_A3_ID":"PER","ADM0_A3_PL":"PER","ADM0_A3_GR":"PER","ADM0_A3_IT":"PER","ADM0_A3_NL":"PER","ADM0_A3_SE":"PER","ADM0_A3_BD":"PER","ADM0_A3_UA":"PER","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"South America","REGION_UN":"Americas","SUBREGION":"South America","REGION_WB":"Latin America & Caribbean","NAME_LEN":4,"LONG_LEN":4,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2,"MAX_LABEL":7,"LABEL_X":-72.90016,"LABEL_Y":-12.976679,"NE_ID":1159321163,"WIKIDATAID":"Q419","NAME_AR":"بيرو","NAME_BN":"পেরু","NAME_DE":"Peru","NAME_EN":"Peru","NAME_ES":"Perú","NAME_FA":"پرو","NAME_FR":"Pérou","NAME_EL":"Περού","NAME_HE":"פרו","NAME_HI":"पेरू","NAME_HU":"Peru","NAME_ID":"Peru","NAME_IT":"Perù","NAME_JA":"ペルー","NAME_KO":"페루","NAME_NL":"Peru","NAME_PL":"Peru","NAME_PT":"Peru","NAME_RU":"Перу","NAME_SV":"Peru","NAME_TR":"Peru","NAME_UK":"Перу","NAME_UR":"پیرو","NAME_VI":"Peru","NAME_ZH":"秘鲁","NAME_ZHT":"秘魯","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-81.410943,-18.347975,-68.66508,-0.057205],"geometry":{"type":"Polygon","coordinates":[[[-69.893635,-4.298187],[-70.794769,-4.251265],[-70.928843,-4.401591],[-71.748406,-4.593983],[-72.891928,-5.274561],[-72.964507,-5.741251],[-73.219711,-6.089189],[-73.120027,-6.629931],[-73.724487,-6.918595],[-73.723401,-7.340999],[-73.987235,-7.52383],[-73.571059,-8.424447],[-73.015383,-9.032833],[-73.226713,-9.462213],[-72.563033,-9.520194],[-72.184891,-10.053598],[-71.302412,-10.079436],[-70.481894,-9.490118],[-70.548686,-11.009147],[-70.093752,-11.123972],[-69.529678,-10.951734],[-68.66508,-12.5613],[-68.88008,-12.899729],[-68.929224,-13.602684],[-68.948887,-14.453639],[-69.339535,-14.953195],[-69.160347,-15.323974],[-69.389764,-15.660129],[-68.959635,-16.500698],[-69.590424,-17.580012],[-69.858444,-18.092694],[-70.372572,-18.347975],[-71.37525,-17.773799],[-71.462041,-17.363488],[-73.44453,-16.359363],[-75.237883,-15.265683],[-76.009205,-14.649286],[-76.423469,-13.823187],[-76.259242,-13.535039],[-77.106192,-12.222716],[-78.092153,-10.377712],[-79.036953,-8.386568],[-79.44592,-7.930833],[-79.760578,-7.194341],[-80.537482,-6.541668],[-81.249996,-6.136834],[-80.926347,-5.690557],[-81.410943,-4.736765],[-81.09967,-4.036394],[-80.302561,-3.404856],[-80.184015,-3.821162],[-80.469295,-4.059287],[-80.442242,-4.425724],[-80.028908,-4.346091],[-79.624979,-4.454198],[-79.205289,-4.959129],[-78.639897,-4.547784],[-78.450684,-3.873097],[-77.837905,-3.003021],[-76.635394,-2.608678],[-75.544996,-1.56161],[-75.233723,-0.911417],[-75.373223,-0.152032],[-75.106625,-0.057205],[-74.441601,-0.53082],[-74.122395,-1.002833],[-73.659504,-1.260491],[-73.070392,-2.308954],[-72.325787,-2.434218],[-71.774761,-2.16979],[-71.413646,-2.342802],[-70.813476,-2.256865],[-70.047709,-2.725156],[-70.692682,-3.742872],[-70.394044,-3.766591],[-69.893635,-4.298187]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Colombia","SOV_A3":"COL","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Colombia","ADM0_A3":"COL","GEOU_DIF":0,"GEOUNIT":"Colombia","GU_A3":"COL","SU_DIF":0,"SUBUNIT":"Colombia","SU_A3":"COL","BRK_DIFF":0,"NAME":"Colombia","NAME_LONG":"Colombia","BRK_A3":"COL","BRK_NAME":"Colombia","BRK_GROUP":null,"ABBREV":"Col.","POSTAL":"CO","FORMAL_EN":"Republic of Colombia","FORMAL_FR":null,"NAME_CIAWF":"Colombia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Colombia","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":1,"MAPCOLOR9":3,"MAPCOLOR13":1,"POP_EST":50339443,"POP_RANK":16,"POP_YEAR":2019,"GDP_MD":323615,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"CO","ISO_A2":"CO","ISO_A2_EH":"CO","ISO_A3":"COL","ISO_A3_EH":"COL","ISO_N3":"170","ISO_N3_EH":"170","UN_A3":"170","WB_A2":"CO","WB_A3":"COL","WOE_ID":23424787,"WOE_ID_EH":23424787,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"COL","ADM0_DIFF":null,"ADM0_TLC":"COL","ADM0_A3_US":"COL","ADM0_A3_FR":"COL","ADM0_A3_RU":"COL","ADM0_A3_ES":"COL","ADM0_A3_CN":"COL","ADM0_A3_TW":"COL","ADM0_A3_IN":"COL","ADM0_A3_NP":"COL","ADM0_A3_PK":"COL","ADM0_A3_DE":"COL","ADM0_A3_GB":"COL","ADM0_A3_BR":"COL","ADM0_A3_IL":"COL","ADM0_A3_PS":"COL","ADM0_A3_SA":"COL","ADM0_A3_EG":"COL","ADM0_A3_MA":"COL","ADM0_A3_PT":"COL","ADM0_A3_AR":"COL","ADM0_A3_JP":"COL","ADM0_A3_KO":"COL","ADM0_A3_VN":"COL","ADM0_A3_TR":"COL","ADM0_A3_ID":"COL","ADM0_A3_PL":"COL","ADM0_A3_GR":"COL","ADM0_A3_IT":"COL","ADM0_A3_NL":"COL","ADM0_A3_SE":"COL","ADM0_A3_BD":"COL","ADM0_A3_UA":"COL","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"South America","REGION_UN":"Americas","SUBREGION":"South America","REGION_WB":"Latin America & Caribbean","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":7,"LABEL_X":-73.174347,"LABEL_Y":3.373111,"NE_ID":1159320517,"WIKIDATAID":"Q739","NAME_AR":"كولومبيا","NAME_BN":"কলম্বিয়া","NAME_DE":"Kolumbien","NAME_EN":"Colombia","NAME_ES":"Colombia","NAME_FA":"کلمبیا","NAME_FR":"Colombie","NAME_EL":"Κολομβία","NAME_HE":"קולומביה","NAME_HI":"कोलम्बिया","NAME_HU":"Kolumbia","NAME_ID":"Kolombia","NAME_IT":"Colombia","NAME_JA":"コロンビア","NAME_KO":"콜롬비아","NAME_NL":"Colombia","NAME_PL":"Kolumbia","NAME_PT":"Colômbia","NAME_RU":"Колумбия","NAME_SV":"Colombia","NAME_TR":"Kolombiya","NAME_UK":"Колумбія","NAME_UR":"کولمبیا","NAME_VI":"Colombia","NAME_ZH":"哥伦比亚","NAME_ZHT":"哥倫比亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-78.990935,-4.298187,-66.876326,12.437303],"geometry":{"type":"Polygon","coordinates":[[[-66.876326,1.253361],[-67.065048,1.130112],[-67.259998,1.719999],[-67.53781,2.037163],[-67.868565,1.692455],[-69.816973,1.714805],[-69.804597,1.089081],[-69.218638,0.985677],[-69.252434,0.602651],[-69.452396,0.706159],[-70.015566,0.541414],[-70.020656,-0.185156],[-69.577065,-0.549992],[-69.420486,-1.122619],[-69.444102,-1.556287],[-69.893635,-4.298187],[-70.394044,-3.766591],[-70.692682,-3.742872],[-70.047709,-2.725156],[-70.813476,-2.256865],[-71.413646,-2.342802],[-71.774761,-2.16979],[-72.325787,-2.434218],[-73.070392,-2.308954],[-73.659504,-1.260491],[-74.122395,-1.002833],[-74.441601,-0.53082],[-75.106625,-0.057205],[-75.373223,-0.152032],[-75.801466,0.084801],[-76.292314,0.416047],[-76.57638,0.256936],[-77.424984,0.395687],[-77.668613,0.825893],[-77.855061,0.809925],[-78.855259,1.380924],[-78.990935,1.69137],[-78.617831,1.766404],[-78.662118,2.267355],[-78.42761,2.629556],[-77.931543,2.696606],[-77.510431,3.325017],[-77.12769,3.849636],[-77.496272,4.087606],[-77.307601,4.667984],[-77.533221,5.582812],[-77.318815,5.845354],[-77.476661,6.691116],[-77.881571,7.223771],[-77.753414,7.70984],[-77.431108,7.638061],[-77.242566,7.935278],[-77.474723,8.524286],[-77.353361,8.670505],[-76.836674,8.638749],[-76.086384,9.336821],[-75.6746,9.443248],[-75.664704,9.774003],[-75.480426,10.61899],[-74.906895,11.083045],[-74.276753,11.102036],[-74.197223,11.310473],[-73.414764,11.227015],[-72.627835,11.731972],[-72.238195,11.95555],[-71.75409,12.437303],[-71.399822,12.376041],[-71.137461,12.112982],[-71.331584,11.776284],[-71.973922,11.608672],[-72.227575,11.108702],[-72.614658,10.821975],[-72.905286,10.450344],[-73.027604,9.73677],[-73.304952,9.152],[-72.78873,9.085027],[-72.660495,8.625288],[-72.439862,8.405275],[-72.360901,8.002638],[-72.479679,7.632506],[-72.444487,7.423785],[-72.198352,7.340431],[-71.960176,6.991615],[-70.674234,7.087785],[-70.093313,6.960376],[-69.38948,6.099861],[-68.985319,6.206805],[-68.265052,6.153268],[-67.695087,6.267318],[-67.34144,6.095468],[-67.521532,5.55687],[-67.744697,5.221129],[-67.823012,4.503937],[-67.621836,3.839482],[-67.337564,3.542342],[-67.303173,3.318454],[-67.809938,2.820655],[-67.447092,2.600281],[-67.181294,2.250638],[-66.876326,1.253361]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Panama","SOV_A3":"PAN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Panama","ADM0_A3":"PAN","GEOU_DIF":0,"GEOUNIT":"Panama","GU_A3":"PAN","SU_DIF":0,"SUBUNIT":"Panama","SU_A3":"PAN","BRK_DIFF":0,"NAME":"Panama","NAME_LONG":"Panama","BRK_A3":"PAN","BRK_NAME":"Panama","BRK_GROUP":null,"ABBREV":"Pan.","POSTAL":"PA","FORMAL_EN":"Republic of Panama","FORMAL_FR":null,"NAME_CIAWF":"Panama","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Panama","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":4,"MAPCOLOR9":6,"MAPCOLOR13":3,"POP_EST":4246439,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":66800,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"PM","ISO_A2":"PA","ISO_A2_EH":"PA","ISO_A3":"PAN","ISO_A3_EH":"PAN","ISO_N3":"591","ISO_N3_EH":"591","UN_A3":"591","WB_A2":"PA","WB_A3":"PAN","WOE_ID":23424924,"WOE_ID_EH":23424924,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"PAN","ADM0_DIFF":null,"ADM0_TLC":"PAN","ADM0_A3_US":"PAN","ADM0_A3_FR":"PAN","ADM0_A3_RU":"PAN","ADM0_A3_ES":"PAN","ADM0_A3_CN":"PAN","ADM0_A3_TW":"PAN","ADM0_A3_IN":"PAN","ADM0_A3_NP":"PAN","ADM0_A3_PK":"PAN","ADM0_A3_DE":"PAN","ADM0_A3_GB":"PAN","ADM0_A3_BR":"PAN","ADM0_A3_IL":"PAN","ADM0_A3_PS":"PAN","ADM0_A3_SA":"PAN","ADM0_A3_EG":"PAN","ADM0_A3_MA":"PAN","ADM0_A3_PT":"PAN","ADM0_A3_AR":"PAN","ADM0_A3_JP":"PAN","ADM0_A3_KO":"PAN","ADM0_A3_VN":"PAN","ADM0_A3_TR":"PAN","ADM0_A3_ID":"PAN","ADM0_A3_PL":"PAN","ADM0_A3_GR":"PAN","ADM0_A3_IT":"PAN","ADM0_A3_NL":"PAN","ADM0_A3_SE":"PAN","ADM0_A3_BD":"PAN","ADM0_A3_UA":"PAN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Central America","REGION_WB":"Latin America & Caribbean","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":-80.352106,"LABEL_Y":8.72198,"NE_ID":1159321161,"WIKIDATAID":"Q804","NAME_AR":"بنما","NAME_BN":"পানামা","NAME_DE":"Panama","NAME_EN":"Panama","NAME_ES":"Panamá","NAME_FA":"پاناما","NAME_FR":"Panama","NAME_EL":"Παναμάς","NAME_HE":"פנמה","NAME_HI":"पनामा","NAME_HU":"Panama","NAME_ID":"Panama","NAME_IT":"Panama","NAME_JA":"パナマ","NAME_KO":"파나마","NAME_NL":"Panama","NAME_PL":"Panama","NAME_PT":"Panamá","NAME_RU":"Панама","NAME_SV":"Panama","NAME_TR":"Panama","NAME_UK":"Панама","NAME_UR":"پاناما","NAME_VI":"Panama","NAME_ZH":"巴拿马","NAME_ZHT":"巴拿馬","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-82.965783,7.220541,-77.242566,9.61161],"geometry":{"type":"Polygon","coordinates":[[[-77.353361,8.670505],[-77.474723,8.524286],[-77.242566,7.935278],[-77.431108,7.638061],[-77.753414,7.70984],[-77.881571,7.223771],[-78.214936,7.512255],[-78.429161,8.052041],[-78.182096,8.319182],[-78.435465,8.387705],[-78.622121,8.718124],[-79.120307,8.996092],[-79.557877,8.932375],[-79.760578,8.584515],[-80.164481,8.333316],[-80.382659,8.298409],[-80.480689,8.090308],[-80.00369,7.547524],[-80.276671,7.419754],[-80.421158,7.271572],[-80.886401,7.220541],[-81.059543,7.817921],[-81.189716,7.647906],[-81.519515,7.70661],[-81.721311,8.108963],[-82.131441,8.175393],[-82.390934,8.292362],[-82.820081,8.290864],[-82.850958,8.073823],[-82.965783,8.225028],[-82.913176,8.423517],[-82.829771,8.626295],[-82.868657,8.807266],[-82.719183,8.925709],[-82.927155,9.07433],[-82.932891,9.476812],[-82.546196,9.566135],[-82.187123,9.207449],[-82.207586,8.995575],[-81.808567,8.950617],[-81.714154,9.031955],[-81.439287,8.786234],[-80.947302,8.858504],[-80.521901,9.111072],[-79.9146,9.312765],[-79.573303,9.61161],[-79.021192,9.552931],[-79.05845,9.454565],[-78.500888,9.420459],[-78.055928,9.24773],[-77.729514,8.946844],[-77.353361,8.670505]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Costa Rica","SOV_A3":"CRI","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Costa Rica","ADM0_A3":"CRI","GEOU_DIF":0,"GEOUNIT":"Costa Rica","GU_A3":"CRI","SU_DIF":0,"SUBUNIT":"Costa Rica","SU_A3":"CRI","BRK_DIFF":0,"NAME":"Costa Rica","NAME_LONG":"Costa Rica","BRK_A3":"CRI","BRK_NAME":"Costa Rica","BRK_GROUP":null,"ABBREV":"C.R.","POSTAL":"CR","FORMAL_EN":"Republic of Costa Rica","FORMAL_FR":null,"NAME_CIAWF":"Costa Rica","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Costa Rica","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":2,"MAPCOLOR9":4,"MAPCOLOR13":2,"POP_EST":5047561,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":61801,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"3. Upper middle income","FIPS_10":"CS","ISO_A2":"CR","ISO_A2_EH":"CR","ISO_A3":"CRI","ISO_A3_EH":"CRI","ISO_N3":"188","ISO_N3_EH":"188","UN_A3":"188","WB_A2":"CR","WB_A3":"CRI","WOE_ID":23424791,"WOE_ID_EH":23424791,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"CRI","ADM0_DIFF":null,"ADM0_TLC":"CRI","ADM0_A3_US":"CRI","ADM0_A3_FR":"CRI","ADM0_A3_RU":"CRI","ADM0_A3_ES":"CRI","ADM0_A3_CN":"CRI","ADM0_A3_TW":"CRI","ADM0_A3_IN":"CRI","ADM0_A3_NP":"CRI","ADM0_A3_PK":"CRI","ADM0_A3_DE":"CRI","ADM0_A3_GB":"CRI","ADM0_A3_BR":"CRI","ADM0_A3_IL":"CRI","ADM0_A3_PS":"CRI","ADM0_A3_SA":"CRI","ADM0_A3_EG":"CRI","ADM0_A3_MA":"CRI","ADM0_A3_PT":"CRI","ADM0_A3_AR":"CRI","ADM0_A3_JP":"CRI","ADM0_A3_KO":"CRI","ADM0_A3_VN":"CRI","ADM0_A3_TR":"CRI","ADM0_A3_ID":"CRI","ADM0_A3_PL":"CRI","ADM0_A3_GR":"CRI","ADM0_A3_IT":"CRI","ADM0_A3_NL":"CRI","ADM0_A3_SE":"CRI","ADM0_A3_BD":"CRI","ADM0_A3_UA":"CRI","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Central America","REGION_WB":"Latin America & Caribbean","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.5,"MAX_LABEL":8,"LABEL_X":-84.077922,"LABEL_Y":10.0651,"NE_ID":1159320525,"WIKIDATAID":"Q800","NAME_AR":"كوستاريكا","NAME_BN":"কোস্টা রিকা","NAME_DE":"Costa Rica","NAME_EN":"Costa Rica","NAME_ES":"Costa Rica","NAME_FA":"کاستاریکا","NAME_FR":"Costa Rica","NAME_EL":"Κόστα Ρίκα","NAME_HE":"קוסטה ריקה","NAME_HI":"कोस्टा रीका","NAME_HU":"Costa Rica","NAME_ID":"Kosta Rika","NAME_IT":"Costa Rica","NAME_JA":"コスタリカ","NAME_KO":"코스타리카","NAME_NL":"Costa Rica","NAME_PL":"Kostaryka","NAME_PT":"Costa Rica","NAME_RU":"Коста-Рика","NAME_SV":"Costa Rica","NAME_TR":"Kosta Rika","NAME_UK":"Коста-Рика","NAME_UR":"کوسٹاریکا","NAME_VI":"Costa Rica","NAME_ZH":"哥斯达黎加","NAME_ZHT":"哥斯大黎加","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-85.941725,8.225028,-82.546196,11.217119],"geometry":{"type":"Polygon","coordinates":[[[-82.546196,9.566135],[-82.932891,9.476812],[-82.927155,9.07433],[-82.719183,8.925709],[-82.868657,8.807266],[-82.829771,8.626295],[-82.913176,8.423517],[-82.965783,8.225028],[-83.508437,8.446927],[-83.711474,8.656836],[-83.596313,8.830443],[-83.632642,9.051386],[-83.909886,9.290803],[-84.303402,9.487354],[-84.647644,9.615537],[-84.713351,9.908052],[-84.97566,10.086723],[-84.911375,9.795992],[-85.110923,9.55704],[-85.339488,9.834542],[-85.660787,9.933347],[-85.797445,10.134886],[-85.791709,10.439337],[-85.659314,10.754331],[-85.941725,10.895278],[-85.71254,11.088445],[-85.561852,11.217119],[-84.903003,10.952303],[-84.673069,11.082657],[-84.355931,10.999226],[-84.190179,10.79345],[-83.895054,10.726839],[-83.655612,10.938764],[-83.40232,10.395438],[-83.015677,9.992982],[-82.546196,9.566135]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Nicaragua","SOV_A3":"NIC","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Nicaragua","ADM0_A3":"NIC","GEOU_DIF":0,"GEOUNIT":"Nicaragua","GU_A3":"NIC","SU_DIF":0,"SUBUNIT":"Nicaragua","SU_A3":"NIC","BRK_DIFF":0,"NAME":"Nicaragua","NAME_LONG":"Nicaragua","BRK_A3":"NIC","BRK_NAME":"Nicaragua","BRK_GROUP":null,"ABBREV":"Nic.","POSTAL":"NI","FORMAL_EN":"Republic of Nicaragua","FORMAL_FR":null,"NAME_CIAWF":"Nicaragua","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Nicaragua","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":1,"MAPCOLOR13":9,"POP_EST":6545502,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":12520,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"NU","ISO_A2":"NI","ISO_A2_EH":"NI","ISO_A3":"NIC","ISO_A3_EH":"NIC","ISO_N3":"558","ISO_N3_EH":"558","UN_A3":"558","WB_A2":"NI","WB_A3":"NIC","WOE_ID":23424915,"WOE_ID_EH":23424915,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"NIC","ADM0_DIFF":null,"ADM0_TLC":"NIC","ADM0_A3_US":"NIC","ADM0_A3_FR":"NIC","ADM0_A3_RU":"NIC","ADM0_A3_ES":"NIC","ADM0_A3_CN":"NIC","ADM0_A3_TW":"NIC","ADM0_A3_IN":"NIC","ADM0_A3_NP":"NIC","ADM0_A3_PK":"NIC","ADM0_A3_DE":"NIC","ADM0_A3_GB":"NIC","ADM0_A3_BR":"NIC","ADM0_A3_IL":"NIC","ADM0_A3_PS":"NIC","ADM0_A3_SA":"NIC","ADM0_A3_EG":"NIC","ADM0_A3_MA":"NIC","ADM0_A3_PT":"NIC","ADM0_A3_AR":"NIC","ADM0_A3_JP":"NIC","ADM0_A3_KO":"NIC","ADM0_A3_VN":"NIC","ADM0_A3_TR":"NIC","ADM0_A3_ID":"NIC","ADM0_A3_PL":"NIC","ADM0_A3_GR":"NIC","ADM0_A3_IT":"NIC","ADM0_A3_NL":"NIC","ADM0_A3_SE":"NIC","ADM0_A3_BD":"NIC","ADM0_A3_UA":"NIC","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Central America","REGION_WB":"Latin America & Caribbean","NAME_LEN":9,"LONG_LEN":9,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":-85.069347,"LABEL_Y":12.670697,"NE_ID":1159321091,"WIKIDATAID":"Q811","NAME_AR":"نيكاراغوا","NAME_BN":"নিকারাগুয়া","NAME_DE":"Nicaragua","NAME_EN":"Nicaragua","NAME_ES":"Nicaragua","NAME_FA":"نیکاراگوئه","NAME_FR":"Nicaragua","NAME_EL":"Νικαράγουα","NAME_HE":"ניקרגואה","NAME_HI":"निकारागुआ","NAME_HU":"Nicaragua","NAME_ID":"Nikaragua","NAME_IT":"Nicaragua","NAME_JA":"ニカラグア","NAME_KO":"니카라과","NAME_NL":"Nicaragua","NAME_PL":"Nikaragua","NAME_PT":"Nicarágua","NAME_RU":"Никарагуа","NAME_SV":"Nicaragua","NAME_TR":"Nikaragua","NAME_UK":"Нікарагуа","NAME_UR":"نکاراگوا","NAME_VI":"Nicaragua","NAME_ZH":"尼加拉瓜","NAME_ZHT":"尼加拉瓜","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-87.668493,10.726839,-83.147219,15.016267],"geometry":{"type":"Polygon","coordinates":[[[-83.655612,10.938764],[-83.895054,10.726839],[-84.190179,10.79345],[-84.355931,10.999226],[-84.673069,11.082657],[-84.903003,10.952303],[-85.561852,11.217119],[-85.71254,11.088445],[-86.058488,11.403439],[-86.52585,11.806877],[-86.745992,12.143962],[-87.167516,12.458258],[-87.668493,12.90991],[-87.557467,13.064552],[-87.392386,12.914018],[-87.316654,12.984686],[-87.005769,13.025794],[-86.880557,13.254204],[-86.733822,13.263093],[-86.755087,13.754845],[-86.520708,13.778487],[-86.312142,13.771356],[-86.096264,14.038187],[-85.801295,13.836055],[-85.698665,13.960078],[-85.514413,14.079012],[-85.165365,14.35437],[-85.148751,14.560197],[-85.052787,14.551541],[-84.924501,14.790493],[-84.820037,14.819587],[-84.649582,14.666805],[-84.449336,14.621614],[-84.228342,14.748764],[-83.975721,14.749436],[-83.628585,14.880074],[-83.489989,15.016267],[-83.147219,14.995829],[-83.233234,14.899866],[-83.284162,14.676624],[-83.182126,14.310703],[-83.4125,13.970078],[-83.519832,13.567699],[-83.552207,13.127054],[-83.498515,12.869292],[-83.473323,12.419087],[-83.626104,12.32085],[-83.719613,11.893124],[-83.650858,11.629032],[-83.85547,11.373311],[-83.808936,11.103044],[-83.655612,10.938764]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Honduras","SOV_A3":"HND","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Honduras","ADM0_A3":"HND","GEOU_DIF":0,"GEOUNIT":"Honduras","GU_A3":"HND","SU_DIF":0,"SUBUNIT":"Honduras","SU_A3":"HND","BRK_DIFF":0,"NAME":"Honduras","NAME_LONG":"Honduras","BRK_A3":"HND","BRK_NAME":"Honduras","BRK_GROUP":null,"ABBREV":"Hond.","POSTAL":"HN","FORMAL_EN":"Republic of Honduras","FORMAL_FR":null,"NAME_CIAWF":"Honduras","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Honduras","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":5,"MAPCOLOR9":2,"MAPCOLOR13":5,"POP_EST":9746117,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":25095,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"HO","ISO_A2":"HN","ISO_A2_EH":"HN","ISO_A3":"HND","ISO_A3_EH":"HND","ISO_N3":"340","ISO_N3_EH":"340","UN_A3":"340","WB_A2":"HN","WB_A3":"HND","WOE_ID":23424841,"WOE_ID_EH":23424841,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"HND","ADM0_DIFF":null,"ADM0_TLC":"HND","ADM0_A3_US":"HND","ADM0_A3_FR":"HND","ADM0_A3_RU":"HND","ADM0_A3_ES":"HND","ADM0_A3_CN":"HND","ADM0_A3_TW":"HND","ADM0_A3_IN":"HND","ADM0_A3_NP":"HND","ADM0_A3_PK":"HND","ADM0_A3_DE":"HND","ADM0_A3_GB":"HND","ADM0_A3_BR":"HND","ADM0_A3_IL":"HND","ADM0_A3_PS":"HND","ADM0_A3_SA":"HND","ADM0_A3_EG":"HND","ADM0_A3_MA":"HND","ADM0_A3_PT":"HND","ADM0_A3_AR":"HND","ADM0_A3_JP":"HND","ADM0_A3_KO":"HND","ADM0_A3_VN":"HND","ADM0_A3_TR":"HND","ADM0_A3_ID":"HND","ADM0_A3_PL":"HND","ADM0_A3_GR":"HND","ADM0_A3_IT":"HND","ADM0_A3_NL":"HND","ADM0_A3_SE":"HND","ADM0_A3_BD":"HND","ADM0_A3_UA":"HND","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Central America","REGION_WB":"Latin America & Caribbean","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4.5,"MAX_LABEL":9.5,"LABEL_X":-86.887604,"LABEL_Y":14.794801,"NE_ID":1159320827,"WIKIDATAID":"Q783","NAME_AR":"هندوراس","NAME_BN":"হন্ডুরাস","NAME_DE":"Honduras","NAME_EN":"Honduras","NAME_ES":"Honduras","NAME_FA":"هندوراس","NAME_FR":"Honduras","NAME_EL":"Ονδούρα","NAME_HE":"הונדורס","NAME_HI":"हौण्डुरस","NAME_HU":"Honduras","NAME_ID":"Honduras","NAME_IT":"Honduras","NAME_JA":"ホンジュラス","NAME_KO":"온두라스","NAME_NL":"Honduras","NAME_PL":"Honduras","NAME_PT":"Honduras","NAME_RU":"Гондурас","NAME_SV":"Honduras","NAME_TR":"Honduras","NAME_UK":"Гондурас","NAME_UR":"ہونڈوراس","NAME_VI":"Honduras","NAME_ZH":"洪都拉斯","NAME_ZHT":"宏都拉斯","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-89.353326,12.984686,-83.147219,16.005406],"geometry":{"type":"Polygon","coordinates":[[[-83.147219,14.995829],[-83.489989,15.016267],[-83.628585,14.880074],[-83.975721,14.749436],[-84.228342,14.748764],[-84.449336,14.621614],[-84.649582,14.666805],[-84.820037,14.819587],[-84.924501,14.790493],[-85.052787,14.551541],[-85.148751,14.560197],[-85.165365,14.35437],[-85.514413,14.079012],[-85.698665,13.960078],[-85.801295,13.836055],[-86.096264,14.038187],[-86.312142,13.771356],[-86.520708,13.778487],[-86.755087,13.754845],[-86.733822,13.263093],[-86.880557,13.254204],[-87.005769,13.025794],[-87.316654,12.984686],[-87.489409,13.297535],[-87.793111,13.38448],[-87.723503,13.78505],[-87.859515,13.893312],[-88.065343,13.964626],[-88.503998,13.845486],[-88.541231,13.980155],[-88.843073,14.140507],[-89.058512,14.340029],[-89.353326,14.424133],[-89.145535,14.678019],[-89.22522,14.874286],[-89.154811,15.066419],[-88.68068,15.346247],[-88.225023,15.727722],[-88.121153,15.688655],[-87.901813,15.864458],[-87.61568,15.878799],[-87.522921,15.797279],[-87.367762,15.84694],[-86.903191,15.756713],[-86.440946,15.782835],[-86.119234,15.893449],[-86.001954,16.005406],[-85.683317,15.953652],[-85.444004,15.885749],[-85.182444,15.909158],[-84.983722,15.995923],[-84.52698,15.857224],[-84.368256,15.835158],[-84.063055,15.648244],[-83.773977,15.424072],[-83.410381,15.270903],[-83.147219,14.995829]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"El Salvador","SOV_A3":"SLV","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"El Salvador","ADM0_A3":"SLV","GEOU_DIF":0,"GEOUNIT":"El Salvador","GU_A3":"SLV","SU_DIF":0,"SUBUNIT":"El Salvador","SU_A3":"SLV","BRK_DIFF":0,"NAME":"El Salvador","NAME_LONG":"El Salvador","BRK_A3":"SLV","BRK_NAME":"El Salvador","BRK_GROUP":null,"ABBREV":"El. S.","POSTAL":"SV","FORMAL_EN":"Republic of El Salvador","FORMAL_FR":null,"NAME_CIAWF":"El Salvador","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"El Salvador","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":6,"MAPCOLOR13":8,"POP_EST":6453553,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":27022,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"ES","ISO_A2":"SV","ISO_A2_EH":"SV","ISO_A3":"SLV","ISO_A3_EH":"SLV","ISO_N3":"222","ISO_N3_EH":"222","UN_A3":"222","WB_A2":"SV","WB_A3":"SLV","WOE_ID":23424807,"WOE_ID_EH":23424807,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"SLV","ADM0_DIFF":null,"ADM0_TLC":"SLV","ADM0_A3_US":"SLV","ADM0_A3_FR":"SLV","ADM0_A3_RU":"SLV","ADM0_A3_ES":"SLV","ADM0_A3_CN":"SLV","ADM0_A3_TW":"SLV","ADM0_A3_IN":"SLV","ADM0_A3_NP":"SLV","ADM0_A3_PK":"SLV","ADM0_A3_DE":"SLV","ADM0_A3_GB":"SLV","ADM0_A3_BR":"SLV","ADM0_A3_IL":"SLV","ADM0_A3_PS":"SLV","ADM0_A3_SA":"SLV","ADM0_A3_EG":"SLV","ADM0_A3_MA":"SLV","ADM0_A3_PT":"SLV","ADM0_A3_AR":"SLV","ADM0_A3_JP":"SLV","ADM0_A3_KO":"SLV","ADM0_A3_VN":"SLV","ADM0_A3_TR":"SLV","ADM0_A3_ID":"SLV","ADM0_A3_PL":"SLV","ADM0_A3_GR":"SLV","ADM0_A3_IT":"SLV","ADM0_A3_NL":"SLV","ADM0_A3_SE":"SLV","ADM0_A3_BD":"SLV","ADM0_A3_UA":"SLV","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Central America","REGION_WB":"Latin America & Caribbean","NAME_LEN":11,"LONG_LEN":11,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":-88.890124,"LABEL_Y":13.685371,"NE_ID":1159321253,"WIKIDATAID":"Q792","NAME_AR":"السلفادور","NAME_BN":"এল সালভাদোর","NAME_DE":"El Salvador","NAME_EN":"El Salvador","NAME_ES":"El Salvador","NAME_FA":"السالوادور","NAME_FR":"Salvador","NAME_EL":"Ελ Σαλβαδόρ","NAME_HE":"אל סלוודור","NAME_HI":"अल साल्वाडोर","NAME_HU":"Salvador","NAME_ID":"El Salvador","NAME_IT":"El Salvador","NAME_JA":"エルサルバドル","NAME_KO":"엘살바도르","NAME_NL":"El Salvador","NAME_PL":"Salwador","NAME_PT":"El Salvador","NAME_RU":"Сальвадор","NAME_SV":"El Salvador","NAME_TR":"El Salvador","NAME_UK":"Сальвадор","NAME_UR":"ایل سیلواڈور","NAME_VI":"El Salvador","NAME_ZH":"萨尔瓦多","NAME_ZHT":"薩爾瓦多","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-90.095555,13.149017,-87.723503,14.424133],"geometry":{"type":"Polygon","coordinates":[[[-89.353326,14.424133],[-89.058512,14.340029],[-88.843073,14.140507],[-88.541231,13.980155],[-88.503998,13.845486],[-88.065343,13.964626],[-87.859515,13.893312],[-87.723503,13.78505],[-87.793111,13.38448],[-87.904112,13.149017],[-88.483302,13.163951],[-88.843228,13.259734],[-89.256743,13.458533],[-89.812394,13.520622],[-90.095555,13.735338],[-90.064678,13.88197],[-89.721934,14.134228],[-89.534219,14.244816],[-89.587343,14.362586],[-89.353326,14.424133]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Guatemala","SOV_A3":"GTM","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Guatemala","ADM0_A3":"GTM","GEOU_DIF":0,"GEOUNIT":"Guatemala","GU_A3":"GTM","SU_DIF":0,"SUBUNIT":"Guatemala","SU_A3":"GTM","BRK_DIFF":0,"NAME":"Guatemala","NAME_LONG":"Guatemala","BRK_A3":"GTM","BRK_NAME":"Guatemala","BRK_GROUP":null,"ABBREV":"Guat.","POSTAL":"GT","FORMAL_EN":"Republic of Guatemala","FORMAL_FR":null,"NAME_CIAWF":"Guatemala","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Guatemala","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":3,"MAPCOLOR9":3,"MAPCOLOR13":6,"POP_EST":16604026,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":76710,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"GT","ISO_A2":"GT","ISO_A2_EH":"GT","ISO_A3":"GTM","ISO_A3_EH":"GTM","ISO_N3":"320","ISO_N3_EH":"320","UN_A3":"320","WB_A2":"GT","WB_A3":"GTM","WOE_ID":23424834,"WOE_ID_EH":23424834,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"GTM","ADM0_DIFF":null,"ADM0_TLC":"GTM","ADM0_A3_US":"GTM","ADM0_A3_FR":"GTM","ADM0_A3_RU":"GTM","ADM0_A3_ES":"GTM","ADM0_A3_CN":"GTM","ADM0_A3_TW":"GTM","ADM0_A3_IN":"GTM","ADM0_A3_NP":"GTM","ADM0_A3_PK":"GTM","ADM0_A3_DE":"GTM","ADM0_A3_GB":"GTM","ADM0_A3_BR":"GTM","ADM0_A3_IL":"GTM","ADM0_A3_PS":"GTM","ADM0_A3_SA":"GTM","ADM0_A3_EG":"GTM","ADM0_A3_MA":"GTM","ADM0_A3_PT":"GTM","ADM0_A3_AR":"GTM","ADM0_A3_JP":"GTM","ADM0_A3_KO":"GTM","ADM0_A3_VN":"GTM","ADM0_A3_TR":"GTM","ADM0_A3_ID":"GTM","ADM0_A3_PL":"GTM","ADM0_A3_GR":"GTM","ADM0_A3_IT":"GTM","ADM0_A3_NL":"GTM","ADM0_A3_SE":"GTM","ADM0_A3_BD":"GTM","ADM0_A3_UA":"GTM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Central America","REGION_WB":"Latin America & Caribbean","NAME_LEN":9,"LONG_LEN":9,"ABBREV_LEN":5,"TINY":4,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":-90.497134,"LABEL_Y":14.982133,"NE_ID":1159320815,"WIKIDATAID":"Q774","NAME_AR":"غواتيمالا","NAME_BN":"গুয়াতেমালা","NAME_DE":"Guatemala","NAME_EN":"Guatemala","NAME_ES":"Guatemala","NAME_FA":"گواتمالا","NAME_FR":"Guatemala","NAME_EL":"Γουατεμάλα","NAME_HE":"גואטמלה","NAME_HI":"ग्वाटेमाला","NAME_HU":"Guatemala","NAME_ID":"Guatemala","NAME_IT":"Guatemala","NAME_JA":"グアテマラ","NAME_KO":"과테말라","NAME_NL":"Guatemala","NAME_PL":"Gwatemala","NAME_PT":"Guatemala","NAME_RU":"Гватемала","NAME_SV":"Guatemala","NAME_TR":"Guatemala","NAME_UK":"Гватемала","NAME_UR":"گواتیمالا","NAME_VI":"Guatemala","NAME_ZH":"危地马拉","NAME_ZHT":"瓜地馬拉","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-92.229249,13.735338,-88.225023,17.819326],"geometry":{"type":"Polygon","coordinates":[[[-92.22775,14.538829],[-92.20323,14.830103],[-92.087216,15.064585],[-92.229249,15.251447],[-91.74796,16.066565],[-90.464473,16.069562],[-90.438867,16.41011],[-90.600847,16.470778],[-90.711822,16.687483],[-91.08167,16.918477],[-91.453921,17.252177],[-91.002269,17.254658],[-91.00152,17.817595],[-90.067934,17.819326],[-89.14308,17.808319],[-89.150806,17.015577],[-89.229122,15.886938],[-88.930613,15.887273],[-88.604586,15.70638],[-88.518364,15.855389],[-88.225023,15.727722],[-88.68068,15.346247],[-89.154811,15.066419],[-89.22522,14.874286],[-89.145535,14.678019],[-89.353326,14.424133],[-89.587343,14.362586],[-89.534219,14.244816],[-89.721934,14.134228],[-90.064678,13.88197],[-90.095555,13.735338],[-90.608624,13.909771],[-91.23241,13.927832],[-91.689747,14.126218],[-92.22775,14.538829]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Belize","SOV_A3":"BLZ","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Belize","ADM0_A3":"BLZ","GEOU_DIF":0,"GEOUNIT":"Belize","GU_A3":"BLZ","SU_DIF":0,"SUBUNIT":"Belize","SU_A3":"BLZ","BRK_DIFF":0,"NAME":"Belize","NAME_LONG":"Belize","BRK_A3":"BLZ","BRK_NAME":"Belize","BRK_GROUP":null,"ABBREV":"Belize","POSTAL":"BZ","FORMAL_EN":"Belize","FORMAL_FR":null,"NAME_CIAWF":"Belize","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Belize","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":5,"MAPCOLOR13":7,"POP_EST":390353,"POP_RANK":10,"POP_YEAR":2019,"GDP_MD":1879,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"BH","ISO_A2":"BZ","ISO_A2_EH":"BZ","ISO_A3":"BLZ","ISO_A3_EH":"BLZ","ISO_N3":"084","ISO_N3_EH":"084","UN_A3":"084","WB_A2":"BZ","WB_A3":"BLZ","WOE_ID":23424760,"WOE_ID_EH":23424760,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BLZ","ADM0_DIFF":null,"ADM0_TLC":"BLZ","ADM0_A3_US":"BLZ","ADM0_A3_FR":"BLZ","ADM0_A3_RU":"BLZ","ADM0_A3_ES":"BLZ","ADM0_A3_CN":"BLZ","ADM0_A3_TW":"BLZ","ADM0_A3_IN":"BLZ","ADM0_A3_NP":"BLZ","ADM0_A3_PK":"BLZ","ADM0_A3_DE":"BLZ","ADM0_A3_GB":"BLZ","ADM0_A3_BR":"BLZ","ADM0_A3_IL":"BLZ","ADM0_A3_PS":"BLZ","ADM0_A3_SA":"BLZ","ADM0_A3_EG":"BLZ","ADM0_A3_MA":"BLZ","ADM0_A3_PT":"BLZ","ADM0_A3_AR":"BLZ","ADM0_A3_JP":"BLZ","ADM0_A3_KO":"BLZ","ADM0_A3_VN":"BLZ","ADM0_A3_TR":"BLZ","ADM0_A3_ID":"BLZ","ADM0_A3_PL":"BLZ","ADM0_A3_GR":"BLZ","ADM0_A3_IT":"BLZ","ADM0_A3_NL":"BLZ","ADM0_A3_SE":"BLZ","ADM0_A3_BD":"BLZ","ADM0_A3_UA":"BLZ","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Central America","REGION_WB":"Latin America & Caribbean","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":-88.712962,"LABEL_Y":17.202068,"NE_ID":1159320431,"WIKIDATAID":"Q242","NAME_AR":"بليز","NAME_BN":"বেলিজ","NAME_DE":"Belize","NAME_EN":"Belize","NAME_ES":"Belice","NAME_FA":"بلیز","NAME_FR":"Belize","NAME_EL":"Μπελίζ","NAME_HE":"בליז","NAME_HI":"बेलीज़","NAME_HU":"Belize","NAME_ID":"Belize","NAME_IT":"Belize","NAME_JA":"ベリーズ","NAME_KO":"벨리즈","NAME_NL":"Belize","NAME_PL":"Belize","NAME_PT":"Belize","NAME_RU":"Белиз","NAME_SV":"Belize","NAME_TR":"Belize","NAME_UK":"Беліз","NAME_UR":"بیلیز","NAME_VI":"Belize","NAME_ZH":"伯利兹","NAME_ZHT":"貝里斯","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-89.229122,15.886938,-88.106813,18.499982],"geometry":{"type":"Polygon","coordinates":[[[-89.14308,17.808319],[-89.150909,17.955468],[-89.029857,18.001511],[-88.848344,17.883198],[-88.490123,18.486831],[-88.300031,18.499982],[-88.296336,18.353273],[-88.106813,18.348674],[-88.123479,18.076675],[-88.285355,17.644143],[-88.197867,17.489475],[-88.302641,17.131694],[-88.239518,17.036066],[-88.355428,16.530774],[-88.551825,16.265467],[-88.732434,16.233635],[-88.930613,15.887273],[-89.229122,15.886938],[-89.150806,17.015577],[-89.14308,17.808319]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Venezuela","SOV_A3":"VEN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Venezuela","ADM0_A3":"VEN","GEOU_DIF":0,"GEOUNIT":"Venezuela","GU_A3":"VEN","SU_DIF":0,"SUBUNIT":"Venezuela","SU_A3":"VEN","BRK_DIFF":0,"NAME":"Venezuela","NAME_LONG":"Venezuela","BRK_A3":"VEN","BRK_NAME":"Venezuela","BRK_GROUP":null,"ABBREV":"Ven.","POSTAL":"VE","FORMAL_EN":"Bolivarian Republic of Venezuela","FORMAL_FR":"República Bolivariana de Venezuela","NAME_CIAWF":"Venezuela","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Venezuela, RB","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":3,"MAPCOLOR9":1,"MAPCOLOR13":4,"POP_EST":28515829,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":482359,"GDP_YEAR":2014,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"3. Upper middle income","FIPS_10":"VE","ISO_A2":"VE","ISO_A2_EH":"VE","ISO_A3":"VEN","ISO_A3_EH":"VEN","ISO_N3":"862","ISO_N3_EH":"862","UN_A3":"862","WB_A2":"VE","WB_A3":"VEN","WOE_ID":23424982,"WOE_ID_EH":23424982,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"VEN","ADM0_DIFF":null,"ADM0_TLC":"VEN","ADM0_A3_US":"VEN","ADM0_A3_FR":"VEN","ADM0_A3_RU":"VEN","ADM0_A3_ES":"VEN","ADM0_A3_CN":"VEN","ADM0_A3_TW":"VEN","ADM0_A3_IN":"VEN","ADM0_A3_NP":"VEN","ADM0_A3_PK":"VEN","ADM0_A3_DE":"VEN","ADM0_A3_GB":"VEN","ADM0_A3_BR":"VEN","ADM0_A3_IL":"VEN","ADM0_A3_PS":"VEN","ADM0_A3_SA":"VEN","ADM0_A3_EG":"VEN","ADM0_A3_MA":"VEN","ADM0_A3_PT":"VEN","ADM0_A3_AR":"VEN","ADM0_A3_JP":"VEN","ADM0_A3_KO":"VEN","ADM0_A3_VN":"VEN","ADM0_A3_TR":"VEN","ADM0_A3_ID":"VEN","ADM0_A3_PL":"VEN","ADM0_A3_GR":"VEN","ADM0_A3_IT":"VEN","ADM0_A3_NL":"VEN","ADM0_A3_SE":"VEN","ADM0_A3_BD":"VEN","ADM0_A3_UA":"VEN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"South America","REGION_UN":"Americas","SUBREGION":"South America","REGION_WB":"Latin America & Caribbean","NAME_LEN":9,"LONG_LEN":9,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.5,"MAX_LABEL":7.5,"LABEL_X":-64.599381,"LABEL_Y":7.182476,"NE_ID":1159321411,"WIKIDATAID":"Q717","NAME_AR":"فنزويلا","NAME_BN":"ভেনেজুয়েলা","NAME_DE":"Venezuela","NAME_EN":"Venezuela","NAME_ES":"Venezuela","NAME_FA":"ونزوئلا","NAME_FR":"Venezuela","NAME_EL":"Βενεζουέλα","NAME_HE":"ונצואלה","NAME_HI":"वेनेज़ुएला","NAME_HU":"Venezuela","NAME_ID":"Venezuela","NAME_IT":"Venezuela","NAME_JA":"ベネズエラ","NAME_KO":"베네수엘라","NAME_NL":"Venezuela","NAME_PL":"Wenezuela","NAME_PT":"Venezuela","NAME_RU":"Венесуэла","NAME_SV":"Venezuela","NAME_TR":"Venezuela","NAME_UK":"Венесуела","NAME_UR":"وینیزویلا","NAME_VI":"Venezuela","NAME_ZH":"委内瑞拉","NAME_ZHT":"委內瑞拉","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-73.304952,0.724452,-59.758285,12.162307],"geometry":{"type":"Polygon","coordinates":[[[-60.733574,5.200277],[-60.601179,4.918098],[-60.966893,4.536468],[-62.08543,4.162124],[-62.804533,4.006965],[-63.093198,3.770571],[-63.888343,4.02053],[-64.628659,4.148481],[-64.816064,4.056445],[-64.368494,3.79721],[-64.408828,3.126786],[-64.269999,2.497006],[-63.422867,2.411068],[-63.368788,2.2009],[-64.083085,1.916369],[-64.199306,1.492855],[-64.611012,1.328731],[-65.354713,1.095282],[-65.548267,0.789254],[-66.325765,0.724452],[-66.876326,1.253361],[-67.181294,2.250638],[-67.447092,2.600281],[-67.809938,2.820655],[-67.303173,3.318454],[-67.337564,3.542342],[-67.621836,3.839482],[-67.823012,4.503937],[-67.744697,5.221129],[-67.521532,5.55687],[-67.34144,6.095468],[-67.695087,6.267318],[-68.265052,6.153268],[-68.985319,6.206805],[-69.38948,6.099861],[-70.093313,6.960376],[-70.674234,7.087785],[-71.960176,6.991615],[-72.198352,7.340431],[-72.444487,7.423785],[-72.479679,7.632506],[-72.360901,8.002638],[-72.439862,8.405275],[-72.660495,8.625288],[-72.78873,9.085027],[-73.304952,9.152],[-73.027604,9.73677],[-72.905286,10.450344],[-72.614658,10.821975],[-72.227575,11.108702],[-71.973922,11.608672],[-71.331584,11.776284],[-71.360006,11.539994],[-71.94705,11.423282],[-71.620868,10.96946],[-71.633064,10.446494],[-72.074174,9.865651],[-71.695644,9.072263],[-71.264559,9.137195],[-71.039999,9.859993],[-71.350084,10.211935],[-71.400623,10.968969],[-70.155299,11.375482],[-70.293843,11.846822],[-69.943245,12.162307],[-69.5843,11.459611],[-68.882999,11.443385],[-68.233271,10.885744],[-68.194127,10.554653],[-67.296249,10.545868],[-66.227864,10.648627],[-65.655238,10.200799],[-64.890452,10.077215],[-64.329479,10.389599],[-64.318007,10.641418],[-63.079322,10.701724],[-61.880946,10.715625],[-62.730119,10.420269],[-62.388512,9.948204],[-61.588767,9.873067],[-60.830597,9.38134],[-60.671252,8.580174],[-60.150096,8.602757],[-59.758285,8.367035],[-60.550588,7.779603],[-60.637973,7.415],[-60.295668,7.043911],[-60.543999,6.856584],[-61.159336,6.696077],[-61.139415,6.234297],[-61.410303,5.959068],[-60.733574,5.200277]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Guyana","SOV_A3":"GUY","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Guyana","ADM0_A3":"GUY","GEOU_DIF":0,"GEOUNIT":"Guyana","GU_A3":"GUY","SU_DIF":0,"SUBUNIT":"Guyana","SU_A3":"GUY","BRK_DIFF":0,"NAME":"Guyana","NAME_LONG":"Guyana","BRK_A3":"GUY","BRK_NAME":"Guyana","BRK_GROUP":null,"ABBREV":"Guy.","POSTAL":"GY","FORMAL_EN":"Co-operative Republic of Guyana","FORMAL_FR":null,"NAME_CIAWF":"Guyana","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Guyana","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":1,"MAPCOLOR9":4,"MAPCOLOR13":8,"POP_EST":782766,"POP_RANK":11,"POP_YEAR":2019,"GDP_MD":5173,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"GY","ISO_A2":"GY","ISO_A2_EH":"GY","ISO_A3":"GUY","ISO_A3_EH":"GUY","ISO_N3":"328","ISO_N3_EH":"328","UN_A3":"328","WB_A2":"GY","WB_A3":"GUY","WOE_ID":23424836,"WOE_ID_EH":23424836,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"GUY","ADM0_DIFF":null,"ADM0_TLC":"GUY","ADM0_A3_US":"GUY","ADM0_A3_FR":"GUY","ADM0_A3_RU":"GUY","ADM0_A3_ES":"GUY","ADM0_A3_CN":"GUY","ADM0_A3_TW":"GUY","ADM0_A3_IN":"GUY","ADM0_A3_NP":"GUY","ADM0_A3_PK":"GUY","ADM0_A3_DE":"GUY","ADM0_A3_GB":"GUY","ADM0_A3_BR":"GUY","ADM0_A3_IL":"GUY","ADM0_A3_PS":"GUY","ADM0_A3_SA":"GUY","ADM0_A3_EG":"GUY","ADM0_A3_MA":"GUY","ADM0_A3_PT":"GUY","ADM0_A3_AR":"GUY","ADM0_A3_JP":"GUY","ADM0_A3_KO":"GUY","ADM0_A3_VN":"GUY","ADM0_A3_TR":"GUY","ADM0_A3_ID":"GUY","ADM0_A3_PL":"GUY","ADM0_A3_GR":"GUY","ADM0_A3_IT":"GUY","ADM0_A3_NL":"GUY","ADM0_A3_SE":"GUY","ADM0_A3_BD":"GUY","ADM0_A3_UA":"GUY","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"South America","REGION_UN":"Americas","SUBREGION":"South America","REGION_WB":"Latin America & Caribbean","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":-58.942643,"LABEL_Y":5.124317,"NE_ID":1159320817,"WIKIDATAID":"Q734","NAME_AR":"غيانا","NAME_BN":"গায়ানা","NAME_DE":"Guyana","NAME_EN":"Guyana","NAME_ES":"Guyana","NAME_FA":"گویان","NAME_FR":"Guyana","NAME_EL":"Γουιάνα","NAME_HE":"גיאנה","NAME_HI":"गयाना","NAME_HU":"Guyana","NAME_ID":"Guyana","NAME_IT":"Guyana","NAME_JA":"ガイアナ","NAME_KO":"가이아나","NAME_NL":"Guyana","NAME_PL":"Gujana","NAME_PT":"Guiana","NAME_RU":"Гайана","NAME_SV":"Guyana","NAME_TR":"Guyana","NAME_UK":"Гаяна","NAME_UR":"گیانا","NAME_VI":"Guyana","NAME_ZH":"圭亚那","NAME_ZHT":"圭亞那","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-61.410303,1.268088,-56.539386,8.367035],"geometry":{"type":"Polygon","coordinates":[[[-56.539386,1.899523],[-56.782704,1.863711],[-57.335823,1.948538],[-57.660971,1.682585],[-58.11345,1.507195],[-58.429477,1.463942],[-58.540013,1.268088],[-59.030862,1.317698],[-59.646044,1.786894],[-59.718546,2.24963],[-59.974525,2.755233],[-59.815413,3.606499],[-59.53804,3.958803],[-59.767406,4.423503],[-60.111002,4.574967],[-59.980959,5.014061],[-60.213683,5.244486],[-60.733574,5.200277],[-61.410303,5.959068],[-61.139415,6.234297],[-61.159336,6.696077],[-60.543999,6.856584],[-60.295668,7.043911],[-60.637973,7.415],[-60.550588,7.779603],[-59.758285,8.367035],[-59.101684,7.999202],[-58.482962,7.347691],[-58.454876,6.832787],[-58.078103,6.809094],[-57.542219,6.321268],[-57.147436,5.97315],[-57.307246,5.073567],[-57.914289,4.812626],[-57.86021,4.576801],[-58.044694,4.060864],[-57.601569,3.334655],[-57.281433,3.333492],[-57.150098,2.768927],[-56.539386,1.899523]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Suriname","SOV_A3":"SUR","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Suriname","ADM0_A3":"SUR","GEOU_DIF":0,"GEOUNIT":"Suriname","GU_A3":"SUR","SU_DIF":0,"SUBUNIT":"Suriname","SU_A3":"SUR","BRK_DIFF":0,"NAME":"Suriname","NAME_LONG":"Suriname","BRK_A3":"SUR","BRK_NAME":"Suriname","BRK_GROUP":null,"ABBREV":"Sur.","POSTAL":"SR","FORMAL_EN":"Republic of Suriname","FORMAL_FR":null,"NAME_CIAWF":"Suriname","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Suriname","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":7,"MAPCOLOR13":6,"POP_EST":581363,"POP_RANK":11,"POP_YEAR":2019,"GDP_MD":3697,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"NS","ISO_A2":"SR","ISO_A2_EH":"SR","ISO_A3":"SUR","ISO_A3_EH":"SUR","ISO_N3":"740","ISO_N3_EH":"740","UN_A3":"740","WB_A2":"SR","WB_A3":"SUR","WOE_ID":23424913,"WOE_ID_EH":23424913,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"SUR","ADM0_DIFF":null,"ADM0_TLC":"SUR","ADM0_A3_US":"SUR","ADM0_A3_FR":"SUR","ADM0_A3_RU":"SUR","ADM0_A3_ES":"SUR","ADM0_A3_CN":"SUR","ADM0_A3_TW":"SUR","ADM0_A3_IN":"SUR","ADM0_A3_NP":"SUR","ADM0_A3_PK":"SUR","ADM0_A3_DE":"SUR","ADM0_A3_GB":"SUR","ADM0_A3_BR":"SUR","ADM0_A3_IL":"SUR","ADM0_A3_PS":"SUR","ADM0_A3_SA":"SUR","ADM0_A3_EG":"SUR","ADM0_A3_MA":"SUR","ADM0_A3_PT":"SUR","ADM0_A3_AR":"SUR","ADM0_A3_JP":"SUR","ADM0_A3_KO":"SUR","ADM0_A3_VN":"SUR","ADM0_A3_TR":"SUR","ADM0_A3_ID":"SUR","ADM0_A3_PL":"SUR","ADM0_A3_GR":"SUR","ADM0_A3_IT":"SUR","ADM0_A3_NL":"SUR","ADM0_A3_SE":"SUR","ADM0_A3_BD":"SUR","ADM0_A3_UA":"SUR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"South America","REGION_UN":"Americas","SUBREGION":"South America","REGION_WB":"Latin America & Caribbean","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":-55.91094,"LABEL_Y":4.143987,"NE_ID":1159321281,"WIKIDATAID":"Q730","NAME_AR":"سورينام","NAME_BN":"সুরিনাম","NAME_DE":"Suriname","NAME_EN":"Suriname","NAME_ES":"Surinam","NAME_FA":"سورینام","NAME_FR":"Suriname","NAME_EL":"Σουρινάμ","NAME_HE":"סורינאם","NAME_HI":"सूरीनाम","NAME_HU":"Suriname","NAME_ID":"Suriname","NAME_IT":"Suriname","NAME_JA":"スリナム","NAME_KO":"수리남","NAME_NL":"Suriname","NAME_PL":"Surinam","NAME_PT":"Suriname","NAME_RU":"Суринам","NAME_SV":"Surinam","NAME_TR":"Surinam","NAME_UK":"Суринам","NAME_UR":"سرینام","NAME_VI":"Suriname","NAME_ZH":"苏里南","NAME_ZHT":"蘇利南","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-58.044694,1.817667,-53.958045,6.025291],"geometry":{"type":"Polygon","coordinates":[[[-54.524754,2.311849],[-55.097587,2.523748],[-55.569755,2.421506],[-55.973322,2.510364],[-56.073342,2.220795],[-55.9056,2.021996],[-55.995698,1.817667],[-56.539386,1.899523],[-57.150098,2.768927],[-57.281433,3.333492],[-57.601569,3.334655],[-58.044694,4.060864],[-57.86021,4.576801],[-57.914289,4.812626],[-57.307246,5.073567],[-57.147436,5.97315],[-55.949318,5.772878],[-55.84178,5.953125],[-55.03325,6.025291],[-53.958045,5.756548],[-54.478633,4.896756],[-54.399542,4.212611],[-54.006931,3.620038],[-54.181726,3.18978],[-54.269705,2.732392],[-54.524754,2.311849]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"France","SOV_A3":"FR1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Country","TLC":"1","ADMIN":"France","ADM0_A3":"FRA","GEOU_DIF":0,"GEOUNIT":"France","GU_A3":"FRA","SU_DIF":0,"SUBUNIT":"France","SU_A3":"FRA","BRK_DIFF":0,"NAME":"France","NAME_LONG":"France","BRK_A3":"FRA","BRK_NAME":"France","BRK_GROUP":null,"ABBREV":"Fr.","POSTAL":"F","FORMAL_EN":"French Republic","FORMAL_FR":null,"NAME_CIAWF":"France","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"France","NAME_ALT":null,"MAPCOLOR7":7,"MAPCOLOR8":5,"MAPCOLOR9":9,"MAPCOLOR13":11,"POP_EST":67059887,"POP_RANK":16,"POP_YEAR":2019,"GDP_MD":2715518,"GDP_YEAR":2019,"ECONOMY":"1. Developed region: G7","INCOME_GRP":"1. High income: OECD","FIPS_10":"FR","ISO_A2":"-99","ISO_A2_EH":"FR","ISO_A3":"-99","ISO_A3_EH":"FRA","ISO_N3":"-99","ISO_N3_EH":"250","UN_A3":"250","WB_A2":"FR","WB_A3":"FRA","WOE_ID":-90,"WOE_ID_EH":23424819,"WOE_NOTE":"Includes only Metropolitan France (including Corsica)","ADM0_ISO":"FRA","ADM0_DIFF":null,"ADM0_TLC":"FRA","ADM0_A3_US":"FRA","ADM0_A3_FR":"FRA","ADM0_A3_RU":"FRA","ADM0_A3_ES":"FRA","ADM0_A3_CN":"FRA","ADM0_A3_TW":"FRA","ADM0_A3_IN":"FRA","ADM0_A3_NP":"FRA","ADM0_A3_PK":"FRA","ADM0_A3_DE":"FRA","ADM0_A3_GB":"FRA","ADM0_A3_BR":"FRA","ADM0_A3_IL":"FRA","ADM0_A3_PS":"FRA","ADM0_A3_SA":"FRA","ADM0_A3_EG":"FRA","ADM0_A3_MA":"FRA","ADM0_A3_PT":"FRA","ADM0_A3_AR":"FRA","ADM0_A3_JP":"FRA","ADM0_A3_KO":"FRA","ADM0_A3_VN":"FRA","ADM0_A3_TR":"FRA","ADM0_A3_ID":"FRA","ADM0_A3_PL":"FRA","ADM0_A3_GR":"FRA","ADM0_A3_IT":"FRA","ADM0_A3_NL":"FRA","ADM0_A3_SE":"FRA","ADM0_A3_BD":"FRA","ADM0_A3_UA":"FRA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Western Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":3,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":6.7,"LABEL_X":2.552275,"LABEL_Y":46.696113,"NE_ID":1159320637,"WIKIDATAID":"Q142","NAME_AR":"فرنسا","NAME_BN":"ফ্রান্স","NAME_DE":"Frankreich","NAME_EN":"France","NAME_ES":"Francia","NAME_FA":"فرانسه","NAME_FR":"France","NAME_EL":"Γαλλία","NAME_HE":"צרפת","NAME_HI":"फ़्रान्स","NAME_HU":"Franciaország","NAME_ID":"Prancis","NAME_IT":"Francia","NAME_JA":"フランス","NAME_KO":"프랑스","NAME_NL":"Frankrijk","NAME_PL":"Francja","NAME_PT":"França","NAME_RU":"Франция","NAME_SV":"Frankrike","NAME_TR":"Fransa","NAME_UK":"Франція","NAME_UR":"فرانس","NAME_VI":"Pháp","NAME_ZH":"法国","NAME_ZHT":"法國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-54.524754,2.053389,9.560016,51.148506],"geometry":{"type":"MultiPolygon","coordinates":[[[[-51.657797,4.156232],[-52.249338,3.241094],[-52.556425,2.504705],[-52.939657,2.124858],[-53.418465,2.053389],[-53.554839,2.334897],[-53.778521,2.376703],[-54.088063,2.105557],[-54.524754,2.311849],[-54.269705,2.732392],[-54.181726,3.18978],[-54.006931,3.620038],[-54.399542,4.212611],[-54.478633,4.896756],[-53.958045,5.756548],[-53.618453,5.646529],[-52.882141,5.409851],[-51.823343,4.565768],[-51.657797,4.156232]]],[[[6.18632,49.463803],[6.65823,49.201958],[8.099279,49.017784],[7.593676,48.333019],[7.466759,47.620582],[7.192202,47.449766],[6.736571,47.541801],[6.768714,47.287708],[6.037389,46.725779],[6.022609,46.27299],[6.5001,46.429673],[6.843593,45.991147],[6.802355,45.70858],[7.096652,45.333099],[6.749955,45.028518],[7.007562,44.254767],[7.549596,44.127901],[7.435185,43.693845],[6.529245,43.128892],[4.556963,43.399651],[3.100411,43.075201],[2.985999,42.473015],[1.826793,42.343385],[0.701591,42.795734],[0.338047,42.579546],[-1.502771,43.034014],[-1.901351,43.422802],[-1.384225,44.02261],[-1.193798,46.014918],[-2.225724,47.064363],[-2.963276,47.570327],[-4.491555,47.954954],[-4.59235,48.68416],[-3.295814,48.901692],[-1.616511,48.644421],[-1.933494,49.776342],[-0.989469,49.347376],[1.338761,50.127173],[1.639001,50.946606],[2.513573,51.148506],[2.658422,50.796848],[3.123252,50.780363],[3.588184,50.378992],[4.286023,49.907497],[4.799222,49.985373],[5.674052,49.529484],[5.897759,49.442667],[6.18632,49.463803]]],[[[8.746009,42.628122],[9.390001,43.009985],[9.560016,42.152492],[9.229752,41.380007],[8.775723,41.583612],[8.544213,42.256517],[8.746009,42.628122]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Ecuador","SOV_A3":"ECU","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Ecuador","ADM0_A3":"ECU","GEOU_DIF":0,"GEOUNIT":"Ecuador","GU_A3":"ECU","SU_DIF":0,"SUBUNIT":"Ecuador","SU_A3":"ECU","BRK_DIFF":0,"NAME":"Ecuador","NAME_LONG":"Ecuador","BRK_A3":"ECU","BRK_NAME":"Ecuador","BRK_GROUP":null,"ABBREV":"Ecu.","POSTAL":"EC","FORMAL_EN":"Republic of Ecuador","FORMAL_FR":null,"NAME_CIAWF":"Ecuador","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Ecuador","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":5,"MAPCOLOR9":2,"MAPCOLOR13":12,"POP_EST":17373662,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":107435,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"EC","ISO_A2":"EC","ISO_A2_EH":"EC","ISO_A3":"ECU","ISO_A3_EH":"ECU","ISO_N3":"218","ISO_N3_EH":"218","UN_A3":"218","WB_A2":"EC","WB_A3":"ECU","WOE_ID":23424801,"WOE_ID_EH":23424801,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ECU","ADM0_DIFF":null,"ADM0_TLC":"ECU","ADM0_A3_US":"ECU","ADM0_A3_FR":"ECU","ADM0_A3_RU":"ECU","ADM0_A3_ES":"ECU","ADM0_A3_CN":"ECU","ADM0_A3_TW":"ECU","ADM0_A3_IN":"ECU","ADM0_A3_NP":"ECU","ADM0_A3_PK":"ECU","ADM0_A3_DE":"ECU","ADM0_A3_GB":"ECU","ADM0_A3_BR":"ECU","ADM0_A3_IL":"ECU","ADM0_A3_PS":"ECU","ADM0_A3_SA":"ECU","ADM0_A3_EG":"ECU","ADM0_A3_MA":"ECU","ADM0_A3_PT":"ECU","ADM0_A3_AR":"ECU","ADM0_A3_JP":"ECU","ADM0_A3_KO":"ECU","ADM0_A3_VN":"ECU","ADM0_A3_TR":"ECU","ADM0_A3_ID":"ECU","ADM0_A3_PL":"ECU","ADM0_A3_GR":"ECU","ADM0_A3_IT":"ECU","ADM0_A3_NL":"ECU","ADM0_A3_SE":"ECU","ADM0_A3_BD":"ECU","ADM0_A3_UA":"ECU","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"South America","REGION_UN":"Americas","SUBREGION":"South America","REGION_WB":"Latin America & Caribbean","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":-78.188375,"LABEL_Y":-1.259076,"NE_ID":1159320567,"WIKIDATAID":"Q736","NAME_AR":"الإكوادور","NAME_BN":"ইকুয়েডর","NAME_DE":"Ecuador","NAME_EN":"Ecuador","NAME_ES":"Ecuador","NAME_FA":"اکوادور","NAME_FR":"Équateur","NAME_EL":"Εκουαδόρ","NAME_HE":"אקוודור","NAME_HI":"ईक्वाडोर","NAME_HU":"Ecuador","NAME_ID":"Ekuador","NAME_IT":"Ecuador","NAME_JA":"エクアドル","NAME_KO":"에콰도르","NAME_NL":"Ecuador","NAME_PL":"Ekwador","NAME_PT":"Equador","NAME_RU":"Эквадор","NAME_SV":"Ecuador","NAME_TR":"Ekvador","NAME_UK":"Еквадор","NAME_UR":"ایکواڈور","NAME_VI":"Ecuador","NAME_ZH":"厄瓜多尔","NAME_ZHT":"厄瓜多爾","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-80.967765,-4.959129,-75.233723,1.380924],"geometry":{"type":"Polygon","coordinates":[[[-75.373223,-0.152032],[-75.233723,-0.911417],[-75.544996,-1.56161],[-76.635394,-2.608678],[-77.837905,-3.003021],[-78.450684,-3.873097],[-78.639897,-4.547784],[-79.205289,-4.959129],[-79.624979,-4.454198],[-80.028908,-4.346091],[-80.442242,-4.425724],[-80.469295,-4.059287],[-80.184015,-3.821162],[-80.302561,-3.404856],[-79.770293,-2.657512],[-79.986559,-2.220794],[-80.368784,-2.685159],[-80.967765,-2.246943],[-80.764806,-1.965048],[-80.933659,-1.057455],[-80.58337,-0.906663],[-80.399325,-0.283703],[-80.020898,0.36034],[-80.09061,0.768429],[-79.542762,0.982938],[-78.855259,1.380924],[-77.855061,0.809925],[-77.668613,0.825893],[-77.424984,0.395687],[-76.57638,0.256936],[-76.292314,0.416047],[-75.801466,0.084801],[-75.373223,-0.152032]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"United States of America","SOV_A3":"US1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"Puerto Rico","ADM0_A3":"PRI","GEOU_DIF":0,"GEOUNIT":"Puerto Rico","GU_A3":"PRI","SU_DIF":0,"SUBUNIT":"Puerto Rico","SU_A3":"PRI","BRK_DIFF":0,"NAME":"Puerto Rico","NAME_LONG":"Puerto Rico","BRK_A3":"PRI","BRK_NAME":"Puerto Rico","BRK_GROUP":null,"ABBREV":"P.R.","POSTAL":"PR","FORMAL_EN":"Commonwealth of Puerto Rico","FORMAL_FR":null,"NAME_CIAWF":"Puerto Rico","NOTE_ADM0":"U.S.A.","NOTE_BRK":null,"NAME_SORT":"Puerto Rico","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":5,"MAPCOLOR9":1,"MAPCOLOR13":1,"POP_EST":3193694,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":104988,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"RQ","ISO_A2":"PR","ISO_A2_EH":"PR","ISO_A3":"PRI","ISO_A3_EH":"PRI","ISO_N3":"630","ISO_N3_EH":"630","UN_A3":"630","WB_A2":"PR","WB_A3":"PRI","WOE_ID":23424935,"WOE_ID_EH":23424935,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"PRI","ADM0_DIFF":null,"ADM0_TLC":"PRI","ADM0_A3_US":"PRI","ADM0_A3_FR":"PRI","ADM0_A3_RU":"PRI","ADM0_A3_ES":"PRI","ADM0_A3_CN":"PRI","ADM0_A3_TW":"PRI","ADM0_A3_IN":"PRI","ADM0_A3_NP":"PRI","ADM0_A3_PK":"PRI","ADM0_A3_DE":"PRI","ADM0_A3_GB":"PRI","ADM0_A3_BR":"PRI","ADM0_A3_IL":"PRI","ADM0_A3_PS":"PRI","ADM0_A3_SA":"PRI","ADM0_A3_EG":"PRI","ADM0_A3_MA":"PRI","ADM0_A3_PT":"PRI","ADM0_A3_AR":"PRI","ADM0_A3_JP":"PRI","ADM0_A3_KO":"PRI","ADM0_A3_VN":"PRI","ADM0_A3_TR":"PRI","ADM0_A3_ID":"PRI","ADM0_A3_PL":"PRI","ADM0_A3_GR":"PRI","ADM0_A3_IT":"PRI","ADM0_A3_NL":"PRI","ADM0_A3_SE":"PRI","ADM0_A3_BD":"PRI","ADM0_A3_UA":"PRI","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":11,"LONG_LEN":11,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":-66.481065,"LABEL_Y":18.234668,"NE_ID":1159321363,"WIKIDATAID":"Q1183","NAME_AR":"بورتوريكو","NAME_BN":"পুয়ের্তো রিকো","NAME_DE":"Puerto Rico","NAME_EN":"Puerto Rico","NAME_ES":"Puerto Rico","NAME_FA":"پورتوریکو","NAME_FR":"Porto Rico","NAME_EL":"Πουέρτο Ρίκο","NAME_HE":"פוארטו ריקו","NAME_HI":"पोर्टो रीको","NAME_HU":"Puerto Rico","NAME_ID":"Puerto Riko","NAME_IT":"Porto Rico","NAME_JA":"プエルトリコ","NAME_KO":"푸에르토리코","NAME_NL":"Puerto Rico","NAME_PL":"Portoryko","NAME_PT":"Porto Rico","NAME_RU":"Пуэрто-Рико","NAME_SV":"Puerto Rico","NAME_TR":"Porto Riko","NAME_UK":"Пуерто-Рико","NAME_UR":"پورٹو ریکو","NAME_VI":"Puerto Rico","NAME_ZH":"波多黎各","NAME_ZHT":"波多黎各","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-67.242428,17.946553,-65.591004,18.520601],"geometry":{"type":"Polygon","coordinates":[[[-66.282434,18.514762],[-65.771303,18.426679],[-65.591004,18.228035],[-65.847164,17.975906],[-66.599934,17.981823],[-67.184162,17.946553],[-67.242428,18.37446],[-67.100679,18.520601],[-66.282434,18.514762]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Jamaica","SOV_A3":"JAM","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Jamaica","ADM0_A3":"JAM","GEOU_DIF":0,"GEOUNIT":"Jamaica","GU_A3":"JAM","SU_DIF":0,"SUBUNIT":"Jamaica","SU_A3":"JAM","BRK_DIFF":0,"NAME":"Jamaica","NAME_LONG":"Jamaica","BRK_A3":"JAM","BRK_NAME":"Jamaica","BRK_GROUP":null,"ABBREV":"Jam.","POSTAL":"J","FORMAL_EN":"Jamaica","FORMAL_FR":null,"NAME_CIAWF":"Jamaica","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Jamaica","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":2,"MAPCOLOR9":4,"MAPCOLOR13":10,"POP_EST":2948279,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":16458,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"JM","ISO_A2":"JM","ISO_A2_EH":"JM","ISO_A3":"JAM","ISO_A3_EH":"JAM","ISO_N3":"388","ISO_N3_EH":"388","UN_A3":"388","WB_A2":"JM","WB_A3":"JAM","WOE_ID":23424858,"WOE_ID_EH":23424858,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"JAM","ADM0_DIFF":null,"ADM0_TLC":"JAM","ADM0_A3_US":"JAM","ADM0_A3_FR":"JAM","ADM0_A3_RU":"JAM","ADM0_A3_ES":"JAM","ADM0_A3_CN":"JAM","ADM0_A3_TW":"JAM","ADM0_A3_IN":"JAM","ADM0_A3_NP":"JAM","ADM0_A3_PK":"JAM","ADM0_A3_DE":"JAM","ADM0_A3_GB":"JAM","ADM0_A3_BR":"JAM","ADM0_A3_IL":"JAM","ADM0_A3_PS":"JAM","ADM0_A3_SA":"JAM","ADM0_A3_EG":"JAM","ADM0_A3_MA":"JAM","ADM0_A3_PT":"JAM","ADM0_A3_AR":"JAM","ADM0_A3_JP":"JAM","ADM0_A3_KO":"JAM","ADM0_A3_VN":"JAM","ADM0_A3_TR":"JAM","ADM0_A3_ID":"JAM","ADM0_A3_PL":"JAM","ADM0_A3_GR":"JAM","ADM0_A3_IT":"JAM","ADM0_A3_NL":"JAM","ADM0_A3_SE":"JAM","ADM0_A3_BD":"JAM","ADM0_A3_UA":"JAM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":-77.318767,"LABEL_Y":18.137124,"NE_ID":1159320931,"WIKIDATAID":"Q766","NAME_AR":"جامايكا","NAME_BN":"জ্যামাইকা","NAME_DE":"Jamaika","NAME_EN":"Jamaica","NAME_ES":"Jamaica","NAME_FA":"جامائیکا","NAME_FR":"Jamaïque","NAME_EL":"Τζαμάικα","NAME_HE":"ג'מייקה","NAME_HI":"जमैका","NAME_HU":"Jamaica","NAME_ID":"Jamaika","NAME_IT":"Giamaica","NAME_JA":"ジャマイカ","NAME_KO":"자메이카","NAME_NL":"Jamaica","NAME_PL":"Jamajka","NAME_PT":"Jamaica","NAME_RU":"Ямайка","NAME_SV":"Jamaica","NAME_TR":"Jamaika","NAME_UK":"Ямайка","NAME_UR":"جمیکا","NAME_VI":"Jamaica","NAME_ZH":"牙买加","NAME_ZHT":"牙買加","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-78.337719,17.701116,-76.199659,18.524218],"geometry":{"type":"Polygon","coordinates":[[[-77.569601,18.490525],[-76.896619,18.400867],[-76.365359,18.160701],[-76.199659,17.886867],[-76.902561,17.868238],[-77.206341,17.701116],[-77.766023,17.861597],[-78.337719,18.225968],[-78.217727,18.454533],[-77.797365,18.524218],[-77.569601,18.490525]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Cuba","SOV_A3":"CU1","ADM0_DIF":1,"LEVEL":1,"TYPE":"Sovereignty","TLC":"1","ADMIN":"Cuba","ADM0_A3":"CUB","GEOU_DIF":0,"GEOUNIT":"Cuba","GU_A3":"CUB","SU_DIF":0,"SUBUNIT":"Cuba","SU_A3":"CUB","BRK_DIFF":0,"NAME":"Cuba","NAME_LONG":"Cuba","BRK_A3":"CUB","BRK_NAME":"Cuba","BRK_GROUP":null,"ABBREV":"Cuba","POSTAL":"CU","FORMAL_EN":"Republic of Cuba","FORMAL_FR":null,"NAME_CIAWF":"Cuba","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Cuba","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":5,"MAPCOLOR9":3,"MAPCOLOR13":4,"POP_EST":11333483,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":100023,"GDP_YEAR":2018,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"3. Upper middle income","FIPS_10":"CU","ISO_A2":"CU","ISO_A2_EH":"CU","ISO_A3":"CUB","ISO_A3_EH":"CUB","ISO_N3":"192","ISO_N3_EH":"192","UN_A3":"192","WB_A2":"CU","WB_A3":"CUB","WOE_ID":23424793,"WOE_ID_EH":23424793,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"CUB","ADM0_DIFF":null,"ADM0_TLC":"CUB","ADM0_A3_US":"CUB","ADM0_A3_FR":"CUB","ADM0_A3_RU":"CUB","ADM0_A3_ES":"CUB","ADM0_A3_CN":"CUB","ADM0_A3_TW":"CUB","ADM0_A3_IN":"CUB","ADM0_A3_NP":"CUB","ADM0_A3_PK":"CUB","ADM0_A3_DE":"CUB","ADM0_A3_GB":"CUB","ADM0_A3_BR":"CUB","ADM0_A3_IL":"CUB","ADM0_A3_PS":"CUB","ADM0_A3_SA":"CUB","ADM0_A3_EG":"CUB","ADM0_A3_MA":"CUB","ADM0_A3_PT":"CUB","ADM0_A3_AR":"CUB","ADM0_A3_JP":"CUB","ADM0_A3_KO":"CUB","ADM0_A3_VN":"CUB","ADM0_A3_TR":"CUB","ADM0_A3_ID":"CUB","ADM0_A3_PL":"CUB","ADM0_A3_GR":"CUB","ADM0_A3_IT":"CUB","ADM0_A3_NL":"CUB","ADM0_A3_SE":"CUB","ADM0_A3_BD":"CUB","ADM0_A3_UA":"CUB","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":4,"LONG_LEN":4,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.7,"MAX_LABEL":8,"LABEL_X":-77.975855,"LABEL_Y":21.334024,"NE_ID":1159320527,"WIKIDATAID":"Q241","NAME_AR":"كوبا","NAME_BN":"কিউবা","NAME_DE":"Kuba","NAME_EN":"Cuba","NAME_ES":"Cuba","NAME_FA":"کوبا","NAME_FR":"Cuba","NAME_EL":"Κούβα","NAME_HE":"קובה","NAME_HI":"क्यूबा","NAME_HU":"Kuba","NAME_ID":"Kuba","NAME_IT":"Cuba","NAME_JA":"キューバ","NAME_KO":"쿠바","NAME_NL":"Cuba","NAME_PL":"Kuba","NAME_PT":"Cuba","NAME_RU":"Куба","NAME_SV":"Kuba","NAME_TR":"Küba","NAME_UK":"Куба","NAME_UR":"کیوبا","NAME_VI":"Cuba","NAME_ZH":"古巴","NAME_ZHT":"古巴","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-84.974911,19.855481,-74.178025,23.188611],"geometry":{"type":"Polygon","coordinates":[[[-82.268151,23.188611],[-81.404457,23.117271],[-80.618769,23.10598],[-79.679524,22.765303],[-79.281486,22.399202],[-78.347434,22.512166],[-77.993296,22.277194],[-77.146422,21.657851],[-76.523825,21.20682],[-76.19462,21.220565],[-75.598222,21.016624],[-75.67106,20.735091],[-74.933896,20.693905],[-74.178025,20.284628],[-74.296648,20.050379],[-74.961595,19.923435],[-75.63468,19.873774],[-76.323656,19.952891],[-77.755481,19.855481],[-77.085108,20.413354],[-77.492655,20.673105],[-78.137292,20.739949],[-78.482827,21.028613],[-78.719867,21.598114],[-79.285,21.559175],[-80.217475,21.827324],[-80.517535,22.037079],[-81.820943,22.192057],[-82.169992,22.387109],[-81.795002,22.636965],[-82.775898,22.68815],[-83.494459,22.168518],[-83.9088,22.154565],[-84.052151,21.910575],[-84.54703,21.801228],[-84.974911,21.896028],[-84.447062,22.20495],[-84.230357,22.565755],[-83.77824,22.788118],[-83.267548,22.983042],[-82.510436,23.078747],[-82.268151,23.188611]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Zimbabwe","SOV_A3":"ZWE","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Zimbabwe","ADM0_A3":"ZWE","GEOU_DIF":0,"GEOUNIT":"Zimbabwe","GU_A3":"ZWE","SU_DIF":0,"SUBUNIT":"Zimbabwe","SU_A3":"ZWE","BRK_DIFF":0,"NAME":"Zimbabwe","NAME_LONG":"Zimbabwe","BRK_A3":"ZWE","BRK_NAME":"Zimbabwe","BRK_GROUP":null,"ABBREV":"Zimb.","POSTAL":"ZW","FORMAL_EN":"Republic of Zimbabwe","FORMAL_FR":null,"NAME_CIAWF":"Zimbabwe","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Zimbabwe","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":5,"MAPCOLOR9":3,"MAPCOLOR13":9,"POP_EST":14645468,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":21440,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"5. Low income","FIPS_10":"ZI","ISO_A2":"ZW","ISO_A2_EH":"ZW","ISO_A3":"ZWE","ISO_A3_EH":"ZWE","ISO_N3":"716","ISO_N3_EH":"716","UN_A3":"716","WB_A2":"ZW","WB_A3":"ZWE","WOE_ID":23425004,"WOE_ID_EH":23425004,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ZWE","ADM0_DIFF":null,"ADM0_TLC":"ZWE","ADM0_A3_US":"ZWE","ADM0_A3_FR":"ZWE","ADM0_A3_RU":"ZWE","ADM0_A3_ES":"ZWE","ADM0_A3_CN":"ZWE","ADM0_A3_TW":"ZWE","ADM0_A3_IN":"ZWE","ADM0_A3_NP":"ZWE","ADM0_A3_PK":"ZWE","ADM0_A3_DE":"ZWE","ADM0_A3_GB":"ZWE","ADM0_A3_BR":"ZWE","ADM0_A3_IL":"ZWE","ADM0_A3_PS":"ZWE","ADM0_A3_SA":"ZWE","ADM0_A3_EG":"ZWE","ADM0_A3_MA":"ZWE","ADM0_A3_PT":"ZWE","ADM0_A3_AR":"ZWE","ADM0_A3_JP":"ZWE","ADM0_A3_KO":"ZWE","ADM0_A3_VN":"ZWE","ADM0_A3_TR":"ZWE","ADM0_A3_ID":"ZWE","ADM0_A3_PL":"ZWE","ADM0_A3_GR":"ZWE","ADM0_A3_IT":"ZWE","ADM0_A3_NL":"ZWE","ADM0_A3_SE":"ZWE","ADM0_A3_BD":"ZWE","ADM0_A3_UA":"ZWE","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.5,"MAX_LABEL":8,"LABEL_X":29.925444,"LABEL_Y":-18.91164,"NE_ID":1159321441,"WIKIDATAID":"Q954","NAME_AR":"زيمبابوي","NAME_BN":"জিম্বাবুয়ে","NAME_DE":"Simbabwe","NAME_EN":"Zimbabwe","NAME_ES":"Zimbabue","NAME_FA":"زیمبابوه","NAME_FR":"Zimbabwe","NAME_EL":"Ζιμπάμπουε","NAME_HE":"זימבבואה","NAME_HI":"ज़िम्बाब्वे","NAME_HU":"Zimbabwe","NAME_ID":"Zimbabwe","NAME_IT":"Zimbabwe","NAME_JA":"ジンバブエ","NAME_KO":"짐바브웨","NAME_NL":"Zimbabwe","NAME_PL":"Zimbabwe","NAME_PT":"Zimbábue","NAME_RU":"Зимбабве","NAME_SV":"Zimbabwe","NAME_TR":"Zimbabve","NAME_UK":"Зімбабве","NAME_UR":"زمبابوے","NAME_VI":"Zimbabwe","NAME_ZH":"津巴布韦","NAME_ZHT":"辛巴威","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[25.264226,-22.271612,32.849861,-15.507787],"geometry":{"type":"Polygon","coordinates":[[[31.191409,-22.25151],[30.659865,-22.151567],[30.322883,-22.271612],[29.839037,-22.102216],[29.432188,-22.091313],[28.794656,-21.639454],[28.02137,-21.485975],[27.727228,-20.851802],[27.724747,-20.499059],[27.296505,-20.39152],[26.164791,-19.293086],[25.850391,-18.714413],[25.649163,-18.536026],[25.264226,-17.73654],[26.381935,-17.846042],[26.706773,-17.961229],[27.044427,-17.938026],[27.598243,-17.290831],[28.467906,-16.4684],[28.825869,-16.389749],[28.947463,-16.043051],[29.516834,-15.644678],[30.274256,-15.507787],[30.338955,-15.880839],[31.173064,-15.860944],[31.636498,-16.07199],[31.852041,-16.319417],[32.328239,-16.392074],[32.847639,-16.713398],[32.849861,-17.979057],[32.654886,-18.67209],[32.611994,-19.419383],[32.772708,-19.715592],[32.659743,-20.30429],[32.508693,-20.395292],[32.244988,-21.116489],[31.191409,-22.25151]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Botswana","SOV_A3":"BWA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Botswana","ADM0_A3":"BWA","GEOU_DIF":0,"GEOUNIT":"Botswana","GU_A3":"BWA","SU_DIF":0,"SUBUNIT":"Botswana","SU_A3":"BWA","BRK_DIFF":0,"NAME":"Botswana","NAME_LONG":"Botswana","BRK_A3":"BWA","BRK_NAME":"Botswana","BRK_GROUP":null,"ABBREV":"Bwa.","POSTAL":"BW","FORMAL_EN":"Republic of Botswana","FORMAL_FR":null,"NAME_CIAWF":"Botswana","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Botswana","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":5,"MAPCOLOR9":7,"MAPCOLOR13":3,"POP_EST":2303697,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":18340,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"BC","ISO_A2":"BW","ISO_A2_EH":"BW","ISO_A3":"BWA","ISO_A3_EH":"BWA","ISO_N3":"072","ISO_N3_EH":"072","UN_A3":"072","WB_A2":"BW","WB_A3":"BWA","WOE_ID":23424755,"WOE_ID_EH":23424755,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BWA","ADM0_DIFF":null,"ADM0_TLC":"BWA","ADM0_A3_US":"BWA","ADM0_A3_FR":"BWA","ADM0_A3_RU":"BWA","ADM0_A3_ES":"BWA","ADM0_A3_CN":"BWA","ADM0_A3_TW":"BWA","ADM0_A3_IN":"BWA","ADM0_A3_NP":"BWA","ADM0_A3_PK":"BWA","ADM0_A3_DE":"BWA","ADM0_A3_GB":"BWA","ADM0_A3_BR":"BWA","ADM0_A3_IL":"BWA","ADM0_A3_PS":"BWA","ADM0_A3_SA":"BWA","ADM0_A3_EG":"BWA","ADM0_A3_MA":"BWA","ADM0_A3_PT":"BWA","ADM0_A3_AR":"BWA","ADM0_A3_JP":"BWA","ADM0_A3_KO":"BWA","ADM0_A3_VN":"BWA","ADM0_A3_TR":"BWA","ADM0_A3_ID":"BWA","ADM0_A3_PL":"BWA","ADM0_A3_GR":"BWA","ADM0_A3_IT":"BWA","ADM0_A3_NL":"BWA","ADM0_A3_SE":"BWA","ADM0_A3_BD":"BWA","ADM0_A3_UA":"BWA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Southern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":24.179216,"LABEL_Y":-22.102634,"NE_ID":1159320461,"WIKIDATAID":"Q963","NAME_AR":"بوتسوانا","NAME_BN":"বতসোয়ানা","NAME_DE":"Botswana","NAME_EN":"Botswana","NAME_ES":"Botsuana","NAME_FA":"بوتسوانا","NAME_FR":"Botswana","NAME_EL":"Μποτσουάνα","NAME_HE":"בוטסואנה","NAME_HI":"बोत्सवाना","NAME_HU":"Botswana","NAME_ID":"Botswana","NAME_IT":"Botswana","NAME_JA":"ボツワナ","NAME_KO":"보츠와나","NAME_NL":"Botswana","NAME_PL":"Botswana","NAME_PT":"Botsuana","NAME_RU":"Ботсвана","NAME_SV":"Botswana","NAME_TR":"Botsvana","NAME_UK":"Ботсвана","NAME_UR":"بوٹسوانا","NAME_VI":"Botswana","NAME_ZH":"博茨瓦纳","NAME_ZHT":"波札那","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[19.895458,-26.828543,29.432188,-17.661816],"geometry":{"type":"Polygon","coordinates":[[[29.432188,-22.091313],[28.017236,-22.827754],[27.11941,-23.574323],[26.786407,-24.240691],[26.485753,-24.616327],[25.941652,-24.696373],[25.765849,-25.174845],[25.664666,-25.486816],[25.025171,-25.71967],[24.211267,-25.670216],[23.73357,-25.390129],[23.312097,-25.26869],[22.824271,-25.500459],[22.579532,-25.979448],[22.105969,-26.280256],[21.605896,-26.726534],[20.889609,-26.828543],[20.66647,-26.477453],[20.758609,-25.868136],[20.165726,-24.917962],[19.895768,-24.76779],[19.895458,-21.849157],[20.881134,-21.814327],[20.910641,-18.252219],[21.65504,-18.219146],[23.196858,-17.869038],[23.579006,-18.281261],[24.217365,-17.889347],[24.520705,-17.887125],[25.084443,-17.661816],[25.264226,-17.73654],[25.649163,-18.536026],[25.850391,-18.714413],[26.164791,-19.293086],[27.296505,-20.39152],[27.724747,-20.499059],[27.727228,-20.851802],[28.02137,-21.485975],[28.794656,-21.639454],[29.432188,-22.091313]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Namibia","SOV_A3":"NAM","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Namibia","ADM0_A3":"NAM","GEOU_DIF":0,"GEOUNIT":"Namibia","GU_A3":"NAM","SU_DIF":0,"SUBUNIT":"Namibia","SU_A3":"NAM","BRK_DIFF":0,"NAME":"Namibia","NAME_LONG":"Namibia","BRK_A3":"NAM","BRK_NAME":"Namibia","BRK_GROUP":null,"ABBREV":"Nam.","POSTAL":"NA","FORMAL_EN":"Republic of Namibia","FORMAL_FR":null,"NAME_CIAWF":"Namibia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Namibia","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":1,"MAPCOLOR9":1,"MAPCOLOR13":7,"POP_EST":2494530,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":12366,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"WA","ISO_A2":"NA","ISO_A2_EH":"NA","ISO_A3":"NAM","ISO_A3_EH":"NAM","ISO_N3":"516","ISO_N3_EH":"516","UN_A3":"516","WB_A2":"NA","WB_A3":"NAM","WOE_ID":23424987,"WOE_ID_EH":23424987,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"NAM","ADM0_DIFF":null,"ADM0_TLC":"NAM","ADM0_A3_US":"NAM","ADM0_A3_FR":"NAM","ADM0_A3_RU":"NAM","ADM0_A3_ES":"NAM","ADM0_A3_CN":"NAM","ADM0_A3_TW":"NAM","ADM0_A3_IN":"NAM","ADM0_A3_NP":"NAM","ADM0_A3_PK":"NAM","ADM0_A3_DE":"NAM","ADM0_A3_GB":"NAM","ADM0_A3_BR":"NAM","ADM0_A3_IL":"NAM","ADM0_A3_PS":"NAM","ADM0_A3_SA":"NAM","ADM0_A3_EG":"NAM","ADM0_A3_MA":"NAM","ADM0_A3_PT":"NAM","ADM0_A3_AR":"NAM","ADM0_A3_JP":"NAM","ADM0_A3_KO":"NAM","ADM0_A3_VN":"NAM","ADM0_A3_TR":"NAM","ADM0_A3_ID":"NAM","ADM0_A3_PL":"NAM","ADM0_A3_GR":"NAM","ADM0_A3_IT":"NAM","ADM0_A3_NL":"NAM","ADM0_A3_SE":"NAM","ADM0_A3_BD":"NAM","ADM0_A3_UA":"NAM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Southern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":7.5,"LABEL_X":17.108166,"LABEL_Y":-20.575298,"NE_ID":1159321085,"WIKIDATAID":"Q1030","NAME_AR":"ناميبيا","NAME_BN":"নামিবিয়া","NAME_DE":"Namibia","NAME_EN":"Namibia","NAME_ES":"Namibia","NAME_FA":"نامیبیا","NAME_FR":"Namibie","NAME_EL":"Ναμίμπια","NAME_HE":"נמיביה","NAME_HI":"नामीबिया","NAME_HU":"Namíbia","NAME_ID":"Namibia","NAME_IT":"Namibia","NAME_JA":"ナミビア","NAME_KO":"나미비아","NAME_NL":"Namibië","NAME_PL":"Namibia","NAME_PT":"Namíbia","NAME_RU":"Намибия","NAME_SV":"Namibia","NAME_TR":"Namibya","NAME_UK":"Намібія","NAME_UR":"نمیبیا","NAME_VI":"Namibia","NAME_ZH":"纳米比亚","NAME_ZHT":"納米比亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[11.734199,-29.045462,25.084443,-16.941343],"geometry":{"type":"Polygon","coordinates":[[[19.895768,-24.76779],[19.894734,-28.461105],[19.002127,-28.972443],[18.464899,-29.045462],[17.836152,-28.856378],[17.387497,-28.783514],[17.218929,-28.355943],[16.824017,-28.082162],[16.344977,-28.576705],[15.601818,-27.821247],[15.210472,-27.090956],[14.989711,-26.117372],[14.743214,-25.39292],[14.408144,-23.853014],[14.385717,-22.656653],[14.257714,-22.111208],[13.868642,-21.699037],[13.352498,-20.872834],[12.826845,-19.673166],[12.608564,-19.045349],[11.794919,-18.069129],[11.734199,-17.301889],[12.215461,-17.111668],[12.814081,-16.941343],[13.462362,-16.971212],[14.058501,-17.423381],[14.209707,-17.353101],[18.263309,-17.309951],[18.956187,-17.789095],[21.377176,-17.930636],[23.215048,-17.523116],[24.033862,-17.295843],[24.682349,-17.353411],[25.07695,-17.578823],[25.084443,-17.661816],[24.520705,-17.887125],[24.217365,-17.889347],[23.579006,-18.281261],[23.196858,-17.869038],[21.65504,-18.219146],[20.910641,-18.252219],[20.881134,-21.814327],[19.895458,-21.849157],[19.895768,-24.76779]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Senegal","SOV_A3":"SEN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Senegal","ADM0_A3":"SEN","GEOU_DIF":0,"GEOUNIT":"Senegal","GU_A3":"SEN","SU_DIF":0,"SUBUNIT":"Senegal","SU_A3":"SEN","BRK_DIFF":0,"NAME":"Senegal","NAME_LONG":"Senegal","BRK_A3":"SEN","BRK_NAME":"Senegal","BRK_GROUP":null,"ABBREV":"Sen.","POSTAL":"SN","FORMAL_EN":"Republic of Senegal","FORMAL_FR":null,"NAME_CIAWF":"Senegal","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Senegal","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":6,"MAPCOLOR9":5,"MAPCOLOR13":5,"POP_EST":16296364,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":23578,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"4. Lower middle income","FIPS_10":"SG","ISO_A2":"SN","ISO_A2_EH":"SN","ISO_A3":"SEN","ISO_A3_EH":"SEN","ISO_N3":"686","ISO_N3_EH":"686","UN_A3":"686","WB_A2":"SN","WB_A3":"SEN","WOE_ID":23424943,"WOE_ID_EH":23424943,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"SEN","ADM0_DIFF":null,"ADM0_TLC":"SEN","ADM0_A3_US":"SEN","ADM0_A3_FR":"SEN","ADM0_A3_RU":"SEN","ADM0_A3_ES":"SEN","ADM0_A3_CN":"SEN","ADM0_A3_TW":"SEN","ADM0_A3_IN":"SEN","ADM0_A3_NP":"SEN","ADM0_A3_PK":"SEN","ADM0_A3_DE":"SEN","ADM0_A3_GB":"SEN","ADM0_A3_BR":"SEN","ADM0_A3_IL":"SEN","ADM0_A3_PS":"SEN","ADM0_A3_SA":"SEN","ADM0_A3_EG":"SEN","ADM0_A3_MA":"SEN","ADM0_A3_PT":"SEN","ADM0_A3_AR":"SEN","ADM0_A3_JP":"SEN","ADM0_A3_KO":"SEN","ADM0_A3_VN":"SEN","ADM0_A3_TR":"SEN","ADM0_A3_ID":"SEN","ADM0_A3_PL":"SEN","ADM0_A3_GR":"SEN","ADM0_A3_IT":"SEN","ADM0_A3_NL":"SEN","ADM0_A3_SE":"SEN","ADM0_A3_BD":"SEN","ADM0_A3_UA":"SEN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.7,"MAX_LABEL":8,"LABEL_X":-14.778586,"LABEL_Y":15.138125,"NE_ID":1159321243,"WIKIDATAID":"Q1041","NAME_AR":"السنغال","NAME_BN":"সেনেগাল","NAME_DE":"Senegal","NAME_EN":"Senegal","NAME_ES":"Senegal","NAME_FA":"سنگال","NAME_FR":"Sénégal","NAME_EL":"Σενεγάλη","NAME_HE":"סנגל","NAME_HI":"सेनेगल","NAME_HU":"Szenegál","NAME_ID":"Senegal","NAME_IT":"Senegal","NAME_JA":"セネガル","NAME_KO":"세네갈","NAME_NL":"Senegal","NAME_PL":"Senegal","NAME_PT":"Senegal","NAME_RU":"Сенегал","NAME_SV":"Senegal","NAME_TR":"Senegal","NAME_UK":"Сенегал","NAME_UR":"سینیگال","NAME_VI":"Sénégal","NAME_ZH":"塞内加尔","NAME_ZHT":"塞內加爾","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-17.625043,12.33209,-11.467899,16.598264],"geometry":{"type":"Polygon","coordinates":[[[-16.713729,13.594959],[-17.126107,14.373516],[-17.625043,14.729541],[-17.185173,14.919477],[-16.700706,15.621527],[-16.463098,16.135036],[-16.12069,16.455663],[-15.623666,16.369337],[-15.135737,16.587282],[-14.577348,16.598264],[-14.099521,16.304302],[-13.435738,16.039383],[-12.830658,15.303692],[-12.17075,14.616834],[-12.124887,13.994727],[-11.927716,13.422075],[-11.553398,13.141214],[-11.467899,12.754519],[-11.513943,12.442988],[-11.658301,12.386583],[-12.203565,12.465648],[-12.278599,12.35444],[-12.499051,12.33209],[-13.217818,12.575874],[-13.700476,12.586183],[-15.548477,12.62817],[-15.816574,12.515567],[-16.147717,12.547762],[-16.677452,12.384852],[-16.841525,13.151394],[-15.931296,13.130284],[-15.691001,13.270353],[-15.511813,13.27857],[-15.141163,13.509512],[-14.712197,13.298207],[-14.277702,13.280585],[-13.844963,13.505042],[-14.046992,13.794068],[-14.376714,13.62568],[-14.687031,13.630357],[-15.081735,13.876492],[-15.39877,13.860369],[-15.624596,13.623587],[-16.713729,13.594959]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Mali","SOV_A3":"MLI","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Mali","ADM0_A3":"MLI","GEOU_DIF":0,"GEOUNIT":"Mali","GU_A3":"MLI","SU_DIF":0,"SUBUNIT":"Mali","SU_A3":"MLI","BRK_DIFF":0,"NAME":"Mali","NAME_LONG":"Mali","BRK_A3":"MLI","BRK_NAME":"Mali","BRK_GROUP":null,"ABBREV":"Mali","POSTAL":"ML","FORMAL_EN":"Republic of Mali","FORMAL_FR":null,"NAME_CIAWF":"Mali","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Mali","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":1,"MAPCOLOR13":7,"POP_EST":19658031,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":17279,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"ML","ISO_A2":"ML","ISO_A2_EH":"ML","ISO_A3":"MLI","ISO_A3_EH":"MLI","ISO_N3":"466","ISO_N3_EH":"466","UN_A3":"466","WB_A2":"ML","WB_A3":"MLI","WOE_ID":23424891,"WOE_ID_EH":23424891,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MLI","ADM0_DIFF":null,"ADM0_TLC":"MLI","ADM0_A3_US":"MLI","ADM0_A3_FR":"MLI","ADM0_A3_RU":"MLI","ADM0_A3_ES":"MLI","ADM0_A3_CN":"MLI","ADM0_A3_TW":"MLI","ADM0_A3_IN":"MLI","ADM0_A3_NP":"MLI","ADM0_A3_PK":"MLI","ADM0_A3_DE":"MLI","ADM0_A3_GB":"MLI","ADM0_A3_BR":"MLI","ADM0_A3_IL":"MLI","ADM0_A3_PS":"MLI","ADM0_A3_SA":"MLI","ADM0_A3_EG":"MLI","ADM0_A3_MA":"MLI","ADM0_A3_PT":"MLI","ADM0_A3_AR":"MLI","ADM0_A3_JP":"MLI","ADM0_A3_KO":"MLI","ADM0_A3_VN":"MLI","ADM0_A3_TR":"MLI","ADM0_A3_ID":"MLI","ADM0_A3_PL":"MLI","ADM0_A3_GR":"MLI","ADM0_A3_IT":"MLI","ADM0_A3_NL":"MLI","ADM0_A3_SE":"MLI","ADM0_A3_BD":"MLI","ADM0_A3_UA":"MLI","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":4,"LONG_LEN":4,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":7,"LABEL_X":-2.038455,"LABEL_Y":18.692713,"NE_ID":1159321063,"WIKIDATAID":"Q912","NAME_AR":"مالي","NAME_BN":"মালি","NAME_DE":"Mali","NAME_EN":"Mali","NAME_ES":"Malí","NAME_FA":"مالی","NAME_FR":"Mali","NAME_EL":"Μάλι","NAME_HE":"מאלי","NAME_HI":"माली","NAME_HU":"Mali","NAME_ID":"Mali","NAME_IT":"Mali","NAME_JA":"マリ共和国","NAME_KO":"말리","NAME_NL":"Mali","NAME_PL":"Mali","NAME_PT":"Mali","NAME_RU":"Мали","NAME_SV":"Mali","NAME_TR":"Mali","NAME_UK":"Малі","NAME_UR":"مالی","NAME_VI":"Mali","NAME_ZH":"马里","NAME_ZHT":"馬利共和國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-12.17075,10.096361,4.27021,24.974574],"geometry":{"type":"Polygon","coordinates":[[[-11.513943,12.442988],[-11.467899,12.754519],[-11.553398,13.141214],[-11.927716,13.422075],[-12.124887,13.994727],[-12.17075,14.616834],[-11.834208,14.799097],[-11.666078,15.388208],[-11.349095,15.411256],[-10.650791,15.132746],[-10.086846,15.330486],[-9.700255,15.264107],[-9.550238,15.486497],[-5.537744,15.50169],[-5.315277,16.201854],[-5.488523,16.325102],[-5.971129,20.640833],[-6.453787,24.956591],[-4.923337,24.974574],[-1.550055,22.792666],[1.823228,20.610809],[2.060991,20.142233],[2.683588,19.85623],[3.146661,19.693579],[3.158133,19.057364],[4.267419,19.155265],[4.27021,16.852227],[3.723422,16.184284],[3.638259,15.56812],[2.749993,15.409525],[1.385528,15.323561],[1.015783,14.968182],[0.374892,14.928908],[-0.266257,14.924309],[-0.515854,15.116158],[-1.066363,14.973815],[-2.001035,14.559008],[-2.191825,14.246418],[-2.967694,13.79815],[-3.103707,13.541267],[-3.522803,13.337662],[-4.006391,13.472485],[-4.280405,13.228444],[-4.427166,12.542646],[-5.220942,11.713859],[-5.197843,11.375146],[-5.470565,10.95127],[-5.404342,10.370737],[-5.816926,10.222555],[-6.050452,10.096361],[-6.205223,10.524061],[-6.493965,10.411303],[-6.666461,10.430811],[-6.850507,10.138994],[-7.622759,10.147236],[-7.89959,10.297382],[-8.029944,10.206535],[-8.335377,10.494812],[-8.282357,10.792597],[-8.407311,10.909257],[-8.620321,10.810891],[-8.581305,11.136246],[-8.376305,11.393646],[-8.786099,11.812561],[-8.905265,12.088358],[-9.127474,12.30806],[-9.327616,12.334286],[-9.567912,12.194243],[-9.890993,12.060479],[-10.165214,11.844084],[-10.593224,11.923975],[-10.87083,12.177887],[-11.036556,12.211245],[-11.297574,12.077971],[-11.456169,12.076834],[-11.513943,12.442988]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Mauritania","SOV_A3":"MRT","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Mauritania","ADM0_A3":"MRT","GEOU_DIF":0,"GEOUNIT":"Mauritania","GU_A3":"MRT","SU_DIF":0,"SUBUNIT":"Mauritania","SU_A3":"MRT","BRK_DIFF":0,"NAME":"Mauritania","NAME_LONG":"Mauritania","BRK_A3":"MRT","BRK_NAME":"Mauritania","BRK_GROUP":null,"ABBREV":"Mrt.","POSTAL":"MR","FORMAL_EN":"Islamic Republic of Mauritania","FORMAL_FR":null,"NAME_CIAWF":"Mauritania","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Mauritania","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":3,"MAPCOLOR9":2,"MAPCOLOR13":1,"POP_EST":4525696,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":7600,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"MR","ISO_A2":"MR","ISO_A2_EH":"MR","ISO_A3":"MRT","ISO_A3_EH":"MRT","ISO_N3":"478","ISO_N3_EH":"478","UN_A3":"478","WB_A2":"MR","WB_A3":"MRT","WOE_ID":23424896,"WOE_ID_EH":23424896,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MRT","ADM0_DIFF":null,"ADM0_TLC":"MRT","ADM0_A3_US":"MRT","ADM0_A3_FR":"MRT","ADM0_A3_RU":"MRT","ADM0_A3_ES":"MRT","ADM0_A3_CN":"MRT","ADM0_A3_TW":"MRT","ADM0_A3_IN":"MRT","ADM0_A3_NP":"MRT","ADM0_A3_PK":"MRT","ADM0_A3_DE":"MRT","ADM0_A3_GB":"MRT","ADM0_A3_BR":"MRT","ADM0_A3_IL":"MRT","ADM0_A3_PS":"MRT","ADM0_A3_SA":"MRT","ADM0_A3_EG":"MRT","ADM0_A3_MA":"MRT","ADM0_A3_PT":"MRT","ADM0_A3_AR":"MRT","ADM0_A3_JP":"MRT","ADM0_A3_KO":"MRT","ADM0_A3_VN":"MRT","ADM0_A3_TR":"MRT","ADM0_A3_ID":"MRT","ADM0_A3_PL":"MRT","ADM0_A3_GR":"MRT","ADM0_A3_IT":"MRT","ADM0_A3_NL":"MRT","ADM0_A3_SE":"MRT","ADM0_A3_BD":"MRT","ADM0_A3_UA":"MRT","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":-9.740299,"LABEL_Y":19.587062,"NE_ID":1159321075,"WIKIDATAID":"Q1025","NAME_AR":"موريتانيا","NAME_BN":"মৌরিতানিয়া","NAME_DE":"Mauretanien","NAME_EN":"Mauritania","NAME_ES":"Mauritania","NAME_FA":"موریتانی","NAME_FR":"Mauritanie","NAME_EL":"Μαυριτανία","NAME_HE":"מאוריטניה","NAME_HI":"मॉरीतानिया","NAME_HU":"Mauritánia","NAME_ID":"Mauritania","NAME_IT":"Mauritania","NAME_JA":"モーリタニア","NAME_KO":"모리타니","NAME_NL":"Mauritanië","NAME_PL":"Mauretania","NAME_PT":"Mauritânia","NAME_RU":"Мавритания","NAME_SV":"Mauretanien","NAME_TR":"Moritanya","NAME_UK":"Мавританія","NAME_UR":"موریتانیہ","NAME_VI":"Mauritanie","NAME_ZH":"毛里塔尼亚","NAME_ZHT":"茅利塔尼亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-17.063423,14.616834,-4.923337,27.395744],"geometry":{"type":"Polygon","coordinates":[[[-17.063423,20.999752],[-16.845194,21.333323],[-12.929102,21.327071],[-13.118754,22.77122],[-12.874222,23.284832],[-11.937224,23.374594],[-11.969419,25.933353],[-8.687294,25.881056],[-8.6844,27.395744],[-4.923337,24.974574],[-6.453787,24.956591],[-5.971129,20.640833],[-5.488523,16.325102],[-5.315277,16.201854],[-5.537744,15.50169],[-9.550238,15.486497],[-9.700255,15.264107],[-10.086846,15.330486],[-10.650791,15.132746],[-11.349095,15.411256],[-11.666078,15.388208],[-11.834208,14.799097],[-12.17075,14.616834],[-12.830658,15.303692],[-13.435738,16.039383],[-14.099521,16.304302],[-14.577348,16.598264],[-15.135737,16.587282],[-15.623666,16.369337],[-16.12069,16.455663],[-16.463098,16.135036],[-16.549708,16.673892],[-16.270552,17.166963],[-16.146347,18.108482],[-16.256883,19.096716],[-16.377651,19.593817],[-16.277838,20.092521],[-16.536324,20.567866],[-17.063423,20.999752]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Benin","SOV_A3":"BEN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Benin","ADM0_A3":"BEN","GEOU_DIF":0,"GEOUNIT":"Benin","GU_A3":"BEN","SU_DIF":0,"SUBUNIT":"Benin","SU_A3":"BEN","BRK_DIFF":0,"NAME":"Benin","NAME_LONG":"Benin","BRK_A3":"BEN","BRK_NAME":"Benin","BRK_GROUP":null,"ABBREV":"Benin","POSTAL":"BJ","FORMAL_EN":"Republic of Benin","FORMAL_FR":null,"NAME_CIAWF":"Benin","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Benin","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":2,"MAPCOLOR9":2,"MAPCOLOR13":12,"POP_EST":11801151,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":14390,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"BN","ISO_A2":"BJ","ISO_A2_EH":"BJ","ISO_A3":"BEN","ISO_A3_EH":"BEN","ISO_N3":"204","ISO_N3_EH":"204","UN_A3":"204","WB_A2":"BJ","WB_A3":"BEN","WOE_ID":23424764,"WOE_ID_EH":23424764,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BEN","ADM0_DIFF":null,"ADM0_TLC":"BEN","ADM0_A3_US":"BEN","ADM0_A3_FR":"BEN","ADM0_A3_RU":"BEN","ADM0_A3_ES":"BEN","ADM0_A3_CN":"BEN","ADM0_A3_TW":"BEN","ADM0_A3_IN":"BEN","ADM0_A3_NP":"BEN","ADM0_A3_PK":"BEN","ADM0_A3_DE":"BEN","ADM0_A3_GB":"BEN","ADM0_A3_BR":"BEN","ADM0_A3_IL":"BEN","ADM0_A3_PS":"BEN","ADM0_A3_SA":"BEN","ADM0_A3_EG":"BEN","ADM0_A3_MA":"BEN","ADM0_A3_PT":"BEN","ADM0_A3_AR":"BEN","ADM0_A3_JP":"BEN","ADM0_A3_KO":"BEN","ADM0_A3_VN":"BEN","ADM0_A3_TR":"BEN","ADM0_A3_ID":"BEN","ADM0_A3_PL":"BEN","ADM0_A3_GR":"BEN","ADM0_A3_IT":"BEN","ADM0_A3_NL":"BEN","ADM0_A3_SE":"BEN","ADM0_A3_BD":"BEN","ADM0_A3_UA":"BEN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":2.352018,"LABEL_Y":10.324775,"NE_ID":1159320399,"WIKIDATAID":"Q962","NAME_AR":"بنين","NAME_BN":"বেনিন","NAME_DE":"Benin","NAME_EN":"Benin","NAME_ES":"Benín","NAME_FA":"بنین","NAME_FR":"Bénin","NAME_EL":"Μπενίν","NAME_HE":"בנין","NAME_HI":"बेनिन","NAME_HU":"Benin","NAME_ID":"Benin","NAME_IT":"Benin","NAME_JA":"ベナン","NAME_KO":"베냉","NAME_NL":"Benin","NAME_PL":"Benin","NAME_PT":"Benim","NAME_RU":"Бенин","NAME_SV":"Benin","NAME_TR":"Benin","NAME_UK":"Бенін","NAME_UR":"بینن","NAME_VI":"Bénin","NAME_ZH":"贝宁","NAME_ZHT":"貝南","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[0.772336,6.142158,3.797112,12.235636],"geometry":{"type":"Polygon","coordinates":[[[2.691702,6.258817],[1.865241,6.142158],[1.618951,6.832038],[1.664478,9.12859],[1.463043,9.334624],[1.425061,9.825395],[1.077795,10.175607],[0.772336,10.470808],[0.899563,10.997339],[1.24347,11.110511],[1.447178,11.547719],[1.935986,11.64115],[2.154474,11.94015],[2.490164,12.233052],[2.848643,12.235636],[3.61118,11.660167],[3.572216,11.327939],[3.797112,10.734746],[3.60007,10.332186],[3.705438,10.06321],[3.220352,9.444153],[2.912308,9.137608],[2.723793,8.506845],[2.749063,7.870734],[2.691702,6.258817]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Niger","SOV_A3":"NER","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Niger","ADM0_A3":"NER","GEOU_DIF":0,"GEOUNIT":"Niger","GU_A3":"NER","SU_DIF":0,"SUBUNIT":"Niger","SU_A3":"NER","BRK_DIFF":0,"NAME":"Niger","NAME_LONG":"Niger","BRK_A3":"NER","BRK_NAME":"Niger","BRK_GROUP":null,"ABBREV":"Niger","POSTAL":"NE","FORMAL_EN":"Republic of Niger","FORMAL_FR":null,"NAME_CIAWF":"Niger","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Niger","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":5,"MAPCOLOR9":3,"MAPCOLOR13":13,"POP_EST":23310715,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":12911,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"NG","ISO_A2":"NE","ISO_A2_EH":"NE","ISO_A3":"NER","ISO_A3_EH":"NER","ISO_N3":"562","ISO_N3_EH":"562","UN_A3":"562","WB_A2":"NE","WB_A3":"NER","WOE_ID":23424906,"WOE_ID_EH":23424906,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"NER","ADM0_DIFF":null,"ADM0_TLC":"NER","ADM0_A3_US":"NER","ADM0_A3_FR":"NER","ADM0_A3_RU":"NER","ADM0_A3_ES":"NER","ADM0_A3_CN":"NER","ADM0_A3_TW":"NER","ADM0_A3_IN":"NER","ADM0_A3_NP":"NER","ADM0_A3_PK":"NER","ADM0_A3_DE":"NER","ADM0_A3_GB":"NER","ADM0_A3_BR":"NER","ADM0_A3_IL":"NER","ADM0_A3_PS":"NER","ADM0_A3_SA":"NER","ADM0_A3_EG":"NER","ADM0_A3_MA":"NER","ADM0_A3_PT":"NER","ADM0_A3_AR":"NER","ADM0_A3_JP":"NER","ADM0_A3_KO":"NER","ADM0_A3_VN":"NER","ADM0_A3_TR":"NER","ADM0_A3_ID":"NER","ADM0_A3_PL":"NER","ADM0_A3_GR":"NER","ADM0_A3_IT":"NER","ADM0_A3_NL":"NER","ADM0_A3_SE":"NER","ADM0_A3_BD":"NER","ADM0_A3_UA":"NER","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":9.504356,"LABEL_Y":17.446195,"NE_ID":1159321087,"WIKIDATAID":"Q1032","NAME_AR":"النيجر","NAME_BN":"নাইজার","NAME_DE":"Niger","NAME_EN":"Niger","NAME_ES":"Níger","NAME_FA":"نیجر","NAME_FR":"Niger","NAME_EL":"Νίγηρας","NAME_HE":"ניז'ר","NAME_HI":"नाइजर","NAME_HU":"Niger","NAME_ID":"Niger","NAME_IT":"Niger","NAME_JA":"ニジェール","NAME_KO":"니제르","NAME_NL":"Niger","NAME_PL":"Niger","NAME_PT":"Níger","NAME_RU":"Нигер","NAME_SV":"Niger","NAME_TR":"Nijer","NAME_UK":"Нігер","NAME_UR":"نائجر","NAME_VI":"Niger","NAME_ZH":"尼日尔","NAME_ZHT":"尼日","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[0.295646,11.660167,15.903247,23.471668],"geometry":{"type":"Polygon","coordinates":[[[14.8513,22.86295],[15.096888,21.308519],[15.47106,21.04845],[15.487148,20.730415],[15.903247,20.387619],[15.685741,19.95718],[15.300441,17.92795],[15.247731,16.627306],[13.97217,15.68437],[13.540394,14.367134],[13.956699,13.996691],[13.954477,13.353449],[14.595781,13.330427],[14.495787,12.859396],[14.213531,12.802035],[14.181336,12.483657],[13.995353,12.461565],[13.318702,13.556356],[13.083987,13.596147],[12.302071,13.037189],[11.527803,13.32898],[10.989593,13.387323],[10.701032,13.246918],[10.114814,13.277252],[9.524928,12.851102],[9.014933,12.826659],[7.804671,13.343527],[7.330747,13.098038],[6.820442,13.115091],[6.445426,13.492768],[5.443058,13.865924],[4.368344,13.747482],[4.107946,13.531216],[3.967283,12.956109],[3.680634,12.552903],[3.61118,11.660167],[2.848643,12.235636],[2.490164,12.233052],[2.154474,11.94015],[2.177108,12.625018],[1.024103,12.851826],[0.993046,13.33575],[0.429928,13.988733],[0.295646,14.444235],[0.374892,14.928908],[1.015783,14.968182],[1.385528,15.323561],[2.749993,15.409525],[3.638259,15.56812],[3.723422,16.184284],[4.27021,16.852227],[4.267419,19.155265],[5.677566,19.601207],[8.572893,21.565661],[11.999506,23.471668],[13.581425,23.040506],[14.143871,22.491289],[14.8513,22.86295]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Nigeria","SOV_A3":"NGA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Nigeria","ADM0_A3":"NGA","GEOU_DIF":0,"GEOUNIT":"Nigeria","GU_A3":"NGA","SU_DIF":0,"SUBUNIT":"Nigeria","SU_A3":"NGA","BRK_DIFF":0,"NAME":"Nigeria","NAME_LONG":"Nigeria","BRK_A3":"NGA","BRK_NAME":"Nigeria","BRK_GROUP":null,"ABBREV":"Nigeria","POSTAL":"NG","FORMAL_EN":"Federal Republic of Nigeria","FORMAL_FR":null,"NAME_CIAWF":"Nigeria","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Nigeria","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":2,"MAPCOLOR9":5,"MAPCOLOR13":2,"POP_EST":200963599,"POP_RANK":17,"POP_YEAR":2019,"GDP_MD":448120,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"4. Lower middle income","FIPS_10":"NI","ISO_A2":"NG","ISO_A2_EH":"NG","ISO_A3":"NGA","ISO_A3_EH":"NGA","ISO_N3":"566","ISO_N3_EH":"566","UN_A3":"566","WB_A2":"NG","WB_A3":"NGA","WOE_ID":23424908,"WOE_ID_EH":23424908,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"NGA","ADM0_DIFF":null,"ADM0_TLC":"NGA","ADM0_A3_US":"NGA","ADM0_A3_FR":"NGA","ADM0_A3_RU":"NGA","ADM0_A3_ES":"NGA","ADM0_A3_CN":"NGA","ADM0_A3_TW":"NGA","ADM0_A3_IN":"NGA","ADM0_A3_NP":"NGA","ADM0_A3_PK":"NGA","ADM0_A3_DE":"NGA","ADM0_A3_GB":"NGA","ADM0_A3_BR":"NGA","ADM0_A3_IL":"NGA","ADM0_A3_PS":"NGA","ADM0_A3_SA":"NGA","ADM0_A3_EG":"NGA","ADM0_A3_MA":"NGA","ADM0_A3_PT":"NGA","ADM0_A3_AR":"NGA","ADM0_A3_JP":"NGA","ADM0_A3_KO":"NGA","ADM0_A3_VN":"NGA","ADM0_A3_TR":"NGA","ADM0_A3_ID":"NGA","ADM0_A3_PL":"NGA","ADM0_A3_GR":"NGA","ADM0_A3_IT":"NGA","ADM0_A3_NL":"NGA","ADM0_A3_SE":"NGA","ADM0_A3_BD":"NGA","ADM0_A3_UA":"NGA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":7,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":6.7,"LABEL_X":7.50322,"LABEL_Y":9.439799,"NE_ID":1159321089,"WIKIDATAID":"Q1033","NAME_AR":"نيجيريا","NAME_BN":"নাইজেরিয়া","NAME_DE":"Nigeria","NAME_EN":"Nigeria","NAME_ES":"Nigeria","NAME_FA":"نیجریه","NAME_FR":"Nigeria","NAME_EL":"Νιγηρία","NAME_HE":"ניגריה","NAME_HI":"नाईजीरिया","NAME_HU":"Nigéria","NAME_ID":"Nigeria","NAME_IT":"Nigeria","NAME_JA":"ナイジェリア","NAME_KO":"나이지리아","NAME_NL":"Nigeria","NAME_PL":"Nigeria","NAME_PT":"Nigéria","NAME_RU":"Нигерия","NAME_SV":"Nigeria","NAME_TR":"Nijerya","NAME_UK":"Нігерія","NAME_UR":"نائجیریا","NAME_VI":"Nigeria","NAME_ZH":"尼日利亚","NAME_ZHT":"奈及利亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[2.691702,4.240594,14.577178,13.865924],"geometry":{"type":"Polygon","coordinates":[[[2.691702,6.258817],[2.749063,7.870734],[2.723793,8.506845],[2.912308,9.137608],[3.220352,9.444153],[3.705438,10.06321],[3.60007,10.332186],[3.797112,10.734746],[3.572216,11.327939],[3.61118,11.660167],[3.680634,12.552903],[3.967283,12.956109],[4.107946,13.531216],[4.368344,13.747482],[5.443058,13.865924],[6.445426,13.492768],[6.820442,13.115091],[7.330747,13.098038],[7.804671,13.343527],[9.014933,12.826659],[9.524928,12.851102],[10.114814,13.277252],[10.701032,13.246918],[10.989593,13.387323],[11.527803,13.32898],[12.302071,13.037189],[13.083987,13.596147],[13.318702,13.556356],[13.995353,12.461565],[14.181336,12.483657],[14.577178,12.085361],[14.468192,11.904752],[14.415379,11.572369],[13.57295,10.798566],[13.308676,10.160362],[13.1676,9.640626],[12.955468,9.417772],[12.753672,8.717763],[12.218872,8.305824],[12.063946,7.799808],[11.839309,7.397042],[11.745774,6.981383],[11.058788,6.644427],[10.497375,7.055358],[10.118277,7.03877],[9.522706,6.453482],[9.233163,6.444491],[8.757533,5.479666],[8.500288,4.771983],[7.462108,4.412108],[7.082596,4.464689],[6.698072,4.240594],[5.898173,4.262453],[5.362805,4.887971],[5.033574,5.611802],[4.325607,6.270651],[3.57418,6.2583],[2.691702,6.258817]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Cameroon","SOV_A3":"CMR","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Cameroon","ADM0_A3":"CMR","GEOU_DIF":0,"GEOUNIT":"Cameroon","GU_A3":"CMR","SU_DIF":0,"SUBUNIT":"Cameroon","SU_A3":"CMR","BRK_DIFF":0,"NAME":"Cameroon","NAME_LONG":"Cameroon","BRK_A3":"CMR","BRK_NAME":"Cameroon","BRK_GROUP":null,"ABBREV":"Cam.","POSTAL":"CM","FORMAL_EN":"Republic of Cameroon","FORMAL_FR":null,"NAME_CIAWF":"Cameroon","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Cameroon","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":1,"MAPCOLOR13":3,"POP_EST":25876380,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":39007,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"CM","ISO_A2":"CM","ISO_A2_EH":"CM","ISO_A3":"CMR","ISO_A3_EH":"CMR","ISO_N3":"120","ISO_N3_EH":"120","UN_A3":"120","WB_A2":"CM","WB_A3":"CMR","WOE_ID":23424785,"WOE_ID_EH":23424785,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"CMR","ADM0_DIFF":null,"ADM0_TLC":"CMR","ADM0_A3_US":"CMR","ADM0_A3_FR":"CMR","ADM0_A3_RU":"CMR","ADM0_A3_ES":"CMR","ADM0_A3_CN":"CMR","ADM0_A3_TW":"CMR","ADM0_A3_IN":"CMR","ADM0_A3_NP":"CMR","ADM0_A3_PK":"CMR","ADM0_A3_DE":"CMR","ADM0_A3_GB":"CMR","ADM0_A3_BR":"CMR","ADM0_A3_IL":"CMR","ADM0_A3_PS":"CMR","ADM0_A3_SA":"CMR","ADM0_A3_EG":"CMR","ADM0_A3_MA":"CMR","ADM0_A3_PT":"CMR","ADM0_A3_AR":"CMR","ADM0_A3_JP":"CMR","ADM0_A3_KO":"CMR","ADM0_A3_VN":"CMR","ADM0_A3_TR":"CMR","ADM0_A3_ID":"CMR","ADM0_A3_PL":"CMR","ADM0_A3_GR":"CMR","ADM0_A3_IT":"CMR","ADM0_A3_NL":"CMR","ADM0_A3_SE":"CMR","ADM0_A3_BD":"CMR","ADM0_A3_UA":"CMR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Middle Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":12.473488,"LABEL_Y":4.585041,"NE_ID":1159320509,"WIKIDATAID":"Q1009","NAME_AR":"الكاميرون","NAME_BN":"ক্যামেরুন","NAME_DE":"Kamerun","NAME_EN":"Cameroon","NAME_ES":"Camerún","NAME_FA":"کامرون","NAME_FR":"Cameroun","NAME_EL":"Καμερούν","NAME_HE":"קמרון","NAME_HI":"कैमरुन","NAME_HU":"Kamerun","NAME_ID":"Kamerun","NAME_IT":"Camerun","NAME_JA":"カメルーン","NAME_KO":"카메룬","NAME_NL":"Kameroen","NAME_PL":"Kamerun","NAME_PT":"Camarões","NAME_RU":"Камерун","NAME_SV":"Kamerun","NAME_TR":"Kamerun","NAME_UK":"Камерун","NAME_UR":"کیمرون","NAME_VI":"Cameroon","NAME_ZH":"喀麦隆","NAME_ZHT":"喀麥隆","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[8.488816,1.727673,16.012852,12.859396],"geometry":{"type":"Polygon","coordinates":[[[14.495787,12.859396],[14.89336,12.21905],[14.960152,11.555574],[14.923565,10.891325],[15.467873,9.982337],[14.909354,9.992129],[14.627201,9.920919],[14.171466,10.021378],[13.954218,9.549495],[14.544467,8.965861],[14.979996,8.796104],[15.120866,8.38215],[15.436092,7.692812],[15.27946,7.421925],[14.776545,6.408498],[14.53656,6.226959],[14.459407,5.451761],[14.558936,5.030598],[14.478372,4.732605],[14.950953,4.210389],[15.03622,3.851367],[15.405396,3.335301],[15.862732,3.013537],[15.907381,2.557389],[16.012852,2.26764],[15.940919,1.727673],[15.146342,1.964015],[14.337813,2.227875],[13.075822,2.267097],[12.951334,2.321616],[12.35938,2.192812],[11.751665,2.326758],[11.276449,2.261051],[9.649158,2.283866],[9.795196,3.073404],[9.404367,3.734527],[8.948116,3.904129],[8.744924,4.352215],[8.488816,4.495617],[8.500288,4.771983],[8.757533,5.479666],[9.233163,6.444491],[9.522706,6.453482],[10.118277,7.03877],[10.497375,7.055358],[11.058788,6.644427],[11.745774,6.981383],[11.839309,7.397042],[12.063946,7.799808],[12.218872,8.305824],[12.753672,8.717763],[12.955468,9.417772],[13.1676,9.640626],[13.308676,10.160362],[13.57295,10.798566],[14.415379,11.572369],[14.468192,11.904752],[14.577178,12.085361],[14.181336,12.483657],[14.213531,12.802035],[14.495787,12.859396]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Togo","SOV_A3":"TGO","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Togo","ADM0_A3":"TGO","GEOU_DIF":0,"GEOUNIT":"Togo","GU_A3":"TGO","SU_DIF":0,"SUBUNIT":"Togo","SU_A3":"TGO","BRK_DIFF":0,"NAME":"Togo","NAME_LONG":"Togo","BRK_A3":"TGO","BRK_NAME":"Togo","BRK_GROUP":null,"ABBREV":"Togo","POSTAL":"TG","FORMAL_EN":"Togolese Republic","FORMAL_FR":"République Togolaise","NAME_CIAWF":"Togo","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Togo","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":1,"MAPCOLOR9":3,"MAPCOLOR13":5,"POP_EST":8082366,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":5490,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"TO","ISO_A2":"TG","ISO_A2_EH":"TG","ISO_A3":"TGO","ISO_A3_EH":"TGO","ISO_N3":"768","ISO_N3_EH":"768","UN_A3":"768","WB_A2":"TG","WB_A3":"TGO","WOE_ID":23424965,"WOE_ID_EH":23424965,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"TGO","ADM0_DIFF":null,"ADM0_TLC":"TGO","ADM0_A3_US":"TGO","ADM0_A3_FR":"TGO","ADM0_A3_RU":"TGO","ADM0_A3_ES":"TGO","ADM0_A3_CN":"TGO","ADM0_A3_TW":"TGO","ADM0_A3_IN":"TGO","ADM0_A3_NP":"TGO","ADM0_A3_PK":"TGO","ADM0_A3_DE":"TGO","ADM0_A3_GB":"TGO","ADM0_A3_BR":"TGO","ADM0_A3_IL":"TGO","ADM0_A3_PS":"TGO","ADM0_A3_SA":"TGO","ADM0_A3_EG":"TGO","ADM0_A3_MA":"TGO","ADM0_A3_PT":"TGO","ADM0_A3_AR":"TGO","ADM0_A3_JP":"TGO","ADM0_A3_KO":"TGO","ADM0_A3_VN":"TGO","ADM0_A3_TR":"TGO","ADM0_A3_ID":"TGO","ADM0_A3_PL":"TGO","ADM0_A3_GR":"TGO","ADM0_A3_IT":"TGO","ADM0_A3_NL":"TGO","ADM0_A3_SE":"TGO","ADM0_A3_BD":"TGO","ADM0_A3_UA":"TGO","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":4,"LONG_LEN":4,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":1.058113,"LABEL_Y":8.80722,"NE_ID":1159321303,"WIKIDATAID":"Q945","NAME_AR":"توغو","NAME_BN":"টোগো","NAME_DE":"Togo","NAME_EN":"Togo","NAME_ES":"Togo","NAME_FA":"توگو","NAME_FR":"Togo","NAME_EL":"Τόγκο","NAME_HE":"טוגו","NAME_HI":"टोगो","NAME_HU":"Togo","NAME_ID":"Togo","NAME_IT":"Togo","NAME_JA":"トーゴ","NAME_KO":"토고","NAME_NL":"Togo","NAME_PL":"Togo","NAME_PT":"Togo","NAME_RU":"Того","NAME_SV":"Togo","NAME_TR":"Togo","NAME_UK":"Того","NAME_UR":"ٹوگو","NAME_VI":"Togo","NAME_ZH":"多哥","NAME_ZHT":"多哥","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-0.049785,5.928837,1.865241,11.018682],"geometry":{"type":"Polygon","coordinates":[[[0.899563,10.997339],[0.772336,10.470808],[1.077795,10.175607],[1.425061,9.825395],[1.463043,9.334624],[1.664478,9.12859],[1.618951,6.832038],[1.865241,6.142158],[1.060122,5.928837],[0.836931,6.279979],[0.570384,6.914359],[0.490957,7.411744],[0.712029,8.312465],[0.461192,8.677223],[0.365901,9.465004],[0.36758,10.191213],[-0.049785,10.706918],[0.023803,11.018682],[0.899563,10.997339]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Ghana","SOV_A3":"GHA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Ghana","ADM0_A3":"GHA","GEOU_DIF":0,"GEOUNIT":"Ghana","GU_A3":"GHA","SU_DIF":0,"SUBUNIT":"Ghana","SU_A3":"GHA","BRK_DIFF":0,"NAME":"Ghana","NAME_LONG":"Ghana","BRK_A3":"GHA","BRK_NAME":"Ghana","BRK_GROUP":null,"ABBREV":"Ghana","POSTAL":"GH","FORMAL_EN":"Republic of Ghana","FORMAL_FR":null,"NAME_CIAWF":"Ghana","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Ghana","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":3,"MAPCOLOR9":1,"MAPCOLOR13":4,"POP_EST":30417856,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":66983,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"GH","ISO_A2":"GH","ISO_A2_EH":"GH","ISO_A3":"GHA","ISO_A3_EH":"GHA","ISO_N3":"288","ISO_N3_EH":"288","UN_A3":"288","WB_A2":"GH","WB_A3":"GHA","WOE_ID":23424824,"WOE_ID_EH":23424824,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"GHA","ADM0_DIFF":null,"ADM0_TLC":"GHA","ADM0_A3_US":"GHA","ADM0_A3_FR":"GHA","ADM0_A3_RU":"GHA","ADM0_A3_ES":"GHA","ADM0_A3_CN":"GHA","ADM0_A3_TW":"GHA","ADM0_A3_IN":"GHA","ADM0_A3_NP":"GHA","ADM0_A3_PK":"GHA","ADM0_A3_DE":"GHA","ADM0_A3_GB":"GHA","ADM0_A3_BR":"GHA","ADM0_A3_IL":"GHA","ADM0_A3_PS":"GHA","ADM0_A3_SA":"GHA","ADM0_A3_EG":"GHA","ADM0_A3_MA":"GHA","ADM0_A3_PT":"GHA","ADM0_A3_AR":"GHA","ADM0_A3_JP":"GHA","ADM0_A3_KO":"GHA","ADM0_A3_VN":"GHA","ADM0_A3_TR":"GHA","ADM0_A3_ID":"GHA","ADM0_A3_PL":"GHA","ADM0_A3_GR":"GHA","ADM0_A3_IT":"GHA","ADM0_A3_NL":"GHA","ADM0_A3_SE":"GHA","ADM0_A3_BD":"GHA","ADM0_A3_UA":"GHA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.7,"MAX_LABEL":8,"LABEL_X":-1.036941,"LABEL_Y":7.717639,"NE_ID":1159320793,"WIKIDATAID":"Q117","NAME_AR":"غانا","NAME_BN":"ঘানা","NAME_DE":"Ghana","NAME_EN":"Ghana","NAME_ES":"Ghana","NAME_FA":"غنا","NAME_FR":"Ghana","NAME_EL":"Γκάνα","NAME_HE":"גאנה","NAME_HI":"घाना","NAME_HU":"Ghána","NAME_ID":"Ghana","NAME_IT":"Ghana","NAME_JA":"ガーナ","NAME_KO":"가나","NAME_NL":"Ghana","NAME_PL":"Ghana","NAME_PT":"Gana","NAME_RU":"Гана","NAME_SV":"Ghana","NAME_TR":"Gana","NAME_UK":"Гана","NAME_UR":"گھانا","NAME_VI":"Ghana","NAME_ZH":"加纳","NAME_ZHT":"迦納","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-3.24437,4.710462,1.060122,11.098341],"geometry":{"type":"Polygon","coordinates":[[[0.023803,11.018682],[-0.049785,10.706918],[0.36758,10.191213],[0.365901,9.465004],[0.461192,8.677223],[0.712029,8.312465],[0.490957,7.411744],[0.570384,6.914359],[0.836931,6.279979],[1.060122,5.928837],[-0.507638,5.343473],[-1.063625,5.000548],[-1.964707,4.710462],[-2.856125,4.994476],[-2.810701,5.389051],[-3.24437,6.250472],[-2.983585,7.379705],[-2.56219,8.219628],[-2.827496,9.642461],[-2.963896,10.395335],[-2.940409,10.96269],[-1.203358,11.009819],[-0.761576,10.93693],[-0.438702,11.098341],[0.023803,11.018682]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Ivory Coast","SOV_A3":"CIV","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Ivory Coast","ADM0_A3":"CIV","GEOU_DIF":0,"GEOUNIT":"Ivory Coast","GU_A3":"CIV","SU_DIF":0,"SUBUNIT":"Ivory Coast","SU_A3":"CIV","BRK_DIFF":0,"NAME":"Côte d'Ivoire","NAME_LONG":"Côte d'Ivoire","BRK_A3":"CIV","BRK_NAME":"Côte d'Ivoire","BRK_GROUP":null,"ABBREV":"I.C.","POSTAL":"CI","FORMAL_EN":"Republic of Ivory Coast","FORMAL_FR":"Republic of Cote D'Ivoire","NAME_CIAWF":"Cote D'ivoire","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Côte d'Ivoire","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":6,"MAPCOLOR9":3,"MAPCOLOR13":3,"POP_EST":25716544,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":58539,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"IV","ISO_A2":"CI","ISO_A2_EH":"CI","ISO_A3":"CIV","ISO_A3_EH":"CIV","ISO_N3":"384","ISO_N3_EH":"384","UN_A3":"384","WB_A2":"CI","WB_A3":"CIV","WOE_ID":23424854,"WOE_ID_EH":23424854,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"CIV","ADM0_DIFF":null,"ADM0_TLC":"CIV","ADM0_A3_US":"CIV","ADM0_A3_FR":"CIV","ADM0_A3_RU":"CIV","ADM0_A3_ES":"CIV","ADM0_A3_CN":"CIV","ADM0_A3_TW":"CIV","ADM0_A3_IN":"CIV","ADM0_A3_NP":"CIV","ADM0_A3_PK":"CIV","ADM0_A3_DE":"CIV","ADM0_A3_GB":"CIV","ADM0_A3_BR":"CIV","ADM0_A3_IL":"CIV","ADM0_A3_PS":"CIV","ADM0_A3_SA":"CIV","ADM0_A3_EG":"CIV","ADM0_A3_MA":"CIV","ADM0_A3_PT":"CIV","ADM0_A3_AR":"CIV","ADM0_A3_JP":"CIV","ADM0_A3_KO":"CIV","ADM0_A3_VN":"CIV","ADM0_A3_TR":"CIV","ADM0_A3_ID":"CIV","ADM0_A3_PL":"CIV","ADM0_A3_GR":"CIV","ADM0_A3_IT":"CIV","ADM0_A3_NL":"CIV","ADM0_A3_SE":"CIV","ADM0_A3_BD":"CIV","ADM0_A3_UA":"CIV","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":13,"LONG_LEN":13,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.5,"MAX_LABEL":8,"LABEL_X":-5.568618,"LABEL_Y":7.49139,"NE_ID":1159320507,"WIKIDATAID":"Q1008","NAME_AR":"ساحل العاج","NAME_BN":"কোত দিভোয়ার","NAME_DE":"Elfenbeinküste","NAME_EN":"Ivory Coast","NAME_ES":"Costa de Marfil","NAME_FA":"ساحل عاج","NAME_FR":"Côte d'Ivoire","NAME_EL":"Ακτή Ελεφαντοστού","NAME_HE":"חוף השנהב","NAME_HI":"कोत दिव्वार","NAME_HU":"Elefántcsontpart","NAME_ID":"Pantai Gading","NAME_IT":"Costa d'Avorio","NAME_JA":"コートジボワール","NAME_KO":"코트디부아르","NAME_NL":"Ivoorkust","NAME_PL":"Wybrzeże Kości Słoniowej","NAME_PT":"Costa do Marfim","NAME_RU":"Кот-д’Ивуар","NAME_SV":"Elfenbenskusten","NAME_TR":"Fildişi Sahili","NAME_UK":"Кот-д'Івуар","NAME_UR":"کوت داوواغ","NAME_VI":"Bờ Biển Ngà","NAME_ZH":"科特迪瓦","NAME_ZHT":"象牙海岸","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-8.60288,4.338288,-2.56219,10.524061],"geometry":{"type":"Polygon","coordinates":[[[-8.029944,10.206535],[-7.89959,10.297382],[-7.622759,10.147236],[-6.850507,10.138994],[-6.666461,10.430811],[-6.493965,10.411303],[-6.205223,10.524061],[-6.050452,10.096361],[-5.816926,10.222555],[-5.404342,10.370737],[-4.954653,10.152714],[-4.779884,9.821985],[-4.330247,9.610835],[-3.980449,9.862344],[-3.511899,9.900326],[-2.827496,9.642461],[-2.56219,8.219628],[-2.983585,7.379705],[-3.24437,6.250472],[-2.810701,5.389051],[-2.856125,4.994476],[-3.311084,4.984296],[-4.00882,5.179813],[-4.649917,5.168264],[-5.834496,4.993701],[-6.528769,4.705088],[-7.518941,4.338288],[-7.712159,4.364566],[-7.635368,5.188159],[-7.539715,5.313345],[-7.570153,5.707352],[-7.993693,6.12619],[-8.311348,6.193033],[-8.60288,6.467564],[-8.385452,6.911801],[-8.485446,7.395208],[-8.439298,7.686043],[-8.280703,7.68718],[-8.221792,8.123329],[-8.299049,8.316444],[-8.203499,8.455453],[-7.8321,8.575704],[-8.079114,9.376224],[-8.309616,9.789532],[-8.229337,10.12902],[-8.029944,10.206535]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Guinea","SOV_A3":"GIN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Guinea","ADM0_A3":"GIN","GEOU_DIF":0,"GEOUNIT":"Guinea","GU_A3":"GIN","SU_DIF":0,"SUBUNIT":"Guinea","SU_A3":"GIN","BRK_DIFF":0,"NAME":"Guinea","NAME_LONG":"Guinea","BRK_A3":"GIN","BRK_NAME":"Guinea","BRK_GROUP":null,"ABBREV":"Gin.","POSTAL":"GN","FORMAL_EN":"Republic of Guinea","FORMAL_FR":null,"NAME_CIAWF":"Guinea","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Guinea","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":3,"MAPCOLOR9":7,"MAPCOLOR13":2,"POP_EST":12771246,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":12296,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"GV","ISO_A2":"GN","ISO_A2_EH":"GN","ISO_A3":"GIN","ISO_A3_EH":"GIN","ISO_N3":"324","ISO_N3_EH":"324","UN_A3":"324","WB_A2":"GN","WB_A3":"GIN","WOE_ID":23424835,"WOE_ID_EH":23424835,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"GIN","ADM0_DIFF":null,"ADM0_TLC":"GIN","ADM0_A3_US":"GIN","ADM0_A3_FR":"GIN","ADM0_A3_RU":"GIN","ADM0_A3_ES":"GIN","ADM0_A3_CN":"GIN","ADM0_A3_TW":"GIN","ADM0_A3_IN":"GIN","ADM0_A3_NP":"GIN","ADM0_A3_PK":"GIN","ADM0_A3_DE":"GIN","ADM0_A3_GB":"GIN","ADM0_A3_BR":"GIN","ADM0_A3_IL":"GIN","ADM0_A3_PS":"GIN","ADM0_A3_SA":"GIN","ADM0_A3_EG":"GIN","ADM0_A3_MA":"GIN","ADM0_A3_PT":"GIN","ADM0_A3_AR":"GIN","ADM0_A3_JP":"GIN","ADM0_A3_KO":"GIN","ADM0_A3_VN":"GIN","ADM0_A3_TR":"GIN","ADM0_A3_ID":"GIN","ADM0_A3_PL":"GIN","ADM0_A3_GR":"GIN","ADM0_A3_IT":"GIN","ADM0_A3_NL":"GIN","ADM0_A3_SE":"GIN","ADM0_A3_BD":"GIN","ADM0_A3_UA":"GIN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":-10.016402,"LABEL_Y":10.618516,"NE_ID":1159320795,"WIKIDATAID":"Q1006","NAME_AR":"غينيا","NAME_BN":"গিনি","NAME_DE":"Guinea","NAME_EN":"Guinea","NAME_ES":"Guinea","NAME_FA":"گینه","NAME_FR":"Guinée","NAME_EL":"Γουινέα","NAME_HE":"גינאה","NAME_HI":"गिनी","NAME_HU":"Guinea","NAME_ID":"Guinea","NAME_IT":"Guinea","NAME_JA":"ギニア","NAME_KO":"기니","NAME_NL":"Guinee","NAME_PL":"Gwinea","NAME_PT":"Guiné","NAME_RU":"Гвинея","NAME_SV":"Guinea","NAME_TR":"Gine","NAME_UK":"Гвінея","NAME_UR":"جمہوریہ گنی","NAME_VI":"Guinée","NAME_ZH":"几内亚","NAME_ZHT":"幾內亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-15.130311,7.309037,-7.8321,12.586183],"geometry":{"type":"Polygon","coordinates":[[[-13.700476,12.586183],[-13.217818,12.575874],[-12.499051,12.33209],[-12.278599,12.35444],[-12.203565,12.465648],[-11.658301,12.386583],[-11.513943,12.442988],[-11.456169,12.076834],[-11.297574,12.077971],[-11.036556,12.211245],[-10.87083,12.177887],[-10.593224,11.923975],[-10.165214,11.844084],[-9.890993,12.060479],[-9.567912,12.194243],[-9.327616,12.334286],[-9.127474,12.30806],[-8.905265,12.088358],[-8.786099,11.812561],[-8.376305,11.393646],[-8.581305,11.136246],[-8.620321,10.810891],[-8.407311,10.909257],[-8.282357,10.792597],[-8.335377,10.494812],[-8.029944,10.206535],[-8.229337,10.12902],[-8.309616,9.789532],[-8.079114,9.376224],[-7.8321,8.575704],[-8.203499,8.455453],[-8.299049,8.316444],[-8.221792,8.123329],[-8.280703,7.68718],[-8.439298,7.686043],[-8.722124,7.711674],[-8.926065,7.309037],[-9.208786,7.313921],[-9.403348,7.526905],[-9.33728,7.928534],[-9.755342,8.541055],[-10.016567,8.428504],[-10.230094,8.406206],[-10.505477,8.348896],[-10.494315,8.715541],[-10.65477,8.977178],[-10.622395,9.26791],[-10.839152,9.688246],[-11.117481,10.045873],[-11.917277,10.046984],[-12.150338,9.858572],[-12.425929,9.835834],[-12.596719,9.620188],[-12.711958,9.342712],[-13.24655,8.903049],[-13.685154,9.494744],[-14.074045,9.886167],[-14.330076,10.01572],[-14.579699,10.214467],[-14.693232,10.656301],[-14.839554,10.876572],[-15.130311,11.040412],[-14.685687,11.527824],[-14.382192,11.509272],[-14.121406,11.677117],[-13.9008,11.678719],[-13.743161,11.811269],[-13.828272,12.142644],[-13.718744,12.247186],[-13.700476,12.586183]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Guinea-Bissau","SOV_A3":"GNB","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Guinea-Bissau","ADM0_A3":"GNB","GEOU_DIF":0,"GEOUNIT":"Guinea-Bissau","GU_A3":"GNB","SU_DIF":0,"SUBUNIT":"Guinea-Bissau","SU_A3":"GNB","BRK_DIFF":0,"NAME":"Guinea-Bissau","NAME_LONG":"Guinea-Bissau","BRK_A3":"GNB","BRK_NAME":"Guinea-Bissau","BRK_GROUP":null,"ABBREV":"GnB.","POSTAL":"GW","FORMAL_EN":"Republic of Guinea-Bissau","FORMAL_FR":null,"NAME_CIAWF":"Guinea-Bissau","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Guinea-Bissau","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":5,"MAPCOLOR9":3,"MAPCOLOR13":4,"POP_EST":1920922,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":1339,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"PU","ISO_A2":"GW","ISO_A2_EH":"GW","ISO_A3":"GNB","ISO_A3_EH":"GNB","ISO_N3":"624","ISO_N3_EH":"624","UN_A3":"624","WB_A2":"GW","WB_A3":"GNB","WOE_ID":23424929,"WOE_ID_EH":23424929,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"GNB","ADM0_DIFF":null,"ADM0_TLC":"GNB","ADM0_A3_US":"GNB","ADM0_A3_FR":"GNB","ADM0_A3_RU":"GNB","ADM0_A3_ES":"GNB","ADM0_A3_CN":"GNB","ADM0_A3_TW":"GNB","ADM0_A3_IN":"GNB","ADM0_A3_NP":"GNB","ADM0_A3_PK":"GNB","ADM0_A3_DE":"GNB","ADM0_A3_GB":"GNB","ADM0_A3_BR":"GNB","ADM0_A3_IL":"GNB","ADM0_A3_PS":"GNB","ADM0_A3_SA":"GNB","ADM0_A3_EG":"GNB","ADM0_A3_MA":"GNB","ADM0_A3_PT":"GNB","ADM0_A3_AR":"GNB","ADM0_A3_JP":"GNB","ADM0_A3_KO":"GNB","ADM0_A3_VN":"GNB","ADM0_A3_TR":"GNB","ADM0_A3_ID":"GNB","ADM0_A3_PL":"GNB","ADM0_A3_GR":"GNB","ADM0_A3_IT":"GNB","ADM0_A3_NL":"GNB","ADM0_A3_SE":"GNB","ADM0_A3_BD":"GNB","ADM0_A3_UA":"GNB","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":13,"LONG_LEN":13,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":-14.52413,"LABEL_Y":12.163712,"NE_ID":1159320799,"WIKIDATAID":"Q1007","NAME_AR":"غينيا بيساو","NAME_BN":"গিনি-বিসাউ","NAME_DE":"Guinea-Bissau","NAME_EN":"Guinea-Bissau","NAME_ES":"Guinea-Bisáu","NAME_FA":"گینه بیسائو","NAME_FR":"Guinée-Bissau","NAME_EL":"Γουινέα-Μπισσάου","NAME_HE":"גינאה ביסאו","NAME_HI":"गिनी-बिसाऊ","NAME_HU":"Bissau-Guinea","NAME_ID":"Guinea-Bissau","NAME_IT":"Guinea-Bissau","NAME_JA":"ギニアビサウ","NAME_KO":"기니비사우","NAME_NL":"Guinee-Bissau","NAME_PL":"Gwinea Bissau","NAME_PT":"Guiné-Bissau","NAME_RU":"Гвинея-Бисау","NAME_SV":"Guinea-Bissau","NAME_TR":"Gine-Bissau","NAME_UK":"Гвінея-Бісау","NAME_UR":"گنی بساؤ","NAME_VI":"Guiné-Bissau","NAME_ZH":"几内亚比绍","NAME_ZHT":"幾內亞比索","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-16.677452,11.040412,-13.700476,12.62817],"geometry":{"type":"Polygon","coordinates":[[[-16.677452,12.384852],[-16.147717,12.547762],[-15.816574,12.515567],[-15.548477,12.62817],[-13.700476,12.586183],[-13.718744,12.247186],[-13.828272,12.142644],[-13.743161,11.811269],[-13.9008,11.678719],[-14.121406,11.677117],[-14.382192,11.509272],[-14.685687,11.527824],[-15.130311,11.040412],[-15.66418,11.458474],[-16.085214,11.524594],[-16.314787,11.806515],[-16.308947,11.958702],[-16.613838,12.170911],[-16.677452,12.384852]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Liberia","SOV_A3":"LBR","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Liberia","ADM0_A3":"LBR","GEOU_DIF":0,"GEOUNIT":"Liberia","GU_A3":"LBR","SU_DIF":0,"SUBUNIT":"Liberia","SU_A3":"LBR","BRK_DIFF":0,"NAME":"Liberia","NAME_LONG":"Liberia","BRK_A3":"LBR","BRK_NAME":"Liberia","BRK_GROUP":null,"ABBREV":"Liberia","POSTAL":"LR","FORMAL_EN":"Republic of Liberia","FORMAL_FR":null,"NAME_CIAWF":"Liberia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Liberia","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":3,"MAPCOLOR9":4,"MAPCOLOR13":9,"POP_EST":4937374,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":3070,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"LI","ISO_A2":"LR","ISO_A2_EH":"LR","ISO_A3":"LBR","ISO_A3_EH":"LBR","ISO_N3":"430","ISO_N3_EH":"430","UN_A3":"430","WB_A2":"LR","WB_A3":"LBR","WOE_ID":23424876,"WOE_ID_EH":23424876,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"LBR","ADM0_DIFF":null,"ADM0_TLC":"LBR","ADM0_A3_US":"LBR","ADM0_A3_FR":"LBR","ADM0_A3_RU":"LBR","ADM0_A3_ES":"LBR","ADM0_A3_CN":"LBR","ADM0_A3_TW":"LBR","ADM0_A3_IN":"LBR","ADM0_A3_NP":"LBR","ADM0_A3_PK":"LBR","ADM0_A3_DE":"LBR","ADM0_A3_GB":"LBR","ADM0_A3_BR":"LBR","ADM0_A3_IL":"LBR","ADM0_A3_PS":"LBR","ADM0_A3_SA":"LBR","ADM0_A3_EG":"LBR","ADM0_A3_MA":"LBR","ADM0_A3_PT":"LBR","ADM0_A3_AR":"LBR","ADM0_A3_JP":"LBR","ADM0_A3_KO":"LBR","ADM0_A3_VN":"LBR","ADM0_A3_TR":"LBR","ADM0_A3_ID":"LBR","ADM0_A3_PL":"LBR","ADM0_A3_GR":"LBR","ADM0_A3_IT":"LBR","ADM0_A3_NL":"LBR","ADM0_A3_SE":"LBR","ADM0_A3_BD":"LBR","ADM0_A3_UA":"LBR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":7,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":-9.460379,"LABEL_Y":6.447177,"NE_ID":1159321015,"WIKIDATAID":"Q1014","NAME_AR":"ليبيريا","NAME_BN":"লাইবেরিয়া","NAME_DE":"Liberia","NAME_EN":"Liberia","NAME_ES":"Liberia","NAME_FA":"لیبریا","NAME_FR":"Liberia","NAME_EL":"Λιβερία","NAME_HE":"ליבריה","NAME_HI":"लाइबेरिया","NAME_HU":"Libéria","NAME_ID":"Liberia","NAME_IT":"Liberia","NAME_JA":"リベリア","NAME_KO":"라이베리아","NAME_NL":"Liberia","NAME_PL":"Liberia","NAME_PT":"Libéria","NAME_RU":"Либерия","NAME_SV":"Liberia","NAME_TR":"Liberya","NAME_UK":"Ліберія","NAME_UR":"لائبیریا","NAME_VI":"Liberia","NAME_ZH":"利比里亚","NAME_ZHT":"賴比瑞亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-11.438779,4.355755,-7.539715,8.541055],"geometry":{"type":"Polygon","coordinates":[[[-8.439298,7.686043],[-8.485446,7.395208],[-8.385452,6.911801],[-8.60288,6.467564],[-8.311348,6.193033],[-7.993693,6.12619],[-7.570153,5.707352],[-7.539715,5.313345],[-7.635368,5.188159],[-7.712159,4.364566],[-7.974107,4.355755],[-9.004794,4.832419],[-9.91342,5.593561],[-10.765384,6.140711],[-11.438779,6.785917],[-11.199802,7.105846],[-11.146704,7.396706],[-10.695595,7.939464],[-10.230094,8.406206],[-10.016567,8.428504],[-9.755342,8.541055],[-9.33728,7.928534],[-9.403348,7.526905],[-9.208786,7.313921],[-8.926065,7.309037],[-8.722124,7.711674],[-8.439298,7.686043]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Sierra Leone","SOV_A3":"SLE","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Sierra Leone","ADM0_A3":"SLE","GEOU_DIF":0,"GEOUNIT":"Sierra Leone","GU_A3":"SLE","SU_DIF":0,"SUBUNIT":"Sierra Leone","SU_A3":"SLE","BRK_DIFF":0,"NAME":"Sierra Leone","NAME_LONG":"Sierra Leone","BRK_A3":"SLE","BRK_NAME":"Sierra Leone","BRK_GROUP":null,"ABBREV":"S.L.","POSTAL":"SL","FORMAL_EN":"Republic of Sierra Leone","FORMAL_FR":null,"NAME_CIAWF":"Sierra Leone","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Sierra Leone","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":1,"MAPCOLOR13":7,"POP_EST":7813215,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":4121,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"SL","ISO_A2":"SL","ISO_A2_EH":"SL","ISO_A3":"SLE","ISO_A3_EH":"SLE","ISO_N3":"694","ISO_N3_EH":"694","UN_A3":"694","WB_A2":"SL","WB_A3":"SLE","WOE_ID":23424946,"WOE_ID_EH":23424946,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"SLE","ADM0_DIFF":null,"ADM0_TLC":"SLE","ADM0_A3_US":"SLE","ADM0_A3_FR":"SLE","ADM0_A3_RU":"SLE","ADM0_A3_ES":"SLE","ADM0_A3_CN":"SLE","ADM0_A3_TW":"SLE","ADM0_A3_IN":"SLE","ADM0_A3_NP":"SLE","ADM0_A3_PK":"SLE","ADM0_A3_DE":"SLE","ADM0_A3_GB":"SLE","ADM0_A3_BR":"SLE","ADM0_A3_IL":"SLE","ADM0_A3_PS":"SLE","ADM0_A3_SA":"SLE","ADM0_A3_EG":"SLE","ADM0_A3_MA":"SLE","ADM0_A3_PT":"SLE","ADM0_A3_AR":"SLE","ADM0_A3_JP":"SLE","ADM0_A3_KO":"SLE","ADM0_A3_VN":"SLE","ADM0_A3_TR":"SLE","ADM0_A3_ID":"SLE","ADM0_A3_PL":"SLE","ADM0_A3_GR":"SLE","ADM0_A3_IT":"SLE","ADM0_A3_NL":"SLE","ADM0_A3_SE":"SLE","ADM0_A3_BD":"SLE","ADM0_A3_UA":"SLE","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":12,"LONG_LEN":12,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":-11.763677,"LABEL_Y":8.617449,"NE_ID":1159321251,"WIKIDATAID":"Q1044","NAME_AR":"سيراليون","NAME_BN":"সিয়েরা লিওন","NAME_DE":"Sierra Leone","NAME_EN":"Sierra Leone","NAME_ES":"Sierra Leona","NAME_FA":"سیرالئون","NAME_FR":"Sierra Leone","NAME_EL":"Σιέρα Λεόνε","NAME_HE":"סיירה לאון","NAME_HI":"सिएरा लियोन","NAME_HU":"Sierra Leone","NAME_ID":"Sierra Leone","NAME_IT":"Sierra Leone","NAME_JA":"シエラレオネ","NAME_KO":"시에라리온","NAME_NL":"Sierra Leone","NAME_PL":"Sierra Leone","NAME_PT":"Serra Leoa","NAME_RU":"Сьерра-Леоне","NAME_SV":"Sierra Leone","NAME_TR":"Sierra Leone","NAME_UK":"Сьєрра-Леоне","NAME_UR":"سیرالیون","NAME_VI":"Sierra Leone","NAME_ZH":"塞拉利昂","NAME_ZHT":"獅子山","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-13.24655,6.785917,-10.230094,10.046984],"geometry":{"type":"Polygon","coordinates":[[[-13.24655,8.903049],[-12.711958,9.342712],[-12.596719,9.620188],[-12.425929,9.835834],[-12.150338,9.858572],[-11.917277,10.046984],[-11.117481,10.045873],[-10.839152,9.688246],[-10.622395,9.26791],[-10.65477,8.977178],[-10.494315,8.715541],[-10.505477,8.348896],[-10.230094,8.406206],[-10.695595,7.939464],[-11.146704,7.396706],[-11.199802,7.105846],[-11.438779,6.785917],[-11.708195,6.860098],[-12.428099,7.262942],[-12.949049,7.798646],[-13.124025,8.163946],[-13.24655,8.903049]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Burkina Faso","SOV_A3":"BFA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Burkina Faso","ADM0_A3":"BFA","GEOU_DIF":0,"GEOUNIT":"Burkina Faso","GU_A3":"BFA","SU_DIF":0,"SUBUNIT":"Burkina Faso","SU_A3":"BFA","BRK_DIFF":0,"NAME":"Burkina Faso","NAME_LONG":"Burkina Faso","BRK_A3":"BFA","BRK_NAME":"Burkina Faso","BRK_GROUP":null,"ABBREV":"B.F.","POSTAL":"BF","FORMAL_EN":"Burkina Faso","FORMAL_FR":null,"NAME_CIAWF":"Burkina Faso","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Burkina Faso","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":1,"MAPCOLOR9":5,"MAPCOLOR13":11,"POP_EST":20321378,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":15990,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"UV","ISO_A2":"BF","ISO_A2_EH":"BF","ISO_A3":"BFA","ISO_A3_EH":"BFA","ISO_N3":"854","ISO_N3_EH":"854","UN_A3":"854","WB_A2":"BF","WB_A3":"BFA","WOE_ID":23424978,"WOE_ID_EH":23424978,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BFA","ADM0_DIFF":null,"ADM0_TLC":"BFA","ADM0_A3_US":"BFA","ADM0_A3_FR":"BFA","ADM0_A3_RU":"BFA","ADM0_A3_ES":"BFA","ADM0_A3_CN":"BFA","ADM0_A3_TW":"BFA","ADM0_A3_IN":"BFA","ADM0_A3_NP":"BFA","ADM0_A3_PK":"BFA","ADM0_A3_DE":"BFA","ADM0_A3_GB":"BFA","ADM0_A3_BR":"BFA","ADM0_A3_IL":"BFA","ADM0_A3_PS":"BFA","ADM0_A3_SA":"BFA","ADM0_A3_EG":"BFA","ADM0_A3_MA":"BFA","ADM0_A3_PT":"BFA","ADM0_A3_AR":"BFA","ADM0_A3_JP":"BFA","ADM0_A3_KO":"BFA","ADM0_A3_VN":"BFA","ADM0_A3_TR":"BFA","ADM0_A3_ID":"BFA","ADM0_A3_PL":"BFA","ADM0_A3_GR":"BFA","ADM0_A3_IT":"BFA","ADM0_A3_NL":"BFA","ADM0_A3_SE":"BFA","ADM0_A3_BD":"BFA","ADM0_A3_UA":"BFA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":12,"LONG_LEN":12,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":-1.36388,"LABEL_Y":12.673048,"NE_ID":1159320405,"WIKIDATAID":"Q965","NAME_AR":"بوركينا فاسو","NAME_BN":"বুর্কিনা ফাসো","NAME_DE":"Burkina Faso","NAME_EN":"Burkina Faso","NAME_ES":"Burkina Faso","NAME_FA":"بورکینافاسو","NAME_FR":"Burkina Faso","NAME_EL":"Μπουρκίνα Φάσο","NAME_HE":"בורקינה פאסו","NAME_HI":"बुर्किना फासो","NAME_HU":"Burkina Faso","NAME_ID":"Burkina Faso","NAME_IT":"Burkina Faso","NAME_JA":"ブルキナファソ","NAME_KO":"부르키나파소","NAME_NL":"Burkina Faso","NAME_PL":"Burkina Faso","NAME_PT":"Burkina Faso","NAME_RU":"Буркина-Фасо","NAME_SV":"Burkina Faso","NAME_TR":"Burkina Faso","NAME_UK":"Буркіна-Фасо","NAME_UR":"برکینا فاسو","NAME_VI":"Burkina Faso","NAME_ZH":"布基纳法索","NAME_ZHT":"布基納法索","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-5.470565,9.610835,2.177108,15.116158],"geometry":{"type":"Polygon","coordinates":[[[-5.404342,10.370737],[-5.470565,10.95127],[-5.197843,11.375146],[-5.220942,11.713859],[-4.427166,12.542646],[-4.280405,13.228444],[-4.006391,13.472485],[-3.522803,13.337662],[-3.103707,13.541267],[-2.967694,13.79815],[-2.191825,14.246418],[-2.001035,14.559008],[-1.066363,14.973815],[-0.515854,15.116158],[-0.266257,14.924309],[0.374892,14.928908],[0.295646,14.444235],[0.429928,13.988733],[0.993046,13.33575],[1.024103,12.851826],[2.177108,12.625018],[2.154474,11.94015],[1.935986,11.64115],[1.447178,11.547719],[1.24347,11.110511],[0.899563,10.997339],[0.023803,11.018682],[-0.438702,11.098341],[-0.761576,10.93693],[-1.203358,11.009819],[-2.940409,10.96269],[-2.963896,10.395335],[-2.827496,9.642461],[-3.511899,9.900326],[-3.980449,9.862344],[-4.330247,9.610835],[-4.779884,9.821985],[-4.954653,10.152714],[-5.404342,10.370737]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Central African Republic","SOV_A3":"CAF","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Central African Republic","ADM0_A3":"CAF","GEOU_DIF":0,"GEOUNIT":"Central African Republic","GU_A3":"CAF","SU_DIF":0,"SUBUNIT":"Central African Republic","SU_A3":"CAF","BRK_DIFF":0,"NAME":"Central African Rep.","NAME_LONG":"Central African Republic","BRK_A3":"CAF","BRK_NAME":"Central African Rep.","BRK_GROUP":null,"ABBREV":"C.A.R.","POSTAL":"CF","FORMAL_EN":"Central African Republic","FORMAL_FR":null,"NAME_CIAWF":"Central African Republic","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Central African Republic","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":6,"MAPCOLOR9":6,"MAPCOLOR13":9,"POP_EST":4745185,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":2220,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"CT","ISO_A2":"CF","ISO_A2_EH":"CF","ISO_A3":"CAF","ISO_A3_EH":"CAF","ISO_N3":"140","ISO_N3_EH":"140","UN_A3":"140","WB_A2":"CF","WB_A3":"CAF","WOE_ID":23424792,"WOE_ID_EH":23424792,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"CAF","ADM0_DIFF":null,"ADM0_TLC":"CAF","ADM0_A3_US":"CAF","ADM0_A3_FR":"CAF","ADM0_A3_RU":"CAF","ADM0_A3_ES":"CAF","ADM0_A3_CN":"CAF","ADM0_A3_TW":"CAF","ADM0_A3_IN":"CAF","ADM0_A3_NP":"CAF","ADM0_A3_PK":"CAF","ADM0_A3_DE":"CAF","ADM0_A3_GB":"CAF","ADM0_A3_BR":"CAF","ADM0_A3_IL":"CAF","ADM0_A3_PS":"CAF","ADM0_A3_SA":"CAF","ADM0_A3_EG":"CAF","ADM0_A3_MA":"CAF","ADM0_A3_PT":"CAF","ADM0_A3_AR":"CAF","ADM0_A3_JP":"CAF","ADM0_A3_KO":"CAF","ADM0_A3_VN":"CAF","ADM0_A3_TR":"CAF","ADM0_A3_ID":"CAF","ADM0_A3_PL":"CAF","ADM0_A3_GR":"CAF","ADM0_A3_IT":"CAF","ADM0_A3_NL":"CAF","ADM0_A3_SE":"CAF","ADM0_A3_BD":"CAF","ADM0_A3_UA":"CAF","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Middle Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":20,"LONG_LEN":24,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":20.906897,"LABEL_Y":6.989681,"NE_ID":1159320463,"WIKIDATAID":"Q929","NAME_AR":"جمهورية أفريقيا الوسطى","NAME_BN":"মধ্য আফ্রিকান প্রজাতন্ত্র","NAME_DE":"Zentralafrikanische Republik","NAME_EN":"Central African Republic","NAME_ES":"República Centroafricana","NAME_FA":"جمهوری آفریقای مرکزی","NAME_FR":"République centrafricaine","NAME_EL":"Κεντροαφρικανική Δημοκρατία","NAME_HE":"הרפובליקה המרכז-אפריקאית","NAME_HI":"मध्य अफ़्रीकी गणराज्य","NAME_HU":"Közép-afrikai Köztársaság","NAME_ID":"Republik Afrika Tengah","NAME_IT":"Repubblica Centrafricana","NAME_JA":"中央アフリカ共和国","NAME_KO":"중앙아프리카 공화국","NAME_NL":"Centraal-Afrikaanse Republiek","NAME_PL":"Republika Środkowoafrykańska","NAME_PT":"República Centro-Africana","NAME_RU":"Центральноафриканская Республика","NAME_SV":"Centralafrikanska republiken","NAME_TR":"Orta Afrika Cumhuriyeti","NAME_UK":"Центральноафриканська Республіка","NAME_UR":"وسطی افریقی جمہوریہ","NAME_VI":"Cộng hòa Trung Phi","NAME_ZH":"中非共和国","NAME_ZHT":"中非共和國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[14.459407,2.26764,27.374226,11.142395],"geometry":{"type":"Polygon","coordinates":[[[27.374226,5.233944],[27.044065,5.127853],[26.402761,5.150875],[25.650455,5.256088],[25.278798,5.170408],[25.128833,4.927245],[24.805029,4.897247],[24.410531,5.108784],[23.297214,4.609693],[22.84148,4.710126],[22.704124,4.633051],[22.405124,4.02916],[21.659123,4.224342],[20.927591,4.322786],[20.290679,4.691678],[19.467784,5.031528],[18.932312,4.709506],[18.542982,4.201785],[18.453065,3.504386],[17.8099,3.560196],[17.133042,3.728197],[16.537058,3.198255],[16.012852,2.26764],[15.907381,2.557389],[15.862732,3.013537],[15.405396,3.335301],[15.03622,3.851367],[14.950953,4.210389],[14.478372,4.732605],[14.558936,5.030598],[14.459407,5.451761],[14.53656,6.226959],[14.776545,6.408498],[15.27946,7.421925],[16.106232,7.497088],[16.290562,7.754307],[16.456185,7.734774],[16.705988,7.508328],[17.96493,7.890914],[18.389555,8.281304],[18.911022,8.630895],[18.81201,8.982915],[19.094008,9.074847],[20.059685,9.012706],[21.000868,9.475985],[21.723822,10.567056],[22.231129,10.971889],[22.864165,11.142395],[22.977544,10.714463],[23.554304,10.089255],[23.55725,9.681218],[23.394779,9.265068],[23.459013,8.954286],[23.805813,8.666319],[24.567369,8.229188],[25.114932,7.825104],[25.124131,7.500085],[25.796648,6.979316],[26.213418,6.546603],[26.465909,5.946717],[27.213409,5.550953],[27.374226,5.233944]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Republic of the Congo","SOV_A3":"COG","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Republic of the Congo","ADM0_A3":"COG","GEOU_DIF":0,"GEOUNIT":"Republic of the Congo","GU_A3":"COG","SU_DIF":0,"SUBUNIT":"Republic of the Congo","SU_A3":"COG","BRK_DIFF":0,"NAME":"Congo","NAME_LONG":"Republic of the Congo","BRK_A3":"COG","BRK_NAME":"Republic of the Congo","BRK_GROUP":null,"ABBREV":"Rep. Congo","POSTAL":"CG","FORMAL_EN":"Republic of the Congo","FORMAL_FR":null,"NAME_CIAWF":"Congo, Republic of the","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Congo, Rep.","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":1,"MAPCOLOR9":3,"MAPCOLOR13":10,"POP_EST":5380508,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":12267,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"CF","ISO_A2":"CG","ISO_A2_EH":"CG","ISO_A3":"COG","ISO_A3_EH":"COG","ISO_N3":"178","ISO_N3_EH":"178","UN_A3":"178","WB_A2":"CG","WB_A3":"COG","WOE_ID":23424779,"WOE_ID_EH":23424779,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"COG","ADM0_DIFF":null,"ADM0_TLC":"COG","ADM0_A3_US":"COG","ADM0_A3_FR":"COG","ADM0_A3_RU":"COG","ADM0_A3_ES":"COG","ADM0_A3_CN":"COG","ADM0_A3_TW":"COG","ADM0_A3_IN":"COG","ADM0_A3_NP":"COG","ADM0_A3_PK":"COG","ADM0_A3_DE":"COG","ADM0_A3_GB":"COG","ADM0_A3_BR":"COG","ADM0_A3_IL":"COG","ADM0_A3_PS":"COG","ADM0_A3_SA":"COG","ADM0_A3_EG":"COG","ADM0_A3_MA":"COG","ADM0_A3_PT":"COG","ADM0_A3_AR":"COG","ADM0_A3_JP":"COG","ADM0_A3_KO":"COG","ADM0_A3_VN":"COG","ADM0_A3_TR":"COG","ADM0_A3_ID":"COG","ADM0_A3_PL":"COG","ADM0_A3_GR":"COG","ADM0_A3_IT":"COG","ADM0_A3_NL":"COG","ADM0_A3_SE":"COG","ADM0_A3_BD":"COG","ADM0_A3_UA":"COG","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Middle Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":5,"LONG_LEN":21,"ABBREV_LEN":10,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":15.9005,"LABEL_Y":0.142331,"NE_ID":1159320515,"WIKIDATAID":"Q971","NAME_AR":"جمهورية الكونغو","NAME_BN":"কঙ্গো প্রজাতন্ত্র","NAME_DE":"Republik Kongo","NAME_EN":"Republic of the Congo","NAME_ES":"República del Congo","NAME_FA":"جمهوری کنگو","NAME_FR":"République du Congo","NAME_EL":"Δημοκρατία του Κονγκό","NAME_HE":"הרפובליקה של קונגו","NAME_HI":"कांगो गणराज्य","NAME_HU":"Kongói Köztársaság","NAME_ID":"Republik Kongo","NAME_IT":"Repubblica del Congo","NAME_JA":"コンゴ共和国","NAME_KO":"콩고 공화국","NAME_NL":"Congo-Brazzaville","NAME_PL":"Kongo","NAME_PT":"República do Congo","NAME_RU":"Республика Конго","NAME_SV":"Kongo-Brazzaville","NAME_TR":"Kongo Cumhuriyeti","NAME_UK":"Республіка Конго","NAME_UR":"جمہوریہ کانگو","NAME_VI":"Cộng hòa Congo","NAME_ZH":"刚果共和国","NAME_ZHT":"剛果共和國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[11.093773,-5.037987,18.453065,3.728197],"geometry":{"type":"Polygon","coordinates":[[[18.453065,3.504386],[18.393792,2.900443],[18.094276,2.365722],[17.898835,1.741832],[17.774192,0.855659],[17.82654,0.288923],[17.663553,-0.058084],[17.638645,-0.424832],[17.523716,-0.74383],[16.865307,-1.225816],[16.407092,-1.740927],[15.972803,-2.712392],[16.00629,-3.535133],[15.75354,-3.855165],[15.170992,-4.343507],[14.582604,-4.970239],[14.209035,-4.793092],[14.144956,-4.510009],[13.600235,-4.500138],[13.25824,-4.882957],[12.995517,-4.781103],[12.62076,-4.438023],[12.318608,-4.60623],[11.914963,-5.037987],[11.093773,-3.978827],[11.855122,-3.426871],[11.478039,-2.765619],[11.820964,-2.514161],[12.495703,-2.391688],[12.575284,-1.948511],[13.109619,-2.42874],[13.992407,-2.470805],[14.29921,-1.998276],[14.425456,-1.333407],[14.316418,-0.552627],[13.843321,0.038758],[14.276266,1.19693],[14.026669,1.395677],[13.282631,1.314184],[13.003114,1.830896],[13.075822,2.267097],[14.337813,2.227875],[15.146342,1.964015],[15.940919,1.727673],[16.012852,2.26764],[16.537058,3.198255],[17.133042,3.728197],[17.8099,3.560196],[18.453065,3.504386]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Gabon","SOV_A3":"GAB","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Gabon","ADM0_A3":"GAB","GEOU_DIF":0,"GEOUNIT":"Gabon","GU_A3":"GAB","SU_DIF":0,"SUBUNIT":"Gabon","SU_A3":"GAB","BRK_DIFF":0,"NAME":"Gabon","NAME_LONG":"Gabon","BRK_A3":"GAB","BRK_NAME":"Gabon","BRK_GROUP":null,"ABBREV":"Gabon","POSTAL":"GA","FORMAL_EN":"Gabonese Republic","FORMAL_FR":null,"NAME_CIAWF":"Gabon","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Gabon","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":2,"MAPCOLOR9":5,"MAPCOLOR13":5,"POP_EST":2172579,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":16874,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"GB","ISO_A2":"GA","ISO_A2_EH":"GA","ISO_A3":"GAB","ISO_A3_EH":"GAB","ISO_N3":"266","ISO_N3_EH":"266","UN_A3":"266","WB_A2":"GA","WB_A3":"GAB","WOE_ID":23424822,"WOE_ID_EH":23424822,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"GAB","ADM0_DIFF":null,"ADM0_TLC":"GAB","ADM0_A3_US":"GAB","ADM0_A3_FR":"GAB","ADM0_A3_RU":"GAB","ADM0_A3_ES":"GAB","ADM0_A3_CN":"GAB","ADM0_A3_TW":"GAB","ADM0_A3_IN":"GAB","ADM0_A3_NP":"GAB","ADM0_A3_PK":"GAB","ADM0_A3_DE":"GAB","ADM0_A3_GB":"GAB","ADM0_A3_BR":"GAB","ADM0_A3_IL":"GAB","ADM0_A3_PS":"GAB","ADM0_A3_SA":"GAB","ADM0_A3_EG":"GAB","ADM0_A3_MA":"GAB","ADM0_A3_PT":"GAB","ADM0_A3_AR":"GAB","ADM0_A3_JP":"GAB","ADM0_A3_KO":"GAB","ADM0_A3_VN":"GAB","ADM0_A3_TR":"GAB","ADM0_A3_ID":"GAB","ADM0_A3_PL":"GAB","ADM0_A3_GR":"GAB","ADM0_A3_IT":"GAB","ADM0_A3_NL":"GAB","ADM0_A3_SE":"GAB","ADM0_A3_BD":"GAB","ADM0_A3_UA":"GAB","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Middle Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":3,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":11.835939,"LABEL_Y":-0.437739,"NE_ID":1159320693,"WIKIDATAID":"Q1000","NAME_AR":"الغابون","NAME_BN":"গ্যাবন","NAME_DE":"Gabun","NAME_EN":"Gabon","NAME_ES":"Gabón","NAME_FA":"گابن","NAME_FR":"Gabon","NAME_EL":"Γκαμπόν","NAME_HE":"גבון","NAME_HI":"गबॉन","NAME_HU":"Gabon","NAME_ID":"Gabon","NAME_IT":"Gabon","NAME_JA":"ガボン","NAME_KO":"가봉","NAME_NL":"Gabon","NAME_PL":"Gabon","NAME_PT":"Gabão","NAME_RU":"Габон","NAME_SV":"Gabon","NAME_TR":"Gabon","NAME_UK":"Габон","NAME_UR":"گیبون","NAME_VI":"Gabon","NAME_ZH":"加蓬","NAME_ZHT":"加彭","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[8.797996,-3.978827,14.425456,2.326758],"geometry":{"type":"Polygon","coordinates":[[[11.276449,2.261051],[11.751665,2.326758],[12.35938,2.192812],[12.951334,2.321616],[13.075822,2.267097],[13.003114,1.830896],[13.282631,1.314184],[14.026669,1.395677],[14.276266,1.19693],[13.843321,0.038758],[14.316418,-0.552627],[14.425456,-1.333407],[14.29921,-1.998276],[13.992407,-2.470805],[13.109619,-2.42874],[12.575284,-1.948511],[12.495703,-2.391688],[11.820964,-2.514161],[11.478039,-2.765619],[11.855122,-3.426871],[11.093773,-3.978827],[10.066135,-2.969483],[9.405245,-2.144313],[8.797996,-1.111301],[8.830087,-0.779074],[9.04842,-0.459351],[9.291351,0.268666],[9.492889,1.01012],[9.830284,1.067894],[11.285079,1.057662],[11.276449,2.261051]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Equatorial Guinea","SOV_A3":"GNQ","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Equatorial Guinea","ADM0_A3":"GNQ","GEOU_DIF":0,"GEOUNIT":"Equatorial Guinea","GU_A3":"GNQ","SU_DIF":0,"SUBUNIT":"Equatorial Guinea","SU_A3":"GNQ","BRK_DIFF":0,"NAME":"Eq. Guinea","NAME_LONG":"Equatorial Guinea","BRK_A3":"GNQ","BRK_NAME":"Eq. Guinea","BRK_GROUP":null,"ABBREV":"Eq. G.","POSTAL":"GQ","FORMAL_EN":"Republic of Equatorial Guinea","FORMAL_FR":null,"NAME_CIAWF":"Equatorial Guinea","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Equatorial Guinea","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":1,"MAPCOLOR9":4,"MAPCOLOR13":8,"POP_EST":1355986,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":11026,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"EK","ISO_A2":"GQ","ISO_A2_EH":"GQ","ISO_A3":"GNQ","ISO_A3_EH":"GNQ","ISO_N3":"226","ISO_N3_EH":"226","UN_A3":"226","WB_A2":"GQ","WB_A3":"GNQ","WOE_ID":23424804,"WOE_ID_EH":23424804,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"GNQ","ADM0_DIFF":null,"ADM0_TLC":"GNQ","ADM0_A3_US":"GNQ","ADM0_A3_FR":"GNQ","ADM0_A3_RU":"GNQ","ADM0_A3_ES":"GNQ","ADM0_A3_CN":"GNQ","ADM0_A3_TW":"GNQ","ADM0_A3_IN":"GNQ","ADM0_A3_NP":"GNQ","ADM0_A3_PK":"GNQ","ADM0_A3_DE":"GNQ","ADM0_A3_GB":"GNQ","ADM0_A3_BR":"GNQ","ADM0_A3_IL":"GNQ","ADM0_A3_PS":"GNQ","ADM0_A3_SA":"GNQ","ADM0_A3_EG":"GNQ","ADM0_A3_MA":"GNQ","ADM0_A3_PT":"GNQ","ADM0_A3_AR":"GNQ","ADM0_A3_JP":"GNQ","ADM0_A3_KO":"GNQ","ADM0_A3_VN":"GNQ","ADM0_A3_TR":"GNQ","ADM0_A3_ID":"GNQ","ADM0_A3_PL":"GNQ","ADM0_A3_GR":"GNQ","ADM0_A3_IT":"GNQ","ADM0_A3_NL":"GNQ","ADM0_A3_SE":"GNQ","ADM0_A3_BD":"GNQ","ADM0_A3_UA":"GNQ","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Middle Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":10,"LONG_LEN":17,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":8.9902,"LABEL_Y":2.333,"NE_ID":1159320801,"WIKIDATAID":"Q983","NAME_AR":"غينيا الاستوائية","NAME_BN":"বিষুবীয় গিনি","NAME_DE":"Äquatorialguinea","NAME_EN":"Equatorial Guinea","NAME_ES":"Guinea Ecuatorial","NAME_FA":"گینه استوایی","NAME_FR":"Guinée équatoriale","NAME_EL":"Ισημερινή Γουινέα","NAME_HE":"גינאה המשוונית","NAME_HI":"भूमध्यरेखीय गिनी","NAME_HU":"Egyenlítői-Guinea","NAME_ID":"Guinea Khatulistiwa","NAME_IT":"Guinea Equatoriale","NAME_JA":"赤道ギニア","NAME_KO":"적도 기니","NAME_NL":"Equatoriaal-Guinea","NAME_PL":"Gwinea Równikowa","NAME_PT":"Guiné Equatorial","NAME_RU":"Экваториальная Гвинея","NAME_SV":"Ekvatorialguinea","NAME_TR":"Ekvator Ginesi","NAME_UK":"Екваторіальна Гвінея","NAME_UR":"استوائی گنی","NAME_VI":"Guinea Xích Đạo","NAME_ZH":"赤道几内亚","NAME_ZHT":"赤道幾內亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[9.305613,1.01012,11.285079,2.283866],"geometry":{"type":"Polygon","coordinates":[[[9.649158,2.283866],[11.276449,2.261051],[11.285079,1.057662],[9.830284,1.067894],[9.492889,1.01012],[9.305613,1.160911],[9.649158,2.283866]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Zambia","SOV_A3":"ZMB","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Zambia","ADM0_A3":"ZMB","GEOU_DIF":0,"GEOUNIT":"Zambia","GU_A3":"ZMB","SU_DIF":0,"SUBUNIT":"Zambia","SU_A3":"ZMB","BRK_DIFF":0,"NAME":"Zambia","NAME_LONG":"Zambia","BRK_A3":"ZMB","BRK_NAME":"Zambia","BRK_GROUP":null,"ABBREV":"Zambia","POSTAL":"ZM","FORMAL_EN":"Republic of Zambia","FORMAL_FR":null,"NAME_CIAWF":"Zambia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Zambia","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":8,"MAPCOLOR9":5,"MAPCOLOR13":13,"POP_EST":17861030,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":23309,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"4. Lower middle income","FIPS_10":"ZA","ISO_A2":"ZM","ISO_A2_EH":"ZM","ISO_A3":"ZMB","ISO_A3_EH":"ZMB","ISO_N3":"894","ISO_N3_EH":"894","UN_A3":"894","WB_A2":"ZM","WB_A3":"ZMB","WOE_ID":23425003,"WOE_ID_EH":23425003,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ZMB","ADM0_DIFF":null,"ADM0_TLC":"ZMB","ADM0_A3_US":"ZMB","ADM0_A3_FR":"ZMB","ADM0_A3_RU":"ZMB","ADM0_A3_ES":"ZMB","ADM0_A3_CN":"ZMB","ADM0_A3_TW":"ZMB","ADM0_A3_IN":"ZMB","ADM0_A3_NP":"ZMB","ADM0_A3_PK":"ZMB","ADM0_A3_DE":"ZMB","ADM0_A3_GB":"ZMB","ADM0_A3_BR":"ZMB","ADM0_A3_IL":"ZMB","ADM0_A3_PS":"ZMB","ADM0_A3_SA":"ZMB","ADM0_A3_EG":"ZMB","ADM0_A3_MA":"ZMB","ADM0_A3_PT":"ZMB","ADM0_A3_AR":"ZMB","ADM0_A3_JP":"ZMB","ADM0_A3_KO":"ZMB","ADM0_A3_VN":"ZMB","ADM0_A3_TR":"ZMB","ADM0_A3_ID":"ZMB","ADM0_A3_PL":"ZMB","ADM0_A3_GR":"ZMB","ADM0_A3_IT":"ZMB","ADM0_A3_NL":"ZMB","ADM0_A3_SE":"ZMB","ADM0_A3_BD":"ZMB","ADM0_A3_UA":"ZMB","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":26.395298,"LABEL_Y":-14.660804,"NE_ID":1159321439,"WIKIDATAID":"Q953","NAME_AR":"زامبيا","NAME_BN":"জাম্বিয়া","NAME_DE":"Sambia","NAME_EN":"Zambia","NAME_ES":"Zambia","NAME_FA":"زامبیا","NAME_FR":"Zambie","NAME_EL":"Ζάμπια","NAME_HE":"זמביה","NAME_HI":"ज़ाम्बिया","NAME_HU":"Zambia","NAME_ID":"Zambia","NAME_IT":"Zambia","NAME_JA":"ザンビア","NAME_KO":"잠비아","NAME_NL":"Zambia","NAME_PL":"Zambia","NAME_PT":"Zâmbia","NAME_RU":"Замбия","NAME_SV":"Zambia","NAME_TR":"Zambiya","NAME_UK":"Замбія","NAME_UR":"زیمبیا","NAME_VI":"Zambia","NAME_ZH":"赞比亚","NAME_ZHT":"尚比亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[21.887843,-17.961229,33.485688,-8.238257],"geometry":{"type":"Polygon","coordinates":[[[30.74001,-8.340006],[31.157751,-8.594579],[31.556348,-8.762049],[32.191865,-8.930359],[32.759375,-9.230599],[33.231388,-9.676722],[33.485688,-10.525559],[33.31531,-10.79655],[33.114289,-11.607198],[33.306422,-12.435778],[32.991764,-12.783871],[32.688165,-13.712858],[33.214025,-13.97186],[30.179481,-14.796099],[30.274256,-15.507787],[29.516834,-15.644678],[28.947463,-16.043051],[28.825869,-16.389749],[28.467906,-16.4684],[27.598243,-17.290831],[27.044427,-17.938026],[26.706773,-17.961229],[26.381935,-17.846042],[25.264226,-17.73654],[25.084443,-17.661816],[25.07695,-17.578823],[24.682349,-17.353411],[24.033862,-17.295843],[23.215048,-17.523116],[22.562478,-16.898451],[21.887843,-16.08031],[21.933886,-12.898437],[24.016137,-12.911046],[23.930922,-12.565848],[24.079905,-12.191297],[23.904154,-11.722282],[24.017894,-11.237298],[23.912215,-10.926826],[24.257155,-10.951993],[24.314516,-11.262826],[24.78317,-11.238694],[25.418118,-11.330936],[25.75231,-11.784965],[26.553088,-11.92444],[27.16442,-11.608748],[27.388799,-12.132747],[28.155109,-12.272481],[28.523562,-12.698604],[28.934286,-13.248958],[29.699614,-13.257227],[29.616001,-12.178895],[29.341548,-12.360744],[28.642417,-11.971569],[28.372253,-11.793647],[28.49607,-10.789884],[28.673682,-9.605925],[28.449871,-9.164918],[28.734867,-8.526559],[29.002912,-8.407032],[30.346086,-8.238257],[30.74001,-8.340006]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Malawi","SOV_A3":"MWI","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Malawi","ADM0_A3":"MWI","GEOU_DIF":0,"GEOUNIT":"Malawi","GU_A3":"MWI","SU_DIF":0,"SUBUNIT":"Malawi","SU_A3":"MWI","BRK_DIFF":0,"NAME":"Malawi","NAME_LONG":"Malawi","BRK_A3":"MWI","BRK_NAME":"Malawi","BRK_GROUP":null,"ABBREV":"Mal.","POSTAL":"MW","FORMAL_EN":"Republic of Malawi","FORMAL_FR":null,"NAME_CIAWF":"Malawi","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Malawi","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":3,"MAPCOLOR9":4,"MAPCOLOR13":5,"POP_EST":18628747,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":7666,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"MI","ISO_A2":"MW","ISO_A2_EH":"MW","ISO_A3":"MWI","ISO_A3_EH":"MWI","ISO_N3":"454","ISO_N3_EH":"454","UN_A3":"454","WB_A2":"MW","WB_A3":"MWI","WOE_ID":23424889,"WOE_ID_EH":23424889,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MWI","ADM0_DIFF":null,"ADM0_TLC":"MWI","ADM0_A3_US":"MWI","ADM0_A3_FR":"MWI","ADM0_A3_RU":"MWI","ADM0_A3_ES":"MWI","ADM0_A3_CN":"MWI","ADM0_A3_TW":"MWI","ADM0_A3_IN":"MWI","ADM0_A3_NP":"MWI","ADM0_A3_PK":"MWI","ADM0_A3_DE":"MWI","ADM0_A3_GB":"MWI","ADM0_A3_BR":"MWI","ADM0_A3_IL":"MWI","ADM0_A3_PS":"MWI","ADM0_A3_SA":"MWI","ADM0_A3_EG":"MWI","ADM0_A3_MA":"MWI","ADM0_A3_PT":"MWI","ADM0_A3_AR":"MWI","ADM0_A3_JP":"MWI","ADM0_A3_KO":"MWI","ADM0_A3_VN":"MWI","ADM0_A3_TR":"MWI","ADM0_A3_ID":"MWI","ADM0_A3_PL":"MWI","ADM0_A3_GR":"MWI","ADM0_A3_IT":"MWI","ADM0_A3_NL":"MWI","ADM0_A3_SE":"MWI","ADM0_A3_BD":"MWI","ADM0_A3_UA":"MWI","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":33.608082,"LABEL_Y":-13.386737,"NE_ID":1159321081,"WIKIDATAID":"Q1020","NAME_AR":"مالاوي","NAME_BN":"মালাউই","NAME_DE":"Malawi","NAME_EN":"Malawi","NAME_ES":"Malaui","NAME_FA":"مالاوی","NAME_FR":"Malawi","NAME_EL":"Μαλάουι","NAME_HE":"מלאווי","NAME_HI":"मलावी","NAME_HU":"Malawi","NAME_ID":"Malawi","NAME_IT":"Malawi","NAME_JA":"マラウイ","NAME_KO":"말라위","NAME_NL":"Malawi","NAME_PL":"Malawi","NAME_PT":"Malawi","NAME_RU":"Малави","NAME_SV":"Malawi","NAME_TR":"Malavi","NAME_UK":"Малаві","NAME_UR":"ملاوی","NAME_VI":"Malawi","NAME_ZH":"马拉维","NAME_ZHT":"馬拉威","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[32.688165,-16.8013,35.771905,-9.230599],"geometry":{"type":"Polygon","coordinates":[[[32.759375,-9.230599],[33.73972,-9.41715],[33.940838,-9.693674],[34.28,-10.16],[34.559989,-11.52002],[34.280006,-12.280025],[34.559989,-13.579998],[34.907151,-13.565425],[35.267956,-13.887834],[35.686845,-14.611046],[35.771905,-15.896859],[35.339063,-16.10744],[35.03381,-16.8013],[34.381292,-16.18356],[34.307291,-15.478641],[34.517666,-15.013709],[34.459633,-14.61301],[34.064825,-14.35995],[33.7897,-14.451831],[33.214025,-13.97186],[32.688165,-13.712858],[32.991764,-12.783871],[33.306422,-12.435778],[33.114289,-11.607198],[33.31531,-10.79655],[33.485688,-10.525559],[33.231388,-9.676722],[32.759375,-9.230599]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Mozambique","SOV_A3":"MOZ","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Mozambique","ADM0_A3":"MOZ","GEOU_DIF":0,"GEOUNIT":"Mozambique","GU_A3":"MOZ","SU_DIF":0,"SUBUNIT":"Mozambique","SU_A3":"MOZ","BRK_DIFF":0,"NAME":"Mozambique","NAME_LONG":"Mozambique","BRK_A3":"MOZ","BRK_NAME":"Mozambique","BRK_GROUP":null,"ABBREV":"Moz.","POSTAL":"MZ","FORMAL_EN":"Republic of Mozambique","FORMAL_FR":null,"NAME_CIAWF":"Mozambique","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Mozambique","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":2,"MAPCOLOR9":1,"MAPCOLOR13":4,"POP_EST":30366036,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":15291,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"MZ","ISO_A2":"MZ","ISO_A2_EH":"MZ","ISO_A3":"MOZ","ISO_A3_EH":"MOZ","ISO_N3":"508","ISO_N3_EH":"508","UN_A3":"508","WB_A2":"MZ","WB_A3":"MOZ","WOE_ID":23424902,"WOE_ID_EH":23424902,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MOZ","ADM0_DIFF":null,"ADM0_TLC":"MOZ","ADM0_A3_US":"MOZ","ADM0_A3_FR":"MOZ","ADM0_A3_RU":"MOZ","ADM0_A3_ES":"MOZ","ADM0_A3_CN":"MOZ","ADM0_A3_TW":"MOZ","ADM0_A3_IN":"MOZ","ADM0_A3_NP":"MOZ","ADM0_A3_PK":"MOZ","ADM0_A3_DE":"MOZ","ADM0_A3_GB":"MOZ","ADM0_A3_BR":"MOZ","ADM0_A3_IL":"MOZ","ADM0_A3_PS":"MOZ","ADM0_A3_SA":"MOZ","ADM0_A3_EG":"MOZ","ADM0_A3_MA":"MOZ","ADM0_A3_PT":"MOZ","ADM0_A3_AR":"MOZ","ADM0_A3_JP":"MOZ","ADM0_A3_KO":"MOZ","ADM0_A3_VN":"MOZ","ADM0_A3_TR":"MOZ","ADM0_A3_ID":"MOZ","ADM0_A3_PL":"MOZ","ADM0_A3_GR":"MOZ","ADM0_A3_IT":"MOZ","ADM0_A3_NL":"MOZ","ADM0_A3_SE":"MOZ","ADM0_A3_BD":"MOZ","ADM0_A3_UA":"MOZ","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":37.83789,"LABEL_Y":-13.94323,"NE_ID":1159321073,"WIKIDATAID":"Q1029","NAME_AR":"موزمبيق","NAME_BN":"মোজাম্বিক","NAME_DE":"Mosambik","NAME_EN":"Mozambique","NAME_ES":"Mozambique","NAME_FA":"موزامبیک","NAME_FR":"Mozambique","NAME_EL":"Μοζαμβίκη","NAME_HE":"מוזמביק","NAME_HI":"मोज़ाम्बीक","NAME_HU":"Mozambik","NAME_ID":"Mozambik","NAME_IT":"Mozambico","NAME_JA":"モザンビーク","NAME_KO":"모잠비크","NAME_NL":"Mozambique","NAME_PL":"Mozambik","NAME_PT":"Moçambique","NAME_RU":"Мозамбик","NAME_SV":"Moçambique","NAME_TR":"Mozambik","NAME_UK":"Мозамбік","NAME_UR":"موزمبیق","NAME_VI":"Mozambique","NAME_ZH":"莫桑比克","NAME_ZHT":"莫三比克","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[30.179481,-26.742192,40.775475,-10.317096],"geometry":{"type":"Polygon","coordinates":[[[34.559989,-11.52002],[35.312398,-11.439146],[36.514082,-11.720938],[36.775151,-11.594537],[37.47129,-11.56876],[37.82764,-11.26879],[38.427557,-11.285202],[39.521,-10.89688],[40.31659,-10.3171],[40.316586,-10.317098],[40.316589,-10.317096],[40.478387,-10.765441],[40.437253,-11.761711],[40.560811,-12.639177],[40.59962,-14.201975],[40.775475,-14.691764],[40.477251,-15.406294],[40.089264,-16.100774],[39.452559,-16.720891],[38.538351,-17.101023],[37.411133,-17.586368],[36.281279,-18.659688],[35.896497,-18.84226],[35.1984,-19.552811],[34.786383,-19.784012],[34.701893,-20.497043],[35.176127,-21.254361],[35.373428,-21.840837],[35.385848,-22.14],[35.562546,-22.09],[35.533935,-23.070788],[35.371774,-23.535359],[35.60747,-23.706563],[35.458746,-24.12261],[35.040735,-24.478351],[34.215824,-24.816314],[33.01321,-25.357573],[32.574632,-25.727318],[32.660363,-26.148584],[32.915955,-26.215867],[32.83012,-26.742192],[32.071665,-26.73382],[31.985779,-26.29178],[31.837778,-25.843332],[31.752408,-25.484284],[31.930589,-24.369417],[31.670398,-23.658969],[31.191409,-22.25151],[32.244988,-21.116489],[32.508693,-20.395292],[32.659743,-20.30429],[32.772708,-19.715592],[32.611994,-19.419383],[32.654886,-18.67209],[32.849861,-17.979057],[32.847639,-16.713398],[32.328239,-16.392074],[31.852041,-16.319417],[31.636498,-16.07199],[31.173064,-15.860944],[30.338955,-15.880839],[30.274256,-15.507787],[30.179481,-14.796099],[33.214025,-13.97186],[33.7897,-14.451831],[34.064825,-14.35995],[34.459633,-14.61301],[34.517666,-15.013709],[34.307291,-15.478641],[34.381292,-16.18356],[35.03381,-16.8013],[35.339063,-16.10744],[35.771905,-15.896859],[35.686845,-14.611046],[35.267956,-13.887834],[34.907151,-13.565425],[34.559989,-13.579998],[34.280006,-12.280025],[34.559989,-11.52002]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"eSwatini","SOV_A3":"SWZ","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"eSwatini","ADM0_A3":"SWZ","GEOU_DIF":0,"GEOUNIT":"eSwatini","GU_A3":"SWZ","SU_DIF":0,"SUBUNIT":"eSwatini","SU_A3":"SWZ","BRK_DIFF":0,"NAME":"eSwatini","NAME_LONG":"Kingdom of eSwatini","BRK_A3":"SWZ","BRK_NAME":"eSwatini","BRK_GROUP":null,"ABBREV":"eSw.","POSTAL":"ES","FORMAL_EN":"Kingdom of eSwatini","FORMAL_FR":null,"NAME_CIAWF":"eSwatini","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"eSwatini","NAME_ALT":"Swaziland","MAPCOLOR7":3,"MAPCOLOR8":6,"MAPCOLOR9":2,"MAPCOLOR13":5,"POP_EST":1148130,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":4471,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"WZ","ISO_A2":"SZ","ISO_A2_EH":"SZ","ISO_A3":"SWZ","ISO_A3_EH":"SWZ","ISO_N3":"748","ISO_N3_EH":"748","UN_A3":"748","WB_A2":"SZ","WB_A3":"SWZ","WOE_ID":23424993,"WOE_ID_EH":23424993,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"SWZ","ADM0_DIFF":null,"ADM0_TLC":"SWZ","ADM0_A3_US":"SWZ","ADM0_A3_FR":"SWZ","ADM0_A3_RU":"SWZ","ADM0_A3_ES":"SWZ","ADM0_A3_CN":"SWZ","ADM0_A3_TW":"SWZ","ADM0_A3_IN":"SWZ","ADM0_A3_NP":"SWZ","ADM0_A3_PK":"SWZ","ADM0_A3_DE":"SWZ","ADM0_A3_GB":"SWZ","ADM0_A3_BR":"SWZ","ADM0_A3_IL":"SWZ","ADM0_A3_PS":"SWZ","ADM0_A3_SA":"SWZ","ADM0_A3_EG":"SWZ","ADM0_A3_MA":"SWZ","ADM0_A3_PT":"SWZ","ADM0_A3_AR":"SWZ","ADM0_A3_JP":"SWZ","ADM0_A3_KO":"SWZ","ADM0_A3_VN":"SWZ","ADM0_A3_TR":"SWZ","ADM0_A3_ID":"SWZ","ADM0_A3_PL":"SWZ","ADM0_A3_GR":"SWZ","ADM0_A3_IT":"SWZ","ADM0_A3_NL":"SWZ","ADM0_A3_SE":"SWZ","ADM0_A3_BD":"SWZ","ADM0_A3_UA":"SWZ","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Southern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":8,"LONG_LEN":19,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":31.467264,"LABEL_Y":-26.533676,"NE_ID":1159321289,"WIKIDATAID":"Q1050","NAME_AR":"إسواتيني","NAME_BN":"ইসোয়াতিনি","NAME_DE":"Eswatini","NAME_EN":"Eswatini","NAME_ES":"Suazilandia","NAME_FA":"اسواتینی","NAME_FR":"Eswatini","NAME_EL":"Εσουατίνι","NAME_HE":"אסוואטיני","NAME_HI":"एस्वातीनी","NAME_HU":"Szváziföld","NAME_ID":"Eswatini","NAME_IT":"eSwatini","NAME_JA":"エスワティニ","NAME_KO":"에스와티니","NAME_NL":"Swaziland","NAME_PL":"Eswatini","NAME_PT":"Essuatíni","NAME_RU":"Эсватини","NAME_SV":"Swaziland","NAME_TR":"Esvatini","NAME_UK":"Есватіні","NAME_UR":"اسواتینی","NAME_VI":"Eswatini","NAME_ZH":"斯威士兰","NAME_ZHT":"史瓦帝尼","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[30.676609,-27.285879,32.071665,-25.660191],"geometry":{"type":"Polygon","coordinates":[[[32.071665,-26.73382],[31.86806,-27.177927],[31.282773,-27.285879],[30.685962,-26.743845],[30.676609,-26.398078],[30.949667,-26.022649],[31.04408,-25.731452],[31.333158,-25.660191],[31.837778,-25.843332],[31.985779,-26.29178],[32.071665,-26.73382]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Angola","SOV_A3":"AGO","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Angola","ADM0_A3":"AGO","GEOU_DIF":0,"GEOUNIT":"Angola","GU_A3":"AGO","SU_DIF":0,"SUBUNIT":"Angola","SU_A3":"AGO","BRK_DIFF":0,"NAME":"Angola","NAME_LONG":"Angola","BRK_A3":"AGO","BRK_NAME":"Angola","BRK_GROUP":null,"ABBREV":"Ang.","POSTAL":"AO","FORMAL_EN":"People's Republic of Angola","FORMAL_FR":null,"NAME_CIAWF":"Angola","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Angola","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":2,"MAPCOLOR9":6,"MAPCOLOR13":1,"POP_EST":31825295,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":88815,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"3. Upper middle income","FIPS_10":"AO","ISO_A2":"AO","ISO_A2_EH":"AO","ISO_A3":"AGO","ISO_A3_EH":"AGO","ISO_N3":"024","ISO_N3_EH":"024","UN_A3":"024","WB_A2":"AO","WB_A3":"AGO","WOE_ID":23424745,"WOE_ID_EH":23424745,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"AGO","ADM0_DIFF":null,"ADM0_TLC":"AGO","ADM0_A3_US":"AGO","ADM0_A3_FR":"AGO","ADM0_A3_RU":"AGO","ADM0_A3_ES":"AGO","ADM0_A3_CN":"AGO","ADM0_A3_TW":"AGO","ADM0_A3_IN":"AGO","ADM0_A3_NP":"AGO","ADM0_A3_PK":"AGO","ADM0_A3_DE":"AGO","ADM0_A3_GB":"AGO","ADM0_A3_BR":"AGO","ADM0_A3_IL":"AGO","ADM0_A3_PS":"AGO","ADM0_A3_SA":"AGO","ADM0_A3_EG":"AGO","ADM0_A3_MA":"AGO","ADM0_A3_PT":"AGO","ADM0_A3_AR":"AGO","ADM0_A3_JP":"AGO","ADM0_A3_KO":"AGO","ADM0_A3_VN":"AGO","ADM0_A3_TR":"AGO","ADM0_A3_ID":"AGO","ADM0_A3_PL":"AGO","ADM0_A3_GR":"AGO","ADM0_A3_IT":"AGO","ADM0_A3_NL":"AGO","ADM0_A3_SE":"AGO","ADM0_A3_BD":"AGO","ADM0_A3_UA":"AGO","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Middle Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":7,"LABEL_X":17.984249,"LABEL_Y":-12.182762,"NE_ID":1159320323,"WIKIDATAID":"Q916","NAME_AR":"أنغولا","NAME_BN":"অ্যাঙ্গোলা","NAME_DE":"Angola","NAME_EN":"Angola","NAME_ES":"Angola","NAME_FA":"آنگولا","NAME_FR":"Angola","NAME_EL":"Ανγκόλα","NAME_HE":"אנגולה","NAME_HI":"अंगोला","NAME_HU":"Angola","NAME_ID":"Angola","NAME_IT":"Angola","NAME_JA":"アンゴラ","NAME_KO":"앙골라","NAME_NL":"Angola","NAME_PL":"Angola","NAME_PT":"Angola","NAME_RU":"Ангола","NAME_SV":"Angola","NAME_TR":"Angola","NAME_UK":"Ангола","NAME_UR":"انگولا","NAME_VI":"Angola","NAME_ZH":"安哥拉","NAME_ZHT":"安哥拉","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[11.640096,-17.930636,24.079905,-4.438023],"geometry":{"type":"MultiPolygon","coordinates":[[[[12.995517,-4.781103],[12.631612,-4.991271],[12.468004,-5.248362],[12.436688,-5.684304],[12.182337,-5.789931],[11.914963,-5.037987],[12.318608,-4.60623],[12.62076,-4.438023],[12.995517,-4.781103]]],[[[12.322432,-6.100092],[12.735171,-5.965682],[13.024869,-5.984389],[13.375597,-5.864241],[16.326528,-5.87747],[16.57318,-6.622645],[16.860191,-7.222298],[17.089996,-7.545689],[17.47297,-8.068551],[18.134222,-7.987678],[18.464176,-7.847014],[19.016752,-7.988246],[19.166613,-7.738184],[19.417502,-7.155429],[20.037723,-7.116361],[20.091622,-6.94309],[20.601823,-6.939318],[20.514748,-7.299606],[21.728111,-7.290872],[21.746456,-7.920085],[21.949131,-8.305901],[21.801801,-8.908707],[21.875182,-9.523708],[22.208753,-9.894796],[22.155268,-11.084801],[22.402798,-10.993075],[22.837345,-11.017622],[23.456791,-10.867863],[23.912215,-10.926826],[24.017894,-11.237298],[23.904154,-11.722282],[24.079905,-12.191297],[23.930922,-12.565848],[24.016137,-12.911046],[21.933886,-12.898437],[21.887843,-16.08031],[22.562478,-16.898451],[23.215048,-17.523116],[21.377176,-17.930636],[18.956187,-17.789095],[18.263309,-17.309951],[14.209707,-17.353101],[14.058501,-17.423381],[13.462362,-16.971212],[12.814081,-16.941343],[12.215461,-17.111668],[11.734199,-17.301889],[11.640096,-16.673142],[11.778537,-15.793816],[12.123581,-14.878316],[12.175619,-14.449144],[12.500095,-13.5477],[12.738479,-13.137906],[13.312914,-12.48363],[13.633721,-12.038645],[13.738728,-11.297863],[13.686379,-10.731076],[13.387328,-10.373578],[13.120988,-9.766897],[12.87537,-9.166934],[12.929061,-8.959091],[13.236433,-8.562629],[12.93304,-7.596539],[12.728298,-6.927122],[12.227347,-6.294448],[12.322432,-6.100092]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Burundi","SOV_A3":"BDI","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Burundi","ADM0_A3":"BDI","GEOU_DIF":0,"GEOUNIT":"Burundi","GU_A3":"BDI","SU_DIF":0,"SUBUNIT":"Burundi","SU_A3":"BDI","BRK_DIFF":0,"NAME":"Burundi","NAME_LONG":"Burundi","BRK_A3":"BDI","BRK_NAME":"Burundi","BRK_GROUP":null,"ABBREV":"Bur.","POSTAL":"BI","FORMAL_EN":"Republic of Burundi","FORMAL_FR":null,"NAME_CIAWF":"Burundi","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Burundi","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":2,"MAPCOLOR9":5,"MAPCOLOR13":8,"POP_EST":11530580,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":3012,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"BY","ISO_A2":"BI","ISO_A2_EH":"BI","ISO_A3":"BDI","ISO_A3_EH":"BDI","ISO_N3":"108","ISO_N3_EH":"108","UN_A3":"108","WB_A2":"BI","WB_A3":"BDI","WOE_ID":23424774,"WOE_ID_EH":23424774,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BDI","ADM0_DIFF":null,"ADM0_TLC":"BDI","ADM0_A3_US":"BDI","ADM0_A3_FR":"BDI","ADM0_A3_RU":"BDI","ADM0_A3_ES":"BDI","ADM0_A3_CN":"BDI","ADM0_A3_TW":"BDI","ADM0_A3_IN":"BDI","ADM0_A3_NP":"BDI","ADM0_A3_PK":"BDI","ADM0_A3_DE":"BDI","ADM0_A3_GB":"BDI","ADM0_A3_BR":"BDI","ADM0_A3_IL":"BDI","ADM0_A3_PS":"BDI","ADM0_A3_SA":"BDI","ADM0_A3_EG":"BDI","ADM0_A3_MA":"BDI","ADM0_A3_PT":"BDI","ADM0_A3_AR":"BDI","ADM0_A3_JP":"BDI","ADM0_A3_KO":"BDI","ADM0_A3_VN":"BDI","ADM0_A3_TR":"BDI","ADM0_A3_ID":"BDI","ADM0_A3_PL":"BDI","ADM0_A3_GR":"BDI","ADM0_A3_IT":"BDI","ADM0_A3_NL":"BDI","ADM0_A3_SE":"BDI","ADM0_A3_BD":"BDI","ADM0_A3_UA":"BDI","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":29.917086,"LABEL_Y":-3.332836,"NE_ID":1159320387,"WIKIDATAID":"Q967","NAME_AR":"بوروندي","NAME_BN":"বুরুন্ডি","NAME_DE":"Burundi","NAME_EN":"Burundi","NAME_ES":"Burundi","NAME_FA":"بوروندی","NAME_FR":"Burundi","NAME_EL":"Μπουρούντι","NAME_HE":"בורונדי","NAME_HI":"बुरुण्डी","NAME_HU":"Burundi","NAME_ID":"Burundi","NAME_IT":"Burundi","NAME_JA":"ブルンジ","NAME_KO":"부룬디","NAME_NL":"Burundi","NAME_PL":"Burundi","NAME_PT":"Burundi","NAME_RU":"Бурунди","NAME_SV":"Burundi","NAME_TR":"Burundi","NAME_UK":"Бурунді","NAME_UR":"برونڈی","NAME_VI":"Burundi","NAME_ZH":"布隆迪","NAME_ZHT":"蒲隆地","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[29.024926,-4.499983,30.75224,-2.348487],"geometry":{"type":"Polygon","coordinates":[[[30.469674,-2.413855],[30.52766,-2.80762],[30.74301,-3.03431],[30.75224,-3.35931],[30.50554,-3.56858],[30.11632,-4.09012],[29.753512,-4.452389],[29.339998,-4.499983],[29.276384,-3.293907],[29.024926,-2.839258],[29.632176,-2.917858],[29.938359,-2.348487],[30.469674,-2.413855]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Israel","SOV_A3":"IS1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Disputed","TLC":"1","ADMIN":"Israel","ADM0_A3":"ISR","GEOU_DIF":0,"GEOUNIT":"Israel","GU_A3":"ISR","SU_DIF":0,"SUBUNIT":"Israel","SU_A3":"ISR","BRK_DIFF":1,"NAME":"Israel","NAME_LONG":"Israel","BRK_A3":"ISR","BRK_NAME":"Israel","BRK_GROUP":null,"ABBREV":"Isr.","POSTAL":"IS","FORMAL_EN":"State of Israel","FORMAL_FR":null,"NAME_CIAWF":"Israel","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Israel","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":2,"MAPCOLOR9":5,"MAPCOLOR13":9,"POP_EST":9053300,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":394652,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"-99","ISO_A2":"IL","ISO_A2_EH":"IL","ISO_A3":"ISR","ISO_A3_EH":"ISR","ISO_N3":"376","ISO_N3_EH":"376","UN_A3":"376","WB_A2":"IL","WB_A3":"ISR","WOE_ID":23424852,"WOE_ID_EH":23424852,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ISR","ADM0_DIFF":null,"ADM0_TLC":"ISR","ADM0_A3_US":"ISR","ADM0_A3_FR":"ISR","ADM0_A3_RU":"ISR","ADM0_A3_ES":"ISR","ADM0_A3_CN":"ISR","ADM0_A3_TW":"ISR","ADM0_A3_IN":"ISR","ADM0_A3_NP":"ISR","ADM0_A3_PK":"PSX","ADM0_A3_DE":"ISR","ADM0_A3_GB":"ISR","ADM0_A3_BR":"ISR","ADM0_A3_IL":"ISR","ADM0_A3_PS":"ISR","ADM0_A3_SA":"PSX","ADM0_A3_EG":"ISR","ADM0_A3_MA":"ISR","ADM0_A3_PT":"ISR","ADM0_A3_AR":"ISR","ADM0_A3_JP":"ISR","ADM0_A3_KO":"ISR","ADM0_A3_VN":"ISR","ADM0_A3_TR":"ISR","ADM0_A3_ID":"ISR","ADM0_A3_PL":"ISR","ADM0_A3_GR":"ISR","ADM0_A3_IT":"ISR","ADM0_A3_NL":"ISR","ADM0_A3_SE":"ISR","ADM0_A3_BD":"PSX","ADM0_A3_UA":"ISR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Middle East & North Africa","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":34.847915,"LABEL_Y":30.911148,"NE_ID":1159320895,"WIKIDATAID":"Q801","NAME_AR":"إسرائيل","NAME_BN":"ইসরায়েল","NAME_DE":"Israel","NAME_EN":"Israel","NAME_ES":"Israel","NAME_FA":"اسرائیل","NAME_FR":"Israël","NAME_EL":"Ισραήλ","NAME_HE":"ישראל","NAME_HI":"इज़राइल","NAME_HU":"Izrael","NAME_ID":"Israel","NAME_IT":"Israele","NAME_JA":"イスラエル","NAME_KO":"이스라엘","NAME_NL":"Israël","NAME_PL":"Izrael","NAME_PT":"Israel","NAME_RU":"Израиль","NAME_SV":"Israel","NAME_TR":"İsrail","NAME_UK":"Ізраїль","NAME_UR":"اسرائیل","NAME_VI":"Israel","NAME_ZH":"以色列","NAME_ZHT":"以色列","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":"Unrecognized","FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":"Unrecognized","FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":"Unrecognized","FCLASS_UA":null},"bbox":[34.265433,29.501326,35.836397,33.277426],"geometry":{"type":"Polygon","coordinates":[[[35.719918,32.709192],[35.545665,32.393992],[35.18393,32.532511],[34.974641,31.866582],[35.225892,31.754341],[34.970507,31.616778],[34.927408,31.353435],[35.397561,31.489086],[35.420918,31.100066],[34.922603,29.501326],[34.823243,29.761081],[34.26544,31.21936],[34.265435,31.219357],[34.265433,31.219361],[34.556372,31.548824],[34.488107,31.605539],[34.752587,32.072926],[34.955417,32.827376],[35.098457,33.080539],[35.126053,33.0909],[35.460709,33.08904],[35.552797,33.264275],[35.821101,33.277426],[35.836397,32.868123],[35.700798,32.716014],[35.719918,32.709192]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Lebanon","SOV_A3":"LBN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Lebanon","ADM0_A3":"LBN","GEOU_DIF":0,"GEOUNIT":"Lebanon","GU_A3":"LBN","SU_DIF":0,"SUBUNIT":"Lebanon","SU_A3":"LBN","BRK_DIFF":0,"NAME":"Lebanon","NAME_LONG":"Lebanon","BRK_A3":"LBN","BRK_NAME":"Lebanon","BRK_GROUP":null,"ABBREV":"Leb.","POSTAL":"LB","FORMAL_EN":"Lebanese Republic","FORMAL_FR":null,"NAME_CIAWF":"Lebanon","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Lebanon","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":4,"MAPCOLOR9":4,"MAPCOLOR13":12,"POP_EST":6855713,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":51991,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"LE","ISO_A2":"LB","ISO_A2_EH":"LB","ISO_A3":"LBN","ISO_A3_EH":"LBN","ISO_N3":"422","ISO_N3_EH":"422","UN_A3":"422","WB_A2":"LB","WB_A3":"LBN","WOE_ID":23424873,"WOE_ID_EH":23424873,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"LBN","ADM0_DIFF":null,"ADM0_TLC":"LBN","ADM0_A3_US":"LBN","ADM0_A3_FR":"LBN","ADM0_A3_RU":"LBN","ADM0_A3_ES":"LBN","ADM0_A3_CN":"LBN","ADM0_A3_TW":"LBN","ADM0_A3_IN":"LBN","ADM0_A3_NP":"LBN","ADM0_A3_PK":"LBN","ADM0_A3_DE":"LBN","ADM0_A3_GB":"LBN","ADM0_A3_BR":"LBN","ADM0_A3_IL":"LBN","ADM0_A3_PS":"LBN","ADM0_A3_SA":"LBN","ADM0_A3_EG":"LBN","ADM0_A3_MA":"LBN","ADM0_A3_PT":"LBN","ADM0_A3_AR":"LBN","ADM0_A3_JP":"LBN","ADM0_A3_KO":"LBN","ADM0_A3_VN":"LBN","ADM0_A3_TR":"LBN","ADM0_A3_ID":"LBN","ADM0_A3_PL":"LBN","ADM0_A3_GR":"LBN","ADM0_A3_IT":"LBN","ADM0_A3_NL":"LBN","ADM0_A3_SE":"LBN","ADM0_A3_BD":"LBN","ADM0_A3_UA":"LBN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Middle East & North Africa","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":4,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":35.992892,"LABEL_Y":34.133368,"NE_ID":1159321013,"WIKIDATAID":"Q822","NAME_AR":"لبنان","NAME_BN":"লেবানন","NAME_DE":"Libanon","NAME_EN":"Lebanon","NAME_ES":"Líbano","NAME_FA":"لبنان","NAME_FR":"Liban","NAME_EL":"Λίβανος","NAME_HE":"לבנון","NAME_HI":"लेबनान","NAME_HU":"Libanon","NAME_ID":"Lebanon","NAME_IT":"Libano","NAME_JA":"レバノン","NAME_KO":"레바논","NAME_NL":"Libanon","NAME_PL":"Liban","NAME_PT":"Líbano","NAME_RU":"Ливан","NAME_SV":"Libanon","NAME_TR":"Lübnan","NAME_UK":"Ліван","NAME_UR":"لبنان","NAME_VI":"Liban","NAME_ZH":"黎巴嫩","NAME_ZHT":"黎巴嫩","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[35.126053,33.08904,36.61175,34.644914],"geometry":{"type":"Polygon","coordinates":[[[35.821101,33.277426],[35.552797,33.264275],[35.460709,33.08904],[35.126053,33.0909],[35.482207,33.90545],[35.979592,34.610058],[35.998403,34.644914],[36.448194,34.593935],[36.61175,34.201789],[36.06646,33.824912],[35.821101,33.277426]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Madagascar","SOV_A3":"MDG","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Madagascar","ADM0_A3":"MDG","GEOU_DIF":0,"GEOUNIT":"Madagascar","GU_A3":"MDG","SU_DIF":0,"SUBUNIT":"Madagascar","SU_A3":"MDG","BRK_DIFF":0,"NAME":"Madagascar","NAME_LONG":"Madagascar","BRK_A3":"MDG","BRK_NAME":"Madagascar","BRK_GROUP":null,"ABBREV":"Mad.","POSTAL":"MG","FORMAL_EN":"Republic of Madagascar","FORMAL_FR":null,"NAME_CIAWF":"Madagascar","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Madagascar","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":5,"MAPCOLOR9":2,"MAPCOLOR13":3,"POP_EST":26969307,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":14114,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"MA","ISO_A2":"MG","ISO_A2_EH":"MG","ISO_A3":"MDG","ISO_A3_EH":"MDG","ISO_N3":"450","ISO_N3_EH":"450","UN_A3":"450","WB_A2":"MG","WB_A3":"MDG","WOE_ID":23424883,"WOE_ID_EH":23424883,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MDG","ADM0_DIFF":null,"ADM0_TLC":"MDG","ADM0_A3_US":"MDG","ADM0_A3_FR":"MDG","ADM0_A3_RU":"MDG","ADM0_A3_ES":"MDG","ADM0_A3_CN":"MDG","ADM0_A3_TW":"MDG","ADM0_A3_IN":"MDG","ADM0_A3_NP":"MDG","ADM0_A3_PK":"MDG","ADM0_A3_DE":"MDG","ADM0_A3_GB":"MDG","ADM0_A3_BR":"MDG","ADM0_A3_IL":"MDG","ADM0_A3_PS":"MDG","ADM0_A3_SA":"MDG","ADM0_A3_EG":"MDG","ADM0_A3_MA":"MDG","ADM0_A3_PT":"MDG","ADM0_A3_AR":"MDG","ADM0_A3_JP":"MDG","ADM0_A3_KO":"MDG","ADM0_A3_VN":"MDG","ADM0_A3_TR":"MDG","ADM0_A3_ID":"MDG","ADM0_A3_PL":"MDG","ADM0_A3_GR":"MDG","ADM0_A3_IT":"MDG","ADM0_A3_NL":"MDG","ADM0_A3_SE":"MDG","ADM0_A3_BD":"MDG","ADM0_A3_UA":"MDG","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.7,"MAX_LABEL":7,"LABEL_X":46.704241,"LABEL_Y":-18.628288,"NE_ID":1159321051,"WIKIDATAID":"Q1019","NAME_AR":"مدغشقر","NAME_BN":"মাদাগাস্কার","NAME_DE":"Madagaskar","NAME_EN":"Madagascar","NAME_ES":"Madagascar","NAME_FA":"ماداگاسکار","NAME_FR":"Madagascar","NAME_EL":"Μαδαγασκάρη","NAME_HE":"מדגסקר","NAME_HI":"मेडागास्कर","NAME_HU":"Madagaszkár","NAME_ID":"Madagaskar","NAME_IT":"Madagascar","NAME_JA":"マダガスカル","NAME_KO":"마다가스카르","NAME_NL":"Madagaskar","NAME_PL":"Madagaskar","NAME_PT":"Madagáscar","NAME_RU":"Мадагаскар","NAME_SV":"Madagaskar","NAME_TR":"Madagaskar","NAME_UK":"Мадагаскар","NAME_UR":"مڈغاسکر","NAME_VI":"Madagascar","NAME_ZH":"马达加斯加","NAME_ZHT":"馬達加斯加","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[43.254187,-25.601434,50.476537,-12.040557],"geometry":{"type":"Polygon","coordinates":[[[49.543519,-12.469833],[49.808981,-12.895285],[50.056511,-13.555761],[50.217431,-14.758789],[50.476537,-15.226512],[50.377111,-15.706069],[50.200275,-16.000263],[49.860606,-15.414253],[49.672607,-15.710204],[49.863344,-16.451037],[49.774564,-16.875042],[49.498612,-17.106036],[49.435619,-17.953064],[49.041792,-19.118781],[48.548541,-20.496888],[47.930749,-22.391501],[47.547723,-23.781959],[47.095761,-24.94163],[46.282478,-25.178463],[45.409508,-25.601434],[44.833574,-25.346101],[44.03972,-24.988345],[43.763768,-24.460677],[43.697778,-23.574116],[43.345654,-22.776904],[43.254187,-22.057413],[43.433298,-21.336475],[43.893683,-21.163307],[43.89637,-20.830459],[44.374325,-20.072366],[44.464397,-19.435454],[44.232422,-18.961995],[44.042976,-18.331387],[43.963084,-17.409945],[44.312469,-16.850496],[44.446517,-16.216219],[44.944937,-16.179374],[45.502732,-15.974373],[45.872994,-15.793454],[46.312243,-15.780018],[46.882183,-15.210182],[47.70513,-14.594303],[48.005215,-14.091233],[47.869047,-13.663869],[48.293828,-13.784068],[48.84506,-13.089175],[48.863509,-12.487868],[49.194651,-12.040557],[49.543519,-12.469833]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Israel","SOV_A3":"IS1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Indeterminate","TLC":"1","ADMIN":"Palestine","ADM0_A3":"PSX","GEOU_DIF":0,"GEOUNIT":"Palestine","GU_A3":"PSX","SU_DIF":0,"SUBUNIT":"Palestine","SU_A3":"PSX","BRK_DIFF":0,"NAME":"Palestine","NAME_LONG":"Palestine","BRK_A3":"PSX","BRK_NAME":"Palestine","BRK_GROUP":null,"ABBREV":"Pal.","POSTAL":"PAL","FORMAL_EN":"West Bank and Gaza","FORMAL_FR":null,"NAME_CIAWF":null,"NOTE_ADM0":null,"NOTE_BRK":"Partial self-admin.","NAME_SORT":"Palestine (West Bank and Gaza)","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":2,"MAPCOLOR9":5,"MAPCOLOR13":8,"POP_EST":4685306,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":16276,"GDP_YEAR":2018,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"-99","ISO_A2":"PS","ISO_A2_EH":"PS","ISO_A3":"PSE","ISO_A3_EH":"PSE","ISO_N3":"275","ISO_N3_EH":"275","UN_A3":"275","WB_A2":"GZ","WB_A3":"WBG","WOE_ID":28289408,"WOE_ID_EH":28289408,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"PSX","ADM0_DIFF":null,"ADM0_TLC":"PSX","ADM0_A3_US":"PSX","ADM0_A3_FR":"PSX","ADM0_A3_RU":"PSX","ADM0_A3_ES":"PSX","ADM0_A3_CN":"PSX","ADM0_A3_TW":"PSX","ADM0_A3_IN":"PSX","ADM0_A3_NP":"PSX","ADM0_A3_PK":"PSX","ADM0_A3_DE":"PSX","ADM0_A3_GB":"PSX","ADM0_A3_BR":"PSX","ADM0_A3_IL":"PSX","ADM0_A3_PS":"PSX","ADM0_A3_SA":"PSX","ADM0_A3_EG":"PSX","ADM0_A3_MA":"PSX","ADM0_A3_PT":"PSX","ADM0_A3_AR":"PSX","ADM0_A3_JP":"PSX","ADM0_A3_KO":"PSX","ADM0_A3_VN":"PSX","ADM0_A3_TR":"PSX","ADM0_A3_ID":"PSX","ADM0_A3_PL":"PSX","ADM0_A3_GR":"PSX","ADM0_A3_IT":"PSX","ADM0_A3_NL":"PSX","ADM0_A3_SE":"PSX","ADM0_A3_BD":"PSX","ADM0_A3_UA":"PSX","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Middle East & North Africa","NAME_LEN":9,"LONG_LEN":9,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":-99,"MIN_ZOOM":7,"MIN_LABEL":4.5,"MAX_LABEL":9.5,"LABEL_X":35.291341,"LABEL_Y":32.047431,"NE_ID":1159320899,"WIKIDATAID":"Q23792","NAME_AR":"فلسطين","NAME_BN":"ফিলিস্তিন অঞ্চল","NAME_DE":"Palästina","NAME_EN":"Palestine","NAME_ES":"Palestina","NAME_FA":"فلسطین","NAME_FR":"Palestine","NAME_EL":"Παλαιστίνη","NAME_HE":"ארץ ישראל","NAME_HI":"फ़िलिस्तीनी राज्यक्षेत्र","NAME_HU":"Palesztina","NAME_ID":"Palestina","NAME_IT":"Palestina","NAME_JA":"パレスチナ","NAME_KO":"팔레스타인","NAME_NL":"Palestina","NAME_PL":"Palestyna","NAME_PT":"Palestina","NAME_RU":"Палестина","NAME_SV":"Palestina","NAME_TR":"Filistin","NAME_UK":"Палестина","NAME_UR":"فلسطین","NAME_VI":"Palestine","NAME_ZH":"巴勒斯坦","NAME_ZHT":"巴勒斯坦地區","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":"Admin-0 country","FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":"Admin-0 country","FCLASS_SA":"Admin-0 country","FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":"Admin-0 country","FCLASS_UA":null},"bbox":[34.927408,31.353435,35.545665,32.532511],"geometry":{"type":"Polygon","coordinates":[[[35.397561,31.489086],[34.927408,31.353435],[34.970507,31.616778],[35.225892,31.754341],[34.974641,31.866582],[35.18393,32.532511],[35.545665,32.393992],[35.545252,31.782505],[35.397561,31.489086]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Gambia","SOV_A3":"GMB","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Gambia","ADM0_A3":"GMB","GEOU_DIF":0,"GEOUNIT":"Gambia","GU_A3":"GMB","SU_DIF":0,"SUBUNIT":"Gambia","SU_A3":"GMB","BRK_DIFF":0,"NAME":"Gambia","NAME_LONG":"The Gambia","BRK_A3":"GMB","BRK_NAME":"Gambia","BRK_GROUP":null,"ABBREV":"Gambia","POSTAL":"GM","FORMAL_EN":"Republic of the Gambia","FORMAL_FR":null,"NAME_CIAWF":"Gambia, The","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Gambia, The","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":1,"MAPCOLOR13":8,"POP_EST":2347706,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":1826,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"GA","ISO_A2":"GM","ISO_A2_EH":"GM","ISO_A3":"GMB","ISO_A3_EH":"GMB","ISO_N3":"270","ISO_N3_EH":"270","UN_A3":"270","WB_A2":"GM","WB_A3":"GMB","WOE_ID":23424821,"WOE_ID_EH":23424821,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"GMB","ADM0_DIFF":null,"ADM0_TLC":"GMB","ADM0_A3_US":"GMB","ADM0_A3_FR":"GMB","ADM0_A3_RU":"GMB","ADM0_A3_ES":"GMB","ADM0_A3_CN":"GMB","ADM0_A3_TW":"GMB","ADM0_A3_IN":"GMB","ADM0_A3_NP":"GMB","ADM0_A3_PK":"GMB","ADM0_A3_DE":"GMB","ADM0_A3_GB":"GMB","ADM0_A3_BR":"GMB","ADM0_A3_IL":"GMB","ADM0_A3_PS":"GMB","ADM0_A3_SA":"GMB","ADM0_A3_EG":"GMB","ADM0_A3_MA":"GMB","ADM0_A3_PT":"GMB","ADM0_A3_AR":"GMB","ADM0_A3_JP":"GMB","ADM0_A3_KO":"GMB","ADM0_A3_VN":"GMB","ADM0_A3_TR":"GMB","ADM0_A3_ID":"GMB","ADM0_A3_PL":"GMB","ADM0_A3_GR":"GMB","ADM0_A3_IT":"GMB","ADM0_A3_NL":"GMB","ADM0_A3_SE":"GMB","ADM0_A3_BD":"GMB","ADM0_A3_UA":"GMB","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":6,"LONG_LEN":10,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":-14.998318,"LABEL_Y":13.641721,"NE_ID":1159320797,"WIKIDATAID":"Q1005","NAME_AR":"غامبيا","NAME_BN":"গাম্বিয়া","NAME_DE":"Gambia","NAME_EN":"The Gambia","NAME_ES":"Gambia","NAME_FA":"گامبیا","NAME_FR":"Gambie","NAME_EL":"Γκάμπια","NAME_HE":"גמביה","NAME_HI":"गाम्बिया","NAME_HU":"Gambia","NAME_ID":"Gambia","NAME_IT":"Gambia","NAME_JA":"ガンビア","NAME_KO":"감비아","NAME_NL":"Gambia","NAME_PL":"Gambia","NAME_PT":"Gâmbia","NAME_RU":"Гамбия","NAME_SV":"Gambia","NAME_TR":"Gambiya","NAME_UK":"Гамбія","NAME_UR":"گیمبیا","NAME_VI":"Gambia","NAME_ZH":"冈比亚","NAME_ZHT":"甘比亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-16.841525,13.130284,-13.844963,13.876492],"geometry":{"type":"Polygon","coordinates":[[[-16.713729,13.594959],[-15.624596,13.623587],[-15.39877,13.860369],[-15.081735,13.876492],[-14.687031,13.630357],[-14.376714,13.62568],[-14.046992,13.794068],[-13.844963,13.505042],[-14.277702,13.280585],[-14.712197,13.298207],[-15.141163,13.509512],[-15.511813,13.27857],[-15.691001,13.270353],[-15.931296,13.130284],[-16.841525,13.151394],[-16.713729,13.594959]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Tunisia","SOV_A3":"TUN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Tunisia","ADM0_A3":"TUN","GEOU_DIF":0,"GEOUNIT":"Tunisia","GU_A3":"TUN","SU_DIF":0,"SUBUNIT":"Tunisia","SU_A3":"TUN","BRK_DIFF":0,"NAME":"Tunisia","NAME_LONG":"Tunisia","BRK_A3":"TUN","BRK_NAME":"Tunisia","BRK_GROUP":null,"ABBREV":"Tun.","POSTAL":"TN","FORMAL_EN":"Republic of Tunisia","FORMAL_FR":null,"NAME_CIAWF":"Tunisia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Tunisia","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":3,"MAPCOLOR9":3,"MAPCOLOR13":2,"POP_EST":11694719,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":38796,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"TS","ISO_A2":"TN","ISO_A2_EH":"TN","ISO_A3":"TUN","ISO_A3_EH":"TUN","ISO_N3":"788","ISO_N3_EH":"788","UN_A3":"788","WB_A2":"TN","WB_A3":"TUN","WOE_ID":23424967,"WOE_ID_EH":23424967,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"TUN","ADM0_DIFF":null,"ADM0_TLC":"TUN","ADM0_A3_US":"TUN","ADM0_A3_FR":"TUN","ADM0_A3_RU":"TUN","ADM0_A3_ES":"TUN","ADM0_A3_CN":"TUN","ADM0_A3_TW":"TUN","ADM0_A3_IN":"TUN","ADM0_A3_NP":"TUN","ADM0_A3_PK":"TUN","ADM0_A3_DE":"TUN","ADM0_A3_GB":"TUN","ADM0_A3_BR":"TUN","ADM0_A3_IL":"TUN","ADM0_A3_PS":"TUN","ADM0_A3_SA":"TUN","ADM0_A3_EG":"TUN","ADM0_A3_MA":"TUN","ADM0_A3_PT":"TUN","ADM0_A3_AR":"TUN","ADM0_A3_JP":"TUN","ADM0_A3_KO":"TUN","ADM0_A3_VN":"TUN","ADM0_A3_TR":"TUN","ADM0_A3_ID":"TUN","ADM0_A3_PL":"TUN","ADM0_A3_GR":"TUN","ADM0_A3_IT":"TUN","ADM0_A3_NL":"TUN","ADM0_A3_SE":"TUN","ADM0_A3_BD":"TUN","ADM0_A3_UA":"TUN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Northern Africa","REGION_WB":"Middle East & North Africa","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":9.007881,"LABEL_Y":33.687263,"NE_ID":1159321327,"WIKIDATAID":"Q948","NAME_AR":"تونس","NAME_BN":"তিউনিসিয়া","NAME_DE":"Tunesien","NAME_EN":"Tunisia","NAME_ES":"Túnez","NAME_FA":"تونس","NAME_FR":"Tunisie","NAME_EL":"Τυνησία","NAME_HE":"תוניסיה","NAME_HI":"ट्यूनिशिया","NAME_HU":"Tunézia","NAME_ID":"Tunisia","NAME_IT":"Tunisia","NAME_JA":"チュニジア","NAME_KO":"튀니지","NAME_NL":"Tunesië","NAME_PL":"Tunezja","NAME_PT":"Tunísia","NAME_RU":"Тунис","NAME_SV":"Tunisien","NAME_TR":"Tunus","NAME_UK":"Туніс","NAME_UR":"تونس","NAME_VI":"Tuy-ni-di","NAME_ZH":"突尼斯","NAME_ZHT":"突尼西亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[7.524482,30.307556,11.488787,37.349994],"geometry":{"type":"Polygon","coordinates":[[[9.48214,30.307556],[9.055603,32.102692],[8.439103,32.506285],[8.430473,32.748337],[7.612642,33.344115],[7.524482,34.097376],[8.140981,34.655146],[8.376368,35.479876],[8.217824,36.433177],[8.420964,36.946427],[9.509994,37.349994],[10.210002,37.230002],[10.18065,36.724038],[11.028867,37.092103],[11.100026,36.899996],[10.600005,36.41],[10.593287,35.947444],[10.939519,35.698984],[10.807847,34.833507],[10.149593,34.330773],[10.339659,33.785742],[10.856836,33.76874],[11.108501,33.293343],[11.488787,33.136996],[11.432253,32.368903],[10.94479,32.081815],[10.636901,31.761421],[9.950225,31.37607],[10.056575,30.961831],[9.970017,30.539325],[9.48214,30.307556]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Algeria","SOV_A3":"DZA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Algeria","ADM0_A3":"DZA","GEOU_DIF":0,"GEOUNIT":"Algeria","GU_A3":"DZA","SU_DIF":0,"SUBUNIT":"Algeria","SU_A3":"DZA","BRK_DIFF":0,"NAME":"Algeria","NAME_LONG":"Algeria","BRK_A3":"DZA","BRK_NAME":"Algeria","BRK_GROUP":null,"ABBREV":"Alg.","POSTAL":"DZ","FORMAL_EN":"People's Democratic Republic of Algeria","FORMAL_FR":null,"NAME_CIAWF":"Algeria","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Algeria","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":1,"MAPCOLOR9":6,"MAPCOLOR13":3,"POP_EST":43053054,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":171091,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"AG","ISO_A2":"DZ","ISO_A2_EH":"DZ","ISO_A3":"DZA","ISO_A3_EH":"DZA","ISO_N3":"012","ISO_N3_EH":"012","UN_A3":"012","WB_A2":"DZ","WB_A3":"DZA","WOE_ID":23424740,"WOE_ID_EH":23424740,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"DZA","ADM0_DIFF":null,"ADM0_TLC":"DZA","ADM0_A3_US":"DZA","ADM0_A3_FR":"DZA","ADM0_A3_RU":"DZA","ADM0_A3_ES":"DZA","ADM0_A3_CN":"DZA","ADM0_A3_TW":"DZA","ADM0_A3_IN":"DZA","ADM0_A3_NP":"DZA","ADM0_A3_PK":"DZA","ADM0_A3_DE":"DZA","ADM0_A3_GB":"DZA","ADM0_A3_BR":"DZA","ADM0_A3_IL":"DZA","ADM0_A3_PS":"DZA","ADM0_A3_SA":"DZA","ADM0_A3_EG":"DZA","ADM0_A3_MA":"DZA","ADM0_A3_PT":"DZA","ADM0_A3_AR":"DZA","ADM0_A3_JP":"DZA","ADM0_A3_KO":"DZA","ADM0_A3_VN":"DZA","ADM0_A3_TR":"DZA","ADM0_A3_ID":"DZA","ADM0_A3_PL":"DZA","ADM0_A3_GR":"DZA","ADM0_A3_IT":"DZA","ADM0_A3_NL":"DZA","ADM0_A3_SE":"DZA","ADM0_A3_BD":"DZA","ADM0_A3_UA":"DZA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Northern Africa","REGION_WB":"Middle East & North Africa","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.5,"MAX_LABEL":7,"LABEL_X":2.808241,"LABEL_Y":27.397406,"NE_ID":1159320565,"WIKIDATAID":"Q262","NAME_AR":"الجزائر","NAME_BN":"আলজেরিয়া","NAME_DE":"Algerien","NAME_EN":"Algeria","NAME_ES":"Argelia","NAME_FA":"الجزایر","NAME_FR":"Algérie","NAME_EL":"Αλγερία","NAME_HE":"אלג'יריה","NAME_HI":"अल्जीरिया","NAME_HU":"Algéria","NAME_ID":"Aljazair","NAME_IT":"Algeria","NAME_JA":"アルジェリア","NAME_KO":"알제리","NAME_NL":"Algerije","NAME_PL":"Algieria","NAME_PT":"Argélia","NAME_RU":"Алжир","NAME_SV":"Algeriet","NAME_TR":"Cezayir","NAME_UK":"Алжир","NAME_UR":"الجزائر","NAME_VI":"Algérie","NAME_ZH":"阿尔及利亚","NAME_ZHT":"阿爾及利亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-8.6844,19.057364,11.999506,37.118381],"geometry":{"type":"Polygon","coordinates":[[[-8.6844,27.395744],[-8.665124,27.589479],[-8.66559,27.656426],[-8.674116,28.841289],[-7.059228,29.579228],[-6.060632,29.7317],[-5.242129,30.000443],[-4.859646,30.501188],[-3.690441,30.896952],[-3.647498,31.637294],[-3.06898,31.724498],[-2.616605,32.094346],[-1.307899,32.262889],[-1.124551,32.651522],[-1.388049,32.864015],[-1.733455,33.919713],[-1.792986,34.527919],[-2.169914,35.168396],[-1.208603,35.714849],[-0.127454,35.888662],[0.503877,36.301273],[1.466919,36.605647],[3.161699,36.783905],[4.815758,36.865037],[5.32012,36.716519],[6.26182,37.110655],[7.330385,37.118381],[7.737078,36.885708],[8.420964,36.946427],[8.217824,36.433177],[8.376368,35.479876],[8.140981,34.655146],[7.524482,34.097376],[7.612642,33.344115],[8.430473,32.748337],[8.439103,32.506285],[9.055603,32.102692],[9.48214,30.307556],[9.805634,29.424638],[9.859998,28.95999],[9.683885,28.144174],[9.756128,27.688259],[9.629056,27.140953],[9.716286,26.512206],[9.319411,26.094325],[9.910693,25.365455],[9.948261,24.936954],[10.303847,24.379313],[10.771364,24.562532],[11.560669,24.097909],[11.999506,23.471668],[8.572893,21.565661],[5.677566,19.601207],[4.267419,19.155265],[3.158133,19.057364],[3.146661,19.693579],[2.683588,19.85623],[2.060991,20.142233],[1.823228,20.610809],[-1.550055,22.792666],[-4.923337,24.974574],[-8.6844,27.395744]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Jordan","SOV_A3":"JOR","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Jordan","ADM0_A3":"JOR","GEOU_DIF":0,"GEOUNIT":"Jordan","GU_A3":"JOR","SU_DIF":0,"SUBUNIT":"Jordan","SU_A3":"JOR","BRK_DIFF":0,"NAME":"Jordan","NAME_LONG":"Jordan","BRK_A3":"JOR","BRK_NAME":"Jordan","BRK_GROUP":null,"ABBREV":"Jord.","POSTAL":"J","FORMAL_EN":"Hashemite Kingdom of Jordan","FORMAL_FR":null,"NAME_CIAWF":"Jordan","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Jordan","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":3,"MAPCOLOR9":4,"MAPCOLOR13":4,"POP_EST":10101694,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":44502,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"JO","ISO_A2":"JO","ISO_A2_EH":"JO","ISO_A3":"JOR","ISO_A3_EH":"JOR","ISO_N3":"400","ISO_N3_EH":"400","UN_A3":"400","WB_A2":"JO","WB_A3":"JOR","WOE_ID":23424860,"WOE_ID_EH":23424860,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"JOR","ADM0_DIFF":null,"ADM0_TLC":"JOR","ADM0_A3_US":"JOR","ADM0_A3_FR":"JOR","ADM0_A3_RU":"JOR","ADM0_A3_ES":"JOR","ADM0_A3_CN":"JOR","ADM0_A3_TW":"JOR","ADM0_A3_IN":"JOR","ADM0_A3_NP":"JOR","ADM0_A3_PK":"JOR","ADM0_A3_DE":"JOR","ADM0_A3_GB":"JOR","ADM0_A3_BR":"JOR","ADM0_A3_IL":"JOR","ADM0_A3_PS":"JOR","ADM0_A3_SA":"JOR","ADM0_A3_EG":"JOR","ADM0_A3_MA":"JOR","ADM0_A3_PT":"JOR","ADM0_A3_AR":"JOR","ADM0_A3_JP":"JOR","ADM0_A3_KO":"JOR","ADM0_A3_VN":"JOR","ADM0_A3_TR":"JOR","ADM0_A3_ID":"JOR","ADM0_A3_PL":"JOR","ADM0_A3_GR":"JOR","ADM0_A3_IT":"JOR","ADM0_A3_NL":"JOR","ADM0_A3_SE":"JOR","ADM0_A3_BD":"JOR","ADM0_A3_UA":"JOR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Middle East & North Africa","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":36.375991,"LABEL_Y":30.805025,"NE_ID":1159320935,"WIKIDATAID":"Q810","NAME_AR":"الأردن","NAME_BN":"জর্ডান","NAME_DE":"Jordanien","NAME_EN":"Jordan","NAME_ES":"Jordania","NAME_FA":"اردن","NAME_FR":"Jordanie","NAME_EL":"Ιορδανία","NAME_HE":"ירדן","NAME_HI":"जॉर्डन","NAME_HU":"Jordánia","NAME_ID":"Yordania","NAME_IT":"Giordania","NAME_JA":"ヨルダン","NAME_KO":"요르단","NAME_NL":"Jordanië","NAME_PL":"Jordania","NAME_PT":"Jordânia","NAME_RU":"Иордания","NAME_SV":"Jordanien","NAME_TR":"Ürdün","NAME_UK":"Йорданія","NAME_UR":"اردن","NAME_VI":"Jordan","NAME_ZH":"约旦","NAME_ZHT":"約旦","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[34.922603,29.197495,39.195468,33.378686],"geometry":{"type":"Polygon","coordinates":[[[35.545665,32.393992],[35.719918,32.709192],[36.834062,32.312938],[38.792341,33.378686],[39.195468,32.161009],[39.004886,32.010217],[37.002166,31.508413],[37.998849,30.5085],[37.66812,30.338665],[37.503582,30.003776],[36.740528,29.865283],[36.501214,29.505254],[36.068941,29.197495],[34.956037,29.356555],[34.922603,29.501326],[35.420918,31.100066],[35.397561,31.489086],[35.545252,31.782505],[35.545665,32.393992]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"United Arab Emirates","SOV_A3":"ARE","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"United Arab Emirates","ADM0_A3":"ARE","GEOU_DIF":0,"GEOUNIT":"United Arab Emirates","GU_A3":"ARE","SU_DIF":0,"SUBUNIT":"United Arab Emirates","SU_A3":"ARE","BRK_DIFF":0,"NAME":"United Arab Emirates","NAME_LONG":"United Arab Emirates","BRK_A3":"ARE","BRK_NAME":"United Arab Emirates","BRK_GROUP":null,"ABBREV":"U.A.E.","POSTAL":"AE","FORMAL_EN":"United Arab Emirates","FORMAL_FR":null,"NAME_CIAWF":"United Arab Emirates","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"United Arab Emirates","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":1,"MAPCOLOR9":3,"MAPCOLOR13":3,"POP_EST":9770529,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":421142,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"AE","ISO_A2":"AE","ISO_A2_EH":"AE","ISO_A3":"ARE","ISO_A3_EH":"ARE","ISO_N3":"784","ISO_N3_EH":"784","UN_A3":"784","WB_A2":"AE","WB_A3":"ARE","WOE_ID":23424738,"WOE_ID_EH":23424738,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ARE","ADM0_DIFF":null,"ADM0_TLC":"ARE","ADM0_A3_US":"ARE","ADM0_A3_FR":"ARE","ADM0_A3_RU":"ARE","ADM0_A3_ES":"ARE","ADM0_A3_CN":"ARE","ADM0_A3_TW":"ARE","ADM0_A3_IN":"ARE","ADM0_A3_NP":"ARE","ADM0_A3_PK":"ARE","ADM0_A3_DE":"ARE","ADM0_A3_GB":"ARE","ADM0_A3_BR":"ARE","ADM0_A3_IL":"ARE","ADM0_A3_PS":"ARE","ADM0_A3_SA":"ARE","ADM0_A3_EG":"ARE","ADM0_A3_MA":"ARE","ADM0_A3_PT":"ARE","ADM0_A3_AR":"ARE","ADM0_A3_JP":"ARE","ADM0_A3_KO":"ARE","ADM0_A3_VN":"ARE","ADM0_A3_TR":"ARE","ADM0_A3_ID":"ARE","ADM0_A3_PL":"ARE","ADM0_A3_GR":"ARE","ADM0_A3_IT":"ARE","ADM0_A3_NL":"ARE","ADM0_A3_SE":"ARE","ADM0_A3_BD":"ARE","ADM0_A3_UA":"ARE","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Middle East & North Africa","NAME_LEN":20,"LONG_LEN":20,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":54.547256,"LABEL_Y":23.466285,"NE_ID":1159320329,"WIKIDATAID":"Q878","NAME_AR":"الإمارات العربية المتحدة","NAME_BN":"সংযুক্ত আরব আমিরাত","NAME_DE":"Vereinigte Arabische Emirate","NAME_EN":"United Arab Emirates","NAME_ES":"Emiratos Árabes Unidos","NAME_FA":"امارات متحده عربی","NAME_FR":"Émirats arabes unis","NAME_EL":"Ηνωμένα Αραβικά Εμιράτα","NAME_HE":"איחוד האמירויות הערביות","NAME_HI":"संयुक्त अरब अमीरात","NAME_HU":"Egyesült Arab Emírségek","NAME_ID":"Uni Emirat Arab","NAME_IT":"Emirati Arabi Uniti","NAME_JA":"アラブ首長国連邦","NAME_KO":"아랍에미리트","NAME_NL":"Verenigde Arabische Emiraten","NAME_PL":"Zjednoczone Emiraty Arabskie","NAME_PT":"Emirados Árabes Unidos","NAME_RU":"Объединённые Арабские Эмираты","NAME_SV":"Förenade Arabemiraten","NAME_TR":"Birleşik Arap Emirlikleri","NAME_UK":"Об'єднані Арабські Емірати","NAME_UR":"متحدہ عرب امارات","NAME_VI":"Các Tiểu vương quốc Ả Rập Thống nhất","NAME_ZH":"阿拉伯联合酋长国","NAME_ZHT":"阿拉伯聯合大公國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[51.579519,22.496948,56.396847,26.055464],"geometry":{"type":"Polygon","coordinates":[[[51.579519,24.245497],[51.757441,24.294073],[51.794389,24.019826],[52.577081,24.177439],[53.404007,24.151317],[54.008001,24.121758],[54.693024,24.797892],[55.439025,25.439145],[56.070821,26.055464],[56.261042,25.714606],[56.396847,24.924732],[55.886233,24.920831],[55.804119,24.269604],[55.981214,24.130543],[55.528632,23.933604],[55.525841,23.524869],[55.234489,23.110993],[55.208341,22.70833],[55.006803,22.496948],[52.000733,23.001154],[51.617708,24.014219],[51.579519,24.245497]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Qatar","SOV_A3":"QAT","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Qatar","ADM0_A3":"QAT","GEOU_DIF":0,"GEOUNIT":"Qatar","GU_A3":"QAT","SU_DIF":0,"SUBUNIT":"Qatar","SU_A3":"QAT","BRK_DIFF":0,"NAME":"Qatar","NAME_LONG":"Qatar","BRK_A3":"QAT","BRK_NAME":"Qatar","BRK_GROUP":null,"ABBREV":"Qatar","POSTAL":"QA","FORMAL_EN":"State of Qatar","FORMAL_FR":null,"NAME_CIAWF":"Qatar","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Qatar","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":6,"MAPCOLOR9":2,"MAPCOLOR13":4,"POP_EST":2832067,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":175837,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"QA","ISO_A2":"QA","ISO_A2_EH":"QA","ISO_A3":"QAT","ISO_A3_EH":"QAT","ISO_N3":"634","ISO_N3_EH":"634","UN_A3":"634","WB_A2":"QA","WB_A3":"QAT","WOE_ID":23424930,"WOE_ID_EH":23424930,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"QAT","ADM0_DIFF":null,"ADM0_TLC":"QAT","ADM0_A3_US":"QAT","ADM0_A3_FR":"QAT","ADM0_A3_RU":"QAT","ADM0_A3_ES":"QAT","ADM0_A3_CN":"QAT","ADM0_A3_TW":"QAT","ADM0_A3_IN":"QAT","ADM0_A3_NP":"QAT","ADM0_A3_PK":"QAT","ADM0_A3_DE":"QAT","ADM0_A3_GB":"QAT","ADM0_A3_BR":"QAT","ADM0_A3_IL":"QAT","ADM0_A3_PS":"QAT","ADM0_A3_SA":"QAT","ADM0_A3_EG":"QAT","ADM0_A3_MA":"QAT","ADM0_A3_PT":"QAT","ADM0_A3_AR":"QAT","ADM0_A3_JP":"QAT","ADM0_A3_KO":"QAT","ADM0_A3_VN":"QAT","ADM0_A3_TR":"QAT","ADM0_A3_ID":"QAT","ADM0_A3_PL":"QAT","ADM0_A3_GR":"QAT","ADM0_A3_IT":"QAT","ADM0_A3_NL":"QAT","ADM0_A3_SE":"QAT","ADM0_A3_BD":"QAT","ADM0_A3_UA":"QAT","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Middle East & North Africa","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":51.143509,"LABEL_Y":25.237383,"NE_ID":1159321197,"WIKIDATAID":"Q846","NAME_AR":"قطر","NAME_BN":"কাতার","NAME_DE":"Katar","NAME_EN":"Qatar","NAME_ES":"Catar","NAME_FA":"قطر","NAME_FR":"Qatar","NAME_EL":"Κατάρ","NAME_HE":"קטר","NAME_HI":"क़तर","NAME_HU":"Katar","NAME_ID":"Qatar","NAME_IT":"Qatar","NAME_JA":"カタール","NAME_KO":"카타르","NAME_NL":"Qatar","NAME_PL":"Katar","NAME_PT":"Catar","NAME_RU":"Катар","NAME_SV":"Qatar","NAME_TR":"Katar","NAME_UK":"Катар","NAME_UR":"قطر","NAME_VI":"Qatar","NAME_ZH":"卡塔尔","NAME_ZHT":"卡達","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[50.743911,24.556331,51.6067,26.114582],"geometry":{"type":"Polygon","coordinates":[[[50.810108,24.754743],[50.743911,25.482424],[51.013352,26.006992],[51.286462,26.114582],[51.589079,25.801113],[51.6067,25.21567],[51.389608,24.627386],[51.112415,24.556331],[50.810108,24.754743]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Kuwait","SOV_A3":"KWT","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Kuwait","ADM0_A3":"KWT","GEOU_DIF":0,"GEOUNIT":"Kuwait","GU_A3":"KWT","SU_DIF":0,"SUBUNIT":"Kuwait","SU_A3":"KWT","BRK_DIFF":0,"NAME":"Kuwait","NAME_LONG":"Kuwait","BRK_A3":"KWT","BRK_NAME":"Kuwait","BRK_GROUP":null,"ABBREV":"Kwt.","POSTAL":"KW","FORMAL_EN":"State of Kuwait","FORMAL_FR":null,"NAME_CIAWF":"Kuwait","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Kuwait","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":2,"MAPCOLOR9":2,"MAPCOLOR13":2,"POP_EST":4207083,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":134628,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"KU","ISO_A2":"KW","ISO_A2_EH":"KW","ISO_A3":"KWT","ISO_A3_EH":"KWT","ISO_N3":"414","ISO_N3_EH":"414","UN_A3":"414","WB_A2":"KW","WB_A3":"KWT","WOE_ID":23424870,"WOE_ID_EH":23424870,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"KWT","ADM0_DIFF":null,"ADM0_TLC":"KWT","ADM0_A3_US":"KWT","ADM0_A3_FR":"KWT","ADM0_A3_RU":"KWT","ADM0_A3_ES":"KWT","ADM0_A3_CN":"KWT","ADM0_A3_TW":"KWT","ADM0_A3_IN":"KWT","ADM0_A3_NP":"KWT","ADM0_A3_PK":"KWT","ADM0_A3_DE":"KWT","ADM0_A3_GB":"KWT","ADM0_A3_BR":"KWT","ADM0_A3_IL":"KWT","ADM0_A3_PS":"KWT","ADM0_A3_SA":"KWT","ADM0_A3_EG":"KWT","ADM0_A3_MA":"KWT","ADM0_A3_PT":"KWT","ADM0_A3_AR":"KWT","ADM0_A3_JP":"KWT","ADM0_A3_KO":"KWT","ADM0_A3_VN":"KWT","ADM0_A3_TR":"KWT","ADM0_A3_ID":"KWT","ADM0_A3_PL":"KWT","ADM0_A3_GR":"KWT","ADM0_A3_IT":"KWT","ADM0_A3_NL":"KWT","ADM0_A3_SE":"KWT","ADM0_A3_BD":"KWT","ADM0_A3_UA":"KWT","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Middle East & North Africa","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":47.313999,"LABEL_Y":29.413628,"NE_ID":1159321009,"WIKIDATAID":"Q817","NAME_AR":"الكويت","NAME_BN":"কুয়েত","NAME_DE":"Kuwait","NAME_EN":"Kuwait","NAME_ES":"Kuwait","NAME_FA":"کویت","NAME_FR":"Koweït","NAME_EL":"Κουβέιτ","NAME_HE":"כווית","NAME_HI":"कुवैत","NAME_HU":"Kuvait","NAME_ID":"Kuwait","NAME_IT":"Kuwait","NAME_JA":"クウェート","NAME_KO":"쿠웨이트","NAME_NL":"Koeweit","NAME_PL":"Kuwejt","NAME_PT":"Kuwait","NAME_RU":"Кувейт","NAME_SV":"Kuwait","NAME_TR":"Kuveyt","NAME_UK":"Кувейт","NAME_UR":"کویت","NAME_VI":"Kuwait","NAME_ZH":"科威特","NAME_ZHT":"科威特","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[46.568713,28.526063,48.416094,30.05907],"geometry":{"type":"Polygon","coordinates":[[[47.974519,29.975819],[48.183189,29.534477],[48.093943,29.306299],[48.416094,28.552004],[47.708851,28.526063],[47.459822,29.002519],[46.568713,29.099025],[47.302622,30.05907],[47.974519,29.975819]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Iraq","SOV_A3":"IRQ","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Iraq","ADM0_A3":"IRQ","GEOU_DIF":0,"GEOUNIT":"Iraq","GU_A3":"IRQ","SU_DIF":0,"SUBUNIT":"Iraq","SU_A3":"IRQ","BRK_DIFF":0,"NAME":"Iraq","NAME_LONG":"Iraq","BRK_A3":"IRQ","BRK_NAME":"Iraq","BRK_GROUP":null,"ABBREV":"Iraq","POSTAL":"IRQ","FORMAL_EN":"Republic of Iraq","FORMAL_FR":null,"NAME_CIAWF":"Iraq","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Iraq","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":3,"MAPCOLOR13":1,"POP_EST":39309783,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":234094,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"IZ","ISO_A2":"IQ","ISO_A2_EH":"IQ","ISO_A3":"IRQ","ISO_A3_EH":"IRQ","ISO_N3":"368","ISO_N3_EH":"368","UN_A3":"368","WB_A2":"IQ","WB_A3":"IRQ","WOE_ID":23424855,"WOE_ID_EH":23424855,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"IRQ","ADM0_DIFF":null,"ADM0_TLC":"IRQ","ADM0_A3_US":"IRQ","ADM0_A3_FR":"IRQ","ADM0_A3_RU":"IRQ","ADM0_A3_ES":"IRQ","ADM0_A3_CN":"IRQ","ADM0_A3_TW":"IRQ","ADM0_A3_IN":"IRQ","ADM0_A3_NP":"IRQ","ADM0_A3_PK":"IRQ","ADM0_A3_DE":"IRQ","ADM0_A3_GB":"IRQ","ADM0_A3_BR":"IRQ","ADM0_A3_IL":"IRQ","ADM0_A3_PS":"IRQ","ADM0_A3_SA":"IRQ","ADM0_A3_EG":"IRQ","ADM0_A3_MA":"IRQ","ADM0_A3_PT":"IRQ","ADM0_A3_AR":"IRQ","ADM0_A3_JP":"IRQ","ADM0_A3_KO":"IRQ","ADM0_A3_VN":"IRQ","ADM0_A3_TR":"IRQ","ADM0_A3_ID":"IRQ","ADM0_A3_PL":"IRQ","ADM0_A3_GR":"IRQ","ADM0_A3_IT":"IRQ","ADM0_A3_NL":"IRQ","ADM0_A3_SE":"IRQ","ADM0_A3_BD":"IRQ","ADM0_A3_UA":"IRQ","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Middle East & North Africa","NAME_LEN":4,"LONG_LEN":4,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":7.5,"LABEL_X":43.26181,"LABEL_Y":33.09403,"NE_ID":1159320887,"WIKIDATAID":"Q796","NAME_AR":"العراق","NAME_BN":"ইরাক","NAME_DE":"Irak","NAME_EN":"Iraq","NAME_ES":"Irak","NAME_FA":"عراق","NAME_FR":"Irak","NAME_EL":"Ιράκ","NAME_HE":"עיראק","NAME_HI":"इराक","NAME_HU":"Irak","NAME_ID":"Irak","NAME_IT":"Iraq","NAME_JA":"イラク","NAME_KO":"이라크","NAME_NL":"Irak","NAME_PL":"Irak","NAME_PT":"Iraque","NAME_RU":"Ирак","NAME_SV":"Irak","NAME_TR":"Irak","NAME_UK":"Ірак","NAME_UR":"عراق","NAME_VI":"Iraq","NAME_ZH":"伊拉克","NAME_ZHT":"伊拉克","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[38.792341,29.099025,48.567971,37.385264],"geometry":{"type":"Polygon","coordinates":[[[39.195468,32.161009],[38.792341,33.378686],[41.006159,34.419372],[41.383965,35.628317],[41.289707,36.358815],[41.837064,36.605854],[42.349591,37.229873],[42.779126,37.385264],[43.942259,37.256228],[44.293452,37.001514],[44.772677,37.170437],[45.420618,35.977546],[46.07634,35.677383],[46.151788,35.093259],[45.64846,34.748138],[45.416691,33.967798],[46.109362,33.017287],[47.334661,32.469155],[47.849204,31.709176],[47.685286,30.984853],[48.004698,30.985137],[48.014568,30.452457],[48.567971,29.926778],[47.974519,29.975819],[47.302622,30.05907],[46.568713,29.099025],[44.709499,29.178891],[41.889981,31.190009],[40.399994,31.889992],[39.195468,32.161009]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Oman","SOV_A3":"OMN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Oman","ADM0_A3":"OMN","GEOU_DIF":0,"GEOUNIT":"Oman","GU_A3":"OMN","SU_DIF":0,"SUBUNIT":"Oman","SU_A3":"OMN","BRK_DIFF":0,"NAME":"Oman","NAME_LONG":"Oman","BRK_A3":"OMN","BRK_NAME":"Oman","BRK_GROUP":null,"ABBREV":"Oman","POSTAL":"OM","FORMAL_EN":"Sultanate of Oman","FORMAL_FR":null,"NAME_CIAWF":"Oman","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Oman","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":1,"MAPCOLOR13":6,"POP_EST":4974986,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":76331,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"MU","ISO_A2":"OM","ISO_A2_EH":"OM","ISO_A3":"OMN","ISO_A3_EH":"OMN","ISO_N3":"512","ISO_N3_EH":"512","UN_A3":"512","WB_A2":"OM","WB_A3":"OMN","WOE_ID":23424898,"WOE_ID_EH":23424898,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"OMN","ADM0_DIFF":null,"ADM0_TLC":"OMN","ADM0_A3_US":"OMN","ADM0_A3_FR":"OMN","ADM0_A3_RU":"OMN","ADM0_A3_ES":"OMN","ADM0_A3_CN":"OMN","ADM0_A3_TW":"OMN","ADM0_A3_IN":"OMN","ADM0_A3_NP":"OMN","ADM0_A3_PK":"OMN","ADM0_A3_DE":"OMN","ADM0_A3_GB":"OMN","ADM0_A3_BR":"OMN","ADM0_A3_IL":"OMN","ADM0_A3_PS":"OMN","ADM0_A3_SA":"OMN","ADM0_A3_EG":"OMN","ADM0_A3_MA":"OMN","ADM0_A3_PT":"OMN","ADM0_A3_AR":"OMN","ADM0_A3_JP":"OMN","ADM0_A3_KO":"OMN","ADM0_A3_VN":"OMN","ADM0_A3_TR":"OMN","ADM0_A3_ID":"OMN","ADM0_A3_PL":"OMN","ADM0_A3_GR":"OMN","ADM0_A3_IT":"OMN","ADM0_A3_NL":"OMN","ADM0_A3_SE":"OMN","ADM0_A3_BD":"OMN","ADM0_A3_UA":"OMN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Middle East & North Africa","NAME_LEN":4,"LONG_LEN":4,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":57.336553,"LABEL_Y":22.120427,"NE_ID":1159321151,"WIKIDATAID":"Q842","NAME_AR":"سلطنة عمان","NAME_BN":"ওমান","NAME_DE":"Oman","NAME_EN":"Oman","NAME_ES":"Omán","NAME_FA":"عمان","NAME_FR":"Oman","NAME_EL":"Ομάν","NAME_HE":"עומאן","NAME_HI":"ओमान","NAME_HU":"Omán","NAME_ID":"Oman","NAME_IT":"Oman","NAME_JA":"オマーン","NAME_KO":"오만","NAME_NL":"Oman","NAME_PL":"Oman","NAME_PT":"Omã","NAME_RU":"Оман","NAME_SV":"Oman","NAME_TR":"Umman","NAME_UK":"Оман","NAME_UR":"عمان","NAME_VI":"Oman","NAME_ZH":"阿曼","NAME_ZHT":"阿曼","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[52.00001,16.651051,59.80806,26.395934],"geometry":{"type":"MultiPolygon","coordinates":[[[[55.208341,22.70833],[55.234489,23.110993],[55.525841,23.524869],[55.528632,23.933604],[55.981214,24.130543],[55.804119,24.269604],[55.886233,24.920831],[56.396847,24.924732],[56.84514,24.241673],[57.403453,23.878594],[58.136948,23.747931],[58.729211,23.565668],[59.180502,22.992395],[59.450098,22.660271],[59.80806,22.533612],[59.806148,22.310525],[59.442191,21.714541],[59.282408,21.433886],[58.861141,21.114035],[58.487986,20.428986],[58.034318,20.481437],[57.826373,20.243002],[57.665762,19.736005],[57.7887,19.06757],[57.694391,18.94471],[57.234264,18.947991],[56.609651,18.574267],[56.512189,18.087113],[56.283521,17.876067],[55.661492,17.884128],[55.269939,17.632309],[55.2749,17.228354],[54.791002,16.950697],[54.239253,17.044981],[53.570508,16.707663],[53.108573,16.651051],[52.782184,17.349742],[52.00001,19.000003],[54.999982,19.999994],[55.666659,22.000001],[55.208341,22.70833]]],[[[56.261042,25.714606],[56.070821,26.055464],[56.362017,26.395934],[56.485679,26.309118],[56.391421,25.895991],[56.261042,25.714606]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Vanuatu","SOV_A3":"VUT","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Vanuatu","ADM0_A3":"VUT","GEOU_DIF":0,"GEOUNIT":"Vanuatu","GU_A3":"VUT","SU_DIF":0,"SUBUNIT":"Vanuatu","SU_A3":"VUT","BRK_DIFF":0,"NAME":"Vanuatu","NAME_LONG":"Vanuatu","BRK_A3":"VUT","BRK_NAME":"Vanuatu","BRK_GROUP":null,"ABBREV":"Van.","POSTAL":"VU","FORMAL_EN":"Republic of Vanuatu","FORMAL_FR":null,"NAME_CIAWF":"Vanuatu","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Vanuatu","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":3,"MAPCOLOR9":7,"MAPCOLOR13":3,"POP_EST":299882,"POP_RANK":10,"POP_YEAR":2019,"GDP_MD":934,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"4. Lower middle income","FIPS_10":"NH","ISO_A2":"VU","ISO_A2_EH":"VU","ISO_A3":"VUT","ISO_A3_EH":"VUT","ISO_N3":"548","ISO_N3_EH":"548","UN_A3":"548","WB_A2":"VU","WB_A3":"VUT","WOE_ID":23424907,"WOE_ID_EH":23424907,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"VUT","ADM0_DIFF":null,"ADM0_TLC":"VUT","ADM0_A3_US":"VUT","ADM0_A3_FR":"VUT","ADM0_A3_RU":"VUT","ADM0_A3_ES":"VUT","ADM0_A3_CN":"VUT","ADM0_A3_TW":"VUT","ADM0_A3_IN":"VUT","ADM0_A3_NP":"VUT","ADM0_A3_PK":"VUT","ADM0_A3_DE":"VUT","ADM0_A3_GB":"VUT","ADM0_A3_BR":"VUT","ADM0_A3_IL":"VUT","ADM0_A3_PS":"VUT","ADM0_A3_SA":"VUT","ADM0_A3_EG":"VUT","ADM0_A3_MA":"VUT","ADM0_A3_PT":"VUT","ADM0_A3_AR":"VUT","ADM0_A3_JP":"VUT","ADM0_A3_KO":"VUT","ADM0_A3_VN":"VUT","ADM0_A3_TR":"VUT","ADM0_A3_ID":"VUT","ADM0_A3_PL":"VUT","ADM0_A3_GR":"VUT","ADM0_A3_IT":"VUT","ADM0_A3_NL":"VUT","ADM0_A3_SE":"VUT","ADM0_A3_BD":"VUT","ADM0_A3_UA":"VUT","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Melanesia","REGION_WB":"East Asia & Pacific","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":2,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":166.908762,"LABEL_Y":-15.37153,"NE_ID":1159321421,"WIKIDATAID":"Q686","NAME_AR":"فانواتو","NAME_BN":"ভানুয়াতু","NAME_DE":"Vanuatu","NAME_EN":"Vanuatu","NAME_ES":"Vanuatu","NAME_FA":"وانواتو","NAME_FR":"Vanuatu","NAME_EL":"Βανουάτου","NAME_HE":"ונואטו","NAME_HI":"वानूआटू","NAME_HU":"Vanuatu","NAME_ID":"Vanuatu","NAME_IT":"Vanuatu","NAME_JA":"バヌアツ","NAME_KO":"바누아투","NAME_NL":"Vanuatu","NAME_PL":"Vanuatu","NAME_PT":"Vanuatu","NAME_RU":"Вануату","NAME_SV":"Vanuatu","NAME_TR":"Vanuatu","NAME_UK":"Вануату","NAME_UR":"وانواتو","NAME_VI":"Vanuatu","NAME_ZH":"瓦努阿图","NAME_ZHT":"萬那杜","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[166.629137,-16.59785,167.844877,-14.626497],"geometry":{"type":"MultiPolygon","coordinates":[[[[167.216801,-15.891846],[167.844877,-16.466333],[167.515181,-16.59785],[167.180008,-16.159995],[167.216801,-15.891846]]],[[[166.793158,-15.668811],[166.649859,-15.392704],[166.629137,-14.626497],[167.107712,-14.93392],[167.270028,-15.740021],[167.001207,-15.614602],[166.793158,-15.668811]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Cambodia","SOV_A3":"KHM","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Cambodia","ADM0_A3":"KHM","GEOU_DIF":0,"GEOUNIT":"Cambodia","GU_A3":"KHM","SU_DIF":0,"SUBUNIT":"Cambodia","SU_A3":"KHM","BRK_DIFF":0,"NAME":"Cambodia","NAME_LONG":"Cambodia","BRK_A3":"KHM","BRK_NAME":"Cambodia","BRK_GROUP":null,"ABBREV":"Camb.","POSTAL":"KH","FORMAL_EN":"Kingdom of Cambodia","FORMAL_FR":null,"NAME_CIAWF":"Cambodia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Cambodia","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":3,"MAPCOLOR9":6,"MAPCOLOR13":5,"POP_EST":16486542,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":27089,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"CB","ISO_A2":"KH","ISO_A2_EH":"KH","ISO_A3":"KHM","ISO_A3_EH":"KHM","ISO_N3":"116","ISO_N3_EH":"116","UN_A3":"116","WB_A2":"KH","WB_A3":"KHM","WOE_ID":23424776,"WOE_ID_EH":23424776,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"KHM","ADM0_DIFF":null,"ADM0_TLC":"KHM","ADM0_A3_US":"KHM","ADM0_A3_FR":"KHM","ADM0_A3_RU":"KHM","ADM0_A3_ES":"KHM","ADM0_A3_CN":"KHM","ADM0_A3_TW":"KHM","ADM0_A3_IN":"KHM","ADM0_A3_NP":"KHM","ADM0_A3_PK":"KHM","ADM0_A3_DE":"KHM","ADM0_A3_GB":"KHM","ADM0_A3_BR":"KHM","ADM0_A3_IL":"KHM","ADM0_A3_PS":"KHM","ADM0_A3_SA":"KHM","ADM0_A3_EG":"KHM","ADM0_A3_MA":"KHM","ADM0_A3_PT":"KHM","ADM0_A3_AR":"KHM","ADM0_A3_JP":"KHM","ADM0_A3_KO":"KHM","ADM0_A3_VN":"KHM","ADM0_A3_TR":"KHM","ADM0_A3_ID":"KHM","ADM0_A3_PL":"KHM","ADM0_A3_GR":"KHM","ADM0_A3_IT":"KHM","ADM0_A3_NL":"KHM","ADM0_A3_SE":"KHM","ADM0_A3_BD":"KHM","ADM0_A3_UA":"KHM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"South-Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":104.50487,"LABEL_Y":12.647584,"NE_ID":1159320979,"WIKIDATAID":"Q424","NAME_AR":"كمبوديا","NAME_BN":"কম্বোডিয়া","NAME_DE":"Kambodscha","NAME_EN":"Cambodia","NAME_ES":"Camboya","NAME_FA":"کامبوج","NAME_FR":"Cambodge","NAME_EL":"Καμπότζη","NAME_HE":"קמבודיה","NAME_HI":"कम्बोडिया","NAME_HU":"Kambodzsa","NAME_ID":"Kamboja","NAME_IT":"Cambogia","NAME_JA":"カンボジア","NAME_KO":"캄보디아","NAME_NL":"Cambodja","NAME_PL":"Kambodża","NAME_PT":"Camboja","NAME_RU":"Камбоджа","NAME_SV":"Kambodja","NAME_TR":"Kamboçya","NAME_UK":"Камбоджа","NAME_UR":"کمبوڈیا","NAME_VI":"Campuchia","NAME_ZH":"柬埔寨","NAME_ZHT":"柬埔寨","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[102.348099,10.486544,107.614548,14.570584],"geometry":{"type":"Polygon","coordinates":[[[102.584932,12.186595],[102.348099,13.394247],[102.988422,14.225721],[104.281418,14.416743],[105.218777,14.273212],[106.043946,13.881091],[106.496373,14.570584],[107.382727,14.202441],[107.614548,13.535531],[107.491403,12.337206],[105.810524,11.567615],[106.24967,10.961812],[105.199915,10.88931],[104.334335,10.486544],[103.49728,10.632555],[103.09069,11.153661],[102.584932,12.186595]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Thailand","SOV_A3":"THA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Thailand","ADM0_A3":"THA","GEOU_DIF":0,"GEOUNIT":"Thailand","GU_A3":"THA","SU_DIF":0,"SUBUNIT":"Thailand","SU_A3":"THA","BRK_DIFF":0,"NAME":"Thailand","NAME_LONG":"Thailand","BRK_A3":"THA","BRK_NAME":"Thailand","BRK_GROUP":null,"ABBREV":"Thai.","POSTAL":"TH","FORMAL_EN":"Kingdom of Thailand","FORMAL_FR":null,"NAME_CIAWF":"Thailand","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Thailand","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":6,"MAPCOLOR9":8,"MAPCOLOR13":1,"POP_EST":69625582,"POP_RANK":16,"POP_YEAR":2019,"GDP_MD":543548,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"3. Upper middle income","FIPS_10":"TH","ISO_A2":"TH","ISO_A2_EH":"TH","ISO_A3":"THA","ISO_A3_EH":"THA","ISO_N3":"764","ISO_N3_EH":"764","UN_A3":"764","WB_A2":"TH","WB_A3":"THA","WOE_ID":23424960,"WOE_ID_EH":23424960,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"THA","ADM0_DIFF":null,"ADM0_TLC":"THA","ADM0_A3_US":"THA","ADM0_A3_FR":"THA","ADM0_A3_RU":"THA","ADM0_A3_ES":"THA","ADM0_A3_CN":"THA","ADM0_A3_TW":"THA","ADM0_A3_IN":"THA","ADM0_A3_NP":"THA","ADM0_A3_PK":"THA","ADM0_A3_DE":"THA","ADM0_A3_GB":"THA","ADM0_A3_BR":"THA","ADM0_A3_IL":"THA","ADM0_A3_PS":"THA","ADM0_A3_SA":"THA","ADM0_A3_EG":"THA","ADM0_A3_MA":"THA","ADM0_A3_PT":"THA","ADM0_A3_AR":"THA","ADM0_A3_JP":"THA","ADM0_A3_KO":"THA","ADM0_A3_VN":"THA","ADM0_A3_TR":"THA","ADM0_A3_ID":"THA","ADM0_A3_PL":"THA","ADM0_A3_GR":"THA","ADM0_A3_IT":"THA","ADM0_A3_NL":"THA","ADM0_A3_SE":"THA","ADM0_A3_BD":"THA","ADM0_A3_UA":"THA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"South-Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.7,"MAX_LABEL":8,"LABEL_X":101.073198,"LABEL_Y":15.45974,"NE_ID":1159321305,"WIKIDATAID":"Q869","NAME_AR":"تايلاند","NAME_BN":"থাইল্যান্ড","NAME_DE":"Thailand","NAME_EN":"Thailand","NAME_ES":"Tailandia","NAME_FA":"تایلند","NAME_FR":"Thaïlande","NAME_EL":"Ταϊλάνδη","NAME_HE":"תאילנד","NAME_HI":"थाईलैण्ड","NAME_HU":"Thaiföld","NAME_ID":"Thailand","NAME_IT":"Thailandia","NAME_JA":"タイ王国","NAME_KO":"태국","NAME_NL":"Thailand","NAME_PL":"Tajlandia","NAME_PT":"Tailândia","NAME_RU":"Таиланд","NAME_SV":"Thailand","NAME_TR":"Tayland","NAME_UK":"Таїланд","NAME_UR":"تھائی لینڈ","NAME_VI":"Thái Lan","NAME_ZH":"泰国","NAME_ZHT":"泰國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[97.375896,5.691384,105.589039,20.41785],"geometry":{"type":"Polygon","coordinates":[[[105.218777,14.273212],[104.281418,14.416743],[102.988422,14.225721],[102.348099,13.394247],[102.584932,12.186595],[101.687158,12.64574],[100.83181,12.627085],[100.978467,13.412722],[100.097797,13.406856],[100.018733,12.307001],[99.478921,10.846367],[99.153772,9.963061],[99.222399,9.239255],[99.873832,9.207862],[100.279647,8.295153],[100.459274,7.429573],[101.017328,6.856869],[101.623079,6.740622],[102.141187,6.221636],[101.814282,5.810808],[101.154219,5.691384],[101.075516,6.204867],[100.259596,6.642825],[100.085757,6.464489],[99.690691,6.848213],[99.519642,7.343454],[98.988253,7.907993],[98.503786,8.382305],[98.339662,7.794512],[98.150009,8.350007],[98.25915,8.973923],[98.553551,9.93296],[99.038121,10.960546],[99.587286,11.892763],[99.196354,12.804748],[99.212012,13.269294],[99.097755,13.827503],[98.430819,14.622028],[98.192074,15.123703],[98.537376,15.308497],[98.903348,16.177824],[98.493761,16.837836],[97.859123,17.567946],[97.375896,18.445438],[97.797783,18.62708],[98.253724,19.708203],[98.959676,19.752981],[99.543309,20.186598],[100.115988,20.41785],[100.548881,20.109238],[100.606294,19.508344],[101.282015,19.462585],[101.035931,18.408928],[101.059548,17.512497],[102.113592,18.109102],[102.413005,17.932782],[102.998706,17.961695],[103.200192,18.309632],[103.956477,18.240954],[104.716947,17.428859],[104.779321,16.441865],[105.589039,15.570316],[105.544338,14.723934],[105.218777,14.273212]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Laos","SOV_A3":"LAO","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Laos","ADM0_A3":"LAO","GEOU_DIF":0,"GEOUNIT":"Laos","GU_A3":"LAO","SU_DIF":0,"SUBUNIT":"Laos","SU_A3":"LAO","BRK_DIFF":0,"NAME":"Laos","NAME_LONG":"Lao PDR","BRK_A3":"LAO","BRK_NAME":"Laos","BRK_GROUP":null,"ABBREV":"Laos","POSTAL":"LA","FORMAL_EN":"Lao People's Democratic Republic","FORMAL_FR":null,"NAME_CIAWF":"Laos","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Lao PDR","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":1,"MAPCOLOR9":1,"MAPCOLOR13":9,"POP_EST":7169455,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":18173,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"4. Lower middle income","FIPS_10":"LA","ISO_A2":"LA","ISO_A2_EH":"LA","ISO_A3":"LAO","ISO_A3_EH":"LAO","ISO_N3":"418","ISO_N3_EH":"418","UN_A3":"418","WB_A2":"LA","WB_A3":"LAO","WOE_ID":23424872,"WOE_ID_EH":23424872,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"LAO","ADM0_DIFF":null,"ADM0_TLC":"LAO","ADM0_A3_US":"LAO","ADM0_A3_FR":"LAO","ADM0_A3_RU":"LAO","ADM0_A3_ES":"LAO","ADM0_A3_CN":"LAO","ADM0_A3_TW":"LAO","ADM0_A3_IN":"LAO","ADM0_A3_NP":"LAO","ADM0_A3_PK":"LAO","ADM0_A3_DE":"LAO","ADM0_A3_GB":"LAO","ADM0_A3_BR":"LAO","ADM0_A3_IL":"LAO","ADM0_A3_PS":"LAO","ADM0_A3_SA":"LAO","ADM0_A3_EG":"LAO","ADM0_A3_MA":"LAO","ADM0_A3_PT":"LAO","ADM0_A3_AR":"LAO","ADM0_A3_JP":"LAO","ADM0_A3_KO":"LAO","ADM0_A3_VN":"LAO","ADM0_A3_TR":"LAO","ADM0_A3_ID":"LAO","ADM0_A3_PL":"LAO","ADM0_A3_GR":"LAO","ADM0_A3_IT":"LAO","ADM0_A3_NL":"LAO","ADM0_A3_SE":"LAO","ADM0_A3_BD":"LAO","ADM0_A3_UA":"LAO","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"South-Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":4,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":102.533912,"LABEL_Y":19.431821,"NE_ID":1159321011,"WIKIDATAID":"Q819","NAME_AR":"لاوس","NAME_BN":"লাওস","NAME_DE":"Laos","NAME_EN":"Laos","NAME_ES":"Laos","NAME_FA":"لائوس","NAME_FR":"Laos","NAME_EL":"Λάος","NAME_HE":"לאוס","NAME_HI":"लाओस","NAME_HU":"Laosz","NAME_ID":"Laos","NAME_IT":"Laos","NAME_JA":"ラオス","NAME_KO":"라오스","NAME_NL":"Laos","NAME_PL":"Laos","NAME_PT":"Laos","NAME_RU":"Лаос","NAME_SV":"Laos","NAME_TR":"Laos","NAME_UK":"Лаос","NAME_UR":"لاؤس","NAME_VI":"Lào","NAME_ZH":"老挝","NAME_ZHT":"寮國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[100.115988,13.881091,107.564525,22.464753],"geometry":{"type":"Polygon","coordinates":[[[107.382727,14.202441],[106.496373,14.570584],[106.043946,13.881091],[105.218777,14.273212],[105.544338,14.723934],[105.589039,15.570316],[104.779321,16.441865],[104.716947,17.428859],[103.956477,18.240954],[103.200192,18.309632],[102.998706,17.961695],[102.413005,17.932782],[102.113592,18.109102],[101.059548,17.512497],[101.035931,18.408928],[101.282015,19.462585],[100.606294,19.508344],[100.548881,20.109238],[100.115988,20.41785],[100.329101,20.786122],[101.180005,21.436573],[101.270026,21.201652],[101.80312,21.174367],[101.652018,22.318199],[102.170436,22.464753],[102.754896,21.675137],[103.203861,20.766562],[104.435,20.758733],[104.822574,19.886642],[104.183388,19.624668],[103.896532,19.265181],[105.094598,18.666975],[105.925762,17.485315],[106.556008,16.604284],[107.312706,15.908538],[107.564525,15.202173],[107.382727,14.202441]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Myanmar","SOV_A3":"MMR","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Myanmar","ADM0_A3":"MMR","GEOU_DIF":0,"GEOUNIT":"Myanmar","GU_A3":"MMR","SU_DIF":0,"SUBUNIT":"Myanmar","SU_A3":"MMR","BRK_DIFF":0,"NAME":"Myanmar","NAME_LONG":"Myanmar","BRK_A3":"MMR","BRK_NAME":"Myanmar","BRK_GROUP":null,"ABBREV":"Myan.","POSTAL":"MM","FORMAL_EN":"Republic of the Union of Myanmar","FORMAL_FR":null,"NAME_CIAWF":"Burma","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Myanmar","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":2,"MAPCOLOR9":5,"MAPCOLOR13":13,"POP_EST":54045420,"POP_RANK":16,"POP_YEAR":2019,"GDP_MD":76085,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"BM","ISO_A2":"MM","ISO_A2_EH":"MM","ISO_A3":"MMR","ISO_A3_EH":"MMR","ISO_N3":"104","ISO_N3_EH":"104","UN_A3":"104","WB_A2":"MM","WB_A3":"MMR","WOE_ID":23424763,"WOE_ID_EH":23424763,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MMR","ADM0_DIFF":null,"ADM0_TLC":"MMR","ADM0_A3_US":"MMR","ADM0_A3_FR":"MMR","ADM0_A3_RU":"MMR","ADM0_A3_ES":"MMR","ADM0_A3_CN":"MMR","ADM0_A3_TW":"MMR","ADM0_A3_IN":"MMR","ADM0_A3_NP":"MMR","ADM0_A3_PK":"MMR","ADM0_A3_DE":"MMR","ADM0_A3_GB":"MMR","ADM0_A3_BR":"MMR","ADM0_A3_IL":"MMR","ADM0_A3_PS":"MMR","ADM0_A3_SA":"MMR","ADM0_A3_EG":"MMR","ADM0_A3_MA":"MMR","ADM0_A3_PT":"MMR","ADM0_A3_AR":"MMR","ADM0_A3_JP":"MMR","ADM0_A3_KO":"MMR","ADM0_A3_VN":"MMR","ADM0_A3_TR":"MMR","ADM0_A3_ID":"MMR","ADM0_A3_PL":"MMR","ADM0_A3_GR":"MMR","ADM0_A3_IT":"MMR","ADM0_A3_NL":"MMR","ADM0_A3_SE":"MMR","ADM0_A3_BD":"MMR","ADM0_A3_UA":"MMR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"South-Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":95.804497,"LABEL_Y":21.573855,"NE_ID":1159321067,"WIKIDATAID":"Q836","NAME_AR":"ميانمار","NAME_BN":"মিয়ানমার","NAME_DE":"Myanmar","NAME_EN":"Myanmar","NAME_ES":"Birmania","NAME_FA":"میانمار","NAME_FR":"Birmanie","NAME_EL":"Μιανμάρ","NAME_HE":"מיאנמר","NAME_HI":"म्यान्मार","NAME_HU":"Mianmar","NAME_ID":"Myanmar","NAME_IT":"Birmania","NAME_JA":"ミャンマー","NAME_KO":"미얀마","NAME_NL":"Myanmar","NAME_PL":"Mjanma","NAME_PT":"Myanmar","NAME_RU":"Мьянма","NAME_SV":"Myanmar","NAME_TR":"Myanmar","NAME_UK":"М'янма","NAME_UR":"میانمار","NAME_VI":"Myanma","NAME_ZH":"缅甸","NAME_ZHT":"緬甸","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[92.303234,9.93296,101.180005,28.335945],"geometry":{"type":"Polygon","coordinates":[[[100.115988,20.41785],[99.543309,20.186598],[98.959676,19.752981],[98.253724,19.708203],[97.797783,18.62708],[97.375896,18.445438],[97.859123,17.567946],[98.493761,16.837836],[98.903348,16.177824],[98.537376,15.308497],[98.192074,15.123703],[98.430819,14.622028],[99.097755,13.827503],[99.212012,13.269294],[99.196354,12.804748],[99.587286,11.892763],[99.038121,10.960546],[98.553551,9.93296],[98.457174,10.675266],[98.764546,11.441292],[98.428339,12.032987],[98.509574,13.122378],[98.103604,13.64046],[97.777732,14.837286],[97.597072,16.100568],[97.16454,16.928734],[96.505769,16.427241],[95.369352,15.71439],[94.808405,15.803454],[94.188804,16.037936],[94.533486,17.27724],[94.324817,18.213514],[93.540988,19.366493],[93.663255,19.726962],[93.078278,19.855145],[92.368554,20.670883],[92.303234,21.475485],[92.652257,21.324048],[92.672721,22.041239],[93.166128,22.27846],[93.060294,22.703111],[93.286327,23.043658],[93.325188,24.078556],[94.106742,23.850741],[94.552658,24.675238],[94.603249,25.162495],[95.155153,26.001307],[95.124768,26.573572],[96.419366,27.264589],[97.133999,27.083774],[97.051989,27.699059],[97.402561,27.882536],[97.327114,28.261583],[97.911988,28.335945],[98.246231,27.747221],[98.68269,27.508812],[98.712094,26.743536],[98.671838,25.918703],[97.724609,25.083637],[97.60472,23.897405],[98.660262,24.063286],[98.898749,23.142722],[99.531992,22.949039],[99.240899,22.118314],[99.983489,21.742937],[100.416538,21.558839],[101.150033,21.849984],[101.180005,21.436573],[100.329101,20.786122],[100.115988,20.41785]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Vietnam","SOV_A3":"VNM","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Vietnam","ADM0_A3":"VNM","GEOU_DIF":0,"GEOUNIT":"Vietnam","GU_A3":"VNM","SU_DIF":0,"SUBUNIT":"Vietnam","SU_A3":"VNM","BRK_DIFF":0,"NAME":"Vietnam","NAME_LONG":"Vietnam","BRK_A3":"VNM","BRK_NAME":"Vietnam","BRK_GROUP":null,"ABBREV":"Viet.","POSTAL":"VN","FORMAL_EN":"Socialist Republic of Vietnam","FORMAL_FR":null,"NAME_CIAWF":"Vietnam","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Vietnam","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":6,"MAPCOLOR9":5,"MAPCOLOR13":4,"POP_EST":96462106,"POP_RANK":16,"POP_YEAR":2019,"GDP_MD":261921,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"4. Lower middle income","FIPS_10":"VM","ISO_A2":"VN","ISO_A2_EH":"VN","ISO_A3":"VNM","ISO_A3_EH":"VNM","ISO_N3":"704","ISO_N3_EH":"704","UN_A3":"704","WB_A2":"VN","WB_A3":"VNM","WOE_ID":23424984,"WOE_ID_EH":23424984,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"VNM","ADM0_DIFF":null,"ADM0_TLC":"VNM","ADM0_A3_US":"VNM","ADM0_A3_FR":"VNM","ADM0_A3_RU":"VNM","ADM0_A3_ES":"VNM","ADM0_A3_CN":"VNM","ADM0_A3_TW":"VNM","ADM0_A3_IN":"VNM","ADM0_A3_NP":"VNM","ADM0_A3_PK":"VNM","ADM0_A3_DE":"VNM","ADM0_A3_GB":"VNM","ADM0_A3_BR":"VNM","ADM0_A3_IL":"VNM","ADM0_A3_PS":"VNM","ADM0_A3_SA":"VNM","ADM0_A3_EG":"VNM","ADM0_A3_MA":"VNM","ADM0_A3_PT":"VNM","ADM0_A3_AR":"VNM","ADM0_A3_JP":"VNM","ADM0_A3_KO":"VNM","ADM0_A3_VN":"VNM","ADM0_A3_TR":"VNM","ADM0_A3_ID":"VNM","ADM0_A3_PL":"VNM","ADM0_A3_GR":"VNM","ADM0_A3_IT":"VNM","ADM0_A3_NL":"VNM","ADM0_A3_SE":"VNM","ADM0_A3_BD":"VNM","ADM0_A3_UA":"VNM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"South-Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":5,"TINY":2,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2,"MAX_LABEL":7,"LABEL_X":105.387292,"LABEL_Y":21.715416,"NE_ID":1159321417,"WIKIDATAID":"Q881","NAME_AR":"فيتنام","NAME_BN":"ভিয়েতনাম","NAME_DE":"Vietnam","NAME_EN":"Vietnam","NAME_ES":"Vietnam","NAME_FA":"ویتنام","NAME_FR":"Viêt Nam","NAME_EL":"Βιετνάμ","NAME_HE":"וייטנאם","NAME_HI":"वियतनाम","NAME_HU":"Vietnám","NAME_ID":"Vietnam","NAME_IT":"Vietnam","NAME_JA":"ベトナム","NAME_KO":"베트남","NAME_NL":"Vietnam","NAME_PL":"Wietnam","NAME_PT":"Vietname","NAME_RU":"Вьетнам","NAME_SV":"Vietnam","NAME_TR":"Vietnam","NAME_UK":"В'єтнам","NAME_UR":"ویتنام","NAME_VI":"Việt Nam","NAME_ZH":"越南","NAME_ZHT":"越南","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[102.170436,8.59976,109.33527,23.352063],"geometry":{"type":"Polygon","coordinates":[[[104.334335,10.486544],[105.199915,10.88931],[106.24967,10.961812],[105.810524,11.567615],[107.491403,12.337206],[107.614548,13.535531],[107.382727,14.202441],[107.564525,15.202173],[107.312706,15.908538],[106.556008,16.604284],[105.925762,17.485315],[105.094598,18.666975],[103.896532,19.265181],[104.183388,19.624668],[104.822574,19.886642],[104.435,20.758733],[103.203861,20.766562],[102.754896,21.675137],[102.170436,22.464753],[102.706992,22.708795],[103.504515,22.703757],[104.476858,22.81915],[105.329209,23.352063],[105.811247,22.976892],[106.725403,22.794268],[106.567273,22.218205],[107.04342,21.811899],[108.05018,21.55238],[106.715068,20.696851],[105.881682,19.75205],[105.662006,19.058165],[106.426817,18.004121],[107.361954,16.697457],[108.269495,16.079742],[108.877107,15.276691],[109.33527,13.426028],[109.200136,11.666859],[108.36613,11.008321],[107.220929,10.364484],[106.405113,9.53084],[105.158264,8.59976],[104.795185,9.241038],[105.076202,9.918491],[104.334335,10.486544]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"North Korea","SOV_A3":"PRK","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"North Korea","ADM0_A3":"PRK","GEOU_DIF":0,"GEOUNIT":"North Korea","GU_A3":"PRK","SU_DIF":0,"SUBUNIT":"North Korea","SU_A3":"PRK","BRK_DIFF":0,"NAME":"North Korea","NAME_LONG":"Dem. Rep. Korea","BRK_A3":"PRK","BRK_NAME":"Dem. Rep. Korea","BRK_GROUP":null,"ABBREV":"N.K.","POSTAL":"KP","FORMAL_EN":"Democratic People's Republic of Korea","FORMAL_FR":null,"NAME_CIAWF":"Korea, North","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Korea, Dem. Rep.","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":5,"MAPCOLOR9":3,"MAPCOLOR13":9,"POP_EST":25666161,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":40000,"GDP_YEAR":2016,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"KN","ISO_A2":"KP","ISO_A2_EH":"KP","ISO_A3":"PRK","ISO_A3_EH":"PRK","ISO_N3":"408","ISO_N3_EH":"408","UN_A3":"408","WB_A2":"KP","WB_A3":"PRK","WOE_ID":23424865,"WOE_ID_EH":23424865,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"PRK","ADM0_DIFF":null,"ADM0_TLC":"PRK","ADM0_A3_US":"PRK","ADM0_A3_FR":"PRK","ADM0_A3_RU":"PRK","ADM0_A3_ES":"PRK","ADM0_A3_CN":"PRK","ADM0_A3_TW":"PRK","ADM0_A3_IN":"PRK","ADM0_A3_NP":"PRK","ADM0_A3_PK":"PRK","ADM0_A3_DE":"PRK","ADM0_A3_GB":"PRK","ADM0_A3_BR":"PRK","ADM0_A3_IL":"PRK","ADM0_A3_PS":"PRK","ADM0_A3_SA":"PRK","ADM0_A3_EG":"PRK","ADM0_A3_MA":"PRK","ADM0_A3_PT":"PRK","ADM0_A3_AR":"PRK","ADM0_A3_JP":"PRK","ADM0_A3_KO":"PRK","ADM0_A3_VN":"PRK","ADM0_A3_TR":"PRK","ADM0_A3_ID":"PRK","ADM0_A3_PL":"PRK","ADM0_A3_GR":"PRK","ADM0_A3_IT":"PRK","ADM0_A3_NL":"PRK","ADM0_A3_SE":"PRK","ADM0_A3_BD":"PRK","ADM0_A3_UA":"PRK","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":11,"LONG_LEN":15,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":126.444516,"LABEL_Y":39.885252,"NE_ID":1159321181,"WIKIDATAID":"Q423","NAME_AR":"كوريا الشمالية","NAME_BN":"উত্তর কোরিয়া","NAME_DE":"Nordkorea","NAME_EN":"North Korea","NAME_ES":"Corea del Norte","NAME_FA":"کره شمالی","NAME_FR":"Corée du Nord","NAME_EL":"Βόρεια Κορέα","NAME_HE":"קוריאה הצפונית","NAME_HI":"उत्तर कोरिया","NAME_HU":"Észak-Korea","NAME_ID":"Korea Utara","NAME_IT":"Corea del Nord","NAME_JA":"朝鮮民主主義人民共和国","NAME_KO":"조선민주주의인민공화국","NAME_NL":"Noord-Korea","NAME_PL":"Korea Północna","NAME_PT":"Coreia do Norte","NAME_RU":"КНДР","NAME_SV":"Nordkorea","NAME_TR":"Kuzey Kore","NAME_UK":"Корейська Народно-Демократична Республіка","NAME_UR":"شمالی کوریا","NAME_VI":"Cộng hòa Dân chủ Nhân dân Triều Tiên","NAME_ZH":"朝鲜民主主义人民共和国","NAME_ZHT":"朝鮮民主主義人民共和國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[124.265625,37.669071,130.780007,42.985387],"geometry":{"type":"MultiPolygon","coordinates":[[[[130.780004,42.220008],[130.780005,42.22001],[130.780007,42.220007],[130.780004,42.220008]]],[[[130.64,42.395024],[130.64,42.395],[130.779992,42.22001],[130.400031,42.280004],[129.965949,41.941368],[129.667362,41.601104],[129.705189,40.882828],[129.188115,40.661808],[129.0104,40.485436],[128.633368,40.189847],[127.967414,40.025413],[127.533436,39.75685],[127.50212,39.323931],[127.385434,39.213472],[127.783343,39.050898],[128.349716,38.612243],[128.205746,38.370397],[127.780035,38.304536],[127.073309,38.256115],[126.68372,37.804773],[126.237339,37.840378],[126.174759,37.749686],[125.689104,37.94001],[125.568439,37.752089],[125.27533,37.669071],[125.240087,37.857224],[124.981033,37.948821],[124.712161,38.108346],[124.985994,38.548474],[125.221949,38.665857],[125.132859,38.848559],[125.38659,39.387958],[125.321116,39.551385],[124.737482,39.660344],[124.265625,39.928493],[125.079942,40.569824],[126.182045,41.107336],[126.869083,41.816569],[127.343783,41.503152],[128.208433,41.466772],[128.052215,41.994285],[129.596669,42.424982],[129.994267,42.985387],[130.64,42.395024]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"South Korea","SOV_A3":"KOR","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"South Korea","ADM0_A3":"KOR","GEOU_DIF":0,"GEOUNIT":"South Korea","GU_A3":"KOR","SU_DIF":0,"SUBUNIT":"South Korea","SU_A3":"KOR","BRK_DIFF":0,"NAME":"South Korea","NAME_LONG":"Republic of Korea","BRK_A3":"KOR","BRK_NAME":"Republic of Korea","BRK_GROUP":null,"ABBREV":"S.K.","POSTAL":"KR","FORMAL_EN":"Republic of Korea","FORMAL_FR":null,"NAME_CIAWF":"Korea, South","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Korea, Rep.","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":1,"MAPCOLOR9":1,"MAPCOLOR13":5,"POP_EST":51709098,"POP_RANK":16,"POP_YEAR":2019,"GDP_MD":1646739,"GDP_YEAR":2019,"ECONOMY":"4. Emerging region: MIKT","INCOME_GRP":"1. High income: OECD","FIPS_10":"KS","ISO_A2":"KR","ISO_A2_EH":"KR","ISO_A3":"KOR","ISO_A3_EH":"KOR","ISO_N3":"410","ISO_N3_EH":"410","UN_A3":"410","WB_A2":"KR","WB_A3":"KOR","WOE_ID":23424868,"WOE_ID_EH":23424868,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"KOR","ADM0_DIFF":null,"ADM0_TLC":"KOR","ADM0_A3_US":"KOR","ADM0_A3_FR":"KOR","ADM0_A3_RU":"KOR","ADM0_A3_ES":"KOR","ADM0_A3_CN":"KOR","ADM0_A3_TW":"KOR","ADM0_A3_IN":"KOR","ADM0_A3_NP":"KOR","ADM0_A3_PK":"KOR","ADM0_A3_DE":"KOR","ADM0_A3_GB":"KOR","ADM0_A3_BR":"KOR","ADM0_A3_IL":"KOR","ADM0_A3_PS":"KOR","ADM0_A3_SA":"KOR","ADM0_A3_EG":"KOR","ADM0_A3_MA":"KOR","ADM0_A3_PT":"KOR","ADM0_A3_AR":"KOR","ADM0_A3_JP":"KOR","ADM0_A3_KO":"KOR","ADM0_A3_VN":"KOR","ADM0_A3_TR":"KOR","ADM0_A3_ID":"KOR","ADM0_A3_PL":"KOR","ADM0_A3_GR":"KOR","ADM0_A3_IT":"KOR","ADM0_A3_NL":"KOR","ADM0_A3_SE":"KOR","ADM0_A3_BD":"KOR","ADM0_A3_UA":"KOR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":11,"LONG_LEN":17,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.5,"MAX_LABEL":7,"LABEL_X":128.129504,"LABEL_Y":36.384924,"NE_ID":1159320985,"WIKIDATAID":"Q884","NAME_AR":"كوريا الجنوبية","NAME_BN":"দক্ষিণ কোরিয়া","NAME_DE":"Südkorea","NAME_EN":"South Korea","NAME_ES":"Corea del Sur","NAME_FA":"کره جنوبی","NAME_FR":"Corée du Sud","NAME_EL":"Νότια Κορέα","NAME_HE":"קוריאה הדרומית","NAME_HI":"दक्षिण कोरिया","NAME_HU":"Dél-Korea","NAME_ID":"Korea Selatan","NAME_IT":"Corea del Sud","NAME_JA":"大韓民国","NAME_KO":"대한민국","NAME_NL":"Zuid-Korea","NAME_PL":"Korea Południowa","NAME_PT":"Coreia do Sul","NAME_RU":"Республика Корея","NAME_SV":"Sydkorea","NAME_TR":"Güney Kore","NAME_UK":"Південна Корея","NAME_UR":"جنوبی کوریا","NAME_VI":"Hàn Quốc","NAME_ZH":"大韩民国","NAME_ZHT":"大韓民國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[126.117398,34.390046,129.468304,38.612243],"geometry":{"type":"Polygon","coordinates":[[[126.174759,37.749686],[126.237339,37.840378],[126.68372,37.804773],[127.073309,38.256115],[127.780035,38.304536],[128.205746,38.370397],[128.349716,38.612243],[129.21292,37.432392],[129.46045,36.784189],[129.468304,35.632141],[129.091377,35.082484],[128.18585,34.890377],[127.386519,34.475674],[126.485748,34.390046],[126.37392,34.93456],[126.559231,35.684541],[126.117398,36.725485],[126.860143,36.893924],[126.174759,37.749686]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Mongolia","SOV_A3":"MNG","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Mongolia","ADM0_A3":"MNG","GEOU_DIF":0,"GEOUNIT":"Mongolia","GU_A3":"MNG","SU_DIF":0,"SUBUNIT":"Mongolia","SU_A3":"MNG","BRK_DIFF":0,"NAME":"Mongolia","NAME_LONG":"Mongolia","BRK_A3":"MNG","BRK_NAME":"Mongolia","BRK_GROUP":null,"ABBREV":"Mong.","POSTAL":"MN","FORMAL_EN":"Mongolia","FORMAL_FR":null,"NAME_CIAWF":"Mongolia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Mongolia","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":5,"MAPCOLOR9":5,"MAPCOLOR13":6,"POP_EST":3225167,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":13996,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"MG","ISO_A2":"MN","ISO_A2_EH":"MN","ISO_A3":"MNG","ISO_A3_EH":"MNG","ISO_N3":"496","ISO_N3_EH":"496","UN_A3":"496","WB_A2":"MN","WB_A3":"MNG","WOE_ID":23424887,"WOE_ID_EH":23424887,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MNG","ADM0_DIFF":null,"ADM0_TLC":"MNG","ADM0_A3_US":"MNG","ADM0_A3_FR":"MNG","ADM0_A3_RU":"MNG","ADM0_A3_ES":"MNG","ADM0_A3_CN":"MNG","ADM0_A3_TW":"MNG","ADM0_A3_IN":"MNG","ADM0_A3_NP":"MNG","ADM0_A3_PK":"MNG","ADM0_A3_DE":"MNG","ADM0_A3_GB":"MNG","ADM0_A3_BR":"MNG","ADM0_A3_IL":"MNG","ADM0_A3_PS":"MNG","ADM0_A3_SA":"MNG","ADM0_A3_EG":"MNG","ADM0_A3_MA":"MNG","ADM0_A3_PT":"MNG","ADM0_A3_AR":"MNG","ADM0_A3_JP":"MNG","ADM0_A3_KO":"MNG","ADM0_A3_VN":"MNG","ADM0_A3_TR":"MNG","ADM0_A3_ID":"MNG","ADM0_A3_PL":"MNG","ADM0_A3_GR":"MNG","ADM0_A3_IT":"MNG","ADM0_A3_NL":"MNG","ADM0_A3_SE":"MNG","ADM0_A3_BD":"MNG","ADM0_A3_UA":"MNG","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":7,"LABEL_X":104.150405,"LABEL_Y":45.997488,"NE_ID":1159321071,"WIKIDATAID":"Q711","NAME_AR":"منغوليا","NAME_BN":"মঙ্গোলিয়া","NAME_DE":"Mongolei","NAME_EN":"Mongolia","NAME_ES":"Mongolia","NAME_FA":"مغولستان","NAME_FR":"Mongolie","NAME_EL":"Μογγολία","NAME_HE":"מונגוליה","NAME_HI":"मंगोलिया","NAME_HU":"Mongólia","NAME_ID":"Mongolia","NAME_IT":"Mongolia","NAME_JA":"モンゴル国","NAME_KO":"몽골","NAME_NL":"Mongolië","NAME_PL":"Mongolia","NAME_PT":"Mongólia","NAME_RU":"Монголия","NAME_SV":"Mongoliet","NAME_TR":"Moğolistan","NAME_UK":"Монголія","NAME_UR":"منگولیا","NAME_VI":"Mông Cổ","NAME_ZH":"蒙古国","NAME_ZHT":"蒙古國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[87.751264,41.59741,119.772824,52.047366],"geometry":{"type":"Polygon","coordinates":[[[87.751264,49.297198],[88.805567,49.470521],[90.713667,50.331812],[92.234712,50.802171],[93.10421,50.49529],[94.147566,50.480537],[94.815949,50.013433],[95.81402,49.97746],[97.25976,49.72605],[98.231762,50.422401],[97.82574,51.010995],[98.861491,52.047366],[99.981732,51.634006],[100.88948,51.516856],[102.06521,51.25991],[102.25589,50.51056],[103.676545,50.089966],[104.62158,50.27532],[105.886591,50.406019],[106.888804,50.274296],[107.868176,49.793705],[108.475167,49.282548],[109.402449,49.292961],[110.662011,49.130128],[111.581231,49.377968],[112.89774,49.543565],[114.362456,50.248303],[114.96211,50.140247],[115.485695,49.805177],[116.678801,49.888531],[116.191802,49.134598],[115.485282,48.135383],[115.742837,47.726545],[116.308953,47.85341],[117.295507,47.697709],[118.064143,48.06673],[118.866574,47.74706],[119.772824,47.048059],[119.66327,46.69268],[118.874326,46.805412],[117.421701,46.672733],[116.717868,46.388202],[115.985096,45.727235],[114.460332,45.339817],[113.463907,44.808893],[112.436062,45.011646],[111.873306,45.102079],[111.348377,44.457442],[111.667737,44.073176],[111.829588,43.743118],[111.129682,43.406834],[110.412103,42.871234],[109.243596,42.519446],[107.744773,42.481516],[106.129316,42.134328],[104.964994,41.59741],[104.522282,41.908347],[103.312278,41.907468],[101.83304,42.514873],[100.845866,42.663804],[99.515817,42.524691],[97.451757,42.74889],[96.349396,42.725635],[95.762455,43.319449],[95.306875,44.241331],[94.688929,44.352332],[93.480734,44.975472],[92.133891,45.115076],[90.94554,45.286073],[90.585768,45.719716],[90.970809,46.888146],[90.280826,47.693549],[88.854298,48.069082],[88.013832,48.599463],[87.751264,49.297198]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"India","SOV_A3":"IND","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"India","ADM0_A3":"IND","GEOU_DIF":0,"GEOUNIT":"India","GU_A3":"IND","SU_DIF":0,"SUBUNIT":"India","SU_A3":"IND","BRK_DIFF":0,"NAME":"India","NAME_LONG":"India","BRK_A3":"IND","BRK_NAME":"India","BRK_GROUP":null,"ABBREV":"India","POSTAL":"IND","FORMAL_EN":"Republic of India","FORMAL_FR":null,"NAME_CIAWF":"India","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"India","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":3,"MAPCOLOR9":2,"MAPCOLOR13":2,"POP_EST":1366417754,"POP_RANK":18,"POP_YEAR":2019,"GDP_MD":2868929,"GDP_YEAR":2019,"ECONOMY":"3. Emerging region: BRIC","INCOME_GRP":"4. Lower middle income","FIPS_10":"IN","ISO_A2":"IN","ISO_A2_EH":"IN","ISO_A3":"IND","ISO_A3_EH":"IND","ISO_N3":"356","ISO_N3_EH":"356","UN_A3":"356","WB_A2":"IN","WB_A3":"IND","WOE_ID":23424848,"WOE_ID_EH":23424848,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"IND","ADM0_DIFF":null,"ADM0_TLC":"IND","ADM0_A3_US":"IND","ADM0_A3_FR":"IND","ADM0_A3_RU":"IND","ADM0_A3_ES":"IND","ADM0_A3_CN":"IND","ADM0_A3_TW":"IND","ADM0_A3_IN":"IND","ADM0_A3_NP":"IND","ADM0_A3_PK":"IND","ADM0_A3_DE":"IND","ADM0_A3_GB":"IND","ADM0_A3_BR":"IND","ADM0_A3_IL":"IND","ADM0_A3_PS":"IND","ADM0_A3_SA":"IND","ADM0_A3_EG":"IND","ADM0_A3_MA":"IND","ADM0_A3_PT":"IND","ADM0_A3_AR":"IND","ADM0_A3_JP":"IND","ADM0_A3_KO":"IND","ADM0_A3_VN":"IND","ADM0_A3_TR":"IND","ADM0_A3_ID":"IND","ADM0_A3_PL":"IND","ADM0_A3_GR":"IND","ADM0_A3_IT":"IND","ADM0_A3_NL":"IND","ADM0_A3_SE":"IND","ADM0_A3_BD":"IND","ADM0_A3_UA":"IND","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Southern Asia","REGION_WB":"South Asia","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":6.7,"LABEL_X":79.358105,"LABEL_Y":22.686852,"NE_ID":1159320847,"WIKIDATAID":"Q668","NAME_AR":"الهند","NAME_BN":"ভারত","NAME_DE":"Indien","NAME_EN":"India","NAME_ES":"India","NAME_FA":"هند","NAME_FR":"Inde","NAME_EL":"Ινδία","NAME_HE":"הודו","NAME_HI":"भारत","NAME_HU":"India","NAME_ID":"India","NAME_IT":"India","NAME_JA":"インド","NAME_KO":"인도","NAME_NL":"India","NAME_PL":"Indie","NAME_PT":"Índia","NAME_RU":"Индия","NAME_SV":"Indien","NAME_TR":"Hindistan","NAME_UK":"Індія","NAME_UR":"بھارت","NAME_VI":"Ấn Độ","NAME_ZH":"印度","NAME_ZHT":"印度","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[68.176645,7.965535,97.402561,35.49401],"geometry":{"type":"Polygon","coordinates":[[[97.327114,28.261583],[97.402561,27.882536],[97.051989,27.699059],[97.133999,27.083774],[96.419366,27.264589],[95.124768,26.573572],[95.155153,26.001307],[94.603249,25.162495],[94.552658,24.675238],[94.106742,23.850741],[93.325188,24.078556],[93.286327,23.043658],[93.060294,22.703111],[93.166128,22.27846],[92.672721,22.041239],[92.146035,23.627499],[91.869928,23.624346],[91.706475,22.985264],[91.158963,23.503527],[91.46773,24.072639],[91.915093,24.130414],[92.376202,24.976693],[91.799596,25.147432],[90.872211,25.132601],[89.920693,25.26975],[89.832481,25.965082],[89.355094,26.014407],[88.563049,26.446526],[88.209789,25.768066],[88.931554,25.238692],[88.306373,24.866079],[88.084422,24.501657],[88.69994,24.233715],[88.52977,23.631142],[88.876312,22.879146],[89.031961,22.055708],[88.888766,21.690588],[88.208497,21.703172],[86.975704,21.495562],[87.033169,20.743308],[86.499351,20.151638],[85.060266,19.478579],[83.941006,18.30201],[83.189217,17.671221],[82.192792,17.016636],[82.191242,16.556664],[81.692719,16.310219],[80.791999,15.951972],[80.324896,15.899185],[80.025069,15.136415],[80.233274,13.835771],[80.286294,13.006261],[79.862547,12.056215],[79.857999,10.357275],[79.340512,10.308854],[78.885345,9.546136],[79.18972,9.216544],[78.277941,8.933047],[77.941165,8.252959],[77.539898,7.965535],[76.592979,8.899276],[76.130061,10.29963],[75.746467,11.308251],[75.396101,11.781245],[74.864816,12.741936],[74.616717,13.992583],[74.443859,14.617222],[73.534199,15.990652],[73.119909,17.92857],[72.820909,19.208234],[72.824475,20.419503],[72.630533,21.356009],[71.175273,20.757441],[70.470459,20.877331],[69.16413,22.089298],[69.644928,22.450775],[69.349597,22.84318],[68.176645,23.691965],[68.842599,24.359134],[71.04324,24.356524],[70.844699,25.215102],[70.282873,25.722229],[70.168927,26.491872],[69.514393,26.940966],[70.616496,27.989196],[71.777666,27.91318],[72.823752,28.961592],[73.450638,29.976413],[74.42138,30.979815],[74.405929,31.692639],[75.258642,32.271105],[74.451559,32.7649],[74.104294,33.441473],[73.749948,34.317699],[74.240203,34.748887],[75.757061,34.504923],[76.871722,34.653544],[77.837451,35.49401],[78.912269,34.321936],[78.811086,33.506198],[79.208892,32.994395],[79.176129,32.48378],[78.458446,32.618164],[78.738894,31.515906],[79.721367,30.882715],[81.111256,30.183481],[80.476721,29.729865],[80.088425,28.79447],[81.057203,28.416095],[81.999987,27.925479],[83.304249,27.364506],[84.675018,27.234901],[85.251779,26.726198],[86.024393,26.630985],[87.227472,26.397898],[88.060238,26.414615],[88.174804,26.810405],[88.043133,27.445819],[88.120441,27.876542],[88.730326,28.086865],[88.814248,27.299316],[88.835643,27.098966],[89.744528,26.719403],[90.373275,26.875724],[91.217513,26.808648],[92.033484,26.83831],[92.103712,27.452614],[91.696657,27.771742],[92.503119,27.896876],[93.413348,28.640629],[94.56599,29.277438],[95.404802,29.031717],[96.117679,29.452802],[96.586591,28.83098],[96.248833,28.411031],[97.327114,28.261583]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Bangladesh","SOV_A3":"BGD","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Bangladesh","ADM0_A3":"BGD","GEOU_DIF":0,"GEOUNIT":"Bangladesh","GU_A3":"BGD","SU_DIF":0,"SUBUNIT":"Bangladesh","SU_A3":"BGD","BRK_DIFF":0,"NAME":"Bangladesh","NAME_LONG":"Bangladesh","BRK_A3":"BGD","BRK_NAME":"Bangladesh","BRK_GROUP":null,"ABBREV":"Bang.","POSTAL":"BD","FORMAL_EN":"People's Republic of Bangladesh","FORMAL_FR":null,"NAME_CIAWF":"Bangladesh","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Bangladesh","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":4,"MAPCOLOR9":7,"MAPCOLOR13":7,"POP_EST":163046161,"POP_RANK":17,"POP_YEAR":2019,"GDP_MD":302571,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"BG","ISO_A2":"BD","ISO_A2_EH":"BD","ISO_A3":"BGD","ISO_A3_EH":"BGD","ISO_N3":"050","ISO_N3_EH":"050","UN_A3":"050","WB_A2":"BD","WB_A3":"BGD","WOE_ID":23424759,"WOE_ID_EH":23424759,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BGD","ADM0_DIFF":null,"ADM0_TLC":"BGD","ADM0_A3_US":"BGD","ADM0_A3_FR":"BGD","ADM0_A3_RU":"BGD","ADM0_A3_ES":"BGD","ADM0_A3_CN":"BGD","ADM0_A3_TW":"BGD","ADM0_A3_IN":"BGD","ADM0_A3_NP":"BGD","ADM0_A3_PK":"BGD","ADM0_A3_DE":"BGD","ADM0_A3_GB":"BGD","ADM0_A3_BR":"BGD","ADM0_A3_IL":"BGD","ADM0_A3_PS":"BGD","ADM0_A3_SA":"BGD","ADM0_A3_EG":"BGD","ADM0_A3_MA":"BGD","ADM0_A3_PT":"BGD","ADM0_A3_AR":"BGD","ADM0_A3_JP":"BGD","ADM0_A3_KO":"BGD","ADM0_A3_VN":"BGD","ADM0_A3_TR":"BGD","ADM0_A3_ID":"BGD","ADM0_A3_PL":"BGD","ADM0_A3_GR":"BGD","ADM0_A3_IT":"BGD","ADM0_A3_NL":"BGD","ADM0_A3_SE":"BGD","ADM0_A3_BD":"BGD","ADM0_A3_UA":"BGD","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Southern Asia","REGION_WB":"South Asia","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":89.684963,"LABEL_Y":24.214956,"NE_ID":1159320407,"WIKIDATAID":"Q902","NAME_AR":"بنغلاديش","NAME_BN":"বাংলাদেশ","NAME_DE":"Bangladesch","NAME_EN":"Bangladesh","NAME_ES":"Bangladés","NAME_FA":"بنگلادش","NAME_FR":"Bangladesh","NAME_EL":"Μπανγκλαντές","NAME_HE":"בנגלדש","NAME_HI":"बांग्लादेश","NAME_HU":"Banglades","NAME_ID":"Bangladesh","NAME_IT":"Bangladesh","NAME_JA":"バングラデシュ","NAME_KO":"방글라데시","NAME_NL":"Bangladesh","NAME_PL":"Bangladesz","NAME_PT":"Bangladesh","NAME_RU":"Бангладеш","NAME_SV":"Bangladesh","NAME_TR":"Bangladeş","NAME_UK":"Бангладеш","NAME_UR":"بنگلہ دیش","NAME_VI":"Bangladesh","NAME_ZH":"孟加拉国","NAME_ZHT":"孟加拉","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[88.084422,20.670883,92.672721,26.446526],"geometry":{"type":"Polygon","coordinates":[[[92.672721,22.041239],[92.652257,21.324048],[92.303234,21.475485],[92.368554,20.670883],[92.082886,21.192195],[92.025215,21.70157],[91.834891,22.182936],[91.417087,22.765019],[90.496006,22.805017],[90.586957,22.392794],[90.272971,21.836368],[89.847467,22.039146],[89.70205,21.857116],[89.418863,21.966179],[89.031961,22.055708],[88.876312,22.879146],[88.52977,23.631142],[88.69994,24.233715],[88.084422,24.501657],[88.306373,24.866079],[88.931554,25.238692],[88.209789,25.768066],[88.563049,26.446526],[89.355094,26.014407],[89.832481,25.965082],[89.920693,25.26975],[90.872211,25.132601],[91.799596,25.147432],[92.376202,24.976693],[91.915093,24.130414],[91.46773,24.072639],[91.158963,23.503527],[91.706475,22.985264],[91.869928,23.624346],[92.146035,23.627499],[92.672721,22.041239]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Bhutan","SOV_A3":"BTN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Bhutan","ADM0_A3":"BTN","GEOU_DIF":0,"GEOUNIT":"Bhutan","GU_A3":"BTN","SU_DIF":0,"SUBUNIT":"Bhutan","SU_A3":"BTN","BRK_DIFF":0,"NAME":"Bhutan","NAME_LONG":"Bhutan","BRK_A3":"BTN","BRK_NAME":"Bhutan","BRK_GROUP":null,"ABBREV":"Bhutan","POSTAL":"BT","FORMAL_EN":"Kingdom of Bhutan","FORMAL_FR":null,"NAME_CIAWF":"Bhutan","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Bhutan","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":6,"MAPCOLOR9":1,"MAPCOLOR13":8,"POP_EST":763092,"POP_RANK":11,"POP_YEAR":2019,"GDP_MD":2530,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"4. Lower middle income","FIPS_10":"BT","ISO_A2":"BT","ISO_A2_EH":"BT","ISO_A3":"BTN","ISO_A3_EH":"BTN","ISO_N3":"064","ISO_N3_EH":"064","UN_A3":"064","WB_A2":"BT","WB_A3":"BTN","WOE_ID":23424770,"WOE_ID_EH":23424770,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BTN","ADM0_DIFF":null,"ADM0_TLC":"BTN","ADM0_A3_US":"BTN","ADM0_A3_FR":"BTN","ADM0_A3_RU":"BTN","ADM0_A3_ES":"BTN","ADM0_A3_CN":"BTN","ADM0_A3_TW":"BTN","ADM0_A3_IN":"BTN","ADM0_A3_NP":"BTN","ADM0_A3_PK":"BTN","ADM0_A3_DE":"BTN","ADM0_A3_GB":"BTN","ADM0_A3_BR":"BTN","ADM0_A3_IL":"BTN","ADM0_A3_PS":"BTN","ADM0_A3_SA":"BTN","ADM0_A3_EG":"BTN","ADM0_A3_MA":"BTN","ADM0_A3_PT":"BTN","ADM0_A3_AR":"BTN","ADM0_A3_JP":"BTN","ADM0_A3_KO":"BTN","ADM0_A3_VN":"BTN","ADM0_A3_TR":"BTN","ADM0_A3_ID":"BTN","ADM0_A3_PL":"BTN","ADM0_A3_GR":"BTN","ADM0_A3_IT":"BTN","ADM0_A3_NL":"BTN","ADM0_A3_SE":"BTN","ADM0_A3_BD":"BTN","ADM0_A3_UA":"BTN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Southern Asia","REGION_WB":"South Asia","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":90.040294,"LABEL_Y":27.536685,"NE_ID":1159320453,"WIKIDATAID":"Q917","NAME_AR":"بوتان","NAME_BN":"ভুটান","NAME_DE":"Bhutan","NAME_EN":"Bhutan","NAME_ES":"Bután","NAME_FA":"بوتان","NAME_FR":"Bhoutan","NAME_EL":"Μπουτάν","NAME_HE":"בהוטן","NAME_HI":"भूटान","NAME_HU":"Bhután","NAME_ID":"Bhutan","NAME_IT":"Bhutan","NAME_JA":"ブータン","NAME_KO":"부탄","NAME_NL":"Bhutan","NAME_PL":"Bhutan","NAME_PT":"Butão","NAME_RU":"Бутан","NAME_SV":"Bhutan","NAME_TR":"Bhutan","NAME_UK":"Бутан","NAME_UR":"بھوٹان","NAME_VI":"Bhutan","NAME_ZH":"不丹","NAME_ZHT":"不丹","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[88.814248,26.719403,92.103712,28.296439],"geometry":{"type":"Polygon","coordinates":[[[91.696657,27.771742],[92.103712,27.452614],[92.033484,26.83831],[91.217513,26.808648],[90.373275,26.875724],[89.744528,26.719403],[88.835643,27.098966],[88.814248,27.299316],[89.47581,28.042759],[90.015829,28.296439],[90.730514,28.064954],[91.258854,28.040614],[91.696657,27.771742]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Nepal","SOV_A3":"NPL","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Nepal","ADM0_A3":"NPL","GEOU_DIF":0,"GEOUNIT":"Nepal","GU_A3":"NPL","SU_DIF":0,"SUBUNIT":"Nepal","SU_A3":"NPL","BRK_DIFF":0,"NAME":"Nepal","NAME_LONG":"Nepal","BRK_A3":"NPL","BRK_NAME":"Nepal","BRK_GROUP":null,"ABBREV":"Nepal","POSTAL":"NP","FORMAL_EN":"Nepal","FORMAL_FR":null,"NAME_CIAWF":"Nepal","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Nepal","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":2,"MAPCOLOR9":3,"MAPCOLOR13":12,"POP_EST":28608710,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":30641,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"NP","ISO_A2":"NP","ISO_A2_EH":"NP","ISO_A3":"NPL","ISO_A3_EH":"NPL","ISO_N3":"524","ISO_N3_EH":"524","UN_A3":"524","WB_A2":"NP","WB_A3":"NPL","WOE_ID":23424911,"WOE_ID_EH":23424911,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"NPL","ADM0_DIFF":null,"ADM0_TLC":"NPL","ADM0_A3_US":"NPL","ADM0_A3_FR":"NPL","ADM0_A3_RU":"NPL","ADM0_A3_ES":"NPL","ADM0_A3_CN":"NPL","ADM0_A3_TW":"NPL","ADM0_A3_IN":"NPL","ADM0_A3_NP":"NPL","ADM0_A3_PK":"NPL","ADM0_A3_DE":"NPL","ADM0_A3_GB":"NPL","ADM0_A3_BR":"NPL","ADM0_A3_IL":"NPL","ADM0_A3_PS":"NPL","ADM0_A3_SA":"NPL","ADM0_A3_EG":"NPL","ADM0_A3_MA":"NPL","ADM0_A3_PT":"NPL","ADM0_A3_AR":"NPL","ADM0_A3_JP":"NPL","ADM0_A3_KO":"NPL","ADM0_A3_VN":"NPL","ADM0_A3_TR":"NPL","ADM0_A3_ID":"NPL","ADM0_A3_PL":"NPL","ADM0_A3_GR":"NPL","ADM0_A3_IT":"NPL","ADM0_A3_NL":"NPL","ADM0_A3_SE":"NPL","ADM0_A3_BD":"NPL","ADM0_A3_UA":"NPL","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Southern Asia","REGION_WB":"South Asia","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":83.639914,"LABEL_Y":28.297925,"NE_ID":1159321121,"WIKIDATAID":"Q837","NAME_AR":"نيبال","NAME_BN":"নেপাল","NAME_DE":"Nepal","NAME_EN":"Nepal","NAME_ES":"Nepal","NAME_FA":"نپال","NAME_FR":"Népal","NAME_EL":"Νεπάλ","NAME_HE":"נפאל","NAME_HI":"नेपाल","NAME_HU":"Nepál","NAME_ID":"Nepal","NAME_IT":"Nepal","NAME_JA":"ネパール","NAME_KO":"네팔","NAME_NL":"Nepal","NAME_PL":"Nepal","NAME_PT":"Nepal","NAME_RU":"Непал","NAME_SV":"Nepal","NAME_TR":"Nepal","NAME_UK":"Непал","NAME_UR":"نیپال","NAME_VI":"Nepal","NAME_ZH":"尼泊尔","NAME_ZHT":"尼泊爾","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[80.088425,26.397898,88.174804,30.422717],"geometry":{"type":"Polygon","coordinates":[[[88.120441,27.876542],[88.043133,27.445819],[88.174804,26.810405],[88.060238,26.414615],[87.227472,26.397898],[86.024393,26.630985],[85.251779,26.726198],[84.675018,27.234901],[83.304249,27.364506],[81.999987,27.925479],[81.057203,28.416095],[80.088425,28.79447],[80.476721,29.729865],[81.111256,30.183481],[81.525804,30.422717],[82.327513,30.115268],[83.337115,29.463732],[83.898993,29.320226],[84.23458,28.839894],[85.011638,28.642774],[85.82332,28.203576],[86.954517,27.974262],[88.120441,27.876542]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Pakistan","SOV_A3":"PAK","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Pakistan","ADM0_A3":"PAK","GEOU_DIF":0,"GEOUNIT":"Pakistan","GU_A3":"PAK","SU_DIF":0,"SUBUNIT":"Pakistan","SU_A3":"PAK","BRK_DIFF":0,"NAME":"Pakistan","NAME_LONG":"Pakistan","BRK_A3":"PAK","BRK_NAME":"Pakistan","BRK_GROUP":null,"ABBREV":"Pak.","POSTAL":"PK","FORMAL_EN":"Islamic Republic of Pakistan","FORMAL_FR":null,"NAME_CIAWF":"Pakistan","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Pakistan","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":2,"MAPCOLOR9":3,"MAPCOLOR13":11,"POP_EST":216565318,"POP_RANK":17,"POP_YEAR":2019,"GDP_MD":278221,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"4. Lower middle income","FIPS_10":"PK","ISO_A2":"PK","ISO_A2_EH":"PK","ISO_A3":"PAK","ISO_A3_EH":"PAK","ISO_N3":"586","ISO_N3_EH":"586","UN_A3":"586","WB_A2":"PK","WB_A3":"PAK","WOE_ID":23424922,"WOE_ID_EH":23424922,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"PAK","ADM0_DIFF":null,"ADM0_TLC":"PAK","ADM0_A3_US":"PAK","ADM0_A3_FR":"PAK","ADM0_A3_RU":"PAK","ADM0_A3_ES":"PAK","ADM0_A3_CN":"PAK","ADM0_A3_TW":"PAK","ADM0_A3_IN":"PAK","ADM0_A3_NP":"PAK","ADM0_A3_PK":"PAK","ADM0_A3_DE":"PAK","ADM0_A3_GB":"PAK","ADM0_A3_BR":"PAK","ADM0_A3_IL":"PAK","ADM0_A3_PS":"PAK","ADM0_A3_SA":"PAK","ADM0_A3_EG":"PAK","ADM0_A3_MA":"PAK","ADM0_A3_PT":"PAK","ADM0_A3_AR":"PAK","ADM0_A3_JP":"PAK","ADM0_A3_KO":"PAK","ADM0_A3_VN":"PAK","ADM0_A3_TR":"PAK","ADM0_A3_ID":"PAK","ADM0_A3_PL":"PAK","ADM0_A3_GR":"PAK","ADM0_A3_IT":"PAK","ADM0_A3_NL":"PAK","ADM0_A3_SE":"PAK","ADM0_A3_BD":"PAK","ADM0_A3_UA":"PAK","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Southern Asia","REGION_WB":"South Asia","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.7,"MAX_LABEL":7,"LABEL_X":68.545632,"LABEL_Y":29.328389,"NE_ID":1159321153,"WIKIDATAID":"Q843","NAME_AR":"باكستان","NAME_BN":"পাকিস্তান","NAME_DE":"Pakistan","NAME_EN":"Pakistan","NAME_ES":"Pakistán","NAME_FA":"پاکستان","NAME_FR":"Pakistan","NAME_EL":"Πακιστάν","NAME_HE":"פקיסטן","NAME_HI":"पाकिस्तान","NAME_HU":"Pakisztán","NAME_ID":"Pakistan","NAME_IT":"Pakistan","NAME_JA":"パキスタン","NAME_KO":"파키스탄","NAME_NL":"Pakistan","NAME_PL":"Pakistan","NAME_PT":"Paquistão","NAME_RU":"Пакистан","NAME_SV":"Pakistan","NAME_TR":"Pakistan","NAME_UK":"Пакистан","NAME_UR":"پاکستان","NAME_VI":"Pakistan","NAME_ZH":"巴基斯坦","NAME_ZHT":"巴基斯坦","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[60.874248,23.691965,77.837451,37.133031],"geometry":{"type":"Polygon","coordinates":[[[77.837451,35.49401],[76.871722,34.653544],[75.757061,34.504923],[74.240203,34.748887],[73.749948,34.317699],[74.104294,33.441473],[74.451559,32.7649],[75.258642,32.271105],[74.405929,31.692639],[74.42138,30.979815],[73.450638,29.976413],[72.823752,28.961592],[71.777666,27.91318],[70.616496,27.989196],[69.514393,26.940966],[70.168927,26.491872],[70.282873,25.722229],[70.844699,25.215102],[71.04324,24.356524],[68.842599,24.359134],[68.176645,23.691965],[67.443667,23.944844],[67.145442,24.663611],[66.372828,25.425141],[64.530408,25.237039],[62.905701,25.218409],[61.497363,25.078237],[61.874187,26.239975],[63.316632,26.756532],[63.233898,27.217047],[62.755426,27.378923],[62.72783,28.259645],[61.771868,28.699334],[61.369309,29.303276],[60.874248,29.829239],[62.549857,29.318572],[63.550261,29.468331],[64.148002,29.340819],[64.350419,29.560031],[65.046862,29.472181],[66.346473,29.887943],[66.381458,30.738899],[66.938891,31.304911],[67.683394,31.303154],[67.792689,31.58293],[68.556932,31.71331],[68.926677,31.620189],[69.317764,31.901412],[69.262522,32.501944],[69.687147,33.105499],[70.323594,33.358533],[69.930543,34.02012],[70.881803,33.988856],[71.156773,34.348911],[71.115019,34.733126],[71.613076,35.153203],[71.498768,35.650563],[71.262348,36.074388],[71.846292,36.509942],[72.920025,36.720007],[74.067552,36.836176],[74.575893,37.020841],[75.158028,37.133031],[75.896897,36.666806],[76.192848,35.898403],[77.837451,35.49401]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Afghanistan","SOV_A3":"AFG","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Afghanistan","ADM0_A3":"AFG","GEOU_DIF":0,"GEOUNIT":"Afghanistan","GU_A3":"AFG","SU_DIF":0,"SUBUNIT":"Afghanistan","SU_A3":"AFG","BRK_DIFF":0,"NAME":"Afghanistan","NAME_LONG":"Afghanistan","BRK_A3":"AFG","BRK_NAME":"Afghanistan","BRK_GROUP":null,"ABBREV":"Afg.","POSTAL":"AF","FORMAL_EN":"Islamic State of Afghanistan","FORMAL_FR":null,"NAME_CIAWF":"Afghanistan","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Afghanistan","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":6,"MAPCOLOR9":8,"MAPCOLOR13":7,"POP_EST":38041754,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":19291,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"AF","ISO_A2":"AF","ISO_A2_EH":"AF","ISO_A3":"AFG","ISO_A3_EH":"AFG","ISO_N3":"004","ISO_N3_EH":"004","UN_A3":"004","WB_A2":"AF","WB_A3":"AFG","WOE_ID":23424739,"WOE_ID_EH":23424739,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"AFG","ADM0_DIFF":null,"ADM0_TLC":"AFG","ADM0_A3_US":"AFG","ADM0_A3_FR":"AFG","ADM0_A3_RU":"AFG","ADM0_A3_ES":"AFG","ADM0_A3_CN":"AFG","ADM0_A3_TW":"AFG","ADM0_A3_IN":"AFG","ADM0_A3_NP":"AFG","ADM0_A3_PK":"AFG","ADM0_A3_DE":"AFG","ADM0_A3_GB":"AFG","ADM0_A3_BR":"AFG","ADM0_A3_IL":"AFG","ADM0_A3_PS":"AFG","ADM0_A3_SA":"AFG","ADM0_A3_EG":"AFG","ADM0_A3_MA":"AFG","ADM0_A3_PT":"AFG","ADM0_A3_AR":"AFG","ADM0_A3_JP":"AFG","ADM0_A3_KO":"AFG","ADM0_A3_VN":"AFG","ADM0_A3_TR":"AFG","ADM0_A3_ID":"AFG","ADM0_A3_PL":"AFG","ADM0_A3_GR":"AFG","ADM0_A3_IT":"AFG","ADM0_A3_NL":"AFG","ADM0_A3_SE":"AFG","ADM0_A3_BD":"AFG","ADM0_A3_UA":"AFG","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Southern Asia","REGION_WB":"South Asia","NAME_LEN":11,"LONG_LEN":11,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":7,"LABEL_X":66.496586,"LABEL_Y":34.164262,"NE_ID":1159320319,"WIKIDATAID":"Q889","NAME_AR":"أفغانستان","NAME_BN":"আফগানিস্তান","NAME_DE":"Afghanistan","NAME_EN":"Afghanistan","NAME_ES":"Afganistán","NAME_FA":"افغانستان","NAME_FR":"Afghanistan","NAME_EL":"Αφγανιστάν","NAME_HE":"אפגניסטן","NAME_HI":"अफ़्गानिस्तान","NAME_HU":"Afganisztán","NAME_ID":"Afganistan","NAME_IT":"Afghanistan","NAME_JA":"アフガニスタン","NAME_KO":"아프가니스탄","NAME_NL":"Afghanistan","NAME_PL":"Afganistan","NAME_PT":"Afeganistão","NAME_RU":"Афганистан","NAME_SV":"Afghanistan","NAME_TR":"Afganistan","NAME_UK":"Афганістан","NAME_UR":"افغانستان","NAME_VI":"Afghanistan","NAME_ZH":"阿富汗","NAME_ZHT":"阿富汗","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[60.52843,29.318572,75.158028,38.486282],"geometry":{"type":"Polygon","coordinates":[[[66.518607,37.362784],[67.075782,37.356144],[67.83,37.144994],[68.135562,37.023115],[68.859446,37.344336],[69.196273,37.151144],[69.518785,37.608997],[70.116578,37.588223],[70.270574,37.735165],[70.376304,38.138396],[70.806821,38.486282],[71.348131,38.258905],[71.239404,37.953265],[71.541918,37.905774],[71.448693,37.065645],[71.844638,36.738171],[72.193041,36.948288],[72.63689,37.047558],[73.260056,37.495257],[73.948696,37.421566],[74.980002,37.41999],[75.158028,37.133031],[74.575893,37.020841],[74.067552,36.836176],[72.920025,36.720007],[71.846292,36.509942],[71.262348,36.074388],[71.498768,35.650563],[71.613076,35.153203],[71.115019,34.733126],[71.156773,34.348911],[70.881803,33.988856],[69.930543,34.02012],[70.323594,33.358533],[69.687147,33.105499],[69.262522,32.501944],[69.317764,31.901412],[68.926677,31.620189],[68.556932,31.71331],[67.792689,31.58293],[67.683394,31.303154],[66.938891,31.304911],[66.381458,30.738899],[66.346473,29.887943],[65.046862,29.472181],[64.350419,29.560031],[64.148002,29.340819],[63.550261,29.468331],[62.549857,29.318572],[60.874248,29.829239],[61.781222,30.73585],[61.699314,31.379506],[60.941945,31.548075],[60.863655,32.18292],[60.536078,32.981269],[60.9637,33.528832],[60.52843,33.676446],[60.803193,34.404102],[61.210817,35.650072],[62.230651,35.270664],[62.984662,35.404041],[63.193538,35.857166],[63.982896,36.007957],[64.546479,36.312073],[64.746105,37.111818],[65.588948,37.305217],[65.745631,37.661164],[66.217385,37.39379],[66.518607,37.362784]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Tajikistan","SOV_A3":"TJK","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Tajikistan","ADM0_A3":"TJK","GEOU_DIF":0,"GEOUNIT":"Tajikistan","GU_A3":"TJK","SU_DIF":0,"SUBUNIT":"Tajikistan","SU_A3":"TJK","BRK_DIFF":0,"NAME":"Tajikistan","NAME_LONG":"Tajikistan","BRK_A3":"TJK","BRK_NAME":"Tajikistan","BRK_GROUP":null,"ABBREV":"Tjk.","POSTAL":"TJ","FORMAL_EN":"Republic of Tajikistan","FORMAL_FR":null,"NAME_CIAWF":"Tajikistan","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Tajikistan","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":6,"MAPCOLOR9":2,"MAPCOLOR13":5,"POP_EST":9321018,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":8116,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"5. Low income","FIPS_10":"TI","ISO_A2":"TJ","ISO_A2_EH":"TJ","ISO_A3":"TJK","ISO_A3_EH":"TJK","ISO_N3":"762","ISO_N3_EH":"762","UN_A3":"762","WB_A2":"TJ","WB_A3":"TJK","WOE_ID":23424961,"WOE_ID_EH":23424961,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"TJK","ADM0_DIFF":null,"ADM0_TLC":"TJK","ADM0_A3_US":"TJK","ADM0_A3_FR":"TJK","ADM0_A3_RU":"TJK","ADM0_A3_ES":"TJK","ADM0_A3_CN":"TJK","ADM0_A3_TW":"TJK","ADM0_A3_IN":"TJK","ADM0_A3_NP":"TJK","ADM0_A3_PK":"TJK","ADM0_A3_DE":"TJK","ADM0_A3_GB":"TJK","ADM0_A3_BR":"TJK","ADM0_A3_IL":"TJK","ADM0_A3_PS":"TJK","ADM0_A3_SA":"TJK","ADM0_A3_EG":"TJK","ADM0_A3_MA":"TJK","ADM0_A3_PT":"TJK","ADM0_A3_AR":"TJK","ADM0_A3_JP":"TJK","ADM0_A3_KO":"TJK","ADM0_A3_VN":"TJK","ADM0_A3_TR":"TJK","ADM0_A3_ID":"TJK","ADM0_A3_PL":"TJK","ADM0_A3_GR":"TJK","ADM0_A3_IT":"TJK","ADM0_A3_NL":"TJK","ADM0_A3_SE":"TJK","ADM0_A3_BD":"TJK","ADM0_A3_UA":"TJK","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Central Asia","REGION_WB":"Europe & Central Asia","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":72.587276,"LABEL_Y":38.199835,"NE_ID":1159321307,"WIKIDATAID":"Q863","NAME_AR":"طاجيكستان","NAME_BN":"তাজিকিস্তান","NAME_DE":"Tadschikistan","NAME_EN":"Tajikistan","NAME_ES":"Tayikistán","NAME_FA":"تاجیکستان","NAME_FR":"Tadjikistan","NAME_EL":"Τατζικιστάν","NAME_HE":"טג׳יקיסטן","NAME_HI":"ताजिकिस्तान","NAME_HU":"Tádzsikisztán","NAME_ID":"Tajikistan","NAME_IT":"Tagikistan","NAME_JA":"タジキスタン","NAME_KO":"타지키스탄","NAME_NL":"Tadzjikistan","NAME_PL":"Tadżykistan","NAME_PT":"Tajiquistão","NAME_RU":"Таджикистан","NAME_SV":"Tadzjikistan","NAME_TR":"Tacikistan","NAME_UK":"Таджикистан","NAME_UR":"تاجکستان","NAME_VI":"Tajikistan","NAME_ZH":"塔吉克斯坦","NAME_ZHT":"塔吉克","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[67.44222,36.738171,74.980002,40.960213],"geometry":{"type":"Polygon","coordinates":[[[67.83,37.144994],[68.392033,38.157025],[68.176025,38.901553],[67.44222,39.140144],[67.701429,39.580478],[68.536416,39.533453],[69.011633,40.086158],[69.329495,40.727824],[70.666622,40.960213],[70.45816,40.496495],[70.601407,40.218527],[71.014198,40.244366],[70.648019,39.935754],[69.55961,40.103211],[69.464887,39.526683],[70.549162,39.604198],[71.784694,39.279463],[73.675379,39.431237],[73.928852,38.505815],[74.257514,38.606507],[74.864816,38.378846],[74.829986,37.990007],[74.980002,37.41999],[73.948696,37.421566],[73.260056,37.495257],[72.63689,37.047558],[72.193041,36.948288],[71.844638,36.738171],[71.448693,37.065645],[71.541918,37.905774],[71.239404,37.953265],[71.348131,38.258905],[70.806821,38.486282],[70.376304,38.138396],[70.270574,37.735165],[70.116578,37.588223],[69.518785,37.608997],[69.196273,37.151144],[68.859446,37.344336],[68.135562,37.023115],[67.83,37.144994]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Kyrgyzstan","SOV_A3":"KGZ","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Kyrgyzstan","ADM0_A3":"KGZ","GEOU_DIF":0,"GEOUNIT":"Kyrgyzstan","GU_A3":"KGZ","SU_DIF":0,"SUBUNIT":"Kyrgyzstan","SU_A3":"KGZ","BRK_DIFF":0,"NAME":"Kyrgyzstan","NAME_LONG":"Kyrgyzstan","BRK_A3":"KGZ","BRK_NAME":"Kyrgyzstan","BRK_GROUP":null,"ABBREV":"Kgz.","POSTAL":"KG","FORMAL_EN":"Kyrgyz Republic","FORMAL_FR":null,"NAME_CIAWF":"Kyrgyzstan","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Kyrgyz Republic","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":7,"MAPCOLOR9":7,"MAPCOLOR13":6,"POP_EST":6456900,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":8454,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"5. Low income","FIPS_10":"KG","ISO_A2":"KG","ISO_A2_EH":"KG","ISO_A3":"KGZ","ISO_A3_EH":"KGZ","ISO_N3":"417","ISO_N3_EH":"417","UN_A3":"417","WB_A2":"KG","WB_A3":"KGZ","WOE_ID":23424864,"WOE_ID_EH":23424864,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"KGZ","ADM0_DIFF":null,"ADM0_TLC":"KGZ","ADM0_A3_US":"KGZ","ADM0_A3_FR":"KGZ","ADM0_A3_RU":"KGZ","ADM0_A3_ES":"KGZ","ADM0_A3_CN":"KGZ","ADM0_A3_TW":"KGZ","ADM0_A3_IN":"KGZ","ADM0_A3_NP":"KGZ","ADM0_A3_PK":"KGZ","ADM0_A3_DE":"KGZ","ADM0_A3_GB":"KGZ","ADM0_A3_BR":"KGZ","ADM0_A3_IL":"KGZ","ADM0_A3_PS":"KGZ","ADM0_A3_SA":"KGZ","ADM0_A3_EG":"KGZ","ADM0_A3_MA":"KGZ","ADM0_A3_PT":"KGZ","ADM0_A3_AR":"KGZ","ADM0_A3_JP":"KGZ","ADM0_A3_KO":"KGZ","ADM0_A3_VN":"KGZ","ADM0_A3_TR":"KGZ","ADM0_A3_ID":"KGZ","ADM0_A3_PL":"KGZ","ADM0_A3_GR":"KGZ","ADM0_A3_IT":"KGZ","ADM0_A3_NL":"KGZ","ADM0_A3_SE":"KGZ","ADM0_A3_BD":"KGZ","ADM0_A3_UA":"KGZ","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Central Asia","REGION_WB":"Europe & Central Asia","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":74.532637,"LABEL_Y":41.66854,"NE_ID":1159320977,"WIKIDATAID":"Q813","NAME_AR":"قيرغيزستان","NAME_BN":"কিরগিজস্তান","NAME_DE":"Kirgisistan","NAME_EN":"Kyrgyzstan","NAME_ES":"Kirguistán","NAME_FA":"قرقیزستان","NAME_FR":"Kirghizistan","NAME_EL":"Κιργιζία","NAME_HE":"קירגיזסטן","NAME_HI":"किर्गिज़स्तान","NAME_HU":"Kirgizisztán","NAME_ID":"Kirgizstan","NAME_IT":"Kirghizistan","NAME_JA":"キルギス","NAME_KO":"키르기스스탄","NAME_NL":"Kirgizië","NAME_PL":"Kirgistan","NAME_PT":"Quirguistão","NAME_RU":"Киргизия","NAME_SV":"Kirgizistan","NAME_TR":"Kırgızistan","NAME_UK":"Киргизстан","NAME_UR":"کرغیزستان","NAME_VI":"Kyrgyzstan","NAME_ZH":"吉尔吉斯斯坦","NAME_ZHT":"吉爾吉斯","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[69.464887,39.279463,80.25999,43.298339],"geometry":{"type":"Polygon","coordinates":[[[70.962315,42.266154],[71.186281,42.704293],[71.844638,42.845395],[73.489758,42.500894],[73.645304,43.091272],[74.212866,43.298339],[75.636965,42.8779],[76.000354,42.988022],[77.658392,42.960686],[79.142177,42.856092],[79.643645,42.496683],[80.25999,42.349999],[80.11943,42.123941],[78.543661,41.582243],[78.187197,41.185316],[76.904484,41.066486],[76.526368,40.427946],[75.467828,40.562072],[74.776862,40.366425],[73.822244,39.893973],[73.960013,39.660008],[73.675379,39.431237],[71.784694,39.279463],[70.549162,39.604198],[69.464887,39.526683],[69.55961,40.103211],[70.648019,39.935754],[71.014198,40.244366],[71.774875,40.145844],[73.055417,40.866033],[71.870115,41.3929],[71.157859,41.143587],[70.420022,41.519998],[71.259248,42.167711],[70.962315,42.266154]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Turkmenistan","SOV_A3":"TKM","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Turkmenistan","ADM0_A3":"TKM","GEOU_DIF":0,"GEOUNIT":"Turkmenistan","GU_A3":"TKM","SU_DIF":0,"SUBUNIT":"Turkmenistan","SU_A3":"TKM","BRK_DIFF":0,"NAME":"Turkmenistan","NAME_LONG":"Turkmenistan","BRK_A3":"TKM","BRK_NAME":"Turkmenistan","BRK_GROUP":null,"ABBREV":"Turkm.","POSTAL":"TM","FORMAL_EN":"Turkmenistan","FORMAL_FR":null,"NAME_CIAWF":"Turkmenistan","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Turkmenistan","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":2,"MAPCOLOR9":1,"MAPCOLOR13":9,"POP_EST":5942089,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":40761,"GDP_YEAR":2018,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"TX","ISO_A2":"TM","ISO_A2_EH":"TM","ISO_A3":"TKM","ISO_A3_EH":"TKM","ISO_N3":"795","ISO_N3_EH":"795","UN_A3":"795","WB_A2":"TM","WB_A3":"TKM","WOE_ID":23424972,"WOE_ID_EH":23424972,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"TKM","ADM0_DIFF":null,"ADM0_TLC":"TKM","ADM0_A3_US":"TKM","ADM0_A3_FR":"TKM","ADM0_A3_RU":"TKM","ADM0_A3_ES":"TKM","ADM0_A3_CN":"TKM","ADM0_A3_TW":"TKM","ADM0_A3_IN":"TKM","ADM0_A3_NP":"TKM","ADM0_A3_PK":"TKM","ADM0_A3_DE":"TKM","ADM0_A3_GB":"TKM","ADM0_A3_BR":"TKM","ADM0_A3_IL":"TKM","ADM0_A3_PS":"TKM","ADM0_A3_SA":"TKM","ADM0_A3_EG":"TKM","ADM0_A3_MA":"TKM","ADM0_A3_PT":"TKM","ADM0_A3_AR":"TKM","ADM0_A3_JP":"TKM","ADM0_A3_KO":"TKM","ADM0_A3_VN":"TKM","ADM0_A3_TR":"TKM","ADM0_A3_ID":"TKM","ADM0_A3_PL":"TKM","ADM0_A3_GR":"TKM","ADM0_A3_IT":"TKM","ADM0_A3_NL":"TKM","ADM0_A3_SE":"TKM","ADM0_A3_BD":"TKM","ADM0_A3_UA":"TKM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Central Asia","REGION_WB":"Europe & Central Asia","NAME_LEN":12,"LONG_LEN":12,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":58.676647,"LABEL_Y":39.855246,"NE_ID":1159321309,"WIKIDATAID":"Q874","NAME_AR":"تركمانستان","NAME_BN":"তুর্কমেনিস্তান","NAME_DE":"Turkmenistan","NAME_EN":"Turkmenistan","NAME_ES":"Turkmenistán","NAME_FA":"ترکمنستان","NAME_FR":"Turkménistan","NAME_EL":"Τουρκμενιστάν","NAME_HE":"טורקמניסטן","NAME_HI":"तुर्कमेनिस्तान","NAME_HU":"Türkmenisztán","NAME_ID":"Turkmenistan","NAME_IT":"Turkmenistan","NAME_JA":"トルクメニスタン","NAME_KO":"투르크메니스탄","NAME_NL":"Turkmenistan","NAME_PL":"Turkmenistan","NAME_PT":"Turquemenistão","NAME_RU":"Туркмения","NAME_SV":"Turkmenistan","NAME_TR":"Türkmenistan","NAME_UK":"Туркменістан","NAME_UR":"ترکمانستان","NAME_VI":"Turkmenistan","NAME_ZH":"土库曼斯坦","NAME_ZHT":"土庫曼","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[52.50246,35.270664,66.54615,42.751551],"geometry":{"type":"Polygon","coordinates":[[[52.50246,41.783316],[52.944293,42.116034],[54.079418,42.324109],[54.755345,42.043971],[55.455251,41.259859],[55.968191,41.308642],[57.096391,41.32231],[56.932215,41.826026],[57.78653,42.170553],[58.629011,42.751551],[59.976422,42.223082],[60.083341,41.425146],[60.465953,41.220327],[61.547179,41.26637],[61.882714,41.084857],[62.37426,40.053886],[63.518015,39.363257],[64.170223,38.892407],[65.215999,38.402695],[66.54615,37.974685],[66.518607,37.362784],[66.217385,37.39379],[65.745631,37.661164],[65.588948,37.305217],[64.746105,37.111818],[64.546479,36.312073],[63.982896,36.007957],[63.193538,35.857166],[62.984662,35.404041],[62.230651,35.270664],[61.210817,35.650072],[61.123071,36.491597],[60.377638,36.527383],[59.234762,37.412988],[58.436154,37.522309],[57.330434,38.029229],[56.619366,38.121394],[56.180375,37.935127],[55.511578,37.964117],[54.800304,37.392421],[53.921598,37.198918],[53.735511,37.906136],[53.880929,38.952093],[53.101028,39.290574],[53.357808,39.975286],[52.693973,40.033629],[52.915251,40.876523],[53.858139,40.631034],[54.736845,40.951015],[54.008311,41.551211],[53.721713,42.123191],[52.91675,41.868117],[52.814689,41.135371],[52.50246,41.783316]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Iran","SOV_A3":"IRN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Iran","ADM0_A3":"IRN","GEOU_DIF":0,"GEOUNIT":"Iran","GU_A3":"IRN","SU_DIF":0,"SUBUNIT":"Iran","SU_A3":"IRN","BRK_DIFF":0,"NAME":"Iran","NAME_LONG":"Iran","BRK_A3":"IRN","BRK_NAME":"Iran","BRK_GROUP":null,"ABBREV":"Iran","POSTAL":"IRN","FORMAL_EN":"Islamic Republic of Iran","FORMAL_FR":null,"NAME_CIAWF":"Iran","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Iran, Islamic Rep.","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":3,"MAPCOLOR9":4,"MAPCOLOR13":13,"POP_EST":82913906,"POP_RANK":16,"POP_YEAR":2019,"GDP_MD":453996,"GDP_YEAR":2018,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"3. Upper middle income","FIPS_10":"IR","ISO_A2":"IR","ISO_A2_EH":"IR","ISO_A3":"IRN","ISO_A3_EH":"IRN","ISO_N3":"364","ISO_N3_EH":"364","UN_A3":"364","WB_A2":"IR","WB_A3":"IRN","WOE_ID":23424851,"WOE_ID_EH":23424851,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"IRN","ADM0_DIFF":null,"ADM0_TLC":"IRN","ADM0_A3_US":"IRN","ADM0_A3_FR":"IRN","ADM0_A3_RU":"IRN","ADM0_A3_ES":"IRN","ADM0_A3_CN":"IRN","ADM0_A3_TW":"IRN","ADM0_A3_IN":"IRN","ADM0_A3_NP":"IRN","ADM0_A3_PK":"IRN","ADM0_A3_DE":"IRN","ADM0_A3_GB":"IRN","ADM0_A3_BR":"IRN","ADM0_A3_IL":"IRN","ADM0_A3_PS":"IRN","ADM0_A3_SA":"IRN","ADM0_A3_EG":"IRN","ADM0_A3_MA":"IRN","ADM0_A3_PT":"IRN","ADM0_A3_AR":"IRN","ADM0_A3_JP":"IRN","ADM0_A3_KO":"IRN","ADM0_A3_VN":"IRN","ADM0_A3_TR":"IRN","ADM0_A3_ID":"IRN","ADM0_A3_PL":"IRN","ADM0_A3_GR":"IRN","ADM0_A3_IT":"IRN","ADM0_A3_NL":"IRN","ADM0_A3_SE":"IRN","ADM0_A3_BD":"IRN","ADM0_A3_UA":"IRN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Southern Asia","REGION_WB":"Middle East & North Africa","NAME_LEN":4,"LONG_LEN":4,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.5,"MAX_LABEL":6.7,"LABEL_X":54.931495,"LABEL_Y":32.166225,"NE_ID":1159320881,"WIKIDATAID":"Q794","NAME_AR":"إيران","NAME_BN":"ইরান","NAME_DE":"Iran","NAME_EN":"Iran","NAME_ES":"Irán","NAME_FA":"ایران","NAME_FR":"Iran","NAME_EL":"Ιράν","NAME_HE":"איראן","NAME_HI":"ईरान","NAME_HU":"Irán","NAME_ID":"Iran","NAME_IT":"Iran","NAME_JA":"イラン","NAME_KO":"이란","NAME_NL":"Iran","NAME_PL":"Iran","NAME_PT":"Irão","NAME_RU":"Иран","NAME_SV":"Iran","NAME_TR":"İran","NAME_UK":"Іран","NAME_UR":"ایران","NAME_VI":"Iran","NAME_ZH":"伊朗","NAME_ZHT":"伊朗","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[44.109225,25.078237,63.316632,39.713003],"geometry":{"type":"Polygon","coordinates":[[[48.567971,29.926778],[48.014568,30.452457],[48.004698,30.985137],[47.685286,30.984853],[47.849204,31.709176],[47.334661,32.469155],[46.109362,33.017287],[45.416691,33.967798],[45.64846,34.748138],[46.151788,35.093259],[46.07634,35.677383],[45.420618,35.977546],[44.772677,37.170437],[44.77267,37.17045],[44.225756,37.971584],[44.421403,38.281281],[44.109225,39.428136],[44.79399,39.713003],[44.952688,39.335765],[45.457722,38.874139],[46.143623,38.741201],[46.50572,38.770605],[47.685079,39.508364],[48.060095,39.582235],[48.355529,39.288765],[48.010744,38.794015],[48.634375,38.270378],[48.883249,38.320245],[49.199612,37.582874],[50.147771,37.374567],[50.842354,36.872814],[52.264025,36.700422],[53.82579,36.965031],[53.921598,37.198918],[54.800304,37.392421],[55.511578,37.964117],[56.180375,37.935127],[56.619366,38.121394],[57.330434,38.029229],[58.436154,37.522309],[59.234762,37.412988],[60.377638,36.527383],[61.123071,36.491597],[61.210817,35.650072],[60.803193,34.404102],[60.52843,33.676446],[60.9637,33.528832],[60.536078,32.981269],[60.863655,32.18292],[60.941945,31.548075],[61.699314,31.379506],[61.781222,30.73585],[60.874248,29.829239],[61.369309,29.303276],[61.771868,28.699334],[62.72783,28.259645],[62.755426,27.378923],[63.233898,27.217047],[63.316632,26.756532],[61.874187,26.239975],[61.497363,25.078237],[59.616134,25.380157],[58.525761,25.609962],[57.397251,25.739902],[56.970766,26.966106],[56.492139,27.143305],[55.72371,26.964633],[54.71509,26.480658],[53.493097,26.812369],[52.483598,27.580849],[51.520763,27.86569],[50.852948,28.814521],[50.115009,30.147773],[49.57685,29.985715],[48.941333,30.31709],[48.567971,29.926778]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Syria","SOV_A3":"SYR","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Syria","ADM0_A3":"SYR","GEOU_DIF":0,"GEOUNIT":"Syria","GU_A3":"SYR","SU_DIF":0,"SUBUNIT":"Syria","SU_A3":"SYR","BRK_DIFF":0,"NAME":"Syria","NAME_LONG":"Syria","BRK_A3":"SYR","BRK_NAME":"Syria","BRK_GROUP":null,"ABBREV":"Syria","POSTAL":"SYR","FORMAL_EN":"Syrian Arab Republic","FORMAL_FR":null,"NAME_CIAWF":"Syria","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Syrian Arab Republic","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":6,"MAPCOLOR9":2,"MAPCOLOR13":6,"POP_EST":17070135,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":98830,"GDP_YEAR":2015,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"SY","ISO_A2":"SY","ISO_A2_EH":"SY","ISO_A3":"SYR","ISO_A3_EH":"SYR","ISO_N3":"760","ISO_N3_EH":"760","UN_A3":"760","WB_A2":"SY","WB_A3":"SYR","WOE_ID":23424956,"WOE_ID_EH":23424956,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"SYR","ADM0_DIFF":null,"ADM0_TLC":"SYR","ADM0_A3_US":"SYR","ADM0_A3_FR":"SYR","ADM0_A3_RU":"SYR","ADM0_A3_ES":"SYR","ADM0_A3_CN":"SYR","ADM0_A3_TW":"SYR","ADM0_A3_IN":"SYR","ADM0_A3_NP":"SYR","ADM0_A3_PK":"SYR","ADM0_A3_DE":"SYR","ADM0_A3_GB":"SYR","ADM0_A3_BR":"SYR","ADM0_A3_IL":"SYR","ADM0_A3_PS":"SYR","ADM0_A3_SA":"SYR","ADM0_A3_EG":"SYR","ADM0_A3_MA":"SYR","ADM0_A3_PT":"SYR","ADM0_A3_AR":"SYR","ADM0_A3_JP":"SYR","ADM0_A3_KO":"SYR","ADM0_A3_VN":"SYR","ADM0_A3_TR":"SYR","ADM0_A3_ID":"SYR","ADM0_A3_PL":"SYR","ADM0_A3_GR":"SYR","ADM0_A3_IT":"SYR","ADM0_A3_NL":"SYR","ADM0_A3_SE":"SYR","ADM0_A3_BD":"SYR","ADM0_A3_UA":"SYR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Middle East & North Africa","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":38.277783,"LABEL_Y":35.006636,"NE_ID":1159321295,"WIKIDATAID":"Q858","NAME_AR":"سوريا","NAME_BN":"সিরিয়া","NAME_DE":"Syrien","NAME_EN":"Syria","NAME_ES":"Siria","NAME_FA":"سوریه","NAME_FR":"Syrie","NAME_EL":"Συρία","NAME_HE":"סוריה","NAME_HI":"सीरिया","NAME_HU":"Szíria","NAME_ID":"Suriah","NAME_IT":"Siria","NAME_JA":"シリア","NAME_KO":"시리아","NAME_NL":"Syrië","NAME_PL":"Syria","NAME_PT":"Síria","NAME_RU":"Сирия","NAME_SV":"Syrien","NAME_TR":"Suriye","NAME_UK":"Сирія","NAME_UR":"سوریہ","NAME_VI":"Syria","NAME_ZH":"叙利亚","NAME_ZHT":"敘利亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[35.700798,32.312938,42.349591,37.229873],"geometry":{"type":"Polygon","coordinates":[[[35.719918,32.709192],[35.700798,32.716014],[35.836397,32.868123],[35.821101,33.277426],[36.06646,33.824912],[36.61175,34.201789],[36.448194,34.593935],[35.998403,34.644914],[35.905023,35.410009],[36.149763,35.821535],[36.41755,36.040617],[36.685389,36.259699],[36.739494,36.81752],[37.066761,36.623036],[38.167727,36.90121],[38.699891,36.712927],[39.52258,36.716054],[40.673259,37.091276],[41.212089,37.074352],[42.349591,37.229873],[41.837064,36.605854],[41.289707,36.358815],[41.383965,35.628317],[41.006159,34.419372],[38.792341,33.378686],[36.834062,32.312938],[35.719918,32.709192]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Armenia","SOV_A3":"ARM","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Armenia","ADM0_A3":"ARM","GEOU_DIF":0,"GEOUNIT":"Armenia","GU_A3":"ARM","SU_DIF":0,"SUBUNIT":"Armenia","SU_A3":"ARM","BRK_DIFF":0,"NAME":"Armenia","NAME_LONG":"Armenia","BRK_A3":"ARM","BRK_NAME":"Armenia","BRK_GROUP":null,"ABBREV":"Arm.","POSTAL":"ARM","FORMAL_EN":"Republic of Armenia","FORMAL_FR":null,"NAME_CIAWF":"Armenia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Armenia","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":1,"MAPCOLOR9":2,"MAPCOLOR13":10,"POP_EST":2957731,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":13672,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"AM","ISO_A2":"AM","ISO_A2_EH":"AM","ISO_A3":"ARM","ISO_A3_EH":"ARM","ISO_N3":"051","ISO_N3_EH":"051","UN_A3":"051","WB_A2":"AM","WB_A3":"ARM","WOE_ID":23424743,"WOE_ID_EH":23424743,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ARM","ADM0_DIFF":null,"ADM0_TLC":"ARM","ADM0_A3_US":"ARM","ADM0_A3_FR":"ARM","ADM0_A3_RU":"ARM","ADM0_A3_ES":"ARM","ADM0_A3_CN":"ARM","ADM0_A3_TW":"ARM","ADM0_A3_IN":"ARM","ADM0_A3_NP":"ARM","ADM0_A3_PK":"ARM","ADM0_A3_DE":"ARM","ADM0_A3_GB":"ARM","ADM0_A3_BR":"ARM","ADM0_A3_IL":"ARM","ADM0_A3_PS":"ARM","ADM0_A3_SA":"ARM","ADM0_A3_EG":"ARM","ADM0_A3_MA":"ARM","ADM0_A3_PT":"ARM","ADM0_A3_AR":"ARM","ADM0_A3_JP":"ARM","ADM0_A3_KO":"ARM","ADM0_A3_VN":"ARM","ADM0_A3_TR":"ARM","ADM0_A3_ID":"ARM","ADM0_A3_PL":"ARM","ADM0_A3_GR":"ARM","ADM0_A3_IT":"ARM","ADM0_A3_NL":"ARM","ADM0_A3_SE":"ARM","ADM0_A3_BD":"ARM","ADM0_A3_UA":"ARM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":44.800564,"LABEL_Y":40.459077,"NE_ID":1159320333,"WIKIDATAID":"Q399","NAME_AR":"أرمينيا","NAME_BN":"আর্মেনিয়া","NAME_DE":"Armenien","NAME_EN":"Armenia","NAME_ES":"Armenia","NAME_FA":"ارمنستان","NAME_FR":"Arménie","NAME_EL":"Αρμενία","NAME_HE":"ארמניה","NAME_HI":"आर्मीनिया","NAME_HU":"Örményország","NAME_ID":"Armenia","NAME_IT":"Armenia","NAME_JA":"アルメニア","NAME_KO":"아르메니아","NAME_NL":"Armenië","NAME_PL":"Armenia","NAME_PT":"Arménia","NAME_RU":"Армения","NAME_SV":"Armenien","NAME_TR":"Ermenistan","NAME_UK":"Вірменія","NAME_UR":"آرمینیا","NAME_VI":"Armenia","NAME_ZH":"亚美尼亚","NAME_ZHT":"亞美尼亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[43.582746,38.741201,46.50572,41.248129],"geometry":{"type":"Polygon","coordinates":[[[46.50572,38.770605],[46.143623,38.741201],[45.735379,39.319719],[45.739978,39.473999],[45.298145,39.471751],[45.001987,39.740004],[44.79399,39.713003],[44.400009,40.005],[43.656436,40.253564],[43.752658,40.740201],[43.582746,41.092143],[44.97248,41.248129],[45.179496,40.985354],[45.560351,40.81229],[45.359175,40.561504],[45.891907,40.218476],[45.610012,39.899994],[46.034534,39.628021],[46.483499,39.464155],[46.50572,38.770605]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Sweden","SOV_A3":"SWE","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Sweden","ADM0_A3":"SWE","GEOU_DIF":0,"GEOUNIT":"Sweden","GU_A3":"SWE","SU_DIF":0,"SUBUNIT":"Sweden","SU_A3":"SWE","BRK_DIFF":0,"NAME":"Sweden","NAME_LONG":"Sweden","BRK_A3":"SWE","BRK_NAME":"Sweden","BRK_GROUP":null,"ABBREV":"Swe.","POSTAL":"S","FORMAL_EN":"Kingdom of Sweden","FORMAL_FR":null,"NAME_CIAWF":"Sweden","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Sweden","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":2,"MAPCOLOR13":4,"POP_EST":10285453,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":530883,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"SW","ISO_A2":"SE","ISO_A2_EH":"SE","ISO_A3":"SWE","ISO_A3_EH":"SWE","ISO_N3":"752","ISO_N3_EH":"752","UN_A3":"752","WB_A2":"SE","WB_A3":"SWE","WOE_ID":23424954,"WOE_ID_EH":23424954,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"SWE","ADM0_DIFF":null,"ADM0_TLC":"SWE","ADM0_A3_US":"SWE","ADM0_A3_FR":"SWE","ADM0_A3_RU":"SWE","ADM0_A3_ES":"SWE","ADM0_A3_CN":"SWE","ADM0_A3_TW":"SWE","ADM0_A3_IN":"SWE","ADM0_A3_NP":"SWE","ADM0_A3_PK":"SWE","ADM0_A3_DE":"SWE","ADM0_A3_GB":"SWE","ADM0_A3_BR":"SWE","ADM0_A3_IL":"SWE","ADM0_A3_PS":"SWE","ADM0_A3_SA":"SWE","ADM0_A3_EG":"SWE","ADM0_A3_MA":"SWE","ADM0_A3_PT":"SWE","ADM0_A3_AR":"SWE","ADM0_A3_JP":"SWE","ADM0_A3_KO":"SWE","ADM0_A3_VN":"SWE","ADM0_A3_TR":"SWE","ADM0_A3_ID":"SWE","ADM0_A3_PL":"SWE","ADM0_A3_GR":"SWE","ADM0_A3_IT":"SWE","ADM0_A3_NL":"SWE","ADM0_A3_SE":"SWE","ADM0_A3_BD":"SWE","ADM0_A3_UA":"SWE","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Northern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2,"MAX_LABEL":7,"LABEL_X":19.01705,"LABEL_Y":65.85918,"NE_ID":1159321287,"WIKIDATAID":"Q34","NAME_AR":"السويد","NAME_BN":"সুইডেন","NAME_DE":"Schweden","NAME_EN":"Sweden","NAME_ES":"Suecia","NAME_FA":"سوئد","NAME_FR":"Suède","NAME_EL":"Σουηδία","NAME_HE":"שוודיה","NAME_HI":"स्वीडन","NAME_HU":"Svédország","NAME_ID":"Swedia","NAME_IT":"Svezia","NAME_JA":"スウェーデン","NAME_KO":"스웨덴","NAME_NL":"Zweden","NAME_PL":"Szwecja","NAME_PT":"Suécia","NAME_RU":"Швеция","NAME_SV":"Sverige","NAME_TR":"İsveç","NAME_UK":"Швеція","NAME_UR":"سویڈن","NAME_VI":"Thụy Điển","NAME_ZH":"瑞典","NAME_ZHT":"瑞典","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[11.027369,55.361737,23.903379,69.106247],"geometry":{"type":"Polygon","coordinates":[[[11.027369,58.856149],[11.468272,59.432393],[12.300366,60.117933],[12.631147,61.293572],[11.992064,61.800362],[11.930569,63.128318],[12.579935,64.066219],[13.571916,64.049114],[13.919905,64.445421],[13.55569,64.787028],[15.108411,66.193867],[16.108712,67.302456],[16.768879,68.013937],[17.729182,68.010552],[17.993868,68.567391],[19.87856,68.407194],[20.025269,69.065139],[20.645593,69.106247],[21.978535,68.616846],[23.539473,67.936009],[23.56588,66.396051],[23.903379,66.006927],[22.183173,65.723741],[21.213517,65.026005],[21.369631,64.413588],[19.778876,63.609554],[17.847779,62.7494],[17.119555,61.341166],[17.831346,60.636583],[18.787722,60.081914],[17.869225,58.953766],[16.829185,58.719827],[16.44771,57.041118],[15.879786,56.104302],[14.666681,56.200885],[14.100721,55.407781],[12.942911,55.361737],[12.625101,56.30708],[11.787942,57.441817],[11.027369,58.856149]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Belarus","SOV_A3":"BLR","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Belarus","ADM0_A3":"BLR","GEOU_DIF":0,"GEOUNIT":"Belarus","GU_A3":"BLR","SU_DIF":0,"SUBUNIT":"Belarus","SU_A3":"BLR","BRK_DIFF":0,"NAME":"Belarus","NAME_LONG":"Belarus","BRK_A3":"BLR","BRK_NAME":"Belarus","BRK_GROUP":null,"ABBREV":"Bela.","POSTAL":"BY","FORMAL_EN":"Republic of Belarus","FORMAL_FR":null,"NAME_CIAWF":"Belarus","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Belarus","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":1,"MAPCOLOR9":5,"MAPCOLOR13":11,"POP_EST":9466856,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":63080,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"BO","ISO_A2":"BY","ISO_A2_EH":"BY","ISO_A3":"BLR","ISO_A3_EH":"BLR","ISO_N3":"112","ISO_N3_EH":"112","UN_A3":"112","WB_A2":"BY","WB_A3":"BLR","WOE_ID":23424765,"WOE_ID_EH":23424765,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BLR","ADM0_DIFF":null,"ADM0_TLC":"BLR","ADM0_A3_US":"BLR","ADM0_A3_FR":"BLR","ADM0_A3_RU":"BLR","ADM0_A3_ES":"BLR","ADM0_A3_CN":"BLR","ADM0_A3_TW":"BLR","ADM0_A3_IN":"BLR","ADM0_A3_NP":"BLR","ADM0_A3_PK":"BLR","ADM0_A3_DE":"BLR","ADM0_A3_GB":"BLR","ADM0_A3_BR":"BLR","ADM0_A3_IL":"BLR","ADM0_A3_PS":"BLR","ADM0_A3_SA":"BLR","ADM0_A3_EG":"BLR","ADM0_A3_MA":"BLR","ADM0_A3_PT":"BLR","ADM0_A3_AR":"BLR","ADM0_A3_JP":"BLR","ADM0_A3_KO":"BLR","ADM0_A3_VN":"BLR","ADM0_A3_TR":"BLR","ADM0_A3_ID":"BLR","ADM0_A3_PL":"BLR","ADM0_A3_GR":"BLR","ADM0_A3_IT":"BLR","ADM0_A3_NL":"BLR","ADM0_A3_SE":"BLR","ADM0_A3_BD":"BLR","ADM0_A3_UA":"BLR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Eastern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":28.417701,"LABEL_Y":53.821888,"NE_ID":1159320427,"WIKIDATAID":"Q184","NAME_AR":"بيلاروسيا","NAME_BN":"বেলারুশ","NAME_DE":"Belarus","NAME_EN":"Belarus","NAME_ES":"Bielorrusia","NAME_FA":"بلاروس","NAME_FR":"Biélorussie","NAME_EL":"Λευκορωσία","NAME_HE":"בלארוס","NAME_HI":"बेलारूस","NAME_HU":"Fehéroroszország","NAME_ID":"Belarus","NAME_IT":"Bielorussia","NAME_JA":"ベラルーシ","NAME_KO":"벨라루스","NAME_NL":"Wit-Rusland","NAME_PL":"Białoruś","NAME_PT":"Bielorrússia","NAME_RU":"Белоруссия","NAME_SV":"Belarus","NAME_TR":"Beyaz Rusya","NAME_UK":"Білорусь","NAME_UR":"بیلاروس","NAME_VI":"Belarus","NAME_ZH":"白俄罗斯","NAME_ZHT":"白俄羅斯","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[23.199494,51.319503,32.693643,56.16913],"geometry":{"type":"Polygon","coordinates":[[[28.176709,56.16913],[29.229513,55.918344],[29.371572,55.670091],[29.896294,55.789463],[30.873909,55.550976],[30.971836,55.081548],[30.757534,54.811771],[31.384472,54.157056],[31.791424,53.974639],[31.731273,53.794029],[32.405599,53.618045],[32.693643,53.351421],[32.304519,53.132726],[31.49764,53.16743],[31.305201,53.073996],[31.540018,52.742052],[31.78597,52.10168],[31.785992,52.101678],[30.927549,52.042353],[30.619454,51.822806],[30.555117,51.319503],[30.157364,51.416138],[29.254938,51.368234],[28.992835,51.602044],[28.617613,51.427714],[28.241615,51.572227],[27.454066,51.592303],[26.337959,51.832289],[25.327788,51.910656],[24.553106,51.888461],[24.005078,51.617444],[23.527071,51.578454],[23.508002,52.023647],[23.199494,52.486977],[23.799199,52.691099],[23.804935,53.089731],[23.527536,53.470122],[23.484128,53.912498],[24.450684,53.905702],[25.536354,54.282423],[25.768433,54.846963],[26.588279,55.167176],[26.494331,55.615107],[27.10246,55.783314],[28.176709,56.16913]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Ukraine","SOV_A3":"UKR","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Ukraine","ADM0_A3":"UKR","GEOU_DIF":0,"GEOUNIT":"Ukraine","GU_A3":"UKR","SU_DIF":0,"SUBUNIT":"Ukraine","SU_A3":"UKR","BRK_DIFF":0,"NAME":"Ukraine","NAME_LONG":"Ukraine","BRK_A3":"UKR","BRK_NAME":"Ukraine","BRK_GROUP":null,"ABBREV":"Ukr.","POSTAL":"UA","FORMAL_EN":"Ukraine","FORMAL_FR":null,"NAME_CIAWF":"Ukraine","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Ukraine","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":1,"MAPCOLOR9":6,"MAPCOLOR13":3,"POP_EST":44385155,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":153781,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"UP","ISO_A2":"UA","ISO_A2_EH":"UA","ISO_A3":"UKR","ISO_A3_EH":"UKR","ISO_N3":"804","ISO_N3_EH":"804","UN_A3":"804","WB_A2":"UA","WB_A3":"UKR","WOE_ID":23424976,"WOE_ID_EH":23424976,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"UKR","ADM0_DIFF":null,"ADM0_TLC":"UKR","ADM0_A3_US":"UKR","ADM0_A3_FR":"UKR","ADM0_A3_RU":"UKR","ADM0_A3_ES":"UKR","ADM0_A3_CN":"UKR","ADM0_A3_TW":"UKR","ADM0_A3_IN":"UKR","ADM0_A3_NP":"UKR","ADM0_A3_PK":"UKR","ADM0_A3_DE":"UKR","ADM0_A3_GB":"UKR","ADM0_A3_BR":"UKR","ADM0_A3_IL":"UKR","ADM0_A3_PS":"UKR","ADM0_A3_SA":"UKR","ADM0_A3_EG":"UKR","ADM0_A3_MA":"UKR","ADM0_A3_PT":"UKR","ADM0_A3_AR":"UKR","ADM0_A3_JP":"UKR","ADM0_A3_KO":"UKR","ADM0_A3_VN":"UKR","ADM0_A3_TR":"UKR","ADM0_A3_ID":"UKR","ADM0_A3_PL":"UKR","ADM0_A3_GR":"UKR","ADM0_A3_IT":"UKR","ADM0_A3_NL":"UKR","ADM0_A3_SE":"UKR","ADM0_A3_BD":"UKR","ADM0_A3_UA":"UKR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Eastern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.7,"MAX_LABEL":7,"LABEL_X":32.140865,"LABEL_Y":49.724739,"NE_ID":1159321345,"WIKIDATAID":"Q212","NAME_AR":"أوكرانيا","NAME_BN":"ইউক্রেন","NAME_DE":"Ukraine","NAME_EN":"Ukraine","NAME_ES":"Ucrania","NAME_FA":"اوکراین","NAME_FR":"Ukraine","NAME_EL":"Ουκρανία","NAME_HE":"אוקראינה","NAME_HI":"युक्रेन","NAME_HU":"Ukrajna","NAME_ID":"Ukraina","NAME_IT":"Ucraina","NAME_JA":"ウクライナ","NAME_KO":"우크라이나","NAME_NL":"Oekraïne","NAME_PL":"Ukraina","NAME_PT":"Ucrânia","NAME_RU":"Украина","NAME_SV":"Ukraina","NAME_TR":"Ukrayna","NAME_UK":"Україна","NAME_UR":"یوکرین","NAME_VI":"Ukraina","NAME_ZH":"乌克兰","NAME_ZHT":"烏克蘭","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[22.085608,45.293308,40.080789,52.335075],"geometry":{"type":"Polygon","coordinates":[[[31.785992,52.101678],[32.15944,52.06125],[32.412058,52.288695],[32.715761,52.238465],[33.7527,52.335075],[34.391731,51.768882],[34.141978,51.566413],[34.224816,51.255993],[35.022183,51.207572],[35.37791,50.77394],[35.356116,50.577197],[36.626168,50.225591],[37.39346,50.383953],[38.010631,49.915662],[38.594988,49.926462],[40.06904,49.60105],[40.080789,49.30743],[39.67465,48.78382],[39.89562,48.23241],[39.738278,47.898937],[38.77057,47.82562],[38.255112,47.5464],[38.223538,47.10219],[37.425137,47.022221],[36.759855,46.6987],[35.823685,46.645964],[34.962342,46.273197],[35.012659,45.737725],[34.861792,45.768182],[34.732017,45.965666],[34.410402,46.005162],[33.699462,46.219573],[33.435988,45.971917],[33.298567,46.080598],[31.74414,46.333348],[31.675307,46.706245],[30.748749,46.5831],[30.377609,46.03241],[29.603289,45.293308],[29.149725,45.464925],[28.679779,45.304031],[28.233554,45.488283],[28.485269,45.596907],[28.659987,45.939987],[28.933717,46.25883],[28.862972,46.437889],[29.072107,46.517678],[29.170654,46.379262],[29.759972,46.349988],[30.024659,46.423937],[29.83821,46.525326],[29.908852,46.674361],[29.559674,46.928583],[29.415135,47.346645],[29.050868,47.510227],[29.122698,47.849095],[28.670891,48.118149],[28.259547,48.155562],[27.522537,48.467119],[26.857824,48.368211],[26.619337,48.220726],[26.19745,48.220881],[25.945941,47.987149],[25.207743,47.891056],[24.866317,47.737526],[24.402056,47.981878],[23.760958,47.985598],[23.142236,48.096341],[22.710531,47.882194],[22.64082,48.15024],[22.085608,48.422264],[22.280842,48.825392],[22.558138,49.085738],[22.776419,49.027395],[22.51845,49.476774],[23.426508,50.308506],[23.922757,50.424881],[24.029986,50.705407],[23.527071,51.578454],[24.005078,51.617444],[24.553106,51.888461],[25.327788,51.910656],[26.337959,51.832289],[27.454066,51.592303],[28.241615,51.572227],[28.617613,51.427714],[28.992835,51.602044],[29.254938,51.368234],[30.157364,51.416138],[30.555117,51.319503],[30.619454,51.822806],[30.927549,52.042353],[31.785992,52.101678]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Poland","SOV_A3":"POL","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Poland","ADM0_A3":"POL","GEOU_DIF":0,"GEOUNIT":"Poland","GU_A3":"POL","SU_DIF":0,"SUBUNIT":"Poland","SU_A3":"POL","BRK_DIFF":0,"NAME":"Poland","NAME_LONG":"Poland","BRK_A3":"POL","BRK_NAME":"Poland","BRK_GROUP":null,"ABBREV":"Pol.","POSTAL":"PL","FORMAL_EN":"Republic of Poland","FORMAL_FR":null,"NAME_CIAWF":"Poland","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Poland","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":7,"MAPCOLOR9":1,"MAPCOLOR13":2,"POP_EST":37970874,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":595858,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"PL","ISO_A2":"PL","ISO_A2_EH":"PL","ISO_A3":"POL","ISO_A3_EH":"POL","ISO_N3":"616","ISO_N3_EH":"616","UN_A3":"616","WB_A2":"PL","WB_A3":"POL","WOE_ID":23424923,"WOE_ID_EH":23424923,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"POL","ADM0_DIFF":null,"ADM0_TLC":"POL","ADM0_A3_US":"POL","ADM0_A3_FR":"POL","ADM0_A3_RU":"POL","ADM0_A3_ES":"POL","ADM0_A3_CN":"POL","ADM0_A3_TW":"POL","ADM0_A3_IN":"POL","ADM0_A3_NP":"POL","ADM0_A3_PK":"POL","ADM0_A3_DE":"POL","ADM0_A3_GB":"POL","ADM0_A3_BR":"POL","ADM0_A3_IL":"POL","ADM0_A3_PS":"POL","ADM0_A3_SA":"POL","ADM0_A3_EG":"POL","ADM0_A3_MA":"POL","ADM0_A3_PT":"POL","ADM0_A3_AR":"POL","ADM0_A3_JP":"POL","ADM0_A3_KO":"POL","ADM0_A3_VN":"POL","ADM0_A3_TR":"POL","ADM0_A3_ID":"POL","ADM0_A3_PL":"POL","ADM0_A3_GR":"POL","ADM0_A3_IT":"POL","ADM0_A3_NL":"POL","ADM0_A3_SE":"POL","ADM0_A3_BD":"POL","ADM0_A3_UA":"POL","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Eastern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.5,"MAX_LABEL":7,"LABEL_X":19.490468,"LABEL_Y":51.990316,"NE_ID":1159321179,"WIKIDATAID":"Q36","NAME_AR":"بولندا","NAME_BN":"পোল্যান্ড","NAME_DE":"Polen","NAME_EN":"Poland","NAME_ES":"Polonia","NAME_FA":"لهستان","NAME_FR":"Pologne","NAME_EL":"Πολωνία","NAME_HE":"פולין","NAME_HI":"पोलैंड","NAME_HU":"Lengyelország","NAME_ID":"Polandia","NAME_IT":"Polonia","NAME_JA":"ポーランド","NAME_KO":"폴란드","NAME_NL":"Polen","NAME_PL":"Polska","NAME_PT":"Polónia","NAME_RU":"Польша","NAME_SV":"Polen","NAME_TR":"Polonya","NAME_UK":"Польща","NAME_UR":"پولینڈ","NAME_VI":"Ba Lan","NAME_ZH":"波兰","NAME_ZHT":"波蘭","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[14.074521,49.027395,24.029986,54.851536],"geometry":{"type":"Polygon","coordinates":[[[23.484128,53.912498],[23.527536,53.470122],[23.804935,53.089731],[23.799199,52.691099],[23.199494,52.486977],[23.508002,52.023647],[23.527071,51.578454],[24.029986,50.705407],[23.922757,50.424881],[23.426508,50.308506],[22.51845,49.476774],[22.776419,49.027395],[22.558138,49.085738],[21.607808,49.470107],[20.887955,49.328772],[20.415839,49.431453],[19.825023,49.217125],[19.320713,49.571574],[18.909575,49.435846],[18.853144,49.49623],[18.392914,49.988629],[17.649445,50.049038],[17.554567,50.362146],[16.868769,50.473974],[16.719476,50.215747],[16.176253,50.422607],[16.238627,50.697733],[15.490972,50.78473],[15.016996,51.106674],[14.607098,51.745188],[14.685026,52.089947],[14.4376,52.62485],[14.074521,52.981263],[14.353315,53.248171],[14.119686,53.757029],[14.8029,54.050706],[16.363477,54.513159],[17.622832,54.851536],[18.620859,54.682606],[18.696255,54.438719],[19.66064,54.426084],[20.892245,54.312525],[22.731099,54.327537],[23.243987,54.220567],[23.484128,53.912498]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Austria","SOV_A3":"AUT","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Austria","ADM0_A3":"AUT","GEOU_DIF":0,"GEOUNIT":"Austria","GU_A3":"AUT","SU_DIF":0,"SUBUNIT":"Austria","SU_A3":"AUT","BRK_DIFF":0,"NAME":"Austria","NAME_LONG":"Austria","BRK_A3":"AUT","BRK_NAME":"Austria","BRK_GROUP":null,"ABBREV":"Aust.","POSTAL":"A","FORMAL_EN":"Republic of Austria","FORMAL_FR":null,"NAME_CIAWF":"Austria","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Austria","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":1,"MAPCOLOR9":3,"MAPCOLOR13":4,"POP_EST":8877067,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":445075,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"AU","ISO_A2":"AT","ISO_A2_EH":"AT","ISO_A3":"AUT","ISO_A3_EH":"AUT","ISO_N3":"040","ISO_N3_EH":"040","UN_A3":"040","WB_A2":"AT","WB_A3":"AUT","WOE_ID":23424750,"WOE_ID_EH":23424750,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"AUT","ADM0_DIFF":null,"ADM0_TLC":"AUT","ADM0_A3_US":"AUT","ADM0_A3_FR":"AUT","ADM0_A3_RU":"AUT","ADM0_A3_ES":"AUT","ADM0_A3_CN":"AUT","ADM0_A3_TW":"AUT","ADM0_A3_IN":"AUT","ADM0_A3_NP":"AUT","ADM0_A3_PK":"AUT","ADM0_A3_DE":"AUT","ADM0_A3_GB":"AUT","ADM0_A3_BR":"AUT","ADM0_A3_IL":"AUT","ADM0_A3_PS":"AUT","ADM0_A3_SA":"AUT","ADM0_A3_EG":"AUT","ADM0_A3_MA":"AUT","ADM0_A3_PT":"AUT","ADM0_A3_AR":"AUT","ADM0_A3_JP":"AUT","ADM0_A3_KO":"AUT","ADM0_A3_VN":"AUT","ADM0_A3_TR":"AUT","ADM0_A3_ID":"AUT","ADM0_A3_PL":"AUT","ADM0_A3_GR":"AUT","ADM0_A3_IT":"AUT","ADM0_A3_NL":"AUT","ADM0_A3_SE":"AUT","ADM0_A3_BD":"AUT","ADM0_A3_UA":"AUT","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Western Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":14.130515,"LABEL_Y":47.518859,"NE_ID":1159320379,"WIKIDATAID":"Q40","NAME_AR":"النمسا","NAME_BN":"অস্ট্রিয়া","NAME_DE":"Österreich","NAME_EN":"Austria","NAME_ES":"Austria","NAME_FA":"اتریش","NAME_FR":"Autriche","NAME_EL":"Αυστρία","NAME_HE":"אוסטריה","NAME_HI":"ऑस्ट्रिया","NAME_HU":"Ausztria","NAME_ID":"Austria","NAME_IT":"Austria","NAME_JA":"オーストリア","NAME_KO":"오스트리아","NAME_NL":"Oostenrijk","NAME_PL":"Austria","NAME_PT":"Áustria","NAME_RU":"Австрия","NAME_SV":"Österrike","NAME_TR":"Avusturya","NAME_UK":"Австрія","NAME_UR":"آسٹریا","NAME_VI":"Áo","NAME_ZH":"奥地利","NAME_ZHT":"奧地利","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[9.47997,46.431817,16.979667,49.039074],"geometry":{"type":"Polygon","coordinates":[[[16.979667,48.123497],[16.903754,47.714866],[16.340584,47.712902],[16.534268,47.496171],[16.202298,46.852386],[16.011664,46.683611],[15.137092,46.658703],[14.632472,46.431817],[13.806475,46.509306],[12.376485,46.767559],[12.153088,47.115393],[11.164828,46.941579],[11.048556,46.751359],[10.442701,46.893546],[9.932448,46.920728],[9.47997,47.10281],[9.632932,47.347601],[9.594226,47.525058],[9.896068,47.580197],[10.402084,47.302488],[10.544504,47.566399],[11.426414,47.523766],[12.141357,47.703083],[12.62076,47.672388],[12.932627,47.467646],[13.025851,47.637584],[12.884103,48.289146],[13.243357,48.416115],[13.595946,48.877172],[14.338898,48.555305],[14.901447,48.964402],[15.253416,49.039074],[16.029647,48.733899],[16.499283,48.785808],[16.960288,48.596982],[16.879983,48.470013],[16.979667,48.123497]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Hungary","SOV_A3":"HUN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Hungary","ADM0_A3":"HUN","GEOU_DIF":0,"GEOUNIT":"Hungary","GU_A3":"HUN","SU_DIF":0,"SUBUNIT":"Hungary","SU_A3":"HUN","BRK_DIFF":0,"NAME":"Hungary","NAME_LONG":"Hungary","BRK_A3":"HUN","BRK_NAME":"Hungary","BRK_GROUP":null,"ABBREV":"Hun.","POSTAL":"HU","FORMAL_EN":"Republic of Hungary","FORMAL_FR":null,"NAME_CIAWF":"Hungary","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Hungary","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":6,"MAPCOLOR9":1,"MAPCOLOR13":5,"POP_EST":9769949,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":163469,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"HU","ISO_A2":"HU","ISO_A2_EH":"HU","ISO_A3":"HUN","ISO_A3_EH":"HUN","ISO_N3":"348","ISO_N3_EH":"348","UN_A3":"348","WB_A2":"HU","WB_A3":"HUN","WOE_ID":23424844,"WOE_ID_EH":23424844,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"HUN","ADM0_DIFF":null,"ADM0_TLC":"HUN","ADM0_A3_US":"HUN","ADM0_A3_FR":"HUN","ADM0_A3_RU":"HUN","ADM0_A3_ES":"HUN","ADM0_A3_CN":"HUN","ADM0_A3_TW":"HUN","ADM0_A3_IN":"HUN","ADM0_A3_NP":"HUN","ADM0_A3_PK":"HUN","ADM0_A3_DE":"HUN","ADM0_A3_GB":"HUN","ADM0_A3_BR":"HUN","ADM0_A3_IL":"HUN","ADM0_A3_PS":"HUN","ADM0_A3_SA":"HUN","ADM0_A3_EG":"HUN","ADM0_A3_MA":"HUN","ADM0_A3_PT":"HUN","ADM0_A3_AR":"HUN","ADM0_A3_JP":"HUN","ADM0_A3_KO":"HUN","ADM0_A3_VN":"HUN","ADM0_A3_TR":"HUN","ADM0_A3_ID":"HUN","ADM0_A3_PL":"HUN","ADM0_A3_GR":"HUN","ADM0_A3_IT":"HUN","ADM0_A3_NL":"HUN","ADM0_A3_SE":"HUN","ADM0_A3_BD":"HUN","ADM0_A3_UA":"HUN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Eastern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":19.447867,"LABEL_Y":47.086841,"NE_ID":1159320841,"WIKIDATAID":"Q28","NAME_AR":"المجر","NAME_BN":"হাঙ্গেরি","NAME_DE":"Ungarn","NAME_EN":"Hungary","NAME_ES":"Hungría","NAME_FA":"مجارستان","NAME_FR":"Hongrie","NAME_EL":"Ουγγαρία","NAME_HE":"הונגריה","NAME_HI":"हंगरी","NAME_HU":"Magyarország","NAME_ID":"Hongaria","NAME_IT":"Ungheria","NAME_JA":"ハンガリー","NAME_KO":"헝가리","NAME_NL":"Hongarije","NAME_PL":"Węgry","NAME_PT":"Hungria","NAME_RU":"Венгрия","NAME_SV":"Ungern","NAME_TR":"Macaristan","NAME_UK":"Угорщина","NAME_UR":"ہنگری","NAME_VI":"Hungary","NAME_ZH":"匈牙利","NAME_ZHT":"匈牙利","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[16.202298,45.759481,22.710531,48.623854],"geometry":{"type":"Polygon","coordinates":[[[22.085608,48.422264],[22.64082,48.15024],[22.710531,47.882194],[22.099768,47.672439],[21.626515,46.994238],[21.021952,46.316088],[20.220192,46.127469],[19.596045,46.17173],[18.829838,45.908878],[18.829825,45.908872],[18.456062,45.759481],[17.630066,45.951769],[16.882515,46.380632],[16.564808,46.503751],[16.370505,46.841327],[16.202298,46.852386],[16.534268,47.496171],[16.340584,47.712902],[16.903754,47.714866],[16.979667,48.123497],[17.488473,47.867466],[17.857133,47.758429],[18.696513,47.880954],[18.777025,48.081768],[19.174365,48.111379],[19.661364,48.266615],[19.769471,48.202691],[20.239054,48.327567],[20.473562,48.56285],[20.801294,48.623854],[21.872236,48.319971],[22.085608,48.422264]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Moldova","SOV_A3":"MDA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Moldova","ADM0_A3":"MDA","GEOU_DIF":0,"GEOUNIT":"Moldova","GU_A3":"MDA","SU_DIF":0,"SUBUNIT":"Moldova","SU_A3":"MDA","BRK_DIFF":0,"NAME":"Moldova","NAME_LONG":"Moldova","BRK_A3":"MDA","BRK_NAME":"Moldova","BRK_GROUP":null,"ABBREV":"Mda.","POSTAL":"MD","FORMAL_EN":"Republic of Moldova","FORMAL_FR":null,"NAME_CIAWF":"Moldova","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Moldova","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":5,"MAPCOLOR9":4,"MAPCOLOR13":12,"POP_EST":2657637,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":11968,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"MD","ISO_A2":"MD","ISO_A2_EH":"MD","ISO_A3":"MDA","ISO_A3_EH":"MDA","ISO_N3":"498","ISO_N3_EH":"498","UN_A3":"498","WB_A2":"MD","WB_A3":"MDA","WOE_ID":23424885,"WOE_ID_EH":23424885,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MDA","ADM0_DIFF":null,"ADM0_TLC":"MDA","ADM0_A3_US":"MDA","ADM0_A3_FR":"MDA","ADM0_A3_RU":"MDA","ADM0_A3_ES":"MDA","ADM0_A3_CN":"MDA","ADM0_A3_TW":"MDA","ADM0_A3_IN":"MDA","ADM0_A3_NP":"MDA","ADM0_A3_PK":"MDA","ADM0_A3_DE":"MDA","ADM0_A3_GB":"MDA","ADM0_A3_BR":"MDA","ADM0_A3_IL":"MDA","ADM0_A3_PS":"MDA","ADM0_A3_SA":"MDA","ADM0_A3_EG":"MDA","ADM0_A3_MA":"MDA","ADM0_A3_PT":"MDA","ADM0_A3_AR":"MDA","ADM0_A3_JP":"MDA","ADM0_A3_KO":"MDA","ADM0_A3_VN":"MDA","ADM0_A3_TR":"MDA","ADM0_A3_ID":"MDA","ADM0_A3_PL":"MDA","ADM0_A3_GR":"MDA","ADM0_A3_IT":"MDA","ADM0_A3_NL":"MDA","ADM0_A3_SE":"MDA","ADM0_A3_BD":"MDA","ADM0_A3_UA":"MDA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Eastern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":28.487904,"LABEL_Y":47.434999,"NE_ID":1159321045,"WIKIDATAID":"Q217","NAME_AR":"مولدوفا","NAME_BN":"মলদোভা","NAME_DE":"Republik Moldau","NAME_EN":"Moldova","NAME_ES":"Moldavia","NAME_FA":"مولداوی","NAME_FR":"Moldavie","NAME_EL":"Μολδαβία","NAME_HE":"מולדובה","NAME_HI":"मॉल्डोवा","NAME_HU":"Moldova","NAME_ID":"Moldova","NAME_IT":"Moldavia","NAME_JA":"モルドバ","NAME_KO":"몰도바","NAME_NL":"Moldavië","NAME_PL":"Mołdawia","NAME_PT":"Moldávia","NAME_RU":"Молдавия","NAME_SV":"Moldavien","NAME_TR":"Moldova","NAME_UK":"Молдова","NAME_UR":"مالدووا","NAME_VI":"Moldova","NAME_ZH":"摩尔多瓦","NAME_ZHT":"摩爾多瓦","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[26.619337,45.488283,30.024659,48.467119],"geometry":{"type":"Polygon","coordinates":[[[26.619337,48.220726],[26.857824,48.368211],[27.522537,48.467119],[28.259547,48.155562],[28.670891,48.118149],[29.122698,47.849095],[29.050868,47.510227],[29.415135,47.346645],[29.559674,46.928583],[29.908852,46.674361],[29.83821,46.525326],[30.024659,46.423937],[29.759972,46.349988],[29.170654,46.379262],[29.072107,46.517678],[28.862972,46.437889],[28.933717,46.25883],[28.659987,45.939987],[28.485269,45.596907],[28.233554,45.488283],[28.054443,45.944586],[28.160018,46.371563],[28.12803,46.810476],[27.551166,47.405117],[27.233873,47.826771],[26.924176,48.123264],[26.619337,48.220726]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Romania","SOV_A3":"ROU","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Romania","ADM0_A3":"ROU","GEOU_DIF":0,"GEOUNIT":"Romania","GU_A3":"ROU","SU_DIF":0,"SUBUNIT":"Romania","SU_A3":"ROU","BRK_DIFF":0,"NAME":"Romania","NAME_LONG":"Romania","BRK_A3":"ROU","BRK_NAME":"Romania","BRK_GROUP":null,"ABBREV":"Rom.","POSTAL":"RO","FORMAL_EN":"Romania","FORMAL_FR":null,"NAME_CIAWF":"Romania","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Romania","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":3,"MAPCOLOR13":13,"POP_EST":19356544,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":250077,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"3. Upper middle income","FIPS_10":"RO","ISO_A2":"RO","ISO_A2_EH":"RO","ISO_A3":"ROU","ISO_A3_EH":"ROU","ISO_N3":"642","ISO_N3_EH":"642","UN_A3":"642","WB_A2":"RO","WB_A3":"ROM","WOE_ID":23424933,"WOE_ID_EH":23424933,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ROU","ADM0_DIFF":null,"ADM0_TLC":"ROU","ADM0_A3_US":"ROU","ADM0_A3_FR":"ROU","ADM0_A3_RU":"ROU","ADM0_A3_ES":"ROU","ADM0_A3_CN":"ROU","ADM0_A3_TW":"ROU","ADM0_A3_IN":"ROU","ADM0_A3_NP":"ROU","ADM0_A3_PK":"ROU","ADM0_A3_DE":"ROU","ADM0_A3_GB":"ROU","ADM0_A3_BR":"ROU","ADM0_A3_IL":"ROU","ADM0_A3_PS":"ROU","ADM0_A3_SA":"ROU","ADM0_A3_EG":"ROU","ADM0_A3_MA":"ROU","ADM0_A3_PT":"ROU","ADM0_A3_AR":"ROU","ADM0_A3_JP":"ROU","ADM0_A3_KO":"ROU","ADM0_A3_VN":"ROU","ADM0_A3_TR":"ROU","ADM0_A3_ID":"ROU","ADM0_A3_PL":"ROU","ADM0_A3_GR":"ROU","ADM0_A3_IT":"ROU","ADM0_A3_NL":"ROU","ADM0_A3_SE":"ROU","ADM0_A3_BD":"ROU","ADM0_A3_UA":"ROU","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Eastern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":24.972624,"LABEL_Y":45.733237,"NE_ID":1159321199,"WIKIDATAID":"Q218","NAME_AR":"رومانيا","NAME_BN":"রোমানিয়া","NAME_DE":"Rumänien","NAME_EN":"Romania","NAME_ES":"Rumania","NAME_FA":"رومانی","NAME_FR":"Roumanie","NAME_EL":"Ρουμανία","NAME_HE":"רומניה","NAME_HI":"रोमानिया","NAME_HU":"Románia","NAME_ID":"Rumania","NAME_IT":"Romania","NAME_JA":"ルーマニア","NAME_KO":"루마니아","NAME_NL":"Roemenië","NAME_PL":"Rumunia","NAME_PT":"Roménia","NAME_RU":"Румыния","NAME_SV":"Rumänien","NAME_TR":"Romanya","NAME_UK":"Румунія","NAME_UR":"رومانیہ","NAME_VI":"Romania","NAME_ZH":"罗马尼亚","NAME_ZHT":"羅馬尼亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[20.220192,43.688445,29.626543,48.220881],"geometry":{"type":"Polygon","coordinates":[[[28.233554,45.488283],[28.679779,45.304031],[29.149725,45.464925],[29.603289,45.293308],[29.626543,45.035391],[29.141612,44.82021],[28.837858,44.913874],[28.558081,43.707462],[27.970107,43.812468],[27.2424,44.175986],[26.065159,43.943494],[25.569272,43.688445],[24.100679,43.741051],[23.332302,43.897011],[22.944832,43.823785],[22.65715,44.234923],[22.474008,44.409228],[22.705726,44.578003],[22.459022,44.702517],[22.145088,44.478422],[21.562023,44.768947],[21.483526,45.18117],[20.874313,45.416375],[20.762175,45.734573],[20.220192,46.127469],[21.021952,46.316088],[21.626515,46.994238],[22.099768,47.672439],[22.710531,47.882194],[23.142236,48.096341],[23.760958,47.985598],[24.402056,47.981878],[24.866317,47.737526],[25.207743,47.891056],[25.945941,47.987149],[26.19745,48.220881],[26.619337,48.220726],[26.924176,48.123264],[27.233873,47.826771],[27.551166,47.405117],[28.12803,46.810476],[28.160018,46.371563],[28.054443,45.944586],[28.233554,45.488283]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Lithuania","SOV_A3":"LTU","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Lithuania","ADM0_A3":"LTU","GEOU_DIF":0,"GEOUNIT":"Lithuania","GU_A3":"LTU","SU_DIF":0,"SUBUNIT":"Lithuania","SU_A3":"LTU","BRK_DIFF":0,"NAME":"Lithuania","NAME_LONG":"Lithuania","BRK_A3":"LTU","BRK_NAME":"Lithuania","BRK_GROUP":null,"ABBREV":"Lith.","POSTAL":"LT","FORMAL_EN":"Republic of Lithuania","FORMAL_FR":null,"NAME_CIAWF":"Lithuania","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Lithuania","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":3,"MAPCOLOR9":3,"MAPCOLOR13":9,"POP_EST":2786844,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":54627,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"3. Upper middle income","FIPS_10":"LH","ISO_A2":"LT","ISO_A2_EH":"LT","ISO_A3":"LTU","ISO_A3_EH":"LTU","ISO_N3":"440","ISO_N3_EH":"440","UN_A3":"440","WB_A2":"LT","WB_A3":"LTU","WOE_ID":23424875,"WOE_ID_EH":23424875,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"LTU","ADM0_DIFF":null,"ADM0_TLC":"LTU","ADM0_A3_US":"LTU","ADM0_A3_FR":"LTU","ADM0_A3_RU":"LTU","ADM0_A3_ES":"LTU","ADM0_A3_CN":"LTU","ADM0_A3_TW":"LTU","ADM0_A3_IN":"LTU","ADM0_A3_NP":"LTU","ADM0_A3_PK":"LTU","ADM0_A3_DE":"LTU","ADM0_A3_GB":"LTU","ADM0_A3_BR":"LTU","ADM0_A3_IL":"LTU","ADM0_A3_PS":"LTU","ADM0_A3_SA":"LTU","ADM0_A3_EG":"LTU","ADM0_A3_MA":"LTU","ADM0_A3_PT":"LTU","ADM0_A3_AR":"LTU","ADM0_A3_JP":"LTU","ADM0_A3_KO":"LTU","ADM0_A3_VN":"LTU","ADM0_A3_TR":"LTU","ADM0_A3_ID":"LTU","ADM0_A3_PL":"LTU","ADM0_A3_GR":"LTU","ADM0_A3_IT":"LTU","ADM0_A3_NL":"LTU","ADM0_A3_SE":"LTU","ADM0_A3_BD":"LTU","ADM0_A3_UA":"LTU","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Northern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":9,"LONG_LEN":9,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":24.089932,"LABEL_Y":55.103703,"NE_ID":1159321029,"WIKIDATAID":"Q37","NAME_AR":"ليتوانيا","NAME_BN":"লিথুয়ানিয়া","NAME_DE":"Litauen","NAME_EN":"Lithuania","NAME_ES":"Lituania","NAME_FA":"لیتوانی","NAME_FR":"Lituanie","NAME_EL":"Λιθουανία","NAME_HE":"ליטא","NAME_HI":"लिथुआनिया","NAME_HU":"Litvánia","NAME_ID":"Lituania","NAME_IT":"Lituania","NAME_JA":"リトアニア","NAME_KO":"리투아니아","NAME_NL":"Litouwen","NAME_PL":"Litwa","NAME_PT":"Lituânia","NAME_RU":"Литва","NAME_SV":"Litauen","NAME_TR":"Litvanya","NAME_UK":"Литва","NAME_UR":"لتھووینیا","NAME_VI":"Litva","NAME_ZH":"立陶宛","NAME_ZHT":"立陶宛","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[21.0558,53.905702,26.588279,56.372528],"geometry":{"type":"Polygon","coordinates":[[[26.494331,55.615107],[26.588279,55.167176],[25.768433,54.846963],[25.536354,54.282423],[24.450684,53.905702],[23.484128,53.912498],[23.243987,54.220567],[22.731099,54.327537],[22.651052,54.582741],[22.757764,54.856574],[22.315724,55.015299],[21.268449,55.190482],[21.0558,56.031076],[22.201157,56.337802],[23.878264,56.273671],[24.860684,56.372528],[25.000934,56.164531],[25.533047,56.100297],[26.494331,55.615107]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Latvia","SOV_A3":"LVA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Latvia","ADM0_A3":"LVA","GEOU_DIF":0,"GEOUNIT":"Latvia","GU_A3":"LVA","SU_DIF":0,"SUBUNIT":"Latvia","SU_A3":"LVA","BRK_DIFF":0,"NAME":"Latvia","NAME_LONG":"Latvia","BRK_A3":"LVA","BRK_NAME":"Latvia","BRK_GROUP":null,"ABBREV":"Lat.","POSTAL":"LV","FORMAL_EN":"Republic of Latvia","FORMAL_FR":null,"NAME_CIAWF":"Latvia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Latvia","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":7,"MAPCOLOR9":6,"MAPCOLOR13":13,"POP_EST":1912789,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":34102,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"3. Upper middle income","FIPS_10":"LG","ISO_A2":"LV","ISO_A2_EH":"LV","ISO_A3":"LVA","ISO_A3_EH":"LVA","ISO_N3":"428","ISO_N3_EH":"428","UN_A3":"428","WB_A2":"LV","WB_A3":"LVA","WOE_ID":23424874,"WOE_ID_EH":23424874,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"LVA","ADM0_DIFF":null,"ADM0_TLC":"LVA","ADM0_A3_US":"LVA","ADM0_A3_FR":"LVA","ADM0_A3_RU":"LVA","ADM0_A3_ES":"LVA","ADM0_A3_CN":"LVA","ADM0_A3_TW":"LVA","ADM0_A3_IN":"LVA","ADM0_A3_NP":"LVA","ADM0_A3_PK":"LVA","ADM0_A3_DE":"LVA","ADM0_A3_GB":"LVA","ADM0_A3_BR":"LVA","ADM0_A3_IL":"LVA","ADM0_A3_PS":"LVA","ADM0_A3_SA":"LVA","ADM0_A3_EG":"LVA","ADM0_A3_MA":"LVA","ADM0_A3_PT":"LVA","ADM0_A3_AR":"LVA","ADM0_A3_JP":"LVA","ADM0_A3_KO":"LVA","ADM0_A3_VN":"LVA","ADM0_A3_TR":"LVA","ADM0_A3_ID":"LVA","ADM0_A3_PL":"LVA","ADM0_A3_GR":"LVA","ADM0_A3_IT":"LVA","ADM0_A3_NL":"LVA","ADM0_A3_SE":"LVA","ADM0_A3_BD":"LVA","ADM0_A3_UA":"LVA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Northern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":25.458723,"LABEL_Y":57.066872,"NE_ID":1159321033,"WIKIDATAID":"Q211","NAME_AR":"لاتفيا","NAME_BN":"লাতভিয়া","NAME_DE":"Lettland","NAME_EN":"Latvia","NAME_ES":"Letonia","NAME_FA":"لتونی","NAME_FR":"Lettonie","NAME_EL":"Λετονία","NAME_HE":"לטביה","NAME_HI":"लातविया","NAME_HU":"Lettország","NAME_ID":"Latvia","NAME_IT":"Lettonia","NAME_JA":"ラトビア","NAME_KO":"라트비아","NAME_NL":"Letland","NAME_PL":"Łotwa","NAME_PT":"Letónia","NAME_RU":"Латвия","NAME_SV":"Lettland","NAME_TR":"Letonya","NAME_UK":"Латвія","NAME_UR":"لٹویا","NAME_VI":"Latvia","NAME_ZH":"拉脱维亚","NAME_ZHT":"拉脫維亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[21.0558,55.615107,28.176709,57.970157],"geometry":{"type":"Polygon","coordinates":[[[27.288185,57.474528],[27.770016,57.244258],[27.855282,56.759326],[28.176709,56.16913],[27.10246,55.783314],[26.494331,55.615107],[25.533047,56.100297],[25.000934,56.164531],[24.860684,56.372528],[23.878264,56.273671],[22.201157,56.337802],[21.0558,56.031076],[21.090424,56.783873],[21.581866,57.411871],[22.524341,57.753374],[23.318453,57.006236],[24.12073,57.025693],[24.312863,57.793424],[25.164594,57.970157],[25.60281,57.847529],[26.463532,57.476389],[27.288185,57.474528]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Estonia","SOV_A3":"EST","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Estonia","ADM0_A3":"EST","GEOU_DIF":0,"GEOUNIT":"Estonia","GU_A3":"EST","SU_DIF":0,"SUBUNIT":"Estonia","SU_A3":"EST","BRK_DIFF":0,"NAME":"Estonia","NAME_LONG":"Estonia","BRK_A3":"EST","BRK_NAME":"Estonia","BRK_GROUP":null,"ABBREV":"Est.","POSTAL":"EST","FORMAL_EN":"Republic of Estonia","FORMAL_FR":null,"NAME_CIAWF":"Estonia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Estonia","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":2,"MAPCOLOR9":1,"MAPCOLOR13":10,"POP_EST":1326590,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":31471,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"EN","ISO_A2":"EE","ISO_A2_EH":"EE","ISO_A3":"EST","ISO_A3_EH":"EST","ISO_N3":"233","ISO_N3_EH":"233","UN_A3":"233","WB_A2":"EE","WB_A3":"EST","WOE_ID":23424805,"WOE_ID_EH":23424805,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"EST","ADM0_DIFF":null,"ADM0_TLC":"EST","ADM0_A3_US":"EST","ADM0_A3_FR":"EST","ADM0_A3_RU":"EST","ADM0_A3_ES":"EST","ADM0_A3_CN":"EST","ADM0_A3_TW":"EST","ADM0_A3_IN":"EST","ADM0_A3_NP":"EST","ADM0_A3_PK":"EST","ADM0_A3_DE":"EST","ADM0_A3_GB":"EST","ADM0_A3_BR":"EST","ADM0_A3_IL":"EST","ADM0_A3_PS":"EST","ADM0_A3_SA":"EST","ADM0_A3_EG":"EST","ADM0_A3_MA":"EST","ADM0_A3_PT":"EST","ADM0_A3_AR":"EST","ADM0_A3_JP":"EST","ADM0_A3_KO":"EST","ADM0_A3_VN":"EST","ADM0_A3_TR":"EST","ADM0_A3_ID":"EST","ADM0_A3_PL":"EST","ADM0_A3_GR":"EST","ADM0_A3_IT":"EST","ADM0_A3_NL":"EST","ADM0_A3_SE":"EST","ADM0_A3_BD":"EST","ADM0_A3_UA":"EST","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Northern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":25.867126,"LABEL_Y":58.724865,"NE_ID":1159320615,"WIKIDATAID":"Q191","NAME_AR":"إستونيا","NAME_BN":"এস্তোনিয়া","NAME_DE":"Estland","NAME_EN":"Estonia","NAME_ES":"Estonia","NAME_FA":"استونی","NAME_FR":"Estonie","NAME_EL":"Εσθονία","NAME_HE":"אסטוניה","NAME_HI":"एस्टोनिया","NAME_HU":"Észtország","NAME_ID":"Estonia","NAME_IT":"Estonia","NAME_JA":"エストニア","NAME_KO":"에스토니아","NAME_NL":"Estland","NAME_PL":"Estonia","NAME_PT":"Estónia","NAME_RU":"Эстония","NAME_SV":"Estland","NAME_TR":"Estonya","NAME_UK":"Естонія","NAME_UR":"استونیا","NAME_VI":"Estonia","NAME_ZH":"爱沙尼亚","NAME_ZHT":"愛沙尼亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[23.339795,57.474528,28.131699,59.61109],"geometry":{"type":"Polygon","coordinates":[[[27.981127,59.475373],[27.98112,59.47537],[28.131699,59.300825],[27.42015,58.72457],[27.716686,57.791899],[27.288185,57.474528],[26.463532,57.476389],[25.60281,57.847529],[25.164594,57.970157],[24.312863,57.793424],[24.428928,58.383413],[24.061198,58.257375],[23.42656,58.612753],[23.339795,59.18724],[24.604214,59.465854],[25.864189,59.61109],[26.949136,59.445803],[27.981114,59.475388],[27.981127,59.475373]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Germany","SOV_A3":"DEU","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Germany","ADM0_A3":"DEU","GEOU_DIF":0,"GEOUNIT":"Germany","GU_A3":"DEU","SU_DIF":0,"SUBUNIT":"Germany","SU_A3":"DEU","BRK_DIFF":0,"NAME":"Germany","NAME_LONG":"Germany","BRK_A3":"DEU","BRK_NAME":"Germany","BRK_GROUP":null,"ABBREV":"Ger.","POSTAL":"D","FORMAL_EN":"Federal Republic of Germany","FORMAL_FR":null,"NAME_CIAWF":"Germany","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Germany","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":5,"MAPCOLOR9":5,"MAPCOLOR13":1,"POP_EST":83132799,"POP_RANK":16,"POP_YEAR":2019,"GDP_MD":3861123,"GDP_YEAR":2019,"ECONOMY":"1. Developed region: G7","INCOME_GRP":"1. High income: OECD","FIPS_10":"GM","ISO_A2":"DE","ISO_A2_EH":"DE","ISO_A3":"DEU","ISO_A3_EH":"DEU","ISO_N3":"276","ISO_N3_EH":"276","UN_A3":"276","WB_A2":"DE","WB_A3":"DEU","WOE_ID":23424829,"WOE_ID_EH":23424829,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"DEU","ADM0_DIFF":null,"ADM0_TLC":"DEU","ADM0_A3_US":"DEU","ADM0_A3_FR":"DEU","ADM0_A3_RU":"DEU","ADM0_A3_ES":"DEU","ADM0_A3_CN":"DEU","ADM0_A3_TW":"DEU","ADM0_A3_IN":"DEU","ADM0_A3_NP":"DEU","ADM0_A3_PK":"DEU","ADM0_A3_DE":"DEU","ADM0_A3_GB":"DEU","ADM0_A3_BR":"DEU","ADM0_A3_IL":"DEU","ADM0_A3_PS":"DEU","ADM0_A3_SA":"DEU","ADM0_A3_EG":"DEU","ADM0_A3_MA":"DEU","ADM0_A3_PT":"DEU","ADM0_A3_AR":"DEU","ADM0_A3_JP":"DEU","ADM0_A3_KO":"DEU","ADM0_A3_VN":"DEU","ADM0_A3_TR":"DEU","ADM0_A3_ID":"DEU","ADM0_A3_PL":"DEU","ADM0_A3_GR":"DEU","ADM0_A3_IT":"DEU","ADM0_A3_NL":"DEU","ADM0_A3_SE":"DEU","ADM0_A3_BD":"DEU","ADM0_A3_UA":"DEU","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Western Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":6.7,"LABEL_X":9.678348,"LABEL_Y":50.961733,"NE_ID":1159320539,"WIKIDATAID":"Q183","NAME_AR":"ألمانيا","NAME_BN":"জার্মানি","NAME_DE":"Deutschland","NAME_EN":"Germany","NAME_ES":"Alemania","NAME_FA":"آلمان","NAME_FR":"Allemagne","NAME_EL":"Γερμανία","NAME_HE":"גרמניה","NAME_HI":"जर्मनी","NAME_HU":"Németország","NAME_ID":"Jerman","NAME_IT":"Germania","NAME_JA":"ドイツ","NAME_KO":"독일","NAME_NL":"Duitsland","NAME_PL":"Niemcy","NAME_PT":"Alemanha","NAME_RU":"Германия","NAME_SV":"Tyskland","NAME_TR":"Almanya","NAME_UK":"Німеччина","NAME_UR":"جرمنی","NAME_VI":"Đức","NAME_ZH":"德国","NAME_ZHT":"德國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[5.988658,47.302488,15.016996,54.983104],"geometry":{"type":"Polygon","coordinates":[[[14.119686,53.757029],[14.353315,53.248171],[14.074521,52.981263],[14.4376,52.62485],[14.685026,52.089947],[14.607098,51.745188],[15.016996,51.106674],[14.570718,51.002339],[14.307013,51.117268],[14.056228,50.926918],[13.338132,50.733234],[12.966837,50.484076],[12.240111,50.266338],[12.415191,49.969121],[12.521024,49.547415],[13.031329,49.307068],[13.595946,48.877172],[13.243357,48.416115],[12.884103,48.289146],[13.025851,47.637584],[12.932627,47.467646],[12.62076,47.672388],[12.141357,47.703083],[11.426414,47.523766],[10.544504,47.566399],[10.402084,47.302488],[9.896068,47.580197],[9.594226,47.525058],[8.522612,47.830828],[8.317301,47.61358],[7.466759,47.620582],[7.593676,48.333019],[8.099279,49.017784],[6.65823,49.201958],[6.18632,49.463803],[6.242751,49.902226],[6.043073,50.128052],[6.156658,50.803721],[5.988658,51.851616],[6.589397,51.852029],[6.84287,52.22844],[7.092053,53.144043],[6.90514,53.482162],[7.100425,53.693932],[7.936239,53.748296],[8.121706,53.527792],[8.800734,54.020786],[8.572118,54.395646],[8.526229,54.962744],[9.282049,54.830865],[9.921906,54.983104],[9.93958,54.596642],[10.950112,54.363607],[10.939467,54.008693],[11.956252,54.196486],[12.51844,54.470371],[13.647467,54.075511],[14.119686,53.757029]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Bulgaria","SOV_A3":"BGR","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Bulgaria","ADM0_A3":"BGR","GEOU_DIF":0,"GEOUNIT":"Bulgaria","GU_A3":"BGR","SU_DIF":0,"SUBUNIT":"Bulgaria","SU_A3":"BGR","BRK_DIFF":0,"NAME":"Bulgaria","NAME_LONG":"Bulgaria","BRK_A3":"BGR","BRK_NAME":"Bulgaria","BRK_GROUP":null,"ABBREV":"Bulg.","POSTAL":"BG","FORMAL_EN":"Republic of Bulgaria","FORMAL_FR":null,"NAME_CIAWF":"Bulgaria","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Bulgaria","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":5,"MAPCOLOR9":1,"MAPCOLOR13":8,"POP_EST":6975761,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":68558,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"3. Upper middle income","FIPS_10":"BU","ISO_A2":"BG","ISO_A2_EH":"BG","ISO_A3":"BGR","ISO_A3_EH":"BGR","ISO_N3":"100","ISO_N3_EH":"100","UN_A3":"100","WB_A2":"BG","WB_A3":"BGR","WOE_ID":23424771,"WOE_ID_EH":23424771,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BGR","ADM0_DIFF":null,"ADM0_TLC":"BGR","ADM0_A3_US":"BGR","ADM0_A3_FR":"BGR","ADM0_A3_RU":"BGR","ADM0_A3_ES":"BGR","ADM0_A3_CN":"BGR","ADM0_A3_TW":"BGR","ADM0_A3_IN":"BGR","ADM0_A3_NP":"BGR","ADM0_A3_PK":"BGR","ADM0_A3_DE":"BGR","ADM0_A3_GB":"BGR","ADM0_A3_BR":"BGR","ADM0_A3_IL":"BGR","ADM0_A3_PS":"BGR","ADM0_A3_SA":"BGR","ADM0_A3_EG":"BGR","ADM0_A3_MA":"BGR","ADM0_A3_PT":"BGR","ADM0_A3_AR":"BGR","ADM0_A3_JP":"BGR","ADM0_A3_KO":"BGR","ADM0_A3_VN":"BGR","ADM0_A3_TR":"BGR","ADM0_A3_ID":"BGR","ADM0_A3_PL":"BGR","ADM0_A3_GR":"BGR","ADM0_A3_IT":"BGR","ADM0_A3_NL":"BGR","ADM0_A3_SE":"BGR","ADM0_A3_BD":"BGR","ADM0_A3_UA":"BGR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Eastern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":25.15709,"LABEL_Y":42.508785,"NE_ID":1159320409,"WIKIDATAID":"Q219","NAME_AR":"بلغاريا","NAME_BN":"বুলগেরিয়া","NAME_DE":"Bulgarien","NAME_EN":"Bulgaria","NAME_ES":"Bulgaria","NAME_FA":"بلغارستان","NAME_FR":"Bulgarie","NAME_EL":"Βουλγαρία","NAME_HE":"בולגריה","NAME_HI":"बुल्गारिया","NAME_HU":"Bulgária","NAME_ID":"Bulgaria","NAME_IT":"Bulgaria","NAME_JA":"ブルガリア","NAME_KO":"불가리아","NAME_NL":"Bulgarije","NAME_PL":"Bułgaria","NAME_PT":"Bulgária","NAME_RU":"Болгария","NAME_SV":"Bulgarien","NAME_TR":"Bulgaristan","NAME_UK":"Болгарія","NAME_UR":"بلغاریہ","NAME_VI":"Bulgaria","NAME_ZH":"保加利亚","NAME_ZHT":"保加利亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[22.380526,41.234486,28.558081,44.234923],"geometry":{"type":"Polygon","coordinates":[[[22.65715,44.234923],[22.944832,43.823785],[23.332302,43.897011],[24.100679,43.741051],[25.569272,43.688445],[26.065159,43.943494],[27.2424,44.175986],[27.970107,43.812468],[28.558081,43.707462],[28.039095,43.293172],[27.673898,42.577892],[27.99672,42.007359],[27.135739,42.141485],[26.117042,41.826905],[26.106138,41.328899],[25.197201,41.234486],[24.492645,41.583896],[23.692074,41.309081],[22.952377,41.337994],[22.881374,41.999297],[22.380526,42.32026],[22.545012,42.461362],[22.436595,42.580321],[22.604801,42.898519],[22.986019,43.211161],[22.500157,43.642814],[22.410446,44.008063],[22.65715,44.234923]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Greece","SOV_A3":"GRC","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Greece","ADM0_A3":"GRC","GEOU_DIF":0,"GEOUNIT":"Greece","GU_A3":"GRC","SU_DIF":0,"SUBUNIT":"Greece","SU_A3":"GRC","BRK_DIFF":0,"NAME":"Greece","NAME_LONG":"Greece","BRK_A3":"GRC","BRK_NAME":"Greece","BRK_GROUP":null,"ABBREV":"Greece","POSTAL":"GR","FORMAL_EN":"Hellenic Republic","FORMAL_FR":null,"NAME_CIAWF":"Greece","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Greece","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":2,"MAPCOLOR9":2,"MAPCOLOR13":9,"POP_EST":10716322,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":209852,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"GR","ISO_A2":"GR","ISO_A2_EH":"GR","ISO_A3":"GRC","ISO_A3_EH":"GRC","ISO_N3":"300","ISO_N3_EH":"300","UN_A3":"300","WB_A2":"GR","WB_A3":"GRC","WOE_ID":23424833,"WOE_ID_EH":23424833,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"GRC","ADM0_DIFF":null,"ADM0_TLC":"GRC","ADM0_A3_US":"GRC","ADM0_A3_FR":"GRC","ADM0_A3_RU":"GRC","ADM0_A3_ES":"GRC","ADM0_A3_CN":"GRC","ADM0_A3_TW":"GRC","ADM0_A3_IN":"GRC","ADM0_A3_NP":"GRC","ADM0_A3_PK":"GRC","ADM0_A3_DE":"GRC","ADM0_A3_GB":"GRC","ADM0_A3_BR":"GRC","ADM0_A3_IL":"GRC","ADM0_A3_PS":"GRC","ADM0_A3_SA":"GRC","ADM0_A3_EG":"GRC","ADM0_A3_MA":"GRC","ADM0_A3_PT":"GRC","ADM0_A3_AR":"GRC","ADM0_A3_JP":"GRC","ADM0_A3_KO":"GRC","ADM0_A3_VN":"GRC","ADM0_A3_TR":"GRC","ADM0_A3_ID":"GRC","ADM0_A3_PL":"GRC","ADM0_A3_GR":"GRC","ADM0_A3_IT":"GRC","ADM0_A3_NL":"GRC","ADM0_A3_SE":"GRC","ADM0_A3_BD":"GRC","ADM0_A3_UA":"GRC","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Southern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.7,"MAX_LABEL":8,"LABEL_X":21.72568,"LABEL_Y":39.492763,"NE_ID":1159320811,"WIKIDATAID":"Q41","NAME_AR":"اليونان","NAME_BN":"গ্রিস","NAME_DE":"Griechenland","NAME_EN":"Greece","NAME_ES":"Grecia","NAME_FA":"یونان","NAME_FR":"Grèce","NAME_EL":"Ελλάδα","NAME_HE":"יוון","NAME_HI":"यूनान","NAME_HU":"Görögország","NAME_ID":"Yunani","NAME_IT":"Grecia","NAME_JA":"ギリシャ","NAME_KO":"그리스","NAME_NL":"Griekenland","NAME_PL":"Grecja","NAME_PT":"Grécia","NAME_RU":"Греция","NAME_SV":"Grekland","NAME_TR":"Yunanistan","NAME_UK":"Греція","NAME_UR":"یونان","NAME_VI":"Hy Lạp","NAME_ZH":"希腊","NAME_ZHT":"希臘","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[20.150016,34.919988,26.604196,41.826905],"geometry":{"type":"MultiPolygon","coordinates":[[[[26.290003,35.29999],[26.164998,35.004995],[24.724982,34.919988],[24.735007,35.084991],[23.514978,35.279992],[23.69998,35.705004],[24.246665,35.368022],[25.025015,35.424996],[25.769208,35.354018],[25.745023,35.179998],[26.290003,35.29999]]],[[[22.952377,41.337994],[23.692074,41.309081],[24.492645,41.583896],[25.197201,41.234486],[26.106138,41.328899],[26.117042,41.826905],[26.604196,41.562115],[26.294602,40.936261],[26.056942,40.824123],[25.447677,40.852545],[24.925848,40.947062],[23.714811,40.687129],[24.407999,40.124993],[23.899968,39.962006],[23.342999,39.960998],[22.813988,40.476005],[22.626299,40.256561],[22.849748,39.659311],[23.350027,39.190011],[22.973099,38.970903],[23.530016,38.510001],[24.025025,38.219993],[24.040011,37.655015],[23.115003,37.920011],[23.409972,37.409991],[22.774972,37.30501],[23.154225,36.422506],[22.490028,36.41],[21.670026,36.844986],[21.295011,37.644989],[21.120034,38.310323],[20.730032,38.769985],[20.217712,39.340235],[20.150016,39.624998],[20.615,40.110007],[20.674997,40.435],[20.99999,40.580004],[21.02004,40.842727],[21.674161,40.931275],[22.055378,41.149866],[22.597308,41.130487],[22.76177,41.3048],[22.952377,41.337994]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Turkey","SOV_A3":"TUR","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Turkey","ADM0_A3":"TUR","GEOU_DIF":0,"GEOUNIT":"Turkey","GU_A3":"TUR","SU_DIF":0,"SUBUNIT":"Turkey","SU_A3":"TUR","BRK_DIFF":0,"NAME":"Turkey","NAME_LONG":"Turkey","BRK_A3":"TUR","BRK_NAME":"Turkey","BRK_GROUP":null,"ABBREV":"Tur.","POSTAL":"TR","FORMAL_EN":"Republic of Turkey","FORMAL_FR":null,"NAME_CIAWF":"Turkey","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Turkey","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":3,"MAPCOLOR9":8,"MAPCOLOR13":4,"POP_EST":83429615,"POP_RANK":16,"POP_YEAR":2019,"GDP_MD":761425,"GDP_YEAR":2019,"ECONOMY":"4. Emerging region: MIKT","INCOME_GRP":"3. Upper middle income","FIPS_10":"TU","ISO_A2":"TR","ISO_A2_EH":"TR","ISO_A3":"TUR","ISO_A3_EH":"TUR","ISO_N3":"792","ISO_N3_EH":"792","UN_A3":"792","WB_A2":"TR","WB_A3":"TUR","WOE_ID":23424969,"WOE_ID_EH":23424969,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"TUR","ADM0_DIFF":null,"ADM0_TLC":"TUR","ADM0_A3_US":"TUR","ADM0_A3_FR":"TUR","ADM0_A3_RU":"TUR","ADM0_A3_ES":"TUR","ADM0_A3_CN":"TUR","ADM0_A3_TW":"TUR","ADM0_A3_IN":"TUR","ADM0_A3_NP":"TUR","ADM0_A3_PK":"TUR","ADM0_A3_DE":"TUR","ADM0_A3_GB":"TUR","ADM0_A3_BR":"TUR","ADM0_A3_IL":"TUR","ADM0_A3_PS":"TUR","ADM0_A3_SA":"TUR","ADM0_A3_EG":"TUR","ADM0_A3_MA":"TUR","ADM0_A3_PT":"TUR","ADM0_A3_AR":"TUR","ADM0_A3_JP":"TUR","ADM0_A3_KO":"TUR","ADM0_A3_VN":"TUR","ADM0_A3_TR":"TUR","ADM0_A3_ID":"TUR","ADM0_A3_PL":"TUR","ADM0_A3_GR":"TUR","ADM0_A3_IT":"TUR","ADM0_A3_NL":"TUR","ADM0_A3_SE":"TUR","ADM0_A3_BD":"TUR","ADM0_A3_UA":"TUR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Europe & Central Asia","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2,"MAX_LABEL":7,"LABEL_X":34.508268,"LABEL_Y":39.345388,"NE_ID":1159321331,"WIKIDATAID":"Q43","NAME_AR":"تركيا","NAME_BN":"তুরস্ক","NAME_DE":"Türkei","NAME_EN":"Turkey","NAME_ES":"Turquía","NAME_FA":"ترکیه","NAME_FR":"Turquie","NAME_EL":"Τουρκία","NAME_HE":"טורקיה","NAME_HI":"तुर्की","NAME_HU":"Törökország","NAME_ID":"Turki","NAME_IT":"Turchia","NAME_JA":"トルコ","NAME_KO":"터키","NAME_NL":"Turkije","NAME_PL":"Turcja","NAME_PT":"Turquia","NAME_RU":"Турция","NAME_SV":"Turkiet","NAME_TR":"Türkiye","NAME_UK":"Туреччина","NAME_UR":"ترکی","NAME_VI":"Thổ Nhĩ Kỳ","NAME_ZH":"土耳其","NAME_ZHT":"土耳其","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[26.043351,35.821535,44.79399,42.141485],"geometry":{"type":"MultiPolygon","coordinates":[[[[44.772677,37.170437],[44.293452,37.001514],[43.942259,37.256228],[42.779126,37.385264],[42.349591,37.229873],[41.212089,37.074352],[40.673259,37.091276],[39.52258,36.716054],[38.699891,36.712927],[38.167727,36.90121],[37.066761,36.623036],[36.739494,36.81752],[36.685389,36.259699],[36.41755,36.040617],[36.149763,35.821535],[35.782085,36.274995],[36.160822,36.650606],[35.550936,36.565443],[34.714553,36.795532],[34.026895,36.21996],[32.509158,36.107564],[31.699595,36.644275],[30.621625,36.677865],[30.391096,36.262981],[29.699976,36.144357],[28.732903,36.676831],[27.641187,36.658822],[27.048768,37.653361],[26.318218,38.208133],[26.8047,38.98576],[26.170785,39.463612],[27.28002,40.420014],[28.819978,40.460011],[29.240004,41.219991],[31.145934,41.087622],[32.347979,41.736264],[33.513283,42.01896],[35.167704,42.040225],[36.913127,41.335358],[38.347665,40.948586],[39.512607,41.102763],[40.373433,41.013673],[41.554084,41.535656],[42.619549,41.583173],[43.582746,41.092143],[43.752658,40.740201],[43.656436,40.253564],[44.400009,40.005],[44.79399,39.713003],[44.109225,39.428136],[44.421403,38.281281],[44.225756,37.971584],[44.77267,37.17045],[44.772677,37.170437]]],[[[26.117042,41.826905],[27.135739,42.141485],[27.99672,42.007359],[28.115525,41.622886],[28.988443,41.299934],[28.806438,41.054962],[27.619017,40.999823],[27.192377,40.690566],[26.358009,40.151994],[26.043351,40.617754],[26.056942,40.824123],[26.294602,40.936261],[26.604196,41.562115],[26.117042,41.826905]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Albania","SOV_A3":"ALB","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Albania","ADM0_A3":"ALB","GEOU_DIF":0,"GEOUNIT":"Albania","GU_A3":"ALB","SU_DIF":0,"SUBUNIT":"Albania","SU_A3":"ALB","BRK_DIFF":0,"NAME":"Albania","NAME_LONG":"Albania","BRK_A3":"ALB","BRK_NAME":"Albania","BRK_GROUP":null,"ABBREV":"Alb.","POSTAL":"AL","FORMAL_EN":"Republic of Albania","FORMAL_FR":null,"NAME_CIAWF":"Albania","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Albania","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":1,"MAPCOLOR13":6,"POP_EST":2854191,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":15279,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"AL","ISO_A2":"AL","ISO_A2_EH":"AL","ISO_A3":"ALB","ISO_A3_EH":"ALB","ISO_N3":"008","ISO_N3_EH":"008","UN_A3":"008","WB_A2":"AL","WB_A3":"ALB","WOE_ID":23424742,"WOE_ID_EH":23424742,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ALB","ADM0_DIFF":null,"ADM0_TLC":"ALB","ADM0_A3_US":"ALB","ADM0_A3_FR":"ALB","ADM0_A3_RU":"ALB","ADM0_A3_ES":"ALB","ADM0_A3_CN":"ALB","ADM0_A3_TW":"ALB","ADM0_A3_IN":"ALB","ADM0_A3_NP":"ALB","ADM0_A3_PK":"ALB","ADM0_A3_DE":"ALB","ADM0_A3_GB":"ALB","ADM0_A3_BR":"ALB","ADM0_A3_IL":"ALB","ADM0_A3_PS":"ALB","ADM0_A3_SA":"ALB","ADM0_A3_EG":"ALB","ADM0_A3_MA":"ALB","ADM0_A3_PT":"ALB","ADM0_A3_AR":"ALB","ADM0_A3_JP":"ALB","ADM0_A3_KO":"ALB","ADM0_A3_VN":"ALB","ADM0_A3_TR":"ALB","ADM0_A3_ID":"ALB","ADM0_A3_PL":"ALB","ADM0_A3_GR":"ALB","ADM0_A3_IT":"ALB","ADM0_A3_NL":"ALB","ADM0_A3_SE":"ALB","ADM0_A3_BD":"ALB","ADM0_A3_UA":"ALB","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Southern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":20.11384,"LABEL_Y":40.654855,"NE_ID":1159320325,"WIKIDATAID":"Q222","NAME_AR":"ألبانيا","NAME_BN":"আলবেনিয়া","NAME_DE":"Albanien","NAME_EN":"Albania","NAME_ES":"Albania","NAME_FA":"آلبانی","NAME_FR":"Albanie","NAME_EL":"Αλβανία","NAME_HE":"אלבניה","NAME_HI":"अल्बानिया","NAME_HU":"Albánia","NAME_ID":"Albania","NAME_IT":"Albania","NAME_JA":"アルバニア","NAME_KO":"알바니아","NAME_NL":"Albanië","NAME_PL":"Albania","NAME_PT":"Albânia","NAME_RU":"Албания","NAME_SV":"Albanien","NAME_TR":"Arnavutluk","NAME_UK":"Албанія","NAME_UR":"البانیا","NAME_VI":"Albania","NAME_ZH":"阿尔巴尼亚","NAME_ZHT":"阿爾巴尼亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[19.304486,39.624998,21.02004,42.688247],"geometry":{"type":"Polygon","coordinates":[[[21.02004,40.842727],[20.99999,40.580004],[20.674997,40.435],[20.615,40.110007],[20.150016,39.624998],[19.98,39.694993],[19.960002,39.915006],[19.406082,40.250773],[19.319059,40.72723],[19.40355,41.409566],[19.540027,41.719986],[19.371769,41.877548],[19.371768,41.877551],[19.304486,42.195745],[19.738051,42.688247],[19.801613,42.500093],[20.0707,42.58863],[20.283755,42.32026],[20.52295,42.21787],[20.590247,41.855409],[20.590247,41.855404],[20.463175,41.515089],[20.605182,41.086226],[21.02004,40.842727]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Croatia","SOV_A3":"HRV","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Croatia","ADM0_A3":"HRV","GEOU_DIF":0,"GEOUNIT":"Croatia","GU_A3":"HRV","SU_DIF":0,"SUBUNIT":"Croatia","SU_A3":"HRV","BRK_DIFF":0,"NAME":"Croatia","NAME_LONG":"Croatia","BRK_A3":"HRV","BRK_NAME":"Croatia","BRK_GROUP":null,"ABBREV":"Cro.","POSTAL":"HR","FORMAL_EN":"Republic of Croatia","FORMAL_FR":null,"NAME_CIAWF":"Croatia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Croatia","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":4,"MAPCOLOR9":5,"MAPCOLOR13":1,"POP_EST":4067500,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":60752,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"HR","ISO_A2":"HR","ISO_A2_EH":"HR","ISO_A3":"HRV","ISO_A3_EH":"HRV","ISO_N3":"191","ISO_N3_EH":"191","UN_A3":"191","WB_A2":"HR","WB_A3":"HRV","WOE_ID":23424843,"WOE_ID_EH":23424843,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"HRV","ADM0_DIFF":null,"ADM0_TLC":"HRV","ADM0_A3_US":"HRV","ADM0_A3_FR":"HRV","ADM0_A3_RU":"HRV","ADM0_A3_ES":"HRV","ADM0_A3_CN":"HRV","ADM0_A3_TW":"HRV","ADM0_A3_IN":"HRV","ADM0_A3_NP":"HRV","ADM0_A3_PK":"HRV","ADM0_A3_DE":"HRV","ADM0_A3_GB":"HRV","ADM0_A3_BR":"HRV","ADM0_A3_IL":"HRV","ADM0_A3_PS":"HRV","ADM0_A3_SA":"HRV","ADM0_A3_EG":"HRV","ADM0_A3_MA":"HRV","ADM0_A3_PT":"HRV","ADM0_A3_AR":"HRV","ADM0_A3_JP":"HRV","ADM0_A3_KO":"HRV","ADM0_A3_VN":"HRV","ADM0_A3_TR":"HRV","ADM0_A3_ID":"HRV","ADM0_A3_PL":"HRV","ADM0_A3_GR":"HRV","ADM0_A3_IT":"HRV","ADM0_A3_NL":"HRV","ADM0_A3_SE":"HRV","ADM0_A3_BD":"HRV","ADM0_A3_UA":"HRV","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Southern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":16.37241,"LABEL_Y":45.805799,"NE_ID":1159320833,"WIKIDATAID":"Q224","NAME_AR":"كرواتيا","NAME_BN":"ক্রোয়েশিয়া","NAME_DE":"Kroatien","NAME_EN":"Croatia","NAME_ES":"Croacia","NAME_FA":"کرواسی","NAME_FR":"Croatie","NAME_EL":"Κροατία","NAME_HE":"קרואטיה","NAME_HI":"क्रोएशिया","NAME_HU":"Horvátország","NAME_ID":"Kroasia","NAME_IT":"Croazia","NAME_JA":"クロアチア","NAME_KO":"크로아티아","NAME_NL":"Kroatië","NAME_PL":"Chorwacja","NAME_PT":"Croácia","NAME_RU":"Хорватия","NAME_SV":"Kroatien","NAME_TR":"Hırvatistan","NAME_UK":"Хорватія","NAME_UR":"کروشیا","NAME_VI":"Croatia","NAME_ZH":"克罗地亚","NAME_ZHT":"克羅地亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[13.656976,42.479991,19.390476,46.503751],"geometry":{"type":"Polygon","coordinates":[[[16.564808,46.503751],[16.882515,46.380632],[17.630066,45.951769],[18.456062,45.759481],[18.829825,45.908872],[19.072769,45.521511],[19.390476,45.236516],[19.005485,44.860234],[18.553214,45.08159],[17.861783,45.06774],[17.002146,45.233777],[16.534939,45.211608],[16.318157,45.004127],[15.959367,45.233777],[15.750026,44.818712],[16.23966,44.351143],[16.456443,44.04124],[16.916156,43.667722],[17.297373,43.446341],[17.674922,43.028563],[18.56,42.65],[18.450017,42.479992],[18.450016,42.479991],[17.50997,42.849995],[16.930006,43.209998],[16.015385,43.507215],[15.174454,44.243191],[15.37625,44.317915],[14.920309,44.738484],[14.901602,45.07606],[14.258748,45.233777],[13.952255,44.802124],[13.656976,45.136935],[13.679403,45.484149],[13.71506,45.500324],[14.411968,45.466166],[14.595109,45.634941],[14.935244,45.471695],[15.327675,45.452316],[15.323954,45.731783],[15.67153,45.834154],[15.768733,46.238108],[16.564808,46.503751]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Switzerland","SOV_A3":"CHE","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Switzerland","ADM0_A3":"CHE","GEOU_DIF":0,"GEOUNIT":"Switzerland","GU_A3":"CHE","SU_DIF":0,"SUBUNIT":"Switzerland","SU_A3":"CHE","BRK_DIFF":0,"NAME":"Switzerland","NAME_LONG":"Switzerland","BRK_A3":"CHE","BRK_NAME":"Switzerland","BRK_GROUP":null,"ABBREV":"Switz.","POSTAL":"CH","FORMAL_EN":"Swiss Confederation","FORMAL_FR":null,"NAME_CIAWF":"Switzerland","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Switzerland","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":2,"MAPCOLOR9":7,"MAPCOLOR13":3,"POP_EST":8574832,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":703082,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"SZ","ISO_A2":"CH","ISO_A2_EH":"CH","ISO_A3":"CHE","ISO_A3_EH":"CHE","ISO_N3":"756","ISO_N3_EH":"756","UN_A3":"756","WB_A2":"CH","WB_A3":"CHE","WOE_ID":23424957,"WOE_ID_EH":23424957,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"CHE","ADM0_DIFF":null,"ADM0_TLC":"CHE","ADM0_A3_US":"CHE","ADM0_A3_FR":"CHE","ADM0_A3_RU":"CHE","ADM0_A3_ES":"CHE","ADM0_A3_CN":"CHE","ADM0_A3_TW":"CHE","ADM0_A3_IN":"CHE","ADM0_A3_NP":"CHE","ADM0_A3_PK":"CHE","ADM0_A3_DE":"CHE","ADM0_A3_GB":"CHE","ADM0_A3_BR":"CHE","ADM0_A3_IL":"CHE","ADM0_A3_PS":"CHE","ADM0_A3_SA":"CHE","ADM0_A3_EG":"CHE","ADM0_A3_MA":"CHE","ADM0_A3_PT":"CHE","ADM0_A3_AR":"CHE","ADM0_A3_JP":"CHE","ADM0_A3_KO":"CHE","ADM0_A3_VN":"CHE","ADM0_A3_TR":"CHE","ADM0_A3_ID":"CHE","ADM0_A3_PL":"CHE","ADM0_A3_GR":"CHE","ADM0_A3_IT":"CHE","ADM0_A3_NL":"CHE","ADM0_A3_SE":"CHE","ADM0_A3_BD":"CHE","ADM0_A3_UA":"CHE","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Western Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":11,"LONG_LEN":11,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":7.463965,"LABEL_Y":46.719114,"NE_ID":1159320491,"WIKIDATAID":"Q39","NAME_AR":"سويسرا","NAME_BN":"সুইজারল্যান্ড","NAME_DE":"Schweiz","NAME_EN":"Switzerland","NAME_ES":"Suiza","NAME_FA":"سوئیس","NAME_FR":"Suisse","NAME_EL":"Ελβετία","NAME_HE":"שווייץ","NAME_HI":"स्विट्ज़रलैण्ड","NAME_HU":"Svájc","NAME_ID":"Swiss","NAME_IT":"Svizzera","NAME_JA":"スイス","NAME_KO":"스위스","NAME_NL":"Zwitserland","NAME_PL":"Szwajcaria","NAME_PT":"Suíça","NAME_RU":"Швейцария","NAME_SV":"Schweiz","NAME_TR":"İsviçre","NAME_UK":"Швейцарія","NAME_UR":"سویٹزرلینڈ","NAME_VI":"Thụy Sĩ","NAME_ZH":"瑞士","NAME_ZHT":"瑞士","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[6.022609,45.776948,10.442701,47.830828],"geometry":{"type":"Polygon","coordinates":[[[9.594226,47.525058],[9.632932,47.347601],[9.47997,47.10281],[9.932448,46.920728],[10.442701,46.893546],[10.363378,46.483571],[9.922837,46.314899],[9.182882,46.440215],[8.966306,46.036932],[8.489952,46.005151],[8.31663,46.163642],[7.755992,45.82449],[7.273851,45.776948],[6.843593,45.991147],[6.5001,46.429673],[6.022609,46.27299],[6.037389,46.725779],[6.768714,47.287708],[6.736571,47.541801],[7.192202,47.449766],[7.466759,47.620582],[8.317301,47.61358],[8.522612,47.830828],[9.594226,47.525058]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Luxembourg","SOV_A3":"LUX","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Luxembourg","ADM0_A3":"LUX","GEOU_DIF":0,"GEOUNIT":"Luxembourg","GU_A3":"LUX","SU_DIF":0,"SUBUNIT":"Luxembourg","SU_A3":"LUX","BRK_DIFF":0,"NAME":"Luxembourg","NAME_LONG":"Luxembourg","BRK_A3":"LUX","BRK_NAME":"Luxembourg","BRK_GROUP":null,"ABBREV":"Lux.","POSTAL":"L","FORMAL_EN":"Grand Duchy of Luxembourg","FORMAL_FR":null,"NAME_CIAWF":"Luxembourg","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Luxembourg","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":7,"MAPCOLOR9":3,"MAPCOLOR13":7,"POP_EST":619896,"POP_RANK":11,"POP_YEAR":2019,"GDP_MD":71104,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"LU","ISO_A2":"LU","ISO_A2_EH":"LU","ISO_A3":"LUX","ISO_A3_EH":"LUX","ISO_N3":"442","ISO_N3_EH":"442","UN_A3":"442","WB_A2":"LU","WB_A3":"LUX","WOE_ID":23424881,"WOE_ID_EH":23424881,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"LUX","ADM0_DIFF":null,"ADM0_TLC":"LUX","ADM0_A3_US":"LUX","ADM0_A3_FR":"LUX","ADM0_A3_RU":"LUX","ADM0_A3_ES":"LUX","ADM0_A3_CN":"LUX","ADM0_A3_TW":"LUX","ADM0_A3_IN":"LUX","ADM0_A3_NP":"LUX","ADM0_A3_PK":"LUX","ADM0_A3_DE":"LUX","ADM0_A3_GB":"LUX","ADM0_A3_BR":"LUX","ADM0_A3_IL":"LUX","ADM0_A3_PS":"LUX","ADM0_A3_SA":"LUX","ADM0_A3_EG":"LUX","ADM0_A3_MA":"LUX","ADM0_A3_PT":"LUX","ADM0_A3_AR":"LUX","ADM0_A3_JP":"LUX","ADM0_A3_KO":"LUX","ADM0_A3_VN":"LUX","ADM0_A3_TR":"LUX","ADM0_A3_ID":"LUX","ADM0_A3_PL":"LUX","ADM0_A3_GR":"LUX","ADM0_A3_IT":"LUX","ADM0_A3_NL":"LUX","ADM0_A3_SE":"LUX","ADM0_A3_BD":"LUX","ADM0_A3_UA":"LUX","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Western Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":4,"TINY":5,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5.7,"MAX_LABEL":10,"LABEL_X":6.07762,"LABEL_Y":49.733732,"NE_ID":1159321031,"WIKIDATAID":"Q32","NAME_AR":"لوكسمبورغ","NAME_BN":"লুক্সেমবুর্গ","NAME_DE":"Luxemburg","NAME_EN":"Luxembourg","NAME_ES":"Luxemburgo","NAME_FA":"لوکزامبورگ","NAME_FR":"Luxembourg","NAME_EL":"Λουξεμβούργο","NAME_HE":"לוקסמבורג","NAME_HI":"लक्ज़मबर्ग","NAME_HU":"Luxemburg","NAME_ID":"Luksemburg","NAME_IT":"Lussemburgo","NAME_JA":"ルクセンブルク","NAME_KO":"룩셈부르크","NAME_NL":"Luxemburg","NAME_PL":"Luksemburg","NAME_PT":"Luxemburgo","NAME_RU":"Люксембург","NAME_SV":"Luxemburg","NAME_TR":"Lüksemburg","NAME_UK":"Люксембург","NAME_UR":"لکسمبرگ","NAME_VI":"Luxembourg","NAME_ZH":"卢森堡","NAME_ZHT":"盧森堡","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[5.674052,49.442667,6.242751,50.128052],"geometry":{"type":"Polygon","coordinates":[[[6.043073,50.128052],[6.242751,49.902226],[6.18632,49.463803],[5.897759,49.442667],[5.674052,49.529484],[5.782417,50.090328],[6.043073,50.128052]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Belgium","SOV_A3":"BEL","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Belgium","ADM0_A3":"BEL","GEOU_DIF":0,"GEOUNIT":"Belgium","GU_A3":"BEL","SU_DIF":0,"SUBUNIT":"Belgium","SU_A3":"BEL","BRK_DIFF":0,"NAME":"Belgium","NAME_LONG":"Belgium","BRK_A3":"BEL","BRK_NAME":"Belgium","BRK_GROUP":null,"ABBREV":"Belg.","POSTAL":"B","FORMAL_EN":"Kingdom of Belgium","FORMAL_FR":null,"NAME_CIAWF":"Belgium","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Belgium","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":2,"MAPCOLOR9":1,"MAPCOLOR13":8,"POP_EST":11484055,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":533097,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"BE","ISO_A2":"BE","ISO_A2_EH":"BE","ISO_A3":"BEL","ISO_A3_EH":"BEL","ISO_N3":"056","ISO_N3_EH":"056","UN_A3":"056","WB_A2":"BE","WB_A3":"BEL","WOE_ID":23424757,"WOE_ID_EH":23424757,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BEL","ADM0_DIFF":null,"ADM0_TLC":"BEL","ADM0_A3_US":"BEL","ADM0_A3_FR":"BEL","ADM0_A3_RU":"BEL","ADM0_A3_ES":"BEL","ADM0_A3_CN":"BEL","ADM0_A3_TW":"BEL","ADM0_A3_IN":"BEL","ADM0_A3_NP":"BEL","ADM0_A3_PK":"BEL","ADM0_A3_DE":"BEL","ADM0_A3_GB":"BEL","ADM0_A3_BR":"BEL","ADM0_A3_IL":"BEL","ADM0_A3_PS":"BEL","ADM0_A3_SA":"BEL","ADM0_A3_EG":"BEL","ADM0_A3_MA":"BEL","ADM0_A3_PT":"BEL","ADM0_A3_AR":"BEL","ADM0_A3_JP":"BEL","ADM0_A3_KO":"BEL","ADM0_A3_VN":"BEL","ADM0_A3_TR":"BEL","ADM0_A3_ID":"BEL","ADM0_A3_PL":"BEL","ADM0_A3_GR":"BEL","ADM0_A3_IT":"BEL","ADM0_A3_NL":"BEL","ADM0_A3_SE":"BEL","ADM0_A3_BD":"BEL","ADM0_A3_UA":"BEL","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Western Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":4.800448,"LABEL_Y":50.785392,"NE_ID":1159320389,"WIKIDATAID":"Q31","NAME_AR":"بلجيكا","NAME_BN":"বেলজিয়াম","NAME_DE":"Belgien","NAME_EN":"Belgium","NAME_ES":"Bélgica","NAME_FA":"بلژیک","NAME_FR":"Belgique","NAME_EL":"Βέλγιο","NAME_HE":"בלגיה","NAME_HI":"बेल्जियम","NAME_HU":"Belgium","NAME_ID":"Belgia","NAME_IT":"Belgio","NAME_JA":"ベルギー","NAME_KO":"벨기에","NAME_NL":"België","NAME_PL":"Belgia","NAME_PT":"Bélgica","NAME_RU":"Бельгия","NAME_SV":"Belgien","NAME_TR":"Belçika","NAME_UK":"Бельгія","NAME_UR":"بلجئیم","NAME_VI":"Bỉ","NAME_ZH":"比利时","NAME_ZHT":"比利時","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[2.513573,49.529484,6.156658,51.475024],"geometry":{"type":"Polygon","coordinates":[[[6.156658,50.803721],[6.043073,50.128052],[5.782417,50.090328],[5.674052,49.529484],[4.799222,49.985373],[4.286023,49.907497],[3.588184,50.378992],[3.123252,50.780363],[2.658422,50.796848],[2.513573,51.148506],[3.314971,51.345781],[3.315011,51.345777],[3.314971,51.345755],[4.047071,51.267259],[4.973991,51.475024],[5.606976,51.037298],[6.156658,50.803721]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Netherlands","SOV_A3":"NL1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Country","TLC":"1","ADMIN":"Netherlands","ADM0_A3":"NLD","GEOU_DIF":0,"GEOUNIT":"Netherlands","GU_A3":"NLD","SU_DIF":0,"SUBUNIT":"Netherlands","SU_A3":"NLD","BRK_DIFF":0,"NAME":"Netherlands","NAME_LONG":"Netherlands","BRK_A3":"NLD","BRK_NAME":"Netherlands","BRK_GROUP":null,"ABBREV":"Neth.","POSTAL":"NL","FORMAL_EN":"Kingdom of the Netherlands","FORMAL_FR":null,"NAME_CIAWF":"Netherlands","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Netherlands","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":2,"MAPCOLOR9":2,"MAPCOLOR13":9,"POP_EST":17332850,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":907050,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"NL","ISO_A2":"NL","ISO_A2_EH":"NL","ISO_A3":"NLD","ISO_A3_EH":"NLD","ISO_N3":"528","ISO_N3_EH":"528","UN_A3":"528","WB_A2":"NL","WB_A3":"NLD","WOE_ID":-90,"WOE_ID_EH":23424909,"WOE_NOTE":"Doesn't include new former units of Netherlands Antilles (24549811, 24549808, and 24549809)","ADM0_ISO":"NLD","ADM0_DIFF":null,"ADM0_TLC":"NLD","ADM0_A3_US":"NLD","ADM0_A3_FR":"NLD","ADM0_A3_RU":"NLD","ADM0_A3_ES":"NLD","ADM0_A3_CN":"NLD","ADM0_A3_TW":"NLD","ADM0_A3_IN":"NLD","ADM0_A3_NP":"NLD","ADM0_A3_PK":"NLD","ADM0_A3_DE":"NLD","ADM0_A3_GB":"NLD","ADM0_A3_BR":"NLD","ADM0_A3_IL":"NLD","ADM0_A3_PS":"NLD","ADM0_A3_SA":"NLD","ADM0_A3_EG":"NLD","ADM0_A3_MA":"NLD","ADM0_A3_PT":"NLD","ADM0_A3_AR":"NLD","ADM0_A3_JP":"NLD","ADM0_A3_KO":"NLD","ADM0_A3_VN":"NLD","ADM0_A3_TR":"NLD","ADM0_A3_ID":"NLD","ADM0_A3_PL":"NLD","ADM0_A3_GR":"NLD","ADM0_A3_IT":"NLD","ADM0_A3_NL":"NLD","ADM0_A3_SE":"NLD","ADM0_A3_BD":"NLD","ADM0_A3_UA":"NLD","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Western Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":11,"LONG_LEN":11,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":10,"LABEL_X":5.61144,"LABEL_Y":52.422211,"NE_ID":1159321101,"WIKIDATAID":"Q55","NAME_AR":"هولندا","NAME_BN":"নেদারল্যান্ডস","NAME_DE":"Niederlande","NAME_EN":"Netherlands","NAME_ES":"Países Bajos","NAME_FA":"هلند","NAME_FR":"Pays-Bas","NAME_EL":"Ολλανδία","NAME_HE":"הולנד","NAME_HI":"नीदरलैण्ड","NAME_HU":"Hollandia","NAME_ID":"Belanda","NAME_IT":"Paesi Bassi","NAME_JA":"オランダ","NAME_KO":"네덜란드","NAME_NL":"Nederland","NAME_PL":"Holandia","NAME_PT":"Países Baixos","NAME_RU":"Нидерланды","NAME_SV":"Nederländerna","NAME_TR":"Hollanda","NAME_UK":"Нідерланди","NAME_UR":"نیدرلینڈز","NAME_VI":"Hà Lan","NAME_ZH":"荷兰","NAME_ZHT":"荷蘭","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[3.314971,50.803721,7.092053,53.510403],"geometry":{"type":"Polygon","coordinates":[[[6.90514,53.482162],[7.092053,53.144043],[6.84287,52.22844],[6.589397,51.852029],[5.988658,51.851616],[6.156658,50.803721],[5.606976,51.037298],[4.973991,51.475024],[4.047071,51.267259],[3.314971,51.345755],[3.315011,51.345777],[3.830289,51.620545],[4.705997,53.091798],[6.074183,53.510403],[6.90514,53.482162]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Portugal","SOV_A3":"PRT","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Portugal","ADM0_A3":"PRT","GEOU_DIF":0,"GEOUNIT":"Portugal","GU_A3":"PRT","SU_DIF":1,"SUBUNIT":"Portugal","SU_A3":"PR1","BRK_DIFF":0,"NAME":"Portugal","NAME_LONG":"Portugal","BRK_A3":"PR1","BRK_NAME":"Portugal","BRK_GROUP":null,"ABBREV":"Port.","POSTAL":"P","FORMAL_EN":"Portuguese Republic","FORMAL_FR":null,"NAME_CIAWF":"Portugal","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Portugal","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":7,"MAPCOLOR9":1,"MAPCOLOR13":4,"POP_EST":10269417,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":238785,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"PO","ISO_A2":"PT","ISO_A2_EH":"PT","ISO_A3":"PRT","ISO_A3_EH":"PRT","ISO_N3":"620","ISO_N3_EH":"620","UN_A3":"620","WB_A2":"PT","WB_A3":"PRT","WOE_ID":23424925,"WOE_ID_EH":23424925,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"PR1","ADM0_DIFF":null,"ADM0_TLC":"PR1","ADM0_A3_US":"PRT","ADM0_A3_FR":"PRT","ADM0_A3_RU":"PRT","ADM0_A3_ES":"PRT","ADM0_A3_CN":"PRT","ADM0_A3_TW":"PRT","ADM0_A3_IN":"PRT","ADM0_A3_NP":"PRT","ADM0_A3_PK":"PRT","ADM0_A3_DE":"PRT","ADM0_A3_GB":"PRT","ADM0_A3_BR":"PRT","ADM0_A3_IL":"PRT","ADM0_A3_PS":"PRT","ADM0_A3_SA":"PRT","ADM0_A3_EG":"PRT","ADM0_A3_MA":"PRT","ADM0_A3_PT":"PRT","ADM0_A3_AR":"PRT","ADM0_A3_JP":"PRT","ADM0_A3_KO":"PRT","ADM0_A3_VN":"PRT","ADM0_A3_TR":"PRT","ADM0_A3_ID":"PRT","ADM0_A3_PL":"PRT","ADM0_A3_GR":"PRT","ADM0_A3_IT":"PRT","ADM0_A3_NL":"PRT","ADM0_A3_SE":"PRT","ADM0_A3_BD":"PRT","ADM0_A3_UA":"PRT","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Southern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":-8.271754,"LABEL_Y":39.606675,"NE_ID":1159321187,"WIKIDATAID":"Q45","NAME_AR":"البرتغال","NAME_BN":"পর্তুগাল","NAME_DE":"Portugal","NAME_EN":"Portugal","NAME_ES":"Portugal","NAME_FA":"پرتغال","NAME_FR":"Portugal","NAME_EL":"Πορτογαλία","NAME_HE":"פורטוגל","NAME_HI":"पुर्तगाल","NAME_HU":"Portugália","NAME_ID":"Portugal","NAME_IT":"Portogallo","NAME_JA":"ポルトガル","NAME_KO":"포르투갈","NAME_NL":"Portugal","NAME_PL":"Portugalia","NAME_PT":"Portugal","NAME_RU":"Португалия","NAME_SV":"Portugal","NAME_TR":"Portekiz","NAME_UK":"Португалія","NAME_UR":"پرتگال","NAME_VI":"Bồ Đào Nha","NAME_ZH":"葡萄牙","NAME_ZHT":"葡萄牙","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-9.526571,36.838269,-6.389088,42.280469],"geometry":{"type":"Polygon","coordinates":[[[-9.034818,41.880571],[-8.671946,42.134689],[-8.263857,42.280469],[-8.013175,41.790886],[-7.422513,41.792075],[-7.251309,41.918346],[-6.668606,41.883387],[-6.389088,41.381815],[-6.851127,41.111083],[-6.86402,40.330872],[-7.026413,40.184524],[-7.066592,39.711892],[-7.498632,39.629571],[-7.098037,39.030073],[-7.374092,38.373059],[-7.029281,38.075764],[-7.166508,37.803894],[-7.537105,37.428904],[-7.453726,37.097788],[-7.855613,36.838269],[-8.382816,36.97888],[-8.898857,36.868809],[-8.746101,37.651346],[-8.839998,38.266243],[-9.287464,38.358486],[-9.526571,38.737429],[-9.446989,39.392066],[-9.048305,39.755093],[-8.977353,40.159306],[-8.768684,40.760639],[-8.790853,41.184334],[-8.990789,41.543459],[-9.034818,41.880571]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Spain","SOV_A3":"ESP","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Spain","ADM0_A3":"ESP","GEOU_DIF":0,"GEOUNIT":"Spain","GU_A3":"ESP","SU_DIF":0,"SUBUNIT":"Spain","SU_A3":"ESP","BRK_DIFF":0,"NAME":"Spain","NAME_LONG":"Spain","BRK_A3":"ESP","BRK_NAME":"Spain","BRK_GROUP":null,"ABBREV":"Sp.","POSTAL":"E","FORMAL_EN":"Kingdom of Spain","FORMAL_FR":null,"NAME_CIAWF":"Spain","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Spain","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":5,"MAPCOLOR9":5,"MAPCOLOR13":5,"POP_EST":47076781,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":1393490,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"SP","ISO_A2":"ES","ISO_A2_EH":"ES","ISO_A3":"ESP","ISO_A3_EH":"ESP","ISO_N3":"724","ISO_N3_EH":"724","UN_A3":"724","WB_A2":"ES","WB_A3":"ESP","WOE_ID":23424950,"WOE_ID_EH":23424950,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ESP","ADM0_DIFF":null,"ADM0_TLC":"ESP","ADM0_A3_US":"ESP","ADM0_A3_FR":"ESP","ADM0_A3_RU":"ESP","ADM0_A3_ES":"ESP","ADM0_A3_CN":"ESP","ADM0_A3_TW":"ESP","ADM0_A3_IN":"ESP","ADM0_A3_NP":"ESP","ADM0_A3_PK":"ESP","ADM0_A3_DE":"ESP","ADM0_A3_GB":"ESP","ADM0_A3_BR":"ESP","ADM0_A3_IL":"ESP","ADM0_A3_PS":"ESP","ADM0_A3_SA":"ESP","ADM0_A3_EG":"ESP","ADM0_A3_MA":"ESP","ADM0_A3_PT":"ESP","ADM0_A3_AR":"ESP","ADM0_A3_JP":"ESP","ADM0_A3_KO":"ESP","ADM0_A3_VN":"ESP","ADM0_A3_TR":"ESP","ADM0_A3_ID":"ESP","ADM0_A3_PL":"ESP","ADM0_A3_GR":"ESP","ADM0_A3_IT":"ESP","ADM0_A3_NL":"ESP","ADM0_A3_SE":"ESP","ADM0_A3_BD":"ESP","ADM0_A3_UA":"ESP","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Southern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":3,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2,"MAX_LABEL":7,"LABEL_X":-3.464718,"LABEL_Y":40.090953,"NE_ID":1159320587,"WIKIDATAID":"Q29","NAME_AR":"إسبانيا","NAME_BN":"স্পেন","NAME_DE":"Spanien","NAME_EN":"Spain","NAME_ES":"España","NAME_FA":"اسپانیا","NAME_FR":"Espagne","NAME_EL":"Ισπανία","NAME_HE":"ספרד","NAME_HI":"स्पेन","NAME_HU":"Spanyolország","NAME_ID":"Spanyol","NAME_IT":"Spagna","NAME_JA":"スペイン","NAME_KO":"스페인","NAME_NL":"Spanje","NAME_PL":"Hiszpania","NAME_PT":"Espanha","NAME_RU":"Испания","NAME_SV":"Spanien","NAME_TR":"İspanya","NAME_UK":"Іспанія","NAME_UR":"ہسپانیہ","NAME_VI":"Tây Ban Nha","NAME_ZH":"西班牙","NAME_ZHT":"西班牙","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-9.392884,35.94685,3.039484,43.748338],"geometry":{"type":"Polygon","coordinates":[[[-7.453726,37.097788],[-7.537105,37.428904],[-7.166508,37.803894],[-7.029281,38.075764],[-7.374092,38.373059],[-7.098037,39.030073],[-7.498632,39.629571],[-7.066592,39.711892],[-7.026413,40.184524],[-6.86402,40.330872],[-6.851127,41.111083],[-6.389088,41.381815],[-6.668606,41.883387],[-7.251309,41.918346],[-7.422513,41.792075],[-8.013175,41.790886],[-8.263857,42.280469],[-8.671946,42.134689],[-9.034818,41.880571],[-8.984433,42.592775],[-9.392884,43.026625],[-7.97819,43.748338],[-6.754492,43.567909],[-5.411886,43.57424],[-4.347843,43.403449],[-3.517532,43.455901],[-1.901351,43.422802],[-1.502771,43.034014],[0.338047,42.579546],[0.701591,42.795734],[1.826793,42.343385],[2.985999,42.473015],[3.039484,41.89212],[2.091842,41.226089],[0.810525,41.014732],[0.721331,40.678318],[0.106692,40.123934],[-0.278711,39.309978],[0.111291,38.738514],[-0.467124,38.292366],[-0.683389,37.642354],[-1.438382,37.443064],[-2.146453,36.674144],[-3.415781,36.6589],[-4.368901,36.677839],[-4.995219,36.324708],[-5.37716,35.94685],[-5.866432,36.029817],[-6.236694,36.367677],[-6.520191,36.942913],[-7.453726,37.097788]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Ireland","SOV_A3":"IRL","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Ireland","ADM0_A3":"IRL","GEOU_DIF":0,"GEOUNIT":"Ireland","GU_A3":"IRL","SU_DIF":0,"SUBUNIT":"Ireland","SU_A3":"IRL","BRK_DIFF":0,"NAME":"Ireland","NAME_LONG":"Ireland","BRK_A3":"IRL","BRK_NAME":"Ireland","BRK_GROUP":null,"ABBREV":"Ire.","POSTAL":"IRL","FORMAL_EN":"Ireland","FORMAL_FR":null,"NAME_CIAWF":"Ireland","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Ireland","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":3,"MAPCOLOR9":2,"MAPCOLOR13":2,"POP_EST":4941444,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":388698,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"EI","ISO_A2":"IE","ISO_A2_EH":"IE","ISO_A3":"IRL","ISO_A3_EH":"IRL","ISO_N3":"372","ISO_N3_EH":"372","UN_A3":"372","WB_A2":"IE","WB_A3":"IRL","WOE_ID":23424803,"WOE_ID_EH":23424803,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"IRL","ADM0_DIFF":null,"ADM0_TLC":"IRL","ADM0_A3_US":"IRL","ADM0_A3_FR":"IRL","ADM0_A3_RU":"IRL","ADM0_A3_ES":"IRL","ADM0_A3_CN":"IRL","ADM0_A3_TW":"IRL","ADM0_A3_IN":"IRL","ADM0_A3_NP":"IRL","ADM0_A3_PK":"IRL","ADM0_A3_DE":"IRL","ADM0_A3_GB":"IRL","ADM0_A3_BR":"IRL","ADM0_A3_IL":"IRL","ADM0_A3_PS":"IRL","ADM0_A3_SA":"IRL","ADM0_A3_EG":"IRL","ADM0_A3_MA":"IRL","ADM0_A3_PT":"IRL","ADM0_A3_AR":"IRL","ADM0_A3_JP":"IRL","ADM0_A3_KO":"IRL","ADM0_A3_VN":"IRL","ADM0_A3_TR":"IRL","ADM0_A3_ID":"IRL","ADM0_A3_PL":"IRL","ADM0_A3_GR":"IRL","ADM0_A3_IT":"IRL","ADM0_A3_NL":"IRL","ADM0_A3_SE":"IRL","ADM0_A3_BD":"IRL","ADM0_A3_UA":"IRL","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Northern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":-7.798588,"LABEL_Y":53.078726,"NE_ID":1159320877,"WIKIDATAID":"Q27","NAME_AR":"جمهورية أيرلندا","NAME_BN":"প্রজাতন্ত্রী আয়ারল্যান্ড","NAME_DE":"Irland","NAME_EN":"Ireland","NAME_ES":"Irlanda","NAME_FA":"ایرلند","NAME_FR":"Irlande","NAME_EL":"Δημοκρατία της Ιρλανδίας","NAME_HE":"אירלנד","NAME_HI":"आयरलैण्ड","NAME_HU":"Írország","NAME_ID":"Republik Irlandia","NAME_IT":"Irlanda","NAME_JA":"アイルランド","NAME_KO":"아일랜드","NAME_NL":"Ierland","NAME_PL":"Irlandia","NAME_PT":"República da Irlanda","NAME_RU":"Ирландия","NAME_SV":"Irland","NAME_TR":"İrlanda","NAME_UK":"Ірландія","NAME_UR":"جمہوریہ آئرلینڈ","NAME_VI":"Cộng hòa Ireland","NAME_ZH":"爱尔兰","NAME_ZHT":"愛爾蘭","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-9.977086,51.669301,-6.032985,55.131622],"geometry":{"type":"Polygon","coordinates":[[[-6.197885,53.867565],[-6.032985,53.153164],[-6.788857,52.260118],[-8.561617,51.669301],[-9.977086,51.820455],[-9.166283,52.864629],[-9.688525,53.881363],[-8.327987,54.664519],[-7.572168,55.131622],[-7.366031,54.595841],[-7.572168,54.059956],[-6.95373,54.073702],[-6.197885,53.867565]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"France","SOV_A3":"FR1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"New Caledonia","ADM0_A3":"NCL","GEOU_DIF":0,"GEOUNIT":"New Caledonia","GU_A3":"NCL","SU_DIF":0,"SUBUNIT":"New Caledonia","SU_A3":"NCL","BRK_DIFF":0,"NAME":"New Caledonia","NAME_LONG":"New Caledonia","BRK_A3":"NCL","BRK_NAME":"New Caledonia","BRK_GROUP":null,"ABBREV":"New C.","POSTAL":"NC","FORMAL_EN":"New Caledonia","FORMAL_FR":"Nouvelle-Calédonie","NAME_CIAWF":"New Caledonia","NOTE_ADM0":"Fr.","NOTE_BRK":null,"NAME_SORT":"New Caledonia","NAME_ALT":null,"MAPCOLOR7":7,"MAPCOLOR8":5,"MAPCOLOR9":9,"MAPCOLOR13":11,"POP_EST":287800,"POP_RANK":10,"POP_YEAR":2019,"GDP_MD":10770,"GDP_YEAR":2016,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"NC","ISO_A2":"NC","ISO_A2_EH":"NC","ISO_A3":"NCL","ISO_A3_EH":"NCL","ISO_N3":"540","ISO_N3_EH":"540","UN_A3":"540","WB_A2":"NC","WB_A3":"NCL","WOE_ID":23424903,"WOE_ID_EH":23424903,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"NCL","ADM0_DIFF":null,"ADM0_TLC":"NCL","ADM0_A3_US":"NCL","ADM0_A3_FR":"NCL","ADM0_A3_RU":"NCL","ADM0_A3_ES":"NCL","ADM0_A3_CN":"NCL","ADM0_A3_TW":"NCL","ADM0_A3_IN":"NCL","ADM0_A3_NP":"NCL","ADM0_A3_PK":"NCL","ADM0_A3_DE":"NCL","ADM0_A3_GB":"NCL","ADM0_A3_BR":"NCL","ADM0_A3_IL":"NCL","ADM0_A3_PS":"NCL","ADM0_A3_SA":"NCL","ADM0_A3_EG":"NCL","ADM0_A3_MA":"NCL","ADM0_A3_PT":"NCL","ADM0_A3_AR":"NCL","ADM0_A3_JP":"NCL","ADM0_A3_KO":"NCL","ADM0_A3_VN":"NCL","ADM0_A3_TR":"NCL","ADM0_A3_ID":"NCL","ADM0_A3_PL":"NCL","ADM0_A3_GR":"NCL","ADM0_A3_IT":"NCL","ADM0_A3_NL":"NCL","ADM0_A3_SE":"NCL","ADM0_A3_BD":"NCL","ADM0_A3_UA":"NCL","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Melanesia","REGION_WB":"East Asia & Pacific","NAME_LEN":13,"LONG_LEN":13,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":4.6,"MAX_LABEL":8,"LABEL_X":165.084004,"LABEL_Y":-21.064697,"NE_ID":1159320641,"WIKIDATAID":"Q33788","NAME_AR":"كاليدونيا الجديدة","NAME_BN":"নতুন ক্যালিডোনিয়া","NAME_DE":"Neukaledonien","NAME_EN":"New Caledonia","NAME_ES":"Nueva Caledonia","NAME_FA":"کالدونیای جدید","NAME_FR":"Nouvelle-Calédonie","NAME_EL":"Νέα Καληδονία","NAME_HE":"קלדוניה החדשה","NAME_HI":"नया कैलेडोनिया","NAME_HU":"Új-Kaledónia","NAME_ID":"Kaledonia Baru","NAME_IT":"Nuova Caledonia","NAME_JA":"ニューカレドニア","NAME_KO":"누벨칼레도니","NAME_NL":"Nieuw-Caledonië","NAME_PL":"Nowa Kaledonia","NAME_PT":"Nova Caledónia","NAME_RU":"Новая Каледония","NAME_SV":"Nya Kaledonien","NAME_TR":"Yeni Kaledonya","NAME_UK":"Нова Каледонія","NAME_UR":"نیو کیلیڈونیا","NAME_VI":"Nouvelle-Calédonie","NAME_ZH":"新喀里多尼亚","NAME_ZHT":"新喀里多尼亞","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[164.029606,-22.399976,167.120011,-20.105646],"geometry":{"type":"Polygon","coordinates":[[[165.77999,-21.080005],[166.599991,-21.700019],[167.120011,-22.159991],[166.740035,-22.399976],[166.189732,-22.129708],[165.474375,-21.679607],[164.829815,-21.14982],[164.167995,-20.444747],[164.029606,-20.105646],[164.459967,-20.120012],[165.020036,-20.459991],[165.460009,-20.800022],[165.77999,-21.080005]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Solomon Islands","SOV_A3":"SLB","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Solomon Islands","ADM0_A3":"SLB","GEOU_DIF":0,"GEOUNIT":"Solomon Islands","GU_A3":"SLB","SU_DIF":0,"SUBUNIT":"Solomon Islands","SU_A3":"SLB","BRK_DIFF":0,"NAME":"Solomon Is.","NAME_LONG":"Solomon Islands","BRK_A3":"SLB","BRK_NAME":"Solomon Is.","BRK_GROUP":null,"ABBREV":"S. Is.","POSTAL":"SB","FORMAL_EN":null,"FORMAL_FR":null,"NAME_CIAWF":"Solomon Islands","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Solomon Islands","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":1,"MAPCOLOR13":6,"POP_EST":669823,"POP_RANK":11,"POP_YEAR":2019,"GDP_MD":1589,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"4. Lower middle income","FIPS_10":"BP","ISO_A2":"SB","ISO_A2_EH":"SB","ISO_A3":"SLB","ISO_A3_EH":"SLB","ISO_N3":"090","ISO_N3_EH":"090","UN_A3":"090","WB_A2":"SB","WB_A3":"SLB","WOE_ID":23424766,"WOE_ID_EH":23424766,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"SLB","ADM0_DIFF":null,"ADM0_TLC":"SLB","ADM0_A3_US":"SLB","ADM0_A3_FR":"SLB","ADM0_A3_RU":"SLB","ADM0_A3_ES":"SLB","ADM0_A3_CN":"SLB","ADM0_A3_TW":"SLB","ADM0_A3_IN":"SLB","ADM0_A3_NP":"SLB","ADM0_A3_PK":"SLB","ADM0_A3_DE":"SLB","ADM0_A3_GB":"SLB","ADM0_A3_BR":"SLB","ADM0_A3_IL":"SLB","ADM0_A3_PS":"SLB","ADM0_A3_SA":"SLB","ADM0_A3_EG":"SLB","ADM0_A3_MA":"SLB","ADM0_A3_PT":"SLB","ADM0_A3_AR":"SLB","ADM0_A3_JP":"SLB","ADM0_A3_KO":"SLB","ADM0_A3_VN":"SLB","ADM0_A3_TR":"SLB","ADM0_A3_ID":"SLB","ADM0_A3_PL":"SLB","ADM0_A3_GR":"SLB","ADM0_A3_IT":"SLB","ADM0_A3_NL":"SLB","ADM0_A3_SE":"SLB","ADM0_A3_BD":"SLB","ADM0_A3_UA":"SLB","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Melanesia","REGION_WB":"East Asia & Pacific","NAME_LEN":11,"LONG_LEN":15,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":159.170468,"LABEL_Y":-8.029548,"NE_ID":1159321249,"WIKIDATAID":"Q685","NAME_AR":"جزر سليمان","NAME_BN":"সলোমন দ্বীপপুঞ্জ","NAME_DE":"Salomonen","NAME_EN":"Solomon Islands","NAME_ES":"Islas Salomón","NAME_FA":"جزایر سلیمان","NAME_FR":"Îles Salomon","NAME_EL":"Νησιά Σολομώντα","NAME_HE":"איי שלמה","NAME_HI":"सोलोमन द्वीपसमूह","NAME_HU":"Salamon-szigetek","NAME_ID":"Kepulauan Solomon","NAME_IT":"Isole Salomone","NAME_JA":"ソロモン諸島","NAME_KO":"솔로몬 제도","NAME_NL":"Salomonseilanden","NAME_PL":"Wyspy Salomona","NAME_PT":"Ilhas Salomão","NAME_RU":"Соломоновы Острова","NAME_SV":"Salomonöarna","NAME_TR":"Solomon Adaları","NAME_UK":"Соломонові Острови","NAME_UR":"جزائر سلیمان","NAME_VI":"Quần đảo Solomon","NAME_ZH":"所罗门群岛","NAME_ZHT":"索羅門群島","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[156.491358,-10.826367,162.398646,-6.599338],"geometry":{"type":"MultiPolygon","coordinates":[[[[162.119025,-10.482719],[162.398646,-10.826367],[161.700032,-10.820011],[161.319797,-10.204751],[161.917383,-10.446701],[162.119025,-10.482719]]],[[[161.679982,-9.599982],[161.529397,-9.784312],[160.788253,-8.917543],[160.579997,-8.320009],[160.920028,-8.320009],[161.280006,-9.120011],[161.679982,-9.599982]]],[[[160.852229,-9.872937],[160.462588,-9.89521],[159.849447,-9.794027],[159.640003,-9.63998],[159.702945,-9.24295],[160.362956,-9.400304],[160.688518,-9.610162],[160.852229,-9.872937]]],[[[159.640003,-8.020027],[159.875027,-8.33732],[159.917402,-8.53829],[159.133677,-8.114181],[158.586114,-7.754824],[158.21115,-7.421872],[158.359978,-7.320018],[158.820001,-7.560003],[159.640003,-8.020027]]],[[[157.14,-7.021638],[157.538426,-7.34782],[157.33942,-7.404767],[156.90203,-7.176874],[156.491358,-6.765943],[156.542828,-6.599338],[157.14,-7.021638]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"New Zealand","SOV_A3":"NZ1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Country","TLC":"1","ADMIN":"New Zealand","ADM0_A3":"NZL","GEOU_DIF":0,"GEOUNIT":"New Zealand","GU_A3":"NZL","SU_DIF":0,"SUBUNIT":"New Zealand","SU_A3":"NZL","BRK_DIFF":0,"NAME":"New Zealand","NAME_LONG":"New Zealand","BRK_A3":"NZL","BRK_NAME":"New Zealand","BRK_GROUP":null,"ABBREV":"N.Z.","POSTAL":"NZ","FORMAL_EN":"New Zealand","FORMAL_FR":null,"NAME_CIAWF":"New Zealand","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"New Zealand","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":3,"MAPCOLOR9":4,"MAPCOLOR13":4,"POP_EST":4917000,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":206928,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"NZ","ISO_A2":"NZ","ISO_A2_EH":"NZ","ISO_A3":"NZL","ISO_A3_EH":"NZL","ISO_N3":"554","ISO_N3_EH":"554","UN_A3":"554","WB_A2":"NZ","WB_A3":"NZL","WOE_ID":23424916,"WOE_ID_EH":23424916,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"NZL","ADM0_DIFF":null,"ADM0_TLC":"NZL","ADM0_A3_US":"NZL","ADM0_A3_FR":"NZL","ADM0_A3_RU":"NZL","ADM0_A3_ES":"NZL","ADM0_A3_CN":"NZL","ADM0_A3_TW":"NZL","ADM0_A3_IN":"NZL","ADM0_A3_NP":"NZL","ADM0_A3_PK":"NZL","ADM0_A3_DE":"NZL","ADM0_A3_GB":"NZL","ADM0_A3_BR":"NZL","ADM0_A3_IL":"NZL","ADM0_A3_PS":"NZL","ADM0_A3_SA":"NZL","ADM0_A3_EG":"NZL","ADM0_A3_MA":"NZL","ADM0_A3_PT":"NZL","ADM0_A3_AR":"NZL","ADM0_A3_JP":"NZL","ADM0_A3_KO":"NZL","ADM0_A3_VN":"NZL","ADM0_A3_TR":"NZL","ADM0_A3_ID":"NZL","ADM0_A3_PL":"NZL","ADM0_A3_GR":"NZL","ADM0_A3_IT":"NZL","ADM0_A3_NL":"NZL","ADM0_A3_SE":"NZL","ADM0_A3_BD":"NZL","ADM0_A3_UA":"NZL","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Australia and New Zealand","REGION_WB":"East Asia & Pacific","NAME_LEN":11,"LONG_LEN":11,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2,"MAX_LABEL":6.7,"LABEL_X":172.787,"LABEL_Y":-39.759,"NE_ID":1159321135,"WIKIDATAID":"Q664","NAME_AR":"نيوزيلندا","NAME_BN":"নিউজিল্যান্ড","NAME_DE":"Neuseeland","NAME_EN":"New Zealand","NAME_ES":"Nueva Zelanda","NAME_FA":"نیوزیلند","NAME_FR":"Nouvelle-Zélande","NAME_EL":"Νέα Ζηλανδία","NAME_HE":"ניו זילנד","NAME_HI":"न्यूज़ीलैण्ड","NAME_HU":"Új-Zéland","NAME_ID":"Selandia Baru","NAME_IT":"Nuova Zelanda","NAME_JA":"ニュージーランド","NAME_KO":"뉴질랜드","NAME_NL":"Nieuw-Zeeland","NAME_PL":"Nowa Zelandia","NAME_PT":"Nova Zelândia","NAME_RU":"Новая Зеландия","NAME_SV":"Nya Zeeland","NAME_TR":"Yeni Zelanda","NAME_UK":"Нова Зеландія","NAME_UR":"نیوزی لینڈ","NAME_VI":"New Zealand","NAME_ZH":"新西兰","NAME_ZHT":"新西蘭","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[166.509144,-46.641235,178.517094,-34.450662],"geometry":{"type":"MultiPolygon","coordinates":[[[[176.885824,-40.065978],[176.508017,-40.604808],[176.01244,-41.289624],[175.239567,-41.688308],[175.067898,-41.425895],[174.650973,-41.281821],[175.22763,-40.459236],[174.900157,-39.908933],[173.824047,-39.508854],[173.852262,-39.146602],[174.574802,-38.797683],[174.743474,-38.027808],[174.697017,-37.381129],[174.292028,-36.711092],[174.319004,-36.534824],[173.840997,-36.121981],[173.054171,-35.237125],[172.636005,-34.529107],[173.007042,-34.450662],[173.551298,-35.006183],[174.32939,-35.265496],[174.612009,-36.156397],[175.336616,-37.209098],[175.357596,-36.526194],[175.808887,-36.798942],[175.95849,-37.555382],[176.763195,-37.881253],[177.438813,-37.961248],[178.010354,-37.579825],[178.517094,-37.695373],[178.274731,-38.582813],[177.97046,-39.166343],[177.206993,-39.145776],[176.939981,-39.449736],[177.032946,-39.879943],[176.885824,-40.065978]]],[[[169.667815,-43.555326],[170.52492,-43.031688],[171.12509,-42.512754],[171.569714,-41.767424],[171.948709,-41.514417],[172.097227,-40.956104],[172.79858,-40.493962],[173.020375,-40.919052],[173.247234,-41.331999],[173.958405,-40.926701],[174.247587,-41.349155],[174.248517,-41.770008],[173.876447,-42.233184],[173.22274,-42.970038],[172.711246,-43.372288],[173.080113,-43.853344],[172.308584,-43.865694],[171.452925,-44.242519],[171.185138,-44.897104],[170.616697,-45.908929],[169.831422,-46.355775],[169.332331,-46.641235],[168.411354,-46.619945],[167.763745,-46.290197],[166.676886,-46.219917],[166.509144,-45.852705],[167.046424,-45.110941],[168.303763,-44.123973],[168.949409,-43.935819],[169.667815,-43.555326]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Australia","SOV_A3":"AU1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Country","TLC":"1","ADMIN":"Australia","ADM0_A3":"AUS","GEOU_DIF":0,"GEOUNIT":"Australia","GU_A3":"AUS","SU_DIF":0,"SUBUNIT":"Australia","SU_A3":"AUS","BRK_DIFF":0,"NAME":"Australia","NAME_LONG":"Australia","BRK_A3":"AUS","BRK_NAME":"Australia","BRK_GROUP":null,"ABBREV":"Auz.","POSTAL":"AU","FORMAL_EN":"Commonwealth of Australia","FORMAL_FR":null,"NAME_CIAWF":"Australia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Australia","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":2,"MAPCOLOR9":2,"MAPCOLOR13":7,"POP_EST":25364307,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":1396567,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"AS","ISO_A2":"AU","ISO_A2_EH":"AU","ISO_A3":"AUS","ISO_A3_EH":"AUS","ISO_N3":"036","ISO_N3_EH":"036","UN_A3":"036","WB_A2":"AU","WB_A3":"AUS","WOE_ID":-90,"WOE_ID_EH":23424748,"WOE_NOTE":"Includes Ashmore and Cartier Islands (23424749) and Coral Sea Islands (23424790).","ADM0_ISO":"AUS","ADM0_DIFF":null,"ADM0_TLC":"AUS","ADM0_A3_US":"AUS","ADM0_A3_FR":"AUS","ADM0_A3_RU":"AUS","ADM0_A3_ES":"AUS","ADM0_A3_CN":"AUS","ADM0_A3_TW":"AUS","ADM0_A3_IN":"AUS","ADM0_A3_NP":"AUS","ADM0_A3_PK":"AUS","ADM0_A3_DE":"AUS","ADM0_A3_GB":"AUS","ADM0_A3_BR":"AUS","ADM0_A3_IL":"AUS","ADM0_A3_PS":"AUS","ADM0_A3_SA":"AUS","ADM0_A3_EG":"AUS","ADM0_A3_MA":"AUS","ADM0_A3_PT":"AUS","ADM0_A3_AR":"AUS","ADM0_A3_JP":"AUS","ADM0_A3_KO":"AUS","ADM0_A3_VN":"AUS","ADM0_A3_TR":"AUS","ADM0_A3_ID":"AUS","ADM0_A3_PL":"AUS","ADM0_A3_GR":"AUS","ADM0_A3_IT":"AUS","ADM0_A3_NL":"AUS","ADM0_A3_SE":"AUS","ADM0_A3_BD":"AUS","ADM0_A3_UA":"AUS","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Australia and New Zealand","REGION_WB":"East Asia & Pacific","NAME_LEN":9,"LONG_LEN":9,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":5.7,"LABEL_X":134.04972,"LABEL_Y":-24.129522,"NE_ID":1159320355,"WIKIDATAID":"Q408","NAME_AR":"أستراليا","NAME_BN":"অস্ট্রেলিয়া","NAME_DE":"Australien","NAME_EN":"Australia","NAME_ES":"Australia","NAME_FA":"استرالیا","NAME_FR":"Australie","NAME_EL":"Αυστραλία","NAME_HE":"אוסטרליה","NAME_HI":"ऑस्ट्रेलिया","NAME_HU":"Ausztrália","NAME_ID":"Australia","NAME_IT":"Australia","NAME_JA":"オーストラリア","NAME_KO":"오스트레일리아","NAME_NL":"Australië","NAME_PL":"Australia","NAME_PT":"Austrália","NAME_RU":"Австралия","NAME_SV":"Australien","NAME_TR":"Avustralya","NAME_UK":"Австралія","NAME_UR":"آسٹریلیا","NAME_VI":"Úc","NAME_ZH":"澳大利亚","NAME_ZHT":"澳大利亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[113.338953,-43.634597,153.569469,-10.668186],"geometry":{"type":"MultiPolygon","coordinates":[[[[147.689259,-40.808258],[148.289068,-40.875438],[148.359865,-42.062445],[148.017301,-42.407024],[147.914052,-43.211522],[147.564564,-42.937689],[146.870343,-43.634597],[146.663327,-43.580854],[146.048378,-43.549745],[145.43193,-42.693776],[145.29509,-42.03361],[144.718071,-41.162552],[144.743755,-40.703975],[145.397978,-40.792549],[146.364121,-41.137695],[146.908584,-41.000546],[147.689259,-40.808258]]],[[[126.148714,-32.215966],[125.088623,-32.728751],[124.221648,-32.959487],[124.028947,-33.483847],[123.659667,-33.890179],[122.811036,-33.914467],[122.183064,-34.003402],[121.299191,-33.821036],[120.580268,-33.930177],[119.893695,-33.976065],[119.298899,-34.509366],[119.007341,-34.464149],[118.505718,-34.746819],[118.024972,-35.064733],[117.295507,-35.025459],[116.625109,-35.025097],[115.564347,-34.386428],[115.026809,-34.196517],[115.048616,-33.623425],[115.545123,-33.487258],[115.714674,-33.259572],[115.679379,-32.900369],[115.801645,-32.205062],[115.689611,-31.612437],[115.160909,-30.601594],[114.997043,-30.030725],[115.040038,-29.461095],[114.641974,-28.810231],[114.616498,-28.516399],[114.173579,-28.118077],[114.048884,-27.334765],[113.477498,-26.543134],[113.338953,-26.116545],[113.778358,-26.549025],[113.440962,-25.621278],[113.936901,-25.911235],[114.232852,-26.298446],[114.216161,-25.786281],[113.721255,-24.998939],[113.625344,-24.683971],[113.393523,-24.384764],[113.502044,-23.80635],[113.706993,-23.560215],[113.843418,-23.059987],[113.736552,-22.475475],[114.149756,-21.755881],[114.225307,-22.517488],[114.647762,-21.82952],[115.460167,-21.495173],[115.947373,-21.068688],[116.711615,-20.701682],[117.166316,-20.623599],[117.441545,-20.746899],[118.229559,-20.374208],[118.836085,-20.263311],[118.987807,-20.044203],[119.252494,-19.952942],[119.805225,-19.976506],[120.85622,-19.683708],[121.399856,-19.239756],[121.655138,-18.705318],[122.241665,-18.197649],[122.286624,-17.798603],[122.312772,-17.254967],[123.012574,-16.4052],[123.433789,-17.268558],[123.859345,-17.069035],[123.503242,-16.596506],[123.817073,-16.111316],[124.258287,-16.327944],[124.379726,-15.56706],[124.926153,-15.0751],[125.167275,-14.680396],[125.670087,-14.51007],[125.685796,-14.230656],[126.125149,-14.347341],[126.142823,-14.095987],[126.582589,-13.952791],[127.065867,-13.817968],[127.804633,-14.276906],[128.35969,-14.86917],[128.985543,-14.875991],[129.621473,-14.969784],[129.4096,-14.42067],[129.888641,-13.618703],[130.339466,-13.357376],[130.183506,-13.10752],[130.617795,-12.536392],[131.223495,-12.183649],[131.735091,-12.302453],[132.575298,-12.114041],[132.557212,-11.603012],[131.824698,-11.273782],[132.357224,-11.128519],[133.019561,-11.376411],[133.550846,-11.786515],[134.393068,-12.042365],[134.678632,-11.941183],[135.298491,-12.248606],[135.882693,-11.962267],[136.258381,-12.049342],[136.492475,-11.857209],[136.95162,-12.351959],[136.685125,-12.887223],[136.305407,-13.29123],[135.961758,-13.324509],[136.077617,-13.724278],[135.783836,-14.223989],[135.428664,-14.715432],[135.500184,-14.997741],[136.295175,-15.550265],[137.06536,-15.870762],[137.580471,-16.215082],[138.303217,-16.807604],[138.585164,-16.806622],[139.108543,-17.062679],[139.260575,-17.371601],[140.215245,-17.710805],[140.875463,-17.369069],[141.07111,-16.832047],[141.274095,-16.38887],[141.398222,-15.840532],[141.702183,-15.044921],[141.56338,-14.561333],[141.63552,-14.270395],[141.519869,-13.698078],[141.65092,-12.944688],[141.842691,-12.741548],[141.68699,-12.407614],[141.928629,-11.877466],[142.118488,-11.328042],[142.143706,-11.042737],[142.51526,-10.668186],[142.79731,-11.157355],[142.866763,-11.784707],[143.115947,-11.90563],[143.158632,-12.325656],[143.522124,-12.834358],[143.597158,-13.400422],[143.561811,-13.763656],[143.922099,-14.548311],[144.563714,-14.171176],[144.894908,-14.594458],[145.374724,-14.984976],[145.271991,-15.428205],[145.48526,-16.285672],[145.637033,-16.784918],[145.888904,-16.906926],[146.160309,-17.761655],[146.063674,-18.280073],[146.387478,-18.958274],[147.471082,-19.480723],[148.177602,-19.955939],[148.848414,-20.39121],[148.717465,-20.633469],[149.28942,-21.260511],[149.678337,-22.342512],[150.077382,-22.122784],[150.482939,-22.556142],[150.727265,-22.402405],[150.899554,-23.462237],[151.609175,-24.076256],[152.07354,-24.457887],[152.855197,-25.267501],[153.136162,-26.071173],[153.161949,-26.641319],[153.092909,-27.2603],[153.569469,-28.110067],[153.512108,-28.995077],[153.339095,-29.458202],[153.069241,-30.35024],[153.089602,-30.923642],[152.891578,-31.640446],[152.450002,-32.550003],[151.709117,-33.041342],[151.343972,-33.816023],[151.010555,-34.31036],[150.714139,-35.17346],[150.32822,-35.671879],[150.075212,-36.420206],[149.946124,-37.109052],[149.997284,-37.425261],[149.423882,-37.772681],[148.304622,-37.809061],[147.381733,-38.219217],[146.922123,-38.606532],[146.317922,-39.035757],[145.489652,-38.593768],[144.876976,-38.417448],[145.032212,-37.896188],[144.485682,-38.085324],[143.609974,-38.809465],[142.745427,-38.538268],[142.17833,-38.380034],[141.606582,-38.308514],[140.638579,-38.019333],[139.992158,-37.402936],[139.806588,-36.643603],[139.574148,-36.138362],[139.082808,-35.732754],[138.120748,-35.612296],[138.449462,-35.127261],[138.207564,-34.384723],[137.71917,-35.076825],[136.829406,-35.260535],[137.352371,-34.707339],[137.503886,-34.130268],[137.890116,-33.640479],[137.810328,-32.900007],[136.996837,-33.752771],[136.372069,-34.094766],[135.989043,-34.890118],[135.208213,-34.47867],[135.239218,-33.947953],[134.613417,-33.222778],[134.085904,-32.848072],[134.273903,-32.617234],[132.990777,-32.011224],[132.288081,-31.982647],[131.326331,-31.495803],[129.535794,-31.590423],[128.240938,-31.948489],[127.102867,-32.282267],[126.148714,-32.215966]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Sri Lanka","SOV_A3":"LKA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Sri Lanka","ADM0_A3":"LKA","GEOU_DIF":0,"GEOUNIT":"Sri Lanka","GU_A3":"LKA","SU_DIF":0,"SUBUNIT":"Sri Lanka","SU_A3":"LKA","BRK_DIFF":0,"NAME":"Sri Lanka","NAME_LONG":"Sri Lanka","BRK_A3":"LKA","BRK_NAME":"Sri Lanka","BRK_GROUP":null,"ABBREV":"Sri L.","POSTAL":"LK","FORMAL_EN":"Democratic Socialist Republic of Sri Lanka","FORMAL_FR":null,"NAME_CIAWF":"Sri Lanka","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Sri Lanka","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":5,"MAPCOLOR9":4,"MAPCOLOR13":9,"POP_EST":21803000,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":84008,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"CE","ISO_A2":"LK","ISO_A2_EH":"LK","ISO_A3":"LKA","ISO_A3_EH":"LKA","ISO_N3":"144","ISO_N3_EH":"144","UN_A3":"144","WB_A2":"LK","WB_A3":"LKA","WOE_ID":23424778,"WOE_ID_EH":23424778,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"LKA","ADM0_DIFF":null,"ADM0_TLC":"LKA","ADM0_A3_US":"LKA","ADM0_A3_FR":"LKA","ADM0_A3_RU":"LKA","ADM0_A3_ES":"LKA","ADM0_A3_CN":"LKA","ADM0_A3_TW":"LKA","ADM0_A3_IN":"LKA","ADM0_A3_NP":"LKA","ADM0_A3_PK":"LKA","ADM0_A3_DE":"LKA","ADM0_A3_GB":"LKA","ADM0_A3_BR":"LKA","ADM0_A3_IL":"LKA","ADM0_A3_PS":"LKA","ADM0_A3_SA":"LKA","ADM0_A3_EG":"LKA","ADM0_A3_MA":"LKA","ADM0_A3_PT":"LKA","ADM0_A3_AR":"LKA","ADM0_A3_JP":"LKA","ADM0_A3_KO":"LKA","ADM0_A3_VN":"LKA","ADM0_A3_TR":"LKA","ADM0_A3_ID":"LKA","ADM0_A3_PL":"LKA","ADM0_A3_GR":"LKA","ADM0_A3_IT":"LKA","ADM0_A3_NL":"LKA","ADM0_A3_SE":"LKA","ADM0_A3_BD":"LKA","ADM0_A3_UA":"LKA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Southern Asia","REGION_WB":"South Asia","NAME_LEN":9,"LONG_LEN":9,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":80.704823,"LABEL_Y":7.581097,"NE_ID":1159321025,"WIKIDATAID":"Q854","NAME_AR":"سريلانكا","NAME_BN":"শ্রীলঙ্কা","NAME_DE":"Sri Lanka","NAME_EN":"Sri Lanka","NAME_ES":"Sri Lanka","NAME_FA":"سریلانکا","NAME_FR":"Sri Lanka","NAME_EL":"Σρι Λάνκα","NAME_HE":"סרי לנקה","NAME_HI":"श्रीलंका","NAME_HU":"Srí Lanka","NAME_ID":"Sri Lanka","NAME_IT":"Sri Lanka","NAME_JA":"スリランカ","NAME_KO":"스리랑카","NAME_NL":"Sri Lanka","NAME_PL":"Sri Lanka","NAME_PT":"Sri Lanka","NAME_RU":"Шри-Ланка","NAME_SV":"Sri Lanka","NAME_TR":"Sri Lanka","NAME_UK":"Шрі-Ланка","NAME_UR":"سری لنکا","NAME_VI":"Sri Lanka","NAME_ZH":"斯里兰卡","NAME_ZHT":"斯里蘭卡","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[79.695167,5.96837,81.787959,9.824078],"geometry":{"type":"Polygon","coordinates":[[[81.787959,7.523055],[81.637322,6.481775],[81.21802,6.197141],[80.348357,5.96837],[79.872469,6.763463],[79.695167,8.200843],[80.147801,9.824078],[80.838818,9.268427],[81.304319,8.564206],[81.787959,7.523055]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"China","SOV_A3":"CH1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Country","TLC":"1","ADMIN":"China","ADM0_A3":"CHN","GEOU_DIF":0,"GEOUNIT":"China","GU_A3":"CHN","SU_DIF":0,"SUBUNIT":"China","SU_A3":"CHN","BRK_DIFF":0,"NAME":"China","NAME_LONG":"China","BRK_A3":"CHN","BRK_NAME":"China","BRK_GROUP":null,"ABBREV":"China","POSTAL":"CN","FORMAL_EN":"People's Republic of China","FORMAL_FR":null,"NAME_CIAWF":"China","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"China","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":4,"MAPCOLOR9":4,"MAPCOLOR13":3,"POP_EST":1397715000,"POP_RANK":18,"POP_YEAR":2019,"GDP_MD":14342903,"GDP_YEAR":2019,"ECONOMY":"3. Emerging region: BRIC","INCOME_GRP":"3. Upper middle income","FIPS_10":"CH","ISO_A2":"CN","ISO_A2_EH":"CN","ISO_A3":"CHN","ISO_A3_EH":"CHN","ISO_N3":"156","ISO_N3_EH":"156","UN_A3":"156","WB_A2":"CN","WB_A3":"CHN","WOE_ID":23424781,"WOE_ID_EH":23424781,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"CHN","ADM0_DIFF":null,"ADM0_TLC":"CHN","ADM0_A3_US":"CHN","ADM0_A3_FR":"CHN","ADM0_A3_RU":"CHN","ADM0_A3_ES":"CHN","ADM0_A3_CN":"CHN","ADM0_A3_TW":"TWN","ADM0_A3_IN":"CHN","ADM0_A3_NP":"CHN","ADM0_A3_PK":"CHN","ADM0_A3_DE":"CHN","ADM0_A3_GB":"CHN","ADM0_A3_BR":"CHN","ADM0_A3_IL":"CHN","ADM0_A3_PS":"CHN","ADM0_A3_SA":"CHN","ADM0_A3_EG":"CHN","ADM0_A3_MA":"CHN","ADM0_A3_PT":"CHN","ADM0_A3_AR":"CHN","ADM0_A3_JP":"CHN","ADM0_A3_KO":"CHN","ADM0_A3_VN":"CHN","ADM0_A3_TR":"CHN","ADM0_A3_ID":"CHN","ADM0_A3_PL":"CHN","ADM0_A3_GR":"CHN","ADM0_A3_IT":"CHN","ADM0_A3_NL":"CHN","ADM0_A3_SE":"CHN","ADM0_A3_BD":"CHN","ADM0_A3_UA":"CHN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":5.7,"LABEL_X":106.337289,"LABEL_Y":32.498178,"NE_ID":1159320471,"WIKIDATAID":"Q148","NAME_AR":"الصين","NAME_BN":"গণচীন","NAME_DE":"Volksrepublik China","NAME_EN":"People's Republic of China","NAME_ES":"China","NAME_FA":"جمهوری خلق چین","NAME_FR":"République populaire de Chine","NAME_EL":"Λαϊκή Δημοκρατία της Κίνας","NAME_HE":"הרפובליקה העממית של סין","NAME_HI":"चीनी जनवादी गणराज्य","NAME_HU":"Kína","NAME_ID":"Republik Rakyat Tiongkok","NAME_IT":"Cina","NAME_JA":"中華人民共和国","NAME_KO":"중화인민공화국","NAME_NL":"Volksrepubliek China","NAME_PL":"Chińska Republika Ludowa","NAME_PT":"China","NAME_RU":"Китайская Народная Республика","NAME_SV":"Kina","NAME_TR":"Çin Halk Cumhuriyeti","NAME_UK":"Китайська Народна Республіка","NAME_UR":"عوامی جمہوریہ چین","NAME_VI":"Trung Quốc","NAME_ZH":"中华人民共和国","NAME_ZHT":"中華人民共和國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":"Unrecognized","FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[73.675379,18.197701,135.026311,53.4588],"geometry":{"type":"MultiPolygon","coordinates":[[[[109.47521,18.197701],[108.655208,18.507682],[108.626217,19.367888],[109.119056,19.821039],[110.211599,20.101254],[110.786551,20.077534],[111.010051,19.69593],[110.570647,19.255879],[110.339188,18.678395],[109.47521,18.197701]]],[[[80.25999,42.349999],[80.18015,42.920068],[80.866206,43.180362],[79.966106,44.917517],[81.947071,45.317027],[82.458926,45.53965],[83.180484,47.330031],[85.16429,47.000956],[85.720484,47.452969],[85.768233,48.455751],[86.598776,48.549182],[87.35997,49.214981],[87.751264,49.297198],[88.013832,48.599463],[88.854298,48.069082],[90.280826,47.693549],[90.970809,46.888146],[90.585768,45.719716],[90.94554,45.286073],[92.133891,45.115076],[93.480734,44.975472],[94.688929,44.352332],[95.306875,44.241331],[95.762455,43.319449],[96.349396,42.725635],[97.451757,42.74889],[99.515817,42.524691],[100.845866,42.663804],[101.83304,42.514873],[103.312278,41.907468],[104.522282,41.908347],[104.964994,41.59741],[106.129316,42.134328],[107.744773,42.481516],[109.243596,42.519446],[110.412103,42.871234],[111.129682,43.406834],[111.829588,43.743118],[111.667737,44.073176],[111.348377,44.457442],[111.873306,45.102079],[112.436062,45.011646],[113.463907,44.808893],[114.460332,45.339817],[115.985096,45.727235],[116.717868,46.388202],[117.421701,46.672733],[118.874326,46.805412],[119.66327,46.69268],[119.772824,47.048059],[118.866574,47.74706],[118.064143,48.06673],[117.295507,47.697709],[116.308953,47.85341],[115.742837,47.726545],[115.485282,48.135383],[116.191802,49.134598],[116.678801,49.888531],[117.879244,49.510983],[119.288461,50.142883],[119.27939,50.58292],[120.18208,51.64355],[120.7382,51.96411],[120.725789,52.516226],[120.177089,52.753886],[121.003085,53.251401],[122.245748,53.431726],[123.57147,53.4588],[125.068211,53.161045],[125.946349,52.792799],[126.564399,51.784255],[126.939157,51.353894],[127.287456,50.739797],[127.6574,49.76027],[129.397818,49.4406],[130.582293,48.729687],[130.98726,47.79013],[132.50669,47.78896],[133.373596,48.183442],[135.026311,48.47823],[134.50081,47.57845],[134.11235,47.21248],[133.769644,46.116927],[133.09712,45.14409],[131.883454,45.321162],[131.02519,44.96796],[131.288555,44.11152],[131.144688,42.92999],[130.633866,42.903015],[130.64,42.395024],[129.994267,42.985387],[129.596669,42.424982],[128.052215,41.994285],[128.208433,41.466772],[127.343783,41.503152],[126.869083,41.816569],[126.182045,41.107336],[125.079942,40.569824],[124.265625,39.928493],[122.86757,39.637788],[122.131388,39.170452],[121.054554,38.897471],[121.585995,39.360854],[121.376757,39.750261],[122.168595,40.422443],[121.640359,40.94639],[120.768629,40.593388],[119.639602,39.898056],[119.023464,39.252333],[118.042749,39.204274],[117.532702,38.737636],[118.059699,38.061476],[118.87815,37.897325],[118.911636,37.448464],[119.702802,37.156389],[120.823457,37.870428],[121.711259,37.481123],[122.357937,37.454484],[122.519995,36.930614],[121.104164,36.651329],[120.637009,36.11144],[119.664562,35.609791],[119.151208,34.909859],[120.227525,34.360332],[120.620369,33.376723],[121.229014,32.460319],[121.908146,31.692174],[121.891919,30.949352],[121.264257,30.676267],[121.503519,30.142915],[122.092114,29.83252],[121.938428,29.018022],[121.684439,28.225513],[121.125661,28.135673],[120.395473,27.053207],[119.585497,25.740781],[118.656871,24.547391],[117.281606,23.624501],[115.890735,22.782873],[114.763827,22.668074],[114.152547,22.22376],[113.80678,22.54834],[113.241078,22.051367],[111.843592,21.550494],[110.785466,21.397144],[110.444039,20.341033],[109.889861,20.282457],[109.627655,21.008227],[109.864488,21.395051],[108.522813,21.715212],[108.05018,21.55238],[107.04342,21.811899],[106.567273,22.218205],[106.725403,22.794268],[105.811247,22.976892],[105.329209,23.352063],[104.476858,22.81915],[103.504515,22.703757],[102.706992,22.708795],[102.170436,22.464753],[101.652018,22.318199],[101.80312,21.174367],[101.270026,21.201652],[101.180005,21.436573],[101.150033,21.849984],[100.416538,21.558839],[99.983489,21.742937],[99.240899,22.118314],[99.531992,22.949039],[98.898749,23.142722],[98.660262,24.063286],[97.60472,23.897405],[97.724609,25.083637],[98.671838,25.918703],[98.712094,26.743536],[98.68269,27.508812],[98.246231,27.747221],[97.911988,28.335945],[97.327114,28.261583],[96.248833,28.411031],[96.586591,28.83098],[96.117679,29.452802],[95.404802,29.031717],[94.56599,29.277438],[93.413348,28.640629],[92.503119,27.896876],[91.696657,27.771742],[91.258854,28.040614],[90.730514,28.064954],[90.015829,28.296439],[89.47581,28.042759],[88.814248,27.299316],[88.730326,28.086865],[88.120441,27.876542],[86.954517,27.974262],[85.82332,28.203576],[85.011638,28.642774],[84.23458,28.839894],[83.898993,29.320226],[83.337115,29.463732],[82.327513,30.115268],[81.525804,30.422717],[81.111256,30.183481],[79.721367,30.882715],[78.738894,31.515906],[78.458446,32.618164],[79.176129,32.48378],[79.208892,32.994395],[78.811086,33.506198],[78.912269,34.321936],[77.837451,35.49401],[76.192848,35.898403],[75.896897,36.666806],[75.158028,37.133031],[74.980002,37.41999],[74.829986,37.990007],[74.864816,38.378846],[74.257514,38.606507],[73.928852,38.505815],[73.675379,39.431237],[73.960013,39.660008],[73.822244,39.893973],[74.776862,40.366425],[75.467828,40.562072],[76.526368,40.427946],[76.904484,41.066486],[78.187197,41.185316],[78.543661,41.582243],[80.11943,42.123941],[80.25999,42.349999]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Taiwan","SOV_A3":"TWN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Taiwan","ADM0_A3":"TWN","GEOU_DIF":0,"GEOUNIT":"Taiwan","GU_A3":"TWN","SU_DIF":0,"SUBUNIT":"Taiwan","SU_A3":"TWN","BRK_DIFF":0,"NAME":"Taiwan","NAME_LONG":"Taiwan","BRK_A3":"TWN","BRK_NAME":"Taiwan","BRK_GROUP":null,"ABBREV":"Taiwan","POSTAL":"TW","FORMAL_EN":null,"FORMAL_FR":null,"NAME_CIAWF":"Taiwan","NOTE_ADM0":null,"NOTE_BRK":"Self admin.; Claimed by China","NAME_SORT":"Taiwan","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":5,"MAPCOLOR9":7,"MAPCOLOR13":2,"POP_EST":23568378,"POP_RANK":15,"POP_YEAR":2020,"GDP_MD":1127000,"GDP_YEAR":2016,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"TW","ISO_A2":"CN-TW","ISO_A2_EH":"TW","ISO_A3":"TWN","ISO_A3_EH":"TWN","ISO_N3":"158","ISO_N3_EH":"158","UN_A3":"-099","WB_A2":"-99","WB_A3":"-99","WOE_ID":23424971,"WOE_ID_EH":23424971,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"TWN","ADM0_DIFF":null,"ADM0_TLC":"TWN","ADM0_A3_US":"TWN","ADM0_A3_FR":"TWN","ADM0_A3_RU":"CHN","ADM0_A3_ES":"TWN","ADM0_A3_CN":"CHN","ADM0_A3_TW":"TWN","ADM0_A3_IN":"TWN","ADM0_A3_NP":"CHN","ADM0_A3_PK":"CHN","ADM0_A3_DE":"TWN","ADM0_A3_GB":"TWN","ADM0_A3_BR":"TWN","ADM0_A3_IL":"TWN","ADM0_A3_PS":"TWN","ADM0_A3_SA":"TWN","ADM0_A3_EG":"CHN","ADM0_A3_MA":"CHN","ADM0_A3_PT":"TWN","ADM0_A3_AR":"TWN","ADM0_A3_JP":"TWN","ADM0_A3_KO":"TWN","ADM0_A3_VN":"TWN","ADM0_A3_TR":"TWN","ADM0_A3_ID":"CHN","ADM0_A3_PL":"TWN","ADM0_A3_GR":"TWN","ADM0_A3_IT":"TWN","ADM0_A3_NL":"TWN","ADM0_A3_SE":"TWN","ADM0_A3_BD":"CHN","ADM0_A3_UA":"TWN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4.5,"MAX_LABEL":8,"LABEL_X":120.868204,"LABEL_Y":23.652408,"NE_ID":1159321335,"WIKIDATAID":"Q865","NAME_AR":"تايوان","NAME_BN":"তাইওয়ান","NAME_DE":"Republik China","NAME_EN":"Taiwan","NAME_ES":"República de China","NAME_FA":"تایوان","NAME_FR":"Taïwan","NAME_EL":"Δημοκρατία της Κίνας","NAME_HE":"טאיוואן","NAME_HI":"चीनी गणराज्य","NAME_HU":"Kínai Köztársaság","NAME_ID":"Taiwan","NAME_IT":"Taiwan","NAME_JA":"中華民国","NAME_KO":"중화민국","NAME_NL":"Taiwan","NAME_PL":"Republika Chińska","NAME_PT":"Taiwan","NAME_RU":"Тайвань","NAME_SV":"Taiwan","NAME_TR":"Çin Cumhuriyeti","NAME_UK":"Республіка Китай","NAME_UR":"تائیوان","NAME_VI":"Đài Loan","NAME_ZH":"中华民国","NAME_ZHT":"中華民國","FCLASS_ISO":"Admin-1 states provinces","TLC_DIFF":"1","FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":"Admin-1 states provinces","FCLASS_TW":"Admin-0 country","FCLASS_IN":null,"FCLASS_NP":"Admin-1 states provinces","FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":"Admin-1 states provinces","FCLASS_MA":"Admin-1 states provinces","FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":"Admin-1 states provinces","FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":"Admin-1 states provinces","FCLASS_UA":null},"bbox":[120.106189,21.970571,121.951244,25.295459],"geometry":{"type":"Polygon","coordinates":[[[121.777818,24.394274],[121.175632,22.790857],[120.74708,21.970571],[120.220083,22.814861],[120.106189,23.556263],[120.69468,24.538451],[121.495044,25.295459],[121.951244,24.997596],[121.777818,24.394274]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Italy","SOV_A3":"ITA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Italy","ADM0_A3":"ITA","GEOU_DIF":0,"GEOUNIT":"Italy","GU_A3":"ITA","SU_DIF":0,"SUBUNIT":"Italy","SU_A3":"ITA","BRK_DIFF":0,"NAME":"Italy","NAME_LONG":"Italy","BRK_A3":"ITA","BRK_NAME":"Italy","BRK_GROUP":null,"ABBREV":"Italy","POSTAL":"I","FORMAL_EN":"Italian Republic","FORMAL_FR":null,"NAME_CIAWF":"Italy","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Italy","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":7,"MAPCOLOR9":8,"MAPCOLOR13":7,"POP_EST":60297396,"POP_RANK":16,"POP_YEAR":2019,"GDP_MD":2003576,"GDP_YEAR":2019,"ECONOMY":"1. Developed region: G7","INCOME_GRP":"1. High income: OECD","FIPS_10":"IT","ISO_A2":"IT","ISO_A2_EH":"IT","ISO_A3":"ITA","ISO_A3_EH":"ITA","ISO_N3":"380","ISO_N3_EH":"380","UN_A3":"380","WB_A2":"IT","WB_A3":"ITA","WOE_ID":23424853,"WOE_ID_EH":23424853,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ITA","ADM0_DIFF":null,"ADM0_TLC":"ITA","ADM0_A3_US":"ITA","ADM0_A3_FR":"ITA","ADM0_A3_RU":"ITA","ADM0_A3_ES":"ITA","ADM0_A3_CN":"ITA","ADM0_A3_TW":"ITA","ADM0_A3_IN":"ITA","ADM0_A3_NP":"ITA","ADM0_A3_PK":"ITA","ADM0_A3_DE":"ITA","ADM0_A3_GB":"ITA","ADM0_A3_BR":"ITA","ADM0_A3_IL":"ITA","ADM0_A3_PS":"ITA","ADM0_A3_SA":"ITA","ADM0_A3_EG":"ITA","ADM0_A3_MA":"ITA","ADM0_A3_PT":"ITA","ADM0_A3_AR":"ITA","ADM0_A3_JP":"ITA","ADM0_A3_KO":"ITA","ADM0_A3_VN":"ITA","ADM0_A3_TR":"ITA","ADM0_A3_ID":"ITA","ADM0_A3_PL":"ITA","ADM0_A3_GR":"ITA","ADM0_A3_IT":"ITA","ADM0_A3_NL":"ITA","ADM0_A3_SE":"ITA","ADM0_A3_BD":"ITA","ADM0_A3_UA":"ITA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Southern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2,"MAX_LABEL":7,"LABEL_X":11.076907,"LABEL_Y":44.732482,"NE_ID":1159320919,"WIKIDATAID":"Q38","NAME_AR":"إيطاليا","NAME_BN":"ইতালি","NAME_DE":"Italien","NAME_EN":"Italy","NAME_ES":"Italia","NAME_FA":"ایتالیا","NAME_FR":"Italie","NAME_EL":"Ιταλία","NAME_HE":"איטליה","NAME_HI":"इटली","NAME_HU":"Olaszország","NAME_ID":"Italia","NAME_IT":"Italia","NAME_JA":"イタリア","NAME_KO":"이탈리아","NAME_NL":"Italië","NAME_PL":"Włochy","NAME_PT":"Itália","NAME_RU":"Италия","NAME_SV":"Italien","NAME_TR":"İtalya","NAME_UK":"Італія","NAME_UR":"اطالیہ","NAME_VI":"Ý","NAME_ZH":"意大利","NAME_ZHT":"義大利","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[6.749955,36.619987,18.480247,47.115393],"geometry":{"type":"MultiPolygon","coordinates":[[[[10.442701,46.893546],[11.048556,46.751359],[11.164828,46.941579],[12.153088,47.115393],[12.376485,46.767559],[13.806475,46.509306],[13.69811,46.016778],[13.93763,45.591016],[13.141606,45.736692],[12.328581,45.381778],[12.383875,44.885374],[12.261453,44.600482],[12.589237,44.091366],[13.526906,43.587727],[14.029821,42.761008],[15.14257,41.95514],[15.926191,41.961315],[16.169897,41.740295],[15.889346,41.541082],[16.785002,41.179606],[17.519169,40.877143],[18.376687,40.355625],[18.480247,40.168866],[18.293385,39.810774],[17.73838,40.277671],[16.869596,40.442235],[16.448743,39.795401],[17.17149,39.4247],[17.052841,38.902871],[16.635088,38.843572],[16.100961,37.985899],[15.684087,37.908849],[15.687963,38.214593],[15.891981,38.750942],[16.109332,38.964547],[15.718814,39.544072],[15.413613,40.048357],[14.998496,40.172949],[14.703268,40.60455],[14.060672,40.786348],[13.627985,41.188287],[12.888082,41.25309],[12.106683,41.704535],[11.191906,42.355425],[10.511948,42.931463],[10.200029,43.920007],[9.702488,44.036279],[8.888946,44.366336],[8.428561,44.231228],[7.850767,43.767148],[7.435185,43.693845],[7.549596,44.127901],[7.007562,44.254767],[6.749955,45.028518],[7.096652,45.333099],[6.802355,45.70858],[6.843593,45.991147],[7.273851,45.776948],[7.755992,45.82449],[8.31663,46.163642],[8.489952,46.005151],[8.966306,46.036932],[9.182882,46.440215],[9.922837,46.314899],[10.363378,46.483571],[10.442701,46.893546]]],[[[14.761249,38.143874],[15.520376,38.231155],[15.160243,37.444046],[15.309898,37.134219],[15.099988,36.619987],[14.335229,36.996631],[13.826733,37.104531],[12.431004,37.61295],[12.570944,38.126381],[13.741156,38.034966],[14.761249,38.143874]]],[[[8.709991,40.899984],[9.210012,41.209991],[9.809975,40.500009],[9.669519,39.177376],[9.214818,39.240473],[8.806936,38.906618],[8.428302,39.171847],[8.388253,40.378311],[8.159998,40.950007],[8.709991,40.899984]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Denmark","SOV_A3":"DN1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Country","TLC":"1","ADMIN":"Denmark","ADM0_A3":"DNK","GEOU_DIF":0,"GEOUNIT":"Denmark","GU_A3":"DNK","SU_DIF":0,"SUBUNIT":"Denmark","SU_A3":"DNK","BRK_DIFF":0,"NAME":"Denmark","NAME_LONG":"Denmark","BRK_A3":"DNK","BRK_NAME":"Denmark","BRK_GROUP":null,"ABBREV":"Den.","POSTAL":"DK","FORMAL_EN":"Kingdom of Denmark","FORMAL_FR":null,"NAME_CIAWF":"Denmark","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Denmark","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":1,"MAPCOLOR9":3,"MAPCOLOR13":12,"POP_EST":5818553,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":350104,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"DA","ISO_A2":"DK","ISO_A2_EH":"DK","ISO_A3":"DNK","ISO_A3_EH":"DNK","ISO_N3":"208","ISO_N3_EH":"208","UN_A3":"208","WB_A2":"DK","WB_A3":"DNK","WOE_ID":23424796,"WOE_ID_EH":23424796,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"DNK","ADM0_DIFF":null,"ADM0_TLC":"DNK","ADM0_A3_US":"DNK","ADM0_A3_FR":"DNK","ADM0_A3_RU":"DNK","ADM0_A3_ES":"DNK","ADM0_A3_CN":"DNK","ADM0_A3_TW":"DNK","ADM0_A3_IN":"DNK","ADM0_A3_NP":"DNK","ADM0_A3_PK":"DNK","ADM0_A3_DE":"DNK","ADM0_A3_GB":"DNK","ADM0_A3_BR":"DNK","ADM0_A3_IL":"DNK","ADM0_A3_PS":"DNK","ADM0_A3_SA":"DNK","ADM0_A3_EG":"DNK","ADM0_A3_MA":"DNK","ADM0_A3_PT":"DNK","ADM0_A3_AR":"DNK","ADM0_A3_JP":"DNK","ADM0_A3_KO":"DNK","ADM0_A3_VN":"DNK","ADM0_A3_TR":"DNK","ADM0_A3_ID":"DNK","ADM0_A3_PL":"DNK","ADM0_A3_GR":"DNK","ADM0_A3_IT":"DNK","ADM0_A3_NL":"DNK","ADM0_A3_SE":"DNK","ADM0_A3_BD":"DNK","ADM0_A3_UA":"DNK","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Northern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":9.018163,"LABEL_Y":55.966965,"NE_ID":1159320547,"WIKIDATAID":"Q35","NAME_AR":"الدنمارك","NAME_BN":"ডেনমার্ক","NAME_DE":"Dänemark","NAME_EN":"Denmark","NAME_ES":"Dinamarca","NAME_FA":"دانمارک","NAME_FR":"Danemark","NAME_EL":"Δανία","NAME_HE":"דנמרק","NAME_HI":"डेनमार्क","NAME_HU":"Dánia","NAME_ID":"Denmark","NAME_IT":"Danimarca","NAME_JA":"デンマーク","NAME_KO":"덴마크","NAME_NL":"Denemarken","NAME_PL":"Dania","NAME_PT":"Dinamarca","NAME_RU":"Дания","NAME_SV":"Danmark","NAME_TR":"Danimarka","NAME_UK":"Данія","NAME_UR":"ڈنمارک","NAME_VI":"Đan Mạch","NAME_ZH":"丹麦","NAME_ZHT":"丹麥","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[8.089977,54.800015,12.690006,57.730017],"geometry":{"type":"MultiPolygon","coordinates":[[[[9.921906,54.983104],[9.282049,54.830865],[8.526229,54.962744],[8.120311,55.517723],[8.089977,56.540012],[8.256582,56.809969],[8.543438,57.110003],[9.424469,57.172066],[9.775559,57.447941],[10.580006,57.730017],[10.546106,57.215733],[10.25,56.890016],[10.369993,56.609982],[10.912182,56.458621],[10.667804,56.081383],[10.369993,56.190007],[9.649985,55.469999],[9.921906,54.983104]]],[[[12.370904,56.111407],[12.690006,55.609991],[12.089991,54.800015],[11.043543,55.364864],[10.903914,55.779955],[12.370904,56.111407]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"United Kingdom","SOV_A3":"GB1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Country","TLC":"1","ADMIN":"United Kingdom","ADM0_A3":"GBR","GEOU_DIF":0,"GEOUNIT":"United Kingdom","GU_A3":"GBR","SU_DIF":0,"SUBUNIT":"United Kingdom","SU_A3":"GBR","BRK_DIFF":0,"NAME":"United Kingdom","NAME_LONG":"United Kingdom","BRK_A3":"GBR","BRK_NAME":"United Kingdom","BRK_GROUP":null,"ABBREV":"U.K.","POSTAL":"GB","FORMAL_EN":"United Kingdom of Great Britain and Northern Ireland","FORMAL_FR":null,"NAME_CIAWF":"United Kingdom","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"United Kingdom","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":6,"MAPCOLOR9":6,"MAPCOLOR13":3,"POP_EST":66834405,"POP_RANK":16,"POP_YEAR":2019,"GDP_MD":2829108,"GDP_YEAR":2019,"ECONOMY":"1. Developed region: G7","INCOME_GRP":"1. High income: OECD","FIPS_10":"UK","ISO_A2":"GB","ISO_A2_EH":"GB","ISO_A3":"GBR","ISO_A3_EH":"GBR","ISO_N3":"826","ISO_N3_EH":"826","UN_A3":"826","WB_A2":"GB","WB_A3":"GBR","WOE_ID":-90,"WOE_ID_EH":23424975,"WOE_NOTE":"Eh ID includes Channel Islands and Isle of Man. UK constituent countries of England (24554868), Wales (12578049), Scotland (12578048), and Northern Ireland (20070563).","ADM0_ISO":"GBR","ADM0_DIFF":null,"ADM0_TLC":"GBR","ADM0_A3_US":"GBR","ADM0_A3_FR":"GBR","ADM0_A3_RU":"GBR","ADM0_A3_ES":"GBR","ADM0_A3_CN":"GBR","ADM0_A3_TW":"GBR","ADM0_A3_IN":"GBR","ADM0_A3_NP":"GBR","ADM0_A3_PK":"GBR","ADM0_A3_DE":"GBR","ADM0_A3_GB":"GBR","ADM0_A3_BR":"GBR","ADM0_A3_IL":"GBR","ADM0_A3_PS":"GBR","ADM0_A3_SA":"GBR","ADM0_A3_EG":"GBR","ADM0_A3_MA":"GBR","ADM0_A3_PT":"GBR","ADM0_A3_AR":"GBR","ADM0_A3_JP":"GBR","ADM0_A3_KO":"GBR","ADM0_A3_VN":"GBR","ADM0_A3_TR":"GBR","ADM0_A3_ID":"GBR","ADM0_A3_PL":"GBR","ADM0_A3_GR":"GBR","ADM0_A3_IT":"GBR","ADM0_A3_NL":"GBR","ADM0_A3_SE":"GBR","ADM0_A3_BD":"GBR","ADM0_A3_UA":"GBR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Northern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":14,"LONG_LEN":14,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":6.7,"LABEL_X":-2.116346,"LABEL_Y":54.402739,"NE_ID":1159320713,"WIKIDATAID":"Q145","NAME_AR":"المملكة المتحدة","NAME_BN":"যুক্তরাজ্য","NAME_DE":"Vereinigtes Königreich","NAME_EN":"United Kingdom","NAME_ES":"Reino Unido","NAME_FA":"بریتانیا","NAME_FR":"Royaume-Uni","NAME_EL":"Ηνωμένο Βασίλειο","NAME_HE":"הממלכה המאוחדת","NAME_HI":"यूनाइटेड किंगडम","NAME_HU":"Egyesült Királyság","NAME_ID":"Britania Raya","NAME_IT":"Regno Unito","NAME_JA":"イギリス","NAME_KO":"영국","NAME_NL":"Verenigd Koninkrijk","NAME_PL":"Wielka Brytania","NAME_PT":"Reino Unido","NAME_RU":"Великобритания","NAME_SV":"Storbritannien","NAME_TR":"Birleşik Krallık","NAME_UK":"Велика Британія","NAME_UR":"مملکت متحدہ","NAME_VI":"Vương quốc Liên hiệp Anh và Bắc Ireland","NAME_ZH":"英国","NAME_ZHT":"英國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-7.572168,49.96,1.681531,58.635],"geometry":{"type":"MultiPolygon","coordinates":[[[[-6.197885,53.867565],[-6.95373,54.073702],[-7.572168,54.059956],[-7.366031,54.595841],[-7.572168,55.131622],[-6.733847,55.17286],[-5.661949,54.554603],[-6.197885,53.867565]]],[[[-3.093831,53.404547],[-3.09208,53.404441],[-2.945009,53.985],[-3.614701,54.600937],[-3.630005,54.615013],[-4.844169,54.790971],[-5.082527,55.061601],[-4.719112,55.508473],[-5.047981,55.783986],[-5.586398,55.311146],[-5.644999,56.275015],[-6.149981,56.78501],[-5.786825,57.818848],[-5.009999,58.630013],[-4.211495,58.550845],[-3.005005,58.635],[-4.073828,57.553025],[-3.055002,57.690019],[-1.959281,57.6848],[-2.219988,56.870017],[-3.119003,55.973793],[-2.085009,55.909998],[-2.005676,55.804903],[-1.114991,54.624986],[-0.430485,54.464376],[0.184981,53.325014],[0.469977,52.929999],[1.681531,52.73952],[1.559988,52.099998],[1.050562,51.806761],[1.449865,51.289428],[0.550334,50.765739],[-0.787517,50.774989],[-2.489998,50.500019],[-2.956274,50.69688],[-3.617448,50.228356],[-4.542508,50.341837],[-5.245023,49.96],[-5.776567,50.159678],[-4.30999,51.210001],[-3.414851,51.426009],[-3.422719,51.426848],[-4.984367,51.593466],[-5.267296,51.9914],[-4.222347,52.301356],[-4.770013,52.840005],[-4.579999,53.495004],[-3.093831,53.404547]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Iceland","SOV_A3":"ISL","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Iceland","ADM0_A3":"ISL","GEOU_DIF":0,"GEOUNIT":"Iceland","GU_A3":"ISL","SU_DIF":0,"SUBUNIT":"Iceland","SU_A3":"ISL","BRK_DIFF":0,"NAME":"Iceland","NAME_LONG":"Iceland","BRK_A3":"ISL","BRK_NAME":"Iceland","BRK_GROUP":null,"ABBREV":"Iceland","POSTAL":"IS","FORMAL_EN":"Republic of Iceland","FORMAL_FR":null,"NAME_CIAWF":"Iceland","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Iceland","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":4,"MAPCOLOR13":9,"POP_EST":361313,"POP_RANK":10,"POP_YEAR":2019,"GDP_MD":24188,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"IC","ISO_A2":"IS","ISO_A2_EH":"IS","ISO_A3":"ISL","ISO_A3_EH":"ISL","ISO_N3":"352","ISO_N3_EH":"352","UN_A3":"352","WB_A2":"IS","WB_A3":"ISL","WOE_ID":23424845,"WOE_ID_EH":23424845,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ISL","ADM0_DIFF":null,"ADM0_TLC":"ISL","ADM0_A3_US":"ISL","ADM0_A3_FR":"ISL","ADM0_A3_RU":"ISL","ADM0_A3_ES":"ISL","ADM0_A3_CN":"ISL","ADM0_A3_TW":"ISL","ADM0_A3_IN":"ISL","ADM0_A3_NP":"ISL","ADM0_A3_PK":"ISL","ADM0_A3_DE":"ISL","ADM0_A3_GB":"ISL","ADM0_A3_BR":"ISL","ADM0_A3_IL":"ISL","ADM0_A3_PS":"ISL","ADM0_A3_SA":"ISL","ADM0_A3_EG":"ISL","ADM0_A3_MA":"ISL","ADM0_A3_PT":"ISL","ADM0_A3_AR":"ISL","ADM0_A3_JP":"ISL","ADM0_A3_KO":"ISL","ADM0_A3_VN":"ISL","ADM0_A3_TR":"ISL","ADM0_A3_ID":"ISL","ADM0_A3_PL":"ISL","ADM0_A3_GR":"ISL","ADM0_A3_IT":"ISL","ADM0_A3_NL":"ISL","ADM0_A3_SE":"ISL","ADM0_A3_BD":"ISL","ADM0_A3_UA":"ISL","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Northern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":7,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2,"MAX_LABEL":7,"LABEL_X":-18.673711,"LABEL_Y":64.779286,"NE_ID":1159320917,"WIKIDATAID":"Q189","NAME_AR":"آيسلندا","NAME_BN":"আইসল্যান্ড","NAME_DE":"Island","NAME_EN":"Iceland","NAME_ES":"Islandia","NAME_FA":"ایسلند","NAME_FR":"Islande","NAME_EL":"Ισλανδία","NAME_HE":"איסלנד","NAME_HI":"आइसलैण्ड","NAME_HU":"Izland","NAME_ID":"Islandia","NAME_IT":"Islanda","NAME_JA":"アイスランド","NAME_KO":"아이슬란드","NAME_NL":"IJsland","NAME_PL":"Islandia","NAME_PT":"Islândia","NAME_RU":"Исландия","NAME_SV":"Island","NAME_TR":"İzlanda","NAME_UK":"Ісландія","NAME_UR":"آئس لینڈ","NAME_VI":"Iceland","NAME_ZH":"冰岛","NAME_ZHT":"冰島","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-24.326184,63.496383,-13.609732,66.526792],"geometry":{"type":"Polygon","coordinates":[[[-14.508695,66.455892],[-14.739637,65.808748],[-13.609732,65.126671],[-14.909834,64.364082],[-17.794438,63.678749],[-18.656246,63.496383],[-19.972755,63.643635],[-22.762972,63.960179],[-21.778484,64.402116],[-23.955044,64.89113],[-22.184403,65.084968],[-22.227423,65.378594],[-24.326184,65.611189],[-23.650515,66.262519],[-22.134922,66.410469],[-20.576284,65.732112],[-19.056842,66.276601],[-17.798624,65.993853],[-16.167819,66.526792],[-14.508695,66.455892]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Azerbaijan","SOV_A3":"AZE","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Azerbaijan","ADM0_A3":"AZE","GEOU_DIF":0,"GEOUNIT":"Azerbaijan","GU_A3":"AZE","SU_DIF":0,"SUBUNIT":"Azerbaijan","SU_A3":"AZE","BRK_DIFF":0,"NAME":"Azerbaijan","NAME_LONG":"Azerbaijan","BRK_A3":"AZE","BRK_NAME":"Azerbaijan","BRK_GROUP":null,"ABBREV":"Aze.","POSTAL":"AZ","FORMAL_EN":"Republic of Azerbaijan","FORMAL_FR":null,"NAME_CIAWF":"Azerbaijan","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Azerbaijan","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":6,"MAPCOLOR9":5,"MAPCOLOR13":8,"POP_EST":10023318,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":48047,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"AJ","ISO_A2":"AZ","ISO_A2_EH":"AZ","ISO_A3":"AZE","ISO_A3_EH":"AZE","ISO_N3":"031","ISO_N3_EH":"031","UN_A3":"031","WB_A2":"AZ","WB_A3":"AZE","WOE_ID":23424741,"WOE_ID_EH":23424741,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"AZE","ADM0_DIFF":null,"ADM0_TLC":"AZE","ADM0_A3_US":"AZE","ADM0_A3_FR":"AZE","ADM0_A3_RU":"AZE","ADM0_A3_ES":"AZE","ADM0_A3_CN":"AZE","ADM0_A3_TW":"AZE","ADM0_A3_IN":"AZE","ADM0_A3_NP":"AZE","ADM0_A3_PK":"AZE","ADM0_A3_DE":"AZE","ADM0_A3_GB":"AZE","ADM0_A3_BR":"AZE","ADM0_A3_IL":"AZE","ADM0_A3_PS":"AZE","ADM0_A3_SA":"AZE","ADM0_A3_EG":"AZE","ADM0_A3_MA":"AZE","ADM0_A3_PT":"AZE","ADM0_A3_AR":"AZE","ADM0_A3_JP":"AZE","ADM0_A3_KO":"AZE","ADM0_A3_VN":"AZE","ADM0_A3_TR":"AZE","ADM0_A3_ID":"AZE","ADM0_A3_PL":"AZE","ADM0_A3_GR":"AZE","ADM0_A3_IT":"AZE","ADM0_A3_NL":"AZE","ADM0_A3_SE":"AZE","ADM0_A3_BD":"AZE","ADM0_A3_UA":"AZE","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Europe & Central Asia","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":47.210994,"LABEL_Y":40.402387,"NE_ID":1159320381,"WIKIDATAID":"Q227","NAME_AR":"أذربيجان","NAME_BN":"আজারবাইজান","NAME_DE":"Aserbaidschan","NAME_EN":"Azerbaijan","NAME_ES":"Azerbaiyán","NAME_FA":"جمهوری آذربایجان","NAME_FR":"Azerbaïdjan","NAME_EL":"Αζερμπαϊτζάν","NAME_HE":"אזרבייג'ן","NAME_HI":"अज़रबैजान","NAME_HU":"Azerbajdzsán","NAME_ID":"Azerbaijan","NAME_IT":"Azerbaigian","NAME_JA":"アゼルバイジャン","NAME_KO":"아제르바이잔","NAME_NL":"Azerbeidzjan","NAME_PL":"Azerbejdżan","NAME_PT":"Azerbaijão","NAME_RU":"Азербайджан","NAME_SV":"Azerbajdzjan","NAME_TR":"Azerbaycan","NAME_UK":"Азербайджан","NAME_UR":"آذربائیجان","NAME_VI":"Azerbaijan","NAME_ZH":"阿塞拜疆","NAME_ZHT":"亞塞拜然","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[44.79399,38.270378,50.392821,41.860675],"geometry":{"type":"MultiPolygon","coordinates":[[[[46.404951,41.860675],[46.686071,41.827137],[47.373315,41.219732],[47.815666,41.151416],[47.987283,41.405819],[48.584353,41.808869],[49.110264,41.282287],[49.618915,40.572924],[50.08483,40.526157],[50.392821,40.256561],[49.569202,40.176101],[49.395259,39.399482],[49.223228,39.049219],[48.856532,38.815486],[48.883249,38.320245],[48.634375,38.270378],[48.010744,38.794015],[48.355529,39.288765],[48.060095,39.582235],[47.685079,39.508364],[46.50572,38.770605],[46.483499,39.464155],[46.034534,39.628021],[45.610012,39.899994],[45.891907,40.218476],[45.359175,40.561504],[45.560351,40.81229],[45.179496,40.985354],[44.97248,41.248129],[45.217426,41.411452],[45.962601,41.123873],[46.501637,41.064445],[46.637908,41.181673],[46.145432,41.722802],[46.404951,41.860675]]],[[[46.143623,38.741201],[45.457722,38.874139],[44.952688,39.335765],[44.79399,39.713003],[45.001987,39.740004],[45.298145,39.471751],[45.739978,39.473999],[45.735379,39.319719],[46.143623,38.741201]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Georgia","SOV_A3":"GEO","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Georgia","ADM0_A3":"GEO","GEOU_DIF":0,"GEOUNIT":"Georgia","GU_A3":"GEO","SU_DIF":0,"SUBUNIT":"Georgia","SU_A3":"GEO","BRK_DIFF":0,"NAME":"Georgia","NAME_LONG":"Georgia","BRK_A3":"GEO","BRK_NAME":"Georgia","BRK_GROUP":null,"ABBREV":"Geo.","POSTAL":"GE","FORMAL_EN":"Georgia","FORMAL_FR":null,"NAME_CIAWF":"Georgia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Georgia","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":1,"MAPCOLOR9":3,"MAPCOLOR13":2,"POP_EST":3720382,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":17477,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"GG","ISO_A2":"GE","ISO_A2_EH":"GE","ISO_A3":"GEO","ISO_A3_EH":"GEO","ISO_N3":"268","ISO_N3_EH":"268","UN_A3":"268","WB_A2":"GE","WB_A3":"GEO","WOE_ID":23424823,"WOE_ID_EH":23424823,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"GEO","ADM0_DIFF":null,"ADM0_TLC":"GEO","ADM0_A3_US":"GEO","ADM0_A3_FR":"GEO","ADM0_A3_RU":"GEO","ADM0_A3_ES":"GEO","ADM0_A3_CN":"GEO","ADM0_A3_TW":"GEO","ADM0_A3_IN":"GEO","ADM0_A3_NP":"GEO","ADM0_A3_PK":"GEO","ADM0_A3_DE":"GEO","ADM0_A3_GB":"GEO","ADM0_A3_BR":"GEO","ADM0_A3_IL":"GEO","ADM0_A3_PS":"GEO","ADM0_A3_SA":"GEO","ADM0_A3_EG":"GEO","ADM0_A3_MA":"GEO","ADM0_A3_PT":"GEO","ADM0_A3_AR":"GEO","ADM0_A3_JP":"GEO","ADM0_A3_KO":"GEO","ADM0_A3_VN":"GEO","ADM0_A3_TR":"GEO","ADM0_A3_ID":"GEO","ADM0_A3_PL":"GEO","ADM0_A3_GR":"GEO","ADM0_A3_IT":"GEO","ADM0_A3_NL":"GEO","ADM0_A3_SE":"GEO","ADM0_A3_BD":"GEO","ADM0_A3_UA":"GEO","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":43.735724,"LABEL_Y":41.870087,"NE_ID":1159320779,"WIKIDATAID":"Q230","NAME_AR":"جورجيا","NAME_BN":"জর্জিয়া","NAME_DE":"Georgien","NAME_EN":"Georgia","NAME_ES":"Georgia","NAME_FA":"گرجستان","NAME_FR":"Géorgie","NAME_EL":"Γεωργία","NAME_HE":"גאורגיה","NAME_HI":"जॉर्जिया","NAME_HU":"Grúzia","NAME_ID":"Georgia","NAME_IT":"Georgia","NAME_JA":"ジョージア","NAME_KO":"조지아","NAME_NL":"Georgië","NAME_PL":"Gruzja","NAME_PT":"Geórgia","NAME_RU":"Грузия","NAME_SV":"Georgien","NAME_TR":"Gürcistan","NAME_UK":"Грузія","NAME_UR":"جارجیا","NAME_VI":"Gruzia","NAME_ZH":"格鲁吉亚","NAME_ZHT":"喬治亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[39.955009,41.064445,46.637908,43.553104],"geometry":{"type":"Polygon","coordinates":[[[39.955009,43.434998],[40.076965,43.553104],[40.92219,43.38215],[42.3944,43.2203],[43.75599,42.74083],[43.93121,42.55496],[44.537623,42.711993],[45.470279,42.502781],[45.7764,42.09244],[46.404951,41.860675],[46.145432,41.722802],[46.637908,41.181673],[46.501637,41.064445],[45.962601,41.123873],[45.217426,41.411452],[44.97248,41.248129],[43.582746,41.092143],[42.619549,41.583173],[41.554084,41.535656],[41.703171,41.962943],[41.45347,42.645123],[40.875469,43.013628],[40.321394,43.128634],[39.955009,43.434998]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Philippines","SOV_A3":"PHL","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Philippines","ADM0_A3":"PHL","GEOU_DIF":0,"GEOUNIT":"Philippines","GU_A3":"PHL","SU_DIF":0,"SUBUNIT":"Philippines","SU_A3":"PHL","BRK_DIFF":0,"NAME":"Philippines","NAME_LONG":"Philippines","BRK_A3":"PHL","BRK_NAME":"Philippines","BRK_GROUP":null,"ABBREV":"Phil.","POSTAL":"PH","FORMAL_EN":"Republic of the Philippines","FORMAL_FR":null,"NAME_CIAWF":"Philippines","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Philippines","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":2,"MAPCOLOR9":2,"MAPCOLOR13":8,"POP_EST":108116615,"POP_RANK":17,"POP_YEAR":2019,"GDP_MD":376795,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"4. Lower middle income","FIPS_10":"RP","ISO_A2":"PH","ISO_A2_EH":"PH","ISO_A3":"PHL","ISO_A3_EH":"PHL","ISO_N3":"608","ISO_N3_EH":"608","UN_A3":"608","WB_A2":"PH","WB_A3":"PHL","WOE_ID":23424934,"WOE_ID_EH":23424934,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"PHL","ADM0_DIFF":null,"ADM0_TLC":"PHL","ADM0_A3_US":"PHL","ADM0_A3_FR":"PHL","ADM0_A3_RU":"PHL","ADM0_A3_ES":"PHL","ADM0_A3_CN":"PHL","ADM0_A3_TW":"PHL","ADM0_A3_IN":"PHL","ADM0_A3_NP":"PHL","ADM0_A3_PK":"PHL","ADM0_A3_DE":"PHL","ADM0_A3_GB":"PHL","ADM0_A3_BR":"PHL","ADM0_A3_IL":"PHL","ADM0_A3_PS":"PHL","ADM0_A3_SA":"PHL","ADM0_A3_EG":"PHL","ADM0_A3_MA":"PHL","ADM0_A3_PT":"PHL","ADM0_A3_AR":"PHL","ADM0_A3_JP":"PHL","ADM0_A3_KO":"PHL","ADM0_A3_VN":"PHL","ADM0_A3_TR":"PHL","ADM0_A3_ID":"PHL","ADM0_A3_PL":"PHL","ADM0_A3_GR":"PHL","ADM0_A3_IT":"PHL","ADM0_A3_NL":"PHL","ADM0_A3_SE":"PHL","ADM0_A3_BD":"PHL","ADM0_A3_UA":"PHL","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"South-Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":11,"LONG_LEN":11,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.5,"MAX_LABEL":7,"LABEL_X":122.465,"LABEL_Y":11.198,"NE_ID":1159321169,"WIKIDATAID":"Q928","NAME_AR":"الفلبين","NAME_BN":"ফিলিপাইন","NAME_DE":"Philippinen","NAME_EN":"Philippines","NAME_ES":"Filipinas","NAME_FA":"فیلیپین","NAME_FR":"Philippines","NAME_EL":"Φιλιππίνες","NAME_HE":"הפיליפינים","NAME_HI":"फ़िलीपीन्स","NAME_HU":"Fülöp-szigetek","NAME_ID":"Filipina","NAME_IT":"Filippine","NAME_JA":"フィリピン","NAME_KO":"필리핀","NAME_NL":"Filipijnen","NAME_PL":"Filipiny","NAME_PT":"Filipinas","NAME_RU":"Филиппины","NAME_SV":"Filippinerna","NAME_TR":"Filipinler","NAME_UK":"Філіппіни","NAME_UR":"فلپائن","NAME_VI":"Philippines","NAME_ZH":"菲律宾","NAME_ZHT":"菲律賓","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[117.174275,5.581003,126.537424,18.505227],"geometry":{"type":"MultiPolygon","coordinates":[[[[120.833896,12.704496],[120.323436,13.466413],[121.180128,13.429697],[121.527394,13.06959],[121.26219,12.20556],[120.833896,12.704496]]],[[[122.586089,9.981045],[122.837081,10.261157],[122.947411,10.881868],[123.49885,10.940624],[123.337774,10.267384],[124.077936,11.232726],[123.982438,10.278779],[123.623183,9.950091],[123.309921,9.318269],[122.995883,9.022189],[122.380055,9.713361],[122.586089,9.981045]]],[[[126.376814,8.414706],[126.478513,7.750354],[126.537424,7.189381],[126.196773,6.274294],[125.831421,7.293715],[125.363852,6.786485],[125.683161,6.049657],[125.396512,5.581003],[124.219788,6.161355],[123.93872,6.885136],[124.243662,7.36061],[123.610212,7.833527],[123.296071,7.418876],[122.825506,7.457375],[122.085499,6.899424],[121.919928,7.192119],[122.312359,8.034962],[122.942398,8.316237],[123.487688,8.69301],[123.841154,8.240324],[124.60147,8.514158],[124.764612,8.960409],[125.471391,8.986997],[125.412118,9.760335],[126.222714,9.286074],[126.306637,8.782487],[126.376814,8.414706]]],[[[118.504581,9.316383],[117.174275,8.3675],[117.664477,9.066889],[118.386914,9.6845],[118.987342,10.376292],[119.511496,11.369668],[119.689677,10.554291],[119.029458,10.003653],[118.504581,9.316383]]],[[[122.336957,18.224883],[122.174279,17.810283],[122.515654,17.093505],[122.252311,16.262444],[121.662786,15.931018],[121.50507,15.124814],[121.728829,14.328376],[122.258925,14.218202],[122.701276,14.336541],[123.950295,13.782131],[123.855107,13.237771],[124.181289,12.997527],[124.077419,12.536677],[123.298035,13.027526],[122.928652,13.55292],[122.671355,13.185836],[122.03465,13.784482],[121.126385,13.636687],[120.628637,13.857656],[120.679384,14.271016],[120.991819,14.525393],[120.693336,14.756671],[120.564145,14.396279],[120.070429,14.970869],[119.920929,15.406347],[119.883773,16.363704],[120.286488,16.034629],[120.390047,17.599081],[120.715867,18.505227],[121.321308,18.504065],[121.937601,18.218552],[122.246006,18.47895],[122.336957,18.224883]]],[[[122.03837,11.415841],[121.883548,11.891755],[122.483821,11.582187],[123.120217,11.58366],[123.100838,11.165934],[122.637714,10.741308],[122.00261,10.441017],[121.967367,10.905691],[122.03837,11.415841]]],[[[125.502552,12.162695],[125.783465,11.046122],[125.011884,11.311455],[125.032761,10.975816],[125.277449,10.358722],[124.801819,10.134679],[124.760168,10.837995],[124.459101,10.88993],[124.302522,11.495371],[124.891013,11.415583],[124.87799,11.79419],[124.266762,12.557761],[125.227116,12.535721],[125.502552,12.162695]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Malaysia","SOV_A3":"MYS","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Malaysia","ADM0_A3":"MYS","GEOU_DIF":0,"GEOUNIT":"Malaysia","GU_A3":"MYS","SU_DIF":0,"SUBUNIT":"Malaysia","SU_A3":"MYS","BRK_DIFF":0,"NAME":"Malaysia","NAME_LONG":"Malaysia","BRK_A3":"MYS","BRK_NAME":"Malaysia","BRK_GROUP":null,"ABBREV":"Malay.","POSTAL":"MY","FORMAL_EN":"Malaysia","FORMAL_FR":null,"NAME_CIAWF":"Malaysia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Malaysia","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":4,"MAPCOLOR9":3,"MAPCOLOR13":6,"POP_EST":31949777,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":364681,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"MY","ISO_A2":"MY","ISO_A2_EH":"MY","ISO_A3":"MYS","ISO_A3_EH":"MYS","ISO_N3":"458","ISO_N3_EH":"458","UN_A3":"458","WB_A2":"MY","WB_A3":"MYS","WOE_ID":23424901,"WOE_ID_EH":23424901,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MYS","ADM0_DIFF":null,"ADM0_TLC":"MYS","ADM0_A3_US":"MYS","ADM0_A3_FR":"MYS","ADM0_A3_RU":"MYS","ADM0_A3_ES":"MYS","ADM0_A3_CN":"MYS","ADM0_A3_TW":"MYS","ADM0_A3_IN":"MYS","ADM0_A3_NP":"MYS","ADM0_A3_PK":"MYS","ADM0_A3_DE":"MYS","ADM0_A3_GB":"MYS","ADM0_A3_BR":"MYS","ADM0_A3_IL":"MYS","ADM0_A3_PS":"MYS","ADM0_A3_SA":"MYS","ADM0_A3_EG":"MYS","ADM0_A3_MA":"MYS","ADM0_A3_PT":"MYS","ADM0_A3_AR":"MYS","ADM0_A3_JP":"MYS","ADM0_A3_KO":"MYS","ADM0_A3_VN":"MYS","ADM0_A3_TR":"MYS","ADM0_A3_ID":"MYS","ADM0_A3_PL":"MYS","ADM0_A3_GR":"MYS","ADM0_A3_IT":"MYS","ADM0_A3_NL":"MYS","ADM0_A3_SE":"MYS","ADM0_A3_BD":"MYS","ADM0_A3_UA":"MYS","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"South-Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":113.83708,"LABEL_Y":2.528667,"NE_ID":1159321083,"WIKIDATAID":"Q833","NAME_AR":"ماليزيا","NAME_BN":"মালয়েশিয়া","NAME_DE":"Malaysia","NAME_EN":"Malaysia","NAME_ES":"Malasia","NAME_FA":"مالزی","NAME_FR":"Malaisie","NAME_EL":"Μαλαισία","NAME_HE":"מלזיה","NAME_HI":"मलेशिया","NAME_HU":"Malajzia","NAME_ID":"Malaysia","NAME_IT":"Malaysia","NAME_JA":"マレーシア","NAME_KO":"말레이시아","NAME_NL":"Maleisië","NAME_PL":"Malezja","NAME_PT":"Malásia","NAME_RU":"Малайзия","NAME_SV":"Malaysia","NAME_TR":"Malezya","NAME_UK":"Малайзія","NAME_UR":"ملائیشیا","NAME_VI":"Malaysia","NAME_ZH":"马来西亚","NAME_ZHT":"馬來西亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[100.085757,0.773131,119.181904,6.928053],"geometry":{"type":"MultiPolygon","coordinates":[[[[100.085757,6.464489],[100.259596,6.642825],[101.075516,6.204867],[101.154219,5.691384],[101.814282,5.810808],[102.141187,6.221636],[102.371147,6.128205],[102.961705,5.524495],[103.381215,4.855001],[103.438575,4.181606],[103.332122,3.726698],[103.429429,3.382869],[103.502448,2.791019],[103.854674,2.515454],[104.247932,1.631141],[104.228811,1.293048],[103.519707,1.226334],[102.573615,1.967115],[101.390638,2.760814],[101.27354,3.270292],[100.695435,3.93914],[100.557408,4.76728],[100.196706,5.312493],[100.30626,6.040562],[100.085757,6.464489]]],[[[117.882035,4.137551],[117.015214,4.306094],[115.865517,4.306559],[115.519078,3.169238],[115.134037,2.821482],[114.621355,1.430688],[113.80585,1.217549],[112.859809,1.49779],[112.380252,1.410121],[111.797548,0.904441],[111.159138,0.976478],[110.514061,0.773131],[109.830227,1.338136],[109.66326,2.006467],[110.396135,1.663775],[111.168853,1.850637],[111.370081,2.697303],[111.796928,2.885897],[112.995615,3.102395],[113.712935,3.893509],[114.204017,4.525874],[114.659596,4.007637],[114.869557,4.348314],[115.347461,4.316636],[115.4057,4.955228],[115.45071,5.44773],[116.220741,6.143191],[116.725103,6.924771],[117.129626,6.928053],[117.643393,6.422166],[117.689075,5.98749],[118.347691,5.708696],[119.181904,5.407836],[119.110694,5.016128],[118.439727,4.966519],[118.618321,4.478202],[117.882035,4.137551]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Brunei","SOV_A3":"BRN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Brunei","ADM0_A3":"BRN","GEOU_DIF":0,"GEOUNIT":"Brunei","GU_A3":"BRN","SU_DIF":0,"SUBUNIT":"Brunei","SU_A3":"BRN","BRK_DIFF":0,"NAME":"Brunei","NAME_LONG":"Brunei Darussalam","BRK_A3":"BRN","BRK_NAME":"Brunei","BRK_GROUP":null,"ABBREV":"Brunei","POSTAL":"BN","FORMAL_EN":"Negara Brunei Darussalam","FORMAL_FR":null,"NAME_CIAWF":"Brunei","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Brunei","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":6,"MAPCOLOR9":6,"MAPCOLOR13":12,"POP_EST":433285,"POP_RANK":10,"POP_YEAR":2019,"GDP_MD":13469,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"BX","ISO_A2":"BN","ISO_A2_EH":"BN","ISO_A3":"BRN","ISO_A3_EH":"BRN","ISO_N3":"096","ISO_N3_EH":"096","UN_A3":"096","WB_A2":"BN","WB_A3":"BRN","WOE_ID":23424773,"WOE_ID_EH":23424773,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BRN","ADM0_DIFF":null,"ADM0_TLC":"BRN","ADM0_A3_US":"BRN","ADM0_A3_FR":"BRN","ADM0_A3_RU":"BRN","ADM0_A3_ES":"BRN","ADM0_A3_CN":"BRN","ADM0_A3_TW":"BRN","ADM0_A3_IN":"BRN","ADM0_A3_NP":"BRN","ADM0_A3_PK":"BRN","ADM0_A3_DE":"BRN","ADM0_A3_GB":"BRN","ADM0_A3_BR":"BRN","ADM0_A3_IL":"BRN","ADM0_A3_PS":"BRN","ADM0_A3_SA":"BRN","ADM0_A3_EG":"BRN","ADM0_A3_MA":"BRN","ADM0_A3_PT":"BRN","ADM0_A3_AR":"BRN","ADM0_A3_JP":"BRN","ADM0_A3_KO":"BRN","ADM0_A3_VN":"BRN","ADM0_A3_TR":"BRN","ADM0_A3_ID":"BRN","ADM0_A3_PL":"BRN","ADM0_A3_GR":"BRN","ADM0_A3_IT":"BRN","ADM0_A3_NL":"BRN","ADM0_A3_SE":"BRN","ADM0_A3_BD":"BRN","ADM0_A3_UA":"BRN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"South-Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":6,"LONG_LEN":17,"ABBREV_LEN":6,"TINY":2,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":114.551943,"LABEL_Y":4.448298,"NE_ID":1159320451,"WIKIDATAID":"Q921","NAME_AR":"بروناي","NAME_BN":"ব্রুনাই","NAME_DE":"Brunei","NAME_EN":"Brunei","NAME_ES":"Brunéi","NAME_FA":"برونئی","NAME_FR":"Brunei","NAME_EL":"Μπρουνέι","NAME_HE":"ברוניי","NAME_HI":"ब्रुनेई","NAME_HU":"Brunei","NAME_ID":"Brunei Darussalam","NAME_IT":"Brunei","NAME_JA":"ブルネイ","NAME_KO":"브루나이","NAME_NL":"Brunei","NAME_PL":"Brunei","NAME_PT":"Brunei","NAME_RU":"Бруней","NAME_SV":"Brunei","NAME_TR":"Brunei","NAME_UK":"Бруней","NAME_UR":"برونائی دار السلام","NAME_VI":"Brunei","NAME_ZH":"文莱","NAME_ZHT":"汶萊","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[114.204017,4.007637,115.45071,5.44773],"geometry":{"type":"Polygon","coordinates":[[[115.45071,5.44773],[115.4057,4.955228],[115.347461,4.316636],[114.869557,4.348314],[114.659596,4.007637],[114.204017,4.525874],[114.599961,4.900011],[115.45071,5.44773]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Slovenia","SOV_A3":"SVN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Slovenia","ADM0_A3":"SVN","GEOU_DIF":0,"GEOUNIT":"Slovenia","GU_A3":"SVN","SU_DIF":0,"SUBUNIT":"Slovenia","SU_A3":"SVN","BRK_DIFF":0,"NAME":"Slovenia","NAME_LONG":"Slovenia","BRK_A3":"SVN","BRK_NAME":"Slovenia","BRK_GROUP":null,"ABBREV":"Slo.","POSTAL":"SLO","FORMAL_EN":"Republic of Slovenia","FORMAL_FR":null,"NAME_CIAWF":"Slovenia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Slovenia","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":3,"MAPCOLOR9":2,"MAPCOLOR13":12,"POP_EST":2087946,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":54174,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"SI","ISO_A2":"SI","ISO_A2_EH":"SI","ISO_A3":"SVN","ISO_A3_EH":"SVN","ISO_N3":"705","ISO_N3_EH":"705","UN_A3":"705","WB_A2":"SI","WB_A3":"SVN","WOE_ID":23424945,"WOE_ID_EH":23424945,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"SVN","ADM0_DIFF":null,"ADM0_TLC":"SVN","ADM0_A3_US":"SVN","ADM0_A3_FR":"SVN","ADM0_A3_RU":"SVN","ADM0_A3_ES":"SVN","ADM0_A3_CN":"SVN","ADM0_A3_TW":"SVN","ADM0_A3_IN":"SVN","ADM0_A3_NP":"SVN","ADM0_A3_PK":"SVN","ADM0_A3_DE":"SVN","ADM0_A3_GB":"SVN","ADM0_A3_BR":"SVN","ADM0_A3_IL":"SVN","ADM0_A3_PS":"SVN","ADM0_A3_SA":"SVN","ADM0_A3_EG":"SVN","ADM0_A3_MA":"SVN","ADM0_A3_PT":"SVN","ADM0_A3_AR":"SVN","ADM0_A3_JP":"SVN","ADM0_A3_KO":"SVN","ADM0_A3_VN":"SVN","ADM0_A3_TR":"SVN","ADM0_A3_ID":"SVN","ADM0_A3_PL":"SVN","ADM0_A3_GR":"SVN","ADM0_A3_IT":"SVN","ADM0_A3_NL":"SVN","ADM0_A3_SE":"SVN","ADM0_A3_BD":"SVN","ADM0_A3_UA":"SVN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Southern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":14.915312,"LABEL_Y":46.06076,"NE_ID":1159321285,"WIKIDATAID":"Q215","NAME_AR":"سلوفينيا","NAME_BN":"স্লোভেনিয়া","NAME_DE":"Slowenien","NAME_EN":"Slovenia","NAME_ES":"Eslovenia","NAME_FA":"اسلوونی","NAME_FR":"Slovénie","NAME_EL":"Σλοβενία","NAME_HE":"סלובניה","NAME_HI":"स्लोवेनिया","NAME_HU":"Szlovénia","NAME_ID":"Slovenia","NAME_IT":"Slovenia","NAME_JA":"スロベニア","NAME_KO":"슬로베니아","NAME_NL":"Slovenië","NAME_PL":"Słowenia","NAME_PT":"Eslovénia","NAME_RU":"Словения","NAME_SV":"Slovenien","NAME_TR":"Slovenya","NAME_UK":"Словенія","NAME_UR":"سلووینیا","NAME_VI":"Slovenia","NAME_ZH":"斯洛文尼亚","NAME_ZHT":"斯洛維尼亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[13.69811,45.452316,16.564808,46.852386],"geometry":{"type":"Polygon","coordinates":[[[13.806475,46.509306],[14.632472,46.431817],[15.137092,46.658703],[16.011664,46.683611],[16.202298,46.852386],[16.370505,46.841327],[16.564808,46.503751],[15.768733,46.238108],[15.67153,45.834154],[15.323954,45.731783],[15.327675,45.452316],[14.935244,45.471695],[14.595109,45.634941],[14.411968,45.466166],[13.71506,45.500324],[13.93763,45.591016],[13.69811,46.016778],[13.806475,46.509306]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Finland","SOV_A3":"FI1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Country","TLC":"1","ADMIN":"Finland","ADM0_A3":"FIN","GEOU_DIF":0,"GEOUNIT":"Finland","GU_A3":"FIN","SU_DIF":0,"SUBUNIT":"Finland","SU_A3":"FIN","BRK_DIFF":0,"NAME":"Finland","NAME_LONG":"Finland","BRK_A3":"FIN","BRK_NAME":"Finland","BRK_GROUP":null,"ABBREV":"Fin.","POSTAL":"FIN","FORMAL_EN":"Republic of Finland","FORMAL_FR":null,"NAME_CIAWF":"Finland","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Finland","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":1,"MAPCOLOR9":4,"MAPCOLOR13":6,"POP_EST":5520314,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":269296,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"FI","ISO_A2":"FI","ISO_A2_EH":"FI","ISO_A3":"FIN","ISO_A3_EH":"FIN","ISO_N3":"246","ISO_N3_EH":"246","UN_A3":"246","WB_A2":"FI","WB_A3":"FIN","WOE_ID":23424812,"WOE_ID_EH":23424812,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"FIN","ADM0_DIFF":null,"ADM0_TLC":"FIN","ADM0_A3_US":"FIN","ADM0_A3_FR":"FIN","ADM0_A3_RU":"FIN","ADM0_A3_ES":"FIN","ADM0_A3_CN":"FIN","ADM0_A3_TW":"FIN","ADM0_A3_IN":"FIN","ADM0_A3_NP":"FIN","ADM0_A3_PK":"FIN","ADM0_A3_DE":"FIN","ADM0_A3_GB":"FIN","ADM0_A3_BR":"FIN","ADM0_A3_IL":"FIN","ADM0_A3_PS":"FIN","ADM0_A3_SA":"FIN","ADM0_A3_EG":"FIN","ADM0_A3_MA":"FIN","ADM0_A3_PT":"FIN","ADM0_A3_AR":"FIN","ADM0_A3_JP":"FIN","ADM0_A3_KO":"FIN","ADM0_A3_VN":"FIN","ADM0_A3_TR":"FIN","ADM0_A3_ID":"FIN","ADM0_A3_PL":"FIN","ADM0_A3_GR":"FIN","ADM0_A3_IT":"FIN","ADM0_A3_NL":"FIN","ADM0_A3_SE":"FIN","ADM0_A3_BD":"FIN","ADM0_A3_UA":"FIN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Northern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":27.276449,"LABEL_Y":63.252361,"NE_ID":1159320623,"WIKIDATAID":"Q33","NAME_AR":"فنلندا","NAME_BN":"ফিনল্যান্ড","NAME_DE":"Finnland","NAME_EN":"Finland","NAME_ES":"Finlandia","NAME_FA":"فنلاند","NAME_FR":"Finlande","NAME_EL":"Φινλανδία","NAME_HE":"פינלנד","NAME_HI":"फ़िनलैण्ड","NAME_HU":"Finnország","NAME_ID":"Finlandia","NAME_IT":"Finlandia","NAME_JA":"フィンランド","NAME_KO":"핀란드","NAME_NL":"Finland","NAME_PL":"Finlandia","NAME_PT":"Finlândia","NAME_RU":"Финляндия","NAME_SV":"Finland","NAME_TR":"Finlandiya","NAME_UK":"Фінляндія","NAME_UR":"فن لینڈ","NAME_VI":"Phần Lan","NAME_ZH":"芬兰","NAME_ZHT":"芬蘭","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[20.645593,59.846373,31.516092,70.164193],"geometry":{"type":"Polygon","coordinates":[[[28.59193,69.064777],[28.445944,68.364613],[29.977426,67.698297],[29.054589,66.944286],[30.21765,65.80598],[29.54443,64.948672],[30.444685,64.204453],[30.035872,63.552814],[31.516092,62.867687],[31.139991,62.357693],[30.211107,61.780028],[28.07,60.50352],[28.070002,60.503519],[28.069998,60.503517],[26.255173,60.423961],[24.496624,60.057316],[22.869695,59.846373],[22.290764,60.391921],[21.322244,60.72017],[21.544866,61.705329],[21.059211,62.607393],[21.536029,63.189735],[22.442744,63.81781],[24.730512,64.902344],[25.398068,65.111427],[25.294043,65.534346],[23.903379,66.006927],[23.56588,66.396051],[23.539473,67.936009],[21.978535,68.616846],[20.645593,69.106247],[21.244936,69.370443],[22.356238,68.841741],[23.66205,68.891247],[24.735679,68.649557],[25.689213,69.092114],[26.179622,69.825299],[27.732292,70.164193],[29.015573,69.766491],[28.59193,69.064777]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Slovakia","SOV_A3":"SVK","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Slovakia","ADM0_A3":"SVK","GEOU_DIF":0,"GEOUNIT":"Slovakia","GU_A3":"SVK","SU_DIF":0,"SUBUNIT":"Slovakia","SU_A3":"SVK","BRK_DIFF":0,"NAME":"Slovakia","NAME_LONG":"Slovakia","BRK_A3":"SVK","BRK_NAME":"Slovakia","BRK_GROUP":null,"ABBREV":"Svk.","POSTAL":"SK","FORMAL_EN":"Slovak Republic","FORMAL_FR":null,"NAME_CIAWF":"Slovakia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Slovak Republic","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":4,"MAPCOLOR9":4,"MAPCOLOR13":9,"POP_EST":5454073,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":105079,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"LO","ISO_A2":"SK","ISO_A2_EH":"SK","ISO_A3":"SVK","ISO_A3_EH":"SVK","ISO_N3":"703","ISO_N3_EH":"703","UN_A3":"703","WB_A2":"SK","WB_A3":"SVK","WOE_ID":23424877,"WOE_ID_EH":23424877,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"SVK","ADM0_DIFF":null,"ADM0_TLC":"SVK","ADM0_A3_US":"SVK","ADM0_A3_FR":"SVK","ADM0_A3_RU":"SVK","ADM0_A3_ES":"SVK","ADM0_A3_CN":"SVK","ADM0_A3_TW":"SVK","ADM0_A3_IN":"SVK","ADM0_A3_NP":"SVK","ADM0_A3_PK":"SVK","ADM0_A3_DE":"SVK","ADM0_A3_GB":"SVK","ADM0_A3_BR":"SVK","ADM0_A3_IL":"SVK","ADM0_A3_PS":"SVK","ADM0_A3_SA":"SVK","ADM0_A3_EG":"SVK","ADM0_A3_MA":"SVK","ADM0_A3_PT":"SVK","ADM0_A3_AR":"SVK","ADM0_A3_JP":"SVK","ADM0_A3_KO":"SVK","ADM0_A3_VN":"SVK","ADM0_A3_TR":"SVK","ADM0_A3_ID":"SVK","ADM0_A3_PL":"SVK","ADM0_A3_GR":"SVK","ADM0_A3_IT":"SVK","ADM0_A3_NL":"SVK","ADM0_A3_SE":"SVK","ADM0_A3_BD":"SVK","ADM0_A3_UA":"SVK","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Eastern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":19.049868,"LABEL_Y":48.734044,"NE_ID":1159321283,"WIKIDATAID":"Q214","NAME_AR":"سلوفاكيا","NAME_BN":"স্লোভাকিয়া","NAME_DE":"Slowakei","NAME_EN":"Slovakia","NAME_ES":"Eslovaquia","NAME_FA":"اسلواکی","NAME_FR":"Slovaquie","NAME_EL":"Σλοβακία","NAME_HE":"סלובקיה","NAME_HI":"स्लोवाकिया","NAME_HU":"Szlovákia","NAME_ID":"Slowakia","NAME_IT":"Slovacchia","NAME_JA":"スロバキア","NAME_KO":"슬로바키아","NAME_NL":"Slowakije","NAME_PL":"Słowacja","NAME_PT":"Eslováquia","NAME_RU":"Словакия","NAME_SV":"Slovakien","NAME_TR":"Slovakya","NAME_UK":"Словаччина","NAME_UR":"سلوواکیہ","NAME_VI":"Slovakia","NAME_ZH":"斯洛伐克","NAME_ZHT":"斯洛伐克","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[16.879983,47.758429,22.558138,49.571574],"geometry":{"type":"Polygon","coordinates":[[[22.558138,49.085738],[22.280842,48.825392],[22.085608,48.422264],[21.872236,48.319971],[20.801294,48.623854],[20.473562,48.56285],[20.239054,48.327567],[19.769471,48.202691],[19.661364,48.266615],[19.174365,48.111379],[18.777025,48.081768],[18.696513,47.880954],[17.857133,47.758429],[17.488473,47.867466],[16.979667,48.123497],[16.879983,48.470013],[16.960288,48.596982],[17.101985,48.816969],[17.545007,48.800019],[17.886485,48.903475],[17.913512,48.996493],[18.104973,49.043983],[18.170498,49.271515],[18.399994,49.315001],[18.554971,49.495015],[18.853144,49.49623],[18.909575,49.435846],[19.320713,49.571574],[19.825023,49.217125],[20.415839,49.431453],[20.887955,49.328772],[21.607808,49.470107],[22.558138,49.085738]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Czechia","SOV_A3":"CZE","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Czechia","ADM0_A3":"CZE","GEOU_DIF":0,"GEOUNIT":"Czechia","GU_A3":"CZE","SU_DIF":0,"SUBUNIT":"Czechia","SU_A3":"CZE","BRK_DIFF":0,"NAME":"Czechia","NAME_LONG":"Czech Republic","BRK_A3":"CZE","BRK_NAME":"Czechia","BRK_GROUP":null,"ABBREV":"Cz.","POSTAL":"CZ","FORMAL_EN":"Czech Republic","FORMAL_FR":"la République tchèque","NAME_CIAWF":"Czechia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Czechia","NAME_ALT":"Česko","MAPCOLOR7":1,"MAPCOLOR8":1,"MAPCOLOR9":2,"MAPCOLOR13":6,"POP_EST":10669709,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":250680,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"EZ","ISO_A2":"CZ","ISO_A2_EH":"CZ","ISO_A3":"CZE","ISO_A3_EH":"CZE","ISO_N3":"203","ISO_N3_EH":"203","UN_A3":"203","WB_A2":"CZ","WB_A3":"CZE","WOE_ID":23424810,"WOE_ID_EH":23424810,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"CZE","ADM0_DIFF":null,"ADM0_TLC":"CZE","ADM0_A3_US":"CZE","ADM0_A3_FR":"CZE","ADM0_A3_RU":"CZE","ADM0_A3_ES":"CZE","ADM0_A3_CN":"CZE","ADM0_A3_TW":"CZE","ADM0_A3_IN":"CZE","ADM0_A3_NP":"CZE","ADM0_A3_PK":"CZE","ADM0_A3_DE":"CZE","ADM0_A3_GB":"CZE","ADM0_A3_BR":"CZE","ADM0_A3_IL":"CZE","ADM0_A3_PS":"CZE","ADM0_A3_SA":"CZE","ADM0_A3_EG":"CZE","ADM0_A3_MA":"CZE","ADM0_A3_PT":"CZE","ADM0_A3_AR":"CZE","ADM0_A3_JP":"CZE","ADM0_A3_KO":"CZE","ADM0_A3_VN":"CZE","ADM0_A3_TR":"CZE","ADM0_A3_ID":"CZE","ADM0_A3_PL":"CZE","ADM0_A3_GR":"CZE","ADM0_A3_IT":"CZE","ADM0_A3_NL":"CZE","ADM0_A3_SE":"CZE","ADM0_A3_BD":"CZE","ADM0_A3_UA":"CZE","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Eastern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":14,"ABBREV_LEN":3,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":15.377555,"LABEL_Y":49.882364,"NE_ID":1159320535,"WIKIDATAID":"Q213","NAME_AR":"التشيك","NAME_BN":"চেক প্রজাতন্ত্র","NAME_DE":"Tschechien","NAME_EN":"Czech Republic","NAME_ES":"República Checa","NAME_FA":"جمهوری چک","NAME_FR":"Tchéquie","NAME_EL":"Τσεχία","NAME_HE":"צ'כיה","NAME_HI":"चेक गणराज्य","NAME_HU":"Csehország","NAME_ID":"Republik Ceko","NAME_IT":"Repubblica Ceca","NAME_JA":"チェコ","NAME_KO":"체코","NAME_NL":"Tsjechië","NAME_PL":"Czechy","NAME_PT":"Chéquia","NAME_RU":"Чехия","NAME_SV":"Tjeckien","NAME_TR":"Çek Cumhuriyeti","NAME_UK":"Чехія","NAME_UR":"چیک جمہوریہ","NAME_VI":"Cộng hòa Séc","NAME_ZH":"捷克","NAME_ZHT":"捷克共和國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[12.240111,48.555305,18.853144,51.117268],"geometry":{"type":"Polygon","coordinates":[[[15.016996,51.106674],[15.490972,50.78473],[16.238627,50.697733],[16.176253,50.422607],[16.719476,50.215747],[16.868769,50.473974],[17.554567,50.362146],[17.649445,50.049038],[18.392914,49.988629],[18.853144,49.49623],[18.554971,49.495015],[18.399994,49.315001],[18.170498,49.271515],[18.104973,49.043983],[17.913512,48.996493],[17.886485,48.903475],[17.545007,48.800019],[17.101985,48.816969],[16.960288,48.596982],[16.499283,48.785808],[16.029647,48.733899],[15.253416,49.039074],[14.901447,48.964402],[14.338898,48.555305],[13.595946,48.877172],[13.031329,49.307068],[12.521024,49.547415],[12.415191,49.969121],[12.240111,50.266338],[12.966837,50.484076],[13.338132,50.733234],[14.056228,50.926918],[14.307013,51.117268],[14.570718,51.002339],[15.016996,51.106674]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Eritrea","SOV_A3":"ERI","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Eritrea","ADM0_A3":"ERI","GEOU_DIF":0,"GEOUNIT":"Eritrea","GU_A3":"ERI","SU_DIF":0,"SUBUNIT":"Eritrea","SU_A3":"ERI","BRK_DIFF":0,"NAME":"Eritrea","NAME_LONG":"Eritrea","BRK_A3":"ERI","BRK_NAME":"Eritrea","BRK_GROUP":null,"ABBREV":"Erit.","POSTAL":"ER","FORMAL_EN":"State of Eritrea","FORMAL_FR":null,"NAME_CIAWF":"Eritrea","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Eritrea","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":1,"MAPCOLOR9":2,"MAPCOLOR13":12,"POP_EST":6081196,"POP_RANK":13,"POP_YEAR":2020,"GDP_MD":2065,"GDP_YEAR":2011,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"ER","ISO_A2":"ER","ISO_A2_EH":"ER","ISO_A3":"ERI","ISO_A3_EH":"ERI","ISO_N3":"232","ISO_N3_EH":"232","UN_A3":"232","WB_A2":"ER","WB_A3":"ERI","WOE_ID":23424806,"WOE_ID_EH":23424806,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ERI","ADM0_DIFF":null,"ADM0_TLC":"ERI","ADM0_A3_US":"ERI","ADM0_A3_FR":"ERI","ADM0_A3_RU":"ERI","ADM0_A3_ES":"ERI","ADM0_A3_CN":"ERI","ADM0_A3_TW":"ERI","ADM0_A3_IN":"ERI","ADM0_A3_NP":"ERI","ADM0_A3_PK":"ERI","ADM0_A3_DE":"ERI","ADM0_A3_GB":"ERI","ADM0_A3_BR":"ERI","ADM0_A3_IL":"ERI","ADM0_A3_PS":"ERI","ADM0_A3_SA":"ERI","ADM0_A3_EG":"ERI","ADM0_A3_MA":"ERI","ADM0_A3_PT":"ERI","ADM0_A3_AR":"ERI","ADM0_A3_JP":"ERI","ADM0_A3_KO":"ERI","ADM0_A3_VN":"ERI","ADM0_A3_TR":"ERI","ADM0_A3_ID":"ERI","ADM0_A3_PL":"ERI","ADM0_A3_GR":"ERI","ADM0_A3_IT":"ERI","ADM0_A3_NL":"ERI","ADM0_A3_SE":"ERI","ADM0_A3_BD":"ERI","ADM0_A3_UA":"ERI","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":38.285566,"LABEL_Y":15.787401,"NE_ID":1159320581,"WIKIDATAID":"Q986","NAME_AR":"إريتريا","NAME_BN":"ইরিত্রিয়া","NAME_DE":"Eritrea","NAME_EN":"Eritrea","NAME_ES":"Eritrea","NAME_FA":"اریتره","NAME_FR":"Érythrée","NAME_EL":"Ερυθραία","NAME_HE":"אריתריאה","NAME_HI":"इरित्रिया","NAME_HU":"Eritrea","NAME_ID":"Eritrea","NAME_IT":"Eritrea","NAME_JA":"エリトリア","NAME_KO":"에리트레아","NAME_NL":"Eritrea","NAME_PL":"Erytrea","NAME_PT":"Eritreia","NAME_RU":"Эритрея","NAME_SV":"Eritrea","NAME_TR":"Eritre","NAME_UK":"Еритрея","NAME_UR":"اریتریا","NAME_VI":"Eritrea","NAME_ZH":"厄立特里亚","NAME_ZHT":"厄利垂亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[36.32322,12.455416,43.081226,17.998307],"geometry":{"type":"Polygon","coordinates":[[[36.42951,14.42211],[36.32322,14.82249],[36.75389,16.29186],[36.85253,16.95655],[37.16747,17.26314],[37.904,17.42754],[38.41009,17.998307],[38.990623,16.840626],[39.26611,15.922723],[39.814294,15.435647],[41.179275,14.49108],[41.734952,13.921037],[42.276831,13.343992],[42.589576,13.000421],[43.081226,12.699639],[42.779642,12.455416],[42.35156,12.54223],[42.00975,12.86582],[41.59856,13.45209],[41.1552,13.77333],[40.8966,14.11864],[40.02625,14.51959],[39.34061,14.53155],[39.0994,14.74064],[38.51295,14.50547],[37.90607,14.95943],[37.59377,14.2131],[36.42951,14.42211]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Japan","SOV_A3":"JPN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Japan","ADM0_A3":"JPN","GEOU_DIF":0,"GEOUNIT":"Japan","GU_A3":"JPN","SU_DIF":0,"SUBUNIT":"Japan","SU_A3":"JPN","BRK_DIFF":0,"NAME":"Japan","NAME_LONG":"Japan","BRK_A3":"JPN","BRK_NAME":"Japan","BRK_GROUP":null,"ABBREV":"Japan","POSTAL":"J","FORMAL_EN":"Japan","FORMAL_FR":null,"NAME_CIAWF":"Japan","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Japan","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":3,"MAPCOLOR9":5,"MAPCOLOR13":4,"POP_EST":126264931,"POP_RANK":17,"POP_YEAR":2019,"GDP_MD":5081769,"GDP_YEAR":2019,"ECONOMY":"1. Developed region: G7","INCOME_GRP":"1. High income: OECD","FIPS_10":"JA","ISO_A2":"JP","ISO_A2_EH":"JP","ISO_A3":"JPN","ISO_A3_EH":"JPN","ISO_N3":"392","ISO_N3_EH":"392","UN_A3":"392","WB_A2":"JP","WB_A3":"JPN","WOE_ID":23424856,"WOE_ID_EH":23424856,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"JPN","ADM0_DIFF":null,"ADM0_TLC":"JPN","ADM0_A3_US":"JPN","ADM0_A3_FR":"JPN","ADM0_A3_RU":"JPN","ADM0_A3_ES":"JPN","ADM0_A3_CN":"JPN","ADM0_A3_TW":"JPN","ADM0_A3_IN":"JPN","ADM0_A3_NP":"JPN","ADM0_A3_PK":"JPN","ADM0_A3_DE":"JPN","ADM0_A3_GB":"JPN","ADM0_A3_BR":"JPN","ADM0_A3_IL":"JPN","ADM0_A3_PS":"JPN","ADM0_A3_SA":"JPN","ADM0_A3_EG":"JPN","ADM0_A3_MA":"JPN","ADM0_A3_PT":"JPN","ADM0_A3_AR":"JPN","ADM0_A3_JP":"JPN","ADM0_A3_KO":"JPN","ADM0_A3_VN":"JPN","ADM0_A3_TR":"JPN","ADM0_A3_ID":"JPN","ADM0_A3_PL":"JPN","ADM0_A3_GR":"JPN","ADM0_A3_IT":"JPN","ADM0_A3_NL":"JPN","ADM0_A3_SE":"JPN","ADM0_A3_BD":"JPN","ADM0_A3_UA":"JPN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":7,"LABEL_X":138.44217,"LABEL_Y":36.142538,"NE_ID":1159320937,"WIKIDATAID":"Q17","NAME_AR":"اليابان","NAME_BN":"জাপান","NAME_DE":"Japan","NAME_EN":"Japan","NAME_ES":"Japón","NAME_FA":"ژاپن","NAME_FR":"Japon","NAME_EL":"Ιαπωνία","NAME_HE":"יפן","NAME_HI":"जापान","NAME_HU":"Japán","NAME_ID":"Jepang","NAME_IT":"Giappone","NAME_JA":"日本","NAME_KO":"일본","NAME_NL":"Japan","NAME_PL":"Japonia","NAME_PT":"Japão","NAME_RU":"Япония","NAME_SV":"Japan","NAME_TR":"Japonya","NAME_UK":"Японія","NAME_UR":"جاپان","NAME_VI":"Nhật Bản","NAME_ZH":"日本","NAME_ZHT":"日本","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[129.408463,31.029579,145.543137,45.551483],"geometry":{"type":"MultiPolygon","coordinates":[[[[141.884601,39.180865],[140.959489,38.174001],[140.976388,37.142074],[140.59977,36.343983],[140.774074,35.842877],[140.253279,35.138114],[138.975528,34.6676],[137.217599,34.606286],[135.792983,33.464805],[135.120983,33.849071],[135.079435,34.596545],[133.340316,34.375938],[132.156771,33.904933],[130.986145,33.885761],[132.000036,33.149992],[131.33279,31.450355],[130.686318,31.029579],[130.20242,31.418238],[130.447676,32.319475],[129.814692,32.61031],[129.408463,33.296056],[130.353935,33.604151],[130.878451,34.232743],[131.884229,34.749714],[132.617673,35.433393],[134.608301,35.731618],[135.677538,35.527134],[136.723831,37.304984],[137.390612,36.827391],[138.857602,37.827485],[139.426405,38.215962],[140.05479,39.438807],[139.883379,40.563312],[140.305783,41.195005],[141.368973,41.37856],[141.914263,39.991616],[141.884601,39.180865]]],[[[144.613427,43.960883],[145.320825,44.384733],[145.543137,43.262088],[144.059662,42.988358],[143.18385,41.995215],[141.611491,42.678791],[141.067286,41.584594],[139.955106,41.569556],[139.817544,42.563759],[140.312087,43.333273],[141.380549,43.388825],[141.671952,44.772125],[141.967645,45.551483],[143.14287,44.510358],[143.910162,44.1741],[144.613427,43.960883]]],[[[132.371176,33.463642],[132.924373,34.060299],[133.492968,33.944621],[133.904106,34.364931],[134.638428,34.149234],[134.766379,33.806335],[134.203416,33.201178],[133.79295,33.521985],[133.280268,33.28957],[133.014858,32.704567],[132.363115,32.989382],[132.371176,33.463642]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Paraguay","SOV_A3":"PRY","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Paraguay","ADM0_A3":"PRY","GEOU_DIF":0,"GEOUNIT":"Paraguay","GU_A3":"PRY","SU_DIF":0,"SUBUNIT":"Paraguay","SU_A3":"PRY","BRK_DIFF":0,"NAME":"Paraguay","NAME_LONG":"Paraguay","BRK_A3":"PRY","BRK_NAME":"Paraguay","BRK_GROUP":null,"ABBREV":"Para.","POSTAL":"PY","FORMAL_EN":"Republic of Paraguay","FORMAL_FR":null,"NAME_CIAWF":"Paraguay","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Paraguay","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":3,"MAPCOLOR9":6,"MAPCOLOR13":2,"POP_EST":7044636,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":38145,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"4. Lower middle income","FIPS_10":"PA","ISO_A2":"PY","ISO_A2_EH":"PY","ISO_A3":"PRY","ISO_A3_EH":"PRY","ISO_N3":"600","ISO_N3_EH":"600","UN_A3":"600","WB_A2":"PY","WB_A3":"PRY","WOE_ID":23424917,"WOE_ID_EH":23424917,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"PRY","ADM0_DIFF":null,"ADM0_TLC":"PRY","ADM0_A3_US":"PRY","ADM0_A3_FR":"PRY","ADM0_A3_RU":"PRY","ADM0_A3_ES":"PRY","ADM0_A3_CN":"PRY","ADM0_A3_TW":"PRY","ADM0_A3_IN":"PRY","ADM0_A3_NP":"PRY","ADM0_A3_PK":"PRY","ADM0_A3_DE":"PRY","ADM0_A3_GB":"PRY","ADM0_A3_BR":"PRY","ADM0_A3_IL":"PRY","ADM0_A3_PS":"PRY","ADM0_A3_SA":"PRY","ADM0_A3_EG":"PRY","ADM0_A3_MA":"PRY","ADM0_A3_PT":"PRY","ADM0_A3_AR":"PRY","ADM0_A3_JP":"PRY","ADM0_A3_KO":"PRY","ADM0_A3_VN":"PRY","ADM0_A3_TR":"PRY","ADM0_A3_ID":"PRY","ADM0_A3_PL":"PRY","ADM0_A3_GR":"PRY","ADM0_A3_IT":"PRY","ADM0_A3_NL":"PRY","ADM0_A3_SE":"PRY","ADM0_A3_BD":"PRY","ADM0_A3_UA":"PRY","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"South America","REGION_UN":"Americas","SUBREGION":"South America","REGION_WB":"Latin America & Caribbean","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":-60.146394,"LABEL_Y":-21.674509,"NE_ID":1159321195,"WIKIDATAID":"Q733","NAME_AR":"باراغواي","NAME_BN":"প্যারাগুয়ে","NAME_DE":"Paraguay","NAME_EN":"Paraguay","NAME_ES":"Paraguay","NAME_FA":"پاراگوئه","NAME_FR":"Paraguay","NAME_EL":"Παραγουάη","NAME_HE":"פרגוואי","NAME_HI":"पैराग्वे","NAME_HU":"Paraguay","NAME_ID":"Paraguay","NAME_IT":"Paraguay","NAME_JA":"パラグアイ","NAME_KO":"파라과이","NAME_NL":"Paraguay","NAME_PL":"Paragwaj","NAME_PT":"Paraguai","NAME_RU":"Парагвай","NAME_SV":"Paraguay","NAME_TR":"Paraguay","NAME_UK":"Парагвай","NAME_UR":"پیراگوئے","NAME_VI":"Paraguay","NAME_ZH":"巴拉圭","NAME_ZHT":"巴拉圭","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-62.685057,-27.548499,-54.29296,-19.342747],"geometry":{"type":"Polygon","coordinates":[[[-58.166392,-20.176701],[-57.870674,-20.732688],[-57.937156,-22.090176],[-56.88151,-22.282154],[-56.473317,-22.0863],[-55.797958,-22.35693],[-55.610683,-22.655619],[-55.517639,-23.571998],[-55.400747,-23.956935],[-55.027902,-24.001274],[-54.652834,-23.839578],[-54.29296,-24.021014],[-54.293476,-24.5708],[-54.428946,-25.162185],[-54.625291,-25.739255],[-54.788795,-26.621786],[-55.695846,-27.387837],[-56.486702,-27.548499],[-57.60976,-27.395899],[-58.618174,-27.123719],[-57.63366,-25.603657],[-57.777217,-25.16234],[-58.807128,-24.771459],[-60.028966,-24.032796],[-60.846565,-23.880713],[-62.685057,-22.249029],[-62.291179,-21.051635],[-62.265961,-20.513735],[-61.786326,-19.633737],[-60.043565,-19.342747],[-59.115042,-19.356906],[-58.183471,-19.868399],[-58.166392,-20.176701]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Yemen","SOV_A3":"YEM","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Yemen","ADM0_A3":"YEM","GEOU_DIF":0,"GEOUNIT":"Yemen","GU_A3":"YEM","SU_DIF":0,"SUBUNIT":"Yemen","SU_A3":"YEM","BRK_DIFF":0,"NAME":"Yemen","NAME_LONG":"Yemen","BRK_A3":"YEM","BRK_NAME":"Yemen","BRK_GROUP":null,"ABBREV":"Yem.","POSTAL":"YE","FORMAL_EN":"Republic of Yemen","FORMAL_FR":null,"NAME_CIAWF":"Yemen","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Yemen, Rep.","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":3,"MAPCOLOR9":3,"MAPCOLOR13":11,"POP_EST":29161922,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":22581,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"4. Lower middle income","FIPS_10":"YM","ISO_A2":"YE","ISO_A2_EH":"YE","ISO_A3":"YEM","ISO_A3_EH":"YEM","ISO_N3":"887","ISO_N3_EH":"887","UN_A3":"887","WB_A2":"RY","WB_A3":"YEM","WOE_ID":23425002,"WOE_ID_EH":23425002,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"YEM","ADM0_DIFF":null,"ADM0_TLC":"YEM","ADM0_A3_US":"YEM","ADM0_A3_FR":"YEM","ADM0_A3_RU":"YEM","ADM0_A3_ES":"YEM","ADM0_A3_CN":"YEM","ADM0_A3_TW":"YEM","ADM0_A3_IN":"YEM","ADM0_A3_NP":"YEM","ADM0_A3_PK":"YEM","ADM0_A3_DE":"YEM","ADM0_A3_GB":"YEM","ADM0_A3_BR":"YEM","ADM0_A3_IL":"YEM","ADM0_A3_PS":"YEM","ADM0_A3_SA":"YEM","ADM0_A3_EG":"YEM","ADM0_A3_MA":"YEM","ADM0_A3_PT":"YEM","ADM0_A3_AR":"YEM","ADM0_A3_JP":"YEM","ADM0_A3_KO":"YEM","ADM0_A3_VN":"YEM","ADM0_A3_TR":"YEM","ADM0_A3_ID":"YEM","ADM0_A3_PL":"YEM","ADM0_A3_GR":"YEM","ADM0_A3_IT":"YEM","ADM0_A3_NL":"YEM","ADM0_A3_SE":"YEM","ADM0_A3_BD":"YEM","ADM0_A3_UA":"YEM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Middle East & North Africa","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":45.874383,"LABEL_Y":15.328226,"NE_ID":1159321425,"WIKIDATAID":"Q805","NAME_AR":"اليمن","NAME_BN":"ইয়েমেন","NAME_DE":"Jemen","NAME_EN":"Yemen","NAME_ES":"Yemen","NAME_FA":"یمن","NAME_FR":"Yémen","NAME_EL":"Υεμένη","NAME_HE":"תימן","NAME_HI":"यमन","NAME_HU":"Jemen","NAME_ID":"Yaman","NAME_IT":"Yemen","NAME_JA":"イエメン","NAME_KO":"예멘","NAME_NL":"Jemen","NAME_PL":"Jemen","NAME_PT":"Iémen","NAME_RU":"Йемен","NAME_SV":"Jemen","NAME_TR":"Yemen","NAME_UK":"Ємен","NAME_UR":"یمن","NAME_VI":"Yemen","NAME_ZH":"也门","NAME_ZHT":"葉門","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[42.604873,12.58595,53.108573,19.000003],"geometry":{"type":"Polygon","coordinates":[[[52.00001,19.000003],[52.782184,17.349742],[53.108573,16.651051],[52.385206,16.382411],[52.191729,15.938433],[52.168165,15.59742],[51.172515,15.17525],[49.574576,14.708767],[48.679231,14.003202],[48.238947,13.94809],[47.938914,14.007233],[47.354454,13.59222],[46.717076,13.399699],[45.877593,13.347764],[45.62505,13.290946],[45.406459,13.026905],[45.144356,12.953938],[44.989533,12.699587],[44.494576,12.721653],[44.175113,12.58595],[43.482959,12.6368],[43.222871,13.22095],[43.251448,13.767584],[43.087944,14.06263],[42.892245,14.802249],[42.604873,15.213335],[42.805015,15.261963],[42.702438,15.718886],[42.823671,15.911742],[42.779332,16.347891],[43.218375,16.66689],[43.115798,17.08844],[43.380794,17.579987],[43.791519,17.319977],[44.062613,17.410359],[45.216651,17.433329],[45.399999,17.333335],[46.366659,17.233315],[46.749994,17.283338],[47.000005,16.949999],[47.466695,17.116682],[48.183344,18.166669],[49.116672,18.616668],[52.00001,19.000003]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Saudi Arabia","SOV_A3":"SAU","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Saudi Arabia","ADM0_A3":"SAU","GEOU_DIF":0,"GEOUNIT":"Saudi Arabia","GU_A3":"SAU","SU_DIF":0,"SUBUNIT":"Saudi Arabia","SU_A3":"SAU","BRK_DIFF":0,"NAME":"Saudi Arabia","NAME_LONG":"Saudi Arabia","BRK_A3":"SAU","BRK_NAME":"Saudi Arabia","BRK_GROUP":null,"ABBREV":"Saud.","POSTAL":"SA","FORMAL_EN":"Kingdom of Saudi Arabia","FORMAL_FR":null,"NAME_CIAWF":"Saudi Arabia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Saudi Arabia","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":1,"MAPCOLOR9":6,"MAPCOLOR13":7,"POP_EST":34268528,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":792966,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"SA","ISO_A2":"SA","ISO_A2_EH":"SA","ISO_A3":"SAU","ISO_A3_EH":"SAU","ISO_N3":"682","ISO_N3_EH":"682","UN_A3":"682","WB_A2":"SA","WB_A3":"SAU","WOE_ID":23424938,"WOE_ID_EH":23424938,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"SAU","ADM0_DIFF":null,"ADM0_TLC":"SAU","ADM0_A3_US":"SAU","ADM0_A3_FR":"SAU","ADM0_A3_RU":"SAU","ADM0_A3_ES":"SAU","ADM0_A3_CN":"SAU","ADM0_A3_TW":"SAU","ADM0_A3_IN":"SAU","ADM0_A3_NP":"SAU","ADM0_A3_PK":"SAU","ADM0_A3_DE":"SAU","ADM0_A3_GB":"SAU","ADM0_A3_BR":"SAU","ADM0_A3_IL":"SAU","ADM0_A3_PS":"SAU","ADM0_A3_SA":"SAU","ADM0_A3_EG":"SAU","ADM0_A3_MA":"SAU","ADM0_A3_PT":"SAU","ADM0_A3_AR":"SAU","ADM0_A3_JP":"SAU","ADM0_A3_KO":"SAU","ADM0_A3_VN":"SAU","ADM0_A3_TR":"SAU","ADM0_A3_ID":"SAU","ADM0_A3_PL":"SAU","ADM0_A3_GR":"SAU","ADM0_A3_IT":"SAU","ADM0_A3_NL":"SAU","ADM0_A3_SE":"SAU","ADM0_A3_BD":"SAU","ADM0_A3_UA":"SAU","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Middle East & North Africa","NAME_LEN":12,"LONG_LEN":12,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":7,"LABEL_X":44.6996,"LABEL_Y":23.806908,"NE_ID":1159321225,"WIKIDATAID":"Q851","NAME_AR":"السعودية","NAME_BN":"সৌদি আরব","NAME_DE":"Saudi-Arabien","NAME_EN":"Saudi Arabia","NAME_ES":"Arabia Saudita","NAME_FA":"عربستان سعودی","NAME_FR":"Arabie saoudite","NAME_EL":"Σαουδική Αραβία","NAME_HE":"ערב הסעודית","NAME_HI":"सउदी अरब","NAME_HU":"Szaúd-Arábia","NAME_ID":"Arab Saudi","NAME_IT":"Arabia Saudita","NAME_JA":"サウジアラビア","NAME_KO":"사우디아라비아","NAME_NL":"Saoedi-Arabië","NAME_PL":"Arabia Saudyjska","NAME_PT":"Arábia Saudita","NAME_RU":"Саудовская Аравия","NAME_SV":"Saudiarabien","NAME_TR":"Suudi Arabistan","NAME_UK":"Саудівська Аравія","NAME_UR":"سعودی عرب","NAME_VI":"Ả Rập Saudi","NAME_ZH":"沙特阿拉伯","NAME_ZHT":"沙烏地阿拉伯","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[34.632336,16.347891,55.666659,32.161009],"geometry":{"type":"Polygon","coordinates":[[[34.956037,29.356555],[36.068941,29.197495],[36.501214,29.505254],[36.740528,29.865283],[37.503582,30.003776],[37.66812,30.338665],[37.998849,30.5085],[37.002166,31.508413],[39.004886,32.010217],[39.195468,32.161009],[40.399994,31.889992],[41.889981,31.190009],[44.709499,29.178891],[46.568713,29.099025],[47.459822,29.002519],[47.708851,28.526063],[48.416094,28.552004],[48.807595,27.689628],[49.299554,27.461218],[49.470914,27.109999],[50.152422,26.689663],[50.212935,26.277027],[50.113303,25.943972],[50.239859,25.60805],[50.527387,25.327808],[50.660557,24.999896],[50.810108,24.754743],[51.112415,24.556331],[51.389608,24.627386],[51.579519,24.245497],[51.617708,24.014219],[52.000733,23.001154],[55.006803,22.496948],[55.208341,22.70833],[55.666659,22.000001],[54.999982,19.999994],[52.00001,19.000003],[49.116672,18.616668],[48.183344,18.166669],[47.466695,17.116682],[47.000005,16.949999],[46.749994,17.283338],[46.366659,17.233315],[45.399999,17.333335],[45.216651,17.433329],[44.062613,17.410359],[43.791519,17.319977],[43.380794,17.579987],[43.115798,17.08844],[43.218375,16.66689],[42.779332,16.347891],[42.649573,16.774635],[42.347989,17.075806],[42.270888,17.474722],[41.754382,17.833046],[41.221391,18.6716],[40.939341,19.486485],[40.247652,20.174635],[39.801685,20.338862],[39.139399,21.291905],[39.023696,21.986875],[39.066329,22.579656],[38.492772,23.688451],[38.02386,24.078686],[37.483635,24.285495],[37.154818,24.858483],[37.209491,25.084542],[36.931627,25.602959],[36.639604,25.826228],[36.249137,26.570136],[35.640182,27.37652],[35.130187,28.063352],[34.632336,28.058546],[34.787779,28.607427],[34.83222,28.957483],[34.956037,29.356555]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Antarctica","SOV_A3":"ATA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Indeterminate","TLC":"1","ADMIN":"Antarctica","ADM0_A3":"ATA","GEOU_DIF":0,"GEOUNIT":"Antarctica","GU_A3":"ATA","SU_DIF":0,"SUBUNIT":"Antarctica","SU_A3":"ATA","BRK_DIFF":0,"NAME":"Antarctica","NAME_LONG":"Antarctica","BRK_A3":"ATA","BRK_NAME":"Antarctica","BRK_GROUP":null,"ABBREV":"Ant.","POSTAL":"AQ","FORMAL_EN":null,"FORMAL_FR":null,"NAME_CIAWF":null,"NOTE_ADM0":"By treaty","NOTE_BRK":"Multiple claims held in abeyance by treaty","NAME_SORT":"Antarctica","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":5,"MAPCOLOR9":1,"MAPCOLOR13":-99,"POP_EST":4490,"POP_RANK":4,"POP_YEAR":2019,"GDP_MD":898,"GDP_YEAR":2013,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"AY","ISO_A2":"AQ","ISO_A2_EH":"AQ","ISO_A3":"ATA","ISO_A3_EH":"ATA","ISO_N3":"010","ISO_N3_EH":"010","UN_A3":"010","WB_A2":"-99","WB_A3":"-99","WOE_ID":28289409,"WOE_ID_EH":28289409,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ATA","ADM0_DIFF":null,"ADM0_TLC":"ATA","ADM0_A3_US":"ATA","ADM0_A3_FR":"ATA","ADM0_A3_RU":"ATA","ADM0_A3_ES":"ATA","ADM0_A3_CN":"ATA","ADM0_A3_TW":"ATA","ADM0_A3_IN":"ATA","ADM0_A3_NP":"ATA","ADM0_A3_PK":"ATA","ADM0_A3_DE":"ATA","ADM0_A3_GB":"ATA","ADM0_A3_BR":"ATA","ADM0_A3_IL":"ATA","ADM0_A3_PS":"ATA","ADM0_A3_SA":"ATA","ADM0_A3_EG":"ATA","ADM0_A3_MA":"ATA","ADM0_A3_PT":"ATA","ADM0_A3_AR":"ATA","ADM0_A3_JP":"ATA","ADM0_A3_KO":"ATA","ADM0_A3_VN":"ATA","ADM0_A3_TR":"ATA","ADM0_A3_ID":"ATA","ADM0_A3_PL":"ATA","ADM0_A3_GR":"ATA","ADM0_A3_IT":"ATA","ADM0_A3_NL":"ATA","ADM0_A3_SE":"ATA","ADM0_A3_BD":"ATA","ADM0_A3_UA":"ATA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Antarctica","REGION_UN":"Antarctica","SUBREGION":"Antarctica","REGION_WB":"Antarctica","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":35.885455,"LABEL_Y":-79.843222,"NE_ID":1159320335,"WIKIDATAID":"Q51","NAME_AR":"القارة القطبية الجنوبية","NAME_BN":"অ্যান্টার্কটিকা","NAME_DE":"Antarktika","NAME_EN":"Antarctica","NAME_ES":"Antártida","NAME_FA":"جنوبگان","NAME_FR":"Antarctique","NAME_EL":"Ανταρκτική","NAME_HE":"אנטארקטיקה","NAME_HI":"अंटार्कटिका","NAME_HU":"Antarktika","NAME_ID":"Antartika","NAME_IT":"Antartide","NAME_JA":"南極大陸","NAME_KO":"남극","NAME_NL":"Antarctica","NAME_PL":"Antarktyda","NAME_PT":"Antártida","NAME_RU":"Антарктида","NAME_SV":"Antarktis","NAME_TR":"Antarktika","NAME_UK":"Антарктида","NAME_UR":"انٹارکٹکا","NAME_VI":"Châu Nam Cực","NAME_ZH":"南极洲","NAME_ZHT":"南極洲","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-180,-90,180,-63.27066],"geometry":{"type":"MultiPolygon","coordinates":[[[[-48.660616,-78.047019],[-48.151396,-78.04707],[-46.662857,-77.831476],[-45.154758,-78.04707],[-43.920828,-78.478103],[-43.48995,-79.08556],[-43.372438,-79.516645],[-43.333267,-80.026123],[-44.880537,-80.339644],[-46.506174,-80.594357],[-48.386421,-80.829485],[-50.482107,-81.025442],[-52.851988,-80.966685],[-54.164259,-80.633528],[-53.987991,-80.222028],[-51.853134,-79.94773],[-50.991326,-79.614623],[-50.364595,-79.183487],[-49.914131,-78.811209],[-49.306959,-78.458569],[-48.660616,-78.047018],[-48.660616,-78.047019]]],[[[-66.290031,-80.255773],[-64.037688,-80.294944],[-61.883246,-80.39287],[-61.138976,-79.981371],[-60.610119,-79.628679],[-59.572095,-80.040179],[-59.865849,-80.549657],[-60.159656,-81.000327],[-62.255393,-80.863178],[-64.488125,-80.921934],[-65.741666,-80.588827],[-65.741666,-80.549657],[-66.290031,-80.255773]]],[[[-73.915819,-71.269345],[-73.915819,-71.269344],[-73.230331,-71.15178],[-72.074717,-71.190951],[-71.780962,-70.681473],[-71.72218,-70.309196],[-71.741791,-69.505782],[-71.173815,-69.035475],[-70.253252,-68.87874],[-69.724447,-69.251017],[-69.489422,-69.623346],[-69.058518,-70.074016],[-68.725541,-70.505153],[-68.451346,-70.955823],[-68.333834,-71.406493],[-68.510128,-71.798407],[-68.784297,-72.170736],[-69.959471,-72.307885],[-71.075889,-72.503842],[-72.388134,-72.484257],[-71.8985,-72.092343],[-73.073622,-72.229492],[-74.19004,-72.366693],[-74.953895,-72.072757],[-75.012625,-71.661258],[-73.915819,-71.269345]]],[[[-102.330725,-71.894164],[-102.330725,-71.894164],[-101.703967,-71.717792],[-100.430919,-71.854993],[-98.98155,-71.933334],[-97.884743,-72.070535],[-96.787937,-71.952971],[-96.20035,-72.521205],[-96.983765,-72.442864],[-98.198083,-72.482035],[-99.432013,-72.442864],[-100.783455,-72.50162],[-101.801868,-72.305663],[-102.330725,-71.894164]]],[[[-122.621735,-73.657778],[-122.621735,-73.657777],[-122.406245,-73.324619],[-121.211511,-73.50099],[-119.918851,-73.657725],[-118.724143,-73.481353],[-119.292119,-73.834097],[-120.232217,-74.08881],[-121.62283,-74.010468],[-122.621735,-73.657778]]],[[[-127.28313,-73.461769],[-127.28313,-73.461768],[-126.558472,-73.246226],[-125.559566,-73.481353],[-124.031882,-73.873268],[-124.619469,-73.834097],[-125.912181,-73.736118],[-127.28313,-73.461769]]],[[[-163.712896,-78.595667],[-163.712896,-78.595667],[-163.105801,-78.223338],[-161.245113,-78.380176],[-160.246208,-78.693645],[-159.482405,-79.046338],[-159.208184,-79.497059],[-161.127601,-79.634209],[-162.439847,-79.281465],[-163.027408,-78.928774],[-163.066604,-78.869966],[-163.712896,-78.595667]]],[[[180,-84.71338],[180,-90],[-180,-90],[-180,-84.71338],[-179.942499,-84.721443],[-179.058677,-84.139412],[-177.256772,-84.452933],[-177.140807,-84.417941],[-176.084673,-84.099259],[-175.947235,-84.110449],[-175.829882,-84.117914],[-174.382503,-84.534323],[-173.116559,-84.117914],[-172.889106,-84.061019],[-169.951223,-83.884647],[-168.999989,-84.117914],[-168.530199,-84.23739],[-167.022099,-84.570497],[-164.182144,-84.82521],[-161.929775,-85.138731],[-158.07138,-85.37391],[-155.192253,-85.09956],[-150.942099,-85.295517],[-148.533073,-85.609038],[-145.888918,-85.315102],[-143.107718,-85.040752],[-142.892279,-84.570497],[-146.829068,-84.531274],[-150.060732,-84.296146],[-150.902928,-83.904232],[-153.586201,-83.68869],[-153.409907,-83.23802],[-153.037759,-82.82652],[-152.665637,-82.454192],[-152.861517,-82.042692],[-154.526299,-81.768394],[-155.29018,-81.41565],[-156.83745,-81.102129],[-154.408787,-81.160937],[-152.097662,-81.004151],[-150.648293,-81.337309],[-148.865998,-81.043373],[-147.22075,-80.671045],[-146.417749,-80.337938],[-146.770286,-79.926439],[-148.062947,-79.652089],[-149.531901,-79.358205],[-151.588416,-79.299397],[-153.390322,-79.162248],[-155.329376,-79.064269],[-155.975668,-78.69194],[-157.268302,-78.378419],[-158.051768,-78.025676],[-158.365134,-76.889207],[-157.875474,-76.987238],[-156.974573,-77.300759],[-155.329376,-77.202728],[-153.742832,-77.065579],[-152.920247,-77.496664],[-151.33378,-77.398737],[-150.00195,-77.183143],[-148.748486,-76.908845],[-147.612483,-76.575738],[-146.104409,-76.47776],[-146.143528,-76.105431],[-146.496091,-75.733154],[-146.20231,-75.380411],[-144.909624,-75.204039],[-144.322037,-75.537197],[-142.794353,-75.34124],[-141.638764,-75.086475],[-140.209007,-75.06689],[-138.85759,-74.968911],[-137.5062,-74.733783],[-136.428901,-74.518241],[-135.214583,-74.302699],[-134.431194,-74.361455],[-133.745654,-74.439848],[-132.257168,-74.302699],[-130.925311,-74.479019],[-129.554284,-74.459433],[-128.242038,-74.322284],[-126.890622,-74.420263],[-125.402082,-74.518241],[-124.011496,-74.479019],[-122.562152,-74.498604],[-121.073613,-74.518241],[-119.70256,-74.479019],[-118.684145,-74.185083],[-117.469801,-74.028348],[-116.216312,-74.243891],[-115.021552,-74.067519],[-113.944331,-73.714828],[-113.297988,-74.028348],[-112.945452,-74.38104],[-112.299083,-74.714198],[-111.261059,-74.420263],[-110.066325,-74.79254],[-108.714909,-74.910103],[-107.559346,-75.184454],[-106.149148,-75.125698],[-104.876074,-74.949326],[-103.367949,-74.988497],[-102.016507,-75.125698],[-100.645531,-75.302018],[-100.1167,-74.870933],[-100.763043,-74.537826],[-101.252703,-74.185083],[-102.545337,-74.106742],[-103.113313,-73.734413],[-103.328752,-73.362084],[-103.681289,-72.61753],[-102.917485,-72.754679],[-101.60524,-72.813436],[-100.312528,-72.754679],[-99.13738,-72.911414],[-98.118889,-73.20535],[-97.688037,-73.558041],[-96.336595,-73.616849],[-95.043961,-73.4797],[-93.672907,-73.283743],[-92.439003,-73.166179],[-91.420564,-73.401307],[-90.088733,-73.322914],[-89.226951,-72.558722],[-88.423951,-73.009393],[-87.268337,-73.185764],[-86.014822,-73.087786],[-85.192236,-73.4797],[-83.879991,-73.518871],[-82.665646,-73.636434],[-81.470913,-73.851977],[-80.687447,-73.4797],[-80.295791,-73.126956],[-79.296886,-73.518871],[-77.925858,-73.420892],[-76.907367,-73.636434],[-76.221879,-73.969541],[-74.890049,-73.871614],[-73.852024,-73.65602],[-72.833533,-73.401307],[-71.619215,-73.264157],[-70.209042,-73.146542],[-68.935916,-73.009393],[-67.956622,-72.79385],[-67.369061,-72.480329],[-67.134036,-72.049244],[-67.251548,-71.637745],[-67.56494,-71.245831],[-67.917477,-70.853917],[-68.230843,-70.462055],[-68.485452,-70.109311],[-68.544209,-69.717397],[-68.446282,-69.325535],[-67.976233,-68.953206],[-67.5845,-68.541707],[-67.427843,-68.149844],[-67.62367,-67.718759],[-67.741183,-67.326845],[-67.251548,-66.876175],[-66.703184,-66.58224],[-66.056815,-66.209963],[-65.371327,-65.89639],[-64.568276,-65.602506],[-64.176542,-65.171423],[-63.628152,-64.897073],[-63.001394,-64.642308],[-62.041686,-64.583552],[-61.414928,-64.270031],[-60.709855,-64.074074],[-59.887269,-63.95651],[-59.162585,-63.701745],[-58.594557,-63.388224],[-57.811143,-63.27066],[-57.223582,-63.525425],[-57.59573,-63.858532],[-58.614143,-64.152467],[-59.045073,-64.36801],[-59.789342,-64.211223],[-60.611928,-64.309202],[-61.297416,-64.54433],[-62.0221,-64.799094],[-62.51176,-65.09303],[-62.648858,-65.484942],[-62.590128,-65.857219],[-62.120079,-66.190326],[-62.805567,-66.425505],[-63.74569,-66.503847],[-64.294106,-66.837004],[-64.881693,-67.150474],[-65.508425,-67.58161],[-65.665082,-67.953887],[-65.312545,-68.365335],[-64.783715,-68.678908],[-63.961103,-68.913984],[-63.1973,-69.227556],[-62.785955,-69.619419],[-62.570516,-69.991747],[-62.276736,-70.383661],[-61.806661,-70.716768],[-61.512906,-71.089045],[-61.375809,-72.010074],[-61.081977,-72.382351],[-61.003661,-72.774265],[-60.690269,-73.166179],[-60.827367,-73.695242],[-61.375809,-74.106742],[-61.96337,-74.439848],[-63.295201,-74.576997],[-63.74569,-74.92974],[-64.352836,-75.262847],[-65.860987,-75.635124],[-67.192818,-75.79191],[-68.446282,-76.007452],[-69.797724,-76.222995],[-70.600724,-76.634494],[-72.206776,-76.673665],[-73.969536,-76.634494],[-75.555977,-76.712887],[-77.24037,-76.712887],[-76.926979,-77.104802],[-75.399294,-77.28107],[-74.282876,-77.55542],[-73.656119,-77.908112],[-74.772536,-78.221633],[-76.4961,-78.123654],[-77.925858,-78.378419],[-77.984666,-78.789918],[-78.023785,-79.181833],[-76.848637,-79.514939],[-76.633224,-79.887216],[-75.360097,-80.259545],[-73.244852,-80.416331],[-71.442946,-80.69063],[-70.013163,-81.004151],[-68.191646,-81.317672],[-65.704279,-81.474458],[-63.25603,-81.748757],[-61.552026,-82.042692],[-59.691416,-82.37585],[-58.712121,-82.846106],[-58.222487,-83.218434],[-57.008117,-82.865691],[-55.362894,-82.571755],[-53.619771,-82.258235],[-51.543644,-82.003521],[-49.76135,-81.729171],[-47.273931,-81.709586],[-44.825708,-81.846735],[-42.808363,-82.081915],[-42.16202,-81.65083],[-40.771433,-81.356894],[-38.244818,-81.337309],[-36.26667,-81.121715],[-34.386397,-80.906172],[-32.310296,-80.769023],[-30.097098,-80.592651],[-28.549802,-80.337938],[-29.254901,-79.985195],[-29.685805,-79.632503],[-29.685805,-79.260226],[-31.624808,-79.299397],[-33.681324,-79.456132],[-35.639912,-79.456132],[-35.914107,-79.083855],[-35.77701,-78.339248],[-35.326546,-78.123654],[-33.896763,-77.888526],[-32.212369,-77.65345],[-30.998051,-77.359515],[-29.783732,-77.065579],[-28.882779,-76.673665],[-27.511752,-76.497345],[-26.160336,-76.360144],[-25.474822,-76.281803],[-23.927552,-76.24258],[-22.458598,-76.105431],[-21.224694,-75.909474],[-20.010375,-75.674346],[-18.913543,-75.439218],[-17.522982,-75.125698],[-16.641589,-74.79254],[-15.701491,-74.498604],[-15.40771,-74.106742],[-16.46532,-73.871614],[-16.112784,-73.460114],[-15.446855,-73.146542],[-14.408805,-72.950585],[-13.311973,-72.715457],[-12.293508,-72.401936],[-11.510067,-72.010074],[-11.020433,-71.539767],[-10.295774,-71.265416],[-9.101015,-71.324224],[-8.611381,-71.65733],[-7.416622,-71.696501],[-7.377451,-71.324224],[-6.868232,-70.93231],[-5.790985,-71.030289],[-5.536375,-71.402617],[-4.341667,-71.461373],[-3.048981,-71.285053],[-1.795492,-71.167438],[-0.659489,-71.226246],[-0.228637,-71.637745],[0.868195,-71.304639],[1.886686,-71.128267],[3.022638,-70.991118],[4.139055,-70.853917],[5.157546,-70.618789],[6.273912,-70.462055],[7.13572,-70.246512],[7.742866,-69.893769],[8.48711,-70.148534],[9.525135,-70.011333],[10.249845,-70.48164],[10.817821,-70.834332],[11.953824,-70.638375],[12.404287,-70.246512],[13.422778,-69.972162],[14.734998,-70.030918],[15.126757,-70.403247],[15.949342,-70.030918],[17.026589,-69.913354],[18.201711,-69.874183],[19.259373,-69.893769],[20.375739,-70.011333],[21.452985,-70.07014],[21.923034,-70.403247],[22.569403,-70.697182],[23.666184,-70.520811],[24.841357,-70.48164],[25.977309,-70.48164],[27.093726,-70.462055],[28.09258,-70.324854],[29.150242,-70.20729],[30.031583,-69.93294],[30.971733,-69.75662],[31.990172,-69.658641],[32.754053,-69.384291],[33.302443,-68.835642],[33.870419,-68.502588],[34.908495,-68.659271],[35.300202,-69.012014],[36.16201,-69.247142],[37.200035,-69.168748],[37.905108,-69.52144],[38.649404,-69.776205],[39.667894,-69.541077],[40.020431,-69.109941],[40.921358,-68.933621],[41.959434,-68.600514],[42.938702,-68.463313],[44.113876,-68.267408],[44.897291,-68.051866],[45.719928,-67.816738],[46.503343,-67.601196],[47.44344,-67.718759],[48.344419,-67.366068],[48.990736,-67.091718],[49.930885,-67.111303],[50.753471,-66.876175],[50.949325,-66.523484],[51.791547,-66.249133],[52.614133,-66.053176],[53.613038,-65.89639],[54.53355,-65.818049],[55.414943,-65.876805],[56.355041,-65.974783],[57.158093,-66.249133],[57.255968,-66.680218],[58.137361,-67.013324],[58.744508,-67.287675],[59.939318,-67.405239],[60.605221,-67.679589],[61.427806,-67.953887],[62.387489,-68.012695],[63.19049,-67.816738],[64.052349,-67.405239],[64.992447,-67.620729],[65.971715,-67.738345],[66.911864,-67.855909],[67.891133,-67.934302],[68.890038,-67.934302],[69.712624,-68.972791],[69.673453,-69.227556],[69.555941,-69.678226],[68.596258,-69.93294],[67.81274,-70.305268],[67.949889,-70.697182],[69.066307,-70.677545],[68.929157,-71.069459],[68.419989,-71.441788],[67.949889,-71.853287],[68.71377,-72.166808],[69.869307,-72.264787],[71.024895,-72.088415],[71.573285,-71.696501],[71.906288,-71.324224],[72.454627,-71.010703],[73.08141,-70.716768],[73.33602,-70.364024],[73.864877,-69.874183],[74.491557,-69.776205],[75.62756,-69.737034],[76.626465,-69.619419],[77.644904,-69.462684],[78.134539,-69.07077],[78.428371,-68.698441],[79.113859,-68.326216],[80.093127,-68.071503],[80.93535,-67.875546],[81.483792,-67.542388],[82.051767,-67.366068],[82.776426,-67.209282],[83.775331,-67.30726],[84.676206,-67.209282],[85.655527,-67.091718],[86.752359,-67.150474],[87.477017,-66.876175],[87.986289,-66.209911],[88.358411,-66.484261],[88.828408,-66.954568],[89.67063,-67.150474],[90.630365,-67.228867],[91.5901,-67.111303],[92.608539,-67.189696],[93.548637,-67.209282],[94.17542,-67.111303],[95.017591,-67.170111],[95.781472,-67.385653],[96.682399,-67.248504],[97.759646,-67.248504],[98.68021,-67.111303],[99.718182,-67.248504],[100.384188,-66.915346],[100.893356,-66.58224],[101.578896,-66.30789],[102.832411,-65.563284],[103.478676,-65.700485],[104.242557,-65.974783],[104.90846,-66.327527],[106.181561,-66.934931],[107.160881,-66.954568],[108.081393,-66.954568],[109.15864,-66.837004],[110.235835,-66.699804],[111.058472,-66.425505],[111.74396,-66.13157],[112.860378,-66.092347],[113.604673,-65.876805],[114.388088,-66.072762],[114.897308,-66.386283],[115.602381,-66.699804],[116.699161,-66.660633],[117.384701,-66.915346],[118.57946,-67.170111],[119.832924,-67.268089],[120.871,-67.189696],[121.654415,-66.876175],[122.320369,-66.562654],[123.221296,-66.484261],[124.122274,-66.621462],[125.160247,-66.719389],[126.100396,-66.562654],[127.001427,-66.562654],[127.882768,-66.660633],[128.80328,-66.758611],[129.704259,-66.58224],[130.781454,-66.425505],[131.799945,-66.386283],[132.935896,-66.386283],[133.85646,-66.288304],[134.757387,-66.209963],[135.031582,-65.72007],[135.070753,-65.308571],[135.697485,-65.582869],[135.873805,-66.033591],[136.206705,-66.44509],[136.618049,-66.778197],[137.460271,-66.954568],[138.596223,-66.895761],[139.908442,-66.876175],[140.809421,-66.817367],[142.121692,-66.817367],[143.061842,-66.797782],[144.374061,-66.837004],[145.490427,-66.915346],[146.195552,-67.228867],[145.999699,-67.601196],[146.646067,-67.895131],[147.723263,-68.130259],[148.839629,-68.385024],[150.132314,-68.561292],[151.483705,-68.71813],[152.502247,-68.874813],[153.638199,-68.894502],[154.284567,-68.561292],[155.165857,-68.835642],[155.92979,-69.149215],[156.811132,-69.384291],[158.025528,-69.482269],[159.181013,-69.599833],[159.670699,-69.991747],[160.80665,-70.226875],[161.570479,-70.579618],[162.686897,-70.736353],[163.842434,-70.716768],[164.919681,-70.775524],[166.11444,-70.755938],[167.309095,-70.834332],[168.425616,-70.971481],[169.463589,-71.20666],[170.501665,-71.402617],[171.20679,-71.696501],[171.089227,-72.088415],[170.560422,-72.441159],[170.109958,-72.891829],[169.75737,-73.24452],[169.287321,-73.65602],[167.975101,-73.812806],[167.387489,-74.165498],[166.094803,-74.38104],[165.644391,-74.772954],[164.958851,-75.145283],[164.234193,-75.458804],[163.822797,-75.870303],[163.568239,-76.24258],[163.47026,-76.693302],[163.489897,-77.065579],[164.057873,-77.457442],[164.273363,-77.82977],[164.743464,-78.182514],[166.604126,-78.319611],[166.995781,-78.750748],[165.193876,-78.907483],[163.666217,-79.123025],[161.766385,-79.162248],[160.924162,-79.730482],[160.747894,-80.200737],[160.316964,-80.573066],[159.788211,-80.945395],[161.120016,-81.278501],[161.629287,-81.690001],[162.490992,-82.062278],[163.705336,-82.395435],[165.095949,-82.708956],[166.604126,-83.022477],[168.895665,-83.335998],[169.404782,-83.825891],[172.283934,-84.041433],[172.477049,-84.117914],[173.224083,-84.41371],[175.985672,-84.158997],[178.277212,-84.472518],[180,-84.71338]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Northern Cyprus","SOV_A3":"CYN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Northern Cyprus","ADM0_A3":"CYN","GEOU_DIF":0,"GEOUNIT":"Northern Cyprus","GU_A3":"CYN","SU_DIF":0,"SUBUNIT":"Northern Cyprus","SU_A3":"CYN","BRK_DIFF":0,"NAME":"N. Cyprus","NAME_LONG":"Northern Cyprus","BRK_A3":"CYN","BRK_NAME":"N. Cyprus","BRK_GROUP":null,"ABBREV":"N. Cy.","POSTAL":"CN","FORMAL_EN":"Turkish Republic of Northern Cyprus","FORMAL_FR":null,"NAME_CIAWF":null,"NOTE_ADM0":"Self admin.","NOTE_BRK":"Self admin.; Claimed by Cyprus","NAME_SORT":"Cyprus, Northern","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":1,"MAPCOLOR9":4,"MAPCOLOR13":8,"POP_EST":326000,"POP_RANK":10,"POP_YEAR":2017,"GDP_MD":3600,"GDP_YEAR":2013,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"-99","ISO_A2":"-99","ISO_A2_EH":"-99","ISO_A3":"-99","ISO_A3_EH":"-99","ISO_N3":"-99","ISO_N3_EH":"-99","UN_A3":"-099","WB_A2":"-99","WB_A3":"-99","WOE_ID":-90,"WOE_ID_EH":23424995,"WOE_NOTE":"WOE lists as subunit of united Cyprus","ADM0_ISO":"CYP","ADM0_DIFF":"1","ADM0_TLC":"CYN","ADM0_A3_US":"CYP","ADM0_A3_FR":"CYP","ADM0_A3_RU":"CYP","ADM0_A3_ES":"CYP","ADM0_A3_CN":"CYP","ADM0_A3_TW":"CYP","ADM0_A3_IN":"CYP","ADM0_A3_NP":"CYP","ADM0_A3_PK":"CYP","ADM0_A3_DE":"CYP","ADM0_A3_GB":"CYP","ADM0_A3_BR":"CYP","ADM0_A3_IL":"CYP","ADM0_A3_PS":"CYP","ADM0_A3_SA":"CYP","ADM0_A3_EG":"CYP","ADM0_A3_MA":"CYP","ADM0_A3_PT":"CYP","ADM0_A3_AR":"CYP","ADM0_A3_JP":"CYP","ADM0_A3_KO":"CYP","ADM0_A3_VN":"CYP","ADM0_A3_TR":"CYN","ADM0_A3_ID":"CYP","ADM0_A3_PL":"CYP","ADM0_A3_GR":"CYP","ADM0_A3_IT":"CYP","ADM0_A3_NL":"CYP","ADM0_A3_SE":"CYP","ADM0_A3_BD":"CYP","ADM0_A3_UA":"CYP","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Europe & Central Asia","NAME_LEN":9,"LONG_LEN":15,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":6,"MAX_LABEL":10,"LABEL_X":33.692434,"LABEL_Y":35.216071,"NE_ID":1159320531,"WIKIDATAID":"Q23681","NAME_AR":"قبرص الشمالية","NAME_BN":"উত্তর সাইপ্রাস","NAME_DE":"Türkische Republik Nordzypern","NAME_EN":"Turkish Republic of Northern Cyprus","NAME_ES":"República Turca del Norte de Chipre","NAME_FA":"جمهوری ترک قبرس شمالی","NAME_FR":"Chypre du Nord","NAME_EL":"Τουρκική Δημοκρατία της Βόρειας Κύπρου","NAME_HE":"הרפובליקה הטורקית של צפון קפריסין","NAME_HI":"उत्तरी साइप्रस","NAME_HU":"Észak-Ciprus","NAME_ID":"Republik Turki Siprus Utara","NAME_IT":"Cipro del Nord","NAME_JA":"北キプロス・トルコ共和国","NAME_KO":"북키프로스","NAME_NL":"Noord-Cyprus","NAME_PL":"Cypr Północny","NAME_PT":"República Turca do Chipre do Norte","NAME_RU":"Турецкая Республика Северного Кипра","NAME_SV":"Nordcypern","NAME_TR":"Kuzey Kıbrıs Türk Cumhuriyeti","NAME_UK":"Турецька Республіка Північного Кіпру","NAME_UR":"ترک جمہوریہ شمالی قبرص","NAME_VI":"Bắc Síp","NAME_ZH":"北塞浦路斯土耳其共和国","NAME_ZHT":"北賽普勒斯土耳其共和國","FCLASS_ISO":"Unrecognized","TLC_DIFF":"1","FCLASS_TLC":"Admin-0 country","FCLASS_US":"Admin-0 breakaway and disputed","FCLASS_FR":"Unrecognized","FCLASS_RU":"Unrecognized","FCLASS_ES":"Unrecognized","FCLASS_CN":"Unrecognized","FCLASS_TW":"Unrecognized","FCLASS_IN":"Unrecognized","FCLASS_NP":"Unrecognized","FCLASS_PK":"Unrecognized","FCLASS_DE":"Unrecognized","FCLASS_GB":"Unrecognized","FCLASS_BR":"Unrecognized","FCLASS_IL":"Unrecognized","FCLASS_PS":"Unrecognized","FCLASS_SA":"Unrecognized","FCLASS_EG":"Unrecognized","FCLASS_MA":"Unrecognized","FCLASS_PT":"Unrecognized","FCLASS_AR":"Unrecognized","FCLASS_JP":"Unrecognized","FCLASS_KO":"Unrecognized","FCLASS_VN":"Unrecognized","FCLASS_TR":"Admin-0 country","FCLASS_ID":"Unrecognized","FCLASS_PL":"Unrecognized","FCLASS_GR":"Unrecognized","FCLASS_IT":"Unrecognized","FCLASS_NL":"Unrecognized","FCLASS_SE":"Unrecognized","FCLASS_BD":"Unrecognized","FCLASS_UA":"Unrecognized"},"bbox":[32.73178,35.000345,34.576474,35.671596],"geometry":{"type":"Polygon","coordinates":[[[32.73178,35.140026],[32.802474,35.145504],[32.946961,35.386703],[33.667227,35.373216],[34.576474,35.671596],[33.900804,35.245756],[33.973617,35.058506],[33.86644,35.093595],[33.675392,35.017863],[33.525685,35.038688],[33.475817,35.000345],[33.455922,35.101424],[33.383833,35.162712],[33.190977,35.173125],[32.919572,35.087833],[32.73178,35.140026]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Cyprus","SOV_A3":"CYP","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Cyprus","ADM0_A3":"CYP","GEOU_DIF":0,"GEOUNIT":"Cyprus","GU_A3":"CYP","SU_DIF":0,"SUBUNIT":"Cyprus","SU_A3":"CYP","BRK_DIFF":0,"NAME":"Cyprus","NAME_LONG":"Cyprus","BRK_A3":"CYP","BRK_NAME":"Cyprus","BRK_GROUP":null,"ABBREV":"Cyp.","POSTAL":"CY","FORMAL_EN":"Republic of Cyprus","FORMAL_FR":null,"NAME_CIAWF":"Cyprus","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Cyprus","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":2,"MAPCOLOR9":3,"MAPCOLOR13":7,"POP_EST":1198575,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":24948,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"CY","ISO_A2":"CY","ISO_A2_EH":"CY","ISO_A3":"CYP","ISO_A3_EH":"CYP","ISO_N3":"196","ISO_N3_EH":"196","UN_A3":"196","WB_A2":"CY","WB_A3":"CYP","WOE_ID":-90,"WOE_ID_EH":23424994,"WOE_NOTE":"WOE lists as subunit of united Cyprus","ADM0_ISO":"CYP","ADM0_DIFF":null,"ADM0_TLC":"CYP","ADM0_A3_US":"CYP","ADM0_A3_FR":"CYP","ADM0_A3_RU":"CYP","ADM0_A3_ES":"CYP","ADM0_A3_CN":"CYP","ADM0_A3_TW":"CYP","ADM0_A3_IN":"CYP","ADM0_A3_NP":"CYP","ADM0_A3_PK":"CYP","ADM0_A3_DE":"CYP","ADM0_A3_GB":"CYP","ADM0_A3_BR":"CYP","ADM0_A3_IL":"CYP","ADM0_A3_PS":"CYP","ADM0_A3_SA":"CYP","ADM0_A3_EG":"CYP","ADM0_A3_MA":"CYP","ADM0_A3_PT":"CYP","ADM0_A3_AR":"CYP","ADM0_A3_JP":"CYP","ADM0_A3_KO":"CYP","ADM0_A3_VN":"CYP","ADM0_A3_TR":"CYP","ADM0_A3_ID":"CYP","ADM0_A3_PL":"CYP","ADM0_A3_GR":"CYP","ADM0_A3_IT":"CYP","ADM0_A3_NL":"CYP","ADM0_A3_SE":"CYP","ADM0_A3_BD":"CYP","ADM0_A3_UA":"CYP","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Europe & Central Asia","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4.5,"MAX_LABEL":9.5,"LABEL_X":33.084182,"LABEL_Y":34.913329,"NE_ID":1159320533,"WIKIDATAID":"Q229","NAME_AR":"قبرص","NAME_BN":"সাইপ্রাস","NAME_DE":"Republik Zypern","NAME_EN":"Cyprus","NAME_ES":"Chipre","NAME_FA":"قبرس","NAME_FR":"Chypre","NAME_EL":"Κύπρος","NAME_HE":"קפריסין","NAME_HI":"साइप्रस","NAME_HU":"Ciprus","NAME_ID":"Siprus","NAME_IT":"Cipro","NAME_JA":"キプロス","NAME_KO":"키프로스","NAME_NL":"Cyprus","NAME_PL":"Cypr","NAME_PT":"Chipre","NAME_RU":"Кипр","NAME_SV":"Cypern","NAME_TR":"Kıbrıs Cumhuriyeti","NAME_UK":"Кіпр","NAME_UR":"قبرص","NAME_VI":"Cộng hòa Síp","NAME_ZH":"塞浦路斯","NAME_ZHT":"賽普勒斯","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[32.256667,34.571869,34.004881,35.173125],"geometry":{"type":"Polygon","coordinates":[[[32.73178,35.140026],[32.919572,35.087833],[33.190977,35.173125],[33.383833,35.162712],[33.455922,35.101424],[33.475817,35.000345],[33.525685,35.038688],[33.675392,35.017863],[33.86644,35.093595],[33.973617,35.058506],[34.004881,34.978098],[32.979827,34.571869],[32.490296,34.701655],[32.256667,35.103232],[32.73178,35.140026]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Morocco","SOV_A3":"MAR","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Morocco","ADM0_A3":"MAR","GEOU_DIF":0,"GEOUNIT":"Morocco","GU_A3":"MAR","SU_DIF":0,"SUBUNIT":"Morocco","SU_A3":"MAR","BRK_DIFF":0,"NAME":"Morocco","NAME_LONG":"Morocco","BRK_A3":"MAR","BRK_NAME":"Morocco","BRK_GROUP":null,"ABBREV":"Mor.","POSTAL":"MA","FORMAL_EN":"Kingdom of Morocco","FORMAL_FR":null,"NAME_CIAWF":"Morocco","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Morocco","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":2,"MAPCOLOR9":3,"MAPCOLOR13":9,"POP_EST":36471769,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":119700,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"MO","ISO_A2":"MA","ISO_A2_EH":"MA","ISO_A3":"MAR","ISO_A3_EH":"MAR","ISO_N3":"504","ISO_N3_EH":"504","UN_A3":"504","WB_A2":"MA","WB_A3":"MAR","WOE_ID":23424893,"WOE_ID_EH":23424893,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MAR","ADM0_DIFF":null,"ADM0_TLC":"MAR","ADM0_A3_US":"MAR","ADM0_A3_FR":"MAR","ADM0_A3_RU":"MAR","ADM0_A3_ES":"MAR","ADM0_A3_CN":"MAR","ADM0_A3_TW":"MAR","ADM0_A3_IN":"MAR","ADM0_A3_NP":"MAR","ADM0_A3_PK":"MAR","ADM0_A3_DE":"MAR","ADM0_A3_GB":"MAR","ADM0_A3_BR":"MAR","ADM0_A3_IL":"MAR","ADM0_A3_PS":"MAR","ADM0_A3_SA":"MAR","ADM0_A3_EG":"MAR","ADM0_A3_MA":"MAR","ADM0_A3_PT":"MAR","ADM0_A3_AR":"MAR","ADM0_A3_JP":"MAR","ADM0_A3_KO":"MAR","ADM0_A3_VN":"MAR","ADM0_A3_TR":"MAR","ADM0_A3_ID":"MAR","ADM0_A3_PL":"MAR","ADM0_A3_GR":"MAR","ADM0_A3_IT":"MAR","ADM0_A3_NL":"MAR","ADM0_A3_SE":"MAR","ADM0_A3_BD":"MAR","ADM0_A3_UA":"MAR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Northern Africa","REGION_WB":"Middle East & North Africa","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.7,"MAX_LABEL":8,"LABEL_X":-7.187296,"LABEL_Y":31.650723,"NE_ID":1159321035,"WIKIDATAID":"Q1028","NAME_AR":"المغرب","NAME_BN":"মরক্কো","NAME_DE":"Marokko","NAME_EN":"Morocco","NAME_ES":"Marruecos","NAME_FA":"مراکش","NAME_FR":"Maroc","NAME_EL":"Μαρόκο","NAME_HE":"מרוקו","NAME_HI":"मोरक्को","NAME_HU":"Marokkó","NAME_ID":"Maroko","NAME_IT":"Marocco","NAME_JA":"モロッコ","NAME_KO":"모로코","NAME_NL":"Marokko","NAME_PL":"Maroko","NAME_PT":"Marrocos","NAME_RU":"Марокко","NAME_SV":"Marocko","NAME_TR":"Fas","NAME_UK":"Марокко","NAME_UR":"مراکش","NAME_VI":"Maroc","NAME_ZH":"摩洛哥","NAME_ZHT":"摩洛哥","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-17.020428,21.420734,-1.124551,35.759988],"geometry":{"type":"Polygon","coordinates":[[[-2.169914,35.168396],[-1.792986,34.527919],[-1.733455,33.919713],[-1.388049,32.864015],[-1.124551,32.651522],[-1.307899,32.262889],[-2.616605,32.094346],[-3.06898,31.724498],[-3.647498,31.637294],[-3.690441,30.896952],[-4.859646,30.501188],[-5.242129,30.000443],[-6.060632,29.7317],[-7.059228,29.579228],[-8.674116,28.841289],[-8.66559,27.656426],[-8.817828,27.656426],[-8.794884,27.120696],[-9.413037,27.088476],[-9.735343,26.860945],[-10.189424,26.860945],[-10.551263,26.990808],[-11.392555,26.883424],[-11.71822,26.104092],[-12.030759,26.030866],[-12.500963,24.770116],[-13.89111,23.691009],[-14.221168,22.310163],[-14.630833,21.86094],[-14.750955,21.5006],[-17.002962,21.420734],[-17.020428,21.42231],[-16.973248,21.885745],[-16.589137,22.158234],[-16.261922,22.67934],[-16.326414,23.017768],[-15.982611,23.723358],[-15.426004,24.359134],[-15.089332,24.520261],[-14.824645,25.103533],[-14.800926,25.636265],[-14.43994,26.254418],[-13.773805,26.618892],[-13.139942,27.640148],[-13.121613,27.654148],[-12.618837,28.038186],[-11.688919,28.148644],[-10.900957,28.832142],[-10.399592,29.098586],[-9.564811,29.933574],[-9.814718,31.177736],[-9.434793,32.038096],[-9.300693,32.564679],[-8.657476,33.240245],[-7.654178,33.697065],[-6.912544,34.110476],[-6.244342,35.145865],[-5.929994,35.759988],[-5.193863,35.755182],[-4.591006,35.330712],[-3.640057,35.399855],[-2.604306,35.179093],[-2.169914,35.168396]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Egypt","SOV_A3":"EGY","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Egypt","ADM0_A3":"EGY","GEOU_DIF":0,"GEOUNIT":"Egypt","GU_A3":"EGY","SU_DIF":0,"SUBUNIT":"Egypt","SU_A3":"EGY","BRK_DIFF":0,"NAME":"Egypt","NAME_LONG":"Egypt","BRK_A3":"EGY","BRK_NAME":"Egypt","BRK_GROUP":null,"ABBREV":"Egypt","POSTAL":"EG","FORMAL_EN":"Arab Republic of Egypt","FORMAL_FR":null,"NAME_CIAWF":"Egypt","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Egypt, Arab Rep.","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":6,"MAPCOLOR9":7,"MAPCOLOR13":2,"POP_EST":100388073,"POP_RANK":17,"POP_YEAR":2019,"GDP_MD":303092,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"4. Lower middle income","FIPS_10":"EG","ISO_A2":"EG","ISO_A2_EH":"EG","ISO_A3":"EGY","ISO_A3_EH":"EGY","ISO_N3":"818","ISO_N3_EH":"818","UN_A3":"818","WB_A2":"EG","WB_A3":"EGY","WOE_ID":23424802,"WOE_ID_EH":23424802,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"EGY","ADM0_DIFF":null,"ADM0_TLC":"EGY","ADM0_A3_US":"EGY","ADM0_A3_FR":"EGY","ADM0_A3_RU":"EGY","ADM0_A3_ES":"EGY","ADM0_A3_CN":"EGY","ADM0_A3_TW":"EGY","ADM0_A3_IN":"EGY","ADM0_A3_NP":"EGY","ADM0_A3_PK":"EGY","ADM0_A3_DE":"EGY","ADM0_A3_GB":"EGY","ADM0_A3_BR":"EGY","ADM0_A3_IL":"EGY","ADM0_A3_PS":"EGY","ADM0_A3_SA":"EGY","ADM0_A3_EG":"EGY","ADM0_A3_MA":"EGY","ADM0_A3_PT":"EGY","ADM0_A3_AR":"EGY","ADM0_A3_JP":"EGY","ADM0_A3_KO":"EGY","ADM0_A3_VN":"EGY","ADM0_A3_TR":"EGY","ADM0_A3_ID":"EGY","ADM0_A3_PL":"EGY","ADM0_A3_GR":"EGY","ADM0_A3_IT":"EGY","ADM0_A3_NL":"EGY","ADM0_A3_SE":"EGY","ADM0_A3_BD":"EGY","ADM0_A3_UA":"EGY","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Northern Africa","REGION_WB":"Middle East & North Africa","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":6.7,"LABEL_X":29.445837,"LABEL_Y":26.186173,"NE_ID":1159320575,"WIKIDATAID":"Q79","NAME_AR":"مصر","NAME_BN":"মিশর","NAME_DE":"Ägypten","NAME_EN":"Egypt","NAME_ES":"Egipto","NAME_FA":"مصر","NAME_FR":"Égypte","NAME_EL":"Αίγυπτος","NAME_HE":"מצרים","NAME_HI":"मिस्र","NAME_HU":"Egyiptom","NAME_ID":"Mesir","NAME_IT":"Egitto","NAME_JA":"エジプト","NAME_KO":"이집트","NAME_NL":"Egypte","NAME_PL":"Egipt","NAME_PT":"Egito","NAME_RU":"Египет","NAME_SV":"Egypten","NAME_TR":"Mısır","NAME_UK":"Єгипет","NAME_UR":"مصر","NAME_VI":"Ai Cập","NAME_ZH":"埃及","NAME_ZHT":"埃及","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[24.70007,22,36.86623,31.58568],"geometry":{"type":"Polygon","coordinates":[[[36.86623,22],[32.9,22],[29.02,22],[25,22],[25,25.6825],[25,29.238655],[24.70007,30.04419],[24.95762,30.6616],[24.80287,31.08929],[25.16482,31.56915],[26.49533,31.58568],[27.45762,31.32126],[28.45048,31.02577],[28.91353,30.87005],[29.68342,31.18686],[30.09503,31.4734],[30.97693,31.55586],[31.68796,31.4296],[31.96041,30.9336],[32.19247,31.26034],[32.99392,31.02407],[33.7734,30.96746],[34.265435,31.219357],[34.26544,31.21936],[34.823243,29.761081],[34.9226,29.50133],[34.64174,29.09942],[34.42655,28.34399],[34.15451,27.8233],[33.92136,27.6487],[33.58811,27.97136],[33.13676,28.41765],[32.42323,29.85108],[32.32046,29.76043],[32.73482,28.70523],[33.34876,27.69989],[34.10455,26.14227],[34.47387,25.59856],[34.79507,25.03375],[35.69241,23.92671],[35.49372,23.75237],[35.52598,23.10244],[36.69069,22.20485],[36.86623,22]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Libya","SOV_A3":"LBY","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Libya","ADM0_A3":"LBY","GEOU_DIF":0,"GEOUNIT":"Libya","GU_A3":"LBY","SU_DIF":0,"SUBUNIT":"Libya","SU_A3":"LBY","BRK_DIFF":0,"NAME":"Libya","NAME_LONG":"Libya","BRK_A3":"LBY","BRK_NAME":"Libya","BRK_GROUP":null,"ABBREV":"Libya","POSTAL":"LY","FORMAL_EN":"Libya","FORMAL_FR":null,"NAME_CIAWF":"Libya","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Libya","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":2,"MAPCOLOR9":2,"MAPCOLOR13":11,"POP_EST":6777452,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":52091,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"LY","ISO_A2":"LY","ISO_A2_EH":"LY","ISO_A3":"LBY","ISO_A3_EH":"LBY","ISO_N3":"434","ISO_N3_EH":"434","UN_A3":"434","WB_A2":"LY","WB_A3":"LBY","WOE_ID":23424882,"WOE_ID_EH":23424882,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"LBY","ADM0_DIFF":null,"ADM0_TLC":"LBY","ADM0_A3_US":"LBY","ADM0_A3_FR":"LBY","ADM0_A3_RU":"LBY","ADM0_A3_ES":"LBY","ADM0_A3_CN":"LBY","ADM0_A3_TW":"LBY","ADM0_A3_IN":"LBY","ADM0_A3_NP":"LBY","ADM0_A3_PK":"LBY","ADM0_A3_DE":"LBY","ADM0_A3_GB":"LBY","ADM0_A3_BR":"LBY","ADM0_A3_IL":"LBY","ADM0_A3_PS":"LBY","ADM0_A3_SA":"LBY","ADM0_A3_EG":"LBY","ADM0_A3_MA":"LBY","ADM0_A3_PT":"LBY","ADM0_A3_AR":"LBY","ADM0_A3_JP":"LBY","ADM0_A3_KO":"LBY","ADM0_A3_VN":"LBY","ADM0_A3_TR":"LBY","ADM0_A3_ID":"LBY","ADM0_A3_PL":"LBY","ADM0_A3_GR":"LBY","ADM0_A3_IT":"LBY","ADM0_A3_NL":"LBY","ADM0_A3_SE":"LBY","ADM0_A3_BD":"LBY","ADM0_A3_UA":"LBY","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Northern Africa","REGION_WB":"Middle East & North Africa","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":18.011015,"LABEL_Y":26.638944,"NE_ID":1159321017,"WIKIDATAID":"Q1016","NAME_AR":"ليبيا","NAME_BN":"লিবিয়া","NAME_DE":"Libyen","NAME_EN":"Libya","NAME_ES":"Libia","NAME_FA":"لیبی","NAME_FR":"Libye","NAME_EL":"Λιβύη","NAME_HE":"לוב","NAME_HI":"लीबिया","NAME_HU":"Líbia","NAME_ID":"Libya","NAME_IT":"Libia","NAME_JA":"リビア","NAME_KO":"리비아","NAME_NL":"Libië","NAME_PL":"Libia","NAME_PT":"Líbia","NAME_RU":"Ливия","NAME_SV":"Libyen","NAME_TR":"Libya","NAME_UK":"Лівія","NAME_UR":"لیبیا","NAME_VI":"Libya","NAME_ZH":"利比亚","NAME_ZHT":"利比亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[9.319411,19.58047,25.16482,33.136996],"geometry":{"type":"Polygon","coordinates":[[[25,22],[25,20.00304],[23.85,20],[23.83766,19.58047],[19.84926,21.49509],[15.86085,23.40972],[14.8513,22.86295],[14.143871,22.491289],[13.581425,23.040506],[11.999506,23.471668],[11.560669,24.097909],[10.771364,24.562532],[10.303847,24.379313],[9.948261,24.936954],[9.910693,25.365455],[9.319411,26.094325],[9.716286,26.512206],[9.629056,27.140953],[9.756128,27.688259],[9.683885,28.144174],[9.859998,28.95999],[9.805634,29.424638],[9.48214,30.307556],[9.970017,30.539325],[10.056575,30.961831],[9.950225,31.37607],[10.636901,31.761421],[10.94479,32.081815],[11.432253,32.368903],[11.488787,33.136996],[12.66331,32.79278],[13.08326,32.87882],[13.91868,32.71196],[15.24563,32.26508],[15.71394,31.37626],[16.61162,31.18218],[18.02109,30.76357],[19.08641,30.26639],[19.57404,30.52582],[20.05335,30.98576],[19.82033,31.75179],[20.13397,32.2382],[20.85452,32.7068],[21.54298,32.8432],[22.89576,32.63858],[23.2368,32.19149],[23.60913,32.18726],[23.9275,32.01667],[24.92114,31.89936],[25.16482,31.56915],[24.80287,31.08929],[24.95762,30.6616],[24.70007,30.04419],[25,29.238655],[25,25.6825],[25,22]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Ethiopia","SOV_A3":"ETH","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Ethiopia","ADM0_A3":"ETH","GEOU_DIF":0,"GEOUNIT":"Ethiopia","GU_A3":"ETH","SU_DIF":0,"SUBUNIT":"Ethiopia","SU_A3":"ETH","BRK_DIFF":0,"NAME":"Ethiopia","NAME_LONG":"Ethiopia","BRK_A3":"ETH","BRK_NAME":"Ethiopia","BRK_GROUP":null,"ABBREV":"Eth.","POSTAL":"ET","FORMAL_EN":"Federal Democratic Republic of Ethiopia","FORMAL_FR":null,"NAME_CIAWF":"Ethiopia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Ethiopia","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":4,"MAPCOLOR9":1,"MAPCOLOR13":13,"POP_EST":112078730,"POP_RANK":17,"POP_YEAR":2019,"GDP_MD":95912,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"ET","ISO_A2":"ET","ISO_A2_EH":"ET","ISO_A3":"ETH","ISO_A3_EH":"ETH","ISO_N3":"231","ISO_N3_EH":"231","UN_A3":"231","WB_A2":"ET","WB_A3":"ETH","WOE_ID":23424808,"WOE_ID_EH":23424808,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ETH","ADM0_DIFF":null,"ADM0_TLC":"ETH","ADM0_A3_US":"ETH","ADM0_A3_FR":"ETH","ADM0_A3_RU":"ETH","ADM0_A3_ES":"ETH","ADM0_A3_CN":"ETH","ADM0_A3_TW":"ETH","ADM0_A3_IN":"ETH","ADM0_A3_NP":"ETH","ADM0_A3_PK":"ETH","ADM0_A3_DE":"ETH","ADM0_A3_GB":"ETH","ADM0_A3_BR":"ETH","ADM0_A3_IL":"ETH","ADM0_A3_PS":"ETH","ADM0_A3_SA":"ETH","ADM0_A3_EG":"ETH","ADM0_A3_MA":"ETH","ADM0_A3_PT":"ETH","ADM0_A3_AR":"ETH","ADM0_A3_JP":"ETH","ADM0_A3_KO":"ETH","ADM0_A3_VN":"ETH","ADM0_A3_TR":"ETH","ADM0_A3_ID":"ETH","ADM0_A3_PL":"ETH","ADM0_A3_GR":"ETH","ADM0_A3_IT":"ETH","ADM0_A3_NL":"ETH","ADM0_A3_SE":"ETH","ADM0_A3_BD":"ETH","ADM0_A3_UA":"ETH","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2,"MAX_LABEL":7,"LABEL_X":39.0886,"LABEL_Y":8.032795,"NE_ID":1159320617,"WIKIDATAID":"Q115","NAME_AR":"إثيوبيا","NAME_BN":"ইথিওপিয়া","NAME_DE":"Äthiopien","NAME_EN":"Ethiopia","NAME_ES":"Etiopía","NAME_FA":"اتیوپی","NAME_FR":"Éthiopie","NAME_EL":"Αιθιοπία","NAME_HE":"אתיופיה","NAME_HI":"इथियोपिया","NAME_HU":"Etiópia","NAME_ID":"Ethiopia","NAME_IT":"Etiopia","NAME_JA":"エチオピア","NAME_KO":"에티오피아","NAME_NL":"Ethiopië","NAME_PL":"Etiopia","NAME_PT":"Etiópia","NAME_RU":"Эфиопия","NAME_SV":"Etiopien","NAME_TR":"Etiyopya","NAME_UK":"Ефіопія","NAME_UR":"ایتھوپیا","NAME_VI":"Ethiopia","NAME_ZH":"埃塞俄比亚","NAME_ZHT":"衣索比亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[32.95418,3.42206,47.78942,14.95943],"geometry":{"type":"Polygon","coordinates":[[[47.78942,8.003],[44.9636,5.00162],[43.66087,4.95755],[42.76967,4.25259],[42.12861,4.23413],[41.855083,3.918912],[41.1718,3.91909],[40.76848,4.25702],[39.85494,3.83879],[39.559384,3.42206],[38.89251,3.50074],[38.67114,3.61607],[38.43697,3.58851],[38.120915,3.598605],[36.855093,4.447864],[36.159079,4.447864],[35.817448,4.776966],[35.817448,5.338232],[35.298007,5.506],[34.70702,6.59422],[34.25032,6.82607],[34.0751,7.22595],[33.56829,7.71334],[32.95418,7.78497],[33.2948,8.35458],[33.8255,8.37916],[33.97498,8.68456],[33.96162,9.58358],[34.25745,10.63009],[34.73115,10.91017],[34.83163,11.31896],[35.26049,12.08286],[35.86363,12.57828],[36.27022,13.56333],[36.42951,14.42211],[37.59377,14.2131],[37.90607,14.95943],[38.51295,14.50547],[39.0994,14.74064],[39.34061,14.53155],[40.02625,14.51959],[40.8966,14.11864],[41.1552,13.77333],[41.59856,13.45209],[42.00975,12.86582],[42.35156,12.54223],[42,12.1],[41.66176,11.6312],[41.73959,11.35511],[41.75557,11.05091],[42.31414,11.0342],[42.55493,11.10511],[42.776852,10.926879],[42.55876,10.57258],[42.92812,10.02194],[43.29699,9.54048],[43.67875,9.18358],[46.94834,7.99688],[47.78942,8.003]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Djibouti","SOV_A3":"DJI","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Djibouti","ADM0_A3":"DJI","GEOU_DIF":0,"GEOUNIT":"Djibouti","GU_A3":"DJI","SU_DIF":0,"SUBUNIT":"Djibouti","SU_A3":"DJI","BRK_DIFF":0,"NAME":"Djibouti","NAME_LONG":"Djibouti","BRK_A3":"DJI","BRK_NAME":"Djibouti","BRK_GROUP":null,"ABBREV":"Dji.","POSTAL":"DJ","FORMAL_EN":"Republic of Djibouti","FORMAL_FR":null,"NAME_CIAWF":"Djibouti","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Djibouti","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":2,"MAPCOLOR9":4,"MAPCOLOR13":8,"POP_EST":973560,"POP_RANK":11,"POP_YEAR":2019,"GDP_MD":3324,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"4. Lower middle income","FIPS_10":"DJ","ISO_A2":"DJ","ISO_A2_EH":"DJ","ISO_A3":"DJI","ISO_A3_EH":"DJI","ISO_N3":"262","ISO_N3_EH":"262","UN_A3":"262","WB_A2":"DJ","WB_A3":"DJI","WOE_ID":23424797,"WOE_ID_EH":23424797,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"DJI","ADM0_DIFF":null,"ADM0_TLC":"DJI","ADM0_A3_US":"DJI","ADM0_A3_FR":"DJI","ADM0_A3_RU":"DJI","ADM0_A3_ES":"DJI","ADM0_A3_CN":"DJI","ADM0_A3_TW":"DJI","ADM0_A3_IN":"DJI","ADM0_A3_NP":"DJI","ADM0_A3_PK":"DJI","ADM0_A3_DE":"DJI","ADM0_A3_GB":"DJI","ADM0_A3_BR":"DJI","ADM0_A3_IL":"DJI","ADM0_A3_PS":"DJI","ADM0_A3_SA":"DJI","ADM0_A3_EG":"DJI","ADM0_A3_MA":"DJI","ADM0_A3_PT":"DJI","ADM0_A3_AR":"DJI","ADM0_A3_JP":"DJI","ADM0_A3_KO":"DJI","ADM0_A3_VN":"DJI","ADM0_A3_TR":"DJI","ADM0_A3_ID":"DJI","ADM0_A3_PL":"DJI","ADM0_A3_GR":"DJI","ADM0_A3_IT":"DJI","ADM0_A3_NL":"DJI","ADM0_A3_SE":"DJI","ADM0_A3_BD":"DJI","ADM0_A3_UA":"DJI","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Middle East & North Africa","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":42.498825,"LABEL_Y":11.976343,"NE_ID":1159320541,"WIKIDATAID":"Q977","NAME_AR":"جيبوتي","NAME_BN":"জিবুতি","NAME_DE":"Dschibuti","NAME_EN":"Djibouti","NAME_ES":"Yibuti","NAME_FA":"جیبوتی","NAME_FR":"Djibouti","NAME_EL":"Τζιμπουτί","NAME_HE":"ג'יבוטי","NAME_HI":"जिबूती","NAME_HU":"Dzsibuti","NAME_ID":"Djibouti","NAME_IT":"Gibuti","NAME_JA":"ジブチ","NAME_KO":"지부티","NAME_NL":"Djibouti","NAME_PL":"Dżibuti","NAME_PT":"Djibouti","NAME_RU":"Джибути","NAME_SV":"Djibouti","NAME_TR":"Cibuti","NAME_UK":"Джибуті","NAME_UR":"جبوتی","NAME_VI":"Djibouti","NAME_ZH":"吉布提","NAME_ZHT":"吉布地","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[41.66176,10.926879,43.317852,12.699639],"geometry":{"type":"Polygon","coordinates":[[[42.35156,12.54223],[42.779642,12.455416],[43.081226,12.699639],[43.317852,12.390148],[43.286381,11.974928],[42.715874,11.735641],[43.145305,11.46204],[42.776852,10.926879],[42.55493,11.10511],[42.31414,11.0342],[41.75557,11.05091],[41.73959,11.35511],[41.66176,11.6312],[42,12.1],[42.35156,12.54223]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Somaliland","SOV_A3":"SOL","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Somaliland","ADM0_A3":"SOL","GEOU_DIF":0,"GEOUNIT":"Somaliland","GU_A3":"SOL","SU_DIF":0,"SUBUNIT":"Somaliland","SU_A3":"SOL","BRK_DIFF":0,"NAME":"Somaliland","NAME_LONG":"Somaliland","BRK_A3":"SOL","BRK_NAME":"Somaliland","BRK_GROUP":null,"ABBREV":"Solnd.","POSTAL":"SL","FORMAL_EN":"Republic of Somaliland","FORMAL_FR":null,"NAME_CIAWF":null,"NOTE_ADM0":"Disputed","NOTE_BRK":"Self admin.; Claimed by Somalia","NAME_SORT":"Somaliland","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":6,"MAPCOLOR9":5,"MAPCOLOR13":2,"POP_EST":5096159,"POP_RANK":13,"POP_YEAR":2014,"GDP_MD":17836,"GDP_YEAR":2013,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"-99","ISO_A2":"-99","ISO_A2_EH":"-99","ISO_A3":"-99","ISO_A3_EH":"-99","ISO_N3":"-99","ISO_N3_EH":"-99","UN_A3":"-099","WB_A2":"-99","WB_A3":"-99","WOE_ID":-99,"WOE_ID_EH":-99,"WOE_NOTE":"Includes old states of 2347021, 2347020, 2347017 and portion of 2347016.","ADM0_ISO":"SOM","ADM0_DIFF":"1","ADM0_TLC":"SOL","ADM0_A3_US":"SOM","ADM0_A3_FR":"SOM","ADM0_A3_RU":"SOM","ADM0_A3_ES":"SOM","ADM0_A3_CN":"SOM","ADM0_A3_TW":"SOL","ADM0_A3_IN":"SOM","ADM0_A3_NP":"SOM","ADM0_A3_PK":"SOM","ADM0_A3_DE":"SOM","ADM0_A3_GB":"SOM","ADM0_A3_BR":"SOM","ADM0_A3_IL":"SOM","ADM0_A3_PS":"SOM","ADM0_A3_SA":"SOM","ADM0_A3_EG":"SOM","ADM0_A3_MA":"SOM","ADM0_A3_PT":"SOM","ADM0_A3_AR":"SOM","ADM0_A3_JP":"SOM","ADM0_A3_KO":"SOM","ADM0_A3_VN":"SOM","ADM0_A3_TR":"SOM","ADM0_A3_ID":"SOM","ADM0_A3_PL":"SOM","ADM0_A3_GR":"SOM","ADM0_A3_IT":"SOM","ADM0_A3_NL":"SOM","ADM0_A3_SE":"SOM","ADM0_A3_BD":"SOM","ADM0_A3_UA":"SOM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":4,"MIN_LABEL":4.5,"MAX_LABEL":9,"LABEL_X":46.731595,"LABEL_Y":9.443889,"NE_ID":1159321259,"WIKIDATAID":"Q34754","NAME_AR":"صوماليلاند","NAME_BN":"সোমালিল্যান্ড","NAME_DE":"Somaliland","NAME_EN":"Somaliland","NAME_ES":"Somalilandia","NAME_FA":"سومالیلند","NAME_FR":"Somaliland","NAME_EL":"Σομαλιλάνδη","NAME_HE":"סומלילנד","NAME_HI":"सोमालीदेश","NAME_HU":"Szomáliföld","NAME_ID":"Somaliland","NAME_IT":"Somaliland","NAME_JA":"ソマリランド","NAME_KO":"소말릴란드","NAME_NL":"Somaliland","NAME_PL":"Somaliland","NAME_PT":"Somalilândia","NAME_RU":"Сомалиленд","NAME_SV":"Somaliland","NAME_TR":"Somaliland","NAME_UK":"Сомаліленд","NAME_UR":"صومالی لینڈ","NAME_VI":"Somaliland","NAME_ZH":"索马里兰","NAME_ZHT":"索馬利蘭","FCLASS_ISO":"Unrecognized","TLC_DIFF":"1","FCLASS_TLC":"Admin-0 country","FCLASS_US":"Unrecognized","FCLASS_FR":"Unrecognized","FCLASS_RU":"Unrecognized","FCLASS_ES":"Unrecognized","FCLASS_CN":"Unrecognized","FCLASS_TW":"Admin-0 country","FCLASS_IN":"Unrecognized","FCLASS_NP":"Unrecognized","FCLASS_PK":"Unrecognized","FCLASS_DE":"Unrecognized","FCLASS_GB":"Unrecognized","FCLASS_BR":"Unrecognized","FCLASS_IL":"Unrecognized","FCLASS_PS":"Unrecognized","FCLASS_SA":"Unrecognized","FCLASS_EG":"Unrecognized","FCLASS_MA":"Unrecognized","FCLASS_PT":"Unrecognized","FCLASS_AR":"Unrecognized","FCLASS_JP":"Unrecognized","FCLASS_KO":"Unrecognized","FCLASS_VN":"Unrecognized","FCLASS_TR":"Unrecognized","FCLASS_ID":"Unrecognized","FCLASS_PL":"Unrecognized","FCLASS_GR":"Unrecognized","FCLASS_IT":"Unrecognized","FCLASS_NL":"Unrecognized","FCLASS_SE":"Unrecognized","FCLASS_BD":"Unrecognized","FCLASS_UA":"Unrecognized"},"bbox":[42.55876,7.99688,48.948206,11.46204],"geometry":{"type":"Polygon","coordinates":[[[48.948205,11.410617],[48.948205,11.410617],[48.942005,11.394266],[48.938491,10.982327],[48.938233,9.9735],[48.93813,9.451749],[48.486736,8.837626],[47.78942,8.003],[46.94834,7.99688],[43.67875,9.18358],[43.29699,9.54048],[42.92812,10.02194],[42.55876,10.57258],[42.776852,10.926879],[43.145305,11.46204],[43.47066,11.27771],[43.666668,10.864169],[44.117804,10.445538],[44.614259,10.442205],[45.556941,10.698029],[46.645401,10.816549],[47.525658,11.127228],[48.021596,11.193064],[48.378784,11.375482],[48.948206,11.410622],[48.948205,11.410617]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Uganda","SOV_A3":"UGA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Uganda","ADM0_A3":"UGA","GEOU_DIF":0,"GEOUNIT":"Uganda","GU_A3":"UGA","SU_DIF":0,"SUBUNIT":"Uganda","SU_A3":"UGA","BRK_DIFF":0,"NAME":"Uganda","NAME_LONG":"Uganda","BRK_A3":"UGA","BRK_NAME":"Uganda","BRK_GROUP":null,"ABBREV":"Uga.","POSTAL":"UG","FORMAL_EN":"Republic of Uganda","FORMAL_FR":null,"NAME_CIAWF":"Uganda","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Uganda","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":3,"MAPCOLOR9":6,"MAPCOLOR13":4,"POP_EST":44269594,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":35165,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"UG","ISO_A2":"UG","ISO_A2_EH":"UG","ISO_A3":"UGA","ISO_A3_EH":"UGA","ISO_N3":"800","ISO_N3_EH":"800","UN_A3":"800","WB_A2":"UG","WB_A3":"UGA","WOE_ID":23424974,"WOE_ID_EH":23424974,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"UGA","ADM0_DIFF":null,"ADM0_TLC":"UGA","ADM0_A3_US":"UGA","ADM0_A3_FR":"UGA","ADM0_A3_RU":"UGA","ADM0_A3_ES":"UGA","ADM0_A3_CN":"UGA","ADM0_A3_TW":"UGA","ADM0_A3_IN":"UGA","ADM0_A3_NP":"UGA","ADM0_A3_PK":"UGA","ADM0_A3_DE":"UGA","ADM0_A3_GB":"UGA","ADM0_A3_BR":"UGA","ADM0_A3_IL":"UGA","ADM0_A3_PS":"UGA","ADM0_A3_SA":"UGA","ADM0_A3_EG":"UGA","ADM0_A3_MA":"UGA","ADM0_A3_PT":"UGA","ADM0_A3_AR":"UGA","ADM0_A3_JP":"UGA","ADM0_A3_KO":"UGA","ADM0_A3_VN":"UGA","ADM0_A3_TR":"UGA","ADM0_A3_ID":"UGA","ADM0_A3_PL":"UGA","ADM0_A3_GR":"UGA","ADM0_A3_IT":"UGA","ADM0_A3_NL":"UGA","ADM0_A3_SE":"UGA","ADM0_A3_BD":"UGA","ADM0_A3_UA":"UGA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":32.948555,"LABEL_Y":1.972589,"NE_ID":1159321343,"WIKIDATAID":"Q1036","NAME_AR":"أوغندا","NAME_BN":"উগান্ডা","NAME_DE":"Uganda","NAME_EN":"Uganda","NAME_ES":"Uganda","NAME_FA":"اوگاندا","NAME_FR":"Ouganda","NAME_EL":"Ουγκάντα","NAME_HE":"אוגנדה","NAME_HI":"युगाण्डा","NAME_HU":"Uganda","NAME_ID":"Uganda","NAME_IT":"Uganda","NAME_JA":"ウガンダ","NAME_KO":"우간다","NAME_NL":"Oeganda","NAME_PL":"Uganda","NAME_PT":"Uganda","NAME_RU":"Уганда","NAME_SV":"Uganda","NAME_TR":"Uganda","NAME_UK":"Уганда","NAME_UR":"یوگنڈا","NAME_VI":"Uganda","NAME_ZH":"乌干达","NAME_ZHT":"烏干達","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[29.579466,-1.443322,35.03599,4.249885],"geometry":{"type":"Polygon","coordinates":[[[33.903711,-0.95],[31.86617,-1.02736],[30.76986,-1.01455],[30.419105,-1.134659],[29.821519,-1.443322],[29.579466,-1.341313],[29.587838,-0.587406],[29.819503,-0.20531],[29.875779,0.59738],[30.086154,1.062313],[30.468508,1.583805],[30.85267,1.849396],[31.174149,2.204465],[30.773347,2.339883],[30.83386,3.509166],[30.833852,3.509172],[31.24556,3.7819],[31.88145,3.55827],[32.68642,3.79232],[33.39,3.79],[34.005,4.249885],[34.47913,3.5556],[34.59607,3.05374],[35.03599,1.90584],[34.6721,1.17694],[34.18,0.515],[33.893569,0.109814],[33.903711,-0.95]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Rwanda","SOV_A3":"RWA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Rwanda","ADM0_A3":"RWA","GEOU_DIF":0,"GEOUNIT":"Rwanda","GU_A3":"RWA","SU_DIF":0,"SUBUNIT":"Rwanda","SU_A3":"RWA","BRK_DIFF":0,"NAME":"Rwanda","NAME_LONG":"Rwanda","BRK_A3":"RWA","BRK_NAME":"Rwanda","BRK_GROUP":null,"ABBREV":"Rwa.","POSTAL":"RW","FORMAL_EN":"Republic of Rwanda","FORMAL_FR":null,"NAME_CIAWF":"Rwanda","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Rwanda","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":2,"MAPCOLOR9":3,"MAPCOLOR13":10,"POP_EST":12626950,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":10354,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"RW","ISO_A2":"RW","ISO_A2_EH":"RW","ISO_A3":"RWA","ISO_A3_EH":"RWA","ISO_N3":"646","ISO_N3_EH":"646","UN_A3":"646","WB_A2":"RW","WB_A3":"RWA","WOE_ID":23424937,"WOE_ID_EH":23424937,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"RWA","ADM0_DIFF":null,"ADM0_TLC":"RWA","ADM0_A3_US":"RWA","ADM0_A3_FR":"RWA","ADM0_A3_RU":"RWA","ADM0_A3_ES":"RWA","ADM0_A3_CN":"RWA","ADM0_A3_TW":"RWA","ADM0_A3_IN":"RWA","ADM0_A3_NP":"RWA","ADM0_A3_PK":"RWA","ADM0_A3_DE":"RWA","ADM0_A3_GB":"RWA","ADM0_A3_BR":"RWA","ADM0_A3_IL":"RWA","ADM0_A3_PS":"RWA","ADM0_A3_SA":"RWA","ADM0_A3_EG":"RWA","ADM0_A3_MA":"RWA","ADM0_A3_PT":"RWA","ADM0_A3_AR":"RWA","ADM0_A3_JP":"RWA","ADM0_A3_KO":"RWA","ADM0_A3_VN":"RWA","ADM0_A3_TR":"RWA","ADM0_A3_ID":"RWA","ADM0_A3_PL":"RWA","ADM0_A3_GR":"RWA","ADM0_A3_IT":"RWA","ADM0_A3_NL":"RWA","ADM0_A3_SE":"RWA","ADM0_A3_BD":"RWA","ADM0_A3_UA":"RWA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":30.103894,"LABEL_Y":-1.897196,"NE_ID":1159321219,"WIKIDATAID":"Q1037","NAME_AR":"رواندا","NAME_BN":"রুয়ান্ডা","NAME_DE":"Ruanda","NAME_EN":"Rwanda","NAME_ES":"Ruanda","NAME_FA":"رواندا","NAME_FR":"Rwanda","NAME_EL":"Ρουάντα","NAME_HE":"רואנדה","NAME_HI":"रवाण्डा","NAME_HU":"Ruanda","NAME_ID":"Rwanda","NAME_IT":"Ruanda","NAME_JA":"ルワンダ","NAME_KO":"르완다","NAME_NL":"Rwanda","NAME_PL":"Rwanda","NAME_PT":"Ruanda","NAME_RU":"Руанда","NAME_SV":"Rwanda","NAME_TR":"Ruanda","NAME_UK":"Руанда","NAME_UR":"روانڈا","NAME_VI":"Rwanda","NAME_ZH":"卢旺达","NAME_ZHT":"盧旺達","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[29.024926,-2.917858,30.816135,-1.134659],"geometry":{"type":"Polygon","coordinates":[[[30.419105,-1.134659],[30.816135,-1.698914],[30.758309,-2.28725],[30.46967,-2.41383],[30.469674,-2.413855],[29.938359,-2.348487],[29.632176,-2.917858],[29.024926,-2.839258],[29.117479,-2.292211],[29.254835,-2.21511],[29.291887,-1.620056],[29.579466,-1.341313],[29.821519,-1.443322],[30.419105,-1.134659]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Bosnia and Herzegovina","SOV_A3":"BIH","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Bosnia and Herzegovina","ADM0_A3":"BIH","GEOU_DIF":0,"GEOUNIT":"Bosnia and Herzegovina","GU_A3":"BIH","SU_DIF":0,"SUBUNIT":"Bosnia and Herzegovina","SU_A3":"BIH","BRK_DIFF":0,"NAME":"Bosnia and Herz.","NAME_LONG":"Bosnia and Herzegovina","BRK_A3":"BIH","BRK_NAME":"Bosnia and Herz.","BRK_GROUP":null,"ABBREV":"B.H.","POSTAL":"BiH","FORMAL_EN":"Bosnia and Herzegovina","FORMAL_FR":null,"NAME_CIAWF":"Bosnia and Herzegovina","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Bosnia and Herzegovina","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":1,"MAPCOLOR9":1,"MAPCOLOR13":2,"POP_EST":3301000,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":20164,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"BK","ISO_A2":"BA","ISO_A2_EH":"BA","ISO_A3":"BIH","ISO_A3_EH":"BIH","ISO_N3":"070","ISO_N3_EH":"070","UN_A3":"070","WB_A2":"BA","WB_A3":"BIH","WOE_ID":23424761,"WOE_ID_EH":23424761,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BIH","ADM0_DIFF":null,"ADM0_TLC":"BIH","ADM0_A3_US":"BIH","ADM0_A3_FR":"BIH","ADM0_A3_RU":"BIH","ADM0_A3_ES":"BIH","ADM0_A3_CN":"BIH","ADM0_A3_TW":"BIH","ADM0_A3_IN":"BIH","ADM0_A3_NP":"BIH","ADM0_A3_PK":"BIH","ADM0_A3_DE":"BIH","ADM0_A3_GB":"BIH","ADM0_A3_BR":"BIH","ADM0_A3_IL":"BIH","ADM0_A3_PS":"BIH","ADM0_A3_SA":"BIH","ADM0_A3_EG":"BIH","ADM0_A3_MA":"BIH","ADM0_A3_PT":"BIH","ADM0_A3_AR":"BIH","ADM0_A3_JP":"BIH","ADM0_A3_KO":"BIH","ADM0_A3_VN":"BIH","ADM0_A3_TR":"BIH","ADM0_A3_ID":"BIH","ADM0_A3_PL":"BIH","ADM0_A3_GR":"BIH","ADM0_A3_IT":"BIH","ADM0_A3_NL":"BIH","ADM0_A3_SE":"BIH","ADM0_A3_BD":"BIH","ADM0_A3_UA":"BIH","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Southern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":16,"LONG_LEN":22,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4.5,"MAX_LABEL":6.8,"LABEL_X":18.06841,"LABEL_Y":44.091051,"NE_ID":1159320417,"WIKIDATAID":"Q225","NAME_AR":"البوسنة والهرسك","NAME_BN":"বসনিয়া ও হার্জেগোভিনা","NAME_DE":"Bosnien und Herzegowina","NAME_EN":"Bosnia and Herzegovina","NAME_ES":"Bosnia y Herzegovina","NAME_FA":"بوسنی و هرزگوین","NAME_FR":"Bosnie-Herzégovine","NAME_EL":"Βοσνία και Ερζεγοβίνη","NAME_HE":"בוסניה והרצגובינה","NAME_HI":"बॉस्निया और हर्ज़ेगोविना","NAME_HU":"Bosznia-Hercegovina","NAME_ID":"Bosnia dan Herzegovina","NAME_IT":"Bosnia ed Erzegovina","NAME_JA":"ボスニア・ヘルツェゴビナ","NAME_KO":"보스니아 헤르체고비나","NAME_NL":"Bosnië en Herzegovina","NAME_PL":"Bośnia i Hercegowina","NAME_PT":"Bósnia e Herzegovina","NAME_RU":"Босния и Герцеговина","NAME_SV":"Bosnien och Hercegovina","NAME_TR":"Bosna-Hersek","NAME_UK":"Боснія і Герцеговина","NAME_UR":"بوسنیا و ہرزیگووینا","NAME_VI":"Bosna và Hercegovina","NAME_ZH":"波斯尼亚和黑塞哥维那","NAME_ZHT":"波士尼亞與赫塞哥維納","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[15.750026,42.65,19.59976,45.233777],"geometry":{"type":"Polygon","coordinates":[[[18.56,42.65],[17.674922,43.028563],[17.297373,43.446341],[16.916156,43.667722],[16.456443,44.04124],[16.23966,44.351143],[15.750026,44.818712],[15.959367,45.233777],[16.318157,45.004127],[16.534939,45.211608],[17.002146,45.233777],[17.861783,45.06774],[18.553214,45.08159],[19.005485,44.860234],[19.00548,44.86023],[19.36803,44.863],[19.11761,44.42307],[19.59976,44.03847],[19.454,43.5681],[19.21852,43.52384],[19.03165,43.43253],[18.70648,43.20011],[18.56,42.65]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"North Macedonia","SOV_A3":"MKD","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"North Macedonia","ADM0_A3":"MKD","GEOU_DIF":0,"GEOUNIT":"North Macedonia","GU_A3":"MKD","SU_DIF":0,"SUBUNIT":"North Macedonia","SU_A3":"MKD","BRK_DIFF":0,"NAME":"North Macedonia","NAME_LONG":"North Macedonia","BRK_A3":"MKD","BRK_NAME":"North Macedonia","BRK_GROUP":null,"ABBREV":"N. Mac.","POSTAL":"NM","FORMAL_EN":"Republic of North Macedonia","FORMAL_FR":null,"NAME_CIAWF":"North Macedonia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"North Macedonia","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":3,"MAPCOLOR9":7,"MAPCOLOR13":3,"POP_EST":2083459,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":12547,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"MK","ISO_A2":"MK","ISO_A2_EH":"MK","ISO_A3":"MKD","ISO_A3_EH":"MKD","ISO_N3":"807","ISO_N3_EH":"807","UN_A3":"807","WB_A2":"MK","WB_A3":"MKD","WOE_ID":23424890,"WOE_ID_EH":23424890,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MKD","ADM0_DIFF":null,"ADM0_TLC":"MKD","ADM0_A3_US":"MKD","ADM0_A3_FR":"MKD","ADM0_A3_RU":"MKD","ADM0_A3_ES":"MKD","ADM0_A3_CN":"MKD","ADM0_A3_TW":"MKD","ADM0_A3_IN":"MKD","ADM0_A3_NP":"MKD","ADM0_A3_PK":"MKD","ADM0_A3_DE":"MKD","ADM0_A3_GB":"MKD","ADM0_A3_BR":"MKD","ADM0_A3_IL":"MKD","ADM0_A3_PS":"MKD","ADM0_A3_SA":"MKD","ADM0_A3_EG":"MKD","ADM0_A3_MA":"MKD","ADM0_A3_PT":"MKD","ADM0_A3_AR":"MKD","ADM0_A3_JP":"MKD","ADM0_A3_KO":"MKD","ADM0_A3_VN":"MKD","ADM0_A3_TR":"MKD","ADM0_A3_ID":"MKD","ADM0_A3_PL":"MKD","ADM0_A3_GR":"MKD","ADM0_A3_IT":"MKD","ADM0_A3_NL":"MKD","ADM0_A3_SE":"MKD","ADM0_A3_BD":"MKD","ADM0_A3_UA":"MKD","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Southern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":15,"LONG_LEN":15,"ABBREV_LEN":7,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":21.555839,"LABEL_Y":41.558223,"NE_ID":1159321061,"WIKIDATAID":"Q221","NAME_AR":"مقدونيا الشمالية","NAME_BN":"উত্তর মেসিডোনিয়া","NAME_DE":"Nordmazedonien","NAME_EN":"North Macedonia","NAME_ES":"Macedonia del Norte","NAME_FA":"مقدونیه شمالی","NAME_FR":"Macédoine du Nord","NAME_EL":"Βόρεια Μακεδονία","NAME_HE":"מקדוניה הצפונית","NAME_HI":"उत्तर मैसिडोनिया","NAME_HU":"Észak-Macedónia","NAME_ID":"Republik Makedonia Utara","NAME_IT":"Macedonia del Nord","NAME_JA":"北マケドニア","NAME_KO":"북마케도니아","NAME_NL":"Noord-Macedonië","NAME_PL":"Macedonia Północna","NAME_PT":"Macedónia do Norte","NAME_RU":"Северная Македония","NAME_SV":"Nordmakedonien","NAME_TR":"Kuzey Makedonya","NAME_UK":"Північна Македонія","NAME_UR":"شمالی مقدونیہ","NAME_VI":"Bắc Macedonia","NAME_ZH":"北马其顿","NAME_ZHT":"北馬其頓","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[20.463175,40.842727,22.952377,42.32026],"geometry":{"type":"Polygon","coordinates":[[[22.380526,42.32026],[22.881374,41.999297],[22.952377,41.337994],[22.76177,41.3048],[22.597308,41.130487],[22.055378,41.149866],[21.674161,40.931275],[21.02004,40.842727],[20.605182,41.086226],[20.463175,41.515089],[20.590247,41.855404],[20.590247,41.855409],[20.71731,41.84711],[20.76216,42.05186],[21.3527,42.2068],[21.576636,42.245224],[21.91708,42.30364],[22.380526,42.32026]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Republic of Serbia","SOV_A3":"SRB","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Republic of Serbia","ADM0_A3":"SRB","GEOU_DIF":0,"GEOUNIT":"Republic of Serbia","GU_A3":"SRB","SU_DIF":0,"SUBUNIT":"Republic of Serbia","SU_A3":"SRB","BRK_DIFF":0,"NAME":"Serbia","NAME_LONG":"Serbia","BRK_A3":"SRB","BRK_NAME":"Serbia","BRK_GROUP":null,"ABBREV":"Serb.","POSTAL":"RS","FORMAL_EN":"Republic of Serbia","FORMAL_FR":null,"NAME_CIAWF":"Serbia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Serbia","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":3,"MAPCOLOR9":2,"MAPCOLOR13":10,"POP_EST":6944975,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":51475,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"RI","ISO_A2":"RS","ISO_A2_EH":"RS","ISO_A3":"SRB","ISO_A3_EH":"SRB","ISO_N3":"688","ISO_N3_EH":"688","UN_A3":"688","WB_A2":"YF","WB_A3":"SRB","WOE_ID":-90,"WOE_ID_EH":20069818,"WOE_NOTE":"Expired WOE also contains Kosovo.","ADM0_ISO":"SRB","ADM0_DIFF":null,"ADM0_TLC":"SRB","ADM0_A3_US":"SRB","ADM0_A3_FR":"SRB","ADM0_A3_RU":"SRB","ADM0_A3_ES":"SRB","ADM0_A3_CN":"SRB","ADM0_A3_TW":"SRB","ADM0_A3_IN":"SRB","ADM0_A3_NP":"SRB","ADM0_A3_PK":"SRB","ADM0_A3_DE":"SRB","ADM0_A3_GB":"SRB","ADM0_A3_BR":"SRB","ADM0_A3_IL":"SRB","ADM0_A3_PS":"SRB","ADM0_A3_SA":"SRB","ADM0_A3_EG":"SRB","ADM0_A3_MA":"SRB","ADM0_A3_PT":"SRB","ADM0_A3_AR":"SRB","ADM0_A3_JP":"SRB","ADM0_A3_KO":"SRB","ADM0_A3_VN":"SRB","ADM0_A3_TR":"SRB","ADM0_A3_ID":"SRB","ADM0_A3_PL":"SRB","ADM0_A3_GR":"SRB","ADM0_A3_IT":"SRB","ADM0_A3_NL":"SRB","ADM0_A3_SE":"SRB","ADM0_A3_BD":"SRB","ADM0_A3_UA":"SRB","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Southern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":7,"LABEL_X":20.787989,"LABEL_Y":44.189919,"NE_ID":1159321267,"WIKIDATAID":"Q403","NAME_AR":"صربيا","NAME_BN":"সার্বিয়া","NAME_DE":"Serbien","NAME_EN":"Serbia","NAME_ES":"Serbia","NAME_FA":"صربستان","NAME_FR":"Serbie","NAME_EL":"Σερβία","NAME_HE":"סרביה","NAME_HI":"सर्बिया","NAME_HU":"Szerbia","NAME_ID":"Serbia","NAME_IT":"Serbia","NAME_JA":"セルビア","NAME_KO":"세르비아","NAME_NL":"Servië","NAME_PL":"Serbia","NAME_PT":"Sérvia","NAME_RU":"Сербия","NAME_SV":"Serbien","NAME_TR":"Sırbistan","NAME_UK":"Сербія","NAME_UR":"سربیا","NAME_VI":"Serbia","NAME_ZH":"塞尔维亚","NAME_ZHT":"塞爾維亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[18.829825,42.245224,22.986019,46.17173],"geometry":{"type":"Polygon","coordinates":[[[18.829825,45.908872],[18.829838,45.908878],[19.596045,46.17173],[20.220192,46.127469],[20.762175,45.734573],[20.874313,45.416375],[21.483526,45.18117],[21.562023,44.768947],[22.145088,44.478422],[22.459022,44.702517],[22.705726,44.578003],[22.474008,44.409228],[22.65715,44.234923],[22.410446,44.008063],[22.500157,43.642814],[22.986019,43.211161],[22.604801,42.898519],[22.436595,42.580321],[22.545012,42.461362],[22.380526,42.32026],[21.91708,42.30364],[21.576636,42.245224],[21.54332,42.32025],[21.66292,42.43922],[21.77505,42.6827],[21.63302,42.67717],[21.43866,42.86255],[21.27421,42.90959],[21.143395,43.068685],[20.95651,43.13094],[20.81448,43.27205],[20.63508,43.21671],[20.49679,42.88469],[20.25758,42.81275],[20.3398,42.89852],[19.95857,43.10604],[19.63,43.21378],[19.48389,43.35229],[19.21852,43.52384],[19.454,43.5681],[19.59976,44.03847],[19.11761,44.42307],[19.36803,44.863],[19.00548,44.86023],[19.005485,44.860234],[19.390476,45.236516],[19.072769,45.521511],[18.829825,45.908872]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Montenegro","SOV_A3":"MNE","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Montenegro","ADM0_A3":"MNE","GEOU_DIF":0,"GEOUNIT":"Montenegro","GU_A3":"MNE","SU_DIF":0,"SUBUNIT":"Montenegro","SU_A3":"MNE","BRK_DIFF":0,"NAME":"Montenegro","NAME_LONG":"Montenegro","BRK_A3":"MNE","BRK_NAME":"Montenegro","BRK_GROUP":null,"ABBREV":"Mont.","POSTAL":"ME","FORMAL_EN":"Montenegro","FORMAL_FR":null,"NAME_CIAWF":"Montenegro","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Montenegro","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":1,"MAPCOLOR9":4,"MAPCOLOR13":5,"POP_EST":622137,"POP_RANK":11,"POP_YEAR":2019,"GDP_MD":5542,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"MJ","ISO_A2":"ME","ISO_A2_EH":"ME","ISO_A3":"MNE","ISO_A3_EH":"MNE","ISO_N3":"499","ISO_N3_EH":"499","UN_A3":"499","WB_A2":"ME","WB_A3":"MNE","WOE_ID":20069817,"WOE_ID_EH":20069817,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MNE","ADM0_DIFF":null,"ADM0_TLC":"MNE","ADM0_A3_US":"MNE","ADM0_A3_FR":"MNE","ADM0_A3_RU":"MNE","ADM0_A3_ES":"MNE","ADM0_A3_CN":"MNE","ADM0_A3_TW":"MNE","ADM0_A3_IN":"MNE","ADM0_A3_NP":"MNE","ADM0_A3_PK":"MNE","ADM0_A3_DE":"MNE","ADM0_A3_GB":"MNE","ADM0_A3_BR":"MNE","ADM0_A3_IL":"MNE","ADM0_A3_PS":"MNE","ADM0_A3_SA":"MNE","ADM0_A3_EG":"MNE","ADM0_A3_MA":"MNE","ADM0_A3_PT":"MNE","ADM0_A3_AR":"MNE","ADM0_A3_JP":"MNE","ADM0_A3_KO":"MNE","ADM0_A3_VN":"MNE","ADM0_A3_TR":"MNE","ADM0_A3_ID":"MNE","ADM0_A3_PL":"MNE","ADM0_A3_GR":"MNE","ADM0_A3_IT":"MNE","ADM0_A3_NL":"MNE","ADM0_A3_SE":"MNE","ADM0_A3_BD":"MNE","ADM0_A3_UA":"MNE","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Southern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":19.143727,"LABEL_Y":42.803101,"NE_ID":1159321069,"WIKIDATAID":"Q236","NAME_AR":"الجبل الأسود","NAME_BN":"মন্টিনিগ্রো","NAME_DE":"Montenegro","NAME_EN":"Montenegro","NAME_ES":"Montenegro","NAME_FA":"مونتهنگرو","NAME_FR":"Monténégro","NAME_EL":"Μαυροβούνιο","NAME_HE":"מונטנגרו","NAME_HI":"मॉन्टेनीग्रो","NAME_HU":"Montenegró","NAME_ID":"Montenegro","NAME_IT":"Montenegro","NAME_JA":"モンテネグロ","NAME_KO":"몬테네그로","NAME_NL":"Montenegro","NAME_PL":"Czarnogóra","NAME_PT":"Montenegro","NAME_RU":"Черногория","NAME_SV":"Montenegro","NAME_TR":"Karadağ","NAME_UK":"Чорногорія","NAME_UR":"مونٹینیگرو","NAME_VI":"Montenegro","NAME_ZH":"黑山","NAME_ZHT":"蒙特內哥羅","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[18.450017,41.877551,20.3398,43.52384],"geometry":{"type":"Polygon","coordinates":[[[20.0707,42.58863],[19.801613,42.500093],[19.738051,42.688247],[19.304486,42.195745],[19.371768,41.877551],[19.16246,41.95502],[18.88214,42.28151],[18.450017,42.479992],[18.56,42.65],[18.70648,43.20011],[19.03165,43.43253],[19.21852,43.52384],[19.48389,43.35229],[19.63,43.21378],[19.95857,43.10604],[20.3398,42.89852],[20.25758,42.81275],[20.0707,42.58863]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Kosovo","SOV_A3":"KOS","ADM0_DIF":0,"LEVEL":2,"TYPE":"Disputed","TLC":"1","ADMIN":"Kosovo","ADM0_A3":"KOS","GEOU_DIF":0,"GEOUNIT":"Kosovo","GU_A3":"KOS","SU_DIF":0,"SUBUNIT":"Kosovo","SU_A3":"KOS","BRK_DIFF":0,"NAME":"Kosovo","NAME_LONG":"Kosovo","BRK_A3":"KOS","BRK_NAME":"Kosovo","BRK_GROUP":null,"ABBREV":"Kos.","POSTAL":"KO","FORMAL_EN":"Republic of Kosovo","FORMAL_FR":null,"NAME_CIAWF":"Kosovo","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Kosovo","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":2,"MAPCOLOR9":3,"MAPCOLOR13":11,"POP_EST":1794248,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":7926,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"KV","ISO_A2":"-99","ISO_A2_EH":"XK","ISO_A3":"-99","ISO_A3_EH":"-99","ISO_N3":"-99","ISO_N3_EH":"-99","UN_A3":"-099","WB_A2":"KV","WB_A3":"KSV","WOE_ID":-90,"WOE_ID_EH":29389201,"WOE_NOTE":"Subunit of Serbia in WOE still; should include 29389201, 29389207, 29389218, 29389209 and 29389214.","ADM0_ISO":"SRB","ADM0_DIFF":"1","ADM0_TLC":"KOS","ADM0_A3_US":"KOS","ADM0_A3_FR":"KOS","ADM0_A3_RU":"SRB","ADM0_A3_ES":"SRB","ADM0_A3_CN":"SRB","ADM0_A3_TW":"KOS","ADM0_A3_IN":"SRB","ADM0_A3_NP":"SRB","ADM0_A3_PK":"KOS","ADM0_A3_DE":"KOS","ADM0_A3_GB":"SRB","ADM0_A3_BR":"KOS","ADM0_A3_IL":"KOS","ADM0_A3_PS":"SRB","ADM0_A3_SA":"KOS","ADM0_A3_EG":"KOS","ADM0_A3_MA":"SRB","ADM0_A3_PT":"KOS","ADM0_A3_AR":"SRB","ADM0_A3_JP":"KOS","ADM0_A3_KO":"KOS","ADM0_A3_VN":"SRB","ADM0_A3_TR":"KOS","ADM0_A3_ID":"SRB","ADM0_A3_PL":"KOS","ADM0_A3_GR":"SRB","ADM0_A3_IT":"KOS","ADM0_A3_NL":"KOS","ADM0_A3_SE":"KOS","ADM0_A3_BD":"KOS","ADM0_A3_UA":"SRB","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Southern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":20.860719,"LABEL_Y":42.593587,"NE_ID":1159321007,"WIKIDATAID":"Q1246","NAME_AR":"كوسوفو","NAME_BN":"কসোভো","NAME_DE":"Kosovo","NAME_EN":"Kosovo","NAME_ES":"Kosovo","NAME_FA":"کوزووو","NAME_FR":"Kosovo","NAME_EL":"Κοσσυφοπέδιο","NAME_HE":"קוסובו","NAME_HI":"कोसोवो गणराज्य","NAME_HU":"Koszovó","NAME_ID":"Kosovo","NAME_IT":"Kosovo","NAME_JA":"コソボ共和国","NAME_KO":"코소보","NAME_NL":"Kosovo","NAME_PL":"Kosowo","NAME_PT":"Kosovo","NAME_RU":"Республика Косово","NAME_SV":"Kosovo","NAME_TR":"Kosova","NAME_UK":"Косово","NAME_UR":"کوسووہ","NAME_VI":"Kosovo","NAME_ZH":"科索沃","NAME_ZHT":"科索沃","FCLASS_ISO":"Unrecognized","TLC_DIFF":"1","FCLASS_TLC":"Admin-0 country","FCLASS_US":"Admin-0 country","FCLASS_FR":"Admin-0 country","FCLASS_RU":"Admin-1 region","FCLASS_ES":"Unrecognized","FCLASS_CN":"Unrecognized","FCLASS_TW":"Admin-0 country","FCLASS_IN":"Admin-1 region","FCLASS_NP":"Unrecognized","FCLASS_PK":"Admin-0 country","FCLASS_DE":"Admin-0 country","FCLASS_GB":"Admin-0 country","FCLASS_BR":"Unrecognized","FCLASS_IL":"Admin-0 country","FCLASS_PS":"Unrecognized","FCLASS_SA":"Admin-0 country","FCLASS_EG":"Admin-0 country","FCLASS_MA":"Unrecognized","FCLASS_PT":"Admin-0 country","FCLASS_AR":"Unrecognized","FCLASS_JP":"Admin-0 country","FCLASS_KO":"Admin-0 country","FCLASS_VN":"Unrecognized","FCLASS_TR":"Admin-0 country","FCLASS_ID":"Unrecognized","FCLASS_PL":"Admin-0 country","FCLASS_GR":"Unrecognized","FCLASS_IT":"Admin-0 country","FCLASS_NL":"Admin-0 country","FCLASS_SE":"Admin-0 country","FCLASS_BD":"Admin-0 country","FCLASS_UA":"Unrecognized"},"bbox":[20.0707,41.84711,21.77505,43.27205],"geometry":{"type":"Polygon","coordinates":[[[20.590247,41.855409],[20.52295,42.21787],[20.283755,42.32026],[20.0707,42.58863],[20.25758,42.81275],[20.49679,42.88469],[20.63508,43.21671],[20.81448,43.27205],[20.95651,43.13094],[21.143395,43.068685],[21.27421,42.90959],[21.43866,42.86255],[21.63302,42.67717],[21.77505,42.6827],[21.66292,42.43922],[21.54332,42.32025],[21.576636,42.245224],[21.3527,42.2068],[20.76216,42.05186],[20.71731,41.84711],[20.590247,41.855409]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Trinidad and Tobago","SOV_A3":"TTO","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Trinidad and Tobago","ADM0_A3":"TTO","GEOU_DIF":0,"GEOUNIT":"Trinidad and Tobago","GU_A3":"TTO","SU_DIF":0,"SUBUNIT":"Trinidad and Tobago","SU_A3":"TTO","BRK_DIFF":0,"NAME":"Trinidad and Tobago","NAME_LONG":"Trinidad and Tobago","BRK_A3":"TTO","BRK_NAME":"Trinidad and Tobago","BRK_GROUP":null,"ABBREV":"Tr.T.","POSTAL":"TT","FORMAL_EN":"Republic of Trinidad and Tobago","FORMAL_FR":null,"NAME_CIAWF":"Trinidad and Tobago","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Trinidad and Tobago","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":6,"MAPCOLOR9":2,"MAPCOLOR13":5,"POP_EST":1394973,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":24269,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"TD","ISO_A2":"TT","ISO_A2_EH":"TT","ISO_A3":"TTO","ISO_A3_EH":"TTO","ISO_N3":"780","ISO_N3_EH":"780","UN_A3":"780","WB_A2":"TT","WB_A3":"TTO","WOE_ID":23424958,"WOE_ID_EH":23424958,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"TTO","ADM0_DIFF":null,"ADM0_TLC":"TTO","ADM0_A3_US":"TTO","ADM0_A3_FR":"TTO","ADM0_A3_RU":"TTO","ADM0_A3_ES":"TTO","ADM0_A3_CN":"TTO","ADM0_A3_TW":"TTO","ADM0_A3_IN":"TTO","ADM0_A3_NP":"TTO","ADM0_A3_PK":"TTO","ADM0_A3_DE":"TTO","ADM0_A3_GB":"TTO","ADM0_A3_BR":"TTO","ADM0_A3_IL":"TTO","ADM0_A3_PS":"TTO","ADM0_A3_SA":"TTO","ADM0_A3_EG":"TTO","ADM0_A3_MA":"TTO","ADM0_A3_PT":"TTO","ADM0_A3_AR":"TTO","ADM0_A3_JP":"TTO","ADM0_A3_KO":"TTO","ADM0_A3_VN":"TTO","ADM0_A3_TR":"TTO","ADM0_A3_ID":"TTO","ADM0_A3_PL":"TTO","ADM0_A3_GR":"TTO","ADM0_A3_IT":"TTO","ADM0_A3_NL":"TTO","ADM0_A3_SE":"TTO","ADM0_A3_BD":"TTO","ADM0_A3_UA":"TTO","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":19,"LONG_LEN":19,"ABBREV_LEN":5,"TINY":2,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4.5,"MAX_LABEL":9.5,"LABEL_X":-60.9184,"LABEL_Y":10.9989,"NE_ID":1159321321,"WIKIDATAID":"Q754","NAME_AR":"ترينيداد وتوباغو","NAME_BN":"ত্রিনিদাদ ও টোবাগো","NAME_DE":"Trinidad und Tobago","NAME_EN":"Trinidad and Tobago","NAME_ES":"Trinidad y Tobago","NAME_FA":"ترینیداد و توباگو","NAME_FR":"Trinité-et-Tobago","NAME_EL":"Τρινιντάντ και Τομπάγκο","NAME_HE":"טרינידד וטובגו","NAME_HI":"त्रिनिदाद और टोबैगो","NAME_HU":"Trinidad és Tobago","NAME_ID":"Trinidad dan Tobago","NAME_IT":"Trinidad e Tobago","NAME_JA":"トリニダード・トバゴ","NAME_KO":"트리니다드 토바고","NAME_NL":"Trinidad en Tobago","NAME_PL":"Trynidad i Tobago","NAME_PT":"Trinidad e Tobago","NAME_RU":"Тринидад и Тобаго","NAME_SV":"Trinidad och Tobago","NAME_TR":"Trinidad ve Tobago","NAME_UK":"Тринідад і Тобаго","NAME_UR":"ٹرینیڈاڈ و ٹوباگو","NAME_VI":"Trinidad và Tobago","NAME_ZH":"特立尼达和多巴哥","NAME_ZHT":"千里達及托巴哥","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-61.95,10,-60.895,10.89],"geometry":{"type":"Polygon","coordinates":[[[-61.68,10.76],[-61.105,10.89],[-60.895,10.855],[-60.935,10.11],[-61.77,10],[-61.95,10.09],[-61.66,10.365],[-61.68,10.76]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"South Sudan","SOV_A3":"SDS","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"South Sudan","ADM0_A3":"SDS","GEOU_DIF":0,"GEOUNIT":"South Sudan","GU_A3":"SDS","SU_DIF":0,"SUBUNIT":"South Sudan","SU_A3":"SDS","BRK_DIFF":0,"NAME":"S. Sudan","NAME_LONG":"South Sudan","BRK_A3":"SDS","BRK_NAME":"S. Sudan","BRK_GROUP":null,"ABBREV":"S. Sud.","POSTAL":"SS","FORMAL_EN":"Republic of South Sudan","FORMAL_FR":null,"NAME_CIAWF":"South Sudan","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"South Sudan","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":3,"MAPCOLOR9":3,"MAPCOLOR13":5,"POP_EST":11062113,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":11998,"GDP_YEAR":2015,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"-99","ISO_A2":"SS","ISO_A2_EH":"SS","ISO_A3":"SSD","ISO_A3_EH":"SSD","ISO_N3":"728","ISO_N3_EH":"728","UN_A3":"728","WB_A2":"SS","WB_A3":"SSD","WOE_ID":-99,"WOE_ID_EH":-99,"WOE_NOTE":"Includes states of 20069899, 20069897, 20069898, 20069901, 20069909, and 20069908 but maybe more?","ADM0_ISO":"SSD","ADM0_DIFF":"1","ADM0_TLC":"SDS","ADM0_A3_US":"SDS","ADM0_A3_FR":"SDS","ADM0_A3_RU":"SDS","ADM0_A3_ES":"SDS","ADM0_A3_CN":"SDS","ADM0_A3_TW":"SDS","ADM0_A3_IN":"SDS","ADM0_A3_NP":"SDS","ADM0_A3_PK":"SDS","ADM0_A3_DE":"SDS","ADM0_A3_GB":"SDS","ADM0_A3_BR":"SDS","ADM0_A3_IL":"SDS","ADM0_A3_PS":"SDS","ADM0_A3_SA":"SDS","ADM0_A3_EG":"SDS","ADM0_A3_MA":"SDS","ADM0_A3_PT":"SDS","ADM0_A3_AR":"SDS","ADM0_A3_JP":"SDS","ADM0_A3_KO":"SDS","ADM0_A3_VN":"SDS","ADM0_A3_TR":"SDS","ADM0_A3_ID":"SDS","ADM0_A3_PL":"SDS","ADM0_A3_GR":"SDS","ADM0_A3_IT":"SDS","ADM0_A3_NL":"SDS","ADM0_A3_SE":"SDS","ADM0_A3_BD":"SDS","ADM0_A3_UA":"SDS","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":8,"LONG_LEN":11,"ABBREV_LEN":7,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":30.390151,"LABEL_Y":7.230477,"NE_ID":1159321235,"WIKIDATAID":"Q958","NAME_AR":"جنوب السودان","NAME_BN":"দক্ষিণ সুদান","NAME_DE":"Südsudan","NAME_EN":"South Sudan","NAME_ES":"Sudán del Sur","NAME_FA":"سودان جنوبی","NAME_FR":"Soudan du Sud","NAME_EL":"Νότιο Σουδάν","NAME_HE":"דרום סודאן","NAME_HI":"दक्षिण सूडान","NAME_HU":"Dél-Szudán","NAME_ID":"Sudan Selatan","NAME_IT":"Sudan del Sud","NAME_JA":"南スーダン","NAME_KO":"남수단","NAME_NL":"Zuid-Soedan","NAME_PL":"Sudan Południowy","NAME_PT":"Sudão do Sul","NAME_RU":"Южный Судан","NAME_SV":"Sydsudan","NAME_TR":"Güney Sudan","NAME_UK":"Південний Судан","NAME_UR":"جنوبی سوڈان","NAME_VI":"Nam Sudan","NAME_ZH":"南苏丹","NAME_ZHT":"南蘇丹","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[23.88698,3.509172,35.298007,12.248008],"geometry":{"type":"Polygon","coordinates":[[[30.833852,3.509172],[29.9535,4.173699],[29.715995,4.600805],[29.159078,4.389267],[28.696678,4.455077],[28.428994,4.287155],[27.979977,4.408413],[27.374226,5.233944],[27.213409,5.550953],[26.465909,5.946717],[26.213418,6.546603],[25.796648,6.979316],[25.124131,7.500085],[25.114932,7.825104],[24.567369,8.229188],[23.88698,8.61973],[24.194068,8.728696],[24.537415,8.917538],[24.794926,9.810241],[25.069604,10.27376],[25.790633,10.411099],[25.962307,10.136421],[26.477328,9.55273],[26.752006,9.466893],[27.112521,9.638567],[27.833551,9.604232],[27.97089,9.398224],[28.966597,9.398224],[29.000932,9.604232],[29.515953,9.793074],[29.618957,10.084919],[29.996639,10.290927],[30.837841,9.707237],[31.352862,9.810241],[31.850716,10.531271],[32.400072,11.080626],[32.314235,11.681484],[32.073892,11.97333],[32.67475,12.024832],[32.743419,12.248008],[33.206938,12.179338],[33.086766,11.441141],[33.206938,10.720112],[33.721959,10.325262],[33.842131,9.981915],[33.824963,9.484061],[33.963393,9.464285],[33.97498,8.68456],[33.8255,8.37916],[33.2948,8.35458],[32.95418,7.78497],[33.56829,7.71334],[34.0751,7.22595],[34.25032,6.82607],[34.70702,6.59422],[35.298007,5.506],[34.620196,4.847123],[34.005,4.249885],[33.39,3.79],[32.68642,3.79232],[31.88145,3.55827],[31.24556,3.7819],[30.833852,3.509172]]]}}],"bbox":[-180,-90,180,83.64513]} \ No newline at end of file diff --git a/wp-content/themes/nenghui-energy-theme-4/footer.php b/wp-content/themes/nenghui-energy-theme-4/footer.php index 594c0f6..d0c6040 100644 --- a/wp-content/themes/nenghui-energy-theme-4/footer.php +++ b/wp-content/themes/nenghui-energy-theme-4/footer.php @@ -57,7 +57,7 @@