]> git.openstreetmap.org Git - dns.git/commitdiff
Add staging blog master
authorGrant Slater <github@firefishy.com>
Mon, 22 Apr 2024 13:26:32 +0000 (14:26 +0100)
committerGrant Slater <github@firefishy.com>
Mon, 22 Apr 2024 13:26:32 +0000 (14:26 +0100)
45 files changed:
.editorconfig [new file with mode: 0644]
.github/dependabot.yml [new file with mode: 0644]
.github/workflows/check.yml [new file with mode: 0644]
.gitignore
Dockerfile
Makefile
README.md
bandwidth/tile.openstreetmap.yml [deleted file]
bin/mkcountries
bin/mkgeo
bin/mksshfp [new file with mode: 0755]
dnsconfig.js [new file with mode: 0644]
include/.gitkeep [moved from data/.gitkeep with 100% similarity]
lib/countries.xml
requests/nominatim.openstreetmap.yml [new file with mode: 0644]
src/hosts.js [new file with mode: 0644]
src/ideditor.js [new file with mode: 0644]
src/nominatim.openstreetmap.yml [new file with mode: 0644]
src/opengeodata [deleted file]
src/opengeodata.js [new file with mode: 0644]
src/openstreetmap [deleted file]
src/openstreetmap-mg.js [new file with mode: 0644]
src/openstreetmap-town.js [new file with mode: 0644]
src/openstreetmap-uk [deleted file]
src/openstreetmap-uk.js [new file with mode: 0644]
src/openstreetmap-za [deleted file]
src/openstreetmap-za.js [new file with mode: 0644]
src/openstreetmap.js [new file with mode: 0644]
src/osm-li.js [new file with mode: 0644]
src/osm-wiki.js [new file with mode: 0644]
src/osm2pgsql.js [new file with mode: 0644]
src/osmfoundation [deleted file]
src/osmfoundation.js [new file with mode: 0644]
src/ptr_equinix_ams_ipv4.js [new file with mode: 0644]
src/ptr_equinix_ams_ipv6.js [new file with mode: 0644]
src/ptr_equinix_dub_ipv4.js [new file with mode: 0644]
src/ptr_equinix_dub_ipv6.js [new file with mode: 0644]
src/render.openstreetmap [deleted file]
src/stateofthemap [deleted file]
src/stateofthemap-eu [deleted file]
src/stateofthemap-eu.js [new file with mode: 0644]
src/stateofthemap.js [new file with mode: 0644]
src/switch2osm [deleted file]
src/switch2osm.js [new file with mode: 0644]
src/tile.openstreetmap [deleted file]

diff --git a/.editorconfig b/.editorconfig
new file mode 100644 (file)
index 0000000..2731998
--- /dev/null
@@ -0,0 +1,10 @@
+# editorconfig.org
+root = true
+
+[*]
+indent_style = space
+indent_size = 2
+end_of_line = lf
+charset = utf-8
+trim_trailing_whitespace = true
+insert_trailing_newline = true
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644 (file)
index 0000000..438cb6f
--- /dev/null
@@ -0,0 +1,7 @@
+version: 2
+updates:
+  - package-ecosystem: "github-actions"
+    directory: "/"
+    schedule:
+      # Check for updates to GitHub Actions every weekday
+      interval: "daily"
diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml
new file mode 100644 (file)
index 0000000..cf4d39f
--- /dev/null
@@ -0,0 +1,40 @@
+name: dnscontrol check
+
+on:
+  - push
+  - pull_request
+
+# concurrency:
+#  group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
+#  cancel-in-progress: true
+
+jobs:
+  check:
+    runs-on: ubuntu-latest
+
+    steps:
+    - name: Checkout
+      uses: actions/checkout@v4
+
+    - name: Install dependencies
+      run: |
+        sudo apt-get update
+        sudo apt-get install -y --no-install-recommends \
+          make \
+          libxml-treebuilder-perl \
+          libyaml-libyaml-perl \
+          libyaml-perl \
+          libjson-xs-perl \
+          gh
+
+    - name: Install dnscontrol
+      env:
+        GH_TOKEN: ${{ github.token }}
+      run: |
+        arch=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) \
+        && gh release download --repo https://github.com/StackExchange/dnscontrol --pattern "dnscontrol-*.${arch}.deb" --output /tmp/dnscontrol.deb \
+        && sudo apt install /tmp/dnscontrol.deb -y
+
+    - name: Run Check
+      run: |
+        make check
\ No newline at end of file
index 02a0651100acb678f9a84276d9b70fe50520b791..35e7a324fb15f158fb03b068c4b43141a14dd84e 100644 (file)
@@ -1,5 +1,6 @@
-data/
+creds.json
 gdns/
+include/
 json/
 kml/
 origins/
index c987603936f6fed9eae3b7ca5579d7c5f4a81a40..8738966c4be59014457f2883bde4522afbe3894f 100644 (file)
@@ -3,13 +3,23 @@ FROM debian:stable
 RUN apt-get update && apt-get install -y --no-install-recommends \
       make \
       libxml-treebuilder-perl \
+      libyaml-libyaml-perl \
       libyaml-perl \
       libjson-xs-perl \
       jq \
-      less
+      less \
+      curl \
+      ca-certificates
+
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
+
+RUN arch=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) \
+    && curl -fsSL https://github.com/StackExchange/dnscontrol/releases/download/v4.1.0/dnscontrol-4.1.0.${arch}.deb -o /tmp/dnscontrol.deb \
+    && apt install /tmp/dnscontrol.deb -y
 
 WORKDIR /dns
 ADD . .
-RUN make
 
 VOLUME ["/dns/data"]
+
+CMD ["make", "check"]
index 4cc2d7cbb0873ae3c002fca6233c67ba93644413..af5e109acae2d580f16aea781f8bfd5ac7764cc0 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,70 +1,39 @@
-all: data/openstreetmap.org data/openstreetmap.com data/openstreetmap.net \
-     data/openstreetmap.ca data/openstreetmap.eu data/openstreetmap.pro \
-     data/openstreetmaps.org data/osm.org data/openmaps.org \
-     data/openstreetmap.io data/osm.io \
-     data/openworldmap.org data/freeosm.org data/open-maps.org data/open-maps.com data/osmbugs.org \
-     data/openstreetmap.uk data/openstreetmap.org.uk data/openstreetmap.co.uk \
-     data/openstreetmap.org.za data/osm.org.za \
-     data/osmfoundation.org \
-     data/stateofthemap.org data/stateofthemap.com data/sotm.org \
-     data/stateofthemap.eu \
-     data/opengeodata.org \
-     data/switch2osm.org data/switch2osm.com \
-     data/tile.openstreetmap.org \
-     data/render.openstreetmap.org
+preview: check preview_dnscontrol
 
-clean:
-       rm -f data/* json/* origins/*
+preview_dnscontrol: check_dnscontrol sshfp gdns
+       dnscontrol preview
 
-update: update_bytemark update_geodns
+check: check_dnscontrol
 
-update_bytemark: all
-       bin/update
+check_dnscontrol: sshfp gdns
+       dnscontrol check
 
-update_geodns: all
-       parallel --will-cite rsync --quiet --recursive gdns/ {}::geodns ::: ${GEODNS_SERVERS}
+update: update_dnscontrol update_geodns
 
-lib/countries.xml:
-       curl -s -o $@ http://api.geonames.org/countryInfo?username=demo
+update_primary: update_dnscontrol_primary update_geodns
+
+update_dnscontrol: sshfp gdns
+       dnscontrol push
+
+update_dnscontrol_primary: sshfp gdns
+       dnscontrol push --domains openstreetmap.org
 
-data/openstreetmap.org: src/openstreetmap
-data/openstreetmap.com: src/openstreetmap
-data/openstreetmap.net: src/openstreetmap
-data/openstreetmap.ca: src/openstreetmap
-data/openstreetmap.eu: src/openstreetmap
-data/openstreetmap.pro: src/openstreetmap
-data/openstreetmaps.org: src/openstreetmap
-data/osm.org: src/openstreetmap
-data/openmaps.org: src/openstreetmap
-data/openstreetmap.io: src/openstreetmap
-data/osm.io: src/openstreetmap
-data/openworldmap.org: src/openstreetmap
-data/freeosm.org: src/openstreetmap
-data/open-maps.org: src/openstreetmap
-data/open-maps.com: src/openstreetmap
-data/osmbugs.org: src/openstreetmap
-data/openstreetmap.uk: src/openstreetmap-uk
-data/openstreetmap.org.uk: src/openstreetmap-uk
-data/openstreetmap.co.uk: src/openstreetmap-uk
-data/openstreetmap.org.za: src/openstreetmap-za
-data/osm.org.za: src/openstreetmap-za
-data/osmfoundation.org: src/osmfoundation
-data/stateofthemap.org: src/stateofthemap
-data/stateofthemap.com: src/stateofthemap
-data/sotm.org: src/stateofthemap
-data/opengeodata.org: src/opengeodata
-data/switch2osm.org: src/switch2osm
-data/switch2osm.com: src/switch2osm
-data/stateofthemap.eu: src/stateofthemap-eu
+update_geodns: gdns
+       parallel --will-cite rsync --quiet --recursive --checksum gdns/ {}::geodns ::: ${GEODNS_SERVERS}
 
-origins/tile.openstreetmap.yml: bin/mkcountries lib/countries.xml bandwidth/tile.openstreetmap.yml
-       bin/mkcountries bandwidth/tile.openstreetmap.yml origins/tile.openstreetmap.yml
+sshfp:
+       bin/mksshfp
 
-data/tile.openstreetmap.org json/tile.openstreetmap.org.json origins/render.openstreetmap.yml: bin/mkgeo origins/tile.openstreetmap.yml src/tile.openstreetmap
-       bin/mkgeo origins/tile.openstreetmap.yml src/tile.openstreetmap tile.openstreetmap.org origins/render.openstreetmap.yml tile
+gdns: gdns_nominatim
 
-data/render.openstreetmap.org json/render.openstreetmap.org.json: bin/mkgeo origins/render.openstreetmap.yml src/render.openstreetmap
-       bin/mkgeo origins/render.openstreetmap.yml src/render.openstreetmap render.openstreetmap.org origins/total.openstreetmap.yml
+gdns_nominatim: lib/countries.xml origins/nominatim.openstreetmap.yml
+       bin/mkgeo origins/nominatim.openstreetmap.yml src/nominatim.openstreetmap.yml nominatim origins/nominatim-total.openstreetmap.yml nominatim
+
+clean:
+       rm -f includes/* json/* origins/* gdns/*
+
+lib/countries.xml:
+       curl -s -o $@ http://api.geonames.org/countryInfo?username=demo
 
-data/%:
-       sed -r -e 's/$(notdir $<)(:|$$)/$(notdir $@)\1/g' < $< > $@
+origins/nominatim.openstreetmap.yml: bin/mkcountries lib/countries.xml requests/nominatim.openstreetmap.yml
+       bin/mkcountries requests/nominatim.openstreetmap.yml origins/nominatim.openstreetmap.yml
index 05142feff3f32b76c1f09723a057bd583521c77f..95cbcb836a87f00cecbeb5939e87c6e42832f663 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,76 +1,14 @@
 OpenStreetMap DNS
 ======================================
 
-This repository contains the DNS zone file templates and related code for managing OpenStreetMap.org and other domain names DNS. The full list of domains are in the [Makefile](Makefile).
-
-The authoritative DNS nameservers we use are kindly run by [Bytemark](https://docs.bytemark.co.uk/article/content-dns/). We would like to thank [Bytemark](https://www.bytemark.co.uk/) for their many years of support.
+This repository contains the DNS zone templates and related code for managing OpenStreetMap.org and other domain names. The full list of domains managed by this repo are in the [dnsconfig.js](dnsconfig.js) file.
 
 ## Standard DNS Zone Files
 
-The [zone files templates](src/) are in [tinydns-data](http://cr.yp.to/djbdns/tinydns-data.html) syntax and are written out by the [Makefile](Makefile).
+We use [dnscontrol](https://stackexchange.github.io/dnscontrol/) to manage OpenStreetMap DNS. A set of wrapper scripts are used, which are called from the [Makefile](Makefile)
 
-On a repo commit, a git [post-receive](https://github.com/openstreetmap/chef/blob/master/cookbooks/dns/files/default/post-receive) runs `make update` via a [script](https://github.com/openstreetmap/chef/blob/master/cookbooks/dns/templates/default/dns-update.erb) which then pushes the updated zone files to the authoritative DNS nameservers.
+Merges to the master branch trigger a git [post-receive](https://github.com/openstreetmap/chef/blob/master/cookbooks/dns/files/default/post-receive) which runs `make update` via a [script](https://github.com/openstreetmap/chef/blob/master/cookbooks/dns/templates/default/dns-update.erb), the DNS is then updated by dnscontrol.
 
 ## GeoDNS Zones
 
-The GeoDNS zones are handled differently.
-
-### tile.openstreetmap.org (mkgeo Generated)
-
-The `tile.openstreetmap.org` and `[a|b|c].tile.openstreetmap.org` are CNAME'ed to the `tile.geo.openstreetmap.org` zone.
-
-The `tile.openstreetmap.org` zone file is written by [mkgeo](bin/mkgeo) which attempts to match the [estimated country bandwidth requirements](bandwidth/tile.openstreetmap.yml) to the nearest [running](https://uptime.openstreetmap.org/) [tile cache server](src/tile.openstreetmap) with available capacity.
-
-Example `tile.openstreetmap.org` zone file snippet in [tinydns-data](http://cr.yp.to/djbdns/tinydns-data.html) syntax as generated by [mkgeo](bin/mkgeo):
-
-```
-# Afghanistan
-Caf.tile.openstreetmap.org:baku.tile.openstreetmap.org:600
-# Albania
-Cal.tile.openstreetmap.org:osijek.tile.openstreetmap.org:600
-# Algeria
-Cdz.tile.openstreetmap.org:zaragoza.tile.openstreetmap.org:600
-# American Samoa
-Cas.tile.openstreetmap.org:sanfrancisco.tile.openstreetmap.org:600
-...
-# Servers
-+aalborg.tile.openstreetmap.org:130.225.254.123:600
-+amsterdam.tile.openstreetmap.org:134.90.146.26:600
-+baku.tile.openstreetmap.org:94.20.20.55:600
-```
-
-The current tile.openstreetmap.org matching is here: https://dns.openstreetmap.org/tile.openstreetmap.org.html
-
-### tile.geo.openstreetmap.org (GeoIP)
-
-The `tile.geo.openstreetmap.org` zone uses authoritative [gdnsd](https://gdnsd.org/) DNS nameservers (`a.ns.openstreetmap.org`, `b.ns.openstreetmap.org`, etc ).
-
-The gdnsd config is managed using a [chef cookbook](https://github.com/openstreetmap/chef/tree/master/cookbooks/geodns).
-
-The DNS responses from `tile.geo.openstreetmap.org` are CNAMEs to XX.tile.openstreetmap.org, where XX is the ISO 3166-1 alpha-2 country code from the [client subnet if supplied by EDNS0](https://tools.ietf.org/html/rfc7871) or the IP address of the resolving DNS if the client subnet is not supplied by EDNS0.
-
-A typical DNS query flow example: `a.tile.openstreetmap.org -> CNAME tile.geo.openstreetmap.org -> CNAME gb.tile.openstreetmap.org. -> CNAME aalborg.tile.openstreetmap.org. -> A aaa.bbb.ccc.ddd`
-
-### render.openstreetmap.org (mkgeo Generated)
-
-The `render.openstreetmap.org` zone is a DNS zone used internally by the tile.openstreetmap.org cache servers and ***SHOULD NOT BE BE USED BY OTHERS***.
-
-The `render.openstreetmap.org` zone file is written by [mkgeo](bin/mkgeo) which attempts to match the estimated caches' bandwidth requirement (dynamically generated above tile.openstreetmap.org mkgeo) to the nearest [running](https://uptime.openstreetmap.org/) [render server](src/render.openstreetmap) with available capacity.
-
-Example `tile.openstreetmap.org` zone file snippet in [tinydns-data](http://cr.yp.to/djbdns/tinydns-data.html) syntax as generated by [mkgeo](bin/mkgeo):
-
-```
-# aalborg
-Caalborg.render.openstreetmap.org:vial.render.openstreetmap.org:600
-# amsterdam
-Camsterdam.render.openstreetmap.org:yevaud.render.openstreetmap.org:600
-# baku
-Cbaku.render.openstreetmap.org:vial.render.openstreetmap.org:600
-...
-# Servers
-+orm.render.openstreetmap.org:193.63.75.98:600
-+vial.render.openstreetmap.org:138.201.195.31:600
-+yevaud.render.openstreetmap.org:128.40.45.208:600
-```
-
-The current render.openstreetmap.org matching is here: https://dns.openstreetmap.org/render.openstreetmap.org.html
+For GeoDNS zones we use [gdnsd](https://gdnsd.org/) with gdnsd config files generated by scripts called from the [Makefile](Makefile) file.
diff --git a/bandwidth/tile.openstreetmap.yml b/bandwidth/tile.openstreetmap.yml
deleted file mode 100644 (file)
index cb3dba2..0000000
+++ /dev/null
@@ -1,243 +0,0 @@
----
-AD: 147607.008889
-AE: 1980282.98889
-AF: 202257.473333
-AG: 30940.2377778
-AI: 3555.73333333
-AL: 1456264.04667
-AM: 1720294.78889
-AO: 245780.142222
-AQ: 1237.71111111
-AR: 24028705.0622
-AS: 26602.3066667
-AT: 27525216.7444
-AU: 17740199.6244
-AW: 181238.857778
-AX: 81417.5666667
-AZ: 1644721.66667
-BA: 5360357.34222
-BB: 113795.402222
-BD: 2637835.48667
-BE: 31379699.3333
-BF: 171339.873333
-BG: 16462872.4089
-BH: 178017.288889
-BI: 39235.9111111
-BJ: 144971.944444
-BL: 26516.7333333
-BM: 68879.2688889
-BN: 101534.3
-BO: 6598657.62444
-BQ: 33092.2377778
-BR: 67895824.1933
-BS: 80005.3155556
-BT: 73882.6844444
-BW: 177755.48
-BY: 28140174.3933
-BZ: 244055.38
-CA: 39801926.6378
-CC: 239.693333333
-CD: 210700.564444
-CF: 1863.07111111
-CG: 70769.4266667
-CH: 25966555.3289
-CI: 991001.822222
-CK: 10671.6288889
-CL: 16922485.0578
-CM: 461239.615556
-CN: 3798976.38889
-CO: 17048273.6867
-CR: 2311707.40667
-CU: 261635.568889
-CV: 88190.0733333
-CW: 255916.342222
-CX: 93.2311111111
-CY: 1502580.43111
-CZ: 22924934.3844
-DE: 279437893.16
-DJ: 33447.0022222
-DK: 42115588.14
-DM: 62577.2711111
-DO: 1529532.88667
-DZ: 1634276.29556
-EC: 12126472.5289
-EE: 3663255.88667
-EG: 1931109.31333
-ER: 2352.07777778
-ES: 55510741.8511
-ET: 298329.402222
-FI: 11534177.54
-FJ: 52474.5955556
-FK: 10019.4333333
-FM: 9121.48888889
-FO: 161446.755556
-FR: 221971649.922
-GA: 56198.3333333
-GB: 123336985.522
-GD: 11526.4644444
-GE: 3335886.76222
-GF: 127130.957778
-GG: 169221.824444
-GH: 655150.575556
-GI: 89231.48
-GL: 100099.573333
-GM: 51320.2911111
-GN: 94694.3466667
-GP: 459603.5
-GQ: 12567.7688889
-GR: 19410573.1422
-GT: 3371719.58444
-GU: 65648.3622222
-GW: 9547.81777778
-GY: 38880.6866667
-HK: 6253019.34444
-HN: 696195.986667
-HR: 9634731.65556
-HT: 89951.7466667
-HU: 27508528.3956
-ID: 19977120.5311
-IE: 8530559.23333
-IL: 6125523.57556
-IM: 144767.664444
-IN: 27692918.0956
-IO: 21.4266666667
-IQ: 844265.502222
-IR: 20045732.9222
-IS: 1593090.64
-IT: 83703072.8356
-JE: 140256.78
-JM: 375833.804444
-JO: 993150.335556
-JP: 27988334.2422
-KE: 1647671.42667
-KG: 2415359.04889
-KH: 711643.406667
-KI: 3892.54222222
-KM: 3859.51555556
-KN: 20678.1266667
-KP: 2463.49777778
-KR: 9611982.10222
-KW: 402377.588889
-KY: 91610.1333333
-KZ: 11179783.5533
-LA: 248326.228889
-LB: 568474.653333
-LC: 67230.4666667
-LI: 217418.026667
-LK: 830831.877778
-LR: 109338.006667
-LS: 22995.7488889
-LT: 10506640.4822
-LU: 2332984.10889
-LV: 10154900.8356
-LY: 150966.048889
-MA: 2381142.94889
-MC: 190155.5
-MD: 5369052.67111
-ME: 663404.133333
-MF: 15766.7111111
-MG: 413607.266667
-MH: 5420.73555556
-MK: 832677.937778
-ML: 165364.922222
-MM: 1574103.97111
-MN: 195058.542222
-MO: 226535.004444
-MP: 11891.1377778
-MQ: 361034.924444
-MR: 74424.8177778
-MS: 4853.69777778
-MT: 586558.177778
-MU: 327995.093333
-MV: 122568.173333
-MW: 90975.1466667
-MX: 37727070.8733
-MY: 3114449.34444
-MZ: 368243.097778
-NA: 157454.515556
-NC: 240829.58
-NE: 67342.48
-NF: 253.222222222
-NG: 566236.137778
-NI: 877344.76
-NL: 95809248.2356
-NO: 7864988.36222
-NP: 798218.357778
-NR: 1346.68888889
-NU: 307.917777778
-NZ: 3786275.34222
-OM: 313158.306667
-PA: 915175.135556
-PE: 11577958.7778
-PF: 161560.595556
-PG: 47218.0222222
-PH: 6965070.46
-PK: 2669556.02889
-PL: 188700107.164
-PM: 51462.8177778
-PR: 925986.406667
-PS: 350296.895556
-PT: 11851530.2422
-PW: 18346.9177778
-PY: 1779073.26889
-QA: 345872.877778
-RE: 888326.597778
-RO: 30365147.2511
-RS: 9551556.56889
-RU: 155014855.847
-RW: 196213.697778
-SA: 1861605.02667
-SB: 9961.35333333
-SC: 50707.7577778
-SD: 143548.24
-SE: 15608222.4422
-SG: 3762772.32889
-SH: 1960.12666667
-SI: 3977915.10889
-SK: 18991595.6333
-SL: 37188.2888889
-SM: 134091.466667
-SN: 441923.386667
-SO: 346586.811111
-SR: 148975.248889
-SS: 20085.78
-ST: 4658.13111111
-SV: 1096400.23556
-SX: 29970.1955556
-SY: 184978.342222
-SZ: 18843.2466667
-TC: 93588.1177778
-TD: 10838.6422222
-TG: 109304.388889
-TH: 8181045.00667
-TJ: 303382.026667
-TL: 41618.4422222
-TM: 33138.0888889
-TN: 2539957.73111
-TO: 6872.98888889
-TR: 36320266.9556
-TT: 595362.062222
-TV: 6377.35777778
-TW: 24895659.9
-TZ: 592716.151111
-UA: 71935436.2489
-UG: 371570.777778
-UM: 417.811111111
-US: 168068359.904
-UY: 3862789.72444
-UZ: 1576052.12444
-VA: 24871.3177778
-VC: 16695.1177778
-VE: 2429953.49556
-VG: 19105.4711111
-VI: 40648.4066667
-VN: 1585975.8
-VU: 30389.8666667
-WF: 3540.82888889
-WS: 18399.8555556
-XK: 40469.0288889
-YE: 117418.873333
-YT: 78763.2866667
-ZA: 6015791.69778
-ZM: 119848.686667
-ZW: 284603.042222
index 42863a7d3c2af5669744d099851f5311095e9ee0..ca8427a916f8d7eaaf2216bec27f032cf4e4093b 100755 (executable)
@@ -7,7 +7,7 @@ use XML::TreeBuilder;
 use YAML;
 
 # Get arguments
-my $bandwidthfile = shift @ARGV;
+my $requestsfile = shift @ARGV;
 my $originsfile = shift @ARGV;
 
 # Initialise origins
@@ -19,8 +19,8 @@ my $countries = XML::TreeBuilder->new;
 # Parse the country database
 $countries->parsefile("lib/countries.xml");
 
-# Load the per-country bandwidth details
-my $bandwidth = YAML::LoadFile($bandwidthfile);
+# Load the per-country requests details
+my $requests = YAML::LoadFile($requestsfile);
 
 # Fill in country table and work out which clusters each can use
 foreach my $country ($countries->look_down("_tag" => "country"))
@@ -28,7 +28,7 @@ foreach my $country ($countries->look_down("_tag" => "country"))
     my $code = $country->look_down("_tag" => "countryCode")->as_text;
     my $name = $country->look_down("_tag" => "countryName")->as_text;
     my $population = $country->look_down("_tag" => "population")->as_text;
-    my $bandwidth = $bandwidth->{$code} || 0;
+    my $requests = $requests->{$code} || 0;
     my $continent = $country->look_down("_tag" => "continent")->as_text;
     my $west = $country->look_down("_tag" => "west")->as_text;
     my $north = $country->look_down("_tag" => "north")->as_text;
@@ -40,7 +40,7 @@ foreach my $country ($countries->look_down("_tag" => "country"))
     $origins->{$code} = {
         code => $code, name => $name,
         country => $code, continent => $continent,
-        bandwidth => $bandwidth, lat => $lat, lon => $lon
+        requests => $requests, lat => $lat, lon => $lon
     };
 }
 
index 873fbf830d834ab89527b9476045fc9afff922b0..2c0453b96bc784c29f4d7ab9fecca1e3831f1ef2 100755 (executable)
--- a/bin/mkgeo
+++ b/bin/mkgeo
@@ -1,5 +1,7 @@
 #!/usr/bin/perl
 
+use v5.12;
+
 use strict;
 use warnings;
 
@@ -7,14 +9,14 @@ use IO::File;
 use Math::Trig qw(deg2rad pip2 great_circle_distance);
 use JSON::XS;
 use LWP::UserAgent;
-use YAML;
+use YAML::XS qw(LoadFile DumpFile);
 
 my $originfile = shift @ARGV;
 my $clusterfile = shift @ARGV;
 my $zone = shift @ARGV;
 my $targetoriginfile = shift @ARGV;
-my $origins = YAML::LoadFile($originfile);
-my $clusters = YAML::LoadFile($clusterfile);
+my $origins = LoadFile($originfile);
+my $clusters = LoadFile($clusterfile);
 my $gdnsname = shift @ARGV;
 my @servers;
 
@@ -23,22 +25,23 @@ while (my($name,$cluster) = each %$clusters)
 {
     if ($cluster->{servers})
     {
-        $cluster->{bandwidth} = 0;
+        $cluster->{requests} = 0;
 
         foreach my $server (@{$cluster->{servers}})
         {
             $server->{cluster} = $cluster;
-            $cluster->{bandwidth} = $cluster->{bandwidth} + $server->{bandwidth};
+            $cluster->{requests} = $cluster->{requests} + $server->{requests};
 
             push @servers, $server;
         }
     }
-    else
+    elsif ($cluster->{requests} > 0)
     {
         my $server = {
             cluster => $cluster,
             statuscake => $cluster->{statuscake},
-            bandwidth => $cluster->{bandwidth},
+            requests => $cluster->{requests},
+            cname => $cluster->{cname},
             ipv4 => $cluster->{ipv4},
             ipv6 => $cluster->{ipv6}
         };
@@ -47,6 +50,10 @@ while (my($name,$cluster) = each %$clusters)
 
         push @servers, $server;
     }
+    else
+    {
+        $cluster->{servers} = [];
+    }
 
     $cluster->{name} = $name;
     $cluster->{status} = "down";
@@ -59,42 +66,50 @@ foreach my $server (@servers)
 }
 
 # If statuscake support is enabled then check which servers are up
-if ($ENV{STATUSCAKE_USERNAME} && $ENV{STATUSCAKE_APIKEY})
+if ($ENV{STATUSCAKE_APIKEY})
 {
     my $ua = LWP::UserAgent->new;
     my $cache;
 
     $ua->agent("mkgeo/1.0");
-    $ua->default_header("Username", $ENV{STATUSCAKE_USERNAME});
-    $ua->default_header("API", $ENV{STATUSCAKE_APIKEY});
+    $ua->default_header("Authorization", "Bearer $ENV{STATUSCAKE_APIKEY}");
 
     if (-f "statuscake.yml")
     {
-        $cache = YAML::LoadFile("statuscake.yml");
+        $cache = LoadFile("statuscake.yml");
     }
     else
     {
         $cache = {};
     }
 
-    my $response = $ua->get("https://app.statuscake.com/API/Tests/");
+    my $page = 1;
+    my $pages = 1;
 
-    if ($response->is_success)
+    while ($page <= $pages)
     {
-        my $tests = decode_json($response->content);
+        my $response = $ua->get("https://api.statuscake.com/v1/uptime?nouptime=true&limit=100&page=${page}");
 
-        foreach my $test (@$tests)
+        if ($response->is_success)
         {
-            my $testid = $test->{TestID};
+            my $uptime = decode_json($response->content);
 
-            if ($test->{Status} eq "Up" && !$test->{Paused})
+            foreach my $test (@{$uptime->{data}})
             {
-                $cache->{$testid} = "up";
-            }
-            else
-            {
-                $cache->{$testid} = "down";
+                my $testid = $test->{id};
+
+                if ($test->{status} eq "up" && !$test->{paused})
+                {
+                    $cache->{$testid} = "up";
+                }
+                else
+                {
+                    $cache->{$testid} = "down";
+                }
             }
+
+            $page = $page + 1;
+            $pages = $uptime->{metadata}->{page_count};
         }
     }
 
@@ -117,7 +132,8 @@ if ($ENV{STATUSCAKE_USERNAME} && $ENV{STATUSCAKE_APIKEY})
         }
     }
 
-    YAML::DumpFile("statuscake.yml", $cache);
+    DumpFile("statuscake-$$.yml", $cache);
+    rename("statuscake-$$.yml", "statuscake.yml");
 }
 
 # Mark a cluster as up if any servers are up
@@ -129,25 +145,30 @@ foreach my $server (@servers)
     }
     else
     {
-        $server->{cluster}->{bandwidth} = $server->{cluster}->{bandwidth} - $server->{bandwidth};
+        $server->{cluster}->{requests} = $server->{cluster}->{requests} - $server->{requests};
     }
 }
 
+# Abort if no servers at all are up
+exit 0 unless grep { $_->{status} eq "up" } values(%$clusters);
+
 # Create target origins object
 my $targetorigins = {};
 
 # Initialise cluster details
 while (my($name,$cluster) = each %$clusters)
 {
-    $cluster->{bandwidth_limit} = $cluster->{bandwidth} * 1024 * 1024;
-    $cluster->{bandwidth_used} = 0;
+    $cluster->{requests_limit} = $cluster->{requests};
+    $cluster->{requests_used} = 0;
+
+    next if $cluster->{global};
 
     $targetorigins->{$cluster->{name}} = {
         code => $cluster->{name},
         name => $cluster->{name},
         lat => $cluster->{lat},
         lon => $cluster->{lon},
-        bandwidth => 0
+        requests => 0
     };
 }
 
@@ -163,7 +184,16 @@ foreach my $origin (values %$origins)
         if ($cluster->{status} eq "up" && $match ne "denied")
         {
             my $priority = $match eq "preferred" ? 20 : 10;
-            my $distance = distance($origin->{lat}, $origin->{lon}, $cluster->{lat}, $cluster->{lon});
+            my $distance;
+
+            if ($cluster->{global})
+            {
+                $distance = 0;
+            }
+            else
+            {
+                $distance = distance($origin->{lat}, $origin->{lon}, $cluster->{lat}, $cluster->{lon});
+            }
 
             push @mappings, {
                 origin => $origin, cluster => $cluster,
@@ -177,7 +207,7 @@ foreach my $origin (values %$origins)
 allocate_clusters(@mappings);
 
 # If we failed to allocate every origin then loop, increasing
-# the bandwidth for each cluster by a little and retrying until
+# the requests for each cluster by a little and retrying until
 # we manage to allocate everything
 while (grep { !exists($_->{cluster}) } values %$origins)
 {
@@ -187,95 +217,133 @@ while (grep { !exists($_->{cluster}) } values %$origins)
         delete $origin->{cluster};
     }
 
-    # Reset bandwidth usage for clusters and increase limits by 10%
+    # Reset requests usage for clusters and increase limits by 10%
     foreach my $cluster (values %$clusters)
     {
-        $cluster->{bandwidth_used} = 0;
-        $cluster->{bandwidth_limit} = $cluster->{bandwidth_limit} * 1.1;
+        $cluster->{requests_used} = 0;
+        $cluster->{requests_limit} = $cluster->{requests_limit} * 1.1;
     }
 
     # Try the allocate again
     allocate_clusters(@mappings);
 }
 
+# Report on allocation results
+foreach my $name (sort keys %$clusters)
+{
+    my $cluster = $clusters->{$name};
+    my $used = int($cluster->{requests_used} + 0.5);
+    my $limit = $cluster->{requests_limit};
+
+    if ($limit > 0)
+    {
+        my $proportion = int($used / $limit * 100 + 0.5);
+    
+        print "${name}: used ${used} of ${limit} (${proportion}%)\n";
+    }
+    else
+    {
+        print "${name}: used ${used} of ${limit}\n";
+    }
+}
+
 # Create JSON collection object
 my @json;
 
 # Open output files
-my $zonefile = IO::File->new("> data/${zone}") || die "$!";
-my $jsonfile = IO::File->new("> json/${zone}.json") || die "$!";
+my $zonefile = IO::File->new("> include/${zone}.js") || die "$!";
+my $jsonfile = IO::File->new("> json/${zone}.openstreetmap.org.json") || die "$!";
+
+# Output headers
+$zonefile->print("var \U${zone}\E_RECORDS = [\n");
 
 # Output details for each country
 foreach my $origin (sort { $a->{name} cmp $b->{name} } values %$origins)
 {
     my $cluster = $origin->{cluster};
-    my $clon = $origin->{lon};
-    my $clat = $origin->{lat};
-    my $slon = $cluster->{lon};
-    my $slat = $cluster->{lat};
 
-    if ($clon > 0 && $slon < 0 && 360 + $slon - $clon < $clon - $slon)
-    {
-        $slon = $slon + 360;
-    }
-    elsif ($slon > 0 && $clon < 0 && 360 + $clon - $slon < $slon - $clon)
+    if (!defined($gdnsname))
     {
-        $clon = $clon + 360;
+        $zonefile->print("  CNAME(\"\L$origin->{code}\E.${zone}\", \"$cluster->{name}.${zone}.openstreetmap.org.\", TTL(\"10m\")),\n");
     }
 
-    $zonefile->print("# $origin->{name}\n");
-    $zonefile->print("C\L$origin->{code}\E.${zone}:$cluster->{name}.${zone}:600\n");
+    if ($cluster->{lon} && $cluster->{lat})
+    {
+        my $clon = $origin->{lon};
+        my $clat = $origin->{lat};
+        my $slon = $cluster->{lon};
+        my $slat = $cluster->{lat};
 
-    push @json, {
-        type => "Feature",
-        geometry => {
-            type => "LineString",
-            coordinates => [ [ $clon, $clat ], [ $slon, $slat ] ]
-        },
-        properties => {
-            origin => $origin->{name},
-            server => $cluster->{name},
-            colour => $cluster->{colour}
+        if ($clon > 0 && $slon < 0 && 360 + $slon - $clon < $clon - $slon)
+        {
+            $slon = $slon + 360;
+        }
+        elsif ($slon > 0 && $clon < 0 && 360 + $clon - $slon < $slon - $clon)
+        {
+            $clon = $clon + 360;
         }
-    };
 
-    $targetorigins->{$cluster->{name}}->{bandwidth} += $origin->{bandwidth};
-}
+        push @json, {
+            type => "Feature",
+            geometry => {
+                type => "LineString",
+                coordinates => [ [ $clon, $clat ], [ $slon, $slat ] ]
+            },
+            properties => {
+                origin => $origin->{name},
+                server => $cluster->{name},
+                colour => $cluster->{colour}
+            }
+        };
+    }
 
-# Header for default records
-$zonefile->print("# Unknown origins\n");
+    next if $cluster->{global};
 
-# Output default records for IPs that can't be mapped to a country
-foreach my $cluster (sort { $a->{name} cmp $b->{name} } values %$clusters)
-{
-    my $name = $cluster->{name};
+    $targetorigins->{$cluster->{name}}->{requests} += $origin->{requests};
+}
 
-    if (my $default = $cluster->{default})
-    {
-        output_server($zonefile, "${default}.${zone}", $cluster);
-    }
-    elsif (exists($cluster->{default}))
+# Skip default records if we don't need them
+if (!defined($gdnsname))
+{
+    # Output default records for IPs that can't be mapped to a country
+    foreach my $cluster (sort { $a->{name} cmp $b->{name} } values %$clusters)
     {
-        output_server($zonefile, "${zone}", $cluster);
+        my $name = $cluster->{name};
+
+        if (my $default = $cluster->{default})
+        {
+            output_server($zonefile, "${default}.${zone}", $cluster, 0);
+        }
+        elsif (exists($cluster->{default}))
+        {
+            output_server($zonefile, "${zone}", $cluster, 0);
+        }
     }
 }
 
-# Header for underlying servers
-$zonefile->print("# Servers\n");
-
 # Output A records for each cluster
 foreach my $cluster (sort { $a->{name} cmp $b->{name} } values %$clusters)
 {
     my $name = $cluster->{name};
 
-    output_server($zonefile, "${name}.${zone}", $cluster);
+    if (@{$cluster->{servers}} > 1)
+    {
+        output_server($zonefile, "${name}-%02d.${zone}", $cluster, 1);
+    }
+    else
+    {
+        output_server($zonefile, "${name}.${zone}", $cluster, 1);
+    }
 }
 
 # Output the GeoJSON text
 $jsonfile->print(encode_json(\@json));
 
+# Output footers
+$zonefile->print("];\n");
+
 # Close the output files
-$jsonfile->close();
+$zonefile->close();
 $zonefile->close();
 
 # Output gdnsd configuration
@@ -283,10 +351,11 @@ if (defined($gdnsname))
 {
     my $gdnsmapfile = IO::File->new("> gdns/${gdnsname}.map") || die "$!";
     my $gdnsresourcefile = IO::File->new("> gdns/${gdnsname}.resource") || die "$!";
+    my $gdnsweightedfile = IO::File->new("> gdns/${gdnsname}.weighted") || die "$!";
     my $continent = "";
 
     $gdnsmapfile->print("${gdnsname} => {\n");
-    $gdnsmapfile->print("  geoip2_db => /var/lib/GeoIP/GeoLite2-Country.mmdb\n");
+    $gdnsmapfile->print("  geoip2_db => /usr/share/GeoIP/GeoLite2-Country.mmdb\n");
     $gdnsmapfile->print("  datacenters => [" . join(",", sort(keys(%$clusters))) . "]\n");
     $gdnsmapfile->print("  map => {\n");
     $gdnsmapfile->print("    default => [" . join(",", sort(map { $_->{name} } grep { $_->{default} } values(%$clusters))) . "]\n");
@@ -323,18 +392,52 @@ if (defined($gdnsname))
     {
         my $name = $cluster->{name};
 
-        $gdnsresourcefile->print("    ${name} => ${name}.tile.openstreetmap.org.\n");
+        if (@{$cluster->{servers}} > 1 && grep { $_->{status} eq "up" } @{$cluster->{servers}})
+        {
+            $gdnsweightedfile->print("${name} => {\n");
+
+            while (my($index,$server) = each @{$cluster->{servers}})
+            {
+                if ($server->{status} eq "up")
+                {
+                    my $number = sprintf("%02d", $index + 1);
+                    my $requests = $server->{requests};
+
+                    if (my $cname = $server->{cname})
+                    {
+                        $gdnsweightedfile->print("  ${name}-${number} = [ ${cname}., ${requests} ]\n");
+                    }
+                    else
+                    {
+                        $gdnsweightedfile->print("  ${name}-${number} = [ ${name}-${number}.${zone}.openstreetmap.org., ${requests} ]\n");
+                    }
+                }
+            }
+
+            $gdnsweightedfile->print("}\n");
+
+            $gdnsresourcefile->print("    ${name} => %weighted!${name}\n");
+        }
+        elsif (my $cname = $cluster->{cname})
+        {
+            $gdnsresourcefile->print("    ${name} => ${cname}.\n");
+        }
+        else
+        {
+            $gdnsresourcefile->print("    ${name} => ${name}.${zone}.openstreetmap.org.\n");
+        }
     }
 
     $gdnsresourcefile->print("  }\n");
     $gdnsresourcefile->print("}\n");
 
+    $gdnsweightedfile->close();
     $gdnsresourcefile->close();
     $gdnsmapfile->close();
 }
 
 # Output the target details in origin format if required
-YAML::DumpFile($targetoriginfile, $targetorigins) if $targetoriginfile;
+DumpFile($targetoriginfile, $targetorigins) if $targetoriginfile;
 
 exit 0;
 
@@ -428,7 +531,7 @@ sub allocate_clusters
     my @mappings = sort { compare_mappings($a, $b) } @_;
 
     # Loop over the mappings, trying to assign each origin to the
-    # nearest cluster, but subject to the bandwidth limits
+    # nearest cluster, but subject to the request limits
     while (my $mapping = shift @mappings)
     {
         my @group;
@@ -440,16 +543,16 @@ sub allocate_clusters
             push @group, shift @mappings;
         }
 
-        for my $mapping (sort compare_bandwidth @group)
+        for my $mapping (sort compare_requests @group)
         {
             my $origin = $mapping->{origin};
             my $cluster = $mapping->{cluster};
 
             if (!exists($origin->{cluster}) &&
-                $cluster->{bandwidth_used} + $origin->{bandwidth} <= $cluster->{bandwidth_limit})
+                $cluster->{requests_used} + $origin->{requests} <= $cluster->{requests_limit})
             {
                 $origin->{cluster} = $cluster;
-                $cluster->{bandwidth_used} = $cluster->{bandwidth_used} + $origin->{bandwidth};
+                $cluster->{requests_used} = $cluster->{requests_used} + $origin->{requests};
             }
         }
     }
@@ -472,10 +575,10 @@ sub compare_mappings
 #
 # Compare two mappings to decide which to try first
 #
-sub compare_bandwidth
+sub compare_requests
 {
-    my $a_used = ( $a->{cluster}->{bandwidth_used} * 100.0 ) / ( $a->{cluster}->{bandwidth_limit} * 1.0 );
-    my $b_used = ( $b->{cluster}->{bandwidth_used} * 100.0 ) / ( $b->{cluster}->{bandwidth_limit} * 1.0 );
+    my $a_used = ( $a->{cluster}->{requests_used} * 100.0 ) / ( $a->{cluster}->{requests_limit} * 1.0 );
+    my $b_used = ( $b->{cluster}->{requests_used} * 100.0 ) / ( $b->{cluster}->{requests_limit} * 1.0 );
 
     return $a_used <=> $b_used;
 }
@@ -488,16 +591,20 @@ sub output_server
     my $zonefile = shift;
     my $name = shift;
     my $cluster = shift;
+    my $all = shift;
 
-    foreach my $server (@{$cluster->{servers}})
+    while (my($index,$server) = each @{$cluster->{servers}})
     {
-        if ($server->{status} eq "up")
+        if ($all || $server->{status} eq "up")
         {
-            $zonefile->print("+${name}:$server->{ipv4}:600\n");
+            if ($server->{ipv4})
+            {
+                $zonefile->printf("  A(\"${name}\", \"$server->{ipv4}\", TTL(\"10m\")),\n", $index + 1);
+            }
 
             if ($server->{ipv6})
             {
-#                $zonefile->print("3${name}:$server->{ipv6}:600\n");
+                $zonefile->printf("  AAAA(\"${name}\", \"$server->{ipv6}\", TTL(\"10m\")),\n", $index + 1);
             }
         }
     }
diff --git a/bin/mksshfp b/bin/mksshfp
new file mode 100755 (executable)
index 0000000..f3b6d1a
--- /dev/null
@@ -0,0 +1,76 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use Digest::SHA qw(sha256_hex);
+use MIME::Base64;
+
+my %hosts;
+
+if (-f "/etc/ssh/ssh_known_hosts")
+{
+    open(HOSTS, "<", "/etc/ssh/ssh_known_hosts") || die $!;
+
+    while (my $line = <HOSTS>)
+    {
+        last if $line =~ /^# Manually maintained records$/;
+
+        if ($line =~ /^([^, ]+)\S* (\S+) (\S+)$/)
+        {
+            my $host = $1;
+            my $algorithm = $2;
+            my $value = uc(sha256_hex(decode_base64($3)));
+
+            $host =~ s/\.openstreetmap\.org$//;
+
+            if ($algorithm ne "2")
+            {
+                $hosts{$host} ||= {};
+
+                $hosts{$host}->{$algorithm} = $value;
+            }
+        }
+    }
+
+    close(HOSTS);
+}
+
+open(SSHFP_JS, ">", "include/sshfp.js") || die $!;
+
+print SSHFP_JS qq|var SSHFP_RECORDS = [\n|;
+
+foreach my $host (sort keys %hosts)
+{
+    if ($hosts{$host}->{"ecdsa-sha2-nistp256"} || $hosts{$host}->{"ssh-ed25519"})
+    {
+        if ($hosts{$host}->{"ecdsa-sha2-nistp256"})
+        {
+            print SSHFP_JS sshfp_record($host, "3", $hosts{$host}->{"ecdsa-sha2-nistp256"});
+        }
+
+        if ($hosts{$host}->{"ssh-ed25519"})
+        {
+            print SSHFP_JS sshfp_record($host, "4", $hosts{$host}->{"ssh-ed25519"});
+        }
+    }
+    elsif ($hosts{$host}->{"ssh-rsa"})
+    {
+        print SSHFP_JS sshfp_record($host, "1", $hosts{$host}->{"ssh-rsa"});
+    }
+}
+
+print SSHFP_JS qq|];\n|;
+
+close(SSHFP_JS);
+
+exit 0;
+
+sub sshfp_record
+{
+    my $host = shift;
+    my $algorithm = shift;
+    my $value = shift;
+
+    return qq|  SSHFP("${host}", ${algorithm}, 2, "${value}"),\n|;
+}
diff --git a/dnsconfig.js b/dnsconfig.js
new file mode 100644 (file)
index 0000000..88b4218
--- /dev/null
@@ -0,0 +1,168 @@
+var REG_NONE = NewRegistrar("none");
+var REG_GANDI = NewRegistrar("gandi_v5");
+var PROVIDER = NewDnsProvider("cloudflare");
+
+var DOMAIN;
+var REGISTRAR;
+var DYNAMIC_RECORDS;
+
+var QUALIFY = function (name) {
+  return name + "." + DOMAIN + ".";
+};
+
+function loadTemplate(template) {
+  return function (domain, registrar) {
+    DOMAIN = domain;
+    REGISTRAR = registrar;
+    DYNAMIC_RECORDS = [];
+
+    for (var i = 2; i < arguments.length; i++) {
+      DYNAMIC_RECORDS = DYNAMIC_RECORDS.concat(arguments[i]);
+    }
+
+    require("src/" + template + ".js");
+  };
+}
+
+require("src/hosts.js");
+
+var OPENSTREETMAP = loadTemplate("openstreetmap");
+
+require("include/sshfp.js");
+require("include/nominatim.js");
+
+try {
+  require("include/geo.js");
+} catch (e) {
+  var GEO_NS_RECORDS = [];
+}
+
+OPENSTREETMAP_ORG_RECORDS = [
+  CNAME("_acme-challenge.tile", "bxve5ryiwwv7woiraq.fastly-validations.com.", TTL("10m"))
+]
+
+OSM_ORG_RECORDS = [
+  CNAME("_acme-challenge.tile", "21gvdfyyxjoc4lmsem.fastly-validations.com.", TTL("10m"))
+]
+
+OPENSTREETMAP("openstreetmap.org", REG_GANDI, OPENSTREETMAP_ORG_RECORDS, SSHFP_RECORDS, GEO_NS_RECORDS, NOMINATIM_RECORDS);
+OPENSTREETMAP("openstreetmap.com", REG_GANDI);
+OPENSTREETMAP("openstreetmap.net", REG_GANDI);
+OPENSTREETMAP("openstreetmap.ca", REG_GANDI);
+OPENSTREETMAP("openstreetmap.eu", REG_NONE);
+OPENSTREETMAP("openstreetmap.pro", REG_GANDI);
+OPENSTREETMAP("openstreetmap.gay", REG_GANDI);
+OPENSTREETMAP("openstreetmaps.org", REG_GANDI);
+OPENSTREETMAP("osm.org", REG_GANDI, OSM_ORG_RECORDS, SSHFP_RECORDS);
+OPENSTREETMAP("openmaps.org", REG_GANDI);
+OPENSTREETMAP("openstreetmap.io", REG_GANDI);
+OPENSTREETMAP("osm.io", REG_GANDI);
+OPENSTREETMAP("openstreetmap.li", REG_GANDI);
+OPENSTREETMAP("openworldmap.org", REG_GANDI);
+OPENSTREETMAP("freeosm.org", REG_GANDI);
+OPENSTREETMAP("open-maps.org", REG_GANDI);
+OPENSTREETMAP("open-maps.com", REG_GANDI);
+OPENSTREETMAP("osmbugs.org", REG_GANDI);
+OPENSTREETMAP("openstreetmap.ai", REG_GANDI);
+OPENSTREETMAP("openstreetmap.am", REG_GANDI);
+OPENSTREETMAP("openstreetmap.fi", REG_GANDI);
+OPENSTREETMAP("openstreetmap.gr", REG_GANDI);
+OPENSTREETMAP("openstreetmap.me", REG_GANDI);
+OPENSTREETMAP("openstreetmap.mx", REG_GANDI);
+OPENSTREETMAP("openstreetmap.nz", REG_GANDI);
+OPENSTREETMAP("openstreetmap.pe", REG_GANDI);
+OPENSTREETMAP("openstreetmap.ph", REG_GANDI);
+OPENSTREETMAP("openstreetmap.sg", REG_GANDI);
+OPENSTREETMAP("openstreetmap.tv", REG_GANDI);
+OPENSTREETMAP("openstreetmap.wales", REG_GANDI);
+OPENSTREETMAP("openstreetmapdata.org", REG_GANDI);
+
+// Disable due to registration issue
+// OPENSTREETMAP("openstreetmap.al", REG_NONE);
+
+// Mastodon redirects to en.osm.town
+var OPENSTREETMAP_TOWN = loadTemplate("openstreetmap-town");
+OPENSTREETMAP_TOWN("openstreetmap.town", REG_GANDI);
+
+// Domain owned by Amanda McCann
+// osm.town
+
+// Managed independently by Guillaume Rischard
+// openstreetmap.lu
+// osm.lu
+
+var OSM_LI = loadTemplate("osm-li");
+
+OSM_LI("osm.li", REG_GANDI);
+
+var OPENSTREETMAP_UK = loadTemplate("openstreetmap-uk");
+
+OPENSTREETMAP_UK("openstreetmap.uk", REG_GANDI);
+OPENSTREETMAP_UK("openstreetmap.org.uk", REG_GANDI);
+OPENSTREETMAP_UK("openstreetmap.co.uk", REG_GANDI);
+
+var OPENSTREETMAP_ZA = loadTemplate("openstreetmap-za");
+
+OPENSTREETMAP_ZA("openstreetmap.org.za", REG_NONE);
+OPENSTREETMAP_ZA("osm.org.za", REG_NONE);
+
+var OSMFOUNDATION = loadTemplate("osmfoundation");
+
+OSMFOUNDATION("osmfoundation.org", REG_GANDI);
+
+var STATEOFTHEMAP = loadTemplate("stateofthemap");
+
+STATEOFTHEMAP("stateofthemap.org", REG_GANDI);
+STATEOFTHEMAP("stateofthemap.com", REG_GANDI);
+STATEOFTHEMAP("sotm.org", REG_GANDI);
+
+// The domain is registation is managed by FOSSGIS.de
+var STATEOFTHEMAP_EU = loadTemplate("stateofthemap-eu");
+STATEOFTHEMAP_EU("stateofthemap.eu", REG_NONE);
+
+// State of the Map Madagascar
+var OPENSTREETMAP_MG = loadTemplate("openstreetmap-mg");
+OPENSTREETMAP_MG("openstreetmap.mg", REG_GANDI);
+
+var OPENGEODATA = loadTemplate("opengeodata");
+OPENGEODATA("opengeodata.org", REG_GANDI);
+
+var SWITCH2OSM = loadTemplate("switch2osm");
+
+SWITCH2OSM("switch2osm.org", REG_GANDI);
+SWITCH2OSM("switch2osm.com", REG_GANDI);
+
+var OSM2PGSQL = loadTemplate("osm2pgsql");
+
+OSM2PGSQL("osm2pgsql.org", REG_GANDI);
+OSM2PGSQL("osm2pgsql.com", REG_GANDI);
+
+var IDEDITOR = loadTemplate("ideditor");
+
+IDEDITOR("ideditor.com", REG_GANDI);
+
+var OSMWIKI = loadTemplate("osm-wiki");
+OSMWIKI("osm.wiki", REG_GANDI);
+
+var PTR_EQUINIX_AMS_IPV4 = loadTemplate("ptr_equinix_ams_ipv4");
+
+PTR_EQUINIX_AMS_IPV4("128-27.179.104.184.in-addr.arpa", REG_NONE);
+
+var PTR_EQUINIX_AMS_IPV6 = loadTemplate("ptr_equinix_ams_ipv6");
+
+PTR_EQUINIX_AMS_IPV6(REV("2001:470:1:fa1::/64"), REG_NONE);
+
+var PTR_EQUINIX_DUB_IPV4 = loadTemplate("ptr_equinix_dub_ipv4");
+
+PTR_EQUINIX_DUB_IPV4("96-27.226.104.184.in-addr.arpa", REG_NONE);
+
+var PTR_EQUINIX_DUB_IPV6 = loadTemplate("ptr_equinix_dub_ipv6");
+
+PTR_EQUINIX_DUB_IPV6(REV("2001:470:1:b3b::/64"), REG_NONE);
+
+// No immediate plans
+// External DNS and hosting still up
+// freethepostcode.org
+
+// External DNS and hosting
+// openstreetmap.cymru
similarity index 100%
rename from data/.gitkeep
rename to include/.gitkeep
index ad7886c7f3790158141674028338be1d3393a2e8..c25773f2c8be4a70f6881616063e1e36cfb392c9 100644 (file)
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <geonames>
-<country>
-<countryCode>AD</countryCode>
-<countryName>Andorra</countryName>
-<isoNumeric>020</isoNumeric>
-<isoAlpha3>AND</isoAlpha3>
-<fipsCode>AN</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Andorra la Vella</capital>
-<areaInSqKm>468.0</areaInSqKm>
-<population>84000</population>
-<currencyCode>EUR</currencyCode>
-<languages>ca</languages>
-<geonameId>3041565</geonameId>
-<west>1.4071867141112762</west>
-<north>42.65604389629997</north>
-<east>1.7865427778319827</east>
-<south>42.42849259876837</south>
-<postalCodeFormat>AD###</postalCodeFormat>
-</country>
-<country>
-<countryCode>AE</countryCode>
-<countryName>United Arab Emirates</countryName>
-<isoNumeric>784</isoNumeric>
-<isoAlpha3>ARE</isoAlpha3>
-<fipsCode>AE</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Abu Dhabi</capital>
-<areaInSqKm>82880.0</areaInSqKm>
-<population>4975593</population>
-<currencyCode>AED</currencyCode>
-<languages>ar-AE,fa,en,hi,ur</languages>
-<geonameId>290557</geonameId>
-<west>51.58332824707031</west>
-<north>26.08415985107422</north>
-<east>56.38166046142578</east>
-<south>22.633329391479492</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>AF</countryCode>
-<countryName>Afghanistan</countryName>
-<isoNumeric>004</isoNumeric>
-<isoAlpha3>AFG</isoAlpha3>
-<fipsCode>AF</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Kabul</capital>
-<areaInSqKm>647500.0</areaInSqKm>
-<population>29121286</population>
-<currencyCode>AFN</currencyCode>
-<languages>fa-AF,ps,uz-AF,tk</languages>
-<geonameId>1149361</geonameId>
-<west>60.478443</west>
-<north>38.483418</north>
-<east>74.879448</east>
-<south>29.377472</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>AG</countryCode>
-<countryName>Antigua and Barbuda</countryName>
-<isoNumeric>028</isoNumeric>
-<isoAlpha3>ATG</isoAlpha3>
-<fipsCode>AC</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>St. John's</capital>
-<areaInSqKm>443.0</areaInSqKm>
-<population>86754</population>
-<currencyCode>XCD</currencyCode>
-<languages>en-AG</languages>
-<geonameId>3576396</geonameId>
-<west>-61.906425</west>
-<north>17.729387</north>
-<east>-61.672421</east>
-<south>16.996979</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>AI</countryCode>
-<countryName>Anguilla</countryName>
-<isoNumeric>660</isoNumeric>
-<isoAlpha3>AIA</isoAlpha3>
-<fipsCode>AV</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>The Valley</capital>
-<areaInSqKm>102.0</areaInSqKm>
-<population>13254</population>
-<currencyCode>XCD</currencyCode>
-<languages>en-AI</languages>
-<geonameId>3573511</geonameId>
-<west>-63.16808989603879</west>
-<north>18.276901971658063</north>
-<east>-62.96655544577948</east>
-<south>18.160292974311673</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>AL</countryCode>
-<countryName>Albania</countryName>
-<isoNumeric>008</isoNumeric>
-<isoAlpha3>ALB</isoAlpha3>
-<fipsCode>AL</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Tirana</capital>
-<areaInSqKm>28748.0</areaInSqKm>
-<population>2986952</population>
-<currencyCode>ALL</currencyCode>
-<languages>sq,el</languages>
-<geonameId>783754</geonameId>
-<west>19.2639112711741</west>
-<north>42.6611669383269</north>
-<east>21.0574334835312</east>
-<south>39.6448624829142</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>AM</countryCode>
-<countryName>Armenia</countryName>
-<isoNumeric>051</isoNumeric>
-<isoAlpha3>ARM</isoAlpha3>
-<fipsCode>AM</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Yerevan</capital>
-<areaInSqKm>29800.0</areaInSqKm>
-<population>2968000</population>
-<currencyCode>AMD</currencyCode>
-<languages>hy</languages>
-<geonameId>174982</geonameId>
-<west>43.44978000000003</west>
-<north>41.301834</north>
-<east>46.6289052796227</east>
-<south>38.841972</south>
-<postalCodeFormat>######</postalCodeFormat>
-</country>
-<country>
-<countryCode>AO</countryCode>
-<countryName>Angola</countryName>
-<isoNumeric>024</isoNumeric>
-<isoAlpha3>AGO</isoAlpha3>
-<fipsCode>AO</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Luanda</capital>
-<areaInSqKm>1246700.0</areaInSqKm>
-<population>13068161</population>
-<currencyCode>AOA</currencyCode>
-<languages>pt-AO</languages>
-<geonameId>3351879</geonameId>
-<west>11.679219</west>
-<north>-4.376826</north>
-<east>24.082119</east>
-<south>-18.042076</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>AQ</countryCode>
-<countryName>Antarctica</countryName>
-<isoNumeric>010</isoNumeric>
-<isoAlpha3>ATA</isoAlpha3>
-<fipsCode>AY</fipsCode>
-<continent>AN</continent>
-<continentName>Antarctica</continentName>
-<capital/>
-<areaInSqKm>1.4E7</areaInSqKm>
-<population>0</population>
-<currencyCode/>
-<languages/>
-<geonameId>6697173</geonameId>
-<west>-179.9999</west>
-<north>-60.515533</north>
-<east>179.9999</east>
-<south>-89.9999</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>AR</countryCode>
-<countryName>Argentina</countryName>
-<isoNumeric>032</isoNumeric>
-<isoAlpha3>ARG</isoAlpha3>
-<fipsCode>AR</fipsCode>
-<continent>SA</continent>
-<continentName>South America</continentName>
-<capital>Buenos Aires</capital>
-<areaInSqKm>2766890.0</areaInSqKm>
-<population>41343201</population>
-<currencyCode>ARS</currencyCode>
-<languages>es-AR,en,it,de,fr,gn</languages>
-<geonameId>3865483</geonameId>
-<west>-73.566302817</west>
-<north>-21.777951173</north>
-<east>-53.637962552</east>
-<south>-55.0576984539999</south>
-<postalCodeFormat>@####@@@</postalCodeFormat>
-</country>
-<country>
-<countryCode>AS</countryCode>
-<countryName>American Samoa</countryName>
-<isoNumeric>016</isoNumeric>
-<isoAlpha3>ASM</isoAlpha3>
-<fipsCode>AQ</fipsCode>
-<continent>OC</continent>
-<continentName>Oceania</continentName>
-<capital>Pago Pago</capital>
-<areaInSqKm>199.0</areaInSqKm>
-<population>57881</population>
-<currencyCode>USD</currencyCode>
-<languages>en-AS,sm,to</languages>
-<geonameId>5880801</geonameId>
-<west>-171.091888</west>
-<north>-11.0497</north>
-<east>-169.416077</east>
-<south>-14.382478</south>
-<postalCodeFormat>#####-####</postalCodeFormat>
-</country>
-<country>
-<countryCode>AT</countryCode>
-<countryName>Austria</countryName>
-<isoNumeric>040</isoNumeric>
-<isoAlpha3>AUT</isoAlpha3>
-<fipsCode>AU</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Vienna</capital>
-<areaInSqKm>83858.0</areaInSqKm>
-<population>8205000</population>
-<currencyCode>EUR</currencyCode>
-<languages>de-AT,hr,hu,sl</languages>
-<geonameId>2782113</geonameId>
-<west>9.53095237240833</west>
-<north>49.0211627691393</north>
-<east>17.1620685652599</east>
-<south>46.3726520216244</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>AU</countryCode>
-<countryName>Australia</countryName>
-<isoNumeric>036</isoNumeric>
-<isoAlpha3>AUS</isoAlpha3>
-<fipsCode>AS</fipsCode>
-<continent>OC</continent>
-<continentName>Oceania</continentName>
-<capital>Canberra</capital>
-<areaInSqKm>7686850.0</areaInSqKm>
-<population>21515754</population>
-<currencyCode>AUD</currencyCode>
-<languages>en-AU</languages>
-<geonameId>2077456</geonameId>
-<west>112.911057</west>
-<north>-10.062805</north>
-<east>153.639252</east>
-<south>-43.64397</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>AW</countryCode>
-<countryName>Aruba</countryName>
-<isoNumeric>533</isoNumeric>
-<isoAlpha3>ABW</isoAlpha3>
-<fipsCode>AA</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Oranjestad</capital>
-<areaInSqKm>193.0</areaInSqKm>
-<population>71566</population>
-<currencyCode>AWG</currencyCode>
-<languages>nl-AW,pap,es,en</languages>
-<geonameId>3577279</geonameId>
-<west>-70.0644737196045</west>
-<north>12.623718127152925</north>
-<east>-69.86575120104982</east>
-<south>12.411707706190716</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>AX</countryCode>
-<countryName>Åland</countryName>
-<isoNumeric>248</isoNumeric>
-<isoAlpha3>ALA</isoAlpha3>
-<fipsCode/>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Mariehamn</capital>
-<areaInSqKm>1580.0</areaInSqKm>
-<population>26711</population>
-<currencyCode>EUR</currencyCode>
-<languages>sv-AX</languages>
-<geonameId>661882</geonameId>
-<west>19.317694</west>
-<north>60.488861</north>
-<east>21.011862</east>
-<south>59.90675</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>AZ</countryCode>
-<countryName>Azerbaijan</countryName>
-<isoNumeric>031</isoNumeric>
-<isoAlpha3>AZE</isoAlpha3>
-<fipsCode>AJ</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Baku</capital>
-<areaInSqKm>86600.0</areaInSqKm>
-<population>8303512</population>
-<currencyCode>AZN</currencyCode>
-<languages>az,ru,hy</languages>
-<geonameId>587116</geonameId>
-<west>44.774113</west>
-<north>41.90564</north>
-<east>50.370083</east>
-<south>38.38915252685547</south>
-<postalCodeFormat>AZ ####</postalCodeFormat>
-</country>
-<country>
-<countryCode>BA</countryCode>
-<countryName>Bosnia and Herzegovina</countryName>
-<isoNumeric>070</isoNumeric>
-<isoAlpha3>BIH</isoAlpha3>
-<fipsCode>BK</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Sarajevo</capital>
-<areaInSqKm>51129.0</areaInSqKm>
-<population>4590000</population>
-<currencyCode>BAM</currencyCode>
-<languages>bs,hr-BA,sr-BA</languages>
-<geonameId>3277605</geonameId>
-<west>15.718945</west>
-<north>45.239193</north>
-<east>19.622223</east>
-<south>42.546112</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>BB</countryCode>
-<countryName>Barbados</countryName>
-<isoNumeric>052</isoNumeric>
-<isoAlpha3>BRB</isoAlpha3>
-<fipsCode>BB</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Bridgetown</capital>
-<areaInSqKm>431.0</areaInSqKm>
-<population>285653</population>
-<currencyCode>BBD</currencyCode>
-<languages>en-BB</languages>
-<geonameId>3374084</geonameId>
-<west>-59.648922</west>
-<north>13.327257</north>
-<east>-59.420376</east>
-<south>13.039844</south>
-<postalCodeFormat>BB#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>BD</countryCode>
-<countryName>Bangladesh</countryName>
-<isoNumeric>050</isoNumeric>
-<isoAlpha3>BGD</isoAlpha3>
-<fipsCode>BG</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Dhaka</capital>
-<areaInSqKm>144000.0</areaInSqKm>
-<population>156118464</population>
-<currencyCode>BDT</currencyCode>
-<languages>bn-BD,en</languages>
-<geonameId>1210997</geonameId>
-<west>88.028336</west>
-<north>26.631945</north>
-<east>92.673668</east>
-<south>20.743334</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>BE</countryCode>
-<countryName>Belgium</countryName>
-<isoNumeric>056</isoNumeric>
-<isoAlpha3>BEL</isoAlpha3>
-<fipsCode>BE</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Brussels</capital>
-<areaInSqKm>30510.0</areaInSqKm>
-<population>10403000</population>
-<currencyCode>EUR</currencyCode>
-<languages>nl-BE,fr-BE,de-BE</languages>
-<geonameId>2802361</geonameId>
-<west>2.54132898439873</west>
-<north>51.5051118897455</north>
-<east>6.40793743953125</east>
-<south>49.496968483036</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>BF</countryCode>
-<countryName>Burkina Faso</countryName>
-<isoNumeric>854</isoNumeric>
-<isoAlpha3>BFA</isoAlpha3>
-<fipsCode>UV</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Ouagadougou</capital>
-<areaInSqKm>274200.0</areaInSqKm>
-<population>16241811</population>
-<currencyCode>XOF</currencyCode>
-<languages>fr-BF,mos</languages>
-<geonameId>2361809</geonameId>
-<west>-5.518916</west>
-<north>15.082593</north>
-<east>2.405395</east>
-<south>9.401108</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>BG</countryCode>
-<countryName>Bulgaria</countryName>
-<isoNumeric>100</isoNumeric>
-<isoAlpha3>BGR</isoAlpha3>
-<fipsCode>BU</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Sofia</capital>
-<areaInSqKm>110910.0</areaInSqKm>
-<population>7148785</population>
-<currencyCode>BGN</currencyCode>
-<languages>bg,tr-BG,rom</languages>
-<geonameId>732800</geonameId>
-<west>22.371166</west>
-<north>44.21764</north>
-<east>28.612167</east>
-<south>41.242084</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>BH</countryCode>
-<countryName>Bahrain</countryName>
-<isoNumeric>048</isoNumeric>
-<isoAlpha3>BHR</isoAlpha3>
-<fipsCode>BA</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Manama</capital>
-<areaInSqKm>665.0</areaInSqKm>
-<population>738004</population>
-<currencyCode>BHD</currencyCode>
-<languages>ar-BH,en,fa,ur</languages>
-<geonameId>290291</geonameId>
-<west>50.45414</west>
-<north>26.282583</north>
-<east>50.664471</east>
-<south>25.796862</south>
-<postalCodeFormat>####|###</postalCodeFormat>
-</country>
-<country>
-<countryCode>BI</countryCode>
-<countryName>Burundi</countryName>
-<isoNumeric>108</isoNumeric>
-<isoAlpha3>BDI</isoAlpha3>
-<fipsCode>BY</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Bujumbura</capital>
-<areaInSqKm>27830.0</areaInSqKm>
-<population>9863117</population>
-<currencyCode>BIF</currencyCode>
-<languages>fr-BI,rn</languages>
-<geonameId>433561</geonameId>
-<west>28.993061</west>
-<north>-2.310123</north>
-<east>30.847729</east>
-<south>-4.465713</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>BJ</countryCode>
-<countryName>Benin</countryName>
-<isoNumeric>204</isoNumeric>
-<isoAlpha3>BEN</isoAlpha3>
-<fipsCode>BN</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Porto-Novo</capital>
-<areaInSqKm>112620.0</areaInSqKm>
-<population>9056010</population>
-<currencyCode>XOF</currencyCode>
-<languages>fr-BJ</languages>
-<geonameId>2395170</geonameId>
-<west>0.774575</west>
-<north>12.418347</north>
-<east>3.851701</east>
-<south>6.225748</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>BL</countryCode>
-<countryName>Saint Barthélemy</countryName>
-<isoNumeric>652</isoNumeric>
-<isoAlpha3>BLM</isoAlpha3>
-<fipsCode>TB</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Gustavia</capital>
-<areaInSqKm>21.0</areaInSqKm>
-<population>8450</population>
-<currencyCode>EUR</currencyCode>
-<languages>fr</languages>
-<geonameId>3578476</geonameId>
-<west>-62.8739118253784</west>
-<north>17.928808791949283</north>
-<east>-62.788983372985854</east>
-<south>17.878183227405575</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>BM</countryCode>
-<countryName>Bermuda</countryName>
-<isoNumeric>060</isoNumeric>
-<isoAlpha3>BMU</isoAlpha3>
-<fipsCode>BD</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Hamilton</capital>
-<areaInSqKm>53.0</areaInSqKm>
-<population>65365</population>
-<currencyCode>BMD</currencyCode>
-<languages>en-BM,pt</languages>
-<geonameId>3573345</geonameId>
-<west>-64.88723800000002</west>
-<north>32.39122351646162</north>
-<east>-64.64718648144532</east>
-<south>32.247551</south>
-<postalCodeFormat>@@ ##</postalCodeFormat>
-</country>
-<country>
-<countryCode>BN</countryCode>
-<countryName>Brunei</countryName>
-<isoNumeric>096</isoNumeric>
-<isoAlpha3>BRN</isoAlpha3>
-<fipsCode>BX</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Bandar Seri Begawan</capital>
-<areaInSqKm>5770.0</areaInSqKm>
-<population>395027</population>
-<currencyCode>BND</currencyCode>
-<languages>ms-BN,en-BN</languages>
-<geonameId>1820814</geonameId>
-<west>114.071442</west>
-<north>5.047167</north>
-<east>115.359444</east>
-<south>4.003083</south>
-<postalCodeFormat>@@####</postalCodeFormat>
-</country>
-<country>
-<countryCode>BO</countryCode>
-<countryName>Bolivia</countryName>
-<isoNumeric>068</isoNumeric>
-<isoAlpha3>BOL</isoAlpha3>
-<fipsCode>BL</fipsCode>
-<continent>SA</continent>
-<continentName>South America</continentName>
-<capital>Sucre</capital>
-<areaInSqKm>1098580.0</areaInSqKm>
-<population>9947418</population>
-<currencyCode>BOB</currencyCode>
-<languages>es-BO,qu,ay</languages>
-<geonameId>3923057</geonameId>
-<west>-69.640762</west>
-<north>-9.680567</north>
-<east>-57.45809600000001</east>
-<south>-22.896133</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>BQ</countryCode>
-<countryName>Bonaire</countryName>
-<isoNumeric>535</isoNumeric>
-<isoAlpha3>BES</isoAlpha3>
-<fipsCode/>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Kralendijk</capital>
-<areaInSqKm>328.0</areaInSqKm>
-<population>18012</population>
-<currencyCode>USD</currencyCode>
-<languages>nl,pap,en</languages>
-<geonameId>7626844</geonameId>
-<west>-68.416458</west>
-<north>12.304535</north>
-<east>-68.192307</east>
-<south>12.017149</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>BR</countryCode>
-<countryName>Brazil</countryName>
-<isoNumeric>076</isoNumeric>
-<isoAlpha3>BRA</isoAlpha3>
-<fipsCode>BR</fipsCode>
-<continent>SA</continent>
-<continentName>South America</continentName>
-<capital>Brasília</capital>
-<areaInSqKm>8511965.0</areaInSqKm>
-<population>201103330</population>
-<currencyCode>BRL</currencyCode>
-<languages>pt-BR,es,en,fr</languages>
-<geonameId>3469034</geonameId>
-<west>-73.985535</west>
-<north>5.264877</north>
-<east>-32.392998</east>
-<south>-33.750706</south>
-<postalCodeFormat>#####-###</postalCodeFormat>
-</country>
-<country>
-<countryCode>BS</countryCode>
-<countryName>Bahamas</countryName>
-<isoNumeric>044</isoNumeric>
-<isoAlpha3>BHS</isoAlpha3>
-<fipsCode>BF</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Nassau</capital>
-<areaInSqKm>13940.0</areaInSqKm>
-<population>301790</population>
-<currencyCode>BSD</currencyCode>
-<languages>en-BS</languages>
-<geonameId>3572887</geonameId>
-<west>-78.995911</west>
-<north>26.919243</north>
-<east>-74.423874</east>
-<south>22.852743</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>BT</countryCode>
-<countryName>Bhutan</countryName>
-<isoNumeric>064</isoNumeric>
-<isoAlpha3>BTN</isoAlpha3>
-<fipsCode>BT</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Thimphu</capital>
-<areaInSqKm>47000.0</areaInSqKm>
-<population>699847</population>
-<currencyCode>BTN</currencyCode>
-<languages>dz</languages>
-<geonameId>1252634</geonameId>
-<west>88.746041414</west>
-<north>28.2476793010001</north>
-<east>92.1247543590001</east>
-<south>26.700655537</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>BV</countryCode>
-<countryName>Bouvet Island</countryName>
-<isoNumeric>074</isoNumeric>
-<isoAlpha3>BVT</isoAlpha3>
-<fipsCode>BV</fipsCode>
-<continent>AN</continent>
-<continentName>Antarctica</continentName>
-<capital/>
-<areaInSqKm>49.0</areaInSqKm>
-<population>0</population>
-<currencyCode>NOK</currencyCode>
-<languages/>
-<geonameId>3371123</geonameId>
-<west>3.286776428037342</west>
-<north>-54.3887383509872</north>
-<east>3.434845577758324</east>
-<south>-54.4507993522734</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>BW</countryCode>
-<countryName>Botswana</countryName>
-<isoNumeric>072</isoNumeric>
-<isoAlpha3>BWA</isoAlpha3>
-<fipsCode>BC</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Gaborone</capital>
-<areaInSqKm>600370.0</areaInSqKm>
-<population>2029307</population>
-<currencyCode>BWP</currencyCode>
-<languages>en-BW,tn-BW</languages>
-<geonameId>933860</geonameId>
-<west>19.999535</west>
-<north>-17.780813</north>
-<east>29.360781</east>
-<south>-26.907246</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>BY</countryCode>
-<countryName>Belarus</countryName>
-<isoNumeric>112</isoNumeric>
-<isoAlpha3>BLR</isoAlpha3>
-<fipsCode>BO</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Minsk</capital>
-<areaInSqKm>207600.0</areaInSqKm>
-<population>9685000</population>
-<currencyCode>BYN</currencyCode>
-<languages>be,ru</languages>
-<geonameId>630336</geonameId>
-<west>23.176889</west>
-<north>56.165806</north>
-<east>32.770805</east>
-<south>51.256416</south>
-<postalCodeFormat>######</postalCodeFormat>
-</country>
-<country>
-<countryCode>BZ</countryCode>
-<countryName>Belize</countryName>
-<isoNumeric>084</isoNumeric>
-<isoAlpha3>BLZ</isoAlpha3>
-<fipsCode>BH</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Belmopan</capital>
-<areaInSqKm>22966.0</areaInSqKm>
-<population>314522</population>
-<currencyCode>BZD</currencyCode>
-<languages>en-BZ,es</languages>
-<geonameId>3582678</geonameId>
-<west>-89.224815</west>
-<north>18.496557</north>
-<east>-87.776985</east>
-<south>15.8893</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>CA</countryCode>
-<countryName>Canada</countryName>
-<isoNumeric>124</isoNumeric>
-<isoAlpha3>CAN</isoAlpha3>
-<fipsCode>CA</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Ottawa</capital>
-<areaInSqKm>9984670.0</areaInSqKm>
-<population>33679000</population>
-<currencyCode>CAD</currencyCode>
-<languages>en-CA,fr-CA,iu</languages>
-<geonameId>6251999</geonameId>
-<west>-141.0</west>
-<north>83.110626</north>
-<east>-52.636291</east>
-<south>41.67598</south>
-<postalCodeFormat>@#@ #@#</postalCodeFormat>
-</country>
-<country>
-<countryCode>CC</countryCode>
-<countryName>Cocos [Keeling] Islands</countryName>
-<isoNumeric>166</isoNumeric>
-<isoAlpha3>CCK</isoAlpha3>
-<fipsCode>CK</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>West Island</capital>
-<areaInSqKm>14.0</areaInSqKm>
-<population>628</population>
-<currencyCode>AUD</currencyCode>
-<languages>ms-CC,en</languages>
-<geonameId>1547376</geonameId>
-<west>96.816941408</west>
-<north>-12.072459094</north>
-<east>96.929489344</east>
-<south>-12.208725839</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>CD</countryCode>
-<countryName>Democratic Republic of the Congo</countryName>
-<isoNumeric>180</isoNumeric>
-<isoAlpha3>COD</isoAlpha3>
-<fipsCode>CG</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Kinshasa</capital>
-<areaInSqKm>2345410.0</areaInSqKm>
-<population>70916439</population>
-<currencyCode>CDF</currencyCode>
-<languages>fr-CD,ln,ktu,kg,sw,lua</languages>
-<geonameId>203312</geonameId>
-<west>12.204144</west>
-<north>5.386098</north>
-<east>31.305912</east>
-<south>-13.455675</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>CF</countryCode>
-<countryName>Central African Republic</countryName>
-<isoNumeric>140</isoNumeric>
-<isoAlpha3>CAF</isoAlpha3>
-<fipsCode>CT</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Bangui</capital>
-<areaInSqKm>622984.0</areaInSqKm>
-<population>4844927</population>
-<currencyCode>XAF</currencyCode>
-<languages>fr-CF,sg,ln,kg</languages>
-<geonameId>239880</geonameId>
-<west>14.420097</west>
-<north>11.007569</north>
-<east>27.463421</east>
-<south>2.220514</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>CG</countryCode>
-<countryName>Republic of the Congo</countryName>
-<isoNumeric>178</isoNumeric>
-<isoAlpha3>COG</isoAlpha3>
-<fipsCode>CF</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Brazzaville</capital>
-<areaInSqKm>342000.0</areaInSqKm>
-<population>3039126</population>
-<currencyCode>XAF</currencyCode>
-<languages>fr-CG,kg,ln-CG</languages>
-<geonameId>2260494</geonameId>
-<west>11.205009</west>
-<north>3.703082</north>
-<east>18.649839</east>
-<south>-5.027223</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>CH</countryCode>
-<countryName>Switzerland</countryName>
-<isoNumeric>756</isoNumeric>
-<isoAlpha3>CHE</isoAlpha3>
-<fipsCode>SZ</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Bern</capital>
-<areaInSqKm>41290.0</areaInSqKm>
-<population>7581000</population>
-<currencyCode>CHF</currencyCode>
-<languages>de-CH,fr-CH,it-CH,rm</languages>
-<geonameId>2658434</geonameId>
-<west>5.95661377423453</west>
-<north>47.8098679329775</north>
-<east>10.4934735095497</east>
-<south>45.8191539516188</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>CI</countryCode>
-<countryName>Ivory Coast</countryName>
-<isoNumeric>384</isoNumeric>
-<isoAlpha3>CIV</isoAlpha3>
-<fipsCode>IV</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Yamoussoukro</capital>
-<areaInSqKm>322460.0</areaInSqKm>
-<population>21058798</population>
-<currencyCode>XOF</currencyCode>
-<languages>fr-CI</languages>
-<geonameId>2287781</geonameId>
-<west>-8.599302</west>
-<north>10.736642</north>
-<east>-2.494897</east>
-<south>4.357067</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>CK</countryCode>
-<countryName>Cook Islands</countryName>
-<isoNumeric>184</isoNumeric>
-<isoAlpha3>COK</isoAlpha3>
-<fipsCode>CW</fipsCode>
-<continent>OC</continent>
-<continentName>Oceania</continentName>
-<capital>Avarua</capital>
-<areaInSqKm>240.0</areaInSqKm>
-<population>21388</population>
-<currencyCode>NZD</currencyCode>
-<languages>en-CK,mi</languages>
-<geonameId>1899402</geonameId>
-<west>-161.093658</west>
-<north>-10.023114</north>
-<east>-157.312134</east>
-<south>-21.944164</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>CL</countryCode>
-<countryName>Chile</countryName>
-<isoNumeric>152</isoNumeric>
-<isoAlpha3>CHL</isoAlpha3>
-<fipsCode>CI</fipsCode>
-<continent>SA</continent>
-<continentName>South America</continentName>
-<capital>Santiago</capital>
-<areaInSqKm>756950.0</areaInSqKm>
-<population>16746491</population>
-<currencyCode>CLP</currencyCode>
-<languages>es-CL</languages>
-<geonameId>3895114</geonameId>
-<west>-80.8370287079999</west>
-<north>-17.4977759459999</north>
-<east>-66.416152278</east>
-<south>-55.909795409</south>
-<postalCodeFormat>#######</postalCodeFormat>
-</country>
-<country>
-<countryCode>CM</countryCode>
-<countryName>Cameroon</countryName>
-<isoNumeric>120</isoNumeric>
-<isoAlpha3>CMR</isoAlpha3>
-<fipsCode>CM</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Yaoundé</capital>
-<areaInSqKm>475440.0</areaInSqKm>
-<population>19294149</population>
-<currencyCode>XAF</currencyCode>
-<languages>en-CM,fr-CM</languages>
-<geonameId>2233387</geonameId>
-<west>8.494763</west>
-<north>13.078056</north>
-<east>16.192116</east>
-<south>1.652548</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>CN</countryCode>
-<countryName>China</countryName>
-<isoNumeric>156</isoNumeric>
-<isoAlpha3>CHN</isoAlpha3>
-<fipsCode>CH</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Beijing</capital>
-<areaInSqKm>9596960.0</areaInSqKm>
-<population>1330044000</population>
-<currencyCode>CNY</currencyCode>
-<languages>zh-CN,yue,wuu,dta,ug,za</languages>
-<geonameId>1814991</geonameId>
-<west>73.557693</west>
-<north>53.56086</north>
-<east>134.773911</east>
-<south>15.775416</south>
-<postalCodeFormat>######</postalCodeFormat>
-</country>
-<country>
-<countryCode>CO</countryCode>
-<countryName>Colombia</countryName>
-<isoNumeric>170</isoNumeric>
-<isoAlpha3>COL</isoAlpha3>
-<fipsCode>CO</fipsCode>
-<continent>SA</continent>
-<continentName>South America</continentName>
-<capital>Bogotá</capital>
-<areaInSqKm>1138910.0</areaInSqKm>
-<population>47790000</population>
-<currencyCode>COP</currencyCode>
-<languages>es-CO</languages>
-<geonameId>3686110</geonameId>
-<west>-81.735775648</west>
-<north>13.38600323</north>
-<east>-66.8472153989999</east>
-<south>-4.22839224299997</south>
-<postalCodeFormat>######</postalCodeFormat>
-</country>
-<country>
-<countryCode>CR</countryCode>
-<countryName>Costa Rica</countryName>
-<isoNumeric>188</isoNumeric>
-<isoAlpha3>CRI</isoAlpha3>
-<fipsCode>CS</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>San José</capital>
-<areaInSqKm>51100.0</areaInSqKm>
-<population>4516220</population>
-<currencyCode>CRC</currencyCode>
-<languages>es-CR,en</languages>
-<geonameId>3624060</geonameId>
-<west>-85.9502523586265</west>
-<north>11.2197589122308</north>
-<east>-82.552318987959</east>
-<south>8.03962731803416</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>CU</countryCode>
-<countryName>Cuba</countryName>
-<isoNumeric>192</isoNumeric>
-<isoAlpha3>CUB</isoAlpha3>
-<fipsCode>CU</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Havana</capital>
-<areaInSqKm>110860.0</areaInSqKm>
-<population>11423000</population>
-<currencyCode>CUP</currencyCode>
-<languages>es-CU,pap</languages>
-<geonameId>3562981</geonameId>
-<west>-84.957428</west>
-<north>23.226042</north>
-<east>-74.131775</east>
-<south>19.828083</south>
-<postalCodeFormat>CP #####</postalCodeFormat>
-</country>
-<country>
-<countryCode>CV</countryCode>
-<countryName>Cape Verde</countryName>
-<isoNumeric>132</isoNumeric>
-<isoAlpha3>CPV</isoAlpha3>
-<fipsCode>CV</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Praia</capital>
-<areaInSqKm>4033.0</areaInSqKm>
-<population>508659</population>
-<currencyCode>CVE</currencyCode>
-<languages>pt-CV</languages>
-<geonameId>3374766</geonameId>
-<west>-25.358747</west>
-<north>17.197178</north>
-<east>-22.669443</east>
-<south>14.808022</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>CW</countryCode>
-<countryName>Curacao</countryName>
-<isoNumeric>531</isoNumeric>
-<isoAlpha3>CUW</isoAlpha3>
-<fipsCode>UC</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Willemstad</capital>
-<areaInSqKm>444.0</areaInSqKm>
-<population>141766</population>
-<currencyCode>ANG</currencyCode>
-<languages>nl,pap</languages>
-<geonameId>7626836</geonameId>
-<west>-69.157204</west>
-<north>12.385672</north>
-<east>-68.733948</east>
-<south>12.032745</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>CX</countryCode>
-<countryName>Christmas Island</countryName>
-<isoNumeric>162</isoNumeric>
-<isoAlpha3>CXR</isoAlpha3>
-<fipsCode>KT</fipsCode>
-<continent>OC</continent>
-<continentName>Oceania</continentName>
-<capital>Flying Fish Cove</capital>
-<areaInSqKm>135.0</areaInSqKm>
-<population>1500</population>
-<currencyCode>AUD</currencyCode>
-<languages>en,zh,ms-CC</languages>
-<geonameId>2078138</geonameId>
-<west>105.533276992</west>
-<north>-10.412356007</north>
-<east>105.712596992</east>
-<south>-10.5704829995</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>CY</countryCode>
-<countryName>Cyprus</countryName>
-<isoNumeric>196</isoNumeric>
-<isoAlpha3>CYP</isoAlpha3>
-<fipsCode>CY</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Nicosia</capital>
-<areaInSqKm>9250.0</areaInSqKm>
-<population>1102677</population>
-<currencyCode>EUR</currencyCode>
-<languages>el-CY,tr-CY,en</languages>
-<geonameId>146669</geonameId>
-<west>32.27308300000004</west>
-<north>35.701527</north>
-<east>34.59791599999994</east>
-<south>34.6332846722908</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>CZ</countryCode>
-<countryName>Czechia</countryName>
-<isoNumeric>203</isoNumeric>
-<isoAlpha3>CZE</isoAlpha3>
-<fipsCode>EZ</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Prague</capital>
-<areaInSqKm>78866.0</areaInSqKm>
-<population>10476000</population>
-<currencyCode>CZK</currencyCode>
-<languages>cs,sk</languages>
-<geonameId>3077311</geonameId>
-<west>12.096194</west>
-<north>51.058887</north>
-<east>18.860111</east>
-<south>48.542915</south>
-<postalCodeFormat>### ##</postalCodeFormat>
-</country>
-<country>
-<countryCode>DE</countryCode>
-<countryName>Germany</countryName>
-<isoNumeric>276</isoNumeric>
-<isoAlpha3>DEU</isoAlpha3>
-<fipsCode>GM</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Berlin</capital>
-<areaInSqKm>357021.0</areaInSqKm>
-<population>81802257</population>
-<currencyCode>EUR</currencyCode>
-<languages>de</languages>
-<geonameId>2921044</geonameId>
-<west>5.8663152683722</west>
-<north>55.0583836008072</north>
-<east>15.0418156516163</east>
-<south>47.2701236047002</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>DJ</countryCode>
-<countryName>Djibouti</countryName>
-<isoNumeric>262</isoNumeric>
-<isoAlpha3>DJI</isoAlpha3>
-<fipsCode>DJ</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Djibouti</capital>
-<areaInSqKm>23000.0</areaInSqKm>
-<population>740528</population>
-<currencyCode>DJF</currencyCode>
-<languages>fr-DJ,ar,so-DJ,aa</languages>
-<geonameId>223816</geonameId>
-<west>41.773472</west>
-<north>12.706833</north>
-<east>43.416973</east>
-<south>10.909917</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>DK</countryCode>
-<countryName>Denmark</countryName>
-<isoNumeric>208</isoNumeric>
-<isoAlpha3>DNK</isoAlpha3>
-<fipsCode>DA</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Copenhagen</capital>
-<areaInSqKm>43094.0</areaInSqKm>
-<population>5484000</population>
-<currencyCode>DKK</currencyCode>
-<languages>da-DK,en,fo,de-DK</languages>
-<geonameId>2623032</geonameId>
-<west>8.075611</west>
-<north>57.748417</north>
-<east>15.158834</east>
-<south>54.562389</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>DM</countryCode>
-<countryName>Dominica</countryName>
-<isoNumeric>212</isoNumeric>
-<isoAlpha3>DMA</isoAlpha3>
-<fipsCode>DO</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Roseau</capital>
-<areaInSqKm>754.0</areaInSqKm>
-<population>72813</population>
-<currencyCode>XCD</currencyCode>
-<languages>en-DM</languages>
-<geonameId>3575830</geonameId>
-<west>-61.484108</west>
-<north>15.631809</north>
-<east>-61.244152</east>
-<south>15.20169</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>DO</countryCode>
-<countryName>Dominican Republic</countryName>
-<isoNumeric>214</isoNumeric>
-<isoAlpha3>DOM</isoAlpha3>
-<fipsCode>DR</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Santo Domingo</capital>
-<areaInSqKm>48730.0</areaInSqKm>
-<population>9823821</population>
-<currencyCode>DOP</currencyCode>
-<languages>es-DO</languages>
-<geonameId>3508796</geonameId>
-<west>-72.0114723981787</west>
-<north>19.9321257501267</north>
-<east>-68.3229591969468</east>
-<south>17.5395066830409</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>DZ</countryCode>
-<countryName>Algeria</countryName>
-<isoNumeric>012</isoNumeric>
-<isoAlpha3>DZA</isoAlpha3>
-<fipsCode>AG</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Algiers</capital>
-<areaInSqKm>2381740.0</areaInSqKm>
-<population>34586184</population>
-<currencyCode>DZD</currencyCode>
-<languages>ar-DZ</languages>
-<geonameId>2589581</geonameId>
-<west>-8.673868</west>
-<north>37.093723</north>
-<east>11.979548</east>
-<south>18.960028</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>EC</countryCode>
-<countryName>Ecuador</countryName>
-<isoNumeric>218</isoNumeric>
-<isoAlpha3>ECU</isoAlpha3>
-<fipsCode>EC</fipsCode>
-<continent>SA</continent>
-<continentName>South America</continentName>
-<capital>Quito</capital>
-<areaInSqKm>283560.0</areaInSqKm>
-<population>14790608</population>
-<currencyCode>USD</currencyCode>
-<languages>es-EC</languages>
-<geonameId>3658394</geonameId>
-<west>-81.0836838953894</west>
-<north>1.43523516349953</north>
-<east>-75.1871465547501</east>
-<south>-5.01615732302488</south>
-<postalCodeFormat>@####@</postalCodeFormat>
-</country>
-<country>
-<countryCode>EE</countryCode>
-<countryName>Estonia</countryName>
-<isoNumeric>233</isoNumeric>
-<isoAlpha3>EST</isoAlpha3>
-<fipsCode>EN</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Tallinn</capital>
-<areaInSqKm>45226.0</areaInSqKm>
-<population>1291170</population>
-<currencyCode>EUR</currencyCode>
-<languages>et,ru</languages>
-<geonameId>453733</geonameId>
-<west>21.8285886498081</west>
-<north>59.6753143130129</north>
-<east>28.2090381531431</east>
-<south>57.5093097920079</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>EG</countryCode>
-<countryName>Egypt</countryName>
-<isoNumeric>818</isoNumeric>
-<isoAlpha3>EGY</isoAlpha3>
-<fipsCode>EG</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Cairo</capital>
-<areaInSqKm>1001450.0</areaInSqKm>
-<population>80471869</population>
-<currencyCode>EGP</currencyCode>
-<languages>ar-EG,en,fr</languages>
-<geonameId>357994</geonameId>
-<west>24.698111</west>
-<north>31.667334</north>
-<east>36.89833068847656</east>
-<south>21.725389</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>EH</countryCode>
-<countryName>Western Sahara</countryName>
-<isoNumeric>732</isoNumeric>
-<isoAlpha3>ESH</isoAlpha3>
-<fipsCode>WI</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Laâyoune / El Aaiún</capital>
-<areaInSqKm>266000.0</areaInSqKm>
-<population>273008</population>
-<currencyCode>MAD</currencyCode>
-<languages>ar,mey</languages>
-<geonameId>2461445</geonameId>
-<west>-17.103182</west>
-<north>27.669674</north>
-<east>-8.670276</east>
-<south>20.774158</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>ER</countryCode>
-<countryName>Eritrea</countryName>
-<isoNumeric>232</isoNumeric>
-<isoAlpha3>ERI</isoAlpha3>
-<fipsCode>ER</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Asmara</capital>
-<areaInSqKm>121320.0</areaInSqKm>
-<population>5792984</population>
-<currencyCode>ERN</currencyCode>
-<languages>aa-ER,ar,tig,kun,ti-ER</languages>
-<geonameId>338010</geonameId>
-<west>36.438778</west>
-<north>18.003084</north>
-<east>43.13464</east>
-<south>12.359555</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>ES</countryCode>
-<countryName>Spain</countryName>
-<isoNumeric>724</isoNumeric>
-<isoAlpha3>ESP</isoAlpha3>
-<fipsCode>SP</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Madrid</capital>
-<areaInSqKm>504782.0</areaInSqKm>
-<population>46505963</population>
-<currencyCode>EUR</currencyCode>
-<languages>es-ES,ca,gl,eu,oc</languages>
-<geonameId>2510769</geonameId>
-<west>-9.30151567231899</west>
-<north>43.7913565913767</north>
-<east>4.32778473043961</east>
-<south>36.0001044260548</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>ET</countryCode>
-<countryName>Ethiopia</countryName>
-<isoNumeric>231</isoNumeric>
-<isoAlpha3>ETH</isoAlpha3>
-<fipsCode>ET</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Addis Ababa</capital>
-<areaInSqKm>1127127.0</areaInSqKm>
-<population>88013491</population>
-<currencyCode>ETB</currencyCode>
-<languages>am,en-ET,om-ET,ti-ET,so-ET,sid</languages>
-<geonameId>337996</geonameId>
-<west>32.999939</west>
-<north>14.89375</north>
-<east>47.986179</east>
-<south>3.402422</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>FI</countryCode>
-<countryName>Finland</countryName>
-<isoNumeric>246</isoNumeric>
-<isoAlpha3>FIN</isoAlpha3>
-<fipsCode>FI</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Helsinki</capital>
-<areaInSqKm>337030.0</areaInSqKm>
-<population>5244000</population>
-<currencyCode>EUR</currencyCode>
-<languages>fi-FI,sv-FI,smn</languages>
-<geonameId>660013</geonameId>
-<west>20.556944</west>
-<north>70.096054</north>
-<east>31.580944</east>
-<south>59.808777</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>FJ</countryCode>
-<countryName>Fiji</countryName>
-<isoNumeric>242</isoNumeric>
-<isoAlpha3>FJI</isoAlpha3>
-<fipsCode>FJ</fipsCode>
-<continent>OC</continent>
-<continentName>Oceania</continentName>
-<capital>Suva</capital>
-<areaInSqKm>18270.0</areaInSqKm>
-<population>875983</population>
-<currencyCode>FJD</currencyCode>
-<languages>en-FJ,fj</languages>
-<geonameId>2205218</geonameId>
-<west>177.14038537647912</west>
-<north>-12.479632058714332</north>
-<east>-178.424438</east>
-<south>-20.67597</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>FK</countryCode>
-<countryName>Falkland Islands</countryName>
-<isoNumeric>238</isoNumeric>
-<isoAlpha3>FLK</isoAlpha3>
-<fipsCode>FK</fipsCode>
-<continent>SA</continent>
-<continentName>South America</continentName>
-<capital>Stanley</capital>
-<areaInSqKm>12173.0</areaInSqKm>
-<population>2638</population>
-<currencyCode>FKP</currencyCode>
-<languages>en-FK</languages>
-<geonameId>3474414</geonameId>
-<west>-61.3474566739999</west>
-<north>-51.2331394719999</north>
-<east>-57.718087652</east>
-<south>-52.383984175</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>FM</countryCode>
-<countryName>Micronesia</countryName>
-<isoNumeric>583</isoNumeric>
-<isoAlpha3>FSM</isoAlpha3>
-<fipsCode>FM</fipsCode>
-<continent>OC</continent>
-<continentName>Oceania</continentName>
-<capital>Palikir</capital>
-<areaInSqKm>702.0</areaInSqKm>
-<population>107708</population>
-<currencyCode>USD</currencyCode>
-<languages>en-FM,chk,pon,yap,kos,uli,woe,nkr,kpg</languages>
-<geonameId>2081918</geonameId>
-<west>137.33648</west>
-<north>10.08904</north>
-<east>163.03717</east>
-<south>1.02629</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>FO</countryCode>
-<countryName>Faroe Islands</countryName>
-<isoNumeric>234</isoNumeric>
-<isoAlpha3>FRO</isoAlpha3>
-<fipsCode>FO</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Tórshavn</capital>
-<areaInSqKm>1399.0</areaInSqKm>
-<population>48228</population>
-<currencyCode>DKK</currencyCode>
-<languages>fo,da-FO</languages>
-<geonameId>2622320</geonameId>
-<west>-7.688191677774624</west>
-<north>62.3938884414274</north>
-<east>-6.25655957192113</east>
-<south>61.3910302656013</south>
-<postalCodeFormat>###</postalCodeFormat>
-</country>
-<country>
-<countryCode>FR</countryCode>
-<countryName>France</countryName>
-<isoNumeric>250</isoNumeric>
-<isoAlpha3>FRA</isoAlpha3>
-<fipsCode>FR</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Paris</capital>
-<areaInSqKm>547030.0</areaInSqKm>
-<population>64768389</population>
-<currencyCode>EUR</currencyCode>
-<languages>fr-FR,frp,br,co,ca,eu,oc</languages>
-<geonameId>3017382</geonameId>
-<west>-5.1389964684508</west>
-<north>51.0890012279322</north>
-<east>9.5596148665824</east>
-<south>41.3658213299999</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>GA</countryCode>
-<countryName>Gabon</countryName>
-<isoNumeric>266</isoNumeric>
-<isoAlpha3>GAB</isoAlpha3>
-<fipsCode>GB</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Libreville</capital>
-<areaInSqKm>267667.0</areaInSqKm>
-<population>1545255</population>
-<currencyCode>XAF</currencyCode>
-<languages>fr-GA</languages>
-<geonameId>2400553</geonameId>
-<west>8.695471</west>
-<north>2.322612</north>
-<east>14.502347</east>
-<south>-3.978806</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>GB</countryCode>
-<countryName>United Kingdom</countryName>
-<isoNumeric>826</isoNumeric>
-<isoAlpha3>GBR</isoAlpha3>
-<fipsCode>UK</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>London</capital>
-<areaInSqKm>244820.0</areaInSqKm>
-<population>62348447</population>
-<currencyCode>GBP</currencyCode>
-<languages>en-GB,cy-GB,gd</languages>
-<geonameId>2635167</geonameId>
-<west>-8.61772077108559</west>
-<north>59.3607741849963</north>
-<east>1.7689121033873</east>
-<south>49.9028622252397</south>
-<postalCodeFormat>@# #@@|@## #@@|@@# #@@|@@## #@@|@#@ #@@|@@#@ #@@|GIR0AA</postalCodeFormat>
-</country>
-<country>
-<countryCode>GD</countryCode>
-<countryName>Grenada</countryName>
-<isoNumeric>308</isoNumeric>
-<isoAlpha3>GRD</isoAlpha3>
-<fipsCode>GJ</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>St. George's</capital>
-<areaInSqKm>344.0</areaInSqKm>
-<population>107818</population>
-<currencyCode>XCD</currencyCode>
-<languages>en-GD</languages>
-<geonameId>3580239</geonameId>
-<west>-61.802344</west>
-<north>12.318283928171299</north>
-<east>-61.57676970108031</east>
-<south>11.986893</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>GE</countryCode>
-<countryName>Georgia</countryName>
-<isoNumeric>268</isoNumeric>
-<isoAlpha3>GEO</isoAlpha3>
-<fipsCode>GG</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Tbilisi</capital>
-<areaInSqKm>69700.0</areaInSqKm>
-<population>4630000</population>
-<currencyCode>GEL</currencyCode>
-<languages>ka,ru,hy,az</languages>
-<geonameId>614540</geonameId>
-<west>40.010139</west>
-<north>43.586498</north>
-<east>46.725971</east>
-<south>41.053196</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>GF</countryCode>
-<countryName>French Guiana</countryName>
-<isoNumeric>254</isoNumeric>
-<isoAlpha3>GUF</isoAlpha3>
-<fipsCode>FG</fipsCode>
-<continent>SA</continent>
-<continentName>South America</continentName>
-<capital>Cayenne</capital>
-<areaInSqKm>91000.0</areaInSqKm>
-<population>195506</population>
-<currencyCode>EUR</currencyCode>
-<languages>fr-GF</languages>
-<geonameId>3381670</geonameId>
-<west>-54.542511</west>
-<north>5.776496</north>
-<east>-51.613949</east>
-<south>2.127094</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>GG</countryCode>
-<countryName>Guernsey</countryName>
-<isoNumeric>831</isoNumeric>
-<isoAlpha3>GGY</isoAlpha3>
-<fipsCode>GK</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>St Peter Port</capital>
-<areaInSqKm>78.0</areaInSqKm>
-<population>65228</population>
-<currencyCode>GBP</currencyCode>
-<languages>en,nrf</languages>
-<geonameId>3042362</geonameId>
-<west>-2.673194593476069</west>
-<north>49.731727816705416</north>
-<east>-2.1577152112246267</east>
-<south>49.40764156876899</south>
-<postalCodeFormat>@# #@@|@## #@@|@@# #@@|@@## #@@|@#@ #@@|@@#@ #@@|GIR0AA</postalCodeFormat>
-</country>
-<country>
-<countryCode>GH</countryCode>
-<countryName>Ghana</countryName>
-<isoNumeric>288</isoNumeric>
-<isoAlpha3>GHA</isoAlpha3>
-<fipsCode>GH</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Accra</capital>
-<areaInSqKm>239460.0</areaInSqKm>
-<population>24339838</population>
-<currencyCode>GHS</currencyCode>
-<languages>en-GH,ak,ee,tw</languages>
-<geonameId>2300660</geonameId>
-<west>-3.25542</west>
-<north>11.173301</north>
-<east>1.191781</east>
-<south>4.736723</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>GI</countryCode>
-<countryName>Gibraltar</countryName>
-<isoNumeric>292</isoNumeric>
-<isoAlpha3>GIB</isoAlpha3>
-<fipsCode>GI</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Gibraltar</capital>
-<areaInSqKm>6.5</areaInSqKm>
-<population>27884</population>
-<currencyCode>GIP</currencyCode>
-<languages>en-GI,es,it,pt</languages>
-<geonameId>2411586</geonameId>
-<west>-5.36626149743654</west>
-<north>36.155439135670726</north>
-<east>-5.338285164001491</east>
-<south>36.10903070140248</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>GL</countryCode>
-<countryName>Greenland</countryName>
-<isoNumeric>304</isoNumeric>
-<isoAlpha3>GRL</isoAlpha3>
-<fipsCode>GL</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Nuuk</capital>
-<areaInSqKm>2166086.0</areaInSqKm>
-<population>56375</population>
-<currencyCode>DKK</currencyCode>
-<languages>kl,da-GL,en</languages>
-<geonameId>3425505</geonameId>
-<west>-73.04203</west>
-<north>83.627357</north>
-<east>-11.312319</east>
-<south>59.777401</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>GM</countryCode>
-<countryName>Gambia</countryName>
-<isoNumeric>270</isoNumeric>
-<isoAlpha3>GMB</isoAlpha3>
-<fipsCode>GA</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Bathurst</capital>
-<areaInSqKm>11300.0</areaInSqKm>
-<population>1593256</population>
-<currencyCode>GMD</currencyCode>
-<languages>en-GM,mnk,wof,wo,ff</languages>
-<geonameId>2413451</geonameId>
-<west>-16.82507899999996</west>
-<north>13.826571</north>
-<east>-13.797792999999956</east>
-<south>13.064252</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>GN</countryCode>
-<countryName>Guinea</countryName>
-<isoNumeric>324</isoNumeric>
-<isoAlpha3>GIN</isoAlpha3>
-<fipsCode>GV</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Conakry</capital>
-<areaInSqKm>245857.0</areaInSqKm>
-<population>10324025</population>
-<currencyCode>GNF</currencyCode>
-<languages>fr-GN</languages>
-<geonameId>2420477</geonameId>
-<west>-14.926619</west>
-<north>12.67622</north>
-<east>-7.641071</east>
-<south>7.193553</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>GP</countryCode>
-<countryName>Guadeloupe</countryName>
-<isoNumeric>312</isoNumeric>
-<isoAlpha3>GLP</isoAlpha3>
-<fipsCode>GP</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Basse-Terre</capital>
-<areaInSqKm>1780.0</areaInSqKm>
-<population>443000</population>
-<currencyCode>EUR</currencyCode>
-<languages>fr-GP</languages>
-<geonameId>3579143</geonameId>
-<west>-61.544765</west>
-<north>16.516848</north>
-<east>-61.0</east>
-<south>15.867565</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>GQ</countryCode>
-<countryName>Equatorial Guinea</countryName>
-<isoNumeric>226</isoNumeric>
-<isoAlpha3>GNQ</isoAlpha3>
-<fipsCode>EK</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Malabo</capital>
-<areaInSqKm>28051.0</areaInSqKm>
-<population>1014999</population>
-<currencyCode>XAF</currencyCode>
-<languages>es-GQ,fr</languages>
-<geonameId>2309096</geonameId>
-<west>9.346865</west>
-<north>2.346989</north>
-<east>11.335724</east>
-<south>0.92086</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>GR</countryCode>
-<countryName>Greece</countryName>
-<isoNumeric>300</isoNumeric>
-<isoAlpha3>GRC</isoAlpha3>
-<fipsCode>GR</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Athens</capital>
-<areaInSqKm>131940.0</areaInSqKm>
-<population>11000000</population>
-<currencyCode>EUR</currencyCode>
-<languages>el-GR,en,fr</languages>
-<geonameId>390903</geonameId>
-<west>19.3736035624134</west>
-<north>41.7484999849641</north>
-<east>28.2470831714347</east>
-<south>34.8020663391466</south>
-<postalCodeFormat>### ##</postalCodeFormat>
-</country>
-<country>
-<countryCode>GS</countryCode>
-<countryName>South Georgia and the South Sandwich Islands</countryName>
-<isoNumeric>239</isoNumeric>
-<isoAlpha3>SGS</isoAlpha3>
-<fipsCode>SX</fipsCode>
-<continent>AN</continent>
-<continentName>Antarctica</continentName>
-<capital>Grytviken</capital>
-<areaInSqKm>3903.0</areaInSqKm>
-<population>30</population>
-<currencyCode>GBP</currencyCode>
-<languages>en</languages>
-<geonameId>3474415</geonameId>
-<west>-38.0479509639999</west>
-<north>-53.980896636</north>
-<east>-26.252069712</east>
-<south>-59.46319341</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>GT</countryCode>
-<countryName>Guatemala</countryName>
-<isoNumeric>320</isoNumeric>
-<isoAlpha3>GTM</isoAlpha3>
-<fipsCode>GT</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Guatemala City</capital>
-<areaInSqKm>108890.0</areaInSqKm>
-<population>13550440</population>
-<currencyCode>GTQ</currencyCode>
-<languages>es-GT</languages>
-<geonameId>3595528</geonameId>
-<west>-92.23629</west>
-<north>17.81522</north>
-<east>-88.223198</east>
-<south>13.737302</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>GU</countryCode>
-<countryName>Guam</countryName>
-<isoNumeric>316</isoNumeric>
-<isoAlpha3>GUM</isoAlpha3>
-<fipsCode>GQ</fipsCode>
-<continent>OC</continent>
-<continentName>Oceania</continentName>
-<capital>Hagåtña</capital>
-<areaInSqKm>549.0</areaInSqKm>
-<population>159358</population>
-<currencyCode>USD</currencyCode>
-<languages>en-GU,ch-GU</languages>
-<geonameId>4043988</geonameId>
-<west>144.61806</west>
-<north>13.654402</north>
-<east>144.956894</east>
-<south>13.23376</south>
-<postalCodeFormat>969##</postalCodeFormat>
-</country>
-<country>
-<countryCode>GW</countryCode>
-<countryName>Guinea-Bissau</countryName>
-<isoNumeric>624</isoNumeric>
-<isoAlpha3>GNB</isoAlpha3>
-<fipsCode>PU</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Bissau</capital>
-<areaInSqKm>36120.0</areaInSqKm>
-<population>1565126</population>
-<currencyCode>XOF</currencyCode>
-<languages>pt-GW,pov</languages>
-<geonameId>2372248</geonameId>
-<west>-16.717535</west>
-<north>12.680789</north>
-<east>-13.636522</east>
-<south>10.924265</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>GY</countryCode>
-<countryName>Guyana</countryName>
-<isoNumeric>328</isoNumeric>
-<isoAlpha3>GUY</isoAlpha3>
-<fipsCode>GY</fipsCode>
-<continent>SA</continent>
-<continentName>South America</continentName>
-<capital>Georgetown</capital>
-<areaInSqKm>214970.0</areaInSqKm>
-<population>748486</population>
-<currencyCode>GYD</currencyCode>
-<languages>en-GY</languages>
-<geonameId>3378535</geonameId>
-<west>-61.384762</west>
-<north>8.557567</north>
-<east>-56.480251</east>
-<south>1.17508</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>HK</countryCode>
-<countryName>Hong Kong</countryName>
-<isoNumeric>344</isoNumeric>
-<isoAlpha3>HKG</isoAlpha3>
-<fipsCode>HK</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Hong Kong</capital>
-<areaInSqKm>1092.0</areaInSqKm>
-<population>6898686</population>
-<currencyCode>HKD</currencyCode>
-<languages>zh-HK,yue,zh,en</languages>
-<geonameId>1819730</geonameId>
-<west>113.837753</west>
-<north>22.559778</north>
-<east>114.434753</east>
-<south>22.15325</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>HM</countryCode>
-<countryName>Heard Island and McDonald Islands</countryName>
-<isoNumeric>334</isoNumeric>
-<isoAlpha3>HMD</isoAlpha3>
-<fipsCode>HM</fipsCode>
-<continent>AN</continent>
-<continentName>Antarctica</continentName>
-<capital/>
-<areaInSqKm>412.0</areaInSqKm>
-<population>0</population>
-<currencyCode>AUD</currencyCode>
-<languages/>
-<geonameId>1547314</geonameId>
-<west>72.596535</west>
-<north>-52.909416</north>
-<east>73.859146</east>
-<south>-53.192001</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>HN</countryCode>
-<countryName>Honduras</countryName>
-<isoNumeric>340</isoNumeric>
-<isoAlpha3>HND</isoAlpha3>
-<fipsCode>HO</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Tegucigalpa</capital>
-<areaInSqKm>112090.0</areaInSqKm>
-<population>7989415</population>
-<currencyCode>HNL</currencyCode>
-<languages>es-HN,cab,miq</languages>
-<geonameId>3608932</geonameId>
-<west>-89.350792</west>
-<north>16.510256</north>
-<east>-83.155403</east>
-<south>12.982411</south>
-<postalCodeFormat>@@####</postalCodeFormat>
-</country>
-<country>
-<countryCode>HR</countryCode>
-<countryName>Croatia</countryName>
-<isoNumeric>191</isoNumeric>
-<isoAlpha3>HRV</isoAlpha3>
-<fipsCode>HR</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Zagreb</capital>
-<areaInSqKm>56542.0</areaInSqKm>
-<population>4284889</population>
-<currencyCode>HRK</currencyCode>
-<languages>hr-HR,sr</languages>
-<geonameId>3202326</geonameId>
-<west>13.493222</west>
-<north>46.5549629558487</north>
-<east>19.427389</east>
-<south>42.43589</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>HT</countryCode>
-<countryName>Haiti</countryName>
-<isoNumeric>332</isoNumeric>
-<isoAlpha3>HTI</isoAlpha3>
-<fipsCode>HA</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Port-au-Prince</capital>
-<areaInSqKm>27750.0</areaInSqKm>
-<population>9648924</population>
-<currencyCode>HTG</currencyCode>
-<languages>ht,fr-HT</languages>
-<geonameId>3723988</geonameId>
-<west>-74.478584</west>
-<north>20.08782</north>
-<east>-71.613358</east>
-<south>18.021032</south>
-<postalCodeFormat>HT####</postalCodeFormat>
-</country>
-<country>
-<countryCode>HU</countryCode>
-<countryName>Hungary</countryName>
-<isoNumeric>348</isoNumeric>
-<isoAlpha3>HUN</isoAlpha3>
-<fipsCode>HU</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Budapest</capital>
-<areaInSqKm>93030.0</areaInSqKm>
-<population>9982000</population>
-<currencyCode>HUF</currencyCode>
-<languages>hu-HU</languages>
-<geonameId>719819</geonameId>
-<west>16.111889</west>
-<north>48.585667</north>
-<east>22.906</east>
-<south>45.74361</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>ID</countryCode>
-<countryName>Indonesia</countryName>
-<isoNumeric>360</isoNumeric>
-<isoAlpha3>IDN</isoAlpha3>
-<fipsCode>ID</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Jakarta</capital>
-<areaInSqKm>1919440.0</areaInSqKm>
-<population>242968342</population>
-<currencyCode>IDR</currencyCode>
-<languages>id,en,nl,jv</languages>
-<geonameId>1643084</geonameId>
-<west>95.009331</west>
-<north>5.904417</north>
-<east>141.021805</east>
-<south>-10.941861</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>IE</countryCode>
-<countryName>Ireland</countryName>
-<isoNumeric>372</isoNumeric>
-<isoAlpha3>IRL</isoAlpha3>
-<fipsCode>EI</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Dublin</capital>
-<areaInSqKm>70280.0</areaInSqKm>
-<population>4622917</population>
-<currencyCode>EUR</currencyCode>
-<languages>en-IE,ga-IE</languages>
-<geonameId>2963597</geonameId>
-<west>-10.4800035816853</west>
-<north>55.3829431564742</north>
-<east>-5.99804990172185</east>
-<south>51.4475491577615</south>
-<postalCodeFormat>@@@ @@@@</postalCodeFormat>
-</country>
-<country>
-<countryCode>IL</countryCode>
-<countryName>Israel</countryName>
-<isoNumeric>376</isoNumeric>
-<isoAlpha3>ISR</isoAlpha3>
-<fipsCode>IS</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital/>
-<areaInSqKm>20770.0</areaInSqKm>
-<population>7353985</population>
-<currencyCode>ILS</currencyCode>
-<languages>he,ar-IL,en-IL,</languages>
-<geonameId>294640</geonameId>
-<west>34.270278754419145</west>
-<north>33.340137</north>
-<east>35.876804</east>
-<south>29.496639</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>IM</countryCode>
-<countryName>Isle of Man</countryName>
-<isoNumeric>833</isoNumeric>
-<isoAlpha3>IMN</isoAlpha3>
-<fipsCode>IM</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Douglas</capital>
-<areaInSqKm>572.0</areaInSqKm>
-<population>75049</population>
-<currencyCode>GBP</currencyCode>
-<languages>en,gv</languages>
-<geonameId>3042225</geonameId>
-<west>-4.798722</west>
-<north>54.419724</north>
-<east>-4.3115</east>
-<south>54.055916</south>
-<postalCodeFormat>@# #@@|@## #@@|@@# #@@|@@## #@@|@#@ #@@|@@#@ #@@|GIR0AA</postalCodeFormat>
-</country>
-<country>
-<countryCode>IN</countryCode>
-<countryName>India</countryName>
-<isoNumeric>356</isoNumeric>
-<isoAlpha3>IND</isoAlpha3>
-<fipsCode>IN</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>New Delhi</capital>
-<areaInSqKm>3287590.0</areaInSqKm>
-<population>1173108018</population>
-<currencyCode>INR</currencyCode>
-<languages>en-IN,hi,bn,te,mr,ta,ur,gu,kn,ml,or,pa,as,bh,sat,ks,ne,sd,kok,doi,mni,sit,sa,fr,lus,inc</languages>
-<geonameId>1269750</geonameId>
-<west>68.4840183183648</west>
-<north>35.524548272882</north>
-<east>97.4152926679075</east>
-<south>6.7559528993543</south>
-<postalCodeFormat>######</postalCodeFormat>
-</country>
-<country>
-<countryCode>IO</countryCode>
-<countryName>British Indian Ocean Territory</countryName>
-<isoNumeric>086</isoNumeric>
-<isoAlpha3>IOT</isoAlpha3>
-<fipsCode>IO</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital/>
-<areaInSqKm>60.0</areaInSqKm>
-<population>4000</population>
-<currencyCode>USD</currencyCode>
-<languages>en-IO</languages>
-<geonameId>1282588</geonameId>
-<west>71.259972</west>
-<north>-5.268333</north>
-<east>72.493164</east>
-<south>-7.438028</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>IQ</countryCode>
-<countryName>Iraq</countryName>
-<isoNumeric>368</isoNumeric>
-<isoAlpha3>IRQ</isoAlpha3>
-<fipsCode>IZ</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Baghdad</capital>
-<areaInSqKm>437072.0</areaInSqKm>
-<population>29671605</population>
-<currencyCode>IQD</currencyCode>
-<languages>ar-IQ,ku,hy</languages>
-<geonameId>99237</geonameId>
-<west>38.79588699999999</west>
-<north>37.378029</north>
-<east>48.57591600000001</east>
-<south>29.069445</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>IR</countryCode>
-<countryName>Iran</countryName>
-<isoNumeric>364</isoNumeric>
-<isoAlpha3>IRN</isoAlpha3>
-<fipsCode>IR</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Tehran</capital>
-<areaInSqKm>1648000.0</areaInSqKm>
-<population>76923300</population>
-<currencyCode>IRR</currencyCode>
-<languages>fa-IR,ku</languages>
-<geonameId>130758</geonameId>
-<west>44.047279</west>
-<north>39.777222</north>
-<east>63.317471</east>
-<south>25.064083</south>
-<postalCodeFormat>##########</postalCodeFormat>
-</country>
-<country>
-<countryCode>IS</countryCode>
-<countryName>Iceland</countryName>
-<isoNumeric>352</isoNumeric>
-<isoAlpha3>ISL</isoAlpha3>
-<fipsCode>IC</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Reykjavik</capital>
-<areaInSqKm>103000.0</areaInSqKm>
-<population>308910</population>
-<currencyCode>ISK</currencyCode>
-<languages>is,en,de,da,sv,no</languages>
-<geonameId>2629691</geonameId>
-<west>-24.5326753866625</west>
-<north>66.5377933098397</north>
-<east>-13.4946206239501</east>
-<south>63.394392778588</south>
-<postalCodeFormat>###</postalCodeFormat>
-</country>
-<country>
-<countryCode>IT</countryCode>
-<countryName>Italy</countryName>
-<isoNumeric>380</isoNumeric>
-<isoAlpha3>ITA</isoAlpha3>
-<fipsCode>IT</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Rome</capital>
-<areaInSqKm>301230.0</areaInSqKm>
-<population>60340328</population>
-<currencyCode>EUR</currencyCode>
-<languages>it-IT,de-IT,fr-IT,sc,ca,co,sl</languages>
-<geonameId>3175395</geonameId>
-<west>6.62662135986088</west>
-<north>47.0917837415439</north>
-<east>18.5203814091888</east>
-<south>36.6440816661648</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>JE</countryCode>
-<countryName>Jersey</countryName>
-<isoNumeric>832</isoNumeric>
-<isoAlpha3>JEY</isoAlpha3>
-<fipsCode>JE</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Saint Helier</capital>
-<areaInSqKm>116.0</areaInSqKm>
-<population>90812</population>
-<currencyCode>GBP</currencyCode>
-<languages>en,fr,nrf</languages>
-<geonameId>3042142</geonameId>
-<west>-2.260028</west>
-<north>49.265057</north>
-<east>-2.022083</east>
-<south>49.169834</south>
-<postalCodeFormat>@# #@@|@## #@@|@@# #@@|@@## #@@|@#@ #@@|@@#@ #@@|GIR0AA</postalCodeFormat>
-</country>
-<country>
-<countryCode>JM</countryCode>
-<countryName>Jamaica</countryName>
-<isoNumeric>388</isoNumeric>
-<isoAlpha3>JAM</isoAlpha3>
-<fipsCode>JM</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Kingston</capital>
-<areaInSqKm>10991.0</areaInSqKm>
-<population>2847232</population>
-<currencyCode>JMD</currencyCode>
-<languages>en-JM</languages>
-<geonameId>3489940</geonameId>
-<west>-78.3690062954957</west>
-<north>18.524766185516</north>
-<east>-76.1830989848426</east>
-<south>17.7059966193696</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>JO</countryCode>
-<countryName>Jordan</countryName>
-<isoNumeric>400</isoNumeric>
-<isoAlpha3>JOR</isoAlpha3>
-<fipsCode>JO</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Amman</capital>
-<areaInSqKm>92300.0</areaInSqKm>
-<population>6407085</population>
-<currencyCode>JOD</currencyCode>
-<languages>ar-JO,en</languages>
-<geonameId>248816</geonameId>
-<west>34.959999</west>
-<north>33.367668</north>
-<east>39.301167</east>
-<south>29.185888</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>JP</countryCode>
-<countryName>Japan</countryName>
-<isoNumeric>392</isoNumeric>
-<isoAlpha3>JPN</isoAlpha3>
-<fipsCode>JA</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Tokyo</capital>
-<areaInSqKm>377835.0</areaInSqKm>
-<population>127288000</population>
-<currencyCode>JPY</currencyCode>
-<languages>ja</languages>
-<geonameId>1861060</geonameId>
-<west>122.933653061</west>
-<north>45.52295736</north>
-<east>145.817458885</east>
-<south>24.255169441</south>
-<postalCodeFormat>###-####</postalCodeFormat>
-</country>
-<country>
-<countryCode>KE</countryCode>
-<countryName>Kenya</countryName>
-<isoNumeric>404</isoNumeric>
-<isoAlpha3>KEN</isoAlpha3>
-<fipsCode>KE</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Nairobi</capital>
-<areaInSqKm>582650.0</areaInSqKm>
-<population>40046566</population>
-<currencyCode>KES</currencyCode>
-<languages>en-KE,sw-KE</languages>
-<geonameId>192950</geonameId>
-<west>33.908859</west>
-<north>5.019938</north>
-<east>41.899078</east>
-<south>-4.678047</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>KG</countryCode>
-<countryName>Kyrgyzstan</countryName>
-<isoNumeric>417</isoNumeric>
-<isoAlpha3>KGZ</isoAlpha3>
-<fipsCode>KG</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Bishkek</capital>
-<areaInSqKm>198500.0</areaInSqKm>
-<population>5776500</population>
-<currencyCode>KGS</currencyCode>
-<languages>ky,uz,ru</languages>
-<geonameId>1527747</geonameId>
-<west>69.276611</west>
-<north>43.238224</north>
-<east>80.283165</east>
-<south>39.172832</south>
-<postalCodeFormat>######</postalCodeFormat>
-</country>
-<country>
-<countryCode>KH</countryCode>
-<countryName>Cambodia</countryName>
-<isoNumeric>116</isoNumeric>
-<isoAlpha3>KHM</isoAlpha3>
-<fipsCode>CB</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Phnom Penh</capital>
-<areaInSqKm>181040.0</areaInSqKm>
-<population>14453680</population>
-<currencyCode>KHR</currencyCode>
-<languages>km,fr,en</languages>
-<geonameId>1831722</geonameId>
-<west>102.339996</west>
-<north>14.686417</north>
-<east>107.627724</east>
-<south>10.409083</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>KI</countryCode>
-<countryName>Kiribati</countryName>
-<isoNumeric>296</isoNumeric>
-<isoAlpha3>KIR</isoAlpha3>
-<fipsCode>KR</fipsCode>
-<continent>OC</continent>
-<continentName>Oceania</continentName>
-<capital>Tarawa</capital>
-<areaInSqKm>811.0</areaInSqKm>
-<population>92533</population>
-<currencyCode>AUD</currencyCode>
-<languages>en-KI,gil</languages>
-<geonameId>4030945</geonameId>
-<west>169.556137</west>
-<north>4.71957</north>
-<east>-150.215347</east>
-<south>-11.446881150186856</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>KM</countryCode>
-<countryName>Comoros</countryName>
-<isoNumeric>174</isoNumeric>
-<isoAlpha3>COM</isoAlpha3>
-<fipsCode>CN</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Moroni</capital>
-<areaInSqKm>2170.0</areaInSqKm>
-<population>773407</population>
-<currencyCode>KMF</currencyCode>
-<languages>ar,fr-KM</languages>
-<geonameId>921929</geonameId>
-<west>43.21579</west>
-<north>-11.362381</north>
-<east>44.538223</east>
-<south>-12.387857</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>KN</countryCode>
-<countryName>Saint Kitts and Nevis</countryName>
-<isoNumeric>659</isoNumeric>
-<isoAlpha3>KNA</isoAlpha3>
-<fipsCode>SC</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Basseterre</capital>
-<areaInSqKm>261.0</areaInSqKm>
-<population>51134</population>
-<currencyCode>XCD</currencyCode>
-<languages>en-KN</languages>
-<geonameId>3575174</geonameId>
-<west>-62.86956</west>
-<north>17.420118</north>
-<east>-62.543266</east>
-<south>17.095343</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>KP</countryCode>
-<countryName>North Korea</countryName>
-<isoNumeric>408</isoNumeric>
-<isoAlpha3>PRK</isoAlpha3>
-<fipsCode>KN</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Pyongyang</capital>
-<areaInSqKm>120540.0</areaInSqKm>
-<population>22912177</population>
-<currencyCode>KPW</currencyCode>
-<languages>ko-KP</languages>
-<geonameId>1873107</geonameId>
-<west>124.315887</west>
-<north>43.006054</north>
-<east>130.674866</east>
-<south>37.673332</south>
-<postalCodeFormat>###-###</postalCodeFormat>
-</country>
-<country>
-<countryCode>KR</countryCode>
-<countryName>South Korea</countryName>
-<isoNumeric>410</isoNumeric>
-<isoAlpha3>KOR</isoAlpha3>
-<fipsCode>KS</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Seoul</capital>
-<areaInSqKm>98480.0</areaInSqKm>
-<population>48422644</population>
-<currencyCode>KRW</currencyCode>
-<languages>ko-KR,en</languages>
-<geonameId>1835841</geonameId>
-<west>125.887442375577</west>
-<north>38.5933891092225</north>
-<east>129.583016157998</east>
-<south>33.1954102977009</south>
-<postalCodeFormat>SEOUL ###-###</postalCodeFormat>
-</country>
-<country>
-<countryCode>KW</countryCode>
-<countryName>Kuwait</countryName>
-<isoNumeric>414</isoNumeric>
-<isoAlpha3>KWT</isoAlpha3>
-<fipsCode>KU</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Kuwait City</capital>
-<areaInSqKm>17820.0</areaInSqKm>
-<population>2789132</population>
-<currencyCode>KWD</currencyCode>
-<languages>ar-KW,en</languages>
-<geonameId>285570</geonameId>
-<west>46.555557</west>
-<north>30.095945</north>
-<east>48.431473</east>
-<south>28.524611</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>KY</countryCode>
-<countryName>Cayman Islands</countryName>
-<isoNumeric>136</isoNumeric>
-<isoAlpha3>CYM</isoAlpha3>
-<fipsCode>CJ</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>George Town</capital>
-<areaInSqKm>262.0</areaInSqKm>
-<population>44270</population>
-<currencyCode>KYD</currencyCode>
-<languages>en-KY</languages>
-<geonameId>3580718</geonameId>
-<west>-81.432777</west>
-<north>19.7617</north>
-<east>-79.727272</east>
-<south>19.263029</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>KZ</countryCode>
-<countryName>Kazakhstan</countryName>
-<isoNumeric>398</isoNumeric>
-<isoAlpha3>KAZ</isoAlpha3>
-<fipsCode>KZ</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Astana</capital>
-<areaInSqKm>2717300.0</areaInSqKm>
-<population>15340000</population>
-<currencyCode>KZT</currencyCode>
-<languages>kk,ru</languages>
-<geonameId>1522867</geonameId>
-<west>46.491859</west>
-<north>55.451195</north>
-<east>87.312668</east>
-<south>40.936333</south>
-<postalCodeFormat>######</postalCodeFormat>
-</country>
-<country>
-<countryCode>LA</countryCode>
-<countryName>Laos</countryName>
-<isoNumeric>418</isoNumeric>
-<isoAlpha3>LAO</isoAlpha3>
-<fipsCode>LA</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Vientiane</capital>
-<areaInSqKm>236800.0</areaInSqKm>
-<population>6368162</population>
-<currencyCode>LAK</currencyCode>
-<languages>lo,fr,en</languages>
-<geonameId>1655842</geonameId>
-<west>100.093056</west>
-<north>22.500389</north>
-<east>107.697029</east>
-<south>13.910027</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>LB</countryCode>
-<countryName>Lebanon</countryName>
-<isoNumeric>422</isoNumeric>
-<isoAlpha3>LBN</isoAlpha3>
-<fipsCode>LE</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Beirut</capital>
-<areaInSqKm>10400.0</areaInSqKm>
-<population>4125247</population>
-<currencyCode>LBP</currencyCode>
-<languages>ar-LB,fr-LB,en,hy</languages>
-<geonameId>272103</geonameId>
-<west>35.114277</west>
-<north>34.691418</north>
-<east>36.639194</east>
-<south>33.05386</south>
-<postalCodeFormat>#### ####|####</postalCodeFormat>
-</country>
-<country>
-<countryCode>LC</countryCode>
-<countryName>Saint Lucia</countryName>
-<isoNumeric>662</isoNumeric>
-<isoAlpha3>LCA</isoAlpha3>
-<fipsCode>ST</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Castries</capital>
-<areaInSqKm>616.0</areaInSqKm>
-<population>160922</population>
-<currencyCode>XCD</currencyCode>
-<languages>en-LC</languages>
-<geonameId>3576468</geonameId>
-<west>-61.07995730159752</west>
-<north>14.110317287646</north>
-<east>-60.8732306422271</east>
-<south>13.7072692224982</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>LI</countryCode>
-<countryName>Liechtenstein</countryName>
-<isoNumeric>438</isoNumeric>
-<isoAlpha3>LIE</isoAlpha3>
-<fipsCode>LS</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Vaduz</capital>
-<areaInSqKm>160.0</areaInSqKm>
-<population>35000</population>
-<currencyCode>CHF</currencyCode>
-<languages>de-LI</languages>
-<geonameId>3042058</geonameId>
-<west>9.47167359782014</west>
-<north>47.2706251386959</north>
-<east>9.63564281136796</east>
-<south>47.0484284123471</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>LK</countryCode>
-<countryName>Sri Lanka</countryName>
-<isoNumeric>144</isoNumeric>
-<isoAlpha3>LKA</isoAlpha3>
-<fipsCode>CE</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Colombo</capital>
-<areaInSqKm>65610.0</areaInSqKm>
-<population>21513990</population>
-<currencyCode>LKR</currencyCode>
-<languages>si,ta,en</languages>
-<geonameId>1227603</geonameId>
-<west>79.652916</west>
-<north>9.831361</north>
-<east>81.881279</east>
-<south>5.916833</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>LR</countryCode>
-<countryName>Liberia</countryName>
-<isoNumeric>430</isoNumeric>
-<isoAlpha3>LBR</isoAlpha3>
-<fipsCode>LI</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Monrovia</capital>
-<areaInSqKm>111370.0</areaInSqKm>
-<population>3685076</population>
-<currencyCode>LRD</currencyCode>
-<languages>en-LR</languages>
-<geonameId>2275384</geonameId>
-<west>-11.492083</west>
-<north>8.551791</north>
-<east>-7.365113</east>
-<south>4.353057</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>LS</countryCode>
-<countryName>Lesotho</countryName>
-<isoNumeric>426</isoNumeric>
-<isoAlpha3>LSO</isoAlpha3>
-<fipsCode>LT</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Maseru</capital>
-<areaInSqKm>30355.0</areaInSqKm>
-<population>1919552</population>
-<currencyCode>LSL</currencyCode>
-<languages>en-LS,st,zu,xh</languages>
-<geonameId>932692</geonameId>
-<west>27.011229998</west>
-<north>-28.5708</north>
-<east>29.4557099420001</east>
-<south>-30.6755750029999</south>
-<postalCodeFormat>###</postalCodeFormat>
-</country>
-<country>
-<countryCode>LT</countryCode>
-<countryName>Lithuania</countryName>
-<isoNumeric>440</isoNumeric>
-<isoAlpha3>LTU</isoAlpha3>
-<fipsCode>LH</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Vilnius</capital>
-<areaInSqKm>65200.0</areaInSqKm>
-<population>2944459</population>
-<currencyCode>EUR</currencyCode>
-<languages>lt,ru,pl</languages>
-<geonameId>597427</geonameId>
-<west>20.941528</west>
-<north>56.446918</north>
-<east>26.871944</east>
-<south>53.901306</south>
-<postalCodeFormat>LT-#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>LU</countryCode>
-<countryName>Luxembourg</countryName>
-<isoNumeric>442</isoNumeric>
-<isoAlpha3>LUX</isoAlpha3>
-<fipsCode>LU</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Luxembourg</capital>
-<areaInSqKm>2586.0</areaInSqKm>
-<population>497538</population>
-<currencyCode>EUR</currencyCode>
-<languages>lb,de-LU,fr-LU</languages>
-<geonameId>2960313</geonameId>
-<west>5.735698938390786</west>
-<north>50.182772453796446</north>
-<east>6.5308980672559525</east>
-<south>49.447858677765716</south>
-<postalCodeFormat>L-####</postalCodeFormat>
-</country>
-<country>
-<countryCode>LV</countryCode>
-<countryName>Latvia</countryName>
-<isoNumeric>428</isoNumeric>
-<isoAlpha3>LVA</isoAlpha3>
-<fipsCode>LG</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Riga</capital>
-<areaInSqKm>64589.0</areaInSqKm>
-<population>2217969</population>
-<currencyCode>EUR</currencyCode>
-<languages>lv,ru,lt</languages>
-<geonameId>458258</geonameId>
-<west>20.9719557460935</west>
-<north>58.0856982477268</north>
-<east>28.2412717372783</east>
-<south>55.6747774931332</south>
-<postalCodeFormat>LV-####</postalCodeFormat>
-</country>
-<country>
-<countryCode>LY</countryCode>
-<countryName>Libya</countryName>
-<isoNumeric>434</isoNumeric>
-<isoAlpha3>LBY</isoAlpha3>
-<fipsCode>LY</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Tripoli</capital>
-<areaInSqKm>1759540.0</areaInSqKm>
-<population>6461454</population>
-<currencyCode>LYD</currencyCode>
-<languages>ar-LY,it,en</languages>
-<geonameId>2215636</geonameId>
-<west>9.38702</west>
-<north>33.168999</north>
-<east>25.150612</east>
-<south>19.508045</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>MA</countryCode>
-<countryName>Morocco</countryName>
-<isoNumeric>504</isoNumeric>
-<isoAlpha3>MAR</isoAlpha3>
-<fipsCode>MO</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Rabat</capital>
-<areaInSqKm>446550.0</areaInSqKm>
-<population>33848242</population>
-<currencyCode>MAD</currencyCode>
-<languages>ar-MA,ber,fr</languages>
-<geonameId>2542007</geonameId>
-<west>-13.168586</west>
-<north>35.9224966985384</north>
-<east>-0.991750000000025</east>
-<south>27.662115</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>MC</countryCode>
-<countryName>Monaco</countryName>
-<isoNumeric>492</isoNumeric>
-<isoAlpha3>MCO</isoAlpha3>
-<fipsCode>MN</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Monaco</capital>
-<areaInSqKm>1.95</areaInSqKm>
-<population>32965</population>
-<currencyCode>EUR</currencyCode>
-<languages>fr-MC,en,it</languages>
-<geonameId>2993457</geonameId>
-<west>7.408962249755859</west>
-<north>43.75196717037228</north>
-<east>7.439939260482788</east>
-<south>43.72472839869377</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>MD</countryCode>
-<countryName>Moldova</countryName>
-<isoNumeric>498</isoNumeric>
-<isoAlpha3>MDA</isoAlpha3>
-<fipsCode>MD</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Chişinău</capital>
-<areaInSqKm>33843.0</areaInSqKm>
-<population>4324000</population>
-<currencyCode>MDL</currencyCode>
-<languages>ro,ru,gag,tr</languages>
-<geonameId>617790</geonameId>
-<west>26.618944</west>
-<north>48.490166</north>
-<east>30.135445</east>
-<south>45.468887</south>
-<postalCodeFormat>MD-####</postalCodeFormat>
-</country>
-<country>
-<countryCode>ME</countryCode>
-<countryName>Montenegro</countryName>
-<isoNumeric>499</isoNumeric>
-<isoAlpha3>MNE</isoAlpha3>
-<fipsCode>MJ</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Podgorica</capital>
-<areaInSqKm>14026.0</areaInSqKm>
-<population>666730</population>
-<currencyCode>EUR</currencyCode>
-<languages>sr,hu,bs,sq,hr,rom</languages>
-<geonameId>3194884</geonameId>
-<west>18.461306</west>
-<north>43.570137</north>
-<east>20.358833</east>
-<south>41.850166</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>MF</countryCode>
-<countryName>Saint Martin</countryName>
-<isoNumeric>663</isoNumeric>
-<isoAlpha3>MAF</isoAlpha3>
-<fipsCode>RN</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Marigot</capital>
-<areaInSqKm>53.0</areaInSqKm>
-<population>35925</population>
-<currencyCode>EUR</currencyCode>
-<languages>fr</languages>
-<geonameId>3578421</geonameId>
-<west>-63.15036103890611</west>
-<north>18.125295191246206</north>
-<east>-63.01059106320133</east>
-<south>18.04717219103021</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>MG</countryCode>
-<countryName>Madagascar</countryName>
-<isoNumeric>450</isoNumeric>
-<isoAlpha3>MDG</isoAlpha3>
-<fipsCode>MA</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Antananarivo</capital>
-<areaInSqKm>587040.0</areaInSqKm>
-<population>21281844</population>
-<currencyCode>MGA</currencyCode>
-<languages>fr-MG,mg</languages>
-<geonameId>1062947</geonameId>
-<west>43.224876</west>
-<north>-11.945433</north>
-<east>50.48378</east>
-<south>-25.608952</south>
-<postalCodeFormat>###</postalCodeFormat>
-</country>
-<country>
-<countryCode>MH</countryCode>
-<countryName>Marshall Islands</countryName>
-<isoNumeric>584</isoNumeric>
-<isoAlpha3>MHL</isoAlpha3>
-<fipsCode>RM</fipsCode>
-<continent>OC</continent>
-<continentName>Oceania</continentName>
-<capital>Majuro</capital>
-<areaInSqKm>181.3</areaInSqKm>
-<population>65859</population>
-<currencyCode>USD</currencyCode>
-<languages>mh,en-MH</languages>
-<geonameId>2080185</geonameId>
-<west>165.524918</west>
-<north>14.62</north>
-<east>171.931808</east>
-<south>5.587639</south>
-<postalCodeFormat>#####-####</postalCodeFormat>
-</country>
-<country>
-<countryCode>MK</countryCode>
-<countryName>Macedonia</countryName>
-<isoNumeric>807</isoNumeric>
-<isoAlpha3>MKD</isoAlpha3>
-<fipsCode>MK</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Skopje</capital>
-<areaInSqKm>25333.0</areaInSqKm>
-<population>2062294</population>
-<currencyCode>MKD</currencyCode>
-<languages>mk,sq,tr,rmm,sr</languages>
-<geonameId>718075</geonameId>
-<west>20.464695</west>
-<north>42.361805</north>
-<east>23.038139</east>
-<south>40.860195</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>ML</countryCode>
-<countryName>Mali</countryName>
-<isoNumeric>466</isoNumeric>
-<isoAlpha3>MLI</isoAlpha3>
-<fipsCode>ML</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Bamako</capital>
-<areaInSqKm>1240000.0</areaInSqKm>
-<population>13796354</population>
-<currencyCode>XOF</currencyCode>
-<languages>fr-ML,bm</languages>
-<geonameId>2453866</geonameId>
-<west>-12.242614</west>
-<north>25.000002</north>
-<east>4.244968</east>
-<south>10.159513</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>MM</countryCode>
-<countryName>Myanmar [Burma]</countryName>
-<isoNumeric>104</isoNumeric>
-<isoAlpha3>MMR</isoAlpha3>
-<fipsCode>BM</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Naypyitaw</capital>
-<areaInSqKm>678500.0</areaInSqKm>
-<population>53414374</population>
-<currencyCode>MMK</currencyCode>
-<languages>my</languages>
-<geonameId>1327865</geonameId>
-<west>92.189278</west>
-<north>28.543249</north>
-<east>101.176781</east>
-<south>9.784583</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>MN</countryCode>
-<countryName>Mongolia</countryName>
-<isoNumeric>496</isoNumeric>
-<isoAlpha3>MNG</isoAlpha3>
-<fipsCode>MG</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Ulan Bator</capital>
-<areaInSqKm>1565000.0</areaInSqKm>
-<population>3086918</population>
-<currencyCode>MNT</currencyCode>
-<languages>mn,ru</languages>
-<geonameId>2029969</geonameId>
-<west>87.749664</west>
-<north>52.154251</north>
-<east>119.924309</east>
-<south>41.567638</south>
-<postalCodeFormat>######</postalCodeFormat>
-</country>
-<country>
-<countryCode>MO</countryCode>
-<countryName>Macao</countryName>
-<isoNumeric>446</isoNumeric>
-<isoAlpha3>MAC</isoAlpha3>
-<fipsCode>MC</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Macao</capital>
-<areaInSqKm>254.0</areaInSqKm>
-<population>449198</population>
-<currencyCode>MOP</currencyCode>
-<languages>zh,zh-MO,pt</languages>
-<geonameId>1821275</geonameId>
-<west>113.528946</west>
-<north>22.222334</north>
-<east>113.565834</east>
-<south>22.180389</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>MP</countryCode>
-<countryName>Northern Mariana Islands</countryName>
-<isoNumeric>580</isoNumeric>
-<isoAlpha3>MNP</isoAlpha3>
-<fipsCode>CQ</fipsCode>
-<continent>OC</continent>
-<continentName>Oceania</continentName>
-<capital>Saipan</capital>
-<areaInSqKm>477.0</areaInSqKm>
-<population>53883</population>
-<currencyCode>USD</currencyCode>
-<languages>fil,tl,zh,ch-MP,en-MP</languages>
-<geonameId>4041468</geonameId>
-<west>144.88626</west>
-<north>20.55344</north>
-<east>146.06528</east>
-<south>14.11023</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>MQ</countryCode>
-<countryName>Martinique</countryName>
-<isoNumeric>474</isoNumeric>
-<isoAlpha3>MTQ</isoAlpha3>
-<fipsCode>MB</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Fort-de-France</capital>
-<areaInSqKm>1100.0</areaInSqKm>
-<population>432900</population>
-<currencyCode>EUR</currencyCode>
-<languages>fr-MQ</languages>
-<geonameId>3570311</geonameId>
-<west>-61.230118</west>
-<north>14.878819</north>
-<east>-60.81551</east>
-<south>14.392262</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>MR</countryCode>
-<countryName>Mauritania</countryName>
-<isoNumeric>478</isoNumeric>
-<isoAlpha3>MRT</isoAlpha3>
-<fipsCode>MR</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Nouakchott</capital>
-<areaInSqKm>1030700.0</areaInSqKm>
-<population>3205060</population>
-<currencyCode>MRO</currencyCode>
-<languages>ar-MR,fuc,snk,fr,mey,wo</languages>
-<geonameId>2378080</geonameId>
-<west>-17.066521</west>
-<north>27.298073</north>
-<east>-4.827674</east>
-<south>14.715547</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>MS</countryCode>
-<countryName>Montserrat</countryName>
-<isoNumeric>500</isoNumeric>
-<isoAlpha3>MSR</isoAlpha3>
-<fipsCode>MH</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Plymouth</capital>
-<areaInSqKm>102.0</areaInSqKm>
-<population>9341</population>
-<currencyCode>XCD</currencyCode>
-<languages>en-MS</languages>
-<geonameId>3578097</geonameId>
-<west>-62.24138237036129</west>
-<north>16.824060205313184</north>
-<east>-62.144100129608205</east>
-<south>16.674768935441556</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>MT</countryCode>
-<countryName>Malta</countryName>
-<isoNumeric>470</isoNumeric>
-<isoAlpha3>MLT</isoAlpha3>
-<fipsCode>MT</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Valletta</capital>
-<areaInSqKm>316.0</areaInSqKm>
-<population>403000</population>
-<currencyCode>EUR</currencyCode>
-<languages>mt,en-MT</languages>
-<geonameId>2562770</geonameId>
-<west>14.1834251000001</west>
-<north>36.0821530995456</north>
-<east>14.5764915000002</east>
-<south>35.8061835000002</south>
-<postalCodeFormat>@@@ ####</postalCodeFormat>
-</country>
-<country>
-<countryCode>MU</countryCode>
-<countryName>Mauritius</countryName>
-<isoNumeric>480</isoNumeric>
-<isoAlpha3>MUS</isoAlpha3>
-<fipsCode>MP</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Port Louis</capital>
-<areaInSqKm>2040.0</areaInSqKm>
-<population>1294104</population>
-<currencyCode>MUR</currencyCode>
-<languages>en-MU,bho,fr</languages>
-<geonameId>934292</geonameId>
-<west>56.512718</west>
-<north>-10.319255</north>
-<east>63.500179</east>
-<south>-20.525717</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>MV</countryCode>
-<countryName>Maldives</countryName>
-<isoNumeric>462</isoNumeric>
-<isoAlpha3>MDV</isoAlpha3>
-<fipsCode>MV</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Malé</capital>
-<areaInSqKm>300.0</areaInSqKm>
-<population>395650</population>
-<currencyCode>MVR</currencyCode>
-<languages>dv,en</languages>
-<geonameId>1282028</geonameId>
-<west>72.693222</west>
-<north>7.091587495414767</north>
-<east>73.637276</east>
-<south>-0.692694</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>MW</countryCode>
-<countryName>Malawi</countryName>
-<isoNumeric>454</isoNumeric>
-<isoAlpha3>MWI</isoAlpha3>
-<fipsCode>MI</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Lilongwe</capital>
-<areaInSqKm>118480.0</areaInSqKm>
-<population>15447500</population>
-<currencyCode>MWK</currencyCode>
-<languages>ny,yao,tum,swk</languages>
-<geonameId>927384</geonameId>
-<west>32.67395</west>
-<north>-9.367541</north>
-<east>35.916821</east>
-<south>-17.125</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>MX</countryCode>
-<countryName>Mexico</countryName>
-<isoNumeric>484</isoNumeric>
-<isoAlpha3>MEX</isoAlpha3>
-<fipsCode>MX</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Mexico City</capital>
-<areaInSqKm>1972550.0</areaInSqKm>
-<population>112468855</population>
-<currencyCode>MXN</currencyCode>
-<languages>es-MX</languages>
-<geonameId>3996063</geonameId>
-<west>-118.453949</west>
-<north>32.716759</north>
-<east>-86.703392</east>
-<south>14.532866</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>MY</countryCode>
-<countryName>Malaysia</countryName>
-<isoNumeric>458</isoNumeric>
-<isoAlpha3>MYS</isoAlpha3>
-<fipsCode>MY</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Kuala Lumpur</capital>
-<areaInSqKm>329750.0</areaInSqKm>
-<population>28274729</population>
-<currencyCode>MYR</currencyCode>
-<languages>ms-MY,en,zh,ta,te,ml,pa,th</languages>
-<geonameId>1733045</geonameId>
-<west>99.643448</west>
-<north>7.363417</north>
-<east>119.267502</east>
-<south>0.855222</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>MZ</countryCode>
-<countryName>Mozambique</countryName>
-<isoNumeric>508</isoNumeric>
-<isoAlpha3>MOZ</isoAlpha3>
-<fipsCode>MZ</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Maputo</capital>
-<areaInSqKm>801590.0</areaInSqKm>
-<population>22061451</population>
-<currencyCode>MZN</currencyCode>
-<languages>pt-MZ,vmw</languages>
-<geonameId>1036973</geonameId>
-<west>30.217319</west>
-<north>-10.471883</north>
-<east>40.842995</east>
-<south>-26.868685</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>NA</countryCode>
-<countryName>Namibia</countryName>
-<isoNumeric>516</isoNumeric>
-<isoAlpha3>NAM</isoAlpha3>
-<fipsCode>WA</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Windhoek</capital>
-<areaInSqKm>825418.0</areaInSqKm>
-<population>2128471</population>
-<currencyCode>NAD</currencyCode>
-<languages>en-NA,af,de,hz,naq</languages>
-<geonameId>3355338</geonameId>
-<west>11.71563</west>
-<north>-16.959894</north>
-<east>25.256701</east>
-<south>-28.97143</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>NC</countryCode>
-<countryName>New Caledonia</countryName>
-<isoNumeric>540</isoNumeric>
-<isoAlpha3>NCL</isoAlpha3>
-<fipsCode>NC</fipsCode>
-<continent>OC</continent>
-<continentName>Oceania</continentName>
-<capital>Noumea</capital>
-<areaInSqKm>19060.0</areaInSqKm>
-<population>216494</population>
-<currencyCode>XPF</currencyCode>
-<languages>fr-NC</languages>
-<geonameId>2139685</geonameId>
-<west>163.564667</west>
-<north>-19.549778</north>
-<east>168.129135</east>
-<south>-22.698</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>NE</countryCode>
-<countryName>Niger</countryName>
-<isoNumeric>562</isoNumeric>
-<isoAlpha3>NER</isoAlpha3>
-<fipsCode>NG</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Niamey</capital>
-<areaInSqKm>1267000.0</areaInSqKm>
-<population>15878271</population>
-<currencyCode>XOF</currencyCode>
-<languages>fr-NE,ha,kr,dje</languages>
-<geonameId>2440476</geonameId>
-<west>0.16625</west>
-<north>23.525026</north>
-<east>15.995643</east>
-<south>11.696975</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>NF</countryCode>
-<countryName>Norfolk Island</countryName>
-<isoNumeric>574</isoNumeric>
-<isoAlpha3>NFK</isoAlpha3>
-<fipsCode>NF</fipsCode>
-<continent>OC</continent>
-<continentName>Oceania</continentName>
-<capital>Kingston</capital>
-<areaInSqKm>34.6</areaInSqKm>
-<population>1828</population>
-<currencyCode>AUD</currencyCode>
-<languages>en-NF</languages>
-<geonameId>2155115</geonameId>
-<west>167.91543230151365</west>
-<north>-28.995170686948427</north>
-<east>167.99773740209957</east>
-<south>-29.063076742954735</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>NG</countryCode>
-<countryName>Nigeria</countryName>
-<isoNumeric>566</isoNumeric>
-<isoAlpha3>NGA</isoAlpha3>
-<fipsCode>NI</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Abuja</capital>
-<areaInSqKm>923768.0</areaInSqKm>
-<population>154000000</population>
-<currencyCode>NGN</currencyCode>
-<languages>en-NG,ha,yo,ig,ff</languages>
-<geonameId>2328926</geonameId>
-<west>2.668432</west>
-<north>13.892007</north>
-<east>14.680073</east>
-<south>4.277144</south>
-<postalCodeFormat>######</postalCodeFormat>
-</country>
-<country>
-<countryCode>NI</countryCode>
-<countryName>Nicaragua</countryName>
-<isoNumeric>558</isoNumeric>
-<isoAlpha3>NIC</isoAlpha3>
-<fipsCode>NU</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Managua</capital>
-<areaInSqKm>129494.0</areaInSqKm>
-<population>5995928</population>
-<currencyCode>NIO</currencyCode>
-<languages>es-NI,en</languages>
-<geonameId>3617476</geonameId>
-<west>-87.690308</west>
-<north>15.025909</north>
-<east>-82.738289</east>
-<south>10.707543</south>
-<postalCodeFormat>###-###-#</postalCodeFormat>
-</country>
-<country>
-<countryCode>NL</countryCode>
-<countryName>Netherlands</countryName>
-<isoNumeric>528</isoNumeric>
-<isoAlpha3>NLD</isoAlpha3>
-<fipsCode>NL</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Amsterdam</capital>
-<areaInSqKm>41526.0</areaInSqKm>
-<population>16645000</population>
-<currencyCode>EUR</currencyCode>
-<languages>nl-NL,fy-NL</languages>
-<geonameId>2750405</geonameId>
-<west>3.35837827202</west>
-<north>53.5157125645109</north>
-<east>7.22749859212922</east>
-<south>50.7503674993741</south>
-<postalCodeFormat>#### @@</postalCodeFormat>
-</country>
-<country>
-<countryCode>NO</countryCode>
-<countryName>Norway</countryName>
-<isoNumeric>578</isoNumeric>
-<isoAlpha3>NOR</isoAlpha3>
-<fipsCode>NO</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Oslo</capital>
-<areaInSqKm>324220.0</areaInSqKm>
-<population>5009150</population>
-<currencyCode>NOK</currencyCode>
-<languages>no,nb,nn,se,fi</languages>
-<geonameId>3144096</geonameId>
-<west>4.64182374183584</west>
-<north>71.1854764998959</north>
-<east>31.063740342248376</east>
-<south>57.97987783489344</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>NP</countryCode>
-<countryName>Nepal</countryName>
-<isoNumeric>524</isoNumeric>
-<isoAlpha3>NPL</isoAlpha3>
-<fipsCode>NP</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Kathmandu</capital>
-<areaInSqKm>140800.0</areaInSqKm>
-<population>28951852</population>
-<currencyCode>NPR</currencyCode>
-<languages>ne,en</languages>
-<geonameId>1282988</geonameId>
-<west>80.056274</west>
-<north>30.43339</north>
-<east>88.199333</east>
-<south>26.356722</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>NR</countryCode>
-<countryName>Nauru</countryName>
-<isoNumeric>520</isoNumeric>
-<isoAlpha3>NRU</isoAlpha3>
-<fipsCode>NR</fipsCode>
-<continent>OC</continent>
-<continentName>Oceania</continentName>
-<capital>Yaren</capital>
-<areaInSqKm>21.0</areaInSqKm>
-<population>10065</population>
-<currencyCode>AUD</currencyCode>
-<languages>na,en-NR</languages>
-<geonameId>2110425</geonameId>
-<west>166.899033</west>
-<north>-0.504306</north>
-<east>166.945282</east>
-<south>-0.552333</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>NU</countryCode>
-<countryName>Niue</countryName>
-<isoNumeric>570</isoNumeric>
-<isoAlpha3>NIU</isoAlpha3>
-<fipsCode>NE</fipsCode>
-<continent>OC</continent>
-<continentName>Oceania</continentName>
-<capital>Alofi</capital>
-<areaInSqKm>260.0</areaInSqKm>
-<population>2166</population>
-<currencyCode>NZD</currencyCode>
-<languages>niu,en-NU</languages>
-<geonameId>4036232</geonameId>
-<west>-169.951004</west>
-<north>-18.951069</north>
-<east>-169.775177</east>
-<south>-19.152193</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>NZ</countryCode>
-<countryName>New Zealand</countryName>
-<isoNumeric>554</isoNumeric>
-<isoAlpha3>NZL</isoAlpha3>
-<fipsCode>NZ</fipsCode>
-<continent>OC</continent>
-<continentName>Oceania</continentName>
-<capital>Wellington</capital>
-<areaInSqKm>268680.0</areaInSqKm>
-<population>4252277</population>
-<currencyCode>NZD</currencyCode>
-<languages>en-NZ,mi</languages>
-<geonameId>2186224</geonameId>
-<west>166.7155</west>
-<north>-34.389668</north>
-<east>-180.0</east>
-<south>-47.286026</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>OM</countryCode>
-<countryName>Oman</countryName>
-<isoNumeric>512</isoNumeric>
-<isoAlpha3>OMN</isoAlpha3>
-<fipsCode>MU</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Muscat</capital>
-<areaInSqKm>212460.0</areaInSqKm>
-<population>2967717</population>
-<currencyCode>OMR</currencyCode>
-<languages>ar-OM,en,bal,ur</languages>
-<geonameId>286963</geonameId>
-<west>51.882</west>
-<north>26.387972</north>
-<east>59.836582</east>
-<south>16.64575</south>
-<postalCodeFormat>###</postalCodeFormat>
-</country>
-<country>
-<countryCode>PA</countryCode>
-<countryName>Panama</countryName>
-<isoNumeric>591</isoNumeric>
-<isoAlpha3>PAN</isoAlpha3>
-<fipsCode>PM</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Panama City</capital>
-<areaInSqKm>78200.0</areaInSqKm>
-<population>3410676</population>
-<currencyCode>PAB</currencyCode>
-<languages>es-PA,en</languages>
-<geonameId>3703430</geonameId>
-<west>-83.0523988577088</west>
-<north>9.6474132494631</north>
-<east>-77.1563637579897</east>
-<south>7.20236920646422</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>PE</countryCode>
-<countryName>Peru</countryName>
-<isoNumeric>604</isoNumeric>
-<isoAlpha3>PER</isoAlpha3>
-<fipsCode>PE</fipsCode>
-<continent>SA</continent>
-<continentName>South America</continentName>
-<capital>Lima</capital>
-<areaInSqKm>1285220.0</areaInSqKm>
-<population>29907003</population>
-<currencyCode>PEN</currencyCode>
-<languages>es-PE,qu,ay</languages>
-<geonameId>3932488</geonameId>
-<west>-81.326744</west>
-<north>-0.012977</north>
-<east>-68.677986</east>
-<south>-18.349728</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>PF</countryCode>
-<countryName>French Polynesia</countryName>
-<isoNumeric>258</isoNumeric>
-<isoAlpha3>PYF</isoAlpha3>
-<fipsCode>FP</fipsCode>
-<continent>OC</continent>
-<continentName>Oceania</continentName>
-<capital>Papeete</capital>
-<areaInSqKm>4167.0</areaInSqKm>
-<population>270485</population>
-<currencyCode>XPF</currencyCode>
-<languages>fr-PF,ty</languages>
-<geonameId>4030656</geonameId>
-<west>-152.877167</west>
-<north>-7.903573</north>
-<east>-134.929825</east>
-<south>-27.653572</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>PG</countryCode>
-<countryName>Papua New Guinea</countryName>
-<isoNumeric>598</isoNumeric>
-<isoAlpha3>PNG</isoAlpha3>
-<fipsCode>PP</fipsCode>
-<continent>OC</continent>
-<continentName>Oceania</continentName>
-<capital>Port Moresby</capital>
-<areaInSqKm>462840.0</areaInSqKm>
-<population>6064515</population>
-<currencyCode>PGK</currencyCode>
-<languages>en-PG,ho,meu,tpi</languages>
-<geonameId>2088628</geonameId>
-<west>140.842865</west>
-<north>-1.318639</north>
-<east>155.96344</east>
-<south>-11.657861</south>
-<postalCodeFormat>###</postalCodeFormat>
-</country>
-<country>
-<countryCode>PH</countryCode>
-<countryName>Philippines</countryName>
-<isoNumeric>608</isoNumeric>
-<isoAlpha3>PHL</isoAlpha3>
-<fipsCode>RP</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Manila</capital>
-<areaInSqKm>300000.0</areaInSqKm>
-<population>99900177</population>
-<currencyCode>PHP</currencyCode>
-<languages>tl,en-PH,fil,ceb,tgl,ilo,hil,war,pam,bik,bcl,pag,mrw,tsg,mdh,cbk,krj,sgd,msb,akl,ibg,yka,mta,abx</languages>
-<geonameId>1694008</geonameId>
-<west>116.9288644959</west>
-<north>21.1218854788318</north>
-<east>126.60497402182328</east>
-<south>4.64209796365014</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>PK</countryCode>
-<countryName>Pakistan</countryName>
-<isoNumeric>586</isoNumeric>
-<isoAlpha3>PAK</isoAlpha3>
-<fipsCode>PK</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Islamabad</capital>
-<areaInSqKm>803940.0</areaInSqKm>
-<population>184404791</population>
-<currencyCode>PKR</currencyCode>
-<languages>ur-PK,en-PK,pa,sd,ps,brh</languages>
-<geonameId>1168579</geonameId>
-<west>60.878613</west>
-<north>37.097</north>
-<east>77.840919</east>
-<south>23.786722</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>PL</countryCode>
-<countryName>Poland</countryName>
-<isoNumeric>616</isoNumeric>
-<isoAlpha3>POL</isoAlpha3>
-<fipsCode>PL</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Warsaw</capital>
-<areaInSqKm>312685.0</areaInSqKm>
-<population>38500000</population>
-<currencyCode>PLN</currencyCode>
-<languages>pl</languages>
-<geonameId>798544</geonameId>
-<west>14.1228850233809</west>
-<north>54.8357886595169</north>
-<east>24.1457828491313</east>
-<south>49.0020465193443</south>
-<postalCodeFormat>##-###</postalCodeFormat>
-</country>
-<country>
-<countryCode>PM</countryCode>
-<countryName>Saint Pierre and Miquelon</countryName>
-<isoNumeric>666</isoNumeric>
-<isoAlpha3>SPM</isoAlpha3>
-<fipsCode>SB</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Saint-Pierre</capital>
-<areaInSqKm>242.0</areaInSqKm>
-<population>7012</population>
-<currencyCode>EUR</currencyCode>
-<languages>fr-PM</languages>
-<geonameId>3424932</geonameId>
-<west>-56.40709223087083</west>
-<north>47.14376802942701</north>
-<east>-56.1253298443454</east>
-<south>46.78264970849848</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>PN</countryCode>
-<countryName>Pitcairn Islands</countryName>
-<isoNumeric>612</isoNumeric>
-<isoAlpha3>PCN</isoAlpha3>
-<fipsCode>PC</fipsCode>
-<continent>OC</continent>
-<continentName>Oceania</continentName>
-<capital>Adamstown</capital>
-<areaInSqKm>47.0</areaInSqKm>
-<population>46</population>
-<currencyCode>NZD</currencyCode>
-<languages>en-PN</languages>
-<geonameId>4030699</geonameId>
-<west>-128.35699011119425</west>
-<north>-24.3299386198549</north>
-<east>-124.77285</east>
-<south>-24.672565</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>PR</countryCode>
-<countryName>Puerto Rico</countryName>
-<isoNumeric>630</isoNumeric>
-<isoAlpha3>PRI</isoAlpha3>
-<fipsCode>RQ</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>San Juan</capital>
-<areaInSqKm>9104.0</areaInSqKm>
-<population>3916632</population>
-<currencyCode>USD</currencyCode>
-<languages>en-PR,es-PR</languages>
-<geonameId>4566966</geonameId>
-<west>-67.942726</west>
-<north>18.520166</north>
-<east>-65.2430816766763</east>
-<south>17.926405</south>
-<postalCodeFormat>#####-####</postalCodeFormat>
-</country>
-<country>
-<countryCode>PS</countryCode>
-<countryName>Palestine</countryName>
-<isoNumeric>275</isoNumeric>
-<isoAlpha3>PSE</isoAlpha3>
-<fipsCode>WE</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital/>
-<areaInSqKm>5970.0</areaInSqKm>
-<population>3800000</population>
-<currencyCode>ILS</currencyCode>
-<languages>ar-PS</languages>
-<geonameId>6254930</geonameId>
-<west>34.21665954589844</west>
-<north>32.54638671875</north>
-<east>35.5732955932617</east>
-<south>31.216541290283203</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>PT</countryCode>
-<countryName>Portugal</countryName>
-<isoNumeric>620</isoNumeric>
-<isoAlpha3>PRT</isoAlpha3>
-<fipsCode>PO</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Lisbon</capital>
-<areaInSqKm>92391.0</areaInSqKm>
-<population>10676000</population>
-<currencyCode>EUR</currencyCode>
-<languages>pt-PT,mwl</languages>
-<geonameId>2264397</geonameId>
-<west>-9.50052660716588</west>
-<north>42.154311127408</north>
-<east>-6.18915930748288</east>
-<south>36.96125</south>
-<postalCodeFormat>####-###</postalCodeFormat>
-</country>
-<country>
-<countryCode>PW</countryCode>
-<countryName>Palau</countryName>
-<isoNumeric>585</isoNumeric>
-<isoAlpha3>PLW</isoAlpha3>
-<fipsCode>PS</fipsCode>
-<continent>OC</continent>
-<continentName>Oceania</continentName>
-<capital>Melekeok</capital>
-<areaInSqKm>458.0</areaInSqKm>
-<population>19907</population>
-<currencyCode>USD</currencyCode>
-<languages>pau,sov,en-PW,tox,ja,fil,zh</languages>
-<geonameId>1559582</geonameId>
-<west>131.11788</west>
-<north>8.46966</north>
-<east>134.72307</east>
-<south>2.8036</south>
-<postalCodeFormat>96940</postalCodeFormat>
-</country>
-<country>
-<countryCode>PY</countryCode>
-<countryName>Paraguay</countryName>
-<isoNumeric>600</isoNumeric>
-<isoAlpha3>PRY</isoAlpha3>
-<fipsCode>PA</fipsCode>
-<continent>SA</continent>
-<continentName>South America</continentName>
-<capital>Asunción</capital>
-<areaInSqKm>406750.0</areaInSqKm>
-<population>6375830</population>
-<currencyCode>PYG</currencyCode>
-<languages>es-PY,gn</languages>
-<geonameId>3437598</geonameId>
-<west>-62.6446174378624</west>
-<north>-19.2896000004762</north>
-<east>-54.2589239104835</east>
-<south>-27.5918335646318</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>QA</countryCode>
-<countryName>Qatar</countryName>
-<isoNumeric>634</isoNumeric>
-<isoAlpha3>QAT</isoAlpha3>
-<fipsCode>QA</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Doha</capital>
-<areaInSqKm>11437.0</areaInSqKm>
-<population>840926</population>
-<currencyCode>QAR</currencyCode>
-<languages>ar-QA,es</languages>
-<geonameId>289688</geonameId>
-<west>50.757221</west>
-<north>26.154722</north>
-<east>51.636639</east>
-<south>24.482944</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>RE</countryCode>
-<countryName>Réunion</countryName>
-<isoNumeric>638</isoNumeric>
-<isoAlpha3>REU</isoAlpha3>
-<fipsCode>RE</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Saint-Denis</capital>
-<areaInSqKm>2517.0</areaInSqKm>
-<population>776948</population>
-<currencyCode>EUR</currencyCode>
-<languages>fr-RE</languages>
-<geonameId>935317</geonameId>
-<west>55.21219224792685</west>
-<north>-20.868391324576944</north>
-<east>55.838193901930026</east>
-<south>-21.383747301469107</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>RO</countryCode>
-<countryName>Romania</countryName>
-<isoNumeric>642</isoNumeric>
-<isoAlpha3>ROU</isoAlpha3>
-<fipsCode>RO</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Bucharest</capital>
-<areaInSqKm>237500.0</areaInSqKm>
-<population>21959278</population>
-<currencyCode>RON</currencyCode>
-<languages>ro,hu,rom</languages>
-<geonameId>798549</geonameId>
-<west>20.2619949052262</west>
-<north>48.2653912058468</north>
-<east>29.7152986907701</east>
-<south>43.6190166499833</south>
-<postalCodeFormat>######</postalCodeFormat>
-</country>
-<country>
-<countryCode>RS</countryCode>
-<countryName>Serbia</countryName>
-<isoNumeric>688</isoNumeric>
-<isoAlpha3>SRB</isoAlpha3>
-<fipsCode>RI</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Belgrade</capital>
-<areaInSqKm>88361.0</areaInSqKm>
-<population>7344847</population>
-<currencyCode>RSD</currencyCode>
-<languages>sr,hu,bs,rom</languages>
-<geonameId>6290252</geonameId>
-<west>18.817020416259766</west>
-<north>46.18138885498047</north>
-<east>23.00499725341797</east>
-<south>42.232215881347656</south>
-<postalCodeFormat>######</postalCodeFormat>
-</country>
-<country>
-<countryCode>RU</countryCode>
-<countryName>Russia</countryName>
-<isoNumeric>643</isoNumeric>
-<isoAlpha3>RUS</isoAlpha3>
-<fipsCode>RS</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Moscow</capital>
-<areaInSqKm>1.71E7</areaInSqKm>
-<population>140702000</population>
-<currencyCode>RUB</currencyCode>
-<languages>ru,tt,xal,cau,ady,kv,ce,tyv,cv,udm,tut,mns,bua,myv,mdf,chm,ba,inh,tut,kbd,krc,av,sah,nog</languages>
-<geonameId>2017370</geonameId>
-<west>19.25</west>
-<north>81.857361</north>
-<east>-169.05</east>
-<south>41.188862</south>
-<postalCodeFormat>######</postalCodeFormat>
-</country>
-<country>
-<countryCode>RW</countryCode>
-<countryName>Rwanda</countryName>
-<isoNumeric>646</isoNumeric>
-<isoAlpha3>RWA</isoAlpha3>
-<fipsCode>RW</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Kigali</capital>
-<areaInSqKm>26338.0</areaInSqKm>
-<population>11055976</population>
-<currencyCode>RWF</currencyCode>
-<languages>rw,en-RW,fr-RW,sw</languages>
-<geonameId>49518</geonameId>
-<west>28.8617308206209</west>
-<north>-1.04716670707785</north>
-<east>30.8997466415943</east>
-<south>-2.84023010213747</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>SA</countryCode>
-<countryName>Saudi Arabia</countryName>
-<isoNumeric>682</isoNumeric>
-<isoAlpha3>SAU</isoAlpha3>
-<fipsCode>SA</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Riyadh</capital>
-<areaInSqKm>1960582.0</areaInSqKm>
-<population>25731776</population>
-<currencyCode>SAR</currencyCode>
-<languages>ar-SA</languages>
-<geonameId>102358</geonameId>
-<west>34.495693</west>
-<north>32.158333</north>
-<east>55.66658400000006</east>
-<south>16.3795000261256</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>SB</countryCode>
-<countryName>Solomon Islands</countryName>
-<isoNumeric>090</isoNumeric>
-<isoAlpha3>SLB</isoAlpha3>
-<fipsCode>BP</fipsCode>
-<continent>OC</continent>
-<continentName>Oceania</continentName>
-<capital>Honiara</capital>
-<areaInSqKm>28450.0</areaInSqKm>
-<population>559198</population>
-<currencyCode>SBD</currencyCode>
-<languages>en-SB,tpi</languages>
-<geonameId>2103350</geonameId>
-<west>155.508606</west>
-<north>-6.589611</north>
-<east>166.980865</east>
-<south>-11.850555</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>SC</countryCode>
-<countryName>Seychelles</countryName>
-<isoNumeric>690</isoNumeric>
-<isoAlpha3>SYC</isoAlpha3>
-<fipsCode>SE</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Victoria</capital>
-<areaInSqKm>455.0</areaInSqKm>
-<population>88340</population>
-<currencyCode>SCR</currencyCode>
-<languages>en-SC,fr-SC</languages>
-<geonameId>241170</geonameId>
-<west>46.204769</west>
-<north>-4.283717</north>
-<east>56.29770287937299</east>
-<south>-9.753867</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>SD</countryCode>
-<countryName>Sudan</countryName>
-<isoNumeric>729</isoNumeric>
-<isoAlpha3>SDN</isoAlpha3>
-<fipsCode>SU</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Khartoum</capital>
-<areaInSqKm>1861484.0</areaInSqKm>
-<population>35000000</population>
-<currencyCode>SDG</currencyCode>
-<languages>ar-SD,en,fia</languages>
-<geonameId>366755</geonameId>
-<west>21.827774047851562</west>
-<north>22.232219696044922</north>
-<east>38.60749816894531</east>
-<south>8.684720993041992</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>SE</countryCode>
-<countryName>Sweden</countryName>
-<isoNumeric>752</isoNumeric>
-<isoAlpha3>SWE</isoAlpha3>
-<fipsCode>SW</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Stockholm</capital>
-<areaInSqKm>449964.0</areaInSqKm>
-<population>9828655</population>
-<currencyCode>SEK</currencyCode>
-<languages>sv-SE,se,sma,fi-SE</languages>
-<geonameId>2661886</geonameId>
-<west>11.109499387126</west>
-<north>69.0599672666879</north>
-<east>24.155245238099</east>
-<south>55.3374438220002</south>
-<postalCodeFormat>### ##</postalCodeFormat>
-</country>
-<country>
-<countryCode>SG</countryCode>
-<countryName>Singapore</countryName>
-<isoNumeric>702</isoNumeric>
-<isoAlpha3>SGP</isoAlpha3>
-<fipsCode>SN</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Singapore</capital>
-<areaInSqKm>692.7</areaInSqKm>
-<population>4701069</population>
-<currencyCode>SGD</currencyCode>
-<languages>cmn,en-SG,ms-SG,ta-SG,zh-SG</languages>
-<geonameId>1880251</geonameId>
-<west>103.638275</west>
-<north>1.471278</north>
-<east>104.007469</east>
-<south>1.258556</south>
-<postalCodeFormat>######</postalCodeFormat>
-</country>
-<country>
-<countryCode>SH</countryCode>
-<countryName>Saint Helena</countryName>
-<isoNumeric>654</isoNumeric>
-<isoAlpha3>SHN</isoAlpha3>
-<fipsCode>SH</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Jamestown</capital>
-<areaInSqKm>410.0</areaInSqKm>
-<population>7460</population>
-<currencyCode>SHP</currencyCode>
-<languages>en-SH</languages>
-<geonameId>3370751</geonameId>
-<west>-14.42123</west>
-<north>-7.887815</north>
-<east>-5.638753</east>
-<south>-16.019543</south>
-<postalCodeFormat>STHL 1ZZ</postalCodeFormat>
-</country>
-<country>
-<countryCode>SI</countryCode>
-<countryName>Slovenia</countryName>
-<isoNumeric>705</isoNumeric>
-<isoAlpha3>SVN</isoAlpha3>
-<fipsCode>SI</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Ljubljana</capital>
-<areaInSqKm>20273.0</areaInSqKm>
-<population>2007000</population>
-<currencyCode>EUR</currencyCode>
-<languages>sl,sh</languages>
-<geonameId>3190538</geonameId>
-<west>13.3753342064709</west>
-<north>46.8766275518195</north>
-<east>16.6106311807</east>
-<south>45.421812998164</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>SJ</countryCode>
-<countryName>Svalbard and Jan Mayen</countryName>
-<isoNumeric>744</isoNumeric>
-<isoAlpha3>SJM</isoAlpha3>
-<fipsCode>SV</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Longyearbyen</capital>
-<areaInSqKm>62049.0</areaInSqKm>
-<population>2550</population>
-<currencyCode>NOK</currencyCode>
-<languages>no,ru</languages>
-<geonameId>607072</geonameId>
-<west>17.699389</west>
-<north>80.762085</north>
-<east>33.287334</east>
-<south>79.220306</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>SK</countryCode>
-<countryName>Slovakia</countryName>
-<isoNumeric>703</isoNumeric>
-<isoAlpha3>SVK</isoAlpha3>
-<fipsCode>LO</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Bratislava</capital>
-<areaInSqKm>48845.0</areaInSqKm>
-<population>5455000</population>
-<currencyCode>EUR</currencyCode>
-<languages>sk,hu</languages>
-<geonameId>3057568</geonameId>
-<west>16.84775</west>
-<north>49.603168</north>
-<east>22.570444</east>
-<south>47.728111</south>
-<postalCodeFormat>### ##</postalCodeFormat>
-</country>
-<country>
-<countryCode>SL</countryCode>
-<countryName>Sierra Leone</countryName>
-<isoNumeric>694</isoNumeric>
-<isoAlpha3>SLE</isoAlpha3>
-<fipsCode>SL</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Freetown</capital>
-<areaInSqKm>71740.0</areaInSqKm>
-<population>5245695</population>
-<currencyCode>SLL</currencyCode>
-<languages>en-SL,men,tem</languages>
-<geonameId>2403846</geonameId>
-<west>-13.307631</west>
-<north>10.0</north>
-<east>-10.284238</east>
-<south>6.929611</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>SM</countryCode>
-<countryName>San Marino</countryName>
-<isoNumeric>674</isoNumeric>
-<isoAlpha3>SMR</isoAlpha3>
-<fipsCode>SM</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>San Marino</capital>
-<areaInSqKm>61.2</areaInSqKm>
-<population>31477</population>
-<currencyCode>EUR</currencyCode>
-<languages>it-SM</languages>
-<geonameId>3168068</geonameId>
-<west>12.403605260165</west>
-<north>43.9920929668161</north>
-<east>12.5158490454421</east>
-<south>43.8937002210188</south>
-<postalCodeFormat>4789#</postalCodeFormat>
-</country>
-<country>
-<countryCode>SN</countryCode>
-<countryName>Senegal</countryName>
-<isoNumeric>686</isoNumeric>
-<isoAlpha3>SEN</isoAlpha3>
-<fipsCode>SG</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Dakar</capital>
-<areaInSqKm>196190.0</areaInSqKm>
-<population>12323252</population>
-<currencyCode>XOF</currencyCode>
-<languages>fr-SN,wo,fuc,mnk</languages>
-<geonameId>2245662</geonameId>
-<west>-17.535236</west>
-<north>16.691633</north>
-<east>-11.355887</east>
-<south>12.307275</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>SO</countryCode>
-<countryName>Somalia</countryName>
-<isoNumeric>706</isoNumeric>
-<isoAlpha3>SOM</isoAlpha3>
-<fipsCode>SO</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Mogadishu</capital>
-<areaInSqKm>637657.0</areaInSqKm>
-<population>10112453</population>
-<currencyCode>SOS</currencyCode>
-<languages>so-SO,ar-SO,it,en-SO</languages>
-<geonameId>51537</geonameId>
-<west>40.986595</west>
-<north>11.979166</north>
-<east>51.412636</east>
-<south>-1.674868</south>
-<postalCodeFormat>@@  #####</postalCodeFormat>
-</country>
-<country>
-<countryCode>SR</countryCode>
-<countryName>Suriname</countryName>
-<isoNumeric>740</isoNumeric>
-<isoAlpha3>SUR</isoAlpha3>
-<fipsCode>NS</fipsCode>
-<continent>SA</continent>
-<continentName>South America</continentName>
-<capital>Paramaribo</capital>
-<areaInSqKm>163270.0</areaInSqKm>
-<population>492829</population>
-<currencyCode>SRD</currencyCode>
-<languages>nl-SR,en,srn,hns,jv</languages>
-<geonameId>3382998</geonameId>
-<west>-58.086563</west>
-<north>6.004546</north>
-<east>-53.977493</east>
-<south>1.831145</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>SS</countryCode>
-<countryName>South Sudan</countryName>
-<isoNumeric>728</isoNumeric>
-<isoAlpha3>SSD</isoAlpha3>
-<fipsCode>OD</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Juba</capital>
-<areaInSqKm>644329.0</areaInSqKm>
-<population>8260490</population>
-<currencyCode>SSP</currencyCode>
-<languages>en</languages>
-<geonameId>7909807</geonameId>
-<west>24.140274047851562</west>
-<north>12.219148635864258</north>
-<east>35.9405517578125</east>
-<south>3.493394374847412</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>ST</countryCode>
-<countryName>São Tomé and Príncipe</countryName>
-<isoNumeric>678</isoNumeric>
-<isoAlpha3>STP</isoAlpha3>
-<fipsCode>TP</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>São Tomé</capital>
-<areaInSqKm>1001.0</areaInSqKm>
-<population>175808</population>
-<currencyCode>STD</currencyCode>
-<languages>pt-ST</languages>
-<geonameId>2410758</geonameId>
-<west>6.47017</west>
-<north>1.701323</north>
-<east>7.466374</east>
-<south>0.024766</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>SV</countryCode>
-<countryName>El Salvador</countryName>
-<isoNumeric>222</isoNumeric>
-<isoAlpha3>SLV</isoAlpha3>
-<fipsCode>ES</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>San Salvador</capital>
-<areaInSqKm>21040.0</areaInSqKm>
-<population>6052064</population>
-<currencyCode>USD</currencyCode>
-<languages>es-SV</languages>
-<geonameId>3585968</geonameId>
-<west>-90.128662</west>
-<north>14.445067</north>
-<east>-87.692162</east>
-<south>13.148679</south>
-<postalCodeFormat>CP ####</postalCodeFormat>
-</country>
-<country>
-<countryCode>SX</countryCode>
-<countryName>Sint Maarten</countryName>
-<isoNumeric>534</isoNumeric>
-<isoAlpha3>SXM</isoAlpha3>
-<fipsCode>NN</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Philipsburg</capital>
-<areaInSqKm>21.0</areaInSqKm>
-<population>37429</population>
-<currencyCode>ANG</currencyCode>
-<languages>nl,en</languages>
-<geonameId>7609695</geonameId>
-<west>-63.14146165934278</west>
-<north>18.065188278978088</north>
-<east>-63.0104194322962</east>
-<south>18.006632279377143</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>SY</countryCode>
-<countryName>Syria</countryName>
-<isoNumeric>760</isoNumeric>
-<isoAlpha3>SYR</isoAlpha3>
-<fipsCode>SY</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Damascus</capital>
-<areaInSqKm>185180.0</areaInSqKm>
-<population>22198110</population>
-<currencyCode>SYP</currencyCode>
-<languages>ar-SY,ku,hy,arc,fr,en</languages>
-<geonameId>163843</geonameId>
-<west>35.727222</west>
-<north>37.319138</north>
-<east>42.385029</east>
-<south>32.310665</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>SZ</countryCode>
-<countryName>Swaziland</countryName>
-<isoNumeric>748</isoNumeric>
-<isoAlpha3>SWZ</isoAlpha3>
-<fipsCode>WZ</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Mbabane</capital>
-<areaInSqKm>17363.0</areaInSqKm>
-<population>1354051</population>
-<currencyCode>SZL</currencyCode>
-<languages>en-SZ,ss-SZ</languages>
-<geonameId>934841</geonameId>
-<west>30.794107</west>
-<north>-25.719648</north>
-<east>32.13726</east>
-<south>-27.317101</south>
-<postalCodeFormat>@###</postalCodeFormat>
-</country>
-<country>
-<countryCode>TC</countryCode>
-<countryName>Turks and Caicos Islands</countryName>
-<isoNumeric>796</isoNumeric>
-<isoAlpha3>TCA</isoAlpha3>
-<fipsCode>TK</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Cockburn Town</capital>
-<areaInSqKm>430.0</areaInSqKm>
-<population>20556</population>
-<currencyCode>USD</currencyCode>
-<languages>en-TC</languages>
-<geonameId>3576916</geonameId>
-<west>-72.483871</west>
-<north>21.961878</north>
-<east>-71.123642</east>
-<south>21.422626</south>
-<postalCodeFormat>TKCA 1ZZ</postalCodeFormat>
-</country>
-<country>
-<countryCode>TD</countryCode>
-<countryName>Chad</countryName>
-<isoNumeric>148</isoNumeric>
-<isoAlpha3>TCD</isoAlpha3>
-<fipsCode>CD</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>N'Djamena</capital>
-<areaInSqKm>1284000.0</areaInSqKm>
-<population>10543464</population>
-<currencyCode>XAF</currencyCode>
-<languages>fr-TD,ar-TD,sre</languages>
-<geonameId>2434508</geonameId>
-<west>13.473475</west>
-<north>23.450369</north>
-<east>24.002661</east>
-<south>7.441068</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>TF</countryCode>
-<countryName>French Southern Territories</countryName>
-<isoNumeric>260</isoNumeric>
-<isoAlpha3>ATF</isoAlpha3>
-<fipsCode>FS</fipsCode>
-<continent>AN</continent>
-<continentName>Antarctica</continentName>
-<capital>Port-aux-Français</capital>
-<areaInSqKm>7829.0</areaInSqKm>
-<population>140</population>
-<currencyCode>EUR</currencyCode>
-<languages>fr</languages>
-<geonameId>1546748</geonameId>
-<west>50.170258</west>
-<north>-37.790722</north>
-<east>77.598808</east>
-<south>-49.735184</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>TG</countryCode>
-<countryName>Togo</countryName>
-<isoNumeric>768</isoNumeric>
-<isoAlpha3>TGO</isoAlpha3>
-<fipsCode>TO</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Lomé</capital>
-<areaInSqKm>56785.0</areaInSqKm>
-<population>6587239</population>
-<currencyCode>XOF</currencyCode>
-<languages>fr-TG,ee,hna,kbp,dag,ha</languages>
-<geonameId>2363686</geonameId>
-<west>-0.147324</west>
-<north>11.138977</north>
-<east>1.806693</east>
-<south>6.104417</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>TH</countryCode>
-<countryName>Thailand</countryName>
-<isoNumeric>764</isoNumeric>
-<isoAlpha3>THA</isoAlpha3>
-<fipsCode>TH</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Bangkok</capital>
-<areaInSqKm>514000.0</areaInSqKm>
-<population>67089500</population>
-<currencyCode>THB</currencyCode>
-<languages>th,en</languages>
-<geonameId>1605651</geonameId>
-<west>97.345642</west>
-<north>20.463194</north>
-<east>105.639389</east>
-<south>5.61</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>TJ</countryCode>
-<countryName>Tajikistan</countryName>
-<isoNumeric>762</isoNumeric>
-<isoAlpha3>TJK</isoAlpha3>
-<fipsCode>TI</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Dushanbe</capital>
-<areaInSqKm>143100.0</areaInSqKm>
-<population>7487489</population>
-<currencyCode>TJS</currencyCode>
-<languages>tg,ru</languages>
-<geonameId>1220409</geonameId>
-<west>67.387138</west>
-<north>41.042252</north>
-<east>75.137222</east>
-<south>36.674137</south>
-<postalCodeFormat>######</postalCodeFormat>
-</country>
-<country>
-<countryCode>TK</countryCode>
-<countryName>Tokelau</countryName>
-<isoNumeric>772</isoNumeric>
-<isoAlpha3>TKL</isoAlpha3>
-<fipsCode>TL</fipsCode>
-<continent>OC</continent>
-<continentName>Oceania</continentName>
-<capital/>
-<areaInSqKm>10.0</areaInSqKm>
-<population>1466</population>
-<currencyCode>NZD</currencyCode>
-<languages>tkl,en-TK</languages>
-<geonameId>4031074</geonameId>
-<west>-172.50033569335938</west>
-<north>-8.553613662719727</north>
-<east>-171.21142578125</east>
-<south>-9.381111145019531</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>TL</countryCode>
-<countryName>East Timor</countryName>
-<isoNumeric>626</isoNumeric>
-<isoAlpha3>TLS</isoAlpha3>
-<fipsCode>TT</fipsCode>
-<continent>OC</continent>
-<continentName>Oceania</continentName>
-<capital>Dili</capital>
-<areaInSqKm>15007.0</areaInSqKm>
-<population>1154625</population>
-<currencyCode>USD</currencyCode>
-<languages>tet,pt-TL,id,en</languages>
-<geonameId>1966436</geonameId>
-<west>124.04464721679688</west>
-<north>-8.12687015533447</north>
-<east>127.34211730957031</east>
-<south>-9.504650115966797</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>TM</countryCode>
-<countryName>Turkmenistan</countryName>
-<isoNumeric>795</isoNumeric>
-<isoAlpha3>TKM</isoAlpha3>
-<fipsCode>TX</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Ashgabat</capital>
-<areaInSqKm>488100.0</areaInSqKm>
-<population>4940916</population>
-<currencyCode>TMT</currencyCode>
-<languages>tk,ru,uz</languages>
-<geonameId>1218197</geonameId>
-<west>52.441444</west>
-<north>42.795555</north>
-<east>66.684303</east>
-<south>35.141083</south>
-<postalCodeFormat>######</postalCodeFormat>
-</country>
-<country>
-<countryCode>TN</countryCode>
-<countryName>Tunisia</countryName>
-<isoNumeric>788</isoNumeric>
-<isoAlpha3>TUN</isoAlpha3>
-<fipsCode>TS</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Tunis</capital>
-<areaInSqKm>163610.0</areaInSqKm>
-<population>10589025</population>
-<currencyCode>TND</currencyCode>
-<languages>ar-TN,fr</languages>
-<geonameId>2464461</geonameId>
-<west>7.524833</west>
-<north>37.543915</north>
-<east>11.598278</east>
-<south>30.240417</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>TO</countryCode>
-<countryName>Tonga</countryName>
-<isoNumeric>776</isoNumeric>
-<isoAlpha3>TON</isoAlpha3>
-<fipsCode>TN</fipsCode>
-<continent>OC</continent>
-<continentName>Oceania</continentName>
-<capital>Nuku'alofa</capital>
-<areaInSqKm>748.0</areaInSqKm>
-<population>122580</population>
-<currencyCode>TOP</currencyCode>
-<languages>to,en-TO</languages>
-<geonameId>4032283</geonameId>
-<west>-175.682266</west>
-<north>-15.562988</north>
-<east>-173.907578</east>
-<south>-21.455057</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>TR</countryCode>
-<countryName>Turkey</countryName>
-<isoNumeric>792</isoNumeric>
-<isoAlpha3>TUR</isoAlpha3>
-<fipsCode>TU</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Ankara</capital>
-<areaInSqKm>780580.0</areaInSqKm>
-<population>77804122</population>
-<currencyCode>TRY</currencyCode>
-<languages>tr-TR,ku,diq,az,av</languages>
-<geonameId>298795</geonameId>
-<west>25.668501</west>
-<north>42.107613</north>
-<east>44.834999</east>
-<south>35.815418</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>TT</countryCode>
-<countryName>Trinidad and Tobago</countryName>
-<isoNumeric>780</isoNumeric>
-<isoAlpha3>TTO</isoAlpha3>
-<fipsCode>TD</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Port of Spain</capital>
-<areaInSqKm>5128.0</areaInSqKm>
-<population>1328019</population>
-<currencyCode>TTD</currencyCode>
-<languages>en-TT,hns,fr,es,zh</languages>
-<geonameId>3573591</geonameId>
-<west>-61.923771</west>
-<north>11.338342</north>
-<east>-60.517933</east>
-<south>10.036105</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>TV</countryCode>
-<countryName>Tuvalu</countryName>
-<isoNumeric>798</isoNumeric>
-<isoAlpha3>TUV</isoAlpha3>
-<fipsCode>TV</fipsCode>
-<continent>OC</continent>
-<continentName>Oceania</continentName>
-<capital>Funafuti</capital>
-<areaInSqKm>26.0</areaInSqKm>
-<population>10472</population>
-<currencyCode>AUD</currencyCode>
-<languages>tvl,en,sm,gil</languages>
-<geonameId>2110297</geonameId>
-<west>176.064865</west>
-<north>-5.641972</north>
-<east>179.863281</east>
-<south>-10.801169</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>TW</countryCode>
-<countryName>Taiwan</countryName>
-<isoNumeric>158</isoNumeric>
-<isoAlpha3>TWN</isoAlpha3>
-<fipsCode>TW</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Taipei</capital>
-<areaInSqKm>35980.0</areaInSqKm>
-<population>22894384</population>
-<currencyCode>TWD</currencyCode>
-<languages>zh-TW,zh,nan,hak</languages>
-<geonameId>1668284</geonameId>
-<west>119.534691</west>
-<north>25.3002899036181</north>
-<east>122.006739823315</east>
-<south>21.896606934717</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>TZ</countryCode>
-<countryName>Tanzania</countryName>
-<isoNumeric>834</isoNumeric>
-<isoAlpha3>TZA</isoAlpha3>
-<fipsCode>TZ</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Dodoma</capital>
-<areaInSqKm>945087.0</areaInSqKm>
-<population>41892895</population>
-<currencyCode>TZS</currencyCode>
-<languages>sw-TZ,en,ar</languages>
-<geonameId>149590</geonameId>
-<west>29.327168</west>
-<north>-0.990736</north>
-<east>40.443222</east>
-<south>-11.745696</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>UA</countryCode>
-<countryName>Ukraine</countryName>
-<isoNumeric>804</isoNumeric>
-<isoAlpha3>UKR</isoAlpha3>
-<fipsCode>UP</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Kiev</capital>
-<areaInSqKm>603700.0</areaInSqKm>
-<population>45415596</population>
-<currencyCode>UAH</currencyCode>
-<languages>uk,ru-UA,rom,pl,hu</languages>
-<geonameId>690791</geonameId>
-<west>22.128889</west>
-<north>52.369362</north>
-<east>40.20739</east>
-<south>44.390415</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>UG</countryCode>
-<countryName>Uganda</countryName>
-<isoNumeric>800</isoNumeric>
-<isoAlpha3>UGA</isoAlpha3>
-<fipsCode>UG</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Kampala</capital>
-<areaInSqKm>236040.0</areaInSqKm>
-<population>33398682</population>
-<currencyCode>UGX</currencyCode>
-<languages>en-UG,lg,sw,ar</languages>
-<geonameId>226074</geonameId>
-<west>29.573465338129</west>
-<north>4.23136926690327</north>
-<east>35.0010535324228</east>
-<south>-1.48153052848838</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>UM</countryCode>
-<countryName>U.S. Minor Outlying Islands</countryName>
-<isoNumeric>581</isoNumeric>
-<isoAlpha3>UMI</isoAlpha3>
-<fipsCode/>
-<continent>OC</continent>
-<continentName>Oceania</continentName>
-<capital/>
-<areaInSqKm>0.0</areaInSqKm>
-<population>0</population>
-<currencyCode>USD</currencyCode>
-<languages>en-UM</languages>
-<geonameId>5854968</geonameId>
-<west>-177.392029</west>
-<north>28.219814</north>
-<east>166.654526</east>
-<south>-0.389006</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>US</countryCode>
-<countryName>United States</countryName>
-<isoNumeric>840</isoNumeric>
-<isoAlpha3>USA</isoAlpha3>
-<fipsCode>US</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Washington</capital>
-<areaInSqKm>9629091.0</areaInSqKm>
-<population>310232863</population>
-<currencyCode>USD</currencyCode>
-<languages>en-US,es-US,haw,fr</languages>
-<geonameId>6252001</geonameId>
-<west>-124.733253</west>
-<north>49.388611</north>
-<east>-66.954811</east>
-<south>24.544245</south>
-<postalCodeFormat>#####-####</postalCodeFormat>
-</country>
-<country>
-<countryCode>UY</countryCode>
-<countryName>Uruguay</countryName>
-<isoNumeric>858</isoNumeric>
-<isoAlpha3>URY</isoAlpha3>
-<fipsCode>UY</fipsCode>
-<continent>SA</continent>
-<continentName>South America</continentName>
-<capital>Montevideo</capital>
-<areaInSqKm>176220.0</areaInSqKm>
-<population>3477000</population>
-<currencyCode>UYU</currencyCode>
-<languages>es-UY</languages>
-<geonameId>3439705</geonameId>
-<west>-58.4393489790361</west>
-<north>-30.0855024328825</north>
-<east>-53.1810509360802</east>
-<south>-34.9740543027064</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>UZ</countryCode>
-<countryName>Uzbekistan</countryName>
-<isoNumeric>860</isoNumeric>
-<isoAlpha3>UZB</isoAlpha3>
-<fipsCode>UZ</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Tashkent</capital>
-<areaInSqKm>447400.0</areaInSqKm>
-<population>27865738</population>
-<currencyCode>UZS</currencyCode>
-<languages>uz,ru,tg</languages>
-<geonameId>1512440</geonameId>
-<west>55.996639</west>
-<north>45.575001</north>
-<east>73.132278</east>
-<south>37.184444</south>
-<postalCodeFormat>######</postalCodeFormat>
-</country>
-<country>
-<countryCode>VA</countryCode>
-<countryName>Vatican City</countryName>
-<isoNumeric>336</isoNumeric>
-<isoAlpha3>VAT</isoAlpha3>
-<fipsCode>VT</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Vatican City</capital>
-<areaInSqKm>0.44</areaInSqKm>
-<population>921</population>
-<currencyCode>EUR</currencyCode>
-<languages>la,it,fr</languages>
-<geonameId>3164670</geonameId>
-<west>12.44570678169205</west>
-<north>41.90743830885576</north>
-<east>12.45837546629481</east>
-<south>41.90027960306854</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>VC</countryCode>
-<countryName>Saint Vincent and the Grenadines</countryName>
-<isoNumeric>670</isoNumeric>
-<isoAlpha3>VCT</isoAlpha3>
-<fipsCode>VC</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Kingstown</capital>
-<areaInSqKm>389.0</areaInSqKm>
-<population>104217</population>
-<currencyCode>XCD</currencyCode>
-<languages>en-VC,fr</languages>
-<geonameId>3577815</geonameId>
-<west>-61.46090317727658</west>
-<north>13.377834</north>
-<east>-61.11388</east>
-<south>12.583984810969037</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>VE</countryCode>
-<countryName>Venezuela</countryName>
-<isoNumeric>862</isoNumeric>
-<isoAlpha3>VEN</isoAlpha3>
-<fipsCode>VE</fipsCode>
-<continent>SA</continent>
-<continentName>South America</continentName>
-<capital>Caracas</capital>
-<areaInSqKm>912050.0</areaInSqKm>
-<population>27223228</population>
-<currencyCode>VEF</currencyCode>
-<languages>es-VE</languages>
-<geonameId>3625428</geonameId>
-<west>-73.354073</west>
-<north>12.201903</north>
-<east>-59.80378</east>
-<south>0.626311</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>VG</countryCode>
-<countryName>British Virgin Islands</countryName>
-<isoNumeric>092</isoNumeric>
-<isoAlpha3>VGB</isoAlpha3>
-<fipsCode>VI</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Road Town</capital>
-<areaInSqKm>153.0</areaInSqKm>
-<population>21730</population>
-<currencyCode>USD</currencyCode>
-<languages>en-VG</languages>
-<geonameId>3577718</geonameId>
-<west>-64.71312752730364</west>
-<north>18.757221</north>
-<east>-64.268768</east>
-<south>18.383710898211305</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>VI</countryCode>
-<countryName>U.S. Virgin Islands</countryName>
-<isoNumeric>850</isoNumeric>
-<isoAlpha3>VIR</isoAlpha3>
-<fipsCode>VQ</fipsCode>
-<continent>NA</continent>
-<continentName>North America</continentName>
-<capital>Charlotte Amalie</capital>
-<areaInSqKm>352.0</areaInSqKm>
-<population>108708</population>
-<currencyCode>USD</currencyCode>
-<languages>en-VI</languages>
-<geonameId>4796775</geonameId>
-<west>-65.101333</west>
-<north>18.415382</north>
-<east>-64.565193</east>
-<south>17.673931</south>
-<postalCodeFormat>#####-####</postalCodeFormat>
-</country>
-<country>
-<countryCode>VN</countryCode>
-<countryName>Vietnam</countryName>
-<isoNumeric>704</isoNumeric>
-<isoAlpha3>VNM</isoAlpha3>
-<fipsCode>VM</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Hanoi</capital>
-<areaInSqKm>329560.0</areaInSqKm>
-<population>89571130</population>
-<currencyCode>VND</currencyCode>
-<languages>vi,en,fr,zh,km</languages>
-<geonameId>1562822</geonameId>
-<west>102.148224</west>
-<north>23.388834</north>
-<east>109.464638</east>
-<south>8.559611</south>
-<postalCodeFormat>######</postalCodeFormat>
-</country>
-<country>
-<countryCode>VU</countryCode>
-<countryName>Vanuatu</countryName>
-<isoNumeric>548</isoNumeric>
-<isoAlpha3>VUT</isoAlpha3>
-<fipsCode>NH</fipsCode>
-<continent>OC</continent>
-<continentName>Oceania</continentName>
-<capital>Port Vila</capital>
-<areaInSqKm>12200.0</areaInSqKm>
-<population>221552</population>
-<currencyCode>VUV</currencyCode>
-<languages>bi,en-VU,fr-VU</languages>
-<geonameId>2134431</geonameId>
-<west>166.524979</west>
-<north>-13.073444</north>
-<east>169.904785</east>
-<south>-20.248945</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>WF</countryCode>
-<countryName>Wallis and Futuna</countryName>
-<isoNumeric>876</isoNumeric>
-<isoAlpha3>WLF</isoAlpha3>
-<fipsCode>WF</fipsCode>
-<continent>OC</continent>
-<continentName>Oceania</continentName>
-<capital>Mata-Utu</capital>
-<areaInSqKm>274.0</areaInSqKm>
-<population>16025</population>
-<currencyCode>XPF</currencyCode>
-<languages>wls,fud,fr-WF</languages>
-<geonameId>4034749</geonameId>
-<west>-178.1848112896414</west>
-<north>-13.216758181061444</north>
-<east>-176.16174317718253</east>
-<south>-14.314559989820843</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>WS</countryCode>
-<countryName>Samoa</countryName>
-<isoNumeric>882</isoNumeric>
-<isoAlpha3>WSM</isoAlpha3>
-<fipsCode>WS</fipsCode>
-<continent>OC</continent>
-<continentName>Oceania</continentName>
-<capital>Apia</capital>
-<areaInSqKm>2944.0</areaInSqKm>
-<population>192001</population>
-<currencyCode>WST</currencyCode>
-<languages>sm,en-WS</languages>
-<geonameId>4034894</geonameId>
-<west>-172.798599</west>
-<north>-13.432207</north>
-<east>-171.415741</east>
-<south>-14.040939</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>XK</countryCode>
-<countryName>Kosovo</countryName>
-<isoNumeric>0</isoNumeric>
-<isoAlpha3>XKX</isoAlpha3>
-<fipsCode>KV</fipsCode>
-<continent>EU</continent>
-<continentName>Europe</continentName>
-<capital>Pristina</capital>
-<areaInSqKm>10908.0</areaInSqKm>
-<population>1800000</population>
-<currencyCode>EUR</currencyCode>
-<languages>sq,sr</languages>
-<geonameId>831053</geonameId>
-<west>19.977481504492914</west>
-<north>43.2682495807952</north>
-<east>21.80335088694943</east>
-<south>41.856369601859925</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>YE</countryCode>
-<countryName>Yemen</countryName>
-<isoNumeric>887</isoNumeric>
-<isoAlpha3>YEM</isoAlpha3>
-<fipsCode>YM</fipsCode>
-<continent>AS</continent>
-<continentName>Asia</continentName>
-<capital>Sanaa</capital>
-<areaInSqKm>527970.0</areaInSqKm>
-<population>23495361</population>
-<currencyCode>YER</currencyCode>
-<languages>ar-YE</languages>
-<geonameId>69543</geonameId>
-<west>42.5325394314234</west>
-<north>18.9999989031009</north>
-<east>54.5305388163283</east>
-<south>12.1110910264462</south>
-<postalCodeFormat/>
-</country>
-<country>
-<countryCode>YT</countryCode>
-<countryName>Mayotte</countryName>
-<isoNumeric>175</isoNumeric>
-<isoAlpha3>MYT</isoAlpha3>
-<fipsCode>MF</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Mamoudzou</capital>
-<areaInSqKm>374.0</areaInSqKm>
-<population>159042</population>
-<currencyCode>EUR</currencyCode>
-<languages>fr-YT</languages>
-<geonameId>1024031</geonameId>
-<west>45.03796</west>
-<north>-12.648891</north>
-<east>45.29295</east>
-<south>-13.000132</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>ZA</countryCode>
-<countryName>South Africa</countryName>
-<isoNumeric>710</isoNumeric>
-<isoAlpha3>ZAF</isoAlpha3>
-<fipsCode>SF</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Pretoria</capital>
-<areaInSqKm>1219912.0</areaInSqKm>
-<population>49000000</population>
-<currencyCode>ZAR</currencyCode>
-<languages>zu,xh,af,nso,en-ZA,tn,st,ts,ss,ve,nr</languages>
-<geonameId>953987</geonameId>
-<west>16.45189</west>
-<north>-22.1250300579999</north>
-<east>32.944984945</east>
-<south>-34.8341700029999</south>
-<postalCodeFormat>####</postalCodeFormat>
-</country>
-<country>
-<countryCode>ZM</countryCode>
-<countryName>Zambia</countryName>
-<isoNumeric>894</isoNumeric>
-<isoAlpha3>ZMB</isoAlpha3>
-<fipsCode>ZA</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Lusaka</capital>
-<areaInSqKm>752614.0</areaInSqKm>
-<population>13460305</population>
-<currencyCode>ZMW</currencyCode>
-<languages>en-ZM,bem,loz,lun,lue,ny,toi</languages>
-<geonameId>895949</geonameId>
-<west>21.999371</west>
-<north>-8.22436</north>
-<east>33.705704</east>
-<south>-18.079473</south>
-<postalCodeFormat>#####</postalCodeFormat>
-</country>
-<country>
-<countryCode>ZW</countryCode>
-<countryName>Zimbabwe</countryName>
-<isoNumeric>716</isoNumeric>
-<isoAlpha3>ZWE</isoAlpha3>
-<fipsCode>ZI</fipsCode>
-<continent>AF</continent>
-<continentName>Africa</continentName>
-<capital>Harare</capital>
-<areaInSqKm>390580.0</areaInSqKm>
-<population>13061000</population>
-<currencyCode>ZWL</currencyCode>
-<languages>en-ZW,sn,nr,nd</languages>
-<geonameId>878675</geonameId>
-<west>25.237028</west>
-<north>-15.608835</north>
-<east>33.056305</east>
-<south>-22.417738</south>
-<postalCodeFormat/>
-</country>
+    <country>
+        <countryCode>AD</countryCode>
+        <countryName>Andorra</countryName>
+        <isoNumeric>020</isoNumeric>
+        <isoAlpha3>AND</isoAlpha3>
+        <fipsCode>AN</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Andorra la Vella</capital>
+        <areaInSqKm>468.0</areaInSqKm>
+        <population>77006</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>ca</languages>
+        <geonameId>3041565</geonameId>
+        <west>1.413760001000071</west>
+        <north>42.65576500000003</north>
+        <east>1.786576000000025</east>
+        <south>42.42874300100004</south>
+        <postalCodeFormat>AD###</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>AE</countryCode>
+        <countryName>United Arab Emirates</countryName>
+        <isoNumeric>784</isoNumeric>
+        <isoAlpha3>ARE</isoAlpha3>
+        <fipsCode>AE</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Abu Dhabi</capital>
+        <areaInSqKm>82880.0</areaInSqKm>
+        <population>9630959</population>
+        <currencyCode>AED</currencyCode>
+        <languages>ar-AE,fa,en,hi,ur</languages>
+        <geonameId>290557</geonameId>
+        <west>51.5904085340001</west>
+        <north>26.0693916590001</north>
+        <east>56.381222289</east>
+        <south>22.6315119400001</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>AF</countryCode>
+        <countryName>Afghanistan</countryName>
+        <isoNumeric>004</isoNumeric>
+        <isoAlpha3>AFG</isoAlpha3>
+        <fipsCode>AF</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Kabul</capital>
+        <areaInSqKm>647500.0</areaInSqKm>
+        <population>37172386</population>
+        <currencyCode>AFN</currencyCode>
+        <languages>fa-AF,ps,uz-AF,tk</languages>
+        <geonameId>1149361</geonameId>
+        <west>60.4720833972263</west>
+        <north>38.4907920755748</north>
+        <east>74.8894511481168</east>
+        <south>29.3770645357176</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>AG</countryCode>
+        <countryName>Antigua and Barbuda</countryName>
+        <isoNumeric>028</isoNumeric>
+        <isoAlpha3>ATG</isoAlpha3>
+        <fipsCode>AC</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>St John's</capital>
+        <areaInSqKm>443.0</areaInSqKm>
+        <population>96286</population>
+        <currencyCode>XCD</currencyCode>
+        <languages>en-AG</languages>
+        <geonameId>3576396</geonameId>
+        <west>-61.90630722</west>
+        <north>17.72910877443121</north>
+        <east>-61.672164917</east>
+        <south>16.9986381530001</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>AI</countryCode>
+        <countryName>Anguilla</countryName>
+        <isoNumeric>660</isoNumeric>
+        <isoAlpha3>AIA</isoAlpha3>
+        <fipsCode>AV</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>The Valley</capital>
+        <areaInSqKm>102.0</areaInSqKm>
+        <population>13254</population>
+        <currencyCode>XCD</currencyCode>
+        <languages>en-AI</languages>
+        <geonameId>3573511</geonameId>
+        <west>-63.16808989603879</west>
+        <north>18.276901971658063</north>
+        <east>-62.96655544577948</east>
+        <south>18.160292974311673</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>AL</countryCode>
+        <countryName>Albania</countryName>
+        <isoNumeric>008</isoNumeric>
+        <isoAlpha3>ALB</isoAlpha3>
+        <fipsCode>AL</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Tirana</capital>
+        <areaInSqKm>28748.0</areaInSqKm>
+        <population>2866376</population>
+        <currencyCode>ALL</currencyCode>
+        <languages>sq,el</languages>
+        <geonameId>783754</geonameId>
+        <west>19.2639112711741</west>
+        <north>42.6611669383269</north>
+        <east>21.0574334835312</east>
+        <south>39.6448624829142</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>AM</countryCode>
+        <countryName>Armenia</countryName>
+        <isoNumeric>051</isoNumeric>
+        <isoAlpha3>ARM</isoAlpha3>
+        <fipsCode>AM</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Yerevan</capital>
+        <areaInSqKm>29800.0</areaInSqKm>
+        <population>2951776</population>
+        <currencyCode>AMD</currencyCode>
+        <languages>hy</languages>
+        <geonameId>174982</geonameId>
+        <west>43.447417525</west>
+        <north>41.3009930000001</north>
+        <east>46.6342220000001</east>
+        <south>38.840244</south>
+        <postalCodeFormat>######</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>AO</countryCode>
+        <countryName>Angola</countryName>
+        <isoNumeric>024</isoNumeric>
+        <isoAlpha3>AGO</isoAlpha3>
+        <fipsCode>AO</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Luanda</capital>
+        <areaInSqKm>1246700.0</areaInSqKm>
+        <population>30809762</population>
+        <currencyCode>AOA</currencyCode>
+        <languages>pt-AO</languages>
+        <geonameId>3351879</geonameId>
+        <west>11.679219</west>
+        <north>-4.376826</north>
+        <east>24.082119</east>
+        <south>-18.042076</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>AQ</countryCode>
+        <countryName>Antarctica</countryName>
+        <isoNumeric>010</isoNumeric>
+        <isoAlpha3>ATA</isoAlpha3>
+        <fipsCode>AY</fipsCode>
+        <continent>AN</continent>
+        <continentName>Antarctica</continentName>
+        <capital/>
+        <areaInSqKm>1.4E7</areaInSqKm>
+        <population>0</population>
+        <currencyCode/>
+        <languages/>
+        <geonameId>6697173</geonameId>
+        <west>-179.9999</west>
+        <north>-60.515533</north>
+        <east>179.9999</east>
+        <south>-89.9999</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>AR</countryCode>
+        <countryName>Argentina</countryName>
+        <isoNumeric>032</isoNumeric>
+        <isoAlpha3>ARG</isoAlpha3>
+        <fipsCode>AR</fipsCode>
+        <continent>SA</continent>
+        <continentName>South America</continentName>
+        <capital>Buenos Aires</capital>
+        <areaInSqKm>2766890.0</areaInSqKm>
+        <population>44494502</population>
+        <currencyCode>ARS</currencyCode>
+        <languages>es-AR,en,it,de,fr,gn</languages>
+        <geonameId>3865483</geonameId>
+        <west>-73.566302817</west>
+        <north>-21.777951173</north>
+        <east>-53.637962552</east>
+        <south>-55.0576984539999</south>
+        <postalCodeFormat>@####@@@</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>AS</countryCode>
+        <countryName>American Samoa</countryName>
+        <isoNumeric>016</isoNumeric>
+        <isoAlpha3>ASM</isoAlpha3>
+        <fipsCode>AQ</fipsCode>
+        <continent>OC</continent>
+        <continentName>Oceania</continentName>
+        <capital>Pago Pago</capital>
+        <areaInSqKm>199.0</areaInSqKm>
+        <population>55465</population>
+        <currencyCode>USD</currencyCode>
+        <languages>en-AS,sm,to</languages>
+        <geonameId>5880801</geonameId>
+        <west>-171.090042</west>
+        <north>-11.047857</north>
+        <east>-169.418925</east>
+        <south>-14.373776</south>
+        <postalCodeFormat>#####-####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>AT</countryCode>
+        <countryName>Austria</countryName>
+        <isoNumeric>040</isoNumeric>
+        <isoAlpha3>AUT</isoAlpha3>
+        <fipsCode>AU</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Vienna</capital>
+        <areaInSqKm>83858.0</areaInSqKm>
+        <population>8847037</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>de-AT,hr,hu,sl</languages>
+        <geonameId>2782113</geonameId>
+        <west>9.53095237240833</west>
+        <north>49.0211627691393</north>
+        <east>17.1620685652599</east>
+        <south>46.3726520216244</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>AU</countryCode>
+        <countryName>Australia</countryName>
+        <isoNumeric>036</isoNumeric>
+        <isoAlpha3>AUS</isoAlpha3>
+        <fipsCode>AS</fipsCode>
+        <continent>OC</continent>
+        <continentName>Oceania</continentName>
+        <capital>Canberra</capital>
+        <areaInSqKm>7686850.0</areaInSqKm>
+        <population>24992369</population>
+        <currencyCode>AUD</currencyCode>
+        <languages>en-AU</languages>
+        <geonameId>2077456</geonameId>
+        <west>112.921113949</west>
+        <north>-10.059130975</north>
+        <east>153.638727019</east>
+        <south>-43.643194904</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>AW</countryCode>
+        <countryName>Aruba</countryName>
+        <isoNumeric>533</isoNumeric>
+        <isoAlpha3>ABW</isoAlpha3>
+        <fipsCode>AA</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Oranjestad</capital>
+        <areaInSqKm>193.0</areaInSqKm>
+        <population>105845</population>
+        <currencyCode>AWG</currencyCode>
+        <languages>nl-AW,pap,es,en</languages>
+        <geonameId>3577279</geonameId>
+        <west>-70.0644737196045</west>
+        <north>12.623718127152925</north>
+        <east>-69.86575120104982</east>
+        <south>12.411707706190716</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>AX</countryCode>
+        <countryName>Åland</countryName>
+        <isoNumeric>248</isoNumeric>
+        <isoAlpha3>ALA</isoAlpha3>
+        <fipsCode/>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Mariehamn</capital>
+        <areaInSqKm>1580.0</areaInSqKm>
+        <population>26711</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>sv-AX</languages>
+        <geonameId>661882</geonameId>
+        <west>19.317694</west>
+        <north>60.488861</north>
+        <east>21.011862</east>
+        <south>59.90675</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>AZ</countryCode>
+        <countryName>Azerbaijan</countryName>
+        <isoNumeric>031</isoNumeric>
+        <isoAlpha3>AZE</isoAlpha3>
+        <fipsCode>AJ</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Baku</capital>
+        <areaInSqKm>86600.0</areaInSqKm>
+        <population>9942334</population>
+        <currencyCode>AZN</currencyCode>
+        <languages>az,ru,hy</languages>
+        <geonameId>587116</geonameId>
+        <west>44.764683001</west>
+        <north>41.9123400010001</north>
+        <east>50.3700828550001</east>
+        <south>38.3922170010001</south>
+        <postalCodeFormat>AZ ####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>BA</countryCode>
+        <countryName>Bosnia and Herzegovina</countryName>
+        <isoNumeric>070</isoNumeric>
+        <isoAlpha3>BIH</isoAlpha3>
+        <fipsCode>BK</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Sarajevo</capital>
+        <areaInSqKm>51129.0</areaInSqKm>
+        <population>3323929</population>
+        <currencyCode>BAM</currencyCode>
+        <languages>bs,hr-BA,sr-BA</languages>
+        <geonameId>3277605</geonameId>
+        <west>15.728732108</west>
+        <north>45.276539649</north>
+        <east>19.6237016800001</east>
+        <south>42.555473846</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>BB</countryCode>
+        <countryName>Barbados</countryName>
+        <isoNumeric>052</isoNumeric>
+        <isoAlpha3>BRB</isoAlpha3>
+        <fipsCode>BB</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Bridgetown</capital>
+        <areaInSqKm>431.0</areaInSqKm>
+        <population>286641</population>
+        <currencyCode>BBD</currencyCode>
+        <languages>en-BB</languages>
+        <geonameId>3374084</geonameId>
+        <west>-59.6526374819999</west>
+        <north>13.3358612060001</north>
+        <east>-59.420749664</east>
+        <south>13.0448331850001</south>
+        <postalCodeFormat>BB#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>BD</countryCode>
+        <countryName>Bangladesh</countryName>
+        <isoNumeric>050</isoNumeric>
+        <isoAlpha3>BGD</isoAlpha3>
+        <fipsCode>BG</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Dhaka</capital>
+        <areaInSqKm>144000.0</areaInSqKm>
+        <population>161356039</population>
+        <currencyCode>BDT</currencyCode>
+        <languages>bn-BD,en</languages>
+        <geonameId>1210997</geonameId>
+        <west>88.028336</west>
+        <north>26.631945</north>
+        <east>92.673668</east>
+        <south>20.743334</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>BE</countryCode>
+        <countryName>Belgium</countryName>
+        <isoNumeric>056</isoNumeric>
+        <isoAlpha3>BEL</isoAlpha3>
+        <fipsCode>BE</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Brussels</capital>
+        <areaInSqKm>30510.0</areaInSqKm>
+        <population>11422068</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>nl-BE,fr-BE,de-BE</languages>
+        <geonameId>2802361</geonameId>
+        <west>2.54132898439873</west>
+        <north>51.5051118897455</north>
+        <east>6.40793743953125</east>
+        <south>49.496968483036</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>BF</countryCode>
+        <countryName>Burkina Faso</countryName>
+        <isoNumeric>854</isoNumeric>
+        <isoAlpha3>BFA</isoAlpha3>
+        <fipsCode>UV</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Ouagadougou</capital>
+        <areaInSqKm>274200.0</areaInSqKm>
+        <population>19751535</population>
+        <currencyCode>XOF</currencyCode>
+        <languages>fr-BF,mos</languages>
+        <geonameId>2361809</geonameId>
+        <west>-5.51324157299996</west>
+        <north>15.084033447</north>
+        <east>2.40435976900005</east>
+        <south>9.41047177500008</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>BG</countryCode>
+        <countryName>Bulgaria</countryName>
+        <isoNumeric>100</isoNumeric>
+        <isoAlpha3>BGR</isoAlpha3>
+        <fipsCode>BU</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Sofia</capital>
+        <areaInSqKm>110910.0</areaInSqKm>
+        <population>7000039</population>
+        <currencyCode>BGN</currencyCode>
+        <languages>bg,tr-BG,rom</languages>
+        <geonameId>732800</geonameId>
+        <west>22.357156753</west>
+        <north>44.215451</north>
+        <east>28.6102771760001</east>
+        <south>41.2353414930001</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>BH</countryCode>
+        <countryName>Bahrain</countryName>
+        <isoNumeric>048</isoNumeric>
+        <isoAlpha3>BHR</isoAlpha3>
+        <fipsCode>BA</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Manama</capital>
+        <areaInSqKm>665.0</areaInSqKm>
+        <population>1569439</population>
+        <currencyCode>BHD</currencyCode>
+        <languages>ar-BH,en,fa,ur</languages>
+        <geonameId>290291</geonameId>
+        <west>50.3158550000001</west>
+        <north>26.3308150010001</north>
+        <east>50.720622</east>
+        <south>25.790910001</south>
+        <postalCodeFormat>####|###</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>BI</countryCode>
+        <countryName>Burundi</countryName>
+        <isoNumeric>108</isoNumeric>
+        <isoAlpha3>BDI</isoAlpha3>
+        <fipsCode>BY</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Gitega</capital>
+        <areaInSqKm>27830.0</areaInSqKm>
+        <population>11175378</population>
+        <currencyCode>BIF</currencyCode>
+        <languages>fr-BI,rn</languages>
+        <geonameId>433561</geonameId>
+        <west>29.0009680000001</west>
+        <north>-2.30973016299993</north>
+        <east>30.84954</east>
+        <south>-4.46932899899997</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>BJ</countryCode>
+        <countryName>Benin</countryName>
+        <isoNumeric>204</isoNumeric>
+        <isoAlpha3>BEN</isoAlpha3>
+        <fipsCode>BN</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Porto-Novo</capital>
+        <areaInSqKm>112620.0</areaInSqKm>
+        <population>11485048</population>
+        <currencyCode>XOF</currencyCode>
+        <languages>fr-BJ</languages>
+        <geonameId>2395170</geonameId>
+        <west>0.775412326000037</west>
+        <north>12.4086110000001</north>
+        <east>3.84306303800003</east>
+        <south>6.23477794100006</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>BL</countryCode>
+        <countryName>Saint Barthélemy</countryName>
+        <isoNumeric>652</isoNumeric>
+        <isoAlpha3>BLM</isoAlpha3>
+        <fipsCode>TB</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Gustavia</capital>
+        <areaInSqKm>21.0</areaInSqKm>
+        <population>8450</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>fr</languages>
+        <geonameId>3578476</geonameId>
+        <west>-62.8739118253784</west>
+        <north>17.928808791949283</north>
+        <east>-62.788983372985854</east>
+        <south>17.878183227405575</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>BM</countryCode>
+        <countryName>Bermuda</countryName>
+        <isoNumeric>060</isoNumeric>
+        <isoAlpha3>BMU</isoAlpha3>
+        <fipsCode>BD</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Hamilton</capital>
+        <areaInSqKm>53.0</areaInSqKm>
+        <population>63968</population>
+        <currencyCode>BMD</currencyCode>
+        <languages>en-BM,pt</languages>
+        <geonameId>3573345</geonameId>
+        <west>-64.8870418687384</west>
+        <north>32.3909785046382</north>
+        <east>-64.6473267161152</east>
+        <south>32.247240870129</south>
+        <postalCodeFormat>@@ ##</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>BN</countryCode>
+        <countryName>Brunei</countryName>
+        <isoNumeric>096</isoNumeric>
+        <isoAlpha3>BRN</isoAlpha3>
+        <fipsCode>BX</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Bandar Seri Begawan</capital>
+        <areaInSqKm>5770.0</areaInSqKm>
+        <population>428962</population>
+        <currencyCode>BND</currencyCode>
+        <languages>ms-BN,en-BN</languages>
+        <geonameId>1820814</geonameId>
+        <west>114.075926291</west>
+        <north>5.04571171901151</north>
+        <east>115.364671704</east>
+        <south>4.00264384400003</south>
+        <postalCodeFormat>@@####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>BO</countryCode>
+        <countryName>Bolivia</countryName>
+        <isoNumeric>068</isoNumeric>
+        <isoAlpha3>BOL</isoAlpha3>
+        <fipsCode>BL</fipsCode>
+        <continent>SA</continent>
+        <continentName>South America</continentName>
+        <capital>Sucre</capital>
+        <areaInSqKm>1098580.0</areaInSqKm>
+        <population>11353142</population>
+        <currencyCode>BOB</currencyCode>
+        <languages>es-BO,qu,ay</languages>
+        <geonameId>3923057</geonameId>
+        <west>-69.644939573</west>
+        <north>-9.66932299899997</north>
+        <east>-57.4538029999999</east>
+        <south>-22.89809</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>BQ</countryCode>
+        <countryName>Bonaire, Sint Eustatius, and Saba</countryName>
+        <isoNumeric>535</isoNumeric>
+        <isoAlpha3>BES</isoAlpha3>
+        <fipsCode/>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Kralendijk</capital>
+        <areaInSqKm>328.0</areaInSqKm>
+        <population>18012</population>
+        <currencyCode>USD</currencyCode>
+        <languages>nl,pap,en</languages>
+        <geonameId>7626844</geonameId>
+        <west>-68.42092654856276</west>
+        <north>12.312385778727828</north>
+        <east>-68.19423837039591</east>
+        <south>12.024024222896262</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>BR</countryCode>
+        <countryName>Brazil</countryName>
+        <isoNumeric>076</isoNumeric>
+        <isoAlpha3>BRA</isoAlpha3>
+        <fipsCode>BR</fipsCode>
+        <continent>SA</continent>
+        <continentName>South America</continentName>
+        <capital>Brasília</capital>
+        <areaInSqKm>8511965.0</areaInSqKm>
+        <population>209469333</population>
+        <currencyCode>BRL</currencyCode>
+        <languages>pt-BR,es,en,fr</languages>
+        <geonameId>3469034</geonameId>
+        <west>-73.985535</west>
+        <north>5.264877</north>
+        <east>-32.392998</east>
+        <south>-33.750706</south>
+        <postalCodeFormat>#####-###</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>BS</countryCode>
+        <countryName>Bahamas</countryName>
+        <isoNumeric>044</isoNumeric>
+        <isoAlpha3>BHS</isoAlpha3>
+        <fipsCode>BF</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Nassau</capital>
+        <areaInSqKm>13940.0</areaInSqKm>
+        <population>385640</population>
+        <currencyCode>BSD</currencyCode>
+        <languages>en-BS</languages>
+        <geonameId>3572887</geonameId>
+        <west>-78.999528159018</west>
+        <north>26.919243</north>
+        <east>-74.423874</east>
+        <south>22.852743</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>BT</countryCode>
+        <countryName>Bhutan</countryName>
+        <isoNumeric>064</isoNumeric>
+        <isoAlpha3>BTN</isoAlpha3>
+        <fipsCode>BT</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Thimphu</capital>
+        <areaInSqKm>47000.0</areaInSqKm>
+        <population>754394</population>
+        <currencyCode>BTN</currencyCode>
+        <languages>dz</languages>
+        <geonameId>1252634</geonameId>
+        <west>88.7455215570001</west>
+        <north>28.246987001</north>
+        <east>92.12523192</east>
+        <south>26.702020985</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>BV</countryCode>
+        <countryName>Bouvet Island</countryName>
+        <isoNumeric>074</isoNumeric>
+        <isoAlpha3>BVT</isoAlpha3>
+        <fipsCode>BV</fipsCode>
+        <continent>AN</continent>
+        <continentName>Antarctica</continentName>
+        <capital/>
+        <areaInSqKm>49.0</areaInSqKm>
+        <population>0</population>
+        <currencyCode>NOK</currencyCode>
+        <languages/>
+        <geonameId>3371123</geonameId>
+        <west>3.286776428037342</west>
+        <north>-54.3887383509872</north>
+        <east>3.434845577758324</east>
+        <south>-54.4507993522734</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>BW</countryCode>
+        <countryName>Botswana</countryName>
+        <isoNumeric>072</isoNumeric>
+        <isoAlpha3>BWA</isoAlpha3>
+        <fipsCode>BC</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Gaborone</capital>
+        <areaInSqKm>600370.0</areaInSqKm>
+        <population>2254126</population>
+        <currencyCode>BWP</currencyCode>
+        <languages>en-BW,tn-BW</languages>
+        <geonameId>933860</geonameId>
+        <west>19.998903</west>
+        <north>-17.778136999</north>
+        <east>29.375304</east>
+        <south>-26.907545</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>BY</countryCode>
+        <countryName>Belarus</countryName>
+        <isoNumeric>112</isoNumeric>
+        <isoAlpha3>BLR</isoAlpha3>
+        <fipsCode>BO</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Minsk</capital>
+        <areaInSqKm>207600.0</areaInSqKm>
+        <population>9485386</population>
+        <currencyCode>BYN</currencyCode>
+        <languages>be,ru</languages>
+        <geonameId>630336</geonameId>
+        <west>23.1781980010001</west>
+        <north>56.1724940010001</north>
+        <east>32.776820001</east>
+        <south>51.262011</south>
+        <postalCodeFormat>######</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>BZ</countryCode>
+        <countryName>Belize</countryName>
+        <isoNumeric>084</isoNumeric>
+        <isoAlpha3>BLZ</isoAlpha3>
+        <fipsCode>BH</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Belmopan</capital>
+        <areaInSqKm>22966.0</areaInSqKm>
+        <population>383071</population>
+        <currencyCode>BZD</currencyCode>
+        <languages>en-BZ,es</languages>
+        <geonameId>3582678</geonameId>
+        <west>-89.224815</west>
+        <north>18.496557</north>
+        <east>-87.776985</east>
+        <south>15.8893</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>CA</countryCode>
+        <countryName>Canada</countryName>
+        <isoNumeric>124</isoNumeric>
+        <isoAlpha3>CAN</isoAlpha3>
+        <fipsCode>CA</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Ottawa</capital>
+        <areaInSqKm>9984670.0</areaInSqKm>
+        <population>37058856</population>
+        <currencyCode>CAD</currencyCode>
+        <languages>en-CA,fr-CA,iu</languages>
+        <geonameId>6251999</geonameId>
+        <west>-141.0</west>
+        <north>83.110626</north>
+        <east>-52.636291</east>
+        <south>41.67598</south>
+        <postalCodeFormat>@#@ #@#</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>CC</countryCode>
+        <countryName>Cocos (Keeling) Islands</countryName>
+        <isoNumeric>166</isoNumeric>
+        <isoAlpha3>CCK</isoAlpha3>
+        <fipsCode>CK</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>West Island</capital>
+        <areaInSqKm>14.0</areaInSqKm>
+        <population>628</population>
+        <currencyCode>AUD</currencyCode>
+        <languages>ms-CC,en</languages>
+        <geonameId>1547376</geonameId>
+        <west>96.816941408</west>
+        <north>-12.072459094</north>
+        <east>96.929489344</east>
+        <south>-12.208725839</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>CD</countryCode>
+        <countryName>DR Congo</countryName>
+        <isoNumeric>180</isoNumeric>
+        <isoAlpha3>COD</isoAlpha3>
+        <fipsCode>CG</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Kinshasa</capital>
+        <areaInSqKm>2345410.0</areaInSqKm>
+        <population>84068091</population>
+        <currencyCode>CDF</currencyCode>
+        <languages>fr-CD,ln,ktu,kg,sw,lua</languages>
+        <geonameId>203312</geonameId>
+        <west>12.202361491</west>
+        <north>5.39200300000005</north>
+        <east>31.3146120000001</east>
+        <south>-13.459034999</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>CF</countryCode>
+        <countryName>Central African Republic</countryName>
+        <isoNumeric>140</isoNumeric>
+        <isoAlpha3>CAF</isoAlpha3>
+        <fipsCode>CT</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Bangui</capital>
+        <areaInSqKm>622984.0</areaInSqKm>
+        <population>4666377</population>
+        <currencyCode>XAF</currencyCode>
+        <languages>fr-CF,sg,ln,kg</languages>
+        <geonameId>239880</geonameId>
+        <west>14.4150980000001</west>
+        <north>11.017957</north>
+        <east>27.4583050000001</east>
+        <south>2.22305300000005</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>CG</countryCode>
+        <countryName>Congo Republic</countryName>
+        <isoNumeric>178</isoNumeric>
+        <isoAlpha3>COG</isoAlpha3>
+        <fipsCode>CF</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Brazzaville</capital>
+        <areaInSqKm>342000.0</areaInSqKm>
+        <population>5244363</population>
+        <currencyCode>XAF</currencyCode>
+        <languages>fr-CG,kg,ln-CG</languages>
+        <geonameId>2260494</geonameId>
+        <west>11.1520760600001</west>
+        <north>3.70779100000004</north>
+        <east>18.65042119</east>
+        <south>-5.04072158799994</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>CH</countryCode>
+        <countryName>Switzerland</countryName>
+        <isoNumeric>756</isoNumeric>
+        <isoAlpha3>CHE</isoAlpha3>
+        <fipsCode>SZ</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Bern</capital>
+        <areaInSqKm>41290.0</areaInSqKm>
+        <population>8516543</population>
+        <currencyCode>CHF</currencyCode>
+        <languages>de-CH,fr-CH,it-CH,rm</languages>
+        <geonameId>2658434</geonameId>
+        <west>5.95661377423453</west>
+        <north>47.8098679329775</north>
+        <east>10.4934735095497</east>
+        <south>45.8191539516188</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>CI</countryCode>
+        <countryName>Ivory Coast</countryName>
+        <isoNumeric>384</isoNumeric>
+        <isoAlpha3>CIV</isoAlpha3>
+        <fipsCode>IV</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Yamoussoukro</capital>
+        <areaInSqKm>322460.0</areaInSqKm>
+        <population>25069229</population>
+        <currencyCode>XOF</currencyCode>
+        <languages>fr-CI</languages>
+        <geonameId>2287781</geonameId>
+        <west>-8.60205899999994</west>
+        <north>10.740015</north>
+        <east>-2.49303099999997</east>
+        <south>4.36035248000007</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>CK</countryCode>
+        <countryName>Cook Islands</countryName>
+        <isoNumeric>184</isoNumeric>
+        <isoAlpha3>COK</isoAlpha3>
+        <fipsCode>CW</fipsCode>
+        <continent>OC</continent>
+        <continentName>Oceania</continentName>
+        <capital>Avarua</capital>
+        <areaInSqKm>240.0</areaInSqKm>
+        <population>21388</population>
+        <currencyCode>NZD</currencyCode>
+        <languages>en-CK,mi</languages>
+        <geonameId>1899402</geonameId>
+        <west>-161.093658</west>
+        <north>-10.023114</north>
+        <east>-157.312134</east>
+        <south>-21.944164</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>CL</countryCode>
+        <countryName>Chile</countryName>
+        <isoNumeric>152</isoNumeric>
+        <isoAlpha3>CHL</isoAlpha3>
+        <fipsCode>CI</fipsCode>
+        <continent>SA</continent>
+        <continentName>South America</continentName>
+        <capital>Santiago</capital>
+        <areaInSqKm>756950.0</areaInSqKm>
+        <population>18729160</population>
+        <currencyCode>CLP</currencyCode>
+        <languages>es-CL</languages>
+        <geonameId>3895114</geonameId>
+        <west>-80.8370287079999</west>
+        <north>-17.4977759459999</north>
+        <east>-66.416152278</east>
+        <south>-55.909795409</south>
+        <postalCodeFormat>#######</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>CM</countryCode>
+        <countryName>Cameroon</countryName>
+        <isoNumeric>120</isoNumeric>
+        <isoAlpha3>CMR</isoAlpha3>
+        <fipsCode>CM</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Yaoundé</capital>
+        <areaInSqKm>475440.0</areaInSqKm>
+        <population>25216237</population>
+        <currencyCode>XAF</currencyCode>
+        <languages>en-CM,fr-CM</languages>
+        <geonameId>2233387</geonameId>
+        <west>8.49843402900007</west>
+        <north>13.083334</north>
+        <east>16.1944080000001</east>
+        <south>1.65590000000003</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>CN</countryCode>
+        <countryName>China</countryName>
+        <isoNumeric>156</isoNumeric>
+        <isoAlpha3>CHN</isoAlpha3>
+        <fipsCode>CH</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Beijing</capital>
+        <areaInSqKm>9596960.0</areaInSqKm>
+        <population>1411778724</population>
+        <currencyCode>CNY</currencyCode>
+        <languages>zh-CN,yue,wuu,dta,ug,za</languages>
+        <geonameId>1814991</geonameId>
+        <west>73.4994140000001</west>
+        <north>53.560974001</north>
+        <east>134.7754563</east>
+        <south>15.775416</south>
+        <postalCodeFormat>######</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>CO</countryCode>
+        <countryName>Colombia</countryName>
+        <isoNumeric>170</isoNumeric>
+        <isoAlpha3>COL</isoAlpha3>
+        <fipsCode>CO</fipsCode>
+        <continent>SA</continent>
+        <continentName>South America</continentName>
+        <capital>Bogotá</capital>
+        <areaInSqKm>1138910.0</areaInSqKm>
+        <population>49648685</population>
+        <currencyCode>COP</currencyCode>
+        <languages>es-CO</languages>
+        <geonameId>3686110</geonameId>
+        <west>-81.735775648</west>
+        <north>13.38600323</north>
+        <east>-66.8472153989999</east>
+        <south>-4.22839224299997</south>
+        <postalCodeFormat>######</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>CR</countryCode>
+        <countryName>Costa Rica</countryName>
+        <isoNumeric>188</isoNumeric>
+        <isoAlpha3>CRI</isoAlpha3>
+        <fipsCode>CS</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>San José</capital>
+        <areaInSqKm>51100.0</areaInSqKm>
+        <population>4999441</population>
+        <currencyCode>CRC</currencyCode>
+        <languages>es-CR,en</languages>
+        <geonameId>3624060</geonameId>
+        <west>-85.9502523586265</west>
+        <north>11.2197589122308</north>
+        <east>-82.552318987959</east>
+        <south>8.03962731803416</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>CU</countryCode>
+        <countryName>Cuba</countryName>
+        <isoNumeric>192</isoNumeric>
+        <isoAlpha3>CUB</isoAlpha3>
+        <fipsCode>CU</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Havana</capital>
+        <areaInSqKm>110860.0</areaInSqKm>
+        <population>11338138</population>
+        <currencyCode>CUP</currencyCode>
+        <languages>es-CU,pap</languages>
+        <geonameId>3562981</geonameId>
+        <west>-84.957428</west>
+        <north>23.226042</north>
+        <east>-74.131775</east>
+        <south>19.828083</south>
+        <postalCodeFormat>CP #####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>CV</countryCode>
+        <countryName>Cabo Verde</countryName>
+        <isoNumeric>132</isoNumeric>
+        <isoAlpha3>CPV</isoAlpha3>
+        <fipsCode>CV</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Praia</capital>
+        <areaInSqKm>4033.0</areaInSqKm>
+        <population>543767</population>
+        <currencyCode>CVE</currencyCode>
+        <languages>pt-CV</languages>
+        <geonameId>3374766</geonameId>
+        <west>-25.3609161379999</west>
+        <north>17.204706193</north>
+        <east>-22.6674270629999</east>
+        <south>14.8152942670001</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>CW</countryCode>
+        <countryName>Curaçao</countryName>
+        <isoNumeric>531</isoNumeric>
+        <isoAlpha3>CUW</isoAlpha3>
+        <fipsCode>UC</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Willemstad</capital>
+        <areaInSqKm>444.0</areaInSqKm>
+        <population>159849</population>
+        <currencyCode>ANG</currencyCode>
+        <languages>nl,pap</languages>
+        <geonameId>7626836</geonameId>
+        <west>-69.157204</west>
+        <north>12.385672</north>
+        <east>-68.733948</east>
+        <south>12.032745</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>CX</countryCode>
+        <countryName>Christmas Island</countryName>
+        <isoNumeric>162</isoNumeric>
+        <isoAlpha3>CXR</isoAlpha3>
+        <fipsCode>KT</fipsCode>
+        <continent>OC</continent>
+        <continentName>Oceania</continentName>
+        <capital>Flying Fish Cove</capital>
+        <areaInSqKm>135.0</areaInSqKm>
+        <population>1500</population>
+        <currencyCode>AUD</currencyCode>
+        <languages>en,zh,ms-CC</languages>
+        <geonameId>2078138</geonameId>
+        <west>105.533276992</west>
+        <north>-10.412356007</north>
+        <east>105.712596992</east>
+        <south>-10.5704829995</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>CY</countryCode>
+        <countryName>Cyprus</countryName>
+        <isoNumeric>196</isoNumeric>
+        <isoAlpha3>CYP</isoAlpha3>
+        <fipsCode>CY</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Nicosia</capital>
+        <areaInSqKm>9250.0</areaInSqKm>
+        <population>1189265</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>el-CY,tr-CY,en</languages>
+        <geonameId>146669</geonameId>
+        <west>32.271016385336786</west>
+        <north>35.69493443939431</north>
+        <east>34.5877096808548</east>
+        <south>34.632303001</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>CZ</countryCode>
+        <countryName>Czechia</countryName>
+        <isoNumeric>203</isoNumeric>
+        <isoAlpha3>CZE</isoAlpha3>
+        <fipsCode>EZ</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Prague</capital>
+        <areaInSqKm>78866.0</areaInSqKm>
+        <population>10625695</population>
+        <currencyCode>CZK</currencyCode>
+        <languages>cs,sk</languages>
+        <geonameId>3077311</geonameId>
+        <west>12.0906691601139</west>
+        <north>51.0557782422661</north>
+        <east>18.8592743799298</east>
+        <south>48.551892864201</south>
+        <postalCodeFormat>### ##</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>DE</countryCode>
+        <countryName>Germany</countryName>
+        <isoNumeric>276</isoNumeric>
+        <isoAlpha3>DEU</isoAlpha3>
+        <fipsCode>GM</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Berlin</capital>
+        <areaInSqKm>357021.0</areaInSqKm>
+        <population>82927922</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>de</languages>
+        <geonameId>2921044</geonameId>
+        <west>5.8663152683722</west>
+        <north>55.0583836008072</north>
+        <east>15.0418156516163</east>
+        <south>47.2701236047002</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>DJ</countryCode>
+        <countryName>Djibouti</countryName>
+        <isoNumeric>262</isoNumeric>
+        <isoAlpha3>DJI</isoAlpha3>
+        <fipsCode>DJ</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Djibouti</capital>
+        <areaInSqKm>23000.0</areaInSqKm>
+        <population>958920</population>
+        <currencyCode>DJF</currencyCode>
+        <languages>fr-DJ,ar,so-DJ,aa</languages>
+        <geonameId>223816</geonameId>
+        <west>41.7708460000001</west>
+        <north>12.7136967920001</north>
+        <east>43.4175099920001</east>
+        <south>10.9129530000001</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>DK</countryCode>
+        <countryName>Denmark</countryName>
+        <isoNumeric>208</isoNumeric>
+        <isoAlpha3>DNK</isoAlpha3>
+        <fipsCode>DA</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Copenhagen</capital>
+        <areaInSqKm>43094.0</areaInSqKm>
+        <population>5797446</population>
+        <currencyCode>DKK</currencyCode>
+        <languages>da-DK,en,fo,de-DK</languages>
+        <geonameId>2623032</geonameId>
+        <west>8.07250975308422</west>
+        <north>57.3282078631757</north>
+        <east>15.1569721573943</east>
+        <south>54.5590783718363</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>DM</countryCode>
+        <countryName>Dominica</countryName>
+        <isoNumeric>212</isoNumeric>
+        <isoAlpha3>DMA</isoAlpha3>
+        <fipsCode>DO</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Roseau</capital>
+        <areaInSqKm>754.0</areaInSqKm>
+        <population>71625</population>
+        <currencyCode>XCD</currencyCode>
+        <languages>en-DM</languages>
+        <geonameId>3575830</geonameId>
+        <west>-61.4808292002466</west>
+        <north>15.639901700674933</north>
+        <east>-61.241630129651185</east>
+        <south>15.206540651392563</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>DO</countryCode>
+        <countryName>Dominican Republic</countryName>
+        <isoNumeric>214</isoNumeric>
+        <isoAlpha3>DOM</isoAlpha3>
+        <fipsCode>DR</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Santo Domingo</capital>
+        <areaInSqKm>48730.0</areaInSqKm>
+        <population>10627165</population>
+        <currencyCode>DOP</currencyCode>
+        <languages>es-DO</languages>
+        <geonameId>3508796</geonameId>
+        <west>-72.0114723981787</west>
+        <north>19.9321257501267</north>
+        <east>-68.3229591969468</east>
+        <south>17.5395066830409</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>DZ</countryCode>
+        <countryName>Algeria</countryName>
+        <isoNumeric>012</isoNumeric>
+        <isoAlpha3>DZA</isoAlpha3>
+        <fipsCode>AG</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Algiers</capital>
+        <areaInSqKm>2381740.0</areaInSqKm>
+        <population>42228429</population>
+        <currencyCode>DZD</currencyCode>
+        <languages>ar-DZ</languages>
+        <geonameId>2589581</geonameId>
+        <west>-8.66761116299995</west>
+        <north>37.089801381</north>
+        <east>11.9984999060001</east>
+        <south>18.968147</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>EC</countryCode>
+        <countryName>Ecuador</countryName>
+        <isoNumeric>218</isoNumeric>
+        <isoAlpha3>ECU</isoAlpha3>
+        <fipsCode>EC</fipsCode>
+        <continent>SA</continent>
+        <continentName>South America</continentName>
+        <capital>Quito</capital>
+        <areaInSqKm>283560.0</areaInSqKm>
+        <population>17084357</population>
+        <currencyCode>USD</currencyCode>
+        <languages>es-EC</languages>
+        <geonameId>3658394</geonameId>
+        <west>-81.0836838953894</west>
+        <north>1.43523516349953</north>
+        <east>-75.1871465547501</east>
+        <south>-5.01615732302488</south>
+        <postalCodeFormat>@####@</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>EE</countryCode>
+        <countryName>Estonia</countryName>
+        <isoNumeric>233</isoNumeric>
+        <isoAlpha3>EST</isoAlpha3>
+        <fipsCode>EN</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Tallinn</capital>
+        <areaInSqKm>45226.0</areaInSqKm>
+        <population>1320884</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>et,ru</languages>
+        <geonameId>453733</geonameId>
+        <west>21.8285886498081</west>
+        <north>59.6753143130129</north>
+        <east>28.2090381531431</east>
+        <south>57.5093097920079</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>EG</countryCode>
+        <countryName>Egypt</countryName>
+        <isoNumeric>818</isoNumeric>
+        <isoAlpha3>EGY</isoAlpha3>
+        <fipsCode>EG</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Cairo</capital>
+        <areaInSqKm>1001450.0</areaInSqKm>
+        <population>98423595</population>
+        <currencyCode>EGP</currencyCode>
+        <languages>ar-EG,en,fr</languages>
+        <geonameId>357994</geonameId>
+        <west>24.6967750000001</west>
+        <north>31.6709930000001</north>
+        <east>35.7935441020001</east>
+        <south>21.724952</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>EH</countryCode>
+        <countryName>Western Sahara</countryName>
+        <isoNumeric>732</isoNumeric>
+        <isoAlpha3>ESH</isoAlpha3>
+        <fipsCode>WI</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital/>
+        <areaInSqKm>266000.0</areaInSqKm>
+        <population>273008</population>
+        <currencyCode>MAD</currencyCode>
+        <languages>ar,mey</languages>
+        <geonameId>2461445</geonameId>
+        <west>-17.103182</west>
+        <north>27.669674</north>
+        <east>-8.670276</east>
+        <south>20.774158</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>ER</countryCode>
+        <countryName>Eritrea</countryName>
+        <isoNumeric>232</isoNumeric>
+        <isoAlpha3>ERI</isoAlpha3>
+        <fipsCode>ER</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Asmara</capital>
+        <areaInSqKm>121320.0</areaInSqKm>
+        <population>0</population>
+        <currencyCode>ERN</currencyCode>
+        <languages>aa-ER,ar,tig,kun,ti-ER</languages>
+        <geonameId>338010</geonameId>
+        <west>36.434007751</west>
+        <north>18.004838997</north>
+        <east>43.1368865700001</east>
+        <south>12.3543041790001</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>ES</countryCode>
+        <countryName>Spain</countryName>
+        <isoNumeric>724</isoNumeric>
+        <isoAlpha3>ESP</isoAlpha3>
+        <fipsCode>SP</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Madrid</capital>
+        <areaInSqKm>504782.0</areaInSqKm>
+        <population>46723749</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>es-ES,ca,gl,eu,oc</languages>
+        <geonameId>2510769</geonameId>
+        <west>-9.30151567231899</west>
+        <north>43.7913565913767</north>
+        <east>4.32778473043961</east>
+        <south>36.0001044260548</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>ET</countryCode>
+        <countryName>Ethiopia</countryName>
+        <isoNumeric>231</isoNumeric>
+        <isoAlpha3>ETH</isoAlpha3>
+        <fipsCode>ET</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Addis Ababa</capital>
+        <areaInSqKm>1127127.0</areaInSqKm>
+        <population>109224559</population>
+        <currencyCode>ETB</currencyCode>
+        <languages>am,en-ET,om-ET,ti-ET,so-ET,sid</languages>
+        <geonameId>337996</geonameId>
+        <west>32.997734001</west>
+        <north>14.894214</north>
+        <east>48.0010560010001</east>
+        <south>3.40413700100004</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>FI</countryCode>
+        <countryName>Finland</countryName>
+        <isoNumeric>246</isoNumeric>
+        <isoAlpha3>FIN</isoAlpha3>
+        <fipsCode>FI</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Helsinki</capital>
+        <areaInSqKm>337030.0</areaInSqKm>
+        <population>5518050</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>fi-FI,sv-FI,smn</languages>
+        <geonameId>660013</geonameId>
+        <west>20.556944</west>
+        <north>70.096054</north>
+        <east>31.580944</east>
+        <south>59.808777</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>FJ</countryCode>
+        <countryName>Fiji</countryName>
+        <isoNumeric>242</isoNumeric>
+        <isoAlpha3>FJI</isoAlpha3>
+        <fipsCode>FJ</fipsCode>
+        <continent>OC</continent>
+        <continentName>Oceania</continentName>
+        <capital>Suva</capital>
+        <areaInSqKm>18270.0</areaInSqKm>
+        <population>883483</population>
+        <currencyCode>FJD</currencyCode>
+        <languages>en-FJ,fj</languages>
+        <geonameId>2205218</geonameId>
+        <west>177.140015279982</west>
+        <north>-12.4795295382484</north>
+        <east>-178.424438</east>
+        <south>-20.67597</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>FK</countryCode>
+        <countryName>Falkland Islands</countryName>
+        <isoNumeric>238</isoNumeric>
+        <isoAlpha3>FLK</isoAlpha3>
+        <fipsCode>FK</fipsCode>
+        <continent>SA</continent>
+        <continentName>South America</continentName>
+        <capital>Stanley</capital>
+        <areaInSqKm>12173.0</areaInSqKm>
+        <population>2638</population>
+        <currencyCode>FKP</currencyCode>
+        <languages>en-FK</languages>
+        <geonameId>3474414</geonameId>
+        <west>-61.3474566739999</west>
+        <north>-51.2331394719999</north>
+        <east>-57.718087652</east>
+        <south>-52.383984175</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>FM</countryCode>
+        <countryName>Micronesia</countryName>
+        <isoNumeric>583</isoNumeric>
+        <isoAlpha3>FSM</isoAlpha3>
+        <fipsCode>FM</fipsCode>
+        <continent>OC</continent>
+        <continentName>Oceania</continentName>
+        <capital>Palikir</capital>
+        <areaInSqKm>702.0</areaInSqKm>
+        <population>112640</population>
+        <currencyCode>USD</currencyCode>
+        <languages>en-FM,chk,pon,yap,kos,uli,woe,nkr,kpg</languages>
+        <geonameId>2081918</geonameId>
+        <west>137.33648</west>
+        <north>10.08904</north>
+        <east>163.03717</east>
+        <south>1.02629</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>FO</countryCode>
+        <countryName>Faroe Islands</countryName>
+        <isoNumeric>234</isoNumeric>
+        <isoAlpha3>FRO</isoAlpha3>
+        <fipsCode>FO</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Tórshavn</capital>
+        <areaInSqKm>1399.0</areaInSqKm>
+        <population>48497</population>
+        <currencyCode>DKK</currencyCode>
+        <languages>fo,da-FO</languages>
+        <geonameId>2622320</geonameId>
+        <west>-7.688191677774624</west>
+        <north>62.3938884414274</north>
+        <east>-6.25655957192113</east>
+        <south>61.3910302656013</south>
+        <postalCodeFormat>###</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>FR</countryCode>
+        <countryName>France</countryName>
+        <isoNumeric>250</isoNumeric>
+        <isoAlpha3>FRA</isoAlpha3>
+        <fipsCode>FR</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Paris</capital>
+        <areaInSqKm>547030.0</areaInSqKm>
+        <population>66987244</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>fr-FR,frp,br,co,ca,eu,oc</languages>
+        <geonameId>3017382</geonameId>
+        <west>-5.14127657354623</west>
+        <north>51.0889894407743</north>
+        <east>9.56009360694225</east>
+        <south>41.3645589826522</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>GA</countryCode>
+        <countryName>Gabon</countryName>
+        <isoNumeric>266</isoNumeric>
+        <isoAlpha3>GAB</isoAlpha3>
+        <fipsCode>GB</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Libreville</capital>
+        <areaInSqKm>267667.0</areaInSqKm>
+        <population>2119275</population>
+        <currencyCode>XAF</currencyCode>
+        <languages>fr-GA</languages>
+        <geonameId>2400553</geonameId>
+        <west>8.69940944700005</west>
+        <north>2.31810900100004</north>
+        <east>14.5269230000001</east>
+        <south>-3.96180775999994</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>GB</countryCode>
+        <countryName>United Kingdom</countryName>
+        <isoNumeric>826</isoNumeric>
+        <isoAlpha3>GBR</isoAlpha3>
+        <fipsCode>UK</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>London</capital>
+        <areaInSqKm>244820.0</areaInSqKm>
+        <population>66488991</population>
+        <currencyCode>GBP</currencyCode>
+        <languages>en-GB,cy-GB,gd</languages>
+        <geonameId>2635167</geonameId>
+        <west>-8.61772077108559</west>
+        <north>59.3607741849963</north>
+        <east>1.7689121033873</east>
+        <south>49.9028622252397</south>
+        <postalCodeFormat>@# #@@|@## #@@|@@# #@@|@@## #@@|@#@ #@@|@@#@ #@@|GIR0AA</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>GD</countryCode>
+        <countryName>Grenada</countryName>
+        <isoNumeric>308</isoNumeric>
+        <isoAlpha3>GRD</isoAlpha3>
+        <fipsCode>GJ</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>St. George's</capital>
+        <areaInSqKm>344.0</areaInSqKm>
+        <population>111454</population>
+        <currencyCode>XCD</currencyCode>
+        <languages>en-GD</languages>
+        <geonameId>3580239</geonameId>
+        <west>-61.80247620963</west>
+        <north>12.318283928171299</north>
+        <east>-61.57676970108031</east>
+        <south>11.9869539231552</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>GE</countryCode>
+        <countryName>Georgia</countryName>
+        <isoNumeric>268</isoNumeric>
+        <isoAlpha3>GEO</isoAlpha3>
+        <fipsCode>GG</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Tbilisi</capital>
+        <areaInSqKm>69700.0</areaInSqKm>
+        <population>3731000</population>
+        <currencyCode>GEL</currencyCode>
+        <languages>ka,ru,hy,az</languages>
+        <geonameId>614540</geonameId>
+        <west>40.006604</west>
+        <north>43.5866270000001</north>
+        <east>46.736119</east>
+        <south>41.054942</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>GF</countryCode>
+        <countryName>French Guiana</countryName>
+        <isoNumeric>254</isoNumeric>
+        <isoAlpha3>GUF</isoAlpha3>
+        <fipsCode>FG</fipsCode>
+        <continent>SA</continent>
+        <continentName>South America</continentName>
+        <capital>Cayenne</capital>
+        <areaInSqKm>91000.0</areaInSqKm>
+        <population>195506</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>fr-GF</languages>
+        <geonameId>3381670</geonameId>
+        <west>-54.6024155447667</west>
+        <north>5.74725188917531</north>
+        <east>-51.619065827085</east>
+        <south>2.11107565187642</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>GG</countryCode>
+        <countryName>Guernsey</countryName>
+        <isoNumeric>831</isoNumeric>
+        <isoAlpha3>GGY</isoAlpha3>
+        <fipsCode>GK</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>St Peter Port</capital>
+        <areaInSqKm>78.0</areaInSqKm>
+        <population>65228</population>
+        <currencyCode>GBP</currencyCode>
+        <languages>en,nrf</languages>
+        <geonameId>3042362</geonameId>
+        <west>-2.673194593476069</west>
+        <north>49.731727816705416</north>
+        <east>-2.1577152112246267</east>
+        <south>49.40764156876899</south>
+        <postalCodeFormat>@# #@@|@## #@@|@@# #@@|@@## #@@|@#@ #@@|@@#@ #@@|GIR0AA</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>GH</countryCode>
+        <countryName>Ghana</countryName>
+        <isoNumeric>288</isoNumeric>
+        <isoAlpha3>GHA</isoAlpha3>
+        <fipsCode>GH</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Accra</capital>
+        <areaInSqKm>239460.0</areaInSqKm>
+        <population>29767108</population>
+        <currencyCode>GHS</currencyCode>
+        <languages>en-GH,ak,ee,tw</languages>
+        <geonameId>2300660</geonameId>
+        <west>-3.26078599999994</west>
+        <north>11.174952907</north>
+        <east>1.19948138100006</east>
+        <south>4.73894544800004</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>GI</countryCode>
+        <countryName>Gibraltar</countryName>
+        <isoNumeric>292</isoNumeric>
+        <isoAlpha3>GIB</isoAlpha3>
+        <fipsCode>GI</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Gibraltar</capital>
+        <areaInSqKm>6.5</areaInSqKm>
+        <population>33718</population>
+        <currencyCode>GIP</currencyCode>
+        <languages>en-GI,es,it,pt</languages>
+        <geonameId>2411586</geonameId>
+        <west>-5.36626149743654</west>
+        <north>36.155439135670726</north>
+        <east>-5.338285164001491</east>
+        <south>36.10903070140248</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>GL</countryCode>
+        <countryName>Greenland</countryName>
+        <isoNumeric>304</isoNumeric>
+        <isoAlpha3>GRL</isoAlpha3>
+        <fipsCode>GL</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Nuuk</capital>
+        <areaInSqKm>2166086.0</areaInSqKm>
+        <population>56025</population>
+        <currencyCode>DKK</currencyCode>
+        <languages>kl,da-GL,en</languages>
+        <geonameId>3425505</geonameId>
+        <west>-73.04203</west>
+        <north>83.627357</north>
+        <east>-11.312319</east>
+        <south>59.777401</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>GM</countryCode>
+        <countryName>The Gambia</countryName>
+        <isoNumeric>270</isoNumeric>
+        <isoAlpha3>GMB</isoAlpha3>
+        <fipsCode>GA</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Banjul</capital>
+        <areaInSqKm>11300.0</areaInSqKm>
+        <population>2280102</population>
+        <currencyCode>GMD</currencyCode>
+        <languages>en-GM,mnk,wof,wo,ff</languages>
+        <geonameId>2413451</geonameId>
+        <west>-16.8136100139999</west>
+        <north>13.825058106</north>
+        <east>-13.791386179</east>
+        <south>13.063718062</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>GN</countryCode>
+        <countryName>Guinea</countryName>
+        <isoNumeric>324</isoNumeric>
+        <isoAlpha3>GIN</isoAlpha3>
+        <fipsCode>GV</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Conakry</capital>
+        <areaInSqKm>245857.0</areaInSqKm>
+        <population>12414318</population>
+        <currencyCode>GNF</currencyCode>
+        <languages>fr-GN</languages>
+        <geonameId>2420477</geonameId>
+        <west>-14.926619</west>
+        <north>12.67622</north>
+        <east>-7.641071</east>
+        <south>7.193553</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>GP</countryCode>
+        <countryName>Guadeloupe</countryName>
+        <isoNumeric>312</isoNumeric>
+        <isoAlpha3>GLP</isoAlpha3>
+        <fipsCode>GP</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Basse-Terre</capital>
+        <areaInSqKm>1780.0</areaInSqKm>
+        <population>443000</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>fr-GP</languages>
+        <geonameId>3579143</geonameId>
+        <west>-61.5508178989899</west>
+        <north>16.5144923539361</north>
+        <east>-61.0019590353041</east>
+        <south>15.8665030910918</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>GQ</countryCode>
+        <countryName>Equatorial Guinea</countryName>
+        <isoNumeric>226</isoNumeric>
+        <isoAlpha3>GNQ</isoAlpha3>
+        <fipsCode>EK</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Malabo</capital>
+        <areaInSqKm>28051.0</areaInSqKm>
+        <population>1308974</population>
+        <currencyCode>XAF</currencyCode>
+        <languages>es-GQ,fr,pt</languages>
+        <geonameId>2309096</geonameId>
+        <west>9.34069443</west>
+        <north>2.34792018</north>
+        <east>11.33743668</east>
+        <south>0.92086101</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>GR</countryCode>
+        <countryName>Greece</countryName>
+        <isoNumeric>300</isoNumeric>
+        <isoAlpha3>GRC</isoAlpha3>
+        <fipsCode>GR</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Athens</capital>
+        <areaInSqKm>131940.0</areaInSqKm>
+        <population>10727668</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>el-GR,en,fr</languages>
+        <geonameId>390903</geonameId>
+        <west>19.3736035624134</west>
+        <north>41.7484999849641</north>
+        <east>28.2470831714347</east>
+        <south>34.8020663391466</south>
+        <postalCodeFormat>### ##</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>GS</countryCode>
+        <countryName>South Georgia and South Sandwich Islands</countryName>
+        <isoNumeric>239</isoNumeric>
+        <isoAlpha3>SGS</isoAlpha3>
+        <fipsCode>SX</fipsCode>
+        <continent>AN</continent>
+        <continentName>Antarctica</continentName>
+        <capital>Grytviken</capital>
+        <areaInSqKm>3903.0</areaInSqKm>
+        <population>30</population>
+        <currencyCode>GBP</currencyCode>
+        <languages>en</languages>
+        <geonameId>3474415</geonameId>
+        <west>-38.0479509639999</west>
+        <north>-53.980896636</north>
+        <east>-26.252069712</east>
+        <south>-59.46319341</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>GT</countryCode>
+        <countryName>Guatemala</countryName>
+        <isoNumeric>320</isoNumeric>
+        <isoAlpha3>GTM</isoAlpha3>
+        <fipsCode>GT</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Guatemala City</capital>
+        <areaInSqKm>108890.0</areaInSqKm>
+        <population>17247807</population>
+        <currencyCode>GTQ</currencyCode>
+        <languages>es-GT</languages>
+        <geonameId>3595528</geonameId>
+        <west>-92.231143101</west>
+        <north>17.815695169</north>
+        <east>-88.233001934</east>
+        <south>13.7400210010001</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>GU</countryCode>
+        <countryName>Guam</countryName>
+        <isoNumeric>316</isoNumeric>
+        <isoAlpha3>GUM</isoAlpha3>
+        <fipsCode>GQ</fipsCode>
+        <continent>OC</continent>
+        <continentName>Oceania</continentName>
+        <capital>Hagåtña</capital>
+        <areaInSqKm>549.0</areaInSqKm>
+        <population>165768</population>
+        <currencyCode>USD</currencyCode>
+        <languages>en-GU,ch-GU</languages>
+        <geonameId>4043988</geonameId>
+        <west>144.618318</west>
+        <north>13.654402</north>
+        <east>144.956894</east>
+        <south>13.23376</south>
+        <postalCodeFormat>969##</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>GW</countryCode>
+        <countryName>Guinea-Bissau</countryName>
+        <isoNumeric>624</isoNumeric>
+        <isoAlpha3>GNB</isoAlpha3>
+        <fipsCode>PU</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Bissau</capital>
+        <areaInSqKm>36120.0</areaInSqKm>
+        <population>1874309</population>
+        <currencyCode>XOF</currencyCode>
+        <languages>pt-GW,pov</languages>
+        <geonameId>2372248</geonameId>
+        <west>-16.717535</west>
+        <north>12.680789</north>
+        <east>-13.636522</east>
+        <south>10.924265</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>GY</countryCode>
+        <countryName>Guyana</countryName>
+        <isoNumeric>328</isoNumeric>
+        <isoAlpha3>GUY</isoAlpha3>
+        <fipsCode>GY</fipsCode>
+        <continent>SA</continent>
+        <continentName>South America</continentName>
+        <capital>Georgetown</capital>
+        <areaInSqKm>214970.0</areaInSqKm>
+        <population>779004</population>
+        <currencyCode>GYD</currencyCode>
+        <languages>en-GY</languages>
+        <geonameId>3378535</geonameId>
+        <west>-61.384762</west>
+        <north>8.557567</north>
+        <east>-56.480251</east>
+        <south>1.17508</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>HK</countryCode>
+        <countryName>Hong Kong</countryName>
+        <isoNumeric>344</isoNumeric>
+        <isoAlpha3>HKG</isoAlpha3>
+        <fipsCode>HK</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Hong Kong</capital>
+        <areaInSqKm>1092.0</areaInSqKm>
+        <population>7451000</population>
+        <currencyCode>HKD</currencyCode>
+        <languages>zh-HK,yue,zh,en</languages>
+        <geonameId>1819730</geonameId>
+        <west>113.839212676903</west>
+        <north>22.5619493557973</north>
+        <east>114.441993257571</east>
+        <south>22.1552256413502</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>HM</countryCode>
+        <countryName>Heard and McDonald Islands</countryName>
+        <isoNumeric>334</isoNumeric>
+        <isoAlpha3>HMD</isoAlpha3>
+        <fipsCode>HM</fipsCode>
+        <continent>AN</continent>
+        <continentName>Antarctica</continentName>
+        <capital/>
+        <areaInSqKm>412.0</areaInSqKm>
+        <population>0</population>
+        <currencyCode>AUD</currencyCode>
+        <languages/>
+        <geonameId>1547314</geonameId>
+        <west>72.596535</west>
+        <north>-52.909416</north>
+        <east>73.859146</east>
+        <south>-53.192001</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>HN</countryCode>
+        <countryName>Honduras</countryName>
+        <isoNumeric>340</isoNumeric>
+        <isoAlpha3>HND</isoAlpha3>
+        <fipsCode>HO</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Tegucigalpa</capital>
+        <areaInSqKm>112090.0</areaInSqKm>
+        <population>9587522</population>
+        <currencyCode>HNL</currencyCode>
+        <languages>es-HN,cab,miq</languages>
+        <geonameId>3608932</geonameId>
+        <west>-89.350792</west>
+        <north>16.510256</north>
+        <east>-83.155403</east>
+        <south>12.982411</south>
+        <postalCodeFormat>@@####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>HR</countryCode>
+        <countryName>Croatia</countryName>
+        <isoNumeric>191</isoNumeric>
+        <isoAlpha3>HRV</isoAlpha3>
+        <fipsCode>HR</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Zagreb</capital>
+        <areaInSqKm>56542.0</areaInSqKm>
+        <population>4089400</population>
+        <currencyCode>HRK</currencyCode>
+        <languages>hr-HR,sr</languages>
+        <geonameId>3202326</geonameId>
+        <west>13.493222</west>
+        <north>46.5549629558487</north>
+        <east>19.427389</east>
+        <south>42.43589</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>HT</countryCode>
+        <countryName>Haiti</countryName>
+        <isoNumeric>332</isoNumeric>
+        <isoAlpha3>HTI</isoAlpha3>
+        <fipsCode>HA</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Port-au-Prince</capital>
+        <areaInSqKm>27750.0</areaInSqKm>
+        <population>11123176</population>
+        <currencyCode>HTG</currencyCode>
+        <languages>ht,fr-HT</languages>
+        <geonameId>3723988</geonameId>
+        <west>-74.478584</west>
+        <north>20.08782</north>
+        <east>-71.613358</east>
+        <south>18.021032</south>
+        <postalCodeFormat>HT####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>HU</countryCode>
+        <countryName>Hungary</countryName>
+        <isoNumeric>348</isoNumeric>
+        <isoAlpha3>HUN</isoAlpha3>
+        <fipsCode>HU</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Budapest</capital>
+        <areaInSqKm>93030.0</areaInSqKm>
+        <population>9768785</population>
+        <currencyCode>HUF</currencyCode>
+        <languages>hu-HU</languages>
+        <geonameId>719819</geonameId>
+        <west>16.113795</west>
+        <north>48.585336</north>
+        <east>22.896564336</east>
+        <south>45.7370495590001</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>ID</countryCode>
+        <countryName>Indonesia</countryName>
+        <isoNumeric>360</isoNumeric>
+        <isoAlpha3>IDN</isoAlpha3>
+        <fipsCode>ID</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Jakarta</capital>
+        <areaInSqKm>1919440.0</areaInSqKm>
+        <population>267663435</population>
+        <currencyCode>IDR</currencyCode>
+        <languages>id,en,nl,jv</languages>
+        <geonameId>1643084</geonameId>
+        <west>95.0111465000001</west>
+        <north>5.90722980000004</north>
+        <east>141.0194</east>
+        <south>-10.9431056999999</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>IE</countryCode>
+        <countryName>Ireland</countryName>
+        <isoNumeric>372</isoNumeric>
+        <isoAlpha3>IRL</isoAlpha3>
+        <fipsCode>EI</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Dublin</capital>
+        <areaInSqKm>70280.0</areaInSqKm>
+        <population>4853506</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>en-IE,ga-IE</languages>
+        <geonameId>2963597</geonameId>
+        <west>-10.4800035816853</west>
+        <north>55.3829431564742</north>
+        <east>-5.99804990172185</east>
+        <south>51.4475491577615</south>
+        <postalCodeFormat>@@@ @@@@</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>IL</countryCode>
+        <countryName>Israel</countryName>
+        <isoNumeric>376</isoNumeric>
+        <isoAlpha3>ISR</isoAlpha3>
+        <fipsCode>IS</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital/>
+        <areaInSqKm>20770.0</areaInSqKm>
+        <population>8883800</population>
+        <currencyCode>ILS</currencyCode>
+        <languages>he,ar-IL,en-IL,</languages>
+        <geonameId>294640</geonameId>
+        <west>34.267257</west>
+        <north>33.2908350000001</north>
+        <east>35.67033</east>
+        <south>29.490654862</south>
+        <postalCodeFormat>#######</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>IM</countryCode>
+        <countryName>Isle of Man</countryName>
+        <isoNumeric>833</isoNumeric>
+        <isoAlpha3>IMN</isoAlpha3>
+        <fipsCode>IM</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Douglas</capital>
+        <areaInSqKm>572.0</areaInSqKm>
+        <population>84077</population>
+        <currencyCode>GBP</currencyCode>
+        <languages>en,gv</languages>
+        <geonameId>3042225</geonameId>
+        <west>-4.79430574571353</west>
+        <north>54.4178825685258</north>
+        <east>-4.30802074695987</east>
+        <south>54.0536251033159</south>
+        <postalCodeFormat>@# #@@|@## #@@|@@# #@@|@@## #@@|@#@ #@@|@@#@ #@@|GIR0AA</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>IN</countryCode>
+        <countryName>India</countryName>
+        <isoNumeric>356</isoNumeric>
+        <isoAlpha3>IND</isoAlpha3>
+        <fipsCode>IN</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>New Delhi</capital>
+        <areaInSqKm>3287590.0</areaInSqKm>
+        <population>1352617328</population>
+        <currencyCode>INR</currencyCode>
+        <languages>en-IN,hi,bn,te,mr,ta,ur,gu,kn,ml,or,pa,as,bh,sat,ks,ne,sd,kok,doi,mni,sit,sa,fr,lus,inc</languages>
+        <geonameId>1269750</geonameId>
+        <west>68.4840183183648</west>
+        <north>35.524548272882</north>
+        <east>97.4152926679075</east>
+        <south>6.7559528993543</south>
+        <postalCodeFormat>######</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>IO</countryCode>
+        <countryName>British Indian Ocean Territory</countryName>
+        <isoNumeric>086</isoNumeric>
+        <isoAlpha3>IOT</isoAlpha3>
+        <fipsCode>IO</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital/>
+        <areaInSqKm>60.0</areaInSqKm>
+        <population>4000</population>
+        <currencyCode>USD</currencyCode>
+        <languages>en-IO</languages>
+        <geonameId>1282588</geonameId>
+        <west>71.259972</west>
+        <north>-5.268333</north>
+        <east>72.493164</east>
+        <south>-7.438028</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>IQ</countryCode>
+        <countryName>Iraq</countryName>
+        <isoNumeric>368</isoNumeric>
+        <isoAlpha3>IRQ</isoAlpha3>
+        <fipsCode>IZ</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Baghdad</capital>
+        <areaInSqKm>437072.0</areaInSqKm>
+        <population>38433600</population>
+        <currencyCode>IQD</currencyCode>
+        <languages>ar-IQ,ku,hy</languages>
+        <geonameId>99237</geonameId>
+        <west>38.7936740000001</west>
+        <north>37.380746001</north>
+        <east>48.6117360000001</east>
+        <south>29.0612080000001</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>IR</countryCode>
+        <countryName>Iran</countryName>
+        <isoNumeric>364</isoNumeric>
+        <isoAlpha3>IRN</isoAlpha3>
+        <fipsCode>IR</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Tehran</capital>
+        <areaInSqKm>1648000.0</areaInSqKm>
+        <population>81800269</population>
+        <currencyCode>IRR</currencyCode>
+        <languages>fa-IR,ku</languages>
+        <geonameId>130758</geonameId>
+        <west>44.032638708</west>
+        <north>39.7822393340001</north>
+        <east>63.333337</east>
+        <south>25.060388566</south>
+        <postalCodeFormat>##########</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>IS</countryCode>
+        <countryName>Iceland</countryName>
+        <isoNumeric>352</isoNumeric>
+        <isoAlpha3>ISL</isoAlpha3>
+        <fipsCode>IC</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Reykjavik</capital>
+        <areaInSqKm>103000.0</areaInSqKm>
+        <population>353574</population>
+        <currencyCode>ISK</currencyCode>
+        <languages>is,en,de,da,sv,no</languages>
+        <geonameId>2629691</geonameId>
+        <west>-24.5326753866625</west>
+        <north>66.5377933098397</north>
+        <east>-13.4946206239501</east>
+        <south>63.394392778588</south>
+        <postalCodeFormat>###</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>IT</countryCode>
+        <countryName>Italy</countryName>
+        <isoNumeric>380</isoNumeric>
+        <isoAlpha3>ITA</isoAlpha3>
+        <fipsCode>IT</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Rome</capital>
+        <areaInSqKm>301230.0</areaInSqKm>
+        <population>60431283</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>it-IT,de-IT,fr-IT,sc,ca,co,sl</languages>
+        <geonameId>3175395</geonameId>
+        <west>6.62662135986088</west>
+        <north>47.0917837415439</north>
+        <east>18.5203814091888</east>
+        <south>36.6440816661648</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>JE</countryCode>
+        <countryName>Jersey</countryName>
+        <isoNumeric>832</isoNumeric>
+        <isoAlpha3>JEY</isoAlpha3>
+        <fipsCode>JE</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Saint Helier</capital>
+        <areaInSqKm>116.0</areaInSqKm>
+        <population>90812</population>
+        <currencyCode>GBP</currencyCode>
+        <languages>en,fr,nrf</languages>
+        <geonameId>3042142</geonameId>
+        <west>-2.260028</west>
+        <north>49.265057</north>
+        <east>-2.022083</east>
+        <south>49.169834</south>
+        <postalCodeFormat>@# #@@|@## #@@|@@# #@@|@@## #@@|@#@ #@@|@@#@ #@@|GIR0AA</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>JM</countryCode>
+        <countryName>Jamaica</countryName>
+        <isoNumeric>388</isoNumeric>
+        <isoAlpha3>JAM</isoAlpha3>
+        <fipsCode>JM</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Kingston</capital>
+        <areaInSqKm>10991.0</areaInSqKm>
+        <population>2934855</population>
+        <currencyCode>JMD</currencyCode>
+        <languages>en-JM</languages>
+        <geonameId>3489940</geonameId>
+        <west>-78.3690062954957</west>
+        <north>18.524766185516</north>
+        <east>-76.1830989848426</east>
+        <south>17.7059966193696</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>JO</countryCode>
+        <countryName>Jordan</countryName>
+        <isoNumeric>400</isoNumeric>
+        <isoAlpha3>JOR</isoAlpha3>
+        <fipsCode>JO</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Amman</capital>
+        <areaInSqKm>92300.0</areaInSqKm>
+        <population>9956011</population>
+        <currencyCode>JOD</currencyCode>
+        <languages>ar-JO,en</languages>
+        <geonameId>248816</geonameId>
+        <west>34.955471039</west>
+        <north>33.374735</north>
+        <east>39.3011540000001</east>
+        <south>29.1850360010001</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>JP</countryCode>
+        <countryName>Japan</countryName>
+        <isoNumeric>392</isoNumeric>
+        <isoAlpha3>JPN</isoAlpha3>
+        <fipsCode>JA</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Tokyo</capital>
+        <areaInSqKm>377835.0</areaInSqKm>
+        <population>126529100</population>
+        <currencyCode>JPY</currencyCode>
+        <languages>ja</languages>
+        <geonameId>1861060</geonameId>
+        <west>122.933653061</west>
+        <north>45.52295736</north>
+        <east>145.817458885</east>
+        <south>24.255169441</south>
+        <postalCodeFormat>###-####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>KE</countryCode>
+        <countryName>Kenya</countryName>
+        <isoNumeric>404</isoNumeric>
+        <isoAlpha3>KEN</isoAlpha3>
+        <fipsCode>KE</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Nairobi</capital>
+        <areaInSqKm>582650.0</areaInSqKm>
+        <population>51393010</population>
+        <currencyCode>KES</currencyCode>
+        <languages>en-KE,sw-KE</languages>
+        <geonameId>192950</geonameId>
+        <west>33.9098210000001</west>
+        <north>5.03342100100002</north>
+        <east>41.9069450000001</east>
+        <south>-4.67989449199996</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>KG</countryCode>
+        <countryName>Kyrgyzstan</countryName>
+        <isoNumeric>417</isoNumeric>
+        <isoAlpha3>KGZ</isoAlpha3>
+        <fipsCode>KG</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Bishkek</capital>
+        <areaInSqKm>198500.0</areaInSqKm>
+        <population>6315800</population>
+        <currencyCode>KGS</currencyCode>
+        <languages>ky,uz,ru</languages>
+        <geonameId>1527747</geonameId>
+        <west>69.276611</west>
+        <north>43.238224</north>
+        <east>80.283165</east>
+        <south>39.172832</south>
+        <postalCodeFormat>######</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>KH</countryCode>
+        <countryName>Cambodia</countryName>
+        <isoNumeric>116</isoNumeric>
+        <isoAlpha3>KHM</isoAlpha3>
+        <fipsCode>CB</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Phnom Penh</capital>
+        <areaInSqKm>181040.0</areaInSqKm>
+        <population>16249798</population>
+        <currencyCode>KHR</currencyCode>
+        <languages>km,fr,en</languages>
+        <geonameId>1831722</geonameId>
+        <west>102.339996</west>
+        <north>14.686417</north>
+        <east>107.627724</east>
+        <south>10.409083</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>KI</countryCode>
+        <countryName>Kiribati</countryName>
+        <isoNumeric>296</isoNumeric>
+        <isoAlpha3>KIR</isoAlpha3>
+        <fipsCode>KR</fipsCode>
+        <continent>OC</continent>
+        <continentName>Oceania</continentName>
+        <capital>Tarawa</capital>
+        <areaInSqKm>811.0</areaInSqKm>
+        <population>115847</population>
+        <currencyCode>AUD</currencyCode>
+        <languages>en-KI,gil</languages>
+        <geonameId>4030945</geonameId>
+        <west>169.548692</west>
+        <north>3.93942799999973</north>
+        <east>-150.2345115032905</east>
+        <south>-11.4460499999991</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>KM</countryCode>
+        <countryName>Comoros</countryName>
+        <isoNumeric>174</isoNumeric>
+        <isoAlpha3>COM</isoAlpha3>
+        <fipsCode>CN</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Moroni</capital>
+        <areaInSqKm>2170.0</areaInSqKm>
+        <population>832322</population>
+        <currencyCode>KMF</currencyCode>
+        <languages>ar,fr-KM</languages>
+        <geonameId>921929</geonameId>
+        <west>43.21579</west>
+        <north>-11.362381</north>
+        <east>44.538223</east>
+        <south>-12.387857</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>KN</countryCode>
+        <countryName>St Kitts and Nevis</countryName>
+        <isoNumeric>659</isoNumeric>
+        <isoAlpha3>KNA</isoAlpha3>
+        <fipsCode>SC</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Basseterre</capital>
+        <areaInSqKm>261.0</areaInSqKm>
+        <population>52441</population>
+        <currencyCode>XCD</currencyCode>
+        <languages>en-KN</languages>
+        <geonameId>3575174</geonameId>
+        <west>-62.86483931213377</west>
+        <north>17.418152531334183</north>
+        <east>-62.53964136573717</east>
+        <south>17.094276497441214</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>KP</countryCode>
+        <countryName>North Korea</countryName>
+        <isoNumeric>408</isoNumeric>
+        <isoAlpha3>PRK</isoAlpha3>
+        <fipsCode>KN</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Pyongyang</capital>
+        <areaInSqKm>120540.0</areaInSqKm>
+        <population>25549819</population>
+        <currencyCode>KPW</currencyCode>
+        <languages>ko-KP</languages>
+        <geonameId>1873107</geonameId>
+        <west>124.315887</west>
+        <north>43.006054</north>
+        <east>130.674866</east>
+        <south>37.673332</south>
+        <postalCodeFormat>###-###</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>KR</countryCode>
+        <countryName>South Korea</countryName>
+        <isoNumeric>410</isoNumeric>
+        <isoAlpha3>KOR</isoAlpha3>
+        <fipsCode>KS</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Seoul</capital>
+        <areaInSqKm>98480.0</areaInSqKm>
+        <population>51635256</population>
+        <currencyCode>KRW</currencyCode>
+        <languages>ko-KR,en</languages>
+        <geonameId>1835841</geonameId>
+        <west>125.887442375577</west>
+        <north>38.5933891092225</north>
+        <east>129.583016157998</east>
+        <south>33.1954102977009</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>KW</countryCode>
+        <countryName>Kuwait</countryName>
+        <isoNumeric>414</isoNumeric>
+        <isoAlpha3>KWT</isoAlpha3>
+        <fipsCode>KU</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Kuwait City</capital>
+        <areaInSqKm>17820.0</areaInSqKm>
+        <population>4137309</population>
+        <currencyCode>KWD</currencyCode>
+        <languages>ar-KW,en</languages>
+        <geonameId>285570</geonameId>
+        <west>46.555557</west>
+        <north>30.095945</north>
+        <east>48.431473</east>
+        <south>28.524611</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>KY</countryCode>
+        <countryName>Cayman Islands</countryName>
+        <isoNumeric>136</isoNumeric>
+        <isoAlpha3>CYM</isoAlpha3>
+        <fipsCode>CJ</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>George Town</capital>
+        <areaInSqKm>262.0</areaInSqKm>
+        <population>64174</population>
+        <currencyCode>KYD</currencyCode>
+        <languages>en-KY</languages>
+        <geonameId>3580718</geonameId>
+        <west>-81.432777</west>
+        <north>19.7617</north>
+        <east>-79.727272</east>
+        <south>19.263029</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>KZ</countryCode>
+        <countryName>Kazakhstan</countryName>
+        <isoNumeric>398</isoNumeric>
+        <isoAlpha3>KAZ</isoAlpha3>
+        <fipsCode>KZ</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Nur-Sultan</capital>
+        <areaInSqKm>2717300.0</areaInSqKm>
+        <population>18276499</population>
+        <currencyCode>KZT</currencyCode>
+        <languages>kk,ru</languages>
+        <geonameId>1522867</geonameId>
+        <west>46.4936720000001</west>
+        <north>55.441984001</north>
+        <east>87.3154150010001</east>
+        <south>40.5686884990001</south>
+        <postalCodeFormat>######</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>LA</countryCode>
+        <countryName>Laos</countryName>
+        <isoNumeric>418</isoNumeric>
+        <isoAlpha3>LAO</isoAlpha3>
+        <fipsCode>LA</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Vientiane</capital>
+        <areaInSqKm>236800.0</areaInSqKm>
+        <population>7061507</population>
+        <currencyCode>LAK</currencyCode>
+        <languages>lo,fr,en</languages>
+        <geonameId>1655842</geonameId>
+        <west>100.083872</west>
+        <north>22.50904495</north>
+        <east>107.635093936</east>
+        <south>13.909720001</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>LB</countryCode>
+        <countryName>Lebanon</countryName>
+        <isoNumeric>422</isoNumeric>
+        <isoAlpha3>LBN</isoAlpha3>
+        <fipsCode>LE</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Beirut</capital>
+        <areaInSqKm>10400.0</areaInSqKm>
+        <population>6848925</population>
+        <currencyCode>LBP</currencyCode>
+        <languages>ar-LB,fr-LB,en,hy</languages>
+        <geonameId>272103</geonameId>
+        <west>35.103668213</west>
+        <north>34.6920900000001</north>
+        <east>36.62372</east>
+        <south>33.0550260000001</south>
+        <postalCodeFormat>#### ####|####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>LC</countryCode>
+        <countryName>Saint Lucia</countryName>
+        <isoNumeric>662</isoNumeric>
+        <isoAlpha3>LCA</isoAlpha3>
+        <fipsCode>ST</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Castries</capital>
+        <areaInSqKm>616.0</areaInSqKm>
+        <population>181889</population>
+        <currencyCode>XCD</currencyCode>
+        <languages>en-LC</languages>
+        <geonameId>3576468</geonameId>
+        <west>-61.07995730159752</west>
+        <north>14.110317287646</north>
+        <east>-60.8732306422271</east>
+        <south>13.7072692224982</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>LI</countryCode>
+        <countryName>Liechtenstein</countryName>
+        <isoNumeric>438</isoNumeric>
+        <isoAlpha3>LIE</isoAlpha3>
+        <fipsCode>LS</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Vaduz</capital>
+        <areaInSqKm>160.0</areaInSqKm>
+        <population>37910</population>
+        <currencyCode>CHF</currencyCode>
+        <languages>de-LI</languages>
+        <geonameId>3042058</geonameId>
+        <west>9.47167359782014</west>
+        <north>47.2706251386959</north>
+        <east>9.63564281136796</east>
+        <south>47.0484284123471</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>LK</countryCode>
+        <countryName>Sri Lanka</countryName>
+        <isoNumeric>144</isoNumeric>
+        <isoAlpha3>LKA</isoAlpha3>
+        <fipsCode>CE</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Colombo</capital>
+        <areaInSqKm>65610.0</areaInSqKm>
+        <population>21670000</population>
+        <currencyCode>LKR</currencyCode>
+        <languages>si,ta,en</languages>
+        <geonameId>1227603</geonameId>
+        <west>79.6505518289324</west>
+        <north>9.83586297688552</north>
+        <east>81.8790900303934</east>
+        <south>5.91869676126554</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>LR</countryCode>
+        <countryName>Liberia</countryName>
+        <isoNumeric>430</isoNumeric>
+        <isoAlpha3>LBR</isoAlpha3>
+        <fipsCode>LI</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Monrovia</capital>
+        <areaInSqKm>111370.0</areaInSqKm>
+        <population>4818977</population>
+        <currencyCode>LRD</currencyCode>
+        <languages>en-LR</languages>
+        <geonameId>2275384</geonameId>
+        <west>-11.4993114059999</west>
+        <north>8.55198600000006</north>
+        <east>-7.36925499999995</east>
+        <south>4.35326143300006</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>LS</countryCode>
+        <countryName>Lesotho</countryName>
+        <isoNumeric>426</isoNumeric>
+        <isoAlpha3>LSO</isoAlpha3>
+        <fipsCode>LT</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Maseru</capital>
+        <areaInSqKm>30355.0</areaInSqKm>
+        <population>2108132</population>
+        <currencyCode>LSL</currencyCode>
+        <languages>en-LS,st,zu,xh</languages>
+        <geonameId>932692</geonameId>
+        <west>27.011229998</west>
+        <north>-28.5708</north>
+        <east>29.4557099420001</east>
+        <south>-30.6755750029999</south>
+        <postalCodeFormat>###</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>LT</countryCode>
+        <countryName>Lithuania</countryName>
+        <isoNumeric>440</isoNumeric>
+        <isoAlpha3>LTU</isoAlpha3>
+        <fipsCode>LH</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Vilnius</capital>
+        <areaInSqKm>65200.0</areaInSqKm>
+        <population>2789533</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>lt,ru,pl</languages>
+        <geonameId>597427</geonameId>
+        <west>20.941528</west>
+        <north>56.4504065100001</north>
+        <east>26.8355231</east>
+        <south>53.89679499</south>
+        <postalCodeFormat>LT-#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>LU</countryCode>
+        <countryName>Luxembourg</countryName>
+        <isoNumeric>442</isoNumeric>
+        <isoAlpha3>LUX</isoAlpha3>
+        <fipsCode>LU</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Luxembourg</capital>
+        <areaInSqKm>2586.0</areaInSqKm>
+        <population>607728</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>lb,de-LU,fr-LU</languages>
+        <geonameId>2960313</geonameId>
+        <west>5.735698938390786</west>
+        <north>50.182772453796446</north>
+        <east>6.5308980672559525</east>
+        <south>49.447858677765716</south>
+        <postalCodeFormat>L-####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>LV</countryCode>
+        <countryName>Latvia</countryName>
+        <isoNumeric>428</isoNumeric>
+        <isoAlpha3>LVA</isoAlpha3>
+        <fipsCode>LG</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Riga</capital>
+        <areaInSqKm>64589.0</areaInSqKm>
+        <population>1926542</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>lv,ru,lt</languages>
+        <geonameId>458258</geonameId>
+        <west>20.9621192713114</west>
+        <north>58.0855687987932</north>
+        <east>28.2414937252949</east>
+        <south>55.6746813658222</south>
+        <postalCodeFormat>LV-####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>LY</countryCode>
+        <countryName>Libya</countryName>
+        <isoNumeric>434</isoNumeric>
+        <isoAlpha3>LBY</isoAlpha3>
+        <fipsCode>LY</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Tripoli</capital>
+        <areaInSqKm>1759540.0</areaInSqKm>
+        <population>6678567</population>
+        <currencyCode>LYD</currencyCode>
+        <languages>ar-LY,it,en</languages>
+        <geonameId>2215636</geonameId>
+        <west>9.38702</west>
+        <north>33.168999</north>
+        <east>25.150612</east>
+        <south>19.508045</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>MA</countryCode>
+        <countryName>Morocco</countryName>
+        <isoNumeric>504</isoNumeric>
+        <isoAlpha3>MAR</isoAlpha3>
+        <fipsCode>MO</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Rabat</capital>
+        <areaInSqKm>446550.0</areaInSqKm>
+        <population>36029138</population>
+        <currencyCode>MAD</currencyCode>
+        <languages>ar-MA,ber,fr</languages>
+        <geonameId>2542007</geonameId>
+        <west>-13.1722970399999</west>
+        <north>35.922341095</north>
+        <east>-0.996975780999946</east>
+        <south>27.6672694750001</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>MC</countryCode>
+        <countryName>Monaco</countryName>
+        <isoNumeric>492</isoNumeric>
+        <isoAlpha3>MCO</isoAlpha3>
+        <fipsCode>MN</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Monaco</capital>
+        <areaInSqKm>1.95</areaInSqKm>
+        <population>38682</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>fr-MC,en,it</languages>
+        <geonameId>2993457</geonameId>
+        <west>7.408962249755859</west>
+        <north>43.75196717037228</north>
+        <east>7.439939260482788</east>
+        <south>43.72472839869377</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>MD</countryCode>
+        <countryName>Moldova</countryName>
+        <isoNumeric>498</isoNumeric>
+        <isoAlpha3>MDA</isoAlpha3>
+        <fipsCode>MD</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Chișinău</capital>
+        <areaInSqKm>33843.0</areaInSqKm>
+        <population>3545883</population>
+        <currencyCode>MDL</currencyCode>
+        <languages>ro,ru,gag,tr</languages>
+        <geonameId>617790</geonameId>
+        <west>26.6164249990001</west>
+        <north>48.492029003</north>
+        <east>30.1635900000001</east>
+        <south>45.4674379630001</south>
+        <postalCodeFormat>MD-####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>ME</countryCode>
+        <countryName>Montenegro</countryName>
+        <isoNumeric>499</isoNumeric>
+        <isoAlpha3>MNE</isoAlpha3>
+        <fipsCode>MJ</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Podgorica</capital>
+        <areaInSqKm>14026.0</areaInSqKm>
+        <population>622345</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>sr,hu,bs,sq,hr,rom</languages>
+        <geonameId>3194884</geonameId>
+        <west>18.4335595800001</west>
+        <north>43.558230232</north>
+        <east>20.352926</east>
+        <south>41.868751527</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>MF</countryCode>
+        <countryName>Saint Martin</countryName>
+        <isoNumeric>663</isoNumeric>
+        <isoAlpha3>MAF</isoAlpha3>
+        <fipsCode>RN</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Marigot</capital>
+        <areaInSqKm>53.0</areaInSqKm>
+        <population>37264</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>fr</languages>
+        <geonameId>3578421</geonameId>
+        <west>-63.15036103890611</west>
+        <north>18.125295191246206</north>
+        <east>-63.01059106320133</east>
+        <south>18.04717219103021</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>MG</countryCode>
+        <countryName>Madagascar</countryName>
+        <isoNumeric>450</isoNumeric>
+        <isoAlpha3>MDG</isoAlpha3>
+        <fipsCode>MA</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Antananarivo</capital>
+        <areaInSqKm>587040.0</areaInSqKm>
+        <population>26262368</population>
+        <currencyCode>MGA</currencyCode>
+        <languages>fr-MG,mg</languages>
+        <geonameId>1062947</geonameId>
+        <west>43.224876</west>
+        <north>-11.945433</north>
+        <east>50.48378</east>
+        <south>-25.608952</south>
+        <postalCodeFormat>###</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>MH</countryCode>
+        <countryName>Marshall Islands</countryName>
+        <isoNumeric>584</isoNumeric>
+        <isoAlpha3>MHL</isoAlpha3>
+        <fipsCode>RM</fipsCode>
+        <continent>OC</continent>
+        <continentName>Oceania</continentName>
+        <capital>Majuro</capital>
+        <areaInSqKm>181.3</areaInSqKm>
+        <population>58413</population>
+        <currencyCode>USD</currencyCode>
+        <languages>mh,en-MH</languages>
+        <geonameId>2080185</geonameId>
+        <west>165.524918</west>
+        <north>14.62</north>
+        <east>171.931808</east>
+        <south>5.587639</south>
+        <postalCodeFormat>#####-####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>MK</countryCode>
+        <countryName>North Macedonia</countryName>
+        <isoNumeric>807</isoNumeric>
+        <isoAlpha3>MKD</isoAlpha3>
+        <fipsCode>MK</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Skopje</capital>
+        <areaInSqKm>25333.0</areaInSqKm>
+        <population>2082958</population>
+        <currencyCode>MKD</currencyCode>
+        <languages>mk,sq,tr,rmm,sr</languages>
+        <geonameId>718075</geonameId>
+        <west>20.4524230000001</west>
+        <north>42.3736460000001</north>
+        <east>23.0340440310001</east>
+        <south>40.8539489400001</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>ML</countryCode>
+        <countryName>Mali</countryName>
+        <isoNumeric>466</isoNumeric>
+        <isoAlpha3>MLI</isoAlpha3>
+        <fipsCode>ML</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Bamako</capital>
+        <areaInSqKm>1240000.0</areaInSqKm>
+        <population>19077690</population>
+        <currencyCode>XOF</currencyCode>
+        <languages>fr-ML,bm</languages>
+        <geonameId>2453866</geonameId>
+        <west>-12.240344643</west>
+        <north>25.001084</north>
+        <east>4.26666786900006</east>
+        <south>10.147811</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>MM</countryCode>
+        <countryName>Myanmar</countryName>
+        <isoNumeric>104</isoNumeric>
+        <isoAlpha3>MMR</isoAlpha3>
+        <fipsCode>BM</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Nay Pyi Taw</capital>
+        <areaInSqKm>678500.0</areaInSqKm>
+        <population>53708395</population>
+        <currencyCode>MMK</currencyCode>
+        <languages>my</languages>
+        <geonameId>1327865</geonameId>
+        <west>92.189278</west>
+        <north>28.543249</north>
+        <east>101.176781</east>
+        <south>9.784583</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>MN</countryCode>
+        <countryName>Mongolia</countryName>
+        <isoNumeric>496</isoNumeric>
+        <isoAlpha3>MNG</isoAlpha3>
+        <fipsCode>MG</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Ulaanbaatar</capital>
+        <areaInSqKm>1565000.0</areaInSqKm>
+        <population>3170208</population>
+        <currencyCode>MNT</currencyCode>
+        <languages>mn,ru</languages>
+        <geonameId>2029969</geonameId>
+        <west>87.7344790560001</west>
+        <north>52.1483550020001</north>
+        <east>119.931509803</east>
+        <south>41.5818330000001</south>
+        <postalCodeFormat>######</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>MO</countryCode>
+        <countryName>Macao</countryName>
+        <isoNumeric>446</isoNumeric>
+        <isoAlpha3>MAC</isoAlpha3>
+        <fipsCode>MC</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Macao</capital>
+        <areaInSqKm>254.0</areaInSqKm>
+        <population>631636</population>
+        <currencyCode>MOP</currencyCode>
+        <languages>zh,zh-MO,pt</languages>
+        <geonameId>1821275</geonameId>
+        <west>113.528563856</west>
+        <north>22.2170590110001</north>
+        <east>113.59234495800001</east>
+        <south>22.109952693</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>MP</countryCode>
+        <countryName>Northern Mariana Islands</countryName>
+        <isoNumeric>580</isoNumeric>
+        <isoAlpha3>MNP</isoAlpha3>
+        <fipsCode>CQ</fipsCode>
+        <continent>OC</continent>
+        <continentName>Oceania</continentName>
+        <capital>Saipan</capital>
+        <areaInSqKm>477.0</areaInSqKm>
+        <population>56882</population>
+        <currencyCode>USD</currencyCode>
+        <languages>fil,tl,zh,ch-MP,en-MP</languages>
+        <geonameId>4041468</geonameId>
+        <west>144.88626</west>
+        <north>20.55344</north>
+        <east>146.06528</east>
+        <south>14.11023</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>MQ</countryCode>
+        <countryName>Martinique</countryName>
+        <isoNumeric>474</isoNumeric>
+        <isoAlpha3>MTQ</isoAlpha3>
+        <fipsCode>MB</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Fort-de-France</capital>
+        <areaInSqKm>1100.0</areaInSqKm>
+        <population>432900</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>fr-MQ</languages>
+        <geonameId>3570311</geonameId>
+        <west>-61.229041406022</west>
+        <north>14.8787232943029</north>
+        <east>-60.8096896756103</east>
+        <south>14.3946961023016</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>MR</countryCode>
+        <countryName>Mauritania</countryName>
+        <isoNumeric>478</isoNumeric>
+        <isoAlpha3>MRT</isoAlpha3>
+        <fipsCode>MR</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Nouakchott</capital>
+        <areaInSqKm>1030700.0</areaInSqKm>
+        <population>4403319</population>
+        <currencyCode>MRU</currencyCode>
+        <languages>ar-MR,fuc,snk,fr,mey,wo</languages>
+        <geonameId>2378080</geonameId>
+        <west>-17.066521</west>
+        <north>27.298073</north>
+        <east>-4.827674</east>
+        <south>14.715547</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>MS</countryCode>
+        <countryName>Montserrat</countryName>
+        <isoNumeric>500</isoNumeric>
+        <isoAlpha3>MSR</isoAlpha3>
+        <fipsCode>MH</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Plymouth</capital>
+        <areaInSqKm>102.0</areaInSqKm>
+        <population>9341</population>
+        <currencyCode>XCD</currencyCode>
+        <languages>en-MS</languages>
+        <geonameId>3578097</geonameId>
+        <west>-62.24138237036129</west>
+        <north>16.824060205313184</north>
+        <east>-62.144100129608205</east>
+        <south>16.674768935441556</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>MT</countryCode>
+        <countryName>Malta</countryName>
+        <isoNumeric>470</isoNumeric>
+        <isoAlpha3>MLT</isoAlpha3>
+        <fipsCode>MT</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Valletta</capital>
+        <areaInSqKm>316.0</areaInSqKm>
+        <population>483530</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>mt,en-MT</languages>
+        <geonameId>2562770</geonameId>
+        <west>14.1834251000001</west>
+        <north>36.0821530995456</north>
+        <east>14.5764915000002</east>
+        <south>35.8061835000002</south>
+        <postalCodeFormat>@@@ ####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>MU</countryCode>
+        <countryName>Mauritius</countryName>
+        <isoNumeric>480</isoNumeric>
+        <isoAlpha3>MUS</isoAlpha3>
+        <fipsCode>MP</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Port Louis</capital>
+        <areaInSqKm>2040.0</areaInSqKm>
+        <population>1265303</population>
+        <currencyCode>MUR</currencyCode>
+        <languages>en-MU,bho,fr</languages>
+        <geonameId>934292</geonameId>
+        <west>56.584918976</west>
+        <north>-10.336483002</north>
+        <east>63.5028269640001</east>
+        <south>-20.5255565639999</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>MV</countryCode>
+        <countryName>Maldives</countryName>
+        <isoNumeric>462</isoNumeric>
+        <isoAlpha3>MDV</isoAlpha3>
+        <fipsCode>MV</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Malé</capital>
+        <areaInSqKm>300.0</areaInSqKm>
+        <population>515696</population>
+        <currencyCode>MVR</currencyCode>
+        <languages>dv,en</languages>
+        <geonameId>1282028</geonameId>
+        <west>72.693222</west>
+        <north>7.091587495414767</north>
+        <east>73.637276</east>
+        <south>-0.692694</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>MW</countryCode>
+        <countryName>Malawi</countryName>
+        <isoNumeric>454</isoNumeric>
+        <isoAlpha3>MWI</isoAlpha3>
+        <fipsCode>MI</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Lilongwe</capital>
+        <areaInSqKm>118480.0</areaInSqKm>
+        <population>17563749</population>
+        <currencyCode>MWK</currencyCode>
+        <languages>ny,yao,tum,swk</languages>
+        <geonameId>927384</geonameId>
+        <west>32.6725205490001</west>
+        <north>-9.36722739199996</north>
+        <east>35.9185731040001</east>
+        <south>-17.1295217059999</south>
+        <postalCodeFormat>######</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>MX</countryCode>
+        <countryName>Mexico</countryName>
+        <isoNumeric>484</isoNumeric>
+        <isoAlpha3>MEX</isoAlpha3>
+        <fipsCode>MX</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Mexico City</capital>
+        <areaInSqKm>1972550.0</areaInSqKm>
+        <population>126190788</population>
+        <currencyCode>MXN</currencyCode>
+        <languages>es-MX</languages>
+        <geonameId>3996063</geonameId>
+        <west>-118.453949</west>
+        <north>32.716759</north>
+        <east>-86.703392</east>
+        <south>14.532866</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>MY</countryCode>
+        <countryName>Malaysia</countryName>
+        <isoNumeric>458</isoNumeric>
+        <isoAlpha3>MYS</isoAlpha3>
+        <fipsCode>MY</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Kuala Lumpur</capital>
+        <areaInSqKm>329750.0</areaInSqKm>
+        <population>31528585</population>
+        <currencyCode>MYR</currencyCode>
+        <languages>ms-MY,en,zh,ta,te,ml,pa,th</languages>
+        <geonameId>1733045</geonameId>
+        <west>99.6407165520001</west>
+        <north>7.36333513300002</north>
+        <east>119.269721985</east>
+        <south>0.855000972000028</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>MZ</countryCode>
+        <countryName>Mozambique</countryName>
+        <isoNumeric>508</isoNumeric>
+        <isoAlpha3>MOZ</isoAlpha3>
+        <fipsCode>MZ</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Maputo</capital>
+        <areaInSqKm>801590.0</areaInSqKm>
+        <population>29495962</population>
+        <currencyCode>MZN</currencyCode>
+        <languages>pt-MZ,vmw</languages>
+        <geonameId>1036973</geonameId>
+        <west>30.2155500000001</west>
+        <north>-10.4731756319999</north>
+        <east>40.838104211</east>
+        <south>-26.868162</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>NA</countryCode>
+        <countryName>Namibia</countryName>
+        <isoNumeric>516</isoNumeric>
+        <isoAlpha3>NAM</isoAlpha3>
+        <fipsCode>WA</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Windhoek</capital>
+        <areaInSqKm>825418.0</areaInSqKm>
+        <population>2448255</population>
+        <currencyCode>NAD</currencyCode>
+        <languages>en-NA,af,de,hz,naq</languages>
+        <geonameId>3355338</geonameId>
+        <west>11.737502061</west>
+        <north>-16.963488173</north>
+        <east>25.2617520000001</east>
+        <south>-28.9706389999999</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>NC</countryCode>
+        <countryName>New Caledonia</countryName>
+        <isoNumeric>540</isoNumeric>
+        <isoAlpha3>NCL</isoAlpha3>
+        <fipsCode>NC</fipsCode>
+        <continent>OC</continent>
+        <continentName>Oceania</continentName>
+        <capital>Noumea</capital>
+        <areaInSqKm>19060.0</areaInSqKm>
+        <population>284060</population>
+        <currencyCode>XPF</currencyCode>
+        <languages>fr-NC</languages>
+        <geonameId>2139685</geonameId>
+        <west>163.564667</west>
+        <north>-19.549778</north>
+        <east>168.129135</east>
+        <south>-22.698</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>NE</countryCode>
+        <countryName>Niger</countryName>
+        <isoNumeric>562</isoNumeric>
+        <isoAlpha3>NER</isoAlpha3>
+        <fipsCode>NG</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Niamey</capital>
+        <areaInSqKm>1267000.0</areaInSqKm>
+        <population>22442948</population>
+        <currencyCode>XOF</currencyCode>
+        <languages>fr-NE,ha,kr,dje</languages>
+        <geonameId>2440476</geonameId>
+        <west>0.162193643000023</west>
+        <north>23.5149999920001</north>
+        <east>15.9990340000001</east>
+        <south>11.6937560000001</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>NF</countryCode>
+        <countryName>Norfolk Island</countryName>
+        <isoNumeric>574</isoNumeric>
+        <isoAlpha3>NFK</isoAlpha3>
+        <fipsCode>NF</fipsCode>
+        <continent>OC</continent>
+        <continentName>Oceania</continentName>
+        <capital>Kingston</capital>
+        <areaInSqKm>34.6</areaInSqKm>
+        <population>1828</population>
+        <currencyCode>AUD</currencyCode>
+        <languages>en-NF</languages>
+        <geonameId>2155115</geonameId>
+        <west>167.91543230151365</west>
+        <north>-28.995170686948427</north>
+        <east>167.99773740209957</east>
+        <south>-29.063076742954735</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>NG</countryCode>
+        <countryName>Nigeria</countryName>
+        <isoNumeric>566</isoNumeric>
+        <isoAlpha3>NGA</isoAlpha3>
+        <fipsCode>NI</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Abuja</capital>
+        <areaInSqKm>923768.0</areaInSqKm>
+        <population>195874740</population>
+        <currencyCode>NGN</currencyCode>
+        <languages>en-NG,ha,yo,ig,ff</languages>
+        <geonameId>2328926</geonameId>
+        <west>2.663560999000026</west>
+        <north>13.885645000000068</north>
+        <east>14.677982000000043</east>
+        <south>4.27058531900002</south>
+        <postalCodeFormat>######</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>NI</countryCode>
+        <countryName>Nicaragua</countryName>
+        <isoNumeric>558</isoNumeric>
+        <isoAlpha3>NIC</isoAlpha3>
+        <fipsCode>NU</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Managua</capital>
+        <areaInSqKm>129494.0</areaInSqKm>
+        <population>6465513</population>
+        <currencyCode>NIO</currencyCode>
+        <languages>es-NI,en</languages>
+        <geonameId>3617476</geonameId>
+        <west>-87.690308</west>
+        <north>15.025909</north>
+        <east>-82.738289</east>
+        <south>10.707543</south>
+        <postalCodeFormat>###-###-#</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>NL</countryCode>
+        <countryName>Netherlands</countryName>
+        <isoNumeric>528</isoNumeric>
+        <isoAlpha3>NLD</isoAlpha3>
+        <fipsCode>NL</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Amsterdam</capital>
+        <areaInSqKm>41526.0</areaInSqKm>
+        <population>17231017</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>nl-NL,fy-NL</languages>
+        <geonameId>2750405</geonameId>
+        <west>3.35837827202</west>
+        <north>53.5157125645109</north>
+        <east>7.22749859212922</east>
+        <south>50.7503674993741</south>
+        <postalCodeFormat>#### @@</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>NO</countryCode>
+        <countryName>Norway</countryName>
+        <isoNumeric>578</isoNumeric>
+        <isoAlpha3>NOR</isoAlpha3>
+        <fipsCode>NO</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Oslo</capital>
+        <areaInSqKm>324220.0</areaInSqKm>
+        <population>5314336</population>
+        <currencyCode>NOK</currencyCode>
+        <languages>no,nb,nn,se,fi</languages>
+        <geonameId>3144096</geonameId>
+        <west>4.64182374183584</west>
+        <north>71.1854764998959</north>
+        <east>31.063740342248376</east>
+        <south>57.97987783489344</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>NP</countryCode>
+        <countryName>Nepal</countryName>
+        <isoNumeric>524</isoNumeric>
+        <isoAlpha3>NPL</isoAlpha3>
+        <fipsCode>NP</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Kathmandu</capital>
+        <areaInSqKm>140800.0</areaInSqKm>
+        <population>28087871</population>
+        <currencyCode>NPR</currencyCode>
+        <languages>ne,en</languages>
+        <geonameId>1282988</geonameId>
+        <west>80.058450824</west>
+        <north>30.447389748</north>
+        <east>88.2015257450001</east>
+        <south>26.3479660710001</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>NR</countryCode>
+        <countryName>Nauru</countryName>
+        <isoNumeric>520</isoNumeric>
+        <isoAlpha3>NRU</isoAlpha3>
+        <fipsCode>NR</fipsCode>
+        <continent>OC</continent>
+        <continentName>Oceania</continentName>
+        <capital>Yaren District</capital>
+        <areaInSqKm>21.0</areaInSqKm>
+        <population>12704</population>
+        <currencyCode>AUD</currencyCode>
+        <languages>na,en-NR</languages>
+        <geonameId>2110425</geonameId>
+        <west>166.90968999999996</west>
+        <north>-0.502657000000004</north>
+        <east>166.95899600000007</east>
+        <south>-0.5541467234752249</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>NU</countryCode>
+        <countryName>Niue</countryName>
+        <isoNumeric>570</isoNumeric>
+        <isoAlpha3>NIU</isoAlpha3>
+        <fipsCode>NE</fipsCode>
+        <continent>OC</continent>
+        <continentName>Oceania</continentName>
+        <capital>Alofi</capital>
+        <areaInSqKm>260.0</areaInSqKm>
+        <population>2166</population>
+        <currencyCode>NZD</currencyCode>
+        <languages>niu,en-NU</languages>
+        <geonameId>4036232</geonameId>
+        <west>-169.951004</west>
+        <north>-18.951069</north>
+        <east>-169.775177</east>
+        <south>-19.152193</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>NZ</countryCode>
+        <countryName>New Zealand</countryName>
+        <isoNumeric>554</isoNumeric>
+        <isoAlpha3>NZL</isoAlpha3>
+        <fipsCode>NZ</fipsCode>
+        <continent>OC</continent>
+        <continentName>Oceania</continentName>
+        <capital>Wellington</capital>
+        <areaInSqKm>268680.0</areaInSqKm>
+        <population>4885500</population>
+        <currencyCode>NZD</currencyCode>
+        <languages>en-NZ,mi</languages>
+        <geonameId>2186224</geonameId>
+        <west>166.7155</west>
+        <north>-34.389668</north>
+        <east>-180.0</east>
+        <south>-47.286026</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>OM</countryCode>
+        <countryName>Oman</countryName>
+        <isoNumeric>512</isoNumeric>
+        <isoAlpha3>OMN</isoAlpha3>
+        <fipsCode>MU</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Muscat</capital>
+        <areaInSqKm>212460.0</areaInSqKm>
+        <population>4829483</population>
+        <currencyCode>OMR</currencyCode>
+        <languages>ar-OM,en,bal,ur</languages>
+        <geonameId>286963</geonameId>
+        <west>52.0000000000001</west>
+        <north>26.3863334660001</north>
+        <east>59.8379173280001</east>
+        <south>16.6500835430001</south>
+        <postalCodeFormat>###</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>PA</countryCode>
+        <countryName>Panama</countryName>
+        <isoNumeric>591</isoNumeric>
+        <isoAlpha3>PAN</isoAlpha3>
+        <fipsCode>PM</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Panama City</capital>
+        <areaInSqKm>78200.0</areaInSqKm>
+        <population>4176873</population>
+        <currencyCode>PAB</currencyCode>
+        <languages>es-PA,en</languages>
+        <geonameId>3703430</geonameId>
+        <west>-83.0523988577088</west>
+        <north>9.6474132494631</north>
+        <east>-77.1563637579897</east>
+        <south>7.20236920646422</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>PE</countryCode>
+        <countryName>Peru</countryName>
+        <isoNumeric>604</isoNumeric>
+        <isoAlpha3>PER</isoAlpha3>
+        <fipsCode>PE</fipsCode>
+        <continent>SA</continent>
+        <continentName>South America</continentName>
+        <capital>Lima</capital>
+        <areaInSqKm>1285220.0</areaInSqKm>
+        <population>31989256</population>
+        <currencyCode>PEN</currencyCode>
+        <languages>es-PE,qu,ay</languages>
+        <geonameId>3932488</geonameId>
+        <west>-81.3281953622301</west>
+        <north>-0.0386059686681167</north>
+        <east>-68.6522791042853</east>
+        <south>-18.3509277356587</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>PF</countryCode>
+        <countryName>French Polynesia</countryName>
+        <isoNumeric>258</isoNumeric>
+        <isoAlpha3>PYF</isoAlpha3>
+        <fipsCode>FP</fipsCode>
+        <continent>OC</continent>
+        <continentName>Oceania</continentName>
+        <capital>Papeete</capital>
+        <areaInSqKm>4167.0</areaInSqKm>
+        <population>277679</population>
+        <currencyCode>XPF</currencyCode>
+        <languages>fr-PF,ty</languages>
+        <geonameId>4030656</geonameId>
+        <west>-152.877167</west>
+        <north>-7.903573</north>
+        <east>-134.929825</east>
+        <south>-27.653572</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>PG</countryCode>
+        <countryName>Papua New Guinea</countryName>
+        <isoNumeric>598</isoNumeric>
+        <isoAlpha3>PNG</isoAlpha3>
+        <fipsCode>PP</fipsCode>
+        <continent>OC</continent>
+        <continentName>Oceania</continentName>
+        <capital>Port Moresby</capital>
+        <areaInSqKm>462840.0</areaInSqKm>
+        <population>8606316</population>
+        <currencyCode>PGK</currencyCode>
+        <languages>en-PG,ho,meu,tpi</languages>
+        <geonameId>2088628</geonameId>
+        <west>140.841969</west>
+        <north>-1.31544446799995</north>
+        <east>155.968780519</east>
+        <south>-11.657972335</south>
+        <postalCodeFormat>###</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>PH</countryCode>
+        <countryName>Philippines</countryName>
+        <isoNumeric>608</isoNumeric>
+        <isoAlpha3>PHL</isoAlpha3>
+        <fipsCode>RP</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Manila</capital>
+        <areaInSqKm>300000.0</areaInSqKm>
+        <population>106651922</population>
+        <currencyCode>PHP</currencyCode>
+        <languages>tl,en-PH,fil,ceb,tgl,ilo,hil,war,pam,bik,bcl,pag,mrw,tsg,mdh,cbk,krj,sgd,msb,akl,ibg,yka,mta,abx</languages>
+        <geonameId>1694008</geonameId>
+        <west>116.9288644959</west>
+        <north>21.1218854788318</north>
+        <east>126.60497402182328</east>
+        <south>4.64209796365014</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>PK</countryCode>
+        <countryName>Pakistan</countryName>
+        <isoNumeric>586</isoNumeric>
+        <isoAlpha3>PAK</isoAlpha3>
+        <fipsCode>PK</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Islamabad</capital>
+        <areaInSqKm>803940.0</areaInSqKm>
+        <population>212215030</population>
+        <currencyCode>PKR</currencyCode>
+        <languages>ur-PK,en-PK,pa,sd,ps,brh</languages>
+        <geonameId>1168579</geonameId>
+        <west>60.8729720000001</west>
+        <north>37.0841070010001</north>
+        <east>77.0132974640001</east>
+        <south>23.769527435</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>PL</countryCode>
+        <countryName>Poland</countryName>
+        <isoNumeric>616</isoNumeric>
+        <isoAlpha3>POL</isoAlpha3>
+        <fipsCode>PL</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Warsaw</capital>
+        <areaInSqKm>312685.0</areaInSqKm>
+        <population>37978548</population>
+        <currencyCode>PLN</currencyCode>
+        <languages>pl</languages>
+        <geonameId>798544</geonameId>
+        <west>14.1228850233809</west>
+        <north>54.8357886595169</north>
+        <east>24.1457828491313</east>
+        <south>49.0020465193443</south>
+        <postalCodeFormat>##-###</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>PM</countryCode>
+        <countryName>Saint Pierre and Miquelon</countryName>
+        <isoNumeric>666</isoNumeric>
+        <isoAlpha3>SPM</isoAlpha3>
+        <fipsCode>SB</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Saint-Pierre</capital>
+        <areaInSqKm>242.0</areaInSqKm>
+        <population>7012</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>fr-PM</languages>
+        <geonameId>3424932</geonameId>
+        <west>-56.40709223087083</west>
+        <north>47.14376802942701</north>
+        <east>-56.1253298443454</east>
+        <south>46.78264970849848</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>PN</countryCode>
+        <countryName>Pitcairn Islands</countryName>
+        <isoNumeric>612</isoNumeric>
+        <isoAlpha3>PCN</isoAlpha3>
+        <fipsCode>PC</fipsCode>
+        <continent>OC</continent>
+        <continentName>Oceania</continentName>
+        <capital>Adamstown</capital>
+        <areaInSqKm>47.0</areaInSqKm>
+        <population>46</population>
+        <currencyCode>NZD</currencyCode>
+        <languages>en-PN</languages>
+        <geonameId>4030699</geonameId>
+        <west>-128.35699011119425</west>
+        <north>-24.3299386198549</north>
+        <east>-124.77285</east>
+        <south>-24.672565</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>PR</countryCode>
+        <countryName>Puerto Rico</countryName>
+        <isoNumeric>630</isoNumeric>
+        <isoAlpha3>PRI</isoAlpha3>
+        <fipsCode>RQ</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>San Juan</capital>
+        <areaInSqKm>9104.0</areaInSqKm>
+        <population>3195153</population>
+        <currencyCode>USD</currencyCode>
+        <languages>en-PR,es-PR</languages>
+        <geonameId>4566966</geonameId>
+        <west>-67.9461344974432</west>
+        <north>18.5159687270238</north>
+        <east>-65.2442099429843</east>
+        <south>17.9269004394039</south>
+        <postalCodeFormat>#####-####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>PS</countryCode>
+        <countryName>Palestine</countryName>
+        <isoNumeric>275</isoNumeric>
+        <isoAlpha3>PSE</isoAlpha3>
+        <fipsCode>WE</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital/>
+        <areaInSqKm>5970.0</areaInSqKm>
+        <population>4569087</population>
+        <currencyCode>ILS</currencyCode>
+        <languages>ar-PS</languages>
+        <geonameId>6254930</geonameId>
+        <west>34.2186994300001</west>
+        <north>32.5520881030001</north>
+        <east>35.5740520000001</east>
+        <south>31.2200520000001</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>PT</countryCode>
+        <countryName>Portugal</countryName>
+        <isoNumeric>620</isoNumeric>
+        <isoAlpha3>PRT</isoAlpha3>
+        <fipsCode>PO</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Lisbon</capital>
+        <areaInSqKm>92391.0</areaInSqKm>
+        <population>10281762</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>pt-PT,mwl</languages>
+        <geonameId>2264397</geonameId>
+        <west>-9.50052660716588</west>
+        <north>42.154311127408</north>
+        <east>-6.18915930748288</east>
+        <south>36.96125</south>
+        <postalCodeFormat>####-###</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>PW</countryCode>
+        <countryName>Palau</countryName>
+        <isoNumeric>585</isoNumeric>
+        <isoAlpha3>PLW</isoAlpha3>
+        <fipsCode>PS</fipsCode>
+        <continent>OC</continent>
+        <continentName>Oceania</continentName>
+        <capital>Ngerulmud</capital>
+        <areaInSqKm>458.0</areaInSqKm>
+        <population>17907</population>
+        <currencyCode>USD</currencyCode>
+        <languages>pau,sov,en-PW,tox,ja,fil,zh</languages>
+        <geonameId>1559582</geonameId>
+        <west>131.11788</west>
+        <north>8.46966</north>
+        <east>134.72307</east>
+        <south>2.8036</south>
+        <postalCodeFormat>96940</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>PY</countryCode>
+        <countryName>Paraguay</countryName>
+        <isoNumeric>600</isoNumeric>
+        <isoAlpha3>PRY</isoAlpha3>
+        <fipsCode>PA</fipsCode>
+        <continent>SA</continent>
+        <continentName>South America</continentName>
+        <capital>Asunción</capital>
+        <areaInSqKm>406750.0</areaInSqKm>
+        <population>6956071</population>
+        <currencyCode>PYG</currencyCode>
+        <languages>es-PY,gn</languages>
+        <geonameId>3437598</geonameId>
+        <west>-62.6446174378624</west>
+        <north>-19.2896000004762</north>
+        <east>-54.2589239104835</east>
+        <south>-27.5918335646318</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>QA</countryCode>
+        <countryName>Qatar</countryName>
+        <isoNumeric>634</isoNumeric>
+        <isoAlpha3>QAT</isoAlpha3>
+        <fipsCode>QA</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Doha</capital>
+        <areaInSqKm>11437.0</areaInSqKm>
+        <population>2781677</population>
+        <currencyCode>QAR</currencyCode>
+        <languages>ar-QA,es</languages>
+        <geonameId>289688</geonameId>
+        <west>50.750030995</west>
+        <north>26.1578818880001</north>
+        <east>51.6315537500001</east>
+        <south>24.4711111230001</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>RE</countryCode>
+        <countryName>Réunion</countryName>
+        <isoNumeric>638</isoNumeric>
+        <isoAlpha3>REU</isoAlpha3>
+        <fipsCode>RE</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Saint-Denis</capital>
+        <areaInSqKm>2517.0</areaInSqKm>
+        <population>776948</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>fr-RE</languages>
+        <geonameId>935317</geonameId>
+        <west>55.2165259976951</west>
+        <north>-20.8718271541163</north>
+        <east>55.8366292267104</east>
+        <south>-21.3896307613732</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>RO</countryCode>
+        <countryName>Romania</countryName>
+        <isoNumeric>642</isoNumeric>
+        <isoAlpha3>ROU</isoAlpha3>
+        <fipsCode>RO</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Bucharest</capital>
+        <areaInSqKm>237500.0</areaInSqKm>
+        <population>19473936</population>
+        <currencyCode>RON</currencyCode>
+        <languages>ro,hu,rom</languages>
+        <geonameId>798549</geonameId>
+        <west>20.2619949052262</west>
+        <north>48.2653912058468</north>
+        <east>29.7152986907701</east>
+        <south>43.6190166499833</south>
+        <postalCodeFormat>######</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>RS</countryCode>
+        <countryName>Serbia</countryName>
+        <isoNumeric>688</isoNumeric>
+        <isoAlpha3>SRB</isoAlpha3>
+        <fipsCode>RI</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Belgrade</capital>
+        <areaInSqKm>88361.0</areaInSqKm>
+        <population>6982084</population>
+        <currencyCode>RSD</currencyCode>
+        <languages>sr,hu,bs,rom</languages>
+        <geonameId>6290252</geonameId>
+        <west>18.838044043</west>
+        <north>46.189446</north>
+        <east>23.0063870060001</east>
+        <south>42.2315030010001</south>
+        <postalCodeFormat>######</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>RU</countryCode>
+        <countryName>Russia</countryName>
+        <isoNumeric>643</isoNumeric>
+        <isoAlpha3>RUS</isoAlpha3>
+        <fipsCode>RS</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Moscow</capital>
+        <areaInSqKm>1.71E7</areaInSqKm>
+        <population>144478050</population>
+        <currencyCode>RUB</currencyCode>
+        <languages>ru,tt,xal,cau,ady,kv,ce,tyv,cv,udm,tut,mns,bua,myv,mdf,chm,ba,inh,tut,kbd,krc,av,sah,nog</languages>
+        <geonameId>2017370</geonameId>
+        <west>19.25</west>
+        <north>81.8616409300001</north>
+        <east>-169.05</east>
+        <south>41.1853530000001</south>
+        <postalCodeFormat>######</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>RW</countryCode>
+        <countryName>Rwanda</countryName>
+        <isoNumeric>646</isoNumeric>
+        <isoAlpha3>RWA</isoAlpha3>
+        <fipsCode>RW</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Kigali</capital>
+        <areaInSqKm>26338.0</areaInSqKm>
+        <population>12301939</population>
+        <currencyCode>RWF</currencyCode>
+        <languages>rw,en-RW,fr-RW,sw</languages>
+        <geonameId>49518</geonameId>
+        <west>28.8617308206209</west>
+        <north>-1.04716670707785</north>
+        <east>30.8997466415943</east>
+        <south>-2.84023010213747</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>SA</countryCode>
+        <countryName>Saudi Arabia</countryName>
+        <isoNumeric>682</isoNumeric>
+        <isoAlpha3>SAU</isoAlpha3>
+        <fipsCode>SA</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Riyadh</capital>
+        <areaInSqKm>1960582.0</areaInSqKm>
+        <population>33699947</population>
+        <currencyCode>SAR</currencyCode>
+        <languages>ar-SA</languages>
+        <geonameId>102358</geonameId>
+        <west>34.495693</west>
+        <north>32.1542840000001</north>
+        <east>55.6667</east>
+        <south>16.379528001</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>SB</countryCode>
+        <countryName>Solomon Islands</countryName>
+        <isoNumeric>090</isoNumeric>
+        <isoAlpha3>SLB</isoAlpha3>
+        <fipsCode>BP</fipsCode>
+        <continent>OC</continent>
+        <continentName>Oceania</continentName>
+        <capital>Honiara</capital>
+        <areaInSqKm>28450.0</areaInSqKm>
+        <population>652858</population>
+        <currencyCode>SBD</currencyCode>
+        <languages>en-SB,tpi</languages>
+        <geonameId>2103350</geonameId>
+        <west>155.51227512</west>
+        <north>-6.58897397999996</north>
+        <east>166.99122396</east>
+        <south>-11.88141903</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>SC</countryCode>
+        <countryName>Seychelles</countryName>
+        <isoNumeric>690</isoNumeric>
+        <isoAlpha3>SYC</isoAlpha3>
+        <fipsCode>SE</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Victoria</capital>
+        <areaInSqKm>455.0</areaInSqKm>
+        <population>96762</population>
+        <currencyCode>SCR</currencyCode>
+        <languages>en-SC,fr-SC</languages>
+        <geonameId>241170</geonameId>
+        <west>46.208213357</west>
+        <north>-4.28819084199995</north>
+        <east>56.29445861</east>
+        <south>-9.75436787999996</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>SD</countryCode>
+        <countryName>Sudan</countryName>
+        <isoNumeric>729</isoNumeric>
+        <isoAlpha3>SDN</isoAlpha3>
+        <fipsCode>SU</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Khartoum</capital>
+        <areaInSqKm>1861484.0</areaInSqKm>
+        <population>41801533</population>
+        <currencyCode>SDG</currencyCode>
+        <languages>ar-SD,en,fia</languages>
+        <geonameId>366755</geonameId>
+        <west>21.8146345210001</west>
+        <north>23.1464092140001</north>
+        <east>38.5822502880001</east>
+        <south>9.48888700000003</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>SE</countryCode>
+        <countryName>Sweden</countryName>
+        <isoNumeric>752</isoNumeric>
+        <isoAlpha3>SWE</isoAlpha3>
+        <fipsCode>SW</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Stockholm</capital>
+        <areaInSqKm>449964.0</areaInSqKm>
+        <population>10183175</population>
+        <currencyCode>SEK</currencyCode>
+        <languages>sv-SE,se,sma,fi-SE</languages>
+        <geonameId>2661886</geonameId>
+        <west>11.109499387126</west>
+        <north>69.0599672666879</north>
+        <east>24.155245238099</east>
+        <south>55.3374438220002</south>
+        <postalCodeFormat>### ##</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>SG</countryCode>
+        <countryName>Singapore</countryName>
+        <isoNumeric>702</isoNumeric>
+        <isoAlpha3>SGP</isoAlpha3>
+        <fipsCode>SN</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Singapore</capital>
+        <areaInSqKm>692.7</areaInSqKm>
+        <population>5638676</population>
+        <currencyCode>SGD</currencyCode>
+        <languages>cmn,en-SG,ms-SG,ta-SG,zh-SG</languages>
+        <geonameId>1880251</geonameId>
+        <west>103.605700705134</west>
+        <north>1.47077483208476</north>
+        <east>104.043617447514</east>
+        <south>1.21065456224784</south>
+        <postalCodeFormat>######</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>SH</countryCode>
+        <countryName>Saint Helena</countryName>
+        <isoNumeric>654</isoNumeric>
+        <isoAlpha3>SHN</isoAlpha3>
+        <fipsCode>SH</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Jamestown</capital>
+        <areaInSqKm>410.0</areaInSqKm>
+        <population>7460</population>
+        <currencyCode>SHP</currencyCode>
+        <languages>en-SH</languages>
+        <geonameId>3370751</geonameId>
+        <west>-14.42123</west>
+        <north>-7.887815</north>
+        <east>-5.638753</east>
+        <south>-16.019543</south>
+        <postalCodeFormat>STHL 1ZZ</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>SI</countryCode>
+        <countryName>Slovenia</countryName>
+        <isoNumeric>705</isoNumeric>
+        <isoAlpha3>SVN</isoAlpha3>
+        <fipsCode>SI</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Ljubljana</capital>
+        <areaInSqKm>20273.0</areaInSqKm>
+        <population>2067372</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>sl,sh</languages>
+        <geonameId>3190538</geonameId>
+        <west>13.3753342064709</west>
+        <north>46.8766275518195</north>
+        <east>16.6106311807</east>
+        <south>45.421812998164</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>SJ</countryCode>
+        <countryName>Svalbard and Jan Mayen</countryName>
+        <isoNumeric>744</isoNumeric>
+        <isoAlpha3>SJM</isoAlpha3>
+        <fipsCode>SV</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Longyearbyen</capital>
+        <areaInSqKm>62049.0</areaInSqKm>
+        <population>2550</population>
+        <currencyCode>NOK</currencyCode>
+        <languages>no,ru</languages>
+        <geonameId>607072</geonameId>
+        <west>17.699389</west>
+        <north>80.762085</north>
+        <east>33.287334</east>
+        <south>79.220306</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>SK</countryCode>
+        <countryName>Slovakia</countryName>
+        <isoNumeric>703</isoNumeric>
+        <isoAlpha3>SVK</isoAlpha3>
+        <fipsCode>LO</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Bratislava</capital>
+        <areaInSqKm>48845.0</areaInSqKm>
+        <population>5447011</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>sk,hu</languages>
+        <geonameId>3057568</geonameId>
+        <west>16.8334234020001</west>
+        <north>49.6137360000001</north>
+        <east>22.5657383340001</east>
+        <south>47.7313590000001</south>
+        <postalCodeFormat>### ##</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>SL</countryCode>
+        <countryName>Sierra Leone</countryName>
+        <isoNumeric>694</isoNumeric>
+        <isoAlpha3>SLE</isoAlpha3>
+        <fipsCode>SL</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Freetown</capital>
+        <areaInSqKm>71740.0</areaInSqKm>
+        <population>7650154</population>
+        <currencyCode>SLL</currencyCode>
+        <languages>en-SL,men,tem</languages>
+        <geonameId>2403846</geonameId>
+        <west>-13.302128077</west>
+        <north>9.99997300000007</north>
+        <east>-10.2716829999999</east>
+        <south>6.92343700100002</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>SM</countryCode>
+        <countryName>San Marino</countryName>
+        <isoNumeric>674</isoNumeric>
+        <isoAlpha3>SMR</isoAlpha3>
+        <fipsCode>SM</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>San Marino</capital>
+        <areaInSqKm>61.2</areaInSqKm>
+        <population>33785</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>it-SM</languages>
+        <geonameId>3168068</geonameId>
+        <west>12.403605260165023</west>
+        <north>43.9920929668161</north>
+        <east>12.51584904544211</east>
+        <south>43.8937002210188</south>
+        <postalCodeFormat>4789#</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>SN</countryCode>
+        <countryName>Senegal</countryName>
+        <isoNumeric>686</isoNumeric>
+        <isoAlpha3>SEN</isoAlpha3>
+        <fipsCode>SG</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Dakar</capital>
+        <areaInSqKm>196190.0</areaInSqKm>
+        <population>15854360</population>
+        <currencyCode>XOF</currencyCode>
+        <languages>fr-SN,wo,fuc,mnk</languages>
+        <geonameId>2245662</geonameId>
+        <west>-17.529520035</west>
+        <north>16.6929572170001</north>
+        <east>-11.345768371</east>
+        <south>12.307289079</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>SO</countryCode>
+        <countryName>Somalia</countryName>
+        <isoNumeric>706</isoNumeric>
+        <isoAlpha3>SOM</isoAlpha3>
+        <fipsCode>SO</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Mogadishu</capital>
+        <areaInSqKm>637657.0</areaInSqKm>
+        <population>15008154</population>
+        <currencyCode>SOS</currencyCode>
+        <languages>so-SO,ar-SO,it,en-SO</languages>
+        <geonameId>51537</geonameId>
+        <west>40.9943730000001</west>
+        <north>11.9887353730001</north>
+        <east>51.4150313960001</east>
+        <south>-1.66203236399997</south>
+        <postalCodeFormat>@@  #####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>SR</countryCode>
+        <countryName>Suriname</countryName>
+        <isoNumeric>740</isoNumeric>
+        <isoAlpha3>SUR</isoAlpha3>
+        <fipsCode>NS</fipsCode>
+        <continent>SA</continent>
+        <continentName>South America</continentName>
+        <capital>Paramaribo</capital>
+        <areaInSqKm>163270.0</areaInSqKm>
+        <population>575991</population>
+        <currencyCode>SRD</currencyCode>
+        <languages>nl-SR,en,srn,hns,jv</languages>
+        <geonameId>3382998</geonameId>
+        <west>-58.070505999</west>
+        <north>6.01550458300005</north>
+        <east>-53.978763</east>
+        <south>1.83730600000007</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>SS</countryCode>
+        <countryName>South Sudan</countryName>
+        <isoNumeric>728</isoNumeric>
+        <isoAlpha3>SSD</isoAlpha3>
+        <fipsCode>OD</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Juba</capital>
+        <areaInSqKm>644329.0</areaInSqKm>
+        <population>8260490</population>
+        <currencyCode>SSP</currencyCode>
+        <languages>en</languages>
+        <geonameId>7909807</geonameId>
+        <west>23.4408490000001</west>
+        <north>12.236389</north>
+        <east>35.9489970000001</east>
+        <south>3.48898000000003</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>ST</countryCode>
+        <countryName>São Tomé and Príncipe</countryName>
+        <isoNumeric>678</isoNumeric>
+        <isoAlpha3>STP</isoAlpha3>
+        <fipsCode>TP</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>São Tomé</capital>
+        <areaInSqKm>1001.0</areaInSqKm>
+        <population>197700</population>
+        <currencyCode>STN</currencyCode>
+        <languages>pt-ST</languages>
+        <geonameId>2410758</geonameId>
+        <west>6.47017</west>
+        <north>1.701323</north>
+        <east>7.466374</east>
+        <south>0.024766</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>SV</countryCode>
+        <countryName>El Salvador</countryName>
+        <isoNumeric>222</isoNumeric>
+        <isoAlpha3>SLV</isoAlpha3>
+        <fipsCode>ES</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>San Salvador</capital>
+        <areaInSqKm>21040.0</areaInSqKm>
+        <population>6420744</population>
+        <currencyCode>USD</currencyCode>
+        <languages>es-SV</languages>
+        <geonameId>3585968</geonameId>
+        <west>-90.134654476</west>
+        <north>14.450557001</north>
+        <east>-87.692162</east>
+        <south>13.153004391</south>
+        <postalCodeFormat>CP ####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>SX</countryCode>
+        <countryName>Sint Maarten</countryName>
+        <isoNumeric>534</isoNumeric>
+        <isoAlpha3>SXM</isoAlpha3>
+        <fipsCode>NN</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Philipsburg</capital>
+        <areaInSqKm>21.0</areaInSqKm>
+        <population>40654</population>
+        <currencyCode>ANG</currencyCode>
+        <languages>nl,en</languages>
+        <geonameId>7609695</geonameId>
+        <west>-63.13916381600001</west>
+        <north>18.0641148010001</north>
+        <east>-63.01365933767215</east>
+        <south>18.00509989712575</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>SY</countryCode>
+        <countryName>Syria</countryName>
+        <isoNumeric>760</isoNumeric>
+        <isoAlpha3>SYR</isoAlpha3>
+        <fipsCode>SY</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Damascus</capital>
+        <areaInSqKm>185180.0</areaInSqKm>
+        <population>16906283</population>
+        <currencyCode>SYP</currencyCode>
+        <languages>ar-SY,ku,hy,arc,fr,en</languages>
+        <geonameId>163843</geonameId>
+        <west>35.587211</west>
+        <north>37.3205689060001</north>
+        <east>42.376309</east>
+        <south>32.311136</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>SZ</countryCode>
+        <countryName>Eswatini</countryName>
+        <isoNumeric>748</isoNumeric>
+        <isoAlpha3>SWZ</isoAlpha3>
+        <fipsCode>WZ</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Mbabane</capital>
+        <areaInSqKm>17363.0</areaInSqKm>
+        <population>1136191</population>
+        <currencyCode>SZL</currencyCode>
+        <languages>en-SZ,ss-SZ</languages>
+        <geonameId>934841</geonameId>
+        <west>30.7906400000001</west>
+        <north>-25.7179199999999</north>
+        <east>32.1349066610001</east>
+        <south>-27.317402</south>
+        <postalCodeFormat>@###</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>TC</countryCode>
+        <countryName>Turks and Caicos Islands</countryName>
+        <isoNumeric>796</isoNumeric>
+        <isoAlpha3>TCA</isoAlpha3>
+        <fipsCode>TK</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Cockburn Town</capital>
+        <areaInSqKm>430.0</areaInSqKm>
+        <population>37665</population>
+        <currencyCode>USD</currencyCode>
+        <languages>en-TC</languages>
+        <geonameId>3576916</geonameId>
+        <west>-72.483871</west>
+        <north>21.961878</north>
+        <east>-71.123642</east>
+        <south>21.422626</south>
+        <postalCodeFormat>TKCA 1ZZ</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>TD</countryCode>
+        <countryName>Chad</countryName>
+        <isoNumeric>148</isoNumeric>
+        <isoAlpha3>TCD</isoAlpha3>
+        <fipsCode>CD</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>N'Djamena</capital>
+        <areaInSqKm>1284000.0</areaInSqKm>
+        <population>15477751</population>
+        <currencyCode>XAF</currencyCode>
+        <languages>fr-TD,ar-TD,sre</languages>
+        <geonameId>2434508</geonameId>
+        <west>13.47</west>
+        <north>23.4523611160001</north>
+        <east>24.0000000000001</east>
+        <south>7.44297500000005</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>TF</countryCode>
+        <countryName>French Southern Territories</countryName>
+        <isoNumeric>260</isoNumeric>
+        <isoAlpha3>ATF</isoAlpha3>
+        <fipsCode>FS</fipsCode>
+        <continent>AN</continent>
+        <continentName>Antarctica</continentName>
+        <capital>Port-aux-Français</capital>
+        <areaInSqKm>7829.0</areaInSqKm>
+        <population>140</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>fr</languages>
+        <geonameId>1546748</geonameId>
+        <west>50.170258</west>
+        <north>-37.790722</north>
+        <east>77.598808</east>
+        <south>-49.735184</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>TG</countryCode>
+        <countryName>Togo</countryName>
+        <isoNumeric>768</isoNumeric>
+        <isoAlpha3>TGO</isoAlpha3>
+        <fipsCode>TO</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Lomé</capital>
+        <areaInSqKm>56785.0</areaInSqKm>
+        <population>7889094</population>
+        <currencyCode>XOF</currencyCode>
+        <languages>fr-TG,ee,hna,kbp,dag,ha</languages>
+        <geonameId>2363686</geonameId>
+        <west>-0.144041999999956</west>
+        <north>11.1394984250001</north>
+        <east>1.80890722900006</east>
+        <south>6.11225958700004</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>TH</countryCode>
+        <countryName>Thailand</countryName>
+        <isoNumeric>764</isoNumeric>
+        <isoAlpha3>THA</isoAlpha3>
+        <fipsCode>TH</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Bangkok</capital>
+        <areaInSqKm>514000.0</areaInSqKm>
+        <population>69428524</population>
+        <currencyCode>THB</currencyCode>
+        <languages>th,en</languages>
+        <geonameId>1605651</geonameId>
+        <west>97.345642</west>
+        <north>20.463194</north>
+        <east>105.639389</east>
+        <south>5.61</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>TJ</countryCode>
+        <countryName>Tajikistan</countryName>
+        <isoNumeric>762</isoNumeric>
+        <isoAlpha3>TJK</isoAlpha3>
+        <fipsCode>TI</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Dushanbe</capital>
+        <areaInSqKm>143100.0</areaInSqKm>
+        <population>9100837</population>
+        <currencyCode>TJS</currencyCode>
+        <languages>tg,ru</languages>
+        <geonameId>1220409</geonameId>
+        <west>67.3420120000001</west>
+        <north>41.0443670000001</north>
+        <east>75.1539560000001</east>
+        <south>36.672037001</south>
+        <postalCodeFormat>######</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>TK</countryCode>
+        <countryName>Tokelau</countryName>
+        <isoNumeric>772</isoNumeric>
+        <isoAlpha3>TKL</isoAlpha3>
+        <fipsCode>TL</fipsCode>
+        <continent>OC</continent>
+        <continentName>Oceania</continentName>
+        <capital/>
+        <areaInSqKm>10.0</areaInSqKm>
+        <population>1466</population>
+        <currencyCode>NZD</currencyCode>
+        <languages>tkl,en-TK</languages>
+        <geonameId>4031074</geonameId>
+        <west>-172.50033569335938</west>
+        <north>-8.553613662719727</north>
+        <east>-171.21142578125</east>
+        <south>-9.381111145019531</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>TL</countryCode>
+        <countryName>Timor-Leste</countryName>
+        <isoNumeric>626</isoNumeric>
+        <isoAlpha3>TLS</isoAlpha3>
+        <fipsCode>TT</fipsCode>
+        <continent>OC</continent>
+        <continentName>Oceania</continentName>
+        <capital>Dili</capital>
+        <areaInSqKm>15007.0</areaInSqKm>
+        <population>1267972</population>
+        <currencyCode>USD</currencyCode>
+        <languages>tet,pt-TL,id,en</languages>
+        <geonameId>1966436</geonameId>
+        <west>124.04464721679688</west>
+        <north>-8.12687015533447</north>
+        <east>127.34211730957031</east>
+        <south>-9.504650115966797</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>TM</countryCode>
+        <countryName>Turkmenistan</countryName>
+        <isoNumeric>795</isoNumeric>
+        <isoAlpha3>TKM</isoAlpha3>
+        <fipsCode>TX</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Ashgabat</capital>
+        <areaInSqKm>488100.0</areaInSqKm>
+        <population>5850908</population>
+        <currencyCode>TMT</currencyCode>
+        <languages>tk,ru,uz</languages>
+        <geonameId>1218197</geonameId>
+        <west>52.4455780650001</west>
+        <north>42.7982617260001</north>
+        <east>66.7073530000001</east>
+        <south>35.1290930000001</south>
+        <postalCodeFormat>######</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>TN</countryCode>
+        <countryName>Tunisia</countryName>
+        <isoNumeric>788</isoNumeric>
+        <isoAlpha3>TUN</isoAlpha3>
+        <fipsCode>TS</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Tunis</capital>
+        <areaInSqKm>163610.0</areaInSqKm>
+        <population>11565204</population>
+        <currencyCode>TND</currencyCode>
+        <languages>ar-TN,fr</languages>
+        <geonameId>2464461</geonameId>
+        <west>7.52252789300007</west>
+        <north>37.5419886350001</north>
+        <east>11.608143339</east>
+        <south>30.2415834110001</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>TO</countryCode>
+        <countryName>Tonga</countryName>
+        <isoNumeric>776</isoNumeric>
+        <isoAlpha3>TON</isoAlpha3>
+        <fipsCode>TN</fipsCode>
+        <continent>OC</continent>
+        <continentName>Oceania</continentName>
+        <capital>Nuku'alofa</capital>
+        <areaInSqKm>748.0</areaInSqKm>
+        <population>103197</population>
+        <currencyCode>TOP</currencyCode>
+        <languages>to,en-TO</languages>
+        <geonameId>4032283</geonameId>
+        <west>-175.67962556356</west>
+        <north>-15.566146670329</north>
+        <east>-173.902137947337</east>
+        <south>-21.4564838739226</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>TR</countryCode>
+        <countryName>Turkey</countryName>
+        <isoNumeric>792</isoNumeric>
+        <isoAlpha3>TUR</isoAlpha3>
+        <fipsCode>TU</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Ankara</capital>
+        <areaInSqKm>780580.0</areaInSqKm>
+        <population>82319724</population>
+        <currencyCode>TRY</currencyCode>
+        <languages>tr-TR,ku,diq,az,av</languages>
+        <geonameId>298795</geonameId>
+        <west>25.6665057269225</west>
+        <north>42.104895001</north>
+        <east>44.81812800000006</east>
+        <south>35.8121761290001</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>TT</countryCode>
+        <countryName>Trinidad and Tobago</countryName>
+        <isoNumeric>780</isoNumeric>
+        <isoAlpha3>TTO</isoAlpha3>
+        <fipsCode>TD</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Port of Spain</capital>
+        <areaInSqKm>5128.0</areaInSqKm>
+        <population>1389858</population>
+        <currencyCode>TTD</currencyCode>
+        <languages>en-TT,hns,fr,es,zh</languages>
+        <geonameId>3573591</geonameId>
+        <west>-61.933723449</west>
+        <north>11.348472596</north>
+        <east>-60.519332886</east>
+        <south>10.0411386500001</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>TV</countryCode>
+        <countryName>Tuvalu</countryName>
+        <isoNumeric>798</isoNumeric>
+        <isoAlpha3>TUV</isoAlpha3>
+        <fipsCode>TV</fipsCode>
+        <continent>OC</continent>
+        <continentName>Oceania</continentName>
+        <capital>Funafuti</capital>
+        <areaInSqKm>26.0</areaInSqKm>
+        <population>11508</population>
+        <currencyCode>AUD</currencyCode>
+        <languages>tvl,en,sm,gil</languages>
+        <geonameId>2110297</geonameId>
+        <west>176.059056543963</west>
+        <north>-5.64246006144929</north>
+        <east>179.871049968689</east>
+        <south>-10.791580457901</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>TW</countryCode>
+        <countryName>Taiwan</countryName>
+        <isoNumeric>158</isoNumeric>
+        <isoAlpha3>TWN</isoAlpha3>
+        <fipsCode>TW</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Taipei</capital>
+        <areaInSqKm>35980.0</areaInSqKm>
+        <population>23451837</population>
+        <currencyCode>TWD</currencyCode>
+        <languages>zh-TW,zh,nan,hak</languages>
+        <geonameId>1668284</geonameId>
+        <west>119.534691</west>
+        <north>25.3002899036181</north>
+        <east>122.006739823315</east>
+        <south>21.896606934717</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>TZ</countryCode>
+        <countryName>Tanzania</countryName>
+        <isoNumeric>834</isoNumeric>
+        <isoAlpha3>TZA</isoAlpha3>
+        <fipsCode>TZ</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Dodoma</capital>
+        <areaInSqKm>945087.0</areaInSqKm>
+        <population>56318348</population>
+        <currencyCode>TZS</currencyCode>
+        <languages>sw-TZ,en,ar</languages>
+        <geonameId>149590</geonameId>
+        <west>29.34</west>
+        <north>-0.984396999999944</north>
+        <east>40.4448279960001</east>
+        <south>-11.761254</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>UA</countryCode>
+        <countryName>Ukraine</countryName>
+        <isoNumeric>804</isoNumeric>
+        <isoAlpha3>UKR</isoAlpha3>
+        <fipsCode>UP</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Kyiv</capital>
+        <areaInSqKm>603700.0</areaInSqKm>
+        <population>44622516</population>
+        <currencyCode>UAH</currencyCode>
+        <languages>uk,ru-UA,rom,pl,hu</languages>
+        <geonameId>690791</geonameId>
+        <west>22.137078</west>
+        <north>52.3793713250001</north>
+        <east>40.22048033</east>
+        <south>44.3820571900001</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>UG</countryCode>
+        <countryName>Uganda</countryName>
+        <isoNumeric>800</isoNumeric>
+        <isoAlpha3>UGA</isoAlpha3>
+        <fipsCode>UG</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Kampala</capital>
+        <areaInSqKm>236040.0</areaInSqKm>
+        <population>42723139</population>
+        <currencyCode>UGX</currencyCode>
+        <languages>en-UG,lg,sw,ar</languages>
+        <geonameId>226074</geonameId>
+        <west>29.573465338129</west>
+        <north>4.23136926690327</north>
+        <east>35.0010535324228</east>
+        <south>-1.48153052848838</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>UM</countryCode>
+        <countryName>U.S. Outlying Islands</countryName>
+        <isoNumeric>581</isoNumeric>
+        <isoAlpha3>UMI</isoAlpha3>
+        <fipsCode/>
+        <continent>OC</continent>
+        <continentName>Oceania</continentName>
+        <capital/>
+        <areaInSqKm>0.0</areaInSqKm>
+        <population>0</population>
+        <currencyCode>USD</currencyCode>
+        <languages>en-UM</languages>
+        <geonameId>5854968</geonameId>
+        <west>-177.39629361298717</west>
+        <north>28.218499990178167</north>
+        <east>166.657540716752</east>
+        <south>-0.38256883746907566</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>US</countryCode>
+        <countryName>United States</countryName>
+        <isoNumeric>840</isoNumeric>
+        <isoAlpha3>USA</isoAlpha3>
+        <fipsCode>US</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Washington</capital>
+        <areaInSqKm>9629091.0</areaInSqKm>
+        <population>327167434</population>
+        <currencyCode>USD</currencyCode>
+        <languages>en-US,es-US,haw,fr</languages>
+        <geonameId>6252001</geonameId>
+        <west>-124.733692</west>
+        <north>49.384358</north>
+        <east>-66.949607</east>
+        <south>24.544093</south>
+        <postalCodeFormat>#####-####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>UY</countryCode>
+        <countryName>Uruguay</countryName>
+        <isoNumeric>858</isoNumeric>
+        <isoAlpha3>URY</isoAlpha3>
+        <fipsCode>UY</fipsCode>
+        <continent>SA</continent>
+        <continentName>South America</continentName>
+        <capital>Montevideo</capital>
+        <areaInSqKm>176220.0</areaInSqKm>
+        <population>3449299</population>
+        <currencyCode>UYU</currencyCode>
+        <languages>es-UY</languages>
+        <geonameId>3439705</geonameId>
+        <west>-58.4393489790361</west>
+        <north>-30.0855024328825</north>
+        <east>-53.1810509360802</east>
+        <south>-34.9740543027064</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>UZ</countryCode>
+        <countryName>Uzbekistan</countryName>
+        <isoNumeric>860</isoNumeric>
+        <isoAlpha3>UZB</isoAlpha3>
+        <fipsCode>UZ</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Tashkent</capital>
+        <areaInSqKm>447400.0</areaInSqKm>
+        <population>32955400</population>
+        <currencyCode>UZS</currencyCode>
+        <languages>uz,ru,tg</languages>
+        <geonameId>1512440</geonameId>
+        <west>55.9982180000001</west>
+        <north>45.5900750010001</north>
+        <east>73.1489460000001</east>
+        <south>37.172269828</south>
+        <postalCodeFormat>######</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>VA</countryCode>
+        <countryName>Vatican City</countryName>
+        <isoNumeric>336</isoNumeric>
+        <isoAlpha3>VAT</isoAlpha3>
+        <fipsCode>VT</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Vatican City</capital>
+        <areaInSqKm>0.44</areaInSqKm>
+        <population>921</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>la,it,fr</languages>
+        <geonameId>3164670</geonameId>
+        <west>12.44570678169205</west>
+        <north>41.90743830885576</north>
+        <east>12.45837546629481</east>
+        <south>41.90027960306854</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>VC</countryCode>
+        <countryName>St Vincent and Grenadines</countryName>
+        <isoNumeric>670</isoNumeric>
+        <isoAlpha3>VCT</isoAlpha3>
+        <fipsCode>VC</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Kingstown</capital>
+        <areaInSqKm>389.0</areaInSqKm>
+        <population>110211</population>
+        <currencyCode>XCD</currencyCode>
+        <languages>en-VC,fr</languages>
+        <geonameId>3577815</geonameId>
+        <west>-61.4608524069999</west>
+        <north>13.3831850654817</north>
+        <east>-61.1149220521562</east>
+        <south>12.5839734740001</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>VE</countryCode>
+        <countryName>Venezuela</countryName>
+        <isoNumeric>862</isoNumeric>
+        <isoAlpha3>VEN</isoAlpha3>
+        <fipsCode>VE</fipsCode>
+        <continent>SA</continent>
+        <continentName>South America</continentName>
+        <capital>Caracas</capital>
+        <areaInSqKm>912050.0</areaInSqKm>
+        <population>28870195</population>
+        <currencyCode>VES</currencyCode>
+        <languages>es-VE</languages>
+        <geonameId>3625428</geonameId>
+        <west>-73.354073</west>
+        <north>12.201903</north>
+        <east>-59.80378</east>
+        <south>0.626311</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>VG</countryCode>
+        <countryName>British Virgin Islands</countryName>
+        <isoNumeric>092</isoNumeric>
+        <isoAlpha3>VGB</isoAlpha3>
+        <fipsCode>VI</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Road Town</capital>
+        <areaInSqKm>153.0</areaInSqKm>
+        <population>29802</population>
+        <currencyCode>USD</currencyCode>
+        <languages>en-VG</languages>
+        <geonameId>3577718</geonameId>
+        <west>-64.71312752730364</west>
+        <north>18.757221</north>
+        <east>-64.268768</east>
+        <south>18.383710898211305</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>VI</countryCode>
+        <countryName>U.S. Virgin Islands</countryName>
+        <isoNumeric>850</isoNumeric>
+        <isoAlpha3>VIR</isoAlpha3>
+        <fipsCode>VQ</fipsCode>
+        <continent>NA</continent>
+        <continentName>North America</continentName>
+        <capital>Charlotte Amalie</capital>
+        <areaInSqKm>352.0</areaInSqKm>
+        <population>106977</population>
+        <currencyCode>USD</currencyCode>
+        <languages>en-VI</languages>
+        <geonameId>4796775</geonameId>
+        <west>-65.101333</west>
+        <north>18.415382</north>
+        <east>-64.565193</east>
+        <south>17.673931</south>
+        <postalCodeFormat>#####-####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>VN</countryCode>
+        <countryName>Vietnam</countryName>
+        <isoNumeric>704</isoNumeric>
+        <isoAlpha3>VNM</isoAlpha3>
+        <fipsCode>VM</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Hanoi</capital>
+        <areaInSqKm>329560.0</areaInSqKm>
+        <population>95540395</population>
+        <currencyCode>VND</currencyCode>
+        <languages>vi,en,fr,zh,km</languages>
+        <geonameId>1562822</geonameId>
+        <west>102.148224</west>
+        <north>23.388834</north>
+        <east>109.464638</east>
+        <south>8.559611</south>
+        <postalCodeFormat>######</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>VU</countryCode>
+        <countryName>Vanuatu</countryName>
+        <isoNumeric>548</isoNumeric>
+        <isoAlpha3>VUT</isoAlpha3>
+        <fipsCode>NH</fipsCode>
+        <continent>OC</continent>
+        <continentName>Oceania</continentName>
+        <capital>Port Vila</capital>
+        <areaInSqKm>12200.0</areaInSqKm>
+        <population>292680</population>
+        <currencyCode>VUV</currencyCode>
+        <languages>bi,en-VU,fr-VU</languages>
+        <geonameId>2134431</geonameId>
+        <west>166.541563758726</west>
+        <north>-13.0717069251352</north>
+        <east>169.904111113607</east>
+        <south>-20.2524399918312</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>WF</countryCode>
+        <countryName>Wallis and Futuna</countryName>
+        <isoNumeric>876</isoNumeric>
+        <isoAlpha3>WLF</isoAlpha3>
+        <fipsCode>WF</fipsCode>
+        <continent>OC</continent>
+        <continentName>Oceania</continentName>
+        <capital>Mata-Utu</capital>
+        <areaInSqKm>274.0</areaInSqKm>
+        <population>16025</population>
+        <currencyCode>XPF</currencyCode>
+        <languages>wls,fud,fr-WF</languages>
+        <geonameId>4034749</geonameId>
+        <west>-178.181766889147</west>
+        <north>-13.2169133113924</north>
+        <east>-176.161967235958</east>
+        <south>-14.3124693963595</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>WS</countryCode>
+        <countryName>Samoa</countryName>
+        <isoNumeric>882</isoNumeric>
+        <isoAlpha3>WSM</isoAlpha3>
+        <fipsCode>WS</fipsCode>
+        <continent>OC</continent>
+        <continentName>Oceania</continentName>
+        <capital>Apia</capital>
+        <areaInSqKm>2944.0</areaInSqKm>
+        <population>196130</population>
+        <currencyCode>WST</currencyCode>
+        <languages>sm,en-WS</languages>
+        <geonameId>4034894</geonameId>
+        <west>-172.8035771799316</west>
+        <north>-13.440157771394277</north>
+        <east>-171.42329410058596</east>
+        <south>-14.049015687969286</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>XK</countryCode>
+        <countryName>Kosovo</countryName>
+        <isoNumeric>0</isoNumeric>
+        <isoAlpha3>XKX</isoAlpha3>
+        <fipsCode>KV</fipsCode>
+        <continent>EU</continent>
+        <continentName>Europe</continentName>
+        <capital>Pristina</capital>
+        <areaInSqKm>10908.0</areaInSqKm>
+        <population>1845300</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>sq,sr</languages>
+        <geonameId>831053</geonameId>
+        <west>20.014284</west>
+        <north>43.2676851730001</north>
+        <east>21.7898670000001</east>
+        <south>41.857641001</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>YE</countryCode>
+        <countryName>Yemen</countryName>
+        <isoNumeric>887</isoNumeric>
+        <isoAlpha3>YEM</isoAlpha3>
+        <fipsCode>YM</fipsCode>
+        <continent>AS</continent>
+        <continentName>Asia</continentName>
+        <capital>Sanaa</capital>
+        <areaInSqKm>527970.0</areaInSqKm>
+        <population>28498687</population>
+        <currencyCode>YER</currencyCode>
+        <languages>ar-YE</languages>
+        <geonameId>69543</geonameId>
+        <west>42.5325394314234</west>
+        <north>18.9999989031009</north>
+        <east>54.5305388163283</east>
+        <south>12.1110910264462</south>
+        <postalCodeFormat/>
+    </country>
+    <country>
+        <countryCode>YT</countryCode>
+        <countryName>Mayotte</countryName>
+        <isoNumeric>175</isoNumeric>
+        <isoAlpha3>MYT</isoAlpha3>
+        <fipsCode>MF</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Mamoudzou</capital>
+        <areaInSqKm>374.0</areaInSqKm>
+        <population>279471</population>
+        <currencyCode>EUR</currencyCode>
+        <languages>fr-YT</languages>
+        <geonameId>1024031</geonameId>
+        <west>45.0398136630555</west>
+        <north>-12.6507257773157</north>
+        <east>45.2999850886235</east>
+        <south>-13.0000903911179</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>ZA</countryCode>
+        <countryName>South Africa</countryName>
+        <isoNumeric>710</isoNumeric>
+        <isoAlpha3>ZAF</isoAlpha3>
+        <fipsCode>SF</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Pretoria</capital>
+        <areaInSqKm>1219912.0</areaInSqKm>
+        <population>57779622</population>
+        <currencyCode>ZAR</currencyCode>
+        <languages>zu,xh,af,nso,en-ZA,tn,st,ts,ss,ve,nr</languages>
+        <geonameId>953987</geonameId>
+        <west>16.45189</west>
+        <north>-22.1250300579999</north>
+        <east>32.944984945</east>
+        <south>-34.8341700029999</south>
+        <postalCodeFormat>####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>ZM</countryCode>
+        <countryName>Zambia</countryName>
+        <isoNumeric>894</isoNumeric>
+        <isoAlpha3>ZMB</isoAlpha3>
+        <fipsCode>ZA</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Lusaka</capital>
+        <areaInSqKm>752614.0</areaInSqKm>
+        <population>17351822</population>
+        <currencyCode>ZMW</currencyCode>
+        <languages>en-ZM,bem,loz,lun,lue,ny,toi</languages>
+        <geonameId>895949</geonameId>
+        <west>21.999350925</west>
+        <north>-8.20328399999994</north>
+        <east>33.7090304810001</east>
+        <south>-18.077418</south>
+        <postalCodeFormat>#####</postalCodeFormat>
+    </country>
+    <country>
+        <countryCode>ZW</countryCode>
+        <countryName>Zimbabwe</countryName>
+        <isoNumeric>716</isoNumeric>
+        <isoAlpha3>ZWE</isoAlpha3>
+        <fipsCode>ZI</fipsCode>
+        <continent>AF</continent>
+        <continentName>Africa</continentName>
+        <capital>Harare</capital>
+        <areaInSqKm>390580.0</areaInSqKm>
+        <population>14439018</population>
+        <currencyCode>ZWL</currencyCode>
+        <languages>en-ZW,sn,nr,nd</languages>
+        <geonameId>878675</geonameId>
+        <west>25.2373680000001</west>
+        <north>-15.609318999</north>
+        <east>33.0682360000001</east>
+        <south>-22.421998999</south>
+        <postalCodeFormat/>
+    </country>
 </geonames>
diff --git a/requests/nominatim.openstreetmap.yml b/requests/nominatim.openstreetmap.yml
new file mode 100644 (file)
index 0000000..931a653
--- /dev/null
@@ -0,0 +1,236 @@
+---
+AD: 0.0302777777778
+AE: 1.98777777778
+AF: 0.0408333333333
+AG: 0.00222222222222
+AI: 0.249166666667
+AL: 2.22527777778
+AM: 1.59555555556
+AO: 0.583055555556
+AQ: 0.0025
+AR: 10.4358333333
+AS: 0.000555555555556
+AT: 15.6136111111
+AU: 18.2058333333
+AW: 0.0358333333333
+AX: 0.0152777777778
+AZ: 1.45888888889
+BA: 0.412222222222
+BB: 0.0313888888889
+BD: 2.07638888889
+BE: 5.54
+BF: 0.0527777777778
+BG: 2.63083333333
+BH: 0.121944444444
+BI: 0.0691666666667
+BJ: 0.257777777778
+BL: 0.00666666666667
+BM: 0.0594444444444
+BN: 0.106388888889
+BO: 2.04444444444
+BQ: 0.00416666666667
+BR: 64.7872222222
+BS: 0.0113888888889
+BT: 0.0211111111111
+BW: 0.0675
+BY: 3.45055555556
+BZ: 0.015
+CA: 18.0144444444
+CD: 0.364722222222
+CF: 0.005
+CG: 0.0661111111111
+CH: 11.8022222222
+CI: 0.66
+CK: 0.000555555555556
+CL: 5.82055555556
+CM: 1.11805555556
+CN: 24.0813888889
+CO: 29.0861111111
+CR: 0.450555555556
+CU: 0.0975
+CV: 0.0138888888889
+CW: 0.0155555555556
+CY: 0.251944444444
+CZ: 6.90222222222
+DE: 229.34
+DJ: 0.0125
+DK: 3.63361111111
+DM: 0.00194444444444
+DO: 3.98111111111
+DZ: 0.991666666667
+EC: 3.18333333333
+EE: 3.37527777778
+EG: 4.04583333333
+ES: 23.5105555556
+ET: 0.326666666667
+FI: 4.62611111111
+FJ: 0.0161111111111
+FK: 0.000833333333333
+FM: 0.000833333333333
+FO: 0.613333333333
+FR: 49.7969444444
+GA: 0.0636111111111
+GB: 30.8966666667
+GD: 0.00138888888889
+GE: 0.204166666667
+GF: 0.0297222222222
+GG: 0.00527777777778
+GH: 1.145
+GI: 0.00888888888889
+GL: 0.0880555555556
+GM: 0.0172222222222
+GN: 0.0661111111111
+GP: 0.0627777777778
+GQ: 0.000833333333333
+GR: 21.7488888889
+GT: 15.895
+GU: 0.0144444444444
+GW: 0.000833333333333
+GY: 0.0122222222222
+HK: 1.82722222222
+HN: 0.228333333333
+HR: 8.52138888889
+HT: 0.00666666666667
+HU: 4.32694444444
+ID: 38.6758333333
+IE: 30.0491666667
+IL: 6.955
+IM: 0.142777777778
+IN: 45.3866666667
+IO: 0.000555555555556
+IQ: 0.7525
+IR: 4.71722222222
+IS: 0.1725
+IT: 31.4088888889
+JE: 0.0513888888889
+JM: 0.130833333333
+JO: 0.599166666667
+JP: 11.1275
+KE: 4.11861111111
+KG: 0.218055555556
+KH: 0.379722222222
+KI: 0.000277777777778
+KM: 0.00388888888889
+KN: 0.000555555555556
+KR: 3.85888888889
+KW: 0.819166666667
+KY: 0.00416666666667
+KZ: 2.39666666667
+LA: 0.366944444444
+LB: 0.231944444444
+LC: 0.01
+LI: 0.0236111111111
+LK: 1.51722222222
+LR: 0.0355555555556
+LS: 0.00305555555556
+LT: 6.14444444444
+LU: 2.09
+LV: 2.19222222222
+LY: 0.0883333333333
+MA: 5.09111111111
+MC: 0.0163888888889
+MD: 3.43583333333
+ME: 0.145833333333
+MF: 0.00361111111111
+MG: 0.525277777778
+MH: 0.00305555555556
+MK: 0.112222222222
+ML: 0.0725
+MM: 0.0772222222222
+MN: 1.35861111111
+MO: 0.0475
+MP: 0.00194444444444
+MQ: 0.0322222222222
+MR: 0.0458333333333
+MS: 0.0025
+MT: 0.314166666667
+MU: 0.234166666667
+MV: 0.0244444444444
+MW: 0.0447222222222
+MX: 30.385
+MY: 6.13722222222
+MZ: 0.246666666667
+NA: 0.486666666667
+NC: 0.0458333333333
+NE: 0.173611111111
+NF: 0.000277777777778
+NG: 6.42138888889
+NI: 0.0344444444444
+NL: 30.8016666667
+NO: 4.5425
+NP: 1.77666666667
+NZ: 2.23888888889
+OM: 0.176388888889
+PA: 0.261111111111
+PE: 1.65388888889
+PF: 0.285555555556
+PG: 0.055
+PH: 4.54111111111
+PK: 1.99972222222
+PL: 53.8841666667
+PM: 0.000833333333333
+PR: 0.4075
+PS: 1.21805555556
+PT: 2.37777777778
+PW: 0.000277777777778
+PY: 4.65277777778
+QA: 0.277777777778
+RE: 0.497222222222
+RO: 4.84888888889
+RS: 1.51027777778
+RU: 79.0533333333
+RW: 0.0455555555556
+SA: 3.76305555556
+SB: 0.194444444444
+SC: 1.6425
+SD: 0.899722222222
+SE: 6.68861111111
+SG: 13.1025
+SI: 0.849166666667
+SK: 2.11944444444
+SL: 0.163333333333
+SM: 0.0205555555556
+SN: 0.185277777778
+SO: 0.146944444444
+SR: 0.0136111111111
+SS: 0.00777777777778
+ST: 0.00138888888889
+SV: 0.171666666667
+SX: 0.00444444444444
+SY: 0.728888888889
+SZ: 0.0116666666667
+TC: 0.0025
+TD: 0.00388888888889
+TG: 0.0719444444444
+TH: 5.42694444444
+TJ: 0.534444444444
+TL: 0.0172222222222
+TM: 0.0577777777778
+TN: 1.01861111111
+TO: 0.000277777777778
+TR: 14.9716666667
+TT: 1.00166666667
+TV: 0.00583333333333
+TW: 5.9775
+TZ: 0.296944444444
+UA: 37.3986111111
+UG: 0.272222222222
+UM: 0.000833333333333
+US: 324.626944444
+UY: 0.799166666667
+UZ: 7.335
+VA: 0.00555555555556
+VC: 0.000833333333333
+VE: 4.03694444444
+VG: 0.00111111111111
+VI: 0.00944444444444
+VN: 15.1244444444
+VU: 0.00277777777778
+WF: 0.0183333333333
+WS: 0.00111111111111
+XK: 0.00166666666667
+YE: 0.0991666666667
+YT: 0.00527777777778
+ZA: 8.20611111111
+ZM: 0.110277777778
+ZW: 0.420277777778
diff --git a/src/hosts.js b/src/hosts.js
new file mode 100644 (file)
index 0000000..24a2e5b
--- /dev/null
@@ -0,0 +1,223 @@
+var ALBI_IPV4 = "51.159.53.238";
+var ALBI_IPV6 = "2001:0bc8:1200:0004:dac4:97ff:fe8a:9cfc";
+
+var ANGOR_IPV4 = "196.10.54.165";
+var ANGOR_IPV6 = "2001:43f8:1f4:b00:b283:feff:fed8:dd45";
+
+var ASCALON_IPV4 = "184.107.48.228";
+
+var BALERION_IPV4 = "138.44.68.134";
+
+var BOWSER_IPV4 = "138.44.68.106";
+
+var CULEBRE_IPV4 = "184.104.226.105";
+var CULEBRE_IPV6 = "2001:470:1:b3b::9";
+var CULEBRE_INTERNAL = "10.0.64.9";
+var CULEBRE_OOB = "10.0.65.9";
+
+var DRIBBLE_IPV4 = "184.104.179.132";
+var DRIBBLE_IPV6 = "2001:470:1:fa1::4";
+var DRIBBLE_INTERNAL = "10.0.48.4";
+var DRIBBLE_OOB = "10.0.49.4";
+
+var DULCY_IPV4 = "184.104.179.137";
+var DULCY_IPV6 = "2001:470:1:fa1::9";
+var DULCY_INTERNAL = "10.0.48.9";
+var DULCY_OOB = "10.0.49.9";
+
+var EDDIE_INTERNAL = "10.0.0.10";
+var EDDIE_OOB = "10.0.1.10";
+
+var FAFFY_IPV4 = "184.104.179.131";
+var FAFFY_IPV6 = "2001:470:1:fa1::3";
+var FAFFY_INTERNAL = "10.0.48.3";
+var FAFFY_OOB = "10.0.49.3";
+
+var FAFNIR_IPV4 = "184.104.226.98";
+var FAFNIR_IPV6 = "2001:470:1:b3b::2";
+var FAFNIR_INTERNAL = "10.0.64.2";
+var FAFNIR_OOB = "10.0.65.2";
+
+var FUME_IPV4 = "184.104.226.112";
+var FUME_IPV6 = "2001:470:1:b3b::10";
+var FUME_INTERNAL = "10.0.64.16";
+var FUME_OOB = "10.0.65.16";
+
+var GRISU_IPV4 = "184.104.226.113";
+var GRISU_IPV6 = "2001:470:1:b3b::11";
+var GRISU_INTERNAL = "10.0.64.17";
+var GRISU_OOB = "10.0.65.17";
+
+var HORNTAIL_IPV4 = "184.104.226.106";
+var HORNTAIL_IPV6 = "2001:470:1:b3b::a";
+var HORNTAIL_INTERNAL = "10.0.64.10";
+var HORNTAIL_OOB = "10.0.65.10";
+
+var IDRIS_IPV4 = "184.104.226.102";
+var IDRIS_IPV6 = "2001:470:1:b3b::6";
+var IDRIS_INTERNAL = "10.0.64.6";
+var IDRIS_OOB = "10.0.65.6";
+
+var IRONBELLY_IPV4 = "184.104.179.138";
+var IRONBELLY_IPV6 = "2001:470:1:fa1::a";
+var IRONBELLY_INTERNAL = "10.0.48.10";
+var IRONBELLY_OOB = "10.0.49.10";
+
+var JAKELONG_IPV4 = "184.104.226.108";
+var JAKELONG_IPV6 = "2001:470:1:b3b::c";
+var JAKELONG_INTERNAL = "10.0.64.12";
+var JAKELONG_OOB = "10.0.65.12";
+
+var KARM_INTERNAL = "10.0.48.50";
+var KARM_OOB = "10.0.49.50";
+
+var KESSIE_IPV4 = "178.250.74.36";
+var KESSIE_IPV6 = "2a02:1658:4:0:dad3:85ff:fe5d:875e";
+var KESSIE_OOB = "178.250.74.37";
+
+var KONQI_IPV4 = "184.104.226.103";
+var KONQI_IPV6 = "2001:470:1:b3b::7";
+var KONQI_INTERNAL = "10.0.64.7";
+var KONQI_OOB = "10.0.65.7";
+
+var KVM1_INTERNAL = "10.0.0.21";
+
+var LADON_IPV4 = "83.212.2.116";
+var LADON_IPV6 = "2001:648:2ffe:4::116";
+
+var LONGMA_IPV4 = "184.104.226.109";
+var LONGMA_IPV6 = "2001:470:1:b3b::d";
+var LONGMA_INTERNAL = "10.0.64.13";
+var LONGMA_OOB = "10.0.65.13";
+
+var MERAXES_IPV4 = "51.15.185.90";
+var MERAXES_IPV6 = "2001:bc8:2d57:100:aa1e:84ff:fe72:e660";
+
+var MUIRDRIS_IPV4 = "184.104.226.111";
+var MUIRDRIS_IPV6 = "2001:470:1:b3b::f";
+var MUIRDRIS_INTERNAL = "10.0.64.15";
+var MUIRDRIS_OOB = "10.0.65.15";
+
+var NAGA_IPV4 = "184.104.226.104";
+var NAGA_IPV6 = "2001:470:1:b3b::8";
+var NAGA_INTERNAL = "10.0.64.8";
+var NAGA_OOB = "10.0.65.8";
+
+var NEAK_IPV4 = "89.234.177.142";
+
+var NECROSAN_IPV4 = "45.85.134.91";
+var NECROSAN_IPV6 = "2a05:46c0:100:1004:ffff:ffff:ffff:ffff";
+
+var NIDHOGG_IPV4 = "194.71.11.111";
+var NIDHOGG_IPV6 = "2001:6b0:19:2::111";
+var NIDHOGG_OOB = "130.239.18.115";
+
+var NORBERT_IPV4 = "184.104.179.145";
+var NORBERT_IPV6 = "2001:470:1:fa1::11";
+var NORBERT_INTERNAL = "10.0.48.17";
+var NORBERT_OOB = "10.0.49.17";
+
+var ODIN_IPV4 = "184.104.179.143";
+var ODIN_IPV6 = "2001:470:1:fa1::f";
+var ODIN_INTERNAL = "10.0.48.15";
+var ODIN_OOB = "10.0.49.15";
+
+var OOB1AMS_INTERNAL = "10.0.48.102";
+
+var OOB1DUB_INTERNAL = "10.0.64.102";
+
+var PALULUKON_IPV4 = "3.144.0.72";
+
+var PIASA_IPV4 = "140.211.167.101";
+var PIASA_IPV6 = "2605:bc80:3010:700::8cd3:a765";
+var PIASA_OOB = "10.0.0.198";
+
+var PDU1AMS_INTERNAL = "10.0.48.100";
+
+var PDU2AMS_INTERNAL = "10.0.48.101";
+
+var PDU1DUB_INTERNAL = "10.0.64.100";
+
+var PDU2DUB_INTERNAL = "10.0.64.101";
+
+var RHAEGAL_IPV4 = "161.53.248.77";
+
+var RIDGEBACK_IPV4 = "31.169.50.10";
+var RIDGEBACK_OOB = "31.169.50.14";
+
+var RIDLEY_IPV4 = "193.60.236.19";
+var RIDLEY_INTERNAL = "10.0.0.3";
+var RIDLEY_OOB = "10.0.1.3";
+
+var SCORCH_IPV4 = "176.31.235.79";
+var SCORCH_IPV6 = "2001:41d0:2:fc4f::1";
+
+var SHENRON_IPV4 = "212.110.172.32";
+var SHENRON_IPV6 = "2001:41c9:1:400::32";
+
+var SMAUG_IPV4 = "184.104.226.110";
+var SMAUG_IPV6 = "2001:470:1:b3b::e";
+var SMAUG_INTERNAL = "10.0.64.14";
+var SMAUG_OOB = "10.0.65.14";
+
+var SNAP01_INTERNAL = "10.0.48.49";
+var SNAP01_OOB = "10.0.49.49";
+
+var SNAP02_INTERNAL = "10.0.0.4";
+var SNAP02_OOB = "10.0.1.4";
+
+var SNAP03_INTERNAL = "10.0.64.50";
+var SNAP03_OOB = "10.0.65.50";
+
+var SPIKE01_IPV4 = "184.104.226.99";
+var SPIKE01_IPV6 = "2001:470:1:b3b::3";
+var SPIKE01_INTERNAL = "10.0.64.3";
+var SPIKE01_OOB = "10.0.65.3";
+
+var SPIKE02_IPV4 = "184.104.226.100";
+var SPIKE02_IPV6 = "2001:470:1:b3b::4";
+var SPIKE02_INTERNAL = "10.0.64.4";
+var SPIKE02_OOB = "10.0.65.4";
+
+var SPIKE03_IPV4 = "184.104.226.101";
+var SPIKE03_IPV6 = "2001:470:1:b3b::5";
+var SPIKE03_INTERNAL = "10.0.64.5";
+var SPIKE03_OOB = "10.0.65.5";
+
+var SPIKE06_IPV4 = "184.104.179.139";
+var SPIKE06_IPV6 = "2001:470:1:fa1::b";
+var SPIKE06_INTERNAL = "10.0.48.11";
+var SPIKE06_OOB = "10.0.49.11";
+
+var SPIKE07_IPV4 = "184.104.179.140";
+var SPIKE07_IPV6 = "2001:470:1:fa1::c";
+var SPIKE07_INTERNAL = "10.0.48.12";
+var SPIKE07_OOB = "10.0.49.12";
+
+var SPIKE08_IPV4 = "184.104.179.141";
+var SPIKE08_IPV6 = "2001:470:1:fa1::d";
+var SPIKE08_INTERNAL = "10.0.48.13";
+var SPIKE08_OOB = "10.0.49.13";
+
+var STORMFLY03_IPV4 = "140.211.167.99";
+var STORMFLY03_IPV6 = "2605:bc80:3010:700::8cd3:a763";
+var STORMFLY03_OOB = "10.0.0.2";
+
+var STORMFLY04_IPV4 = "140.211.167.100";
+var STORMFLY04_IPV6 = "2605:bc80:3010:700::8cd3:a764";
+var STORMFLY04_OOB = "10.0.0.3";
+
+var SWITCH1AMS_IPV4 = "184.104.179.129";
+var SWITCH1AMS_IPV6 = "2001:470:1:fa1::1";
+
+var SWITCH1DUB_IPV4 = "184.104.226.97";
+var SWITCH1DUB_IPV6 = "2001:470:1:b3b::1";
+
+var VHAGAR_IPV4 = "184.104.179.133";
+var VHAGAR_IPV6 = "2001:470:1:fa1::5";
+var VHAGAR_INTERNAL = "10.0.48.5";
+var VHAGAR_OOB = "10.0.49.5";
+
+var YSERA_IPV4 = "193.60.236.22";
+var YSERA_INTERNAL = "10.0.0.15";
+var YSERA_OOB = "10.0.1.15";
diff --git a/src/ideditor.js b/src/ideditor.js
new file mode 100644 (file)
index 0000000..8706619
--- /dev/null
@@ -0,0 +1,34 @@
+D(DOMAIN, REGISTRAR, DnsProvider(PROVIDER),
+
+  // Publish CAA records indicating that only letsencrypt should issue certificates
+
+  CAA_BUILDER({
+    label: "@",
+    iodef: "mailto:hostmaster@openstreetmap.org",
+    issue: [
+      "letsencrypt.org",
+    ],
+    issuewild: [
+      "letsencrypt.org",
+    ],
+  }),
+
+  // Delegate SPF policy to the main domain
+
+  SPF_BUILDER({
+    label: "@",
+    parts: [
+      "v=spf1",
+      "include:openstreetmap.org",      // main openstreetmap.org spf record
+      "-all"
+    ]
+  }),
+
+  // site hosted on github pages
+
+  ALIAS("@", "openstreetmap.github.io."),
+  CNAME("www", "openstreetmap.github.io."),
+  A("preview", NAGA_IPV4),
+  AAAA("preview", NAGA_IPV6)
+
+);
diff --git a/src/nominatim.openstreetmap.yml b/src/nominatim.openstreetmap.yml
new file mode 100644 (file)
index 0000000..8731bad
--- /dev/null
@@ -0,0 +1,39 @@
+europe:
+  lat: 52.8746661
+  lon: -0.7088728262458915
+  colour: "#7fc97f"
+  servers:
+    - statuscake:
+       - 2217359
+       - 2217360
+      requests: 300
+      name: dulcy
+      ipv4: 184.104.179.137
+      ipv6: 2001:470:1:fa1::9
+    - statuscake:
+       - 6224536
+       - 6224537
+      requests: 1500
+      name: longma
+      ipv4: 184.104.226.109
+      ipv6: 2001:470:1:b3b::d
+    - statuscake:
+       - 6726828
+       - 6726827
+      requests: 1500
+      name: vhagar
+      ipv4: 184.104.179.133
+      ipv6: 2001:470:1:fa1::5
+  default: "xx"
+
+stormfly-04:
+  lat: 44.5639267
+  lon: -123.274707837676
+  statuscake:
+    - 5769055
+    - 5769056
+  colour: "#fdc086"
+  requests: 400
+  ipv4: 140.211.167.100
+  ipv6: 2605:bc80:3010:700::8cd3:a764
+  default: "xx"
diff --git a/src/opengeodata b/src/opengeodata
deleted file mode 100644 (file)
index 9969e8a..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-# tinydns data for opengeodata
-#
-# Full reference is at http://cr.yp.to/djbdns/tinydns-data.html
-
-# Let Bytemark handle the DNS
-
-.opengeodata::a.ns.bytemark.co.uk
-.opengeodata::b.ns.bytemark.co.uk
-.opengeodata::c.ns.bytemark.co.uk
-
-# Publish a CAA record indicating that only letsencrypt should issue certificates
-
-:opengeodata:257:\000\005\151\163\163\165\145\154\145\164\163\145\156\143\162\171\160\164\056\157\162\147
-
-# Main web server and it's aliases
-
-+opengeodata:193.60.236.19:600
-+old.opengeodata:193.60.236.19:600
-+www.opengeodata:193.60.236.19:600
diff --git a/src/opengeodata.js b/src/opengeodata.js
new file mode 100644 (file)
index 0000000..f7824f2
--- /dev/null
@@ -0,0 +1,33 @@
+D(DOMAIN, REGISTRAR, DnsProvider(PROVIDER),
+
+  // Publish CAA records indicating that only letsencrypt should issue certificates
+
+  CAA_BUILDER({
+    label: "@",
+    iodef: "mailto:hostmaster@openstreetmap.org",
+    issue: [
+      "letsencrypt.org",
+    ],
+    issuewild: [
+      "letsencrypt.org",
+    ],
+  }),
+
+  // Delegate SPF policy to the main domain
+
+  SPF_BUILDER({
+    label: "@",
+    parts: [
+      "v=spf1",
+      "include:openstreetmap.org",      // main openstreetmap.org spf record
+      "-all"
+    ]
+  }),
+
+  // Main web server and it's aliases
+
+  A("@", RIDLEY_IPV4),
+  A("old", RIDLEY_IPV4), // Legacy URL support https://blog.openstreetmap.org/2010/02/25/old-opengeodata-posts-now-up-at-old-opengeodata-org/
+  A("www", RIDLEY_IPV4)
+
+);
\ No newline at end of file
diff --git a/src/openstreetmap b/src/openstreetmap
deleted file mode 100644 (file)
index a237390..0000000
+++ /dev/null
@@ -1,558 +0,0 @@
-# tinydns data for openstreetmap
-#
-# Full reference is at http://cr.yp.to/djbdns/tinydns-data.html
-
-# Set SOA values with reduced TTL for negative cache entries
-Zopenstreetmap:a.ns.bytemark.co.uk:hostmaster.openstreetmap.org:::::300
-
-# Let Bytemark handle the DNS
-
-.openstreetmap::a.ns.bytemark.co.uk
-.openstreetmap::b.ns.bytemark.co.uk
-.openstreetmap::c.ns.bytemark.co.uk
-
-# Publish a CAA record indicating that only letsencrypt should issue certificates
-
-:openstreetmap:257:\000\005\151\163\163\165\145\154\145\164\163\145\156\143\162\171\160\164\056\157\162\147
-
-# Make the virtual machine the primary MX with Bytemark as backup
-
-@openstreetmap:212.110.172.32:a:10
-@noreply.openstreetmap::a.mx.openstreetmap:10
-@otrs.openstreetmap::a.mx.openstreetmap:10
-@messages.openstreetmap::a.mx.openstreetmap:10
-
-3a.mx.openstreetmap:200141c9000104000000000000000032
-
-# Publish an SPF record indicating that only shenron sends mail
-
-# https://anders.com/projects/sysadmin/djbdnsRecordBuilder/
-# v=spf1 ip4:212.110.172.32 ip6:2001:41c9:1:400::32 mx -all
-'openstreetmap:v=spf1\040ip4\072212.110.172.32\040ip6\0722001\07241c9\0721\072400\072\07232\040mx\040-all:86400
-'otrs.openstreetmap:v=spf1\040ip4\072212.110.172.32\040ip6\0722001\07241c9\0721\072400\072\07232\040mx\040-all:86400
-
-# Google postmaster tools verification
-
-Caf323lytato5.openstreetmap:gv-o4v3qh5pfayqex.dv.googlehosted.com
-'openstreetmap:google-site-verification=oMMclkNxMVPPk0lhThg5S7cuzUZmtL_OZWTCrAwNcqQ
-
-# Delegate geo.openstreetmap.org to PowerDNS
-
-# saphira.openstreetmap.org
-&geo.openstreetmap:185.73.44.30:a.ns.openstreetmap
-# ridgeback.openstreetmap.org
-&geo.openstreetmap:31.169.50.10:b.ns.openstreetmap
-# jakelong.openstreetmap.org
-&geo.openstreetmap:71.19.155.177:c.ns.openstreetmap
-# katie.openstreetmap.org
-&geo.openstreetmap:144.76.70.77:d.ns.openstreetmap
-# stormfly-02.openstreetmap.org
-&geo.openstreetmap:140.211.167.105:e.ns.openstreetmap
-# chrysophylax.openstreetmap.org
-&geo.openstreetmap:217.71.244.22:f.ns.openstreetmap
-
-# Main web servers and their aliases
-
-+spike-01.openstreetmap:130.117.76.6
-3spike-01.openstreetmap:200109780002002c0000000001720006
-#+openstreetmap:130.117.76.6:600
-#3openstreetmap:200109780002002c0000000001720006:600
-#+www.openstreetmap:130.117.76.6:600
-#3www.openstreetmap:200109780002002c0000000001720006:600
-#+api.openstreetmap:130.117.76.6:600
-#3api.openstreetmap:200109780002002c0000000001720006:600
-#+maps.openstreetmap:130.117.76.6:600
-#3maps.openstreetmap:200109780002002c0000000001720006:600
-#+mapz.openstreetmap:130.117.76.6:600
-#3mapz.openstreetmap:200109780002002c0000000001720006:600
-+spike-01.ams.openstreetmap:10.0.48.6
-+spike-01.oob.openstreetmap:10.0.49.6
-
-+spike-02.openstreetmap:130.117.76.7
-3spike-02.openstreetmap:200109780002002c0000000001720007
-#+openstreetmap:130.117.76.7:600
-#3openstreetmap:200109780002002c0000000001720007:600
-#+www.openstreetmap:130.117.76.7:600
-#3www.openstreetmap:200109780002002c0000000001720007:600
-#+api.openstreetmap:130.117.76.7:600
-#3api.openstreetmap:200109780002002c0000000001720007:600
-#+maps.openstreetmap:130.117.76.7:600
-#3maps.openstreetmap:200109780002002c0000000001720007:600
-#+mapz.openstreetmap:130.117.76.7:600
-#3mapz.openstreetmap:200109780002002c0000000001720007:600
-+spike-02.ams.openstreetmap:10.0.48.7
-+spike-02.oob.openstreetmap:10.0.49.7
-
-+spike-03.openstreetmap:130.117.76.8
-3spike-03.openstreetmap:200109780002002c0000000001720008
-#+openstreetmap:130.117.76.8:600
-#3openstreetmap:200109780002002c0000000001720008:600
-#+www.openstreetmap:130.117.76.8:600
-#3www.openstreetmap:200109780002002c0000000001720008:600
-#+api.openstreetmap:130.117.76.8:600
-#3api.openstreetmap:200109780002002c0000000001720008:600
-#+maps.openstreetmap:130.117.76.8:600
-#3maps.openstreetmap:200109780002002c0000000001720008:600
-#+mapz.openstreetmap:130.117.76.8:600
-#3mapz.openstreetmap:200109780002002c0000000001720008:600
-+spike-03.ams.openstreetmap:10.0.48.8
-+spike-03.oob.openstreetmap:10.0.49.8
-
-+spike-04.openstreetmap:89.16.162.21
-3spike-04.openstreetmap:200141c9000200d60000000000000021
-#+openstreetmap:89.16.162.21:600
-#3openstreetmap:200141c9000200d60000000000000021:600
-#+www.openstreetmap:89.16.162.21:600
-#3www.openstreetmap:200141c9000200d60000000000000021:600
-#+api.openstreetmap:89.16.162.21:600
-#3api.openstreetmap:200141c9000200d60000000000000021:600
-#+maps.openstreetmap:89.16.162.21:600
-#3maps.openstreetmap:200141c9000200d60000000000000021:600
-#+mapz.openstreetmap:89.16.162.21:600
-#3mapz.openstreetmap:200141c9000200d60000000000000021:600
-+spike-04.bm.openstreetmap:10.0.32.21
-+spike-04.oob.openstreetmap:10.0.33.21
-
-+spike-05.openstreetmap:89.16.162.22
-3spike-05.openstreetmap:200141c9000200d60000000000000022
-#+openstreetmap:89.16.162.22:600
-#3openstreetmap:200141c9000200d60000000000000022:600
-#+www.openstreetmap:89.16.162.22:600
-#3www.openstreetmap:200141c9000200d60000000000000022:600
-#+api.openstreetmap:89.16.162.22:600
-#3api.openstreetmap:200141c9000200d60000000000000022:600
-#+maps.openstreetmap:89.16.162.22:600
-#3maps.openstreetmap:200141c9000200d60000000000000022:600
-#+mapz.openstreetmap:89.16.162.22:600
-#3mapz.openstreetmap:200141c9000200d60000000000000022:600
-+spike-05.bm.openstreetmap:10.0.32.22
-+spike-05.oob.openstreetmap:10.0.33.22
-
-+spike-06.openstreetmap:130.117.76.11
-3spike-06.openstreetmap:200109780002002c000000000172000B
-+openstreetmap:130.117.76.11:600
-3openstreetmap:200109780002002c000000000172000B:600
-+www.openstreetmap:130.117.76.11:600
-3www.openstreetmap:200109780002002c000000000172000B:600
-+api.openstreetmap:130.117.76.11:600
-3api.openstreetmap:200109780002002c000000000172000B:600
-+maps.openstreetmap:130.117.76.11:600
-3maps.openstreetmap:200109780002002c000000000172000B:600
-+mapz.openstreetmap:130.117.76.11:600
-3mapz.openstreetmap:200109780002002c000000000172000B:600
-+spike-06.ams.openstreetmap:10.0.48.11
-+spike-06.oob.openstreetmap:10.0.49.11
-
-+spike-07.openstreetmap:130.117.76.12
-3spike-07.openstreetmap:200109780002002c000000000172000C
-+openstreetmap:130.117.76.12:600
-3openstreetmap:200109780002002c000000000172000C:600
-+www.openstreetmap:130.117.76.12:600
-3www.openstreetmap:200109780002002c000000000172000C:600
-+api.openstreetmap:130.117.76.12:600
-3api.openstreetmap:200109780002002c000000000172000C:600
-+maps.openstreetmap:130.117.76.12:600
-3maps.openstreetmap:200109780002002c000000000172000C:600
-+mapz.openstreetmap:130.117.76.12:600
-3mapz.openstreetmap:200109780002002c000000000172000C:600
-+spike-07.ams.openstreetmap:10.0.48.12
-+spike-07.oob.openstreetmap:10.0.49.12
-
-+spike-08.openstreetmap:130.117.76.13
-3spike-08.openstreetmap:200109780002002c000000000172000D
-+openstreetmap:130.117.76.13:600
-3openstreetmap:200109780002002c000000000172000D:600
-+www.openstreetmap:130.117.76.13:600
-3www.openstreetmap:200109780002002c000000000172000D:600
-+api.openstreetmap:130.117.76.13:600
-3api.openstreetmap:200109780002002c000000000172000D:600
-+maps.openstreetmap:130.117.76.13:600
-3maps.openstreetmap:200109780002002c000000000172000D:600
-+mapz.openstreetmap:130.117.76.13:600
-3mapz.openstreetmap:200109780002002c000000000172000D:600
-+spike-08.ams.openstreetmap:10.0.48.13
-+spike-08.oob.openstreetmap:10.0.49.13
-
-# Rails application servers
-
-+thorn-01.ams.openstreetmap:10.0.48.51
-+rails1.ams.openstreetmap:10.0.48.51
-+thorn-01.oob.openstreetmap:10.0.49.51
-
-+thorn-02.ams.openstreetmap:10.0.48.52
-+rails2.ams.openstreetmap:10.0.48.52
-+thorn-02.oob.openstreetmap:10.0.49.52
-
-+thorn-03.ams.openstreetmap:10.0.48.53
-+rails3.ams.openstreetmap:10.0.48.53
-+thorn-03.oob.openstreetmap:10.0.49.53
-
-+thorn-04.bm.openstreetmap:10.0.32.41
-+rails4.bm.openstreetmap:10.0.32.41
-+thorn-04.oob.openstreetmap:10.0.33.41
-
-+thorn-05.bm.openstreetmap:10.0.32.42
-+rails5.bm.openstreetmap:10.0.32.42
-+thorn-05.oob.openstreetmap:10.0.33.42
-
-# Nominatim servers
-
-+pummelzacken.openstreetmap:193.60.236.18
-#+nominatim.openstreetmap:193.60.236.18:600
-+pummelzacken.ucl.openstreetmap:10.0.0.20
-+pummelzacken.oob.openstreetmap:10.0.1.20
-
-+dulcy.openstreetmap:130.117.76.9
-3dulcy.openstreetmap:200109780002002c0000000001720009
-+nominatim.openstreetmap:130.117.76.9:600
-3nominatim.openstreetmap:200109780002002c0000000001720009:600
-+dulcy.ams.openstreetmap:10.0.48.9
-+dulcy.oob.openstreetmap:10.0.49.9
-
-# Taginfo server
-
-+grindtooth.openstreetmap:193.60.236.15
-+taginfo.openstreetmap:193.60.236.15:600
-+grindtooth.ucl.openstreetmap:10.0.0.19
-+grindtooth.oob.openstreetmap:10.0.1.19
-
-+stormfly-01.openstreetmap:140.211.167.104
-6stormfly-01.openstreetmap:2605bc8030100700000000008cdea768
-#+taginfo.openstreetmap:140.211.167.104:600
-#3taginfo.openstreetmap:2605bc8030100700000000008cdea768:600
-+stormfly-01.oob.openstreetmap:10.0.0.99
-
-# Mapnik tile server, with wildcard alias to allow parallel loading
-
-+orm.openstreetmap:130.117.76.3
-3orm.openstreetmap:200109780002002c0000000001720003
-+orm.ams.openstreetmap:10.0.48.3
-+orm.oob.openstreetmap:10.0.49.3
-
-+odin.openstreetmap:130.117.76.15
-3odin.openstreetmap:200109780002002c000000000172000F
-+odin.ams.openstreetmap:10.0.48.15
-+odin.oob.openstreetmap:10.0.49.15
-
-+ysera.openstreetmap:193.60.236.22
-+ysera.ucl.openstreetmap:10.0.0.15
-+ysera.oob.openstreetmap:10.0.1.15
-
-+scorch.openstreetmap:176.31.235.79
-3scorch.openstreetmap:200141d00002fc4f0000000000000001
-
-+rhaegal.openstreetmap:161.53.248.77:600
-
-+pyrene.openstreetmap:140.211.167.98
-3pyrene.openstreetmap:2605bc8030100700000000008cd3a762
-+pyrene.oob.openstreetmap:10.0.0.40
-
-+bowser.openstreetmap:138.44.68.106
-
-Ctile.openstreetmap:tile.geo.openstreetmap.org
-Ca.tile.openstreetmap:tile.geo.openstreetmap.org
-Cb.tile.openstreetmap:tile.geo.openstreetmap.org
-Cc.tile.openstreetmap:tile.geo.openstreetmap.org
-
-# Services machine
-
-+ironbelly.openstreetmap:130.117.76.10
-3ironbelly.openstreetmap:200109780002002c000000000172000a
-+backup.openstreetmap:130.117.76.10:600
-3backup.openstreetmap:200109780002002c000000000172000a:600
-+planet.openstreetmap:130.117.76.10:600
-3planet.openstreetmap:200109780002002c000000000172000a:600
-+logstash.openstreetmap:130.117.76.10
-3logstash.openstreetmap:200109780002002c000000000172000a
-+ironbelly.ams.openstreetmap:10.0.48.10
-+ironbelly.oob.openstreetmap:10.0.49.10
-
-+grisu.openstreetmap:89.16.162.20
-3grisu.openstreetmap:200141c9000200d60000000000000020
-#+backup.openstreetmap:89.16.162.20:600
-#3backup.openstreetmap:200141c9000200d60000000000000020:600
-#+planet.openstreetmap:89.16.162.20:600
-#3planet.openstreetmap:200141c9000200d60000000000000020:600
-+grisu.bm.openstreetmap:10.0.32.20
-+grisu.oob.openstreetmap:10.0.33.20
-
-# Database servers
-
-+karm.ams.openstreetmap:10.0.48.50
-+karm.oob.openstreetmap:10.0.49.50
-
-+eddie.ucl.openstreetmap:10.0.0.10
-+eddie.oob.openstreetmap:10.0.1.10
-
-+katla.bm.openstreetmap:10.0.32.40
-+katla.oob.openstreetmap:10.0.33.40
-
-+ramoth.ams.openstreetmap:10.0.48.5
-+ramoth.oob.openstreetmap:10.0.49.5
-
-# Development server with wildcard alias for user sites
-
-+errol.openstreetmap:193.60.236.13
-+dev.openstreetmap:193.60.236.13
-+*.dev.openstreetmap:193.60.236.13
-+ooc.openstreetmap:193.60.236.13
-+a.ooc.openstreetmap:193.60.236.13
-+b.ooc.openstreetmap:193.60.236.13
-+c.ooc.openstreetmap:193.60.236.13
-+npe.openstreetmap:193.60.236.13
-+errol.ucl.openstreetmap:10.0.0.14
-+errol.oob.openstreetmap:10.0.1.14
-
-# Foundation server
-
-+ridley.openstreetmap:193.60.236.19
-+otrs.openstreetmap:193.60.236.19
-+blog.openstreetmap:193.60.236.19
-+foundation.openstreetmap:193.60.236.19
-+hot.openstreetmap:193.60.236.19
-+dmca.openstreetmap:193.60.236.19
-+ridley.ucl.openstreetmap:10.0.0.3
-+ridley.oob.openstreetmap:10.0.1.3
-
-# Piwik server
-
-+eustace.openstreetmap:193.60.236.14
-+piwik.openstreetmap:193.60.236.14
-+eustace.ucl.openstreetmap:10.0.0.9
-+eustace.oob.openstreetmap:10.0.1.9
-
-# Imagery servers
-
-+draco.openstreetmap:193.60.236.12
-+draco.ucl.openstreetmap:10.0.0.11
-+draco.oob.openstreetmap:10.0.1.11
-
-+kessie.openstreetmap:178.250.74.36
-3kessie.openstreetmap:2a02165800040000dad385fffe5d875e
-+agri.openstreetmap:178.250.74.36:3600
-3agri.openstreetmap:2a02165800040000dad385fffe5d875e:3600
-+a.agri.openstreetmap:178.250.74.36:3600
-3a.agri.openstreetmap:2a02165800040000dad385fffe5d875e:3600
-+b.agri.openstreetmap:178.250.74.36:3600
-3b.agri.openstreetmap:2a02165800040000dad385fffe5d875e:3600
-+c.agri.openstreetmap:178.250.74.36:3600
-3c.agri.openstreetmap:2a02165800040000dad385fffe5d875e:3600
-+os.openstreetmap:178.250.74.36:3600
-3os.openstreetmap:2a02165800040000dad385fffe5d875e:3600
-+a.os.openstreetmap:178.250.74.36:3600
-3a.os.openstreetmap:2a02165800040000dad385fffe5d875e:3600
-+b.os.openstreetmap:178.250.74.36:3600
-3b.os.openstreetmap:2a02165800040000dad385fffe5d875e:3600
-+c.os.openstreetmap:178.250.74.36:3600
-3c.os.openstreetmap:2a02165800040000dad385fffe5d875e:3600
-+kessie.oob.openstreetmap:178.250.74.37
-
-# Munin server
-
-+urmel.openstreetmap:193.60.236.21
-+munin.openstreetmap:193.60.236.21
-+urmel.ucl.openstreetmap:10.0.0.6
-+urmel.oob.openstreetmap:10.0.1.6
-
-# Chef server
-
-+sarel.openstreetmap:193.60.236.20
-+chef.openstreetmap:193.60.236.20
-+hardware.openstreetmap:193.60.236.20
-+acme.openstreetmap:193.60.236.20
-+git.openstreetmap:193.60.236.20:600
-+dns.openstreetmap:193.60.236.20:600
-+sarel.ucl.openstreetmap:10.0.0.12
-+sarel.oob.openstreetmap:10.0.1.12
-
-# Forum server
-
-+clifford.openstreetmap:193.60.236.11
-+forum.openstreetmap:193.60.236.11:600
-+clifford.ucl.openstreetmap:10.0.0.17
-+clifford.oob.openstreetmap:10.0.1.17
-
-# KVMs
-
-+kvm1.ucl.openstreetmap:10.0.0.21
-
-# Managed network switches
-
-+switch1.openstreetmap:130.117.76.2
-3switch1.openstreetmap:200109780002002c0000000001720002
-
-# Managed power strips
-
-+pdu1.ams.openstreetmap:10.0.48.100
-+pdu2.ams.openstreetmap:10.0.48.101
-
-# Bytemark machine, and the services which operate from it
-
-+shenron.openstreetmap:212.110.172.32
-+mail.openstreetmap:212.110.172.32
-+lists.openstreetmap:212.110.172.32
-+svn.openstreetmap:212.110.172.32
-+trac.openstreetmap:212.110.172.32
-+irc.openstreetmap:212.110.172.32
-+help.openstreetmap:212.110.172.32
-+blogs.openstreetmap:212.110.172.32:600
-+shenron.bm.openstreetmap:10.0.16.3
-
-3shenron.openstreetmap:200141c9000104000000000000000032
-3mail.openstreetmap:200141c9000104000000000000000032
-3lists.openstreetmap:200141c9000104000000000000000032
-3svn.openstreetmap:200141c9000104000000000000000032
-3trac.openstreetmap:200141c9000104000000000000000032
-3help.openstreetmap:200141c9000104000000000000000032
-3blogs.openstreetmap:200141c9000104000000000000000032:600
-
-# Wiki servers
-
-+ouroboros.openstreetmap:130.117.76.4
-3ouroboros.openstreetmap:200109780002002c0000000001720004
-#+wiki.openstreetmap:130.117.76.4:600
-#3wiki.openstreetmap:200109780002002c0000000001720004:600
-+ouroboros.ams.openstreetmap:10.0.48.4
-+ouroboros.oob.openstreetmap:10.0.49.4
-
-+tabaluga.openstreetmap:130.117.76.14
-3tabaluga.openstreetmap:200109780002002c000000000172000E
-+wiki.openstreetmap:130.117.76.14:600
-3wiki.openstreetmap:200109780002002c000000000172000E:600
-+tabaluga.ams.openstreetmap:10.0.48.14
-+tabaluga.oob.openstreetmap:10.0.49.14
-
-# GPS tile server
-
-+noquiklos.openstreetmap:193.60.236.16
-+gps-tile.openstreetmap:193.60.236.16
-+a.gps-tile.openstreetmap:193.60.236.16
-+b.gps-tile.openstreetmap:193.60.236.16
-+c.gps-tile.openstreetmap:193.60.236.16
-+gps.tile.openstreetmap:193.60.236.16
-+gps-a.tile.openstreetmap:193.60.236.16
-+gps-b.tile.openstreetmap:193.60.236.16
-+gps-c.tile.openstreetmap:193.60.236.16
-+noquiklos.ucl.openstreetmap:10.0.0.13
-+noquiklos.oob.openstreetmap:10.0.1.13
-
-# Tile cache servers
-
-+gorynych.openstreetmap:5.45.248.21
-3gorynych.openstreetmap:2a0206b8b0105065000000000000a001
-+trogdor.openstreetmap:134.90.146.26
-+trogdor.oob.openstreetmap:134.90.146.30
-+ridgeback.openstreetmap:31.169.50.10
-+ridgeback.oob.openstreetmap:31.169.50.14
-+jakelong.openstreetmap:71.19.155.177:600
-3jakelong.openstreetmap:2605270000000017a80000fffe3ecdca:600
-+nepomuk.openstreetmap:77.95.65.39
-3nepomuk.openstreetmap:2a039180000001000000000000000007
-+simurgh.openstreetmap:94.20.20.55
-+katie.openstreetmap:144.76.70.77
-3katie.openstreetmap:2a0104f80191834c0000000000000002
-+konqi.openstreetmap:81.7.11.83
-3konqi.openstreetmap:2a020180000100010000000005170b53
-+longma.openstreetmap:140.110.240.7
-3longma.openstreetmap:20010e10200002400000000000000007
-+viserion.openstreetmap:193.198.233.211
-3viserion.openstreetmap:20010b684cff00030000000000000003
-+drogon.openstreetmap:161.53.30.107
-3drogon.openstreetmap:20010b68c0ff000002215efffe40c7c4
-+saphira.openstreetmap:185.73.44.30
-3saphira.openstreetmap:20010ba800002c1e0000000000000000
-+toothless.openstreetmap:185.73.44.167
-3toothless.openstreetmap:20010ba800002ca70000000000000000
-+sarkany.openstreetmap:37.17.173.8
-3sarkany.openstreetmap:20014c480002bf04025056fffe8f5c81
-+cmok.openstreetmap:31.130.201.40
-3cmok.openstreetmap:2001067c22681005021e8cfffe8c8d3b
-+stormfly-02.openstreetmap:140.211.167.105
-6stormfly-02.openstreetmap:2605bc8030100700000000008cdea769
-+stormfly-02.oob.openstreetmap:10.0.0.108
-+rimfaxe.openstreetmap:130.225.254.109
-3rimfaxe.openstreetmap:20010878034600000000000000000109
-+culebre.openstreetmap:155.210.4.103
-+kalessin.openstreetmap:185.66.195.245
-3kalessin.openstreetmap:2a032260200000010000000000000005
-+angor.openstreetmap:196.10.54.165
-#3angor.openstreetmap:200143f801f40b00b283fefffed8dd45
-+ladon.openstreetmap:83.212.2.116
-3ladon.openstreetmap:200106482ffe00040000000000000116
-+ascalon.openstreetmap:184.107.48.228
-+noomoahk.openstreetmap:91.224.148.166
-3noomoahk.openstreetmap:2a0372208080a6000000000000000001
-+cherufe.openstreetmap:200.91.44.37
-+norbert.openstreetmap:89.234.186.100
-3norbert.openstreetmap:2a005884821c00000000000000000001
-+chrysophylax.openstreetmap:217.71.244.22
-3chrysophylax.openstreetmap:200108e0004020390000000000000010
-+necrosan.openstreetmap:80.67.167.77
-3necrosan.openstreetmap:2a0bcbc0110d0001000000000000001c
-+keizer.openstreetmap:195.201.226.63
-3keizer.openstreetmap:2a0104f81c1cbc540000000000000001
-+naga.openstreetmap:185.216.27.232
-+vipertooth.openstreetmap:176.122.99.101
-3vipertooth.openstreetmap:2001067c2d4000000000000000000065
-+tuatara.openstreetmap:114.23.141.203
-+waima.openstreetmap:103.197.61.160
-+nidhogg.openstreetmap:130.236.254.221
-3nidhogg.openstreetmap:200106b00017f0a000000000000000dd
-+boitata.openstreetmap:200.236.31.207
-3boitata.openstreetmap:2801008280ff80020216ccfffeaa0021
-+fafnir.openstreetmap:130.239.18.114
-3fafnir.openstreetmap:200106b0000e2a180000000000000114
-+fume.openstreetmap:147.228.60.16
-+azure.openstreetmap:204.16.246.252
-3azure.openstreetmap:2607fdc0000100000000000000000052
-+balerion.openstreetmap:138.44.68.134
-
-# Blades
-
-+tiamat-00.openstreetmap:193.60.236.40
-+tiamat-00.ucl.openstreetmap:10.0.0.40
-+tiamat-00.oob.openstreetmap:10.0.1.40
-+tiamat-01.openstreetmap:193.60.236.41
-+tiamat-01.ucl.openstreetmap:10.0.0.41
-+tiamat-01.oob.openstreetmap:10.0.1.41
-+tiamat-02.openstreetmap:193.60.236.42
-+tiamat-02.ucl.openstreetmap:10.0.0.42
-+tiamat-02.oob.openstreetmap:10.0.1.42
-+tiamat-03.openstreetmap:193.60.236.43
-+tiamat-03.ucl.openstreetmap:10.0.0.43
-+tiamat-03.oob.openstreetmap:10.0.1.43
-+tiamat-10.openstreetmap:193.60.236.44
-+tiamat-10.ucl.openstreetmap:10.0.0.44
-+tiamat-10.oob.openstreetmap:10.0.1.44
-+tiamat-11.openstreetmap:193.60.236.45
-+tiamat-11.ucl.openstreetmap:10.0.0.45
-+tiamat-11.oob.openstreetmap:10.0.1.45
-+tiamat-12.openstreetmap:193.60.236.46
-+tiamat-12.ucl.openstreetmap:10.0.0.46
-+tiamat-12.oob.openstreetmap:10.0.1.46
-+tiamat-13.openstreetmap:193.60.236.47
-+tiamat-13.ucl.openstreetmap:10.0.0.47
-+tiamat-13.oob.openstreetmap:10.0.1.47
-+tiamat-20.openstreetmap:193.60.236.48
-+tiamat-20.ucl.openstreetmap:10.0.0.48
-+tiamat-20.oob.openstreetmap:10.0.1.48
-+tiamat-21.openstreetmap:193.60.236.49
-+tiamat-21.ucl.openstreetmap:10.0.0.49
-+tiamat-21.oob.openstreetmap:10.0.1.49
-+tiamat-22.openstreetmap:193.60.236.50
-+tiamat-22.ucl.openstreetmap:10.0.0.50
-+tiamat-22.oob.openstreetmap:10.0.1.50
-+tiamat-23.openstreetmap:193.60.236.51
-+tiamat-23.ucl.openstreetmap:10.0.0.51
-+tiamat-23.oob.openstreetmap:10.0.1.51
-
-# Donation site
-
-+donate.openstreetmap:193.60.236.19:300
-
-# Uptime site at StatusCake
-
-Cuptime.openstreetmap:uptimessl.statuscake.com
-
-# Custom Domain for https://github.com/osmfoundation/welcome-mat/
-Cwelcome.openstreetmap:osmfoundation.github.io
diff --git a/src/openstreetmap-mg.js b/src/openstreetmap-mg.js
new file mode 100644 (file)
index 0000000..80ae23c
--- /dev/null
@@ -0,0 +1,29 @@
+D(DOMAIN, REGISTRAR, DnsProvider(PROVIDER),
+
+  // Publish CAA records indicating that only letsencrypt should issue certificates
+
+  CAA_BUILDER({
+    label: "@",
+    iodef: "mailto:hostmaster@openstreetmap.org",
+    issue: [
+      "letsencrypt.org",
+    ],
+    issuewild: [
+      "letsencrypt.org",
+    ],
+  }),
+
+  // Block email delivery
+
+  TXT("_dmarc", "v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s;"),
+  TXT("*._domainkey", "v=DKIM1; p="),
+  TXT("@", "v=spf1 -all"),
+
+  // Site hosted on github pages
+
+  ALIAS("@", "openstreetmap-madagascar.github.io."),
+  CNAME("www", "openstreetmap-madagascar.github.io."),
+
+  CNAME("sotm2024", "openstreetmap-madagascar.github.io.")
+
+);
\ No newline at end of file
diff --git a/src/openstreetmap-town.js b/src/openstreetmap-town.js
new file mode 100644 (file)
index 0000000..0d56540
--- /dev/null
@@ -0,0 +1,40 @@
+D(DOMAIN, REGISTRAR, DnsProvider(PROVIDER),
+
+  // Publish CAA records indicating that only letsencrypt should issue certificates
+
+  CAA_BUILDER({
+    label: "@",
+    iodef: "mailto:hostmaster@openstreetmap.org",
+    issue: [
+      "letsencrypt.org",
+    ],
+    issuewild: [
+      "letsencrypt.org",
+    ],
+  }),
+
+  // Let the main domain handle the email
+
+  MX("@", 10, "a.mx.openstreetmap.org."),
+
+  // Delegate SPF policy to the main domain
+
+  SPF_BUILDER({
+    label: "@",
+    parts: [
+      "v=spf1",
+      "include:openstreetmap.org",      // main openstreetmap.org spf record
+      "-all"
+    ]
+  }),
+
+  // Delegate MTA-STS policy to the main domain
+
+  CNAME("_mta-sts", "_mta-sts.openstreetmap.org."),
+
+  // Redirect en.openstreetmap.town to en.osm.town
+
+  A("en", NAGA_IPV4),
+  AAAA("en", NAGA_IPV6)
+
+);
\ No newline at end of file
diff --git a/src/openstreetmap-uk b/src/openstreetmap-uk
deleted file mode 100644 (file)
index a71526e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-# tinydns data for openstreetmap.[org|co].uk
-#
-# Full reference is at http://cr.yp.to/djbdns/tinydns-data.html
-
-# Let Bytemark handle the DNS
-
-.openstreetmap-uk::a.ns.bytemark.co.uk
-.openstreetmap-uk::b.ns.bytemark.co.uk
-.openstreetmap-uk::c.ns.bytemark.co.uk
-
-# Publish a CAA record indicating that only letsencrypt should issue certificates
-
-:openstreetmap-uk:257:\000\005\151\163\163\165\145\154\145\164\163\145\156\143\162\171\160\164\056\157\162\147
-
-# Make the virtual machine the primary MX with Bytemark as backup
-
-@openstreetmap-uk::a.mx.openstreetmap.org:10
-
-# Publish an SPF record indicating that only shenron sends mail
-
-'openstreetmap-uk:v=spf1 include\072openstreetmap.org -all
-
-# Main web servers and their aliases
-
-+openstreetmap-uk:193.63.75.99:600
-+openstreetmap-uk:193.63.75.100:600
-+openstreetmap-uk:193.63.75.103:600
-
-Cwww.openstreetmap-uk:www.openstreetmap.org
-Capi.openstreetmap-uk:api.openstreetmap.org
-
-# Andy Street calendar instance
-Ccalendar.openstreetmap-uk:osmcal.street.me.uk
-
-# Shaun McDonald taginfo instance
-Ctaginfo.openstreetmap-uk:proxy.mythic-beasts.com
-
-# Aerial imagery sites
-+hampshire.aerial.openstreetmap-uk:178.250.74.36:3600
-3hampshire.aerial.openstreetmap-uk:2a02165800040000dad385fffe5d875e:3600
-+a.hampshire.aerial.openstreetmap-uk:178.250.74.36:3600
-3a.hampshire.aerial.openstreetmap-uk:2a02165800040000dad385fffe5d875e:3600
-+b.hampshire.aerial.openstreetmap-uk:178.250.74.36:3600
-3b.hampshire.aerial.openstreetmap-uk:2a02165800040000dad385fffe5d875e:3600
-+c.hampshire.aerial.openstreetmap-uk:178.250.74.36:3600
-3c.hampshire.aerial.openstreetmap-uk:2a02165800040000dad385fffe5d875e:3600
-+surrey.aerial.openstreetmap-uk:178.250.74.36:3600
-3surrey.aerial.openstreetmap-uk:2a02165800040000dad385fffe5d875e:3600
-+a.surrey.aerial.openstreetmap-uk:178.250.74.36:3600
-3a.surrey.aerial.openstreetmap-uk:2a02165800040000dad385fffe5d875e:3600
-+b.surrey.aerial.openstreetmap-uk:178.250.74.36:3600
-3b.surrey.aerial.openstreetmap-uk:2a02165800040000dad385fffe5d875e:3600
-+c.surrey.aerial.openstreetmap-uk:178.250.74.36:3600
-3c.surrey.aerial.openstreetmap-uk:2a02165800040000dad385fffe5d875e:3600
-+os.openstreetmap-uk:178.250.74.36:3600
-3os.openstreetmap-uk:2a02165800040000dad385fffe5d875e:3600
-+a.os.openstreetmap-uk:178.250.74.36:3600
-3a.os.openstreetmap-uk:2a02165800040000dad385fffe5d875e:3600
-+b.os.openstreetmap-uk:178.250.74.36:3600
-3b.os.openstreetmap-uk:2a02165800040000dad385fffe5d875e:3600
-+c.os.openstreetmap-uk:178.250.74.36:3600
-3c.os.openstreetmap-uk:2a02165800040000dad385fffe5d875e:3600
-+ea.openstreetmap-uk:178.250.74.36:3600
-3ea.openstreetmap-uk:2a02165800040000dad385fffe5d875e:3600
-+a.ea.openstreetmap-uk:178.250.74.36:3600
-3a.ea.openstreetmap-uk:2a02165800040000dad385fffe5d875e:3600
-+b.ea.openstreetmap-uk:178.250.74.36:3600
-3b.ea.openstreetmap-uk:2a02165800040000dad385fffe5d875e:3600
-+c.ea.openstreetmap-uk:178.250.74.36:3600
-3c.ea.openstreetmap-uk:2a02165800040000dad385fffe5d875e:3600
diff --git a/src/openstreetmap-uk.js b/src/openstreetmap-uk.js
new file mode 100644 (file)
index 0000000..f1f3d32
--- /dev/null
@@ -0,0 +1,83 @@
+D(DOMAIN, REGISTRAR, DnsProvider(PROVIDER),
+
+  // Publish CAA records indicating that only letsencrypt should issue certificates
+
+  CAA_BUILDER({
+    label: "@",
+    iodef: "mailto:hostmaster@openstreetmap.org",
+    issue: [
+      "letsencrypt.org",
+    ],
+    issuewild: [
+      "letsencrypt.org",
+    ],
+  }),
+
+  // Let the main domain handle the email
+
+  MX("@", 10, "a.mx.openstreetmap.org."),
+
+  // Delegate SPF policy to the main domain
+
+  SPF_BUILDER({
+    label: "@",
+    parts: [
+      "v=spf1",
+      "include:openstreetmap.org",      // main openstreetmap.org spf record
+      "-all"
+    ]
+  }),
+
+  // Delegate MTA-STS policy to the main domain
+
+  CNAME("_mta-sts", "_mta-sts.openstreetmap.org."),
+
+  // Main web site
+
+  ALIAS("@", "www.openstreetmap.org."),
+  CNAME("www", "www.openstreetmap.org."),
+  CNAME("api", "api.openstreetmap.org."),
+
+  // Shaun McDonald's taginfo instance
+
+  CNAME("taginfo", "proxy.mythic-beasts.com."),
+
+  // Aerial imagery sites
+
+  A("hampshire.aerial", KESSIE_IPV4, TTL("1h")),
+  AAAA("hampshire.aerial", KESSIE_IPV6, TTL("1h")),
+  A("a.hampshire.aerial", KESSIE_IPV4, TTL("1h")),
+  AAAA("a.hampshire.aerial", KESSIE_IPV6, TTL("1h")),
+  A("b.hampshire.aerial", KESSIE_IPV4, TTL("1h")),
+  AAAA("b.hampshire.aerial", KESSIE_IPV6, TTL("1h")),
+  A("c.hampshire.aerial", KESSIE_IPV4, TTL("1h")),
+  AAAA("c.hampshire.aerial", KESSIE_IPV6, TTL("1h")),
+
+  A("surrey.aerial", KESSIE_IPV4, TTL("1h")),
+  AAAA("surrey.aerial", KESSIE_IPV6, TTL("1h")),
+  A("a.surrey.aerial", KESSIE_IPV4, TTL("1h")),
+  AAAA("a.surrey.aerial", KESSIE_IPV6, TTL("1h")),
+  A("b.surrey.aerial", KESSIE_IPV4, TTL("1h")),
+  AAAA("b.surrey.aerial", KESSIE_IPV6, TTL("1h")),
+  A("c.surrey.aerial", KESSIE_IPV4, TTL("1h")),
+  AAAA("c.surrey.aerial", KESSIE_IPV6, TTL("1h")),
+
+  A("os", KESSIE_IPV4, TTL("1h")),
+  AAAA("os", KESSIE_IPV6, TTL("1h")),
+  A("a.os", KESSIE_IPV4, TTL("1h")),
+  AAAA("a.os", KESSIE_IPV6, TTL("1h")),
+  A("b.os", KESSIE_IPV4, TTL("1h")),
+  AAAA("b.os", KESSIE_IPV6, TTL("1h")),
+  A("c.os", KESSIE_IPV4, TTL("1h")),
+  AAAA("c.os", KESSIE_IPV6, TTL("1h")),
+
+  A("ea", KESSIE_IPV4, TTL("1h")),
+  AAAA("ea", KESSIE_IPV6, TTL("1h")),
+  A("a.ea", KESSIE_IPV4, TTL("1h")),
+  AAAA("a.ea", KESSIE_IPV6, TTL("1h")),
+  A("b.ea", KESSIE_IPV4, TTL("1h")),
+  AAAA("b.ea", KESSIE_IPV6, TTL("1h")),
+  A("c.ea", KESSIE_IPV4, TTL("1h")),
+  AAAA("c.ea", KESSIE_IPV6, TTL("1h"))
+
+);
diff --git a/src/openstreetmap-za b/src/openstreetmap-za
deleted file mode 100644 (file)
index 252ad9e..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-# tinydns data for [openstreetmap|org].org.za
-#
-# Full reference is at http://cr.yp.to/djbdns/tinydns-data.html
-
-# Let Bytemark handle the DNS
-
-.openstreetmap-za::a.ns.bytemark.co.uk
-.openstreetmap-za::b.ns.bytemark.co.uk
-.openstreetmap-za::c.ns.bytemark.co.uk
-
-# Publish a CAA record indicating that only letsencrypt should issue certificates
-
-:openstreetmap-za:257:\000\005\151\163\163\165\145\154\145\164\163\145\156\143\162\171\160\164\056\157\162\147
-
-# Make the virtual machine the primary MX with Bytemark as backup
-
-@openstreetmap-za::a.mx.openstreetmap.org:10
-
-# Publish an SPF record indicating that only shenron sends mail
-
-'openstreetmap-za:v=spf1 include\072openstreetmap.org -all
-
-# Main web servers and their aliases
-
-+openstreetmap-za:193.63.75.99:600
-+openstreetmap-za:193.63.75.100:600
-+openstreetmap-za:193.63.75.103:600
-
-Cwww.openstreetmap-za:www.openstreetmap.org
-Capi.openstreetmap-za:api.openstreetmap.org
-
-Cwww.openstreetmap-za:openstreetmap-za
-
-# Aerial imagery sites
-
-# Draco
-+aerial.openstreetmap-za:193.60.236.12:600
-+a.aerial.openstreetmap-za:193.60.236.12:600
-+b.aerial.openstreetmap-za:193.60.236.12:600
-+c.aerial.openstreetmap-za:193.60.236.12:600
-
-# Kessie
-+coct.aerial.openstreetmap-za:178.250.74.36:1800
-3coct.aerial.openstreetmap-za:2a02165800040000dad385fffe5d875e:1800
-+a.coct.aerial.openstreetmap-za:178.250.74.36:1800
-3a.coct.aerial.openstreetmap-za:2a02165800040000dad385fffe5d875e:1800
-+b.coct.aerial.openstreetmap-za:178.250.74.36:1800
-3b.coct.aerial.openstreetmap-za:2a02165800040000dad385fffe5d875e:1800
-+c.coct.aerial.openstreetmap-za:178.250.74.36:1800
-3c.coct.aerial.openstreetmap-za:2a02165800040000dad385fffe5d875e:1800
-+topo.openstreetmap-za:178.250.74.36:1800
-3topo.openstreetmap-za:2a02165800040000dad385fffe5d875e:1800
-+a.topo.openstreetmap-za:178.250.74.36:1800
-3a.topo.openstreetmap-za:2a02165800040000dad385fffe5d875e:1800
-+b.topo.openstreetmap-za:178.250.74.36:1800
-3b.topo.openstreetmap-za:2a02165800040000dad385fffe5d875e:1800
-+c.topo.openstreetmap-za:178.250.74.36:1800
-3c.topo.openstreetmap-za:2a02165800040000dad385fffe5d875e:1800
-
-+namibia-topo.openstreetmap-za:178.250.74.36:1800
-3namibia-topo.openstreetmap-za:2a02165800040000dad385fffe5d875e:1800
-+a.namibia-topo.openstreetmap-za:178.250.74.36:1800
-3a.namibia-topo.openstreetmap-za:2a02165800040000dad385fffe5d875e:1800
-+b.namibia-topo.openstreetmap-za:178.250.74.36:1800
-3b.namibia-topo.openstreetmap-za:2a02165800040000dad385fffe5d875e:1800
-+c.namibia-topo.openstreetmap-za:178.250.74.36:1800
-3c.namibia-topo.openstreetmap-za:2a02165800040000dad385fffe5d875e:1800
diff --git a/src/openstreetmap-za.js b/src/openstreetmap-za.js
new file mode 100644 (file)
index 0000000..4fa90fd
--- /dev/null
@@ -0,0 +1,81 @@
+D(DOMAIN, REGISTRAR, DnsProvider(PROVIDER),
+
+  // Publish CAA records indicating that only letsencrypt should issue certificates
+
+  CAA_BUILDER({
+    label: "@",
+    iodef: "mailto:hostmaster@openstreetmap.org",
+    issue: [
+      "letsencrypt.org",
+    ],
+    issuewild: [
+      "letsencrypt.org",
+    ],
+  }),
+
+  // Let the main domain handle the email
+
+  MX("@", 10, "a.mx.openstreetmap.org."),
+
+  // Delegate SPF policy to the main domain
+
+  SPF_BUILDER({
+    label: "@",
+    parts: [
+      "v=spf1",
+      "include:openstreetmap.org",      // main openstreetmap.org spf record
+      "-all"
+    ]
+  }),
+
+  // Delegate MTA-STS policy to the main domain
+
+  CNAME("_mta-sts", "_mta-sts.openstreetmap.org."),
+
+  // Main web site
+
+  ALIAS("@", "www.openstreetmap.org."),
+  CNAME("www", "www.openstreetmap.org."),
+  CNAME("api", "api.openstreetmap.org."),
+
+  // Aerial imagery sites on ironbelly
+
+  A("aerial", IRONBELLY_IPV4),
+  AAAA("aerial", IRONBELLY_IPV6),
+  A("a.aerial", IRONBELLY_IPV4),
+  AAAA("a.aerial", IRONBELLY_IPV6),
+  A("b.aerial", IRONBELLY_IPV4),
+  AAAA("b.aerial", IRONBELLY_IPV6),
+  A("c.aerial", IRONBELLY_IPV4),
+  AAAA("c.aerial", IRONBELLY_IPV6),
+
+  // Aerial imagery sites on kessie
+
+  A("coct.aerial", KESSIE_IPV4),
+  AAAA("coct.aerial", KESSIE_IPV6),
+  A("a.coct.aerial", KESSIE_IPV4),
+  AAAA("a.coct.aerial", KESSIE_IPV6),
+  A("b.coct.aerial", KESSIE_IPV4),
+  AAAA("b.coct.aerial", KESSIE_IPV6),
+  A("c.coct.aerial", KESSIE_IPV4),
+  AAAA("c.coct.aerial", KESSIE_IPV6),
+
+  A("topo", KESSIE_IPV4),
+  AAAA("topo", KESSIE_IPV6),
+  A("a.topo", KESSIE_IPV4),
+  AAAA("a.topo", KESSIE_IPV6),
+  A("b.topo", KESSIE_IPV4),
+  AAAA("b.topo", KESSIE_IPV6),
+  A("c.topo", KESSIE_IPV4),
+  AAAA("c.topo", KESSIE_IPV6),
+
+  A("namibia-topo", KESSIE_IPV4),
+  AAAA("namibia-topo", KESSIE_IPV6),
+  A("a.namibia-topo", KESSIE_IPV4),
+  AAAA("a.namibia-topo", KESSIE_IPV6),
+  A("b.namibia-topo", KESSIE_IPV4),
+  AAAA("b.namibia-topo", KESSIE_IPV6),
+  A("c.namibia-topo", KESSIE_IPV4),
+  AAAA("c.namibia-topo", KESSIE_IPV6)
+
+);
diff --git a/src/openstreetmap.js b/src/openstreetmap.js
new file mode 100644 (file)
index 0000000..4421159
--- /dev/null
@@ -0,0 +1,658 @@
+D(DOMAIN, REGISTRAR, DnsProvider(PROVIDER),
+
+  // Publish CAA records indicating that only letsencrypt and globalsign (Fastly) should issue certificates
+
+  CAA_BUILDER({
+    label: "@",
+    ttl: "1h",
+    iodef: "mailto:hostmaster@openstreetmap.org",
+    issue: [
+      "letsencrypt.org",
+      "globalsign.com",   // Used by Fastly for CDN certificates
+    ],
+    issuewild: [
+      "letsencrypt.org",
+      "globalsign.com",   // Used by Fastly for CDN certificates
+    ],
+  }),
+
+  // Mail service
+
+  MX("@", 10, QUALIFY("a.mx")),
+  MX("messages", 10, QUALIFY("a.mx")),
+  MX("noreply", 10, QUALIFY("a.mx")),
+  MX("otrs", 10, QUALIFY("a.mx")),
+  MX("community", 10, QUALIFY("a.mx")),
+  MX("supporting", 10, QUALIFY("a.mx")),
+
+  A("a.mx", FAFNIR_IPV4),
+  AAAA("a.mx", FAFNIR_IPV6),
+  A("mail", FAFNIR_IPV4),
+  AAAA("mail", FAFNIR_IPV6),
+  A("mta-sts", FAFNIR_IPV4),
+  AAAA("mta-sts", FAFNIR_IPV6),
+
+  // Publish SPF records indicating that only shenron sends mail
+
+  SPF_BUILDER({
+    label: "@",
+    parts: [
+      "v=spf1",
+      "ip4:212.110.172.32",       // shenron ipv4
+      "ip6:2001:41c9:1:400::32",  // shenron ipv6
+      "ip4:184.104.226.98",       // fafnir ipv4
+      "ip6:2001:470:1:b3b::2",    // fafnir ipv6
+      "ip4:193.60.236.0/24",          // ucl external
+      "ip4:184.104.179.128/27",       // amsterdam external
+      "ip6:2001:470:1:fa1::/64",      // amsterdam external
+      "ip4:184.104.226.96/27",        // dublin external
+      "ip6:2001:470:1:b3b::/64",      // dublin external
+      "mx",                       // safety net if we change mx
+      "-all"
+    ]
+  }),
+
+  SPF_BUILDER({
+    label: "messages",
+    parts: [
+      "v=spf1",
+      "ip4:212.110.172.32",       // shenron ipv4
+      "ip6:2001:41c9:1:400::32",  // shenron ipv6
+      "ip4:184.104.226.98",       // fafnir ipv4
+      "ip6:2001:470:1:b3b::2",    // fafnir ipv6
+      "ip4:193.60.236.0/24",          // ucl external
+      "ip4:184.104.179.128/27",       // amsterdam external
+      "ip6:2001:470:1:fa1::/64",      // amsterdam external
+      "ip4:184.104.226.96/27",        // dublin external
+      "ip6:2001:470:1:b3b::/64",      // dublin external
+      "mx",                       // safety net if we change mx
+      "-all"
+    ]
+  }),
+
+  SPF_BUILDER({
+    label: "noreply",
+    parts: [
+      "v=spf1",
+      "ip4:212.110.172.32",       // shenron ipv4
+      "ip6:2001:41c9:1:400::32",  // shenron ipv6
+      "ip4:184.104.226.98",       // fafnir ipv4
+      "ip6:2001:470:1:b3b::2",    // fafnir ipv6
+      "ip4:193.60.236.0/24",          // ucl external
+      "ip4:184.104.179.128/27",       // amsterdam external
+      "ip6:2001:470:1:fa1::/64",      // amsterdam external
+      "ip4:184.104.226.96/27",        // dublin external
+      "ip6:2001:470:1:b3b::/64",      // dublin external
+      "mx",                       // safety net if we change mx
+      "-all"
+    ]
+  }),
+
+  SPF_BUILDER({
+    label: "otrs",
+    parts: [
+      "v=spf1",
+      "ip4:212.110.172.32",       // shenron ipv4
+      "ip6:2001:41c9:1:400::32",  // shenron ipv6
+      "ip4:184.104.226.98",       // fafnir ipv4
+      "ip6:2001:470:1:b3b::2",    // fafnir ipv6
+      "ip4:193.60.236.0/24",          // ucl external
+      "ip4:184.104.179.128/27",       // amsterdam external
+      "ip6:2001:470:1:fa1::/64",      // amsterdam external
+      "ip4:184.104.226.96/27",        // dublin external
+      "ip6:2001:470:1:b3b::/64",      // dublin external
+      "mx",                       // safety net if we change mx
+      "-all"
+    ]
+  }),
+
+  SPF_BUILDER({
+    label: "community",
+    parts: [
+      "v=spf1",
+      "ip4:212.110.172.32",       // shenron ipv4
+      "ip6:2001:41c9:1:400::32",  // shenron ipv6
+      "ip4:184.104.226.98",       // fafnir ipv4
+      "ip6:2001:470:1:b3b::2",    // fafnir ipv6
+      "ip4:193.60.236.0/24",          // ucl external
+      "ip4:184.104.179.128/27",       // amsterdam external
+      "ip6:2001:470:1:fa1::/64",      // amsterdam external
+      "ip4:184.104.226.96/27",        // dublin external
+      "ip6:2001:470:1:b3b::/64",      // dublin external
+      "mx",                       // safety net if we change mx
+      "-all"
+    ]
+  }),
+
+  SPF_BUILDER({
+    label: "supporting",
+    parts: [
+      "v=spf1",
+      "ip4:212.110.172.32",       // shenron ipv4
+      "ip6:2001:41c9:1:400::32",  // shenron ipv6
+      "ip4:184.104.226.98",       // fafnir ipv4
+      "ip6:2001:470:1:b3b::2",    // fafnir ipv6
+      "ip4:193.60.236.0/24",          // ucl external
+      "ip4:184.104.179.128/27",       // amsterdam external
+      "ip6:2001:470:1:fa1::/64",      // amsterdam external
+      "ip4:184.104.226.96/27",        // dublin external
+      "ip6:2001:470:1:b3b::/64",      // dublin external
+      "mx",                       // safety net if we change mx
+      "-all"
+    ]
+  }),
+
+  // Publish DKIM public key
+
+  TXT("20200301._domainkey", "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzvoNZVOGfw1V4A171hxHMhzVTAnIUQVJ8iX3wbqCld8A5iIaXeTGYvBmewymax/cYJS4QqzbpUzkgrrTA9avuZhd+QGJDgjADgx4VyMOaOS6FwAxS0uXtLrt+lsixRDx/feKyZHaxjzJAQy46ok77xXL4UXIaaovw6G6eZpIScMzZQ2zkKNJxTICzzSOduIilHhMWte4XP+/2PdRmD7Ge9jb0U4bZjswX0AqKSGzDKYw+yxVna9l53adeCnklqg2ofoXu+ResiH+kt05aCUOMo8en3em6yBnRCMalgi1E3Tt7I5BWcYFRkT/8agUGW4gGC6XMV9IskOsYL0emG0kGwIDAQAB", AUTOSPLIT),
+
+  // Publish DMARC report-only policy
+
+  DMARC_BUILDER({
+    policy: "none",
+    rua: [
+      "mailto:openstreetmap-d@dmarc.report-uri.com"
+    ],
+    failureOptions: 1
+  }),
+
+  // Announce MTA-STS policy and TLSRPT policy for error reports
+
+  TXT("_mta-sts", "v=STSv1; id=202001291805Z"),
+  TXT("_smtp._tls", "v=TLSRPTv1; rua=mailto:openstreetmap-d@tlsrpt.report-uri.com"),
+
+  // Fastly cert domain ownership confirmation
+
+  TXT("@", "_globalsign-domain-verification=ps00GlW1BzY9c2_cwH_pFqRkvzZyaCVZ-3RLssRG6S"),
+  TXT("@", "_globalsign-domain-verification=W0buKB5ZmL-VwwHw2oQyQImk3I1q3hSemf2qmB1hjP"),
+
+  // Facebook Business domain verification
+  TXT("@", "facebook-domain-verification=j5hix5i8r0kortfugqf2p9wx9x9by0"),
+
+  // Delegate MTA-STS policy for subdomains
+
+  CNAME("_mta-sts.messages", QUALIFY("_mta-sts")),
+  CNAME("_mta-sts.noreply", QUALIFY("_mta-sts")),
+  CNAME("_mta-sts.otrs", QUALIFY("_mta-sts")),
+  CNAME("_mta-sts.community", QUALIFY("_mta-sts")),
+  CNAME("_mta-sts.supporting", QUALIFY("_mta-sts")),
+
+  // Google postmaster tools verification
+
+  CNAME("af323lytato5", "gv-o4v3qh5pfayqex.dv.googlehosted.com."),
+  CNAME("irzdddnmh465", "gv-cwr6bvt7xsgact.dv.googlehosted.com."),
+
+  // Main web servers and their aliases
+
+  A("spike-01", SPIKE01_IPV4),
+  AAAA("spike-01", SPIKE01_IPV6),
+  // A("@", SPIKE01_IPV4),
+  // AAAA("@", SPIKE01_IPV6),
+  // A("www", SPIKE01_IPV4),
+  // AAAA("www", SPIKE01_IPV6),
+  // A("api", SPIKE01_IPV4),
+  // AAAA("api", SPIKE01_IPV6),
+  // A("maps", SPIKE01_IPV4),
+  // AAAA("maps", SPIKE01_IPV6),
+  // A("mapz", SPIKE01_IPV4),
+  // AAAA("mapz", SPIKE01_IPV6),
+  A("spike-01.dub", SPIKE01_INTERNAL),
+  A("spike-01.oob", SPIKE01_OOB),
+
+  A("spike-02", SPIKE02_IPV4),
+  AAAA("spike-02", SPIKE02_IPV6),
+  // A("@", SPIKE02_IPV4),
+  // AAAA("@", SPIKE02_IPV6),
+  // A("www", SPIKE02_IPV4),
+  // AAAA("www", SPIKE02_IPV6),
+  // A("api", SPIKE02_IPV4),
+  // AAAA("api", SPIKE02_IPV6),
+  // A("maps", SPIKE02_IPV4),
+  // AAAA("maps", SPIKE02_IPV6),
+  // A("mapz", SPIKE02_IPV4),
+  // AAAA("mapz", SPIKE02_IPV6),
+  A("spike-02.dub", SPIKE02_INTERNAL),
+  A("spike-02.oob", SPIKE02_OOB),
+
+  A("spike-03", SPIKE03_IPV4),
+  AAAA("spike-03", SPIKE03_IPV6),
+  // A("@", SPIKE03_IPV4),
+  // AAAA("@", SPIKE03_IPV6),
+  // A("www", SPIKE03_IPV4),
+  // AAAA("www", SPIKE03_IPV6),
+  // A("api", SPIKE03_IPV4),
+  // AAAA("api", SPIKE03_IPV6),
+  // A("maps", SPIKE03_IPV4),
+  // AAAA("maps", SPIKE03_IPV6),
+  // A("mapz", SPIKE03_IPV4),
+  // AAAA("mapz", SPIKE03_IPV6),
+  A("spike-03.dub", SPIKE03_INTERNAL),
+  A("spike-03.oob", SPIKE03_OOB),
+
+  A("spike-06", SPIKE06_IPV4),
+  AAAA("spike-06", SPIKE06_IPV6),
+  A("@", SPIKE06_IPV4),
+  AAAA("@", SPIKE06_IPV6),
+  A("www", SPIKE06_IPV4),
+  AAAA("www", SPIKE06_IPV6),
+  A("api", SPIKE06_IPV4),
+  AAAA("api", SPIKE06_IPV6),
+  A("maps", SPIKE06_IPV4),
+  AAAA("maps", SPIKE06_IPV6),
+  A("mapz", SPIKE06_IPV4),
+  AAAA("mapz", SPIKE06_IPV6),
+  A("spike-06.ams", SPIKE06_INTERNAL),
+  A("spike-06.oob", SPIKE06_OOB),
+
+  A("spike-07", SPIKE07_IPV4),
+  AAAA("spike-07", SPIKE07_IPV6),
+  A("@", SPIKE07_IPV4),
+  AAAA("@", SPIKE07_IPV6),
+  A("www", SPIKE07_IPV4),
+  AAAA("www", SPIKE07_IPV6),
+  A("api", SPIKE07_IPV4),
+  AAAA("api", SPIKE07_IPV6),
+  A("maps", SPIKE07_IPV4),
+  AAAA("maps", SPIKE07_IPV6),
+  A("mapz", SPIKE07_IPV4),
+  AAAA("mapz", SPIKE07_IPV6),
+  A("spike-07.ams", SPIKE07_INTERNAL),
+  A("spike-07.oob", SPIKE07_OOB),
+
+  A("spike-08", SPIKE08_IPV4),
+  AAAA("spike-08", SPIKE08_IPV6),
+  A("@", SPIKE08_IPV4),
+  AAAA("@", SPIKE08_IPV6),
+  A("www", SPIKE08_IPV4),
+  AAAA("www", SPIKE08_IPV6),
+  A("api", SPIKE08_IPV4),
+  AAAA("api", SPIKE08_IPV6),
+  A("maps", SPIKE08_IPV4),
+  AAAA("maps", SPIKE08_IPV6),
+  A("mapz", SPIKE08_IPV4),
+  AAAA("mapz", SPIKE08_IPV6),
+  A("spike-08.ams", SPIKE08_INTERNAL),
+  A("spike-08.oob", SPIKE08_OOB),
+
+  // Nominatim servers
+
+  A("dulcy", DULCY_IPV4),
+  AAAA("dulcy", DULCY_IPV6),
+  A("dulcy.ams", DULCY_INTERNAL),
+  A("dulcy.oob", DULCY_OOB),
+
+  A("longma", LONGMA_IPV4),
+  AAAA("longma", LONGMA_IPV6),
+  A("longma.dub", LONGMA_INTERNAL),
+  A("longma.oob", LONGMA_OOB),
+
+  A("stormfly-04", STORMFLY04_IPV4),
+  AAAA("stormfly-04", STORMFLY04_IPV6),
+  A("stormfly-04.oob", STORMFLY04_OOB),
+
+  A("vhagar", VHAGAR_IPV4),
+  AAAA("vhagar", VHAGAR_IPV6),
+  A("vhagar.ams", VHAGAR_INTERNAL),
+  A("vhagar.oob", VHAGAR_OOB),
+
+  CNAME("nominatim", "nominatim.geo.openstreetmap.org."),
+  CNAME("qgis.nominatim", "nominatim.geo.openstreetmap.org."),
+  CNAME("qa-tile.nominatim", "longma.openstreetmap.org."),
+
+  // Taginfo server
+
+  A("dribble", DRIBBLE_IPV4),
+  A("taginfo", DRIBBLE_IPV4),
+  AAAA("dribble", DRIBBLE_IPV6),
+  AAAA("taginfo", DRIBBLE_IPV6),
+  A("dribble.ams", DRIBBLE_INTERNAL),
+  A("dribble.oob", DRIBBLE_OOB),
+
+  // Tile servers
+
+  A("odin", ODIN_IPV4),
+  AAAA("odin", ODIN_IPV6),
+  A("odin.ams", ODIN_INTERNAL),
+  A("odin.oob", ODIN_OOB),
+
+  A("ysera", YSERA_IPV4),
+  A("ysera.ucl", YSERA_INTERNAL),
+  A("ysera.oob", YSERA_OOB),
+
+  A("culebre", CULEBRE_IPV4),
+  AAAA("culebre", CULEBRE_IPV6),
+  A("culebre.dub", CULEBRE_INTERNAL),
+  A("culebre.oob", CULEBRE_OOB),
+
+  A("nidhogg", NIDHOGG_IPV4),
+  AAAA("nidhogg", NIDHOGG_IPV6),
+  A("nidhogg.oob", NIDHOGG_OOB),
+
+  A("scorch", SCORCH_IPV4),
+  AAAA("scorch", SCORCH_IPV6),
+
+  A("rhaegal", RHAEGAL_IPV4),
+
+  A("palulukon", PALULUKON_IPV4),
+
+  A("piasa", PIASA_IPV4),
+  AAAA("piasa", PIASA_IPV6),
+  A("piasa.oob", PIASA_OOB),
+
+  A("bowser", BOWSER_IPV4),
+
+  A("balerion", BALERION_IPV4),
+
+  A("albi", ALBI_IPV4),
+  AAAA("albi", ALBI_IPV6),
+
+  A("necrosan", NECROSAN_IPV4),
+  AAAA("necrosan", NECROSAN_IPV6),
+
+  CNAME("tile", "dualstack.n.sni.global.fastly.net."),
+  CNAME("a.tile", "dualstack.n.sni.global.fastly.net."),
+  CNAME("b.tile", "dualstack.n.sni.global.fastly.net."),
+  CNAME("c.tile", "dualstack.n.sni.global.fastly.net."),
+
+  A("render", CULEBRE_IPV4),
+  A("render", NIDHOGG_IPV4),
+  AAAA("render", CULEBRE_IPV6),
+  AAAA("render", NIDHOGG_IPV6),
+
+  // Site gateways
+
+  A("ironbelly", IRONBELLY_IPV4),
+  AAAA("ironbelly", IRONBELLY_IPV6),
+  A("logstash", IRONBELLY_IPV4),
+  AAAA("logstash", IRONBELLY_IPV6),
+  A("tiler", IRONBELLY_IPV4),
+  AAAA("tiler", IRONBELLY_IPV6),
+  A("ironbelly.ams", IRONBELLY_INTERNAL),
+  A("ironbelly.oob", IRONBELLY_OOB),
+
+  A("fafnir", FAFNIR_IPV4),
+  AAAA("fafnir", FAFNIR_IPV6),
+  A("fafnir.dub", FAFNIR_INTERNAL),
+  A("fafnir.oob", FAFNIR_OOB),
+
+  // Planet servers
+
+  A("norbert", NORBERT_IPV4),
+  AAAA("norbert", NORBERT_IPV6),
+  A("backup", NORBERT_IPV4),
+  AAAA("backup", NORBERT_IPV6),
+  A("planet", NORBERT_IPV4),
+  AAAA("planet", NORBERT_IPV6),
+  A("norbert.ams", NORBERT_INTERNAL),
+  A("norbert.oob", NORBERT_OOB),
+
+  A("horntail", HORNTAIL_IPV4),
+  AAAA("horntail", HORNTAIL_IPV6),
+  // A("backup", HORNTAIL_IPV4),
+  // AAAA("backup", HORNTAIL_IPV6),
+  // A("planet", HORNTAIL_IPV4),
+  // AAAA("planet", HORNTAIL_IPV6),
+  A("horntail.dub", HORNTAIL_INTERNAL),
+  A("horntail.oob", HORNTAIL_OOB),
+
+  // Database servers
+
+  A("snap-01.ams", SNAP01_INTERNAL),
+  A("snap-01.oob", SNAP01_OOB),
+
+  A("snap-02.ucl", SNAP02_INTERNAL),
+  A("snap-02.oob", SNAP02_OOB),
+
+  A("snap-03.dub", SNAP03_INTERNAL),
+  A("snap-03.oob", SNAP03_OOB),
+
+  A("karm.ams", KARM_INTERNAL),
+  A("karm.oob", KARM_OOB),
+
+  A("eddie.ucl", EDDIE_INTERNAL),
+  A("eddie.oob", EDDIE_OOB),
+
+  // Development server with wildcard alias for user sites
+
+  A("faffy", FAFFY_IPV4),
+  AAAA("faffy", FAFFY_IPV6),
+  A("dev", FAFFY_IPV4),
+  AAAA("dev", FAFFY_IPV6),
+  A("*.dev", FAFFY_IPV4),
+  AAAA("*.dev", FAFFY_IPV6),
+  A("ooc", FAFFY_IPV4),
+  AAAA("ooc", FAFFY_IPV6),
+  A("a.ooc", FAFFY_IPV4),
+  AAAA("a.ooc", FAFFY_IPV6),
+  A("b.ooc", FAFFY_IPV4),
+  AAAA("b.ooc", FAFFY_IPV6),
+  A("c.ooc", FAFFY_IPV4),
+  AAAA("c.ooc", FAFFY_IPV6),
+  A("npe", FAFFY_IPV4),
+  AAAA("npe", FAFFY_IPV6),
+  A("faffy.ams", FAFFY_INTERNAL),
+  A("faffy.oob", FAFFY_OOB),
+
+  // Foundation server
+
+  A("ridley", RIDLEY_IPV4),
+  A("otrs", RIDLEY_IPV4),
+  A("blog", RIDLEY_IPV4),
+  A("foundation", RIDLEY_IPV4),
+  A("ridley.ucl", RIDLEY_INTERNAL),
+  A("ridley.oob", RIDLEY_OOB),
+
+  A("staging.blog", FUME_IPV4),
+  AAAA("staging.blog", FUME_IPV6),
+
+  // Matomo server
+
+  A("smaug", SMAUG_IPV4),
+  AAAA("smaug", SMAUG_IPV6),
+  A("matomo", SMAUG_IPV4),
+  AAAA("matomo", SMAUG_IPV6),
+  A("piwik", SMAUG_IPV4),
+  AAAA("piwik", SMAUG_IPV6),
+  A("smaug.dub", SMAUG_INTERNAL),
+  A("smaug.oob", SMAUG_OOB),
+
+  // Imagery servers
+
+  A("kessie", KESSIE_IPV4),
+  AAAA("kessie", KESSIE_IPV6),
+  A("agri", KESSIE_IPV4),
+  AAAA("agri", KESSIE_IPV6),
+  A("a.agri", KESSIE_IPV4),
+  AAAA("a.agri", KESSIE_IPV6),
+  A("b.agri", KESSIE_IPV4),
+  AAAA("b.agri", KESSIE_IPV6),
+  A("c.agri", KESSIE_IPV4),
+  AAAA("c.agri", KESSIE_IPV6),
+  A("os", KESSIE_IPV4),
+  AAAA("os", KESSIE_IPV6),
+  A("a.os", KESSIE_IPV4),
+  AAAA("a.os", KESSIE_IPV6),
+  A("b.os", KESSIE_IPV4),
+  AAAA("b.os", KESSIE_IPV6),
+  A("c.os", KESSIE_IPV4),
+  AAAA("c.os", KESSIE_IPV6),
+  A("kessie.oob", KESSIE_OOB),
+
+  // Prometheus server and munin redirect
+
+  A("stormfly-03", STORMFLY03_IPV4),
+  AAAA("stormfly-03", STORMFLY03_IPV6),
+  A("prometheus", STORMFLY03_IPV4),
+  AAAA("prometheus", STORMFLY03_IPV6),
+  A("munin", STORMFLY03_IPV4),
+  AAAA("munin", STORMFLY03_IPV6),
+  A("stormfly-03.oob", STORMFLY03_OOB),
+
+  // Management server
+
+  A("idris", IDRIS_IPV4),
+  AAAA("idris", IDRIS_IPV6),
+  A("acme", IDRIS_IPV4),
+  AAAA("acme", IDRIS_IPV6),
+  A("chef", IDRIS_IPV4),
+  AAAA("chef", IDRIS_IPV6),
+  A("dns", IDRIS_IPV4),
+  AAAA("dns", IDRIS_IPV6),
+  A("git", IDRIS_IPV4),
+  AAAA("git", IDRIS_IPV6),
+  A("hardware", IDRIS_IPV4),
+  AAAA("hardware", IDRIS_IPV6),
+  A("idris.dub", IDRIS_INTERNAL),
+  A("idris.oob", IDRIS_OOB),
+
+  // KVMs
+
+  A("kvm1.ucl", KVM1_INTERNAL),
+
+  // Managed network switches
+
+  A("switch1.ams", SWITCH1AMS_IPV4),
+  AAAA("switch1.ams", SWITCH1AMS_IPV6),
+
+  A("switch1.dub", SWITCH1DUB_IPV4),
+  AAAA("switch1.dub", SWITCH1DUB_IPV6),
+
+  // Managed power strips
+
+  A("pdu1.ams", PDU1AMS_INTERNAL),
+  A("pdu2.ams", PDU2AMS_INTERNAL),
+
+  A("pdu1.dub", PDU1DUB_INTERNAL),
+  A("pdu2.dub", PDU2DUB_INTERNAL),
+
+  // Out of band access servers
+
+  A("oob1.ams", OOB1AMS_INTERNAL),
+
+  A("oob1.dub", OOB1DUB_INTERNAL),
+
+  // Bytemark machine, and the services which operate from it
+
+  A("shenron", SHENRON_IPV4),
+  AAAA("shenron", SHENRON_IPV6),
+  A("lists", SHENRON_IPV4),
+  AAAA("lists", SHENRON_IPV6),
+  A("help", SHENRON_IPV4),
+  AAAA("help", SHENRON_IPV6),
+
+  // Naga service
+
+  A("naga", NAGA_IPV4),
+  AAAA("naga", NAGA_IPV6),
+  A("svn", NAGA_IPV4),
+  AAAA("svn", NAGA_IPV6),
+  A("trac", NAGA_IPV4),
+  AAAA("trac", NAGA_IPV6),
+  A("irc", NAGA_IPV4),
+  AAAA("irc", NAGA_IPV6),
+  A("blogs", NAGA_IPV4),
+  AAAA("blogs", NAGA_IPV6),
+  A("welcome", NAGA_IPV4),
+  AAAA("welcome", NAGA_IPV6),
+  A("operations", NAGA_IPV4),
+  AAAA("operations", NAGA_IPV6),
+  A("hot", NAGA_IPV4),
+  AAAA("hot", NAGA_IPV6),
+  A("dmca", NAGA_IPV4),
+  AAAA("dmca", NAGA_IPV6),
+  A("naga.dub", NAGA_INTERNAL),
+  A("naga.oob", NAGA_OOB),
+
+  // Wiki servers
+
+  A("konqi", KONQI_IPV4),
+  AAAA("konqi", KONQI_IPV6),
+  A("wiki", KONQI_IPV4),
+  AAAA("wiki", KONQI_IPV6),
+  A("konqi.dub", KONQI_INTERNAL),
+  A("konqi.oob", KONQI_OOB),
+
+  // Overpass server
+
+  A("grisu", GRISU_IPV4),
+  AAAA("grisu", GRISU_IPV6),
+  A("query", GRISU_IPV4),
+  AAAA("query", GRISU_IPV6),
+  A("grisu.dub", GRISU_INTERNAL),
+  A("grisu.oob", GRISU_OOB),
+
+  // GPS tile server
+
+  A("muirdris", MUIRDRIS_IPV4),
+  AAAA("muirdris", MUIRDRIS_IPV6),
+  A("gps-tile", MUIRDRIS_IPV4),
+  AAAA("gps-tile", MUIRDRIS_IPV6),
+  A("a.gps-tile", MUIRDRIS_IPV4),
+  AAAA("a.gps-tile", MUIRDRIS_IPV6),
+  A("b.gps-tile", MUIRDRIS_IPV4),
+  AAAA("b.gps-tile", MUIRDRIS_IPV6),
+  A("c.gps-tile", MUIRDRIS_IPV4),
+  AAAA("c.gps-tile", MUIRDRIS_IPV6),
+  A("gps.tile", MUIRDRIS_IPV4),
+  AAAA("gps.tile", MUIRDRIS_IPV6),
+  A("gps-a.tile", MUIRDRIS_IPV4),
+  AAAA("gps-a.tile", MUIRDRIS_IPV6),
+  A("gps-b.tile", MUIRDRIS_IPV4),
+  AAAA("gps-b.tile", MUIRDRIS_IPV6),
+  A("gps-c.tile", MUIRDRIS_IPV4),
+  AAAA("gps-c.tile", MUIRDRIS_IPV6),
+  A("muirdris.dub", MUIRDRIS_INTERNAL),
+  A("muirdris.oob", MUIRDRIS_OOB),
+
+  // Tile cache servers
+
+  A("ridgeback", RIDGEBACK_IPV4),
+  A("ridgeback.oob", RIDGEBACK_OOB),
+  A("angor", ANGOR_IPV4),
+  AAAA("angor", ANGOR_IPV6),
+  A("ladon", LADON_IPV4),
+  AAAA("ladon", LADON_IPV6),
+  A("ascalon", ASCALON_IPV4),
+  A("neak", NEAK_IPV4),
+  A("meraxes", MERAXES_IPV4),
+  AAAA("meraxes", MERAXES_IPV6),
+
+  // Discourse server ("community")
+
+  A("jakelong", JAKELONG_IPV4),
+  AAAA("jakelong", JAKELONG_IPV6),
+  A("community", JAKELONG_IPV4),
+  A("communities", JAKELONG_IPV4),
+  A("c", JAKELONG_IPV4),
+  AAAA("community", JAKELONG_IPV6),
+  AAAA("communities", JAKELONG_IPV6),
+  AAAA("c", JAKELONG_IPV6),
+  CNAME("community-cdn", "dualstack.n.sni.global.fastly.net."),
+  TXT("community", "google-site-verification=hQ8GZyj4KwnPqAX2oAzpbLrh6I5dfR08PSdL3icVkfg"),
+  A("forum", JAKELONG_IPV4),
+  AAAA("forum", JAKELONG_IPV6),
+  A("jakelong.dub", JAKELONG_INTERNAL),
+  A("jakelong.oob", JAKELONG_OOB),
+
+  // Donation site and new OSMF crm site
+
+  A("donate", RIDLEY_IPV4),
+  A("support", RIDLEY_IPV4),
+  A("supporting", RIDLEY_IPV4),
+
+  // Spare servers
+
+  A("fume", FUME_IPV4),
+  AAAA("fume", FUME_IPV6),
+  A("fume.dub", FUME_INTERNAL),
+  A("fume.oob", FUME_OOB),
+
+  // Uptime site at StatusCake
+
+  CNAME("uptime", "uptimessl-new.statuscake.com."),
+
+  // Dynamic DNS records
+
+  DYNAMIC_RECORDS
+
+);
diff --git a/src/osm-li.js b/src/osm-li.js
new file mode 100644 (file)
index 0000000..e8f0f7b
--- /dev/null
@@ -0,0 +1,9 @@
+D(DOMAIN, REGISTRAR,
+
+  NAMESERVER("nalps.sosm.ch."),
+  NAMESERVER("palpuogna.sosm.ch."),
+  NAMESERVER("ns.poole.ch."),
+  NAMESERVER("he.poole.ch."),
+  NAMESERVER("ns3.spreng.ch.")
+
+);
diff --git a/src/osm-wiki.js b/src/osm-wiki.js
new file mode 100644 (file)
index 0000000..c93c810
--- /dev/null
@@ -0,0 +1,77 @@
+D(DOMAIN, REGISTRAR, DnsProvider(PROVIDER),
+
+  // Publish CAA records indicating that only letsencrypt and globalsign (Fastly) should issue certificates
+
+  CAA_BUILDER({
+    label: "@",
+    ttl: "1h",
+    iodef: "mailto:hostmaster@openstreetmap.org",
+    issue: [
+      "letsencrypt.org",
+      "globalsign.com",   // Used by Fastly for CDN certificates
+    ],
+    issuewild: [
+      "letsencrypt.org",
+      "globalsign.com",   // Used by Fastly for CDN certificates
+    ],
+  }),
+
+  // Mail service
+
+  MX("@", 10, QUALIFY("a.mx")),
+
+  A("a.mx", FAFNIR_IPV4),
+  AAAA("a.mx", FAFNIR_IPV6),
+  A("mail", FAFNIR_IPV4),
+  AAAA("mail", FAFNIR_IPV6),
+  A("mta-sts", FAFNIR_IPV4),
+  AAAA("mta-sts", FAFNIR_IPV6),
+
+  // Publish SPF records indicating that only shenron sends mail
+
+  SPF_BUILDER({
+    label: "@",
+    parts: [
+      "v=spf1",
+      "ip4:212.110.172.32",       // shenron ipv4
+      "ip6:2001:41c9:1:400::32",  // shenron ipv6
+      "ip4:184.104.226.98",       // fafnir ipv4
+      "ip6:2001:470:1:b3b::2",    // fafnir ipv6
+      "ip4:193.60.236.0/24",          // ucl external
+      "ip4:184.104.179.128/27",       // amsterdam external
+      "ip6:2001:470:1:fa1::/64",      // amsterdam external
+      "ip4:184.104.226.96/27",        // dublin external
+      "ip6:2001:470:1:b3b::/64",      // dublin external
+      "mx",                       // safety net if we change mx
+      "-all"
+    ]
+  }),
+
+  // Publish DMARC report-only policy
+
+  DMARC_BUILDER({
+    policy: "none",
+    rua: [
+      "mailto:openstreetmap-d@dmarc.report-uri.com"
+    ],
+    failureOptions: 1
+  }),
+
+  // Announce MTA-STS policy and TLSRPT policy for error reports
+
+  TXT("_mta-sts", "v=STSv1; id=202001291805Z"),
+  TXT("_smtp._tls", "v=TLSRPTv1; rua=mailto:openstreetmap-d@tlsrpt.report-uri.com"),
+
+  // Fastly cert domain ownership confirmation
+
+  TXT("@", "_globalsign-domain-verification=ps00GlW1BzY9c2_cwH_pFqRkvzZyaCVZ-3RLssRG6S"),
+  TXT("@", "_globalsign-domain-verification=W0buKB5ZmL-VwwHw2oQyQImk3I1q3hSemf2qmB1hjP"),
+
+  A("wiki", KONQI_IPV4),
+  AAAA("wiki", KONQI_IPV6),
+  A("www", KONQI_IPV4),
+  AAAA("www", KONQI_IPV6),
+  A("@", KONQI_IPV4),
+  AAAA("@", KONQI_IPV6)
+
+);
\ No newline at end of file
diff --git a/src/osm2pgsql.js b/src/osm2pgsql.js
new file mode 100644 (file)
index 0000000..e7cb962
--- /dev/null
@@ -0,0 +1,26 @@
+D(DOMAIN, REGISTRAR, DnsProvider(PROVIDER),
+
+  // Publish CAA records indicating that only letsencrypt should issue certificates
+
+  CAA_BUILDER({
+    label: "@",
+    iodef: "mailto:hostmaster@openstreetmap.org",
+    issue: [
+      "letsencrypt.org",
+    ],
+    issuewild: [
+      "letsencrypt.org",
+    ],
+  }),
+
+  // Main web server and it's aliases
+
+  A("@", "138.201.190.130"),
+  AAAA("@", "2a01:4f8:1c17:6433::2"),
+  A("www", "138.201.190.130"),
+  AAAA("www", "2a01:4f8:1c17:6433::2"),
+
+  // Test server for osm2pgsql development
+  A("test", "135.181.221.216")
+
+);
diff --git a/src/osmfoundation b/src/osmfoundation
deleted file mode 100644 (file)
index 6072004..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-# tinydns data for osmfoundation
-#
-# Full reference is at http://cr.yp.to/djbdns/tinydns-data.html
-
-# Let Bytemark handle the DNS
-
-.osmfoundation::a.ns.bytemark.co.uk
-.osmfoundation::b.ns.bytemark.co.uk
-.osmfoundation::c.ns.bytemark.co.uk
-
-# Publish a CAA record indicating that only letsencrypt should issue certificates
-
-:osmfoundation:257:\000\005\151\163\163\165\145\154\145\164\163\145\156\143\162\171\160\164\056\157\162\147
-
-# SPF Record
-# https://anders.com/projects/sysadmin/djbdnsRecordBuilder/
-# v=spf1 ip4:212.110.172.32 ip6:2001:41c9:1:400::32 a mx include:_spf.google.com -all
-'osmfoundation:v=spf1\040ip4\072212.110.172.32\040ip6\0722001\07241c9\0721\072400\072\07232\040a\040mx\040include\072_spf.google.com\040-all:86400
-
-# Let google handle email
-
-@osmfoundation::aspmx.l.google.com:1:3600
-@osmfoundation::alt1.aspmx.l.google.com:5:3600
-@osmfoundation::alt2.aspmx.l.google.com:5:3600
-@osmfoundation::alt3.aspmx.l.google.com:10:3600
-@osmfoundation::alt4.aspmx.l.google.com:10:3600
-
-# Handle mail for the crm subdomain ourselves
-
-@crm.osmfoundation::a.mx.openstreetmap.org:10
-
-# Add DKIM public key
-# Use : raw to workaround TXT split issue
-
-:google._domainkey.osmfoundation:16:\352v=DKIM1;\040k=rsa;\040p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCJmTBAkYRCocCCNtVsdRNMlQel8kNfjPYJpjEm7woEgZh9yZeDzxImtz+u73oUF4+7bXzrNYbP946WNQIwAba1J69he8L1qfPBJLd3Z\057fgmuaGdWcxpDno2EY4cQ8PrzvI6Vfm+6YAFANl8w09CIg41ykdlzH4iUJXD35k3SIl3wIDAQAB:900
-
-# Add XMPP chat servers for compatibility
-
-:_xmpp-server._tcp.osmfoundation:33:\000\005\000\000\024\225\013xmpp-server\001l\006google\003com\000
-:_xmpp-server._tcp.osmfoundation:33:\000\024\000\000\024\225\014xmpp-server1\001l\006google\003com\000
-:_xmpp-server._tcp.osmfoundation:33:\000\024\000\000\024\225\014xmpp-server2\001l\006google\003com\000
-:_xmpp-server._tcp.osmfoundation:33:\000\024\000\000\024\225\014xmpp-server3\001l\006google\003com\000
-:_xmpp-server._tcp.osmfoundation:33:\000\024\000\000\024\225\014xmpp-server4\001l\006google\003com\000
-
-# Aliases for google services
-
-Clogin.osmfoundation:ghs.google.com
-Cdocs.osmfoundation:ghs.google.com
-Cmail.osmfoundation:ghs.google.com
-Ccalendar.osmfoundation:ghs.google.com
-Csites.osmfoundation:ghs.google.com
-
-# Main web server and it's aliases
-
-+osmfoundation:193.60.236.19:600
-+old.osmfoundation:193.60.236.19:600
-+www.osmfoundation:193.60.236.19:600
-+wiki.osmfoundation:193.60.236.19:600
-+blog.osmfoundation:193.60.236.19:600
-+crm.osmfoundation:193.60.236.19:600
-+join.osmfoundation:193.60.236.19:600
-+board.osmfoundation:193.60.236.19:600
-+dwg.osmfoundation:193.60.236.19:600
-+mwg.osmfoundation:193.60.236.19:600
-+operations.osmfoundation:193.60.236.19:600
diff --git a/src/osmfoundation.js b/src/osmfoundation.js
new file mode 100644 (file)
index 0000000..f36b23a
--- /dev/null
@@ -0,0 +1,134 @@
+D(DOMAIN, REGISTRAR, DnsProvider(PROVIDER),
+
+  // Publish CAA records indicating that only letsencrypt should issue certificates
+
+  CAA_BUILDER({
+    label: "@",
+    iodef: "mailto:hostmaster@openstreetmap.org",
+    issue: [
+      "letsencrypt.org",
+    ],
+    issuewild: [
+      "letsencrypt.org",
+    ],
+  }),
+
+  // Let mailbox.org handle email
+
+  MX("@", 10, "mxext1.mailbox.org."),
+  MX("@", 10, "mxext2.mailbox.org."),
+  MX("@", 20, "mxext3.mailbox.org."),
+
+  // Handle mail for the join subdomain ourselves
+
+  MX("join", 10, "a.mx.openstreetmap.org."),
+
+  // SPF policy
+
+  SPF_BUILDER({
+    label: "@",
+    parts: [
+      "v=spf1",
+      "include:mailbox.org",     // mailbox.org
+      "include:_spf.google.com", // Google GSuite
+      "ip4:212.110.172.32",      // shenron ipv4
+      "ip6:2001:41c9:1:400::32", // shenron ipv6
+      "ip4:184.104.226.98",      // fafnir ipv4
+      "ip6:2001:470:1:b3b::2",   // fafnir ipv6
+      "ip4:193.60.236.0/24",     // ucl external
+      "ip4:184.104.179.128/27",  // amsterdam external
+      "ip6:2001:470:1:fa1::/64", // amsterdam external
+      "ip4:184.104.226.96/27",   // dublin external
+      "ip6:2001:470:1:b3b::/64", // dublin external
+      "-all"
+    ]
+  }),
+
+  SPF_BUILDER({
+    label: "wiki",
+    parts: [
+      "v=spf1",
+      "ip4:184.104.226.98",      // fafnir ipv4
+      "ip6:2001:470:1:b3b::2",   // fafnir ipv6
+      "ip4:193.60.236.0/24",     // ucl external
+      "ip4:184.104.179.128/27",  // amsterdam external
+      "ip6:2001:470:1:fa1::/64", // amsterdam external
+      "ip4:184.104.226.96/27",   // dublin external
+      "ip6:2001:470:1:b3b::/64", // dublin external
+      "-all"
+    ]
+  }),
+
+  // Apple Business Manager verification
+  TXT("@", "apple-domain-verification=ZzBG2msRtUDehTMW"),
+
+  // Mailbox.org registration verification
+  TXT("d00f46a3fde45d06c53f3cd5b21f213ea384e7f5", "4a229bebe41606a1f7d909507846729a73998c31"),
+
+  // Publish DMARC report-only policy
+
+  DMARC_BUILDER({
+    policy: "none",
+    rua: [
+      "mailto:openstreetmap-d@dmarc.report-uri.com"
+    ],
+    failureOptions: 1
+  }),
+
+  // DKIM keys
+
+  TXT("google._domainkey", "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCJmTBAkYRCocCCNtVsdRNMlQel8kNfjPYJpjEm7woEgZh9yZeDzxImtz+u73oUF4+7bXzrNYbP946WNQIwAba1J69he8L1qfPBJLd3Z/fgmuaGdWcxpDno2EY4cQ8PrzvI6Vfm+6YAFANl8w09CIg41ykdlzH4iUJXD35k3SIl3wIDAQAB"),
+  TXT("20201112._domainkey", "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz4OyJc77mpW5djxVfZm18HcmJHQLpo7B2Z8Og8byICjDiG91Tpkv5ws3xIbMsi/tVA6p5L76uL0TGKlo4ayewYvJUTC22+hBWARUuWA0DgeMwBpW/dNUOJHBABCTouolvXLKRTPTefA177Y5jYbD7ZeJAR4ZnFbZX6spimXCT66AyhqCBSrOCXYXFm3ons5ANkkQBNZ/jMYczYs9T1ijNEbBNTJmLO+whOrYLyGd3iZ9X9iOmuNFBCgXp0tsN//FBsOyTl559/XY25r3GZhiKXMbrZ1IJewqJlG0+hN1y9qwWGgq5YpZPt5YJ1KGjIrcFX59/PhNQX4khPOaD5g7ZQIDAQAB", AUTOSPLIT),
+
+  // https://kb.mailbox.org/en/private/custom-domains/spf-dkim-and-dmarc-how-to-improve-spam-reputation-and-avoid-bounces
+  CNAME("MBO0001._domainkey", "MBO0001._domainkey.mailbox.org."),
+  CNAME("MBO0002._domainkey", "MBO0002._domainkey.mailbox.org."),
+  CNAME("MBO0003._domainkey", "MBO0003._domainkey.mailbox.org."),
+  CNAME("MBO0004._domainkey", "MBO0004._domainkey.mailbox.org."),
+
+  // Google postmaster tools verification
+
+  CNAME("uaqn4jv2xaoe", "gv-jun5dginqysxph.dv.googlehosted.com."),
+
+  // Aliases for google services
+
+  CNAME("login", "ghs.googlehosted.com."),
+  CNAME("docs", "ghs.googlehosted.com."),
+  CNAME("mail", "ghs.googlehosted.com."),
+  CNAME("calendar", "ghs.googlehosted.com."),
+  CNAME("sites", "ghs.googlehosted.com."),
+
+  // Aliases for mailbox.org services
+
+  CNAME("autoconfig", "mailbox.org."),
+  SRV("_hkps._tcp", 1, 1, 443, "pgp.mailbox.org."),
+
+  // Main web server and it's aliases
+
+  A("@", RIDLEY_IPV4),
+  A("www", RIDLEY_IPV4),
+  A("wiki", RIDLEY_IPV4),
+  A("blog", RIDLEY_IPV4),
+
+  A("staging.blog", FUME_IPV4),
+  AAAA("staging.blog", FUME_IPV6),
+
+  A("crm", RIDLEY_IPV4),
+  A("join", RIDLEY_IPV4),
+  A("support", RIDLEY_IPV4),
+  A("supporting", RIDLEY_IPV4),
+  A("donate", RIDLEY_IPV4),
+
+  A("board", RIDLEY_IPV4),
+  A("dwg", RIDLEY_IPV4),
+  A("mwg", RIDLEY_IPV4),
+  A("operations", NAGA_IPV4),
+  AAAA("operations", NAGA_IPV6),
+
+  // Nextcloud instance
+
+  CNAME("files", "nextcloud-openstreetmapfoundation.cloud68.systems."),
+
+  A("hardware", IDRIS_IPV4)
+
+);
diff --git a/src/ptr_equinix_ams_ipv4.js b/src/ptr_equinix_ams_ipv4.js
new file mode 100644 (file)
index 0000000..46e0704
--- /dev/null
@@ -0,0 +1,14 @@
+// http://www.he.net/adm/reverse.dns.html (RFC4183 notation)
+D(DOMAIN, REGISTRAR, DnsProvider(PROVIDER),
+  PTR(DRIBBLE_IPV4.split(".").pop(), "dribble.openstreetmap.org."),
+  PTR(DULCY_IPV4.split(".").pop(), "dulcy.openstreetmap.org."),
+  PTR(FAFFY_IPV4.split(".").pop(), "faffy.openstreetmap.org."),
+  PTR(IRONBELLY_IPV4.split(".").pop(), "ironbelly.openstreetmap.org."),
+  PTR(NORBERT_IPV4.split(".").pop(), "norbert.openstreetmap.org."),
+  PTR(ODIN_IPV4.split(".").pop(), "odin.openstreetmap.org."),
+  PTR(SPIKE06_IPV4.split(".").pop(), "spike-06.openstreetmap.org."),
+  PTR(SPIKE07_IPV4.split(".").pop(), "spike-07.openstreetmap.org."),
+  PTR(SPIKE08_IPV4.split(".").pop(), "spike-08.openstreetmap.org."),
+  PTR(VHAGAR_IPV4.split(".").pop(), "vhagar.openstreetmap.org."),
+  PTR(SWITCH1AMS_IPV4.split(".").pop(), "switch1.ams.openstreetmap.org.")
+);
diff --git a/src/ptr_equinix_ams_ipv6.js b/src/ptr_equinix_ams_ipv6.js
new file mode 100644 (file)
index 0000000..c670fb0
--- /dev/null
@@ -0,0 +1,13 @@
+D(DOMAIN, REGISTRAR, DnsProvider(PROVIDER),
+  PTR(DRIBBLE_IPV6, "dribble.openstreetmap.org."),
+  PTR(DULCY_IPV6, "dulcy.openstreetmap.org."),
+  PTR(FAFFY_IPV6, "faffy.openstreetmap.org."),
+  PTR(IRONBELLY_IPV6, "ironbelly.openstreetmap.org."),
+  PTR(NORBERT_IPV6, "norbert.openstreetmap.org."),
+  PTR(ODIN_IPV6, "odin.openstreetmap.org."),
+  PTR(SPIKE06_IPV6, "spike-06.openstreetmap.org."),
+  PTR(SPIKE07_IPV6, "spike-07.openstreetmap.org."),
+  PTR(SPIKE08_IPV6, "spike-08.openstreetmap.org."),
+  PTR(VHAGAR_IPV6, "vhagar.openstreetmap.org."),
+  PTR(SWITCH1AMS_IPV6, "switch1.ams.openstreetmap.org.")
+);
diff --git a/src/ptr_equinix_dub_ipv4.js b/src/ptr_equinix_dub_ipv4.js
new file mode 100644 (file)
index 0000000..66cee26
--- /dev/null
@@ -0,0 +1,17 @@
+// http://www.he.net/adm/reverse.dns.html (RFC4183 notation)
+D(DOMAIN, REGISTRAR, DnsProvider(PROVIDER),
+  PTR(CULEBRE_IPV4.split(".").pop(), "culebre.openstreetmap.org."),
+  PTR(FAFNIR_IPV4.split(".").pop(), "fafnir.openstreetmap.org."),
+  PTR(HORNTAIL_IPV4.split(".").pop(), "horntail.openstreetmap.org."),
+  PTR(IDRIS_IPV4.split(".").pop(), "idris.openstreetmap.org."),
+  PTR(JAKELONG_IPV4.split(".").pop(), "jakelong.openstreetmap.org."),
+  PTR(KONQI_IPV4.split(".").pop(), "konqi.openstreetmap.org."),
+  PTR(LONGMA_IPV4.split(".").pop(), "longma.openstreetmap.org."),
+  PTR(MUIRDRIS_IPV4.split(".").pop(), "muirdris.openstreetmap.org."),
+  PTR(NAGA_IPV4.split(".").pop(), "naga.openstreetmap.org."),
+  PTR(SMAUG_IPV4.split(".").pop(), "smaug.openstreetmap.org."),
+  PTR(SPIKE01_IPV4.split(".").pop(), "spike-01.openstreetmap.org."),
+  PTR(SPIKE02_IPV4.split(".").pop(), "spike-02.openstreetmap.org."),
+  PTR(SPIKE03_IPV4.split(".").pop(), "spike-03.openstreetmap.org."),
+  PTR(SWITCH1DUB_IPV4.split(".").pop(), "switch1.dub.openstreetmap.org.")
+);
diff --git a/src/ptr_equinix_dub_ipv6.js b/src/ptr_equinix_dub_ipv6.js
new file mode 100644 (file)
index 0000000..2bf34f8
--- /dev/null
@@ -0,0 +1,16 @@
+D(DOMAIN, REGISTRAR, DnsProvider(PROVIDER),
+  PTR(CULEBRE_IPV6, "culebre.openstreetmap.org."),
+  PTR(FAFNIR_IPV6, "fafnir.openstreetmap.org."),
+  PTR(HORNTAIL_IPV6, "horntail.openstreetmap.org."),
+  PTR(IDRIS_IPV6, "idris.openstreetmap.org."),
+  PTR(JAKELONG_IPV6, "jakelong.openstreetmap.org."),
+  PTR(KONQI_IPV6, "konqi.openstreetmap.org."),
+  PTR(LONGMA_IPV6, "longma.openstreetmap.org."),
+  PTR(MUIRDRIS_IPV6.split(".").pop(), "muirdris.openstreetmap.org."),
+  PTR(NAGA_IPV6, "naga.openstreetmap.org."),
+  PTR(SMAUG_IPV6.split(".").pop(), "smaug.openstreetmap.org."),
+  PTR(SPIKE01_IPV6, "spike-01.openstreetmap.org."),
+  PTR(SPIKE02_IPV6, "spike-02.openstreetmap.org."),
+  PTR(SPIKE03_IPV6, "spike-03.openstreetmap.org."),
+  PTR(SWITCH1DUB_IPV6, "switch1.dub.openstreetmap.org.")
+);
diff --git a/src/render.openstreetmap b/src/render.openstreetmap
deleted file mode 100644 (file)
index 2500681..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-bowser:
-  lat: -37.8001
-  lon: 144.9671
-  statuscake:
-    - 2217312
-  colour: "#bfa730"
-  bandwidth: 300
-  ipv4: 138.44.68.106
-  default: ""
-  preferred:
-    origins:
-      - hamilton
-      - hsinchu
-      - wellington
-
-odin:
-  lat: 52.33724625
-  lon: 4.93370796776345
-  statuscake:
-    - 3987453
-  colour: "#7c1f7c"
-  bandwidth: 800
-  ipv4: 130.117.76.15
-  ipv6: 200109780002002c000000000172000F
-  default: ""
-  preferred:
-    origins:
-      - amsterdam
-
-ysera:
-  lat: 51.5228002
-  lon: -0.62151043832233
-  statuscake:
-    - 2217313
-  colour: "#412c84"
-  bandwidth: 800
-  ipv4: 193.60.236.22
-  default: ""
-  preferred:
-    origins:
-      - london
-
-scorch:
-  lat: 50.6911904
-  lon: 3.2008282044777
-  statuscake:
-    - 2217314
-  colour: "#bf8230"
-  bandwidth: 400
-  ipv4: 176.31.235.79
-  ipv6: 200141d00002fc4f0000000000000001
-  default: ""
-  preferred:
-    origins:
-      - france
-
-rhaegal:
-  lat: 45.8082123
-  lon: 15.9634238
-  statuscake:
-    - 3343399
-  colour: "#a1b92e"
-  bandwidth: 500
-  ipv4: 161.53.248.77
-  default: ""
-  preferred:
-    origins:
-      - osijek
-      - pula
-
-pyrene:
-  lat: 44.5639267
-  lon: -123.274707837676
-  statuscake:
-    - 3451753
-  colour: "#269926"
-  bandwidth: 600
-  ipv4: 140.211.167.98
-  ipv6: 2605bc8030100700000000008cd3a762
-  default: ""
-  preferred:
-    origins:
-      - corvallis
-      - curitiba
-      - montreal
-      - sanfrancisco
-      - vinadelmar
-
-# Spare colours:
-#
-#  25567b
-#  bf6530
-#  bfb830
-#  562781
-#  1f7c65
-#  bf3030
-#  bf9430
-#  7ab02c
-#  a1285f
-#  2c3d82
diff --git a/src/stateofthemap b/src/stateofthemap
deleted file mode 100644 (file)
index dc4f5ef..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-# tinydns data for stateofthemap
-#
-# Full reference is at http://cr.yp.to/djbdns/tinydns-data.html
-
-# Let Bytemark handle the DNS
-
-.stateofthemap::a.ns.bytemark.co.uk
-.stateofthemap::b.ns.bytemark.co.uk
-.stateofthemap::c.ns.bytemark.co.uk
-
-# Publish a CAA record indicating that only letsencrypt should issue certificates
-
-:stateofthemap:257:\000\005\151\163\163\165\145\154\145\164\163\145\156\143\162\171\160\164\056\157\162\147
-
-# Let google handle email
-
-@stateofthemap::aspmx.l.google.com:1:3600
-@stateofthemap::alt1.aspmx.l.google.com:5:3600
-@stateofthemap::alt2.aspmx.l.google.com:5:3600
-@stateofthemap::aspmx2.googlemail.com:10:3600
-@stateofthemap::aspmx3.googlemail.com:10:3600
-
-# Alias for login
-
-Clogin.stateofthemap:ghs.google.com
-
-# Main web server and it's aliases
-
-+stateofthemap:193.60.236.19:600
-+www.stateofthemap:193.60.236.19:600
-+2020.stateofthemap:193.60.236.19:600
-+2019.stateofthemap:193.60.236.19:600
-+2018.stateofthemap:193.60.236.19:600
-+2017.stateofthemap:193.60.236.19:600
-+2016.stateofthemap:193.60.236.19:600
-+2014.stateofthemap:188.226.171.99
-+2013.stateofthemap:193.60.236.19:600
-+2012.stateofthemap:193.60.236.19:600
-+2011.stateofthemap:193.60.236.19:600
-+2010.stateofthemap:193.60.236.19:600
-+2009.stateofthemap:193.60.236.19:600
-+2008.stateofthemap:193.60.236.19:600
-+2007.stateofthemap:193.60.236.19:600
diff --git a/src/stateofthemap-eu b/src/stateofthemap-eu
deleted file mode 100644 (file)
index 8bdf20d..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-# tinydns data for stateofthemap-eu
-#
-# Full reference is at http://cr.yp.to/djbdns/tinydns-data.html
-
-# Let Bytemark handle the DNS
-
-.stateofthemap-eu::a.ns.bytemark.co.uk
-.stateofthemap-eu::b.ns.bytemark.co.uk
-.stateofthemap-eu::c.ns.bytemark.co.uk
-
-# Publish a CAA record indicating that only letsencrypt should issue certificates
-
-:stateofthemap-eu:257:\000\005\151\163\163\165\145\154\145\164\163\145\156\143\162\171\160\164\056\157\162\147
-
-# Let openstreetmap.at handle email for the moment
-
-@stateofthemap-eu::openstreetmap.at:1:3600
-
-# Main web server and it's aliases
-
-+stateofthemap-eu:88.198.206.107:600
-+www.stateofthemap-eu:88.198.206.107:600
diff --git a/src/stateofthemap-eu.js b/src/stateofthemap-eu.js
new file mode 100644 (file)
index 0000000..14776b1
--- /dev/null
@@ -0,0 +1,33 @@
+D(DOMAIN, REGISTRAR, DnsProvider(PROVIDER),
+
+  // Publish CAA records indicating that only letsencrypt should issue certificates
+
+  CAA_BUILDER({
+    label: "@",
+    iodef: "mailto:hostmaster@openstreetmap.org",
+    issue: [
+      "letsencrypt.org",
+    ],
+    issuewild: [
+      "letsencrypt.org",
+    ],
+  }),
+
+  // Block email delivery
+
+  TXT("_dmarc", "v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s;"),
+  TXT("*._domainkey", "v=DKIM1; p="),
+  TXT("@", "v=spf1 -all"),
+
+  // Site hosted on github pages
+
+  ALIAS("@", "openstreetmap-polska.github.io."),
+  CNAME("www", "openstreetmap-polska.github.io."),
+  
+  // Previous editions
+  
+  A("2014", "49.12.5.171"),
+  CNAME("2023", "osmbe.github.io."),
+  CNAME("2024", "openstreetmap-polska.github.io.")
+  
+);
diff --git a/src/stateofthemap.js b/src/stateofthemap.js
new file mode 100644 (file)
index 0000000..a54d5c0
--- /dev/null
@@ -0,0 +1,82 @@
+D(DOMAIN, REGISTRAR, DnsProvider(PROVIDER),
+
+  // Publish CAA records indicating that only letsencrypt should issue certificates
+
+  CAA_BUILDER({
+    label: "@",
+    iodef: "mailto:hostmaster@openstreetmap.org",
+    issue: [
+      "letsencrypt.org",
+    ],
+    issuewild: [
+      "letsencrypt.org",
+    ],
+  }),
+
+  // SPF policy
+
+  SPF_BUILDER({
+    label: "@",
+    parts: [
+      "v=spf1",
+      "include:_spf.google.com",  // Google GSuite
+      "ip4:212.110.172.32",       // shenron ipv4
+      "ip6:2001:41c9:1:400::32",  // shenron ipv6
+      "ip4:184.104.226.98",       // fafnir ipv4
+      "ip6:2001:470:1:b3b::2",    // fafnir ipv6
+      "-all"
+    ]
+  }),
+
+  // Let google handle email
+
+  MX("@", 1, "aspmx.l.google.com."),
+  MX("@", 5, "alt1.aspmx.l.google.com."),
+  MX("@", 5, "alt2.aspmx.l.google.com."),
+  MX("@", 10, "alt3.aspmx.l.google.com."),
+  MX("@", 10, "alt4.aspmx.l.google.com."),
+
+  // Aliases for google services
+
+  CNAME("login", "ghs.googlehosted.com."),
+  CNAME("docs", "ghs.googlehosted.com."),
+  CNAME("mail", "ghs.googlehosted.com."),
+  CNAME("calendar", "ghs.googlehosted.com."),
+  CNAME("sites", "ghs.googlehosted.com."),
+
+  // Main web server and it's aliases
+
+  A("@", NAGA_IPV4),
+  AAAA("@", NAGA_IPV6),
+  A("www", NAGA_IPV4),
+  AAAA("www", NAGA_IPV6),
+  A("2024", NAGA_IPV4),
+  AAAA("2024", NAGA_IPV6),
+  A("2022", NAGA_IPV4),
+  AAAA("2022", NAGA_IPV6),
+  A("2021", NAGA_IPV4),
+  AAAA("2021", NAGA_IPV6),
+  A("2020", NAGA_IPV4),
+  AAAA("2020", NAGA_IPV6),
+  A("2019", NAGA_IPV4),
+  AAAA("2019", NAGA_IPV6),
+  A("2018", NAGA_IPV4),
+  AAAA("2018", NAGA_IPV6),
+  A("2017", NAGA_IPV4),
+  AAAA("2017", NAGA_IPV6),
+  A("2016", NAGA_IPV4),
+  AAAA("2016", NAGA_IPV6),
+  A("2013", NAGA_IPV4),
+  AAAA("2013", NAGA_IPV6),
+  A("2012", RIDLEY_IPV4),
+  A("2011", RIDLEY_IPV4),
+  A("2010", RIDLEY_IPV4),
+  A("2009", RIDLEY_IPV4),
+  A("2008", RIDLEY_IPV4),
+  A("2007", RIDLEY_IPV4),
+
+  // Google Site Verification - Grant
+  TXT("2022", "google-site-verification=wT1dJzSYM_2By372lJ_v9IU1crF21qOySEAPABxUcyo"),
+  TXT("@", "google-site-verification=pqJHZHtrC4UhevQdPlR_2gVDPml6UCwmyHq75bfWLRQ")
+
+);
diff --git a/src/switch2osm b/src/switch2osm
deleted file mode 100644 (file)
index 3195e79..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-# tinydns data for switch2osm
-#
-# Full reference is at http://cr.yp.to/djbdns/tinydns-data.html
-
-# Let Bytemark handle the DNS
-
-.switch2osm::a.ns.bytemark.co.uk
-.switch2osm::b.ns.bytemark.co.uk
-.switch2osm::c.ns.bytemark.co.uk
-
-# Publish a CAA record indicating that only letsencrypt should issue certificates
-
-:switch2osm:257:\000\005\151\163\163\165\145\154\145\164\163\145\156\143\162\171\160\164\056\157\162\147
-
-# Main web server and it's aliases
-
-+switch2osm:193.60.236.19:600
-+www.switch2osm:193.60.236.19:600
diff --git a/src/switch2osm.js b/src/switch2osm.js
new file mode 100644 (file)
index 0000000..e6763c7
--- /dev/null
@@ -0,0 +1,34 @@
+D(DOMAIN, REGISTRAR, DnsProvider(PROVIDER),
+
+  // Publish CAA records indicating that only letsencrypt should issue certificates
+
+  CAA_BUILDER({
+    label: "@",
+    iodef: "mailto:hostmaster@openstreetmap.org",
+    issue: [
+      "letsencrypt.org",
+    ],
+    issuewild: [
+      "letsencrypt.org",
+    ],
+  }),
+
+  // Delegate SPF policy to the main domain
+
+  SPF_BUILDER({
+    label: "@",
+    parts: [
+      "v=spf1",
+      "include:openstreetmap.org",  // main openstreetmap.org spf record
+      "-all"
+    ]
+  }),
+
+  // Main web server and it's aliases
+
+  A("@", NAGA_IPV4),
+  AAAA("@", NAGA_IPV6),
+  A("www", NAGA_IPV4),
+  AAAA("www", NAGA_IPV6)
+
+);
diff --git a/src/tile.openstreetmap b/src/tile.openstreetmap
deleted file mode 100644 (file)
index e4fd26d..0000000
+++ /dev/null
@@ -1,536 +0,0 @@
-# Moscow, RU
-# BW Limit: 1000Mb/s
-moscow:
-  lat: 55.75
-  lon: 37.617
-  statuscake:
-    - 2217257
-    - 2217258
-  colour: "#8dd3c7"
-  bandwidth: 200
-  ipv4: 5.45.248.21
-  ipv6: 2a0206b8b0105065000000000000a001
-  allowed:
-    countries:
-      - AZ
-      - BY
-      - EE
-      - GE
-      - KZ
-      - LT
-      - LV
-      - MN
-    continents:
-      - EU
-  denied:
-    countries:
-      - UA
-  preferred:
-    countries:
-      - RU
-
-# Amsterdam, NL
-# BW Limit: 1000Mb/s
-amsterdam:
-  lat: 52.37306
-  lon: 4.89222
-  statuscake:
-    - 2217259
-    - 2217260
-  colour: "#bebada"
-  bandwidth: 100
-  ipv4: 134.90.146.26
-
-# Oslo, NO
-# BW Limit: 1000Mb/s
-oslo:
-  lat: 59.94944
-  lon: 10.75639
-  statuscake:
-    - 2217261
-    - 2217262
-  colour: "#ffffb3"
-  bandwidth: 30
-  ipv4: 31.169.50.10
-  default: "xx"
-
-# San Francisco, US
-# BW Limit: 100Mb/s ?
-sanfrancisco:
-  lat: 37.708264
-  lon: -122.280247
-  statuscake:
-    - 2217263
-    - 2217264
-  colour: "#e31a1c"
-  bandwidth: 60
-  ipv4: 71.19.155.177
-  ipv6: 2605270000000017a80000fffe3ecdca
-  preferred:
-    countries:
-      - CN
-
-# Lyon/Toulouse/Rennes/Paris, FR
-# Lyon @ 45.7575958,4.8323239 with BW limit of 100Mb/s
-# Toulouse @ 43.6044622,1.4442469
-# Rennes @ 48.10891/-1.63459
-# Paris @ 48.8695940,2.3437840
-france:
-  lat: 46.603354
-  lon: 1.8883335
-  colour: "#fccde5"
-  servers:
-    - statuscake:
-        - 2217265
-        - 2217266
-      bandwidth: 80
-      ipv4: 77.95.65.39
-      ipv6: 2a039180000001000000000000000007
-    - statuscake:
-        - 3351567
-        - 3351569
-      bandwidth: 80
-      ipv4: 91.224.148.166
-      ipv6: 2a0372208080a6000000000000000001
-    - statuscake:
-        - 3743694
-        - 3743696
-      bandwidth: 80
-      ipv4: 89.234.186.100
-      ipv6: 2a005884821c00000000000000000001
-    - statuscake:
-        - 3750719
-        - 3750717
-      bandwidth: 80
-      ipv4: 80.67.167.77
-      ipv6: 2a0bcbc0110d0001000000000000001c
-    - statuscake:
-        - 3794330
-        - 3794331
-      bandwidth: 80
-      ipv4: 185.216.27.232
-  preferred:
-    countries:
-      - FR
-      - MC
-      - RE
-
-# Falkenstein/Jena/Berlin, DE
-# Falkenstein @ 50.47822,12.33607
-# Jena @ 50.9411,11.60085
-# Berlin @
-# Nuremberg @ 49.44927,11.01402
-germany:
-  lat: 51.0834196
-  lon: 10.4234469
-  colour: "#b2df8a"
-  servers:
-    - statuscake:
-        - 2217269
-        - 2217270
-      bandwidth: 150
-      ipv4: 144.76.70.77
-      ipv6: 2a0104f80191834c0000000000000002
-    - statuscake:
-        - 2217271
-        - 2217272
-      bandwidth: 150
-      ipv4: 81.7.11.83
-      ipv6: 2a020180000100010000000005170b53
-    - statuscake:
-        - 2217293
-        - 2217294
-      bandwidth: 150
-      ipv4: 185.66.195.245
-      ipv6: 2a032260200000010000000000000005
-    - statuscake:
-        - 3750847
-        - 3750842
-      bandwidth: 150
-      ipv4: 195.201.226.63
-      ipv6: 2a0104f81c1cbc540000000000000001
-  allowed:
-    countries:
-      - DE
-
-# Baku, AZ
-# BW Limit: 1000Mb/s
-baku:
-  lat: 40.395278
-  lon: 49.882222
-  colour: "#1f78b4"
-  statuscake:
-    - 2217267
-    - 2217268
-  bandwidth: 60
-  ipv4: 94.20.20.55
-  allowed:
-    continents:
-      - AS
-      - EU
-  preferred:
-    countries:
-      - AZ
-  denied:
-    countries:
-      - AM
-      - CN
-      - JP
-      - KR
-      - VN
-
-# Hsinchu, TW
-hsinchu:
-  lat: 24.78268
-  lon: 120.99563
-  colour: "#33a02c"
-  statuscake:
-    - 2217277
-    - 2217278
-  bandwidth: 200
-  ipv4: 140.110.240.7
-  ipv6: 20010e10200002400000000000000007
-  allowed:
-    continents:
-      - AS
-  denied:
-    countries:
-      - ID
-  preferred:
-    countries:
-      - TW
-      - JP
-
-# Pula, HR
-pula:
-  lat: 44.866280
-  lon: 13.851520
-  statuscake:
-    - 2217279
-    - 2217280
-  colour: "#a6cee3"
-  bandwidth: 120
-  ipv4: 193.198.233.211
-  ipv6: 20010b684cff00030000000000000003
-  default: "xx"
-
-# Osijek, HR
-osijek:
-  lat: 45.55656
-  lon: 18.71212
-  statuscake:
-    - 2217281
-    - 2217282
-  colour: "#fb8072"
-  bandwidth: 120
-  ipv4: 161.53.30.107
-  ipv6: 20010b68c0ff000002215efffe40c7c4
-  default: "xx"
-
-# London, GB
-london:
-  lat: 51.5120484
-  lon: -0.00201880060605929
-  colour: "#ffed6f"
-  servers:
-    - statuscake:
-       - 2214077
-       - 2217246
-      bandwidth: 150
-      ipv4: 185.73.44.30
-      ipv6: 20010ba800002c1e0000000000000000
-    - statuscake:
-       - 4089249
-       - 4089250
-      bandwidth: 150
-      ipv4: 185.73.44.167
-      ipv6: 20010ba800002ca70000000000000000
-  preferred:
-    countries:
-      - GB
-      - IE
-      - IM
-
-# Corvallis/Pittsburgh, US
-# Corvallis @ 44.5639267,-123.274707837676
-# Pittsburgh @ 40.4474127,-80.0078641
-usa:
-  lat: 42.5056697
-  lon: -101.641285968838
-  colour: "#6a3d9a"
-  servers:
-    - statuscake:
-       - 2217287
-       - 2217288
-      bandwidth: 200
-      ipv4: 140.211.167.105
-      ipv6: 2605bc8030100700000000008cdea769
-    - statuscake:
-       - 4112776
-       - 4112775
-      bandwidth: 200
-      ipv4: 204.16.246.252
-      ipv6: 2607fdc0000100000000000000000052
-  preferred:
-    countries:
-      - US
-
-# Budapest, HU
-budapest:
-  lat: 47.4925
-  lon: 19.051389
-  statuscake:
-    - 2217283
-    - 2217284
-  colour: "#fdbf6f"
-  bandwidth: 80
-  ipv4: 37.17.173.8
-  ipv6: 20014c480002bf04025056fffe8f5c81
-
-# Minsk, BY
-minsk:
-  lat: 53.88586
-  lon: 27.45368
-  statuscake:
-    - 2217285
-    - 2217286
-  colour: "#ffed6f"
-  bandwidth: 80
-  ipv4: 31.130.201.40
-  ipv6: 2001067c22681005021e8cfffe8c8d3b
-  allowed:
-    countries:
-      - BY
-      - LT
-      - LV
-
-# Aalborg, DK
-# BW Limit: 1000Mb/s
-aalborg:
-  lat: 57.0159232
-  lon: 9.97532374746345
-  statuscake:
-    - 2217289
-    - 2217290
-  colour: "#80b1d3"
-  bandwidth: 160
-  ipv4: 130.225.254.109
-  ipv6: 20010878034600000000000000000109
-  default: "xx"
-
-# Zaragoza, ES
-zaragoza:
-  lat: 41.64207
-  lon: -0.90054
-  statuscake:
-    - 2217291
-    - 2217292
-  colour: "#fdb462"
-  bandwidth: 100
-  ipv4: 155.210.4.103
-
-# Athens, GR
-athens:
-  lat: 37.983972
-  lon: 23.727806
-  statuscake:
-    - 2244901
-    - 2244902
-  colour: "#b3de69"
-  bandwidth: 80
-  ipv4: 83.212.2.116
-  ipv6: 200106482ffe00040000000000000116
-
-# Montréal, CA
-montreal:
-  lat: 45.5
-  lon: -73.566667
-  statuscake:
-    - 3155163
-    - 3155162
-  colour: "#b15928"
-  bandwidth: 100
-  ipv4: 184.107.48.228
-  preferred:
-    countries:
-      - CA
-
-# Cape Town, ZA
-capetown:
-  lat: -33.91834
-  lon: 18.42054
-  statuscake:
-    - 2217295
-    - 2217296
-  colour: "#cab2d6"
-  bandwidth: 10
-  ipv4: 196.10.54.165
-  ipv6: 200143f801f40b00b283fefffed8dd45
-  allowed:
-    countries:
-      - BW
-      - LS
-      - MZ
-      - NA
-      - SZ
-      - ZA
-      - ZW
-
-# Viña del Mar, CL
-vinadelmar:
-  lat: -33.008099
-  lon: -71.519699
-  statuscake:
-    - 3499524
-    - 3499526
-  colour: "#ff7f00"
-  bandwidth: 80
-  ipv4: 200.91.44.37
-  allowed:
-    continents:
-      - SA
-
-# Zurich, CH
-# BW Limit: 200Mb/s
-zurich:
-  lat: 47.3769434
-  lon: 8.5414061
-  statuscake:
-    - 3743984
-    - 3743985
-  colour: "#ccebc5"
-  bandwidth: 200
-  ipv4: 217.71.244.22
-  ipv6: 200108e0004020390000000000000010
-  preferred:
-    countries:
-      - CH
-      - IT
-      - SM
-      - VA
-
-# Kiev, UA
-kiev:
-  lat: 50.4020865
-  lon: 30.6146803128848
-  statuscake:
-    - 3890448
-    - 3890447
-  colour: "#fb9a99"
-  bandwidth: 70
-  ipv4: 176.122.99.101
-  ipv6: 2001067c2d4000000000000000000065
-
-# Wellington, NZ
-wellington:
-  lat: -41.288889
-  lon: 174.777222
-  statuscake:
-    - 3911508
-    - 3911509
-  colour: "#ffff99"
-  bandwidth: 80
-  ipv4: 114.23.141.203
-  allowed:
-    continents:
-      - OC
-    countries:
-      - CC
-  preferred:
-    continents:
-      - OC
-    countries:
-      - CC
-
-# Hamilton, NZ
-hamilton:
-  lat: -37.783333
-  lon: 175.283333
-  statuscake:
-    - 3931336
-    - 3931337
-  colour: "#999999"
-  bandwidth: 80
-  ipv4: 103.197.61.160
-  allowed:
-    continents:
-      - OC
-    countries:
-      - CC
-  preferred:
-    continents:
-      - OC
-    countries:
-      - CC
-
-# Melbourne, AU
-melbourne:
-  lat: -37.8004228
-  lon: 144.9684343
-  statuscake:
-    - 5043902
-    - 5043903
-  colour: "#d9d9d9"
-  bandwidth: 80
-  ipv4: 138.44.68.134
-  allowed:
-    continents:
-      - OC
-    countries:
-      - CC
-      - ID
-  preferred:
-    continents:
-      - OC
-    countries:
-      - CC
-      - ID
-
-# Linköping/Umeå, SE
-# Linköping @ 58.403261,15.623611189797
-# Umeå @ 63.82177625,20.3043163114932
-sweden:
-  lat: 61.1125186
-  lon: 17.9639637506451
-  colour: "#d9d9d9"
-  servers:
-    - statuscake:
-        - 3932686
-        - 3932688
-      bandwidth: 40
-      ipv4: 130.236.254.221
-      ipv6: 200106b00017f0a000000000000000dd
-    - statuscake:
-        - 3949588
-        - 3949589
-      bandwidth: 40
-      ipv4: 130.239.18.114
-      ipv6: 200106b0000e2a180000000000000114
-
-# Curitiba, BR
-curitiba:
-  lat: -25.41403745
-  lon: -49.252918753851
-  statuscake:
-    - 3945882
-    - 3945883
-  colour: "#d9d9d9"
-  bandwidth: 80
-  ipv4: 200.236.31.207
-  ipv6: 2801008280ff80020216ccfffeaa0021
-  allowed:
-    countries:
-      - BR
-
-# Pilsen, CZ
-pilsen:
-  lat: 49.723689
-  lon: 13.351542
-  statuscake:
-    - 4065539
-    - 4065540
-  colour: "#d9d9d9"
-  bandwidth: 30
-  ipv4: 147.228.60.16
-
-# Spare colours: