<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/>
<meta name="apple-mobile-web-app-capable" content="yes"/>
<meta name="theme-color" content="#060b12"/>
<title>Ocean top-40 — 1 Oct 2026</title>
<style>
:root {
--bg: #060b12;
--panel: #0c1826;
--stroke: #1e3a4e;
--text: #eef4f8;
--muted: #8aa0b0;
--cap: #b7c9d4;
--pin: #f3c14b;
--pin-edge: #fff4cc;
--good: #4ecb8f;
--good-edge: #e2fff0;
--ink: #0a1018;
--accent: #8ec8d8;
--link: #7ec8e8;
--safe-top: env(safe-area-inset-top, 0px);
--safe-bottom: env(safe-area-inset-bottom, 0px);
}
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
* { box-sizing: border-box; }
html, body {
margin: 0; padding: 0;
background: var(--bg); color: var(--text);
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
}
body { padding-top: var(--safe-top); padding-bottom: var(--safe-bottom); }
a { color: var(--link); }
header { padding: 14px 16px 8px; text-align: center; }
header h1 { margin: 0; font-size: 1.35rem; font-weight: 700; letter-spacing: 0.02em; }
header p { margin: 6px 0 0; color: var(--muted); font-size: 0.85rem; line-height: 1.4; }
.layout {
display: flex; gap: 14px; align-items: stretch;
padding: 8px 14px 18px; max-width: 1440px; margin: 0 auto;
}
.globe-wrap {
flex: 1 1 auto; min-width: 0;
background: var(--panel);
border: 1px solid var(--stroke);
border-radius: 12px;
overflow: hidden;
display: flex;
flex-direction: column;
}
.views {
display: flex; flex-wrap: wrap; gap: 8px;
padding: 10px 10px 6px;
justify-content: center;
}
.views button {
min-height: 44px; min-width: 44px; padding: 8px 12px;
border-radius: 8px; border: 1px solid var(--stroke);
background: #102033; color: var(--cap);
font-size: 0.82rem; font-weight: 600;
-webkit-tap-highlight-color: rgba(243,193,75,0.25);
touch-action: manipulation; cursor: pointer;
}
.views button.active, .views button:active {
background: #1a3a52; border-color: var(--accent); color: var(--text);
}
#globe, #canvas-globe {
width: 100%;
height: min(70vh, 740px);
min-height: 320px;
}
#globe { display: none; }
#canvas-globe { display: block; touch-action: none; cursor: grab; }
.legend {
flex: 0 0 380px;
background: var(--panel);
border: 1px solid var(--stroke);
border-radius: 12px;
padding: 12px 10px 10px;
max-height: 780px;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
}
.legend h2 {
margin: 0 8px 8px; font-size: 0.72rem; font-weight: 600;
color: var(--muted); letter-spacing: 0.08em; text-transform: uppercase;
}
.legend ol { list-style: none; margin: 0; padding: 0; }
.legend li { border-bottom: 1px solid #132536; }
.legend li:last-child { border-bottom: none; }
.section-heading { padding: 12px 8px 6px; color: var(--accent); font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; background: #0a1420; }
.story {
display: grid; grid-template-columns: 44px 1fr; column-gap: 10px;
width: 100%; min-height: 44px; padding: 10px 8px;
text-align: left; color: inherit; border: 0; background: transparent;
border-radius: 8px; font: inherit;
-webkit-tap-highlight-color: rgba(243,193,75,0.2);
touch-action: manipulation; cursor: pointer;
}
.story:active, .story.selected { background: #122033; }
.story .article-url { grid-column: 2; }
.pin {
width: 32px; height: 32px; border-radius: 50%;
background: var(--pin); color: var(--ink);
font-weight: 800; font-size: 0.85rem; line-height: 32px;
text-align: center; box-shadow: 0 0 0 1.5px var(--pin-edge);
align-self: start; margin-top: 4px;
}
.lab { color: var(--cap); font-size: 0.95rem; line-height: 1.3; font-weight: 650; }
.when { color: var(--accent); font-size: 0.78rem; margin-top: 2px; font-variant-numeric: tabular-nums; }
.sum { color: var(--muted); font-size: 0.82rem; line-height: 1.4; margin-top: 4px; }
.coord { color: #6e8796; font-size: 0.75rem; font-variant-numeric: tabular-nums; margin-top: 4px; }
.article-url {
display: inline-block; margin-top: 6px; min-height: 44px;
line-height: 1.3; padding: 10px 0; font-size: 0.8rem;
word-break: break-all; touch-action: manipulation;
}
footer {
text-align: center; color: var(--muted); font-size: 0.78rem;
padding: 0 16px 22px; line-height: 1.45;
}
.card {
position: fixed; left: 12px; right: 12px;
bottom: calc(12px + var(--safe-bottom));
max-width: 560px; margin: 0 auto;
background: #101e2e; border: 1px solid var(--accent);
border-radius: 14px; padding: 14px 14px 12px;
box-shadow: 0 12px 40px rgba(0,0,0,0.45);
z-index: 40; display: none;
}
.card.open { display: block; }
.card-top { display: flex; gap: 10px; align-items: flex-start; }
.card h3 { margin: 0; font-size: 1.05rem; line-height: 1.3; }
.card .when { margin-top: 4px; }
.card .sum { margin: 8px 0 4px; }
.card-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.card-actions a, .card-actions button {
min-height: 44px; padding: 10px 14px; border-radius: 10px;
font-size: 0.92rem; font-weight: 650;
display: inline-flex; align-items: center; justify-content: center;
text-decoration: none; touch-action: manipulation;
-webkit-tap-highlight-color: rgba(243,193,75,0.25); cursor: pointer;
}
.card-actions a { background: var(--pin); color: var(--ink); border: 0; flex: 1 1 auto; }
.card-actions button { background: transparent; color: var(--cap); border: 1px solid var(--stroke); }
.close-x {
margin-left: auto; min-width: 44px; min-height: 44px;
border: 0; background: transparent; color: var(--muted);
font-size: 1.4rem; line-height: 1; touch-action: manipulation; cursor: pointer;
}
.filterbar {
display: flex; flex-wrap: wrap; gap: 10px 14px;
align-items: center; justify-content: center;
padding: 2px 14px 8px; max-width: 1440px; margin: 0 auto;
}
.segmented {
display: flex; gap: 4px; padding: 4px;
background: #0c1826; border: 1px solid var(--stroke); border-radius: 12px;
}
.segmented button {
min-height: 44px; min-width: 130px; padding: 8px 16px;
border: 0; border-radius: 9px; background: transparent; color: var(--cap);
font: inherit; font-size: 0.86rem; font-weight: 650;
touch-action: manipulation; cursor: pointer;
-webkit-tap-highlight-color: rgba(78,203,143,0.25);
}
.segmented button.active {
background: #1a3a52; color: var(--text); box-shadow: inset 0 0 0 1px var(--accent);
}
.segmented button#btn-good.active {
background: #143f2d; color: #d7ffe9; box-shadow: inset 0 0 0 1px var(--good);
}
.showing {
color: var(--muted); font-size: 0.84rem; font-weight: 600;
font-variant-numeric: tabular-nums;
}
.pin.good { background: var(--good); box-shadow: 0 0 0 1.5px var(--good-edge); color: var(--ink); }
.tone-chip {
display: inline-block; margin-top: 5px; padding: 3px 8px;
border-radius: 999px; font-size: 0.66rem; font-weight: 750;
letter-spacing: 0.06em; text-transform: uppercase;
}
.tone-chip.tone-good { background: rgba(78,203,143,0.18); color: #7ee5ac; box-shadow: inset 0 0 0 1px rgba(78,203,143,0.55); }
.tone-chip.tone-mixed { background: rgba(243,193,75,0.16); color: #f3c14b; box-shadow: inset 0 0 0 1px rgba(243,193,75,0.5); }
.tone-chip.tone-bad { background: rgba(232,110,110,0.15); color: #f0a0a0; box-shadow: inset 0 0 0 1px rgba(232,110,110,0.45); }
.card .tone-chip { margin-top: 6px; }
@media (max-width: 700px) {
.layout { flex-direction: column; padding: 4px 10px 16px; }
.legend { flex: 1 1 auto; max-height: none; }
#globe, #canvas-globe { height: min(62vh, 520px); min-height: 280px; }
header h1 { font-size: 1.22rem; }
.segmented { width: 100%; }
.segmented button { flex: 1 1 0; min-width: 0; }
}
@media (min-width: 701px) {
.card { left: auto; right: 28px; bottom: 28px; width: 400px; }
}
</style>
</head>
<body>
<header>
<h1>Ocean top-40 — 1 Oct 2026</h1>
<p>Tap a pin to highlight the summary card and list row (does not open the article). Use Read article to open the link. Drag empty ocean to rotate. Green pins = good news.</p>
</header>
<div class="filterbar">
<div class="segmented" id="tone-filter" role="group" aria-label="Filter stories by tone">
<button type="button" id="btn-all" class="active" aria-pressed="true">All stories</button>
<button type="button" id="btn-good" aria-pressed="false">Good news only</button>
</div>
<div class="showing" id="showing" aria-live="polite">Showing 40 of 40</div>
</div>
<div class="layout">
<div class="globe-wrap">
<div class="views" id="views" role="toolbar" aria-label="Hemisphere views"></div>
<div id="globe"></div>
<canvas id="canvas-globe" width="800" height="800" aria-label="Interactive ocean globe"></canvas>
</div>
<aside class="legend">
<h2>Story locations — tap for details</h2>
<ol id="list"></ol>
</aside>
</div>
<footer>Orthographic globe · 40 stories (20 main + 20 good) for the 1 Oct 2026 ocean briefing · green = good news, gold = bad or mixed · tap a pin to read</footer>
<div class="card" id="card" role="dialog" aria-live="polite" hidden>
<div class="card-top">
<span class="pin" id="card-n"></span>
<div>
<h3 id="card-title"></h3>
<div class="when" id="card-date"></div>
<span class="tone-chip" id="card-tone"></span>
</div>
<button type="button" class="close-x" id="card-x" aria-label="Close">×</button>
</div>
<p class="sum" id="card-sum"></p>
<div class="coord" id="card-coord"></div>
<div class="card-actions">
<a id="card-link" href="https://www.gmanetwork.com/news/topstories/nation/1004395/pcg-deploys-vessel-aircraft-to-drive-away-chinese-research-ship-off-batanes/story/" target="_blank" rel="noopener noreferrer">Read article</a>
<a id="card-map" href="https://www.google.com/maps?q=21.0,121.7" target="_blank" rel="noopener noreferrer">Google Maps</a>
<button type="button" id="card-close">Close</button>
</div>
</div>
<script>
const STORIES = [{"section":"main","tone":"bad","title":"PCG deploys Magbanua to drive Chinese research ship off Batanes","why":"AIS-spoofing survey ship loiters near Luzon Strait cable corridor inside PH EEZ.","date":"2026-10-01","lat":21.0,"lon":121.7,"place":"~37 nm northwest of Itbayat, Batanes, Philippines","approx":true,"url":"https://www.gmanetwork.com/news/topstories/nation/1004395/pcg-deploys-vessel-aircraft-to-drive-away-chinese-research-ship-off-batanes/story/","source":"GMA News","summary":"On 1 Oct 2026 the Philippine Coast Guard deployed BRP Teresa Magbanua and an Islander aircraft to challenge Chinese research vessel Jia Hai Ke 7, which had held station about 37 nm NW of Itbayat since 28 Sep. PCG said DFA confirmed no MSR consent; a RHIB circled within 100 yards while China Coast Guard 2503 radio-challenged the Philippine ship near undersea-cable approaches.","n":1,"map_url":"https://www.google.com/maps?q=21.0,121.7","date_display":"1 Oct 2026"},{"section":"main","tone":"bad","title":"El Niño empties Pacific artisanal nets from Ecuador to Guatemala","why":"Super El Niño drives tuna and anchovy offshore; coastal fleets idle as SSTs run up to +6°C.","date":"2026-10-01","lat":-2.22,"lon":-80.96,"place":"Santa Rosa fishing port approaches, Santa Elena, Ecuador","approx":false,"url":"https://www.france24.com/en/live-news/20261001-empty-nets-in-latin-america-as-fish-flee-el-nino","source":"France 24 / AFP","summary":"AFP reporting dated 1 Oct 2026 documents empty nets along Pacific coasts of Ecuador, Peru, Panama and Guatemala as a strengthening El Niño pushes tuna, anchovy and snapper into cooler water. Off Ecuador, surface temperatures rose 2.5–3°C and up to 6°C at 40 m over ten weeks. Skippers in Santa Rosa and Panama City report half-empty hauls, idle fleets and doubled mahi-mahi and swordfish prices in Ecuador.","n":2,"map_url":"https://www.google.com/maps?q=-2.22,-80.96","date_display":"1 Oct 2026"},{"section":"main","tone":"mixed","title":"Vietnam Coast Guard Region 4: VMS device fraud, 130k L illicit diesel","why":"Peak-month IUU push uncovers tracker spoofing and fuel trafficking off SW Vietnam.","date":"2026-09-30","lat":10.22,"lon":103.96,"place":"~Phú Quốc / Coast Guard Region 4 waters, An Giang, Vietnam","approx":true,"url":"https://vov.vn/kinh-te/kiem-tra-cong-tac-chong-khai-thac-iuu-tai-bo-tu-lenh-vung-canh-sat-bien-4-post1337469.vov","source":"VOV","summary":"VOV reported 30 Sep that a Vietnam Coast Guard inspection of Region 4 Command (Phú Quốc) on 29–30 Sep reviewed peak-month IUU results: >20,000 nm of patrols, reminders to 200+ VMS-lost boat owners, seizure of two boats illegally carrying four other vessels’ VMS units, 10 administrative fines, and one boat with nearly 130,000 liters of undocumented diesel.","n":3,"map_url":"https://www.google.com/maps?q=10.22,103.96","date_display":"30 Sep 2026"},{"section":"main","tone":"bad","title":"Second Pemex hydrocarbon leak hits Progreso wetland coast","why":"Repeat Yucatán pipeline failures threaten Gulf fishing grounds and Ciénega wetlands.","date":"2026-09-30","lat":21.28,"lon":-89.66,"place":"Ciénega de Progreso coastal wetland / port approaches, Yucatán, Mexico","approx":false,"url":"https://yucatanmagazine.com/another-oil-leak-hits-progreso-12-days-after-the-last/","source":"Yucatán Magazine","summary":"On 30 Sep 2026 Mexico’s Navy and Pemex deployed oleophilic booms around a hydrocarbon leak near the Ciénega de Progreso—the second Progreso leak in under two weeks and at least the third this year. Officials blamed aging marine pipelines; volume and environmental damage were not yet assessed as fishers again reported coastal slicks.","n":4,"map_url":"https://www.google.com/maps?q=21.28,-89.66","date_display":"30 Sep 2026"},{"section":"main","tone":"mixed","title":"Resolve Marine begins cutting SS Richard Montgomery masts","why":"WWII munitions wreck in Thames Estuary enters high-risk mast-removal phase.","date":"2026-09-30","lat":51.465,"lon":0.786,"place":"SS Richard Montgomery wreck, Thames Estuary, UK","approx":false,"url":"https://maritime-executive.com/article/photos-resolve-marine-removing-masts-off-historic-richard-montgomery-wreck","source":"Maritime Executive","summary":"On 30 Sep 2026 Maritime Executive reported Resolve Marine divers cutting and lifting the three steel masts of WWII Liberty ship SS Richard Montgomery, which still holds ~1,400 tons of munitions in the Thames Estuary. UK DfT ordered the work after surveys warned collapsing masts could destabilize the wreck near busy shipping lanes.","n":5,"map_url":"https://www.google.com/maps?q=51.465,0.786","date_display":"30 Sep 2026"},{"section":"main","tone":"bad","title":"Penghu CGA seizes Chinese trawler; dumps 5 tonnes catch","why":"Second illegal PRC fishing seizure off Penghu in a week amid rising cross-strait maritime pressure.","date":"2026-09-30","lat":23.55,"lon":119.25,"place":"~22 nm northwest of Huayu Island, Penghu, Taiwan","approx":true,"url":"https://www.taiwannews.com.tw/news/6449262","source":"Taiwan News","summary":"On 30 Sep 2026 Penghu Coast Guard intercepted an unnamed Chinese fishing boat illegally trawling about 22 nautical miles northwest of Huayu Island—the second such seizure in a week. Seven fishers were aboard with ~5,000 kg of catch, which authorities dumped back at sea. The same week Taiwan monitored China Coast Guard ships Zhujiajian and Chongming east of the island.","n":6,"map_url":"https://www.google.com/maps?q=23.55,119.25","date_display":"30 Sep 2026"},{"section":"main","tone":"bad","title":"Only 28% of Tyne nurdles recovered; North Sea dispersal feared","why":"July Port of Tyne collision still shedding plastic pellets into coastal food webs.","date":"2026-09-30","lat":55.01,"lon":-1.42,"place":"~River Tyne estuary / South Tyneside North Sea beaches, UK","approx":true,"url":"https://www.bbc.com/news/articles/c5zjzr4rrl8lo","source":"BBC News","summary":"BBC reporting (~30 Sep–1 Oct 2026) cites Newcastle University and Cefas findings that only 5.14 of an estimated 17.92 tonnes of plastic nurdles spilled in the July Port of Tyne collision have been recovered (~28%). Remaining pellets are likely dispersing into the North Sea and will keep washing ashore; the North East mayor ordered an independent review and backs stricter carriage rules.","n":7,"map_url":"https://www.google.com/maps?q=55.01,-1.42","date_display":"30 Sep 2026"},{"section":"main","tone":"mixed","title":"Nature: super El Niño cooks reefs; sound/probiotics tested","why":"Bleaching risk returns less than a year after the fourth global event as emergency interventions scale.","date":"2026-09-30","lat":18.34,"lon":-64.93,"place":"~US Virgin Islands / Caribbean reef soundscape trial sites","approx":true,"url":"https://www.nature.com/articles/d41586-026-02965-9","source":"Nature","summary":"A 30 Sep 2026 Nature feature details how a strengthening super El Niño and record ocean heat are driving fresh bleaching risk in Florida, Pacific Panama and Kiribati less than a year after the 2023–25 global event. WHOI teams are broadcasting healthy-reef soundscapes that nearly doubled larval settlement in trials, alongside probiotic and deeper-water relocation experiments—stopgaps while emissions keep rising.","n":8,"map_url":"https://www.google.com/maps?q=18.34,-64.93","date_display":"30 Sep 2026"},{"section":"main","tone":"bad","title":"Marine heatwaves hide months of extra warming, VIMS finds","why":"Standard MHW metrics underestimate coastal heat exposure by >150%, understating ecosystem stress.","date":"2026-09-30","lat":37.2,"lon":-76.5,"place":"~Chesapeake Bay / mid-Atlantic estuary monitoring network, USA","approx":true,"url":"https://www.sciencedaily.com/releases/2026/09/260928100603.htm","source":"ScienceDaily / VIMS","summary":"Research published in Communications Earth & Environment and covered 30 Sep 2026 shows marine heatwaves are often embedded in weeks-to-months of elevated temperatures. Across >2,580 MHWs in 20 U.S. estuaries, conventional windows missed >150% of cumulative heat on average; about one-third were ‘compound’ events with ~90-day warm anomalies and >3× the heat of the MHW alone.","n":9,"map_url":"https://www.google.com/maps?q=37.2,-76.5","date_display":"30 Sep 2026"},{"section":"main","tone":"mixed","title":"ICES: NE Atlantic mackerel still precarious despite rebound","why":"Second-lowest mackerel advice in 15 years after a 72% stock crash since 2016.","date":"2026-09-30","lat":60.5,"lon":-2.0,"place":"~Northeast Atlantic mackerel grounds / Norwegian Sea approaches","approx":true,"url":"https://oceanographicmagazine.com/news/europes-mackerel-fishery-faces-severe-threat-despite-slight-rebound/","source":"Oceanographic","summary":"ICES scientific advice published 30 Sep recommends a 2027 NE Atlantic mackerel catch limit of 352,938 tonnes—102% above last year’s historic low but still an 11% cut versus current catches. Spawning biomass rose on strong 2024 recruitment, yet the stock remains 72% below 2016 levels. Blue Marine and Oceana UK warn coastal states must not overshoot advice again after years of quotas averaging 39% above science.","n":10,"map_url":"https://www.google.com/maps?q=60.5,-2.0","date_display":"30 Sep 2026"},{"section":"main","tone":"bad","title":"Hawaiian humpbacks down 37% after Pacific marine heatwave","why":"Breeding-ground photo-ID shows adult survival collapse still unrecovered amid new heat.","date":"2026-09-30","lat":20.8,"lon":-156.5,"place":"~Maui Nui / main Hawaiian Islands humpback breeding grounds","approx":true,"url":"https://goodmenproject.com/featured-content/marine-heatwave-likely-caused-sharp-decline-in-hawaiian-humpback-whales-study-finds/","source":"The Good Men Project / Mongabay","summary":"A 30 Sep 2026 Mongabay syndication covers photo-ID analysis of >27,000 Hawaiian humpback fluke sightings (2002–2023) finding a 37% population decline between the 2014–15 and 2021–22 seasons after the 2013–16 northeast Pacific heatwave. Adult survival fell from ~99% to an estimated 68% during the event; the stock has not recovered as new marine heat and El Niño warm the Pacific again.","n":11,"map_url":"https://www.google.com/maps?q=20.8,-156.5","date_display":"30 Sep 2026"},{"section":"main","tone":"bad","title":"Galápagos corals: El Niños 36% stronger than pre-industrial","why":"Paleoclimate evidence that warming is intensifying ENSO arrives as a historic event builds.","date":"2026-09-30","lat":-0.7,"lon":-90.3,"place":"~Galápagos Islands coral reef sites, eastern equatorial Pacific","approx":true,"url":"https://news.mongabay.com/2026/09/evidence-builds-showing-climate-change-could-be-intensifying-el-nino-events/","source":"Mongabay","summary":"Mongabay reported 30 Sep on Science research using ~1,000-year Galápagos coral Sr/Ca and oxygen-isotope records showing El Niño intensity rose 36.5% over the last four decades versus the pre-industrial baseline. Experts say the finding strengthens evidence that climate change intensifies ENSO as models give the 2026–27 event a high chance of being historic.","n":12,"map_url":"https://www.google.com/maps?q=-0.7,-90.3","date_display":"30 Sep 2026"},{"section":"main","tone":"bad","title":"Turkish bulker Aroyat hit near Novorossiysk; engineer missing","why":"Black Sea war risk expands as commercial shipping again takes drone fire.","date":"2026-09-29","lat":44.7,"lon":37.8,"place":"~approaches to Novorossiysk, Black Sea, Russia","approx":true,"url":"https://maritime-executive.com/article/ukraine-accused-of-attack-on-turkish-bulker-with-one-seafarer-missing","source":"Maritime Executive","summary":"Maritime Executive reported 29 Sep that Palau-flagged bulker Aroyat was struck by what crew believed was an aerial drone near Novorossiysk on 27 Sep, igniting a large accommodation fire. The multinational crew included Egyptian, Syrian and Turkish sailors; Turkish second engineer Erkan Nika was reported missing as the disabled ship was towed toward Turkey.","n":13,"map_url":"https://www.google.com/maps?q=44.7,37.8","date_display":"29 Sep 2026"},{"section":"main","tone":"bad","title":"Nine held for cyanide fishing on Capual reefs, Sulu","why":"Compressor cyanide fishing still destroys coral and reef fisheries in Sulu Sea.","date":"2026-09-29","lat":5.95,"lon":121.35,"place":"~Sitio Taluk-Taluk, Capual village waters, Omar, Sulu, Philippines","approx":true,"url":"https://www.sunstar.com.ph/zamboanga/9-nabbed-for-cyanide-fishing-in-sulu","source":"SunStar Zamboanga","summary":"SunStar reported 29 Sep that a joint military–police–community operation on 27 Sep arrested nine people allegedly cyanide fishing with a compressor off Capual, Omar, Sulu. Two motorboats and gear were seized; officials stressed community tip-offs as key to stopping a practice that kills coral and reef fish.","n":14,"map_url":"https://www.google.com/maps?q=5.95,121.35","date_display":"29 Sep 2026"},{"section":"main","tone":"mixed","title":"ISSF suspends Aneka Tuna Indonesia over traceability failures","why":"Repeat major non-conformance on species/area labeling weakens tuna supply-chain accountability.","date":"2026-09-29","lat":1.44,"lon":125.19,"place":"~Bitung tuna-processing hub / Sulawesi Sea approaches, Indonesia","approx":true,"url":"https://www.iss-foundation.org/about-issf/what-we-publish/2026/09/29/issf-suspends-aneka-tuna-indonesia-following-issf-conservation-measure-non-conformance/","source":"ISSF","summary":"On 29 Sep 2026 ISSF announced its Board had voted 23 Sep to suspend PT Aneka Tuna Indonesia after two consecutive major non-conformances with Conservation Measure 2.3 (product labeling by species and ocean of capture). ATI failed to submit a required remediation plan after the first finding and is no longer an ISSF participating company.","n":15,"map_url":"https://www.google.com/maps?q=1.44,125.19","date_display":"29 Sep 2026"},{"section":"main","tone":"mixed","title":"Canada rejects France’s 1,500-t Grand Banks snow-crab pledge","why":"Saint-Pierre exploratory licence sparks continental-shelf fishery jurisdiction fight.","date":"2026-09-29","lat":46.0,"lon":-50.0,"place":"~Grand Banks zone 3LNO / Canadian continental-shelf extension","approx":true,"url":"https://www.cbc.ca/news/canada/newfoundland-labrador/france-snow-crab-fishery-9.7362370","source":"CBC News","summary":"CBC reported 29 Sep that DFO called France’s pledge of a 1,500-tonne exploratory snow-crab licence for Saint-Pierre-et-Miquelon company ASPM Océan ‘disappointing,’ arguing France lacks authority on Canada’s extended continental shelf beyond 200 nm. The five-year quota would be worth ~C$20 million/year; N.L. Premier Wakeham backed Ottawa’s rejection.","n":16,"map_url":"https://www.google.com/maps?q=46.0,-50.0","date_display":"29 Sep 2026"},{"section":"main","tone":"neutral","title":"Biscayne Bay named critical shark-and-ray nursery in global map","why":"Urban bay hosts 13 shark/ray species including only formal U.S. East Coast great-hammerhead nursery.","date":"2026-09-29","lat":25.55,"lon":-80.18,"place":"Biscayne Bay, Miami, Florida, USA","approx":false,"url":"https://www.wlrn.org/environment/2026-09-29/biscayne-bay-refuge-sharks-rays-study","source":"WLRN","summary":"WLRN reported 29 Sep on IUCN Important Shark and Ray Area mapping that lists Biscayne Bay as critically important habitat for 13 shark and ray species, eight Red-listed, including the only formally documented great hammerhead nursery on the U.S. East Coast. Designations add no rules but highlight development pressure from large marina plans around Miami’s shallow seagrass nursery.","n":17,"map_url":"https://www.google.com/maps?q=25.55,-80.18","date_display":"29 Sep 2026"},{"section":"main","tone":"mixed","title":"Tourist phinisi KM Yukai sinks after hitting Labuan Bajo reef","why":"Komodo gateway tourism pressure collides with shallow coral navigation risk.","date":"2026-09-28","lat":-8.48,"lon":119.87,"place":"~Tanjung Sture / Seture Island approaches, Labuan Bajo, Indonesia","approx":true,"url":"https://thebalitimes.com/national/tourist-boat-carrying-13-visitors-sinks-near-labuan-bajo-after-hitting-reef/","source":"The Bali Times","summary":"On 28 Sep reporting, traditional tourist boat KM Yukai sank near Labuan Bajo on 27 Sep after striking a shallow coral reef at low tide en route to a snorkeling site. All 13 tourists and six crew were evacuated uninjured; police are investigating possible navigational negligence and ~Rp1 billion losses while planning wreck recovery to clear the hazard.","n":18,"map_url":"https://www.google.com/maps?q=-8.48,119.87","date_display":"28 Sep 2026"},{"section":"main","tone":"mixed","title":"Somalia objects to IOTC yellowfin and swordfish catch caps","why":"Coastal-state rights clash with RFMO TACs that could constrain artisanal tuna livelihoods.","date":"2026-09-28","lat":5.0,"lon":50.0,"place":"~Somali EEZ yellowfin tuna grounds, Western Indian Ocean","approx":true,"url":"https://www.seafoodsource.com/news/somalia-objects-to-iotc-conservation-proposals-claims-they-violate-sovereign-rights-and-obligations","source":"SeafoodSource","summary":"SeafoodSource reported 28 Sep that Somalia formally objected to IOTC 2027–28 yellowfin TAC allocations giving it only 5,000 t (1.14%) of a 436,867-t total and to swordfish limits of 1,500 t for most CPCs. Director-General Abdi Dirshe called the caps unscientific versus Somalia’s EEZ productivity and a threat to artisanal fishers already landing more.","n":19,"map_url":"https://www.google.com/maps?q=5.0,50.0","date_display":"28 Sep 2026"},{"section":"main","tone":"bad","title":"Bay of Biscay heatwaves wipe kelp; UK octopus boom hits shellfish","why":"Hottest European summer seas since 1982 transform fisheries from Galicia to Devon.","date":"2026-09-26","lat":43.55,"lon":-6.0,"place":"~Asturias / Bay of Biscay kelp coast, northern Spain","approx":true,"url":"https://www.independent.co.uk/news/world/europe/marine-heatwave-fisheries-kelp-lobster-crayfish-b3056875.html","source":"The Independent / Reuters","summary":"A 26 Sep 2026 Reuters analysis republished by The Independent finds European seas had their hottest June–August since 1982; the Bay of Biscay logged 186 heatwave days by end-August and ~95% loss of large kelp stands along Asturias since 2010, collapsing lobster and crayfish habitat. In the English Channel, octopus landings surged past 3,000 t while shellfish coops call 2026 an ‘octopus apocalypse’.","n":20,"map_url":"https://www.google.com/maps?q=43.55,-6.0","date_display":"26 Sep 2026"},{"section":"good","tone":"good","title":"Central Mexican Pacific reefs show up to 74% coral-cover recovery","why":"Decade-long study finds upwelling-buffered reefs repeatedly rebound after ENSO extremes.","date":"2026-10-01","lat":19.28,"lon":-104.85,"place":"~Tenacatita–Barra de Navidad bays, Central Mexican Pacific","approx":true,"url":"https://scienmag.com/hidden-coral-strongholds-of-mexicos-pacific-coast-defy-a-decade-of-ocean-extremes/","source":"Scienmag / Discover Ecology","summary":"A Discover Ecology study of Chamela, Tenacatita–Barra de Navidad and Santiago–Manzanillo bays (2010–2023) reports coral communities recovering after ENSO shocks, with recovery reaching up to 74% of lost cover and some sites barely declining. Seasonal upwelling buffered the 2015–16 El Niño; authors caution 2023 Manzanillo declines show resilience is not immunity.","n":21,"map_url":"https://www.google.com/maps?q=19.28,-104.85","date_display":"1 Oct 2026"},{"section":"good","tone":"good","title":"State of the World’s Mangroves 2026: global cover turning to net gain","why":"Global Mangrove Watch science shows loss slowing and extent rising—with caveats.","date":"2026-09-30","lat":-2.4,"lon":-79.9,"place":"~Gulf of Guayaquil mangroves, Ecuador (GMA chapter stewardship highlight)","approx":true,"url":"https://www.nature.org/en-us/newsroom/state-of-the-worlds-mangroves-2026/","source":"The Nature Conservancy / Global Mangrove Alliance","summary":"TNC’s 30 Sep State of the World’s Mangroves 2026 reports global mangrove extent is increasing after decades of loss, backed by Global Mangrove Watch v4.1 mapping (1985–2025). Ecuador’s GMA chapter has advanced 45+ sustainable-use agreements and 100,000+ ha under community stewardship; authors warn new gains do not replace old-growth losses.","n":22,"map_url":"https://www.google.com/maps?q=-2.4,-79.9","date_display":"30 Sep 2026"},{"section":"good","tone":"good","title":"Quriyat divers pull 300 kg abandoned nets from Oman seabed","why":"Community ghost-gear removal protects coral and stops ongoing entanglement risk.","date":"2026-09-30","lat":23.26,"lon":58.91,"place":"Quriyat fishing grounds / Quriyat Port approaches, Oman","approx":false,"url":"https://www.muscatdaily.com/2026/09/30/divers-remove-300kg-of-abandoned-nets-in-quriyat/","source":"Muscat Daily","summary":"Quriyat Divers removed about 300 kg of abandoned fishing nets on 25 Sep after a fisher tip-off, working at 7–24 m depth with six divers for roughly an hour. The volunteer team’s 54th initiative since 2019 brings total marine waste recovered to about 23 tonnes across 60 members.","n":23,"map_url":"https://www.google.com/maps?q=23.26,58.91","date_display":"30 Sep 2026"},{"section":"good","tone":"good","title":"Nagapattinam Forest Dept seizes 418 kg fresh sea cucumber","why":"Wildlife Protection Act bust hits illegal sea-cucumber trade on Coromandel coast.","date":"2026-09-30","lat":10.767,"lon":79.842,"place":"Nagapattinam coast / Forest Range, Tamil Nadu, India","approx":true,"url":"https://www.thehindu.com/news/cities/Tiruchirapalli/over-400-kg-fresh-sea-cucumber-seized-at-nagapattinam/article71529320.ece","source":"The Hindu","summary":"On 30 Sep Nagapattinam Forest Department officers seized 418 kg of fresh sea cucumber concealed in a mini freight carrier near a burial ground and arrested D. Selvam of Sellur. The vehicle and catch were confiscated under the Wild Life (Protection) Act.","n":24,"map_url":"https://www.google.com/maps?q=10.767,79.842","date_display":"30 Sep 2026"},{"section":"good","tone":"good","title":"MAFAR Tawi-Tawi releases 5,000 blue swimming crab juveniles","why":"FishCon Week stock enhancement plus cleanup and coral-bleaching education.","date":"2026-09-30","lat":4.66,"lon":119.39,"place":"Sitangkai coastal waters, Tawi-Tawi, Philippines","approx":false,"url":"https://bangsamoro.gov.ph/news/latest-news/mafar-tawi-tawi-leads-fishcon-activities-releases-5000-crablets/","source":"BARMM / MAFAR Tawi-Tawi","summary":"MAFAR-Tawi-Tawi released about 5,000 blue swimming crab juveniles at Sitangkai during 63rd National / 7th BARMM Fish Conservation Week (21–25 Sep), reported 30 Sep. The week also included coastal cleanups with PCG and a 25 Sep coral-bleaching awareness lecture in Bongao.","n":25,"map_url":"https://www.google.com/maps?q=4.66,119.39","date_display":"30 Sep 2026"},{"section":"good","tone":"good","title":"Florida loggerheads near record; US green nests up ~100× since 1980s","why":"TED/lighting/protection policies show multi-decade nesting recovery across SE US.","date":"2026-09-30","lat":27.92,"lon":-80.49,"place":"~Archie Carr National Wildlife Refuge / Florida east-coast index beaches","approx":true,"url":"https://www.progressivepolicy.org/record-sea-turtle-nesting-counts-in-florida-texas-and-georgia-this-summer/","source":"Progressive Policy Institute","summary":"PPI summarized FWC data showing preliminary 2026 Florida loggerhead nests at 136,972 by 31 Aug (above the 2023 record) and leatherbacks at 2,209, with green-turtle index-beach two-year averages near 50,000 versus ~500 in the 1980s. Texas Kemp’s ridley nests reached 697 so far in 2026; Georgia reported 4,292 nests of all species.","n":26,"map_url":"https://www.google.com/maps?q=27.92,-80.49","date_display":"30 Sep 2026"},{"section":"good","tone":"good","title":"Bio Farma geotags Karawang mangroves; >90% three-year survival","why":"Employee planting with QR monitoring and community care shows durable coastal gains.","date":"2026-09-30","lat":-6.15,"lon":107.58,"place":"Muarabaru Village mangroves, Cilamaya Wetan, Karawang, West Java","approx":false,"url":"https://www.biofarma.co.id/en/announcement/detail/bio-farma-engages-employees-in-technologydriven-mangrove-conservation-innovation-in-karawang","source":"Bio Farma","summary":"Bio Farma’s Mangrove For Life event on 24 Sep (reported 30 Sep) expanded geotagged, QR-coded mangrove planting at Muarabaru with employee and community partners active since 2023. West Java Forestry said survival has exceeded 90% over three years, with greener shoreline and returning shrimp, fish and bird habitat.","n":27,"map_url":"https://www.google.com/maps?q=-6.15,107.58","date_display":"30 Sep 2026"},{"section":"good","tone":"good","title":"UGM–KLH kick off North Maluku mangrove landscape inventory","why":"Science-backed mangrove function mapping to guide sustainable coastal management.","date":"2026-09-29","lat":0.79,"lon":127.38,"place":"~Ternate / North Maluku mangrove landscape (KLM inventory)","approx":true,"url":"https://fkt.ugm.ac.id/2026/09/29/fakultas-kehutanan-ugm-inisiasi-inventarisasi-ekosistem-mangrove-di-maluku-utara/","source":"Fakultas Kehutanan UGM","summary":"UGM Faculty of Forestry and Indonesia’s Environment Ministry launched a Kick Off on 28 Sep (reported 29 Sep) for mangrove ecosystem inventory and landscape-function planning (KLM) across North Maluku. Universities, local governments, KPH, BPDAS and park authorities will field-enumerate conditions to support sustainable mangrove management.","n":28,"map_url":"https://www.google.com/maps?q=0.79,127.38","date_display":"29 Sep 2026"},{"section":"good","tone":"good","title":"Aqaba ‘Wave Continues’ cleanup unites divers, navy and students","why":"Gulf of Aqaba seabed/beach action plus waste infrastructure for Red Sea reefs.","date":"2026-09-29","lat":29.53,"lon":34.98,"place":"Aqaba Marine Reserve / Gulf of Aqaba coast, Jordan","approx":false,"url":"https://petra.gov.jo/en/news/aqaba-hosts-2026-beach-cleanup-campaign-under-the-wave-continues-slogan-full-version","source":"Petra / Jordan News Agency","summary":"On 29 Sep Aqaba hosted the 2026 Beach Cleanup Campaign under ‘The Wave Continues,’ with Oxfam, ASEZA, Aqaba Marine Reserve, UNDP, Royal Naval Force diving teams, schools and volunteers. Activities included seabed and beach cleaning, plastic-pollution awareness, planting 30 trees and installing 12 waste containers.","n":29,"map_url":"https://www.google.com/maps?q=29.53,34.98","date_display":"29 Sep 2026"},{"section":"good","tone":"good","title":"Pantai Morib Baru ICC: 200 volunteers clear 161.3 kg litter","why":"Documented Selangor ICM cleanup feeds CleanSwell data for coastal management.","date":"2026-09-28","lat":2.749,"lon":101.443,"place":"Pantai Morib Baru, Kuala Langat, Selangor, Malaysia","approx":false,"url":"https://newswav.com/article/161-3kg-of-rubbish-collected-in-pantai-morib-baru-clean-up-A2609_kDJrSD","source":"Newswav / MPKL","summary":"Kuala Langat Municipal Council reported 161.3 kg of rubbish collected by 200 participants at Pantai Morib Baru on 27 Sep under Ocean Conservancy’s ICC 2026, logged via CleanSwell/Reef Check Malaysia. The annual ICM-linked event has run since 2017.","n":30,"map_url":"https://www.google.com/maps?q=2.749,101.443","date_display":"28 Sep 2026"},{"section":"good","tone":"good","title":"Lazio Coast Guard Fair Fish Catch: ~1 t untraceable seafood seized","why":"Sea-to-table traceability blitz fines €40k+ and protects Mediterranean stocks.","date":"2026-09-28","lat":41.45,"lon":12.62,"place":"~Anzio / Lazio Tyrrhenian fishery chain, Italy","approx":true,"url":"https://baraondanews.it/pesca-illegale-controlli-anche-a-santa-marinella-sequestro-e-sanzione-da-2mila-euro/","source":"Baraonda News / Guardia Costiera Civitavecchia","summary":"Regional operation Fair Fish Catch (21–30 Sep), reported 28 Sep, saw Lazio Maritime Directorate units seize nearly 1 tonne of untraceable seafood and issue over €40,000 in fines across markets, restaurants and distribution points. Notable hauls included 190 kg at Anzio, 580 kg at a Formia restaurant and 20 kg plus a €2,000 fine at Santa Marinella.","n":31,"map_url":"https://www.google.com/maps?q=41.45,12.62","date_display":"28 Sep 2026"},{"section":"good","tone":"good","title":"Riau Police seize 140 t mangrove charcoal headed for Malaysia","why":"Outermost-island mangrove bust plus Green Policing restoration after illegal kilns.","date":"2026-09-27","lat":2.1,"lon":101.6,"place":"Teluk Rhu / North Rupat mangroves, Bengkalis, Riau, Indonesia","approx":true,"url":"https://www.thestar.com.my/aseanplus/aseanplus-news/2026/09/27/riau-police-foil-effort-to-smuggle-mangrove-charcoal-to-malaysia","source":"The Star / Jakarta Post","summary":"Riau Police Special Crimes Directorate foiled mangrove-charcoal smuggling from Rupat Island toward Batu Pahat, Malaysia, seizing about 140 tonnes and naming skipper AT and kiln owner AK as suspects. Officials stressed Rupat’s mangroves as abrasion barriers on an outermost island; Green Policing also included restorative planting after the bust.","n":32,"map_url":"https://www.google.com/maps?q=2.1,101.6","date_display":"27 Sep 2026"},{"section":"good","tone":"good","title":"Umkomaas task force stops muscleman crab poachers 54 over limit","why":"Public tip-driven bag-limit enforcement protects KZN intertidal crabs.","date":"2026-09-26","lat":-30.201,"lon":30.797,"place":"Umkomaas coast, KwaZulu-Natal, South Africa","approx":false,"url":"https://www.citizen.co.za/south-coast-herald/news-headlines/local-crime-news/2026/09/26/muscleman-crab-poachers-caught-in-umkomaas/","source":"South Coast Herald","summary":"Coastal Marine Task Force members, acting on two public reports, apprehended Umkomaas suspects harvesting muscleman crabs 54 over the 15-per-person bag limit with illegal tools and without permits. Crabs may only be taken by hand or small scoop net for personal use.","n":33,"map_url":"https://www.google.com/maps?q=-30.201,30.797","date_display":"26 Sep 2026"},{"section":"good","tone":"good","title":"Studland Bay eco-moorings shrink seagrass scars by 93.6%","why":"First clear science that helical eco-moorings heal seahorse seagrass meadows.","date":"2026-09-26","lat":50.642,"lon":-1.948,"place":"Studland Bay Marine Conservation Zone, Dorset, UK","approx":false,"url":"https://www.bbc.co.uk/news/articles/cqrm90n3m90po","source":"BBC News","summary":"University of Southampton analysis reported 26 Sep shows bare seagrass patches around 10 trial eco-moorings installed in 2021 shrank 93.6% by 2025 (~57 m²/year), versus 65.4% where traditional moorings remained until 2023. Studland Bay MCZ hosts protected spiny and short-snouted seahorses.","n":34,"map_url":"https://www.google.com/maps?q=50.642,-1.948","date_display":"26 Sep 2026"},{"section":"good","tone":"good","title":"Cebu market denial seizes amberjack suspected from dynamite fishing","why":"Joint DVMF–BFAR–PCG market control blocks blast-caught fish from sale.","date":"2026-09-26","lat":6.92,"lon":122.08,"place":"~Zamboanga City coastal source waters (catch origin cited), Philippines","approx":true,"url":"https://www.philstar.com/the-freeman/cebu-news/2026/09/26/2559051/box-fish-allegedly-caught-through-dynamite-fishing-seized","source":"The Freeman / Philstar","summary":"Cebu City DVMF, with BFAR, Bantay Dagat and PCG, confiscated a box of amberjack allegedly caught by dynamite fishing and originating from Zamboanga City during a market denial operation. Officials reiterated ongoing bans on cyanide, fine-mesh and blast-caught seafood in city markets.","n":35,"map_url":"https://www.google.com/maps?q=6.92,122.08","date_display":"26 Sep 2026"},{"section":"good","tone":"good","title":"Bangladesh Coast Guard seizes illegal troller and 700 kg fish off St. Martin’s","why":"Sanctuary-adjacent enforcement protects Saint Martin coral-island fisheries.","date":"2026-09-26","lat":20.63,"lon":92.32,"place":"~NW sea area of St. Martin’s Island, Teknaf, Cox’s Bazar, Bangladesh","approx":true,"url":"https://dailycountrytodaybd.com/story/coast-guard-seized-illegal-trawling-boat,-fish,-detained-17-near-st.-martin%27s-island","source":"Daily Country Today","summary":"Coast Guard Station St. Martin detained 17 fishers and seized an illegal artisanal trolling boat, six nets and about 700 kg of marine fish (≈Tk 2.1 lakh) during a 26 Sep tip-off operation northwest of St. Martin’s Island. Legal proceedings were opened for the vessel, gear, catch and crew.","n":36,"map_url":"https://www.google.com/maps?q=20.63,92.32","date_display":"26 Sep 2026"},{"section":"good","tone":"good","title":"Aquarium of the Pacific incubates 204 olive ridley eggs from SoCal nests","why":"Emergency relocation saves first confirmed US West Coast natural nests from storm swells.","date":"2026-09-26","lat":33.735,"lon":-118.08,"place":"~Seal Beach National Wildlife Refuge nest site, California, USA","approx":true,"url":"https://mynewsla.com/orange-county/2026/09/26/rescued-sea-turtle-eggs-monitored-at-aquarium-of-the-pacific-in-long-beach/","source":"MyNewsLA","summary":"On 25–26 Sep teams moved 104 eggs from Seal Beach NWR and 100 from Huntington Beach to Aquarium of the Pacific incubation after NOAA and state wildlife agencies ordered excavation ahead of Hurricane Polo swells. The nests (16 and 19 Sep) are the first confirmed natural sea-turtle nests on the US West Coast.","n":37,"map_url":"https://www.google.com/maps?q=33.735,-118.08","date_display":"26 Sep 2026"},{"section":"good","tone":"good","title":"AnuBlue plants 5,800 corals across Antigua reefs at 84% survival","why":"Record restoration year rebuilds Cades Reef and NEMMA with resilient genetics.","date":"2026-09-26","lat":17.05,"lon":-61.88,"place":"Cades Reef / North East Marine Management Area, Antigua","approx":false,"url":"https://antiguanewsroom.com/anublue-marks-record-year-for-coral-restoration-in-antigua-barbuda/","source":"Antigua News Room","summary":"AnuBlue (formerly Elkhorn Marine Conservancy) announced its biggest year since 2021: more than 5,800 nursery-grown corals planted across ~2.3 acres at Cades Reef and NEMMA with an 84% survival rate. Four nurseries and five sites grow 15 reef-building species including five critically endangered taxa.","n":38,"map_url":"https://www.google.com/maps?q=17.05,-61.88","date_display":"26 Sep 2026"},{"section":"good","tone":"good","title":"Sundarbans forest guards arrest five fishing in sanctuary canal","why":"Sanctuary patrol upholds no-take canal rules in Eastern Sundarbans.","date":"2026-09-25","lat":22.15,"lon":89.85,"place":"Adani Gurguria Canal, Sharankhola Range, Eastern Sundarbans, Bangladesh","approx":false,"url":"https://dailynewnation.com/news/858345","source":"Daily New Nation","summary":"Forest guards arrested five fishers on 24 Sep (reported 25 Sep) fishing in the prohibited Adani Gurguria Canal under Shelarchar Patrol Post, seizing two boats, nets and 2.5 maunds of fish. A Forest Act case was filed and the men were sent to Bagerhat court.","n":39,"map_url":"https://www.google.com/maps?q=22.15,89.85","date_display":"25 Sep 2026"},{"section":"good","tone":"good","title":"Ghana Navy hands Winneba–Apam illegal gear to Fisheries Commission","why":"Navy–fisheries handoff strengthens IUU gear enforcement on western shelf.","date":"2026-09-24","lat":5.35,"lon":-0.65,"place":"~waters between Winneba and Apam, Ghana","approx":true,"url":"https://www.uromivoice.com/2026/09/24/ghana-navy-strengthens-collaboration-with-fisheries-commission-to-combat-iuu-fishing/","source":"Uromi Voice","summary":"Western Naval Command FOC Commodore Stephen Billins Nyam briefed the Fisheries Commission in Accra on gear intercepted between Winneba and Apam as allegedly violating Fisheries Regulations 2010 (L.I. 1968) Section 11, and handed the gear for assessment. He reiterated joint Navy–Commission IUU enforcement.","n":40,"map_url":"https://www.google.com/maps?q=5.35,-0.65","date_display":"24 Sep 2026"}];
const LAND_FILL = [[[[-160.2,-78.7],[-159.6,-79.5],[-162.4,-79.3],[-163.7,-78.6],[-163.1,-78.2],[-160.2,-78.7]]],[[[-164.8,54.4],[-159.6,56.7],[-159.6,55.7],[-164.8,54.4]]],[[[-160.4,59.1],[-162.0,58.7],[-161.9,59.6],[-163.8,59.8],[-166.1,61.5],[-164.6,63.1],[-160.8,63.8],[-161.5,64.4],[-160.8,64.8],[-165.0,64.4],[-168.1,65.7],[-164.5,66.6],[-163.7,66.6],[-163.8,66.1],[-161.7,66.1],[-166.8,68.4],[-166.2,68.9],[-163.2,69.4],[-161.9,70.3],[-159.6,70.8],[-159.6,58.7],[-160.4,59.1]]],[[[-166.2,59.8],[-167.5,60.2],[-165.7,60.3],[-166.2,59.8]]],[[[-171.8,63.4],[-171.7,63.8],[-168.7,63.3],[-171.8,63.4]]],[[[-173.9,64.3],[-176.2,65.4],[-178.4,65.4],[-178.9,65.7],[-178.7,66.1],[-179.9,65.9],[-179.4,65.4],[-180.0,65.0],[-180.0,69.0],[-174.9,67.2],[-175.0,66.6],[-174.3,66.3],[-174.6,67.1],[-171.9,66.9],[-169.9,66.0],[-172.5,65.4],[-172.6,64.5],[-173.9,64.3]]],[[[-180.0,70.8],[-180.0,71.5],[-177.6,71.3],[-180.0,70.8]]],[[[-180.0,-90.0],[-180.0,-84.7],[-179.1,-84.1],[-174.4,-84.5],[-170.0,-83.9],[-159.6,-85.2],[-159.6,-90.0],[-180.0,-90.0]]],[[[-160.2,-78.7],[-159.2,-79.5],[-160.4,-79.4],[-160.2,-78.7]]],[[[-139.6,59.4],[-147.1,60.9],[-148.2,60.7],[-148.0,60.0],[-151.7,59.2],[-151.4,60.7],[-150.3,61.0],[-150.6,61.3],[-154.0,59.4],[-153.3,58.9],[-154.2,58.1],[-158.4,56.0],[-160.4,55.5],[-160.4,56.4],[-157.7,57.6],[-157.0,58.9],[-159.1,58.4],[-160.4,59.1],[-160.4,70.6],[-156.6,71.4],[-154.3,70.7],[-143.6,70.2],[-139.6,69.4],[-139.6,59.4]]],[[[-155.2,20.0],[-154.8,19.5],[-155.9,19.1],[-155.9,20.2],[-155.2,20.0]]],[[[-156.4,20.6],[-156.7,20.9],[-156.6,21.0],[-156.0,20.8],[-156.4,20.6]]],[[[-159.8,22.1],[-159.4,22.2],[-159.5,21.9],[-159.8,22.1]]],[[[-154.0,56.7],[-154.7,57.5],[-153.2,58.0],[-152.1,57.6],[-154.0,56.7]]],[[[-160.4,-90.0],[-160.4,-85.1],[-148.5,-85.6],[-143.1,-85.0],[-142.9,-84.6],[-153.6,-83.7],[-152.9,-82.0],[-156.8,-81.1],[-150.6,-81.3],[-146.4,-80.3],[-149.5,-79.4],[-155.3,-79.1],[-158.1,-78.0],[-158.4,-76.9],[-151.3,-77.4],[-146.1,-76.5],[-146.2,-75.4],[-139.6,-74.7],[-139.6,-90.0],[-160.4,-90.0]]],[[[-122.4,-73.3],[-119.6,-73.4],[-119.6,-73.8],[-120.2,-74.1],[-122.6,-73.7],[-122.4,-73.3]]],[[[-124.0,-73.9],[-127.3,-73.5],[-126.6,-73.2],[-124.0,-73.9]]],[[[-120.6,34.6],[-124.4,40.3],[-124.5,42.8],[-123.9,45.5],[-124.7,48.2],[-123.1,48.0],[-122.6,47.1],[-122.8,49.0],[-125.6,50.4],[-127.4,50.8],[-127.9,52.3],[-129.1,52.8],[-129.3,53.6],[-132.0,55.5],[-134.1,58.1],[-136.6,58.2],[-140.4,59.6],[-140.4,69.6],[-136.5,68.9],[-129.8,70.2],[-129.1,69.8],[-128.1,70.5],[-125.8,69.5],[-124.4,70.2],[-124.3,69.4],[-121.5,69.8],[-119.6,69.5],[-119.6,34.3],[-120.6,34.6]]],[[[-125.8,50.3],[-123.5,48.5],[-125.7,48.8],[-128.4,50.5],[-125.8,50.3]]],[[[-133.2,54.2],[-131.7,54.1],[-132.0,53.0],[-131.2,52.2],[-133.1,53.4],[-133.2,54.2]]],[[[-119.6,74.2],[-119.6,72.2],[-120.5,71.4],[-123.1,70.9],[-125.9,71.9],[-123.9,73.7],[-124.9,74.3],[-119.6,74.2]]],[[[-119.6,77.3],[-119.6,76.4],[-122.9,76.1],[-119.6,77.3]]],[[[-140.4,-90.0],[-140.4,-74.8],[-135.2,-74.3],[-119.6,-74.4],[-119.6,-90.0],[-140.4,-90.0]]],[[[-118.7,-73.5],[-120.2,-74.1],[-120.4,-74.1],[-120.4,-73.4],[-118.7,-73.5]]],[[[-102.3,-71.9],[-99.6,-71.9],[-99.6,-72.5],[-100.8,-72.5],[-102.3,-71.9]]],[[[-103.5,18.3],[-105.5,19.9],[-105.3,21.4],[-106.0,22.8],[-112.2,29.0],[-113.1,31.2],[-114.8,31.8],[-114.7,30.2],[-109.4,23.2],[-110.0,22.8],[-112.2,24.7],[-112.3,26.0],[-115.1,27.7],[-114.2,28.6],[-115.5,29.6],[-117.3,33.0],[-118.5,34.0],[-120.4,34.5],[-120.4,69.6],[-113.9,68.4],[-115.3,67.9],[-109.9,68.0],[-108.9,67.4],[-107.8,67.9],[-108.8,68.3],[-108.2,68.7],[-106.2,68.8],[-101.5,67.6],[-99.6,67.7],[-99.6,16.8],[-103.5,18.3]]],[[[-108.4,73.1],[-105.4,72.7],[-104.5,71.0],[-101.0,70.0],[-101.1,69.6],[-102.7,69.5],[-102.1,69.1],[-102.4,68.8],[-106.0,69.2],[-113.3,68.5],[-117.3,70.0],[-112.4,70.4],[-117.9,70.5],[-118.4,70.9],[-116.1,71.3],[-119.4,71.6],[-117.9,72.7],[-115.2,73.3],[-114.2,73.1],[-114.7,72.7],[-112.4,73.0],[-111.1,72.5],[-109.9,73.0],[-108.2,71.7],[-107.7,72.1],[-108.4,73.1]]],[[[-102.5,72.5],[-102.5,72.8],[-100.4,72.7],[-101.5,73.4],[-99.6,73.8],[-99.6,71.6],[-102.5,72.5]]],[[[-117.6,74.2],[-115.5,73.5],[-119.2,72.5],[-120.4,71.5],[-120.4,74.2],[-117.6,74.2]]],[[[-105.3,73.6],[-104.5,73.4],[-105.4,72.8],[-106.9,73.5],[-105.3,73.6]]],[[[-113.9,74.7],[-111.8,75.2],[-117.7,75.2],[-115.4,76.5],[-109.1,75.5],[-110.5,76.4],[-109.6,76.8],[-108.5,76.7],[-107.8,75.8],[-105.9,76.0],[-105.7,75.5],[-106.3,75.0],[-112.2,74.4],[-113.9,74.7]]],[[[-102.6,76.3],[-99.6,76.6],[-99.6,75.2],[-102.5,75.6],[-102.6,76.3]]],[[[-119.1,77.5],[-116.2,77.6],[-116.3,76.9],[-117.1,76.5],[-120.4,76.3],[-120.4,77.0],[-119.1,77.5]]],[[[-113.5,77.7],[-109.9,78.0],[-110.2,77.7],[-113.5,77.7]]],[[[-100.8,78.8],[-99.7,77.9],[-105.2,78.4],[-104.2,78.7],[-105.5,79.3],[-100.8,78.8]]],[[[-112.5,78.4],[-111.5,78.8],[-109.7,78.6],[-112.5,78.4]]],[[[-120.4,-90.0],[-120.4,-74.4],[-113.9,-73.7],[-112.3,-74.7],[-111.3,-74.4],[-107.6,-75.2],[-100.6,-75.3],[-100.1,-74.9],[-102.5,-74.1],[-103.7,-72.6],[-99.6,-73.2],[-99.6,-90.0],[-120.4,-90.0]]],[[[-96.8,-72.0],[-96.2,-72.5],[-100.4,-72.5],[-100.4,-71.9],[-96.8,-72.0]]],[[[-85.5,69.9],[-81.3,69.2],[-82.0,68.1],[-81.3,67.6],[-81.4,67.1],[-83.3,66.4],[-85.8,66.6],[-87.3,64.8],[-90.7,63.6],[-90.8,63.0],[-93.2,62.0],[-94.2,60.9],[-94.7,58.9],[-93.2,58.8],[-92.3,57.1],[-90.9,57.3],[-85.0,55.3],[-82.3,55.1],[-82.1,53.3],[-79.9,51.2],[-79.6,51.5],[-79.6,32.7],[-81.3,31.4],[-81.3,30.0],[-80.1,26.9],[-80.4,25.2],[-81.2,25.2],[-81.7,25.9],[-82.9,27.9],[-82.9,29.1],[-84.1,30.1],[-85.1,29.6],[-86.4,30.4],[-89.2,30.3],[-89.6,30.2],[-89.2,29.3],[-90.2,29.1],[-93.8,29.7],[-97.4,27.4],[-97.1,25.9],[-97.9,22.4],[-97.2,20.6],[-95.9,18.8],[-94.4,18.1],[-90.8,19.3],[-90.3,21.0],[-87.1,21.5],[-86.8,20.8],[-87.8,18.3],[-88.3,18.5],[-88.4,16.5],[-88.9,15.9],[-85.0,16.0],[-83.4,15.3],[-83.8,11.1],[-82.2,9.0],[-80.9,8.9],[-79.6,9.6],[-79.6,8.9],[-80.5,8.1],[-80.0,7.5],[-80.9,7.2],[-81.1,7.8],[-83.5,8.4],[-85.0,10.1],[-85.1,9.6],[-85.7,9.9],[-85.7,11.1],[-87.7,12.9],[-87.5,13.3],[-91.2,13.9],[-94.7,16.2],[-96.6,15.7],[-100.4,17.1],[-100.4,67.7],[-98.4,67.8],[-98.6,68.4],[-97.7,68.6],[-96.1,68.2],[-96.1,67.3],[-95.5,68.1],[-94.7,68.1],[-94.2,69.1],[-96.5,70.1],[-96.4,71.2],[-95.2,71.9],[-92.9,71.3],[-91.5,70.2],[-92.4,69.7],[-90.5,69.5],[-90.6,68.5],[-89.2,69.3],[-88.0,68.6],[-88.3,67.9],[-87.4,67.2],[-85.6,68.8],[-85.5,69.9]]],[[[-79.8,54.7],[-79.6,54.7],[-79.6,54.3],[-79.8,54.7]]],[[[-79.6,-7.5],[-81.2,-6.1],[-80.9,-5.7],[-81.4,-4.7],[-79.8,-2.7],[-81.0,-2.2],[-80.9,-1.1],[-80.1,0.8],[-79.6,1.0],[-79.6,-7.5]]],[[[-95.6,69.1],[-96.3,68.8],[-99.8,69.4],[-98.2,70.1],[-95.6,69.1]]],[[[-100.4,71.9],[-100.4,73.8],[-97.4,73.8],[-97.1,73.5],[-98.1,73.0],[-96.5,72.6],[-96.7,71.7],[-98.4,71.3],[-100.4,71.9]]],[[[-94.2,74.6],[-96.8,74.9],[-94.9,75.6],[-93.6,75.0],[-94.2,74.6]]],[[[-98.5,76.7],[-97.7,76.3],[-98.2,75.0],[-100.4,75.3],[-100.4,76.5],[-98.5,76.7]]],[[[-96.2,77.6],[-96.4,77.8],[-93.7,77.6],[-96.2,77.6]]],[[[-97.3,77.9],[-98.6,78.9],[-95.6,78.4],[-97.3,77.9]]],[[[-99.7,77.9],[-100.4,78.0],[-100.4,78.5],[-99.7,77.9]]],[[[-100.4,-90.0],[-100.4,-75.1],[-100.1,-74.9],[-100.4,-74.8],[-100.4,-73.1],[-96.3,-73.6],[-90.1,-73.3],[-89.2,-72.6],[-81.5,-73.9],[-80.3,-73.1],[-79.6,-73.2],[-79.6,-90.0],[-100.4,-90.0]]],[[[-79.6,22.6],[-79.6,21.8],[-82.2,22.4],[-81.8,22.6],[-85.0,21.9],[-83.3,23.0],[-80.6,23.1],[-79.6,22.6]]],[[[-79.7,61.6],[-80.4,62.0],[-79.9,62.4],[-79.6,62.3],[-79.7,61.6]]],[[[-84.0,62.5],[-81.9,62.9],[-83.1,62.2],[-84.0,62.5]]],[[[-80.1,63.7],[-81.0,63.4],[-83.1,64.1],[-85.5,63.1],[-85.9,63.6],[-87.2,63.5],[-86.4,64.0],[-85.9,65.7],[-80.1,63.7]]],[[[-81.3,69.7],[-88.7,70.4],[-89.5,70.8],[-88.5,71.2],[-89.9,71.2],[-90.2,72.2],[-88.4,73.5],[-85.8,73.8],[-86.6,73.2],[-85.8,72.5],[-84.9,73.3],[-82.3,73.8],[-80.6,72.7],[-80.7,72.1],[-79.6,72.3],[-79.6,70.1],[-81.3,69.7]]],[[[-90.5,73.9],[-94.3,72.0],[-95.4,72.1],[-96.0,72.9],[-95.5,73.9],[-90.5,73.9]]],[[[-79.6,73.7],[-79.6,72.8],[-80.8,73.7],[-79.6,73.7]]],[[[-81.1,75.7],[-79.8,74.9],[-81.9,74.4],[-89.8,74.5],[-92.4,74.8],[-92.9,75.9],[-93.9,76.3],[-97.1,76.8],[-96.7,77.2],[-91.6,76.8],[-90.7,76.4],[-91.0,76.1],[-87.8,75.6],[-81.1,75.7]]],[[[-79.6,83.1],[-79.6,76.4],[-80.6,76.2],[-89.5,76.5],[-89.6,77.0],[-87.8,77.2],[-88.3,77.9],[-85.0,77.5],[-88.0,78.4],[-85.1,79.3],[-86.9,80.3],[-81.8,80.5],[-87.6,80.5],[-91.6,81.9],[-85.5,82.7],[-83.2,82.3],[-82.4,82.9],[-79.6,83.1]]],[[[-93.1,79.4],[-95.0,79.4],[-96.7,80.2],[-94.3,81.0],[-94.7,81.2],[-92.4,81.3],[-87.8,80.3],[-85.8,79.3],[-90.8,78.2],[-92.9,78.3],[-93.9,79.1],[-93.1,79.4]]],[[[-79.9,51.2],[-78.6,52.6],[-79.8,54.7],[-78.2,55.1],[-76.5,56.5],[-77.3,58.1],[-78.5,58.8],[-77.3,59.9],[-78.1,62.3],[-73.8,62.4],[-71.4,61.1],[-69.6,61.1],[-69.3,59.0],[-67.6,58.2],[-66.2,58.8],[-64.6,60.3],[-61.4,57.0],[-61.8,56.3],[-59.6,55.5],[-59.6,50.4],[-66.4,50.2],[-71.1,46.8],[-68.7,48.3],[-65.1,49.2],[-64.2,48.7],[-65.1,48.1],[-64.5,46.2],[-63.2,45.7],[-61.5,45.9],[-60.5,47.0],[-59.8,45.9],[-65.4,43.5],[-66.1,43.6],[-66.2,44.5],[-64.4,45.3],[-67.1,45.1],[-67.0,44.8],[-70.7,43.0],[-70.8,42.3],[-70.0,41.6],[-73.7,40.9],[-71.9,40.9],[-74.0,40.8],[-74.9,38.9],[-75.5,39.5],[-75.1,38.4],[-75.9,37.2],[-75.7,37.9],[-76.3,39.2],[-76.3,38.1],[-77.0,38.2],[-76.3,37.9],[-75.7,35.6],[-80.4,32.1],[-80.4,51.7],[-79.9,51.2]]],[[[-80.1,26.9],[-80.4,25.2],[-80.4,27.7],[-80.1,26.9]]],[[[-79.6,9.6],[-76.8,8.6],[-75.7,9.4],[-74.9,11.1],[-73.4,11.2],[-71.8,12.4],[-71.1,12.1],[-71.9,11.4],[-71.7,9.1],[-71.0,9.9],[-71.4,11.0],[-70.2,11.4],[-69.9,12.2],[-68.2,10.6],[-66.2,10.6],[-64.9,10.1],[-64.3,10.6],[-61.9,10.7],[-62.7,10.4],[-62.4,9.9],[-60.8,9.4],[-60.7,8.6],[-59.6,8.2],[-59.6,-38.7],[-62.3,-38.8],[-62.1,-40.7],[-62.7,-41.0],[-65.1,-41.1],[-65.0,-42.1],[-63.8,-42.0],[-63.5,-42.6],[-65.2,-43.5],[-65.6,-45.0],[-67.3,-45.6],[-67.6,-46.3],[-65.6,-47.2],[-66.0,-48.1],[-69.1,-50.7],[-68.2,-52.3],[-69.5,-52.3],[-70.8,-52.9],[-71.0,-53.8],[-74.9,-52.3],[-75.6,-48.7],[-74.1,-46.9],[-75.6,-46.6],[-74.7,-45.8],[-74.4,-44.1],[-73.2,-44.5],[-72.7,-42.4],[-73.4,-42.1],[-73.7,-43.4],[-74.3,-43.2],[-73.2,-39.3],[-73.6,-37.2],[-73.2,-37.1],[-71.4,-32.4],[-71.5,-28.9],[-70.9,-27.6],[-70.2,-19.8],[-70.4,-18.3],[-71.5,-17.4],[-76.0,-14.6],[-79.8,-7.2],[-80.4,-6.7],[-80.4,-3.5],[-79.8,-2.7],[-80.4,-2.4],[-80.4,0.1],[-80.1,0.8],[-78.9,1.4],[-78.4,2.6],[-77.1,3.8],[-78.2,8.3],[-79.6,8.9],[-80.4,8.2],[-80.4,9.2],[-79.6,9.6]]],[[[-80.0,7.5],[-80.4,7.4],[-80.4,8.0],[-80.0,7.5]]],[[[-61.9,-80.4],[-60.6,-79.6],[-59.6,-80.0],[-60.2,-81.0],[-64.5,-80.9],[-66.3,-80.3],[-61.9,-80.4]]],[[[-62.1,-66.2],[-63.7,-66.5],[-65.7,-68.0],[-63.2,-69.2],[-61.8,-70.7],[-60.8,-73.7],[-64.4,-75.3],[-70.6,-76.6],[-77.2,-76.7],[-73.7,-77.9],[-77.9,-78.4],[-78.0,-79.2],[-75.4,-80.3],[-59.6,-82.4],[-59.6,-90.0],[-80.4,-90.0],[-80.4,-73.2],[-74.9,-73.9],[-67.4,-72.5],[-67.3,-71.6],[-68.5,-69.7],[-67.6,-68.5],[-67.7,-67.3],[-63.0,-64.6],[-59.6,-63.7],[-59.6,-64.2],[-62.0,-64.8],[-62.6,-65.5],[-62.1,-66.2]]],[[[-74.2,-72.4],[-75.0,-71.7],[-72.1,-71.2],[-71.7,-69.5],[-70.3,-68.9],[-68.3,-71.4],[-68.8,-72.2],[-74.2,-72.4]]],[[[-71.0,-55.1],[-74.7,-52.8],[-71.1,-54.1],[-70.3,-52.9],[-68.6,-52.6],[-67.8,-53.9],[-65.0,-54.7],[-65.5,-55.2],[-67.0,-54.9],[-68.1,-55.6],[-71.0,-55.1]]],[[[-59.6,-51.4],[-59.6,-52.2],[-61.2,-51.9],[-59.6,-51.4]]],[[[-60.9,10.1],[-62.0,10.1],[-61.1,10.9],[-60.9,10.1]]],[[[-76.2,17.9],[-78.3,18.2],[-77.8,18.5],[-76.2,17.9]]],[[[-65.8,18.0],[-67.2,17.9],[-67.1,18.5],[-65.8,18.4],[-65.8,18.0]]],[[[-68.3,18.6],[-68.7,18.2],[-70.7,18.4],[-71.4,17.6],[-72.4,18.2],[-74.5,18.3],[-72.3,18.7],[-73.2,19.9],[-69.2,19.3],[-68.3,18.6]]],[[[-74.3,20.1],[-77.8,19.9],[-77.1,20.4],[-78.1,20.7],[-78.7,21.6],[-80.4,22.0],[-80.4,23.0],[-74.3,20.1]]],[[[-78.4,24.6],[-78.2,25.2],[-77.9,25.2],[-77.5,23.8],[-78.4,24.6]]],[[[-77.2,25.9],[-77.8,27.0],[-77.0,26.6],[-77.2,25.9]]],[[[-77.8,26.8],[-77.8,26.6],[-78.9,26.4],[-79.0,26.8],[-77.8,26.8]]],[[[-63.7,46.6],[-62.0,46.4],[-62.9,46.0],[-64.1,46.4],[-64.0,47.0],[-63.7,46.6]]],[[[-63.6,49.4],[-64.5,49.9],[-62.9,49.7],[-61.8,49.1],[-63.6,49.4]]],[[[-79.7,61.6],[-80.4,62.0],[-79.9,62.4],[-79.3,62.2],[-79.7,61.6]]],[[[-77.0,67.1],[-77.2,67.6],[-75.9,68.3],[-75.1,68.0],[-75.2,67.4],[-77.0,67.1]]],[[[-74.2,71.8],[-74.1,71.3],[-72.2,71.6],[-68.8,70.5],[-67.0,69.2],[-68.8,68.7],[-61.9,66.9],[-63.9,65.0],[-66.7,66.4],[-68.0,66.3],[-68.1,65.7],[-65.3,64.4],[-64.7,63.4],[-65.0,62.7],[-68.8,63.7],[-66.2,61.9],[-68.9,62.3],[-74.8,64.7],[-77.7,64.2],[-78.6,64.6],[-77.9,65.3],[-74.0,65.5],[-73.9,66.3],[-72.7,67.3],[-73.3,68.1],[-76.9,68.9],[-76.2,69.1],[-79.0,70.2],[-80.4,69.9],[-80.4,72.1],[-77.8,72.7],[-74.2,71.8]]],[[[-61.3,76.1],[-68.5,76.1],[-71.4,77.0],[-66.8,77.4],[-73.3,78.0],[-73.2,78.4],[-65.7,79.4],[-65.3,79.8],[-68.0,80.1],[-59.6,82.0],[-59.6,75.7],[-61.3,76.1]]],[[[-78.1,73.7],[-76.3,72.8],[-79.5,72.7],[-80.4,73.4],[-80.4,73.7],[-78.1,73.7]]],[[[-79.8,74.9],[-80.4,74.8],[-80.4,75.3],[-79.8,74.9]]],[[[-65.5,81.5],[-71.2,79.8],[-76.9,79.3],[-75.5,79.2],[-76.2,79.0],[-75.4,78.5],[-79.8,77.2],[-77.9,76.8],[-80.4,76.2],[-80.4,83.0],[-61.9,82.6],[-67.7,81.5],[-65.5,81.5]]],[[[-57.3,54.6],[-56.9,53.8],[-55.8,53.3],[-55.7,52.1],[-60.4,50.2],[-60.4,55.8],[-57.3,54.6]]],[[[-59.8,45.9],[-60.4,45.7],[-60.4,46.8],[-59.8,45.9]]],[[[-59.1,8.0],[-57.1,6.0],[-54.0,5.8],[-51.3,4.2],[-50.5,1.9],[-50.0,1.7],[-50.7,0.2],[-50.4,-0.1],[-48.6,-0.2],[-48.6,-1.2],[-47.8,-0.6],[-44.9,-1.6],[-44.6,-2.7],[-43.4,-2.4],[-39.6,-3.1],[-39.6,-18.7],[-40.9,-21.9],[-42.0,-23.0],[-44.6,-23.4],[-47.6,-24.9],[-48.5,-25.9],[-48.9,-28.7],[-53.8,-34.4],[-56.2,-34.9],[-58.4,-33.9],[-58.5,-34.4],[-57.2,-35.3],[-56.8,-36.9],[-57.7,-38.2],[-59.2,-38.7],[-60.4,-38.8],[-60.4,8.5],[-59.1,8.0]]],[[[-59.6,-80.0],[-60.2,-81.0],[-60.4,-81.0],[-60.4,-79.7],[-59.6,-80.0]]],[[[-52.9,-81.0],[-54.2,-80.6],[-51.0,-79.6],[-48.7,-78.0],[-45.2,-78.0],[-43.5,-79.1],[-43.3,-80.0],[-52.9,-81.0]]],[[[-60.4,-82.3],[-58.2,-83.2],[-49.8,-81.7],[-42.8,-82.1],[-39.6,-81.3],[-39.6,-90.0],[-60.4,-90.0],[-60.4,-82.3]]],[[[-58.6,-63.4],[-57.2,-63.5],[-60.4,-64.4],[-60.4,-63.9],[-58.6,-63.4]]],[[[-58.5,-51.1],[-57.8,-51.5],[-59.4,-52.2],[-60.4,-52.0],[-60.4,-51.6],[-58.5,-51.1]]],[[[-53.8,48.5],[-53.1,48.7],[-52.6,47.5],[-53.1,46.7],[-54.2,46.8],[-54.2,47.8],[-55.4,46.9],[-56.0,46.9],[-55.3,47.4],[-56.3,47.6],[-59.4,47.9],[-57.4,50.7],[-55.9,51.6],[-55.4,51.6],[-56.8,49.8],[-56.1,50.2],[-55.5,49.9],[-55.8,49.6],[-53.5,49.2],[-53.8,48.5]]],[[[-39.6,65.5],[-41.2,63.5],[-42.8,62.7],[-42.4,61.9],[-43.4,60.1],[-48.3,60.9],[-51.6,63.6],[-52.3,65.2],[-53.7,66.1],[-53.3,66.8],[-54.0,67.2],[-53.0,68.4],[-51.5,68.7],[-50.9,69.9],[-53.5,69.3],[-54.7,69.6],[-54.4,70.8],[-51.4,70.6],[-55.8,71.7],[-54.7,72.6],[-58.6,75.5],[-60.4,75.9],[-60.4,82.0],[-53.0,81.9],[-50.4,82.4],[-44.5,81.7],[-46.9,82.2],[-46.8,82.6],[-39.6,83.3],[-39.6,65.5]]],[[[-40.4,-2.8],[-37.2,-4.8],[-35.6,-5.1],[-34.7,-7.3],[-35.1,-9.0],[-38.7,-13.1],[-39.3,-17.9],[-40.4,-20.6],[-40.4,-2.8]]],[[[-28.5,-80.3],[-29.7,-79.3],[-35.6,-79.5],[-35.8,-78.3],[-28.9,-76.7],[-19.6,-75.4],[-19.6,-90.0],[-40.4,-90.0],[-40.4,-81.3],[-28.5,-80.3]]],[[[-21.8,64.4],[-24.0,64.9],[-22.2,65.1],[-24.3,65.6],[-23.7,66.3],[-22.1,66.4],[-20.6,65.7],[-19.6,66.1],[-19.6,63.6],[-22.8,64.0],[-21.8,64.4]]],[[[-22.1,81.7],[-23.2,81.2],[-19.6,81.5],[-19.6,80.2],[-20.0,80.2],[-19.6,80.2],[-19.6,76.9],[-21.7,76.6],[-19.8,76.1],[-19.6,75.2],[-20.7,75.2],[-19.6,74.3],[-21.6,74.2],[-20.4,73.8],[-20.8,73.5],[-23.6,73.3],[-22.3,72.2],[-24.8,72.3],[-22.1,71.5],[-21.8,70.7],[-23.5,70.5],[-25.5,71.4],[-25.2,70.8],[-26.4,70.2],[-22.3,70.1],[-27.7,68.5],[-31.8,68.1],[-34.2,66.7],[-39.8,65.5],[-40.4,64.6],[-40.4,83.2],[-35.1,83.6],[-27.1,83.5],[-20.8,82.7],[-31.9,82.2],[-22.1,81.7]]],[[[-17.5,-75.1],[-15.7,-74.5],[-15.4,-74.1],[-16.5,-73.9],[-15.4,-73.1],[-12.3,-72.4],[-10.3,-71.3],[-7.4,-71.7],[-6.9,-70.9],[-4.3,-71.5],[-0.7,-71.2],[-0.2,-71.6],[0.4,-71.5],[0.4,-90.0],[-20.4,-90.0],[-20.4,-75.5],[-17.5,-75.1]]],[[[-5.7,54.6],[-6.8,52.3],[-10.0,51.8],[-9.2,52.9],[-9.7,53.9],[-6.7,55.2],[-5.7,54.6]]],[[[-0.4,54.5],[0.4,53.0],[0.4,50.8],[-5.8,50.2],[-3.4,51.4],[-5.3,52.0],[-4.2,52.3],[-4.8,52.8],[-4.6,53.5],[-3.1,53.4],[-2.9,54.0],[-4.8,54.8],[-5.0,55.8],[-5.6,55.3],[-6.1,56.8],[-5.0,58.6],[-3.0,58.6],[-4.1,57.6],[-2.0,57.7],[-3.1,56.0],[-2.1,55.9],[-0.4,54.5]]],[[[-19.1,66.3],[-14.5,66.5],[-14.7,65.8],[-13.6,65.1],[-18.7,63.5],[-20.4,63.7],[-20.4,65.8],[-19.1,66.3]]],[[[-15.8,81.9],[-12.2,81.3],[-20.0,80.2],[-17.7,80.1],[-19.7,78.8],[-19.7,77.6],[-18.5,77.0],[-20.4,76.8],[-20.4,81.4],[-15.8,81.9]]],[[[-19.8,76.1],[-19.6,75.2],[-20.4,75.2],[-20.4,76.3],[-19.8,76.1]]],[[[-19.4,74.3],[-20.4,74.3],[-20.4,75.0],[-19.4,74.3]]],[[[-2.0,4.7],[-4.6,5.2],[-7.5,4.3],[-9.0,4.8],[-12.4,7.3],[-14.8,10.9],[-16.6,12.2],[-16.7,13.6],[-17.6,14.7],[-16.5,16.1],[-16.1,18.1],[-17.0,21.9],[-14.4,26.3],[-9.6,29.9],[-9.8,31.2],[-9.3,32.6],[-6.9,34.1],[-5.9,35.8],[-2.2,35.2],[0.4,36.2],[0.4,5.6],[-2.0,4.7]]],[[[-0.3,39.3],[0.1,38.7],[-2.1,36.7],[-4.4,36.7],[-5.4,35.9],[-6.5,36.9],[-8.9,36.9],[-8.8,38.3],[-9.5,38.7],[-8.8,40.8],[-9.4,43.0],[-8.0,43.7],[-1.9,43.4],[-1.4,44.0],[-1.2,46.0],[-3.0,47.6],[-4.5,48.0],[-4.6,48.7],[-1.6,48.6],[-1.9,49.8],[-1.0,49.3],[0.4,49.8],[0.4,40.4],[-0.3,39.3]]],[[[-0.4,-71.5],[7.7,-69.9],[9.5,-70.0],[10.8,-70.8],[13.4,-70.0],[15.1,-70.4],[19.3,-69.9],[20.4,-70.2],[20.4,-90.0],[-0.4,-90.0],[-0.4,-71.5]]],[[[9.2,41.2],[9.8,40.5],[9.7,39.2],[8.4,39.2],[8.2,41.0],[9.2,41.2]]],[[[0.5,52.9],[1.7,52.7],[1.1,51.8],[1.4,51.3],[0.6,50.8],[-0.4,50.7],[-0.4,54.4],[0.5,52.9]]],[[[19.6,-34.8],[18.4,-34.1],[17.9,-32.6],[18.2,-31.7],[15.2,-27.1],[14.3,-22.1],[11.8,-18.1],[11.8,-15.8],[13.6,-12.0],[13.7,-10.7],[11.9,-5.0],[8.8,-1.1],[9.8,3.1],[8.5,4.8],[5.9,4.3],[4.3,6.3],[1.9,6.1],[-0.4,5.3],[-0.4,35.9],[1.5,36.6],[10.2,37.2],[10.2,36.7],[11.1,36.9],[10.6,36.4],[10.9,35.7],[10.3,33.8],[15.2,32.3],[15.7,31.4],[19.1,30.3],[20.1,31.0],[20.1,32.2],[20.4,32.4],[20.4,-34.6],[19.6,-34.8]]],[[[19.4,40.3],[19.5,41.7],[16.0,43.5],[14.9,45.1],[14.0,44.8],[13.9,45.6],[13.1,45.7],[12.3,45.4],[12.6,44.1],[15.1,42.0],[15.9,42.0],[15.9,41.5],[18.5,40.2],[18.3,39.8],[16.9,40.4],[16.4,39.8],[17.2,39.4],[17.1,38.9],[16.1,38.0],[15.7,37.9],[16.1,39.0],[15.4,40.0],[12.1,41.7],[10.5,42.9],[10.2,43.9],[8.9,44.4],[6.5,43.1],[3.1,43.1],[3.0,41.9],[0.8,41.0],[-0.3,39.3],[0.1,38.7],[-0.4,38.3],[-0.4,49.5],[1.3,50.1],[1.6,50.9],[3.8,51.6],[4.7,53.1],[8.1,53.5],[8.8,54.0],[8.1,55.5],[8.5,57.1],[10.6,57.7],[10.3,56.9],[10.9,56.5],[9.7,55.5],[9.9,54.6],[10.9,54.0],[12.5,54.5],[14.1,53.8],[17.6,54.9],[19.7,54.4],[20.4,54.8],[20.4,39.1],[19.4,40.3]]],[[[17.8,62.7],[17.1,61.3],[18.8,60.1],[17.9,59.0],[16.8,58.7],[15.9,56.1],[14.7,56.2],[14.1,55.4],[12.9,55.4],[10.4,59.5],[8.4,58.3],[7.0,58.1],[5.7,58.6],[5.0,62.0],[10.5,64.5],[14.8,67.8],[19.2,69.8],[20.4,69.9],[20.4,64.0],[17.8,62.7]]],[[[12.6,38.1],[15.5,38.2],[15.1,36.6],[12.4,37.6],[12.6,38.1]]],[[[8.5,42.3],[9.4,43.0],[9.6,42.2],[9.2,41.4],[8.5,42.3]]],[[[10.9,55.8],[12.4,56.1],[12.7,55.6],[12.1,54.8],[10.9,55.8]]],[[[14.7,77.7],[11.2,78.9],[10.4,79.7],[17.0,80.1],[20.4,79.2],[20.4,78.8],[19.0,78.6],[17.1,76.8],[13.8,77.4],[14.7,77.7]]],[[[20.4,80.5],[20.4,79.8],[17.4,80.3],[20.4,80.5]]],[[[22.6,-70.7],[27.1,-70.5],[32.0,-69.7],[33.9,-68.5],[38.6,-69.8],[40.4,-69.3],[40.4,-90.0],[19.6,-90.0],[19.6,-70.0],[22.6,-70.7]]],[[[39.1,21.3],[38.5,23.7],[37.5,24.3],[35.1,28.1],[34.6,28.1],[34.9,29.5],[33.9,27.6],[32.4,29.9],[35.7,23.9],[35.5,23.1],[36.9,22.0],[37.5,18.6],[38.4,18.0],[39.3,15.9],[40.4,14.9],[40.4,-2.4],[39.2,-4.7],[38.8,-6.5],[39.4,-6.8],[39.2,-8.5],[40.4,-10.6],[40.4,-15.3],[39.5,-16.7],[37.4,-17.6],[34.8,-19.8],[35.6,-23.7],[32.6,-25.7],[32.9,-26.2],[32.2,-28.8],[28.2,-32.8],[25.8,-33.9],[22.6,-33.9],[19.6,-34.8],[19.6,30.6],[20.1,31.0],[20.1,32.2],[21.5,32.8],[28.9,30.9],[31.0,31.6],[32.0,30.9],[33.8,31.0],[34.6,31.5],[36.0,34.6],[36.2,36.7],[34.7,36.8],[32.5,36.1],[31.7,36.6],[29.7,36.1],[27.6,36.7],[26.3,38.2],[26.8,39.0],[26.2,39.5],[27.3,40.4],[28.8,40.5],[29.2,41.2],[31.1,41.1],[33.5,42.0],[35.2,42.0],[38.3,40.9],[40.4,41.0],[40.4,19.7],[39.1,21.3]]],[[[36.7,45.2],[38.2,46.2],[37.7,46.6],[39.1,47.3],[35.0,46.3],[35.0,45.7],[36.5,45.5],[36.3,45.1],[33.9,44.4],[33.3,44.6],[33.5,45.0],[32.5,45.3],[33.6,45.9],[33.3,46.1],[30.7,46.6],[29.6,45.0],[28.8,44.9],[27.7,42.6],[28.8,41.1],[27.6,41.0],[26.4,40.2],[26.1,40.8],[24.9,40.9],[23.7,40.7],[24.4,40.1],[23.9,40.0],[22.6,40.3],[24.0,37.7],[23.1,37.9],[23.4,37.4],[22.8,37.3],[23.2,36.4],[21.7,36.8],[21.1,38.3],[19.6,40.0],[19.6,54.4],[21.3,55.2],[21.1,56.8],[21.6,57.4],[22.5,57.8],[23.3,57.0],[24.1,57.0],[24.4,58.4],[23.4,58.6],[23.3,59.2],[28.0,59.5],[29.1,60.0],[28.1,60.5],[22.9,59.8],[21.3,60.7],[21.5,61.7],[21.1,62.6],[21.5,63.2],[25.4,65.1],[23.9,66.0],[22.2,65.7],[21.2,65.0],[21.4,64.4],[19.6,63.6],[19.6,69.9],[23.0,70.2],[24.5,71.0],[28.2,71.2],[31.3,70.5],[30.0,70.2],[31.1,69.6],[32.1,69.9],[36.5,69.1],[40.4,67.7],[40.4,66.6],[38.4,66.0],[33.2,66.6],[34.8,65.9],[34.9,64.4],[37.0,63.8],[36.5,64.8],[37.2,65.1],[39.6,64.5],[40.4,64.8],[40.4,43.2],[36.7,45.2]]],[[[39.8,65.5],[40.4,65.8],[40.4,64.8],[39.8,65.5]]],[[[32.3,35.1],[34.6,35.7],[33.0,34.6],[32.3,35.1]]],[[[23.5,35.3],[23.7,35.7],[26.3,35.3],[24.7,34.9],[23.5,35.3]]],[[[22.5,77.4],[20.7,77.7],[21.4,77.9],[20.8,78.3],[22.9,78.5],[24.7,77.9],[22.5,77.4]]],[[[21.5,79.0],[19.6,78.7],[19.6,79.4],[21.5,79.0]]],[[[22.9,80.7],[27.4,80.1],[23.0,79.4],[19.6,80.0],[19.6,80.5],[22.9,80.7]]],[[[54.5,-65.8],[56.4,-66.0],[58.7,-67.3],[60.4,-67.7],[60.4,-90.0],[39.6,-90.0],[39.6,-69.5],[54.5,-65.8]]],[[[47.1,-24.9],[45.4,-25.6],[44.0,-25.0],[43.3,-22.1],[44.4,-20.1],[44.0,-17.4],[44.4,-16.2],[46.3,-15.8],[47.7,-14.6],[49.2,-12.0],[50.5,-15.2],[50.2,-16.0],[49.7,-15.7],[49.9,-16.5],[47.1,-24.9]]],[[[57.4,25.7],[56.5,27.1],[54.7,26.5],[51.5,27.9],[50.1,30.1],[48.0,30.0],[48.8,27.7],[50.2,26.7],[50.8,24.8],[51.0,26.0],[51.6,25.8],[51.8,24.0],[54.0,24.1],[56.4,26.4],[56.8,24.2],[58.7,23.6],[59.8,22.3],[57.8,20.2],[57.7,18.9],[55.3,17.2],[52.4,16.4],[52.2,15.6],[48.7,14.0],[43.5,12.6],[42.6,15.2],[42.6,16.8],[39.6,20.7],[39.6,41.0],[40.4,41.0],[41.7,42.0],[41.5,42.6],[39.6,43.7],[39.6,64.5],[40.4,64.8],[39.8,65.5],[42.1,66.5],[43.9,66.1],[44.5,66.8],[43.7,67.4],[44.2,68.0],[43.5,68.6],[46.3,68.3],[46.8,67.7],[45.6,67.6],[45.6,67.0],[46.3,66.7],[53.7,68.9],[54.5,68.8],[53.5,68.2],[58.8,68.9],[59.9,68.3],[60.4,68.5],[60.4,25.3],[57.4,25.7]],[[49.2,37.6],[50.8,36.9],[53.8,37.0],[53.9,39.0],[53.1,39.3],[53.4,40.0],[52.7,40.0],[52.9,40.9],[54.7,41.0],[53.7,42.1],[52.9,41.9],[52.8,41.1],[52.5,42.8],[51.3,43.1],[50.3,44.6],[51.3,44.5],[51.3,45.2],[53.0,45.3],[53.0,46.9],[51.2,47.0],[49.1,46.4],[46.7,44.6],[47.6,43.7],[47.5,43.0],[50.4,40.3],[49.6,40.2],[48.9,38.8],[49.2,37.6]]],[[[43.3,12.4],[42.7,11.7],[44.6,10.4],[51.1,12.0],[51.0,10.6],[47.7,4.2],[40.3,-2.6],[39.6,-3.9],[39.6,15.6],[43.3,12.4]]],[[[40.5,-10.8],[40.8,-14.7],[39.6,-16.5],[39.6,-9.2],[40.5,-10.8]]],[[[41.1,67.5],[41.1,66.8],[39.6,66.4],[39.6,68.0],[41.1,67.5]]],[[[60.0,69.5],[60.4,69.8],[60.4,69.3],[60.0,69.5]]],[[[54.4,73.6],[53.5,73.7],[55.9,74.6],[55.6,75.1],[60.4,76.0],[60.4,74.7],[58.5,74.3],[55.4,72.4],[55.6,71.5],[57.5,70.7],[53.7,70.8],[51.6,71.5],[51.5,72.0],[52.5,72.2],[52.4,72.8],[54.4,73.6]]],[[[50.0,80.9],[51.5,80.7],[47.6,80.0],[46.5,80.2],[47.1,80.6],[44.8,80.6],[50.0,80.9]]],[[[61.4,-68.0],[64.1,-67.4],[68.9,-67.9],[69.7,-69.2],[67.8,-70.3],[69.1,-70.7],[67.9,-71.9],[69.9,-72.3],[71.0,-72.1],[73.9,-69.9],[77.6,-69.5],[79.1,-68.3],[80.4,-67.9],[80.4,-90.0],[59.6,-90.0],[59.6,-67.5],[61.4,-68.0]]],[[[70.3,-49.7],[68.7,-49.8],[68.9,-48.6],[70.6,-49.3],[70.3,-49.7]]],[[[80.3,6.0],[79.7,8.2],[80.1,9.8],[80.4,9.5],[80.3,6.0]]],[[[80.3,15.9],[79.9,10.4],[77.5,8.0],[76.6,8.9],[73.5,16.0],[72.6,21.4],[70.5,20.9],[69.2,22.1],[69.6,22.5],[69.3,22.8],[67.4,23.9],[66.4,25.4],[61.5,25.1],[59.6,25.4],[59.6,68.5],[59.9,68.3],[61.1,68.9],[60.0,69.5],[60.6,69.9],[68.5,68.1],[69.2,68.6],[66.9,69.5],[67.3,69.9],[66.7,71.0],[69.9,73.0],[72.6,72.8],[72.8,72.2],[71.8,71.4],[72.8,70.4],[72.6,69.0],[73.7,68.4],[71.3,66.3],[72.4,66.2],[75.1,67.8],[74.5,68.3],[74.9,69.0],[73.8,69.1],[73.6,69.6],[74.4,70.6],[73.1,71.4],[74.9,72.1],[74.7,72.8],[75.7,72.3],[75.3,71.3],[76.4,71.2],[75.9,71.9],[77.6,72.3],[80.4,71.9],[80.3,15.9]]],[[[59.8,22.3],[59.6,22.1],[59.6,22.6],[59.8,22.3]]],[[[66.2,76.8],[68.9,76.5],[59.6,74.6],[59.6,75.9],[66.2,76.8]]],[[[82.8,-67.2],[86.8,-67.2],[88.0,-66.2],[89.7,-67.2],[95.8,-67.4],[99.7,-67.2],[100.4,-66.9],[100.4,-90.0],[79.6,-90.0],[79.6,-68.2],[82.8,-67.2]]],[[[98.6,1.8],[95.3,5.5],[97.5,5.2],[100.4,2.3],[100.4,-0.9],[98.6,1.8]]],[[[81.6,6.5],[80.3,6.0],[79.7,8.2],[80.1,9.8],[81.8,7.5],[81.6,6.5]]],[[[100.1,13.4],[99.2,9.2],[99.9,9.2],[100.4,7.6],[100.4,5.6],[100.1,6.5],[98.5,8.4],[98.3,7.8],[98.8,11.4],[97.2,16.9],[95.4,15.7],[94.2,16.0],[94.3,18.2],[91.4,22.8],[90.5,22.8],[90.3,21.8],[87.0,21.5],[86.5,20.2],[85.1,19.5],[82.2,16.6],[80.3,15.9],[79.9,10.4],[79.6,10.1],[79.6,72.0],[81.5,71.8],[80.6,72.6],[80.5,73.6],[86.8,73.9],[86.0,74.5],[87.2,75.1],[100.4,76.4],[100.4,13.4],[100.1,13.4]]],[[[100.4,78.4],[100.4,78.0],[99.4,77.9],[100.4,78.4]]],[[[100.2,79.8],[99.9,78.9],[95.0,79.0],[91.2,80.3],[95.9,81.3],[100.2,79.8]]],[[[99.7,-67.2],[102.8,-65.6],[106.2,-66.9],[113.6,-65.9],[115.6,-66.7],[120.4,-67.1],[120.4,-90.0],[99.6,-90.0],[99.7,-67.2]]],[[[119.0,-9.6],[119.9,-9.4],[120.4,-9.7],[120.4,-10.2],[119.0,-9.6]]],[[[117.9,-8.1],[119.1,-8.7],[116.7,-9.0],[117.9,-8.1]]],[[[119.9,-8.8],[120.4,-8.5],[120.4,-8.8],[119.9,-8.8]]],[[[108.3,-7.8],[105.4,-6.9],[106.1,-5.9],[108.6,-6.8],[110.5,-6.9],[110.8,-6.5],[115.7,-8.4],[114.6,-8.8],[108.3,-7.8]]],[[[120.4,-0.9],[120.4,-5.5],[119.4,-5.4],[119.5,-3.5],[118.8,-2.8],[119.8,0.2],[120.4,0.8],[120.0,-0.5],[120.4,-0.9]]],[[[99.6,0.3],[99.6,3.1],[100.6,2.1],[101.7,2.1],[103.8,0.1],[103.4,-0.7],[106.1,-3.1],[105.8,-5.9],[104.7,-5.9],[102.6,-4.2],[99.6,0.3]]],[[[116.0,-3.7],[114.9,-4.1],[113.3,-3.1],[112.1,-3.5],[111.7,-3.0],[110.2,-2.9],[109.0,0.4],[109.7,2.0],[111.2,1.9],[111.4,2.7],[113.0,3.1],[117.1,6.9],[117.7,6.0],[119.2,5.4],[117.3,3.2],[117.9,1.8],[119.0,0.9],[117.8,0.8],[117.5,-0.8],[116.6,-1.5],[116.1,-4.0],[116.0,-3.7]]],[[[119.7,10.6],[117.2,8.4],[119.5,11.4],[119.7,10.6]]],[[[120.1,15.0],[119.9,16.4],[120.3,16.0],[120.4,16.7],[120.4,14.8],[120.1,15.0]]],[[[109.5,18.2],[108.7,18.5],[109.1,19.8],[110.8,20.1],[111.0,19.7],[109.5,18.2]]],[[[109.4,74.2],[113.0,74.0],[113.5,73.3],[115.6,73.8],[120.4,73.3],[120.4,40.1],[117.5,38.7],[118.9,37.4],[119.7,37.2],[120.4,37.6],[120.4,36.0],[119.2,34.9],[120.4,34.1],[120.4,27.1],[118.7,24.5],[115.9,22.8],[110.8,21.4],[110.4,20.3],[109.9,20.3],[109.9,21.4],[108.5,21.7],[105.9,19.8],[105.7,19.1],[108.9,15.3],[109.3,13.4],[109.2,11.7],[105.2,8.6],[105.1,9.9],[103.5,10.6],[102.6,12.2],[100.8,12.6],[101.0,13.4],[100.1,13.4],[99.6,11.0],[99.6,76.3],[100.8,76.4],[102.0,77.3],[104.4,77.7],[106.1,77.4],[104.7,77.1],[107.0,77.0],[107.2,76.5],[111.1,76.7],[114.1,75.8],[109.4,74.2]]],[[[99.9,9.2],[100.5,7.4],[103.0,5.5],[104.2,1.3],[103.5,1.2],[101.4,2.8],[100.1,6.5],[99.6,7.1],[99.6,9.2],[99.9,9.2]]],[[[120.1,23.6],[120.4,23.9],[120.4,22.8],[120.1,23.6]]],[[[102.1,79.3],[105.4,78.7],[105.1,78.3],[99.6,77.9],[102.1,79.3]]],[[[100.2,79.8],[99.9,78.9],[99.6,78.9],[99.6,80.0],[100.2,79.8]]],[[[119.9,-34.0],[118.0,-35.1],[116.6,-35.0],[115.0,-34.2],[115.8,-32.2],[113.3,-26.1],[113.8,-26.5],[113.4,-25.6],[114.2,-26.3],[113.4,-24.4],[114.1,-21.8],[114.2,-22.5],[116.7,-20.7],[120.4,-19.8],[120.4,-34.0],[119.9,-34.0]]],[[[119.6,-67.2],[123.2,-66.5],[128.8,-66.8],[134.8,-66.2],[135.1,-65.3],[137.5,-67.0],[140.4,-66.9],[140.4,-90.0],[119.6,-90.0],[119.6,-67.2]]],[[[119.6,-9.9],[119.6,-9.4],[119.9,-9.4],[120.8,-10.0],[120.3,-10.3],[119.6,-9.9]]],[[[122.9,-8.1],[122.8,-8.6],[119.9,-8.8],[120.7,-8.2],[122.9,-8.1]]],[[[123.3,-0.6],[121.5,-1.9],[123.2,-4.7],[122.6,-5.6],[122.2,-5.3],[122.7,-4.5],[121.7,-4.9],[120.9,-3.6],[121.0,-2.6],[120.3,-2.9],[120.4,-5.5],[119.6,-5.4],[119.6,-0.5],[119.8,0.2],[120.9,1.3],[122.9,0.9],[125.2,1.4],[123.7,0.2],[120.2,0.2],[120.0,-0.5],[120.9,-1.4],[123.3,-0.6]]],[[[124.2,6.2],[124.2,7.4],[123.6,7.8],[121.9,7.2],[123.5,8.7],[123.8,8.2],[125.5,9.0],[125.4,9.8],[126.2,9.3],[126.5,7.2],[126.2,6.3],[125.8,7.3],[125.4,6.8],[125.4,5.6],[124.2,6.2]]],[[[123.5,10.9],[123.3,10.3],[124.1,11.2],[123.0,9.0],[122.4,9.7],[122.9,10.9],[123.5,10.9]]],[[[121.9,11.9],[123.1,11.6],[122.0,10.4],[121.9,11.9]]],[[[124.3,11.5],[124.9,11.8],[124.3,12.6],[125.2,12.5],[125.8,11.0],[125.0,11.3],[125.3,10.4],[124.8,10.1],[124.3,11.5]]],[[[120.3,13.5],[121.5,13.1],[121.3,12.2],[120.3,13.5]]],[[[121.7,14.3],[124.0,13.8],[124.1,12.5],[122.9,13.6],[122.7,13.2],[122.0,13.8],[120.6,13.9],[121.0,14.5],[120.1,15.0],[119.9,16.4],[120.3,16.0],[120.7,18.5],[122.2,18.5],[122.5,17.1],[121.7,15.9],[121.7,14.3]]],[[[123.2,73.0],[123.3,73.7],[127.0,73.6],[128.6,73.0],[129.1,72.4],[128.5,72.0],[131.3,70.8],[132.3,71.8],[133.9,71.4],[139.9,71.5],[139.1,72.4],[140.4,72.8],[140.4,57.9],[135.1,54.7],[136.7,54.6],[138.2,53.8],[139.9,54.2],[140.4,53.8],[140.4,50.2],[140.1,48.4],[138.2,46.3],[134.9,43.4],[133.5,42.8],[132.3,43.3],[130.0,41.9],[129.7,40.9],[127.5,39.8],[127.4,39.2],[129.5,36.8],[129.1,35.1],[126.5,34.4],[126.1,36.7],[126.9,36.9],[126.2,37.7],[124.7,38.1],[125.3,39.6],[124.3,39.9],[121.1,38.9],[122.2,40.4],[121.6,40.9],[119.6,39.6],[119.6,73.3],[123.2,73.0]]],[[[119.7,37.2],[120.8,37.9],[122.4,37.5],[122.5,36.9],[121.1,36.7],[119.6,35.3],[119.7,37.2]]],[[[120.2,34.4],[121.9,31.7],[121.9,30.9],[121.3,30.7],[122.1,29.8],[121.7,28.2],[121.1,28.1],[119.6,25.9],[119.6,34.7],[120.2,34.4]]],[[[121.8,24.4],[120.7,22.0],[120.1,23.6],[121.5,25.3],[121.8,24.4]]],[[[139.6,-36.1],[138.1,-35.6],[138.2,-34.4],[136.8,-35.3],[137.9,-33.6],[137.8,-32.9],[136.0,-34.9],[135.2,-34.5],[134.3,-32.6],[131.3,-31.5],[126.1,-32.2],[124.2,-33.0],[123.7,-33.9],[119.6,-34.1],[119.6,-20.0],[120.9,-19.7],[123.0,-16.4],[123.4,-17.3],[123.9,-17.1],[123.5,-16.6],[123.8,-16.1],[124.3,-16.3],[125.7,-14.2],[127.1,-13.8],[128.4,-14.9],[129.6,-15.0],[129.4,-14.4],[130.6,-12.5],[132.6,-12.1],[131.8,-11.3],[132.4,-11.1],[135.3,-12.2],[136.5,-11.9],[137.0,-12.4],[136.0,-13.3],[135.5,-15.0],[140.2,-17.7],[140.4,-17.5],[140.4,-37.6],[139.6,-36.1]]],[[[127.3,-8.4],[123.5,-10.2],[124.0,-9.3],[127.3,-8.4]]],[[[134.1,-6.1],[134.5,-5.4],[134.7,-6.2],[134.2,-6.9],[134.1,-6.1]]],[[[140.4,-2.6],[140.4,-8.5],[139.1,-8.1],[137.6,-8.4],[138.7,-7.3],[137.9,-5.4],[133.7,-3.5],[133.0,-4.1],[132.0,-2.8],[133.7,-2.2],[132.2,-2.2],[130.5,-0.9],[132.4,-0.4],[134.0,-0.8],[134.4,-2.8],[135.5,-3.4],[137.4,-1.7],[140.4,-2.6]]],[[[126.0,-3.2],[127.2,-3.5],[126.9,-3.8],[126.0,-3.2]]],[[[130.5,-3.1],[130.8,-3.9],[127.9,-3.4],[128.1,-2.8],[130.5,-3.1]]],[[[127.9,2.2],[128.6,1.5],[128.6,0.3],[128.1,0.4],[128.0,-0.3],[128.4,-0.8],[127.7,-0.3],[127.4,1.0],[127.9,2.2]]],[[[133.9,34.4],[134.8,33.8],[134.2,33.2],[133.3,33.3],[133.0,32.7],[132.4,33.5],[133.9,34.4]]],[[[135.1,34.6],[131.0,33.9],[132.0,33.1],[130.7,31.0],[130.2,31.4],[130.4,32.3],[129.4,33.3],[132.6,35.4],[135.7,35.5],[136.7,37.3],[137.4,36.8],[139.4,38.2],[140.1,39.4],[139.9,40.6],[140.4,41.2],[140.3,35.1],[137.2,34.6],[135.8,33.5],[135.1,33.8],[135.1,34.6]]],[[[140.0,41.6],[139.8,42.6],[140.4,43.3],[140.4,41.6],[140.0,41.6]]],[[[139.9,73.4],[140.4,73.5],[140.4,73.3],[139.9,73.4]]],[[[140.4,75.8],[140.4,74.7],[139.0,74.6],[137.0,75.3],[137.5,75.9],[140.4,75.8]]],[[[145.5,-66.9],[146.6,-67.9],[152.5,-68.9],[154.3,-68.6],[160.4,-70.3],[160.4,-80.4],[159.8,-80.9],[160.4,-81.1],[160.4,-90.0],[139.6,-90.0],[139.6,-66.9],[145.5,-66.9]]],[[[139.9,71.5],[139.6,72.6],[140.5,72.8],[149.5,72.2],[153.0,70.8],[159.0,70.9],[159.8,70.5],[159.7,69.7],[160.4,69.6],[160.4,60.7],[160.1,60.5],[159.3,61.8],[156.7,61.4],[154.2,59.8],[155.0,59.1],[151.3,58.8],[151.3,59.5],[149.8,59.7],[148.5,59.2],[142.2,59.0],[139.6,57.5],[139.6,71.5],[139.9,71.5]]],[[[160.4,54.3],[160.0,53.2],[158.5,53.0],[158.2,51.9],[156.8,51.0],[155.4,55.4],[155.9,56.8],[156.8,57.8],[158.4,58.1],[160.4,59.2],[160.4,54.3]]],[[[139.9,54.2],[141.3,53.1],[141.4,52.2],[140.6,51.2],[140.1,48.4],[139.6,47.9],[139.6,54.1],[139.9,54.2]]],[[[146.0,-43.5],[144.7,-40.7],[146.4,-41.1],[148.3,-40.9],[147.9,-43.2],[146.0,-43.5]]],[[[146.4,-19.0],[148.8,-20.4],[149.7,-22.3],[150.7,-22.4],[150.9,-23.5],[152.9,-25.3],[153.6,-28.1],[152.9,-31.6],[149.4,-37.8],[148.3,-37.8],[146.3,-39.0],[144.9,-38.4],[145.0,-37.9],[143.6,-38.8],[140.6,-38.0],[139.6,-36.2],[139.6,-17.4],[140.2,-17.7],[141.3,-16.4],[141.7,-12.4],[142.5,-10.7],[143.9,-14.5],[144.6,-14.2],[145.4,-15.0],[146.4,-19.0]]],[[[159.8,-9.8],[159.7,-9.2],[160.4,-9.4],[160.4,-9.8],[159.8,-9.8]]],[[[159.9,-8.5],[158.2,-7.4],[158.4,-7.3],[159.9,-8.5]]],[[[156.5,-6.8],[156.5,-6.6],[157.5,-7.3],[156.5,-6.8]]],[[[156.0,-6.5],[155.9,-6.8],[155.2,-6.5],[154.5,-5.1],[156.0,-6.5]]],[[[144.6,-3.9],[146.0,-5.5],[147.6,-6.1],[147.9,-6.6],[147.0,-6.7],[147.2,-7.4],[150.7,-10.6],[147.9,-10.1],[146.0,-8.1],[144.7,-7.6],[143.3,-8.2],[143.4,-9.0],[142.6,-9.3],[139.6,-8.3],[139.6,-2.4],[144.6,-3.9]]],[[[149.8,-5.5],[150.1,-5.0],[150.2,-5.5],[150.8,-5.5],[151.6,-4.8],[151.5,-4.2],[152.3,-4.3],[152.0,-5.5],[150.2,-6.3],[148.3,-5.7],[149.8,-5.5]]],[[[152.2,-3.2],[153.1,-4.5],[152.8,-4.8],[152.4,-3.8],[150.7,-2.7],[152.2,-3.2]]],[[[140.1,39.4],[139.9,40.6],[140.3,41.2],[141.4,41.4],[141.9,39.2],[141.0,38.2],[140.3,35.1],[139.6,35.0],[139.6,38.6],[140.1,39.4]]],[[[140.0,41.6],[139.8,42.6],[140.3,43.3],[141.4,43.4],[142.0,45.6],[143.9,44.2],[145.3,44.4],[145.5,43.3],[144.1,43.0],[143.2,42.0],[141.6,42.7],[141.1,41.6],[140.0,41.6]]],[[[142.2,51.0],[141.6,51.9],[141.7,53.3],[142.6,53.8],[142.2,54.2],[142.7,54.4],[143.2,51.8],[144.7,49.0],[143.2,49.3],[142.6,47.9],[143.5,46.8],[143.5,46.1],[142.7,46.7],[142.1,46.0],[142.2,51.0]]],[[[143.6,73.2],[139.9,73.4],[142.1,73.9],[143.6,73.2]]],[[[148.0,74.8],[146.1,75.2],[150.7,75.1],[148.0,74.8]]],[[[145.1,75.6],[144.3,74.8],[139.6,74.6],[139.6,75.8],[145.1,75.6]]],[[[161.6,-70.6],[167.3,-70.8],[171.2,-71.7],[169.3,-73.7],[166.1,-74.4],[163.6,-76.2],[163.5,-77.1],[164.7,-78.2],[167.0,-78.8],[161.8,-79.2],[159.8,-80.9],[169.4,-83.8],[180.0,-84.7],[180.0,-90.0],[159.6,-90.0],[159.6,-70.0],[161.6,-70.6]]],[[[159.8,70.5],[159.7,69.7],[160.9,69.4],[167.8,69.6],[169.6,68.7],[170.8,69.0],[170.0,69.7],[170.5,70.1],[175.7,69.9],[180.0,69.0],[180.0,65.0],[177.4,64.6],[179.4,63.0],[179.2,62.3],[177.4,62.5],[173.7,61.7],[170.3,59.9],[168.9,60.6],[166.3,59.8],[165.8,60.2],[163.5,59.9],[162.0,58.2],[163.2,57.6],[163.1,56.2],[162.1,56.1],[161.7,55.3],[162.1,54.9],[160.4,54.3],[160.0,53.2],[159.6,53.1],[159.6,58.8],[163.7,61.1],[164.5,62.6],[163.3,62.5],[162.7,61.6],[160.1,60.5],[159.6,61.3],[159.6,70.6],[159.8,70.5]]],[[[173.1,-43.9],[171.5,-44.2],[170.6,-45.9],[169.3,-46.6],[166.5,-45.9],[168.3,-44.1],[170.5,-43.0],[172.8,-40.5],[173.2,-41.3],[174.0,-40.9],[174.2,-41.8],[172.7,-43.4],[173.1,-43.9]]],[[[178.5,-37.7],[178.0,-39.2],[177.2,-39.1],[176.0,-41.3],[175.2,-41.7],[174.7,-41.3],[175.2,-40.5],[174.9,-39.9],[173.8,-39.5],[174.6,-38.8],[174.7,-37.4],[172.6,-34.5],[174.3,-35.3],[175.3,-37.2],[175.4,-36.5],[176.8,-37.9],[178.5,-37.7]]],[[[165.0,-20.5],[167.1,-22.2],[165.5,-21.7],[164.0,-20.1],[165.0,-20.5]]],[[[178.7,-17.6],[178.6,-18.2],[177.4,-18.2],[177.7,-17.4],[178.7,-17.6]]],[[[178.6,-16.6],[180.0,-16.1],[180.0,-16.6],[178.6,-16.6]]],[[[167.8,-16.5],[167.5,-16.6],[167.2,-15.9],[167.8,-16.5]]],[[[166.8,-15.7],[166.6,-14.6],[167.1,-14.9],[167.3,-15.7],[166.8,-15.7]]],[[[161.3,-10.2],[162.4,-10.8],[161.7,-10.8],[161.3,-10.2]]],[[[159.8,-9.8],[159.7,-9.2],[160.9,-9.9],[159.8,-9.8]]],[[[161.5,-9.8],[160.6,-8.3],[160.9,-8.3],[161.5,-9.8]]],[[[180.0,70.8],[178.7,71.1],[180.0,71.5],[180.0,70.8]]]];
const LAND_COAST = [[[[-163.1,-78.2],[-160.2,-78.7],[-159.2,-79.5],[-162.4,-79.3],[-163.7,-78.6],[-163.1,-78.2]]],[[[-122.6,-73.7],[-122.4,-73.3],[-118.7,-73.5],[-120.2,-74.1],[-122.6,-73.7]]],[[[-126.6,-73.2],[-124.0,-73.9],[-127.3,-73.5],[-126.6,-73.2]]],[[[-100.8,-72.5],[-102.3,-71.9],[-96.8,-72.0],[-96.2,-72.5],[-100.8,-72.5]]],[[[-85.6,68.8],[-85.5,69.9],[-81.3,69.2],[-82.0,68.1],[-81.3,67.6],[-81.4,67.1],[-83.3,66.4],[-85.8,66.6],[-87.3,64.8],[-89.9,64.0],[-90.7,63.6],[-90.8,63.0],[-93.2,62.0],[-94.2,60.9],[-94.7,58.9],[-93.2,58.8],[-92.3,57.1],[-90.9,57.3],[-85.0,55.3],[-82.3,55.1],[-82.1,53.3],[-79.9,51.2],[-78.6,52.6],[-79.8,54.7],[-78.2,55.1],[-76.5,56.5],[-77.3,58.1],[-78.5,58.8],[-77.3,59.9],[-78.1,62.3],[-73.8,62.4],[-71.4,61.1],[-69.6,61.1],[-69.3,59.0],[-67.6,58.2],[-66.2,58.8],[-64.6,60.3],[-61.4,57.0],[-61.8,56.3],[-57.3,54.6],[-56.9,53.8],[-55.8,53.3],[-55.7,52.1],[-60.0,50.2],[-66.4,50.2],[-71.1,46.8],[-68.7,48.3],[-65.1,49.2],[-64.2,48.7],[-65.1,48.1],[-64.5,46.2],[-63.2,45.7],[-61.5,45.9],[-60.5,47.0],[-59.8,45.9],[-65.4,43.5],[-66.1,43.6],[-66.2,44.5],[-64.4,45.3],[-67.1,45.1],[-67.0,44.8],[-70.7,43.0],[-70.8,42.3],[-70.0,41.6],[-73.7,40.9],[-71.9,40.9],[-74.0,40.8],[-74.9,38.9],[-75.5,39.5],[-75.1,38.4],[-75.9,37.2],[-75.7,37.9],[-76.3,39.2],[-76.3,38.1],[-77.0,38.2],[-76.3,37.9],[-75.7,35.6],[-81.3,31.4],[-81.3,30.0],[-80.1,26.9],[-80.4,25.2],[-81.2,25.2],[-81.7,25.9],[-82.9,27.9],[-82.9,29.1],[-84.1,30.1],[-85.1,29.6],[-86.4,30.4],[-89.2,30.3],[-89.6,30.2],[-89.2,29.3],[-90.2,29.1],[-93.8,29.7],[-97.4,27.4],[-97.1,25.9],[-97.9,22.4],[-97.2,20.6],[-95.9,18.8],[-94.4,18.1],[-90.8,19.3],[-90.3,21.0],[-87.1,21.5],[-86.8,20.8],[-87.8,18.3],[-88.3,18.5],[-88.4,16.5],[-88.9,15.9],[-85.0,16.0],[-83.4,15.3],[-83.8,11.1],[-82.2,9.0],[-80.9,8.9],[-79.6,9.6],[-76.8,8.6],[-75.7,9.4],[-74.9,11.1],[-73.4,11.2],[-71.8,12.4],[-71.1,12.1],[-71.9,11.4],[-71.7,9.1],[-71.0,9.9],[-71.4,11.0],[-70.2,11.4],[-69.9,12.2],[-68.2,10.6],[-66.2,10.6],[-64.9,10.1],[-64.3,10.6],[-61.9,10.7],[-62.7,10.4],[-62.4,9.9],[-60.8,9.4],[-60.7,8.6],[-59.1,8.0],[-57.1,6.0],[-54.0,5.8],[-51.3,4.2],[-50.5,1.9],[-50.0,1.7],[-50.7,0.2],[-50.4,-0.1],[-48.6,-0.2],[-48.6,-1.2],[-47.8,-0.6],[-44.9,-1.6],[-44.6,-2.7],[-43.4,-2.4],[-40.0,-2.9],[-37.2,-4.8],[-35.6,-5.1],[-34.7,-7.3],[-35.1,-9.0],[-38.7,-13.1],[-39.3,-17.9],[-40.9,-21.9],[-42.0,-23.0],[-44.6,-23.4],[-47.6,-24.9],[-48.5,-25.9],[-48.9,-28.7],[-53.8,-34.4],[-56.2,-34.9],[-58.4,-33.9],[-58.5,-34.4],[-57.2,-35.3],[-56.8,-36.9],[-57.7,-38.2],[-59.2,-38.7],[-62.3,-38.8],[-62.1,-40.7],[-62.7,-41.0],[-65.1,-41.1],[-65.0,-42.1],[-63.8,-42.0],[-63.5,-42.6],[-65.2,-43.5],[-65.6,-45.0],[-67.3,-45.6],[-67.6,-46.3],[-65.6,-47.2],[-66.0,-48.1],[-69.1,-50.7],[-68.2,-52.3],[-69.5,-52.3],[-70.8,-52.9],[-71.0,-53.8],[-74.9,-52.3],[-75.6,-48.7],[-74.1,-46.9],[-75.6,-46.6],[-74.7,-45.8],[-74.4,-44.1],[-73.2,-44.5],[-72.7,-42.4],[-73.4,-42.1],[-73.7,-43.4],[-74.3,-43.2],[-73.2,-39.3],[-73.6,-37.2],[-73.2,-37.1],[-71.4,-32.4],[-71.5,-28.9],[-70.9,-27.6],[-70.2,-19.8],[-70.4,-18.3],[-71.5,-17.4],[-76.0,-14.6],[-79.8,-7.2],[-81.2,-6.1],[-80.9,-5.7],[-81.4,-4.7],[-79.8,-2.7],[-81.0,-2.2],[-80.9,-1.1],[-80.1,0.8],[-78.9,1.4],[-78.4,2.6],[-77.1,3.8],[-78.2,8.3],[-79.6,8.9],[-80.5,8.1],[-80.0,7.5],[-80.9,7.2],[-81.1,7.8],[-83.5,8.4],[-85.0,10.1],[-85.1,9.6],[-85.7,9.9],[-85.7,11.1],[-87.7,12.9],[-87.5,13.3],[-91.2,13.9],[-94.7,16.2],[-96.6,15.7],[-103.5,18.3],[-105.5,19.9],[-105.3,21.4],[-106.0,22.8],[-112.2,29.0],[-113.1,31.2],[-114.8,31.8],[-114.7,30.2],[-109.4,23.2],[-110.0,22.8],[-112.2,24.7],[-112.3,26.0],[-115.1,27.7],[-114.2,28.6],[-115.5,29.6],[-117.3,33.0],[-118.5,34.0],[-120.6,34.6],[-124.4,40.3],[-124.5,42.8],[-123.9,45.5],[-124.7,48.2],[-123.1,48.0],[-122.6,47.1],[-122.8,49.0],[-125.6,50.4],[-127.4,50.8],[-127.9,52.3],[-129.1,52.8],[-129.3,53.6],[-132.0,55.5],[-134.1,58.1],[-136.6,58.2],[-139.9,59.5],[-147.1,60.9],[-148.2,60.7],[-148.0,60.0],[-151.7,59.2],[-151.4,60.7],[-150.3,61.0],[-150.6,61.3],[-154.0,59.4],[-153.3,58.9],[-154.2,58.1],[-158.4,56.0],[-164.8,54.4],[-157.7,57.6],[-157.0,58.9],[-159.1,58.4],[-160.4,59.1],[-162.0,58.7],[-161.9,59.6],[-163.8,59.8],[-166.1,61.5],[-164.6,63.1],[-160.8,63.8],[-161.5,64.4],[-160.8,64.8],[-165.0,64.4],[-168.1,65.7],[-164.5,66.6],[-163.7,66.6],[-163.8,66.1],[-161.7,66.1],[-166.8,68.4],[-166.2,68.9],[-163.2,69.4],[-161.9,70.3],[-156.6,71.4],[-154.3,70.7],[-143.6,70.2],[-136.5,68.9],[-129.8,70.2],[-129.1,69.8],[-128.1,70.5],[-125.8,69.5],[-124.4,70.2],[-124.3,69.4],[-121.5,69.8],[-113.9,68.4],[-115.3,67.9],[-109.9,68.0],[-108.9,67.4],[-107.8,67.9],[-108.8,68.3],[-108.2,68.7],[-106.2,68.8],[-101.5,67.6],[-98.4,67.8],[-98.6,68.4],[-97.7,68.6],[-96.1,68.2],[-96.1,67.3],[-95.5,68.1],[-94.7,68.1],[-94.2,69.1],[-96.5,70.1],[-96.4,71.2],[-95.2,71.9],[-92.9,71.3],[-91.5,70.2],[-92.4,69.7],[-90.5,69.5],[-90.6,68.5],[-89.2,69.3],[-88.0,68.6],[-88.3,67.9],[-87.4,67.2],[-85.6,68.8]]],[[[-155.9,20.2],[-155.2,20.0],[-154.8,19.5],[-155.9,19.1],[-155.9,20.2]]],[[[-156.0,20.8],[-156.4,20.6],[-156.7,20.9],[-156.6,21.0],[-156.0,20.8]]],[[[-128.4,50.5],[-125.8,50.3],[-123.5,48.5],[-125.7,48.8],[-128.4,50.5]]],[[[-133.1,53.4],[-133.2,54.2],[-131.7,54.1],[-132.0,53.0],[-131.2,52.2],[-133.1,53.4]]],[[[-152.1,57.6],[-154.0,56.7],[-154.7,57.5],[-153.2,58.0],[-152.1,57.6]]],[[[-166.2,59.8],[-166.8,59.9],[-167.5,60.2],[-165.7,60.3],[-166.2,59.8]]],[[[-168.7,63.3],[-171.8,63.4],[-171.7,63.8],[-168.7,63.3]]],[[[-172.6,64.5],[-173.9,64.3],[-176.2,65.4],[-178.4,65.4],[-178.9,65.7],[-178.7,66.1],[-179.9,65.9],[-179.4,65.4],[-180.0,65.0],[-180.0,69.0],[-174.9,67.2],[-175.0,66.6],[-174.3,66.3],[-174.6,67.1],[-171.9,66.9],[-169.9,66.0],[-172.5,65.4],[-172.6,64.5]]],[[[-98.2,70.1],[-95.6,69.1],[-96.3,68.8],[-99.8,69.4],[-98.2,70.1]]],[[[-107.7,72.1],[-108.4,73.1],[-105.4,72.7],[-104.5,71.0],[-101.0,70.0],[-101.1,69.6],[-102.7,69.5],[-102.1,69.1],[-102.4,68.8],[-106.0,69.2],[-113.3,68.5],[-117.3,70.0],[-112.4,70.4],[-117.9,70.5],[-118.4,70.9],[-116.1,71.3],[-119.4,71.6],[-117.9,72.7],[-115.2,73.3],[-114.2,73.1],[-114.7,72.7],[-112.4,73.0],[-111.1,72.5],[-109.9,73.0],[-108.2,71.7],[-107.7,72.1]]],[[[-177.6,71.3],[-180.0,70.8],[-180.0,71.5],[-177.6,71.3]]],[[[-98.4,71.3],[-102.5,72.5],[-102.5,72.8],[-100.4,72.7],[-101.5,73.4],[-100.4,73.8],[-97.4,73.8],[-97.1,73.5],[-98.1,73.0],[-96.5,72.6],[-96.7,71.7],[-98.4,71.3]]],[[[-124.9,74.3],[-117.6,74.2],[-115.5,73.5],[-119.2,72.5],[-120.5,71.4],[-123.1,70.9],[-125.9,71.9],[-123.9,73.7],[-124.9,74.3]]],[[[-106.9,73.5],[-105.3,73.6],[-104.5,73.4],[-105.4,72.8],[-106.9,73.5]]],[[[-93.6,75.0],[-94.2,74.6],[-96.8,74.9],[-94.9,75.6],[-93.6,75.0]]],[[[-112.2,74.4],[-113.9,74.7],[-111.8,75.2],[-117.7,75.2],[-115.4,76.5],[-109.1,75.5],[-110.5,76.4],[-109.6,76.8],[-108.5,76.7],[-107.8,75.8],[-105.9,76.0],[-105.7,75.5],[-106.3,75.0],[-112.2,74.4]]],[[[-102.5,75.6],[-102.6,76.3],[-98.5,76.7],[-97.7,76.3],[-98.2,75.0],[-102.5,75.6]]],[[[-122.9,76.1],[-119.1,77.5],[-116.2,77.6],[-116.3,76.9],[-117.1,76.5],[-122.9,76.1]]],[[[-93.7,77.6],[-96.2,77.6],[-96.4,77.8],[-93.7,77.6]]],[[[-110.2,77.7],[-113.5,77.7],[-109.9,78.0],[-110.2,77.7]]],[[[-95.6,78.4],[-97.3,77.9],[-98.6,78.9],[-96.8,78.8],[-95.6,78.4]]],[[[-105.5,79.3],[-100.8,78.8],[-99.7,77.9],[-105.2,78.4],[-104.2,78.7],[-105.5,79.3]]],[[[-109.7,78.6],[-112.5,78.4],[-111.5,78.8],[-109.7,78.6]]],[[[-66.3,-80.3],[-61.9,-80.4],[-60.6,-79.6],[-59.6,-80.0],[-60.2,-81.0],[-64.5,-80.9],[-66.3,-80.3]]],[[[-43.3,-80.0],[-52.9,-81.0],[-54.2,-80.6],[-51.0,-79.6],[-48.7,-78.0],[-45.2,-78.0],[-43.5,-79.1],[-43.3,-80.0]]],[[[-62.6,-65.5],[-62.1,-66.2],[-63.7,-66.5],[-65.7,-68.0],[-63.2,-69.2],[-61.8,-70.7],[-60.8,-73.7],[-64.4,-75.3],[-70.6,-76.6],[-77.2,-76.7],[-73.7,-77.9],[-77.9,-78.4],[-78.0,-79.2],[-75.4,-80.3],[-59.7,-82.4],[-58.2,-83.2],[-49.8,-81.7],[-42.8,-82.1],[-40.8,-81.4],[-28.5,-80.3],[-29.7,-79.3],[-35.6,-79.5],[-35.8,-78.3],[-28.9,-76.7],[-17.5,-75.1],[-15.7,-74.5],[-15.4,-74.1],[-16.5,-73.9],[-15.4,-73.1],[-12.3,-72.4],[-10.3,-71.3],[-7.4,-71.7],[-6.9,-70.9],[-4.3,-71.5],[-0.7,-71.2],[-0.2,-71.6],[7.7,-69.9],[9.5,-70.0],[10.8,-70.8],[13.4,-70.0],[15.1,-70.4],[19.3,-69.9],[22.6,-70.7],[27.1,-70.5],[32.0,-69.7],[33.9,-68.5],[38.6,-69.8],[54.5,-65.8],[56.4,-66.0],[58.7,-67.3],[61.4,-68.0],[64.1,-67.4],[68.9,-67.9],[69.7,-69.2],[67.8,-70.3],[69.1,-70.7],[67.9,-71.9],[69.9,-72.3],[71.0,-72.1],[73.9,-69.9],[77.6,-69.5],[79.1,-68.3],[82.8,-67.2],[86.8,-67.2],[88.0,-66.2],[89.7,-67.2],[95.8,-67.4],[99.7,-67.2],[102.8,-65.6],[106.2,-66.9],[113.6,-65.9],[115.6,-66.7],[119.8,-67.3],[123.2,-66.5],[128.8,-66.8],[134.8,-66.2],[135.1,-65.3],[137.5,-67.0],[145.5,-66.9],[146.6,-67.9],[148.8,-68.4],[152.5,-68.9],[154.3,-68.6],[161.6,-70.6],[167.3,-70.8],[171.2,-71.7],[169.3,-73.7],[166.1,-74.4],[163.6,-76.2],[163.5,-77.1],[164.7,-78.2],[167.0,-78.8],[161.8,-79.2],[159.8,-80.9],[169.4,-83.8],[180.0,-84.7],[180.0,-90.0],[-180.0,-90.0],[-180.0,-84.7],[-179.1,-84.1],[-174.4,-84.5],[-170.0,-83.9],[-158.1,-85.4],[-148.5,-85.6],[-143.1,-85.0],[-142.9,-84.6],[-153.6,-83.7],[-152.9,-82.0],[-156.8,-81.1],[-150.6,-81.3],[-146.4,-80.3],[-149.5,-79.4],[-155.3,-79.1],[-158.1,-78.0],[-158.4,-76.9],[-151.3,-77.4],[-146.1,-76.5],[-146.2,-75.4],[-135.2,-74.3],[-121.1,-74.5],[-113.9,-73.7],[-112.3,-74.7],[-111.3,-74.4],[-107.6,-75.2],[-100.6,-75.3],[-100.1,-74.9],[-102.5,-74.1],[-103.7,-72.6],[-96.3,-73.6],[-90.1,-73.3],[-89.2,-72.6],[-81.5,-73.9],[-80.3,-73.1],[-74.9,-73.9],[-67.4,-72.5],[-67.3,-71.6],[-68.5,-69.7],[-67.6,-68.5],[-67.7,-67.3],[-67.3,-66.9],[-63.0,-64.6],[-58.6,-63.4],[-57.2,-63.5],[-62.0,-64.8],[-62.6,-65.5]]],[[[-71.9,-72.1],[-74.2,-72.4],[-75.0,-71.7],[-72.1,-71.2],[-71.7,-69.5],[-70.3,-68.9],[-68.3,-71.4],[-68.8,-72.2],[-72.4,-72.5],[-71.9,-72.1]]],[[[-68.1,-55.6],[-71.0,-55.1],[-74.7,-52.8],[-71.1,-54.1],[-70.3,-52.9],[-68.6,-52.6],[-67.8,-53.9],[-65.0,-54.7],[-65.5,-55.2],[-67.0,-54.9],[-68.1,-55.6]]],[[[-61.2,-51.9],[-58.5,-51.1],[-57.8,-51.5],[-59.4,-52.2],[-61.2,-51.9]]],[[[-60.9,10.1],[-61.8,10.0],[-62.0,10.1],[-61.1,10.9],[-60.9,10.1]]],[[[-77.8,18.5],[-76.2,17.9],[-78.3,18.2],[-77.8,18.5]]],[[[-65.8,18.4],[-65.8,18.0],[-67.2,17.9],[-67.1,18.5],[-65.8,18.4]]],[[[-69.2,19.3],[-68.3,18.6],[-68.7,18.2],[-70.7,18.4],[-71.4,17.6],[-72.4,18.2],[-74.5,18.3],[-72.3,18.7],[-73.2,19.9],[-69.2,19.3]]],[[[-80.6,23.1],[-74.3,20.1],[-77.8,19.9],[-77.1,20.4],[-78.1,20.7],[-78.7,21.6],[-82.2,22.4],[-81.8,22.6],[-85.0,21.9],[-83.3,23.0],[-80.6,23.1]]],[[[-77.5,23.8],[-78.4,24.6],[-78.2,25.2],[-77.9,25.2],[-77.5,23.8]]],[[[-77.2,25.9],[-77.3,26.5],[-77.8,27.0],[-77.0,26.6],[-77.2,25.9]]],[[[-79.0,26.8],[-77.8,26.8],[-77.8,26.6],[-78.9,26.4],[-79.0,26.8]]],[[[8.2,41.0],[9.2,41.2],[9.8,40.5],[9.7,39.2],[8.4,39.2],[8.2,41.0]]],[[[-64.0,47.0],[-63.7,46.6],[-62.0,46.4],[-62.9,46.0],[-64.1,46.4],[-64.0,47.0]]],[[[-53.5,49.2],[-53.8,48.5],[-53.1,48.7],[-52.6,47.5],[-53.1,46.7],[-54.2,46.8],[-54.2,47.8],[-55.4,46.9],[-56.0,46.9],[-55.3,47.4],[-56.3,47.6],[-59.4,47.9],[-57.4,50.7],[-55.9,51.6],[-55.4,51.6],[-56.8,49.8],[-56.1,50.2],[-55.5,49.9],[-55.8,49.6],[-53.5,49.2]]],[[[-61.8,49.1],[-63.6,49.4],[-64.5,49.9],[-62.9,49.7],[-61.8,49.1]]],[[[-6.7,55.2],[-5.7,54.6],[-6.8,52.3],[-10.0,51.8],[-9.2,52.9],[-9.7,53.9],[-6.7,55.2]]],[[[-2.1,55.9],[-0.4,54.5],[0.5,52.9],[1.7,52.7],[1.1,51.8],[1.4,51.3],[0.6,50.8],[-5.8,50.2],[-3.4,51.4],[-5.3,52.0],[-4.2,52.3],[-4.8,52.8],[-4.6,53.5],[-3.1,53.4],[-2.9,54.0],[-4.8,54.8],[-5.0,55.8],[-5.6,55.3],[-6.1,56.8],[-5.0,58.6],[-3.0,58.6],[-4.1,57.6],[-2.0,57.7],[-3.1,56.0],[-2.1,55.9]]],[[[-79.3,62.2],[-79.7,61.6],[-80.4,62.0],[-79.9,62.4],[-79.3,62.2]]],[[[-83.1,62.2],[-84.0,62.5],[-81.9,62.9],[-81.9,62.7],[-83.1,62.2]]],[[[-85.9,65.7],[-80.1,63.7],[-81.0,63.4],[-83.1,64.1],[-85.5,63.1],[-85.9,63.6],[-87.2,63.5],[-86.4,64.0],[-85.9,65.7]]],[[[-22.8,64.0],[-21.8,64.4],[-24.0,64.9],[-22.2,65.1],[-24.3,65.6],[-23.7,66.3],[-22.1,66.4],[-20.6,65.7],[-19.1,66.3],[-14.5,66.5],[-14.7,65.8],[-13.6,65.1],[-18.7,63.5],[-22.8,64.0]]],[[[-75.2,67.4],[-77.0,67.1],[-77.2,67.6],[-75.9,68.3],[-75.1,68.0],[-75.2,67.4]]],[[[-77.8,72.7],[-74.2,71.8],[-74.1,71.3],[-72.2,71.6],[-68.8,70.5],[-67.0,69.2],[-68.8,68.7],[-61.9,66.9],[-63.9,65.0],[-66.7,66.4],[-68.0,66.3],[-68.1,65.7],[-65.3,64.4],[-64.7,63.4],[-65.0,62.7],[-68.8,63.7],[-66.2,61.9],[-68.9,62.3],[-74.8,64.7],[-77.7,64.2],[-78.6,64.6],[-77.9,65.3],[-74.0,65.5],[-73.9,66.3],[-72.7,67.3],[-73.3,68.1],[-76.9,68.9],[-76.2,69.1],[-79.0,70.2],[-81.3,69.7],[-88.7,70.4],[-89.5,70.8],[-88.5,71.2],[-89.9,71.2],[-90.2,72.2],[-88.4,73.5],[-85.8,73.8],[-86.6,73.2],[-85.8,72.5],[-84.9,73.3],[-82.3,73.8],[-80.6,72.7],[-80.7,72.1],[-77.8,72.7]]],[[[-31.9,82.2],[-22.1,81.7],[-23.2,81.2],[-15.8,81.9],[-12.2,81.3],[-20.0,80.2],[-17.7,80.1],[-19.7,78.8],[-19.7,77.6],[-18.5,77.0],[-21.7,76.6],[-19.8,76.1],[-19.6,75.2],[-20.7,75.2],[-19.4,74.3],[-21.6,74.2],[-20.4,73.8],[-20.8,73.5],[-23.6,73.3],[-22.3,72.2],[-24.8,72.3],[-22.1,71.5],[-21.8,70.7],[-23.5,70.5],[-25.5,71.4],[-25.2,70.8],[-26.4,70.2],[-22.3,70.1],[-27.7,68.5],[-31.8,68.1],[-34.2,66.7],[-39.8,65.5],[-41.2,63.5],[-42.8,62.7],[-42.4,61.9],[-43.4,60.1],[-48.3,60.9],[-51.6,63.6],[-52.3,65.2],[-53.7,66.1],[-53.3,66.8],[-54.0,67.2],[-53.0,68.4],[-51.5,68.7],[-50.9,69.9],[-53.5,69.3],[-54.7,69.6],[-54.4,70.8],[-51.4,70.6],[-55.8,71.7],[-54.7,72.6],[-58.6,75.5],[-61.3,76.1],[-68.5,76.1],[-71.4,77.0],[-66.8,77.4],[-73.3,78.0],[-73.2,78.4],[-65.7,79.4],[-65.3,79.8],[-68.0,80.1],[-60.3,82.0],[-53.0,81.9],[-50.4,82.4],[-44.5,81.7],[-46.9,82.2],[-46.8,82.6],[-35.1,83.6],[-27.1,83.5],[-20.8,82.7],[-31.9,82.2]]],[[[-95.5,73.9],[-90.5,73.9],[-94.3,72.0],[-95.4,72.1],[-96.0,72.9],[-95.5,73.9]]],[[[-80.8,73.7],[-78.1,73.7],[-76.3,72.8],[-79.5,72.7],[-80.8,73.7]]],[[[-87.8,75.6],[-81.1,75.7],[-79.8,74.9],[-81.9,74.4],[-89.8,74.5],[-92.4,74.8],[-92.9,75.9],[-93.9,76.3],[-97.1,76.8],[-96.7,77.2],[-91.6,76.8],[-90.7,76.4],[-91.0,76.1],[-87.8,75.6]]],[[[-67.7,81.5],[-65.5,81.5],[-71.2,79.8],[-76.9,79.3],[-75.5,79.2],[-76.2,79.0],[-75.4,78.5],[-79.8,77.2],[-77.9,76.8],[-80.6,76.2],[-89.5,76.5],[-89.6,77.0],[-87.8,77.2],[-88.3,77.9],[-85.0,77.5],[-88.0,78.4],[-85.1,79.3],[-86.9,80.3],[-81.8,80.5],[-87.6,80.5],[-91.6,81.9],[-85.5,82.7],[-83.2,82.3],[-82.4,82.9],[-79.3,83.1],[-61.9,82.6],[-67.7,81.5]]],[[[-93.9,79.1],[-93.1,79.4],[-95.0,79.4],[-96.7,80.2],[-94.3,81.0],[-94.7,81.2],[-92.4,81.3],[-87.8,80.3],[-85.8,79.3],[-90.8,78.2],[-92.9,78.3],[-93.9,79.1]]],[[[70.6,-49.3],[70.3,-49.7],[68.7,-49.8],[68.9,-48.6],[70.6,-49.3]]],[[[49.9,-16.5],[47.1,-24.9],[45.4,-25.6],[44.0,-25.0],[43.3,-22.1],[44.4,-20.1],[44.0,-17.4],[44.4,-16.2],[46.3,-15.8],[47.7,-14.6],[49.2,-12.0],[50.5,-15.2],[50.2,-16.0],[49.7,-15.7],[49.9,-16.5]]],[[[120.3,-10.3],[119.0,-9.6],[119.9,-9.4],[120.8,-10.0],[120.3,-10.3]]],[[[116.7,-9.0],[117.9,-8.1],[119.1,-8.7],[116.7,-9.0]]],[[[120.7,-8.2],[122.9,-8.1],[122.8,-8.6],[119.9,-8.8],[120.7,-8.2]]],[[[114.6,-8.8],[108.3,-7.8],[105.4,-6.9],[106.1,-5.9],[108.6,-6.8],[110.5,-6.9],[110.8,-6.5],[115.7,-8.4],[114.6,-8.8]]],[[[120.9,-1.4],[123.3,-0.6],[121.5,-1.9],[123.2,-4.7],[122.6,-5.6],[122.2,-5.3],[122.7,-4.5],[121.7,-4.9],[120.9,-3.6],[121.0,-2.6],[120.3,-2.9],[120.4,-5.5],[119.4,-5.4],[119.5,-3.5],[118.8,-2.8],[119.8,0.2],[120.9,1.3],[122.9,0.9],[125.2,1.4],[123.7,0.2],[120.2,0.2],[120.0,-0.5],[120.9,-1.4]]],[[[102.6,-4.2],[98.6,1.8],[95.3,5.5],[97.5,5.2],[100.6,2.1],[101.7,2.1],[103.8,0.1],[103.4,-0.7],[106.1,-3.1],[105.8,-5.9],[104.7,-5.9],[102.6,-4.2]]],[[[116.1,-4.0],[116.0,-3.7],[114.9,-4.1],[113.3,-3.1],[112.1,-3.5],[111.7,-3.0],[110.2,-2.9],[109.0,0.4],[109.7,2.0],[111.2,1.9],[111.4,2.7],[113.0,3.1],[117.1,6.9],[117.7,6.0],[119.2,5.4],[117.3,3.2],[117.9,1.8],[119.0,0.9],[117.8,0.8],[117.5,-0.8],[116.6,-1.5],[116.1,-4.0]]],[[[125.4,5.6],[124.2,6.2],[124.2,7.4],[123.6,7.8],[121.9,7.2],[123.5,8.7],[123.8,8.2],[125.5,9.0],[125.4,9.8],[126.2,9.3],[126.5,7.2],[126.2,6.3],[125.8,7.3],[125.4,6.8],[125.4,5.6]]],[[[81.8,7.5],[81.6,6.5],[80.3,6.0],[79.7,8.2],[80.1,9.8],[81.8,7.5]]],[[[119.7,10.6],[118.5,9.3],[117.2,8.4],[119.5,11.4],[119.7,10.6]]],[[[122.9,10.9],[123.5,10.9],[123.3,10.3],[124.1,11.2],[123.0,9.0],[122.4,9.7],[122.9,10.9]]],[[[122.0,10.4],[121.9,11.9],[123.1,11.6],[122.0,10.4]]],[[[124.8,10.1],[124.3,11.5],[124.9,11.8],[124.3,12.6],[125.2,12.5],[125.8,11.0],[125.0,11.3],[125.3,10.4],[124.8,10.1]]],[[[121.3,12.2],[120.3,13.5],[121.5,13.1],[121.3,12.2]]],[[[121.7,15.9],[121.7,14.3],[124.0,13.8],[124.1,12.5],[122.9,13.6],[122.7,13.2],[122.0,13.8],[120.6,13.9],[121.0,14.5],[120.1,15.0],[119.9,16.4],[120.3,16.0],[120.7,18.5],[122.2,18.5],[122.5,17.1],[121.7,15.9]]],[[[111.0,19.7],[109.5,18.2],[108.7,18.5],[109.1,19.8],[110.8,20.1],[111.0,19.7]]],[[[114.1,75.8],[109.4,74.2],[113.0,74.0],[113.5,73.3],[115.6,73.8],[123.2,73.0],[123.3,73.7],[127.0,73.6],[128.6,73.0],[129.1,72.4],[128.5,72.0],[131.3,70.8],[132.3,71.8],[133.9,71.4],[139.9,71.5],[139.1,72.4],[140.5,72.8],[149.5,72.2],[153.0,70.8],[159.0,70.9],[159.8,70.5],[159.7,69.7],[160.9,69.4],[167.8,69.6],[169.6,68.7],[170.8,69.0],[170.0,69.7],[170.5,70.1],[175.7,69.9],[180.0,69.0],[180.0,65.0],[177.4,64.6],[179.4,63.0],[179.2,62.3],[177.4,62.5],[173.7,61.7],[170.3,59.9],[168.9,60.6],[166.3,59.8],[165.8,60.2],[163.5,59.9],[162.0,58.2],[163.2,57.6],[163.1,56.2],[162.1,56.1],[161.7,55.3],[162.1,54.9],[160.4,54.3],[160.0,53.2],[158.5,53.0],[158.2,51.9],[156.8,51.0],[155.4,55.4],[155.9,56.8],[156.8,57.8],[158.4,58.1],[163.7,61.1],[164.5,62.6],[163.3,62.5],[162.7,61.6],[160.1,60.5],[159.3,61.8],[156.7,61.4],[154.2,59.8],[155.0,59.1],[151.3,58.8],[151.3,59.5],[149.8,59.7],[148.5,59.2],[142.2,59.0],[135.1,54.7],[136.7,54.6],[138.2,53.8],[139.9,54.2],[141.3,53.1],[141.4,52.2],[140.6,51.2],[140.1,48.4],[138.2,46.3],[134.9,43.4],[133.5,42.8],[132.3,43.3],[130.0,41.9],[129.7,40.9],[127.5,39.8],[127.4,39.2],[129.5,36.8],[129.1,35.1],[126.5,34.4],[126.1,36.7],[126.9,36.9],[126.2,37.7],[124.7,38.1],[125.3,39.6],[124.3,39.9],[121.1,38.9],[122.2,40.4],[121.6,40.9],[119.0,39.3],[118.0,39.2],[117.5,38.7],[118.9,37.4],[119.7,37.2],[120.8,37.9],[122.4,37.5],[122.5,36.9],[121.1,36.7],[119.2,34.9],[120.2,34.4],[121.9,31.7],[121.9,30.9],[121.3,30.7],[122.1,29.8],[121.7,28.2],[121.1,28.1],[118.7,24.5],[115.9,22.8],[110.8,21.4],[110.4,20.3],[109.9,20.3],[109.9,21.4],[108.5,21.7],[105.9,19.8],[105.7,19.1],[108.9,15.3],[109.3,13.4],[109.2,11.7],[105.2,8.6],[105.1,9.9],[103.5,10.6],[102.6,12.2],[100.8,12.6],[101.0,13.4],[100.1,13.4],[99.2,9.2],[99.9,9.2],[100.5,7.4],[103.0,5.5],[104.2,1.3],[103.5,1.2],[101.4,2.8],[100.1,6.5],[98.5,8.4],[98.3,7.8],[98.8,11.4],[97.2,16.9],[95.4,15.7],[94.2,16.0],[94.3,18.2],[91.4,22.8],[90.5,22.8],[90.3,21.8],[87.0,21.5],[86.5,20.2],[85.1,19.5],[82.2,16.6],[80.3,15.9],[79.9,10.4],[77.5,8.0],[76.6,8.9],[73.5,16.0],[72.6,21.4],[70.5,20.9],[69.2,22.1],[69.6,22.5],[69.3,22.8],[67.4,23.9],[66.4,25.4],[61.5,25.1],[57.4,25.7],[56.5,27.1],[54.7,26.5],[51.5,27.9],[50.1,30.1],[48.0,30.0],[48.8,27.7],[50.2,26.7],[50.8,24.8],[51.0,26.0],[51.6,25.8],[51.8,24.0],[54.0,24.1],[56.4,26.4],[56.8,24.2],[58.7,23.6],[59.8,22.3],[57.8,20.2],[57.7,18.9],[55.3,17.2],[52.4,16.4],[52.2,15.6],[48.7,14.0],[43.5,12.6],[42.6,15.2],[42.6,16.8],[39.1,21.3],[38.5,23.7],[37.5,24.3],[35.1,28.1],[34.6,28.1],[34.9,29.5],[33.9,27.6],[32.4,29.9],[35.7,23.9],[35.5,23.1],[36.9,22.0],[37.5,18.6],[38.4,18.0],[39.3,15.9],[43.3,12.4],[42.7,11.7],[44.6,10.4],[51.1,12.0],[51.0,10.6],[47.7,4.2],[40.3,-2.6],[39.2,-4.7],[38.8,-6.5],[39.4,-6.8],[39.2,-8.5],[40.5,-10.8],[40.8,-14.7],[39.5,-16.7],[37.4,-17.6],[34.8,-19.8],[35.6,-23.7],[32.6,-25.7],[32.9,-26.2],[32.2,-28.8],[28.2,-32.8],[25.8,-33.9],[22.6,-33.9],[19.6,-34.8],[18.4,-34.1],[17.9,-32.6],[18.2,-31.7],[15.2,-27.1],[14.3,-22.1],[11.8,-18.1],[11.8,-15.8],[13.6,-12.0],[13.7,-10.7],[11.9,-5.0],[8.8,-1.1],[9.8,3.1],[9.4,3.7],[8.5,4.8],[5.9,4.3],[4.3,6.3],[1.9,6.1],[-2.0,4.7],[-4.6,5.2],[-7.5,4.3],[-9.0,4.8],[-12.4,7.3],[-14.8,10.9],[-16.6,12.2],[-16.7,13.6],[-17.6,14.7],[-16.5,16.1],[-16.1,18.1],[-17.0,21.9],[-14.4,26.3],[-9.6,29.9],[-9.8,31.2],[-9.3,32.6],[-6.9,34.1],[-5.9,35.8],[-2.2,35.2],[1.5,36.6],[9.5,37.4],[10.2,37.2],[10.2,36.7],[11.1,36.9],[10.6,36.4],[10.9,35.7],[10.3,33.8],[15.2,32.3],[15.7,31.4],[19.1,30.3],[20.1,31.0],[20.1,32.2],[21.5,32.8],[28.9,30.9],[31.0,31.6],[32.0,30.9],[33.8,31.0],[34.6,31.5],[36.0,34.6],[36.2,36.7],[34.7,36.8],[32.5,36.1],[31.7,36.6],[29.7,36.1],[27.6,36.7],[26.3,38.2],[26.8,39.0],[26.2,39.5],[27.3,40.4],[28.8,40.5],[29.2,41.2],[31.1,41.1],[33.5,42.0],[35.2,42.0],[38.3,40.9],[40.4,41.0],[41.7,42.0],[41.5,42.6],[36.7,45.2],[38.2,46.2],[37.7,46.6],[39.1,47.3],[35.0,46.3],[35.0,45.7],[36.5,45.5],[36.3,45.1],[33.9,44.4],[33.3,44.6],[33.5,45.0],[32.5,45.3],[33.6,45.9],[33.3,46.1],[30.7,46.6],[29.6,45.0],[28.8,44.9],[27.7,42.6],[28.8,41.1],[27.6,41.0],[26.4,40.2],[26.1,40.8],[24.9,40.9],[23.7,40.7],[24.4,40.1],[23.9,40.0],[22.6,40.3],[24.0,37.7],[23.1,37.9],[23.4,37.4],[22.8,37.3],[23.2,36.4],[22.5,36.4],[21.7,36.8],[21.1,38.3],[19.4,40.3],[19.5,41.7],[16.0,43.5],[14.9,45.1],[14.0,44.8],[13.9,45.6],[13.1,45.7],[12.3,45.4],[12.6,44.1],[15.1,42.0],[15.9,42.0],[15.9,41.5],[18.5,40.2],[18.3,39.8],[16.9,40.4],[16.4,39.8],[17.2,39.4],[17.1,38.9],[16.1,38.0],[15.7,37.9],[16.1,39.0],[15.4,40.0],[12.1,41.7],[10.5,42.9],[10.2,43.9],[8.9,44.4],[6.5,43.1],[3.1,43.1],[3.0,41.9],[0.8,41.0],[-0.3,39.3],[0.1,38.7],[-2.1,36.7],[-4.4,36.7],[-5.4,35.9],[-6.5,36.9],[-8.9,36.9],[-8.8,38.3],[-9.5,38.7],[-8.8,40.8],[-9.4,43.0],[-8.0,43.7],[-1.9,43.4],[-1.4,44.0],[-1.2,46.0],[-3.0,47.6],[-4.5,48.0],[-4.6,48.7],[-1.6,48.6],[-1.9,49.8],[-1.0,49.3],[1.3,50.1],[1.6,50.9],[3.8,51.6],[4.7,53.1],[8.1,53.5],[8.8,54.0],[8.1,55.5],[8.5,57.1],[10.6,57.7],[10.3,56.9],[10.9,56.5],[9.7,55.5],[9.9,54.6],[10.9,54.0],[12.5,54.5],[14.1,53.8],[17.6,54.9],[19.7,54.4],[21.3,55.2],[21.1,56.8],[21.6,57.4],[22.5,57.8],[23.3,57.0],[24.1,57.0],[24.4,58.4],[23.4,58.6],[23.3,59.2],[28.0,59.5],[29.1,60.0],[28.1,60.5],[22.9,59.8],[21.3,60.7],[21.5,61.7],[21.1,62.6],[21.5,63.2],[25.4,65.1],[23.9,66.0],[22.2,65.7],[21.2,65.0],[21.4,64.4],[17.8,62.7],[17.1,61.3],[18.8,60.1],[17.9,59.0],[16.8,58.7],[15.9,56.1],[14.7,56.2],[14.1,55.4],[12.9,55.4],[10.4,59.5],[8.4,58.3],[7.0,58.1],[5.7,58.6],[5.0,62.0],[10.5,64.5],[14.8,67.8],[19.2,69.8],[23.0,70.2],[24.5,71.0],[28.2,71.2],[31.3,70.5],[30.0,70.2],[31.1,69.6],[32.1,69.9],[36.5,69.1],[41.1,67.5],[41.1,66.8],[38.4,66.0],[33.2,66.6],[34.8,65.9],[34.9,64.4],[37.0,63.8],[36.5,64.8],[37.2,65.1],[39.6,64.5],[40.4,64.8],[39.8,65.5],[42.1,66.5],[43.9,66.1],[44.5,66.8],[43.7,67.4],[44.2,68.0],[43.5,68.6],[46.3,68.3],[46.8,67.7],[45.6,67.6],[45.6,67.0],[46.3,66.7],[53.7,68.9],[54.5,68.8],[53.5,68.2],[58.8,68.9],[59.9,68.3],[61.1,68.9],[60.0,69.5],[60.6,69.9],[68.5,68.1],[69.2,68.6],[66.9,69.5],[67.3,69.9],[66.7,71.0],[69.9,73.0],[72.6,72.8],[72.8,72.2],[71.8,71.4],[72.8,70.4],[72.6,69.0],[73.7,68.4],[71.3,66.3],[72.4,66.2],[75.1,67.8],[74.5,68.3],[74.9,69.0],[73.8,69.1],[73.6,69.6],[74.4,70.6],[73.1,71.4],[74.9,72.1],[74.7,72.8],[75.7,72.3],[75.3,71.3],[76.4,71.2],[75.9,71.9],[77.6,72.3],[81.5,71.8],[80.6,72.6],[80.5,73.6],[86.8,73.9],[86.0,74.5],[87.2,75.1],[100.8,76.4],[102.0,77.3],[104.4,77.7],[106.1,77.4],[104.7,77.1],[107.0,77.0],[107.2,76.5],[111.1,76.7],[114.1,75.8]],[[48.9,38.8],[49.2,37.6],[50.8,36.9],[53.8,37.0],[53.9,39.0],[53.1,39.3],[53.4,40.0],[52.7,40.0],[52.9,40.9],[54.7,41.0],[53.7,42.1],[52.9,41.9],[52.8,41.1],[52.5,42.8],[51.3,43.1],[50.3,44.6],[51.3,44.5],[51.3,45.2],[53.0,45.3],[53.0,46.9],[51.2,47.0],[49.1,46.4],[46.7,44.6],[47.6,43.7],[47.5,43.0],[50.4,40.3],[49.6,40.2],[48.9,38.8]]],[[[121.8,24.4],[121.2,22.8],[120.7,22.0],[120.1,23.6],[121.5,25.3],[121.8,24.4]]],[[[32.3,35.1],[32.9,35.4],[34.6,35.7],[33.0,34.6],[32.3,35.1]]],[[[24.7,34.9],[23.5,35.3],[23.7,35.7],[26.3,35.3],[24.7,34.9]]],[[[12.6,38.1],[13.7,38.0],[15.5,38.2],[15.1,36.6],[12.4,37.6],[12.6,38.1]]],[[[9.2,41.4],[8.5,42.3],[9.4,43.0],[9.6,42.2],[9.2,41.4]]],[[[12.1,54.8],[10.9,55.8],[12.4,56.1],[12.7,55.6],[12.1,54.8]]],[[[52.4,72.8],[54.4,73.6],[53.5,73.7],[55.9,74.6],[55.6,75.1],[57.9,75.6],[66.2,76.8],[68.9,76.5],[58.5,74.3],[55.4,72.4],[55.6,71.5],[57.5,70.7],[53.7,70.8],[51.6,71.5],[51.5,72.0],[52.5,72.2],[52.4,72.8]]],[[[24.7,77.9],[22.5,77.4],[20.7,77.7],[21.4,77.9],[20.8,78.3],[22.9,78.5],[24.7,77.9]]],[[[13.8,77.4],[14.7,77.7],[11.2,78.9],[10.4,79.7],[17.0,80.1],[21.5,79.0],[19.0,78.6],[17.1,76.8],[13.8,77.4]]],[[[99.4,77.9],[102.1,79.3],[105.4,78.7],[105.1,78.3],[99.4,77.9]]],[[[95.9,81.3],[100.2,79.8],[99.9,78.9],[95.0,79.0],[91.2,80.3],[95.9,81.3]]],[[[17.4,80.3],[22.9,80.7],[27.4,80.1],[23.0,79.4],[17.4,80.3]]],[[[44.8,80.6],[50.0,80.9],[51.5,80.7],[47.6,80.0],[46.5,80.2],[47.1,80.6],[44.8,80.6]]],[[[172.7,-43.4],[173.1,-43.9],[171.5,-44.2],[170.6,-45.9],[169.3,-46.6],[166.5,-45.9],[168.3,-44.1],[170.5,-43.0],[172.8,-40.5],[173.2,-41.3],[174.0,-40.9],[174.2,-41.8],[172.7,-43.4]]],[[[147.9,-43.2],[146.0,-43.5],[144.7,-40.7],[146.4,-41.1],[148.3,-40.9],[147.9,-43.2]]],[[[176.8,-37.9],[178.5,-37.7],[178.0,-39.2],[177.2,-39.1],[176.0,-41.3],[175.2,-41.7],[174.7,-41.3],[175.2,-40.5],[174.9,-39.9],[173.8,-39.5],[174.6,-38.8],[174.7,-37.4],[172.6,-34.5],[174.3,-35.3],[175.3,-37.2],[175.4,-36.5],[176.8,-37.9]]],[[[145.4,-15.0],[146.4,-19.0],[148.8,-20.4],[149.7,-22.3],[150.7,-22.4],[150.9,-23.5],[152.9,-25.3],[153.6,-28.1],[152.9,-31.6],[149.4,-37.8],[148.3,-37.8],[146.3,-39.0],[144.9,-38.4],[145.0,-37.9],[143.6,-38.8],[140.6,-38.0],[139.6,-36.1],[138.1,-35.6],[138.2,-34.4],[136.8,-35.3],[137.9,-33.6],[137.8,-32.9],[136.0,-34.9],[135.2,-34.5],[134.3,-32.6],[131.3,-31.5],[126.1,-32.2],[124.2,-33.0],[123.7,-33.9],[119.9,-34.0],[118.0,-35.1],[116.6,-35.0],[115.0,-34.2],[115.8,-32.2],[113.3,-26.1],[113.8,-26.5],[113.4,-25.6],[114.2,-26.3],[113.4,-24.4],[113.7,-22.5],[114.1,-21.8],[114.2,-22.5],[116.7,-20.7],[120.9,-19.7],[123.0,-16.4],[123.4,-17.3],[123.9,-17.1],[123.5,-16.6],[123.8,-16.1],[124.3,-16.3],[125.7,-14.2],[127.1,-13.8],[128.4,-14.9],[129.6,-15.0],[129.4,-14.4],[130.6,-12.5],[132.6,-12.1],[131.8,-11.3],[132.4,-11.1],[135.3,-12.2],[136.5,-11.9],[137.0,-12.4],[136.0,-13.3],[135.5,-15.0],[140.2,-17.7],[141.3,-16.4],[141.7,-12.4],[142.5,-10.7],[143.9,-14.5],[144.6,-14.2],[145.4,-15.0]]],[[[164.0,-20.1],[165.0,-20.5],[167.1,-22.2],[165.5,-21.7],[164.0,-20.1]]],[[[177.7,-17.4],[178.7,-17.6],[178.6,-18.2],[177.4,-18.2],[177.7,-17.4]]],[[[180.0,-16.6],[178.6,-16.6],[180.0,-16.1],[180.0,-16.6]]],[[[167.2,-15.9],[167.8,-16.5],[167.5,-16.6],[167.2,-15.9]]],[[[167.3,-15.7],[166.8,-15.7],[166.6,-14.6],[167.1,-14.9],[167.3,-15.7]]],[[[161.7,-10.8],[161.3,-10.2],[162.4,-10.8],[161.7,-10.8]]],[[[160.9,-9.9],[159.8,-9.8],[159.7,-9.2],[160.4,-9.4],[160.9,-9.9]]],[[[124.0,-9.3],[127.3,-8.4],[123.5,-10.2],[124.0,-9.3]]],[[[161.5,-9.8],[160.8,-8.9],[160.6,-8.3],[160.9,-8.3],[161.5,-9.8]]],[[[158.4,-7.3],[159.9,-8.5],[158.2,-7.4],[158.4,-7.3]]],[[[157.5,-7.3],[156.5,-6.8],[156.5,-6.6],[157.5,-7.3]]],[[[134.2,-6.9],[134.1,-6.1],[134.5,-5.4],[134.7,-6.2],[134.2,-6.9]]],[[[154.5,-5.1],[156.0,-6.5],[155.9,-6.8],[155.2,-6.5],[154.5,-5.1]]],[[[137.4,-1.7],[144.6,-3.9],[146.0,-5.5],[147.6,-6.1],[147.9,-6.6],[147.0,-6.7],[147.2,-7.4],[150.7,-10.6],[147.9,-10.1],[146.0,-8.1],[144.7,-7.6],[143.3,-8.2],[143.4,-9.0],[142.6,-9.3],[139.1,-8.1],[137.6,-8.4],[138.7,-7.3],[137.9,-5.4],[133.7,-3.5],[133.0,-4.1],[132.0,-2.8],[133.7,-2.2],[132.2,-2.2],[130.5,-0.9],[132.4,-0.4],[134.0,-0.8],[134.4,-2.8],[135.5,-3.4],[137.4,-1.7]]],[[[148.3,-5.7],[149.8,-5.5],[150.1,-5.0],[150.2,-5.5],[150.8,-5.5],[151.6,-4.8],[151.5,-4.2],[152.3,-4.3],[152.0,-5.5],[150.2,-6.3],[148.3,-5.7]]],[[[150.7,-2.7],[152.2,-3.2],[153.1,-4.5],[152.8,-4.8],[152.4,-3.8],[150.7,-2.7]]],[[[126.9,-3.8],[126.0,-3.2],[127.2,-3.5],[126.9,-3.8]]],[[[128.1,-2.8],[130.5,-3.1],[130.8,-3.9],[127.9,-3.4],[128.1,-2.8]]],[[[127.4,1.0],[127.9,2.2],[128.6,1.5],[128.6,0.3],[128.1,0.4],[128.0,-0.3],[128.4,-0.8],[127.7,-0.3],[127.4,1.0]]],[[[132.4,33.5],[133.9,34.4],[134.8,33.8],[134.2,33.2],[133.3,33.3],[133.0,32.7],[132.4,33.5]]],[[[135.1,33.8],[135.1,34.6],[131.0,33.9],[132.0,33.1],[130.7,31.0],[130.2,31.4],[130.4,32.3],[129.4,33.3],[132.6,35.4],[135.7,35.5],[136.7,37.3],[137.4,36.8],[139.4,38.2],[140.1,39.4],[139.9,40.6],[140.3,41.2],[141.4,41.4],[141.9,39.2],[141.0,38.2],[140.3,35.1],[137.2,34.6],[135.8,33.5],[135.1,33.8]]],[[[141.1,41.6],[140.0,41.6],[139.8,42.6],[140.3,43.3],[141.4,43.4],[142.0,45.6],[143.9,44.2],[145.3,44.4],[145.5,43.3],[144.1,43.0],[143.2,42.0],[141.6,42.7],[141.1,41.6]]],[[[142.1,46.0],[142.2,51.0],[141.6,51.9],[141.7,53.3],[142.6,53.8],[142.2,54.2],[142.7,54.4],[143.2,51.8],[144.7,49.0],[143.2,49.3],[142.6,47.9],[143.5,46.8],[143.5,46.1],[142.7,46.7],[142.1,46.0]]],[[[180.0,71.5],[180.0,70.8],[178.7,71.1],[180.0,71.5]]],[[[143.6,73.2],[142.1,73.2],[139.9,73.4],[142.1,73.9],[143.6,73.2]]],[[[150.7,75.1],[148.0,74.8],[146.1,75.2],[150.7,75.1]]],[[[137.5,75.9],[145.1,75.6],[144.3,74.8],[139.0,74.6],[137.0,75.3],[137.5,75.9]]]];
const VIEWS = [
{label: "Pacific / Americas", lon: -105, lat: -4},
{label: "Africa / Europe / Red Sea", lon: 40, lat: 16},
{label: "Equatorial Pacific", lon: -160, lat: 0},
{label: "South China Sea / Australia", lon: 120, lat: 0},
{label: "Arctic / NSR", lon: 104, lat: 72},
{label: "Southern Ocean", lon: -58, lat: -62}
];
let rot = {lon: -105, lat: -4};
function fmtCoord(s) {
const ns = s.lat >= 0 ? "N" : "S";
const ew = s.lon >= 0 ? "E" : "W";
return Math.abs(s.lat).toFixed(2) + "°" + ns + " " + Math.abs(s.lon).toFixed(2) + "°" + ew;
}
function storyByN(n) {
return STORIES.find(function (s) { return s.n === Number(n); });
}
const TONE_LABEL = {good: "Good", mixed: "Mixed", bad: "Bad"};
function toneOf(s) {
return (s && TONE_LABEL[s.tone]) ? s.tone : "bad";
}
function isGood(s) { return s && s.section === "good"; }
let goodOnly = false;
function isVisible(s) { return !goodOnly || isGood(s); }
function visibleStories() {
return goodOnly ? STORIES.filter(isGood) : STORIES.slice();
}
const ROWS = [];
const list = document.getElementById("list");
STORIES.forEach(function (s) {
if (s.n === 1 || s.n === 21) { const g = document.createElement("li"); g.className = "section-heading"; g.dataset.section = s.section; g.textContent = s.section === "good" ? "Good news (20)" : "Main stories (20)"; list.appendChild(g); }
const li = document.createElement("li");
const row = document.createElement("div");
row.className = "story";
row.dataset.n = String(s.n);
const tone = toneOf(s);
const pin = document.createElement("span");
pin.className = isGood(s) ? "pin good" : "pin";
pin.textContent = String(s.n);
const main = document.createElement("span");
main.className = "story-main";
const lab = document.createElement("span");
lab.className = "lab";
lab.textContent = s.title;
const when = document.createElement("div");
when.className = "when";
when.textContent = s.date_display;
const sum = document.createElement("div");
sum.className = "sum";
sum.textContent = s.summary;
const coord = document.createElement("div");
coord.className = "coord";
coord.textContent = fmtCoord(s);
const chip = document.createElement("span");
chip.className = "tone-chip tone-" + tone;
chip.textContent = TONE_LABEL[tone];
main.appendChild(lab);
main.appendChild(when);
main.appendChild(chip);
main.appendChild(sum);
main.appendChild(coord);
const a = document.createElement("a");
a.className = "article-url";
a.href = s.url;
a.target = "_blank";
a.rel = "noopener noreferrer";
a.textContent = "Read article";
function openCard() { selectStory(s.n, true); }
pin.addEventListener("click", openCard);
main.addEventListener("click", openCard);
row.appendChild(pin);
row.appendChild(main);
row.appendChild(a);
const map = document.createElement("a");
map.className = "article-url map-url";
map.href = "https://www.google.com/maps/search/?api=1&query=" + encodeURIComponent(s.lat + "," + s.lon);
map.target = "_blank";
map.rel = "noopener noreferrer";
map.textContent = "Map";
row.appendChild(map);
li.appendChild(row);
list.appendChild(li);
ROWS.push({n: s.n, section: s.section, tone: tone, li: li});
});
const viewsEl = document.getElementById("views");
VIEWS.forEach(function (v, i) {
const btn = document.createElement("button");
btn.type = "button";
btn.textContent = v.label;
if (i === 0) btn.classList.add("active");
btn.addEventListener("click", function () {
viewsEl.querySelectorAll("button").forEach(function (x) { x.classList.remove("active"); });
btn.classList.add("active");
setRotation(v.lon, v.lat);
});
viewsEl.appendChild(btn);
});
const card = document.getElementById("card");
let currentN = null;
function closeCard() {
currentN = null;
card.classList.remove("open");
card.hidden = true;
document.querySelectorAll(".story.selected").forEach(function (el) { el.classList.remove("selected"); });
}
function selectStory(n, rotate) {
const s = storyByN(n);
if (!s || !isVisible(s)) return;
currentN = s.n;
const cardPin = document.getElementById("card-n");
cardPin.className = isGood(s) ? "pin good" : "pin";
const cardTone = document.getElementById("card-tone");
cardTone.className = "tone-chip tone-" + toneOf(s);
cardTone.textContent = s.section === "good" ? "Good news" : "Main story";
document.getElementById("card-n").textContent = s.n;
document.getElementById("card-title").textContent = s.title;
document.getElementById("card-date").textContent = s.date_display;
document.getElementById("card-sum").textContent = s.summary;
document.getElementById("card-coord").textContent = fmtCoord(s);
const a = document.getElementById("card-link");
a.href = s.url;
a.target = "_blank";
a.rel = "noopener noreferrer";
const map = document.getElementById("card-map");
map.href = "https://www.google.com/maps/search/?api=1&query=" + encodeURIComponent(s.lat + "," + s.lon);
map.target = "_blank";
map.rel = "noopener noreferrer";
card.hidden = false;
card.classList.add("open");
document.querySelectorAll(".story").forEach(function (el) {
el.classList.toggle("selected", el.dataset.n === String(s.n));
});
if (rotate) setRotation(s.lon, s.lat, true);
}
document.getElementById("card-close").addEventListener("click", closeCard);
document.getElementById("card-x").addEventListener("click", closeCard);
const btnAll = document.getElementById("btn-all");
const btnGood = document.getElementById("btn-good");
const showingEl = document.getElementById("showing");
function applyFilter() {
let shown = 0;
ROWS.forEach(function (r) {
const vis = !goodOnly || r.section === "good";
r.li.style.display = vis ? "" : "none";
if (vis) shown++;
});
list.querySelectorAll("li.section-heading").forEach(function (h) {
const sec = h.dataset.section;
h.style.display = (!goodOnly || sec === "good") ? "" : "none";
});
showingEl.textContent = "Showing " + shown + " of " + STORIES.length +
(goodOnly ? " (good news only)" : "");
btnAll.classList.toggle("active", !goodOnly);
btnAll.setAttribute("aria-pressed", String(!goodOnly));
btnGood.classList.toggle("active", goodOnly);
btnGood.setAttribute("aria-pressed", String(goodOnly));
if (currentN !== null && !isVisible(storyByN(currentN))) closeCard();
drawCanvas();
}
function setGoodOnly(v) {
goodOnly = !!v;
applyFilter();
}
btnAll.addEventListener("click", function () { setGoodOnly(false); });
btnGood.addEventListener("click", function () { setGoodOnly(true); });
function setRotation(lon, lat, clearView) {
rot = {lon: lon, lat: lat};
if (clearView) viewsEl.querySelectorAll("button").forEach(function (x) { x.classList.remove("active"); });
drawCanvas();
}
function project(lat, lon) {
const d = Math.PI / 180;
const lat1 = lat * d, lon1 = lon * d, clat = rot.lat * d, clon = rot.lon * d;
const cosc = Math.sin(clat) * Math.sin(lat1) + Math.cos(clat) * Math.cos(lat1) * Math.cos(lon1 - clon);
if (cosc <= 0.02) return null;
const x = Math.cos(lat1) * Math.sin(lon1 - clon);
const y = Math.cos(clat) * Math.sin(lat1) - Math.sin(clat) * Math.cos(lat1) * Math.cos(lon1 - clon);
return {x: x, y: y, k: cosc};
}
function llToVec(lat, lon) {
const la = lat * Math.PI / 180, lo = lon * Math.PI / 180;
const cl = Math.cos(la);
return [cl * Math.cos(lo), cl * Math.sin(lo), Math.sin(la)];
}
function vDot(a, b) { return a[0] * b[0] + a[1] * b[1] + a[2] * b[2]; }
function viewCenter() { return llToVec(rot.lat, rot.lon); }
function projectVec(v) {
const d = Math.PI / 180;
const clat = rot.lat * d, clon = rot.lon * d;
const scla = Math.sin(clat), ccla = Math.cos(clat);
const sclo = Math.sin(clon), cclo = Math.cos(clon);
const k = v[2] * scla + ccla * (v[0] * cclo + v[1] * sclo);
const x = v[1] * cclo - v[0] * sclo;
const y = ccla * v[2] - scla * (v[0] * cclo + v[1] * sclo);
return {x: x, y: y, k: k};
}
function densifyRing(ring, maxDeg) {
maxDeg = maxDeg || 2.5;
const n0 = ring.length;
if (n0 < 2) return [];
const closed = ring[0][0] === ring[n0 - 1][0] && ring[0][1] === ring[n0 - 1][1];
const src = closed ? ring.slice(0, -1) : ring;
const n = src.length;
const pts = [];
for (let i = 0; i < n; i++) {
const a = src[i], b = src[(i + 1) % n];
let dlon = b[0] - a[0];
while (dlon > 180) dlon -= 360;
while (dlon < -180) dlon += 360;
const dlat = b[1] - a[1];
const dist = Math.hypot(dlon, dlat);
if (dist < 1e-9) continue;
const steps = Math.max(1, Math.ceil(dist / maxDeg));
for (let s = 0; s < steps; s++) {
pts.push([a[0] + dlon * (s / steps), a[1] + dlat * (s / steps)]);
}
}
return pts;
}
const FRONT_EPS = 0.02;
function clipRingFill(ring, C) {
const ll = densifyRing(ring, 2.5);
if (ll.length < 3) return [];
const vecs = [];
for (let i = 0; i < ll.length; i++) vecs.push(llToVec(ll[i][1], ll[i][0]));
const n = vecs.length;
const out = [];
for (let i = 0; i < n; i++) {
const a = vecs[i], b = vecs[(i + 1) % n];
const ka = vDot(a, C), kb = vDot(b, C);
const aIn = ka >= FRONT_EPS, bIn = kb >= FRONT_EPS;
if (aIn) out.push(a);
if (aIn !== bIn) {
const t = kb === ka ? 0.5 : (FRONT_EPS - ka) / (kb - ka);
const tt = t < 0 ? 0 : t > 1 ? 1 : t;
out.push([
a[0] + (b[0] - a[0]) * tt,
a[1] + (b[1] - a[1]) * tt,
a[2] + (b[2] - a[2]) * tt
]);
}
}
if (out.length < 3) return [];
const proj = [];
for (let i = 0; i < out.length; i++) proj.push(projectVec(out[i]));
return proj;
}
function coastSegments(ring, C) {
const ll = densifyRing(ring, 2.0);
const segs = [];
let cur = [];
for (let i = 0; i < ll.length; i++) {
const v = llToVec(ll[i][1], ll[i][0]);
if (vDot(v, C) >= FRONT_EPS) cur.push(projectVec(v));
else if (cur.length) { segs.push(cur); cur = []; }
}
if (cur.length) segs.push(cur);
return segs;
}
function drawLand(ctx, cx, cy, R) {
const C = viewCenter();
ctx.fillStyle = "#1a3346";
for (let p = 0; p < LAND_FILL.length; p++) {
const poly = LAND_FILL[p];
ctx.beginPath();
let any = false;
for (let r = 0; r < poly.length; r++) {
const clipped = clipRingFill(poly[r], C);
if (clipped.length < 3) continue;
any = true;
ctx.moveTo(cx + clipped[0].x * R, cy - clipped[0].y * R);
for (let i = 1; i < clipped.length; i++) {
ctx.lineTo(cx + clipped[i].x * R, cy - clipped[i].y * R);
}
ctx.closePath();
}
if (any) ctx.fill("evenodd");
}
ctx.strokeStyle = "#6a9aab";
ctx.lineWidth = Math.max(1, R * 0.0035);
ctx.lineJoin = "round";
ctx.lineCap = "round";
ctx.beginPath();
for (let p = 0; p < LAND_COAST.length; p++) {
const poly = LAND_COAST[p];
for (let r = 0; r < poly.length; r++) {
const segs = coastSegments(poly[r], C);
for (let s = 0; s < segs.length; s++) {
const seg = segs[s];
if (seg.length < 2) continue;
ctx.moveTo(cx + seg[0].x * R, cy - seg[0].y * R);
for (let i = 1; i < seg.length; i++) {
ctx.lineTo(cx + seg[i].x * R, cy - seg[i].y * R);
}
}
}
}
ctx.stroke();
}
function drawCanvas() {
const cv = document.getElementById("canvas-globe");
const ctx = cv.getContext("2d");
const w = cv.width, h = cv.height;
const cx = w / 2, cy = h / 2, R = Math.min(w, h) * 0.42;
ctx.clearRect(0, 0, w, h);
ctx.fillStyle = "#060b12";
ctx.fillRect(0, 0, w, h);
const g = ctx.createRadialGradient(cx - R * 0.28, cy - R * 0.32, R * 0.1, cx, cy, R);
g.addColorStop(0, "#143554");
g.addColorStop(0.55, "#0a1b2e");
g.addColorStop(1, "#050d16");
ctx.beginPath(); ctx.arc(cx, cy, R, 0, Math.PI * 2); ctx.fillStyle = g; ctx.fill();
ctx.strokeStyle = "#8ec8d8"; ctx.lineWidth = 2; ctx.stroke();
ctx.save();
ctx.beginPath(); ctx.arc(cx, cy, R, 0, Math.PI * 2); ctx.clip();
drawLand(ctx, cx, cy, R);
ctx.strokeStyle = "rgba(26,58,82,0.9)"; ctx.lineWidth = 1;
for (let lat = -60; lat <= 60; lat += 30) {
ctx.beginPath();
let started = false;
for (let lon = -180; lon <= 180; lon += 4) {
const p = project(lat, lon);
if (!p) { started = false; continue; }
const x = cx + p.x * R, y = cy - p.y * R;
if (!started) { ctx.moveTo(x, y); started = true; } else ctx.lineTo(x, y);
}
ctx.stroke();
}
for (let lon = -180; lon < 180; lon += 30) {
ctx.beginPath();
let started = false;
for (let lat = -90; lat <= 90; lat += 4) {
const p = project(lat, lon);
if (!p) { started = false; continue; }
const x = cx + p.x * R, y = cy - p.y * R;
if (!started) { ctx.moveTo(x, y); started = true; } else ctx.lineTo(x, y);
}
ctx.stroke();
}
const limb = ctx.createRadialGradient(cx, cy, R * 0.55, cx, cy, R);
limb.addColorStop(0, "rgba(0,0,0,0)");
limb.addColorStop(1, "rgba(2,6,12,0.55)");
ctx.fillStyle = limb; ctx.fillRect(cx - R, cy - R, R * 2, R * 2);
const dpr = cv._dpr || 1;
const mobile = window.matchMedia("(max-width: 700px)").matches;
const pinCss = mobile ? 13 : 11;
const pinR = pinCss * dpr;
visibleStories().forEach(function (s) {
const p = project(s.lat, s.lon);
if (!p) return;
const good = isGood(s);
const x = cx + p.x * R, y = cy - p.y * R;
ctx.beginPath(); ctx.arc(x, y, pinR, 0, Math.PI * 2);
ctx.fillStyle = good ? "#4ecb8f" : "#f3c14b"; ctx.fill();
ctx.strokeStyle = good ? "#e2fff0" : "#fff4cc"; ctx.lineWidth = Math.max(1, 1.2 * dpr); ctx.stroke();
ctx.fillStyle = "#0a1018";
const fontPx = (s.n >= 10 ? 8 : 9) * dpr;
ctx.font = "bold " + fontPx + "px -apple-system, BlinkMacSystemFont, sans-serif";
ctx.textAlign = "center"; ctx.textBaseline = "middle";
ctx.fillText(String(s.n), x, y + 0.5 * dpr);
});
ctx.restore();
cv._R = R; cv._cx = cx; cv._cy = cy;
}
function hitPin(clientX, clientY) {
const cv = document.getElementById("canvas-globe");
const rect = cv.getBoundingClientRect();
const sx = cv.width / rect.width, sy = cv.height / rect.height;
const mx = (clientX - rect.left) * sx, my = (clientY - rect.top) * sy;
const R = cv._R, cx = cv._cx, cy = cv._cy;
const dpr = cv._dpr || 1;
const mobile = window.matchMedia("(max-width: 700px)").matches;
const hitCss = mobile ? 32 : 24;
const pinR = hitCss * dpr;
let best = null, bestD = pinR * pinR;
visibleStories().forEach(function (s) {
const p = project(s.lat, s.lon);
if (!p) return;
const x = cx + p.x * R, y = cy - p.y * R;
const d = (x - mx) * (x - mx) + (y - my) * (y - my);
if (d <= bestD) { bestD = d; best = s; }
});
return best;
}
function startCanvas() {
const plotDiv = document.getElementById("globe");
const cv = document.getElementById("canvas-globe");
if (plotDiv) plotDiv.style.display = "none";
cv.style.display = "block";
function fit() {
const wrap = cv.parentElement.getBoundingClientRect();
const cssH = cv.getBoundingClientRect().height || Math.min(window.innerHeight * 0.62, 520);
const dpr = Math.min(window.devicePixelRatio || 1, 2);
cv._dpr = dpr;
cv.width = Math.max(320, wrap.width) * dpr;
cv.height = Math.max(280, cssH) * dpr;
drawCanvas();
}
fit();
window.addEventListener("resize", fit);
let dragging = false, moved = false, lx = 0, ly = 0;
function down(x, y) { dragging = true; moved = false; lx = x; ly = y; cv.style.cursor = "grabbing"; }
function move(x, y) {
if (!dragging) return;
const dx = x - lx, dy = y - ly;
if (Math.hypot(dx, dy) > 18) moved = true;
rot.lon = ((rot.lon - dx * 0.35) + 540) % 360 - 180;
rot.lat = Math.max(-89, Math.min(89, rot.lat + dy * 0.3));
lx = x; ly = y;
viewsEl.querySelectorAll("button").forEach(function (b) { b.classList.remove("active"); });
drawCanvas();
}
function up(x, y) {
if (!dragging) return;
dragging = false; cv.style.cursor = "grab";
if (!moved) {
const s = hitPin(x, y);
if (s) selectStory(s.n, false);
}
}
cv.addEventListener("mousedown", function (e) { down(e.clientX, e.clientY); });
window.addEventListener("mousemove", function (e) { move(e.clientX, e.clientY); });
window.addEventListener("mouseup", function (e) { up(e.clientX, e.clientY); });
cv.addEventListener("touchstart", function (e) {
const t = e.changedTouches[0]; down(t.clientX, t.clientY);
}, {passive: true});
cv.addEventListener("touchmove", function (e) {
const t = e.changedTouches[0]; move(t.clientX, t.clientY);
if (moved) e.preventDefault();
}, {passive: false});
cv.addEventListener("touchend", function (e) {
const t = e.changedTouches[0]; up(t.clientX, t.clientY);
});
}
applyFilter();
startCanvas();
</script>
</body>
</html>