Commit ·
ce4384d
1
Parent(s): ba82f4a
feat: add first version of the app
Browse files- README.md +11 -0
- app.py +149 -0
- requirements.txt +8 -0
- src/cape-verde.html +230 -0
- src/cape-verde.svg +100 -0
README.md
CHANGED
|
@@ -11,3 +11,14 @@ short_description: Variant classifier (Barlavento, Sotavento) for Cape Verde
|
|
| 11 |
---
|
| 12 |
|
| 13 |
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
---
|
| 12 |
|
| 13 |
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
| 14 |
+
|
| 15 |
+
Clear the cached model
|
| 16 |
+
|
| 17 |
+
Hugging Face caches models in ~/.cache/huggingface/transformers (or ~/.cache/huggingface/hub). Delete the folder for your model:
|
| 18 |
+
|
| 19 |
+
rm -rf ~/.cache/huggingface/transformers/your-model-name
|
| 20 |
+
|
| 21 |
+
or for a full cache refresh:
|
| 22 |
+
|
| 23 |
+
rm -rf ~/.cache/huggingface/transformers/*
|
| 24 |
+
rm -rf ~/.cache/huggingface/hub/*
|
app.py
ADDED
|
@@ -0,0 +1,149 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import os
|
| 2 |
+
import torch
|
| 3 |
+
import threading
|
| 4 |
+
import gradio as gr
|
| 5 |
+
from transformers import AutoTokenizer, AutoModelForSequenceClassification
|
| 6 |
+
|
| 7 |
+
# Hugging Face token for private models (if private)
|
| 8 |
+
HF_TOKEN = os.environ.get("HF_TOKEN")
|
| 9 |
+
|
| 10 |
+
# Models dictionary
|
| 11 |
+
MODELS = {
|
| 12 |
+
"kriolSet-v2-BART-variant-classifier": "robertocarlosmedina/kriolSet-v2-BART-variant-classifier",
|
| 13 |
+
"kriolSet-v2-BERT-variant-classifier": "robertocarlosmedina/kriolSet-v2-BERT-variant-classifier",
|
| 14 |
+
"kriolSet-v2-DistilBERT-variant-classifier": "robertocarlosmedina/kriolSet-v2-DistilBERT-variant-classifier",
|
| 15 |
+
"kriolSet-v2-XML-RoBERTa-variant-classifier": "robertocarlosmedina/kriolSet-v2-XML-RoBERTa-variant-classifier",
|
| 16 |
+
}
|
| 17 |
+
|
| 18 |
+
css = """
|
| 19 |
+
.gradio-container {
|
| 20 |
+
max-width: 1164px !important; /* limit wide screens */
|
| 21 |
+
margin: auto !important; /* center */
|
| 22 |
+
width: 100% !important; /* allow fluid scaling */
|
| 23 |
+
}
|
| 24 |
+
"""
|
| 25 |
+
|
| 26 |
+
loaded_models = {} # cache: tokenizer + model + device
|
| 27 |
+
|
| 28 |
+
# Preload model in background
|
| 29 |
+
def preload_models():
|
| 30 |
+
for model_name, model_id in MODELS.items():
|
| 31 |
+
if model_id not in loaded_models:
|
| 32 |
+
tokenizer = AutoTokenizer.from_pretrained(
|
| 33 |
+
model_id, use_auth_token=HF_TOKEN)
|
| 34 |
+
model = AutoModelForSequenceClassification.from_pretrained(
|
| 35 |
+
model_id, use_auth_token=HF_TOKEN) #force_download=True,
|
| 36 |
+
device = "cuda" if torch.cuda.is_available() else "cpu"
|
| 37 |
+
model.to(device)
|
| 38 |
+
loaded_models[model_id] = (tokenizer, model, device)
|
| 39 |
+
print(f"Preloaded {model_name} -> {model_id}")
|
| 40 |
+
|
| 41 |
+
threading.Thread(target=preload_models, daemon=True).start()
|
| 42 |
+
|
| 43 |
+
# Classification function
|
| 44 |
+
def classify_variant(model_name, text):
|
| 45 |
+
if not text.strip():
|
| 46 |
+
return {}
|
| 47 |
+
|
| 48 |
+
model_id = MODELS[model_name]
|
| 49 |
+
tokenizer, model, device = loaded_models[model_id]
|
| 50 |
+
|
| 51 |
+
inputs = tokenizer(text, return_tensors="pt", padding=True, truncation=True, max_length=256).to(device)
|
| 52 |
+
|
| 53 |
+
with torch.no_grad():
|
| 54 |
+
outputs = model(**inputs)
|
| 55 |
+
probs = torch.nn.functional.softmax(outputs.logits, dim=-1)[0]
|
| 56 |
+
|
| 57 |
+
label_map = {0: "Barlavento", 1: "Sotavento"}
|
| 58 |
+
return {label_map[i]: float(probs[i]) for i in range(len(probs))}
|
| 59 |
+
|
| 60 |
+
# Example texts
|
| 61 |
+
examples = [
|
| 62 |
+
["Nha fidju ta studa na Mindelo."],
|
| 63 |
+
["Nha casa sta na Praia."],
|
| 64 |
+
["Kume bu txoma?"],
|
| 65 |
+
["Mi sta na Santiago."]
|
| 66 |
+
]
|
| 67 |
+
|
| 68 |
+
html_content = ""
|
| 69 |
+
js_content = ""
|
| 70 |
+
|
| 71 |
+
with open("src/cape-verde.html", "r", encoding="utf-8") as f:
|
| 72 |
+
html_full = f.read()
|
| 73 |
+
|
| 74 |
+
# Separate JS from HTML if your script is inline
|
| 75 |
+
import re
|
| 76 |
+
js_matches = re.findall(r"<script>(.*?)</script>", html_full, re.DOTALL)
|
| 77 |
+
for js in js_matches:
|
| 78 |
+
js_content += js + "\n"
|
| 79 |
+
|
| 80 |
+
html_content = re.sub(r"<script>.*?</script>", "", html_full, flags=re.DOTALL)
|
| 81 |
+
|
| 82 |
+
# Gradio UI
|
| 83 |
+
with gr.Blocks(theme=gr.themes.Default(primary_hue="orange", neutral_hue="gray"), css=css) as demo:
|
| 84 |
+
gr.Markdown("<h2>Cape Verdean Creole Variant Classifier</h2>")
|
| 85 |
+
gr.Markdown("""<p>These models were trained on a subset of KriolSet V2 containing 12,000 sentences
|
| 86 |
+
(6,000 from Sotavento and 6,000 from Barlavento) to perform classification
|
| 87 |
+
between the two variants.</p>""")
|
| 88 |
+
gr.Markdown("""<p>We invite you to try it out: simply choose a model,
|
| 89 |
+
enter a Cape Verdean Creole sentence or choose one from the examples, and click Classify.</p>""")
|
| 90 |
+
|
| 91 |
+
with gr.Row():
|
| 92 |
+
with gr.Column(scale=1):
|
| 93 |
+
model_select = gr.Dropdown(
|
| 94 |
+
list(MODELS.keys()), label="Choose Model", value=list(MODELS.keys())[0])
|
| 95 |
+
|
| 96 |
+
text_input = gr.Textbox(label="Input Text", placeholder="Enter a sentence...")
|
| 97 |
+
classify_btn = gr.Button("Classify")
|
| 98 |
+
output_label = gr.Label(label="Predicted Variant")
|
| 99 |
+
|
| 100 |
+
example_comp = gr.Examples(
|
| 101 |
+
examples=examples,
|
| 102 |
+
inputs=[text_input],
|
| 103 |
+
label="Example Sentences"
|
| 104 |
+
)
|
| 105 |
+
|
| 106 |
+
with gr.Column(scale=1):
|
| 107 |
+
html_embed = gr.HTML(
|
| 108 |
+
f"""
|
| 109 |
+
<div style="
|
| 110 |
+
height:390px;
|
| 111 |
+
overflow: auto;
|
| 112 |
+
background-color: #1f2a38;
|
| 113 |
+
border-radius: 4px;
|
| 114 |
+
border: 1px solid #374151;
|
| 115 |
+
margin-top: -10px;
|
| 116 |
+
margin-bottom: -10px;
|
| 117 |
+
">
|
| 118 |
+
{html_content}
|
| 119 |
+
</div>
|
| 120 |
+
"""
|
| 121 |
+
)
|
| 122 |
+
gr.HTML("""
|
| 123 |
+
<div style="
|
| 124 |
+
height: auto;
|
| 125 |
+
overflow: auto;
|
| 126 |
+
background-color: #1f2a38;
|
| 127 |
+
border-radius: 4px;
|
| 128 |
+
border: 1px solid #374151;
|
| 129 |
+
padding: 10px;
|
| 130 |
+
display: flex; align-items: center; gap: 2rem;
|
| 131 |
+
">
|
| 132 |
+
<div style="display: flex; align-items: center; gap: 6px;">
|
| 133 |
+
<div style="width: 10px; height: 10px; border-radius: 50%; background-color: #4caf50;"></div>
|
| 134 |
+
<span style="color: #4caf50;">Barlavento islands</span>
|
| 135 |
+
</div>
|
| 136 |
+
<div style="display: flex; align-items: center; gap: 6px;">
|
| 137 |
+
<div style="width: 10px; height: 10px; border-radius: 50%; background-color: #2196f3;"></div>
|
| 138 |
+
<span style="color: #2196f3;">Sotavento islands</span>
|
| 139 |
+
</div>
|
| 140 |
+
""")
|
| 141 |
+
|
| 142 |
+
classify_btn.click(
|
| 143 |
+
fn=classify_variant,
|
| 144 |
+
inputs=[model_select, text_input],
|
| 145 |
+
outputs=output_label
|
| 146 |
+
)
|
| 147 |
+
gr.HTML(f"<script>{js_content}</script>", render=True)
|
| 148 |
+
|
| 149 |
+
demo.launch()
|
requirements.txt
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
gradio>=3.44,<3.50
|
| 2 |
+
transformers
|
| 3 |
+
torch
|
| 4 |
+
tiktoken
|
| 5 |
+
protobuf
|
| 6 |
+
sentencepiece
|
| 7 |
+
matplotlib
|
| 8 |
+
wordcloud
|
src/cape-verde.html
ADDED
|
@@ -0,0 +1,230 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8" />
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
| 6 |
+
<title>Cape Verde Map Tooltip</title>
|
| 7 |
+
<style>
|
| 8 |
+
.map-svg {
|
| 9 |
+
width: auto;
|
| 10 |
+
height: auto;
|
| 11 |
+
margin: 0 auto;
|
| 12 |
+
padding: 20px;
|
| 13 |
+
}
|
| 14 |
+
.tooltip {
|
| 15 |
+
position: absolute;
|
| 16 |
+
background-color: rgba(0, 0, 0, 0.8);
|
| 17 |
+
color: #fff;
|
| 18 |
+
padding: 5px 10px;
|
| 19 |
+
border-radius: 5px;
|
| 20 |
+
pointer-events: none;
|
| 21 |
+
opacity: 0;
|
| 22 |
+
transition: opacity 0.2s;
|
| 23 |
+
font-size: 14px;
|
| 24 |
+
}
|
| 25 |
+
.island {
|
| 26 |
+
stroke: #fff;
|
| 27 |
+
stroke-width: 1;
|
| 28 |
+
cursor: pointer;
|
| 29 |
+
transition: fill 0.2s;
|
| 30 |
+
}
|
| 31 |
+
.barlavento {
|
| 32 |
+
fill: #4caf50;
|
| 33 |
+
}
|
| 34 |
+
.sotavento {
|
| 35 |
+
fill: #2196f3;
|
| 36 |
+
}
|
| 37 |
+
.island:hover {
|
| 38 |
+
opacity: 0.5;
|
| 39 |
+
}
|
| 40 |
+
</style>
|
| 41 |
+
</head>
|
| 42 |
+
<body>
|
| 43 |
+
<div class="tooltip" id="tooltip"></div>
|
| 44 |
+
<svg
|
| 45 |
+
class="map-svg"
|
| 46 |
+
xmlns:mapsvg="http://mapsvg.com"
|
| 47 |
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
| 48 |
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
| 49 |
+
xmlns:svg="http://www.w3.org/2000/svg"
|
| 50 |
+
xmlns="http://www.w3.org/2000/svg"
|
| 51 |
+
mapsvg:geoViewBox="-25.361959 17.205510 -22.664740 14.801614"
|
| 52 |
+
width="350"
|
| 53 |
+
height="330"
|
| 54 |
+
>
|
| 55 |
+
<path
|
| 56 |
+
class="island sotavento"
|
| 57 |
+
transform="scale(0.4, 0.4)"
|
| 58 |
+
d="m 216.68917,759.77285 0.71,1 -1.06,0.82 0.27,0.46 1.06,-0.46 0.44,0.73 1.42,0.18 0.44,0.55 -0.97,0.46 -0.27,0.82 -0.97,-0.18 -0.18,0.73 0.89,0.27 -0.35,0.64 0.18,2.73 0.89,0.09 0.18,1.18 0.71,0.91 -0.09,0.82 1.33,1 0.44,1.27 -0.09,1.37 -0.88,1.64 0.62,0.73 0.35,0.36 0.8,0.64 -0.35,0.82 -1.06,0 -0.27,1 0.53,1 0,0.55 -0.44,0.82 -1.42,0.46 0.44,1 -0.71,2 0.27,0.46 -1.24,0.18 -0.62,1 -0.62,-0.27 -1.24,0.82 -0.44,0.55 -0.44,0.36 -0.53,0 -0.44,0.82 -0.88,-0.18 -0.71,0.73 -0.35,0.55 -0.97,0.09 0,0.73 -0.62,0.27 -1.24,-1 0.62,-0.64 -0.18,-1.27 -2.04,0.36 -0.27,0.64 -0.53,-0.55 -0.62,0.64 -0.09,-0.91 -1.24,0.09 -0.09,-0.73 -0.62,-0.09 -1.24,-0.46 -0.09,-1.18 -1.42,-1.18 -0.44,-1.64 -0.71,-0.46 -0.97,-1.82 -0.8,0.18 -0.62,1.37 -2.04,-1.73 0,-2.28 0.71,0.18 0.35,-2.82 -1.33,-1 0.18,-0.82 0.88,-0.27 -1.24,-1.18 0.53,-0.73 -0.27,-1.27 0.44,-0.18 -0.44,-0.82 0.8,0.27 0.71,-0.73 0.44,0.82 0.97,-0.55 1.06,0.55 1.24,-0.82 0.18,-1.55 -0.97,-0.09 -0.35,-0.73 0.35,-1 -0.27,-1.09 0.8,0.36 0.27,-0.91 1.33,-1.09 -0.09,-1.55 0.44,0.09 -0.09,0.64 0.53,0.09 0,0.36 0.88,-0.18 0.27,0.55 0.8,-1 0.71,0.64 -0.09,0.55 1.06,0.36 0.53,-0.55 -0.18,-0.36 1.24,-1 1.68,-0.27 0.44,-0.45 2.66,-0.09 0.62,-0.46 -0.09,-1.46 1.86,-0.09 0.62,1 0.7,-1.21 z m 7.97,-23.49 0.53,1.55 -1.06,-0.27 -0.71,0.64 -0.53,-0.27 0.18,-1.09 1.37,0.3 -0.22,-0.48 0.44,-0.38 z m 2.83,-0.09 0.53,0.46 0,0.91 -0.97,-0.27 0,-1.09 0.44,0 z m -10.97,-1.82 1.15,0.82 0.09,1 -0.53,1 -0.71,0 0.27,0.73 -0.71,0.73 0.44,0.36 -1.42,1.28 -2.04,0.36 -1.33,-1.37 0.09,-1.18 0.8,0.55 -0.09,-1.09 0.89,-0.73 -0.35,-0.64 0.88,-0.09 -0.09,-0.55 1.15,-1.09 0.53,0.18 0,0.91 0.35,0 0.18,-1 0.45,-0.18 z m 15.4,-2.1 1.15,1.91 0.71,0.09 -0.18,1.64 -1.15,-0.37 0.44,0.82 -0.89,0.46 -0.27,0.73 -0.35,-0.27 -0.35,0.45 -0.3,-0.18 -0.14,1.1 -0.62,0.73 -1.06,-0.73 0,-0.46 -0.97,0.55 0.89,-1.55 0.88,0.09 0.18,-0.64 1.5,-0.73 0.09,-1.09 0.35,-0.09 -0.35,-0.27 0.35,-1.37 -0.44,-0.64 0.53,-0.18 z"
|
| 59 |
+
title="Brava"
|
| 60 |
+
id="CV-BR"
|
| 61 |
+
/>
|
| 62 |
+
<path
|
| 63 |
+
class="island barlavento"
|
| 64 |
+
transform="scale(0.4, 0.4)"
|
| 65 |
+
d="m 772.87917,340.29285 2.13,0.73 0.62,0.83 0.71,0 0.88,1.28 0.09,1.28 -0.62,0.37 -0.8,-0.73 -1.15,-0.18 -0.18,-1.19 -1.59,-1.01 -0.09,-1.38 z m 47.44,-17.04 0,1.1 0.53,-0.18 0.53,-1.19 0.44,0.37 -0.35,0.92 0.53,-0.18 0.02,-0.41 0.59,0.23 -0.71,1.19 0.8,0.92 2.83,-0.18 0.35,-0.37 0.53,0.64 2.57,0.64 4.25,2.38 2.48,0.27 0.8,-0.37 0.71,0.82 2.21,-0.18 0.62,1.37 1.06,0.37 1.42,-0.73 1.5,0.46 0.53,-0.37 0.27,0.37 -0.62,0.55 0.53,0.27 0.44,-0.37 0,0.83 0.71,0 0.27,-0.73 1.15,0.37 0,0.83 -0.62,0 -1.24,1.1 0.44,1.1 1.06,0.18 -0.62,2.11 -0.44,0.27 1.06,2.75 6.02,6.05 2.74,3.39 0.62,0.18 0.18,0.64 0.8,-0.27 -0.53,1.1 0.8,2.47 -0.27,1.1 1.5,1.65 -1.95,-0.64 -0.97,1.28 -0.27,1.74 0.97,2.02 0.09,1.65 1.24,1.01 -0.27,2.29 0.71,0.46 0,1.74 0.8,1.47 -0.18,0.46 0.71,0.09 0,0.64 -0.97,-0.18 -0.27,0.37 0,1.46 -1.15,0.82 -0.35,1.92 -1.33,1.28 -0.18,1.19 -0.62,0.27 -0.53,4.3 -2.13,2.75 -0.88,0 -0.89,0.64 -0.35,-0.73 -0.62,-0.18 -1.95,2.11 -2.74,0.73 -1.5,1.74 0.27,0.55 -0.71,0.82 -0.8,-0.18 -1.24,1.01 -1.24,-0.46 -0.71,0.82 -1.95,0.55 -5.4,3.39 -0.71,0 -0.53,-0.64 -0.71,0.92 0.35,0.55 -0.53,0.18 -0.88,2.01 -2.83,0.92 -2.39,0.18 -0.71,0.55 0,0.64 -3.01,1.92 -2.12,2.56 -0.09,0.92 -1.42,0 -0.97,0.55 -1.59,-1.1 -0.97,0.37 -2.3,-0.46 -10.8,0.09 -7.53,1.37 -1.24,-1.28 -0.8,-0.18 -0.35,-1.65 -1.33,-1.19 -0.18,-1.92 -2.3,-1.83 -2.66,-1.1 -0.44,0.82 -0.44,0 -5.13,-1.28 -7.79,-3.57 -2.13,-2.75 0.44,-2.56 -1.15,-1.1 -0.97,1.1 0.09,-1.65 -1.59,-2.29 1.59,-2.75 0,-1.46 0.53,-0.92 -0.44,-2.11 0.27,-1.28 1.33,-1.1 0.27,-0.82 -1.33,-3.3 3.72,-4.21 1.5,-0.92 1.24,0.37 1.5,-0.37 7.26,-6.32 0.27,-1.1 1.24,-0.92 0.09,-1.92 -0.8,-1.83 0.8,-1.37 0.27,-1.65 1.77,-0.92 -0.35,-0.85 0.27,-0.82 -1.59,0.64 0,-0.82 -0.53,-0.18 -0.18,-1.56 -0.62,-0.46 -0.44,-1.74 -1.06,-0.55 -0.44,-2.38 -1.77,-0.64 -0.09,-0.92 0.71,-0.27 -0.27,-0.82 0.71,-1.19 0,-0.37 -0.44,0.18 -0.44,-0.46 0.71,-0.64 0.89,0.46 -0.44,-2.56 0.62,-1.01 1.33,-0.73 0,-1.19 -2.92,-1.46 0.8,-2.02 -0.18,-1.56 -0.88,-0.37 0.35,-2.11 1.95,-1.19 1.77,0 -0.53,2.11 1.59,0.46 2.39,1.83 1.15,-0.27 0.44,0.46 -0.27,0.92 2.21,1.83 5.4,1.74 5.49,0.37 2.39,-0.46 3.54,0.27 8.32,-1.74 2.04,-1.1 2.04,-2.2 1.06,0.18 0.53,-0.46 -0.18,-0.64 -1.24,0.27 -0.71,-1.28 0.35,-0.37 0.97,0.18 -0.44,-0.55 0.18,-1.19 1.5,-0.46 -0.19,0.83 z"
|
| 66 |
+
title="Boa Vista"
|
| 67 |
+
id="CV-BV"
|
| 68 |
+
/>
|
| 69 |
+
<path
|
| 70 |
+
class="island sotavento"
|
| 71 |
+
transform="scale(0.4, 0.4)"
|
| 72 |
+
d="m 552.39917,689.24285 -3.46,3.03 -4.47,1.59 -0.17,2.3 1.03,1.42 0,1.42 -1.55,2.3 0.69,3.01 -0.13,3.3 0,0 -0.59,0 0,0 -1.91,1.31 -1.06,5.89 -5.52,0 -1.27,0.66 -1.27,1.75 0.21,2.18 -1.7,3.05 -0.21,1.31 0,1.09 1.7,2.18 -0.64,0.88 -1.9,0.43 -4.19,5.57 0,0 -0.62,-0.36 -1.95,0.18 -0.8,-1.37 -1.32,-0.36 -0.45,-1.37 0.62,-1 0.36,0.37 1.5,-0.28 -0.26,-1.54 0.88,0.18 -0.09,-0.46 1.07,-0.64 0.17,-1.09 -0.79,-0.27 -0.27,-0.82 1.15,-0.64 -0.09,-1.36 -0.53,0.09 -0.53,-0.82 -0.53,0 0.09,-0.64 -1.51,-1.46 -0.62,-0.09 -0.7,-1.37 -1.78,-0.27 -0.97,-0.82 -0.88,-1.82 -0.71,-0.46 -0.89,0.37 -0.44,1.27 -1.24,0.1 -1.24,-2.28 -0.09,-1.73 -1.06,-0.73 -0.71,-1.73 -1.24,-0.28 -0.44,-0.91 0.27,-1.27 -1.86,-0.73 -0.98,-1.19 -0.62,0 -0.26,0.64 -1.15,-0.18 0.35,-1.28 -1.06,-1.54 0.35,-0.82 1.15,0.27 0.98,-0.46 -0.18,-1.64 -1.24,-2.09 0.36,-1 -0.36,-0.91 2.57,-1.37 -0.36,-1 0.45,-0.55 -0.36,-3.1 0.53,-1.82 0.54,0 -0.36,-1.37 0.71,-0.91 -0.09,-0.45 -1.15,-0.1 0.18,-1.09 1.59,-0.45 1.59,-2.37 -0.08,-0.82 -1.24,-0.73 0,-1.01 0.53,-0.18 0.53,-1.82 -1.86,-0.55 0.09,-2.82 -0.44,-0.73 1.15,-1.46 -2.13,-3.56 1.24,0.1 1.33,-0.92 -0.53,-1.73 0.26,-2 1.86,-2.34 0,0 3.95,0.06 2.33,-1.09 1.7,0.87 1.49,1.53 1.27,0.22 0.63,-0.22 1.06,-4.15 1.91,0.66 0.64,1.52 1.27,1.31 4.24,0 0,0 0.64,5.68 1.06,0.87 4.24,0 1.48,0.44 3.82,3.49 1.49,2.63 -0.43,1.96 -2.33,3.71 -0.21,1.09 0.42,0.88 1.91,0 3.39,-0.88 4.79,-6.11 0,0 2.21,0.44 0.42,1.74 -1.06,3.28 0,1.31 1.27,0.43 0,1.31 -0.42,0.88 -1.7,0.22 -0.84,0.65 0,1.96 0,0 z"
|
| 73 |
+
title="Santa Catarina"
|
| 74 |
+
id="CV-CA"
|
| 75 |
+
/>
|
| 76 |
+
<path
|
| 77 |
+
class="island sotavento"
|
| 78 |
+
transform="scale(0.4, 0.4)"
|
| 79 |
+
d="m 343.62917,750.22285 -2.09,2.12 -4.13,6.76 -3.48,2.52 -5.94,1.33 -4,0.27 -4,-0.93 -4.77,-4.25 -1.16,-4.11 0.13,-3.85 1.93,-2.38 5.29,-4.25 2.6,-2.69 0,0 1.7,1.62 0,0 2.84,0.49 5.44,-0.98 7.87,-0.13 0,0 0.71,3.35 0.62,0.28 z"
|
| 80 |
+
title="Santa Catarina do Fogo"
|
| 81 |
+
id="CV-CF"
|
| 82 |
+
/>
|
| 83 |
+
<path
|
| 84 |
+
class="island sotavento"
|
| 85 |
+
transform="scale(0.4, 0.4)"
|
| 86 |
+
d="m 574.91917,705.21285 -0.35,-3.56 -1.2,-4.6 -1.38,-0.89 -1.89,0 -0.86,0.18 -2.41,1.77 -0.69,0 -2.06,-0.71 -0.35,-1.41 -1.2,-0.53 -0.69,-1.78 -0.71,-0.42 0,0 0.85,-0.49 0,0 2.33,-0.21 0,-1.75 -1.69,-1.31 -9.97,0 0,0 -0.63,-0.66 0,0 0,-1.96 0.84,-0.65 1.7,-0.22 0.42,-0.88 0,-1.31 -1.27,-0.43 0,-1.31 1.06,-3.28 -0.42,-1.74 -2.21,-0.44 0,0 0.3,-0.44 3.18,0 1.49,-0.43 8.82,-7.71 0,0 0.87,0.46 0.62,-0.18 0.7,1.27 0.71,-1 0.89,0.27 0.18,0.28 -0.89,0.45 0.09,1.73 1.41,-0.18 0.62,0.46 -0.35,1.64 -0.71,0 0.09,0.54 -0.44,0.28 0.62,0.64 1.33,0.18 0.7,1 0.98,0.37 1.59,-0.1 -0.09,-0.63 0.62,0.09 -0.18,2 2.04,-0.54 0.98,-1.1 0.97,0 1.33,0.46 0.88,0.91 -0.71,1.46 0.8,-0.64 1.15,0.27 0.71,-0.73 0.35,1.73 1.33,0.19 -0.09,0.82 0.44,0.45 -0.26,1.1 -0.62,0.09 -0.27,0.73 0.71,0.73 0.09,1.27 1.15,-0.09 0.53,0.55 1.86,-0.28 1.06,1.01 1.51,0.36 1.59,-0.18 0.36,0.45 -0.18,2.83 1.33,2.92 -0.62,0.91 0.88,-0.37 0.71,0.91 0.09,0.82 0.71,0.28 -0.45,1.18 0.62,0.64 0,0 -1.21,1.7 -2.33,6.11 -2.12,3.71 -4.03,3.27 -2.54,0.88 -2.55,-0.22 -1.27,-2.84 -3.61,-1.75 -0.84,-1.52 0,0 z"
|
| 87 |
+
title="Santa Cruz"
|
| 88 |
+
id="CV-CR"
|
| 89 |
+
/>
|
| 90 |
+
<path
|
| 91 |
+
class="island sotavento"
|
| 92 |
+
transform="scale(0.4, 0.4)"
|
| 93 |
+
d="m 695.59917,615.79285 0.71,0.64 -0.18,1.19 0.71,0.46 -0.53,1.09 0.89,2.55 1.68,0.46 1.77,-0.18 0.62,-1.55 -0.35,-1.1 1.06,-1.46 0.35,1.46 -0.27,3.01 1.42,1.28 0.53,0 0.27,0.73 2.57,0.36 3.28,1.46 2.21,-1 1.06,-1.64 0.71,0.91 0.88,-0.91 1.33,0.55 0.18,1.37 0.89,0.09 -0.27,0.55 1.06,0.55 0.88,2.74 0.53,0.27 -0.35,0.46 0.35,1.28 -0.18,0.82 0.71,2.28 0.97,1.18 0,0.73 -0.27,1.28 -1.15,0.18 -0.27,1.28 -0.97,1 1.24,0.18 0.27,1.73 0.62,0.18 0.27,1.55 0.8,0.73 0.27,3.1 0.8,1.64 -0.18,0.91 0.71,1.55 -0.62,1.19 0.53,0.64 -0.35,1.19 0.88,1.91 -0.62,0.37 0.97,4.56 0.53,0.09 -0.18,1 0.35,0.18 -0.18,0.64 -1.06,0.73 0,0.91 1.59,3.46 -1.06,0.73 0.97,3.1 -2.21,0.82 -0.18,0.27 -1.15,2.46 -0.71,0.91 -0.35,0.55 -1.33,1.19 -0.71,0 0,1.09 -0.8,0.82 -1.06,-0.09 -1.24,1.55 -0.62,0.09 -0.44,-0.46 -0.88,0.91 -1.5,0.09 -0.62,1.09 -1.24,0.64 0,0.73 -1.06,0.55 -0.97,-0.27 -0.62,0.46 -0.27,0 -0.44,0 -0.97,2.55 -2.75,0.82 -2.57,-0.27 -2.39,-1 -2.39,-0.09 -1.77,0.46 -1.77,-1.09 -0.97,-0.09 0,-0.46 -1.5,-0.09 -1.33,-0.73 -0.97,0.18 -0.53,-1.55 -1.77,-1.73 0,-1 -1.42,-1.19 -0.97,0.09 0.09,-0.82 1.59,0.09 -0.09,-1.46 -1.95,-2.37 -0.44,0.09 -1.77,-2.1 -0.8,-0.27 0.44,2.46 -0.88,-2.37 0.44,-5.01 -0.62,-1.73 0.18,-1.19 0.8,-0.55 0.35,-1.09 0,-3.74 0.71,-2.73 -0.27,-2.28 0.53,-0.64 1.15,0.09 2.04,-0.82 -0.27,-5.2 0.27,-1 0.18,-1.91 -1.5,-3.19 -3.36,-0.27 0,-2.83 0.18,-0.37 1.06,0.18 1.06,-1.82 -0.27,-0.55 -1.06,-0.27 0.44,-1.09 2.3,0.64 1.42,-0.82 4.43,-4.29 0.53,-2.74 0.35,-0.64 0.8,-1.09 -1.95,-2.46 1.68,-0.37 0.71,0.73 0.71,-0.18 0.44,0.73 1.06,0 1.42,-1.09 0.09,-0.73 -1.86,-2.83 0.09,-0.64 1.24,-0.09 0.8,-1.19 0.53,0 -0.88,-1.1 0.35,-0.46 0.44,0.37 0.16,-1.84 z"
|
| 94 |
+
title="Maio"
|
| 95 |
+
id="CV-MA"
|
| 96 |
+
/>
|
| 97 |
+
<path
|
| 98 |
+
class="island sotavento"
|
| 99 |
+
transform="scale(0.4, 0.4)"
|
| 100 |
+
d="m 306.40917,717.34285 1.9,-0.82 -0.53,-1.55 0.8,0.36 0.88,-0.82 1.33,-0.36 2.04,-1.91 0.88,-0.1 0.44,-0.82 1.24,-0.27 1.07,-0.91 0.71,0.82 1.32,0.46 3.81,-0.28 2.48,0.73 0.17,0.46 2.31,0.09 1.85,1.09 0.18,1.64 0.53,0.46 1.33,0 0.44,0.45 1.33,-0.18 1.24,0.55 1.06,1.64 0.62,2.18 1.95,0.82 0.71,0.91 0.97,4.19 -0.62,1.64 1.51,0.55 0.62,0.91 0.62,5.01 1.24,1.27 0.17,0.82 -0.62,2.46 0.27,1.37 -0.8,0.54 0,1.02 0,0 -7.87,0.13 -5.44,0.98 -2.84,-0.49 0,0 -3.31,-3.16 0,0 -2.84,-3.9 -0.24,-4.38 -4.02,-1.94 z"
|
| 101 |
+
title="Mosteiros"
|
| 102 |
+
id="CV-MO"
|
| 103 |
+
/>
|
| 104 |
+
<path
|
| 105 |
+
class="island barlavento"
|
| 106 |
+
transform="scale(0.4, 0.4)"
|
| 107 |
+
d="m 109.13917,11.132852 1.5,0.92 -0.35,0.83 0.53,1.29 -0.18,1.28 0.71,0.56 -1.24,1.47 1.33,1.2 0,1.65 0.53,0.83 2.04,1.48 0.17,1.65 0.98,0.74 0.71,1.47 0.97,0.83 1.24,0 0.18,0.46 -0.45,0.46 0.8,0.46 1.77,-1.1 0,1.56 0.62,0 0.62,0.56 1.5,0 0.89,1.1 0.97,-1.1 1.33,0.82 -0.09,1.2 0.62,1.84 -0.35,2.76 1.06,0.37 -0.71,0.74 0.53,1.65 -1.85,1.94 -0.09,1.01 -1.51,0.83 -0.26,1.2 -0.45,0 -0.53,1 0,0 -13.68,-11.09 -3.08,-0.95 -4.9,0 -3.08,0.57 -1.63,-0.75 -0.36,-1.32 -1.61,-1.17 0,0 1.06,-0.53 2.9,-4.72 5.26,-6.22 3.81,-2.27 1.09,-4.53 z"
|
| 108 |
+
title="Paul"
|
| 109 |
+
id="CV-PA"
|
| 110 |
+
/>
|
| 111 |
+
<path
|
| 112 |
+
class="island barlavento"
|
| 113 |
+
transform="scale(0.4, 0.4)"
|
| 114 |
+
d="m 7.77917,39.582852 -0.18,-1.94 1.6,-0.27 0.79,-1.57 1.77,0 1.69,-1.1 1.86,-0.1 1.85,-1.28 1.07,-0.28 0.79,0.09 1.42,-1.56 0.89,0.46 0.53,-0.65 2.56,1.11 2.66,-0.65 0.09,-0.46 2.12,-1.38 0.44,-1.01 0.89,0.18 1.68,-0.55 0.44,-1.2 2.57,0.65 1.68,-0.09 2.3,-1.11 0.8,-1.29 0.97,0 1.24,-1.01 0,0 8.12,8.86 2.36,1.51 5.08,1.32 0.72,1.32 -0.18,3.21 0.73,0.94 1.45,0 7.62,-4.34 2.17,-0.38 9.43,0.57 3.63,-0.75 10.91,-6.45 0,0 1.61,1.17 0.36,1.32 1.63,0.75 3.08,-0.57 4.9,0 3.08,0.95 13.68,11.09 0,0 -0.09,0.56 -1.15,0.37 -0.62,1.29 -0.79,0.55 0,2.3 -3.63,1.47 -1.33,1.75 -3.1,1.47 -0.8,1.11 -3.63,2.2 -1.77,0.37 -1.06,0.83 -0.79,0.37 -0.8,-0.09 -1.33,2.11 -2.39,0.83 -2.21,0 -0.71,0.09 -2.21,-0.36 -2.31,0.36 -1.68,1.11 -1.59,0 -1.15,1.56 -1.15,0.64 -0.62,1.29 -1.06,0.56 -0.27,0.82 -2.83,1.48 -0.8,1.28 -0.35,0.74 -2.84,2.57 -1.68,2.58 -0.71,-0.09 -0.7,1.29 -1.42,0.82 -0.18,0.74 0.71,0.28 -0.44,0.82 -5.4,1.48 -0.98,1.93 -0.79,0.64 -0.36,1.66 -0.97,0.46 -1.86,3.4 -2.65,2.21 -0.36,1.19 -1.68,0.19 0.18,0.73 -0.36,0.37 -0.62,-0.55 -2.21,0.27 -0.62,0.74 -2.57,0.55 -0.53,1.56 -2.12,0.83 -0.09,-0.83 -0.97,0.28 -1.24,-1.29 -2.04,-0.18 -2.66,0.64 -1.32,-0.83 -0.71,0.19 -0.36,-0.74 -0.7,0.1 -0.62,-1.2 -0.89,0.18 -0.62,-0.46 -1.06,0 -0.35,0.83 -1.33,-0.09 -0.36,0.92 -0.79,0.09 0.17,-1.84 -1.06,-0.64 -0.35,0.46 -1.24,-0.19 -1.77,0.46 -0.53,1.38 -3.55,0.65 -1.23,1.38 -3.19,1.38 -2.57,-1.94 -1.06,-1.37 -0.09,-1.48 -0.44,-0.55 -1.77,-0.83 0.62,-1.37 -1.15,-0.92 -0.36,-0.92 0.36,-2.49 0.97,-1.38 0.8,-0.64 0.71,-0.46 0.44,-1.38 -0.8,-1.38 0,-1.56 -1.68,-2.03 -0.8,-1.1 -0.53,-1.47 0.62,-1.48 0.44,-3.4 -1.06,-5.79 -1.33,-2.4 -1.68,-1.29 -0.62,0.47 -1.94,-0.74 0.17,-0.46 -0.35,-0.19 -3.1,-0.55 -1.42,-1.84 -0.44,-1.65 -1.33,-1.11 -0.53,-1.84 0.09,-1.56 0.62,-0.37 -0.97,-1.29 0.08,-0.74 1.33,-0.82 -0.53,-1.11 1.24,-1.1 0.62,-2.21 2.92,-1.84 -0.44,-2.21 2.04,-0.46 z"
|
| 115 |
+
title="Porto Novo"
|
| 116 |
+
id="CV-PN"
|
| 117 |
+
/>
|
| 118 |
+
<path
|
| 119 |
+
class="island sotavento"
|
| 120 |
+
transform="scale(0.4, 0.4)"
|
| 121 |
+
d="m 591.22917,756.95285 0.44,0.73 -0.18,0.64 -0.35,0 -0.27,-0.91 0.36,-0.46 z m 14.16,-20.85 1.15,2.55 0.53,0.36 1.06,-0.27 0.09,0.91 -0.62,0.18 0.18,0.73 -0.88,1 -2.21,1.37 -0.53,0 -0.35,-0.91 -0.71,-0.09 0.89,1.37 1.33,0 0.18,1 -1.06,1.37 0.09,0.55 -0.88,0.55 -0.44,-0.18 -0.44,0.64 -0.35,0.73 0.44,1 -0.27,1.28 -2.3,2.55 0,2.28 0.44,0.64 -1.06,2.55 -1.06,-0.09 -0.18,-1.64 -2.04,0.27 -0.53,0.64 -0.8,-0.82 -1.42,1 0.18,-0.73 -0.8,-0.55 -0.8,-1.82 -1.68,0.73 0,0.64 -0.62,0.27 0.44,1.91 -0.53,1.37 0.44,0.82 -0.97,-0.64 -0.09,-0.55 -1.06,-0.27 -0.53,0.55 -0.88,-0.55 -1.15,0.55 -1.68,-0.36 -1.15,0.46 -1.33,-0.55 -0.71,0.18 -1.42,-0.82 -1.16,0.82 0,0 -1.32,-2.78 -1.38,-1.24 -3.44,-5.66 -3.27,-3.89 -0.86,-3.01 -1.38,-2.12 -0.17,-3.01 -0.81,-2.22 0,0 1.14,0 0,0 1.91,-1.31 5.94,-2.18 6.36,-0.44 3.6,-1.31 4.03,-0.22 7.85,3.05 6.15,1.09 3.09,2.19 0,0 -0.19,0.08 z"
|
| 122 |
+
title="Praia"
|
| 123 |
+
id="CV-PR"
|
| 124 |
+
/>
|
| 125 |
+
<path
|
| 126 |
+
class="island barlavento"
|
| 127 |
+
transform="scale(0.4, 0.4)"
|
| 128 |
+
d="m 321.49917,176.75285 0,0.12 0,0 0,0 0,0 0,-0.12 z m 3.54,-3.21 0.53,0.46 2.13,0.18 -0.09,1.38 0.53,0.83 1.42,-0.28 1.77,0.37 1.24,0.46 1.06,0.64 1.68,1.65 0.35,1.19 0.8,0.46 -0.09,0.92 1.42,0 0.89,1.47 0.44,1.93 1.33,0.64 1.24,-0.46 1.15,0.64 0.35,2.75 2.39,1.65 1.5,-0.55 2.3,-1.74 1.33,-0.73 3.72,1.29 0.18,-0.46 4.34,-0.37 1.42,-1.65 1.06,-0.28 -0.44,-1.01 2.48,0.92 2.13,-0.46 0.53,0.37 -0.09,0.55 3.19,2.02 1.42,0.09 0.35,-0.83 2.74,1.19 0.35,0.73 1.42,0.83 0.71,-0.18 1.06,0.46 0.53,-0.37 2.21,3.3 3.72,2.3 1.95,-0.09 1.95,1.01 2.57,-0.09 1.33,-2.02 1.5,-1.19 1.95,0.18 0.27,0.83 0.8,-0.09 2.21,1.28 3.81,0 0.97,-0.37 0.97,0.46 3.1,0.09 0.8,0.73 1.15,-0.27 1.77,0.55 0.8,-0.18 1.24,0.73 1.59,-0.18 0.62,0.83 1.06,0.55 0.97,0.09 1.33,0.92 1.15,-0.09 1.24,1.38 0.18,2.02 1.06,0.09 0.97,2.94 1.59,-0.55 1.24,0.46 1.06,-0.55 0.53,1.74 1.42,-0.37 0.71,0.64 0.62,1.28 0.8,0.09 0.18,0.73 0.8,0.55 -0.35,1.93 -2.12,2.75 0,1.38 -2.39,1.65 -1.86,-0.92 -1.51,-0.09 -1.24,0.64 -0.35,-1.56 -1.15,-0.82 -2.57,0.64 -1.15,-1.01 -0.71,0 -0.35,1.01 -1.15,0.64 -2.57,0.83 -3.36,0.09 -0.8,-0.28 -0.44,-1.01 -0.71,-0.37 -0.71,-0.18 -1.42,0 -0.71,1.38 -0.44,-0.46 -1.15,0.09 -0.71,-0.73 -0.89,0.18 -0.44,0.83 -1.33,-0.09 -0.27,-0.64 -1.33,0 -1.15,-0.64 0.62,-0.73 -1.77,-1.01 -1.33,-2.75 -0.88,-0.83 -1.24,0.64 -0.71,-0.18 -0.35,-0.73 -1.77,-0.92 -1.5,0 -2.3,-0.92 -0.35,-0.64 -1.06,-0.18 -0.62,-0.92 -2.39,-1.56 -0.62,-0.92 -2.57,0.18 -0.88,-0.09 -1.42,-0.27 -1.95,0.74 -0.35,-0.64 -0.8,-0.18 -1.77,0.73 -2.92,-1.47 -2.48,0.46 -1.86,-0.37 -2.12,0.55 -0.71,-0.64 -1.42,1.47 -1.59,0.73 -1.68,2.3 -3.72,0.28 -0.8,-0.37 -1.77,1.56 0.09,0.73 -2.04,2.85 -2.21,0.73 -0.71,1.1 0.09,1.1 -0.89,0.73 -0.18,2.3 0.35,1.38 -1.86,0.18 -0.62,0.83 -0.53,1.29 0.44,1.38 -0.71,0.55 -0.8,2.2 0.18,1.74 -1.24,1.93 -1.15,0.18 -0.53,0.92 0.35,1.84 -0.89,0.46 -0.8,2.75 0.18,0.83 0.97,0.46 -0.62,1.56 0.8,0.09 -0.97,0.46 -1.15,-0.37 -0.44,0.46 -1.15,0 0.26,1.47 -0.71,-0.27 -0.44,-1.24 0,0 0.73,-0.88 1.55,-7.13 0.86,-2.14 0,-3.21 2.58,-6.42 0.17,-10.52 -1.03,-2.85 -2.24,-1.96 -0.34,-4.46 -0.69,-1.78 -1.55,-1.78 -1.89,-1.78 -6.02,0 -2.41,-1.07 -1.03,-2.32 0,-1.61 0.52,-1.25 1.72,-1.61 0.34,-2.68 -2.41,-5.53 0,-1.12 0,0 0.96,-0.37 0.18,-0.92 2.38,-2.22 z"
|
| 129 |
+
title="Ribeira Brava"
|
| 130 |
+
id="CV-RB"
|
| 131 |
+
/>
|
| 132 |
+
<path
|
| 133 |
+
class="island barlavento"
|
| 134 |
+
transform="scale(0.4, 0.4)"
|
| 135 |
+
d="m 83.99917,3.3028525 1.06,-0.92 0.8,-2.12 1.24,0.09 0.53,0.37 0.71,2.49 1.32,0.27 4.34,3.13 4.96,2.03 2.57,0.55 3.01,0 0.53,-1.01 0.97,1.01 2.3,0.37 0.8,1.5699995 0,0 -0.68,0.98 -1.09,4.53 -3.81,2.27 -5.26,6.22 -2.9,4.72 -1.06,0.53 0,0 -10.91,6.45 -3.63,0.75 -9.43,-0.57 -2.17,0.38 -7.62,4.34 -1.45,0 -0.73,-0.94 0.18,-3.21 -0.72,-1.32 -5.08,-1.32 -2.36,-1.51 -8.12,-8.86 0,0 0.89,-0.74 -0.09,-3.03 3.19,-0.19 0.97,-1.01 0.18,-2.21 2.3,0.74 0.18,0.46 0.62,-0.28 0.53,-1.01 -0.71,-0.74 1.5,-1.11 0,-0.46 0.89,1.02 2.04,0.46 4.86,-1.2 1.24,-0.64 0.27,-1.66 1.15,-0.83 -0.44,-1.01 1.5,-0.56 0.8,-0.9199995 5.22,0 2.13,-1.01 0.62,-1.01 0.88,-0.46 1.33,-0.09 1.42,-1.02 5.31,-2.21 1.15,0.28 z"
|
| 136 |
+
title="Ribeira Grande"
|
| 137 |
+
id="CV-RG"
|
| 138 |
+
/>
|
| 139 |
+
<path
|
| 140 |
+
class="island sotavento"
|
| 141 |
+
transform="scale(0.4, 0.4)"
|
| 142 |
+
d="m 565.49917,735.10285 0.81,2.23 0.18,3.01 1.37,2.12 0.86,3.01 3.27,3.89 3.44,5.66 1.38,1.24 1.31,2.78 0,0 -2.21,0 -0.88,-1.82 -0.89,0.46 -0.97,-0.19 -0.27,-0.63 -0.88,0.63 -0.62,-0.54 -0.09,0.73 -0.88,0.36 -0.27,-1 -1.77,-0.36 -0.62,0.45 -1.24,0 -0.26,0.73 -1.69,0 -0.17,-1 -2.66,-0.82 -1.24,0.27 -1.5,-1.37 -0.89,0.73 -1.68,-0.27 -0.44,0.45 -0.98,0 -0.35,1.01 -1.06,-0.09 -0.98,-1.37 0.45,-0.55 -0.27,-1.09 -3.54,-0.54 -1.42,-0.64 -2.92,-1.73 -2.65,-2.92 -0.8,-0.09 -0.89,0.55 -0.08,-0.64 -0.45,-0.09 -0.71,0.46 -0.26,-0.64 -0.8,0 -0.71,-1.09 -0.79,-0.18 -2.48,-2.83 -1.95,-0.45 0.09,-0.55 -0.71,-0.09 -0.18,-1.37 -0.44,0 -0.35,-0.72 -0.98,-0.1 -1.32,-1.27 -0.62,-2.19 -1.86,-1.54 0,-1.19 0,0 4.19,-5.57 1.9,-0.43 0.64,-0.88 -1.7,-2.18 0.21,-2.4 1.7,-3.05 -0.21,-2.18 1.27,-1.75 1.27,-0.66 5.52,0 1.06,-5.89 1.91,-1.31 0,0 1.69,0 0,0 1.06,0.66 1.67,0.23 0,0 3.42,5.44 1.47,0.5 0,0 0.44,1.47 1.91,1.74 0.85,2.4 -0.43,5.46 -1.69,2.61 0.63,1.97 6.79,4.14 2.54,0.87 0,0 z"
|
| 143 |
+
title="Ribeira Grande de Santiago"
|
| 144 |
+
id="CV-RS"
|
| 145 |
+
/>
|
| 146 |
+
<path
|
| 147 |
+
class="island sotavento"
|
| 148 |
+
transform="scale(0.4, 0.4)"
|
| 149 |
+
d="m 596.26917,696.75285 0.45,0.27 -0.36,1.28 1.95,0 0.44,0.73 -0.17,0.91 1.32,0.82 -0.35,1.82 0.62,0.09 -0.27,0.64 1.33,0 -0.09,1 0.53,0 0,0.82 0.8,0.55 -0.97,1 0.62,0.73 0.79,-0.09 -0.26,0.82 0.53,0 0.26,-1.37 0.71,1.46 0.71,0.18 -0.62,-0.82 1.24,0.18 0,1.37 -0.62,1 1.77,-0.46 1.51,1.1 1.24,-0.09 0.88,1 0.27,1.64 -0.8,-0.46 -0.62,0.37 -1.42,-0.18 0.18,0.54 -0.62,0.46 1.24,0 -0.18,1.46 1.33,-1.37 1.15,0.09 0.62,-0.73 0.62,0.27 -0.53,1.01 0.18,0.36 0.79,-0.18 -0.44,0.91 0.36,1.55 -0.27,1 0.62,0.91 -0.62,1.46 0.97,0.27 0.62,-1.09 0.71,-0.09 0.71,0.73 -0.09,0.82 0.89,0.63 -0.36,0.19 0.45,0.72 -0.18,0.64 -0.62,0.18 -0.8,-0.45 -0.53,2 0.44,0.46 1.42,0 0.62,0.82 -3.1,0.27 1.24,0.27 0.44,0.82 1.15,-0.36 -0.97,2.09 0.89,2.1 -1.42,1.55 0.09,0.54 -0.89,-1 -0.62,-0.09 -0.71,-1.18 -0.08,0.36 -1.07,0 -0.53,1.55 -0.88,0.91 -1.42,0.36 -0.89,1.37 -2.02,-0.2 0,0 -3.1,-2.19 -6.14,-1.09 -7.85,-3.06 -4.03,0.22 -3.6,1.31 -6.37,0.44 -5.93,2.18 -1.91,1.3 0,0 -2.55,0 0,0 -2.54,-0.87 -6.79,-4.14 -0.63,-1.97 1.69,-2.61 0.43,-5.46 -0.85,-2.4 -1.91,-1.74 -0.44,-1.47 0,0 4.68,0.59 4.45,-0.87 8.06,-5.02 1.91,-3.27 0.85,-0.87 1.48,-0.22 0,0 1.28,1.31 0,0 0.84,1.52 3.61,1.75 1.27,2.84 2.55,0.22 2.54,-0.88 4.03,-3.27 2.12,-3.71 2.33,-6.11 z"
|
| 150 |
+
title="São Domingos"
|
| 151 |
+
id="CV-SD"
|
| 152 |
+
/>
|
| 153 |
+
<path
|
| 154 |
+
class="island sotavento"
|
| 155 |
+
transform="scale(0.4, 0.4)"
|
| 156 |
+
d="m 324.00917,740.76285 -2.6,2.69 -5.29,4.25 -1.93,2.38 -0.13,3.85 1.16,4.11 4.77,4.25 4,0.93 4,-0.27 5.94,-1.33 3.48,-2.52 4.13,-6.76 2.09,-2.12 0,0 0.8,1.36 -0.09,2.55 0.53,1.82 -0.44,1.91 0.8,1.45 0,3.83 0.62,1.45 -1.42,6.1 -0.71,1.28 -2.3,1.91 -0.18,1.27 -2.56,2.73 -3.63,3.1 -1.6,-0.19 -0.97,0.46 -1.86,1.91 -0.09,1 -0.97,-0.27 -3.72,1.82 -1.86,1.55 -2.12,0.09 -2.04,0.91 -2.92,0.54 -1.51,-0.36 -1.06,0.27 -0.97,-0.64 -0.53,0.28 -0.71,0 -0.27,-0.46 -5.31,0.55 -0.26,-0.64 -1.33,-0.73 -2.57,0.28 -1.15,-1.55 -1.68,-0.18 -1.06,-1.37 -1.24,-0.27 -0.98,-1.91 -1.24,-1.28 -1.32,-0.36 -3.01,-4 -2.04,-0.28 -3.19,-1.91 -1.32,-3.09 -3.72,-3.19 -4.61,-2 -1.59,-3.1 0.44,-4.73 -0.44,-1.55 0.18,-2.27 -0.27,-0.73 -0.7,0.18 -0.09,-0.73 1.06,-2.09 -0.09,-1.37 0.53,-1 -0.18,-1.73 0.8,-2 -0.26,-0.55 2.3,-3.64 0.09,-1.55 0.35,-0.18 -0.35,-0.73 1.23,-1 -0.08,-1.27 -0.45,-0.37 0.62,-0.45 0.18,-1.28 0.71,0.09 1.33,-0.82 0.44,-0.54 -0.09,-0.82 2.21,-1.55 -0.35,-0.82 0.8,-0.09 0.53,-1 2.39,-0.82 0.35,-1.01 1.6,-0.81 0.53,-1.74 1.59,-0.54 0.35,-0.55 2.57,-0.54 1.33,-1.01 0.09,-1.54 0.79,0.36 1.24,-0.36 0.98,-0.73 0.26,-0.82 3.72,0.91 3.94,-1.73 0,0 8.89,11.66 4.02,1.94 0.24,4.38 2.84,3.9 0,0 z"
|
| 157 |
+
title="São Filipe"
|
| 158 |
+
id="CV-SF"
|
| 159 |
+
/>
|
| 160 |
+
<path
|
| 161 |
+
class="island barlavento"
|
| 162 |
+
transform="scale(0.4, 0.4)"
|
| 163 |
+
d="m 778.71917,116.20285 2.3,1.56 0.53,2.85 0.88,-0.37 1.15,0.18 0.18,1.38 2.39,0.92 0.27,-0.46 0.71,0 1.06,0.83 -0.27,0.92 -0.44,0.09 0.44,1.1 -0.53,0.92 0.18,1.01 -0.44,0.64 -1.15,0.28 -0.27,2.57 -1.24,1.19 -0.44,1.1 0.62,1.01 1.86,0.92 0,1.29 0.97,2.57 1.33,1.19 0,1.56 0.97,0.28 1.42,1.65 0.41,-0.05 0.21,-0.5 0.18,0.46 -1.5,1.38 -0.44,2.02 0.27,0.55 -0.53,0.55 -1.24,-0.18 -0.35,-0.46 -1.51,0 -0.35,1.93 -0.8,1.1 -0.8,0.28 0.09,0.37 1.06,-0.18 0.27,0.37 -0.27,0.64 0.53,0.18 0.44,1.56 -0.44,0.83 0.35,0.37 -0.27,1.1 -0.53,0 -0.88,1.1 0.71,0.09 0.53,0.64 -0.18,1.19 0.71,0.37 0.35,0.92 -0.35,1.01 1.5,4.32 3.54,3.77 -0.71,2.3 0.53,0.64 0.53,3.03 1.24,1.47 0.27,1.19 -0.53,0.73 -0.8,0 -1.33,1.1 -1.06,2.2 -0.8,0.64 -0.62,4.04 -1.95,0.46 -1.68,2.02 0.27,5.6 2.04,4.68 1.42,1.01 0,1.1 0.71,0.83 -0.18,1.19 -0.8,0.27 -3.01,-1.65 -3.89,-0.46 -1.33,1.29 -0.53,-0.37 -1.24,2.29 -0.62,0.74 -0.62,0 -1.06,-0.46 -0.53,-0.92 0.09,-1.93 0.97,-1.75 0,-0.55 -1.5,-0.64 0.09,-1.19 0.71,-0.18 0.35,-1.01 -0.44,-0.09 0,-1.56 -0.44,-0.37 -0.44,-2.39 -1.59,-2.66 -3.01,-2.11 0.18,-1.1 -1.15,-0.09 0.53,-0.55 -0.53,-1.47 0.71,0.46 0,-0.55 -0.18,-0.73 -0.8,0 -0.09,-0.64 2.57,-1.65 0.88,-1.38 0.44,-2.02 0.09,-3.03 -0.88,-3.4 -2.39,-2.2 -2.3,-0.83 -4.96,-0.92 -0.53,1.01 -3.19,1.1 -1.86,-0.46 -0.18,-1.1 -0.53,-0.28 2.04,-3.49 2.04,-0.73 -0.62,-1.65 -1.68,-1.1 -0.35,-1.75 -1.06,-1.75 1.77,-2.94 1.24,0 -1.06,-1.47 1.33,-1.19 0,-1.93 -0.35,-0.55 -0.53,0.28 -0.53,0.37 -1.5,-0.74 -0.8,-1.01 -0.44,-3.12 1.15,-1.19 -0.71,-0.37 -0.09,-1.19 -0.71,-1.1 0.18,-1.65 -0.53,-1.01 -0.35,-2.94 0.53,-1.29 -0.18,-3.49 1.77,-1.93 0.62,-2.85 1.5,-0.74 0.44,-1.1 2.39,0 3.98,-1.65 0.27,-0.64 1.86,-1.29 0.44,-0.92 1.86,1.1 1.68,0.09 0.53,-0.74 0.71,0.09 0.53,-0.64 3.19,-1.1 1.24,-2.11 0.67,-0.18 z"
|
| 164 |
+
title="Sal"
|
| 165 |
+
id="CV-SL"
|
| 166 |
+
/>
|
| 167 |
+
<path
|
| 168 |
+
class="island sotavento"
|
| 169 |
+
transform="scale(0.4, 0.4)"
|
| 170 |
+
d="m 542.84917,645.71285 0.22,0.36 0.71,0 0.09,-0.36 2.83,0.36 0.98,0.82 1.32,-0.27 0.36,0.45 -0.27,1.19 1.77,0.55 -0.71,1.09 1.33,0.73 0.53,0.37 0.53,0.72 1.33,-0.45 1.42,1.18 1.59,0 0.18,0.82 0.97,1.01 0.18,2.09 1.24,0 0.09,0.46 0.97,0.36 0.8,2.1 -0.27,1.19 0.44,0.54 0.62,-0.54 0.54,0.18 0.17,1.55 0.89,0.36 -0.27,2.28 0.89,-0.09 0.09,0.55 0.7,-0.37 0.09,0.46 1.15,0.55 -0.44,0.73 0.02,1.36 0,0 -8.82,7.71 -1.49,0.43 -3.18,0 -0.3,0.44 0,0 -4.79,6.11 -3.39,0.88 -1.91,0 -0.42,-0.88 0.21,-1.09 2.33,-3.71 0.43,-1.96 -1.49,-2.63 -3.82,-3.49 -1.48,-0.44 -4.24,0 -1.06,-0.87 -0.64,-5.68 0,0 2.76,-3.27 0.1,-2.47 5.94,-6.29 z"
|
| 171 |
+
title="São Miguel"
|
| 172 |
+
id="CV-SM"
|
| 173 |
+
/>
|
| 174 |
+
<path
|
| 175 |
+
class="island sotavento"
|
| 176 |
+
transform="scale(0.4, 0.4)"
|
| 177 |
+
d="m 574.91917,705.21285 -0.43,-0.43 0,0 -1.48,0.22 -2.76,4.14 -8.06,5.02 -4.45,0.87 -4.68,-0.59 0,0 -1.47,-0.5 -3.42,-5.44 0,0 6.39,-4.81 1.06,-1.97 0,-2.18 1.49,-3.93 2.96,-1.75 0,0 1.06,-0.6 0,0 0.71,0.42 0.69,1.78 1.2,0.53 0.35,1.41 2.06,0.71 0.69,0 2.41,-1.77 0.86,-0.18 1.89,0 1.38,0.89 1.2,4.6 z"
|
| 178 |
+
title="São Lourenço dos Órgãos"
|
| 179 |
+
id="CV-SO"
|
| 180 |
+
/>
|
| 181 |
+
<path
|
| 182 |
+
class="island sotavento"
|
| 183 |
+
transform="scale(0.4, 0.4)"
|
| 184 |
+
d="m 544.33917,707.61285 0.13,-3.3 -0.69,-3.01 1.55,-2.3 0,-1.42 -1.03,-1.42 0.17,-2.3 4.47,-1.59 3.46,-3.03 0,0 0.25,0.26 0,0 9.97,0 1.69,1.31 0,1.75 -2.33,0.21 0,0 -1.91,1.09 0,0 -2.96,1.75 -1.49,3.93 0,2.18 -1.06,1.97 -6.39,4.81 0,0 -1.67,-0.23 -1.06,-0.66 0,0 z"
|
| 185 |
+
title="São Salvador do Mundo"
|
| 186 |
+
id="CV-SS"
|
| 187 |
+
/>
|
| 188 |
+
<path
|
| 189 |
+
class="island barlavento"
|
| 190 |
+
transform="scale(0.4, 0.4)"
|
| 191 |
+
d="m 248.55917,190.52285 1.06,1.29 1.68,0.18 0.71,1.19 -0.8,2.66 -1.33,1.1 -0.18,1.1 -2.13,0.28 -1.42,-0.64 -3.1,0.09 -0.35,-1.38 -1.15,-1.56 0.89,-2.3 0.53,-0.55 1.95,0.46 3.64,-1.92 z m -30.89,-13.4 2.57,2.39 2.48,1.56 2.75,4.59 -2.3,-1.19 -1.33,0.09 -2.92,-2.66 0,-0.55 -0.8,-0.37 -1.86,-2.2 0.62,-1.47 0.79,-0.19 z m -30.81,-44.84 1.86,1.47 1.15,-0.09 0.35,0.74 1.06,0.46 4.34,1.29 0.44,0.46 -0.27,1.65 0.97,1.38 0.35,1.84 2.83,1.01 1.15,2.66 0.71,0.55 -0.44,0.83 0.53,1.01 2.13,2.39 1.86,0.74 1.95,0 3.36,-1.65 4.51,-0.09 0.89,0.83 0,1.47 -0.53,0.92 -1.86,1.84 -0.09,0.73 -2.3,-0.37 -1.24,1.1 -3.81,-0.64 -0.62,0.83 -1.5,-0.09 -0.09,0.46 -3.19,-0.55 -2.66,0 -0.89,0.46 -0.97,-0.28 -0.35,-3.58 -0.8,-1.29 -2.57,-1.93 -0.62,-1.01 -5.05,-2.57 -1.68,0.46 -2.04,-0.92 -1.68,-5.05 1.06,-0.46 0.97,-1.84 0.18,-2.02 0.97,-0.37 1.33,-2.02 -0.18,-0.64 0.48,-0.12 z m -45.41,-38.419998 3.36,2.3 1.33,2.39 0.09,1.749998 -0.71,-0.549998 -0.62,0.739998 0.35,1.29 -0.71,-0.19 -0.18,-0.64 -1.33,0.64 1.33,1.38 -0.71,0.09 -0.8,1.38 0.09,1.84 1.77,2.76 4.07,3.31 3.54,1.65 2.74,0.37 0.89,-1.1 2.21,-0.37 1.95,1.1 0.35,1.19 -0.35,1.29 -1.06,0.18 -1.68,1.29 0.44,1.75 0.89,0.74 -0.53,0.83 0.62,1.1 0.97,-0.18 0.71,0.46 -0.8,1.29 -0.18,4.87 -0.71,1.2 -2.21,0.55 -0.97,1.01 -2.04,-0.73 -2.21,0.55 -1.86,-0.55 -2.03,0.73 -0.35,0.74 -1.42,0.55 0,0.46 -3.19,1.75 -0.18,0.64 -1.33,-0.09 -0.71,0.64 -2.74,0.09 -0.44,0.46 -1.42,-0.09 -1.42,0.64 -2.12,-0.46 -0.62,0.64 -1.68,0.46 -0.27,1.19 -4.96,0.09 -0.8,0.73 0,1.65 -0.44,0.37 -2.75,0.28 -1.5,-0.92 -0.62,-0.37 -1.95,-1.19 -1.5,-0.46 -1.06,-1.1 -0.97,-0.74 -0.53,-0.74 -1.77,0.18 -2.12,-2.02 -1.86,-0.09 -1.86,-1.38 -1.86,0.55 -0.09,-0.64 -1.59,-1.01 -0.09,-0.46 -2.3,1.56 -1.42,-1.93 -1.33,-0.83 -0.18,-4.14 -0.97,-1.29 -1.86,-0.46 -5.05,1.01 0.09,-0.74 1.59,-2.02 -0.09,-0.64 0.89,-0.46 -0.09,-0.64 -1.77,-0.92 -0.09,-0.92 1.24,-0.74 0.97,0 0.53,-1.29 1.15,-0.55 0.09,-2.57 0.27,-0.37 1.15,0.18 0.35,-1.38 0.97,1.01 1.24,-0.18 1.15,-0.83 0.09,-1.1 -0.62,-1.01 0.88,-0.92 -0.09,-0.64 1.68,-0.09 -0.88,-2.21 2.66,1.29 0,-1.56 1.86,0.74 1.68,-1.66 2.21,0.09 0.62,0.92 0.18,1.65 0.44,-0.09 0.53,0.83 3.54,1.75 0.35,-0.92 1.95,-0.64 1.06,0.18 2.83,-2.94 -0.18,-1.29 -0.62,0.18 0.09,0.55 -0.89,-0.18 -0.35,-0.83 -0.62,0.64 -0.44,-0.37 -0.35,0.28 0,-0.74 0.71,-0.74 1.15,0.37 0.71,-0.74 -0.18,-1.47 -1.77,-0.83 0.09,-0.83 -0.35,-0.919998 2.57,0 0.44,-0.83 -0.27,-1.01 1.33,0.46 2.92,0 0.97,-2.57 1.33,-0.55 0.97,0.18 1.24,-1.29 0.71,0.74 -1.68,1.75 0.09,0.64 1.33,-0.55 0.62,1.75 3.01,1.47 1.59,0.18 2.92,-1.47 -0.35,-0.83 -0.44,0 0,-0.64 1.5,-0.55 0.44,-0.83 0.62,0.09 0.18,-0.74 -0.62,0.09 -0.18,-0.64 2.57,0 0.53,-0.46 1.36,-0.06 z"
|
| 192 |
+
title="São Vicente"
|
| 193 |
+
id="CV-SV"
|
| 194 |
+
/>
|
| 195 |
+
<path
|
| 196 |
+
class="island sotavento"
|
| 197 |
+
transform="scale(0.4, 0.4)"
|
| 198 |
+
d="m 509.07917,622.09285 0.89,1 1.06,-0.45 0,-0.83 -0.62,-0.64 1.68,-0.27 -0.89,-1.28 0.18,-1.64 0.62,-0.18 0.35,0.46 0.63,-0.28 0,-0.55 0.79,0.64 1.06,-0.45 0.71,0.18 -0.26,-0.73 0.44,-0.46 -0.09,-1 1.68,0.36 0.8,1.47 1.24,-0.46 0.09,0.82 2.65,0.46 0.27,1.18 0.62,0.28 0.62,-0.83 0.8,0.28 -0.27,-1.37 0.62,-0.46 1.59,0.64 1.33,-0.09 0.09,0.46 0.71,-0.28 0,0.92 -0.45,0.27 0.71,0.46 1.06,0 0.62,-1.19 0.54,0 0.7,0.64 -0.26,0.64 1.24,0.73 0.09,0.64 1.59,0.82 -0.09,0.45 0.97,1.28 -0.26,0.91 0.8,0.46 -0.98,2.73 -1.59,-0.27 -0.62,0.55 0.35,1 1.06,0.18 -1.15,4.11 0.18,1.82 0.71,0.46 -0.09,1.91 0.89,2.1 2.56,3.19 1.07,0 0.61,0.91 1.42,0.27 -0.09,0.74 1.15,-1.01 1.64,1.92 0,0 -2.18,5.12 -5.94,6.29 -0.1,2.47 -2.76,3.27 0,0 -4.24,0 -1.27,-1.31 -0.64,-1.52 -1.91,-0.66 -1.06,4.15 -0.63,0.22 -1.27,-0.22 -1.49,-1.53 -1.7,-0.87 -2.33,1.09 -3.95,-0.06 0,0 0.53,-2.77 0.53,-0.73 -0.35,-1.09 0.35,-3.74 0.45,-0.73 1.24,-0.36 2.03,-1.83 0.36,-0.63 -0.18,-2.1 0.53,-1.1 -0.09,-1.27 -1.24,-2.01 -2.3,-1.55 -1.5,0.27 0.17,-0.82 -0.97,-2.09 0.09,-2.92 -0.36,-0.73 1.95,-0.82 0.09,-0.82 -1.06,-1 -0.53,0.18 -0.09,-0.55 -0.53,0 -0.45,-1.19 -3.01,-0.36 -0.35,-0.37 0.18,-1.36 -0.89,-0.46 1.77,-2.37 2.48,0.46 0.44,-0.64 -0.17,-0.92 0.7,-0.91 -0.08,-0.64 -1.15,-0.63 -1.07,0.18 -0.44,-1.37 z"
|
| 199 |
+
title="Tarrafal"
|
| 200 |
+
id="CV-TA"
|
| 201 |
+
/>
|
| 202 |
+
<path
|
| 203 |
+
class="island barlavento"
|
| 204 |
+
transform="scale(0.4, 0.4)"
|
| 205 |
+
d="m 321.40917,176.66285 0.09,0.21 0,0 0,0 0,0 0.01,0.16 0,0 0,1.11 2.41,5.53 -0.34,2.68 -1.72,1.61 -0.52,1.24 0,1.61 1.03,2.32 2.41,1.07 6.02,0 1.89,1.78 1.55,1.79 0.69,1.78 0.34,4.46 2.24,1.96 1.03,2.86 -0.17,10.52 -2.58,6.42 0,3.21 -0.86,2.14 -1.55,7.13 -0.72,0.87 0,0 -1.33,-0.59 -0.98,1.56 -0.44,-0.19 -0.26,-2.11 0.7,-0.27 -0.44,-1.56 0.89,-0.74 -0.09,-1.37 -1.15,-1.29 -0.8,-2.29 -0.18,-2.3 -0.97,-2.11 -2.21,-0.91 -0.71,-1.38 -0.71,-0.18 -0.18,-1.75 -0.17,-1.28 -0.71,-0.83 0.18,-1.1 -0.54,-1.28 -2.03,-0.37 -0.8,-0.92 -0.09,-0.92 0.45,-0.18 -0.36,-1.56 0.44,-0.83 -0.88,-0.64 0.62,-0.37 -0.09,-0.82 -0.8,-0.55 -0.53,-1.56 -2.21,-1.38 -4.43,-0.28 -1.5,-1.37 -6.55,-3.49 -0.18,-0.83 -1.15,-1.1 -1.15,-0.18 -0.71,-0.65 0.62,-1.92 -1.77,-0.37 -1.06,-0.92 -0.36,-4.41 0.71,-1.19 0,-0.92 -0.71,-1.93 0.62,-2.48 1.24,-1.74 0.98,0.55 0.44,-0.18 -0.89,-1.29 1.07,-0.55 2.12,0.18 1.06,-1.1 2.04,0.19 2.04,-1.66 0.79,0.19 0.62,-1.47 2.39,-0.28 0.62,-0.82 0.44,0.55 1.69,-0.46 1.77,1.37 1.15,-0.36 0.44,0.36 z"
|
| 206 |
+
title="Tarrafal de São Nicolau"
|
| 207 |
+
id="CV-TS"
|
| 208 |
+
/>
|
| 209 |
+
</g>
|
| 210 |
+
</svg>
|
| 211 |
+
<script>
|
| 212 |
+
const tooltip = document.getElementById("tooltip");
|
| 213 |
+
const paths = document.querySelectorAll("svg path");
|
| 214 |
+
|
| 215 |
+
paths.forEach((path) => {
|
| 216 |
+
path.addEventListener("mousemove", (e) => {
|
| 217 |
+
tooltip.style.left = e.pageX + 10 + "px";
|
| 218 |
+
tooltip.style.top = e.pageY + 10 + "px";
|
| 219 |
+
tooltip.innerText = path.getAttribute("title");
|
| 220 |
+
tooltip.style.opacity = 1;
|
| 221 |
+
tooltip.style.position = "absolute";
|
| 222 |
+
tooltip.style.zIndex = 1000;
|
| 223 |
+
});
|
| 224 |
+
path.addEventListener("mouseleave", () => {
|
| 225 |
+
tooltip.style.opacity = 0;
|
| 226 |
+
});
|
| 227 |
+
});
|
| 228 |
+
</script>
|
| 229 |
+
</body>
|
| 230 |
+
</html>
|
src/cape-verde.svg
ADDED
|
|