浏览代码

Merge remote-tracking branch 'origin/master'

sunshihao 2 天之前
父节点
当前提交
015422805a
共有 51 个文件被更改,包括 9488 次插入201 次删除
  1. 2 1
      xinkeaboard-admin/package.json
  2. 28 9
      xinkeaboard-admin/pnpm-lock.yaml
  3. 二进制
      xinkeaboard-admin/src/assets/bigscreen/bar-head.png
  4. 19 0
      xinkeaboard-admin/src/assets/bigscreen/bar-head.svg
  5. 二进制
      xinkeaboard-admin/src/assets/bigscreen/box-1.png
  6. 二进制
      xinkeaboard-admin/src/assets/bigscreen/box-2.png
  7. 二进制
      xinkeaboard-admin/src/assets/bigscreen/box-3.png
  8. 二进制
      xinkeaboard-admin/src/assets/bigscreen/box-4.png
  9. 51 40
      xinkeaboard-admin/src/components/WordCloud/index.js
  10. 115 0
      xinkeaboard-admin/src/pages/statistics/bigscreen/components/BarChart.js
  11. 30 0
      xinkeaboard-admin/src/pages/statistics/bigscreen/components/DistributorEnquireLocation.js
  12. 86 0
      xinkeaboard-admin/src/pages/statistics/bigscreen/components/Enquire.js
  13. 111 0
      xinkeaboard-admin/src/pages/statistics/bigscreen/components/EnquirePieChart.js
  14. 18 45
      xinkeaboard-admin/src/pages/statistics/bigscreen/components/HeadContent.js
  15. 24 0
      xinkeaboard-admin/src/pages/statistics/bigscreen/components/MemberLocation.js
  16. 32 0
      xinkeaboard-admin/src/pages/statistics/bigscreen/components/OverseasEnquireLocation.js
  17. 29 8
      xinkeaboard-admin/src/pages/statistics/bigscreen/components/Overview.js
  18. 17 2
      xinkeaboard-admin/src/pages/statistics/bigscreen/components/PanelBlock.js
  19. 141 0
      xinkeaboard-admin/src/pages/statistics/bigscreen/components/Pie3DChart.js
  20. 5 18
      xinkeaboard-admin/src/pages/statistics/bigscreen/components/PortalTraffic.js
  21. 58 0
      xinkeaboard-admin/src/pages/statistics/bigscreen/components/SearchRankCloud.js
  22. 87 0
      xinkeaboard-admin/src/pages/statistics/bigscreen/components/StoreTraffic.js
  23. 33 0
      xinkeaboard-admin/src/pages/statistics/bigscreen/components/TableChart.js
  24. 28 13
      xinkeaboard-admin/src/pages/statistics/bigscreen/components/TrafficLineChart.js
  25. 127 0
      xinkeaboard-admin/src/pages/statistics/bigscreen/components/WorldMap.js
  26. 38 0
      xinkeaboard-admin/src/pages/statistics/bigscreen/components/addMemberTrend.js
  27. 37 0
      xinkeaboard-admin/src/pages/statistics/bigscreen/components/addProductTrend.js
  28. 99 13
      xinkeaboard-admin/src/pages/statistics/bigscreen/index.js
  29. 55 14
      xinkeaboard-admin/src/pages/statistics/bigscreen/index.less
  30. 34 0
      xinkeaboard-admin/src/pages/statistics/bigscreen/styles/add_member_trend.less
  31. 34 0
      xinkeaboard-admin/src/pages/statistics/bigscreen/styles/add_product_trend.less
  32. 4 0
      xinkeaboard-admin/src/pages/statistics/bigscreen/styles/bar_chart.less
  33. 36 0
      xinkeaboard-admin/src/pages/statistics/bigscreen/styles/common.less
  34. 33 0
      xinkeaboard-admin/src/pages/statistics/bigscreen/styles/distributor_enquire_location.less
  35. 37 0
      xinkeaboard-admin/src/pages/statistics/bigscreen/styles/enquire.less
  36. 4 0
      xinkeaboard-admin/src/pages/statistics/bigscreen/styles/enquire_pie_chart.less
  37. 34 0
      xinkeaboard-admin/src/pages/statistics/bigscreen/styles/map_container.less
  38. 33 0
      xinkeaboard-admin/src/pages/statistics/bigscreen/styles/overseas_enquire_location.less
  39. 28 2
      xinkeaboard-admin/src/pages/statistics/bigscreen/styles/overview.less
  40. 6 2
      xinkeaboard-admin/src/pages/statistics/bigscreen/styles/panel_block.less
  41. 2 1
      xinkeaboard-admin/src/pages/statistics/bigscreen/styles/portal_traffic.less
  42. 37 0
      xinkeaboard-admin/src/pages/statistics/bigscreen/styles/search_rank_cloud.less
  43. 53 0
      xinkeaboard-admin/src/pages/statistics/bigscreen/styles/table_chart.less
  44. 7374 0
      xinkeaboard-admin/src/pages/statistics/bigscreen/world.json
  45. 421 6
      xinkeaboard-admin/src/pages/statistics/models/bigscreen.js
  46. 二进制
      xinkeaboard-promotion-portal/src/assets/images/logo.png
  47. 3 1
      xinkeaboard-promotion-portal/src/components/CountrySelct.vue
  48. 25 10
      xinkeaboard-promotion-portal/src/components/TopContent.vue
  49. 4 3
      xinkeaboard-promotion-portal/src/store/index.ts
  50. 16 10
      xinkeaboard-promotion-portal/src/views/Record.vue
  51. 0 3
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/statistics/screen/ScreenAnalysisController.java

+ 2 - 1
xinkeaboard-admin/package.json

@@ -38,7 +38,8 @@
     "bizcharts-plugin-slider": "^2.1.1-beta.1",
     "classnames": "^2.2.6",
     "dva": "^2.4.0",
-    "echarts": "^6.0.0",
+    "echarts": "^5.3.3",
+    "echarts-gl": "^2.0.9",
     "enquire-js": "^0.2.1",
     "hash.js": "^1.1.5",
     "jquery": "^3.5.1",

+ 28 - 9
xinkeaboard-admin/pnpm-lock.yaml

@@ -36,8 +36,11 @@ importers:
         specifier: ^2.4.0
         version: 2.4.1(react-dom@16.14.0(react@16.14.0))(react@16.14.0)
       echarts:
-        specifier: ^6.0.0
-        version: 6.0.0
+        specifier: ^5.3.3
+        version: 5.6.0
+      echarts-gl:
+        specifier: ^2.0.9
+        version: 2.0.9(echarts@5.6.0)
       enquire-js:
         specifier: ^0.2.1
         version: 0.2.1
@@ -2736,6 +2739,9 @@ packages:
   classnames@2.5.1:
     resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==}
 
+  claygl@1.3.0:
+    resolution: {integrity: sha512-+gGtJjT6SSHD2l2yC3MCubW/sCV40tZuSs5opdtn79vFSGUgp/lH139RNEQ6Jy078/L0aV8odCw8RSrUcMfLaQ==}
+
   clean-css@4.2.4:
     resolution: {integrity: sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==}
     engines: {node: '>= 4.0'}
@@ -3745,8 +3751,13 @@ packages:
   ecc-jsbn@0.1.2:
     resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==}
 
-  echarts@6.0.0:
-    resolution: {integrity: sha512-Tte/grDQRiETQP4xz3iZWSvoHrkCQtwqd6hs+mifXcjrCuo2iKWbajFObuLJVBlDIJlOzgQPd1hsaKt/3+OMkQ==}
+  echarts-gl@2.0.9:
+    resolution: {integrity: sha512-oKeMdkkkpJGWOzjgZUsF41DOh6cMsyrGGXimbjK2l6Xeq/dBQu4ShG2w2Dzrs/1bD27b2pLTGSaUzouY191gzA==}
+    peerDependencies:
+      echarts: ^5.1.2
+
+  echarts@5.6.0:
+    resolution: {integrity: sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==}
 
   editions@2.3.1:
     resolution: {integrity: sha512-ptGvkwTvGdGfC0hfhKg0MT+TRLRKGtUiWGBInxOm5pz7ssADezahjCUaYuZ8Dr+C05FW0AECIIPt4WBxVINEhA==}
@@ -10667,8 +10678,8 @@ packages:
   yup@0.27.0:
     resolution: {integrity: sha512-v1yFnE4+u9za42gG/b/081E7uNW9mUj3qtkmelLbW5YPROZzSH/KUUyJu9Wt8vxFJcT9otL/eZopS0YK1L5yPQ==}
 
-  zrender@6.0.0:
-    resolution: {integrity: sha512-41dFXEEXuJpNecuUQq6JlbybmnHaqqpGlbH1yxnA5V9MMP4SbohSVZsJIwz+zdjQXSSlR1Vc34EgH1zxyTDvhg==}
+  zrender@5.6.1:
+    resolution: {integrity: sha512-OFXkDJKcrlx5su2XbzJvj/34Q3m6PvyCZkVPHGYpcCJ52ek4U/ymZyfuV1nKE23AyBJ51E/6Yr0mhZ7xGTO4ag==}
 
   zscroller@0.4.8:
     resolution: {integrity: sha512-G5NiNLKx2+QhhvZi2yV1jjVXY50otktxkseX2hG2N/eixohOUk0AY8ZpbAxNqS9oJS/NxItCsowupy2tsXxAMw==}
@@ -14737,6 +14748,8 @@ snapshots:
 
   classnames@2.5.1: {}
 
+  claygl@1.3.0: {}
+
   clean-css@4.2.4:
     dependencies:
       source-map: 0.6.1
@@ -15922,10 +15935,16 @@ snapshots:
       jsbn: 0.1.1
       safer-buffer: 2.1.2
 
-  echarts@6.0.0:
+  echarts-gl@2.0.9(echarts@5.6.0):
+    dependencies:
+      claygl: 1.3.0
+      echarts: 5.6.0
+      zrender: 5.6.1
+
+  echarts@5.6.0:
     dependencies:
       tslib: 2.3.0
-      zrender: 6.0.0
+      zrender: 5.6.1
 
   editions@2.3.1:
     dependencies:
@@ -25270,7 +25289,7 @@ snapshots:
       synchronous-promise: 2.0.17
       toposort: 2.0.2
 
-  zrender@6.0.0:
+  zrender@5.6.1:
     dependencies:
       tslib: 2.3.0
 

二进制
xinkeaboard-admin/src/assets/bigscreen/bar-head.png


+ 19 - 0
xinkeaboard-admin/src/assets/bigscreen/bar-head.svg

@@ -0,0 +1,19 @@
+<svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M7.54688 4.90234L0.893555 8.70996V4.09668L7.54688 0.289062V4.90234Z" fill="#29F1FA" stroke="#28F1FA" stroke-width="0.336257" stroke-linejoin="round"/>
+<path d="M14.5576 4.09766V8.70996L7.89258 4.90234L7.88281 0.289062L14.5576 4.09766Z" fill="#29F1FA" stroke="#28F1FA" stroke-width="0.336257" stroke-linejoin="round"/>
+<path d="M7.72559 8.0415L14.7256 4.0415V9.0415L7.72559 13.0415V8.0415Z" fill="#29F1FA"/>
+<path d="M7.72559 8.0415L14.7256 4.0415V9.0415L7.72559 13.0415V8.0415Z" fill="url(#paint0_linear_417_19693)" fill-opacity="0.2"/>
+<path d="M0.725586 4.0415L7.72559 8.0415V13.0415L0.725586 9.0415V4.0415Z" fill="#29F1FA"/>
+<path d="M0.725586 4.0415L7.72559 8.0415V13.0415L0.725586 9.0415V4.0415Z" fill="url(#paint1_linear_417_19693)" fill-opacity="0.2"/>
+<path d="M7.72557 0.0414262L14.7256 4.0415L7.7256 8.04147L0.725586 4.04145L7.72557 0.0414262Z" fill="#29F1FA"/>
+<defs>
+<linearGradient id="paint0_linear_417_19693" x1="11.2091" y1="4.57666" x2="11.2091" y2="13.6117" gradientUnits="userSpaceOnUse">
+<stop/>
+<stop offset="1" stop-opacity="0"/>
+</linearGradient>
+<linearGradient id="paint1_linear_417_19693" x1="4.2201" y1="4.57666" x2="4.2201" y2="13.6117" gradientUnits="userSpaceOnUse">
+<stop/>
+<stop offset="1" stop-opacity="0"/>
+</linearGradient>
+</defs>
+</svg>

二进制
xinkeaboard-admin/src/assets/bigscreen/box-1.png


二进制
xinkeaboard-admin/src/assets/bigscreen/box-2.png


二进制
xinkeaboard-admin/src/assets/bigscreen/box-3.png


二进制
xinkeaboard-admin/src/assets/bigscreen/box-4.png


+ 51 - 40
xinkeaboard-admin/src/components/WordCloud/index.js

@@ -1,49 +1,60 @@
 import React, { Component } from "react";
 import ReactWordCloud from "react-wordcloud";
 
-class WordCloud extends Component {
-  constructor(props) {
-    super(props);
-    this.state = {
-      words: props.words ?? [
-        { text: "Apparel", value: 1000 },
-        { text: "Fashion", value: 800 },
-        { text: "Style", value: 700 },
-        { text: "Trend", value: 600 },
-        { text: "Wear", value: 500 },
-        { text: "Outfit", value: 400 },
-        { text: "Clothing", value: 300 },
-        { text: "Textile", value: 200 },
-      ],
-      options: props.options ?? {
-        // deterministic: true,
-        spiral: "archimedean",
-        fontFamily: "sans-serif",
-        fontSizes: [30, 80], // 字体范围
-        // deterministic: true, // 尝试保持一致
-        // enableOptimizations: true, // 优化性能,避免重新布局
-        rotations: 0, // 不旋转
-        // rotationAngles: [0, 90], // 旋转角度范围
-        scale: "sqrt", // 字体缩放方式:linear、sqrt、log
-        // spiral: "rectangular", // 词云排列方式:archimedean 或 rectangular
-        padding: 20, // 单词之间的间距
-        colors: ["#fff"],
-        // colors: [
-        //   "#f87171",
-        //   "#fb923c",
-        //   "#facc15",
-        //   "#4ade80",
-        //   "#38bdf8",
-        //   "#a78bfa",
-        //   "#f472b6",
-        // ], // 多彩渐变
-        enableTooltip: false, // 鼠标悬停提示
-      },
-    };
+// 工具函数:生成渐变颜色
+function generateGradientColors(startColor, endColor, steps) {
+  function hexToRgb(hex) {
+    const r = parseInt(hex.slice(1, 3), 16);
+    const g = parseInt(hex.slice(3, 5), 16);
+    const b = parseInt(hex.slice(5, 7), 16);
+    return [r, g, b];
+  }
+
+  function rgbToHex([r, g, b]) {
+    return (
+      "#" +
+      r.toString(16).padStart(2, "0") +
+      g.toString(16).padStart(2, "0") +
+      b.toString(16).padStart(2, "0")
+    );
+  }
+
+  const [r1, g1, b1] = hexToRgb(startColor);
+  const [r2, g2, b2] = hexToRgb(endColor);
+
+  const colors = [];
+  for (let i = 0; i < steps; i++) {
+    const t = i / (steps - 1);
+    const r = Math.round(r1 + (r2 - r1) * t);
+    const g = Math.round(g1 + (g2 - g1) * t);
+    const b = Math.round(b1 + (b2 - b1) * t);
+    colors.push(rgbToHex([r, g, b]));
   }
+  return colors;
+}
 
+class WordCloud extends Component {
   render() {
-    const { words, options } = this.state;
+    const { data } = this.props;
+    // 根据索引生成 words,索引越小,value 越大
+    const words = data.map((item, idx) => ({
+      text: item,
+      value: data.length - idx // 越小索引值越大
+    }));
+
+    const colors = generateGradientColors("#7ECEF4", "#4032A6", words.length);
+
+    const options = {
+      spiral: "archimedean",
+      fontFamily: "sans-serif",
+      fontSizes: [20, 80], // 控制字体范围
+      fontWeight: 'bold',
+      rotations: 0,
+      scale: "sqrt",
+      padding: 10,
+      colors,
+      enableTooltip: false,
+    };
 
     return (
       <div style={{ width: "100%", height: "100%" }}>

+ 115 - 0
xinkeaboard-admin/src/pages/statistics/bigscreen/components/BarChart.js

@@ -0,0 +1,115 @@
+import React from "react";
+import styles from "../styles/bar_chart.less";
+import * as echarts from "echarts";
+import topIcon from "../../../../assets/bigscreen/bar-head.svg";
+
+class BarChart extends React.Component {
+  constructor(props) {
+    super(props);
+    this.chartRef = React.createRef();
+    this.chartInstance = null;
+  }
+
+  componentDidMount() {
+    this.initChart();
+    window.addEventListener("resize", this.chartResize);
+  }
+
+  componentDidUpdate(prevProps) {
+    this.initChart();
+  }
+
+  componentWillUnmount() {
+    if (this.chartInstance) {
+      window.removeEventListener("resize", this.chartResize);
+      this.chartInstance.dispose();
+    }
+  }
+
+  chartResize() {
+    if (this.chartInstance) {
+      this.chartInstance.resize();
+    }
+  }
+
+  initChart() {
+    if (!this.chartInstance) {
+      this.chartInstance = echarts.init(this.chartRef.current);
+    }
+    const option = {
+      tooltip: {
+        trigger: "item", // 鼠标悬浮触发方式:'item' 或 'axis'
+      },
+      xAxis: {
+        type: "category",
+        data: this.props.xAxisdata,
+        axisLabel: {
+          show: true,
+          fontWeight: 400,
+          fontSize: "16px",
+          color: "#FFFFFF",
+        },
+      },
+      yAxis: {
+        type: "value",
+        axisLabel: {
+          show: true,
+          fontWeight: 400,
+          fontSize: "16px",
+          color: "#FFFFFF",
+        },
+        splitLine: {
+          // y 轴竖直方向虚线
+          show: true,
+          lineStyle: {
+            type: "dashed",
+            color: "#ccc",
+          },
+        },
+      },
+      grid: {
+        left: "4%",
+        right: "4%",
+        bottom: "8%",
+        top: "10%",
+        containLabel: true,
+      },
+      series: [
+        {
+          data: this.props.seriesData,
+          type: "bar",
+          barWidth: 28,
+          itemStyle: {
+            color: new echarts.graphic.LinearGradient(
+              0,
+              0,
+              0,
+              1, // 0,0到0,1表示从上到下
+              [
+                { offset: 0, color: "#125CB2" }, // 顶部颜色
+                { offset: 1, color: "rgba(18,92,178,0)" }, // 底部透明
+              ]
+            ),
+          },
+        },
+        {
+          type: "pictorialBar",
+          symbol: `image://${topIcon}`, // 图片 URL
+          symbolSize: [30, 30], // 图片大小
+          symbolPosition: "end", // 关键:自动到柱子最高点
+
+          symbolOffset: [0, -15], // 向上偏移,让图片在柱子顶部
+          data: this.props.seriesData.map(item => item == 0 ? null : item),
+          z: 4,
+        },
+      ],
+    };
+    this.chartInstance.setOption(option);
+  }
+
+  render() {
+    return <div style={{ width: "100%", height: "100%" }} ref={this.chartRef} />;
+  }
+}
+
+export default BarChart;

+ 30 - 0
xinkeaboard-admin/src/pages/statistics/bigscreen/components/DistributorEnquireLocation.js

@@ -0,0 +1,30 @@
+import React from "react";
+import { Spin } from "antd";
+import { connect } from "dva";
+import PanelNav from "./PanelNav";
+import EnquirePieChart from "./EnquirePieChart";
+import styles from "../styles/common.less";
+
+const DistributorEnquire = ({ data, loading, dispatch }) => {
+  const parsedata = (pieData) => {
+    return pieData.map((item) => ({
+      value: item.storeNum,
+      name: item.provinceName,
+    }));
+  };
+  return (
+    <div className={styles.common}>
+      <div className={styles.common_header}>
+        <PanelNav title="供应链企业地区分布" />
+      </div>
+      <div className={styles.common_content}>
+        <EnquirePieChart data={parsedata(data)} />
+      </div>
+    </div>
+  );
+};
+
+export default connect(({ bigscreen }) => ({
+  data: bigscreen.distributorEnquireLocationData.data,
+  loading: bigscreen.distributorEnquireLocationData.loading,
+}))(DistributorEnquire);

+ 86 - 0
xinkeaboard-admin/src/pages/statistics/bigscreen/components/Enquire.js

@@ -0,0 +1,86 @@
+import React from "react";
+import { Spin } from "antd";
+import { connect } from "dva";
+import RadioButtonGroup from "./RadioButtonGroup";
+import TrafficLineChart from "./TrafficLineChart";
+import PanelNav from "./PanelNav";
+import styles from "../styles/common.less";
+
+const relation = {
+  enquiryTrendList: {
+    name: "海外门户询盘数",
+    color: "#7ECEF4",
+    index: "viewNum",
+  },
+  enquiryTrendCNList: {
+    name: "分销门户询盘数",
+    color: "#036EB8",
+    index: "viewNum",
+  },
+};
+
+const EnquireBasic = ({ data, options, current, loading, dispatch }) => {
+  const onChange = (val) => {
+    dispatch({
+      type: "bigscreen/setEnquireData",
+      payload: { current: val },
+    });
+    dispatch({
+      type: "bigscreen/load_enquire_data",
+    });
+  };
+
+  const parseEnquireData = (lineData) => {
+    const legendData = [];
+    let xAxisData = [];
+    const seriesData = [];
+    Object.keys(relation).forEach((key) => {
+      if (lineData[key]) {
+        legendData.push(relation[key].name);
+        xAxisData = lineData[key].map((item) => item.statsTime);
+        seriesData.push({
+          name: relation[key].name,
+          type: "line",
+          smooth: false,
+          showSymbol: true,
+          symbolSize: 10,
+          symbol: "circle",
+          itemStyle: { color: relation[key].color },
+          lineStyle: { width: 2 },
+          data: lineData[key].map((item) => item[relation[key].index]),
+        });
+      }
+    });
+
+    return {
+      legendData,
+      xAxisData,
+      seriesData,
+    };
+  };
+
+  return (
+    <div className={styles.common}>
+      <div className={styles.common_header}>
+        <PanelNav title="询盘概况" />
+        <div className={styles.common_header_conditions}>
+          <RadioButtonGroup
+            options={options}
+            label={current}
+            onChange={onChange}
+          />
+        </div>
+      </div>
+      <div className={styles.common_content}>
+        <TrafficLineChart {...parseEnquireData(data)} />
+      </div>
+    </div>
+  );
+};
+
+export default connect(({ bigscreen }) => ({
+  data: bigscreen.enquireData.data,
+  options: bigscreen.enquireData.options,
+  current: bigscreen.enquireData.current,
+  loading: bigscreen.enquireData.loading,
+}))(EnquireBasic);

+ 111 - 0
xinkeaboard-admin/src/pages/statistics/bigscreen/components/EnquirePieChart.js

@@ -0,0 +1,111 @@
+import React from "react";
+import * as echarts from "echarts";
+import styles from "../styles/enquire_pie_chart.less";
+
+class Pie3DChart extends React.Component {
+  constructor(props) {
+    super(props);
+    this.chartRef = React.createRef();
+    this.chartInstance = null;
+    this.startColor = [126, 206, 244]; // RGB 起点
+    this.endColor = [64, 50, 166]; // RGB 终点
+  }
+
+  componentDidMount() {
+    this.initChart();
+    window.addEventListener("resize", this.chartResize);
+  }
+
+  componentDidUpdate(prevProps) {
+    this.initChart();
+  }
+
+  componentWillUnmount() {
+    if (this.chartInstance) {
+      window.removeEventListener("resize", this.chartResize);
+      this.chartInstance.dispose();
+    }
+  }
+
+  colorScale(index, total) {
+    const { startColor, endColor } = this;
+    return `rgb(${Math.round(
+      startColor[0] + ((endColor[0] - startColor[0]) * index) / (total - 1)
+    )}, 
+             ${Math.round(
+               startColor[1] +
+                 ((endColor[1] - startColor[1]) * index) / (total - 1)
+             )}, 
+             ${Math.round(
+               startColor[2] +
+                 ((endColor[2] - startColor[2]) * index) / (total - 1)
+             )})`;
+  }
+
+  initChart() {
+    if (!this.chartInstance) {
+      this.chartInstance = echarts.init(this.chartRef.current);
+    }
+
+    const option = {
+      color: this.props.data.map((item, index) =>
+        this.colorScale(index, this.props.data.length)
+      ), // 自动生成渐变颜色
+      tooltip: {
+        trigger: "item",
+      },
+      legend: {
+        itemGap: 35,
+        bottom: 70,
+        textStyle: { color: "#fff", fontSize: "16px" },
+      },
+      grid: {
+        left: "4%",
+        right: "4%",
+        bottom: "8%",
+        top: "10%",
+        containLabel: true,
+      },
+      series: [
+        {
+          //   name: 'Access From',
+          type: "pie",
+          radius: ["40%", "70%"],
+              center: ["50%", "35%"], // 默认是 ["50%", "50%"],这里把 y 改成 35% 就能往上移
+
+          avoidLabelOverlap: false,
+          itemStyle: {
+            borderRadius: 10,
+            // borderColor: "#fff",
+            borderWidth: 2,
+          },
+          label: {
+            show: false,
+            position: "center",
+          },
+          emphasis: {
+            label: {
+              show: true,
+              fontSize: 16,
+              fontWeight: "bold",
+            },
+          },
+          labelLine: {
+            show: false,
+          },
+          data: this.props.data,
+        },
+      ],
+    };
+
+    this.chartInstance.setOption(option);
+  }
+
+  render() {
+    return (
+      <div ref={this.chartRef} style={{ width: "100%", height: "100%" }} />
+    );
+  }
+}
+
+export default Pie3DChart;

+ 18 - 45
xinkeaboard-admin/src/pages/statistics/bigscreen/components/HeadContent.js

@@ -3,50 +3,23 @@ import { connect } from "dva";
 import DateTimeDisplay from "./DateTimeDisplay";
 import styles from "../styles/header_content.less";
 
-class HeaderContent extends React.Component {
-  componentDidMount() {
-    this.updateTime();
-    // this.timeInterval = setInterval(this.updateTime, 1000);
-    // this.props.dispatch({ type: 'header/fetchWeather' });
-  }
-
-  componentWillUnmount() {
-    clearInterval(this.timeInterval);
-  }
-
-  updateTime = () => {
-    const now = new Date();
-    const pad = (n) => n.toString().padStart(2, "0");
-    const currentTime = `${now.getFullYear()}-${pad(now.getMonth() + 1)}-${pad(
-      now.getDate()
-    )} ${pad(now.getHours())}:${pad(now.getMinutes())}:${pad(
-      now.getSeconds()
-    )}`;
-    this.setState({ currentTime });
-  };
-
-  state = {
-    currentTime: "",
-  };
-
-  render() {
-    const { currentTime } = this.state;
-    const { weatherData } = this.props;
-    return (
-      <div className={styles.headerContent}>
-        <div className={styles.headerContentTitle}>
-          南京江北新区跨境出海服务平台
-        </div>
-        <div className={styles.updateTime}>
-          <span>更新时间: </span>
-          <span>{currentTime}</span>
-        </div>
-        <div className={styles.headerContentTime}>
-          <DateTimeDisplay />
-        </div>
+const HeaderContent = ({ updateTime }) => {
+  return (
+    <div className={styles.headerContent}>
+      <div className={styles.headerContentTitle}>
+        南京江北新区跨境出海服务平台
+      </div>
+      <div className={styles.updateTime}>
+        <span>更新时间: </span>
+        <span>{updateTime}</span>
+      </div>
+      <div className={styles.headerContentTime}>
+        <DateTimeDisplay />
       </div>
-    );
-  }
-}
+    </div>
+  );
+};
 
-export default connect(() => ({}))(HeaderContent);
+export default connect(({ bigscreen }) => ({
+  updateTime: bigscreen.updateTime,
+}))(HeaderContent);

+ 24 - 0
xinkeaboard-admin/src/pages/statistics/bigscreen/components/MemberLocation.js

@@ -0,0 +1,24 @@
+import React from "react";
+import { connect } from "dva";
+import WorldMap from "./WorldMap"
+import styles from "../styles/map_container.less";
+
+const MapContainer = ({ data, loading, dispatch }) => {
+  return (
+    <div className={styles.map_container}>
+      <img
+        className={styles.map_container_img}
+        src={require("../../../../assets/bigscreen/overview-bg.png")}
+      />
+      <span className={styles.map_container_title}>会员地域分布</span>
+      {/* <div className={styles.map_container_content}>
+        <WorldMap></WorldMap>
+      </div> */}
+    </div>
+  );
+};
+
+export default connect(({ bigscreen }) => ({
+  //   data: bigscreen.memberAddTrendData.data,
+  //   loading: bigscreen.memberAddTrendData.loading,
+}))(MapContainer);

+ 32 - 0
xinkeaboard-admin/src/pages/statistics/bigscreen/components/OverseasEnquireLocation.js

@@ -0,0 +1,32 @@
+import React from "react";
+import { Spin } from "antd";
+import { connect } from "dva";
+import PanelNav from "./PanelNav";
+import EnquirePieChart from "./EnquirePieChart";
+// import Pie3DChart from './Pie3DChart';
+import styles from "../styles/common.less";
+
+const OverSeasEnquire = ({ data, loading, dispatch }) => {
+  const parsedata = (pieData) => {
+    return pieData.map((item) => ({
+      value: item.enquiryNum,
+      name: item.country,
+    }));
+  };
+
+  return (
+    <div className={styles.common}>
+      <div className={styles.common_header}>
+        <PanelNav title="海外询盘地区分布" />
+      </div>
+      <div className={styles.common_content}>
+        <EnquirePieChart data={parsedata(data)} />
+      </div>
+    </div>
+  );
+};
+
+export default connect(({ bigscreen }) => ({
+  data: bigscreen.overseasEnquireLocationData.data,
+  loading: bigscreen.overseasEnquireLocationData.loading,
+}))(OverSeasEnquire);

+ 29 - 8
xinkeaboard-admin/src/pages/statistics/bigscreen/components/Overview.js

@@ -5,9 +5,8 @@ import CountUp from "./CountUp";
 import styles from "../styles/overview.less";
 
 const OverView = ({ overviewData }) => {
-  console.log(overviewData, 'overviewData====');
   return (
-    <Spin spinning={overviewData.loading}>
+    // <Spin spinning={overviewData.loading}>
       <div className={styles.overview}>
         <img
           className={styles.overview_bg}
@@ -20,7 +19,10 @@ const OverView = ({ overviewData }) => {
               className={styles.item_img}
               src={require("../../../../assets/bigscreen/member.png")}
             />
-            <CountUp className={styles.item_value} end={overviewData.data.memberNum} />
+            <CountUp
+              className={styles.item_value}
+              end={overviewData.data.memberNum}
+            />
             <div className={styles.item_label}>会员</div>
           </div>
           <div className={styles.overview_content_item}>
@@ -29,7 +31,10 @@ const OverView = ({ overviewData }) => {
               src={require("../../../../assets/bigscreen/dis.png")}
             />
 
-            <CountUp className={styles.item_value} end={overviewData.data.distributorNum} />
+            <CountUp
+              className={styles.item_value}
+              end={overviewData.data.distributorNum}
+            />
             <div className={styles.item_label}>分销商</div>
           </div>
           <div className={styles.overview_content_item}>
@@ -37,7 +42,10 @@ const OverView = ({ overviewData }) => {
               className={styles.item_img}
               src={require("../../../../assets/bigscreen/store.png")}
             />
-            <CountUp className={styles.item_value} end={overviewData.data.storeNum} />
+            <CountUp
+              className={styles.item_value}
+              end={overviewData.data.storeNum}
+            />
             <div className={styles.item_label}>店铺</div>
           </div>
           <div className={styles.overview_content_item}>
@@ -45,7 +53,10 @@ const OverView = ({ overviewData }) => {
               className={styles.item_img}
               src={require("../../../../assets/bigscreen/dis.png")}
             />
-            <CountUp className={styles.item_value} end={overviewData.data.serviceProviderNum} />
+            <CountUp
+              className={styles.item_value}
+              end={overviewData.data.serviceProviderNum}
+            />
             <div className={styles.item_label}>服务商</div>
           </div>
           <div className={styles.overview_content_item}>
@@ -53,12 +64,22 @@ const OverView = ({ overviewData }) => {
               className={styles.item_img}
               src={require("../../../../assets/bigscreen/member.png")}
             />
-            <CountUp className={styles.item_value} end={overviewData.data.productNum} />
+            <CountUp
+              className={styles.item_value}
+              end={overviewData.data.productNum}
+            />
             <div className={styles.item_label}>商品总数</div>
           </div>
         </div>
+        <div className={styles.overview_member}>
+          <img
+            className={styles.overview_member_img}
+            src={require("../../../../assets/bigscreen/overview-bg.png")}
+          />
+          <span className={styles.overview_member_title}>会员地域分布</span>
+        </div>
       </div>
-    </Spin>
+    // </Spin>
   );
 };
 

+ 17 - 2
xinkeaboard-admin/src/pages/statistics/bigscreen/components/PanelBlock.js

@@ -4,12 +4,27 @@ import styles from "../styles/panel_block.less";
 
 class PanelBlock extends React.Component {
   render() {
-    const { title, flexDirection, height, children } = this.props;
+    const {
+      title,
+      flexDirection,
+      height,
+      width,
+      children,
+      justifyContent,
+      marginBottom,
+      marginRight,
+      styleObj
+    } = this.props;
 
     const style = {
+      width: width || undefined,
       height: height || undefined,
       flex: height ? "unset" : 1,
-      flexDirection: flexDirection ?? 'column'
+      flexDirection: flexDirection ?? "column",
+      justifyContent: justifyContent ?? "center",
+      marginBottom: marginBottom ?? "0",
+      marginRight: marginRight ?? "0",
+      ...styleObj
     };
 
     return (

+ 141 - 0
xinkeaboard-admin/src/pages/statistics/bigscreen/components/Pie3DChart.js

@@ -0,0 +1,141 @@
+import React from "react";
+import * as echarts from "echarts";
+import "echarts-gl";
+
+class Pie3DChart extends React.Component {
+  constructor(props) {
+    super(props);
+    this.chartRef = React.createRef();
+    this.chartInstance = null;
+  }
+
+  componentDidMount() {
+    this.initChart();
+    window.addEventListener("resize", this.resizeChart);
+  }
+
+  componentWillUnmount() {
+    if (this.chartInstance) {
+      this.chartInstance.dispose();
+    }
+    window.removeEventListener("resize", this.resizeChart);
+  }
+
+  resizeChart = () => {
+    if (this.chartInstance) {
+      this.chartInstance.resize();
+    }
+  };
+
+  // 生成 Pie3D 的数据
+  getPie3D(seriesData, internalDiameterRatio) {
+    const series = [];
+    let sumValue = 0;
+    let startValue = 0;
+    let endValue = 0;
+    const k = (1 - internalDiameterRatio) / (1 + internalDiameterRatio);
+
+    seriesData.forEach((d) => {
+      sumValue += d.value;
+    });
+
+    for (let i = 0; i < seriesData.length; i++) {
+      startValue = endValue;
+      endValue = startValue + seriesData[i].value;
+
+      series.push({
+        name: seriesData[i].name,
+        type: "surface",
+        parametric: true,
+        wireframe: { show: false },
+        shading: "lambert",
+        itemStyle: {
+          color: seriesData[i].itemStyle.color,
+        },
+        parametricEquation: this.getParametricEquation(
+          startValue / sumValue,
+          endValue / sumValue,
+          false,
+          false,
+          k,
+          seriesData[i].value
+        ),
+      });
+    }
+    return series;
+  }
+
+  // 生成参数方程
+  getParametricEquation(startRatio, endRatio, isSelected, isHovered, k, h) {
+    const midRatio = (startRatio + endRatio) / 2;
+    const startRadian = startRatio * Math.PI * 2;
+    const endRadian = endRatio * Math.PI * 2;
+    const midRadian = midRatio * Math.PI * 2;
+
+    const offsetX = isSelected ? Math.cos(midRadian) * 0.1 : 0;
+    const offsetY = isSelected ? Math.sin(midRadian) * 0.1 : 0;
+
+    return {
+      u: { min: -Math.PI, max: Math.PI * 3, step: Math.PI / 32 },
+      v: { min: 0, max: Math.PI, step: Math.PI / 20 },
+      x(u, v) {
+        if (u < startRadian) return offsetX;
+        if (u > endRadian) return offsetX;
+        return Math.cos(u) * (1 + Math.cos(v) * k) + offsetX;
+      },
+      y(u, v) {
+        if (u < startRadian) return offsetY;
+        if (u > endRadian) return offsetY;
+        return Math.sin(u) * (1 + Math.cos(v) * k) + offsetY;
+      },
+      z(u, v) {
+        if (u < startRadian) return 0;
+        if (u > endRadian) return 0;
+        return Math.sin(v) > 0 ? h * 0.1 : -h * 0.1;
+      },
+    };
+  }
+
+  initChart() {
+    if (!this.chartRef.current) return;
+    this.chartInstance = echarts.init(this.chartRef.current);
+
+    const seriesData = [
+      { name: "A", value: 40, itemStyle: { color: "#5470C6" } },
+      { name: "B", value: 25, itemStyle: { color: "#91CC75" } },
+      { name: "C", value: 20, itemStyle: { color: "#EE6666" } },
+      { name: "D", value: 15, itemStyle: { color: "#FAC858" } },
+    ];
+
+    const option = {
+      tooltip: {
+        formatter: (params) => {
+          return `${params.seriesName}: ${params.series.value}`;
+        },
+      },
+      xAxis3D: { min: -1, max: 1 },
+      yAxis3D: { min: -1, max: 1 },
+      zAxis3D: { min: -1, max: 1 },
+      grid3D: {
+        show: false,
+        boxHeight: 20,
+        viewControl: { distance: 200 },
+        light: {
+          main: { intensity: 1.2, shadow: true },
+          ambient: { intensity: 0.3 },
+        },
+      },
+      series: this.getPie3D(seriesData, 0.6),
+    };
+
+    this.chartInstance.setOption(option);
+  }
+
+  render() {
+    return (
+      <div ref={this.chartRef} style={{ width: "100%", height: "500px" }} />
+    );
+  }
+}
+
+export default Pie3DChart;

+ 5 - 18
xinkeaboard-admin/src/pages/statistics/bigscreen/components/PortalTraffic.js

@@ -4,8 +4,7 @@ import { connect } from "dva";
 import RadioButtonGroup from "./RadioButtonGroup";
 import TrafficLineChart from "./TrafficLineChart";
 import PanelNav from "./PanelNav";
-import styles from "../styles/portal_traffic.less";
-import { color } from "echarts";
+import styles from "../styles/common.less";
 
 const relation = {
   viewNumList: {
@@ -63,15 +62,6 @@ const PortalTraffic = ({ data, options, current, loading, dispatch }) => {
       }
     });
 
-    console.log(
-      "seriesData",
-      seriesData,
-      "legendData",
-      legendData,
-      "xAxisData",
-      xAxisData
-    );
-
     return {
       legendData,
       xAxisData,
@@ -80,10 +70,10 @@ const PortalTraffic = ({ data, options, current, loading, dispatch }) => {
   };
 
   return (
-    <div className={styles.traffic}>
-      <div className={styles.traffic_header}>
+    <div className={styles.common}>
+      <div className={styles.common_header}>
         <PanelNav title="门户流量" />
-        <div className={styles.traffic_header_conditions}>
+        <div className={styles.common_header_conditions}>
           <RadioButtonGroup
             options={options}
             label={current}
@@ -91,11 +81,8 @@ const PortalTraffic = ({ data, options, current, loading, dispatch }) => {
           />
         </div>
       </div>
-      <div className={styles.traffic_content}>
+      <div className={styles.common_content}>
         <TrafficLineChart {...parseTrafficData(data)} />
-        {/* <Spin spinning={loading}>
-          
-        </Spin> */}
       </div>
     </div>
   );

+ 58 - 0
xinkeaboard-admin/src/pages/statistics/bigscreen/components/SearchRankCloud.js

@@ -0,0 +1,58 @@
+import React from "react";
+import { Spin } from "antd";
+import { connect } from "dva";
+import RadioButtonGroup from "./RadioButtonGroup";
+import WordCloud from "@/components/WordCloud";
+import styles from "../styles/common.less";
+import PanelNav from "./PanelNav";
+
+const SearchRankCloud = ({
+  data,
+  options,
+  current,
+  loading,
+  currentSite,
+  dispatch,
+}) => {
+  const onChange = (val) => {
+    dispatch({
+      type: "bigscreen/setSearchRankData",
+      payload: { current: val },
+    });
+    dispatch({
+      type: "bigscreen/load_search_rank",
+    });
+  };
+
+  const title = currentSite === "1" ? "海外" : "分销商";
+
+  const parseData = (keywords) => {
+    return keywords.map(item => decodeURIComponent(item))
+  }
+
+  return (
+    <div className={styles.common}>
+      <div className={styles.common_header}>
+        <PanelNav title={title + "门户搜索关键词排行"} />
+        <div className={styles.common_header_conditions}>
+          <RadioButtonGroup
+            options={options}
+            label={current}
+            onChange={onChange}
+          />
+        </div>
+      </div>
+      <div className={styles.common_content}>
+        <WordCloud data={parseData(data)}></WordCloud>
+      </div>
+    </div>
+  );
+};
+
+export default connect(({ bigscreen, global }) => ({
+  data: bigscreen.searchRankData.data,
+  options: bigscreen.searchRankData.options,
+  current: bigscreen.searchRankData.current,
+  loading: bigscreen.searchRankData.loading,
+  currentSite: global.currentSite,
+}))(SearchRankCloud);

+ 87 - 0
xinkeaboard-admin/src/pages/statistics/bigscreen/components/StoreTraffic.js

@@ -0,0 +1,87 @@
+import React from "react";
+import { Spin } from "antd";
+import { connect } from "dva";
+import RadioButtonGroup from "./RadioButtonGroup";
+import TableChart from "./TableChart";
+import styles from "../styles/common.less";
+import PanelNav from "./PanelNav";
+
+const StoreTraffic = ({
+  data,
+  options,
+  current,
+  loading,
+  currentSite,
+  dispatch,
+}) => {
+  const onChange = (val) => {
+    dispatch({
+      type: "bigscreen/setStoreTrafficData",
+      payload: { current: val },
+    });
+    dispatch({
+      type: "bigscreen/load_store_traffic",
+    });
+  };
+
+  const title = currentSite === "1" ? "海外" : "分销商";
+  //   const parseData = (keywords) => {
+  //     return keywords.map(item => decodeURIComponent(item))
+  //   }
+  const columns = [
+    {
+      title: "排名",
+      dataIndex: "categoryId",
+      align: "center",
+      //   width: 55,
+      render: (text, record, index) => {
+        return index + 1;
+      },
+    },
+    {
+      title: "店铺名称",
+      dataIndex: "storeName",
+      align: "center",
+      width: 426,
+      ellipsis: true,
+    },
+    {
+      title: "浏览量",
+      dataIndex: "viewNum",
+      align: "center",
+      //   width: 55,
+    },
+    {
+      title: "访客数",
+      dataIndex: "visitorNum",
+      align: "center",
+      //   width: 55,
+    },
+  ];
+
+  return (
+    <div className={styles.common}>
+      <div className={styles.common_header}>
+        <PanelNav title={title + "店铺流量排行"} />
+        <div className={styles.common_header_conditions}>
+          <RadioButtonGroup
+            options={options}
+            label={current}
+            onChange={onChange}
+          />
+        </div>
+      </div>
+      <div className={styles.common_content}>
+        <TableChart data={data} columns={columns} />
+      </div>
+    </div>
+  );
+};
+
+export default connect(({ bigscreen, global }) => ({
+  data: bigscreen.storeTrafficData.data,
+  options: bigscreen.storeTrafficData.options,
+  current: bigscreen.storeTrafficData.current,
+  loading: bigscreen.storeTrafficData.loading,
+  currentSite: global.currentSite,
+}))(StoreTraffic);

+ 33 - 0
xinkeaboard-admin/src/pages/statistics/bigscreen/components/TableChart.js

@@ -0,0 +1,33 @@
+import React from "react";
+import StandardTable from "@/components/StandardTable";
+
+import styles from "../styles/table_chart.less";
+
+class TableChart extends React.Component {
+  constructor(props) {
+    super(props);
+    this.state = {};
+  }
+
+  componentDidMount() {}
+
+  componentDidUpdate(prevProps) {}
+
+  componentWillUnmount() {}
+
+  render() {
+    return (
+      <div className={styles.table_chart}>
+        <StandardTable
+          showScrollbar={false}
+          data={this.props.data}
+          sldpagination={false}
+          columns={this.props.columns}
+          style={{ flex: 1 }}
+        />
+      </div>
+    );
+  }
+}
+
+export default TableChart;

+ 28 - 13
xinkeaboard-admin/src/pages/statistics/bigscreen/components/TrafficLineChart.js

@@ -11,37 +11,51 @@ class LineChart extends React.Component {
 
   componentDidMount() {
     this.initChart();
+    window.addEventListener("resize", this.chartResize);
+  }
+
+  componentDidUpdate(prevProps) {
+    this.initChart();
   }
 
   componentWillUnmount() {
     if (this.chartInstance) {
+      window.removeEventListener("resize", this.chartResize);
       this.chartInstance.dispose();
     }
   }
 
+  chartResize() {
+    if (this.chartInstance) {
+      this.chartInstance.resize();
+    }
+  }
+
   initChart() {
-    this.chartInstance = echarts.init(this.chartRef.current);
-    console.log('this.props', this.props);
+    if (!this.chartInstance) {
+      this.chartInstance = echarts.init(this.chartRef.current);
+    }
     const option = {
       backgroundColor: "transparent",
       tooltip: { trigger: "axis" },
       legend: {
         top: 10,
         itemGap: 30,
-        textStyle: { color: "#fff" },
-        data: this.props.legendData
+        textStyle: { color: "#fff", fontSize: "20px" },
+        data: this.props.legendData,
       },
       grid: {
-        left: "5%",
-        right: "5%",
-        bottom: "10%",
+        left: "4%",
+        right: "4%",
+        bottom: "8%",
+        top: "10%",
         containLabel: true,
       },
       xAxis: {
         type: "category",
         boundaryGap: true,
         axisLine: { lineStyle: { color: "#666" } },
-        axisLabel: { color: "#fff" },
+        axisLabel: { color: "#fff", fontSize: "16px" },
         splitLine: {
           // x 轴竖直方向虚线
           show: true,
@@ -50,12 +64,12 @@ class LineChart extends React.Component {
             color: "#ccc",
           },
         },
-        data: this.props.xAxisData
+        data: this.props.xAxisData,
       },
       yAxis: {
         type: "value",
         axisLine: { show: false },
-        axisLabel: { color: "#fff" },
+        axisLabel: { color: "#fff", fontSize: "16px" },
         splitLine: {
           // y 轴竖直方向虚线
           show: true,
@@ -65,14 +79,15 @@ class LineChart extends React.Component {
           },
         },
       },
-      series: this.props.seriesData
+      series: this.props.seriesData,
     };
-    console.log('option', option);
     this.chartInstance.setOption(option);
   }
 
   render() {
-    return <div className={styles.traffic_line} ref={this.chartRef} />;
+    return (
+      <div style={{ width: "100%", height: "100%" }} ref={this.chartRef} />
+    );
   }
 }
 

+ 127 - 0
xinkeaboard-admin/src/pages/statistics/bigscreen/components/WorldMap.js

@@ -0,0 +1,127 @@
+import React from "react";
+import * as echarts from "echarts";
+import "echarts-gl";
+
+// 注意:需要引入世界地图的 geoJSON
+import worldJson from "../world.json";
+
+class WorldMap extends React.Component {
+  constructor(props) {
+    super(props);
+    this.chartRef = React.createRef();
+    this.chartInstance = null;
+  }
+
+  componentDidMount() {
+    echarts.registerMap("world", worldJson); // 注册地图
+    this.initChart();
+    window.addEventListener("resize", this.resizeChart);
+  }
+
+  componentWillUnmount() {
+    if (this.chartInstance) {
+      this.chartInstance.dispose();
+    }
+    window.removeEventListener("resize", this.resizeChart);
+  }
+
+  resizeChart = () => {
+    if (this.chartInstance) {
+      this.chartInstance.resize();
+    }
+  };
+
+  initChart() {
+    if (!this.chartRef.current) return;
+    this.chartInstance = echarts.init(this.chartRef.current);
+
+    const option = {
+      tooltip: {
+        formatter: (params) => {
+          return `${params.name}`;
+        },
+      },
+      geo3D: {
+        map: "world",
+        roam: true, // 允许缩放平移
+        // regionHeight: 1.1, // 区域厚度,调大更立体
+
+        boxWidth: 200, // 宽度加大
+        boxHeight: 20,
+        regionHeight: 2,
+        viewControl: {
+          distance: 120, // 相机拉远一点
+          alpha: 60,
+          beta: 0,
+        },
+        shading: "lambert",
+        label: {
+          show: false,
+          textStyle: {
+            color: "#fff",
+            fontSize: 12,
+            backgroundColor: "rgba(0,0,0,0)",
+          },
+        },
+        itemStyle: {
+          color: "#1d5e98",
+          opacity: 0.8,
+          borderWidth: 0.8,
+          borderColor: "#111",
+        },
+        emphasis: {
+          itemStyle: {
+            color: "#2a333d",
+          },
+          label: {
+            show: false,
+          },
+        },
+
+        light: {
+          main: {
+            intensity: 1.2,
+            shadow: true,
+            alpha: 30,
+          },
+          ambient: {
+            intensity: 0.4,
+          },
+        },
+        // viewControl: {
+        //   distance: 80, // 控制相机远近
+        //   alpha: 60, // 俯视角度
+        //   beta: 0, // 水平方向旋转角度
+        // },
+      },
+      series: [
+        {
+          type: "bar3D",
+          coordinateSystem: "geo3D",
+          shading: "lambert",
+          barSize: 1, // 柱子粗细
+          data: [
+            { name: "China", value: [116.4074, 39.9042, 100] },
+            { name: "United States", value: [-100.0, 40.0, 80] },
+            { name: "Brazil", value: [-47.9292, -15.7801, 60] },
+            { name: "Russia", value: [37.6173, 55.7558, 70] },
+            { name: "India", value: [77.1025, 28.7041, 90] },
+          ],
+        },
+      ],
+    };
+
+    this.chartInstance.setOption(option);
+  }
+
+  render() {
+    return (
+      <div
+        ref={this.chartRef}
+        style={{ width: "100%", height: "100%", zIndex: 1 }}
+      />
+    );
+  }
+}
+
+export default WorldMap;

+ 38 - 0
xinkeaboard-admin/src/pages/statistics/bigscreen/components/addMemberTrend.js

@@ -0,0 +1,38 @@
+import React from "react";
+import { connect } from "dva";
+import PanelNav from "./PanelNav";
+import BarChart from "./BarChart";
+import styles from "../styles/common.less";
+
+const AddMemberTrend = ({ data, loading, dispatch }) => {
+  const parseData = (barData) => {
+    const xAxisdata = [];
+    const seriesData = [];
+
+    barData.forEach((item) => {
+      xAxisdata.push(item.month);
+      seriesData.push(item.newMemberNum);
+    });
+
+    return {
+      xAxisdata,
+      seriesData,
+    };
+  };
+
+  return (
+    <div className={styles.common}>
+      <div className={styles.common_header}>
+        <PanelNav title="新增会员趋势" />
+      </div>
+      <div className={styles.common_content}>
+        <BarChart { ...parseData(data) }/>
+      </div>
+    </div>
+  );
+};
+
+export default connect(({ bigscreen }) => ({
+  data: bigscreen.memberAddTrendData.data,
+  loading: bigscreen.memberAddTrendData.loading,
+}))(AddMemberTrend);

+ 37 - 0
xinkeaboard-admin/src/pages/statistics/bigscreen/components/addProductTrend.js

@@ -0,0 +1,37 @@
+import React from "react";
+import { connect } from "dva";
+import PanelNav from "./PanelNav";
+import BarChart from "./BarChart";
+import styles from "../styles/common.less";
+
+const AddProductTrend = ({ data, loading, dispatch }) => {
+  const parseData = (barData) => {
+    const xAxisdata = [];
+    const seriesData = [];
+
+    barData.forEach((item) => {
+      xAxisdata.push(item.month);
+      seriesData.push(item.newGoodsNum);
+    });
+
+    return {
+      xAxisdata,
+      seriesData,
+    };
+  };
+  return (
+    <div className={styles.common}>
+      <div className={styles.common_header}>
+        <PanelNav title="新增商品趋势" />
+      </div>
+      <div className={styles.common_content}>
+        <BarChart {...parseData(data)} />
+      </div>
+    </div>
+  );
+};
+
+export default connect(({ bigscreen }) => ({
+  data: bigscreen.productAddTrendData.data,
+  loading: bigscreen.productAddTrendData.loading,
+}))(AddProductTrend);

+ 99 - 13
xinkeaboard-admin/src/pages/statistics/bigscreen/index.js

@@ -3,9 +3,16 @@ import { connect } from "dva";
 import styles from "./index.less";
 import PanelBlock from "./components/PanelBlock";
 import HeaderContent from "./components/HeadContent";
-import WordCloud from "@/components/WordCloud";
 import OverView from "./components/Overview";
 import PortalTraffic from "./components/PortalTraffic";
+import Enquire from "./components/Enquire";
+import OverseasEnquireLocation from "./components/OverseasEnquireLocation";
+import DistributorEnquireLocation from "./components/DistributorEnquireLocation";
+import AddMemberTrend from "./components/addMemberTrend";
+import AddProductTrend from "./components/addProductTrend";
+import SearchRankCloud from "./components/SearchRankCloud";
+import MemberLocation from "./components/MemberLocation";
+import StoreTraffic from "./components/StoreTraffic";
 
 @connect(({ bigscreen }) => ({
   bigscreen,
@@ -110,6 +117,7 @@ class BigScreen extends React.Component {
     const screenContainer = document.querySelector(
       `.${styles.screenContainer}`
     );
+    // const mapContainer = document.querySelector(`.${styles.mapContainer}`);
     if (screenContainer) {
       screenContainer.style.transform = `scale(${scale}) translate(-50%, -50%)`;
       screenContainer.style.transformOrigin = "0 0";
@@ -117,6 +125,14 @@ class BigScreen extends React.Component {
       screenContainer.style.top = "50%";
       screenContainer.style.margin = "0";
     }
+
+    // if (mapContainer) {
+    //   mapContainer.style.transform = `scale(${scale}) translate(-50%, -50%)`;
+    //   mapContainer.style.transformOrigin = "0 0";
+    //   mapContainer.style.left = "50%";
+    //   mapContainer.style.top = "50%";
+    //   mapContainer.style.margin = "0";
+    // }
   };
 
   showRenderTime = () => {
@@ -144,32 +160,102 @@ class BigScreen extends React.Component {
             {/* 左侧 */}
             <div className={styles.contentPanelLeft}>
               {/* <PanelBlock height="200px" /> */}
-              <PanelBlock>
-                <PortalTraffic></PortalTraffic>
+              <PanelBlock
+                styleObj={{
+                  width: "932px",
+                  height: "560px",
+                  marginBottom: "48px",
+                  backgroundImage: `url(${require("../../../assets/bigscreen/box-1.png")})`,
+                }}
+              >
+                <PortalTraffic />
+              </PanelBlock>
+              <PanelBlock
+                width="932px"
+                height="560px"
+                marginBottom="48px"
+                styleObj={{
+                  backgroundImage: `url(${require("../../../assets/bigscreen/box-1.png")})`,
+                }}
+              >
+                <Enquire />
+              </PanelBlock>
+              <PanelBlock flexDirection="row" height="608px">
+                <PanelBlock
+                  styleObj={{
+                    width: "434px",
+                    marginRight: "60px",
+                    backgroundImage: `url(${require("../../../assets/bigscreen/box-2.png")})`,
+                  }}
+                >
+                  <OverseasEnquireLocation />
+                </PanelBlock>
+                <PanelBlock
+                  styleObj={{
+                    width: "434px",
+                    backgroundImage: `url(${require("../../../assets/bigscreen/box-2.png")})`,
+                  }}
+                >
+                  <DistributorEnquireLocation />
+                </PanelBlock>
               </PanelBlock>
-              <PanelBlock />
-              <PanelBlock />
             </div>
 
             {/* 中间 */}
             <div className={styles.contentPanelCenter}>
-              <PanelBlock height="456px">
+              <PanelBlock
+                justifyContent="flex-start"
+                height="560px"
+                marginBottom="48px"
+              >
                 <OverView />
               </PanelBlock>
-              <PanelBlock />
-              <PanelBlock height="500px" flexDirection="row">
-                <PanelBlock />
-                <PanelBlock />
+              <PanelBlock height="560px" marginBottom="48px" />
+              <PanelBlock flexDirection="row" height="608px">
+                <PanelBlock
+                  width="822px"
+                  marginRight="64px"
+                  styleObj={{
+                    backgroundImage: `url(${require("../../../assets/bigscreen/box-3.png")})`,
+                  }}
+                >
+                  <AddMemberTrend />
+                </PanelBlock>
+                <PanelBlock
+                  width="822px"
+                  styleObj={{
+                    backgroundImage: `url(${require("../../../assets/bigscreen/box-3.png")})`,
+                  }}
+                >
+                  <AddProductTrend />
+                </PanelBlock>
               </PanelBlock>
             </div>
 
             {/* 右侧 */}
             <div className={styles.contentPanelRight}>
-              <PanelBlock title="sdsdsd">
-                <WordCloud />
+              <PanelBlock
+                height="864px"
+                width="932px"
+                marginBottom="68px"
+                styleObj={{
+                  backgroundImage: `url(${require("../../../assets/bigscreen/box-4.png")})`,
+                }}
+              >
+                <SearchRankCloud />
+              </PanelBlock>
+              <PanelBlock
+                height="864px"
+                width="932px"
+                styleObj={{
+                  backgroundImage: `url(${require("../../../assets/bigscreen/box-4.png")})`,
+                }}
+              >
+                <StoreTraffic />
               </PanelBlock>
-              <PanelBlock />
             </div>
+
+            <div className={styles.mapContainer}></div>
           </div>
         </div>
       </div>

+ 55 - 14
xinkeaboard-admin/src/pages/statistics/bigscreen/index.less

@@ -3,10 +3,13 @@
   width: 100%;
   height: calc(100vh - 60px);
   display: flex;
+  justify-content: center;
+  align-items: center;
   flex-direction: column;
   overflow: hidden;
   position: relative;
-  background: url("../../../assets/bigscreen/screen-bg.jpg") no-repeat center center;
+  background: url("../../../assets/bigscreen/screen-bg.jpg") no-repeat center
+    center;
   background-size: cover;
 
   .fullscreenBtn {
@@ -30,6 +33,9 @@
 }
 
 .screenContainer {
+  position: absolute;
+  left: 0;
+  top: 0;
   width: 3840px;
   height: 2160px;
   padding: 24px;
@@ -37,10 +43,10 @@
   flex-direction: column;
   box-sizing: border-box;
   overflow: hidden;
-  gap: @gap-size;
-  position: absolute;
+  // gap: @gap-size;
   left: 0;
   top: 0;
+  // z-index: 2000;
 }
 
 .headPanel {
@@ -49,6 +55,7 @@
 }
 
 .contentPanel {
+  position: relative;
   display: flex;
   flex: 1;
   width: 100%;
@@ -56,23 +63,57 @@
   overflow: hidden;
   gap: @gap-size;
 
-  &Left,
-  &Center,
-  &Right {
-    display: flex;
-    flex-direction: column;
-    height: 100%;
-  }
-
   &Left {
-    width: 25%;
+    position: absolute;
+    left: 72px;
   }
 
   &Center {
-    width: 50%;
+    position: absolute;
+    width: 1708px;
+    left: 1064px;
   }
 
   &Right {
-    width: 25%;
+    position: absolute;
+    right: 72px;
+  }
+
+  .mapContainer {
+    position: absolute;
+    left: 540px;
+    top: 470px;
+    width: 2400px;
+    height: 1176px;
+    border: 1px solid red;
+    z-index: 0;
   }
+
+  // &Left,
+  // &Center,
+  // &Right {
+  //   display: flex;
+  //   flex-direction: column;
+  //   height: 100%;
+  // }
+
+  // &Left {
+  //   width: 25%;
+  // }
+
+  // &Center {
+  //   width: 50%;
+  // }
+
+  // &Right {
+  //   width: 25%;
+  // }
+}
+
+.mapContainer {
+  position: absolute;
+  width: 2336px;
+  height: 1080px;
+  border: 1px solid red;
+  z-index: 0;
 }

+ 34 - 0
xinkeaboard-admin/src/pages/statistics/bigscreen/styles/add_member_trend.less

@@ -0,0 +1,34 @@
+.member {
+  position: relative;
+  width: 100%;
+  height: 100%;
+  display: flex;
+  flex-direction: column;
+}
+
+.member_header {
+  position: relative;
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  width: 100%;
+  height: 52px;
+  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
+
+  &::after {
+    content: "";
+    position: absolute;
+    left: 0;
+    bottom: 0;
+    width: 112px;
+    height: 4px;
+    background: #06f7ff;
+  }
+}
+
+.member_content {
+  flex: 1;
+  width: 100%;
+  height: 100%;
+  // padding: 20px;
+}

+ 34 - 0
xinkeaboard-admin/src/pages/statistics/bigscreen/styles/add_product_trend.less

@@ -0,0 +1,34 @@
+.product {
+  position: relative;
+  width: 100%;
+  height: 100%;
+  display: flex;
+  flex-direction: column;
+}
+
+.product_header {
+  position: relative;
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  width: 100%;
+  height: 52px;
+  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
+
+  &::after {
+    content: "";
+    position: absolute;
+    left: 0;
+    bottom: 0;
+    width: 112px;
+    height: 4px;
+    background: #06f7ff;
+  }
+}
+
+.product_content {
+  flex: 1;
+  width: 100%;
+  height: 100%;
+  // padding: 20px;
+}

+ 4 - 0
xinkeaboard-admin/src/pages/statistics/bigscreen/styles/bar_chart.less

@@ -0,0 +1,4 @@
+.bar_chart {
+  width: 100%;
+  height: 100%;
+}

+ 36 - 0
xinkeaboard-admin/src/pages/statistics/bigscreen/styles/common.less

@@ -0,0 +1,36 @@
+.common {
+  position: relative;
+  width: 100%;
+  height: 100%;
+  display: flex;
+  padding: 20px 10px 0 10px;
+  flex-direction: column;
+}
+
+.common_header {
+  position: relative;
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  width: 100%;
+  height: 55px;
+  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
+
+  &::after {
+    content: "";
+    position: absolute;
+    left: 0;
+    bottom: 0;
+    width: 112px;
+    height: 4px;
+    background: #06f7ff;
+  }
+}
+
+.common_content {
+  flex: 1;
+  width: 100%;
+  height: 100%;
+  padding-top: 20px;
+  // padding: 20px;
+}

+ 33 - 0
xinkeaboard-admin/src/pages/statistics/bigscreen/styles/distributor_enquire_location.less

@@ -0,0 +1,33 @@
+.distributor {
+  position: relative;
+  width: 100%;
+  height: 100%;
+  display: flex;
+  flex-direction: column;
+}
+
+.distributor_header {
+  position: relative;
+  display: flex;
+  align-items: center;
+  width: 100%;
+  height: 52px;
+  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
+
+  &::after {
+    content: "";
+    position: absolute;
+    left: 0;
+    bottom: 0;
+    width: 255px;
+    height: 4px;
+    background: #06f7ff;
+  }
+}
+
+.distributor_content {
+  flex: 1;
+  width: 100%;
+  height: 100%;
+  // padding: 20px;
+}

+ 37 - 0
xinkeaboard-admin/src/pages/statistics/bigscreen/styles/enquire.less

@@ -0,0 +1,37 @@
+.enquire {
+  position: relative;
+  width: 100%;
+  height: 100%;
+  display: flex;
+  flex-direction: column;
+}
+
+.enquire_header {
+  position: relative;
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  width: 100%;
+  height: 52px;
+  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
+
+  &::after {
+    content: "";
+    position: absolute;
+    left: 0;
+    bottom: 0;
+    width: 112px;
+    height: 4px;
+    background: #06f7ff;
+  }
+}
+
+.enquire_header_conditions {
+}
+
+.enquire_content {
+  flex: 1;
+  width: 100%;
+  height: 100%;
+  // padding: 20px;
+}

+ 4 - 0
xinkeaboard-admin/src/pages/statistics/bigscreen/styles/enquire_pie_chart.less

@@ -0,0 +1,4 @@
+.enquire_pie {
+  width: 100%;
+  height: 100%;
+}

+ 34 - 0
xinkeaboard-admin/src/pages/statistics/bigscreen/styles/map_container.less

@@ -0,0 +1,34 @@
+.map_container {
+  width: 100%;
+  height: 100%;
+  position: relative;
+  top: 60px;
+//   right: 230px;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+}
+
+.map_container_img {
+  width: 960px;
+  height: 120px;
+}
+
+.map_container_title {
+  display: inline-flex;
+  justify-content: center;
+  align-items: center;
+  position: absolute;
+  width: 100%;
+  height: 120px;
+  font-weight: bold;
+  font-size: 64px;
+  color: #ffffff;
+}
+
+.map_container_content {
+  width: 100%;
+  height: 100%;
+  position: absolute;
+  top: 20px;
+}

+ 33 - 0
xinkeaboard-admin/src/pages/statistics/bigscreen/styles/overseas_enquire_location.less

@@ -0,0 +1,33 @@
+.overseas {
+  position: relative;
+  width: 100%;
+  height: 100%;
+  display: flex;
+  flex-direction: column;
+}
+
+.overseas_header {
+  position: relative;
+  display: flex;
+  align-items: center;
+  width: 100%;
+  height: 52px;
+  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
+
+  &::after {
+    content: "";
+    position: absolute;
+    left: 0;
+    bottom: 0;
+    width: 225px;
+    height: 4px;
+    background: #06f7ff;
+  }
+}
+
+.overseas_content {
+  flex: 1;
+  width: 100%;
+  height: 100%;
+  // padding: 20px;
+}

+ 28 - 2
xinkeaboard-admin/src/pages/statistics/bigscreen/styles/overview.less

@@ -46,14 +46,14 @@
         top: 0;
         font-weight: 400;
         font-size: 64px;
-          font-family: 'Rajdhani', 'Orbitron', 'DIN Condensed', sans-serif;
+        font-family: "Rajdhani", "Orbitron", "DIN Condensed", sans-serif;
 
         color: #ffffff;
       }
 
       .item_label {
         position: absolute;
-        top: 100px;
+        top: 70px;
         font-family: Source Han Sans CN, Source Han Sans CN;
         font-weight: 400;
         font-size: 32px;
@@ -61,4 +61,30 @@
       }
     }
   }
+
+  .overview_member {
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    width: 100%;
+    height: 120px;
+    margin-top: 20px;
+  }
+
+  .overview_member_img {
+    width: 960px;
+    height: 120px;
+  }
+
+  .overview_member_title {
+    display: inline-flex;
+    justify-content: center;
+    align-items: center;
+    position: absolute;
+    width: 100%;
+    height: 120px;
+    font-weight: bold;
+    font-size: 64px;
+    color: #ffffff;
+  }
 }

+ 6 - 2
xinkeaboard-admin/src/pages/statistics/bigscreen/styles/panel_block.less

@@ -13,6 +13,10 @@
   align-items: center;
   height: 100%;
   box-sizing: border-box;
-  margin-top: 10px;
-  border: 4px dashed #fff;
+  background-repeat: no-repeat;
+  background-position: center;
+  background-size: contain;
+  z-index: 2000;
+  // margin-bottom: 10px;
+  // border: 4px dashed #fff;
 }

+ 2 - 1
xinkeaboard-admin/src/pages/statistics/bigscreen/styles/portal_traffic.less

@@ -1,4 +1,5 @@
 .traffic {
+  position: relative;
   width: 100%;
   height: 100%;
   display: flex;
@@ -32,5 +33,5 @@
   flex: 1;
   width: 100%;
   height: 100%;
-  padding: 20px;
+  // padding: 20px;
 }

+ 37 - 0
xinkeaboard-admin/src/pages/statistics/bigscreen/styles/search_rank_cloud.less

@@ -0,0 +1,37 @@
+.search_rank {
+  position: relative;
+  width: 100%;
+  height: 100%;
+  display: flex;
+  flex-direction: column;
+}
+
+.search_rank_header {
+  position: relative;
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  width: 100%;
+  height: 52px;
+  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
+
+  &::after {
+    content: "";
+    position: absolute;
+    left: 0;
+    bottom: 0;
+    width: 112px;
+    height: 4px;
+    background: #06f7ff;
+  }
+}
+
+.search_rank_header_conditions {
+}
+
+.search_rank_content {
+  flex: 1;
+  width: 100%;
+  height: 100%;
+  // padding: 20px;
+}

+ 53 - 0
xinkeaboard-admin/src/pages/statistics/bigscreen/styles/table_chart.less

@@ -0,0 +1,53 @@
+.table_chart {
+    height: 100%;
+  :global {
+    .ant-table-column-title {
+      font-weight: 400;
+      font-size: 24px;
+      color: #ffffff;
+    }
+
+    .ant-table-content {
+      border-right: none !important;
+    }
+
+    .ant-table-bordered .ant-table-thead > tr > th,
+    .ant-table-bordered .ant-table-tbody > tr > td {
+      border-right: none !important;
+    }
+
+    .ant-table-small
+      > .ant-table-content
+      > .ant-table-body
+      > table
+      > .ant-table-tbody
+      > tr
+      > td {
+    //   width: 426px;
+    //   text-overflow: ellipsis;
+    //   overflow: hidden;
+    //   white-space: nowrap;
+      font-weight: 400;
+      font-size: 24px;
+      color: #ffffff;
+      height: 65px;
+    }
+
+    .ant-table-tbody > tr:hover > td {
+      background: transparent !important; // 或者保持你想要的颜色
+    }
+
+    .ant-table-placeholder {
+      background: transparent !important; // 或者保持你想要的颜色
+    }
+
+    .ant-empty-description {
+      color: #fff;
+      font-size: 20px;
+    }
+
+    .ant-empty-image {
+      display: none;
+    }
+  }
+}

+ 7374 - 0
xinkeaboard-admin/src/pages/statistics/bigscreen/world.json

@@ -0,0 +1,7374 @@
+{
+  "type": "FeatureCollection",
+  "features": [
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [47.97822265625, 7.9970703125],
+            [43.181640625, 9.87998046874999],
+            [43.24599609375, 11.4998046875],
+            [45.81669921875, 10.835888671875],
+            [51.2548828125, 11.830712890625],
+            [51.19296875, 10.554638671875],
+            [50.10283203125, 8.19980468749999],
+            [47.97529296875, 4.497021484375],
+            [43.717578125, 0.857861328124997],
+            [41.426953125, -1.44951171875],
+            [41.341796875, 3.20166015625],
+            [42.02412109375, 4.137939453125],
+            [43.9888671875, 4.95053710937499]
+          ]
+        ]
+      },
+      "properties": { "name": "Somalia" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [-8.683349609375, 27.7780074080568],
+            [-10.486474609375, 29.06494140625],
+            [-9.87548828124994, 30.717919921875],
+            [-8.51284179687499, 33.25244140625],
+            [-5.27783203124994, 35.902734375],
+            [-1.79560546874993, 34.751904296875],
+            [-1.45, 32.784814453125],
+            [-1.11103515624998, 32.552294921875],
+            [-2.86342773437494, 32.07470703125],
+            [-3.83710937499998, 31.512353515625],
+            [-4.32285156250001, 30.698876953125],
+            [-6.63535156249995, 29.568798828125],
+            [-7.42768554687498, 29.425],
+            [-8.683349609375, 27.7780074080568]
+          ]
+        ]
+      },
+      "properties": { "name": "Morocco" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [21.5625, 42.247509765625],
+            [20.48544921875, 42.223388671875],
+            [20.4099630527979, 42.8437316674188],
+            [19.1964843750001, 43.485009765625],
+            [19.0642578125, 45.5149902343751],
+            [19.6134765625, 46.169189453125],
+            [20.2101562500001, 46.126025390625],
+            [20.746875, 45.748974609375],
+            [21.4314453125, 45.192529296875],
+            [21.519921875, 44.880810546875],
+            [21.36005859375, 44.82666015625],
+            [22.026953125, 44.619873046875],
+            [22.49765625, 44.70625],
+            [22.7007812500001, 44.555517578125],
+            [22.687890625, 44.248291015625],
+            [22.36962890625, 43.781298828125],
+            [22.8595703125, 43.25234375],
+            [22.466796875, 42.84248046875],
+            [22.4220703125, 42.328857421875],
+            [21.5625, 42.247509765625]
+          ]
+        ]
+      },
+      "properties": { "name": "Serbia" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [74.54140625, 37.02216796875],
+            [71.23291015625, 36.12177734375],
+            [70.965625, 34.53037109375],
+            [69.8896484375, 34.007275390625],
+            [69.279296875, 31.93681640625],
+            [67.57822265625, 31.506494140625],
+            [64.09873046875, 29.391943359375],
+            [61.2244140625, 29.7494140625],
+            [61.7841796875, 30.83193359375],
+            [61.66015625, 31.382421875],
+            [60.820703125, 31.495166015625],
+            [60.4859375, 33.7119140625],
+            [60.739453125, 34.5447265625],
+            [60.951171875, 34.653857421875],
+            [61.3447265625, 35.6294921875],
+            [62.6880859375, 35.255322265625],
+            [63.12998046875, 35.84619140625],
+            [64.5658203125, 36.427587890625],
+            [64.9515625, 37.1935546875],
+            [65.7650390625, 37.569140625],
+            [67.51728515625, 37.266650390625],
+            [67.9580078125, 36.972021484375],
+            [68.88525390625, 37.328076171875],
+            [69.26484375, 37.1083984375],
+            [69.62578125, 37.59404296875],
+            [70.25146484375, 37.66416015625],
+            [70.4177734375, 38.075439453125],
+            [71.551953125, 37.933154296875],
+            [71.665625, 36.696923828125],
+            [73.38291015625, 37.462255859375],
+            [73.72060546875, 37.41875],
+            [73.653515625, 37.23935546875],
+            [74.25966796875, 37.4154296875],
+            [74.72666015625, 37.29072265625],
+            [74.376171875, 37.137353515625]
+          ]
+        ]
+      },
+      "properties": { "name": "Afghanistan" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [17.57958984375, -8.09902343750001],
+              [18.9444335937501, -8.00146484375003],
+              [19.8751953125, -6.98632812499999],
+              [20.5900390625, -6.91992187499996],
+              [20.5583984375, -7.24443359374999],
+              [21.75107421875, -7.30546874999999],
+              [22.27880859375, -11.194140625],
+              [22.56103515625, -11.055859375],
+              [23.8338867187501, -11.013671875],
+              [23.8431640625, -13.0009765625],
+              [21.9792968750001, -14.11962890625],
+              [23.3806640625, -17.640625],
+              [18.9552734375, -17.803515625],
+              [13.4759765625, -17.0400390625],
+              [11.74306640625, -17.24921875],
+              [12.0161132812501, -15.513671875],
+              [13.59794921875, -12.2861328125],
+              [12.2833007812501, -6.12431640624996],
+              [16.3152343750001, -5.865625],
+              [17.57958984375, -8.09902343750001]
+            ]
+          ],
+          [
+            [
+              [12.50146484375, -4.5875],
+              [13.0480468750001, -4.61923828125003],
+              [12.8296875, -4.73662109374996],
+              [12.4845703125, -5.71875],
+              [12.50146484375, -4.5875]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Angola" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [20.06396484375, 42.547265625],
+            [20.881640625, 40.467919921875],
+            [20.38369140625, 40.0171875],
+            [20.381640625, 39.841796875],
+            [20.059765625, 39.69912109375],
+            [19.322265625, 40.407080078125],
+            [19.78828125, 42.476171875]
+          ]
+        ]
+      },
+      "properties": { "name": "Albania" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [1.7060546875, 42.5033203125],
+            [1.41484375000002, 42.548388671875],
+            [1.70986328125002, 42.604443359375],
+            [1.7060546875, 42.5033203125]
+          ]
+        ]
+      },
+      "properties": { "name": "Andorra" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [56.2978515625, 25.65068359375],
+              [55.7957031250001, 24.868115234375],
+              [55.1042968750001, 22.621484375],
+              [51.767578125, 24.25439453125],
+              [53.8017578125, 24.069482421875],
+              [55.9412109375, 25.793994140625],
+              [56.2978515625, 25.65068359375]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "United Arab Emirates" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [-68.6532226562499, -54.85361328125],
+              [-68.488525390625, -53.2609375],
+              [-66.23564453125, -54.53349609375],
+              [-67.127099609375, -54.90380859375]
+            ]
+          ],
+          [
+            [
+              [-61.084716796875, -23.6564453125],
+              [-57.8216796874999, -25.13642578125],
+              [-58.2220703125, -26.65],
+              [-58.1682617187499, -27.2734375],
+              [-55.7899902343749, -27.41640625],
+              [-54.63193359375, -26.00576171875],
+              [-53.891162109375, -25.66884765625],
+              [-54.8291015625, -27.5505859375],
+              [-55.89052734375, -28.37001953125],
+              [-57.831201171875, -30.49521484375],
+              [-58.547216796875, -33.6634765625],
+              [-57.5478515625, -35.0189453125],
+              [-57.0761718749999, -36.29677734375],
+              [-58.1791992187499, -38.43583984375],
+              [-62.3347656249999, -38.80009765625],
+              [-62.076806640625, -39.4615234375],
+              [-62.2463378906249, -40.674609375],
+              [-64.869482421875, -40.73583984375],
+              [-64.57099609375, -42.416015625],
+              [-64.228515625, -42.21826171875],
+              [-64.034765625, -42.88125],
+              [-64.319140625, -42.9689453125],
+              [-65.647607421875, -44.66142578125],
+              [-67.599560546875, -46.0525390625],
+              [-65.7380859375, -47.344921875],
+              [-65.81005859375, -47.94111328125],
+              [-68.2572265625, -50.10458984375],
+              [-68.59794921875, -50.00947265625],
+              [-69.201025390625, -50.99365234375],
+              [-68.443359375, -52.356640625],
+              [-72.340234375, -50.6818359375],
+              [-73.55419921875, -49.4638671875],
+              [-72.65126953125, -48.8416015625],
+              [-72.517919921875, -47.8763671875],
+              [-71.699658203125, -46.6513671875],
+              [-71.34931640625, -45.33193359375],
+              [-71.2611328125, -44.7630859375],
+              [-71.680078125, -43.92958984375],
+              [-72.1082031249999, -42.25185546875],
+              [-71.539453125, -39.60244140625],
+              [-71.1921875, -36.84365234375],
+              [-69.81962890625, -33.2837890625],
+              [-70.25439453125, -31.95771484375],
+              [-70.026806640625, -29.3240234375],
+              [-68.414501953125, -26.1537109375],
+              [-68.25029296875, -24.3919921875],
+              [-66.99111328125, -22.50986328125],
+              [-66.098583984375, -21.83505859375],
+              [-65.686181640625, -22.1102539062501],
+              [-64.5236328125, -22.37158203125],
+              [-64.32529296875, -22.82763671875],
+              [-63.9216796874999, -22.02861328125],
+              [-62.372509765625, -22.43916015625]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Argentina" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [46.490625, 38.906689453125],
+            [45.78447265625, 39.54560546875],
+            [44.76826171875, 39.7035156250001],
+            [43.72265625, 40.71953125],
+            [45.0013671875, 41.290966796875],
+            [45.57978515625, 39.9775390625],
+            [46.5847656250001, 39.223681640625]
+          ]
+        ]
+      },
+      "properties": { "name": "Armenia" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [69.18486328125, -49.1095703125],
+              [70.1658203125, -49.34296875],
+              [70.12431640625, -49.70439453125],
+              [68.8833984375001, -49.16494140625],
+              [69.0521484375001, -49.08193359375]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Fr. S. Antarctic Lands" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [145.04296875, -40.78671875],
+              [146.84814453125, -41.16806640625],
+              [147.87294921875, -40.87255859375],
+              [148.213671875, -41.97001953125],
+              [147.69892578125, -43.12255859375],
+              [147.45234375, -43.0333984375],
+              [147.07734375, -43.27587890625],
+              [145.99443359375, -43.37607421875],
+              [145.198828125, -42.230859375],
+              [144.7185546875, -40.672265625]
+            ]
+          ],
+          [
+            [
+              [137.596484375, -35.738671875],
+              [137.4484375, -36.0748046875],
+              [136.638671875, -35.748828125]
+            ]
+          ],
+          [
+            [
+              [136.7146484375, -13.80390625],
+              [136.8943359375, -14.29306640625],
+              [136.7146484375, -13.80390625]
+            ]
+          ],
+          [
+            [
+              [143.17890625, -11.9544921875],
+              [143.5484375, -13.741015625],
+              [144.648046875, -14.49248046875],
+              [145.912109375, -16.9125],
+              [146.3833984375, -18.97705078125],
+              [148.759375, -20.28955078125],
+              [149.9744140625, -22.55068359375],
+              [150.5685546875, -22.383984375],
+              [152.9134765625, -25.43212890625],
+              [153.57568359375, -28.24052734375],
+              [152.55927734375, -32.045703125],
+              [151.812890625, -32.90107421875],
+              [151.23154296875, -34.0296875],
+              [149.93271484375, -37.528515625],
+              [146.21748046875, -38.72744140625],
+              [146.1583984375, -38.86572265625],
+              [145.5421875, -38.39384765625],
+              [144.7177734375, -38.34033203125],
+              [144.3955078125, -38.1369140625],
+              [141.725, -38.27138671875],
+              [140.3904296875, -37.8966796875],
+              [138.9689453125, -35.58076171875],
+              [138.521875, -35.6423828125],
+              [138.0892578125, -34.16982421875],
+              [137.391015625, -34.91328125],
+              [137.992578125, -33.09423828125],
+              [135.7923828125, -34.86328125],
+              [135.45, -34.5810546875],
+              [134.2271484375, -32.73056640625],
+              [132.757421875, -31.95625],
+              [129.1876953125, -31.6599609375],
+              [121.405078125, -33.8267578125],
+              [118.135546875, -34.98662109375],
+              [115.5650390625, -34.42578125],
+              [115.6830078125, -33.19287109375],
+              [114.16513671875, -28.0806640625],
+              [113.3560546875, -26.08046875],
+              [113.85283203125, -26.3321289062501],
+              [113.72373046875, -26.12978515625],
+              [114.21572265625, -26.289453125],
+              [113.75703125, -23.4181640625001],
+              [114.12392578125, -21.82861328125],
+              [115.45615234375, -21.49169921875],
+              [118.19921875, -20.3751953125],
+              [120.99794921875, -19.60439453125],
+              [122.1474609375, -17.5490234375],
+              [123.5630859375, -17.5208984375],
+              [123.4904296875, -16.49072265625],
+              [124.4048828125, -16.29892578125],
+              [124.692578125, -15.2736328125],
+              [125.57978515625, -14.483203125],
+              [125.81953125, -14.469140625],
+              [126.18427734375, -14.00205078125],
+              [126.7806640625, -13.95517578125],
+              [128.18046875, -14.71162109375],
+              [128.175, -15.0431640625],
+              [129.267578125, -14.8714843750001],
+              [129.6046875, -14.6470703125],
+              [129.8388671875, -13.57294921875],
+              [130.39990234375, -12.687890625],
+              [130.873828125, -12.3671875],
+              [132.63046875, -12.03515625],
+              [131.8224609375, -11.30244140625],
+              [134.4173828125, -12.052734375],
+              [135.9224609375, -11.82578125],
+              [136.26064453125, -12.4337890625],
+              [136.71943359375, -12.22646484375],
+              [136.5943359375, -13.0038085937501],
+              [135.9544921875, -13.93486328125],
+              [136.29140625, -15.5701171875],
+              [137.7037109375, -16.2330078125],
+              [140.03583984375, -17.70263671875],
+              [141.62548828125, -15.056640625],
+              [141.68857421875, -12.35107421875],
+              [142.4564453125, -10.70732421875],
+              [142.87255859375, -11.82138671875]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Australia" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [16.953125, 48.598828125],
+            [16.09306640625, 46.86328125],
+            [13.7, 46.520263671875],
+            [12.47919921875, 46.672509765625],
+            [12.1541015625, 46.93525390625],
+            [12.19716796875, 47.075],
+            [11.02509765625, 46.79697265625],
+            [10.13349609375, 46.851513671875],
+            [9.52402343750001, 47.52421875],
+            [10.03408203125, 47.473583984375],
+            [10.1830078125, 47.27880859375],
+            [10.4828125, 47.541796875],
+            [11.0419921875, 47.393115234375],
+            [12.20927734375, 47.71826171875],
+            [13.01435546875, 47.478076171875],
+            [12.89765625, 47.721875],
+            [13.48662109375, 48.5818359375],
+            [15.066796875, 48.9978515625]
+          ]
+        ]
+      },
+      "properties": { "name": "Austria" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [46.1144531250001, 38.877783203125],
+              [45.0316406250001, 39.76513671875],
+              [45.76630859375, 39.378466796875]
+            ]
+          ],
+          [
+            [
+              [48.5728515625, 41.844482421875],
+              [50.3659179687501, 40.2794921875],
+              [49.36279296875, 39.349560546875],
+              [48.86875, 38.435498046875],
+              [48.1043945312501, 39.24111328125],
+              [46.40029296875, 39.1921875],
+              [45.18857421875, 41.147412109375],
+              [46.66240234375, 41.2455078125],
+              [46.18427734375, 41.7021484375],
+              [47.791015625, 41.199267578125]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Azerbaijan" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [30.55361328125, -2.40009765625001],
+            [30.47333984375, -2.6943359375],
+            [30.790234375, -3.27460937500001],
+            [29.40322265625, -4.44931640625001],
+            [29.10205078125, -2.595703125],
+            [29.93017578125, -2.33955078125001]
+          ]
+        ]
+      },
+      "properties": { "name": "Burundi" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [5.69355468750001, 50.774755859375],
+            [6.08906250000004, 50.15458984375],
+            [5.81738281250003, 50.0126953125],
+            [5.50732421875, 49.510888671875],
+            [4.14931640625002, 49.97158203125],
+            [3.27333984375008, 50.53154296875],
+            [3.35009765625, 51.377685546875],
+            [5.03095703125004, 51.469091796875]
+          ]
+        ]
+      },
+      "properties": { "name": "Belgium" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [3.59541015625001, 11.6962890625],
+            [3.7568359375, 10.76875],
+            [3.60205078125, 10.004541015625],
+            [2.703125, 8.371826171875],
+            [2.77460937500001, 6.71171874999999],
+            [1.62265625, 6.216796875],
+            [1.60019531250001, 9.050048828125],
+            [0.900488281250006, 10.99326171875],
+            [2.36601562500002, 12.221923828125]
+          ]
+        ]
+      },
+      "properties": { "name": "Benin" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [0.217480468750011, 14.911474609375],
+            [0.6181640625, 13.70341796875],
+            [2.38916015625, 11.8970703125],
+            [0.49267578125, 10.95498046875],
+            [-1.04248046875, 11.01005859375],
+            [-2.780517578125, 9.745849609375],
+            [-2.7171875, 9.45712890624999],
+            [-3.58115234374998, 9.92431640625],
+            [-4.33222656249998, 9.645703125],
+            [-4.72177734374998, 9.75654296875],
+            [-5.250244140625, 11.37578125],
+            [-3.94731445312499, 13.402197265625],
+            [-2.95083007812499, 13.6484375],
+            [-1.97304687499999, 14.45654296875],
+            [0.217480468750011, 14.911474609375]
+          ]
+        ]
+      },
+      "properties": { "name": "Burkina Faso" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [88.94072265625, 26.245361328125],
+              [89.8229492187501, 25.94140625],
+              [89.8663085937501, 25.2931640625],
+              [92.4683593750001, 24.944140625],
+              [91.7265625, 24.205078125],
+              [91.43623046875, 23.19990234375],
+              [91.7541992187501, 23.2873046875],
+              [91.92958984375, 23.685986328125],
+              [92.3337890625, 23.2423828125],
+              [92.631640625, 21.306201171875],
+              [92.0560546875, 21.1748046875],
+              [91.2162109375, 22.642236328125],
+              [90.5556640625, 23.4215332031251],
+              [90.61611328125, 22.362158203125],
+              [89.5685546875, 21.767431640625],
+              [89.0939453125, 21.87275390625],
+              [88.6357421875, 23.55],
+              [88.7265625, 24.18623046875],
+              [88.0791015625, 24.5499023437501],
+              [88.1498046875, 24.9146484375],
+              [88.944140625, 25.290771484375],
+              [88.1474609375, 25.81142578125],
+              [88.51826171875, 26.5177734375]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Bangladesh" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [28.5853515625, 43.742236328125],
+            [27.294921875, 42.079541015625],
+            [26.2005859375, 41.743798828125],
+            [25.92333984375, 41.3119140625],
+            [25.251171875, 41.2435546875],
+            [24.51826171875, 41.5525390625],
+            [23.3720703125, 41.3896484375],
+            [22.445703125, 42.359130859375],
+            [22.43623046875, 42.6291015625],
+            [22.8595703125, 43.25234375],
+            [22.36962890625, 43.781298828125],
+            [22.4525296882281, 44.0510441391688],
+            [22.86826171875, 43.947900390625],
+            [27.0869140625, 44.1673828125],
+            [28.5853515625, 43.742236328125]
+          ]
+        ]
+      },
+      "properties": { "name": "Bulgaria" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [-77.74384765625, 24.707421875],
+              [-78.3665039062499, 24.5441894531251],
+              [-77.97529296875, 25.0848144531251]
+            ]
+          ],
+          [
+            [
+              [-76.6488281249999, 25.48740234375],
+              [-76.620703125, 25.431640625]
+            ]
+          ],
+          [
+            [
+              [-77.225634765625, 25.90419921875],
+              [-77.510595703125, 26.84599609375],
+              [-77.03828125, 26.333447265625]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Bahamas" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [19.00712890625, 44.869189453125],
+            [19.24501953125, 43.9650390625],
+            [19.11279296875, 43.527734375],
+            [18.95068359375, 43.52666015625],
+            [18.6236328125001, 43.027685546875],
+            [18.5458984375, 42.6416015625],
+            [17.6504882812501, 43.006591796875],
+            [15.73662109375, 44.7658203125],
+            [16.5306640625001, 45.21669921875],
+            [18.83642578125, 44.883251953125]
+          ]
+        ]
+      },
+      "properties": { "name": "Bosnia and Herz." }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [28.14794921875, 56.142919921875],
+            [29.41298828125, 55.724853515625],
+            [30.04267578125, 55.83642578125],
+            [30.9005859375, 55.397412109375],
+            [30.8298828125, 54.914990234375],
+            [30.9841796875, 54.6958984375],
+            [31.7919921875, 54.055908203125],
+            [31.7830078125, 53.85498046875],
+            [32.200390625, 53.78125],
+            [32.57802734375, 53.31240234375],
+            [31.3029296875, 53.060888671875],
+            [31.75859375, 52.125830078125],
+            [30.66728515625, 51.814111328125],
+            [30.60234375, 51.471240234375],
+            [29.0130859375, 51.59892578125],
+            [28.73125, 51.4333984375],
+            [26.95283203125, 51.75400390625],
+            [24.280078125, 51.77470703125],
+            [23.6052734375, 51.517919921875],
+            [23.48466796875, 53.939794921875],
+            [24.7892578125, 53.9982421875],
+            [25.7025390625, 54.29296875],
+            [25.567578125, 54.37705078125],
+            [25.731640625, 54.590380859375],
+            [26.09296875, 54.9623046875],
+            [26.601171875, 55.13017578125],
+            [26.68125, 55.3064453125],
+            [26.51923828125, 55.44814453125],
+            [27.0525390625, 55.83056640625]
+          ]
+        ]
+      },
+      "properties": { "name": "Belarus" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [-88.89404296875, 15.890625],
+              [-88.80634765625, 17.96552734375],
+              [-88.1302734375, 18.350732421875],
+              [-88.313427734375, 16.632763671875]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Belize" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [-58.159765625, -20.1646484375],
+            [-61.7568359375, -19.6453125],
+            [-62.843359375, -21.997265625],
+            [-64.30791015625, -22.7953125],
+            [-64.477734375, -22.4853515625],
+            [-66.247607421875, -21.83046875],
+            [-67.579931640625, -22.89169921875],
+            [-68.745166015625, -20.45859375],
+            [-68.462890625, -19.4328125],
+            [-68.968310546875, -18.96796875],
+            [-69.145458984375, -18.14404296875],
+            [-69.645703125, -17.24853515625],
+            [-68.8427734375, -16.337890625],
+            [-69.37470703125, -14.96298828125],
+            [-68.97861328125, -12.880078125],
+            [-68.84833984375, -11.0111328125],
+            [-66.575341796875, -9.89990234375],
+            [-65.395458984375, -10.39228515625],
+            [-65.323779296875, -11.0248046875],
+            [-64.4205078125, -12.43974609375],
+            [-62.765478515625, -12.997265625],
+            [-61.87412109375, -13.47041015625],
+            [-61.416064453125, -13.5265625],
+            [-60.372705078125, -14.41875],
+            [-60.53046875, -15.1431640625],
+            [-60.18720703125, -16.13212890625],
+            [-58.423681640625, -16.30791015625],
+            [-58.39599609375, -17.23427734375],
+            [-57.832470703125, -17.512109375],
+            [-57.586474609375, -18.122265625],
+            [-57.88759765625, -20.02041015625],
+            [-58.159765625, -20.1646484375]
+          ]
+        ]
+      },
+      "properties": { "name": "Bolivia" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [-49.628662109375, -0.229199218749969],
+              [-49.0384765625, -1.5140625],
+              [-49.587890625, -1.71240234374997],
+              [-50.759765625, -1.24023437499997],
+              [-50.79609375, -0.90625]
+            ]
+          ],
+          [
+            [
+              [-59.69970703125, 4.353515625],
+              [-59.551123046875, 3.93354492187497],
+              [-59.755224609375, 2.27412109375004],
+              [-59.6666015625, 1.74628906249997],
+              [-58.78720703125, 1.20849609375001],
+              [-57.189599609375, 1.98159179687504],
+              [-55.929638671875, 1.8875],
+              [-56.08779296875, 2.34130859375004],
+              [-55.9755859375, 2.51596679687501],
+              [-55.0703124999999, 2.54833984375003],
+              [-54.515087890625, 2.24545898437496],
+              [-52.903466796875, 2.21152343749998],
+              [-51.5470703125, 4.31088867187502],
+              [-49.95712890625, 1.65986328125004],
+              [-51.28291015625, -0.085205078125028],
+              [-51.94755859375, -1.58671874999995],
+              [-49.99921875, -1.83183593749997],
+              [-49.45751953125, -2.50458984374998],
+              [-48.462939453125, -1.61396484375],
+              [-48.115087890625, -0.7375],
+              [-45.45859375, -1.35625],
+              [-44.778515625, -1.798828125],
+              [-44.589013671875, -2.57343749999998],
+              [-43.380078125, -2.37607421875001],
+              [-41.479931640625, -2.91650390624997],
+              [-38.048828125, -4.21640625000003],
+              [-36.59072265625, -5.09755859374995],
+              [-34.83466796875, -7.97148437499996],
+              [-35.88544921875, -9.84765625],
+              [-37.356005859375, -11.40390625],
+              [-38.4017578125, -12.9662109375],
+              [-38.835302734375, -13.14716796875],
+              [-39.04814453125, -14.0439453125],
+              [-39.202880859375, -17.178125],
+              [-40.0013671875, -19.7419921875],
+              [-42.0423828125, -22.9470703125],
+              [-44.637255859375, -23.05546875],
+              [-45.464306640625, -23.8025390625],
+              [-48.476123046875, -25.44296875],
+              [-48.665771484375, -25.8443359375],
+              [-48.554150390625, -27.19599609375],
+              [-49.74599609375, -29.36318359375],
+              [-52.063232421875, -31.83037109375],
+              [-50.980078125, -31.09423828125],
+              [-50.58193359375, -30.4388671875],
+              [-51.157275390625, -30.3642578125],
+              [-51.9724609375, -31.3837890625],
+              [-53.37060546875, -33.7421875],
+              [-53.53134765625, -33.1708984375],
+              [-53.310107421875, -32.92705078125],
+              [-53.601708984375, -32.40302734375],
+              [-54.587646484375, -31.48515625],
+              [-55.55732421875, -30.8759765625],
+              [-56.0046875, -31.07919921875],
+              [-56.83271484375, -30.1072265625],
+              [-57.60888671875, -30.18779296875],
+              [-55.101513671875, -27.866796875],
+              [-53.6685546875, -26.28818359375],
+              [-54.615869140625, -25.57607421875],
+              [-54.281005859375, -24.3060546875],
+              [-54.440234375, -23.9017578125],
+              [-55.1943359375, -24.01748046875],
+              [-55.4423828125, -23.86533203125],
+              [-55.849169921875, -22.3076171875],
+              [-57.94267578125, -21.79833984375],
+              [-58.00224609375, -20.4654296875],
+              [-58.124609375, -20.29345703125],
+              [-57.586474609375, -18.122265625],
+              [-57.832470703125, -17.512109375],
+              [-58.34775390625, -17.28212890625],
+              [-58.478125, -16.70068359375],
+              [-58.375390625, -16.28359375],
+              [-60.1755859375, -16.2693359375],
+              [-60.38046875, -15.31826171875],
+              [-60.372705078125, -14.41875],
+              [-61.416064453125, -13.5265625],
+              [-61.9447265625, -13.40625],
+              [-63.015185546875, -12.80556640625],
+              [-64.4205078125, -12.43974609375],
+              [-65.334033203125, -10.8927734375],
+              [-65.3130859375, -10.25302734375],
+              [-67.416943359375, -10.38984375],
+              [-68.0716796874999, -10.703125],
+              [-70.290380859375, -11.0642578125],
+              [-70.533251953125, -10.946875],
+              [-70.54111328125, -9.4375],
+              [-71.115283203125, -9.85244140625001],
+              [-73.2094238281249, -9.41142578124995],
+              [-73.0705078125, -8.8828125],
+              [-73.98173828125, -7.58505859375002],
+              [-72.8319335937499, -5.09375],
+              [-70.866015625, -4.22958984374996],
+              [-69.96591796875, -4.2359375],
+              [-69.633984375, -0.50927734375],
+              [-69.1533203124999, 0.65878906250002],
+              [-68.1765625, 1.71982421874999],
+              [-67.400439453125, 2.11669921875003],
+              [-66.347119140625, 0.7671875],
+              [-65.5560546875, 0.687988281250014],
+              [-64.00849609375, 1.93159179687497],
+              [-64.19248046875, 4.12685546875001],
+              [-62.712109375, 4.01791992187502],
+              [-61.280078125, 4.51689453124997],
+              [-60.711962890625, 5.19155273437502],
+              [-59.990673828125, 5.08286132812499]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Brazil" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [91.63193359375, 27.7599609375],
+            [91.9509765625, 27.45830078125],
+            [91.99833984375, 26.85498046875],
+            [90.3458984375, 26.89033203125],
+            [89.7638671875, 26.7015625],
+            [89.1482421875, 26.816162109375],
+            [88.7603515625, 27.218115234375],
+            [89.81689453125, 28.256298828125],
+            [91.64189453125, 27.9232421875]
+          ]
+        ]
+      },
+      "properties": { "name": "Bhutan" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [25.2587890625, -17.7935546875],
+            [27.17822265625, -20.1009765625],
+            [28.0140625, -21.55419921875],
+            [29.315234375, -22.15771484375],
+            [27.7685546875, -23.14892578125],
+            [26.4517578125, -24.58271484375],
+            [24.19296875, -25.63291015625],
+            [23.14873046875, -25.288671875],
+            [22.4708984375, -26.21904296875],
+            [21.78828125, -26.71005859375],
+            [20.64140625, -26.7421875],
+            [19.97734375, -22.0001953125],
+            [23.59970703125, -18.4599609375],
+            [25.2587890625, -17.7935546875]
+          ]
+        ]
+      },
+      "properties": { "name": "Botswana" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [22.86005859375, 10.919677734375],
+            [23.5373046875, 8.81582031249999],
+            [25.200390625, 7.80791015624999],
+            [26.30859375, 6.455322265625],
+            [27.071875, 5.19975585937499],
+            [24.31982421875, 4.994140625],
+            [20.55810546875, 4.46269531249999],
+            [19.0685546875, 4.89140624999999],
+            [18.1609375, 3.49980468749999],
+            [16.1833984375, 2.27006835937499],
+            [14.73125, 4.60239257812499],
+            [14.7392578125, 6.27978515625],
+            [16.37890625, 7.683544921875],
+            [18.56416015625, 8.0458984375],
+            [20.34208984375, 9.12709960937499],
+            [22.49384765625, 10.996240234375]
+          ]
+        ]
+      },
+      "properties": { "name": "Central African Rep." }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [-61.10517578125, 45.9447265625],
+              [-59.8650390624999, 46.159521484375],
+              [-61.4498046875, 45.7162109375],
+              [-60.33291015625, 46.73701171875]
+            ]
+          ],
+          [
+            [
+              [-63.811279296875, 46.468701171875],
+              [-62.52607421875, 46.202880859375],
+              [-63.758642578125, 46.397607421875],
+              [-63.9935546875, 47.061572265625]
+            ]
+          ],
+          [
+            [
+              [-74.70888671875, 45.0038574218751],
+              [-66.1781738281249, 49.213134765625],
+              [-64.2460937499999, 48.69111328125],
+              [-66.70439453125, 48.0224609375],
+              [-65.00166015625, 47.846826171875],
+              [-64.831396484375, 47.060791015625],
+              [-63.83193359375, 46.107177734375],
+              [-62.75009765625, 45.6482421875],
+              [-61.49228515625, 45.68701171875],
+              [-61.03154296875, 45.2917480468751],
+              [-63.9997070312499, 44.644921875],
+              [-64.2756835937499, 44.33408203125],
+              [-66.125732421875, 43.813818359375],
+              [-66.090625, 44.504931640625],
+              [-63.368017578125, 45.364794921875],
+              [-64.63271484375, 45.9466308593751],
+              [-66.0265625, 45.417578125],
+              [-67.366943359375, 45.173779296875],
+              [-68.235498046875, 47.345947265625],
+              [-70.00771484375, 46.708935546875],
+              [-71.517529296875, 45.007568359375]
+            ]
+          ],
+          [
+            [
+              [-127.197314453125, 50.640380859375],
+              [-123.497021484375, 48.582080078125],
+              [-123.916943359375, 48.386572265625],
+              [-124.92734375, 49.014208984375],
+              [-125.95166015625, 49.248046875],
+              [-126.13408203125, 49.672314453125],
+              [-128.346044921875, 50.74423828125]
+            ]
+          ],
+          [
+            [
+              [-55.4587402343749, 51.5365234375001],
+              [-56.73232421875, 50.00771484375],
+              [-55.5029296875, 49.983154296875],
+              [-55.375927734375, 49.48974609375],
+              [-54.502197265625, 49.52734375],
+              [-53.5734375, 49.1412109375],
+              [-53.70634765625, 48.655517578125],
+              [-53.609765625, 48.20771484375],
+              [-53.863671875, 47.78701171875],
+              [-53.16982421875, 47.5121093750001],
+              [-53.11484375, 46.655810546875],
+              [-54.0095703124999, 46.839599609375],
+              [-54.191845703125, 47.859814453125],
+              [-55.3157226562499, 46.905712890625],
+              [-54.784619140625, 47.66474609375],
+              [-59.1169433593749, 47.570703125],
+              [-59.16767578125, 48.55849609375],
+              [-58.19091796875, 49.258740234375],
+              [-57.0359375, 51.01083984375],
+              [-55.66640625, 51.57890625]
+            ]
+          ],
+          [
+            [
+              [-131.7537109375, 53.195556640625],
+              [-131.590576171875, 52.57822265625],
+              [-131.221533203125, 52.15361328125],
+              [-131.7537109375, 53.195556640625]
+            ]
+          ],
+          [
+            [
+              [-128.55244140625, 52.93974609375],
+              [-128.8998046875, 52.673828125],
+              [-128.55244140625, 52.93974609375]
+            ]
+          ],
+          [
+            [
+              [-132.655517578125, 54.127490234375],
+              [-132.186962890625, 53.684814453125],
+              [-132.347265625, 53.189208984375],
+              [-133.0794921875, 53.83701171875]
+            ]
+          ],
+          [
+            [
+              [-78.935595703125, 56.266064453125],
+              [-79.76474609375, 55.8067871093751],
+              [-79.536328125, 56.180078125]
+            ]
+          ],
+          [
+            [
+              [-84.91962890625, 65.261083984375],
+              [-81.676123046875, 64.212646484375],
+              [-81.04638671875, 63.461572265625],
+              [-84.63291015625, 63.309228515625],
+              [-86.93203125, 63.90166015625],
+              [-85.5546875, 65.91865234375]
+            ]
+          ],
+          [
+            [
+              [-75.67587890625, 68.3225097656251],
+              [-76.944189453125, 67.25029296875],
+              [-75.67587890625, 68.3225097656251]
+            ]
+          ],
+          [
+            [
+              [-97.439453125, 69.6426757812501],
+              [-96.4015625, 68.470703125],
+              [-98.9044921875, 68.9324218750001],
+              [-97.79072265625, 69.86162109375]
+            ]
+          ],
+          [
+            [
+              [-74.70888671875, 45.0038574218751],
+              [-75.8193359375, 44.468017578125],
+              [-78.458251953125, 43.6314941406251],
+              [-79.0830566406249, 43.3313964843751],
+              [-78.9807617187499, 42.980615234375],
+              [-82.6900390625, 41.6751953125],
+              [-82.190380859375, 43.474072265625],
+              [-82.9193359374999, 45.51796875],
+              [-83.9777832031249, 46.0849121093751],
+              [-84.8759765624999, 46.89990234375],
+              [-87.2080078125, 47.848486328125],
+              [-92.3484375, 48.276611328125],
+              [-93.257958984375, 48.628857421875],
+              [-94.6208984374999, 48.7426269531251],
+              [-94.854345703125, 49.30458984375],
+              [-96.2506835937499, 48.9931640625],
+              [-122.826708984375, 49.02841796875],
+              [-123.53056640625, 49.3973144531251],
+              [-123.582470703125, 49.68125],
+              [-123.984912109375, 49.8755859375],
+              [-124.85986328125, 50.872412109375],
+              [-125.64130859375, 50.4662109375001],
+              [-126.51435546875, 50.6793945312501],
+              [-126.691455078125, 51.70341796875],
+              [-127.795361328125, 52.1910156250001],
+              [-127.193994140625, 52.457666015625],
+              [-127.79189453125, 52.28935546875],
+              [-128.905615234375, 53.5593261718751],
+              [-128.2072265625, 53.4832031250001],
+              [-130.043310546875, 54.133544921875],
+              [-129.56064453125, 55.4625488281251],
+              [-130.0978515625, 56.10927734375],
+              [-131.471875, 56.5567382812501],
+              [-132.062890625, 56.953369140625],
+              [-133.27529296875, 58.2228515625],
+              [-135.36787109375, 59.743310546875],
+              [-136.466357421875, 59.45908203125],
+              [-137.2775390625, 58.98818359375],
+              [-139.079248046875, 60.2794433593751],
+              [-139.973291015625, 60.1831542968751],
+              [-141.0021484375, 60.3002441406251],
+              [-141.0021484375, 68.7741699218751],
+              [-136.12236328125, 68.8822265625],
+              [-135.910205078125, 69.111474609375],
+              [-134.4568359375, 69.47763671875],
+              [-133.163134765625, 69.43388671875],
+              [-129.675634765625, 70.1929687500001],
+              [-132.81748046875, 69.20576171875],
+              [-132.57763671875, 68.8478027343751],
+              [-131.063427734375, 69.45068359375],
+              [-129.15791015625, 69.80009765625],
+              [-128.1701171875, 70.41845703125],
+              [-125.524951171875, 69.3515625000001],
+              [-124.990380859375, 70.0266113281251],
+              [-124.3380859375, 69.36484375],
+              [-120.962451171875, 69.6604003906251],
+              [-116.243408203125, 68.9740722656251],
+              [-114.095947265625, 68.2667968750001],
+              [-115.133203125, 67.819189453125],
+              [-109.63037109375, 67.73271484375],
+              [-107.988720703125, 67.2563964843751],
+              [-107.7103515625, 66.7400390625001],
+              [-107.798291015625, 68.0369140625],
+              [-106.60849609375, 68.357373046875],
+              [-108.718115234375, 68.2974609375001],
+              [-105.37744140625, 68.413818359375],
+              [-102.320361328125, 67.7356445312501],
+              [-98.4121093749999, 67.8071777343751],
+              [-97.739111328125, 67.9781738281251],
+              [-97.7942382812499, 68.38759765625],
+              [-96.4306640624999, 68.3105957031251],
+              [-96.1414550781249, 67.271826171875],
+              [-95.399658203125, 66.9494628906251],
+              [-94.7444335937499, 68.0708984375],
+              [-94.600439453125, 68.8032226562501],
+              [-93.7485351562499, 69.2261230468751],
+              [-94.8225097656249, 69.577783203125],
+              [-95.87861328125, 70.5489746093751],
+              [-96.44658203125, 71.239892578125],
+              [-95.8723144531249, 71.5731445312501],
+              [-92.9486816406249, 71.2621093750001],
+              [-92.5118652343749, 70.103857421875],
+              [-91.911962890625, 69.53125],
+              [-90.89228515625, 69.26728515625],
+              [-90.20478515625, 68.2574707031251],
+              [-87.89267578125, 68.24814453125],
+              [-86.5607910156249, 67.4821289062501],
+              [-84.86220703125, 69.073974609375],
+              [-82.3902343749999, 69.6008789062501],
+              [-81.3778320312501, 69.18564453125],
+              [-81.9148437499999, 68.4587890625001],
+              [-81.97646484375, 67.86201171875],
+              [-84.5384765624999, 66.9728027343751],
+              [-84.223046875, 66.6824707031251],
+              [-85.603857421875, 66.5682617187501],
+              [-87.452880859375, 65.3389648437501],
+              [-91.4272460937499, 65.947900390625],
+              [-88.9740234374999, 65.348291015625],
+              [-89.2006347656249, 64.1137695312501],
+              [-90.0416503906249, 64.1408691406251],
+              [-90.8119140624999, 63.580908203125],
+              [-93.5598144531249, 63.8652832031251],
+              [-92.4650878906249, 63.5550781250001],
+              [-91.448974609375, 62.804052734375],
+              [-92.7659667968749, 62.3499511718751],
+              [-93.3330566406249, 61.93291015625],
+              [-94.509375, 60.6045410156249],
+              [-94.2870605468749, 58.7160156250001],
+              [-92.4328124999999, 57.3203125],
+              [-88.07509765625, 56.4672851562499],
+              [-85.3652832031249, 55.079296875],
+              [-82.219384765625, 54.8134765625],
+              [-81.5994140624999, 52.4326171875001],
+              [-80.4433105468749, 51.38857421875],
+              [-79.3479003906249, 50.762646484375],
+              [-78.903173828125, 51.20029296875],
+              [-78.7441406249999, 52.65537109375],
+              [-79.1467285156249, 54.16923828125],
+              [-76.5255859375, 56.8917968750001],
+              [-77.760693359375, 59.3800292968751],
+              [-77.2892089843749, 60.0220214843751],
+              [-77.503564453125, 60.542724609375],
+              [-77.51435546875, 61.5562988281251],
+              [-75.8168945312499, 62.3158691406251],
+              [-74.6458007812499, 62.2111328125],
+              [-72.50556640625, 61.9226562500001],
+              [-70.2792968749999, 61.06865234375],
+              [-69.75947265625, 60.440234375],
+              [-69.7841796874999, 58.9557128906251],
+              [-68.698193359375, 58.904541015625],
+              [-69.0408203125, 57.9024902343751],
+              [-66.7221679687499, 58.491015625],
+              [-65.72099609375, 59.023779296875],
+              [-65.4750976562499, 59.4703125],
+              [-64.4195800781249, 60.17138671875],
+              [-63.5398925781249, 59.332861328125],
+              [-63.2099609374999, 58.466943359375],
+              [-62.48623046875, 58.1540527343751],
+              [-62.4955566406249, 57.4892089843751],
+              [-61.371630859375, 56.6808105468751],
+              [-61.4495117187499, 55.995703125],
+              [-60.3410156249999, 55.78466796875],
+              [-59.7587890625, 55.3095703125],
+              [-57.9624511718749, 54.8757324218751],
+              [-58.633203125, 54.049560546875],
+              [-60.1002929687499, 53.4869628906251],
+              [-58.3174804687499, 54.1144531250001],
+              [-57.524072265625, 53.6114257812501],
+              [-55.96611328125, 53.4711425781251],
+              [-55.7464843749999, 52.4745605468751],
+              [-56.9759765625001, 51.4576660156251],
+              [-61.9195312499999, 50.2328613281251],
+              [-67.372021484375, 49.3484375],
+              [-69.8655273437499, 48.1722656250001],
+              [-71.2677734375, 46.795947265625],
+              [-74.0378417968749, 45.5018554687501]
+            ]
+          ],
+          [
+            [
+              [-114.521533203125, 72.592919921875],
+              [-111.2697265625, 72.713720703125],
+              [-110.66083984375, 73.008203125],
+              [-107.812841796875, 71.626171875],
+              [-106.48212890625, 73.19619140625],
+              [-103.5845703125, 70.630859375],
+              [-101.56240234375, 70.135009765625],
+              [-101.64765625, 69.6985351562501],
+              [-103.464892578125, 69.644482421875],
+              [-102.045947265625, 69.46484375],
+              [-105.105859375, 68.92041015625],
+              [-107.439892578125, 69.0021484375],
+              [-113.616845703125, 68.8384765625],
+              [-117.19541015625, 70.054052734375],
+              [-113.757275390625, 70.6907226562501],
+              [-118.269091796875, 71.0347167968751],
+              [-117.742333984375, 71.659326171875],
+              [-118.2134765625, 72.262890625],
+              [-114.206396484375, 73.297802734375]
+            ]
+          ],
+          [
+            [
+              [-79.5373046875, 73.6544921875],
+              [-77.8359375, 72.896826171875],
+              [-80.776416015625, 73.3341796875]
+            ]
+          ],
+          [
+            [
+              [-86.58935546875, 71.0107910156251],
+              [-84.6994140625, 71.6314453125],
+              [-84.283740234375, 72.044482421875],
+              [-85.64990234375, 72.72216796875],
+              [-84.416064453125, 73.456494140625],
+              [-81.40615234375, 73.634521484375],
+              [-80.925146484375, 71.907666015625],
+              [-79.831298828125, 72.4462890625],
+              [-78.862744140625, 72.100830078125],
+              [-77.75322265625, 72.724755859375],
+              [-74.903173828125, 72.10048828125],
+              [-74.70078125, 71.6755859375001],
+              [-74.197265625, 71.404150390625],
+              [-72.901953125, 71.6777832031251],
+              [-71.937939453125, 71.094287109375],
+              [-70.8260742187499, 71.108740234375],
+              [-71.27587890625, 70.50029296875],
+              [-68.495751953125, 70.61025390625],
+              [-69.00830078125, 69.978955078125],
+              [-67.221630859375, 69.7307128906251],
+              [-67.236962890625, 69.460107421875],
+              [-69.040625, 69.097998046875],
+              [-69.319091796875, 68.8569824218751],
+              [-65.86435546875, 67.9228515625],
+              [-64.922314453125, 68.031640625],
+              [-64.007958984375, 67.347314453125],
+              [-62.123583984375, 67.046728515625],
+              [-61.57080078125, 66.3729003906251],
+              [-61.9916015625, 66.035302734375],
+              [-64.269677734375, 65.40078125],
+              [-65.0044921875, 66.077734375],
+              [-66.986328125, 66.6274902343751],
+              [-68.459912109375, 66.249267578125],
+              [-67.3365234375, 65.3465820312501],
+              [-65.938525390625, 64.8857421875],
+              [-64.79814453125, 63.915966796875],
+              [-65.0689453125, 63.2634765625],
+              [-66.6974609374999, 63.06953125],
+              [-68.911083984375, 63.70322265625],
+              [-65.98017578125, 62.20888671875],
+              [-69.604736328125, 62.767724609375],
+              [-70.946044921875, 63.120703125],
+              [-72.29013671875, 63.727978515625],
+              [-73.2712890625, 64.58251953125],
+              [-78.0452148437499, 64.499267578125],
+              [-75.8283203124999, 65.22705078125],
+              [-75.16630859375, 65.283935546875],
+              [-73.033251953125, 66.7281738281251],
+              [-73.8205078125, 68.362939453125],
+              [-76.5572265625, 69.00947265625],
+              [-76.23408203125, 69.662109375],
+              [-77.591650390625, 69.84560546875],
+              [-79.405224609375, 70.400732421875],
+              [-83.1499511718749, 70.00908203125],
+              [-86.322021484375, 70.14541015625],
+              [-89.455908203125, 71.06171875],
+              [-89.8615234375, 72.4119140625001],
+              [-84.94677734375, 73.721630859375],
+              [-85.023388671875, 71.35322265625]
+            ]
+          ],
+          [
+            [
+              [-100.001904296875, 73.9458984375],
+              [-97.001708984375, 73.66650390625],
+              [-97.636328125, 73.02763671875],
+              [-96.80146484375, 72.322412109375],
+              [-98.322705078125, 71.85234375],
+              [-100.594482421875, 72.15234375],
+              [-102.20400390625, 73.077294921875],
+              [-100.128125, 72.906689453125],
+              [-100.88935546875, 73.275341796875],
+              [-100.96298828125, 73.79140625]
+            ]
+          ],
+          [
+            [
+              [-93.170849609375, 74.1609863281251],
+              [-92.117919921875, 72.75380859375],
+              [-94.037548828125, 72.028759765625],
+              [-94.697607421875, 73.66357421875]
+            ]
+          ],
+          [
+            [
+              [-119.736328125, 74.112646484375],
+              [-117.51484375, 74.23173828125],
+              [-119.512841796875, 72.302685546875],
+              [-121.749365234375, 71.444775390625],
+              [-125.8453125, 71.978662109375],
+              [-119.562646484375, 74.2328125]
+            ]
+          ],
+          [
+            [
+              [-102.22734375, 76.014892578125],
+              [-103.04150390625, 75.91884765625],
+              [-104.350634765625, 76.18232421875]
+            ]
+          ],
+          [
+            [
+              [-97.700927734375, 76.46650390625],
+              [-97.6533203125, 75.507763671875],
+              [-98.120947265625, 75.03271484375],
+              [-100.7119140625, 75.40634765625],
+              [-102.1447265625, 75.875048828125],
+              [-101.528955078125, 76.21728515625],
+              [-100.112841796875, 76.1172363281251],
+              [-100.829736328125, 76.523876953125],
+              [-97.700927734375, 76.46650390625]
+            ]
+          ],
+          [
+            [
+              [-108.2923828125, 76.05712890625],
+              [-106.913525390625, 75.679638671875],
+              [-106.092626953125, 75.089453125],
+              [-112.5193359375, 74.416845703125],
+              [-111.67109375, 75.01943359375],
+              [-113.46708984375, 75.41611328125],
+              [-114.4517578125, 75.087890625],
+              [-116.47607421875, 75.17177734375],
+              [-115.141845703125, 75.6785156250001],
+              [-114.99150390625, 75.896337890625],
+              [-115.82216796875, 76.27001953125],
+              [-112.697607421875, 76.2017089843751],
+              [-109.8705078125, 75.929052734375],
+              [-108.4669921875, 76.7375976562501]
+            ]
+          ],
+          [
+            [
+              [-94.2949707031249, 76.912451171875],
+              [-91.305029296875, 76.68076171875],
+              [-89.406591796875, 76.18916015625],
+              [-88.91669921875, 75.453955078125],
+              [-83.931982421875, 75.8189453125],
+              [-79.50908203125, 75.259814453125],
+              [-80.34775390625, 74.9029785156251],
+              [-83.5220703125, 74.90146484375],
+              [-85.133447265625, 74.517431640625],
+              [-88.5349609374999, 74.83173828125],
+              [-91.1345703125, 74.649853515625],
+              [-93.091748046875, 76.35400390625],
+              [-96.880712890625, 76.7383300781251],
+              [-94.2949707031249, 76.912451171875]
+            ]
+          ],
+          [
+            [
+              [-115.55126953125, 77.36328125],
+              [-115.9462890625, 76.711279296875],
+              [-117.880810546875, 76.8050781250001],
+              [-119.526123046875, 75.9972167968751],
+              [-121.2134765625, 75.9836914062501],
+              [-122.519384765625, 76.353173828125],
+              [-117.03974609375, 77.4651367187501]
+            ]
+          ],
+          [
+            [
+              [-110.458056640625, 78.10322265625],
+              [-110.198486328125, 77.52451171875],
+              [-110.458056640625, 78.10322265625]
+            ]
+          ],
+          [
+            [
+              [-109.815966796875, 78.650390625],
+              [-112.13125, 78.366064453125],
+              [-109.815966796875, 78.650390625]
+            ]
+          ],
+          [
+            [
+              [-96.2044921874999, 78.531298828125],
+              [-96.9896484374999, 77.806005859375],
+              [-98.3326171875, 78.7735351562501]
+            ]
+          ],
+          [
+            [
+              [-103.426025390625, 79.315625],
+              [-100.435498046875, 78.8203125],
+              [-101.07412109375, 78.19384765625],
+              [-104.76357421875, 78.35166015625],
+              [-103.37158203125, 78.736328125],
+              [-104.74677734375, 79.027099609375],
+              [-103.426025390625, 79.315625]
+            ]
+          ],
+          [
+            [
+              [-91.885546875, 81.1328613281251],
+              [-88.19990234375, 80.111474609375],
+              [-85.6478515625, 79.6114257812501],
+              [-90.037109375, 78.6068359375],
+              [-92.35126953125, 78.312890625],
+              [-93.634423828125, 78.750927734375],
+              [-91.29990234375, 79.372705078125],
+              [-95.103173828125, 79.289892578125],
+              [-96.5890625, 79.916650390625],
+              [-93.9279296875, 80.5591796875],
+              [-94.2201171875, 81.33076171875]
+            ]
+          ],
+          [
+            [
+              [-69.4888671875, 83.016796875],
+              [-64.98388671875, 82.902294921875],
+              [-62.4751953125, 82.519580078125],
+              [-70.71259765625, 80.5395996093751],
+              [-71.387841796875, 79.7617675781251],
+              [-76.255859375, 79.0068359375],
+              [-75.19345703125, 78.327734375],
+              [-78.70849609375, 77.342138671875],
+              [-82.056787109375, 77.296533203125],
+              [-78.2888671875, 76.977978515625],
+              [-80.9745117187499, 76.470068359375],
+              [-86.4537109375, 76.58486328125],
+              [-87.49755859375, 76.386279296875],
+              [-89.36962890625, 76.474462890625],
+              [-87.6814453125, 77.436376953125],
+              [-84.738671875, 77.36103515625],
+              [-83.77939453125, 77.5326171875],
+              [-84.222705078125, 78.176025390625],
+              [-86.2177734375, 78.081201171875],
+              [-86.80791015625, 78.774365234375],
+              [-82.43876953125, 78.903662109375],
+              [-86.420751953125, 79.84521484375],
+              [-80.475927734375, 79.60625],
+              [-76.86298828125, 80.8647949218751],
+              [-82.884326171875, 80.5775390625],
+              [-87.3298828125, 80.669775390625],
+              [-84.9412109375, 81.28623046875],
+              [-89.20869140625, 81.25009765625],
+              [-90.41630859375, 81.40537109375],
+              [-88.06318359375, 82.0964843750001],
+              [-86.615625, 82.2185546875001],
+              [-79.465625, 81.851123046875],
+              [-80.8625, 82.571533203125],
+              [-77.61806640625, 82.895849609375],
+              [-71.983203125, 83.101416015625],
+              [-69.4888671875, 83.016796875]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Canada" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [9.52765819747012, 47.2702698977367],
+            [9.57997913393674, 47.0585638862931],
+            [10.41494140625, 46.964404296875],
+            [10.39794921875, 46.6650390625],
+            [10.08701171875, 46.59990234375],
+            [10.041015625, 46.2380859375],
+            [9.39931640625002, 46.4806640625],
+            [8.97551618303573, 45.8167745535714],
+            [8.370703125, 46.4451171875],
+            [7.9931640625, 46.01591796875],
+            [7.02109375, 45.92578125],
+            [6.75810546875002, 46.415771484375],
+            [5.97148437500002, 46.151220703125],
+            [6.12968750000002, 46.5669921875],
+            [6.95205078125002, 47.2671875],
+            [6.900390625, 47.39423828125],
+            [7.615625, 47.592724609375],
+            [8.40341796875001, 47.68779296875],
+            [9.62587890625002, 47.467041015625]
+          ]
+        ]
+      },
+      "properties": { "name": "Switzerland" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [-69.702978515625, -54.91904296875],
+              [-68.282666015625, -55.25517578125],
+              [-69.97978515625, -55.1474609375]
+            ]
+          ],
+          [
+            [
+              [-72.9232421875, -53.481640625],
+              [-72.408544921875, -54.00380859375],
+              [-73.08076171875, -53.998046875],
+              [-73.4470703124999, -53.41005859375]
+            ]
+          ],
+          [
+            [
+              [-68.629931640625, -52.65263671875],
+              [-70.49716796875, -54.8095703125],
+              [-71.079931640625, -54.44423828125],
+              [-70.6298339843749, -54.00556640625],
+              [-69.2531738281249, -54.557421875],
+              [-70.09111328125, -53.72177734375],
+              [-70.4433593749999, -53.085546875],
+              [-69.4140625, -52.48623046875]
+            ]
+          ],
+          [
+            [
+              [-74.476171875, -49.1478515625],
+              [-74.723828125, -49.423828125],
+              [-75.305859375, -49.49404296875],
+              [-74.94921875, -48.96015625]
+            ]
+          ],
+          [
+            [
+              [-73.7353515625, -44.39453125],
+              [-74.6177734375, -44.64794921875],
+              [-73.70322265625, -44.27412109375]
+            ]
+          ],
+          [
+            [
+              [-73.773388671875, -43.3458984375],
+              [-73.52783203125, -41.8962890625],
+              [-73.436328125, -42.9365234375]
+            ]
+          ],
+          [
+            [
+              [-67.1948730468749, -22.8216796875],
+              [-68.56201171875, -24.74736328125],
+              [-68.5916015625, -26.47041015625],
+              [-70.3090820312499, -31.02265625],
+              [-70.36376953125, -32.08349609375],
+              [-69.85244140625, -34.22431640625],
+              [-71.167578125, -37.7623046875],
+              [-71.9321289062499, -40.69169921875],
+              [-72.146435546875, -42.9900390625],
+              [-71.8200195312499, -44.38310546875],
+              [-72.063720703125, -44.771875],
+              [-71.74619140625, -45.57890625],
+              [-71.940234375, -46.83125],
+              [-72.3283203125, -48.11005859375],
+              [-73.033642578125, -49.01435546875],
+              [-73.50126953125, -50.12529296875],
+              [-72.407666015625, -51.5408203125],
+              [-69.241015625, -52.20546875],
+              [-71.29775390625, -53.8833984375],
+              [-71.89169921875, -53.52353515625],
+              [-71.2271484375, -52.81064453125],
+              [-73.052734375, -53.2434570312501],
+              [-71.511279296875, -52.60537109375],
+              [-73.1224609375, -53.07392578125],
+              [-73.244140625, -52.6240234375],
+              [-73.83447265625, -52.233984375],
+              [-72.570849609375, -52.2000976562499],
+              [-72.4896484375, -51.763671875],
+              [-73.5181640625, -52.041015625],
+              [-73.939501953125, -51.2663085937501],
+              [-74.77587890625, -50.469921875],
+              [-73.80654296875, -50.93837890625],
+              [-74.32392578125, -49.7833984375],
+              [-73.9349609374999, -49.0208984375],
+              [-74.00908203125, -48.475],
+              [-73.609912109375, -47.9939453125],
+              [-74.654931640625, -47.70224609375],
+              [-74.482666015625, -47.43046875],
+              [-74.512255859375, -46.88515625],
+              [-75.43037109375, -46.9345703125],
+              [-74.157861328125, -45.7671875],
+              [-74.019921875, -46.055859375],
+              [-73.7352539062499, -45.81171875],
+              [-73.5918457031249, -45.89912109375],
+              [-73.444970703125, -45.23818359375],
+              [-72.6638671875, -44.43642578125],
+              [-72.99658203125, -43.63154296875],
+              [-72.77392578125, -42.50517578125],
+              [-72.412353515625, -42.38818359375],
+              [-72.31826171875, -41.4990234375],
+              [-73.6240234375, -41.7736328125],
+              [-73.9658691406249, -41.11826171875],
+              [-73.52021484375, -38.509375],
+              [-73.60166015625, -37.1884765625],
+              [-72.62392578125, -35.5857421875],
+              [-71.74296875, -33.0951171875],
+              [-71.0865234375, -27.814453125],
+              [-70.445361328125, -25.17265625],
+              [-70.56318359375, -23.05703125],
+              [-69.8520996093749, -17.70380859375],
+              [-69.31337890625, -17.9431640625],
+              [-68.857958984375, -19.0933593750001],
+              [-68.470166015625, -19.4099609375],
+              [-68.759326171875, -20.11552734375],
+              [-67.579931640625, -22.89169921875]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Chile" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [110.88876953125, 19.991943359375],
+              [110.0673828125, 18.44755859375],
+              [109.27666015625, 19.7611328125],
+              [110.58818359375, 19.9763671875]
+            ]
+          ],
+          [
+            [
+              [130.526953125, 42.535400390625],
+              [129.6978515625, 42.44814453125],
+              [128.2892578125, 41.6074218750001],
+              [126.74306640625, 41.724853515625],
+              [124.10576171875, 39.841015625],
+              [121.67724609375, 39.0034179687501],
+              [121.26748046875, 39.544677734375],
+              [122.275, 40.541845703125],
+              [120.4791015625, 40.23095703125],
+              [118.04091796875, 39.2267578125],
+              [117.76669921875, 38.311669921875],
+              [118.95263671875, 37.33115234375],
+              [120.2572265625, 37.67900390625],
+              [122.6669921875, 37.40283203125],
+              [120.18330078125, 36.20244140625],
+              [119.16533203125, 34.848828125],
+              [120.85322265625, 32.661376953125],
+              [121.86630859375, 31.703564453125],
+              [120.5201171875, 32.105859375],
+              [121.66064453125, 31.3197265625],
+              [120.4498046875, 30.3878417968751],
+              [121.2580078125, 30.3041015625001],
+              [121.9412109375, 29.605908203125],
+              [121.6099609375, 28.2921386718751],
+              [120.74765625, 28.0099609375],
+              [120.2787109375, 27.0970703125],
+              [119.139453125, 26.12177734375],
+              [119.6224609375, 25.391162109375],
+              [118.00595703125, 24.481982421875],
+              [117.46640625, 23.840576171875],
+              [116.91064453125, 23.6466796875],
+              [116.53828125, 23.1796875],
+              [115.6404296875, 22.85341796875],
+              [114.65166015625, 22.7552734375],
+              [113.61962890625, 22.86142578125],
+              [112.95390625, 21.90732421875],
+              [110.5671875, 21.2140625],
+              [110.3130859375, 20.6716796875],
+              [109.968359375, 20.44814453125],
+              [109.6869140625, 21.524609375],
+              [107.75927734375, 21.6550292968751],
+              [106.550390625, 22.5013671875],
+              [106.1484375, 22.970068359375],
+              [102.4708984375, 22.750927734375],
+              [102.12744140625, 22.37919921875],
+              [101.70751953125, 22.486572265625],
+              [101.56787109375, 22.2763671875],
+              [101.728125, 21.156396484375],
+              [101.2478515625, 21.197314453125],
+              [101.175390625, 21.4075195312501],
+              [100.60458984375, 21.47177734375],
+              [99.1929687500001, 22.1259765625],
+              [98.8322265625001, 23.624365234375],
+              [97.5645507812501, 23.91103515625],
+              [97.7378906250001, 24.8698730468751],
+              [98.3337890625001, 25.586767578125],
+              [98.7384765625001, 26.7857421875],
+              [98.0616210937501, 28.185888671875],
+              [97.3564453125, 28.2544921875],
+              [97.0492936956163, 27.7600044431639],
+              [95.1129889296259, 27.7483383532395],
+              [92.7431948121878, 26.8335313173841],
+              [92.0298513956315, 27.0398708733145],
+              [91.950998387344, 27.4582879911541],
+              [91.2258789062501, 28.071240234375],
+              [90.630078125, 28.078564453125],
+              [89.9810546875001, 28.311181640625],
+              [88.83251953125, 27.362841796875],
+              [88.848828125, 27.86865234375],
+              [87.0201171875001, 27.928662109375],
+              [86.7196289062501, 28.070654296875],
+              [86.5168945312501, 27.963525390625],
+              [86.13701171875, 28.1143554687501],
+              [85.9541015625, 27.92822265625],
+              [85.6783203125001, 28.27744140625],
+              [85.08857421875, 28.372265625],
+              [85.1263671875, 28.6026367187501],
+              [84.2287109375001, 28.911767578125],
+              [84.02197265625, 29.253857421875],
+              [81.4171875000001, 30.33759765625],
+              [80.87353515625, 30.290576171875],
+              [78.7550781250001, 31.55029296875],
+              [78.4552734375001, 32.300341796875],
+              [79.1028320312501, 33.0525390625],
+              [78.8650390625, 33.431103515625],
+              [78.93642578125, 34.351953125],
+              [78.0757812500001, 35.134912109375],
+              [76.5020507812501, 35.87822265625],
+              [76.1478515625001, 35.82900390625],
+              [75.9518554687501, 36.45810546875],
+              [75.6671875000001, 36.7419921875],
+              [74.5264648437501, 37.0306640625001],
+              [74.8942382812501, 37.601416015625],
+              [73.80166015625, 38.606884765625],
+              [73.6363281250001, 39.3966796875],
+              [73.9146484375, 39.606494140625],
+              [73.85625, 39.828662109375],
+              [75.55556640625, 40.6251953125],
+              [76.3185546875001, 40.35224609375],
+              [76.8240234375, 40.98232421875],
+              [77.7193359375001, 41.02431640625],
+              [79.2935546875001, 41.7828125],
+              [80.2162109375001, 42.032421875],
+              [80.3552734375, 44.0972656250001],
+              [81.6919921875001, 45.349365234375],
+              [82.6116210937501, 45.424267578125],
+              [84.6666015625001, 46.97236328125],
+              [85.5259765625001, 47.915625],
+              [87.3228515625001, 49.085791015625],
+              [87.8142578125, 49.1623046875],
+              [88.0279296875001, 48.735595703125],
+              [88.6818359375, 48.170556640625],
+              [89.47919921875, 48.029052734375],
+              [90.1910156250001, 47.702099609375],
+              [90.869921875, 46.9544921875001],
+              [90.87724609375, 45.19609375],
+              [92.57890625, 45.0109863281251],
+              [95.35029296875, 44.278076171875],
+              [96.38544921875, 42.720361328125],
+              [101.5791015625, 42.52353515625],
+              [102.5751953125, 42.09208984375],
+              [104.30517578125, 41.846142578125],
+              [104.98203125, 41.5955078125],
+              [108.6873046875, 42.41611328125],
+              [111.0072265625, 43.34140625],
+              [111.898046875, 45.0640625],
+              [113.3009765625, 44.791650390625],
+              [113.87705078125, 44.89619140625],
+              [114.56015625, 45.389990234375],
+              [115.6810546875, 45.458251953125],
+              [116.21298828125, 45.8869140625],
+              [117.35693359375, 46.39130859375],
+              [117.4380859375, 46.58623046875],
+              [118.64873046875, 46.7016601562501],
+              [119.706640625, 46.606005859375],
+              [119.7111328125, 47.15],
+              [118.7599609375, 47.7576171875],
+              [117.768359375, 47.987890625],
+              [116.0748046875, 47.78955078125],
+              [115.52509765625, 48.130859375],
+              [115.79169921875, 48.455712890625],
+              [118.4515625, 49.844482421875],
+              [120.06689453125, 51.6006835937501],
+              [120.09453125, 52.78720703125],
+              [125.075, 53.203662109375],
+              [127.30703125, 50.707958984375],
+              [127.999609375, 49.5686035156251],
+              [130.19599609375, 48.891650390625],
+              [130.7326171875, 48.01923828125],
+              [134.566015625, 48.022509765625],
+              [133.43642578125, 45.6046875],
+              [131.85185546875, 45.32685546875],
+              [131.25732421875, 43.378076171875]
+            ]
+          ],
+          [
+            [
+              [121.0087890625, 22.620361328125],
+              [120.13212890625, 23.6529296875],
+              [121.3974609375, 23.172509765625]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "China" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [-5.26230468749998, 10.319677734375],
+            [-4.40620117187493, 9.64799804687503],
+            [-3.58115234374998, 9.92431640625001],
+            [-2.69584960937499, 9.48134765625001],
+            [-2.53828124999996, 8.17163085937499],
+            [-3.22714843749998, 6.74912109374999],
+            [-2.815673828125, 5.15302734375],
+            [-4.12016601562502, 5.30971679687502],
+            [-5.28237304687499, 5.21025390625002],
+            [-7.54497070312499, 4.351318359375],
+            [-7.45439453124999, 5.84130859374997],
+            [-8.287109375, 6.31904296875004],
+            [-8.42998046874999, 7.60185546874999],
+            [-8.11542968749993, 7.76074218750003],
+            [-8.23696289062499, 8.45566406250003],
+            [-7.69609374999993, 8.37558593749998],
+            [-7.990625, 10.1625],
+            [-6.95034179687499, 10.342333984375],
+            [-6.250244140625, 10.717919921875],
+            [-6.23837890624998, 10.26162109375],
+            [-5.38227539062501, 10.314013671875]
+          ]
+        ]
+      },
+      "properties": { "name": "C\u00f4te d'Ivoire" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [15.480078125, 7.52377929687499],
+            [14.61689453125, 5.86513671874999],
+            [15.7416015625, 1.914990234375],
+            [13.2203125, 2.25644531249999],
+            [9.8369140625, 2.2423828125],
+            [9.68886718750002, 4.056396484375],
+            [8.91826171875002, 4.55375976562499],
+            [8.715625, 5.046875],
+            [9.82070312500002, 6.783935546875],
+            [10.1677734375, 6.9591796875],
+            [11.1064453125, 6.45771484375],
+            [11.55166015625, 6.697265625],
+            [12.403515625, 8.59555664062499],
+            [12.80654296875, 8.88662109374999],
+            [13.89208984375, 11.140087890625],
+            [14.20234375, 11.2681640625],
+            [14.46171875, 13.02177734375],
+            [15.1322265625, 10.648486328125],
+            [13.97724609375, 9.69155273437499],
+            [15.480078125, 7.52377929687499]
+          ]
+        ]
+      },
+      "properties": { "name": "Cameroon" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [27.4033203125, 5.10917968749999],
+            [30.194921875, 3.98193359375],
+            [30.83857421875, 3.49072265625],
+            [30.72861328125, 2.45537109374999],
+            [29.93447265625, 0.4990234375],
+            [29.13154296875, -2.1951171875],
+            [29.32568359375, -4.83564453125001],
+            [29.594140625, -5.65078125],
+            [29.480078125, -6.025],
+            [29.70966796875, -6.61689453125001],
+            [30.2126953125, -7.037890625],
+            [28.89814453125, -8.48544921875001],
+            [28.6455078125, -10.5501953125],
+            [29.485546875, -12.41845703125],
+            [29.55419921875, -13.24892578125],
+            [26.8240234375, -11.965234375],
+            [24.3779296875, -11.41708984375],
+            [23.83388671875, -11.013671875],
+            [22.56103515625, -11.055859375],
+            [22.27880859375, -11.194140625],
+            [21.75107421875, -7.30546875],
+            [20.5583984375, -7.24443359375],
+            [20.5900390625, -6.919921875],
+            [19.8751953125, -6.986328125],
+            [18.94443359375, -8.00146484375],
+            [17.57958984375, -8.09902343750001],
+            [16.315234375, -5.865625],
+            [12.4529296875, -6.00048828125],
+            [12.502734375, -5.0369140625],
+            [13.13662109375, -4.604296875],
+            [13.94091796875, -4.48466796875],
+            [14.4107421875, -4.83125],
+            [16.21533203125, -2.17783203125001],
+            [18.07216796875, 2.01328125],
+            [19.0685546875, 4.89140624999999],
+            [20.55810546875, 4.46269531249999],
+            [24.31982421875, 4.994140625],
+            [27.071875, 5.19975585937499]
+          ]
+        ]
+      },
+      "properties": { "name": "Dem. Rep. Congo" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [18.6103515625, 3.47841796874999],
+            [15.9900390625, -3.76621093750001],
+            [13.6595703125, -4.721484375],
+            [13.07275390625, -4.634765625],
+            [12.84814453125, -4.42890625000001],
+            [11.13017578125, -3.91630859375],
+            [11.8798828125, -3.66591796875001],
+            [11.53779296875, -2.83671875],
+            [12.43212890625, -1.92890625000001],
+            [13.46494140625, -2.39541015625001],
+            [14.1998046875, -2.35419921875001],
+            [13.86005859375, -0.203320312500011],
+            [14.180859375, 1.37021484374999],
+            [13.2935546875, 2.161572265625],
+            [16.059375, 1.676220703125],
+            [17.4916015625, 3.68730468749999]
+          ]
+        ]
+      },
+      "properties": { "name": "Congo" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [-71.3197265625, 11.8619140625],
+            [-72.8693359375, 10.491259765625],
+            [-72.79638671875, 9.10898437499999],
+            [-72.20771484375, 7.37026367187498],
+            [-70.12919921875, 6.95361328125],
+            [-67.481982421875, 6.18027343750002],
+            [-67.66162109375, 3.86425781249999],
+            [-67.21083984375, 2.39013671875004],
+            [-67.400439453125, 2.11669921875003],
+            [-68.1765625, 1.71982421874999],
+            [-69.1533203124999, 0.65878906250002],
+            [-69.633984375, -0.50927734375],
+            [-69.96591796875, -4.2359375],
+            [-70.339501953125, -3.81435546875001],
+            [-70.24443359375, -2.60654296874998],
+            [-70.70537109375, -2.34199218749998],
+            [-71.7525390625, -2.15273437499998],
+            [-71.98427734375, -2.32656249999995],
+            [-73.1544921874999, -2.27822265624997],
+            [-73.86318359375, -1.19667968749998],
+            [-74.8017578125, -0.200097656249994],
+            [-76.27060546875, 0.439404296874997],
+            [-77.702880859375, 0.837841796874997],
+            [-78.7929687499999, 1.84873046874996],
+            [-78.0666503906249, 2.50913085937503],
+            [-77.27802734375, 4.05849609375002],
+            [-77.249267578125, 5.78017578125004],
+            [-77.7619140625, 7.69882812500003],
+            [-77.3742187499999, 8.65830078125002],
+            [-76.7720703125, 8.31054687500004],
+            [-75.63935546875, 9.45043945312501],
+            [-75.44599609375, 10.610888671875],
+            [-74.40087890625, 10.765234375],
+            [-72.1357421874999, 12.18857421875],
+            [-71.3197265625, 11.8619140625]
+          ]
+        ]
+      },
+      "properties": { "name": "Colombia" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [-83.6419921875, 10.917236328125],
+            [-82.56923828125, 9.55820312499999],
+            [-82.93984375, 9.449169921875],
+            [-82.741162109375, 8.95170898437499],
+            [-82.844775390625, 8.48935546874999],
+            [-83.12333984375, 8.35307617187499],
+            [-83.54375, 8.44584960937499],
+            [-84.88642578125, 9.82094726562499],
+            [-85.849658203125, 10.292041015625],
+            [-85.5841796875, 11.189453125],
+            [-83.712939453125, 10.785888671875]
+          ]
+        ]
+      },
+      "properties": { "name": "Costa Rica" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [-81.837451171875, 23.163037109375],
+              [-80.364892578125, 22.9434082031251],
+              [-77.144140625, 21.643603515625],
+              [-76.867431640625, 21.330419921875],
+              [-74.882568359375, 20.650634765625],
+              [-75.11640625, 19.901416015625],
+              [-77.715087890625, 19.85546875],
+              [-78.4907714843749, 21.0537109375],
+              [-80.48544921875, 22.1234375],
+              [-81.8494140624999, 22.213671875],
+              [-82.738037109375, 22.6892578125001],
+              [-84.502587890625, 21.776171875],
+              [-84.361279296875, 22.37890625]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Cuba" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [34.0044921875, 35.065234375],
+            [32.7126953125, 35.171044921875],
+            [34.5560546875, 35.662060546875]
+          ]
+        ]
+      },
+      "properties": { "name": "N. Cyprus" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [32.7126953125, 35.171044921875],
+            [34.0044921875, 35.065234375],
+            [32.4490234375, 34.729443359375]
+          ]
+        ]
+      },
+      "properties": { "name": "Cyprus" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [14.809375, 50.858984375],
+            [16.0072265625, 50.61162109375],
+            [16.63916015625, 50.1021484375],
+            [17.70224609375, 50.307177734375],
+            [18.56240234375, 49.879345703125],
+            [17.75849609375, 48.888134765625],
+            [13.81474609375, 48.766943359375],
+            [13.44072265625, 48.95556640625],
+            [12.39052734375, 49.7396484375],
+            [12.1748046875, 50.28837890625],
+            [14.3197265625, 51.03779296875],
+            [14.76650390625, 50.818310546875]
+          ]
+        ]
+      },
+      "properties": { "name": "Czech Rep." }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [9.73974609375003, 54.825537109375],
+              [11.0133789062501, 54.379150390625],
+              [11.399609375, 53.94462890625],
+              [13.448046875, 54.140869140625],
+              [14.2987304687501, 53.5564453125],
+              [14.2537109375, 52.78251953125],
+              [14.7525390625, 52.0818359375],
+              [14.7247070312501, 51.523876953125],
+              [14.9174804687501, 51.008740234375],
+              [14.7665039062501, 50.818310546875],
+              [14.3197265625001, 51.03779296875],
+              [12.0897460937501, 50.2685546875],
+              [12.68115234375, 49.414501953125],
+              [13.8029296875, 48.747509765625],
+              [13.215234375, 48.301904296875],
+              [12.96806640625, 47.47568359375],
+              [12.2092773437501, 47.71826171875],
+              [11.0419921875, 47.393115234375],
+              [10.439453125, 47.5515625],
+              [10.2002929687501, 47.3634277343751],
+              [8.41328125000007, 47.6626953125],
+              [7.615625, 47.592724609375],
+              [6.13818359375, 49.97431640625],
+              [5.99394531250002, 50.750439453125],
+              [6.19882812500003, 51.45],
+              [7.03515625000006, 52.380224609375],
+              [7.19726562500003, 53.282275390625],
+              [8.10849609375006, 53.46767578125],
+              [8.92041015625, 53.9653320312501],
+              [8.67031250000002, 54.90341796875]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Germany" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [43.24599609375, 11.4998046875],
+            [41.79267578125, 11.68603515625],
+            [42.47939453125, 12.513623046875],
+            [42.86591796875, 12.622802734375],
+            [43.353515625, 12.367041015625],
+            [42.5837890625, 11.49677734375]
+          ]
+        ]
+      },
+      "properties": { "name": "Djibouti" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [12.56875, 55.78505859375],
+              [12.050390625, 54.81533203125],
+              [10.9789062500001, 55.721533203125],
+              [11.86640625, 55.9681640625]
+            ]
+          ],
+          [
+            [
+              [9.73974609375003, 54.825537109375],
+              [8.16396484375008, 56.606884765625],
+              [9.19638671875001, 56.70166015625],
+              [8.468359375, 56.66455078125],
+              [9.96230468750008, 57.58095703125],
+              [10.75341796875, 56.2419921875],
+              [10.0236328125, 55.76142578125],
+              [9.73232421875002, 54.9680175781251]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Denmark" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [-71.647216796875, 19.195947265625],
+            [-71.779248046875, 19.7181640625],
+            [-69.9568359375, 19.671875],
+            [-68.9349609375, 18.4080078125],
+            [-70.644677734375, 18.33623046875],
+            [-71.768310546875, 18.03916015625],
+            [-71.80712890625, 18.98701171875]
+          ]
+        ]
+      },
+      "properties": { "name": "Dominican Rep." }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [8.20761718750001, 36.5189453125],
+            [8.35986328125, 35.299609375],
+            [8.1125, 33.055322265625],
+            [9.22402343750002, 31.373681640625],
+            [9.916015625, 27.785693359375],
+            [9.4482421875, 26.067138671875],
+            [10.6861328125, 24.5513671875],
+            [5.83662109375001, 19.479150390625],
+            [3.255859375, 19.4109375],
+            [-8.683349609375, 27.2859375],
+            [-7.48574218749999, 29.392236328125],
+            [-5.18012695312498, 30.166162109375],
+            [-4.32285156249998, 30.698876953125],
+            [-3.83710937499998, 31.512353515625],
+            [-2.86342773437499, 32.07470703125],
+            [-1.188232421875, 32.60849609375],
+            [-1.510009765625, 32.87763671875],
+            [-2.13178710937498, 34.970849609375],
+            [-0.426123046874977, 35.8615234375],
+            [2.593359375, 36.60068359375],
+            [5.29541015625, 36.6482421875],
+            [7.20429687500001, 37.0923828125],
+            [8.20761718750001, 36.5189453125]
+          ]
+        ]
+      },
+      "properties": { "name": "Algeria" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [-91.27216796875, 0.025146484374986],
+              [-91.41904296875, -0.996679687500006],
+              [-91.428857421875, -0.023388671874955]
+            ]
+          ],
+          [
+            [
+              [-75.28447265625, -0.10654296875002],
+              [-75.491064453125, -0.24833984374996],
+              [-75.348193359375, -0.966796874999957],
+              [-75.570556640625, -1.53125],
+              [-78.240380859375, -3.47255859375001],
+              [-79.07626953125, -4.990625],
+              [-79.3994140625, -4.84003906249998],
+              [-79.577685546875, -4.50058593750002],
+              [-80.1974609375, -4.31103515624994],
+              [-80.478564453125, -4.43007812500004],
+              [-80.4901367187499, -4.01005859375],
+              [-80.230517578125, -3.92402343749997],
+              [-79.963330078125, -3.15771484375],
+              [-80.0301757812499, -2.55673828124995],
+              [-80.760595703125, -1.93457031250003],
+              [-80.282373046875, -0.620507812500023],
+              [-78.899658203125, 1.20625],
+              [-75.77666015625, 0.08925781249998]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Ecuador" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [34.2453125, 31.20830078125],
+            [34.2201171875, 27.764306640625],
+            [32.359765625, 29.6306640625],
+            [33.84931640625, 27.184912109375],
+            [35.5408203125, 23.920654296875],
+            [36.87138671875, 21.996728515625],
+            [31.26064453125, 22.002294921875],
+            [24.9802734375, 25.5888671875],
+            [24.852734375, 31.334814453125],
+            [29.92978515625, 31.227490234375],
+            [31.88896484375, 31.54140625],
+            [32.1017578125, 31.092822265625],
+            [33.66650390625, 31.130419921875]
+          ]
+        ]
+      },
+      "properties": { "name": "Egypt" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [40.93857421875, 13.98310546875],
+              [38.9957031250001, 14.586865234375],
+              [37.8203125, 14.70849609375],
+              [37.54677734375, 14.14384765625],
+              [36.8119140625001, 14.3150390625],
+              [36.49228515625, 14.5443359375],
+              [36.9757812500001, 16.866552734375],
+              [37.5474609375001, 17.3241210937501],
+              [38.28984375, 17.63701171875],
+              [38.6094726562501, 18.005078125],
+              [39.86376953125, 15.4703125],
+              [42.2451171875, 13.587646484375],
+              [42.96953125, 12.808349609375],
+              [42.76748046875, 12.4228515625],
+              [42.40859375, 12.494384765625],
+              [41.362890625, 13.4998046875]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Eritrea" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [3.14531250000002, 39.790087890625],
+              [2.70058593750002, 39.542138671875],
+              [3.14531250000002, 39.790087890625]
+            ]
+          ],
+          [
+            [
+              [-1.79404296874995, 43.40732421875],
+              [-0.586425781249943, 42.798974609375],
+              [1.85976562500005, 42.457080078125],
+              [3.248046875, 41.94423828125],
+              [0.714648437500074, 40.8228515625],
+              [-0.204931640624949, 39.06259765625],
+              [-0.721582031249966, 37.6310546875],
+              [-4.36684570312499, 36.7181152343751],
+              [-5.62548828125, 36.025927734375],
+              [-6.39619140624998, 36.831640625],
+              [-7.53569335937496, 39.661572265625],
+              [-7.03261718749997, 40.167919921875],
+              [-6.54218749999996, 41.672509765625],
+              [-8.15249023437494, 41.811962890625],
+              [-9.03310546875002, 42.59384765625],
+              [-8.24892578124994, 43.439404296875],
+              [-7.06098632812496, 43.553955078125],
+              [-3.04560546874993, 43.37158203125]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Spain" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [22.6173828125, 58.621240234375],
+              [21.996875, 57.93134765625],
+              [22.6173828125, 58.621240234375]
+            ]
+          ],
+          [
+            [
+              [28.0125, 59.48427734375],
+              [27.7785156250001, 57.8707031250001],
+              [26.966015625, 57.6091308593751],
+              [25.27265625, 58.009375],
+              [24.3225585937501, 57.87060546875],
+              [23.50927734375, 58.658544921875],
+              [24.0833984375, 59.2918945312501],
+              [26.97470703125, 59.450634765625]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Estonia" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [38.4314453125, 14.42861328125],
+            [39.023828125, 14.62822265625],
+            [39.5318359375, 14.53671875],
+            [41.362890625, 13.4998046875],
+            [42.13427734375, 12.771435546875],
+            [41.79267578125, 11.68603515625],
+            [43.9837890625, 9.00883789062499],
+            [43.9888671875, 4.95053710937499],
+            [41.48193359375, 3.96328125],
+            [40.765234375, 4.27304687499999],
+            [39.49443359375, 3.45610351562499],
+            [38.0861328125, 3.64882812499999],
+            [35.7630859375, 4.80800781249999],
+            [35.74501953125, 5.343994140625],
+            [35.268359375, 5.49228515624999],
+            [33.90244140625, 7.509521484375],
+            [34.571875, 10.88017578125],
+            [36.6791015625, 14.307568359375],
+            [37.5072265625, 14.156396484375],
+            [38.0025390625, 14.737109375]
+          ]
+        ]
+      },
+      "properties": { "name": "Ethiopia" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [28.9658203125, 69.02197265625],
+              [28.68515625, 68.189794921875],
+              [30.1027343750001, 65.72626953125],
+              [29.60419921875, 64.968408203125],
+              [30.50390625, 64.02060546875],
+              [31.18671875, 62.481396484375],
+              [25.7580078125, 60.267529296875],
+              [23.0212890625001, 59.8160156250001],
+              [22.4626953125, 60.02919921875],
+              [21.2559570312501, 61.9896484375001],
+              [22.3197265625001, 63.31044921875],
+              [25.2881835937501, 64.8603515625],
+              [24.15546875, 65.8052734375001],
+              [23.7335937500001, 67.422900390625],
+              [21.9974609375001, 68.52060546875],
+              [21.59375, 69.273583984375],
+              [24.94140625, 68.5932617187501],
+              [27.1275390625001, 69.906494140625],
+              [28.8462890625, 69.176904296875]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Finland" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [178.28017578125, -17.37197265625],
+              [177.32138671875, -18.0775390625],
+              [178.28017578125, -17.37197265625]
+            ]
+          ],
+          [
+            [
+              [179.99921875, -16.1685546875],
+              [179.9279296875, -16.74443359375],
+              [178.706640625, -16.976171875],
+              [179.5517578125, -16.24990234375]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Fiji" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [-60.28623046875, -51.4619140625],
+              [-60.246337890625, -51.98642578125],
+              [-60.28623046875, -51.4619140625]
+            ]
+          ],
+          [
+            [
+              [-58.8501953125, -51.269921875],
+              [-57.791796875, -51.6361328125],
+              [-59.068017578125, -52.173046875],
+              [-59.5708007812499, -51.925390625]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Falkland Is." }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [-51.6525390625, 4.06127929687497],
+              [-53.7677734375, 2.35483398437505],
+              [-54.55048828125, 2.29306640624999],
+              [-54.25673828125, 2.71372070312498],
+              [-54.188037109375, 3.17875976562503],
+              [-54.350732421875, 4.05410156250002],
+              [-52.29052734375, 4.94218750000003],
+              [-52.0029296875, 4.35229492187501]
+            ]
+          ],
+          [
+            [
+              [9.48037109375002, 42.805419921875],
+              [8.88681640624998, 41.70068359375],
+              [8.81484375000008, 42.60791015625]
+            ]
+          ],
+          [
+            [
+              [5.78974609374998, 49.53828125],
+              [8.13486328125001, 48.973583984375],
+              [7.13603515624999, 47.48984375],
+              [5.97001953125005, 46.214697265625],
+              [6.57822265625003, 46.437353515625],
+              [6.95371093750006, 46.017138671875],
+              [7.14638671875005, 45.38173828125],
+              [6.57021484375002, 43.199072265625],
+              [4.71210937500001, 43.373291015625],
+              [3.21142578125, 42.43115234375],
+              [1.7060546875, 42.5033203125001],
+              [-1.30004882812494, 43.1009765625],
+              [-1.48486328124994, 43.56376953125],
+              [-1.19599609374998, 45.714453125],
+              [-2.059375, 46.810302734375],
+              [-1.74252929687495, 47.215966796875],
+              [-2.77031249999999, 47.5138671875],
+              [-4.7625, 48.450244140625],
+              [-1.56547851562493, 48.805517578125],
+              [-1.13852539062498, 49.387890625],
+              [0.186718749999983, 49.70302734375],
+              [2.52490234375, 51.097119140625],
+              [4.54501953125006, 49.96025390625],
+              [5.78974609374998, 49.53828125]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "France" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [13.2935546875, 2.161572265625],
+            [14.180859375, 1.37021484374999],
+            [13.86005859375, -0.203320312500011],
+            [14.1998046875, -2.35419921875001],
+            [13.46494140625, -2.39541015625001],
+            [12.43212890625, -1.92890625000001],
+            [11.53779296875, -2.83671875],
+            [11.8798828125, -3.66591796875001],
+            [11.13017578125, -3.91630859375],
+            [9.624609375, -2.36708984375001],
+            [9.03632812500001, -1.30888671875],
+            [9.3466796875, -1.325],
+            [8.94638671875001, -0.688769531250003],
+            [9.79677734375002, 0.044238281249989],
+            [9.49531250000001, 0.664843749999989],
+            [9.67646484375001, 1.07470703125],
+            [9.80390625000001, 0.998730468749997],
+            [11.3287109375, 2.167431640625],
+            [13.2935546875, 2.161572265625]
+          ]
+        ]
+      },
+      "properties": { "name": "Gabon" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [-6.218017578125, 54.0887207031251],
+              [-7.60654296875001, 54.14384765625],
+              [-7.55039062499992, 54.76796875],
+              [-5.71684570312496, 54.81748046875],
+              [-5.67109374999996, 54.549755859375]
+            ]
+          ],
+          [
+            [
+              [-6.14472656249998, 57.50498046875],
+              [-6.034375, 57.201220703125],
+              [-6.14472656249998, 57.50498046875]
+            ]
+          ],
+          [
+            [
+              [-6.19868164062498, 58.36328125],
+              [-7.08344726562493, 57.81376953125],
+              [-6.77646484375001, 58.301513671875]
+            ]
+          ],
+          [
+            [
+              [-3.10966796874993, 58.515478515625],
+              [-3.85712890624998, 57.8185546875],
+              [-1.78066406249999, 57.4740234375],
+              [-2.67426757812496, 56.25341796875],
+              [-2.59931640624996, 56.027294921875],
+              [-0.084375, 54.11806640625],
+              [-0.659912109375, 53.7240234375],
+              [0.0458984375, 52.905615234375],
+              [1.65673828124997, 52.7537109375],
+              [1.18847656250006, 51.803369140625],
+              [1.41494140625002, 51.36328125],
+              [-0.785253906249949, 50.7654296875],
+              [-2.03105468749993, 50.725390625],
+              [-3.67978515625001, 50.23994140625],
+              [-5.62211914062493, 50.05068359375],
+              [-3.29311523437499, 51.3904296875],
+              [-4.38627929687496, 51.7410644531251],
+              [-4.21772460937498, 52.27744140625],
+              [-4.26855468749994, 53.14453125],
+              [-2.74951171875, 53.310205078125],
+              [-3.56938476562496, 54.467578125],
+              [-3.95791015624999, 54.78095703125],
+              [-5.17270507812495, 54.985888671875],
+              [-4.84409179687495, 56.051171875],
+              [-5.60957031249996, 56.0552734375],
+              [-5.73061523437499, 56.853076171875],
+              [-5.41318359375001, 58.0697265625],
+              [-4.43325195312494, 58.5128417968751]
+            ]
+          ],
+          [
+            [
+              [-1.30810546875, 60.5375],
+              [-1.66376953124998, 60.2825195312501],
+              [-1.30810546875, 60.5375]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "United Kingdom" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [46.30546875, 41.50771484375],
+            [46.6263671875, 41.15966796875],
+            [45.28095703125, 41.449560546875],
+            [44.811328125, 41.259375],
+            [43.15283203125, 41.23642578125],
+            [42.7541015625, 41.57890625],
+            [41.77939453125, 41.44052734375],
+            [41.7017578125, 41.705419921875],
+            [40.462109375, 43.145703125],
+            [40.648046875, 43.53388671875],
+            [43.0001953125, 43.049658203125],
+            [43.7826171875, 42.747021484375],
+            [43.73837890625, 42.6169921875],
+            [45.07158203125, 42.694140625],
+            [45.7052734375, 42.498095703125],
+            [46.2126953125, 41.989892578125]
+          ]
+        ]
+      },
+      "properties": { "name": "Georgia" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [-0.068603515625, 11.115625],
+            [0.48876953125, 8.85146484374999],
+            [0.94970703125, 5.81025390625],
+            [-2.815673828125, 5.15302734375],
+            [-3.22714843749998, 6.74912109374999],
+            [-2.53828124999998, 8.171630859375],
+            [-2.91489257812498, 10.592333984375],
+            [-0.299462890624994, 11.16689453125]
+          ]
+        ]
+      },
+      "properties": { "name": "Ghana" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [-11.389404296875, 12.40439453125],
+            [-10.709228515625, 11.89873046875],
+            [-9.39536132812498, 12.4646484375],
+            [-8.39853515624998, 11.366552734375],
+            [-8.00727539062498, 10.321875],
+            [-7.71958007812498, 8.643017578125],
+            [-8.23696289062499, 8.45566406249999],
+            [-8.11542968749998, 7.7607421875],
+            [-8.48642578124998, 7.55849609374999],
+            [-9.46381835937498, 7.41586914062499],
+            [-10.06435546875, 8.4298828125],
+            [-10.36005859375, 8.49550781249999],
+            [-10.686962890625, 8.32167968749999],
+            [-10.615966796875, 9.05917968749999],
+            [-11.180859375, 9.92534179687499],
+            [-12.142333984375, 9.87539062499999],
+            [-12.9587890625, 9.26333007812499],
+            [-13.691357421875, 9.53579101562499],
+            [-14.426904296875, 10.24833984375],
+            [-14.775927734375, 10.931640625],
+            [-15.043017578125, 10.94013671875],
+            [-14.720263671875, 11.48193359375],
+            [-13.732763671875, 11.73603515625],
+            [-13.948876953125, 12.178173828125],
+            [-13.7326171875, 12.592822265625],
+            [-12.930712890625, 12.532275390625]
+          ]
+        ]
+      },
+      "properties": { "name": "Guinea" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [-16.763330078125, 13.06416015625],
+            [-15.427490234375, 13.468359375],
+            [-15.50966796875, 13.58623046875],
+            [-13.977392578125, 13.54345703125],
+            [-16.763330078125, 13.06416015625]
+          ]
+        ]
+      },
+      "properties": { "name": "Gambia" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [-13.759765625, 12.262353515625],
+              [-13.7306640624999, 11.95986328125],
+              [-14.720263671875, 11.48193359375],
+              [-15.043017578125, 10.94013671875],
+              [-15.21669921875, 11.15625],
+              [-15.0726562499999, 11.597802734375],
+              [-15.4671874999999, 11.842822265625],
+              [-16.138427734375, 11.91728515625],
+              [-16.7118164062499, 12.354833984375],
+              [-15.19609375, 12.679931640625],
+              [-13.7326171875, 12.592822265625]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Guinea-Bissau" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [11.33232421875, 1.52836914062499],
+              [9.78867187500003, 1.02568359374997],
+              [9.38593750000007, 1.13925781250002],
+              [9.82617187500006, 2.29780273437497],
+              [10.79091796875, 2.167578125]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Eq. Guinea" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [23.85224609375, 35.53544921875],
+              [25.73017578125, 35.348583984375],
+              [24.7998046875, 34.93447265625],
+              [23.56982421875, 35.534765625]
+            ]
+          ],
+          [
+            [
+              [23.4154296875001, 38.958642578125],
+              [24.58837890625, 38.123974609375],
+              [23.6507812500001, 38.44306640625],
+              [23.4154296875001, 38.958642578125]
+            ]
+          ],
+          [
+            [
+              [26.41015625, 39.329443359375],
+              [26.10791015625, 39.0810546875],
+              [26.1654296875001, 39.3735351562501]
+            ]
+          ],
+          [
+            [
+              [26.0389648437501, 40.7267578125],
+              [24.0823242187501, 40.724072265625],
+              [24.343359375, 40.147705078125],
+              [23.9470703125, 39.9655761718751],
+              [22.8964843750001, 40.39990234375],
+              [23.327734375, 39.17490234375],
+              [22.8860351562501, 39.169970703125],
+              [23.6839843750001, 38.35244140625],
+              [23.5017578125, 38.03486328125],
+              [22.0804687500001, 37.028955078125],
+              [21.6789062500001, 37.38720703125],
+              [21.82470703125, 38.328125],
+              [22.319921875, 38.3568359375001],
+              [21.3033203125, 38.37392578125],
+              [21.118359375, 39.02998046875],
+              [20.0994140625001, 39.641259765625],
+              [21.030859375, 40.6224609375],
+              [24.0560546875001, 41.52724609375],
+              [25.9233398437501, 41.3119140625],
+              [26.3208984375, 41.716552734375],
+              [26.3310546875001, 40.9544921875]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Greece" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [-52.73115234375, 69.9447265625001],
+              [-54.18271484375, 69.403515625],
+              [-54.787890625, 69.949853515625],
+              [-53.296728515625, 70.20537109375]
+            ]
+          ],
+          [
+            [
+              [-25.43232421875, 70.921337890625],
+              [-28.03525390625, 70.48681640625],
+              [-25.43232421875, 70.921337890625]
+            ]
+          ],
+          [
+            [
+              [-29.952880859375, 83.56484375],
+              [-25.123388671875, 83.159619140625],
+              [-29.57939453125, 82.161181640625],
+              [-25.148828125, 82.001123046875],
+              [-21.230517578125, 81.6013671875],
+              [-16.120703125, 81.776611328125],
+              [-13.126220703125, 81.08779296875],
+              [-15.937255859375, 80.42763671875],
+              [-20.150146484375, 80.01123046875],
+              [-20.8625976562499, 77.911865234375],
+              [-20.680810546875, 77.618994140625],
+              [-18.510302734375, 76.778173828125],
+              [-22.609326171875, 76.704296875],
+              [-19.5089843749999, 75.75751953125],
+              [-22.2328613281249, 75.1197265625],
+              [-20.41708984375, 74.9751953125],
+              [-20.2564453125, 74.2828125],
+              [-22.32158203125, 74.3025390625],
+              [-22.346875, 73.26923828125],
+              [-25.5212890625, 73.851611328125],
+              [-26.541845703125, 73.248974609375],
+              [-24.132666015625, 73.409375],
+              [-24.62998046875, 73.037646484375],
+              [-25.11787109375, 72.3469726562501],
+              [-22.417578125, 71.2486816406251],
+              [-22.3841308593749, 70.46240234375],
+              [-23.97138671875, 70.649462890625],
+              [-27.10703125, 71.532666015625],
+              [-28.3984375, 70.992919921875],
+              [-26.62177734375, 70.46337890625],
+              [-27.027734375, 70.201220703125],
+              [-22.287060546875, 70.0333984375],
+              [-25.0924316406249, 69.165185546875],
+              [-30.978564453125, 68.0613281250001],
+              [-36.37919921875, 65.830810546875],
+              [-37.41005859375, 65.65634765625],
+              [-37.75234375, 66.2615234375],
+              [-40.17353515625, 65.55615234375],
+              [-41.084423828125, 65.100830078125],
+              [-40.550390625, 63.7252441406251],
+              [-41.844482421875, 63.070263671875],
+              [-42.941650390625, 62.72021484375],
+              [-42.585302734375, 61.71748046875],
+              [-43.922705078125, 60.595361328125],
+              [-44.065478515625, 59.9248046875],
+              [-45.379248046875, 60.2029296875],
+              [-45.3805175781249, 60.444921875],
+              [-48.428173828125, 61.18740234375],
+              [-48.8287109375, 62.0796875],
+              [-50.29873046875, 62.72197265625],
+              [-51.547509765625, 64.006103515625],
+              [-51.584912109375, 64.103173828125],
+              [-50.008984375, 64.447265625],
+              [-50.72158203125, 64.797607421875],
+              [-52.259033203125, 65.154931640625],
+              [-51.7234375, 65.723486328125],
+              [-53.53876953125, 66.13935546875],
+              [-53.443603515625, 66.924658203125],
+              [-50.6134765625, 67.5279296875],
+              [-52.34482421875, 67.8369140625],
+              [-51.4564941406249, 68.116064453125],
+              [-53.039453125, 68.610888671875],
+              [-50.80771484375, 68.8169921875],
+              [-51.076953125, 69.20947265625],
+              [-54.014453125, 70.4216796875001],
+              [-50.8723632812499, 70.364892578125],
+              [-51.77431640625, 71.01044921875],
+              [-52.891845703125, 71.457666015625],
+              [-53.6521484375, 72.3626464843751],
+              [-53.96298828125, 71.458984375],
+              [-54.84013671875, 72.356103515625],
+              [-55.6017089843749, 72.453466796875],
+              [-55.288916015625, 72.933203125],
+              [-55.83828125, 73.759716796875],
+              [-58.5162109375, 75.6890625000001],
+              [-64.307275390625, 76.31650390625],
+              [-66.992578125, 76.212939453125],
+              [-68.1142578125, 76.650634765625],
+              [-71.141455078125, 77.028662109375],
+              [-66.389453125, 77.2802734375],
+              [-69.3513671875, 77.467138671875],
+              [-72.81806640625, 78.1943359375],
+              [-68.37705078125, 79.037841796875],
+              [-66.84365234375, 80.0762207031251],
+              [-59.28193359375, 81.884033203125],
+              [-53.671337890625, 82.1640625],
+              [-49.541064453125, 81.91806640625],
+              [-44.2388671875, 82.3681640625],
+              [-46.13681640625, 82.858837890625],
+              [-41.300146484375, 83.10078125],
+              [-37.72333984375, 83.49775390625]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Greenland" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [-89.2328125, 15.888671875],
+            [-88.2283203125, 15.72900390625],
+            [-88.960986328125, 15.15244140625],
+            [-89.17177734375, 14.606884765625],
+            [-89.54716796875, 14.241259765625],
+            [-91.37734375, 13.990185546875],
+            [-92.09873046875, 15.0267578125],
+            [-91.9572265625, 15.70322265625],
+            [-90.450146484375, 16.261376953125],
+            [-90.99296875, 17.25244140625]
+          ]
+        ]
+      },
+      "properties": { "name": "Guatemala" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [-57.194775390625, 5.5484375],
+            [-57.711083984375, 4.99106445312499],
+            [-57.646728515625, 3.39453125],
+            [-56.4828125, 1.942138671875],
+            [-57.118896484375, 2.01396484374999],
+            [-58.730322265625, 1.247509765625],
+            [-59.756201171875, 1.900634765625],
+            [-59.85439453125, 3.5875],
+            [-59.73857421875, 4.2267578125],
+            [-60.142041015625, 5.23881835937499],
+            [-60.6513671875, 5.221142578125],
+            [-61.303125, 6.04951171875],
+            [-61.14560546875, 6.69453125],
+            [-60.32548828125, 7.133984375],
+            [-60.583203125, 7.156201171875],
+            [-59.831640625, 8.30595703124999],
+            [-57.54013671875, 6.33154296875]
+          ]
+        ]
+      },
+      "properties": { "name": "Guyana" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [-83.635498046875, 14.876416015625],
+            [-84.98515625, 14.75244140625],
+            [-85.75341796875, 13.85205078125],
+            [-86.758984375, 13.746142578125],
+            [-86.710693359375, 13.31337890625],
+            [-86.918212890625, 13.223583984375],
+            [-87.489111328125, 13.3529296875001],
+            [-87.7314453125, 13.841064453125],
+            [-88.504345703125, 13.964208984375],
+            [-89.17177734375, 14.606884765625],
+            [-88.960986328125, 15.15244140625],
+            [-88.2283203125, 15.72900390625],
+            [-85.936279296875, 15.95341796875],
+            [-84.55966796875, 15.802001953125],
+            [-83.2255859375, 15.04228515625],
+            [-83.635498046875, 14.876416015625]
+          ]
+        ]
+      },
+      "properties": { "name": "Honduras" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [18.90537109375, 45.93173828125],
+              [19.4, 45.2125],
+              [16.2933593750001, 45.008837890625],
+              [16.1034179687501, 44.5209960937501],
+              [17.5851562500001, 42.9383789062501],
+              [15.18583984375, 44.172119140625],
+              [14.85458984375, 45.081005859375],
+              [13.5171875000001, 45.481787109375],
+              [14.56884765625, 45.6572265625],
+              [15.32666015625, 45.502294921875],
+              [15.27705078125, 45.7326171875],
+              [15.596875, 46.1092285156251],
+              [16.3211914062501, 46.534619140625],
+              [18.35830078125, 45.7530273437501],
+              [18.90537109375, 45.93173828125]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Croatia" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [-71.647216796875, 19.195947265625],
+              [-71.9403808593749, 18.5125976562501],
+              [-71.768310546875, 18.0391601562501],
+              [-74.478125, 18.45],
+              [-72.37607421875, 18.574462890625],
+              [-73.4383789062499, 19.722119140625],
+              [-71.834716796875, 19.696728515625],
+              [-71.746484375, 19.28583984375]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Haiti" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [22.1318359375, 48.405322265625],
+            [22.87666015625, 47.947265625],
+            [20.613671875, 46.13349609375],
+            [19.6134765625, 46.169189453125],
+            [18.53359375, 45.796142578125],
+            [16.871484375, 46.339306640625],
+            [16.28359375, 46.857275390625],
+            [16.6765625, 47.53603515625],
+            [21.7669921875, 48.3380859375]
+          ]
+        ]
+      },
+      "properties": { "name": "Hungary" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [120.0125, -9.37470703125003],
+              [120.43916015625, -10.29404296875],
+              [118.9587890625, -9.5193359375]
+            ]
+          ],
+          [
+            [
+              [125.0681640625, -9.5119140625],
+              [123.71640625, -10.07861328125],
+              [124.28232421875, -9.42792968750003],
+              [125.1490234375, -9.04257812500003]
+            ]
+          ],
+          [
+            [
+              [116.6408203125, -8.61386718750001],
+              [115.85732421875, -8.78789062500002],
+              [116.7189453125, -8.33603515624998]
+            ]
+          ],
+          [
+            [
+              [122.78291015625, -8.61171875],
+              [121.03525390625, -8.93544921874997],
+              [119.8748046875, -8.41982421874999],
+              [122.3232421875, -8.62832031250002],
+              [122.9169921875, -8.10556640625001]
+            ]
+          ],
+          [
+            [
+              [118.2423828125, -8.31777343749999],
+              [119.1296875, -8.66816406249997],
+              [116.83505859375, -8.53242187500003],
+              [117.96953125, -8.72802734374999],
+              [118.11748046875, -8.12226562500004]
+            ]
+          ],
+          [
+            [
+              [115.4478515625, -8.15517578124999],
+              [114.61318359375, -8.37832031249998],
+              [115.4478515625, -8.15517578124999]
+            ]
+          ],
+          [
+            [
+              [107.37392578125, -6.00761718749999],
+              [110.42626953125, -6.94726562500003],
+              [111.54033203125, -6.64824218750003],
+              [112.7943359375, -7.30449218749997],
+              [114.070703125, -7.63300781250001],
+              [113.2533203125, -8.28671874999996],
+              [107.2849609375, -7.47167968750001],
+              [105.25546875, -6.83525390625003],
+              [107.0462890625, -5.90419921874998]
+            ]
+          ],
+          [
+            [
+              [134.74697265625, -5.70703124999996],
+              [134.301953125, -6.00976562499999],
+              [134.57080078125, -5.42734375]
+            ]
+          ],
+          [
+            [
+              [122.6451171875, -5.26943359374998],
+              [122.3689453125, -4.76718749999998],
+              [122.6451171875, -5.26943359374998]
+            ]
+          ],
+          [
+            [
+              [123.17978515625, -4.55117187500002],
+              [123.1873046875, -5.33300781249996],
+              [122.58642578125, -5.48886718750001],
+              [123.17978515625, -4.55117187500002]
+            ]
+          ],
+          [
+            [
+              [129.7546875, -2.86582031250003],
+              [130.805078125, -3.85771484374996],
+              [128.8625, -3.23496093750001],
+              [127.8779296875, -3.22207031249997],
+              [129.4841796875, -2.78574218749998]
+            ]
+          ],
+          [
+            [
+              [108.2072265625, -2.99765624999998],
+              [107.5634765625, -2.9201171875],
+              [108.290625, -2.82998046875002]
+            ]
+          ],
+          [
+            [
+              [106.045703125, -1.66943359375001],
+              [106.6671875, -3.07177734374999],
+              [105.4595703125, -1.57470703124999],
+              [105.91005859375, -1.50498046874999]
+            ]
+          ],
+          [
+            [
+              [123.2123046875, -1.17128906249997],
+              [123.5119140625, -1.44736328124998],
+              [122.8904296875, -1.58720703124996]
+            ]
+          ],
+          [
+            [
+              [140.9734375, -2.609765625],
+              [140.9751953125, -6.90537109375002],
+              [139.934765625, -8.101171875],
+              [139.08798828125, -7.58720703125002],
+              [138.6013671875, -6.93652343749997],
+              [138.374609375, -5.84365234374998],
+              [138.06083984375, -5.46523437499998],
+              [135.19560546875, -4.45068359374997],
+              [134.2662109375, -3.94580078124997],
+              [133.84150390625, -3.05478515624999],
+              [133.40087890625, -3.89902343750003],
+              [132.8697265625, -3.5509765625],
+              [132.725, -2.78906250000003],
+              [133.9048828125, -2.39091796875],
+              [132.3076171875, -2.24228515625002],
+              [130.9958984375, -1.42470703124998],
+              [132.39375, -0.355468750000028],
+              [134.1115234375, -0.84677734375002],
+              [134.19482421875, -2.30908203124994],
+              [134.7021484375, -2.93359374999999],
+              [135.48662109375, -3.34511718749998],
+              [137.17109375, -2.02548828124999],
+              [140.62255859375, -2.44580078125]
+            ]
+          ],
+          [
+            [
+              [127.5669921875, -0.318945312499949],
+              [127.7611328125, -0.883691406249994],
+              [127.3, -0.500292968749946]
+            ]
+          ],
+          [
+            [
+              [130.81328125, -0.004101562500026],
+              [130.62216796875, -0.0859375],
+              [130.55078125, -0.366406250000026]
+            ]
+          ],
+          [
+            [
+              [97.4815429687501, 1.46508789062497],
+              [97.6039062500001, 0.83388671874998],
+              [97.4815429687501, 1.46508789062497]
+            ]
+          ],
+          [
+            [
+              [124.8888671875, 0.995312500000011],
+              [120.01328125, -0.196191406249994],
+              [120.6673828125, -1.37011718749997],
+              [122.27998046875, -0.757031250000026],
+              [123.3796875, -0.648535156249949],
+              [122.25068359375, -1.55527343750003],
+              [122.29169921875, -2.90761718750002],
+              [122.84794921875, -4.06455078125001],
+              [122.0380859375, -4.83242187500002],
+              [120.891796875, -3.52060546875003],
+              [120.65361328125, -2.66757812499998],
+              [120.279296875, -5.14609374999998],
+              [119.557421875, -5.61103515625003],
+              [119.46748046875, -3.51298828124999],
+              [119.0921875, -2.48291015625001],
+              [119.711328125, -0.680761718750034],
+              [119.80927734375, 0.238671875000051],
+              [120.86796875, 1.25283203124998],
+              [122.43662109375, 1.01806640625003],
+              [124.53369140625, 1.23046875000004],
+              [124.8888671875, 0.995312500000011]
+            ]
+          ],
+          [
+            [
+              [127.73271484375, 0.848144531250043],
+              [128.2224609375, 1.40063476562499],
+              [128.26064453125, 0.733789062500023],
+              [127.88740234375, 0.298339843750043],
+              [127.6916015625, -0.241894531249983],
+              [127.428515625, 1.13999023437499],
+              [128.0109375, 1.70122070312503]
+            ]
+          ],
+          [
+            [
+              [117.5744140625, 4.17060546875004],
+              [117.3462890625, 3.42661132812499],
+              [118.9849609375, 0.982128906249983],
+              [117.9642578125, 0.889550781250051],
+              [117.5625, -0.770898437500009],
+              [116.27548828125, -1.78486328125],
+              [116.5654296875, -2.29970703124999],
+              [116.16630859375, -2.93457031250001],
+              [114.5255859375, -3.37666015625001],
+              [113.3431640625, -3.24648437499997],
+              [112.60029296875, -3.40048828124998],
+              [111.6947265625, -2.88945312499996],
+              [110.703125, -3.02089843750001],
+              [109.37275390625, -0.638183593749972],
+              [108.916796875, 0.912646484375045],
+              [109.07587890625, 1.49589843750003],
+              [109.65400390625, 1.61489257812502],
+              [112.078515625, 1.14335937499997],
+              [114.83056640625, 1.98002929687499],
+              [115.117578125, 2.89487304687502],
+              [115.8607421875, 4.34804687500004]
+            ]
+          ],
+          [
+            [
+              [96.4925781250001, 5.22934570312499],
+              [99.7323242187501, 3.18305664062503],
+              [103.0318359375, 0.57890625],
+              [103.67265625, 0.288916015624977],
+              [103.5091796875, -0.465527343749969],
+              [104.51591796875, -1.81943359375002],
+              [105.39697265625, -2.38017578124995],
+              [105.8314453125, -4.16289062499996],
+              [105.08134765625, -5.74550781249998],
+              [103.8314453125, -5.07958984375003],
+              [100.88955078125, -2.24853515624996],
+              [97.3913085937501, 2.97529296874997],
+              [95.2066406250001, 5.28403320312503],
+              [96.4925781250001, 5.22934570312499]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Indonesia" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [75.3222134823302, 32.2851635667897],
+              [76.6229901027026, 33.3201487135744],
+              [78.4919425088534, 32.531227861492],
+              [78.7550781250001, 31.55029296875],
+              [80.87353515625, 30.290576171875],
+              [80.0845703125, 28.9941894531251],
+              [80.3248046875001, 28.6664062500001],
+              [81.8968750000001, 27.874462890625],
+              [83.36943359375, 27.41025390625],
+              [84.4808593750001, 27.3481933593751],
+              [84.6538085937501, 27.0916992187501],
+              [85.5684570312501, 26.8398437500001],
+              [85.7945312500001, 26.6041503906251],
+              [87.2874023437499, 26.3603027343751],
+              [88.0269531250002, 26.3950195312501],
+              [88.14111328125, 27.9489257812501],
+              [88.8037109375, 28.00693359375],
+              [88.8576171875002, 26.961474609375],
+              [89.6099609375001, 26.7194335937501],
+              [92.0497070312502, 26.874853515625],
+              [94.0697900148445, 27.5894071585848],
+              [96.96279296875, 27.698291015625],
+              [97.10205078125, 27.1154296875001],
+              [95.2014648437501, 26.64140625],
+              [95.1292968750001, 26.07041015625],
+              [94.5530273437501, 25.21572265625],
+              [94.2930664062501, 24.321875],
+              [93.3262695312501, 24.0642089843751],
+              [92.9094726562501, 21.988916015625],
+              [92.6303710937501, 22.011328125],
+              [92.0440429687501, 23.677783203125],
+              [91.43623046875, 23.19990234375],
+              [91.7265625, 24.205078125],
+              [92.4683593750002, 24.9441406250001],
+              [89.8663085937501, 25.2931640625],
+              [89.8229492187502, 25.94140625],
+              [88.3514648437501, 26.482568359375],
+              [88.1507812500001, 26.0871582031251],
+              [88.7691406250001, 25.490478515625],
+              [88.0302734375001, 24.6644531250001],
+              [88.7235351562501, 24.27490234375],
+              [88.7244140625, 23.25498046875],
+              [89.05166015625, 21.6541015625],
+              [88.6416015625, 22.1219726562501],
+              [88.2537109375, 21.6223144531249],
+              [88.1592773437502, 22.1217285156251],
+              [86.8422851562501, 21.10634765625],
+              [86.2452148437501, 20.05302734375],
+              [85.5041015625, 19.8876953125001],
+              [81.7619140625002, 16.3294921875001],
+              [80.2934570312501, 15.7107421875],
+              [80.2291015625002, 12.69033203125],
+              [79.8486328125001, 11.196875],
+              [79.0199218750001, 9.33334960937496],
+              [78.19248046875, 8.89086914062506],
+              [76.5534179687501, 8.902783203125],
+              [76.4587890625001, 9.53623046875008],
+              [74.9455078125, 12.5645507812499],
+              [73.9319335937501, 15.39697265625],
+              [73.47607421875, 16.054248046875],
+              [72.6677734375002, 19.8309570312501],
+              [72.7001953125, 21.9719238281249],
+              [72.1828125000002, 22.2697265625],
+              [72.2103515625, 21.72822265625],
+              [70.7193359375001, 20.7404296875001],
+              [69.2765625, 22.2854980468751],
+              [69.6646484375001, 22.7590820312501],
+              [68.7767578125, 23.852099609375],
+              [68.3812500000002, 23.9508789062501],
+              [68.8, 24.30908203125],
+              [70.8050781250001, 24.261962890625],
+              [71.0440429687501, 24.4000976562501],
+              [70.8777343750002, 25.06298828125],
+              [70.14921875, 26.34755859375],
+              [69.8962890625001, 27.4736328125001],
+              [70.2443359375, 27.9341308593751],
+              [70.6916015625001, 27.768994140625],
+              [71.54296875, 27.869873046875],
+              [72.1285156250001, 28.3463378906251],
+              [73.3816406250001, 29.934375],
+              [73.9246093750001, 30.281640625],
+              [74.62578125, 31.0687500000001],
+              [74.5555664062501, 31.8185546875001],
+              [75.13876953125, 32.10478515625]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "India" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [-6.218017578125, 54.0887207031251],
+              [-6.325, 52.2466796875],
+              [-9.52490234375003, 51.681103515625],
+              [-9.90966796874997, 52.12294921875],
+              [-9.90605468749996, 52.4037109375],
+              [-9.17539062499995, 52.634912109375],
+              [-8.93012695312498, 53.207080078125],
+              [-9.72065429687493, 53.6044921875],
+              [-9.9140625, 53.863720703125],
+              [-8.54555664062499, 54.2412109375],
+              [-8.37729492187498, 54.889453125],
+              [-7.30878906250001, 55.3658203125],
+              [-7.91059570312496, 54.69833984375],
+              [-7.32451171875002, 54.133447265625]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Ireland" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [46.1144531250001, 38.877783203125],
+              [48.1043945312501, 39.24111328125],
+              [50.533203125, 37.0136718750001],
+              [53.9154296875001, 36.930322265625],
+              [54.6994140625001, 37.470166015625],
+              [56.440625, 38.2494140625],
+              [58.8154296875, 37.68349609375],
+              [61.2521484375, 35.867626953125],
+              [60.951171875, 34.653857421875],
+              [60.64267578125, 34.307177734375],
+              [60.9169921875, 33.505224609375],
+              [60.7916015625, 31.660595703125],
+              [61.3464843750001, 31.421630859375],
+              [61.8108398437501, 30.91328125],
+              [60.8433593750001, 29.85869140625],
+              [62.7625, 28.20205078125],
+              [63.24208984375, 27.077685546875],
+              [63.16806640625, 26.665576171875],
+              [61.8423828125, 26.225927734375],
+              [61.4122070312501, 25.102099609375],
+              [59.4560546875, 25.481494140625],
+              [57.0360351562501, 26.8006835937501],
+              [54.2470703125, 26.696630859375],
+              [52.03076171875, 27.8244140625],
+              [50.8669921875, 28.870166015625],
+              [50.1689453125, 29.921240234375],
+              [49.22451171875, 30.472314453125],
+              [48.478515625, 30.00380859375],
+              [48.0106445312501, 30.989794921875],
+              [47.82998046875, 31.79443359375],
+              [47.3297851562501, 32.455517578125],
+              [46.08046875, 33.02822265625],
+              [45.50078125, 34.581591796875],
+              [46.041796875, 35.0801757812501],
+              [45.9710937500001, 35.524169921875],
+              [46.2734375, 35.7732421875],
+              [45.053125, 36.471630859375],
+              [44.2716796875, 38.8360351562501],
+              [44.8171875, 39.650439453125]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Iran" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [45.6375, 34.573828125],
+            [45.3970703125, 33.970849609375],
+            [46.08076171875, 33.0865234375],
+            [47.32978515625, 32.455517578125],
+            [47.82998046875, 31.79443359375],
+            [48.45419921875, 29.9384765625],
+            [47.9787109375, 29.9828125],
+            [46.7693359375, 29.3474609375],
+            [44.71650390625, 29.193603515625],
+            [40.3693359375, 31.93896484375],
+            [39.2927734375, 32.24384765625],
+            [40.98701171875, 34.429052734375],
+            [41.416796875, 36.5146484375],
+            [42.63544921875, 37.249267578125],
+            [44.01318359375, 37.313525390625],
+            [44.401953125, 37.05849609375],
+            [44.76513671875, 37.142431640625],
+            [45.20654296875, 36.39716796875],
+            [46.16748046875, 35.820556640625],
+            [46.03740234375, 35.67314453125],
+            [46.1337890625, 35.12763671875],
+            [45.6375, 34.573828125]
+          ]
+        ]
+      },
+      "properties": { "name": "Iraq" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [-15.543115234375, 66.228515625],
+            [-14.827099609375, 65.7642578125],
+            [-13.61787109375, 65.5193359375],
+            [-14.385107421875, 64.74521484375],
+            [-16.64033203125, 63.865478515625],
+            [-20.19814453125, 63.555810546875],
+            [-21.152392578125, 63.94453125],
+            [-22.18759765625, 64.039208984375],
+            [-21.590625, 64.6263671875],
+            [-24.026171875, 64.863427734375],
+            [-22.50908203125, 65.19677734375],
+            [-24.47568359375, 65.5251953125],
+            [-23.61591796875, 65.67958984375],
+            [-23.77734375, 66.017578125],
+            [-22.65986328125, 66.025927734375],
+            [-22.947900390625, 66.212744140625],
+            [-22.426123046875, 66.430126953125],
+            [-21.1296875, 65.2666015625],
+            [-18.29716796875, 66.157421875],
+            [-16.838037109375, 66.125244140625],
+            [-15.985400390625, 66.5146484375]
+          ]
+        ]
+      },
+      "properties": { "name": "Iceland" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [35.7873046875, 32.734912109375],
+            [35.484375, 32.40166015625],
+            [35.19326171875, 32.534423828125],
+            [34.98974609375, 31.91328125],
+            [34.904296875, 29.47734375],
+            [34.5255859375, 31.525634765625],
+            [35.10859375, 33.08369140625],
+            [35.7873046875, 32.734912109375]
+          ]
+        ]
+      },
+      "properties": { "name": "Israel" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [15.5765625000001, 38.2203125],
+              [14.50185546875, 36.798681640625],
+              [12.640234375, 37.5943359375],
+              [13.29111328125, 38.191455078125],
+              [15.5765625000001, 38.2203125]
+            ]
+          ],
+          [
+            [
+              [9.63203125000001, 40.88203125],
+              [9.05634765625007, 39.23916015625],
+              [8.54775390625002, 39.8392089843751],
+              [8.22421875, 40.913330078125],
+              [9.63203125000001, 40.88203125]
+            ]
+          ],
+          [
+            [
+              [13.42099609375, 46.2123046875],
+              [13.7198242187501, 45.58759765625],
+              [12.22568359375, 45.24150390625],
+              [13.56416015625, 43.5712890625],
+              [16.1646484375, 41.89619140625],
+              [18.34375, 39.82138671875],
+              [17.17998046875, 40.502783203125],
+              [17.174609375, 38.998095703125],
+              [15.7245117187501, 37.939111328125],
+              [16.2099609375, 38.94111328125],
+              [14.7657226562501, 40.668408203125],
+              [11.1412109375, 42.389892578125],
+              [10.1880859375001, 43.947509765625],
+              [7.63720703125006, 44.16484375],
+              [6.63476562500003, 45.0681640625],
+              [7.02109375000003, 45.92578125],
+              [7.9931640625, 46.01591796875],
+              [8.370703125, 46.4451171875],
+              [8.77802734375004, 45.99619140625],
+              [9.30439453125007, 46.495556640625],
+              [9.57958984375, 46.29609375],
+              [10.1096679687501, 46.362841796875],
+              [10.0612304687501, 46.54677734375],
+              [10.4306640625, 46.550048828125],
+              [10.45283203125, 46.86494140625],
+              [11.02509765625, 46.79697265625],
+              [12.1971679687501, 47.075],
+              [12.1541015625, 46.93525390625],
+              [12.47919921875, 46.672509765625],
+              [13.7, 46.520263671875],
+              [13.39951171875, 46.317529296875]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Italy" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [-77.261474609375, 18.457421875],
+            [-76.85322265625, 17.97373046875],
+            [-77.36142578125, 17.83369140625],
+            [-78.21669921875, 18.448095703125]
+          ]
+        ]
+      },
+      "properties": { "name": "Jamaica" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [39.14541015625, 32.12451171875],
+            [38.11142578125, 31.78115234375],
+            [37.980078125, 30.5],
+            [36.7552734375, 29.866015625],
+            [36.2828125, 29.35537109375],
+            [35.4505859375, 31.479296875],
+            [35.5728515625, 32.640869140625],
+            [38.77353515625, 33.372216796875],
+            [39.14541015625, 32.12451171875]
+          ]
+        ]
+      },
+      "properties": { "name": "Jordan" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [131.174609375, 33.602587890625],
+              [131.8478515625, 33.11806640625],
+              [131.07080078125, 31.436865234375],
+              [130.655078125, 31.7184082031251],
+              [130.147265625, 31.40849609375],
+              [130.2375, 33.17763671875],
+              [130.3404296875, 32.70185546875],
+              [129.6791015625, 33.0599609375],
+              [130.715625, 33.927783203125]
+            ]
+          ],
+          [
+            [
+              [134.357421875, 34.25634765625],
+              [134.181640625, 33.247216796875],
+              [132.97724609375, 32.8419921875],
+              [132.4951171875, 32.9166015625],
+              [132.93515625, 34.0953125000001],
+              [133.94833984375, 34.348046875]
+            ]
+          ],
+          [
+            [
+              [141.229296875, 41.37265625],
+              [141.976953125, 39.42880859375],
+              [141.1083984375, 38.337939453125],
+              [140.8740234375, 35.7249511718751],
+              [139.82646484375, 35.2966796875],
+              [138.8375, 34.61923828125],
+              [136.96328125, 34.834912109375],
+              [136.5330078125, 34.678369140625],
+              [135.9162109375, 33.56171875],
+              [135.10009765625, 34.28837890625],
+              [133.96826171875, 34.527294921875],
+              [132.146484375, 33.83876953125],
+              [131.00419921875, 34.392578125],
+              [135.17431640625, 35.7470703125],
+              [136.0953125, 35.767626953125],
+              [137.32265625, 37.5220703125],
+              [137.5140625, 36.9515625],
+              [139.801953125, 38.881591796875],
+              [140.0111328125, 40.2603515625001],
+              [140.62763671875, 41.19541015625],
+              [141.24423828125, 41.205615234375],
+              [141.229296875, 41.37265625]
+            ]
+          ],
+          [
+            [
+              [143.82431640625, 44.1169921875],
+              [145.3408203125, 43.3025390625],
+              [143.4294921875, 42.418896484375],
+              [140.9861328125, 42.342138671875],
+              [141.1509765625, 41.805078125],
+              [140.08515625, 41.43408203125],
+              [139.86015625, 42.58173828125],
+              [141.37412109375, 43.279638671875],
+              [141.9376953125, 45.509521484375]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Japan" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [77.0486328125, 35.109912109375],
+            [76.76689453125, 35.66171875],
+            [77.446484375, 35.4755859375],
+            [77.4234375, 35.302587890625]
+          ]
+        ]
+      },
+      "properties": { "name": "Siachen Glacier" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [87.3228515625001, 49.085791015625],
+              [85.5259765625001, 47.915625],
+              [84.6666015625001, 46.97236328125],
+              [82.6116210937501, 45.424267578125],
+              [81.6919921875001, 45.349365234375],
+              [80.3552734375, 44.0972656250001],
+              [80.2022460937501, 42.73447265625],
+              [79.49013671875, 42.457568359375],
+              [79.1266601562501, 42.775732421875],
+              [75.9322265625, 42.928515625],
+              [73.4501953125, 42.70302734375],
+              [73.316015625, 42.4669921875],
+              [71.4220703125, 42.783154296875],
+              [68.0476562500001, 40.80927734375],
+              [66.4986328125001, 41.994873046875],
+              [65.49619140625, 43.310546875],
+              [61.990234375, 43.492138671875],
+              [55.9774414062501, 41.322216796875],
+              [53.0558593750001, 42.14775390625],
+              [51.616015625, 43.158447265625],
+              [50.33115234375, 44.32548828125],
+              [51.009375, 44.921826171875],
+              [53.13525390625, 46.191650390625],
+              [51.1780273437501, 47.11015625],
+              [48.5412109375, 46.605615234375],
+              [46.70263671875, 48.80556640625],
+              [47.42919921875, 50.357958984375],
+              [48.62509765625, 50.6126953125001],
+              [50.7939453125, 51.72919921875],
+              [54.6416015625, 51.011572265625],
+              [57.4421875, 50.8888671875],
+              [59.4523437500001, 50.62041015625],
+              [60.4248046875, 50.679150390625],
+              [60.46474609375, 51.651171875],
+              [61.22890625, 53.4458984375],
+              [61.9287109375, 53.946484375],
+              [70.7380859375001, 55.30517578125],
+              [72.18603515625, 54.325634765625],
+              [73.71240234375, 54.0423828125],
+              [74.3515625, 53.487646484375],
+              [76.8373046875, 54.4423828125],
+              [77.8599609375001, 53.269189453125],
+              [81.4659179687501, 50.73984375],
+              [83.9451171875001, 50.774658203125],
+              [86.1808593750001, 49.49931640625]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Kazakhstan" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [35.32529296875, 5.36489257812499],
+            [35.7561523437501, 4.95048828125003],
+            [38.4515625000001, 3.60483398437498],
+            [41.883984375, 3.97773437500001],
+            [40.9787109375001, -0.870312500000011],
+            [41.53271484375, -1.69531249999996],
+            [40.6441406250001, -2.53945312499998],
+            [39.49091796875, -4.47841796875002],
+            [33.9032226562501, -1.00205078125003],
+            [34.48173828125, 1.04213867187505],
+            [34.9640625000001, 2.06240234374998],
+            [34.3928710937501, 3.69150390625005],
+            [34.13203125, 3.88916015624999],
+            [34.6398437500001, 4.87548828125003],
+            [35.32529296875, 5.36489257812499]
+          ]
+        ]
+      },
+      "properties": { "name": "Kenya" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [72.63994140625, 39.385986328125],
+            [70.501171875, 39.587353515625],
+            [69.3072265625, 39.9685546875],
+            [72.3892578125, 40.427392578125],
+            [72.65830078125, 40.869921875],
+            [72.1873046875, 41.025927734375],
+            [71.6375, 41.5341796875],
+            [71.5, 41.307470703125],
+            [71.1107421875, 41.15263671875],
+            [70.856640625, 42.030810546875],
+            [71.2126953125, 42.2064453125],
+            [70.94677734375, 42.248681640625],
+            [71.5142578125, 42.766943359375],
+            [73.316015625, 42.4669921875],
+            [73.4501953125, 42.70302734375],
+            [75.04765625, 42.90439453125],
+            [79.12666015625, 42.775732421875],
+            [80.24619140625, 42.059814453125],
+            [78.44287109375, 41.417529296875],
+            [77.9564453125, 41.05068359375],
+            [76.98662109375, 41.03916015625],
+            [76.48017578125, 40.44951171875],
+            [75.87197265625, 40.30322265625],
+            [75.241015625, 40.4802734375],
+            [74.80126953125, 40.428515625],
+            [74.08515625, 40.07431640625],
+            [73.71572265625, 39.462255859375],
+            [73.3361328125, 39.412353515625]
+          ],
+          [
+            [70.66416015625, 39.85546875],
+            [70.4892578125, 39.863037109375],
+            [70.66416015625, 39.85546875]
+          ],
+          [
+            [71.20615234375, 39.892578125],
+            [71.00546875, 40.152294921875],
+            [71.01171875, 39.8951171875]
+          ]
+        ]
+      },
+      "properties": { "name": "Kyrgyzstan" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [104.4263671875, 10.41123046875],
+            [103.12548828125, 11.46064453125],
+            [102.7556640625, 12.42626953125],
+            [102.90927734375, 14.13671875],
+            [105.1259765625, 14.28095703125],
+            [106.12470703125, 14.04912109375],
+            [106.0083984375, 14.357177734375],
+            [106.53115234375, 14.5494140625],
+            [106.9380859375, 14.3273437500001],
+            [107.51943359375, 14.705078125],
+            [107.5064453125, 12.36455078125],
+            [106.4138671875, 11.9484375],
+            [105.755078125, 10.989990234375],
+            [105.04638671875, 10.70166015625]
+          ]
+        ]
+      },
+      "properties": { "name": "Cambodia" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [128.374609375, 38.6234375],
+              [129.419140625, 35.4978515625],
+              [126.8974609375, 34.4388671875],
+              [126.52451171875, 34.697900390625],
+              [126.6140625, 35.57099609375],
+              [126.4876953125, 36.693798828125],
+              [126.78447265625, 36.9484375],
+              [126.63388671875, 37.7818359375001]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Korea" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [48.44248046875, 28.542919921875],
+              [46.69375, 29.25966796875],
+              [47.64375, 30.097314453125],
+              [48.14345703125, 29.5724609375],
+              [48.44248046875, 28.542919921875]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Kuwait" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [102.12744140625, 22.37919921875],
+            [102.77109375, 21.70966796875],
+            [102.851171875, 21.26591796875],
+            [103.46357421875, 20.7798339843751],
+            [104.349609375, 20.82109375],
+            [104.4078125, 20.4857421875],
+            [104.9279296875, 20.018115234375],
+            [104.587890625, 19.61875],
+            [104.03203125, 19.6751464843749],
+            [104.0275390625, 19.4204589843751],
+            [105.146484375, 18.6509765625],
+            [106.50224609375, 16.9541015625],
+            [106.6564453125, 16.4926269531251],
+            [106.85107421875, 16.515625],
+            [107.3919921875, 15.9516601562501],
+            [107.27939453125, 15.618701171875],
+            [107.653125, 15.2552246093751],
+            [107.48037109375, 14.9798828125001],
+            [107.51943359375, 14.7050781250001],
+            [106.78349609375, 14.335107421875],
+            [106.563671875, 14.505078125],
+            [106.19072265625, 14.388134765625],
+            [105.9044921875, 13.9245117187501],
+            [105.3501953125, 14.1095703125001],
+            [105.18330078125, 14.346240234375],
+            [105.4755859375, 14.530126953125],
+            [105.6388671875, 15.5859374999999],
+            [105.40625, 15.987451171875],
+            [104.8193359375, 16.4660644531251],
+            [104.816015625, 17.30029296875],
+            [103.79228515625, 18.3165039062501],
+            [103.28828125, 18.4083984375],
+            [103.0513671875, 18.028515625],
+            [102.680078125, 17.8241210937501],
+            [102.10146484375, 18.21064453125],
+            [100.90849609375, 17.58388671875],
+            [101.2119140625, 19.5483398437501],
+            [100.31796875, 20.3858886718751],
+            [100.1224609375, 20.3166503906251],
+            [100.32607421875, 20.7957031249999],
+            [100.61767578125, 20.8792480468751],
+            [100.703125, 21.2513671875001],
+            [101.175390625, 21.4075195312501],
+            [101.2478515625, 21.197314453125],
+            [101.70478515625, 21.1501464843751],
+            [101.52451171875, 22.253662109375],
+            [101.70751953125, 22.486572265625],
+            [102.0244140625, 22.4392089843751]
+          ]
+        ]
+      },
+      "properties": { "name": "Lao PDR" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [35.869140625, 33.43173828125],
+            [35.97626953125, 34.62919921875],
+            [36.5849609375, 34.221240234375],
+            [36.03447265625, 33.58505859375]
+          ]
+        ]
+      },
+      "properties": { "name": "Lebanon" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [-8.48642578124998, 7.55849609374999],
+            [-8.287109375, 6.31904296875],
+            [-7.73037109374999, 5.91904296874999],
+            [-7.58505859374998, 4.916748046875],
+            [-9.13217773437498, 5.054638671875],
+            [-11.26767578125, 7.2326171875],
+            [-10.147412109375, 8.5197265625],
+            [-9.369140625, 7.70380859375],
+            [-8.65976562499998, 7.68837890624999]
+          ]
+        ]
+      },
+      "properties": { "name": "Liberia" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [25.15048828125, 31.65498046875],
+            [23.9802734375, 19.995947265625],
+            [14.97900390625, 22.99619140625],
+            [11.5076171875, 24.31435546875],
+            [10.00068359375, 25.332080078125],
+            [9.51875, 30.22939453125],
+            [10.21640625, 30.783203125],
+            [10.60888671875, 31.929541015625],
+            [11.3580078125, 32.34521484375],
+            [11.50458984375, 33.18193359375],
+            [17.83046875, 30.927587890625],
+            [20.1115234375, 30.963720703125],
+            [21.6359375, 32.9373046875],
+            [23.286328125, 32.213818359375]
+          ]
+        ]
+      },
+      "properties": { "name": "Libya" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [79.98232421875, 9.81269531250001],
+              [81.3728515625, 8.43144531249999],
+              [81.63740234375, 6.42514648437499],
+              [79.859375, 6.82929687499998],
+              [80.0458007812501, 9.64990234374997]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Sri Lanka" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [28.646875, -30.1265625],
+            [27.753125, -30.6],
+            [27.29453125, -29.5193359375],
+            [28.2326171875, -28.70126953125],
+            [29.3013671875, -29.08984375],
+            [29.1421875, -29.7009765625]
+          ]
+        ]
+      },
+      "properties": { "name": "Lesotho" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [25.573046875, 54.139892578125],
+              [25.4611328125, 54.2927734375],
+              [24.31796875, 53.89296875],
+              [23.4846679687501, 53.939794921875],
+              [23.1703125000001, 54.2814453125],
+              [22.6798828125001, 54.493017578125],
+              [21.05380859375, 56.02294921875],
+              [22.0845703125, 56.4067382812501],
+              [25.069921875, 56.200390625],
+              [26.5666015625, 55.546484375],
+              [26.601171875, 55.13017578125],
+              [26.0929687500001, 54.9623046875001],
+              [25.567578125, 54.37705078125],
+              [25.765234375, 54.17978515625]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Lithuania" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [6.4873046875, 49.798486328125],
+            [6.07412109375002, 49.454638671875],
+            [5.9013671875, 49.48974609375],
+            [5.74404296875002, 49.91962890625],
+            [5.97626953125001, 50.1671875],
+            [6.4873046875, 49.798486328125]
+          ]
+        ]
+      },
+      "properties": { "name": "Luxembourg" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [28.14794921875, 56.142919921875],
+            [25.66318359375, 56.104833984375],
+            [22.8755859375, 56.396435546875],
+            [21.3146484375, 56.188134765625],
+            [22.55458984375, 57.724267578125],
+            [25.27265625, 58.009375],
+            [27.538671875, 57.42978515625],
+            [27.8302734375, 57.194482421875],
+            [27.89208984375, 56.741064453125],
+            [28.16923828125, 56.386865234375]
+          ]
+        ]
+      },
+      "properties": { "name": "Latvia" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [28.2125, 45.450439453125],
+            [27.6140625, 47.34052734375],
+            [26.8470703125, 48.387158203125],
+            [28.34052734375, 48.14443359375],
+            [29.4556640625, 47.292626953125],
+            [29.94248046875, 46.723779296875],
+            [30.07568359375, 46.37783203125],
+            [29.18623046875, 46.523974609375],
+            [28.93056640625, 46.362255859375],
+            [28.94775390625, 46.049951171875],
+            [28.3103515625, 45.498583984375]
+          ]
+        ]
+      },
+      "properties": { "name": "Moldova" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [49.53828125, -12.43212890625],
+              [50.208984375, -15.96044921875],
+              [49.8390625, -16.4865234375],
+              [49.362890625, -18.336328125],
+              [46.728515625, -25.14990234375],
+              [44.0353515625001, -24.995703125],
+              [43.29052734375, -21.93251953125],
+              [44.4488281250001, -19.4287109375],
+              [43.97939453125, -17.3916015625],
+              [45.2228515625001, -15.95048828125],
+              [46.1575195312501, -15.73828125],
+              [47.4647460937501, -14.71328125],
+              [48.786328125, -12.4708984375]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Madagascar" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [-97.1462402343749, 25.961474609375],
+              [-97.314501953125, 21.564208984375],
+              [-97.186328125, 20.717041015625],
+              [-95.920361328125, 18.819580078125],
+              [-94.79814453125, 18.514599609375],
+              [-91.275244140625, 18.624462890625],
+              [-90.6931640625, 19.7298828125],
+              [-88.46669921875, 21.569384765625],
+              [-87.368505859375, 21.57373046875],
+              [-86.9262207031249, 20.786474609375],
+              [-87.6453125, 19.55390625],
+              [-87.50107421875, 19.28779296875],
+              [-89.133544921875, 17.97080078125],
+              [-91.1955078125, 17.2541015625],
+              [-90.4710937499999, 16.43955078125],
+              [-90.45986328125, 16.162353515625],
+              [-90.97958984375, 16.07080078125],
+              [-92.08212890625, 15.495556640625],
+              [-92.14423828125, 15.001953125],
+              [-94.374169921875, 16.284765625],
+              [-97.18466796875, 15.90927734375],
+              [-99.690673828125, 16.71962890625],
+              [-103.4416015625, 18.325390625],
+              [-105.66943359375, 20.385595703125],
+              [-105.237060546875, 21.119189453125],
+              [-105.6455078125, 22.326904296875],
+              [-108.05146484375, 25.067041015625],
+              [-108.886572265625, 25.733447265625],
+              [-109.19970703125, 26.305224609375],
+              [-109.75478515625, 26.7029296875],
+              [-113.046728515625, 31.179248046875],
+              [-114.14931640625, 31.507373046875],
+              [-114.55048828125, 30.022265625],
+              [-113.09365234375, 28.511767578125],
+              [-109.495703125, 23.159814453125],
+              [-111.802490234375, 24.5425292968751],
+              [-113.020751953125, 26.583251953125],
+              [-113.840966796875, 26.96650390625],
+              [-115.036474609375, 27.841845703125],
+              [-114.0693359375, 27.6756835937501],
+              [-114.9373046875, 29.351611328125],
+              [-116.847998046875, 31.99736328125],
+              [-111.0419921875, 31.32421875],
+              [-106.148046875, 31.450927734375],
+              [-103.168310546875, 28.998193359375],
+              [-101.440380859375, 29.77685546875],
+              [-99.45654296875, 27.056689453125]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Mexico" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [22.34404296875, 42.31396484375],
+            [22.78388671875, 41.331982421875],
+            [21.57578125, 40.8689453125],
+            [20.5662109375, 41.873681640625],
+            [21.8146484375, 42.303125]
+          ]
+        ]
+      },
+      "properties": { "name": "Macedonia" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [4.22763671875001, 19.1427734375],
+            [3.5205078125, 15.48310546875],
+            [-0.760449218749983, 15.04775390625],
+            [-2.58671874999999, 14.227587890625],
+            [-3.3017578125, 13.28076171875],
+            [-4.32871093749998, 13.11904296875],
+            [-5.52353515624998, 10.426025390625],
+            [-6.23837890624998, 10.26162109375],
+            [-6.250244140625, 10.717919921875],
+            [-6.67636718749998, 10.6337890625],
+            [-6.69326171874999, 10.349462890625],
+            [-7.6611328125, 10.42744140625],
+            [-8.33740234375, 10.990625],
+            [-8.81831054687498, 11.922509765625],
+            [-11.30517578125, 12.0154296875],
+            [-12.08154296875, 14.766357421875],
+            [-11.502685546875, 15.63681640625],
+            [-9.94140625, 15.373779296875],
+            [-9.3505859375, 15.677392578125],
+            [-5.35991210937499, 16.282861328125],
+            [-5.68476562499998, 17.058251953125],
+            [-6.5673828125, 24.766796875],
+            [-5.64077148437499, 24.995166015625],
+            [3.255859375, 19.4109375]
+          ]
+        ]
+      },
+      "properties": { "name": "Mali" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [101.1388671875, 21.56748046875],
+              [100.5666015625, 21.0381835937501],
+              [100.61767578125, 20.879248046875],
+              [100.32607421875, 20.795703125],
+              [100.1224609375, 20.3166503906251],
+              [99.7201171875001, 20.325439453125],
+              [98.9166992187501, 19.772900390625],
+              [97.7458984375, 18.58818359375],
+              [98.8179687500001, 16.180810546875],
+              [98.2021484375, 14.975927734375],
+              [99.405078125, 12.547900390625],
+              [98.7025390625001, 10.190380859375],
+              [98.74140625, 11.59169921875],
+              [98.1495117187501, 13.647607421875],
+              [97.7259765625001, 16.5685546875],
+              [96.9085937500001, 17.03095703125],
+              [96.3243164062501, 16.4444335937501],
+              [94.6615234375001, 15.90439453125],
+              [94.5889648437501, 17.5693359375],
+              [94.044921875, 19.2874023437501],
+              [93.82490234375, 19.2384765625],
+              [93.25, 20.0701171875],
+              [92.8283203125, 20.1775878906251],
+              [92.32412109375, 20.7918457031251],
+              [92.72099609375, 22.1324218750001],
+              [93.16201171875, 22.360205078125],
+              [93.3660156250001, 23.13251953125],
+              [94.0748046875001, 23.8720703125],
+              [95.1083984375, 26.09140625],
+              [96.1908203125001, 27.261279296875],
+              [97.1037109375, 27.163330078125],
+              [97.0497070312501, 27.760009765625],
+              [97.3564453125, 28.2544921875],
+              [98.0616210937501, 28.185888671875],
+              [98.7384765625001, 26.7857421875],
+              [98.3337890625001, 25.586767578125],
+              [97.7378906250001, 24.8698730468751],
+              [97.5645507812501, 23.91103515625],
+              [98.8322265625001, 23.624365234375],
+              [99.1929687500001, 22.1259765625],
+              [100.60458984375, 21.47177734375]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Myanmar" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [19.21875, 43.449951171875],
+            [20.06396484375, 42.547265625],
+            [19.3423828125, 41.869091796875],
+            [18.44384765625, 42.96845703125],
+            [18.93466796875, 43.339453125],
+            [18.940234375, 43.496728515625],
+            [19.21875, 43.449951171875]
+          ]
+        ]
+      },
+      "properties": { "name": "Montenegro" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [111.878125, 43.68017578125],
+            [109.33984375, 42.43837890625],
+            [105.867578125, 41.993994140625],
+            [105.0505859375, 41.61591796875],
+            [102.5751953125, 42.09208984375],
+            [101.5791015625, 42.52353515625],
+            [96.38544921875, 42.720361328125],
+            [95.35029296875, 44.278076171875],
+            [92.57890625, 45.010986328125],
+            [91.584375, 45.076513671875],
+            [91.0017578125, 46.035791015625],
+            [90.9857421875, 46.7490234375],
+            [90.3306640625, 47.65517578125],
+            [90.0279296875, 47.877685546875],
+            [89.778125, 47.827001953125],
+            [88.5759765625, 48.220166015625],
+            [87.7431640625, 48.881640625],
+            [87.8142578125, 49.1623046875],
+            [89.0083984375, 49.472802734375],
+            [91.804296875, 50.693603515625],
+            [92.4263671875, 50.803076171875],
+            [94.25107421875, 50.556396484375],
+            [94.71806640625, 50.04326171875],
+            [96.06552734375, 49.99873046875],
+            [97.359765625, 49.741455078125],
+            [98.2794921875, 50.533251953125],
+            [97.82529296875, 50.98525390625],
+            [99.9216796875, 51.755517578125],
+            [102.1115234375, 51.353466796875],
+            [102.28837890625, 50.585107421875],
+            [103.80263671875, 50.17607421875],
+            [106.36845703125, 50.317578125],
+            [107.63095703125, 49.98310546875],
+            [108.5224609375, 49.34150390625],
+            [110.8279296875, 49.166162109375],
+            [112.91484375, 49.56923828125],
+            [113.31904296875, 49.87431640625],
+            [114.7431640625, 50.23369140625],
+            [115.42919921875, 49.896484375],
+            [116.551171875, 49.9203125],
+            [115.61640625, 47.8748046875],
+            [117.0697265625, 47.806396484375],
+            [118.4984375, 47.983984375],
+            [119.8978515625, 46.8578125],
+            [119.62021484375, 46.603955078125],
+            [118.95712890625, 46.73486328125],
+            [117.4380859375, 46.58623046875],
+            [117.35693359375, 46.39130859375],
+            [116.21298828125, 45.8869140625],
+            [115.6810546875, 45.458251953125],
+            [114.56015625, 45.389990234375],
+            [113.87705078125, 44.89619140625],
+            [112.70673828125, 44.883447265625],
+            [112.112890625, 45.062939453125],
+            [111.93173828125, 43.81494140625]
+          ]
+        ]
+      },
+      "properties": { "name": "Mongolia" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [32.112890625, -26.839453125],
+            [31.287890625, -22.40205078125],
+            [32.4923828125, -20.659765625],
+            [32.69970703125, -18.94091796875],
+            [31.93984375, -16.42880859375],
+            [30.2318359375, -14.99033203125],
+            [34.5052734375, -14.59814453125],
+            [34.9333984375, -16.7603515625],
+            [35.2013671875, -17.1310546875],
+            [35.35849609375, -16.160546875],
+            [35.7912109375, -15.95869140625],
+            [35.6904296875, -14.46552734375],
+            [35.0138671875, -13.64345703125],
+            [34.3578125, -12.16474609375],
+            [34.95947265625, -11.578125],
+            [36.97890625, -11.5669921875],
+            [39.988671875, -10.82080078125],
+            [40.59716796875, -10.8306640625],
+            [40.715625, -14.214453125],
+            [40.6177734375, -15.11552734375],
+            [39.84462890625, -16.43564453125],
+            [36.93935546875, -17.99345703125],
+            [35.8537109375, -18.993359375],
+            [34.705078125, -20.473046875],
+            [35.3830078125, -22.45458984375],
+            [35.37041015625, -23.7982421875],
+            [32.9611328125, -25.4904296875],
+            [32.93359375, -26.25234375],
+            [32.199609375, -26.83349609375]
+          ]
+        ]
+      },
+      "properties": { "name": "Mozambique" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [-5.35991210937499, 16.282861328125],
+              [-9.38535156249992, 15.667626953125],
+              [-9.94140624999997, 15.373779296875],
+              [-11.7601562499999, 15.4255371093751],
+              [-12.08154296875, 14.7663574218751],
+              [-14.3000976562499, 16.5802734375],
+              [-16.5357421875, 16.28681640625],
+              [-16.42978515625, 20.6523437500001],
+              [-17.048046875, 20.80615234375],
+              [-14.0846679687499, 21.33271484375],
+              [-13.0162109374999, 21.333935546875],
+              [-12.89599609375, 23.08955078125],
+              [-12.372900390625, 23.318017578125],
+              [-12.01630859375, 24.9232421875],
+              [-12.01630859375, 25.99541015625],
+              [-8.88564453124999, 25.9955078125001],
+              [-8.68232421874996, 26.4977050781251],
+              [-4.82260742187495, 24.99560546875],
+              [-6.59409179687498, 24.99462890625],
+              [-5.50961914062492, 16.442041015625]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Mauritania" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [34.95947265625, -11.578125],
+            [34.60625, -11.6900390625],
+            [34.6115234375001, -13.437890625],
+            [35.4884765625, -14.20107421875],
+            [35.7912109375001, -15.95869140625],
+            [35.3584960937501, -16.160546875],
+            [35.2013671875001, -17.1310546875],
+            [34.9333984375, -16.7603515625],
+            [34.5052734375001, -14.59814453125],
+            [32.98125, -14.009375],
+            [32.9751953125001, -12.7013671875],
+            [33.52890625, -10.23466796875],
+            [33.25, -9.7595703125],
+            [33.8888671875, -9.67011718749998],
+            [34.6670898437501, -10.79248046875],
+            [34.93701171875, -11.4634765625]
+          ]
+        ]
+      },
+      "properties": { "name": "Malawi" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [102.10107421875, 6.24223632812503],
+              [103.4158203125, 4.85029296875004],
+              [104.25009765625, 1.38857421875001],
+              [103.69453125, 1.44965820312503],
+              [101.2955078125, 2.88520507812501],
+              [100.61455078125, 4.3734375],
+              [100.34541015625, 6.54990234375001],
+              [100.981640625, 5.77104492187505],
+              [101.8736328125, 5.82529296874999]
+            ]
+          ],
+          [
+            [
+              [117.5744140625, 4.17060546875004],
+              [115.67880859375, 4.19301757812499],
+              [114.5125, 1.45200195312496],
+              [112.94296875, 1.56699218750003],
+              [111.808984375, 1.01166992187497],
+              [109.53896484375, 1.89619140625004],
+              [111.2232421875, 1.39584960937499],
+              [111.44384765625, 2.38154296874998],
+              [114.0638671875, 4.59267578124997],
+              [115.37490234375, 4.93276367187497],
+              [115.7408203125, 5.53300781250005],
+              [116.7880859375, 6.60610351562499],
+              [117.60966796875, 6.51264648437505],
+              [119.21962890625, 5.15981445312504],
+              [118.5625, 4.5021484375],
+              [117.5744140625, 4.17060546875004]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Malaysia" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [23.3806640625, -17.640625],
+            [25.2587890625, -17.7935546875],
+            [23.59970703125, -18.4599609375],
+            [19.97734375, -22.0001953125],
+            [19.53984375, -28.574609375],
+            [18.31083984375, -28.88623046875],
+            [17.1884765625, -28.13251953125],
+            [16.8412109375, -28.2189453125],
+            [16.626171875, -28.487890625],
+            [15.34150390625, -27.3865234375],
+            [14.5015625, -24.201953125],
+            [11.9025390625, -17.2265625],
+            [20.1943359375, -17.863671875]
+          ]
+        ]
+      },
+      "properties": { "name": "Namibia" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [164.20234375, -20.24609375],
+              [166.9423828125, -22.09013671875],
+              [164.92744140625, -21.28984375]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "New Caledonia" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [14.97900390625, 22.99619140625],
+            [15.96318359375, 20.34619140625],
+            [13.4482421875, 14.3806640625],
+            [13.323828125, 13.670849609375],
+            [10.95888671875, 13.371533203125],
+            [9.61591796875001, 12.81064453125],
+            [8.09501953125002, 13.291162109375],
+            [6.804296875, 13.107666015625],
+            [5.49199218750002, 13.8728515625],
+            [4.66484375000002, 13.733203125],
+            [3.59541015625001, 11.6962890625],
+            [2.07294921875001, 12.309375],
+            [0.9873046875, 13.04189453125],
+            [0.42919921875, 13.972119140625],
+            [0.947460937500011, 14.98212890625],
+            [3.50429687500002, 15.35634765625],
+            [4.23466796875002, 16.99638671875],
+            [11.96787109375, 23.51787109375]
+          ]
+        ]
+      },
+      "properties": { "name": "Niger" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [6.804296875, 13.107666015625],
+              [8.09501953125005, 13.291162109375],
+              [12.46318359375, 13.09375],
+              [13.93232421875, 13.25849609375],
+              [14.2728515625, 12.356494140625],
+              [14.20234375, 11.2681640625],
+              [13.8920898437501, 11.140087890625],
+              [12.8065429687501, 8.88662109374999],
+              [12.3113281250001, 8.41972656249999],
+              [11.55166015625, 6.697265625],
+              [10.0388671875, 6.92138671875001],
+              [8.715625, 5.046875],
+              [7.64423828125007, 4.52534179687501],
+              [6.63300781250001, 4.34023437500005],
+              [6.27099609374997, 4.43212890625003],
+              [5.44814453125002, 4.94584960937497],
+              [5.45664062499998, 5.61171875],
+              [4.43134765625001, 6.34858398437503],
+              [3.33554687500006, 6.39692382812501],
+              [2.77460937499998, 6.71171875000002],
+              [2.78515625, 7.47685546875002],
+              [3.32519531249997, 9.77846679687505],
+              [3.83447265625, 10.607421875],
+              [3.59541015625007, 11.6962890625001],
+              [4.14755859375001, 13.45771484375],
+              [5.41582031250002, 13.8591796875]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Nigeria" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [-83.6419921875, 10.917236328125],
+            [-84.9091796875, 10.9453125],
+            [-87.58505859375, 13.043310546875],
+            [-87.009326171875, 13.0078125],
+            [-86.729296875, 13.284375],
+            [-86.758984375, 13.746142578125],
+            [-86.33173828125, 13.770068359375],
+            [-86.040380859375, 14.050146484375],
+            [-85.733935546875, 13.85869140625],
+            [-84.537646484375, 14.6333984375],
+            [-83.15751953125, 14.99306640625],
+            [-83.344384765625, 14.902099609375],
+            [-83.82890625, 11.86103515625],
+            [-83.6419921875, 10.917236328125]
+          ]
+        ]
+      },
+      "properties": { "name": "Nicaragua" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [4.22617187500003, 51.386474609375],
+              [4.00478515625005, 51.595849609375],
+              [4.76875, 52.94130859375],
+              [6.81621093750005, 53.441162109375],
+              [6.74882812500007, 52.464013671875],
+              [5.94873046875006, 51.802685546875],
+              [6.04843750000003, 50.9048828125001],
+              [5.21416015625005, 51.278955078125]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Netherlands" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [15.7603515625, 68.56123046875],
+              [14.25751953125, 68.190771484375],
+              [15.7603515625, 68.56123046875]
+            ]
+          ],
+          [
+            [
+              [17.50302734375, 69.596240234375],
+              [17.08251953125, 69.013671875],
+              [17.50302734375, 69.596240234375]
+            ]
+          ],
+          [
+            [
+              [19.255078125, 70.0664062500001],
+              [18.1298828125, 69.557861328125],
+              [19.255078125, 70.0664062500001]
+            ]
+          ],
+          [
+            [
+              [30.8697265625, 69.7834472656251],
+              [29.38828125, 69.2981445312501],
+              [29.1416015625, 69.6714355468751],
+              [26.0724609375, 69.691552734375],
+              [23.3240234375, 68.648974609375],
+              [21.06572265625, 69.041748046875],
+              [19.9698242187501, 68.356396484375],
+              [16.78359375, 67.89501953125],
+              [14.07763671875, 64.464013671875],
+              [12.7927734375, 64],
+              [12.15537109375, 61.720751953125],
+              [12.588671875, 60.450732421875],
+              [11.6427734375, 58.92607421875],
+              [10.5953125000001, 59.76455078125],
+              [9.65693359375004, 58.97119140625],
+              [6.59052734375007, 58.097314453125],
+              [5.95185546875007, 59.299072265625],
+              [5.47246093750002, 59.7130859375],
+              [6.34873046875001, 60.352978515625],
+              [5.28583984375001, 60.2057128906251],
+              [5.11582031250001, 60.635986328125],
+              [7.17353515625001, 61.165966796875],
+              [5.10673828125002, 61.187548828125],
+              [4.93007812499999, 61.8783203125],
+              [5.14316406250006, 62.159912109375],
+              [7.53837890625007, 62.6720703125],
+              [7.571875, 63.09951171875],
+              [10.7252929687501, 63.625],
+              [11.306640625, 64.048876953125],
+              [9.56728515625005, 63.70615234375],
+              [11.2967773437501, 64.75478515625],
+              [12.9155273437501, 65.3392578125],
+              [13.21142578125, 66.6408203125],
+              [15.41572265625, 67.20244140625],
+              [15.69150390625, 67.52138671875],
+              [14.7989257812501, 67.809326171875],
+              [16.00791015625, 68.2287109375],
+              [18.6144531250001, 69.490576171875],
+              [20.6220703125001, 69.913916015625],
+              [21.35576171875, 70.2333984375],
+              [23.3291015625, 70.2072265625],
+              [25.2646484375001, 70.843505859375],
+              [26.58505859375, 70.410009765625],
+              [27.2352539062501, 70.947216796875],
+              [28.27177734375, 70.66796875],
+              [30.0651367187501, 70.702978515625],
+              [29.6013671875, 69.9767578125],
+              [30.4283203125, 69.722265625]
+            ]
+          ],
+          [
+            [
+              [21.60810546875, 78.595703125],
+              [23.11669921875, 77.99150390625],
+              [20.928125, 77.45966796875]
+            ]
+          ],
+          [
+            [
+              [16.78671875, 79.90673828125],
+              [18.67783203125, 79.26171875],
+              [19.6767578125, 78.6095703125],
+              [14.69501953125, 77.525048828125],
+              [14.0899414062501, 77.77138671875],
+              [17.0029296875, 78.369384765625],
+              [15.3841796875, 78.77119140625],
+              [14.1104492187501, 78.2708984375],
+              [10.80400390625, 79.798779296875],
+              [12.27998046875, 79.8159667968751],
+              [13.3337890625, 79.5748046875001],
+              [15.81611328125, 79.6818359375]
+            ]
+          ],
+          [
+            [
+              [20.8978515625, 80.249951171875],
+              [23.1145507812501, 80.186962890625],
+              [25.6412109375, 79.40302734375],
+              [20.8611328125, 79.3978515625],
+              [18.725, 79.7607421875],
+              [19.3433593750001, 80.11640625]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Norway" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [87.984375, 27.133935546875],
+            [88.1615234375, 26.7248046875],
+            [87.9951171875, 26.382373046875],
+            [86.00732421875, 26.649365234375],
+            [84.65380859375, 27.09169921875],
+            [84.480859375, 27.348193359375],
+            [83.36943359375, 27.41025390625],
+            [81.896875, 27.874462890625],
+            [80.3248046875, 28.66640625],
+            [80.0845703125, 28.994189453125],
+            [80.5490234375, 29.8998046875],
+            [81.64189453125, 30.3875],
+            [84.1013671875, 29.219970703125],
+            [84.796875, 28.560205078125],
+            [85.15908203125, 28.592236328125],
+            [85.1224609375, 28.315966796875],
+            [85.75947265625, 28.220654296875],
+            [85.99453125, 27.910400390625],
+            [86.5544921875, 28.085205078125],
+            [87.29072265625, 27.821923828125],
+            [87.984375, 27.133935546875]
+          ]
+        ]
+      },
+      "properties": { "name": "Nepal" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [-176.17763671875, -43.74033203125],
+              [-176.33359375, -44.02529296875],
+              [-176.84765625, -43.82392578125]
+            ]
+          ],
+          [
+            [
+              [173.11533203125, -41.279296875],
+              [174.3025390625, -41.01953125],
+              [174.08369140625, -41.67080078125],
+              [172.734765625, -43.35478515625],
+              [173.0732421875, -43.676171875],
+              [172.29658203125, -43.86787109375],
+              [171.1462890625, -44.9123046875],
+              [170.77626953125, -45.8708984375],
+              [168.38212890625, -46.60537109375],
+              [166.71796875, -45.88935546875],
+              [167.02587890625, -45.1236328125],
+              [167.4662109375, -44.95830078125],
+              [167.85654296875, -44.50068359375],
+              [170.61181640625, -43.091796875],
+              [171.48623046875, -41.7947265625],
+              [172.94365234375, -40.51875],
+              [173.11533203125, -41.279296875]
+            ]
+          ],
+          [
+            [
+              [173.26943359375, -34.934765625],
+              [174.1431640625, -35.3],
+              [175.54248046875, -37.2013671875],
+              [177.2740234375, -37.99345703125],
+              [177.976171875, -38.7222656250001],
+              [176.9392578125, -39.5552734375],
+              [175.309765625, -41.61064453125],
+              [174.6353515625, -41.289453125],
+              [175.00927734375, -39.9521484375],
+              [174.3984375, -38.96259765625],
+              [174.58583984375, -37.09775390625],
+              [174.26787109375, -36.1630859375],
+              [173.91728515625, -36.0181640625],
+              [173.626171875, -35.319140625],
+              [173.190625, -35.0162109375],
+              [173.26943359375, -34.934765625]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "New Zealand" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [56.38798828125, 24.97919921875],
+              [59.42939453125, 22.66083984375],
+              [58.895703125, 21.11279296875],
+              [58.16943359375, 20.5895019531251],
+              [56.8259765625001, 18.753515625],
+              [55.2751953125001, 17.3208984375],
+              [53.08564453125, 16.648388671875],
+              [55.1858398437501, 22.7041015625],
+              [55.98515625, 24.06337890625],
+              [56.0005859375001, 24.95322265625]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Oman" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [73.089618029279, 36.8643590794733],
+            [73.1989504810656, 33.887709314682],
+            [74.30546875, 32.81044921875],
+            [74.66328125, 32.757666015625],
+            [74.9873046875, 32.46220703125],
+            [75.071484375, 32.08935546875],
+            [74.5259765625, 31.76513671875],
+            [74.6328125, 31.03466796875],
+            [74.008984375, 30.519677734375],
+            [73.9333984375, 30.2220703125],
+            [72.9033203125, 29.028759765625],
+            [71.948046875, 28.177294921875],
+            [71.184765625, 27.831640625],
+            [70.14453125, 27.8490234375],
+            [69.47001953125, 26.804443359375],
+            [70.2646484375, 25.70654296875],
+            [70.56953125, 25.70595703125],
+            [70.95087890625, 24.8916015625],
+            [70.9828125, 24.36103515625],
+            [70.76728515625, 24.24541015625],
+            [68.728125, 24.265625],
+            [68.28251953125, 23.927978515625],
+            [67.66845703125, 23.810986328125],
+            [66.6986328125, 25.226318359375],
+            [63.49140625, 25.21083984375],
+            [61.64013671875, 25.584619140625],
+            [61.8423828125, 26.225927734375],
+            [63.16806640625, 26.665576171875],
+            [63.24208984375, 27.077685546875],
+            [62.7625, 28.20205078125],
+            [60.843359375, 29.85869140625],
+            [63.567578125, 29.497998046875],
+            [66.23125, 29.86572265625],
+            [67.737890625, 31.3439453125],
+            [68.8689453125, 31.634228515625],
+            [70.2611328125, 33.289013671875],
+            [71.095703125, 34.36943359375],
+            [71.18505859375, 36.04208984375]
+          ]
+        ]
+      },
+      "properties": { "name": "Pakistan" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [-77.3742187499999, 8.65830078125002],
+              [-77.7619140625, 7.69882812500003],
+              [-78.14189453125, 8.38608398437498],
+              [-79.5070800781249, 8.97006835937502],
+              [-80.458984375, 8.21386718749997],
+              [-80.901220703125, 7.27714843750002],
+              [-81.72763671875, 8.13754882812498],
+              [-82.8661132812499, 8.24633789062501],
+              [-82.72783203125, 8.91606445312503],
+              [-82.9398437499999, 9.44916992187503],
+              [-82.843994140625, 9.57080078125001],
+              [-82.500341796875, 9.52324218750002],
+              [-82.244189453125, 9.03149414062501],
+              [-81.35478515625, 8.78056640624996],
+              [-78.0827636718749, 9.236279296875]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Panama" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [-73.137353515625, -6.4658203125],
+            [-74.00205078125, -7.55605468750001],
+            [-73.54912109375, -8.34580078125001],
+            [-72.379052734375, -9.51015625],
+            [-71.041748046875, -9.81875],
+            [-70.570166015625, -9.48984375],
+            [-70.596533203125, -10.97685546875],
+            [-70.3419921875, -11.06669921875],
+            [-69.9603515625, -10.9298828125],
+            [-68.68525390625, -12.501953125],
+            [-69.35947265625, -14.7953125],
+            [-69.217578125, -16.14912109375],
+            [-69.624853515625, -17.2001953125],
+            [-69.511083984375, -17.5048828125],
+            [-69.852099609375, -17.70380859375],
+            [-71.336962890625, -17.68251953125],
+            [-75.104248046875, -15.4119140625],
+            [-76.259228515625, -13.80283203125],
+            [-78.762255859375, -8.6169921875],
+            [-81.164306640625, -5.87529296875],
+            [-81.283203125, -4.322265625],
+            [-80.194140625, -3.905859375],
+            [-80.43720703125, -3.97861328125001],
+            [-80.4884765625, -4.39365234375001],
+            [-79.638525390625, -4.4548828125],
+            [-79.186669921875, -4.95820312500001],
+            [-78.975390625, -4.87324218750001],
+            [-78.240380859375, -3.47255859375001],
+            [-75.570556640625, -1.53125],
+            [-75.259375, -0.590136718750003],
+            [-75.63203125, -0.157617187500009],
+            [-74.8017578125, -0.200097656250009],
+            [-74.05439453125, -1.02861328125],
+            [-73.664306640625, -1.248828125],
+            [-72.9896484375, -2.33974609375001],
+            [-71.027294921875, -2.22578125000001],
+            [-70.095849609375, -2.658203125],
+            [-70.42109375, -3.849609375],
+            [-70.240283203125, -3.88271484375001],
+            [-69.972021484375, -4.301171875],
+            [-70.5306640625, -4.167578125],
+            [-71.8447265625, -4.50439453125],
+            [-72.608349609375, -5.0095703125],
+            [-72.9798828125, -5.63486328125001],
+            [-73.137353515625, -6.4658203125]
+          ]
+        ]
+      },
+      "properties": { "name": "Peru" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [126.00595703125, 9.32094726562501],
+              [126.36533203125, 8.48388671875001],
+              [126.58154296875, 7.24775390624997],
+              [125.6892578125, 7.26303710937498],
+              [125.346484375, 5.59897460937498],
+              [124.078125, 6.40444335937504],
+              [123.49306640625, 7.80791015624996],
+              [122.791796875, 7.72246093749996],
+              [121.924609375, 7.19951171875],
+              [123.4345703125, 8.70332031250004],
+              [124.4048828125, 8.59985351562501],
+              [125.20966796875, 9.02714843750002]
+            ]
+          ],
+          [
+            [
+              [123.130859375, 9.06411132812499],
+              [122.39951171875, 9.82304687499999],
+              [122.98330078125, 10.88662109375],
+              [123.16201171875, 9.86425781250003]
+            ]
+          ],
+          [
+            [
+              [117.3111328125, 8.43959960937505],
+              [119.3056640625, 10.9736328125],
+              [119.3693359375, 10.327294921875],
+              [117.3111328125, 8.43959960937505]
+            ]
+          ],
+          [
+            [
+              [124.574609375, 11.34306640625],
+              [125.26845703125, 10.30771484375],
+              [124.78076171875, 10.16806640625],
+              [124.3306640625, 11.535205078125]
+            ]
+          ],
+          [
+            [
+              [122.49619140625, 11.615087890625],
+              [123.11953125, 11.28681640625],
+              [122.103515625, 11.642919921875]
+            ]
+          ],
+          [
+            [
+              [125.23955078125, 12.527880859375],
+              [125.57353515625, 11.238232421875],
+              [124.9169921875, 11.5583984375],
+              [125.23955078125, 12.527880859375]
+            ]
+          ],
+          [
+            [
+              [120.70439453125, 13.4794921875],
+              [121.3943359375, 12.3005859375],
+              [120.3384765625, 13.412353515625]
+            ]
+          ],
+          [
+            [
+              [121.1015625, 18.615283203125],
+              [122.26552734375, 18.458837890625],
+              [121.5953125, 15.933251953125],
+              [121.6279296875, 14.58115234375],
+              [122.19970703125, 14.148046875],
+              [123.549609375, 13.645751953125],
+              [124.059765625, 12.56708984375],
+              [123.16328125, 13.441748046875],
+              [122.59990234375, 13.194140625],
+              [121.344140625, 13.64912109375],
+              [120.616796875, 14.188037109375],
+              [119.77255859375, 16.255126953125],
+              [120.3583984375, 17.63818359375]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Philippines" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [155.9576171875, -6.68681640624999],
+              [154.75927734375, -5.93134765625],
+              [155.82255859375, -6.38046875000002]
+            ]
+          ],
+          [
+            [
+              [151.915625, -4.29677734374997],
+              [151.98369140625, -5.07441406250004],
+              [151.51513671875, -5.55234374999996],
+              [149.38232421875, -6.078125],
+              [149.35888671875, -5.58398437500001],
+              [150.1703125, -5.07060546874997],
+              [151.3265625, -4.96035156249998]
+            ]
+          ],
+          [
+            [
+              [140.976171875, -9.11875],
+              [140.97353515625, -2.80341796875003],
+              [144.06640625, -3.80517578125],
+              [145.7669921875, -4.82304687499999],
+              [147.8455078125, -6.66240234374999],
+              [148.1267578125, -8.10361328124996],
+              [149.19833984375, -9.03125],
+              [150.319921875, -10.6548828125],
+              [147.0171875, -9.38789062500004],
+              [144.973828125, -7.80214843750001],
+              [143.6548828125, -7.46035156250001],
+              [143.61376953125, -8.20039062499997],
+              [142.4748046875, -8.36943359375003],
+              [143.3662109375, -8.96103515625003],
+              [140.976171875, -9.11875]
+            ]
+          ],
+          [
+            [
+              [152.9658203125, -4.75634765624999],
+              [152.03291015625, -3.25136718749998]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Papua New Guinea" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [23.48466796875, 53.939794921875],
+            [23.6052734375, 51.517919921875],
+            [24.08994140625, 50.53046875],
+            [22.70615234375, 49.606201171875],
+            [22.732421875, 49.295166015625],
+            [22.473046875, 49.081298828125],
+            [19.77392578125, 49.37216796875],
+            [17.70224609375, 50.307177734375],
+            [16.63916015625, 50.1021484375],
+            [16.0072265625, 50.61162109375],
+            [14.809375, 50.858984375],
+            [14.935546875, 51.4353515625],
+            [14.738671875, 51.6271484375],
+            [14.61943359375, 52.528515625],
+            [14.1388671875, 52.932861328125],
+            [14.4123046875, 53.216748046875],
+            [14.5583984375, 53.823193359375],
+            [18.3234375, 54.83818359375],
+            [19.60439453125, 54.4591796875],
+            [23.28232421875, 54.24033203125]
+          ]
+        ]
+      },
+      "properties": { "name": "Poland" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [130.526953125, 42.535400390625],
+            [129.70869140625, 40.85732421875],
+            [127.39453125, 39.20791015625],
+            [127.09033203125, 38.28388671875],
+            [125.769140625, 37.9853515625],
+            [125.20673828125, 38.08154296875],
+            [125.16884765625, 38.8055175781251],
+            [124.63828125, 39.6150878906251],
+            [126.74306640625, 41.724853515625],
+            [128.2892578125, 41.6074218750001],
+            [129.6978515625, 42.44814453125],
+            [130.526953125, 42.535400390625]
+          ]
+        ]
+      },
+      "properties": { "name": "Dem. Rep. Korea" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [-7.40615234374994, 37.179443359375],
+              [-8.81416015624998, 37.430810546875],
+              [-9.21328124999994, 38.448095703125],
+              [-8.83784179687493, 40.115673828125],
+              [-8.77714843750002, 41.941064453125],
+              [-7.14711914062502, 41.98115234375],
+              [-6.92846679687497, 41.009130859375],
+              [-6.97539062499993, 39.798388671875],
+              [-7.34301757812494, 38.457421875],
+              [-7.40615234374994, 37.179443359375]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Portugal" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [-58.159765625, -20.1646484375],
+            [-56.7751953125, -22.261328125],
+            [-55.753271484375, -22.41015625],
+            [-55.41591796875, -23.9513671875],
+            [-54.37080078125, -23.97119140625],
+            [-54.677734375, -26.3087890625],
+            [-55.593798828125, -27.2880859375],
+            [-58.604833984375, -27.31435546875],
+            [-58.181494140625, -26.307421875],
+            [-59.187255859375, -24.5623046875],
+            [-61.79853515625, -23.18203125],
+            [-62.6259765625, -22.2904296875],
+            [-62.276318359375, -20.5625],
+            [-58.18017578125, -19.81787109375]
+          ]
+        ]
+      },
+      "properties": { "name": "Paraguay" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [34.88046875, 31.3681640625],
+              [35.1932617187501, 32.534423828125],
+              [35.484375, 32.40166015625],
+              [34.88046875, 31.3681640625]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Palestine" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [51.26796875, 24.6072265625],
+            [50.966015625, 24.57392578125],
+            [50.8359375, 24.850390625],
+            [51.2623046875, 26.153271484375],
+            [51.4279296875, 24.66826171875]
+          ]
+        ]
+      },
+      "properties": { "name": "Qatar" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [28.2125, 45.450439453125],
+            [28.78173828125, 45.30986328125],
+            [29.56767578125, 45.37080078125],
+            [27.88427734375, 43.987353515625],
+            [25.4970703125, 43.67080078125],
+            [22.705078125, 44.23779296875],
+            [22.64208984375, 44.6509765625],
+            [22.09306640625, 44.541943359375],
+            [21.36005859375, 44.82666015625],
+            [21.519921875, 44.880810546875],
+            [21.4314453125, 45.192529296875],
+            [20.58115234375, 45.869482421875],
+            [20.50810546875, 46.166943359375],
+            [21.99970703125, 47.505029296875],
+            [23.20263671875, 48.084521484375],
+            [24.9791015625, 47.72412109375],
+            [26.1626953125, 47.992529296875],
+            [26.4423828125, 48.22998046875],
+            [28.07177734375, 46.97841796875]
+          ]
+        ]
+      },
+      "properties": { "name": "Romania" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [148.59951171875, 45.317626953125],
+              [147.24658203125, 44.8560546875],
+              [148.32421875, 45.282421875]
+            ]
+          ],
+          [
+            [
+              [142.76103515625, 54.3939453125],
+              [143.816015625, 50.2826171875],
+              [143.10498046875, 49.198828125],
+              [143.48564453125, 46.75205078125],
+              [142.57802734375, 46.70078125],
+              [141.9640625, 47.587451171875],
+              [142.066015625, 50.63046875],
+              [141.85556640625, 52.793505859375],
+              [142.70595703125, 53.895703125]
+            ]
+          ],
+          [
+            [
+              [21.2357421875, 55.264111328125],
+              [22.68447265625, 54.562939453125],
+              [21.1405273437501, 54.391796875],
+              [20.8998046875001, 55.286669921875],
+              [21.1888671875001, 54.935205078125]
+            ]
+          ],
+          [
+            [
+              [-179.79853515625, 68.9404296875],
+              [-178.055810546875, 68.264892578125],
+              [-174.849853515625, 67.348876953125],
+              [-174.084765625, 66.473095703125],
+              [-174.08642578125, 66.94287109375],
+              [-173.00751953125, 67.064892578125],
+              [-170.301220703125, 66.29404296875],
+              [-170.540673828125, 65.8654296875],
+              [-172.6619140625, 65.2485351562501],
+              [-172.903173828125, 64.52607421875],
+              [-173.729736328125, 64.364501953125],
+              [-176.09326171875, 65.471044921875],
+              [-178.9390625, 66.0327636718751],
+              [-179.143408203125, 66.3750488281251],
+              [-179.352099609375, 65.516748046875],
+              [-180, 65.8015625],
+              [-180, 68.738671875]
+            ]
+          ],
+          [
+            [
+              [55.31982421875, 73.30830078125],
+              [55.2978515625, 71.9353515625001],
+              [56.3857421875, 70.734130859375],
+              [53.3835937500001, 70.87353515625],
+              [53.41162109375, 71.530126953125],
+              [52.25205078125, 72.129736328125],
+              [53.3698242187501, 72.9167480468751]
+            ]
+          ],
+          [
+            [
+              [146.79521484375, 75.3707519531251],
+              [150.6462890625, 74.944580078125],
+              [146.5375, 75.5817871093751]
+            ]
+          ],
+          [
+            [
+              [140.04873046875, 75.828955078125],
+              [143.68583984375, 75.863671875],
+              [142.7294921875, 75.3376464843751],
+              [143.1279296875, 74.9703125],
+              [139.68125, 74.9640625],
+              [137.28974609375, 75.3486328125],
+              [138.2076171875, 76.11494140625]
+            ]
+          ],
+          [
+            [
+              [67.7653320312501, 76.23759765625],
+              [59.6740234375, 74.61015625],
+              [57.5425781250001, 73.658203125],
+              [54.2999023437501, 73.3509765625],
+              [56.1371093750001, 74.49609375],
+              [56.035546875, 75.19423828125],
+              [61.20166015625, 76.2820312500001],
+              [68.4857421875001, 76.93369140625]
+            ]
+          ],
+          [
+            [
+              [130.6873046875, 42.3025390625],
+              [131.25732421875, 43.378076171875],
+              [131.85185546875, 45.32685546875],
+              [133.43642578125, 45.6046875],
+              [134.566015625, 48.022509765625],
+              [130.7326171875, 48.01923828125],
+              [130.19599609375, 48.891650390625],
+              [127.999609375, 49.5686035156251],
+              [127.30703125, 50.707958984375],
+              [125.075, 53.203662109375],
+              [120.09453125, 52.78720703125],
+              [120.06689453125, 51.6006835937501],
+              [118.4515625, 49.844482421875],
+              [115.3650390625, 49.911767578125],
+              [114.2970703125, 50.2744140625001],
+              [112.8064453125, 49.523583984375],
+              [110.709765625, 49.14296875],
+              [108.5224609375, 49.34150390625],
+              [107.63095703125, 49.98310546875],
+              [106.36845703125, 50.317578125],
+              [103.63291015625, 50.13857421875],
+              [102.28837890625, 50.585107421875],
+              [102.1115234375, 51.353466796875],
+              [100.0345703125, 51.737109375],
+              [98.6405273437501, 51.8011718750001],
+              [98.02978515625, 50.64462890625],
+              [98.2794921875001, 50.533251953125],
+              [97.2085937500001, 49.7308105468751],
+              [94.71806640625, 50.04326171875],
+              [92.8564453125, 50.789111328125],
+              [92.6266601562501, 50.68828125],
+              [92.29580078125, 50.8498046875],
+              [88.97060546875, 49.483740234375],
+              [87.3228515625001, 49.085791015625],
+              [85.2326171875001, 49.6158203125],
+              [83.3573242187501, 50.994580078125],
+              [81.3882812500001, 50.956494140625],
+              [80.448046875, 51.183349609375],
+              [76.4847656250001, 54.02255859375],
+              [75.43720703125, 54.0896484375],
+              [73.8589843750001, 53.6197265625],
+              [73.2298828125001, 53.9578125],
+              [72.0044921875001, 54.2056640625],
+              [70.182421875, 55.162451171875],
+              [61.2310546875, 54.019482421875],
+              [61.19921875, 53.287158203125],
+              [60.7744140625, 52.67578125],
+              [61.5546875, 51.3246093750001],
+              [60.05859375, 50.85029296875],
+              [58.8836914062501, 50.69443359375],
+              [57.01171875, 51.065185546875],
+              [54.5552734375, 50.535791015625],
+              [52.219140625, 51.709375],
+              [50.246875, 51.289501953125],
+              [48.7589843750001, 49.9283203125001],
+              [46.88955078125, 49.69697265625],
+              [46.6609375000001, 48.412255859375],
+              [48.1669921875, 47.7087890625],
+              [49.2322265625001, 46.337158203125],
+              [47.63330078125, 45.584033203125],
+              [46.7072265625001, 44.5033203125],
+              [47.4631835937501, 43.03505859375],
+              [46.74931640625, 41.81259765625],
+              [45.63427734375, 42.234716796875],
+              [44.87099609375, 42.756396484375],
+              [43.73837890625, 42.6169921875],
+              [42.9916015625, 43.09150390625],
+              [40.6480468750001, 43.53388671875],
+              [37.20478515625, 44.97197265625],
+              [36.8659179687501, 45.42705078125],
+              [37.93310546875, 46.001708984375],
+              [38.4922851562501, 46.09052734375],
+              [38.438671875, 46.8130859375],
+              [38.9283203125, 47.17568359375],
+              [38.36884765625, 47.6099609375],
+              [39.8356445312501, 48.5427734375],
+              [39.1748046875, 49.85595703125],
+              [35.3119140625001, 51.043896484375],
+              [34.3978515625, 51.780419921875],
+              [31.7633789062501, 52.10107421875],
+              [31.53515625, 52.7982421875],
+              [31.2587890625, 53.0166992187501],
+              [32.64443359375, 53.32890625],
+              [30.798828125, 54.783251953125],
+              [30.9777343750001, 55.05048828125],
+              [30.814453125, 55.2787109375],
+              [30.9068359375001, 55.57001953125],
+              [29.93701171875, 55.845263671875],
+              [29.6300781250001, 55.751171875],
+              [28.19169921875, 56.3155761718751],
+              [27.6394531250001, 56.845654296875],
+              [27.796875, 57.316943359375],
+              [27.3519531250001, 57.528125],
+              [28.0580078125001, 59.78154296875],
+              [29.147265625, 59.999755859375],
+              [29.069140625, 60.191455078125],
+              [29.69013671875, 61.54609375],
+              [29.9915039062501, 63.73515625],
+              [30.0728515625001, 64.7650390625001],
+              [29.7159179687501, 65.624560546875],
+              [29.34384765625, 68.0618652343751],
+              [28.4140625000001, 68.9041503906251],
+              [30.18017578125, 69.63583984375],
+              [31.99794921875, 69.809912109375],
+              [39.80927734375, 68.150830078125],
+              [41.18896484375, 66.826171875],
+              [34.824609375, 66.6111328125],
+              [32.93046875, 67.08681640625],
+              [34.1126953125, 66.225244140625],
+              [35.0353515625, 64.4402343750001],
+              [37.9679687500001, 63.94912109375],
+              [36.6242187500001, 64.750537109375],
+              [40.0578125, 64.770751953125],
+              [41.4757812500001, 66.1234375],
+              [43.5418945312501, 66.123388671875],
+              [43.7824218750001, 67.2544921875],
+              [45.8919921875, 68.4796875],
+              [45.56220703125, 67.1855957031251],
+              [47.87470703125, 67.5841796875],
+              [53.801953125, 68.9958984375],
+              [53.2605468750001, 68.26748046875],
+              [56.04365234375, 68.648876953125],
+              [60.48916015625, 68.728955078125],
+              [64.1904296875, 69.53466796875],
+              [69.1405273437501, 68.950634765625],
+              [67.064453125, 69.693701171875],
+              [66.7022460937501, 70.818505859375],
+              [69.73828125, 72.8849609375],
+              [71.86728515625, 71.457373046875],
+              [73.139453125, 68.18134765625],
+              [71.53955078125, 66.68310546875],
+              [69.1943359375, 66.5786621093751],
+              [72.32158203125, 66.33212890625],
+              [74.76953125, 67.766357421875],
+              [76.4591796875, 68.978271484375],
+              [78.9224609375001, 67.589111328125],
+              [77.6506835937501, 68.90302734375],
+              [73.8360351562501, 69.143212890625],
+              [73.67177734375, 71.845068359375],
+              [75.74140625, 72.296240234375],
+              [77.5896484375001, 71.167919921875],
+              [78.5876953125001, 70.993896484375],
+              [76.87138671875, 72.0330078125001],
+              [80.7625, 72.08916015625],
+              [82.3228515625001, 71.260009765625],
+              [83.03017578125, 70.580517578125],
+              [83.7359375000001, 70.546484375],
+              [82.6454101562501, 71.925244140625],
+              [80.4245117187501, 73.23115234375],
+              [85.7925781250001, 73.438330078125],
+              [87.57119140625, 73.8107421875],
+              [86.6514648437501, 74.6824218750001],
+              [87.0059570312501, 75.16982421875],
+              [92.8904296875, 75.9099609375],
+              [99.77041015625, 76.028759765625],
+              [98.8056640625, 76.4806640625],
+              [100.98994140625, 76.990478515625],
+              [104.20244140625, 77.101806640625],
+              [107.72216796875, 76.522314453125],
+              [111.94267578125, 76.38046875],
+              [113.5638671875, 75.891650390625],
+              [109.84033203125, 74.32197265625],
+              [106.67939453125, 73.3306640625],
+              [106.4779296875, 73.139404296875],
+              [110.8681640625, 73.730712890625],
+              [111.130859375, 74.05283203125],
+              [112.147265625, 73.708935546875],
+              [113.4162109375, 73.647607421875],
+              [113.66455078125, 72.634521484375],
+              [115.3376953125, 73.702587890625],
+              [119.750390625, 72.9791015625001],
+              [123.1603515625, 72.9548828125],
+              [125.59853515625, 73.447412109375],
+              [127.74033203125, 73.48154296875],
+              [129.250390625, 72.70517578125],
+              [128.9349609375, 72.0794921875],
+              [130.537109375, 70.892529296875],
+              [132.65390625, 71.9259765625],
+              [137.918359375, 71.38408203125],
+              [139.9841796875, 71.4915039062501],
+              [139.1763671875, 72.1634765625],
+              [140.808203125, 72.890966796875],
+              [144.7763671875, 72.382275390625],
+              [146.11328125, 71.944970703125],
+              [145.06396484375, 71.92607421875],
+              [149.5015625, 72.164306640625],
+              [150.5998046875, 71.5201171875],
+              [152.0927734375, 71.023291015625],
+              [158.03701171875, 71.0392578125],
+              [160.9107421875, 69.60634765625],
+              [161.565625, 68.90517578125],
+              [166.8203125, 69.4995605468751],
+              [169.60986328125, 68.78603515625],
+              [170.1609375, 69.6265625],
+              [175.921484375, 69.8953125],
+              [178.51953125, 64.602978515625],
+              [177.0373046875, 64.999658203125],
+              [174.548828125, 64.6838867187501],
+              [177.42744140625, 64.76337890625],
+              [178.2294921875, 64.364404296875],
+              [178.74404296875, 63.394775390625],
+              [179.5705078125, 62.6875],
+              [177.02353515625, 62.77724609375],
+              [172.3927734375, 61.061767578125],
+              [166.13603515625, 59.979345703125],
+              [164.52529296875, 60.061279296875],
+              [163.36484375, 59.7814453125],
+              [162.39140625, 57.717236328125],
+              [163.04736328125, 56.044677734375],
+              [162.671484375, 56.490087890625],
+              [162.10556640625, 54.7521484375],
+              [158.4720703125, 53.032373046875],
+              [156.8474609375, 51.006591796875],
+              [156.1103515625, 52.866162109375],
+              [156.848828125, 57.290185546875],
+              [157.66640625, 58.0197753906251],
+              [164.00546875, 61.343798828125],
+              [165.20810546875, 62.373974609375],
+              [159.7904296875, 60.956640625],
+              [158.0701171875, 61.75361328125],
+              [154.97080078125, 60.37666015625],
+              [155.16044921875, 59.19013671875],
+              [153.3611328125, 59.214794921875],
+              [151.3267578125, 58.87509765625],
+              [150.48359375, 59.494384765625],
+              [149.20498046875, 59.48818359375],
+              [148.72666015625, 59.25791015625],
+              [146.04951171875, 59.170556640625],
+              [140.790234375, 58.303466796875],
+              [135.2625, 54.943310546875],
+              [136.71884765625, 53.8041015625],
+              [137.3392578125, 54.100537109375],
+              [140.68759765625, 53.596435546875],
+              [141.255859375, 52.84013671875],
+              [140.5171875, 49.596142578125],
+              [137.68544921875, 45.818359375],
+              [134.01044921875, 42.9474609375],
+              [132.3095703125, 43.313525390625],
+              [130.709375, 42.656396484375]
+            ]
+          ],
+          [
+            [
+              [102.884765625, 79.2539550781251],
+              [105.14599609375, 78.8188476562501],
+              [101.2041015625, 78.1919433593751],
+              [102.4048828125, 79.433203125]
+            ]
+          ],
+          [
+            [
+              [97.67451171875, 80.158251953125],
+              [99.6806640625, 79.32333984375],
+              [95.5310546875001, 79.098095703125],
+              [94.9873046875, 80.096826171875]
+            ]
+          ],
+          [
+            [
+              [50.278125, 80.92724609375],
+              [47.7373046875, 80.081689453125],
+              [47.89580078125, 80.529052734375]
+            ]
+          ],
+          [
+            [
+              [96.5265625, 81.0755859375],
+              [93.6546875, 80.009619140625],
+              [92.7103515625, 80.87216796875]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Russia" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [30.5099609375, -1.06728515625001],
+            [30.8765625, -2.143359375],
+            [30.71484375, -2.36347656250001],
+            [30.40849609375, -2.31298828125],
+            [29.698046875, -2.7947265625],
+            [28.8939453125, -2.63505859375],
+            [29.576953125, -1.38789062500001],
+            [30.4123046875, -1.06308593750001]
+          ]
+        ]
+      },
+      "properties": { "name": "Rwanda" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [46.5314453125, 29.096240234375],
+              [48.808984375, 27.8958984375],
+              [50.15546875, 26.100537109375],
+              [50.7255859375, 24.8693847656251],
+              [51.0227539062501, 24.565234375],
+              [51.3384765625001, 24.56435546875],
+              [51.5925781250001, 24.078857421875],
+              [55.641015625, 22.00185546875],
+              [48.17216796875, 18.15693359375],
+              [46.9756835937501, 16.953466796875],
+              [43.9169921875, 17.32470703125],
+              [42.79931640625, 16.37177734375],
+              [40.7591796875001, 19.75546875],
+              [39.0935546875001, 21.3103515625],
+              [38.46416015625, 23.711865234375],
+              [34.625, 28.064501953125],
+              [36.47607421875, 29.4951171875],
+              [37.46923828125, 29.995068359375],
+              [37.64990234375, 30.33095703125],
+              [37.493359375, 31.62587890625],
+              [38.9970703125, 32.0074707031251],
+              [40.02783203125, 31.99501953125],
+              [43.77373046875, 29.84921875]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Saudi Arabia" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [36.87138671875, 21.996728515625],
+            [37.1505859375, 21.103759765625],
+            [38.60947265625, 18.005078125],
+            [38.253515625, 17.584765625],
+            [37.4529296875, 17.10869140625],
+            [37.0615234375, 17.061279296875],
+            [36.4267578125, 15.132080078125],
+            [36.1251953125, 12.75703125],
+            [34.078125, 9.46152343749999],
+            [33.130078125, 10.745947265625],
+            [32.73671875, 12.00966796875],
+            [31.22490234375, 9.799267578125],
+            [27.880859375, 9.60161132812499],
+            [25.858203125, 10.406494140625],
+            [24.53193359375, 8.8869140625],
+            [23.62265625, 9.340625],
+            [21.928125, 12.678125],
+            [22.93388671875, 15.53310546875],
+            [23.9802734375, 19.995947265625],
+            [31.43447265625, 21.995849609375]
+          ]
+        ]
+      },
+      "properties": { "name": "Sudan" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [34.078125, 9.46152343749999],
+            [32.99892578125, 7.89951171874999],
+            [34.98359375, 5.85830078124999],
+            [34.63984375, 4.87548828125],
+            [33.7416015625, 3.98525390624999],
+            [32.3357421875, 3.70620117187499],
+            [30.50830078125, 3.835693359375],
+            [29.22490234375, 4.39189453124999],
+            [27.7880859375, 4.64467773437499],
+            [25.200390625, 7.80791015624999],
+            [24.53193359375, 8.8869140625],
+            [25.858203125, 10.406494140625],
+            [27.880859375, 9.60161132812499],
+            [31.22490234375, 9.799267578125],
+            [32.73671875, 12.00966796875],
+            [33.130078125, 10.745947265625],
+            [34.078125, 9.46152343749999]
+          ]
+        ]
+      },
+      "properties": { "name": "S. Sudan" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [-12.280615234375, 14.809033203125],
+            [-12.05419921875, 13.633056640625],
+            [-11.389404296875, 12.40439453125],
+            [-13.08291015625, 12.633544921875],
+            [-15.19609375, 12.679931640625],
+            [-16.65693359375, 12.36435546875],
+            [-16.59765625, 12.715283203125],
+            [-15.83427734375, 13.1564453125],
+            [-14.24677734375, 13.23583984375],
+            [-15.108349609375, 13.812109375],
+            [-16.766943359375, 13.904931640625],
+            [-17.34580078125, 14.729296875],
+            [-16.843408203125, 15.293994140625],
+            [-16.480078125, 16.097216796875],
+            [-14.990625, 16.676904296875],
+            [-13.40966796875, 16.0591796875],
+            [-12.280615234375, 14.809033203125]
+          ]
+        ]
+      },
+      "properties": { "name": "Senegal" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [-37.1033203125, -54.065625],
+            [-35.798583984375, -54.7634765625],
+            [-37.61884765625, -54.04208984375]
+          ]
+        ]
+      },
+      "properties": { "name": "S. Geo. and S. Sandw. Is." }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [161.71533203125, -10.3873046875],
+              [161.537890625, -10.56640625],
+              [161.71533203125, -10.3873046875]
+            ]
+          ],
+          [
+            [
+              [159.750390625, -9.27265625000001],
+              [160.64921875, -9.92861328124998],
+              [159.750390625, -9.27265625000001]
+            ]
+          ],
+          [
+            [
+              [160.7494140625, -8.31396484375001],
+              [161.3673828125, -9.61123046874998],
+              [160.7494140625, -8.31396484375001]
+            ]
+          ],
+          [
+            [
+              [157.7634765625, -8.24218749999996],
+              [157.5580078125, -8.269921875],
+              [157.7634765625, -8.24218749999996]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Solomon Is." }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [-10.75859375, 9.38535156249999],
+              [-10.67734375, 8.4005859375],
+              [-10.36005859375, 8.49550781249998],
+              [-10.3598144531249, 8.18793945312503],
+              [-11.26767578125, 7.2326171875],
+              [-12.697607421875, 7.71586914062505],
+              [-13.27275390625, 8.42973632812499],
+              [-12.9587890625, 9.26333007812499],
+              [-12.142333984375, 9.87539062499999],
+              [-11.180859375, 9.92534179687505]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Sierra Leone" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [-89.36259765625, 14.416015625],
+            [-88.49765625, 13.904541015625],
+            [-87.80224609375, 13.889990234375],
+            [-87.930859375, 13.1806640625],
+            [-90.09521484375, 13.7365234375],
+            [-89.36259765625, 14.416015625]
+          ]
+        ]
+      },
+      "properties": { "name": "El Salvador" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [-54.034228515625, 3.62939453125],
+            [-54.25673828125, 2.71372070312499],
+            [-54.604736328125, 2.33579101562499],
+            [-54.978662109375, 2.59765625],
+            [-56.0451171875, 2.36440429687499],
+            [-55.921630859375, 1.97666015624999],
+            [-56.704345703125, 2.03647460937499],
+            [-58.054296875, 4.10166015624999],
+            [-57.331005859375, 5.02016601562499],
+            [-56.96982421875, 5.99287109375],
+            [-55.64833984375, 5.98588867187499],
+            [-54.4796875, 4.83652343749999]
+          ]
+        ]
+      },
+      "properties": { "name": "Suriname" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [22.538671875, 49.072705078125],
+            [22.14287109375, 48.568505859375],
+            [20.4900390625, 48.526904296875],
+            [18.79189453125, 48.00029296875],
+            [16.8654296875, 48.3869140625],
+            [19.4416015625, 49.597705078125],
+            [22.0201171875, 49.209521484375]
+          ]
+        ]
+      },
+      "properties": { "name": "Slovakia" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [16.5162109375, 46.49990234375],
+            [15.608984375, 46.171923828125],
+            [15.6521484375, 45.862158203125],
+            [15.11044921875, 45.45078125],
+            [14.591796875, 45.65126953125],
+            [14.42734375, 45.50576171875],
+            [13.8447265625, 45.59287109375],
+            [13.42099609375, 46.2123046875],
+            [13.6796875, 46.462890625],
+            [15.9576171875, 46.67763671875]
+          ]
+        ]
+      },
+      "properties": { "name": "Slovenia" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [19.07646484375, 57.8359375],
+              [18.2853515625001, 57.083203125],
+              [19.07646484375, 57.8359375]
+            ]
+          ],
+          [
+            [
+              [24.15546875, 65.8052734375001],
+              [21.5655273437501, 65.40810546875],
+              [21.1381835937501, 64.8086914062501],
+              [18.3128906250001, 62.99638671875],
+              [17.3745117187501, 61.86630859375],
+              [17.2509765625, 60.70078125],
+              [18.9705078125, 59.7572265625],
+              [16.978125, 58.6541503906251],
+              [16.6522460937501, 57.50068359375],
+              [14.7547851562501, 56.033154296875],
+              [14.1737304687501, 55.396630859375],
+              [12.8016601562501, 56.263916015625],
+              [11.14716796875, 58.988623046875],
+              [11.6427734375, 58.92607421875],
+              [12.588671875, 60.450732421875],
+              [12.15537109375, 61.720751953125],
+              [12.7927734375, 64],
+              [14.07763671875, 64.464013671875],
+              [16.78359375, 67.89501953125],
+              [21.9974609375001, 68.52060546875],
+              [23.7335937500001, 67.422900390625],
+              [24.15546875, 65.8052734375001]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Sweden" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [31.9482421875, -25.9576171875],
+            [32.112890625, -26.839453125],
+            [31.94609375, -27.1736328125],
+            [31.2740234375, -27.23837890625],
+            [30.80673828125, -26.78525390625],
+            [31.20732421875, -25.843359375],
+            [31.9216796875, -25.96875]
+          ]
+        ]
+      },
+      "properties": { "name": "Swaziland" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [42.358984375, 37.10859375],
+            [41.3541015625, 35.6404296875],
+            [36.818359375, 32.31728515625],
+            [35.869140625, 33.43173828125],
+            [36.27783203125, 33.92529296875],
+            [36.38388671875, 34.65791015625],
+            [35.8396484375, 35.84921875],
+            [36.15361328125, 35.83388671875],
+            [36.64140625, 36.263525390625],
+            [36.62841796875, 36.777685546875],
+            [39.6865234375, 36.738623046875],
+            [42.2685546875, 37.2765625]
+          ]
+        ]
+      },
+      "properties": { "name": "Syria" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [23.9802734375, 19.496630859375],
+            [22.93232421875, 15.162109375],
+            [22.1064453125, 13.7998046875],
+            [22.35234375, 12.66044921875],
+            [22.92265625, 11.344873046875],
+            [21.68271484375, 10.28984375],
+            [16.784765625, 7.5509765625],
+            [15.480078125, 7.52377929687499],
+            [13.97724609375, 9.69155273437499],
+            [15.1322265625, 10.648486328125],
+            [14.46171875, 13.02177734375],
+            [13.60634765625, 13.70458984375],
+            [15.47431640625, 16.9083984375],
+            [15.60732421875, 20.95439453125],
+            [20.14765625, 21.3892578125]
+          ]
+        ]
+      },
+      "properties": { "name": "Chad" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [0.900488281250006, 10.99326171875],
+            [1.60019531250001, 9.050048828125],
+            [1.62265625, 6.216796875],
+            [0.634765625, 7.35366210937499],
+            [0.48876953125, 8.85146484374999],
+            [-0.068603515625, 11.115625]
+          ]
+        ]
+      },
+      "properties": { "name": "Togo" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [100.1224609375, 20.3166503906251],
+              [100.51953125, 20.1779296875],
+              [101.22080078125, 19.4866210937501],
+              [100.955859375, 17.54111328125],
+              [102.10146484375, 18.21064453125],
+              [102.5525390625, 17.965087890625],
+              [103.0513671875, 18.028515625],
+              [103.28828125, 18.4083984375],
+              [103.79228515625, 18.31650390625],
+              [104.816015625, 17.30029296875],
+              [104.8193359375, 16.466064453125],
+              [105.40625, 15.9874511718751],
+              [105.6388671875, 15.5859375000001],
+              [105.4755859375, 14.530126953125],
+              [105.18330078125, 14.346240234375],
+              [104.77900390625, 14.42783203125],
+              [102.336328125, 13.560302734375],
+              [102.93388671875, 11.706689453125],
+              [100.89775390625, 12.65380859375],
+              [99.9905273437501, 13.24345703125],
+              [99.1650390625, 10.31982421875],
+              [100.129296875, 8.42807617187501],
+              [100.43935546875, 7.28076171875004],
+              [100.1607421875, 7.59926757812499],
+              [102.10107421875, 6.24223632812503],
+              [101.11396484375, 5.63676757812505],
+              [100.7544921875, 6.46005859374999],
+              [99.69599609375, 6.87666015625004],
+              [98.7886718750001, 8.05981445312503],
+              [98.3054687500001, 8.22622070312501],
+              [99.1901367187501, 11.1052734375],
+              [99.1368164062501, 13.71669921875],
+              [98.5569335937501, 15.36767578125],
+              [98.83544921875, 16.417578125],
+              [97.6322265625001, 18.2903320312501],
+              [98.0150390625001, 19.74951171875],
+              [99.9542968750001, 20.4154296875]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Thailand" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [70.9580078125, 40.2388671875],
+              [69.27880859375, 39.9177734375],
+              [70.79931640625, 39.3947265625],
+              [71.505859375, 39.51708984375],
+              [72.0427734375, 39.3521484375],
+              [73.38740234375, 39.442724609375],
+              [75.11875, 37.385693359375],
+              [73.6275390625001, 37.261572265625],
+              [73.6571289062501, 37.43046875],
+              [73.2111328125, 37.40849609375],
+              [71.530859375, 36.8451171875],
+              [71.48779296875, 37.931884765625],
+              [71.33271484375, 38.170263671875],
+              [70.2146484375, 37.9244140625001],
+              [70.188671875, 37.582470703125],
+              [69.62578125, 37.59404296875],
+              [69.26484375, 37.1083984375],
+              [68.88525390625, 37.328076171875],
+              [68.0677734375, 36.9498046875],
+              [67.7980468750001, 37.244970703125],
+              [68.13251953125, 38.92763671875],
+              [67.426171875, 39.465576171875],
+              [68.86875, 39.907470703125],
+              [70.4019531250001, 41.035107421875],
+              [70.9580078125, 40.2388671875]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Tajikistan" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [66.5222656250001, 37.3484863281251],
+            [64.7824218750001, 37.05927734375],
+            [64.184375, 36.14892578125],
+            [63.056640625, 35.44580078125],
+            [62.3078125000001, 35.1708007812501],
+            [61.26201171875, 35.619580078125],
+            [61.11962890625, 36.642578125],
+            [59.3017578125, 37.5106445312501],
+            [57.1935546875001, 38.21640625],
+            [54.90009765625, 37.7779296875001],
+            [53.70458984375, 39.2095703125],
+            [53.603125, 39.54697265625],
+            [53.0355468750001, 39.7744140625],
+            [53.1452148437501, 40.824951171875],
+            [54.31943359375, 40.8345703125],
+            [53.8046875, 42.117626953125],
+            [52.8503906250001, 41.2002929687501],
+            [54.85380859375, 41.965185546875],
+            [57.11884765625, 41.35029296875],
+            [58.02890625, 42.4876464843751],
+            [58.5890625000001, 42.778466796875],
+            [61.2423828125001, 41.189208984375],
+            [63.763671875, 39.160546875],
+            [66.60625, 37.9867187500001],
+            [66.5222656250001, 37.3484863281251]
+          ]
+        ]
+      },
+      "properties": { "name": "Turkmenistan" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [125.0681640625, -9.5119140625],
+              [124.93681640625, -9.05341796875003],
+              [126.6197265625, -8.45947265624999],
+              [125.4080078125, -9.27578125000002]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Timor-Leste" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [10.274609375, 31.6849609375],
+              [9.93251953125005, 30.425341796875],
+              [7.87724609375002, 33.172119140625],
+              [8.27685546875006, 34.9794921875],
+              [8.34873046875006, 36.36796875],
+              [9.68798828125006, 37.340380859375],
+              [11.12666015625, 36.874072265625],
+              [11.1201171875001, 35.240283203125],
+              [10.3052734375, 33.728271484375],
+              [11.257421875, 33.3088378906251],
+              [11.5359375, 32.47333984375],
+              [10.47578125, 31.73603515625]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Tunisia" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [43.4333984375, 41.155517578125],
+              [43.6662109375, 40.1263671875],
+              [44.587109375, 39.7685546875001],
+              [44.2985351562501, 38.386279296875],
+              [44.6693359375001, 37.173583984375],
+              [44.2818359375001, 36.97802734375],
+              [44.191796875, 37.249853515625],
+              [42.774609375, 37.371875],
+              [42.358984375, 37.10859375],
+              [42.2027343750001, 37.297265625],
+              [40.7056640625001, 37.097705078125],
+              [39.50146484375, 36.70224609375],
+              [37.0662109375001, 36.65263671875],
+              [36.6585937500001, 36.8025390625],
+              [36.201953125, 35.937548828125],
+              [35.8926757812501, 35.916552734375],
+              [35.3931640625, 36.5751953125],
+              [32.377734375, 36.183642578125],
+              [30.4460937500001, 36.269873046875],
+              [28.00537109375, 36.831982421875],
+              [26.29072265625, 38.277197265625],
+              [26.9068359375, 38.48173828125],
+              [26.85361328125, 39.115625],
+              [26.1013671875001, 39.5689453125],
+              [27.8749023437501, 40.512939453125],
+              [28.787890625, 40.534033203125],
+              [29.14814453125, 41.221044921875],
+              [33.38134765625, 42.017578125],
+              [35.1220703125, 41.89111328125],
+              [36.4053710937501, 41.274609375],
+              [39.4263671875, 41.1064453125],
+              [41.5100585937501, 41.51748046875],
+              [42.6068359375001, 41.57880859375],
+              [43.4333984375, 41.155517578125]
+            ]
+          ],
+          [
+            [
+              [27.4748046875, 41.946875],
+              [28.95625, 41.008203125],
+              [26.7720703125, 40.498046875],
+              [26.10546875, 40.611328125],
+              [26.6249023437501, 41.4017578125],
+              [26.51142578125, 41.8263671875],
+              [27.2443359375, 42.09326171875]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Turkey" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [33.9032226562501, -1.00205078125003],
+              [38.8046875, -6.07011718750003],
+              [39.988671875, -10.82080078125],
+              [36.9789062500001, -11.5669921875],
+              [35.56435546875, -11.60234375],
+              [34.93701171875, -11.4634765625],
+              [34.6670898437501, -10.79248046875],
+              [33.8888671875, -9.67011718749998],
+              [30.9683593750001, -8.55097656249998],
+              [30.40673828125, -7.46064453124998],
+              [29.5408203125, -6.31386718750004],
+              [29.4032226562501, -4.44931640624996],
+              [30.7902343750001, -3.27460937500001],
+              [30.4240234375001, -2.82402343749996],
+              [30.53369140625, -2.42626953125001],
+              [30.8765625, -2.14335937500002],
+              [30.76220703125, -1.45869140624998],
+              [30.47021484375, -1.13115234374996],
+              [30.8447265625, -1.00205078125003]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Tanzania" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [30.5099609375, -1.06728515625001],
+            [29.930078125, -1.46992187500001],
+            [29.93447265625, 0.4990234375],
+            [30.72861328125, 2.45537109374999],
+            [30.83857421875, 3.49072265625],
+            [32.1359375, 3.5197265625],
+            [34.1857421875, 3.86977539062499],
+            [34.4376953125, 3.6505859375],
+            [34.4478515625, 3.16347656249999],
+            [34.9775390625, 1.86191406249999],
+            [34.41083984375, 0.867285156249991],
+            [32.371875, -1.00205078125001],
+            [30.5099609375, -1.06728515625001]
+          ]
+        ]
+      },
+      "properties": { "name": "Uganda" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [38.21435546875, 47.091455078125],
+              [35.8271484375, 46.62431640625],
+              [34.849609375, 46.189892578125],
+              [36.575, 45.3935546875],
+              [35.0876953125, 44.80263671875],
+              [33.55517578125, 45.09765625],
+              [33.4298828125, 46.0576171875],
+              [32.00849609375, 46.42998046875],
+              [32.0443359375001, 46.64248046875],
+              [31.5633789062501, 46.777294921875],
+              [28.78828125, 45.240966796875],
+              [28.26484375, 45.48388671875],
+              [29.00625, 46.17646484375],
+              [28.9583984375, 46.45849609375],
+              [29.8780273437501, 46.360205078125],
+              [29.9347656250001, 46.625],
+              [28.423046875, 48.146875],
+              [26.9005859375, 48.3719238281251],
+              [25.4642578125001, 47.910791015625],
+              [23.408203125, 47.9899902343751],
+              [22.7691406250001, 48.109619140625],
+              [22.14287109375, 48.568505859375],
+              [22.538671875, 49.072705078125],
+              [22.70615234375, 49.606201171875],
+              [24.08994140625, 50.53046875],
+              [23.664453125, 51.31005859375],
+              [23.8642578125001, 51.623974609375],
+              [24.280078125, 51.77470703125],
+              [26.95283203125, 51.75400390625],
+              [27.68974609375, 51.572412109375],
+              [29.0607421875, 51.625439453125],
+              [30.44951171875, 51.27431640625],
+              [30.7552734375, 51.895166015625],
+              [32.43544921875, 52.3072265625],
+              [34.2138671875, 51.2553710937501],
+              [36.1164062500001, 50.408544921875],
+              [40.0806640625, 49.57685546875],
+              [39.79287109375, 48.80771484375],
+              [39.7787109375001, 47.8875488281251]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Ukraine" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [-57.810595703125, -30.85859375],
+            [-57.65087890625, -30.29501953125],
+            [-56.4072265625, -30.4474609375],
+            [-55.873681640625, -31.06962890625],
+            [-55.17353515625, -31.27958984375],
+            [-54.220556640625, -31.85517578125],
+            [-53.2140625, -32.82109375],
+            [-53.511865234375, -33.10869140625],
+            [-53.419580078125, -33.77919921875],
+            [-53.785302734375, -34.38037109375],
+            [-56.249951171875, -34.90126953125],
+            [-58.363525390625, -33.18232421875],
+            [-58.16748046875, -31.87265625],
+            [-57.810595703125, -30.85859375]
+          ]
+        ]
+      },
+      "properties": { "name": "Uruguay" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [-72.509765625, 40.98603515625],
+              [-74.014892578125, 40.581201171875],
+              [-72.27412109375, 41.15302734375]
+            ]
+          ],
+          [
+            [
+              [-94.803466796875, 49.0029296875],
+              [-93.70771484375, 48.525439453125],
+              [-92.5005859375, 48.4353515625],
+              [-91.38720703125, 48.058544921875],
+              [-89.4556640625, 47.996240234375],
+              [-86.67216796875, 47.63642578125],
+              [-83.615966796875, 46.116845703125],
+              [-82.55107421875, 45.34736328125],
+              [-82.4390625, 41.674853515625],
+              [-80.24755859375, 42.366015625],
+              [-79.026171875, 43.0173339843751],
+              [-78.845556640625, 43.583349609375],
+              [-76.819970703125, 43.62880859375],
+              [-74.996142578125, 44.9701171875],
+              [-71.327294921875, 45.290087890625],
+              [-69.24287109375, 47.46298828125],
+              [-67.806787109375, 47.0828125],
+              [-67.124853515625, 45.16943359375],
+              [-68.056640625, 44.384326171875],
+              [-68.8119140624999, 44.33935546875],
+              [-69.965234375, 43.855078125],
+              [-70.612939453125, 42.6232421875],
+              [-69.9486328125, 41.6771484375001],
+              [-71.14873046875, 41.745703125],
+              [-73.927197265625, 40.9142578125],
+              [-74.064599609375, 39.993115234375],
+              [-75.52421875, 39.490185546875],
+              [-75.58759765625, 39.6407714843751],
+              [-75.0387695312499, 38.4263671875],
+              [-75.850830078125, 37.97158203125],
+              [-76.26416015625, 38.599951171875],
+              [-76.153125, 39.3150390625],
+              [-75.958935546875, 39.58505859375],
+              [-76.57041015625, 39.2693359375],
+              [-76.67734375, 38.611962890625],
+              [-76.88974609375, 38.29208984375],
+              [-77.260400390625, 38.6],
+              [-76.30556640625, 37.571484375],
+              [-77.2508789062499, 37.32919921875],
+              [-75.5341796875, 35.8190917968751],
+              [-76.1478515625, 36.279296875],
+              [-76.559375, 36.01533203125],
+              [-76.08359375, 35.6905273437501],
+              [-76.173828125, 35.354150390625],
+              [-77.039990234375, 35.527392578125],
+              [-76.974951171875, 35.0251953125],
+              [-76.439794921875, 34.842919921875],
+              [-78.405859375, 33.917578125],
+              [-79.276025390625, 33.135400390625],
+              [-80.362841796875, 32.500732421875],
+              [-80.8025390625, 32.448046875],
+              [-81.441748046875, 31.19970703125],
+              [-80.693505859375, 28.344970703125],
+              [-80.050048828125, 26.8077148437501],
+              [-81.13603515625, 25.30966796875],
+              [-81.715478515625, 25.983154296875],
+              [-82.4057617187499, 27.862890625],
+              [-82.8435058593749, 27.84599609375],
+              [-84.30966796875, 30.06474609375],
+              [-85.413818359375, 29.84248046875],
+              [-85.603515625, 30.286767578125],
+              [-86.257373046875, 30.493017578125],
+              [-87.17060546875, 30.53876953125],
+              [-87.622265625, 30.26474609375],
+              [-90.1259765625, 30.369091796875],
+              [-89.400732421875, 30.0460449218751],
+              [-89.155517578125, 29.0166015625],
+              [-90.15908203125, 29.537158203125],
+              [-90.751025390625, 29.130859375],
+              [-91.514208984375, 29.55537109375],
+              [-94.741943359375, 29.75],
+              [-96.234521484375, 28.48896484375],
+              [-97.156494140625, 28.1443359375],
+              [-97.431494140625, 27.83720703125],
+              [-97.6923828125, 27.287158203125],
+              [-97.1462402343749, 25.961474609375],
+              [-99.505322265625, 27.54833984375],
+              [-102.2689453125, 29.87119140625],
+              [-104.110595703125, 29.3861328125],
+              [-106.44541015625, 31.768408203125],
+              [-114.8359375, 32.50830078125],
+              [-118.080517578125, 33.72216796875],
+              [-119.6060546875, 34.418017578125],
+              [-120.857373046875, 35.20966796875],
+              [-122.393359375, 38.14482421875],
+              [-122.908154296875, 38.19658203125],
+              [-124.071923828125, 41.459521484375],
+              [-124.0443359375, 46.605078125],
+              [-123.84287109375, 46.96318359375],
+              [-124.6630859375, 47.97412109375],
+              [-122.77861328125, 48.13759765625],
+              [-123.1390625, 47.386083984375],
+              [-122.5328125, 47.9197265625],
+              [-122.828466796875, 47.336572265625],
+              [-122.401806640625, 47.78427734375],
+              [-122.6859375, 48.794287109375],
+              [-119.701708984375, 48.993017578125],
+              [-94.803466796875, 49.0029296875]
+            ]
+          ],
+          [
+            [
+              [-166.61533203125, 53.900927734375],
+              [-166.354541015625, 53.67353515625],
+              [-167.01572265625, 53.698388671875],
+              [-167.0380859375, 53.9421875]
+            ]
+          ],
+          [
+            [
+              [-163.476025390625, 54.980712890625],
+              [-164.8234375, 54.4190917968751],
+              [-163.476025390625, 54.980712890625]
+            ]
+          ],
+          [
+            [
+              [-130.979150390625, 55.48916015625],
+              [-131.84609375, 55.416259765625],
+              [-130.979150390625, 55.48916015625]
+            ]
+          ],
+          [
+            [
+              [-133.56611328125, 56.339208984375],
+              [-132.172705078125, 55.480615234375],
+              [-132.206689453125, 55.2244140625],
+              [-132.95888671875, 55.395556640625],
+              [-133.371240234375, 56.035888671875]
+            ]
+          ],
+          [
+            [
+              [-133.3662109375, 57.003515625],
+              [-133.328955078125, 56.830078125],
+              [-133.3662109375, 57.003515625]
+            ]
+          ],
+          [
+            [
+              [-134.969775390625, 57.351416015625],
+              [-134.883447265625, 56.679052734375],
+              [-135.8123046875, 57.009521484375]
+            ]
+          ],
+          [
+            [
+              [-152.898046875, 57.82392578125],
+              [-152.41220703125, 57.45478515625],
+              [-153.732568359375, 57.05234375],
+              [-154.24375, 57.143017578125],
+              [-153.6876953125, 57.305126953125],
+              [-153.16044921875, 57.97197265625]
+            ]
+          ],
+          [
+            [
+              [-135.73037109375, 58.24423828125],
+              [-134.970654296875, 57.817236328125],
+              [-135.564208984375, 57.66640625],
+              [-136.32197265625, 58.218896484375]
+            ]
+          ],
+          [
+            [
+              [-134.6802734375, 58.161669921875],
+              [-133.9111328125, 57.3525390625],
+              [-134.6802734375, 58.161669921875]
+            ]
+          ],
+          [
+            [
+              [-152.416943359375, 58.360205078125],
+              [-152.309228515625, 58.13388671875],
+              [-152.976123046875, 58.2970214843751]
+            ]
+          ],
+          [
+            [
+              [-166.13544921875, 60.383544921875],
+              [-167.1388671875, 60.008544921875],
+              [-166.13544921875, 60.383544921875]
+            ]
+          ],
+          [
+            [
+              [-171.463037109375, 63.6400390625],
+              [-168.716015625, 63.310595703125],
+              [-169.818603515625, 63.12236328125],
+              [-171.463037109375, 63.6400390625]
+            ]
+          ],
+          [
+            [
+              [-141.0021484375, 68.7741699218751],
+              [-141.0021484375, 60.300244140625],
+              [-139.973291015625, 60.1831542968751],
+              [-139.079248046875, 60.279443359375],
+              [-137.2775390625, 58.98818359375],
+              [-136.466357421875, 59.45908203125],
+              [-135.36787109375, 59.743310546875],
+              [-133.27529296875, 58.2228515625],
+              [-131.866162109375, 56.792822265625],
+              [-130.477099609375, 56.23056640625],
+              [-130.2140625, 55.02587890625],
+              [-130.748193359375, 55.318017578125],
+              [-131.9833984375, 55.535009765625],
+              [-131.5513671875, 56.206787109375],
+              [-133.465869140625, 57.17216796875],
+              [-133.1943359375, 57.8776855468751],
+              [-133.8767578125, 58.5181640625],
+              [-135.50234375, 59.202294921875],
+              [-136.483740234375, 58.61767578125],
+              [-137.543994140625, 58.581201171875],
+              [-139.4314453125, 60.0122558593751],
+              [-141.670166015625, 59.969873046875],
+              [-144.901318359375, 60.33515625],
+              [-146.59912109375, 61.053515625],
+              [-147.75185546875, 61.2189453125],
+              [-148.25673828125, 60.67529296875],
+              [-148.430712890625, 59.989111328125],
+              [-149.7138671875, 59.919580078125],
+              [-151.94951171875, 59.265087890625],
+              [-151.45009765625, 59.650390625],
+              [-150.441259765625, 61.0235839843751],
+              [-149.97568359375, 61.279345703125],
+              [-153.025, 60.295654296875],
+              [-153.6525390625, 59.647021484375],
+              [-154.289013671875, 58.304345703125],
+              [-156.435888671875, 57.3599609375],
+              [-158.275634765625, 56.196240234375],
+              [-162.8650390625, 54.954541015625],
+              [-163.27880859375, 55.121826171875],
+              [-160.8986328125, 55.99365234375],
+              [-160.29169921875, 55.8050781250001],
+              [-157.4619140625, 57.506201171875],
+              [-157.48837890625, 58.2537109375],
+              [-157.142041015625, 58.87763671875],
+              [-158.080517578125, 58.97744140625],
+              [-158.788623046875, 58.440966796875],
+              [-160.363134765625, 59.051171875],
+              [-161.724365234375, 58.794287109375],
+              [-162.421337890625, 60.283984375],
+              [-163.68037109375, 59.801513671875],
+              [-164.80517578125, 60.892041015625],
+              [-163.72998046875, 60.589990234375],
+              [-163.7490234375, 60.9697265625],
+              [-165.27978515625, 61.16962890625],
+              [-166.07880859375, 61.803125],
+              [-164.757861328125, 62.496728515625],
+              [-164.384228515625, 63.03046875],
+              [-163.737841796875, 63.01640625],
+              [-162.2828125, 63.52919921875],
+              [-160.987548828125, 64.25126953125],
+              [-161.13017578125, 64.9254394531251],
+              [-163.1443359375, 64.423828125],
+              [-166.481396484375, 64.7280761718751],
+              [-167.40400390625, 65.422119140625],
+              [-165.776171875, 66.31904296875],
+              [-161.03427734375, 66.188818359375],
+              [-162.36162109375, 66.947314453125],
+              [-160.864013671875, 66.670849609375],
+              [-163.5318359375, 67.102587890625],
+              [-166.20908203125, 68.8853515625],
+              [-162.073876953125, 70.161962890625],
+              [-159.814990234375, 70.4970703125],
+              [-159.314501953125, 70.878515625],
+              [-156.469970703125, 71.2915527343751],
+              [-149.26943359375, 70.50078125],
+              [-143.218310546875, 70.116259765625],
+              [-141.0021484375, 68.7741699218751]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "United States" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [71.2061523437501, 39.892578125],
+              [71.0241210937501, 40.149169921875]
+            ]
+          ],
+          [
+            [
+              [70.94677734375, 42.2486816406251],
+              [71.2126953125, 42.2064453125001],
+              [70.734375, 41.400537109375],
+              [71.39306640625, 41.123388671875],
+              [71.66494140625, 41.5412109375],
+              [72.6041015625, 40.525439453125],
+              [71.69248046875, 40.15234375],
+              [70.653125, 40.201171875],
+              [69.712890625, 40.656982421875],
+              [68.6306640625001, 40.16708984375],
+              [68.6389648437501, 39.8388671875],
+              [67.3576171875001, 39.21669921875],
+              [68.08720703125, 38.47353515625],
+              [67.758984375, 37.172216796875],
+              [66.5113281250001, 37.599169921875],
+              [61.90283203125, 41.093701171875],
+              [60.0896484375001, 41.3994140625],
+              [59.98515625, 42.21171875],
+              [58.1515625, 42.628076171875],
+              [55.9774414062501, 41.322216796875],
+              [61.990234375, 43.492138671875],
+              [65.49619140625, 43.310546875],
+              [66.4986328125001, 41.994873046875],
+              [68.0476562500001, 40.80927734375],
+              [69.15361328125, 41.425244140625]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Uzbekistan" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [-60.7421386718749, 5.20205078125004],
+              [-61.00283203125, 4.53525390624999],
+              [-62.4106445312499, 4.15673828124997],
+              [-64.021484375, 3.92910156250005],
+              [-64.668994140625, 4.01181640625002],
+              [-63.4325195312499, 2.15556640625005],
+              [-65.473388671875, 0.691259765624977],
+              [-66.06005859375, 0.78535156250004],
+              [-67.618701171875, 2.79360351562499],
+              [-67.8552734375, 4.50688476562499],
+              [-67.8591796875, 6.28989257812496],
+              [-72.47197265625, 7.52426757812499],
+              [-73.0583984375, 9.25957031250003],
+              [-72.690087890625, 10.83583984375],
+              [-71.95693359375, 11.569921875],
+              [-71.08583984375, 9.34824218749998],
+              [-70.1925781249999, 11.624609375],
+              [-69.6315917968749, 11.479931640625],
+              [-68.13994140625, 10.492724609375],
+              [-64.85048828125, 10.098095703125],
+              [-64.298193359375, 10.63515625],
+              [-62.68583984375, 10.289794921875],
+              [-61.02314453125, 9.15458984374996],
+              [-60.8009765624999, 8.59213867187503],
+              [-59.849072265625, 8.24868164062497],
+              [-60.513623046875, 7.81318359374997],
+              [-60.583203125, 7.15620117187497],
+              [-60.345068359375, 7.15],
+              [-60.39501953125, 6.945361328125],
+              [-61.1815917968749, 6.51337890625003],
+              [-61.15947265625, 6.17441406249998],
+              [-61.376806640625, 5.90698242187503]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Venezuela" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [107.97265625, 21.507958984375],
+              [106.6833984375, 21.0002929687501],
+              [105.98408203125, 19.9390625],
+              [106.47890625, 17.7195800781251],
+              [108.8212890625, 15.3779296875],
+              [109.444921875, 12.5996093750001],
+              [108.094921875, 10.897265625],
+              [106.757421875, 10.29580078125],
+              [106.13642578125, 10.2216796875],
+              [106.15859375, 9.59414062499998],
+              [104.77041015625, 8.59765625],
+              [105.08447265625, 9.99570312499999],
+              [104.8505859375, 10.53447265625],
+              [105.40576171875, 10.951611328125],
+              [106.1609375, 11.0371093750001],
+              [106.39921875, 11.68701171875],
+              [107.393359375, 12.260498046875],
+              [107.3314453125, 14.126611328125],
+              [107.63369140625, 15.18984375],
+              [106.9306640625, 16.353125],
+              [105.146484375, 18.6509765625],
+              [104.0275390625, 19.420458984375],
+              [104.03203125, 19.675146484375],
+              [104.587890625, 19.61875],
+              [104.9279296875, 20.018115234375],
+              [104.4078125, 20.4857421875001],
+              [104.349609375, 20.8210937500001],
+              [103.46357421875, 20.779833984375],
+              [102.851171875, 21.26591796875],
+              [102.7982421875, 21.79794921875],
+              [102.58251953125, 21.904296875],
+              [102.4064453125, 22.7080078125],
+              [103.49296875, 22.58798828125],
+              [105.84296875, 22.922802734375],
+              [106.7802734375, 22.77890625],
+              [107.351171875, 21.60888671875]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Vietnam" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [166.74580078125, -14.82685546875],
+              [167.0939453125, -15.580859375],
+              [166.74580078125, -14.82685546875]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Vanuatu" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [53.08564453125, 16.648388671875],
+              [51.3224609375001, 15.22626953125],
+              [47.40771484375, 13.6616210937501],
+              [44.6177734375, 12.817236328125],
+              [43.23193359375, 13.2670898437501],
+              [42.8556640625, 15.132958984375],
+              [42.8396484375, 16.0320312500001],
+              [43.41796875, 17.516259765625],
+              [46.7276367187501, 17.265576171875],
+              [47.57958984375, 17.44833984375],
+              [53.08564453125, 16.648388671875]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "Yemen" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [31.799609375, -23.8921875],
+              [30.88330078125, -26.7923828125],
+              [31.46953125, -27.2955078125],
+              [32.199609375, -26.83349609375],
+              [32.5347656250001, -28.19970703125],
+              [28.4494140625001, -32.624609375],
+              [25.5742187500001, -34.0353515625],
+              [23.6978515625001, -33.9927734375],
+              [21.78896484375, -34.37265625],
+              [19.3307617187501, -34.4923828125],
+              [18.500390625, -34.10927734375],
+              [17.8510742187501, -32.82744140625],
+              [18.2108398437501, -31.74248046875],
+              [16.44755859375, -28.617578125],
+              [16.8412109375, -28.2189453125],
+              [17.1884765625, -28.13251953125],
+              [19.16171875, -28.93876953125],
+              [19.98046875, -28.45126953125],
+              [20.7931640625, -25.915625],
+              [21.7380859375, -26.8068359375],
+              [22.87880859375, -25.45791015625],
+              [25.5181640625, -25.66279296875],
+              [27.7685546875, -23.14892578125],
+              [28.94580078125, -22.3951171875],
+              [29.37744140625, -22.1927734375],
+              [31.2878906250001, -22.40205078125]
+            ],
+            [
+              [27.1935546875, -29.94130859375],
+              [28.1287109375, -30.52509765625],
+              [29.1421875000001, -29.7009765625],
+              [29.3013671875, -29.08984375],
+              [28.2326171875, -28.70126953125],
+              [27.2945312500001, -29.5193359375]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "South Africa" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [33.148046875, -9.603515625],
+            [33.6615234375, -10.553125],
+            [33.23271484375, -11.41767578125],
+            [33.34013671875, -12.30830078125],
+            [32.67041015625, -13.5904296875],
+            [33.2017578125, -14.01337890625],
+            [28.9130859375, -15.98779296875],
+            [26.7798828125, -18.04150390625],
+            [22.1939453125, -16.628125],
+            [21.9791015625, -13.79873046875],
+            [23.96298828125, -12.9884765625],
+            [23.98388671875, -11.725],
+            [25.28876953125, -11.21240234375],
+            [27.1591796875, -11.57919921875],
+            [28.730078125, -12.92548828125],
+            [29.7751953125, -13.4380859375],
+            [29.06435546875, -12.348828125],
+            [28.60419921875, -9.67880859375001],
+            [30.751171875, -8.19365234375],
+            [31.0763671875, -8.61191406250001],
+            [33.148046875, -9.603515625]
+          ]
+        ]
+      },
+      "properties": { "name": "Zambia" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [31.287890625, -22.40205078125],
+            [29.36484375, -22.1939453125],
+            [27.28076171875, -20.4787109375],
+            [25.24228515625, -17.96904296875],
+            [26.7798828125, -18.04150390625],
+            [28.9130859375, -15.98779296875],
+            [31.23623046875, -16.0236328125],
+            [32.99306640625, -18.3595703125],
+            [32.9927734375, -19.98486328125],
+            [31.4294921875, -22.298828125]
+          ]
+        ]
+      },
+      "properties": { "name": "Zimbabwe" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [74.0080938913929, 33.2537578933149],
+            [73.0820312500011, 36.4394994399118],
+            [74.54140625, 37.02216796875],
+            [75.05390625, 36.987158203125],
+            [75.77216796875, 36.694921875],
+            [76.1478515625, 35.82900390625],
+            [76.50205078125, 35.87822265625],
+            [76.927734375, 35.346630859375],
+            [76.75751953125, 34.87783203125],
+            [75.862109375, 34.56025390625],
+            [74.055859375, 34.6806640625],
+            [73.924609375, 34.287841796875],
+            [74.0080938913929, 33.2537578933149]
+          ]
+        ]
+      },
+      "properties": { "name": "" }
+    },
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": [
+          [
+            [
+              [78.4919425088534, 32.531227861492],
+              [76.6229901027026, 33.3201487135744],
+              [75.3222134823302, 32.2851635667897],
+              [74.66328125, 32.757666015625],
+              [74.3054687500001, 32.81044921875],
+              [73.9764648437502, 33.7212890625],
+              [73.9794921875001, 34.19130859375],
+              [73.7945312500001, 34.37822265625],
+              [74.3003906250001, 34.7653808593751],
+              [76.0410156250001, 34.669921875],
+              [76.6962890625, 34.7869140625],
+              [77.57158203125, 35.378759765625],
+              [78.0757812500001, 35.134912109375],
+              [78.93642578125, 34.351953125],
+              [78.8650390625, 33.431103515625],
+              [79.1028320312501, 33.0525390625],
+              [78.7535156250001, 32.4992675781251]
+            ]
+          ]
+        ]
+      },
+      "properties": { "name": "" }
+    }
+  ]
+}

+ 421 - 6
xinkeaboard-admin/src/pages/statistics/models/bigscreen.js

@@ -42,6 +42,148 @@ export default {
       ],
       current: "近7日",
     },
+    enquireData: {
+      loading: false,
+      data: {},
+      options: [
+        {
+          label: "近7日",
+          value: {
+            startTime:
+              moment()
+                .subtract(7, "days")
+                .format("YYYY-MM-DD") + " 00:00:00",
+            endTime:
+              moment()
+                .subtract(1, "days")
+                .format("YYYY-MM-DD") + " 23:59:59:999",
+          },
+        },
+        {
+          label: "近30日",
+          value: {
+            startTime:
+              moment()
+                .subtract(30, "days")
+                .format("YYYY-MM-DD") + " 00:00:00",
+            endTime:
+              moment()
+                .subtract(1, "days")
+                .format("YYYY-MM-DD") + " 23:59:59:999",
+          },
+        },
+      ],
+      current: "近7日",
+    },
+    overseasEnquireLocationData: {
+      loading: false,
+      data: [],
+    },
+    distributorEnquireLocationData: {
+      loading: false,
+      data: [],
+    },
+    memberAddTrendData: {
+      loading: false,
+      data: [],
+    },
+    productAddTrendData: {
+      loading: false,
+      data: [],
+    },
+    searchRankData: {
+      loading: false,
+      data: [],
+      options: [
+        {
+          label: "昨日",
+          value: {
+            startTime:
+              moment()
+                .subtract(1, "days")
+                .format("YYYY-MM-DD") + " 00:00:00",
+            endTime:
+              moment()
+                .subtract(1, "days")
+                .format("YYYY-MM-DD") + " 23:59:59:999",
+          },
+        },
+        {
+          label: "近7日",
+          value: {
+            startTime:
+              moment()
+                .subtract(7, "days")
+                .format("YYYY-MM-DD") + " 00:00:00",
+            endTime:
+              moment()
+                .subtract(1, "days")
+                .format("YYYY-MM-DD") + " 23:59:59:999",
+          },
+        },
+        {
+          label: "近30日",
+          value: {
+            startTime:
+              moment()
+                .subtract(30, "days")
+                .format("YYYY-MM-DD") + " 00:00:00",
+            endTime:
+              moment()
+                .subtract(1, "days")
+                .format("YYYY-MM-DD") + " 23:59:59:999",
+          },
+        },
+      ],
+      current: "昨日",
+    },
+    storeTrafficData: {
+      loading: false,
+      data: [],
+      options: [
+        {
+          label: "昨日",
+          value: {
+            startTime:
+              moment()
+                .subtract(1, "days")
+                .format("YYYY-MM-DD") + " 00:00:00",
+            endTime:
+              moment()
+                .subtract(1, "days")
+                .format("YYYY-MM-DD") + " 23:59:59:999",
+          },
+        },
+        {
+          label: "近7日",
+          value: {
+            startTime:
+              moment()
+                .subtract(7, "days")
+                .format("YYYY-MM-DD") + " 00:00:00",
+            endTime:
+              moment()
+                .subtract(1, "days")
+                .format("YYYY-MM-DD") + " 23:59:59:999",
+          },
+        },
+        {
+          label: "近30日",
+          value: {
+            startTime:
+              moment()
+                .subtract(30, "days")
+                .format("YYYY-MM-DD") + " 00:00:00",
+            endTime:
+              moment()
+                .subtract(1, "days")
+                .format("YYYY-MM-DD") + " 23:59:59:999",
+          },
+        },
+      ],
+      current: "昨日",
+    },
+    updateTime: "",
   },
 
   effects: {
@@ -65,8 +207,12 @@ export default {
 
     // 门户流量
     *load_portal_traffic({ payload }, { call, put, select }) {
-      const current = yield select((state) => state.bigscreen.portalTrafficData.current);
-      const options = yield select((state) => state.bigscreen.portalTrafficData.options);
+      const current = yield select(
+        (state) => state.bigscreen.portalTrafficData.current
+      );
+      const options = yield select(
+        (state) => state.bigscreen.portalTrafficData.options
+      );
       const condition = options.filter((item) => item.label == current)[0]
         .value;
       payload = { ...payload, ...condition };
@@ -86,8 +232,173 @@ export default {
       });
     },
 
+    // 询盘概况
+    *load_enquire_data({ payload }, { call, put, select }) {
+      const current = yield select(
+        (state) => state.bigscreen.enquireData.current
+      );
+      const options = yield select(
+        (state) => state.bigscreen.enquireData.options
+      );
+      const condition = options.filter((item) => item.label == current)[0]
+        .value;
+      payload = { ...payload, ...condition };
+      yield put({
+        type: "setEnquireData",
+        payload: { loading: true },
+      });
+      const response = yield call(
+        sldCommonService,
+        payload,
+        "get",
+        "v3/statistics/screen/analysis/enquiryTrend"
+      );
+      yield put({
+        type: "setEnquireData",
+        payload: { data: response.data, loading: false },
+      });
+    },
+
+    // 海外询盘地区分布
+    *load_overseas_enquire_location({ payload }, { call, put, select }) {
+      yield put({
+        type: "setOverseasEnquireLocation",
+        payload: { loading: true },
+      });
+      const response = yield call(
+        sldCommonService,
+        payload,
+        "get",
+        "v3/statistics/screen/analysis/enquiryDistribution"
+      );
+      yield put({
+        type: "setOverseasEnquireLocation",
+        payload: { data: response.data, loading: false },
+      });
+    },
+
+    // 供应链企业地区分布
+    *load_distributor_enquire_location({ payload }, { call, put, select }) {
+      yield put({
+        type: "setDistributorEnquireLocation",
+        payload: { loading: true },
+      });
+      const response = yield call(
+        sldCommonService,
+        payload,
+        "get",
+        "v3/statistics/screen/analysis/regionDistribution"
+      );
+      yield put({
+        type: "setDistributorEnquireLocation",
+        payload: { data: response.data, loading: false },
+      });
+    },
+
+    // 新增会员趋势
+    *load_add_member_trend({ payload }, { put, call }) {
+      yield put({
+        type: "setMemberAddTrendData",
+        payload: { loading: true },
+      });
+      const response = yield call(
+        sldCommonService,
+        payload,
+        "get",
+        "v3/statistics/screen/analysis/memberTrend"
+      );
+      yield put({
+        type: "setMemberAddTrendData",
+        payload: { data: response.data, loading: false },
+      });
+    },
+
+    // 新增商品趋势
+    *load_add_product_trend({ payload }, { put, call }) {
+      yield put({
+        type: "setProductAddTrendData",
+        payload: { loading: true },
+      });
+      const response = yield call(
+        sldCommonService,
+        payload,
+        "get",
+        "v3/statistics/screen/analysis/goodsTrend"
+      );
+      yield put({
+        type: "setProductAddTrendData",
+        payload: { data: response.data, loading: false },
+      });
+    },
+
+    // 门户关键词搜索
+    *load_search_rank({ payload }, { put, call, select }) {
+      const current = yield select(
+        (state) => state.bigscreen.searchRankData.current
+      );
+      const options = yield select(
+        (state) => state.bigscreen.searchRankData.options
+      );
+      const condition = options.filter((item) => item.label == current)[0]
+        .value;
+      payload = { ...payload, ...condition };
+      yield put({
+        type: "set",
+        payload: { loading: true },
+      });
+      const response = yield call(
+        sldCommonService,
+        payload,
+        "get",
+        "v3/statistics/screen/analysis/searchRank"
+      );
+      yield put({
+        type: "setSearchRankData",
+        payload: { data: response.data, loading: false },
+      });
+    },
+
+    // 店铺流量排行
+    *load_store_traffic({ payload }, { put, call, select }) {
+      const current = yield select(
+        (state) => state.bigscreen.storeTrafficData.current
+      );
+      const options = yield select(
+        (state) => state.bigscreen.storeTrafficData.options
+      );
+      const condition = options.filter((item) => item.label == current)[0]
+        .value;
+      payload = { ...payload, ...condition };
+      yield put({
+        type: "setStoreTrafficData",
+        payload: { loading: true },
+      });
+      const response = yield call(
+        sldCommonService,
+        payload,
+        "get",
+        "v3/statistics/screen/analysis/storeFlowRank"
+      );
+      yield put({
+        type: "setStoreTrafficData",
+        payload: { data: response.data, loading: false },
+      });
+    },
+
     // 初始化数据
     *load_data({ payload }, { put, call }) {
+      // 更新时间
+      const now = new Date();
+      const pad = (n) => n.toString().padStart(2, "0");
+      const currentTime = `${now.getFullYear()}-${pad(
+        now.getMonth() + 1
+      )}-${pad(now.getDate())} ${pad(now.getHours())}:${pad(
+        now.getMinutes()
+      )}:${pad(now.getSeconds())}`;
+      yield put({
+        type: "setUpdateTime",
+        payload: currentTime,
+      });
       // 调用 load_data
       yield put.resolve({
         type: "load_overview",
@@ -97,16 +408,75 @@ export default {
       yield put.resolve({
         type: "load_portal_traffic",
       });
+
+      // 调用询盘概况
+      yield put.resolve({
+        type: "load_enquire_data",
+      });
+
+      // 海外询盘地区分布
+      yield put.resolve({
+        type: "load_overseas_enquire_location",
+      });
+
+      // 供应链询盘地区分布
+      yield put.resolve({
+        type: "load_distributor_enquire_location",
+      });
+
+      // 新增会员趋势
+      yield put.resolve({
+        type: "load_add_member_trend",
+      });
+
+      // 新增商品趋势
+      yield put.resolve({
+        type: "load_add_product_trend",
+      });
+
+      // 关键词排行
+      yield put.resolve({
+        type: "load_search_rank",
+      });
+
+      // 店铺流量
+      yield put.resolve({
+        type: "load_store_traffic",
+      });
     },
   },
 
   reducers: {
+    setStoreTrafficData(state, { payload }) {
+      return {
+        ...state,
+        storeTrafficData: {
+          ...state.storeTrafficData,
+          ...payload,
+        },
+      };
+    },
+    setUpdateTime(state, { payload }) {
+      return {
+        ...state,
+        updateTime: payload,
+      };
+    },
+    setSearchRankData(state, { payload }) {
+      return {
+        ...state,
+        searchRankData: {
+          ...state.searchRankData,
+          ...payload,
+        },
+      };
+    },
     setOverviewData(state, { payload }) {
       return {
         ...state,
         overviewData: {
-          ...state.overviewData, // 保留 config 里其他字段
-          ...payload, // 覆盖需要更新的字段
+          ...state.overviewData,
+          ...payload,
         },
       };
     },
@@ -114,8 +484,53 @@ export default {
       return {
         ...state,
         portalTrafficData: {
-          ...state.portalTrafficData, // 保留 config 里其他字段
-          ...payload, // 覆盖需要更新的字段
+          ...state.portalTrafficData,
+          ...payload,
+        },
+      };
+    },
+    setEnquireData(state, { payload }) {
+      return {
+        ...state,
+        enquireData: {
+          ...state.enquireData,
+          ...payload,
+        },
+      };
+    },
+    setOverseasEnquireLocation(state, { payload }) {
+      return {
+        ...state,
+        overseasEnquireLocationData: {
+          ...state.overseasEnquireLocationData,
+          ...payload,
+        },
+      };
+    },
+    setDistributorEnquireLocation(state, { payload }) {
+      return {
+        ...state,
+        distributorEnquireLocationData: {
+          ...state.distributorEnquireLocationData,
+          ...payload,
+        },
+      };
+    },
+    setMemberAddTrendData(state, { payload }) {
+      return {
+        ...state,
+        memberAddTrendData: {
+          ...state.memberAddTrendData,
+          ...payload,
+        },
+      };
+    },
+    setProductAddTrendData(state, { payload }) {
+      return {
+        ...state,
+        productAddTrendData: {
+          ...state.productAddTrendData,
+          ...payload,
         },
       };
     },

二进制
xinkeaboard-promotion-portal/src/assets/images/logo.png


+ 3 - 1
xinkeaboard-promotion-portal/src/components/CountrySelct.vue

@@ -188,7 +188,7 @@ defineExpose({
   display: flex;
   justify-content: center;
   align-items: center;
-  background-color: #fff;
+  // background-color: #fff;
   margin-left: 10px;
 
   &-item {
@@ -201,6 +201,8 @@ defineExpose({
     cursor: pointer;
 
     img {
+      width: 100%;
+      // height: 100%;
       // width: 4.5rem;
     }
   }

+ 25 - 10
xinkeaboard-promotion-portal/src/components/TopContent.vue

@@ -42,7 +42,7 @@ import { useRouter } from 'vue-router';
 import CountrySelct from '@/components/CountrySelct.vue';
 import ProductDescription from '@/components/ProductDescription.vue';
 import CompetitorWebsite from '@/components/CompetitorWebsite.vue';
-import Logo from '@/assets/images/logo.svg';
+import Logo from '@/assets/images/logo.png';
 
 import { showMessage } from '@/utils/common';
 const mainStore = useMainStore();
@@ -112,8 +112,19 @@ const getFormData = () => {
   };
 };
 
+const isValidUrl = (url: string) => {
+  const pattern = /^(https?:\/\/|ftp:\/\/)([a-zA-Z0-9.-]+)(:[0-9]+)?(\/[^\s]*)?$/;
+  return pattern.test(url);
+};
+
+const validateCompetitorWebsite = (site: string) => {
+  if (!site.trim()) return true;
+  const list = site.split(',');
+  return list.every((item) => isValidUrl(item));
+};
+
 const acceptRecod = async () => {
-    btnLoading.value = true;
+  btnLoading.value = true;
 
   const { allowed, remaining } = await checkLimit();
   if (!allowed) {
@@ -125,13 +136,17 @@ const acceptRecod = async () => {
     return;
   }
   const formData = getFormData();
-  // const { competitorWebsite } = formData;
-  // if (!competitorWebsite) {
-  //   return showMessage({
-  //     type: 'error',
-  //     message: '请输入竞品网站'
-  //   });
-  // }
+  const { competitorWebsite } = formData;
+  const result = validateCompetitorWebsite(competitorWebsite);
+
+  if (!result) {
+    showMessage({
+      type: 'error',
+      message: '请输入正确的竞品网站'
+    });
+    btnLoading.value = false;
+    return;
+  }
   mainStore.setFormData(formData);
   mainStore.setClearCache(true);
 
@@ -151,7 +166,7 @@ const acceptRecod = async () => {
 
   &-logo {
     position: absolute;
-    width: 194px;
+    width: 320px;
     height: 88px;
     left: 260px;
     top: 32px;

+ 4 - 3
xinkeaboard-promotion-portal/src/store/index.ts

@@ -29,7 +29,7 @@ export const useMainStore = defineStore('main', {
   }),
   actions: {
     setClearCache(val: boolean) {
-      this.clearCache = val;  
+      this.clearCache = val;
     },
     setIsLoadOver(val: boolean) {
       this.isLoadOver = val;
@@ -64,6 +64,7 @@ export const useMainStore = defineStore('main', {
           this.suggestionsInfo.autoFinish = true;
           setTimeout(() => {
             this.suggestionsInfo.loading = false;
+            this.suggestionsInfo.autoFinish = false;
           }, 300);
         })
         .catch(() => (this.suggestionsInfo.fail = true));
@@ -76,9 +77,9 @@ export const useMainStore = defineStore('main', {
         .then((res) => {
           this.keywordInfo.data = res.data;
         })
-        .finally(async() => {
+        .finally(async () => {
           this.keywordInfo.loading = false;
-          await incrementCount()
+          await incrementCount();
         });
     },
     initData() {

+ 16 - 10
xinkeaboard-promotion-portal/src/views/Record.vue

@@ -4,10 +4,12 @@
     <div class="record-wrap" ref="pdfContent">
       <div class="record-wrap-content">
         <div class="record-wrap-content__overview" v-loading="loading">
-          <span>概述关于你的产品的描述,通常的英语表述为</span>
-          <span class="active">{{ keywordEn }},</span>
-          <span>在互联网上搜索的关键词为</span>
-          <span class="active">{{ keywords }}</span>
+          <span class="overview-text">
+            <span>概述关于你的产品的描述,通常的英语表述为</span>
+            <span class="active">{{ keywordEn }},</span>
+            <span>在互联网上搜索的关键词为</span>
+            <span class="active">{{ keywords }}</span>
+          </span>
         </div>
         <div class="overview-left">概述</div>
         <div class="overview-right">
@@ -124,6 +126,10 @@ onMounted(() => {
         font-size: 20px;
         color: #282e30;
 
+        .overview-text {
+          word-break: break-all;
+        }
+
         .active {
           color: var(--promotion--color-primary);
         }
@@ -172,8 +178,8 @@ onMounted(() => {
         margin-top: 40px;
 
         img {
-          width: 584px;
-          height: 166px;
+          width: 450px;
+          height: 125px;
         }
 
         .content {
@@ -210,8 +216,8 @@ onMounted(() => {
         margin-top: 65px;
 
         img {
-          width: 624px;
-          height: 166px;
+          width: 450px;
+          height: 125px;
         }
 
         .list {
@@ -228,8 +234,8 @@ onMounted(() => {
         margin-top: 60px;
 
         img {
-          width: 624px;
-          height: 166px;
+          width: 468px;
+          height: 125px;
         }
       }
 

+ 0 - 3
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/statistics/screen/ScreenAnalysisController.java

@@ -8,14 +8,12 @@ import com.slodon.b2b2c.core.response.PageVO;
 import com.slodon.b2b2c.core.response.PagerInfo;
 import com.slodon.b2b2c.core.response.SldResponse;
 import com.slodon.b2b2c.core.util.StringUtil;
-import com.slodon.b2b2c.core.util.WebUtil;
 import com.slodon.b2b2c.enums.ProvinceJson;
 import com.slodon.b2b2c.enums.StatsTimeType;
 import com.slodon.b2b2c.enums.WebSiteConstant;
 import com.slodon.b2b2c.goods.example.GoodsExample;
 import com.slodon.b2b2c.member.example.MemberExample;
 import com.slodon.b2b2c.member.pojo.MemberEnquiry;
-import com.slodon.b2b2c.model.goods.GoodsExtendModel;
 import com.slodon.b2b2c.model.goods.GoodsModel;
 import com.slodon.b2b2c.model.goods.GoodsSearchWordsModel;
 import com.slodon.b2b2c.model.member.MemberModel;
@@ -40,7 +38,6 @@ import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
-import java.math.BigDecimal;
 import java.util.*;
 
 @Api(tags = "screen-大屏")