diff --git a/.gitignore b/.gitignore
index af33419..0c7a3f9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -29,7 +29,6 @@ build/Release
node_modules
# Ignore build files
-public
/errorShots
/old
/build
diff --git a/public/.DS_Store b/public/.DS_Store
new file mode 100644
index 0000000..61dafc5
Binary files /dev/null and b/public/.DS_Store differ
diff --git a/public/data/pmtiles/prince-edward-island.pmtiles b/public/data/pmtiles/prince-edward-island.pmtiles
new file mode 100644
index 0000000..52fe2c1
Binary files /dev/null and b/public/data/pmtiles/prince-edward-island.pmtiles differ
diff --git a/public/glyphs/Roboto Italic/0-255.pbf b/public/glyphs/Roboto Italic/0-255.pbf
new file mode 100644
index 0000000..0887e4e
Binary files /dev/null and b/public/glyphs/Roboto Italic/0-255.pbf differ
diff --git a/public/glyphs/Roboto Italic/1024-1279.pbf b/public/glyphs/Roboto Italic/1024-1279.pbf
new file mode 100644
index 0000000..320dca6
Binary files /dev/null and b/public/glyphs/Roboto Italic/1024-1279.pbf differ
diff --git a/public/glyphs/Roboto Italic/10240-10495.pbf b/public/glyphs/Roboto Italic/10240-10495.pbf
new file mode 100644
index 0000000..bedef34
--- /dev/null
+++ b/public/glyphs/Roboto Italic/10240-10495.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic10240-10495
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/10496-10751.pbf b/public/glyphs/Roboto Italic/10496-10751.pbf
new file mode 100644
index 0000000..0069af0
--- /dev/null
+++ b/public/glyphs/Roboto Italic/10496-10751.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic10496-10751
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/10752-11007.pbf b/public/glyphs/Roboto Italic/10752-11007.pbf
new file mode 100644
index 0000000..fdcd1bc
--- /dev/null
+++ b/public/glyphs/Roboto Italic/10752-11007.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic10752-11007
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/11008-11263.pbf b/public/glyphs/Roboto Italic/11008-11263.pbf
new file mode 100644
index 0000000..784d398
--- /dev/null
+++ b/public/glyphs/Roboto Italic/11008-11263.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic11008-11263
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/11264-11519.pbf b/public/glyphs/Roboto Italic/11264-11519.pbf
new file mode 100644
index 0000000..0d2f66a
--- /dev/null
+++ b/public/glyphs/Roboto Italic/11264-11519.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic11264-11519
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/11520-11775.pbf b/public/glyphs/Roboto Italic/11520-11775.pbf
new file mode 100644
index 0000000..7a01ba8
--- /dev/null
+++ b/public/glyphs/Roboto Italic/11520-11775.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic11520-11775
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/11776-12031.pbf b/public/glyphs/Roboto Italic/11776-12031.pbf
new file mode 100644
index 0000000..83662f6
--- /dev/null
+++ b/public/glyphs/Roboto Italic/11776-12031.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic11776-12031
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/12032-12287.pbf b/public/glyphs/Roboto Italic/12032-12287.pbf
new file mode 100644
index 0000000..9419e60
--- /dev/null
+++ b/public/glyphs/Roboto Italic/12032-12287.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic12032-12287
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/12288-12543.pbf b/public/glyphs/Roboto Italic/12288-12543.pbf
new file mode 100644
index 0000000..282345b
--- /dev/null
+++ b/public/glyphs/Roboto Italic/12288-12543.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic12288-12543
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/12544-12799.pbf b/public/glyphs/Roboto Italic/12544-12799.pbf
new file mode 100644
index 0000000..e0175af
--- /dev/null
+++ b/public/glyphs/Roboto Italic/12544-12799.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic12544-12799
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/1280-1535.pbf b/public/glyphs/Roboto Italic/1280-1535.pbf
new file mode 100644
index 0000000..453e94e
Binary files /dev/null and b/public/glyphs/Roboto Italic/1280-1535.pbf differ
diff --git a/public/glyphs/Roboto Italic/12800-13055.pbf b/public/glyphs/Roboto Italic/12800-13055.pbf
new file mode 100644
index 0000000..68750b8
--- /dev/null
+++ b/public/glyphs/Roboto Italic/12800-13055.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic12800-13055
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/13056-13311.pbf b/public/glyphs/Roboto Italic/13056-13311.pbf
new file mode 100644
index 0000000..21f000a
--- /dev/null
+++ b/public/glyphs/Roboto Italic/13056-13311.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic13056-13311
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/13312-13567.pbf b/public/glyphs/Roboto Italic/13312-13567.pbf
new file mode 100644
index 0000000..02e7d3e
--- /dev/null
+++ b/public/glyphs/Roboto Italic/13312-13567.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic13312-13567
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/13568-13823.pbf b/public/glyphs/Roboto Italic/13568-13823.pbf
new file mode 100644
index 0000000..34158bd
--- /dev/null
+++ b/public/glyphs/Roboto Italic/13568-13823.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic13568-13823
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/13824-14079.pbf b/public/glyphs/Roboto Italic/13824-14079.pbf
new file mode 100644
index 0000000..1ab57b7
--- /dev/null
+++ b/public/glyphs/Roboto Italic/13824-14079.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic13824-14079
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/14080-14335.pbf b/public/glyphs/Roboto Italic/14080-14335.pbf
new file mode 100644
index 0000000..da81fb9
--- /dev/null
+++ b/public/glyphs/Roboto Italic/14080-14335.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic14080-14335
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/14336-14591.pbf b/public/glyphs/Roboto Italic/14336-14591.pbf
new file mode 100644
index 0000000..d8f24c0
--- /dev/null
+++ b/public/glyphs/Roboto Italic/14336-14591.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic14336-14591
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/14592-14847.pbf b/public/glyphs/Roboto Italic/14592-14847.pbf
new file mode 100644
index 0000000..9454da1
--- /dev/null
+++ b/public/glyphs/Roboto Italic/14592-14847.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic14592-14847
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/14848-15103.pbf b/public/glyphs/Roboto Italic/14848-15103.pbf
new file mode 100644
index 0000000..8dc1bda
--- /dev/null
+++ b/public/glyphs/Roboto Italic/14848-15103.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic14848-15103
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/15104-15359.pbf b/public/glyphs/Roboto Italic/15104-15359.pbf
new file mode 100644
index 0000000..f38b4a0
--- /dev/null
+++ b/public/glyphs/Roboto Italic/15104-15359.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic15104-15359
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/1536-1791.pbf b/public/glyphs/Roboto Italic/1536-1791.pbf
new file mode 100644
index 0000000..2054d58
--- /dev/null
+++ b/public/glyphs/Roboto Italic/1536-1791.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic 1536-1791
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/15360-15615.pbf b/public/glyphs/Roboto Italic/15360-15615.pbf
new file mode 100644
index 0000000..372938d
--- /dev/null
+++ b/public/glyphs/Roboto Italic/15360-15615.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic15360-15615
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/15616-15871.pbf b/public/glyphs/Roboto Italic/15616-15871.pbf
new file mode 100644
index 0000000..ddee1f7
--- /dev/null
+++ b/public/glyphs/Roboto Italic/15616-15871.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic15616-15871
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/15872-16127.pbf b/public/glyphs/Roboto Italic/15872-16127.pbf
new file mode 100644
index 0000000..8e6ca66
--- /dev/null
+++ b/public/glyphs/Roboto Italic/15872-16127.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic15872-16127
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/16128-16383.pbf b/public/glyphs/Roboto Italic/16128-16383.pbf
new file mode 100644
index 0000000..eacf11d
--- /dev/null
+++ b/public/glyphs/Roboto Italic/16128-16383.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic16128-16383
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/16384-16639.pbf b/public/glyphs/Roboto Italic/16384-16639.pbf
new file mode 100644
index 0000000..4b7122c
--- /dev/null
+++ b/public/glyphs/Roboto Italic/16384-16639.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic16384-16639
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/16640-16895.pbf b/public/glyphs/Roboto Italic/16640-16895.pbf
new file mode 100644
index 0000000..8858f97
--- /dev/null
+++ b/public/glyphs/Roboto Italic/16640-16895.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic16640-16895
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/16896-17151.pbf b/public/glyphs/Roboto Italic/16896-17151.pbf
new file mode 100644
index 0000000..a5dbb06
--- /dev/null
+++ b/public/glyphs/Roboto Italic/16896-17151.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic16896-17151
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/17152-17407.pbf b/public/glyphs/Roboto Italic/17152-17407.pbf
new file mode 100644
index 0000000..75d18f1
--- /dev/null
+++ b/public/glyphs/Roboto Italic/17152-17407.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic17152-17407
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/17408-17663.pbf b/public/glyphs/Roboto Italic/17408-17663.pbf
new file mode 100644
index 0000000..5db7e38
--- /dev/null
+++ b/public/glyphs/Roboto Italic/17408-17663.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic17408-17663
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/17664-17919.pbf b/public/glyphs/Roboto Italic/17664-17919.pbf
new file mode 100644
index 0000000..4e29947
--- /dev/null
+++ b/public/glyphs/Roboto Italic/17664-17919.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic17664-17919
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/1792-2047.pbf b/public/glyphs/Roboto Italic/1792-2047.pbf
new file mode 100644
index 0000000..693e315
--- /dev/null
+++ b/public/glyphs/Roboto Italic/1792-2047.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic 1792-2047
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/17920-18175.pbf b/public/glyphs/Roboto Italic/17920-18175.pbf
new file mode 100644
index 0000000..a4bf09a
--- /dev/null
+++ b/public/glyphs/Roboto Italic/17920-18175.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic17920-18175
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/18176-18431.pbf b/public/glyphs/Roboto Italic/18176-18431.pbf
new file mode 100644
index 0000000..6096ded
--- /dev/null
+++ b/public/glyphs/Roboto Italic/18176-18431.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic18176-18431
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/18432-18687.pbf b/public/glyphs/Roboto Italic/18432-18687.pbf
new file mode 100644
index 0000000..7da84d4
--- /dev/null
+++ b/public/glyphs/Roboto Italic/18432-18687.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic18432-18687
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/18688-18943.pbf b/public/glyphs/Roboto Italic/18688-18943.pbf
new file mode 100644
index 0000000..bff07fc
--- /dev/null
+++ b/public/glyphs/Roboto Italic/18688-18943.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic18688-18943
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/18944-19199.pbf b/public/glyphs/Roboto Italic/18944-19199.pbf
new file mode 100644
index 0000000..b7409db
--- /dev/null
+++ b/public/glyphs/Roboto Italic/18944-19199.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic18944-19199
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/19200-19455.pbf b/public/glyphs/Roboto Italic/19200-19455.pbf
new file mode 100644
index 0000000..33d3787
--- /dev/null
+++ b/public/glyphs/Roboto Italic/19200-19455.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic19200-19455
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/19456-19711.pbf b/public/glyphs/Roboto Italic/19456-19711.pbf
new file mode 100644
index 0000000..a2eb636
--- /dev/null
+++ b/public/glyphs/Roboto Italic/19456-19711.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic19456-19711
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/19712-19967.pbf b/public/glyphs/Roboto Italic/19712-19967.pbf
new file mode 100644
index 0000000..b04865a
--- /dev/null
+++ b/public/glyphs/Roboto Italic/19712-19967.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic19712-19967
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/19968-20223.pbf b/public/glyphs/Roboto Italic/19968-20223.pbf
new file mode 100644
index 0000000..5ae0e8f
--- /dev/null
+++ b/public/glyphs/Roboto Italic/19968-20223.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic19968-20223
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/20224-20479.pbf b/public/glyphs/Roboto Italic/20224-20479.pbf
new file mode 100644
index 0000000..0d49320
--- /dev/null
+++ b/public/glyphs/Roboto Italic/20224-20479.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic20224-20479
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/2048-2303.pbf b/public/glyphs/Roboto Italic/2048-2303.pbf
new file mode 100644
index 0000000..8eea642
--- /dev/null
+++ b/public/glyphs/Roboto Italic/2048-2303.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic 2048-2303
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/20480-20735.pbf b/public/glyphs/Roboto Italic/20480-20735.pbf
new file mode 100644
index 0000000..789deec
--- /dev/null
+++ b/public/glyphs/Roboto Italic/20480-20735.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic20480-20735
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/20736-20991.pbf b/public/glyphs/Roboto Italic/20736-20991.pbf
new file mode 100644
index 0000000..6225e09
--- /dev/null
+++ b/public/glyphs/Roboto Italic/20736-20991.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic20736-20991
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/20992-21247.pbf b/public/glyphs/Roboto Italic/20992-21247.pbf
new file mode 100644
index 0000000..868bad3
--- /dev/null
+++ b/public/glyphs/Roboto Italic/20992-21247.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic20992-21247
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/21248-21503.pbf b/public/glyphs/Roboto Italic/21248-21503.pbf
new file mode 100644
index 0000000..537510c
--- /dev/null
+++ b/public/glyphs/Roboto Italic/21248-21503.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic21248-21503
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/21504-21759.pbf b/public/glyphs/Roboto Italic/21504-21759.pbf
new file mode 100644
index 0000000..7a8e01c
--- /dev/null
+++ b/public/glyphs/Roboto Italic/21504-21759.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic21504-21759
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/21760-22015.pbf b/public/glyphs/Roboto Italic/21760-22015.pbf
new file mode 100644
index 0000000..f38c67e
--- /dev/null
+++ b/public/glyphs/Roboto Italic/21760-22015.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic21760-22015
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/22016-22271.pbf b/public/glyphs/Roboto Italic/22016-22271.pbf
new file mode 100644
index 0000000..5397d7a
--- /dev/null
+++ b/public/glyphs/Roboto Italic/22016-22271.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic22016-22271
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/22272-22527.pbf b/public/glyphs/Roboto Italic/22272-22527.pbf
new file mode 100644
index 0000000..8a4326a
--- /dev/null
+++ b/public/glyphs/Roboto Italic/22272-22527.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic22272-22527
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/22528-22783.pbf b/public/glyphs/Roboto Italic/22528-22783.pbf
new file mode 100644
index 0000000..be9cb67
--- /dev/null
+++ b/public/glyphs/Roboto Italic/22528-22783.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic22528-22783
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/22784-23039.pbf b/public/glyphs/Roboto Italic/22784-23039.pbf
new file mode 100644
index 0000000..e893568
--- /dev/null
+++ b/public/glyphs/Roboto Italic/22784-23039.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic22784-23039
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/2304-2559.pbf b/public/glyphs/Roboto Italic/2304-2559.pbf
new file mode 100644
index 0000000..ce5be7e
--- /dev/null
+++ b/public/glyphs/Roboto Italic/2304-2559.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic 2304-2559
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/23040-23295.pbf b/public/glyphs/Roboto Italic/23040-23295.pbf
new file mode 100644
index 0000000..f562a19
--- /dev/null
+++ b/public/glyphs/Roboto Italic/23040-23295.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic23040-23295
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/23296-23551.pbf b/public/glyphs/Roboto Italic/23296-23551.pbf
new file mode 100644
index 0000000..7a00936
--- /dev/null
+++ b/public/glyphs/Roboto Italic/23296-23551.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic23296-23551
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/23552-23807.pbf b/public/glyphs/Roboto Italic/23552-23807.pbf
new file mode 100644
index 0000000..8d123d2
--- /dev/null
+++ b/public/glyphs/Roboto Italic/23552-23807.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic23552-23807
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/23808-24063.pbf b/public/glyphs/Roboto Italic/23808-24063.pbf
new file mode 100644
index 0000000..cb5626e
--- /dev/null
+++ b/public/glyphs/Roboto Italic/23808-24063.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic23808-24063
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/24064-24319.pbf b/public/glyphs/Roboto Italic/24064-24319.pbf
new file mode 100644
index 0000000..2827a42
--- /dev/null
+++ b/public/glyphs/Roboto Italic/24064-24319.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic24064-24319
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/24320-24575.pbf b/public/glyphs/Roboto Italic/24320-24575.pbf
new file mode 100644
index 0000000..d3b8f84
--- /dev/null
+++ b/public/glyphs/Roboto Italic/24320-24575.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic24320-24575
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/24576-24831.pbf b/public/glyphs/Roboto Italic/24576-24831.pbf
new file mode 100644
index 0000000..affa63c
--- /dev/null
+++ b/public/glyphs/Roboto Italic/24576-24831.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic24576-24831
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/24832-25087.pbf b/public/glyphs/Roboto Italic/24832-25087.pbf
new file mode 100644
index 0000000..a175ad8
--- /dev/null
+++ b/public/glyphs/Roboto Italic/24832-25087.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic24832-25087
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/25088-25343.pbf b/public/glyphs/Roboto Italic/25088-25343.pbf
new file mode 100644
index 0000000..d2d396d
--- /dev/null
+++ b/public/glyphs/Roboto Italic/25088-25343.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic25088-25343
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/25344-25599.pbf b/public/glyphs/Roboto Italic/25344-25599.pbf
new file mode 100644
index 0000000..c6ad23e
--- /dev/null
+++ b/public/glyphs/Roboto Italic/25344-25599.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic25344-25599
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/256-511.pbf b/public/glyphs/Roboto Italic/256-511.pbf
new file mode 100644
index 0000000..41d71b5
Binary files /dev/null and b/public/glyphs/Roboto Italic/256-511.pbf differ
diff --git a/public/glyphs/Roboto Italic/2560-2815.pbf b/public/glyphs/Roboto Italic/2560-2815.pbf
new file mode 100644
index 0000000..15fd2a2
--- /dev/null
+++ b/public/glyphs/Roboto Italic/2560-2815.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic 2560-2815
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/25600-25855.pbf b/public/glyphs/Roboto Italic/25600-25855.pbf
new file mode 100644
index 0000000..e9ee026
--- /dev/null
+++ b/public/glyphs/Roboto Italic/25600-25855.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic25600-25855
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/25856-26111.pbf b/public/glyphs/Roboto Italic/25856-26111.pbf
new file mode 100644
index 0000000..8b5a8d9
--- /dev/null
+++ b/public/glyphs/Roboto Italic/25856-26111.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic25856-26111
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/26112-26367.pbf b/public/glyphs/Roboto Italic/26112-26367.pbf
new file mode 100644
index 0000000..5366c54
--- /dev/null
+++ b/public/glyphs/Roboto Italic/26112-26367.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic26112-26367
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/26368-26623.pbf b/public/glyphs/Roboto Italic/26368-26623.pbf
new file mode 100644
index 0000000..7332a4a
--- /dev/null
+++ b/public/glyphs/Roboto Italic/26368-26623.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic26368-26623
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/26624-26879.pbf b/public/glyphs/Roboto Italic/26624-26879.pbf
new file mode 100644
index 0000000..fff887c
--- /dev/null
+++ b/public/glyphs/Roboto Italic/26624-26879.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic26624-26879
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/26880-27135.pbf b/public/glyphs/Roboto Italic/26880-27135.pbf
new file mode 100644
index 0000000..07c53fb
--- /dev/null
+++ b/public/glyphs/Roboto Italic/26880-27135.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic26880-27135
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/27136-27391.pbf b/public/glyphs/Roboto Italic/27136-27391.pbf
new file mode 100644
index 0000000..ec7c1ce
--- /dev/null
+++ b/public/glyphs/Roboto Italic/27136-27391.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic27136-27391
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/27392-27647.pbf b/public/glyphs/Roboto Italic/27392-27647.pbf
new file mode 100644
index 0000000..b7279a3
--- /dev/null
+++ b/public/glyphs/Roboto Italic/27392-27647.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic27392-27647
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/27648-27903.pbf b/public/glyphs/Roboto Italic/27648-27903.pbf
new file mode 100644
index 0000000..77f2222
--- /dev/null
+++ b/public/glyphs/Roboto Italic/27648-27903.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic27648-27903
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/27904-28159.pbf b/public/glyphs/Roboto Italic/27904-28159.pbf
new file mode 100644
index 0000000..6119c7f
--- /dev/null
+++ b/public/glyphs/Roboto Italic/27904-28159.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic27904-28159
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/2816-3071.pbf b/public/glyphs/Roboto Italic/2816-3071.pbf
new file mode 100644
index 0000000..eca44db
--- /dev/null
+++ b/public/glyphs/Roboto Italic/2816-3071.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic 2816-3071
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/28160-28415.pbf b/public/glyphs/Roboto Italic/28160-28415.pbf
new file mode 100644
index 0000000..4f96f24
--- /dev/null
+++ b/public/glyphs/Roboto Italic/28160-28415.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic28160-28415
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/28416-28671.pbf b/public/glyphs/Roboto Italic/28416-28671.pbf
new file mode 100644
index 0000000..d7c477c
--- /dev/null
+++ b/public/glyphs/Roboto Italic/28416-28671.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic28416-28671
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/28672-28927.pbf b/public/glyphs/Roboto Italic/28672-28927.pbf
new file mode 100644
index 0000000..1ea6344
--- /dev/null
+++ b/public/glyphs/Roboto Italic/28672-28927.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic28672-28927
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/28928-29183.pbf b/public/glyphs/Roboto Italic/28928-29183.pbf
new file mode 100644
index 0000000..5ac94f3
--- /dev/null
+++ b/public/glyphs/Roboto Italic/28928-29183.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic28928-29183
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/29184-29439.pbf b/public/glyphs/Roboto Italic/29184-29439.pbf
new file mode 100644
index 0000000..1bc00da
--- /dev/null
+++ b/public/glyphs/Roboto Italic/29184-29439.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic29184-29439
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/29440-29695.pbf b/public/glyphs/Roboto Italic/29440-29695.pbf
new file mode 100644
index 0000000..f6de76d
--- /dev/null
+++ b/public/glyphs/Roboto Italic/29440-29695.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic29440-29695
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/29696-29951.pbf b/public/glyphs/Roboto Italic/29696-29951.pbf
new file mode 100644
index 0000000..d0a6890
--- /dev/null
+++ b/public/glyphs/Roboto Italic/29696-29951.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic29696-29951
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/29952-30207.pbf b/public/glyphs/Roboto Italic/29952-30207.pbf
new file mode 100644
index 0000000..5b3fcc7
--- /dev/null
+++ b/public/glyphs/Roboto Italic/29952-30207.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic29952-30207
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/30208-30463.pbf b/public/glyphs/Roboto Italic/30208-30463.pbf
new file mode 100644
index 0000000..c98e2ba
--- /dev/null
+++ b/public/glyphs/Roboto Italic/30208-30463.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic30208-30463
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/30464-30719.pbf b/public/glyphs/Roboto Italic/30464-30719.pbf
new file mode 100644
index 0000000..3767610
--- /dev/null
+++ b/public/glyphs/Roboto Italic/30464-30719.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic30464-30719
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/3072-3327.pbf b/public/glyphs/Roboto Italic/3072-3327.pbf
new file mode 100644
index 0000000..df33019
--- /dev/null
+++ b/public/glyphs/Roboto Italic/3072-3327.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic 3072-3327
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/30720-30975.pbf b/public/glyphs/Roboto Italic/30720-30975.pbf
new file mode 100644
index 0000000..f40b970
--- /dev/null
+++ b/public/glyphs/Roboto Italic/30720-30975.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic30720-30975
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/30976-31231.pbf b/public/glyphs/Roboto Italic/30976-31231.pbf
new file mode 100644
index 0000000..7217859
--- /dev/null
+++ b/public/glyphs/Roboto Italic/30976-31231.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic30976-31231
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/31232-31487.pbf b/public/glyphs/Roboto Italic/31232-31487.pbf
new file mode 100644
index 0000000..e02c2df
--- /dev/null
+++ b/public/glyphs/Roboto Italic/31232-31487.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic31232-31487
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/31488-31743.pbf b/public/glyphs/Roboto Italic/31488-31743.pbf
new file mode 100644
index 0000000..60e4232
--- /dev/null
+++ b/public/glyphs/Roboto Italic/31488-31743.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic31488-31743
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/31744-31999.pbf b/public/glyphs/Roboto Italic/31744-31999.pbf
new file mode 100644
index 0000000..977b687
--- /dev/null
+++ b/public/glyphs/Roboto Italic/31744-31999.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic31744-31999
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/32000-32255.pbf b/public/glyphs/Roboto Italic/32000-32255.pbf
new file mode 100644
index 0000000..7f3506c
--- /dev/null
+++ b/public/glyphs/Roboto Italic/32000-32255.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic32000-32255
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/32256-32511.pbf b/public/glyphs/Roboto Italic/32256-32511.pbf
new file mode 100644
index 0000000..2614881
--- /dev/null
+++ b/public/glyphs/Roboto Italic/32256-32511.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic32256-32511
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/32512-32767.pbf b/public/glyphs/Roboto Italic/32512-32767.pbf
new file mode 100644
index 0000000..17a672d
--- /dev/null
+++ b/public/glyphs/Roboto Italic/32512-32767.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic32512-32767
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/32768-33023.pbf b/public/glyphs/Roboto Italic/32768-33023.pbf
new file mode 100644
index 0000000..dc100e6
--- /dev/null
+++ b/public/glyphs/Roboto Italic/32768-33023.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic32768-33023
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/33024-33279.pbf b/public/glyphs/Roboto Italic/33024-33279.pbf
new file mode 100644
index 0000000..81b6182
--- /dev/null
+++ b/public/glyphs/Roboto Italic/33024-33279.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic33024-33279
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/3328-3583.pbf b/public/glyphs/Roboto Italic/3328-3583.pbf
new file mode 100644
index 0000000..db50e41
--- /dev/null
+++ b/public/glyphs/Roboto Italic/3328-3583.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic 3328-3583
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/33280-33535.pbf b/public/glyphs/Roboto Italic/33280-33535.pbf
new file mode 100644
index 0000000..f544af7
--- /dev/null
+++ b/public/glyphs/Roboto Italic/33280-33535.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic33280-33535
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/33536-33791.pbf b/public/glyphs/Roboto Italic/33536-33791.pbf
new file mode 100644
index 0000000..458267c
--- /dev/null
+++ b/public/glyphs/Roboto Italic/33536-33791.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic33536-33791
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/33792-34047.pbf b/public/glyphs/Roboto Italic/33792-34047.pbf
new file mode 100644
index 0000000..ff9f86f
--- /dev/null
+++ b/public/glyphs/Roboto Italic/33792-34047.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic33792-34047
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/34048-34303.pbf b/public/glyphs/Roboto Italic/34048-34303.pbf
new file mode 100644
index 0000000..1a80e55
--- /dev/null
+++ b/public/glyphs/Roboto Italic/34048-34303.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic34048-34303
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/34304-34559.pbf b/public/glyphs/Roboto Italic/34304-34559.pbf
new file mode 100644
index 0000000..fab7b91
--- /dev/null
+++ b/public/glyphs/Roboto Italic/34304-34559.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic34304-34559
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/34560-34815.pbf b/public/glyphs/Roboto Italic/34560-34815.pbf
new file mode 100644
index 0000000..5aebd99
--- /dev/null
+++ b/public/glyphs/Roboto Italic/34560-34815.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic34560-34815
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/34816-35071.pbf b/public/glyphs/Roboto Italic/34816-35071.pbf
new file mode 100644
index 0000000..7eb8eeb
--- /dev/null
+++ b/public/glyphs/Roboto Italic/34816-35071.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic34816-35071
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/35072-35327.pbf b/public/glyphs/Roboto Italic/35072-35327.pbf
new file mode 100644
index 0000000..1eeb432
--- /dev/null
+++ b/public/glyphs/Roboto Italic/35072-35327.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic35072-35327
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/35328-35583.pbf b/public/glyphs/Roboto Italic/35328-35583.pbf
new file mode 100644
index 0000000..57b33df
--- /dev/null
+++ b/public/glyphs/Roboto Italic/35328-35583.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic35328-35583
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/35584-35839.pbf b/public/glyphs/Roboto Italic/35584-35839.pbf
new file mode 100644
index 0000000..03a1a82
--- /dev/null
+++ b/public/glyphs/Roboto Italic/35584-35839.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic35584-35839
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/3584-3839.pbf b/public/glyphs/Roboto Italic/3584-3839.pbf
new file mode 100644
index 0000000..535aa90
--- /dev/null
+++ b/public/glyphs/Roboto Italic/3584-3839.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic 3584-3839
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/35840-36095.pbf b/public/glyphs/Roboto Italic/35840-36095.pbf
new file mode 100644
index 0000000..67f1b4d
--- /dev/null
+++ b/public/glyphs/Roboto Italic/35840-36095.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic35840-36095
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/36096-36351.pbf b/public/glyphs/Roboto Italic/36096-36351.pbf
new file mode 100644
index 0000000..9ebf3c0
--- /dev/null
+++ b/public/glyphs/Roboto Italic/36096-36351.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic36096-36351
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/36352-36607.pbf b/public/glyphs/Roboto Italic/36352-36607.pbf
new file mode 100644
index 0000000..41ae387
--- /dev/null
+++ b/public/glyphs/Roboto Italic/36352-36607.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic36352-36607
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/36608-36863.pbf b/public/glyphs/Roboto Italic/36608-36863.pbf
new file mode 100644
index 0000000..f5f7449
--- /dev/null
+++ b/public/glyphs/Roboto Italic/36608-36863.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic36608-36863
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/36864-37119.pbf b/public/glyphs/Roboto Italic/36864-37119.pbf
new file mode 100644
index 0000000..72b8131
--- /dev/null
+++ b/public/glyphs/Roboto Italic/36864-37119.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic36864-37119
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/37120-37375.pbf b/public/glyphs/Roboto Italic/37120-37375.pbf
new file mode 100644
index 0000000..04f7bdb
--- /dev/null
+++ b/public/glyphs/Roboto Italic/37120-37375.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic37120-37375
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/37376-37631.pbf b/public/glyphs/Roboto Italic/37376-37631.pbf
new file mode 100644
index 0000000..52a5d79
--- /dev/null
+++ b/public/glyphs/Roboto Italic/37376-37631.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic37376-37631
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/37632-37887.pbf b/public/glyphs/Roboto Italic/37632-37887.pbf
new file mode 100644
index 0000000..ba68016
--- /dev/null
+++ b/public/glyphs/Roboto Italic/37632-37887.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic37632-37887
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/37888-38143.pbf b/public/glyphs/Roboto Italic/37888-38143.pbf
new file mode 100644
index 0000000..028f789
--- /dev/null
+++ b/public/glyphs/Roboto Italic/37888-38143.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic37888-38143
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/38144-38399.pbf b/public/glyphs/Roboto Italic/38144-38399.pbf
new file mode 100644
index 0000000..c92ff0b
--- /dev/null
+++ b/public/glyphs/Roboto Italic/38144-38399.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic38144-38399
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/3840-4095.pbf b/public/glyphs/Roboto Italic/3840-4095.pbf
new file mode 100644
index 0000000..8c1c30e
--- /dev/null
+++ b/public/glyphs/Roboto Italic/3840-4095.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic 3840-4095
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/38400-38655.pbf b/public/glyphs/Roboto Italic/38400-38655.pbf
new file mode 100644
index 0000000..575c050
--- /dev/null
+++ b/public/glyphs/Roboto Italic/38400-38655.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic38400-38655
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/38656-38911.pbf b/public/glyphs/Roboto Italic/38656-38911.pbf
new file mode 100644
index 0000000..be2164a
--- /dev/null
+++ b/public/glyphs/Roboto Italic/38656-38911.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic38656-38911
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/38912-39167.pbf b/public/glyphs/Roboto Italic/38912-39167.pbf
new file mode 100644
index 0000000..90ee9a4
--- /dev/null
+++ b/public/glyphs/Roboto Italic/38912-39167.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic38912-39167
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/39168-39423.pbf b/public/glyphs/Roboto Italic/39168-39423.pbf
new file mode 100644
index 0000000..d10f0ed
--- /dev/null
+++ b/public/glyphs/Roboto Italic/39168-39423.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic39168-39423
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/39424-39679.pbf b/public/glyphs/Roboto Italic/39424-39679.pbf
new file mode 100644
index 0000000..348573e
--- /dev/null
+++ b/public/glyphs/Roboto Italic/39424-39679.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic39424-39679
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/39680-39935.pbf b/public/glyphs/Roboto Italic/39680-39935.pbf
new file mode 100644
index 0000000..21f47a7
--- /dev/null
+++ b/public/glyphs/Roboto Italic/39680-39935.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic39680-39935
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/39936-40191.pbf b/public/glyphs/Roboto Italic/39936-40191.pbf
new file mode 100644
index 0000000..7d97591
--- /dev/null
+++ b/public/glyphs/Roboto Italic/39936-40191.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic39936-40191
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/40192-40447.pbf b/public/glyphs/Roboto Italic/40192-40447.pbf
new file mode 100644
index 0000000..13c55bc
--- /dev/null
+++ b/public/glyphs/Roboto Italic/40192-40447.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic40192-40447
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/40448-40703.pbf b/public/glyphs/Roboto Italic/40448-40703.pbf
new file mode 100644
index 0000000..da5331d
--- /dev/null
+++ b/public/glyphs/Roboto Italic/40448-40703.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic40448-40703
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/40704-40959.pbf b/public/glyphs/Roboto Italic/40704-40959.pbf
new file mode 100644
index 0000000..e0da7c8
--- /dev/null
+++ b/public/glyphs/Roboto Italic/40704-40959.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic40704-40959
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/4096-4351.pbf b/public/glyphs/Roboto Italic/4096-4351.pbf
new file mode 100644
index 0000000..559c144
--- /dev/null
+++ b/public/glyphs/Roboto Italic/4096-4351.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic 4096-4351
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/40960-41215.pbf b/public/glyphs/Roboto Italic/40960-41215.pbf
new file mode 100644
index 0000000..e1aa3c9
--- /dev/null
+++ b/public/glyphs/Roboto Italic/40960-41215.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic40960-41215
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/41216-41471.pbf b/public/glyphs/Roboto Italic/41216-41471.pbf
new file mode 100644
index 0000000..32d2188
--- /dev/null
+++ b/public/glyphs/Roboto Italic/41216-41471.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic41216-41471
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/41472-41727.pbf b/public/glyphs/Roboto Italic/41472-41727.pbf
new file mode 100644
index 0000000..eddb81e
--- /dev/null
+++ b/public/glyphs/Roboto Italic/41472-41727.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic41472-41727
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/41728-41983.pbf b/public/glyphs/Roboto Italic/41728-41983.pbf
new file mode 100644
index 0000000..bfc1509
--- /dev/null
+++ b/public/glyphs/Roboto Italic/41728-41983.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic41728-41983
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/41984-42239.pbf b/public/glyphs/Roboto Italic/41984-42239.pbf
new file mode 100644
index 0000000..c675f32
--- /dev/null
+++ b/public/glyphs/Roboto Italic/41984-42239.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic41984-42239
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/42240-42495.pbf b/public/glyphs/Roboto Italic/42240-42495.pbf
new file mode 100644
index 0000000..76d6ca4
--- /dev/null
+++ b/public/glyphs/Roboto Italic/42240-42495.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic42240-42495
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/42496-42751.pbf b/public/glyphs/Roboto Italic/42496-42751.pbf
new file mode 100644
index 0000000..b0f7c8b
--- /dev/null
+++ b/public/glyphs/Roboto Italic/42496-42751.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic42496-42751
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/42752-43007.pbf b/public/glyphs/Roboto Italic/42752-43007.pbf
new file mode 100644
index 0000000..0426b4b
--- /dev/null
+++ b/public/glyphs/Roboto Italic/42752-43007.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic42752-43007
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/43008-43263.pbf b/public/glyphs/Roboto Italic/43008-43263.pbf
new file mode 100644
index 0000000..cf4dd19
--- /dev/null
+++ b/public/glyphs/Roboto Italic/43008-43263.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic43008-43263
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/43264-43519.pbf b/public/glyphs/Roboto Italic/43264-43519.pbf
new file mode 100644
index 0000000..4e18b9f
--- /dev/null
+++ b/public/glyphs/Roboto Italic/43264-43519.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic43264-43519
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/4352-4607.pbf b/public/glyphs/Roboto Italic/4352-4607.pbf
new file mode 100644
index 0000000..ca73ee2
--- /dev/null
+++ b/public/glyphs/Roboto Italic/4352-4607.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic 4352-4607
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/43520-43775.pbf b/public/glyphs/Roboto Italic/43520-43775.pbf
new file mode 100644
index 0000000..15bc2c5
--- /dev/null
+++ b/public/glyphs/Roboto Italic/43520-43775.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic43520-43775
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/43776-44031.pbf b/public/glyphs/Roboto Italic/43776-44031.pbf
new file mode 100644
index 0000000..1aacfa9
--- /dev/null
+++ b/public/glyphs/Roboto Italic/43776-44031.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic43776-44031
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/44032-44287.pbf b/public/glyphs/Roboto Italic/44032-44287.pbf
new file mode 100644
index 0000000..4745118
--- /dev/null
+++ b/public/glyphs/Roboto Italic/44032-44287.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic44032-44287
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/44288-44543.pbf b/public/glyphs/Roboto Italic/44288-44543.pbf
new file mode 100644
index 0000000..720b885
--- /dev/null
+++ b/public/glyphs/Roboto Italic/44288-44543.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic44288-44543
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/44544-44799.pbf b/public/glyphs/Roboto Italic/44544-44799.pbf
new file mode 100644
index 0000000..4a003ee
--- /dev/null
+++ b/public/glyphs/Roboto Italic/44544-44799.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic44544-44799
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/44800-45055.pbf b/public/glyphs/Roboto Italic/44800-45055.pbf
new file mode 100644
index 0000000..8ffc5e8
--- /dev/null
+++ b/public/glyphs/Roboto Italic/44800-45055.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic44800-45055
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/45056-45311.pbf b/public/glyphs/Roboto Italic/45056-45311.pbf
new file mode 100644
index 0000000..b59790e
--- /dev/null
+++ b/public/glyphs/Roboto Italic/45056-45311.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic45056-45311
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/45312-45567.pbf b/public/glyphs/Roboto Italic/45312-45567.pbf
new file mode 100644
index 0000000..dbbf8bb
--- /dev/null
+++ b/public/glyphs/Roboto Italic/45312-45567.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic45312-45567
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/45568-45823.pbf b/public/glyphs/Roboto Italic/45568-45823.pbf
new file mode 100644
index 0000000..94b9535
--- /dev/null
+++ b/public/glyphs/Roboto Italic/45568-45823.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic45568-45823
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/45824-46079.pbf b/public/glyphs/Roboto Italic/45824-46079.pbf
new file mode 100644
index 0000000..ec999b4
--- /dev/null
+++ b/public/glyphs/Roboto Italic/45824-46079.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic45824-46079
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/4608-4863.pbf b/public/glyphs/Roboto Italic/4608-4863.pbf
new file mode 100644
index 0000000..72468d2
--- /dev/null
+++ b/public/glyphs/Roboto Italic/4608-4863.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic 4608-4863
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/46080-46335.pbf b/public/glyphs/Roboto Italic/46080-46335.pbf
new file mode 100644
index 0000000..8e2f8f4
--- /dev/null
+++ b/public/glyphs/Roboto Italic/46080-46335.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic46080-46335
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/46336-46591.pbf b/public/glyphs/Roboto Italic/46336-46591.pbf
new file mode 100644
index 0000000..e0948f9
--- /dev/null
+++ b/public/glyphs/Roboto Italic/46336-46591.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic46336-46591
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/46592-46847.pbf b/public/glyphs/Roboto Italic/46592-46847.pbf
new file mode 100644
index 0000000..73303b1
--- /dev/null
+++ b/public/glyphs/Roboto Italic/46592-46847.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic46592-46847
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/46848-47103.pbf b/public/glyphs/Roboto Italic/46848-47103.pbf
new file mode 100644
index 0000000..e809c71
--- /dev/null
+++ b/public/glyphs/Roboto Italic/46848-47103.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic46848-47103
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/47104-47359.pbf b/public/glyphs/Roboto Italic/47104-47359.pbf
new file mode 100644
index 0000000..557e9c7
--- /dev/null
+++ b/public/glyphs/Roboto Italic/47104-47359.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic47104-47359
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/47360-47615.pbf b/public/glyphs/Roboto Italic/47360-47615.pbf
new file mode 100644
index 0000000..9f1d69e
--- /dev/null
+++ b/public/glyphs/Roboto Italic/47360-47615.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic47360-47615
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/47616-47871.pbf b/public/glyphs/Roboto Italic/47616-47871.pbf
new file mode 100644
index 0000000..ab18feb
--- /dev/null
+++ b/public/glyphs/Roboto Italic/47616-47871.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic47616-47871
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/47872-48127.pbf b/public/glyphs/Roboto Italic/47872-48127.pbf
new file mode 100644
index 0000000..1e74511
--- /dev/null
+++ b/public/glyphs/Roboto Italic/47872-48127.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic47872-48127
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/48128-48383.pbf b/public/glyphs/Roboto Italic/48128-48383.pbf
new file mode 100644
index 0000000..cc85271
--- /dev/null
+++ b/public/glyphs/Roboto Italic/48128-48383.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic48128-48383
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/48384-48639.pbf b/public/glyphs/Roboto Italic/48384-48639.pbf
new file mode 100644
index 0000000..bfc5f56
--- /dev/null
+++ b/public/glyphs/Roboto Italic/48384-48639.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic48384-48639
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/4864-5119.pbf b/public/glyphs/Roboto Italic/4864-5119.pbf
new file mode 100644
index 0000000..8345410
--- /dev/null
+++ b/public/glyphs/Roboto Italic/4864-5119.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic 4864-5119
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/48640-48895.pbf b/public/glyphs/Roboto Italic/48640-48895.pbf
new file mode 100644
index 0000000..12a0993
--- /dev/null
+++ b/public/glyphs/Roboto Italic/48640-48895.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic48640-48895
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/48896-49151.pbf b/public/glyphs/Roboto Italic/48896-49151.pbf
new file mode 100644
index 0000000..45ce707
--- /dev/null
+++ b/public/glyphs/Roboto Italic/48896-49151.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic48896-49151
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/49152-49407.pbf b/public/glyphs/Roboto Italic/49152-49407.pbf
new file mode 100644
index 0000000..33c8460
--- /dev/null
+++ b/public/glyphs/Roboto Italic/49152-49407.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic49152-49407
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/49408-49663.pbf b/public/glyphs/Roboto Italic/49408-49663.pbf
new file mode 100644
index 0000000..3e4c29b
--- /dev/null
+++ b/public/glyphs/Roboto Italic/49408-49663.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic49408-49663
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/49664-49919.pbf b/public/glyphs/Roboto Italic/49664-49919.pbf
new file mode 100644
index 0000000..ea960d8
--- /dev/null
+++ b/public/glyphs/Roboto Italic/49664-49919.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic49664-49919
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/49920-50175.pbf b/public/glyphs/Roboto Italic/49920-50175.pbf
new file mode 100644
index 0000000..cd8fa3a
--- /dev/null
+++ b/public/glyphs/Roboto Italic/49920-50175.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic49920-50175
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/50176-50431.pbf b/public/glyphs/Roboto Italic/50176-50431.pbf
new file mode 100644
index 0000000..9a7f2ef
--- /dev/null
+++ b/public/glyphs/Roboto Italic/50176-50431.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic50176-50431
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/50432-50687.pbf b/public/glyphs/Roboto Italic/50432-50687.pbf
new file mode 100644
index 0000000..e53b39e
--- /dev/null
+++ b/public/glyphs/Roboto Italic/50432-50687.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic50432-50687
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/50688-50943.pbf b/public/glyphs/Roboto Italic/50688-50943.pbf
new file mode 100644
index 0000000..42feed5
--- /dev/null
+++ b/public/glyphs/Roboto Italic/50688-50943.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic50688-50943
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/50944-51199.pbf b/public/glyphs/Roboto Italic/50944-51199.pbf
new file mode 100644
index 0000000..2d373fd
--- /dev/null
+++ b/public/glyphs/Roboto Italic/50944-51199.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic50944-51199
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/512-767.pbf b/public/glyphs/Roboto Italic/512-767.pbf
new file mode 100644
index 0000000..63952ac
Binary files /dev/null and b/public/glyphs/Roboto Italic/512-767.pbf differ
diff --git a/public/glyphs/Roboto Italic/5120-5375.pbf b/public/glyphs/Roboto Italic/5120-5375.pbf
new file mode 100644
index 0000000..1eb1b1f
--- /dev/null
+++ b/public/glyphs/Roboto Italic/5120-5375.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic 5120-5375
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/51200-51455.pbf b/public/glyphs/Roboto Italic/51200-51455.pbf
new file mode 100644
index 0000000..771b3ef
--- /dev/null
+++ b/public/glyphs/Roboto Italic/51200-51455.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic51200-51455
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/51456-51711.pbf b/public/glyphs/Roboto Italic/51456-51711.pbf
new file mode 100644
index 0000000..76d21cb
--- /dev/null
+++ b/public/glyphs/Roboto Italic/51456-51711.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic51456-51711
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/51712-51967.pbf b/public/glyphs/Roboto Italic/51712-51967.pbf
new file mode 100644
index 0000000..1559125
--- /dev/null
+++ b/public/glyphs/Roboto Italic/51712-51967.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic51712-51967
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/51968-52223.pbf b/public/glyphs/Roboto Italic/51968-52223.pbf
new file mode 100644
index 0000000..df7fee8
--- /dev/null
+++ b/public/glyphs/Roboto Italic/51968-52223.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic51968-52223
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/52224-52479.pbf b/public/glyphs/Roboto Italic/52224-52479.pbf
new file mode 100644
index 0000000..51a615e
--- /dev/null
+++ b/public/glyphs/Roboto Italic/52224-52479.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic52224-52479
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/52480-52735.pbf b/public/glyphs/Roboto Italic/52480-52735.pbf
new file mode 100644
index 0000000..a0fa639
--- /dev/null
+++ b/public/glyphs/Roboto Italic/52480-52735.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic52480-52735
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/52736-52991.pbf b/public/glyphs/Roboto Italic/52736-52991.pbf
new file mode 100644
index 0000000..e8a92cb
--- /dev/null
+++ b/public/glyphs/Roboto Italic/52736-52991.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic52736-52991
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/52992-53247.pbf b/public/glyphs/Roboto Italic/52992-53247.pbf
new file mode 100644
index 0000000..d826776
--- /dev/null
+++ b/public/glyphs/Roboto Italic/52992-53247.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic52992-53247
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/53248-53503.pbf b/public/glyphs/Roboto Italic/53248-53503.pbf
new file mode 100644
index 0000000..100a29a
--- /dev/null
+++ b/public/glyphs/Roboto Italic/53248-53503.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic53248-53503
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/53504-53759.pbf b/public/glyphs/Roboto Italic/53504-53759.pbf
new file mode 100644
index 0000000..2610b18
--- /dev/null
+++ b/public/glyphs/Roboto Italic/53504-53759.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic53504-53759
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/5376-5631.pbf b/public/glyphs/Roboto Italic/5376-5631.pbf
new file mode 100644
index 0000000..656e978
--- /dev/null
+++ b/public/glyphs/Roboto Italic/5376-5631.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic 5376-5631
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/53760-54015.pbf b/public/glyphs/Roboto Italic/53760-54015.pbf
new file mode 100644
index 0000000..f257b69
--- /dev/null
+++ b/public/glyphs/Roboto Italic/53760-54015.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic53760-54015
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/54016-54271.pbf b/public/glyphs/Roboto Italic/54016-54271.pbf
new file mode 100644
index 0000000..90d3f05
--- /dev/null
+++ b/public/glyphs/Roboto Italic/54016-54271.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic54016-54271
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/54272-54527.pbf b/public/glyphs/Roboto Italic/54272-54527.pbf
new file mode 100644
index 0000000..e085039
--- /dev/null
+++ b/public/glyphs/Roboto Italic/54272-54527.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic54272-54527
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/54528-54783.pbf b/public/glyphs/Roboto Italic/54528-54783.pbf
new file mode 100644
index 0000000..97ff5e2
--- /dev/null
+++ b/public/glyphs/Roboto Italic/54528-54783.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic54528-54783
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/54784-55039.pbf b/public/glyphs/Roboto Italic/54784-55039.pbf
new file mode 100644
index 0000000..6322008
--- /dev/null
+++ b/public/glyphs/Roboto Italic/54784-55039.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic54784-55039
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/55040-55295.pbf b/public/glyphs/Roboto Italic/55040-55295.pbf
new file mode 100644
index 0000000..30abaa6
--- /dev/null
+++ b/public/glyphs/Roboto Italic/55040-55295.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic55040-55295
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/55296-55551.pbf b/public/glyphs/Roboto Italic/55296-55551.pbf
new file mode 100644
index 0000000..339ba4b
--- /dev/null
+++ b/public/glyphs/Roboto Italic/55296-55551.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic55296-55551
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/55552-55807.pbf b/public/glyphs/Roboto Italic/55552-55807.pbf
new file mode 100644
index 0000000..8dfba0b
--- /dev/null
+++ b/public/glyphs/Roboto Italic/55552-55807.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic55552-55807
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/55808-56063.pbf b/public/glyphs/Roboto Italic/55808-56063.pbf
new file mode 100644
index 0000000..faa783b
--- /dev/null
+++ b/public/glyphs/Roboto Italic/55808-56063.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic55808-56063
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/56064-56319.pbf b/public/glyphs/Roboto Italic/56064-56319.pbf
new file mode 100644
index 0000000..064993e
--- /dev/null
+++ b/public/glyphs/Roboto Italic/56064-56319.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic56064-56319
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/5632-5887.pbf b/public/glyphs/Roboto Italic/5632-5887.pbf
new file mode 100644
index 0000000..d905635
--- /dev/null
+++ b/public/glyphs/Roboto Italic/5632-5887.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic 5632-5887
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/56320-56575.pbf b/public/glyphs/Roboto Italic/56320-56575.pbf
new file mode 100644
index 0000000..fa476f1
--- /dev/null
+++ b/public/glyphs/Roboto Italic/56320-56575.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic56320-56575
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/56576-56831.pbf b/public/glyphs/Roboto Italic/56576-56831.pbf
new file mode 100644
index 0000000..7469f23
--- /dev/null
+++ b/public/glyphs/Roboto Italic/56576-56831.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic56576-56831
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/56832-57087.pbf b/public/glyphs/Roboto Italic/56832-57087.pbf
new file mode 100644
index 0000000..6baa4df
--- /dev/null
+++ b/public/glyphs/Roboto Italic/56832-57087.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic56832-57087
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/57088-57343.pbf b/public/glyphs/Roboto Italic/57088-57343.pbf
new file mode 100644
index 0000000..19426ec
--- /dev/null
+++ b/public/glyphs/Roboto Italic/57088-57343.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic57088-57343
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/57344-57599.pbf b/public/glyphs/Roboto Italic/57344-57599.pbf
new file mode 100644
index 0000000..421200a
--- /dev/null
+++ b/public/glyphs/Roboto Italic/57344-57599.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic57344-57599
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/57600-57855.pbf b/public/glyphs/Roboto Italic/57600-57855.pbf
new file mode 100644
index 0000000..b62523c
--- /dev/null
+++ b/public/glyphs/Roboto Italic/57600-57855.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic57600-57855
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/57856-58111.pbf b/public/glyphs/Roboto Italic/57856-58111.pbf
new file mode 100644
index 0000000..e5a6f2a
--- /dev/null
+++ b/public/glyphs/Roboto Italic/57856-58111.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic57856-58111
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/58112-58367.pbf b/public/glyphs/Roboto Italic/58112-58367.pbf
new file mode 100644
index 0000000..557fe69
--- /dev/null
+++ b/public/glyphs/Roboto Italic/58112-58367.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic58112-58367
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/58368-58623.pbf b/public/glyphs/Roboto Italic/58368-58623.pbf
new file mode 100644
index 0000000..bb302d0
--- /dev/null
+++ b/public/glyphs/Roboto Italic/58368-58623.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic58368-58623
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/58624-58879.pbf b/public/glyphs/Roboto Italic/58624-58879.pbf
new file mode 100644
index 0000000..748ce62
--- /dev/null
+++ b/public/glyphs/Roboto Italic/58624-58879.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic58624-58879
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/5888-6143.pbf b/public/glyphs/Roboto Italic/5888-6143.pbf
new file mode 100644
index 0000000..ab2ce1a
--- /dev/null
+++ b/public/glyphs/Roboto Italic/5888-6143.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic 5888-6143
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/58880-59135.pbf b/public/glyphs/Roboto Italic/58880-59135.pbf
new file mode 100644
index 0000000..4473ce9
--- /dev/null
+++ b/public/glyphs/Roboto Italic/58880-59135.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic58880-59135
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/59136-59391.pbf b/public/glyphs/Roboto Italic/59136-59391.pbf
new file mode 100644
index 0000000..7bfcf7e
--- /dev/null
+++ b/public/glyphs/Roboto Italic/59136-59391.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic59136-59391
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/59392-59647.pbf b/public/glyphs/Roboto Italic/59392-59647.pbf
new file mode 100644
index 0000000..390d616
--- /dev/null
+++ b/public/glyphs/Roboto Italic/59392-59647.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic59392-59647
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/59648-59903.pbf b/public/glyphs/Roboto Italic/59648-59903.pbf
new file mode 100644
index 0000000..d041abe
--- /dev/null
+++ b/public/glyphs/Roboto Italic/59648-59903.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic59648-59903
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/59904-60159.pbf b/public/glyphs/Roboto Italic/59904-60159.pbf
new file mode 100644
index 0000000..e1870cc
--- /dev/null
+++ b/public/glyphs/Roboto Italic/59904-60159.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic59904-60159
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/60160-60415.pbf b/public/glyphs/Roboto Italic/60160-60415.pbf
new file mode 100644
index 0000000..6f5ec7e
--- /dev/null
+++ b/public/glyphs/Roboto Italic/60160-60415.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic60160-60415
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/60416-60671.pbf b/public/glyphs/Roboto Italic/60416-60671.pbf
new file mode 100644
index 0000000..0a6881c
--- /dev/null
+++ b/public/glyphs/Roboto Italic/60416-60671.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic60416-60671
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/60672-60927.pbf b/public/glyphs/Roboto Italic/60672-60927.pbf
new file mode 100644
index 0000000..d5734bb
--- /dev/null
+++ b/public/glyphs/Roboto Italic/60672-60927.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic60672-60927
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/60928-61183.pbf b/public/glyphs/Roboto Italic/60928-61183.pbf
new file mode 100644
index 0000000..30b574f
--- /dev/null
+++ b/public/glyphs/Roboto Italic/60928-61183.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic60928-61183 (087Pdu}|tcN,Hc}{a6Usp;[zԵv:Zyͳt4Sqk)E`xsZ3K^msrjYF-8BNTSL>-7JW^]VH6"Pdu}|tcN5c}{aF)spQ2zԵvV7yͳtU5qkN/`xsZ@$K^msrjYF- (08*BVbeeceee_O;Wo{gEdwKjŪŻ|PpĤյvVuԾаq[{ٹʪkaӴĥfe®¿`a~xZRk}zfM>Q^bb`abb\N9
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/61184-61439.pbf b/public/glyphs/Roboto Italic/61184-61439.pbf
new file mode 100644
index 0000000..fef8493
--- /dev/null
+++ b/public/glyphs/Roboto Italic/61184-61439.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic61184-61439
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/6144-6399.pbf b/public/glyphs/Roboto Italic/6144-6399.pbf
new file mode 100644
index 0000000..39656e6
--- /dev/null
+++ b/public/glyphs/Roboto Italic/6144-6399.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic 6144-6399
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/61440-61695.pbf b/public/glyphs/Roboto Italic/61440-61695.pbf
new file mode 100644
index 0000000..bcbd865
--- /dev/null
+++ b/public/glyphs/Roboto Italic/61440-61695.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic61440-61695
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/61696-61951.pbf b/public/glyphs/Roboto Italic/61696-61951.pbf
new file mode 100644
index 0000000..3536b7c
--- /dev/null
+++ b/public/glyphs/Roboto Italic/61696-61951.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic61696-61951
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/61952-62207.pbf b/public/glyphs/Roboto Italic/61952-62207.pbf
new file mode 100644
index 0000000..56db1df
--- /dev/null
+++ b/public/glyphs/Roboto Italic/61952-62207.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic61952-62207
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/62208-62463.pbf b/public/glyphs/Roboto Italic/62208-62463.pbf
new file mode 100644
index 0000000..70fbbe5
--- /dev/null
+++ b/public/glyphs/Roboto Italic/62208-62463.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic62208-62463
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/62464-62719.pbf b/public/glyphs/Roboto Italic/62464-62719.pbf
new file mode 100644
index 0000000..1a48c3f
--- /dev/null
+++ b/public/glyphs/Roboto Italic/62464-62719.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic62464-62719
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/62720-62975.pbf b/public/glyphs/Roboto Italic/62720-62975.pbf
new file mode 100644
index 0000000..65a63dc
--- /dev/null
+++ b/public/glyphs/Roboto Italic/62720-62975.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic62720-62975
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/62976-63231.pbf b/public/glyphs/Roboto Italic/62976-63231.pbf
new file mode 100644
index 0000000..1815b39
Binary files /dev/null and b/public/glyphs/Roboto Italic/62976-63231.pbf differ
diff --git a/public/glyphs/Roboto Italic/63232-63487.pbf b/public/glyphs/Roboto Italic/63232-63487.pbf
new file mode 100644
index 0000000..96aee13
--- /dev/null
+++ b/public/glyphs/Roboto Italic/63232-63487.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic63232-63487
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/63488-63743.pbf b/public/glyphs/Roboto Italic/63488-63743.pbf
new file mode 100644
index 0000000..9124238
--- /dev/null
+++ b/public/glyphs/Roboto Italic/63488-63743.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic63488-63743
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/63744-63999.pbf b/public/glyphs/Roboto Italic/63744-63999.pbf
new file mode 100644
index 0000000..f4d4783
--- /dev/null
+++ b/public/glyphs/Roboto Italic/63744-63999.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic63744-63999
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/6400-6655.pbf b/public/glyphs/Roboto Italic/6400-6655.pbf
new file mode 100644
index 0000000..617b98f
--- /dev/null
+++ b/public/glyphs/Roboto Italic/6400-6655.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic 6400-6655
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/64000-64255.pbf b/public/glyphs/Roboto Italic/64000-64255.pbf
new file mode 100644
index 0000000..9d258ba
--- /dev/null
+++ b/public/glyphs/Roboto Italic/64000-64255.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic64000-64255
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/64256-64511.pbf b/public/glyphs/Roboto Italic/64256-64511.pbf
new file mode 100644
index 0000000..96dcbb7
Binary files /dev/null and b/public/glyphs/Roboto Italic/64256-64511.pbf differ
diff --git a/public/glyphs/Roboto Italic/64512-64767.pbf b/public/glyphs/Roboto Italic/64512-64767.pbf
new file mode 100644
index 0000000..1212724
--- /dev/null
+++ b/public/glyphs/Roboto Italic/64512-64767.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic64512-64767
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/64768-65023.pbf b/public/glyphs/Roboto Italic/64768-65023.pbf
new file mode 100644
index 0000000..783cbe4
--- /dev/null
+++ b/public/glyphs/Roboto Italic/64768-65023.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic64768-65023
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/65024-65279.pbf b/public/glyphs/Roboto Italic/65024-65279.pbf
new file mode 100644
index 0000000..ecbb1e7
Binary files /dev/null and b/public/glyphs/Roboto Italic/65024-65279.pbf differ
diff --git a/public/glyphs/Roboto Italic/65280-65535.pbf b/public/glyphs/Roboto Italic/65280-65535.pbf
new file mode 100644
index 0000000..afaaf82
Binary files /dev/null and b/public/glyphs/Roboto Italic/65280-65535.pbf differ
diff --git a/public/glyphs/Roboto Italic/6656-6911.pbf b/public/glyphs/Roboto Italic/6656-6911.pbf
new file mode 100644
index 0000000..39f8603
--- /dev/null
+++ b/public/glyphs/Roboto Italic/6656-6911.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic 6656-6911
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/6912-7167.pbf b/public/glyphs/Roboto Italic/6912-7167.pbf
new file mode 100644
index 0000000..8ab833e
--- /dev/null
+++ b/public/glyphs/Roboto Italic/6912-7167.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic 6912-7167
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/7168-7423.pbf b/public/glyphs/Roboto Italic/7168-7423.pbf
new file mode 100644
index 0000000..9b785e6
--- /dev/null
+++ b/public/glyphs/Roboto Italic/7168-7423.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic 7168-7423
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/7424-7679.pbf b/public/glyphs/Roboto Italic/7424-7679.pbf
new file mode 100644
index 0000000..bdfa0b6
--- /dev/null
+++ b/public/glyphs/Roboto Italic/7424-7679.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic 7424-7679
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/768-1023.pbf b/public/glyphs/Roboto Italic/768-1023.pbf
new file mode 100644
index 0000000..dbde795
Binary files /dev/null and b/public/glyphs/Roboto Italic/768-1023.pbf differ
diff --git a/public/glyphs/Roboto Italic/7680-7935.pbf b/public/glyphs/Roboto Italic/7680-7935.pbf
new file mode 100644
index 0000000..9fd1cc8
Binary files /dev/null and b/public/glyphs/Roboto Italic/7680-7935.pbf differ
diff --git a/public/glyphs/Roboto Italic/7936-8191.pbf b/public/glyphs/Roboto Italic/7936-8191.pbf
new file mode 100644
index 0000000..5abc5d8
Binary files /dev/null and b/public/glyphs/Roboto Italic/7936-8191.pbf differ
diff --git a/public/glyphs/Roboto Italic/8192-8447.pbf b/public/glyphs/Roboto Italic/8192-8447.pbf
new file mode 100644
index 0000000..8e4dcb2
Binary files /dev/null and b/public/glyphs/Roboto Italic/8192-8447.pbf differ
diff --git a/public/glyphs/Roboto Italic/8448-8703.pbf b/public/glyphs/Roboto Italic/8448-8703.pbf
new file mode 100644
index 0000000..b45c822
Binary files /dev/null and b/public/glyphs/Roboto Italic/8448-8703.pbf differ
diff --git a/public/glyphs/Roboto Italic/8704-8959.pbf b/public/glyphs/Roboto Italic/8704-8959.pbf
new file mode 100644
index 0000000..8dfa5ff
Binary files /dev/null and b/public/glyphs/Roboto Italic/8704-8959.pbf differ
diff --git a/public/glyphs/Roboto Italic/8960-9215.pbf b/public/glyphs/Roboto Italic/8960-9215.pbf
new file mode 100644
index 0000000..52d912f
--- /dev/null
+++ b/public/glyphs/Roboto Italic/8960-9215.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic 8960-9215
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/9216-9471.pbf b/public/glyphs/Roboto Italic/9216-9471.pbf
new file mode 100644
index 0000000..bf43c5d
--- /dev/null
+++ b/public/glyphs/Roboto Italic/9216-9471.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic 9216-9471
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/9472-9727.pbf b/public/glyphs/Roboto Italic/9472-9727.pbf
new file mode 100644
index 0000000..154055c
Binary files /dev/null and b/public/glyphs/Roboto Italic/9472-9727.pbf differ
diff --git a/public/glyphs/Roboto Italic/9728-9983.pbf b/public/glyphs/Roboto Italic/9728-9983.pbf
new file mode 100644
index 0000000..5fdae2b
--- /dev/null
+++ b/public/glyphs/Roboto Italic/9728-9983.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Italic 9728-9983
\ No newline at end of file
diff --git a/public/glyphs/Roboto Italic/9984-10239.pbf b/public/glyphs/Roboto Italic/9984-10239.pbf
new file mode 100644
index 0000000..a103699
--- /dev/null
+++ b/public/glyphs/Roboto Italic/9984-10239.pbf
@@ -0,0 +1,4 @@
+
+
+
Roboto Italic
+9984-10239
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/0-255.pbf b/public/glyphs/Roboto Medium/0-255.pbf
new file mode 100644
index 0000000..186315e
Binary files /dev/null and b/public/glyphs/Roboto Medium/0-255.pbf differ
diff --git a/public/glyphs/Roboto Medium/1024-1279.pbf b/public/glyphs/Roboto Medium/1024-1279.pbf
new file mode 100644
index 0000000..ba92704
Binary files /dev/null and b/public/glyphs/Roboto Medium/1024-1279.pbf differ
diff --git a/public/glyphs/Roboto Medium/10240-10495.pbf b/public/glyphs/Roboto Medium/10240-10495.pbf
new file mode 100644
index 0000000..5df6500
--- /dev/null
+++ b/public/glyphs/Roboto Medium/10240-10495.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium10240-10495
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/10496-10751.pbf b/public/glyphs/Roboto Medium/10496-10751.pbf
new file mode 100644
index 0000000..bcd98f6
--- /dev/null
+++ b/public/glyphs/Roboto Medium/10496-10751.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium10496-10751
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/10752-11007.pbf b/public/glyphs/Roboto Medium/10752-11007.pbf
new file mode 100644
index 0000000..dc68e48
--- /dev/null
+++ b/public/glyphs/Roboto Medium/10752-11007.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium10752-11007
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/11008-11263.pbf b/public/glyphs/Roboto Medium/11008-11263.pbf
new file mode 100644
index 0000000..84f9cef
--- /dev/null
+++ b/public/glyphs/Roboto Medium/11008-11263.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium11008-11263
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/11264-11519.pbf b/public/glyphs/Roboto Medium/11264-11519.pbf
new file mode 100644
index 0000000..87a2142
--- /dev/null
+++ b/public/glyphs/Roboto Medium/11264-11519.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium11264-11519
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/11520-11775.pbf b/public/glyphs/Roboto Medium/11520-11775.pbf
new file mode 100644
index 0000000..e141045
--- /dev/null
+++ b/public/glyphs/Roboto Medium/11520-11775.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium11520-11775
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/11776-12031.pbf b/public/glyphs/Roboto Medium/11776-12031.pbf
new file mode 100644
index 0000000..bc7153d
--- /dev/null
+++ b/public/glyphs/Roboto Medium/11776-12031.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium11776-12031
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/12032-12287.pbf b/public/glyphs/Roboto Medium/12032-12287.pbf
new file mode 100644
index 0000000..64fa297
--- /dev/null
+++ b/public/glyphs/Roboto Medium/12032-12287.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium12032-12287
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/12288-12543.pbf b/public/glyphs/Roboto Medium/12288-12543.pbf
new file mode 100644
index 0000000..2bf3be5
--- /dev/null
+++ b/public/glyphs/Roboto Medium/12288-12543.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium12288-12543
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/12544-12799.pbf b/public/glyphs/Roboto Medium/12544-12799.pbf
new file mode 100644
index 0000000..d0e32ed
--- /dev/null
+++ b/public/glyphs/Roboto Medium/12544-12799.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium12544-12799
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/1280-1535.pbf b/public/glyphs/Roboto Medium/1280-1535.pbf
new file mode 100644
index 0000000..b1b149d
Binary files /dev/null and b/public/glyphs/Roboto Medium/1280-1535.pbf differ
diff --git a/public/glyphs/Roboto Medium/12800-13055.pbf b/public/glyphs/Roboto Medium/12800-13055.pbf
new file mode 100644
index 0000000..971344d
--- /dev/null
+++ b/public/glyphs/Roboto Medium/12800-13055.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium12800-13055
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/13056-13311.pbf b/public/glyphs/Roboto Medium/13056-13311.pbf
new file mode 100644
index 0000000..18c0542
--- /dev/null
+++ b/public/glyphs/Roboto Medium/13056-13311.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium13056-13311
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/13312-13567.pbf b/public/glyphs/Roboto Medium/13312-13567.pbf
new file mode 100644
index 0000000..986c575
--- /dev/null
+++ b/public/glyphs/Roboto Medium/13312-13567.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium13312-13567
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/13568-13823.pbf b/public/glyphs/Roboto Medium/13568-13823.pbf
new file mode 100644
index 0000000..fb485c9
--- /dev/null
+++ b/public/glyphs/Roboto Medium/13568-13823.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium13568-13823
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/13824-14079.pbf b/public/glyphs/Roboto Medium/13824-14079.pbf
new file mode 100644
index 0000000..8185574
--- /dev/null
+++ b/public/glyphs/Roboto Medium/13824-14079.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium13824-14079
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/14080-14335.pbf b/public/glyphs/Roboto Medium/14080-14335.pbf
new file mode 100644
index 0000000..c3e3b35
--- /dev/null
+++ b/public/glyphs/Roboto Medium/14080-14335.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium14080-14335
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/14336-14591.pbf b/public/glyphs/Roboto Medium/14336-14591.pbf
new file mode 100644
index 0000000..84591d2
--- /dev/null
+++ b/public/glyphs/Roboto Medium/14336-14591.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium14336-14591
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/14592-14847.pbf b/public/glyphs/Roboto Medium/14592-14847.pbf
new file mode 100644
index 0000000..9e7206e
--- /dev/null
+++ b/public/glyphs/Roboto Medium/14592-14847.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium14592-14847
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/14848-15103.pbf b/public/glyphs/Roboto Medium/14848-15103.pbf
new file mode 100644
index 0000000..c9d6c75
--- /dev/null
+++ b/public/glyphs/Roboto Medium/14848-15103.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium14848-15103
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/15104-15359.pbf b/public/glyphs/Roboto Medium/15104-15359.pbf
new file mode 100644
index 0000000..e7b6dd4
--- /dev/null
+++ b/public/glyphs/Roboto Medium/15104-15359.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium15104-15359
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/1536-1791.pbf b/public/glyphs/Roboto Medium/1536-1791.pbf
new file mode 100644
index 0000000..502904b
--- /dev/null
+++ b/public/glyphs/Roboto Medium/1536-1791.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium 1536-1791
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/15360-15615.pbf b/public/glyphs/Roboto Medium/15360-15615.pbf
new file mode 100644
index 0000000..9cb3f63
--- /dev/null
+++ b/public/glyphs/Roboto Medium/15360-15615.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium15360-15615
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/15616-15871.pbf b/public/glyphs/Roboto Medium/15616-15871.pbf
new file mode 100644
index 0000000..f76d1c3
--- /dev/null
+++ b/public/glyphs/Roboto Medium/15616-15871.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium15616-15871
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/15872-16127.pbf b/public/glyphs/Roboto Medium/15872-16127.pbf
new file mode 100644
index 0000000..5f1b697
--- /dev/null
+++ b/public/glyphs/Roboto Medium/15872-16127.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium15872-16127
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/16128-16383.pbf b/public/glyphs/Roboto Medium/16128-16383.pbf
new file mode 100644
index 0000000..71aed82
--- /dev/null
+++ b/public/glyphs/Roboto Medium/16128-16383.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium16128-16383
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/16384-16639.pbf b/public/glyphs/Roboto Medium/16384-16639.pbf
new file mode 100644
index 0000000..f102f6b
--- /dev/null
+++ b/public/glyphs/Roboto Medium/16384-16639.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium16384-16639
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/16640-16895.pbf b/public/glyphs/Roboto Medium/16640-16895.pbf
new file mode 100644
index 0000000..c9d06ba
--- /dev/null
+++ b/public/glyphs/Roboto Medium/16640-16895.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium16640-16895
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/16896-17151.pbf b/public/glyphs/Roboto Medium/16896-17151.pbf
new file mode 100644
index 0000000..a3bb30f
--- /dev/null
+++ b/public/glyphs/Roboto Medium/16896-17151.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium16896-17151
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/17152-17407.pbf b/public/glyphs/Roboto Medium/17152-17407.pbf
new file mode 100644
index 0000000..6a96f57
--- /dev/null
+++ b/public/glyphs/Roboto Medium/17152-17407.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium17152-17407
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/17408-17663.pbf b/public/glyphs/Roboto Medium/17408-17663.pbf
new file mode 100644
index 0000000..30dc7c5
--- /dev/null
+++ b/public/glyphs/Roboto Medium/17408-17663.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium17408-17663
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/17664-17919.pbf b/public/glyphs/Roboto Medium/17664-17919.pbf
new file mode 100644
index 0000000..40b1ea8
--- /dev/null
+++ b/public/glyphs/Roboto Medium/17664-17919.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium17664-17919
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/1792-2047.pbf b/public/glyphs/Roboto Medium/1792-2047.pbf
new file mode 100644
index 0000000..cc5f1bf
--- /dev/null
+++ b/public/glyphs/Roboto Medium/1792-2047.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium 1792-2047
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/17920-18175.pbf b/public/glyphs/Roboto Medium/17920-18175.pbf
new file mode 100644
index 0000000..0a1a631
--- /dev/null
+++ b/public/glyphs/Roboto Medium/17920-18175.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium17920-18175
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/18176-18431.pbf b/public/glyphs/Roboto Medium/18176-18431.pbf
new file mode 100644
index 0000000..e550150
--- /dev/null
+++ b/public/glyphs/Roboto Medium/18176-18431.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium18176-18431
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/18432-18687.pbf b/public/glyphs/Roboto Medium/18432-18687.pbf
new file mode 100644
index 0000000..917387d
--- /dev/null
+++ b/public/glyphs/Roboto Medium/18432-18687.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium18432-18687
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/18688-18943.pbf b/public/glyphs/Roboto Medium/18688-18943.pbf
new file mode 100644
index 0000000..abf96f3
--- /dev/null
+++ b/public/glyphs/Roboto Medium/18688-18943.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium18688-18943
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/18944-19199.pbf b/public/glyphs/Roboto Medium/18944-19199.pbf
new file mode 100644
index 0000000..c6502e1
--- /dev/null
+++ b/public/glyphs/Roboto Medium/18944-19199.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium18944-19199
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/19200-19455.pbf b/public/glyphs/Roboto Medium/19200-19455.pbf
new file mode 100644
index 0000000..ba3639f
--- /dev/null
+++ b/public/glyphs/Roboto Medium/19200-19455.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium19200-19455
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/19456-19711.pbf b/public/glyphs/Roboto Medium/19456-19711.pbf
new file mode 100644
index 0000000..cd58322
--- /dev/null
+++ b/public/glyphs/Roboto Medium/19456-19711.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium19456-19711
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/19712-19967.pbf b/public/glyphs/Roboto Medium/19712-19967.pbf
new file mode 100644
index 0000000..de9cfcd
--- /dev/null
+++ b/public/glyphs/Roboto Medium/19712-19967.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium19712-19967
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/19968-20223.pbf b/public/glyphs/Roboto Medium/19968-20223.pbf
new file mode 100644
index 0000000..ca64682
--- /dev/null
+++ b/public/glyphs/Roboto Medium/19968-20223.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium19968-20223
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/20224-20479.pbf b/public/glyphs/Roboto Medium/20224-20479.pbf
new file mode 100644
index 0000000..2338a10
--- /dev/null
+++ b/public/glyphs/Roboto Medium/20224-20479.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium20224-20479
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/2048-2303.pbf b/public/glyphs/Roboto Medium/2048-2303.pbf
new file mode 100644
index 0000000..5fbee96
--- /dev/null
+++ b/public/glyphs/Roboto Medium/2048-2303.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium 2048-2303
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/20480-20735.pbf b/public/glyphs/Roboto Medium/20480-20735.pbf
new file mode 100644
index 0000000..57b73d2
--- /dev/null
+++ b/public/glyphs/Roboto Medium/20480-20735.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium20480-20735
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/20736-20991.pbf b/public/glyphs/Roboto Medium/20736-20991.pbf
new file mode 100644
index 0000000..0890d45
--- /dev/null
+++ b/public/glyphs/Roboto Medium/20736-20991.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium20736-20991
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/20992-21247.pbf b/public/glyphs/Roboto Medium/20992-21247.pbf
new file mode 100644
index 0000000..6fa43c5
--- /dev/null
+++ b/public/glyphs/Roboto Medium/20992-21247.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium20992-21247
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/21248-21503.pbf b/public/glyphs/Roboto Medium/21248-21503.pbf
new file mode 100644
index 0000000..39b16ec
--- /dev/null
+++ b/public/glyphs/Roboto Medium/21248-21503.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium21248-21503
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/21504-21759.pbf b/public/glyphs/Roboto Medium/21504-21759.pbf
new file mode 100644
index 0000000..993f11a
--- /dev/null
+++ b/public/glyphs/Roboto Medium/21504-21759.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium21504-21759
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/21760-22015.pbf b/public/glyphs/Roboto Medium/21760-22015.pbf
new file mode 100644
index 0000000..b5162c6
--- /dev/null
+++ b/public/glyphs/Roboto Medium/21760-22015.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium21760-22015
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/22016-22271.pbf b/public/glyphs/Roboto Medium/22016-22271.pbf
new file mode 100644
index 0000000..e177be6
--- /dev/null
+++ b/public/glyphs/Roboto Medium/22016-22271.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium22016-22271
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/22272-22527.pbf b/public/glyphs/Roboto Medium/22272-22527.pbf
new file mode 100644
index 0000000..bb1eaa9
--- /dev/null
+++ b/public/glyphs/Roboto Medium/22272-22527.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium22272-22527
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/22528-22783.pbf b/public/glyphs/Roboto Medium/22528-22783.pbf
new file mode 100644
index 0000000..30bfcba
--- /dev/null
+++ b/public/glyphs/Roboto Medium/22528-22783.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium22528-22783
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/22784-23039.pbf b/public/glyphs/Roboto Medium/22784-23039.pbf
new file mode 100644
index 0000000..49cabc8
--- /dev/null
+++ b/public/glyphs/Roboto Medium/22784-23039.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium22784-23039
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/2304-2559.pbf b/public/glyphs/Roboto Medium/2304-2559.pbf
new file mode 100644
index 0000000..0df685b
--- /dev/null
+++ b/public/glyphs/Roboto Medium/2304-2559.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium 2304-2559
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/23040-23295.pbf b/public/glyphs/Roboto Medium/23040-23295.pbf
new file mode 100644
index 0000000..2e8b205
--- /dev/null
+++ b/public/glyphs/Roboto Medium/23040-23295.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium23040-23295
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/23296-23551.pbf b/public/glyphs/Roboto Medium/23296-23551.pbf
new file mode 100644
index 0000000..e61223b
--- /dev/null
+++ b/public/glyphs/Roboto Medium/23296-23551.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium23296-23551
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/23552-23807.pbf b/public/glyphs/Roboto Medium/23552-23807.pbf
new file mode 100644
index 0000000..5c3ce0b
--- /dev/null
+++ b/public/glyphs/Roboto Medium/23552-23807.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium23552-23807
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/23808-24063.pbf b/public/glyphs/Roboto Medium/23808-24063.pbf
new file mode 100644
index 0000000..c852a97
--- /dev/null
+++ b/public/glyphs/Roboto Medium/23808-24063.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium23808-24063
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/24064-24319.pbf b/public/glyphs/Roboto Medium/24064-24319.pbf
new file mode 100644
index 0000000..c018599
--- /dev/null
+++ b/public/glyphs/Roboto Medium/24064-24319.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium24064-24319
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/24320-24575.pbf b/public/glyphs/Roboto Medium/24320-24575.pbf
new file mode 100644
index 0000000..9e199f7
--- /dev/null
+++ b/public/glyphs/Roboto Medium/24320-24575.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium24320-24575
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/24576-24831.pbf b/public/glyphs/Roboto Medium/24576-24831.pbf
new file mode 100644
index 0000000..fe9e474
--- /dev/null
+++ b/public/glyphs/Roboto Medium/24576-24831.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium24576-24831
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/24832-25087.pbf b/public/glyphs/Roboto Medium/24832-25087.pbf
new file mode 100644
index 0000000..2745b25
--- /dev/null
+++ b/public/glyphs/Roboto Medium/24832-25087.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium24832-25087
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/25088-25343.pbf b/public/glyphs/Roboto Medium/25088-25343.pbf
new file mode 100644
index 0000000..81ee9f7
--- /dev/null
+++ b/public/glyphs/Roboto Medium/25088-25343.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium25088-25343
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/25344-25599.pbf b/public/glyphs/Roboto Medium/25344-25599.pbf
new file mode 100644
index 0000000..873708e
--- /dev/null
+++ b/public/glyphs/Roboto Medium/25344-25599.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium25344-25599
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/256-511.pbf b/public/glyphs/Roboto Medium/256-511.pbf
new file mode 100644
index 0000000..be8578b
Binary files /dev/null and b/public/glyphs/Roboto Medium/256-511.pbf differ
diff --git a/public/glyphs/Roboto Medium/2560-2815.pbf b/public/glyphs/Roboto Medium/2560-2815.pbf
new file mode 100644
index 0000000..f93e94f
--- /dev/null
+++ b/public/glyphs/Roboto Medium/2560-2815.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium 2560-2815
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/25600-25855.pbf b/public/glyphs/Roboto Medium/25600-25855.pbf
new file mode 100644
index 0000000..e664470
--- /dev/null
+++ b/public/glyphs/Roboto Medium/25600-25855.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium25600-25855
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/25856-26111.pbf b/public/glyphs/Roboto Medium/25856-26111.pbf
new file mode 100644
index 0000000..3fadd2e
--- /dev/null
+++ b/public/glyphs/Roboto Medium/25856-26111.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium25856-26111
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/26112-26367.pbf b/public/glyphs/Roboto Medium/26112-26367.pbf
new file mode 100644
index 0000000..ae56089
--- /dev/null
+++ b/public/glyphs/Roboto Medium/26112-26367.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium26112-26367
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/26368-26623.pbf b/public/glyphs/Roboto Medium/26368-26623.pbf
new file mode 100644
index 0000000..5261df5
--- /dev/null
+++ b/public/glyphs/Roboto Medium/26368-26623.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium26368-26623
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/26624-26879.pbf b/public/glyphs/Roboto Medium/26624-26879.pbf
new file mode 100644
index 0000000..9779391
--- /dev/null
+++ b/public/glyphs/Roboto Medium/26624-26879.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium26624-26879
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/26880-27135.pbf b/public/glyphs/Roboto Medium/26880-27135.pbf
new file mode 100644
index 0000000..7130152
--- /dev/null
+++ b/public/glyphs/Roboto Medium/26880-27135.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium26880-27135
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/27136-27391.pbf b/public/glyphs/Roboto Medium/27136-27391.pbf
new file mode 100644
index 0000000..4cb9d18
--- /dev/null
+++ b/public/glyphs/Roboto Medium/27136-27391.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium27136-27391
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/27392-27647.pbf b/public/glyphs/Roboto Medium/27392-27647.pbf
new file mode 100644
index 0000000..4d572f6
--- /dev/null
+++ b/public/glyphs/Roboto Medium/27392-27647.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium27392-27647
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/27648-27903.pbf b/public/glyphs/Roboto Medium/27648-27903.pbf
new file mode 100644
index 0000000..c7f6928
--- /dev/null
+++ b/public/glyphs/Roboto Medium/27648-27903.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium27648-27903
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/27904-28159.pbf b/public/glyphs/Roboto Medium/27904-28159.pbf
new file mode 100644
index 0000000..45beb8c
--- /dev/null
+++ b/public/glyphs/Roboto Medium/27904-28159.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium27904-28159
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/2816-3071.pbf b/public/glyphs/Roboto Medium/2816-3071.pbf
new file mode 100644
index 0000000..251513f
--- /dev/null
+++ b/public/glyphs/Roboto Medium/2816-3071.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium 2816-3071
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/28160-28415.pbf b/public/glyphs/Roboto Medium/28160-28415.pbf
new file mode 100644
index 0000000..a168080
--- /dev/null
+++ b/public/glyphs/Roboto Medium/28160-28415.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium28160-28415
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/28416-28671.pbf b/public/glyphs/Roboto Medium/28416-28671.pbf
new file mode 100644
index 0000000..4342297
--- /dev/null
+++ b/public/glyphs/Roboto Medium/28416-28671.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium28416-28671
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/28672-28927.pbf b/public/glyphs/Roboto Medium/28672-28927.pbf
new file mode 100644
index 0000000..e4bc6db
--- /dev/null
+++ b/public/glyphs/Roboto Medium/28672-28927.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium28672-28927
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/28928-29183.pbf b/public/glyphs/Roboto Medium/28928-29183.pbf
new file mode 100644
index 0000000..1bc79c0
--- /dev/null
+++ b/public/glyphs/Roboto Medium/28928-29183.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium28928-29183
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/29184-29439.pbf b/public/glyphs/Roboto Medium/29184-29439.pbf
new file mode 100644
index 0000000..aa67101
--- /dev/null
+++ b/public/glyphs/Roboto Medium/29184-29439.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium29184-29439
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/29440-29695.pbf b/public/glyphs/Roboto Medium/29440-29695.pbf
new file mode 100644
index 0000000..50467c9
--- /dev/null
+++ b/public/glyphs/Roboto Medium/29440-29695.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium29440-29695
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/29696-29951.pbf b/public/glyphs/Roboto Medium/29696-29951.pbf
new file mode 100644
index 0000000..78a9084
--- /dev/null
+++ b/public/glyphs/Roboto Medium/29696-29951.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium29696-29951
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/29952-30207.pbf b/public/glyphs/Roboto Medium/29952-30207.pbf
new file mode 100644
index 0000000..0ceedc9
--- /dev/null
+++ b/public/glyphs/Roboto Medium/29952-30207.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium29952-30207
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/30208-30463.pbf b/public/glyphs/Roboto Medium/30208-30463.pbf
new file mode 100644
index 0000000..dca00aa
--- /dev/null
+++ b/public/glyphs/Roboto Medium/30208-30463.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium30208-30463
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/30464-30719.pbf b/public/glyphs/Roboto Medium/30464-30719.pbf
new file mode 100644
index 0000000..06955ca
--- /dev/null
+++ b/public/glyphs/Roboto Medium/30464-30719.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium30464-30719
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/3072-3327.pbf b/public/glyphs/Roboto Medium/3072-3327.pbf
new file mode 100644
index 0000000..4f18da0
--- /dev/null
+++ b/public/glyphs/Roboto Medium/3072-3327.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium 3072-3327
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/30720-30975.pbf b/public/glyphs/Roboto Medium/30720-30975.pbf
new file mode 100644
index 0000000..fca820f
--- /dev/null
+++ b/public/glyphs/Roboto Medium/30720-30975.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium30720-30975
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/30976-31231.pbf b/public/glyphs/Roboto Medium/30976-31231.pbf
new file mode 100644
index 0000000..c1b2561
--- /dev/null
+++ b/public/glyphs/Roboto Medium/30976-31231.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium30976-31231
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/31232-31487.pbf b/public/glyphs/Roboto Medium/31232-31487.pbf
new file mode 100644
index 0000000..94c96b2
--- /dev/null
+++ b/public/glyphs/Roboto Medium/31232-31487.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium31232-31487
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/31488-31743.pbf b/public/glyphs/Roboto Medium/31488-31743.pbf
new file mode 100644
index 0000000..d95234c
--- /dev/null
+++ b/public/glyphs/Roboto Medium/31488-31743.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium31488-31743
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/31744-31999.pbf b/public/glyphs/Roboto Medium/31744-31999.pbf
new file mode 100644
index 0000000..09f96fd
--- /dev/null
+++ b/public/glyphs/Roboto Medium/31744-31999.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium31744-31999
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/32000-32255.pbf b/public/glyphs/Roboto Medium/32000-32255.pbf
new file mode 100644
index 0000000..d417950
--- /dev/null
+++ b/public/glyphs/Roboto Medium/32000-32255.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium32000-32255
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/32256-32511.pbf b/public/glyphs/Roboto Medium/32256-32511.pbf
new file mode 100644
index 0000000..ce23194
--- /dev/null
+++ b/public/glyphs/Roboto Medium/32256-32511.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium32256-32511
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/32512-32767.pbf b/public/glyphs/Roboto Medium/32512-32767.pbf
new file mode 100644
index 0000000..0132391
--- /dev/null
+++ b/public/glyphs/Roboto Medium/32512-32767.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium32512-32767
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/32768-33023.pbf b/public/glyphs/Roboto Medium/32768-33023.pbf
new file mode 100644
index 0000000..44495da
--- /dev/null
+++ b/public/glyphs/Roboto Medium/32768-33023.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium32768-33023
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/33024-33279.pbf b/public/glyphs/Roboto Medium/33024-33279.pbf
new file mode 100644
index 0000000..fe61776
--- /dev/null
+++ b/public/glyphs/Roboto Medium/33024-33279.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium33024-33279
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/3328-3583.pbf b/public/glyphs/Roboto Medium/3328-3583.pbf
new file mode 100644
index 0000000..7298e12
--- /dev/null
+++ b/public/glyphs/Roboto Medium/3328-3583.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium 3328-3583
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/33280-33535.pbf b/public/glyphs/Roboto Medium/33280-33535.pbf
new file mode 100644
index 0000000..4822e80
--- /dev/null
+++ b/public/glyphs/Roboto Medium/33280-33535.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium33280-33535
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/33536-33791.pbf b/public/glyphs/Roboto Medium/33536-33791.pbf
new file mode 100644
index 0000000..bd4bebd
--- /dev/null
+++ b/public/glyphs/Roboto Medium/33536-33791.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium33536-33791
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/33792-34047.pbf b/public/glyphs/Roboto Medium/33792-34047.pbf
new file mode 100644
index 0000000..773d7f3
--- /dev/null
+++ b/public/glyphs/Roboto Medium/33792-34047.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium33792-34047
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/34048-34303.pbf b/public/glyphs/Roboto Medium/34048-34303.pbf
new file mode 100644
index 0000000..b2a47f8
--- /dev/null
+++ b/public/glyphs/Roboto Medium/34048-34303.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium34048-34303
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/34304-34559.pbf b/public/glyphs/Roboto Medium/34304-34559.pbf
new file mode 100644
index 0000000..f5c860f
--- /dev/null
+++ b/public/glyphs/Roboto Medium/34304-34559.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium34304-34559
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/34560-34815.pbf b/public/glyphs/Roboto Medium/34560-34815.pbf
new file mode 100644
index 0000000..a38578c
--- /dev/null
+++ b/public/glyphs/Roboto Medium/34560-34815.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium34560-34815
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/34816-35071.pbf b/public/glyphs/Roboto Medium/34816-35071.pbf
new file mode 100644
index 0000000..37a7e0b
--- /dev/null
+++ b/public/glyphs/Roboto Medium/34816-35071.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium34816-35071
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/35072-35327.pbf b/public/glyphs/Roboto Medium/35072-35327.pbf
new file mode 100644
index 0000000..4650f86
--- /dev/null
+++ b/public/glyphs/Roboto Medium/35072-35327.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium35072-35327
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/35328-35583.pbf b/public/glyphs/Roboto Medium/35328-35583.pbf
new file mode 100644
index 0000000..0915836
--- /dev/null
+++ b/public/glyphs/Roboto Medium/35328-35583.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium35328-35583
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/35584-35839.pbf b/public/glyphs/Roboto Medium/35584-35839.pbf
new file mode 100644
index 0000000..0e249c1
--- /dev/null
+++ b/public/glyphs/Roboto Medium/35584-35839.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium35584-35839
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/3584-3839.pbf b/public/glyphs/Roboto Medium/3584-3839.pbf
new file mode 100644
index 0000000..85bbf60
--- /dev/null
+++ b/public/glyphs/Roboto Medium/3584-3839.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium 3584-3839
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/35840-36095.pbf b/public/glyphs/Roboto Medium/35840-36095.pbf
new file mode 100644
index 0000000..8fa541a
--- /dev/null
+++ b/public/glyphs/Roboto Medium/35840-36095.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium35840-36095
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/36096-36351.pbf b/public/glyphs/Roboto Medium/36096-36351.pbf
new file mode 100644
index 0000000..c7d0d01
--- /dev/null
+++ b/public/glyphs/Roboto Medium/36096-36351.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium36096-36351
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/36352-36607.pbf b/public/glyphs/Roboto Medium/36352-36607.pbf
new file mode 100644
index 0000000..7917033
--- /dev/null
+++ b/public/glyphs/Roboto Medium/36352-36607.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium36352-36607
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/36608-36863.pbf b/public/glyphs/Roboto Medium/36608-36863.pbf
new file mode 100644
index 0000000..81b0818
--- /dev/null
+++ b/public/glyphs/Roboto Medium/36608-36863.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium36608-36863
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/36864-37119.pbf b/public/glyphs/Roboto Medium/36864-37119.pbf
new file mode 100644
index 0000000..f382d81
--- /dev/null
+++ b/public/glyphs/Roboto Medium/36864-37119.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium36864-37119
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/37120-37375.pbf b/public/glyphs/Roboto Medium/37120-37375.pbf
new file mode 100644
index 0000000..3280de7
--- /dev/null
+++ b/public/glyphs/Roboto Medium/37120-37375.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium37120-37375
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/37376-37631.pbf b/public/glyphs/Roboto Medium/37376-37631.pbf
new file mode 100644
index 0000000..4e97d38
--- /dev/null
+++ b/public/glyphs/Roboto Medium/37376-37631.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium37376-37631
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/37632-37887.pbf b/public/glyphs/Roboto Medium/37632-37887.pbf
new file mode 100644
index 0000000..4a20686
--- /dev/null
+++ b/public/glyphs/Roboto Medium/37632-37887.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium37632-37887
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/37888-38143.pbf b/public/glyphs/Roboto Medium/37888-38143.pbf
new file mode 100644
index 0000000..c4f3902
--- /dev/null
+++ b/public/glyphs/Roboto Medium/37888-38143.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium37888-38143
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/38144-38399.pbf b/public/glyphs/Roboto Medium/38144-38399.pbf
new file mode 100644
index 0000000..ed079f9
--- /dev/null
+++ b/public/glyphs/Roboto Medium/38144-38399.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium38144-38399
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/3840-4095.pbf b/public/glyphs/Roboto Medium/3840-4095.pbf
new file mode 100644
index 0000000..a824d51
--- /dev/null
+++ b/public/glyphs/Roboto Medium/3840-4095.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium 3840-4095
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/38400-38655.pbf b/public/glyphs/Roboto Medium/38400-38655.pbf
new file mode 100644
index 0000000..bf49f08
--- /dev/null
+++ b/public/glyphs/Roboto Medium/38400-38655.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium38400-38655
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/38656-38911.pbf b/public/glyphs/Roboto Medium/38656-38911.pbf
new file mode 100644
index 0000000..53cacfd
--- /dev/null
+++ b/public/glyphs/Roboto Medium/38656-38911.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium38656-38911
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/38912-39167.pbf b/public/glyphs/Roboto Medium/38912-39167.pbf
new file mode 100644
index 0000000..2784b48
--- /dev/null
+++ b/public/glyphs/Roboto Medium/38912-39167.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium38912-39167
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/39168-39423.pbf b/public/glyphs/Roboto Medium/39168-39423.pbf
new file mode 100644
index 0000000..358513f
--- /dev/null
+++ b/public/glyphs/Roboto Medium/39168-39423.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium39168-39423
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/39424-39679.pbf b/public/glyphs/Roboto Medium/39424-39679.pbf
new file mode 100644
index 0000000..688c791
--- /dev/null
+++ b/public/glyphs/Roboto Medium/39424-39679.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium39424-39679
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/39680-39935.pbf b/public/glyphs/Roboto Medium/39680-39935.pbf
new file mode 100644
index 0000000..a625424
--- /dev/null
+++ b/public/glyphs/Roboto Medium/39680-39935.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium39680-39935
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/39936-40191.pbf b/public/glyphs/Roboto Medium/39936-40191.pbf
new file mode 100644
index 0000000..dd4a908
--- /dev/null
+++ b/public/glyphs/Roboto Medium/39936-40191.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium39936-40191
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/40192-40447.pbf b/public/glyphs/Roboto Medium/40192-40447.pbf
new file mode 100644
index 0000000..89c28de
--- /dev/null
+++ b/public/glyphs/Roboto Medium/40192-40447.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium40192-40447
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/40448-40703.pbf b/public/glyphs/Roboto Medium/40448-40703.pbf
new file mode 100644
index 0000000..3156b15
--- /dev/null
+++ b/public/glyphs/Roboto Medium/40448-40703.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium40448-40703
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/40704-40959.pbf b/public/glyphs/Roboto Medium/40704-40959.pbf
new file mode 100644
index 0000000..32cdf30
--- /dev/null
+++ b/public/glyphs/Roboto Medium/40704-40959.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium40704-40959
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/4096-4351.pbf b/public/glyphs/Roboto Medium/4096-4351.pbf
new file mode 100644
index 0000000..da08890
--- /dev/null
+++ b/public/glyphs/Roboto Medium/4096-4351.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium 4096-4351
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/40960-41215.pbf b/public/glyphs/Roboto Medium/40960-41215.pbf
new file mode 100644
index 0000000..7a15e6d
--- /dev/null
+++ b/public/glyphs/Roboto Medium/40960-41215.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium40960-41215
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/41216-41471.pbf b/public/glyphs/Roboto Medium/41216-41471.pbf
new file mode 100644
index 0000000..1c388da
--- /dev/null
+++ b/public/glyphs/Roboto Medium/41216-41471.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium41216-41471
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/41472-41727.pbf b/public/glyphs/Roboto Medium/41472-41727.pbf
new file mode 100644
index 0000000..cb817d2
--- /dev/null
+++ b/public/glyphs/Roboto Medium/41472-41727.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium41472-41727
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/41728-41983.pbf b/public/glyphs/Roboto Medium/41728-41983.pbf
new file mode 100644
index 0000000..6c3104d
--- /dev/null
+++ b/public/glyphs/Roboto Medium/41728-41983.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium41728-41983
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/41984-42239.pbf b/public/glyphs/Roboto Medium/41984-42239.pbf
new file mode 100644
index 0000000..d4072f3
--- /dev/null
+++ b/public/glyphs/Roboto Medium/41984-42239.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium41984-42239
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/42240-42495.pbf b/public/glyphs/Roboto Medium/42240-42495.pbf
new file mode 100644
index 0000000..aa6dbc8
--- /dev/null
+++ b/public/glyphs/Roboto Medium/42240-42495.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium42240-42495
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/42496-42751.pbf b/public/glyphs/Roboto Medium/42496-42751.pbf
new file mode 100644
index 0000000..8d50dff
--- /dev/null
+++ b/public/glyphs/Roboto Medium/42496-42751.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium42496-42751
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/42752-43007.pbf b/public/glyphs/Roboto Medium/42752-43007.pbf
new file mode 100644
index 0000000..b50af98
--- /dev/null
+++ b/public/glyphs/Roboto Medium/42752-43007.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium42752-43007
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/43008-43263.pbf b/public/glyphs/Roboto Medium/43008-43263.pbf
new file mode 100644
index 0000000..4770ce3
--- /dev/null
+++ b/public/glyphs/Roboto Medium/43008-43263.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium43008-43263
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/43264-43519.pbf b/public/glyphs/Roboto Medium/43264-43519.pbf
new file mode 100644
index 0000000..8a1f619
--- /dev/null
+++ b/public/glyphs/Roboto Medium/43264-43519.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium43264-43519
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/4352-4607.pbf b/public/glyphs/Roboto Medium/4352-4607.pbf
new file mode 100644
index 0000000..9f4550c
--- /dev/null
+++ b/public/glyphs/Roboto Medium/4352-4607.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium 4352-4607
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/43520-43775.pbf b/public/glyphs/Roboto Medium/43520-43775.pbf
new file mode 100644
index 0000000..5eae8a5
--- /dev/null
+++ b/public/glyphs/Roboto Medium/43520-43775.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium43520-43775
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/43776-44031.pbf b/public/glyphs/Roboto Medium/43776-44031.pbf
new file mode 100644
index 0000000..758da3f
--- /dev/null
+++ b/public/glyphs/Roboto Medium/43776-44031.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium43776-44031
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/44032-44287.pbf b/public/glyphs/Roboto Medium/44032-44287.pbf
new file mode 100644
index 0000000..e1362ca
--- /dev/null
+++ b/public/glyphs/Roboto Medium/44032-44287.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium44032-44287
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/44288-44543.pbf b/public/glyphs/Roboto Medium/44288-44543.pbf
new file mode 100644
index 0000000..809dc38
--- /dev/null
+++ b/public/glyphs/Roboto Medium/44288-44543.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium44288-44543
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/44544-44799.pbf b/public/glyphs/Roboto Medium/44544-44799.pbf
new file mode 100644
index 0000000..87a9cbc
--- /dev/null
+++ b/public/glyphs/Roboto Medium/44544-44799.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium44544-44799
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/44800-45055.pbf b/public/glyphs/Roboto Medium/44800-45055.pbf
new file mode 100644
index 0000000..0797737
--- /dev/null
+++ b/public/glyphs/Roboto Medium/44800-45055.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium44800-45055
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/45056-45311.pbf b/public/glyphs/Roboto Medium/45056-45311.pbf
new file mode 100644
index 0000000..e959021
--- /dev/null
+++ b/public/glyphs/Roboto Medium/45056-45311.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium45056-45311
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/45312-45567.pbf b/public/glyphs/Roboto Medium/45312-45567.pbf
new file mode 100644
index 0000000..dfc6664
--- /dev/null
+++ b/public/glyphs/Roboto Medium/45312-45567.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium45312-45567
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/45568-45823.pbf b/public/glyphs/Roboto Medium/45568-45823.pbf
new file mode 100644
index 0000000..9060279
--- /dev/null
+++ b/public/glyphs/Roboto Medium/45568-45823.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium45568-45823
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/45824-46079.pbf b/public/glyphs/Roboto Medium/45824-46079.pbf
new file mode 100644
index 0000000..6d541c5
--- /dev/null
+++ b/public/glyphs/Roboto Medium/45824-46079.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium45824-46079
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/4608-4863.pbf b/public/glyphs/Roboto Medium/4608-4863.pbf
new file mode 100644
index 0000000..afdde32
--- /dev/null
+++ b/public/glyphs/Roboto Medium/4608-4863.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium 4608-4863
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/46080-46335.pbf b/public/glyphs/Roboto Medium/46080-46335.pbf
new file mode 100644
index 0000000..3024d8c
--- /dev/null
+++ b/public/glyphs/Roboto Medium/46080-46335.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium46080-46335
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/46336-46591.pbf b/public/glyphs/Roboto Medium/46336-46591.pbf
new file mode 100644
index 0000000..e84d93d
--- /dev/null
+++ b/public/glyphs/Roboto Medium/46336-46591.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium46336-46591
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/46592-46847.pbf b/public/glyphs/Roboto Medium/46592-46847.pbf
new file mode 100644
index 0000000..9c14234
--- /dev/null
+++ b/public/glyphs/Roboto Medium/46592-46847.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium46592-46847
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/46848-47103.pbf b/public/glyphs/Roboto Medium/46848-47103.pbf
new file mode 100644
index 0000000..bce0ff1
--- /dev/null
+++ b/public/glyphs/Roboto Medium/46848-47103.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium46848-47103
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/47104-47359.pbf b/public/glyphs/Roboto Medium/47104-47359.pbf
new file mode 100644
index 0000000..88e856e
--- /dev/null
+++ b/public/glyphs/Roboto Medium/47104-47359.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium47104-47359
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/47360-47615.pbf b/public/glyphs/Roboto Medium/47360-47615.pbf
new file mode 100644
index 0000000..33132bf
--- /dev/null
+++ b/public/glyphs/Roboto Medium/47360-47615.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium47360-47615
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/47616-47871.pbf b/public/glyphs/Roboto Medium/47616-47871.pbf
new file mode 100644
index 0000000..f35c657
--- /dev/null
+++ b/public/glyphs/Roboto Medium/47616-47871.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium47616-47871
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/47872-48127.pbf b/public/glyphs/Roboto Medium/47872-48127.pbf
new file mode 100644
index 0000000..5ba50e1
--- /dev/null
+++ b/public/glyphs/Roboto Medium/47872-48127.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium47872-48127
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/48128-48383.pbf b/public/glyphs/Roboto Medium/48128-48383.pbf
new file mode 100644
index 0000000..d7bf96f
--- /dev/null
+++ b/public/glyphs/Roboto Medium/48128-48383.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium48128-48383
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/48384-48639.pbf b/public/glyphs/Roboto Medium/48384-48639.pbf
new file mode 100644
index 0000000..d10295f
--- /dev/null
+++ b/public/glyphs/Roboto Medium/48384-48639.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium48384-48639
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/4864-5119.pbf b/public/glyphs/Roboto Medium/4864-5119.pbf
new file mode 100644
index 0000000..40a2471
--- /dev/null
+++ b/public/glyphs/Roboto Medium/4864-5119.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium 4864-5119
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/48640-48895.pbf b/public/glyphs/Roboto Medium/48640-48895.pbf
new file mode 100644
index 0000000..8cf1e9f
--- /dev/null
+++ b/public/glyphs/Roboto Medium/48640-48895.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium48640-48895
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/48896-49151.pbf b/public/glyphs/Roboto Medium/48896-49151.pbf
new file mode 100644
index 0000000..190ad5b
--- /dev/null
+++ b/public/glyphs/Roboto Medium/48896-49151.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium48896-49151
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/49152-49407.pbf b/public/glyphs/Roboto Medium/49152-49407.pbf
new file mode 100644
index 0000000..7f27361
--- /dev/null
+++ b/public/glyphs/Roboto Medium/49152-49407.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium49152-49407
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/49408-49663.pbf b/public/glyphs/Roboto Medium/49408-49663.pbf
new file mode 100644
index 0000000..50fcf16
--- /dev/null
+++ b/public/glyphs/Roboto Medium/49408-49663.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium49408-49663
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/49664-49919.pbf b/public/glyphs/Roboto Medium/49664-49919.pbf
new file mode 100644
index 0000000..ea34f60
--- /dev/null
+++ b/public/glyphs/Roboto Medium/49664-49919.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium49664-49919
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/49920-50175.pbf b/public/glyphs/Roboto Medium/49920-50175.pbf
new file mode 100644
index 0000000..ce68d59
--- /dev/null
+++ b/public/glyphs/Roboto Medium/49920-50175.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium49920-50175
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/50176-50431.pbf b/public/glyphs/Roboto Medium/50176-50431.pbf
new file mode 100644
index 0000000..a86ebce
--- /dev/null
+++ b/public/glyphs/Roboto Medium/50176-50431.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium50176-50431
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/50432-50687.pbf b/public/glyphs/Roboto Medium/50432-50687.pbf
new file mode 100644
index 0000000..9a364e9
--- /dev/null
+++ b/public/glyphs/Roboto Medium/50432-50687.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium50432-50687
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/50688-50943.pbf b/public/glyphs/Roboto Medium/50688-50943.pbf
new file mode 100644
index 0000000..4d761cb
--- /dev/null
+++ b/public/glyphs/Roboto Medium/50688-50943.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium50688-50943
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/50944-51199.pbf b/public/glyphs/Roboto Medium/50944-51199.pbf
new file mode 100644
index 0000000..cd52a57
--- /dev/null
+++ b/public/glyphs/Roboto Medium/50944-51199.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium50944-51199
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/512-767.pbf b/public/glyphs/Roboto Medium/512-767.pbf
new file mode 100644
index 0000000..7557b14
Binary files /dev/null and b/public/glyphs/Roboto Medium/512-767.pbf differ
diff --git a/public/glyphs/Roboto Medium/5120-5375.pbf b/public/glyphs/Roboto Medium/5120-5375.pbf
new file mode 100644
index 0000000..e10f3b3
--- /dev/null
+++ b/public/glyphs/Roboto Medium/5120-5375.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium 5120-5375
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/51200-51455.pbf b/public/glyphs/Roboto Medium/51200-51455.pbf
new file mode 100644
index 0000000..9dbf195
--- /dev/null
+++ b/public/glyphs/Roboto Medium/51200-51455.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium51200-51455
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/51456-51711.pbf b/public/glyphs/Roboto Medium/51456-51711.pbf
new file mode 100644
index 0000000..da9e170
--- /dev/null
+++ b/public/glyphs/Roboto Medium/51456-51711.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium51456-51711
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/51712-51967.pbf b/public/glyphs/Roboto Medium/51712-51967.pbf
new file mode 100644
index 0000000..572b2de
--- /dev/null
+++ b/public/glyphs/Roboto Medium/51712-51967.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium51712-51967
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/51968-52223.pbf b/public/glyphs/Roboto Medium/51968-52223.pbf
new file mode 100644
index 0000000..ac88d2f
--- /dev/null
+++ b/public/glyphs/Roboto Medium/51968-52223.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium51968-52223
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/52224-52479.pbf b/public/glyphs/Roboto Medium/52224-52479.pbf
new file mode 100644
index 0000000..60f982c
--- /dev/null
+++ b/public/glyphs/Roboto Medium/52224-52479.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium52224-52479
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/52480-52735.pbf b/public/glyphs/Roboto Medium/52480-52735.pbf
new file mode 100644
index 0000000..c1b81c6
--- /dev/null
+++ b/public/glyphs/Roboto Medium/52480-52735.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium52480-52735
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/52736-52991.pbf b/public/glyphs/Roboto Medium/52736-52991.pbf
new file mode 100644
index 0000000..7f0466d
--- /dev/null
+++ b/public/glyphs/Roboto Medium/52736-52991.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium52736-52991
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/52992-53247.pbf b/public/glyphs/Roboto Medium/52992-53247.pbf
new file mode 100644
index 0000000..4367f92
--- /dev/null
+++ b/public/glyphs/Roboto Medium/52992-53247.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium52992-53247
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/53248-53503.pbf b/public/glyphs/Roboto Medium/53248-53503.pbf
new file mode 100644
index 0000000..023106b
--- /dev/null
+++ b/public/glyphs/Roboto Medium/53248-53503.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium53248-53503
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/53504-53759.pbf b/public/glyphs/Roboto Medium/53504-53759.pbf
new file mode 100644
index 0000000..6b0f0fa
--- /dev/null
+++ b/public/glyphs/Roboto Medium/53504-53759.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium53504-53759
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/5376-5631.pbf b/public/glyphs/Roboto Medium/5376-5631.pbf
new file mode 100644
index 0000000..de4f2e1
--- /dev/null
+++ b/public/glyphs/Roboto Medium/5376-5631.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium 5376-5631
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/53760-54015.pbf b/public/glyphs/Roboto Medium/53760-54015.pbf
new file mode 100644
index 0000000..835fe65
--- /dev/null
+++ b/public/glyphs/Roboto Medium/53760-54015.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium53760-54015
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/54016-54271.pbf b/public/glyphs/Roboto Medium/54016-54271.pbf
new file mode 100644
index 0000000..fe41dde
--- /dev/null
+++ b/public/glyphs/Roboto Medium/54016-54271.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium54016-54271
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/54272-54527.pbf b/public/glyphs/Roboto Medium/54272-54527.pbf
new file mode 100644
index 0000000..73eff12
--- /dev/null
+++ b/public/glyphs/Roboto Medium/54272-54527.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium54272-54527
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/54528-54783.pbf b/public/glyphs/Roboto Medium/54528-54783.pbf
new file mode 100644
index 0000000..a941820
--- /dev/null
+++ b/public/glyphs/Roboto Medium/54528-54783.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium54528-54783
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/54784-55039.pbf b/public/glyphs/Roboto Medium/54784-55039.pbf
new file mode 100644
index 0000000..a4addad
--- /dev/null
+++ b/public/glyphs/Roboto Medium/54784-55039.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium54784-55039
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/55040-55295.pbf b/public/glyphs/Roboto Medium/55040-55295.pbf
new file mode 100644
index 0000000..5e193f8
--- /dev/null
+++ b/public/glyphs/Roboto Medium/55040-55295.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium55040-55295
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/55296-55551.pbf b/public/glyphs/Roboto Medium/55296-55551.pbf
new file mode 100644
index 0000000..5935c48
--- /dev/null
+++ b/public/glyphs/Roboto Medium/55296-55551.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium55296-55551
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/55552-55807.pbf b/public/glyphs/Roboto Medium/55552-55807.pbf
new file mode 100644
index 0000000..1485427
--- /dev/null
+++ b/public/glyphs/Roboto Medium/55552-55807.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium55552-55807
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/55808-56063.pbf b/public/glyphs/Roboto Medium/55808-56063.pbf
new file mode 100644
index 0000000..2a684ed
--- /dev/null
+++ b/public/glyphs/Roboto Medium/55808-56063.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium55808-56063
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/56064-56319.pbf b/public/glyphs/Roboto Medium/56064-56319.pbf
new file mode 100644
index 0000000..2b3aa4d
--- /dev/null
+++ b/public/glyphs/Roboto Medium/56064-56319.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium56064-56319
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/5632-5887.pbf b/public/glyphs/Roboto Medium/5632-5887.pbf
new file mode 100644
index 0000000..07dc922
--- /dev/null
+++ b/public/glyphs/Roboto Medium/5632-5887.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium 5632-5887
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/56320-56575.pbf b/public/glyphs/Roboto Medium/56320-56575.pbf
new file mode 100644
index 0000000..c1bbd4c
--- /dev/null
+++ b/public/glyphs/Roboto Medium/56320-56575.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium56320-56575
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/56576-56831.pbf b/public/glyphs/Roboto Medium/56576-56831.pbf
new file mode 100644
index 0000000..c2f46ca
--- /dev/null
+++ b/public/glyphs/Roboto Medium/56576-56831.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium56576-56831
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/56832-57087.pbf b/public/glyphs/Roboto Medium/56832-57087.pbf
new file mode 100644
index 0000000..bf23000
--- /dev/null
+++ b/public/glyphs/Roboto Medium/56832-57087.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium56832-57087
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/57088-57343.pbf b/public/glyphs/Roboto Medium/57088-57343.pbf
new file mode 100644
index 0000000..02a5e28
--- /dev/null
+++ b/public/glyphs/Roboto Medium/57088-57343.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium57088-57343
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/57344-57599.pbf b/public/glyphs/Roboto Medium/57344-57599.pbf
new file mode 100644
index 0000000..bd91e06
--- /dev/null
+++ b/public/glyphs/Roboto Medium/57344-57599.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium57344-57599
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/57600-57855.pbf b/public/glyphs/Roboto Medium/57600-57855.pbf
new file mode 100644
index 0000000..d9a4ddb
--- /dev/null
+++ b/public/glyphs/Roboto Medium/57600-57855.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium57600-57855
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/57856-58111.pbf b/public/glyphs/Roboto Medium/57856-58111.pbf
new file mode 100644
index 0000000..b144bb5
--- /dev/null
+++ b/public/glyphs/Roboto Medium/57856-58111.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium57856-58111
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/58112-58367.pbf b/public/glyphs/Roboto Medium/58112-58367.pbf
new file mode 100644
index 0000000..cd4435c
--- /dev/null
+++ b/public/glyphs/Roboto Medium/58112-58367.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium58112-58367
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/58368-58623.pbf b/public/glyphs/Roboto Medium/58368-58623.pbf
new file mode 100644
index 0000000..16cf550
--- /dev/null
+++ b/public/glyphs/Roboto Medium/58368-58623.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium58368-58623
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/58624-58879.pbf b/public/glyphs/Roboto Medium/58624-58879.pbf
new file mode 100644
index 0000000..cc49f6d
--- /dev/null
+++ b/public/glyphs/Roboto Medium/58624-58879.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium58624-58879
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/5888-6143.pbf b/public/glyphs/Roboto Medium/5888-6143.pbf
new file mode 100644
index 0000000..e451b18
--- /dev/null
+++ b/public/glyphs/Roboto Medium/5888-6143.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium 5888-6143
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/58880-59135.pbf b/public/glyphs/Roboto Medium/58880-59135.pbf
new file mode 100644
index 0000000..4605d09
--- /dev/null
+++ b/public/glyphs/Roboto Medium/58880-59135.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium58880-59135
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/59136-59391.pbf b/public/glyphs/Roboto Medium/59136-59391.pbf
new file mode 100644
index 0000000..ed68a8a
--- /dev/null
+++ b/public/glyphs/Roboto Medium/59136-59391.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium59136-59391
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/59392-59647.pbf b/public/glyphs/Roboto Medium/59392-59647.pbf
new file mode 100644
index 0000000..10d1cb7
--- /dev/null
+++ b/public/glyphs/Roboto Medium/59392-59647.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium59392-59647
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/59648-59903.pbf b/public/glyphs/Roboto Medium/59648-59903.pbf
new file mode 100644
index 0000000..4bb7c59
--- /dev/null
+++ b/public/glyphs/Roboto Medium/59648-59903.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium59648-59903
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/59904-60159.pbf b/public/glyphs/Roboto Medium/59904-60159.pbf
new file mode 100644
index 0000000..983ced6
--- /dev/null
+++ b/public/glyphs/Roboto Medium/59904-60159.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium59904-60159
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/60160-60415.pbf b/public/glyphs/Roboto Medium/60160-60415.pbf
new file mode 100644
index 0000000..780bd80
--- /dev/null
+++ b/public/glyphs/Roboto Medium/60160-60415.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium60160-60415
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/60416-60671.pbf b/public/glyphs/Roboto Medium/60416-60671.pbf
new file mode 100644
index 0000000..2347204
--- /dev/null
+++ b/public/glyphs/Roboto Medium/60416-60671.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium60416-60671
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/60672-60927.pbf b/public/glyphs/Roboto Medium/60672-60927.pbf
new file mode 100644
index 0000000..8cf29ac
--- /dev/null
+++ b/public/glyphs/Roboto Medium/60672-60927.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium60672-60927
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/60928-61183.pbf b/public/glyphs/Roboto Medium/60928-61183.pbf
new file mode 100644
index 0000000..c7b10d1
--- /dev/null
+++ b/public/glyphs/Roboto Medium/60928-61183.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium60928-61183
(08CVfmoj^M8ZpyeLkx]xοh}̬ly§in{_]t}hOGZiqsnbP;.>KQSOE6$CVfmoj^M8ZpyeLkx]xοh}̬ly§in{_]t}hOGZiqsnbP; (08CWceeddeebUAXqnUfcjůŧgjϯǧgjϯǧgjϯǧgjϯǧgjgebUm}~{kS@R^``__``]Q=
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/61184-61439.pbf b/public/glyphs/Roboto Medium/61184-61439.pbf
new file mode 100644
index 0000000..a4bd751
--- /dev/null
+++ b/public/glyphs/Roboto Medium/61184-61439.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium61184-61439
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/6144-6399.pbf b/public/glyphs/Roboto Medium/6144-6399.pbf
new file mode 100644
index 0000000..16c32f6
--- /dev/null
+++ b/public/glyphs/Roboto Medium/6144-6399.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium 6144-6399
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/61440-61695.pbf b/public/glyphs/Roboto Medium/61440-61695.pbf
new file mode 100644
index 0000000..85ecc30
--- /dev/null
+++ b/public/glyphs/Roboto Medium/61440-61695.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium61440-61695
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/61696-61951.pbf b/public/glyphs/Roboto Medium/61696-61951.pbf
new file mode 100644
index 0000000..2e83802
--- /dev/null
+++ b/public/glyphs/Roboto Medium/61696-61951.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium61696-61951
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/61952-62207.pbf b/public/glyphs/Roboto Medium/61952-62207.pbf
new file mode 100644
index 0000000..d08a85f
--- /dev/null
+++ b/public/glyphs/Roboto Medium/61952-62207.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium61952-62207
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/62208-62463.pbf b/public/glyphs/Roboto Medium/62208-62463.pbf
new file mode 100644
index 0000000..45232ba
--- /dev/null
+++ b/public/glyphs/Roboto Medium/62208-62463.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium62208-62463
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/62464-62719.pbf b/public/glyphs/Roboto Medium/62464-62719.pbf
new file mode 100644
index 0000000..6ed4187
--- /dev/null
+++ b/public/glyphs/Roboto Medium/62464-62719.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium62464-62719
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/62720-62975.pbf b/public/glyphs/Roboto Medium/62720-62975.pbf
new file mode 100644
index 0000000..90c7a97
--- /dev/null
+++ b/public/glyphs/Roboto Medium/62720-62975.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium62720-62975
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/62976-63231.pbf b/public/glyphs/Roboto Medium/62976-63231.pbf
new file mode 100644
index 0000000..e88cee0
--- /dev/null
+++ b/public/glyphs/Roboto Medium/62976-63231.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium62976-63231s (0+8c?WirrrqeROleXxpYyѱq]|ϯpjǨktֺbsrVe}|cGPbs}gO66GWeiaP:"
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/63232-63487.pbf b/public/glyphs/Roboto Medium/63232-63487.pbf
new file mode 100644
index 0000000..ed99179
--- /dev/null
+++ b/public/glyphs/Roboto Medium/63232-63487.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium63232-63487
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/63488-63743.pbf b/public/glyphs/Roboto Medium/63488-63743.pbf
new file mode 100644
index 0000000..c46909b
--- /dev/null
+++ b/public/glyphs/Roboto Medium/63488-63743.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium63488-63743
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/63744-63999.pbf b/public/glyphs/Roboto Medium/63744-63999.pbf
new file mode 100644
index 0000000..670ff7c
--- /dev/null
+++ b/public/glyphs/Roboto Medium/63744-63999.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium63744-63999
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/6400-6655.pbf b/public/glyphs/Roboto Medium/6400-6655.pbf
new file mode 100644
index 0000000..c083781
--- /dev/null
+++ b/public/glyphs/Roboto Medium/6400-6655.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium 6400-6655
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/64000-64255.pbf b/public/glyphs/Roboto Medium/64000-64255.pbf
new file mode 100644
index 0000000..462bcdd
--- /dev/null
+++ b/public/glyphs/Roboto Medium/64000-64255.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium64000-64255
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/64256-64511.pbf b/public/glyphs/Roboto Medium/64256-64511.pbf
new file mode 100644
index 0000000..8f137c6
Binary files /dev/null and b/public/glyphs/Roboto Medium/64256-64511.pbf differ
diff --git a/public/glyphs/Roboto Medium/64512-64767.pbf b/public/glyphs/Roboto Medium/64512-64767.pbf
new file mode 100644
index 0000000..34447f5
--- /dev/null
+++ b/public/glyphs/Roboto Medium/64512-64767.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium64512-64767
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/64768-65023.pbf b/public/glyphs/Roboto Medium/64768-65023.pbf
new file mode 100644
index 0000000..e5552f6
--- /dev/null
+++ b/public/glyphs/Roboto Medium/64768-65023.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium64768-65023
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/65024-65279.pbf b/public/glyphs/Roboto Medium/65024-65279.pbf
new file mode 100644
index 0000000..8874b32
Binary files /dev/null and b/public/glyphs/Roboto Medium/65024-65279.pbf differ
diff --git a/public/glyphs/Roboto Medium/65280-65535.pbf b/public/glyphs/Roboto Medium/65280-65535.pbf
new file mode 100644
index 0000000..8cf4c7b
Binary files /dev/null and b/public/glyphs/Roboto Medium/65280-65535.pbf differ
diff --git a/public/glyphs/Roboto Medium/6656-6911.pbf b/public/glyphs/Roboto Medium/6656-6911.pbf
new file mode 100644
index 0000000..555aaf9
--- /dev/null
+++ b/public/glyphs/Roboto Medium/6656-6911.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium 6656-6911
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/6912-7167.pbf b/public/glyphs/Roboto Medium/6912-7167.pbf
new file mode 100644
index 0000000..f2c0cf4
--- /dev/null
+++ b/public/glyphs/Roboto Medium/6912-7167.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium 6912-7167
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/7168-7423.pbf b/public/glyphs/Roboto Medium/7168-7423.pbf
new file mode 100644
index 0000000..48e1ea9
--- /dev/null
+++ b/public/glyphs/Roboto Medium/7168-7423.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium 7168-7423
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/7424-7679.pbf b/public/glyphs/Roboto Medium/7424-7679.pbf
new file mode 100644
index 0000000..0de098a
--- /dev/null
+++ b/public/glyphs/Roboto Medium/7424-7679.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium 7424-7679
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/768-1023.pbf b/public/glyphs/Roboto Medium/768-1023.pbf
new file mode 100644
index 0000000..12a67d0
Binary files /dev/null and b/public/glyphs/Roboto Medium/768-1023.pbf differ
diff --git a/public/glyphs/Roboto Medium/7680-7935.pbf b/public/glyphs/Roboto Medium/7680-7935.pbf
new file mode 100644
index 0000000..03e8955
Binary files /dev/null and b/public/glyphs/Roboto Medium/7680-7935.pbf differ
diff --git a/public/glyphs/Roboto Medium/7936-8191.pbf b/public/glyphs/Roboto Medium/7936-8191.pbf
new file mode 100644
index 0000000..cf2fc61
Binary files /dev/null and b/public/glyphs/Roboto Medium/7936-8191.pbf differ
diff --git a/public/glyphs/Roboto Medium/8192-8447.pbf b/public/glyphs/Roboto Medium/8192-8447.pbf
new file mode 100644
index 0000000..f6c5e3f
Binary files /dev/null and b/public/glyphs/Roboto Medium/8192-8447.pbf differ
diff --git a/public/glyphs/Roboto Medium/8448-8703.pbf b/public/glyphs/Roboto Medium/8448-8703.pbf
new file mode 100644
index 0000000..7fb5cb3
Binary files /dev/null and b/public/glyphs/Roboto Medium/8448-8703.pbf differ
diff --git a/public/glyphs/Roboto Medium/8704-8959.pbf b/public/glyphs/Roboto Medium/8704-8959.pbf
new file mode 100644
index 0000000..66dc8c1
Binary files /dev/null and b/public/glyphs/Roboto Medium/8704-8959.pbf differ
diff --git a/public/glyphs/Roboto Medium/8960-9215.pbf b/public/glyphs/Roboto Medium/8960-9215.pbf
new file mode 100644
index 0000000..d053015
--- /dev/null
+++ b/public/glyphs/Roboto Medium/8960-9215.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium 8960-9215
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/9216-9471.pbf b/public/glyphs/Roboto Medium/9216-9471.pbf
new file mode 100644
index 0000000..e902fe2
--- /dev/null
+++ b/public/glyphs/Roboto Medium/9216-9471.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium 9216-9471
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/9472-9727.pbf b/public/glyphs/Roboto Medium/9472-9727.pbf
new file mode 100644
index 0000000..851ed5a
Binary files /dev/null and b/public/glyphs/Roboto Medium/9472-9727.pbf differ
diff --git a/public/glyphs/Roboto Medium/9728-9983.pbf b/public/glyphs/Roboto Medium/9728-9983.pbf
new file mode 100644
index 0000000..635de04
--- /dev/null
+++ b/public/glyphs/Roboto Medium/9728-9983.pbf
@@ -0,0 +1,3 @@
+
+
+
Roboto Medium 9728-9983
\ No newline at end of file
diff --git a/public/glyphs/Roboto Medium/9984-10239.pbf b/public/glyphs/Roboto Medium/9984-10239.pbf
new file mode 100644
index 0000000..38bf669
--- /dev/null
+++ b/public/glyphs/Roboto Medium/9984-10239.pbf
@@ -0,0 +1,4 @@
+
+
+
Roboto Medium
+9984-10239
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/0-255.pbf b/public/glyphs/Roboto Regular/0-255.pbf
new file mode 100644
index 0000000..b59c4ed
Binary files /dev/null and b/public/glyphs/Roboto Regular/0-255.pbf differ
diff --git a/public/glyphs/Roboto Regular/1024-1279.pbf b/public/glyphs/Roboto Regular/1024-1279.pbf
new file mode 100644
index 0000000..023ca0f
Binary files /dev/null and b/public/glyphs/Roboto Regular/1024-1279.pbf differ
diff --git a/public/glyphs/Roboto Regular/10240-10495.pbf b/public/glyphs/Roboto Regular/10240-10495.pbf
new file mode 100644
index 0000000..f4761cc
--- /dev/null
+++ b/public/glyphs/Roboto Regular/10240-10495.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular10240-10495
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/10496-10751.pbf b/public/glyphs/Roboto Regular/10496-10751.pbf
new file mode 100644
index 0000000..9e0afdc
--- /dev/null
+++ b/public/glyphs/Roboto Regular/10496-10751.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular10496-10751
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/10752-11007.pbf b/public/glyphs/Roboto Regular/10752-11007.pbf
new file mode 100644
index 0000000..a4e3987
--- /dev/null
+++ b/public/glyphs/Roboto Regular/10752-11007.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular10752-11007
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/11008-11263.pbf b/public/glyphs/Roboto Regular/11008-11263.pbf
new file mode 100644
index 0000000..88944de
--- /dev/null
+++ b/public/glyphs/Roboto Regular/11008-11263.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular11008-11263
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/11264-11519.pbf b/public/glyphs/Roboto Regular/11264-11519.pbf
new file mode 100644
index 0000000..f61d8c5
--- /dev/null
+++ b/public/glyphs/Roboto Regular/11264-11519.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular11264-11519
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/11520-11775.pbf b/public/glyphs/Roboto Regular/11520-11775.pbf
new file mode 100644
index 0000000..b442db2
--- /dev/null
+++ b/public/glyphs/Roboto Regular/11520-11775.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular11520-11775
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/11776-12031.pbf b/public/glyphs/Roboto Regular/11776-12031.pbf
new file mode 100644
index 0000000..53e4d73
--- /dev/null
+++ b/public/glyphs/Roboto Regular/11776-12031.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular11776-12031
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/12032-12287.pbf b/public/glyphs/Roboto Regular/12032-12287.pbf
new file mode 100644
index 0000000..c076fe9
--- /dev/null
+++ b/public/glyphs/Roboto Regular/12032-12287.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular12032-12287
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/12288-12543.pbf b/public/glyphs/Roboto Regular/12288-12543.pbf
new file mode 100644
index 0000000..6a35a8a
--- /dev/null
+++ b/public/glyphs/Roboto Regular/12288-12543.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular12288-12543
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/12544-12799.pbf b/public/glyphs/Roboto Regular/12544-12799.pbf
new file mode 100644
index 0000000..e54d055
--- /dev/null
+++ b/public/glyphs/Roboto Regular/12544-12799.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular12544-12799
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/1280-1535.pbf b/public/glyphs/Roboto Regular/1280-1535.pbf
new file mode 100644
index 0000000..f6ebb54
Binary files /dev/null and b/public/glyphs/Roboto Regular/1280-1535.pbf differ
diff --git a/public/glyphs/Roboto Regular/12800-13055.pbf b/public/glyphs/Roboto Regular/12800-13055.pbf
new file mode 100644
index 0000000..0f781aa
--- /dev/null
+++ b/public/glyphs/Roboto Regular/12800-13055.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular12800-13055
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/13056-13311.pbf b/public/glyphs/Roboto Regular/13056-13311.pbf
new file mode 100644
index 0000000..620e3ec
--- /dev/null
+++ b/public/glyphs/Roboto Regular/13056-13311.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular13056-13311
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/13312-13567.pbf b/public/glyphs/Roboto Regular/13312-13567.pbf
new file mode 100644
index 0000000..ffd9849
--- /dev/null
+++ b/public/glyphs/Roboto Regular/13312-13567.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular13312-13567
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/13568-13823.pbf b/public/glyphs/Roboto Regular/13568-13823.pbf
new file mode 100644
index 0000000..f6f3f23
--- /dev/null
+++ b/public/glyphs/Roboto Regular/13568-13823.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular13568-13823
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/13824-14079.pbf b/public/glyphs/Roboto Regular/13824-14079.pbf
new file mode 100644
index 0000000..2c5fa10
--- /dev/null
+++ b/public/glyphs/Roboto Regular/13824-14079.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular13824-14079
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/14080-14335.pbf b/public/glyphs/Roboto Regular/14080-14335.pbf
new file mode 100644
index 0000000..ab3ca22
--- /dev/null
+++ b/public/glyphs/Roboto Regular/14080-14335.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular14080-14335
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/14336-14591.pbf b/public/glyphs/Roboto Regular/14336-14591.pbf
new file mode 100644
index 0000000..50823f0
--- /dev/null
+++ b/public/glyphs/Roboto Regular/14336-14591.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular14336-14591
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/14592-14847.pbf b/public/glyphs/Roboto Regular/14592-14847.pbf
new file mode 100644
index 0000000..f3a38a5
--- /dev/null
+++ b/public/glyphs/Roboto Regular/14592-14847.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular14592-14847
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/14848-15103.pbf b/public/glyphs/Roboto Regular/14848-15103.pbf
new file mode 100644
index 0000000..eb8e81b
--- /dev/null
+++ b/public/glyphs/Roboto Regular/14848-15103.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular14848-15103
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/15104-15359.pbf b/public/glyphs/Roboto Regular/15104-15359.pbf
new file mode 100644
index 0000000..ef25ec5
--- /dev/null
+++ b/public/glyphs/Roboto Regular/15104-15359.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular15104-15359
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/1536-1791.pbf b/public/glyphs/Roboto Regular/1536-1791.pbf
new file mode 100644
index 0000000..0fa8abe
--- /dev/null
+++ b/public/glyphs/Roboto Regular/1536-1791.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular 1536-1791
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/15360-15615.pbf b/public/glyphs/Roboto Regular/15360-15615.pbf
new file mode 100644
index 0000000..8f4bc84
--- /dev/null
+++ b/public/glyphs/Roboto Regular/15360-15615.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular15360-15615
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/15616-15871.pbf b/public/glyphs/Roboto Regular/15616-15871.pbf
new file mode 100644
index 0000000..9060f1e
--- /dev/null
+++ b/public/glyphs/Roboto Regular/15616-15871.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular15616-15871
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/15872-16127.pbf b/public/glyphs/Roboto Regular/15872-16127.pbf
new file mode 100644
index 0000000..5539710
--- /dev/null
+++ b/public/glyphs/Roboto Regular/15872-16127.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular15872-16127
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/16128-16383.pbf b/public/glyphs/Roboto Regular/16128-16383.pbf
new file mode 100644
index 0000000..8f5aac2
--- /dev/null
+++ b/public/glyphs/Roboto Regular/16128-16383.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular16128-16383
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/16384-16639.pbf b/public/glyphs/Roboto Regular/16384-16639.pbf
new file mode 100644
index 0000000..31952b9
--- /dev/null
+++ b/public/glyphs/Roboto Regular/16384-16639.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular16384-16639
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/16640-16895.pbf b/public/glyphs/Roboto Regular/16640-16895.pbf
new file mode 100644
index 0000000..8ca5621
--- /dev/null
+++ b/public/glyphs/Roboto Regular/16640-16895.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular16640-16895
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/16896-17151.pbf b/public/glyphs/Roboto Regular/16896-17151.pbf
new file mode 100644
index 0000000..464f8d0
--- /dev/null
+++ b/public/glyphs/Roboto Regular/16896-17151.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular16896-17151
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/17152-17407.pbf b/public/glyphs/Roboto Regular/17152-17407.pbf
new file mode 100644
index 0000000..c7c6b8f
--- /dev/null
+++ b/public/glyphs/Roboto Regular/17152-17407.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular17152-17407
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/17408-17663.pbf b/public/glyphs/Roboto Regular/17408-17663.pbf
new file mode 100644
index 0000000..a18009a
--- /dev/null
+++ b/public/glyphs/Roboto Regular/17408-17663.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular17408-17663
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/17664-17919.pbf b/public/glyphs/Roboto Regular/17664-17919.pbf
new file mode 100644
index 0000000..634db3e
--- /dev/null
+++ b/public/glyphs/Roboto Regular/17664-17919.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular17664-17919
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/1792-2047.pbf b/public/glyphs/Roboto Regular/1792-2047.pbf
new file mode 100644
index 0000000..82e1378
--- /dev/null
+++ b/public/glyphs/Roboto Regular/1792-2047.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular 1792-2047
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/17920-18175.pbf b/public/glyphs/Roboto Regular/17920-18175.pbf
new file mode 100644
index 0000000..e38a695
--- /dev/null
+++ b/public/glyphs/Roboto Regular/17920-18175.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular17920-18175
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/18176-18431.pbf b/public/glyphs/Roboto Regular/18176-18431.pbf
new file mode 100644
index 0000000..26e3334
--- /dev/null
+++ b/public/glyphs/Roboto Regular/18176-18431.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular18176-18431
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/18432-18687.pbf b/public/glyphs/Roboto Regular/18432-18687.pbf
new file mode 100644
index 0000000..e5e848d
--- /dev/null
+++ b/public/glyphs/Roboto Regular/18432-18687.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular18432-18687
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/18688-18943.pbf b/public/glyphs/Roboto Regular/18688-18943.pbf
new file mode 100644
index 0000000..6403847
--- /dev/null
+++ b/public/glyphs/Roboto Regular/18688-18943.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular18688-18943
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/18944-19199.pbf b/public/glyphs/Roboto Regular/18944-19199.pbf
new file mode 100644
index 0000000..fb02481
--- /dev/null
+++ b/public/glyphs/Roboto Regular/18944-19199.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular18944-19199
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/19200-19455.pbf b/public/glyphs/Roboto Regular/19200-19455.pbf
new file mode 100644
index 0000000..4486f9a
--- /dev/null
+++ b/public/glyphs/Roboto Regular/19200-19455.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular19200-19455
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/19456-19711.pbf b/public/glyphs/Roboto Regular/19456-19711.pbf
new file mode 100644
index 0000000..b803300
--- /dev/null
+++ b/public/glyphs/Roboto Regular/19456-19711.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular19456-19711
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/19712-19967.pbf b/public/glyphs/Roboto Regular/19712-19967.pbf
new file mode 100644
index 0000000..154040a
--- /dev/null
+++ b/public/glyphs/Roboto Regular/19712-19967.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular19712-19967
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/19968-20223.pbf b/public/glyphs/Roboto Regular/19968-20223.pbf
new file mode 100644
index 0000000..e08aa3b
--- /dev/null
+++ b/public/glyphs/Roboto Regular/19968-20223.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular19968-20223
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/20224-20479.pbf b/public/glyphs/Roboto Regular/20224-20479.pbf
new file mode 100644
index 0000000..d0a0b96
--- /dev/null
+++ b/public/glyphs/Roboto Regular/20224-20479.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular20224-20479
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/2048-2303.pbf b/public/glyphs/Roboto Regular/2048-2303.pbf
new file mode 100644
index 0000000..4c971fd
--- /dev/null
+++ b/public/glyphs/Roboto Regular/2048-2303.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular 2048-2303
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/20480-20735.pbf b/public/glyphs/Roboto Regular/20480-20735.pbf
new file mode 100644
index 0000000..ea650d4
--- /dev/null
+++ b/public/glyphs/Roboto Regular/20480-20735.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular20480-20735
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/20736-20991.pbf b/public/glyphs/Roboto Regular/20736-20991.pbf
new file mode 100644
index 0000000..2534396
--- /dev/null
+++ b/public/glyphs/Roboto Regular/20736-20991.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular20736-20991
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/20992-21247.pbf b/public/glyphs/Roboto Regular/20992-21247.pbf
new file mode 100644
index 0000000..bac89f6
--- /dev/null
+++ b/public/glyphs/Roboto Regular/20992-21247.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular20992-21247
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/21248-21503.pbf b/public/glyphs/Roboto Regular/21248-21503.pbf
new file mode 100644
index 0000000..643cbcf
--- /dev/null
+++ b/public/glyphs/Roboto Regular/21248-21503.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular21248-21503
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/21504-21759.pbf b/public/glyphs/Roboto Regular/21504-21759.pbf
new file mode 100644
index 0000000..3453bf7
--- /dev/null
+++ b/public/glyphs/Roboto Regular/21504-21759.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular21504-21759
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/21760-22015.pbf b/public/glyphs/Roboto Regular/21760-22015.pbf
new file mode 100644
index 0000000..77396ea
--- /dev/null
+++ b/public/glyphs/Roboto Regular/21760-22015.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular21760-22015
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/22016-22271.pbf b/public/glyphs/Roboto Regular/22016-22271.pbf
new file mode 100644
index 0000000..3403989
--- /dev/null
+++ b/public/glyphs/Roboto Regular/22016-22271.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular22016-22271
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/22272-22527.pbf b/public/glyphs/Roboto Regular/22272-22527.pbf
new file mode 100644
index 0000000..fa58b8f
--- /dev/null
+++ b/public/glyphs/Roboto Regular/22272-22527.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular22272-22527
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/22528-22783.pbf b/public/glyphs/Roboto Regular/22528-22783.pbf
new file mode 100644
index 0000000..2557ae7
--- /dev/null
+++ b/public/glyphs/Roboto Regular/22528-22783.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular22528-22783
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/22784-23039.pbf b/public/glyphs/Roboto Regular/22784-23039.pbf
new file mode 100644
index 0000000..3893ff6
--- /dev/null
+++ b/public/glyphs/Roboto Regular/22784-23039.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular22784-23039
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/2304-2559.pbf b/public/glyphs/Roboto Regular/2304-2559.pbf
new file mode 100644
index 0000000..1a08d26
--- /dev/null
+++ b/public/glyphs/Roboto Regular/2304-2559.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular 2304-2559
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/23040-23295.pbf b/public/glyphs/Roboto Regular/23040-23295.pbf
new file mode 100644
index 0000000..ce80f64
--- /dev/null
+++ b/public/glyphs/Roboto Regular/23040-23295.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular23040-23295
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/23296-23551.pbf b/public/glyphs/Roboto Regular/23296-23551.pbf
new file mode 100644
index 0000000..340560f
--- /dev/null
+++ b/public/glyphs/Roboto Regular/23296-23551.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular23296-23551
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/23552-23807.pbf b/public/glyphs/Roboto Regular/23552-23807.pbf
new file mode 100644
index 0000000..5d09b1d
--- /dev/null
+++ b/public/glyphs/Roboto Regular/23552-23807.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular23552-23807
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/23808-24063.pbf b/public/glyphs/Roboto Regular/23808-24063.pbf
new file mode 100644
index 0000000..199868f
--- /dev/null
+++ b/public/glyphs/Roboto Regular/23808-24063.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular23808-24063
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/24064-24319.pbf b/public/glyphs/Roboto Regular/24064-24319.pbf
new file mode 100644
index 0000000..9bdd2d3
--- /dev/null
+++ b/public/glyphs/Roboto Regular/24064-24319.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular24064-24319
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/24320-24575.pbf b/public/glyphs/Roboto Regular/24320-24575.pbf
new file mode 100644
index 0000000..9ba6005
--- /dev/null
+++ b/public/glyphs/Roboto Regular/24320-24575.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular24320-24575
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/24576-24831.pbf b/public/glyphs/Roboto Regular/24576-24831.pbf
new file mode 100644
index 0000000..cfc14fc
--- /dev/null
+++ b/public/glyphs/Roboto Regular/24576-24831.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular24576-24831
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/24832-25087.pbf b/public/glyphs/Roboto Regular/24832-25087.pbf
new file mode 100644
index 0000000..5664acd
--- /dev/null
+++ b/public/glyphs/Roboto Regular/24832-25087.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular24832-25087
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/25088-25343.pbf b/public/glyphs/Roboto Regular/25088-25343.pbf
new file mode 100644
index 0000000..91df48a
--- /dev/null
+++ b/public/glyphs/Roboto Regular/25088-25343.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular25088-25343
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/25344-25599.pbf b/public/glyphs/Roboto Regular/25344-25599.pbf
new file mode 100644
index 0000000..686f741
--- /dev/null
+++ b/public/glyphs/Roboto Regular/25344-25599.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular25344-25599
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/256-511.pbf b/public/glyphs/Roboto Regular/256-511.pbf
new file mode 100644
index 0000000..d44ad16
Binary files /dev/null and b/public/glyphs/Roboto Regular/256-511.pbf differ
diff --git a/public/glyphs/Roboto Regular/2560-2815.pbf b/public/glyphs/Roboto Regular/2560-2815.pbf
new file mode 100644
index 0000000..d80f3aa
--- /dev/null
+++ b/public/glyphs/Roboto Regular/2560-2815.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular 2560-2815
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/25600-25855.pbf b/public/glyphs/Roboto Regular/25600-25855.pbf
new file mode 100644
index 0000000..6899711
--- /dev/null
+++ b/public/glyphs/Roboto Regular/25600-25855.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular25600-25855
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/25856-26111.pbf b/public/glyphs/Roboto Regular/25856-26111.pbf
new file mode 100644
index 0000000..9841a6e
--- /dev/null
+++ b/public/glyphs/Roboto Regular/25856-26111.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular25856-26111
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/26112-26367.pbf b/public/glyphs/Roboto Regular/26112-26367.pbf
new file mode 100644
index 0000000..5ee5bad
--- /dev/null
+++ b/public/glyphs/Roboto Regular/26112-26367.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular26112-26367
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/26368-26623.pbf b/public/glyphs/Roboto Regular/26368-26623.pbf
new file mode 100644
index 0000000..0ca272a
--- /dev/null
+++ b/public/glyphs/Roboto Regular/26368-26623.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular26368-26623
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/26624-26879.pbf b/public/glyphs/Roboto Regular/26624-26879.pbf
new file mode 100644
index 0000000..cc40b8d
--- /dev/null
+++ b/public/glyphs/Roboto Regular/26624-26879.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular26624-26879
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/26880-27135.pbf b/public/glyphs/Roboto Regular/26880-27135.pbf
new file mode 100644
index 0000000..6f85e2c
--- /dev/null
+++ b/public/glyphs/Roboto Regular/26880-27135.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular26880-27135
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/27136-27391.pbf b/public/glyphs/Roboto Regular/27136-27391.pbf
new file mode 100644
index 0000000..99248ff
--- /dev/null
+++ b/public/glyphs/Roboto Regular/27136-27391.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular27136-27391
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/27392-27647.pbf b/public/glyphs/Roboto Regular/27392-27647.pbf
new file mode 100644
index 0000000..1ddc8ff
--- /dev/null
+++ b/public/glyphs/Roboto Regular/27392-27647.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular27392-27647
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/27648-27903.pbf b/public/glyphs/Roboto Regular/27648-27903.pbf
new file mode 100644
index 0000000..0247bd6
--- /dev/null
+++ b/public/glyphs/Roboto Regular/27648-27903.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular27648-27903
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/27904-28159.pbf b/public/glyphs/Roboto Regular/27904-28159.pbf
new file mode 100644
index 0000000..6ad3804
--- /dev/null
+++ b/public/glyphs/Roboto Regular/27904-28159.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular27904-28159
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/2816-3071.pbf b/public/glyphs/Roboto Regular/2816-3071.pbf
new file mode 100644
index 0000000..fe65a4b
--- /dev/null
+++ b/public/glyphs/Roboto Regular/2816-3071.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular 2816-3071
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/28160-28415.pbf b/public/glyphs/Roboto Regular/28160-28415.pbf
new file mode 100644
index 0000000..1745623
--- /dev/null
+++ b/public/glyphs/Roboto Regular/28160-28415.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular28160-28415
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/28416-28671.pbf b/public/glyphs/Roboto Regular/28416-28671.pbf
new file mode 100644
index 0000000..fdd2b28
--- /dev/null
+++ b/public/glyphs/Roboto Regular/28416-28671.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular28416-28671
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/28672-28927.pbf b/public/glyphs/Roboto Regular/28672-28927.pbf
new file mode 100644
index 0000000..2d47b97
--- /dev/null
+++ b/public/glyphs/Roboto Regular/28672-28927.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular28672-28927
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/28928-29183.pbf b/public/glyphs/Roboto Regular/28928-29183.pbf
new file mode 100644
index 0000000..c693a5c
--- /dev/null
+++ b/public/glyphs/Roboto Regular/28928-29183.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular28928-29183
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/29184-29439.pbf b/public/glyphs/Roboto Regular/29184-29439.pbf
new file mode 100644
index 0000000..a310dfe
--- /dev/null
+++ b/public/glyphs/Roboto Regular/29184-29439.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular29184-29439
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/29440-29695.pbf b/public/glyphs/Roboto Regular/29440-29695.pbf
new file mode 100644
index 0000000..425dba7
--- /dev/null
+++ b/public/glyphs/Roboto Regular/29440-29695.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular29440-29695
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/29696-29951.pbf b/public/glyphs/Roboto Regular/29696-29951.pbf
new file mode 100644
index 0000000..6e376ce
--- /dev/null
+++ b/public/glyphs/Roboto Regular/29696-29951.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular29696-29951
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/29952-30207.pbf b/public/glyphs/Roboto Regular/29952-30207.pbf
new file mode 100644
index 0000000..4794332
--- /dev/null
+++ b/public/glyphs/Roboto Regular/29952-30207.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular29952-30207
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/30208-30463.pbf b/public/glyphs/Roboto Regular/30208-30463.pbf
new file mode 100644
index 0000000..d93e2fe
--- /dev/null
+++ b/public/glyphs/Roboto Regular/30208-30463.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular30208-30463
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/30464-30719.pbf b/public/glyphs/Roboto Regular/30464-30719.pbf
new file mode 100644
index 0000000..72babe1
--- /dev/null
+++ b/public/glyphs/Roboto Regular/30464-30719.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular30464-30719
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/3072-3327.pbf b/public/glyphs/Roboto Regular/3072-3327.pbf
new file mode 100644
index 0000000..8cf0749
--- /dev/null
+++ b/public/glyphs/Roboto Regular/3072-3327.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular 3072-3327
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/30720-30975.pbf b/public/glyphs/Roboto Regular/30720-30975.pbf
new file mode 100644
index 0000000..7f7b4dd
--- /dev/null
+++ b/public/glyphs/Roboto Regular/30720-30975.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular30720-30975
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/30976-31231.pbf b/public/glyphs/Roboto Regular/30976-31231.pbf
new file mode 100644
index 0000000..121f2c2
--- /dev/null
+++ b/public/glyphs/Roboto Regular/30976-31231.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular30976-31231
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/31232-31487.pbf b/public/glyphs/Roboto Regular/31232-31487.pbf
new file mode 100644
index 0000000..4d59fa1
--- /dev/null
+++ b/public/glyphs/Roboto Regular/31232-31487.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular31232-31487
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/31488-31743.pbf b/public/glyphs/Roboto Regular/31488-31743.pbf
new file mode 100644
index 0000000..97d591a
--- /dev/null
+++ b/public/glyphs/Roboto Regular/31488-31743.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular31488-31743
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/31744-31999.pbf b/public/glyphs/Roboto Regular/31744-31999.pbf
new file mode 100644
index 0000000..4b6bdaf
--- /dev/null
+++ b/public/glyphs/Roboto Regular/31744-31999.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular31744-31999
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/32000-32255.pbf b/public/glyphs/Roboto Regular/32000-32255.pbf
new file mode 100644
index 0000000..076e015
--- /dev/null
+++ b/public/glyphs/Roboto Regular/32000-32255.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular32000-32255
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/32256-32511.pbf b/public/glyphs/Roboto Regular/32256-32511.pbf
new file mode 100644
index 0000000..51a1f16
--- /dev/null
+++ b/public/glyphs/Roboto Regular/32256-32511.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular32256-32511
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/32512-32767.pbf b/public/glyphs/Roboto Regular/32512-32767.pbf
new file mode 100644
index 0000000..9d0ea29
--- /dev/null
+++ b/public/glyphs/Roboto Regular/32512-32767.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular32512-32767
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/32768-33023.pbf b/public/glyphs/Roboto Regular/32768-33023.pbf
new file mode 100644
index 0000000..babe855
--- /dev/null
+++ b/public/glyphs/Roboto Regular/32768-33023.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular32768-33023
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/33024-33279.pbf b/public/glyphs/Roboto Regular/33024-33279.pbf
new file mode 100644
index 0000000..6654138
--- /dev/null
+++ b/public/glyphs/Roboto Regular/33024-33279.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular33024-33279
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/3328-3583.pbf b/public/glyphs/Roboto Regular/3328-3583.pbf
new file mode 100644
index 0000000..097dfac
--- /dev/null
+++ b/public/glyphs/Roboto Regular/3328-3583.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular 3328-3583
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/33280-33535.pbf b/public/glyphs/Roboto Regular/33280-33535.pbf
new file mode 100644
index 0000000..f309ee0
--- /dev/null
+++ b/public/glyphs/Roboto Regular/33280-33535.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular33280-33535
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/33536-33791.pbf b/public/glyphs/Roboto Regular/33536-33791.pbf
new file mode 100644
index 0000000..a4dc2af
--- /dev/null
+++ b/public/glyphs/Roboto Regular/33536-33791.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular33536-33791
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/33792-34047.pbf b/public/glyphs/Roboto Regular/33792-34047.pbf
new file mode 100644
index 0000000..ac7a712
--- /dev/null
+++ b/public/glyphs/Roboto Regular/33792-34047.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular33792-34047
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/34048-34303.pbf b/public/glyphs/Roboto Regular/34048-34303.pbf
new file mode 100644
index 0000000..88ff7ce
--- /dev/null
+++ b/public/glyphs/Roboto Regular/34048-34303.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular34048-34303
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/34304-34559.pbf b/public/glyphs/Roboto Regular/34304-34559.pbf
new file mode 100644
index 0000000..e5dc3ec
--- /dev/null
+++ b/public/glyphs/Roboto Regular/34304-34559.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular34304-34559
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/34560-34815.pbf b/public/glyphs/Roboto Regular/34560-34815.pbf
new file mode 100644
index 0000000..852be6b
--- /dev/null
+++ b/public/glyphs/Roboto Regular/34560-34815.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular34560-34815
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/34816-35071.pbf b/public/glyphs/Roboto Regular/34816-35071.pbf
new file mode 100644
index 0000000..aeb5cbb
--- /dev/null
+++ b/public/glyphs/Roboto Regular/34816-35071.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular34816-35071
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/35072-35327.pbf b/public/glyphs/Roboto Regular/35072-35327.pbf
new file mode 100644
index 0000000..3028a30
--- /dev/null
+++ b/public/glyphs/Roboto Regular/35072-35327.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular35072-35327
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/35328-35583.pbf b/public/glyphs/Roboto Regular/35328-35583.pbf
new file mode 100644
index 0000000..1f615c5
--- /dev/null
+++ b/public/glyphs/Roboto Regular/35328-35583.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular35328-35583
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/35584-35839.pbf b/public/glyphs/Roboto Regular/35584-35839.pbf
new file mode 100644
index 0000000..4c80b87
--- /dev/null
+++ b/public/glyphs/Roboto Regular/35584-35839.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular35584-35839
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/3584-3839.pbf b/public/glyphs/Roboto Regular/3584-3839.pbf
new file mode 100644
index 0000000..d72468b
--- /dev/null
+++ b/public/glyphs/Roboto Regular/3584-3839.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular 3584-3839
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/35840-36095.pbf b/public/glyphs/Roboto Regular/35840-36095.pbf
new file mode 100644
index 0000000..0cf4a14
--- /dev/null
+++ b/public/glyphs/Roboto Regular/35840-36095.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular35840-36095
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/36096-36351.pbf b/public/glyphs/Roboto Regular/36096-36351.pbf
new file mode 100644
index 0000000..cbe9855
--- /dev/null
+++ b/public/glyphs/Roboto Regular/36096-36351.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular36096-36351
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/36352-36607.pbf b/public/glyphs/Roboto Regular/36352-36607.pbf
new file mode 100644
index 0000000..a865eb2
--- /dev/null
+++ b/public/glyphs/Roboto Regular/36352-36607.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular36352-36607
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/36608-36863.pbf b/public/glyphs/Roboto Regular/36608-36863.pbf
new file mode 100644
index 0000000..acb20c3
--- /dev/null
+++ b/public/glyphs/Roboto Regular/36608-36863.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular36608-36863
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/36864-37119.pbf b/public/glyphs/Roboto Regular/36864-37119.pbf
new file mode 100644
index 0000000..efbbd02
--- /dev/null
+++ b/public/glyphs/Roboto Regular/36864-37119.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular36864-37119
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/37120-37375.pbf b/public/glyphs/Roboto Regular/37120-37375.pbf
new file mode 100644
index 0000000..2f9ffce
--- /dev/null
+++ b/public/glyphs/Roboto Regular/37120-37375.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular37120-37375
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/37376-37631.pbf b/public/glyphs/Roboto Regular/37376-37631.pbf
new file mode 100644
index 0000000..67ecb63
--- /dev/null
+++ b/public/glyphs/Roboto Regular/37376-37631.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular37376-37631
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/37632-37887.pbf b/public/glyphs/Roboto Regular/37632-37887.pbf
new file mode 100644
index 0000000..c096e93
--- /dev/null
+++ b/public/glyphs/Roboto Regular/37632-37887.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular37632-37887
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/37888-38143.pbf b/public/glyphs/Roboto Regular/37888-38143.pbf
new file mode 100644
index 0000000..f1e19e9
--- /dev/null
+++ b/public/glyphs/Roboto Regular/37888-38143.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular37888-38143
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/38144-38399.pbf b/public/glyphs/Roboto Regular/38144-38399.pbf
new file mode 100644
index 0000000..5100a90
--- /dev/null
+++ b/public/glyphs/Roboto Regular/38144-38399.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular38144-38399
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/3840-4095.pbf b/public/glyphs/Roboto Regular/3840-4095.pbf
new file mode 100644
index 0000000..67ae6ce
--- /dev/null
+++ b/public/glyphs/Roboto Regular/3840-4095.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular 3840-4095
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/38400-38655.pbf b/public/glyphs/Roboto Regular/38400-38655.pbf
new file mode 100644
index 0000000..41b5d4e
--- /dev/null
+++ b/public/glyphs/Roboto Regular/38400-38655.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular38400-38655
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/38656-38911.pbf b/public/glyphs/Roboto Regular/38656-38911.pbf
new file mode 100644
index 0000000..67a24f6
--- /dev/null
+++ b/public/glyphs/Roboto Regular/38656-38911.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular38656-38911
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/38912-39167.pbf b/public/glyphs/Roboto Regular/38912-39167.pbf
new file mode 100644
index 0000000..2e8ac27
--- /dev/null
+++ b/public/glyphs/Roboto Regular/38912-39167.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular38912-39167
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/39168-39423.pbf b/public/glyphs/Roboto Regular/39168-39423.pbf
new file mode 100644
index 0000000..8eb5573
--- /dev/null
+++ b/public/glyphs/Roboto Regular/39168-39423.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular39168-39423
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/39424-39679.pbf b/public/glyphs/Roboto Regular/39424-39679.pbf
new file mode 100644
index 0000000..dffb907
--- /dev/null
+++ b/public/glyphs/Roboto Regular/39424-39679.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular39424-39679
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/39680-39935.pbf b/public/glyphs/Roboto Regular/39680-39935.pbf
new file mode 100644
index 0000000..f44e1de
--- /dev/null
+++ b/public/glyphs/Roboto Regular/39680-39935.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular39680-39935
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/39936-40191.pbf b/public/glyphs/Roboto Regular/39936-40191.pbf
new file mode 100644
index 0000000..7ee9f4f
--- /dev/null
+++ b/public/glyphs/Roboto Regular/39936-40191.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular39936-40191
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/40192-40447.pbf b/public/glyphs/Roboto Regular/40192-40447.pbf
new file mode 100644
index 0000000..992f5b4
--- /dev/null
+++ b/public/glyphs/Roboto Regular/40192-40447.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular40192-40447
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/40448-40703.pbf b/public/glyphs/Roboto Regular/40448-40703.pbf
new file mode 100644
index 0000000..b2bb17d
--- /dev/null
+++ b/public/glyphs/Roboto Regular/40448-40703.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular40448-40703
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/40704-40959.pbf b/public/glyphs/Roboto Regular/40704-40959.pbf
new file mode 100644
index 0000000..f19fcb7
--- /dev/null
+++ b/public/glyphs/Roboto Regular/40704-40959.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular40704-40959
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/4096-4351.pbf b/public/glyphs/Roboto Regular/4096-4351.pbf
new file mode 100644
index 0000000..e057bbd
--- /dev/null
+++ b/public/glyphs/Roboto Regular/4096-4351.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular 4096-4351
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/40960-41215.pbf b/public/glyphs/Roboto Regular/40960-41215.pbf
new file mode 100644
index 0000000..7ac0785
--- /dev/null
+++ b/public/glyphs/Roboto Regular/40960-41215.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular40960-41215
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/41216-41471.pbf b/public/glyphs/Roboto Regular/41216-41471.pbf
new file mode 100644
index 0000000..bdda576
--- /dev/null
+++ b/public/glyphs/Roboto Regular/41216-41471.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular41216-41471
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/41472-41727.pbf b/public/glyphs/Roboto Regular/41472-41727.pbf
new file mode 100644
index 0000000..79b9381
--- /dev/null
+++ b/public/glyphs/Roboto Regular/41472-41727.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular41472-41727
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/41728-41983.pbf b/public/glyphs/Roboto Regular/41728-41983.pbf
new file mode 100644
index 0000000..4884bfc
--- /dev/null
+++ b/public/glyphs/Roboto Regular/41728-41983.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular41728-41983
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/41984-42239.pbf b/public/glyphs/Roboto Regular/41984-42239.pbf
new file mode 100644
index 0000000..f5636ba
--- /dev/null
+++ b/public/glyphs/Roboto Regular/41984-42239.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular41984-42239
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/42240-42495.pbf b/public/glyphs/Roboto Regular/42240-42495.pbf
new file mode 100644
index 0000000..12e9d6a
--- /dev/null
+++ b/public/glyphs/Roboto Regular/42240-42495.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular42240-42495
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/42496-42751.pbf b/public/glyphs/Roboto Regular/42496-42751.pbf
new file mode 100644
index 0000000..07df9fb
--- /dev/null
+++ b/public/glyphs/Roboto Regular/42496-42751.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular42496-42751
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/42752-43007.pbf b/public/glyphs/Roboto Regular/42752-43007.pbf
new file mode 100644
index 0000000..0f522e7
--- /dev/null
+++ b/public/glyphs/Roboto Regular/42752-43007.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular42752-43007
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/43008-43263.pbf b/public/glyphs/Roboto Regular/43008-43263.pbf
new file mode 100644
index 0000000..d7b326c
--- /dev/null
+++ b/public/glyphs/Roboto Regular/43008-43263.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular43008-43263
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/43264-43519.pbf b/public/glyphs/Roboto Regular/43264-43519.pbf
new file mode 100644
index 0000000..7114ac5
--- /dev/null
+++ b/public/glyphs/Roboto Regular/43264-43519.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular43264-43519
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/4352-4607.pbf b/public/glyphs/Roboto Regular/4352-4607.pbf
new file mode 100644
index 0000000..2a964b7
--- /dev/null
+++ b/public/glyphs/Roboto Regular/4352-4607.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular 4352-4607
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/43520-43775.pbf b/public/glyphs/Roboto Regular/43520-43775.pbf
new file mode 100644
index 0000000..843dea6
--- /dev/null
+++ b/public/glyphs/Roboto Regular/43520-43775.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular43520-43775
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/43776-44031.pbf b/public/glyphs/Roboto Regular/43776-44031.pbf
new file mode 100644
index 0000000..ac41734
--- /dev/null
+++ b/public/glyphs/Roboto Regular/43776-44031.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular43776-44031
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/44032-44287.pbf b/public/glyphs/Roboto Regular/44032-44287.pbf
new file mode 100644
index 0000000..08a0ac0
--- /dev/null
+++ b/public/glyphs/Roboto Regular/44032-44287.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular44032-44287
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/44288-44543.pbf b/public/glyphs/Roboto Regular/44288-44543.pbf
new file mode 100644
index 0000000..c5227a6
--- /dev/null
+++ b/public/glyphs/Roboto Regular/44288-44543.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular44288-44543
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/44544-44799.pbf b/public/glyphs/Roboto Regular/44544-44799.pbf
new file mode 100644
index 0000000..6146d67
--- /dev/null
+++ b/public/glyphs/Roboto Regular/44544-44799.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular44544-44799
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/44800-45055.pbf b/public/glyphs/Roboto Regular/44800-45055.pbf
new file mode 100644
index 0000000..d307a68
--- /dev/null
+++ b/public/glyphs/Roboto Regular/44800-45055.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular44800-45055
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/45056-45311.pbf b/public/glyphs/Roboto Regular/45056-45311.pbf
new file mode 100644
index 0000000..241f81b
--- /dev/null
+++ b/public/glyphs/Roboto Regular/45056-45311.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular45056-45311
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/45312-45567.pbf b/public/glyphs/Roboto Regular/45312-45567.pbf
new file mode 100644
index 0000000..6f7bef4
--- /dev/null
+++ b/public/glyphs/Roboto Regular/45312-45567.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular45312-45567
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/45568-45823.pbf b/public/glyphs/Roboto Regular/45568-45823.pbf
new file mode 100644
index 0000000..1a8925a
--- /dev/null
+++ b/public/glyphs/Roboto Regular/45568-45823.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular45568-45823
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/45824-46079.pbf b/public/glyphs/Roboto Regular/45824-46079.pbf
new file mode 100644
index 0000000..6a58014
--- /dev/null
+++ b/public/glyphs/Roboto Regular/45824-46079.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular45824-46079
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/4608-4863.pbf b/public/glyphs/Roboto Regular/4608-4863.pbf
new file mode 100644
index 0000000..af38394
--- /dev/null
+++ b/public/glyphs/Roboto Regular/4608-4863.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular 4608-4863
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/46080-46335.pbf b/public/glyphs/Roboto Regular/46080-46335.pbf
new file mode 100644
index 0000000..2df8b9c
--- /dev/null
+++ b/public/glyphs/Roboto Regular/46080-46335.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular46080-46335
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/46336-46591.pbf b/public/glyphs/Roboto Regular/46336-46591.pbf
new file mode 100644
index 0000000..ff0e152
--- /dev/null
+++ b/public/glyphs/Roboto Regular/46336-46591.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular46336-46591
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/46592-46847.pbf b/public/glyphs/Roboto Regular/46592-46847.pbf
new file mode 100644
index 0000000..1d80268
--- /dev/null
+++ b/public/glyphs/Roboto Regular/46592-46847.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular46592-46847
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/46848-47103.pbf b/public/glyphs/Roboto Regular/46848-47103.pbf
new file mode 100644
index 0000000..6b9209b
--- /dev/null
+++ b/public/glyphs/Roboto Regular/46848-47103.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular46848-47103
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/47104-47359.pbf b/public/glyphs/Roboto Regular/47104-47359.pbf
new file mode 100644
index 0000000..0ebb209
--- /dev/null
+++ b/public/glyphs/Roboto Regular/47104-47359.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular47104-47359
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/47360-47615.pbf b/public/glyphs/Roboto Regular/47360-47615.pbf
new file mode 100644
index 0000000..0eab92c
--- /dev/null
+++ b/public/glyphs/Roboto Regular/47360-47615.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular47360-47615
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/47616-47871.pbf b/public/glyphs/Roboto Regular/47616-47871.pbf
new file mode 100644
index 0000000..43d6e0c
--- /dev/null
+++ b/public/glyphs/Roboto Regular/47616-47871.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular47616-47871
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/47872-48127.pbf b/public/glyphs/Roboto Regular/47872-48127.pbf
new file mode 100644
index 0000000..5b5de9a
--- /dev/null
+++ b/public/glyphs/Roboto Regular/47872-48127.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular47872-48127
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/48128-48383.pbf b/public/glyphs/Roboto Regular/48128-48383.pbf
new file mode 100644
index 0000000..d151296
--- /dev/null
+++ b/public/glyphs/Roboto Regular/48128-48383.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular48128-48383
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/48384-48639.pbf b/public/glyphs/Roboto Regular/48384-48639.pbf
new file mode 100644
index 0000000..6ee8193
--- /dev/null
+++ b/public/glyphs/Roboto Regular/48384-48639.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular48384-48639
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/4864-5119.pbf b/public/glyphs/Roboto Regular/4864-5119.pbf
new file mode 100644
index 0000000..985bcb3
--- /dev/null
+++ b/public/glyphs/Roboto Regular/4864-5119.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular 4864-5119
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/48640-48895.pbf b/public/glyphs/Roboto Regular/48640-48895.pbf
new file mode 100644
index 0000000..756aea4
--- /dev/null
+++ b/public/glyphs/Roboto Regular/48640-48895.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular48640-48895
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/48896-49151.pbf b/public/glyphs/Roboto Regular/48896-49151.pbf
new file mode 100644
index 0000000..08fd70d
--- /dev/null
+++ b/public/glyphs/Roboto Regular/48896-49151.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular48896-49151
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/49152-49407.pbf b/public/glyphs/Roboto Regular/49152-49407.pbf
new file mode 100644
index 0000000..ff8a445
--- /dev/null
+++ b/public/glyphs/Roboto Regular/49152-49407.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular49152-49407
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/49408-49663.pbf b/public/glyphs/Roboto Regular/49408-49663.pbf
new file mode 100644
index 0000000..dff6ac5
--- /dev/null
+++ b/public/glyphs/Roboto Regular/49408-49663.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular49408-49663
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/49664-49919.pbf b/public/glyphs/Roboto Regular/49664-49919.pbf
new file mode 100644
index 0000000..0653ef7
--- /dev/null
+++ b/public/glyphs/Roboto Regular/49664-49919.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular49664-49919
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/49920-50175.pbf b/public/glyphs/Roboto Regular/49920-50175.pbf
new file mode 100644
index 0000000..5abf41c
--- /dev/null
+++ b/public/glyphs/Roboto Regular/49920-50175.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular49920-50175
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/50176-50431.pbf b/public/glyphs/Roboto Regular/50176-50431.pbf
new file mode 100644
index 0000000..6a7e7ed
--- /dev/null
+++ b/public/glyphs/Roboto Regular/50176-50431.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular50176-50431
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/50432-50687.pbf b/public/glyphs/Roboto Regular/50432-50687.pbf
new file mode 100644
index 0000000..10e3e5f
--- /dev/null
+++ b/public/glyphs/Roboto Regular/50432-50687.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular50432-50687
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/50688-50943.pbf b/public/glyphs/Roboto Regular/50688-50943.pbf
new file mode 100644
index 0000000..dc9b4c1
--- /dev/null
+++ b/public/glyphs/Roboto Regular/50688-50943.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular50688-50943
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/50944-51199.pbf b/public/glyphs/Roboto Regular/50944-51199.pbf
new file mode 100644
index 0000000..689a16d
--- /dev/null
+++ b/public/glyphs/Roboto Regular/50944-51199.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular50944-51199
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/512-767.pbf b/public/glyphs/Roboto Regular/512-767.pbf
new file mode 100644
index 0000000..801f2d4
Binary files /dev/null and b/public/glyphs/Roboto Regular/512-767.pbf differ
diff --git a/public/glyphs/Roboto Regular/5120-5375.pbf b/public/glyphs/Roboto Regular/5120-5375.pbf
new file mode 100644
index 0000000..1b2454d
--- /dev/null
+++ b/public/glyphs/Roboto Regular/5120-5375.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular 5120-5375
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/51200-51455.pbf b/public/glyphs/Roboto Regular/51200-51455.pbf
new file mode 100644
index 0000000..6fd7f85
--- /dev/null
+++ b/public/glyphs/Roboto Regular/51200-51455.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular51200-51455
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/51456-51711.pbf b/public/glyphs/Roboto Regular/51456-51711.pbf
new file mode 100644
index 0000000..0c2fd4b
--- /dev/null
+++ b/public/glyphs/Roboto Regular/51456-51711.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular51456-51711
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/51712-51967.pbf b/public/glyphs/Roboto Regular/51712-51967.pbf
new file mode 100644
index 0000000..128b56f
--- /dev/null
+++ b/public/glyphs/Roboto Regular/51712-51967.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular51712-51967
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/51968-52223.pbf b/public/glyphs/Roboto Regular/51968-52223.pbf
new file mode 100644
index 0000000..89a96da
--- /dev/null
+++ b/public/glyphs/Roboto Regular/51968-52223.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular51968-52223
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/52224-52479.pbf b/public/glyphs/Roboto Regular/52224-52479.pbf
new file mode 100644
index 0000000..9b6d4b0
--- /dev/null
+++ b/public/glyphs/Roboto Regular/52224-52479.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular52224-52479
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/52480-52735.pbf b/public/glyphs/Roboto Regular/52480-52735.pbf
new file mode 100644
index 0000000..e21ee17
--- /dev/null
+++ b/public/glyphs/Roboto Regular/52480-52735.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular52480-52735
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/52736-52991.pbf b/public/glyphs/Roboto Regular/52736-52991.pbf
new file mode 100644
index 0000000..10d50e5
--- /dev/null
+++ b/public/glyphs/Roboto Regular/52736-52991.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular52736-52991
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/52992-53247.pbf b/public/glyphs/Roboto Regular/52992-53247.pbf
new file mode 100644
index 0000000..4616c4d
--- /dev/null
+++ b/public/glyphs/Roboto Regular/52992-53247.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular52992-53247
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/53248-53503.pbf b/public/glyphs/Roboto Regular/53248-53503.pbf
new file mode 100644
index 0000000..da59e46
--- /dev/null
+++ b/public/glyphs/Roboto Regular/53248-53503.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular53248-53503
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/53504-53759.pbf b/public/glyphs/Roboto Regular/53504-53759.pbf
new file mode 100644
index 0000000..7599038
--- /dev/null
+++ b/public/glyphs/Roboto Regular/53504-53759.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular53504-53759
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/5376-5631.pbf b/public/glyphs/Roboto Regular/5376-5631.pbf
new file mode 100644
index 0000000..266b18d
--- /dev/null
+++ b/public/glyphs/Roboto Regular/5376-5631.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular 5376-5631
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/53760-54015.pbf b/public/glyphs/Roboto Regular/53760-54015.pbf
new file mode 100644
index 0000000..281f6b6
--- /dev/null
+++ b/public/glyphs/Roboto Regular/53760-54015.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular53760-54015
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/54016-54271.pbf b/public/glyphs/Roboto Regular/54016-54271.pbf
new file mode 100644
index 0000000..ee7e816
--- /dev/null
+++ b/public/glyphs/Roboto Regular/54016-54271.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular54016-54271
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/54272-54527.pbf b/public/glyphs/Roboto Regular/54272-54527.pbf
new file mode 100644
index 0000000..463e7c9
--- /dev/null
+++ b/public/glyphs/Roboto Regular/54272-54527.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular54272-54527
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/54528-54783.pbf b/public/glyphs/Roboto Regular/54528-54783.pbf
new file mode 100644
index 0000000..0ddc648
--- /dev/null
+++ b/public/glyphs/Roboto Regular/54528-54783.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular54528-54783
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/54784-55039.pbf b/public/glyphs/Roboto Regular/54784-55039.pbf
new file mode 100644
index 0000000..b0f46d2
--- /dev/null
+++ b/public/glyphs/Roboto Regular/54784-55039.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular54784-55039
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/55040-55295.pbf b/public/glyphs/Roboto Regular/55040-55295.pbf
new file mode 100644
index 0000000..5883786
--- /dev/null
+++ b/public/glyphs/Roboto Regular/55040-55295.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular55040-55295
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/55296-55551.pbf b/public/glyphs/Roboto Regular/55296-55551.pbf
new file mode 100644
index 0000000..6cc9097
--- /dev/null
+++ b/public/glyphs/Roboto Regular/55296-55551.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular55296-55551
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/55552-55807.pbf b/public/glyphs/Roboto Regular/55552-55807.pbf
new file mode 100644
index 0000000..7a9bc25
--- /dev/null
+++ b/public/glyphs/Roboto Regular/55552-55807.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular55552-55807
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/55808-56063.pbf b/public/glyphs/Roboto Regular/55808-56063.pbf
new file mode 100644
index 0000000..21fceb7
--- /dev/null
+++ b/public/glyphs/Roboto Regular/55808-56063.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular55808-56063
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/56064-56319.pbf b/public/glyphs/Roboto Regular/56064-56319.pbf
new file mode 100644
index 0000000..5ef6235
--- /dev/null
+++ b/public/glyphs/Roboto Regular/56064-56319.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular56064-56319
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/5632-5887.pbf b/public/glyphs/Roboto Regular/5632-5887.pbf
new file mode 100644
index 0000000..c1bf61c
--- /dev/null
+++ b/public/glyphs/Roboto Regular/5632-5887.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular 5632-5887
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/56320-56575.pbf b/public/glyphs/Roboto Regular/56320-56575.pbf
new file mode 100644
index 0000000..ca0c9a5
--- /dev/null
+++ b/public/glyphs/Roboto Regular/56320-56575.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular56320-56575
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/56576-56831.pbf b/public/glyphs/Roboto Regular/56576-56831.pbf
new file mode 100644
index 0000000..c0c381e
--- /dev/null
+++ b/public/glyphs/Roboto Regular/56576-56831.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular56576-56831
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/56832-57087.pbf b/public/glyphs/Roboto Regular/56832-57087.pbf
new file mode 100644
index 0000000..8b4ce13
--- /dev/null
+++ b/public/glyphs/Roboto Regular/56832-57087.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular56832-57087
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/57088-57343.pbf b/public/glyphs/Roboto Regular/57088-57343.pbf
new file mode 100644
index 0000000..9c7f012
--- /dev/null
+++ b/public/glyphs/Roboto Regular/57088-57343.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular57088-57343
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/57344-57599.pbf b/public/glyphs/Roboto Regular/57344-57599.pbf
new file mode 100644
index 0000000..a9651f8
--- /dev/null
+++ b/public/glyphs/Roboto Regular/57344-57599.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular57344-57599
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/57600-57855.pbf b/public/glyphs/Roboto Regular/57600-57855.pbf
new file mode 100644
index 0000000..c239763
--- /dev/null
+++ b/public/glyphs/Roboto Regular/57600-57855.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular57600-57855
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/57856-58111.pbf b/public/glyphs/Roboto Regular/57856-58111.pbf
new file mode 100644
index 0000000..3d44af8
--- /dev/null
+++ b/public/glyphs/Roboto Regular/57856-58111.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular57856-58111
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/58112-58367.pbf b/public/glyphs/Roboto Regular/58112-58367.pbf
new file mode 100644
index 0000000..65f7838
--- /dev/null
+++ b/public/glyphs/Roboto Regular/58112-58367.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular58112-58367
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/58368-58623.pbf b/public/glyphs/Roboto Regular/58368-58623.pbf
new file mode 100644
index 0000000..77daa30
--- /dev/null
+++ b/public/glyphs/Roboto Regular/58368-58623.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular58368-58623
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/58624-58879.pbf b/public/glyphs/Roboto Regular/58624-58879.pbf
new file mode 100644
index 0000000..7261e22
--- /dev/null
+++ b/public/glyphs/Roboto Regular/58624-58879.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular58624-58879
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/5888-6143.pbf b/public/glyphs/Roboto Regular/5888-6143.pbf
new file mode 100644
index 0000000..22a3584
--- /dev/null
+++ b/public/glyphs/Roboto Regular/5888-6143.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular 5888-6143
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/58880-59135.pbf b/public/glyphs/Roboto Regular/58880-59135.pbf
new file mode 100644
index 0000000..7bf56be
--- /dev/null
+++ b/public/glyphs/Roboto Regular/58880-59135.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular58880-59135
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/59136-59391.pbf b/public/glyphs/Roboto Regular/59136-59391.pbf
new file mode 100644
index 0000000..6d6cd6f
--- /dev/null
+++ b/public/glyphs/Roboto Regular/59136-59391.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular59136-59391
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/59392-59647.pbf b/public/glyphs/Roboto Regular/59392-59647.pbf
new file mode 100644
index 0000000..00a67ec
--- /dev/null
+++ b/public/glyphs/Roboto Regular/59392-59647.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular59392-59647
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/59648-59903.pbf b/public/glyphs/Roboto Regular/59648-59903.pbf
new file mode 100644
index 0000000..0c2f300
--- /dev/null
+++ b/public/glyphs/Roboto Regular/59648-59903.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular59648-59903
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/59904-60159.pbf b/public/glyphs/Roboto Regular/59904-60159.pbf
new file mode 100644
index 0000000..6392c99
--- /dev/null
+++ b/public/glyphs/Roboto Regular/59904-60159.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular59904-60159
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/60160-60415.pbf b/public/glyphs/Roboto Regular/60160-60415.pbf
new file mode 100644
index 0000000..45c3c99
--- /dev/null
+++ b/public/glyphs/Roboto Regular/60160-60415.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular60160-60415
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/60416-60671.pbf b/public/glyphs/Roboto Regular/60416-60671.pbf
new file mode 100644
index 0000000..dc26782
--- /dev/null
+++ b/public/glyphs/Roboto Regular/60416-60671.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular60416-60671
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/60672-60927.pbf b/public/glyphs/Roboto Regular/60672-60927.pbf
new file mode 100644
index 0000000..f9ab433
--- /dev/null
+++ b/public/glyphs/Roboto Regular/60672-60927.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular60672-60927
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/60928-61183.pbf b/public/glyphs/Roboto Regular/60928-61183.pbf
new file mode 100644
index 0000000..85919b5
--- /dev/null
+++ b/public/glyphs/Roboto Regular/60928-61183.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular60928-61183 (08Pdu||ueQc}~drtyغ{wиynp^vw_I\krrl\J/@MRRMA08IW]]WJ8Pdu||ueQc}~drtyغ{wиynp^vw_I\krrl\J (08AUbeeddeeaS>UnkRb}_fŭ¢bfͭ¢bfͭ¢bfͭ¢bfͭ¢bf¢ba|^Sk}|iP>R_bb`abb^P<
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/61184-61439.pbf b/public/glyphs/Roboto Regular/61184-61439.pbf
new file mode 100644
index 0000000..531158e
--- /dev/null
+++ b/public/glyphs/Roboto Regular/61184-61439.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular61184-61439
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/6144-6399.pbf b/public/glyphs/Roboto Regular/6144-6399.pbf
new file mode 100644
index 0000000..23fe130
--- /dev/null
+++ b/public/glyphs/Roboto Regular/6144-6399.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular 6144-6399
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/61440-61695.pbf b/public/glyphs/Roboto Regular/61440-61695.pbf
new file mode 100644
index 0000000..9dc4e0f
--- /dev/null
+++ b/public/glyphs/Roboto Regular/61440-61695.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular61440-61695
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/61696-61951.pbf b/public/glyphs/Roboto Regular/61696-61951.pbf
new file mode 100644
index 0000000..b698bf8
--- /dev/null
+++ b/public/glyphs/Roboto Regular/61696-61951.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular61696-61951
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/61952-62207.pbf b/public/glyphs/Roboto Regular/61952-62207.pbf
new file mode 100644
index 0000000..e066b23
--- /dev/null
+++ b/public/glyphs/Roboto Regular/61952-62207.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular61952-62207
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/62208-62463.pbf b/public/glyphs/Roboto Regular/62208-62463.pbf
new file mode 100644
index 0000000..10c5997
--- /dev/null
+++ b/public/glyphs/Roboto Regular/62208-62463.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular62208-62463
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/62464-62719.pbf b/public/glyphs/Roboto Regular/62464-62719.pbf
new file mode 100644
index 0000000..ed03592
--- /dev/null
+++ b/public/glyphs/Roboto Regular/62464-62719.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular62464-62719
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/62720-62975.pbf b/public/glyphs/Roboto Regular/62720-62975.pbf
new file mode 100644
index 0000000..38a1df9
--- /dev/null
+++ b/public/glyphs/Roboto Regular/62720-62975.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular62720-62975
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/62976-63231.pbf b/public/glyphs/Roboto Regular/62976-63231.pbf
new file mode 100644
index 0000000..782307e
--- /dev/null
+++ b/public/glyphs/Roboto Regular/62976-63231.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular62976-63231s (0+8c3K]hiih]JD`xw_OnmQqɰpTsίo`}ȪlkؼclĬuXa{eINbtiR96HZhldS<%
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/63232-63487.pbf b/public/glyphs/Roboto Regular/63232-63487.pbf
new file mode 100644
index 0000000..3b1c656
--- /dev/null
+++ b/public/glyphs/Roboto Regular/63232-63487.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular63232-63487
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/63488-63743.pbf b/public/glyphs/Roboto Regular/63488-63743.pbf
new file mode 100644
index 0000000..b224bc6
--- /dev/null
+++ b/public/glyphs/Roboto Regular/63488-63743.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular63488-63743
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/63744-63999.pbf b/public/glyphs/Roboto Regular/63744-63999.pbf
new file mode 100644
index 0000000..88fd2d6
--- /dev/null
+++ b/public/glyphs/Roboto Regular/63744-63999.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular63744-63999
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/6400-6655.pbf b/public/glyphs/Roboto Regular/6400-6655.pbf
new file mode 100644
index 0000000..8be5011
--- /dev/null
+++ b/public/glyphs/Roboto Regular/6400-6655.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular 6400-6655
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/64000-64255.pbf b/public/glyphs/Roboto Regular/64000-64255.pbf
new file mode 100644
index 0000000..8583e28
--- /dev/null
+++ b/public/glyphs/Roboto Regular/64000-64255.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular64000-64255
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/64256-64511.pbf b/public/glyphs/Roboto Regular/64256-64511.pbf
new file mode 100644
index 0000000..6e4d184
Binary files /dev/null and b/public/glyphs/Roboto Regular/64256-64511.pbf differ
diff --git a/public/glyphs/Roboto Regular/64512-64767.pbf b/public/glyphs/Roboto Regular/64512-64767.pbf
new file mode 100644
index 0000000..43d2357
--- /dev/null
+++ b/public/glyphs/Roboto Regular/64512-64767.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular64512-64767
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/64768-65023.pbf b/public/glyphs/Roboto Regular/64768-65023.pbf
new file mode 100644
index 0000000..369eda3
--- /dev/null
+++ b/public/glyphs/Roboto Regular/64768-65023.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular64768-65023
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/65024-65279.pbf b/public/glyphs/Roboto Regular/65024-65279.pbf
new file mode 100644
index 0000000..1eb753d
Binary files /dev/null and b/public/glyphs/Roboto Regular/65024-65279.pbf differ
diff --git a/public/glyphs/Roboto Regular/65280-65535.pbf b/public/glyphs/Roboto Regular/65280-65535.pbf
new file mode 100644
index 0000000..efd145e
Binary files /dev/null and b/public/glyphs/Roboto Regular/65280-65535.pbf differ
diff --git a/public/glyphs/Roboto Regular/6656-6911.pbf b/public/glyphs/Roboto Regular/6656-6911.pbf
new file mode 100644
index 0000000..9202d97
--- /dev/null
+++ b/public/glyphs/Roboto Regular/6656-6911.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular 6656-6911
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/6912-7167.pbf b/public/glyphs/Roboto Regular/6912-7167.pbf
new file mode 100644
index 0000000..1b33ff6
--- /dev/null
+++ b/public/glyphs/Roboto Regular/6912-7167.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular 6912-7167
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/7168-7423.pbf b/public/glyphs/Roboto Regular/7168-7423.pbf
new file mode 100644
index 0000000..c189971
--- /dev/null
+++ b/public/glyphs/Roboto Regular/7168-7423.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular 7168-7423
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/7424-7679.pbf b/public/glyphs/Roboto Regular/7424-7679.pbf
new file mode 100644
index 0000000..c050152
--- /dev/null
+++ b/public/glyphs/Roboto Regular/7424-7679.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular 7424-7679
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/768-1023.pbf b/public/glyphs/Roboto Regular/768-1023.pbf
new file mode 100644
index 0000000..3a2f773
Binary files /dev/null and b/public/glyphs/Roboto Regular/768-1023.pbf differ
diff --git a/public/glyphs/Roboto Regular/7680-7935.pbf b/public/glyphs/Roboto Regular/7680-7935.pbf
new file mode 100644
index 0000000..5bb4830
Binary files /dev/null and b/public/glyphs/Roboto Regular/7680-7935.pbf differ
diff --git a/public/glyphs/Roboto Regular/7936-8191.pbf b/public/glyphs/Roboto Regular/7936-8191.pbf
new file mode 100644
index 0000000..bf4613d
Binary files /dev/null and b/public/glyphs/Roboto Regular/7936-8191.pbf differ
diff --git a/public/glyphs/Roboto Regular/8192-8447.pbf b/public/glyphs/Roboto Regular/8192-8447.pbf
new file mode 100644
index 0000000..58bc235
Binary files /dev/null and b/public/glyphs/Roboto Regular/8192-8447.pbf differ
diff --git a/public/glyphs/Roboto Regular/8448-8703.pbf b/public/glyphs/Roboto Regular/8448-8703.pbf
new file mode 100644
index 0000000..6a842b0
Binary files /dev/null and b/public/glyphs/Roboto Regular/8448-8703.pbf differ
diff --git a/public/glyphs/Roboto Regular/8704-8959.pbf b/public/glyphs/Roboto Regular/8704-8959.pbf
new file mode 100644
index 0000000..473bfd3
Binary files /dev/null and b/public/glyphs/Roboto Regular/8704-8959.pbf differ
diff --git a/public/glyphs/Roboto Regular/8960-9215.pbf b/public/glyphs/Roboto Regular/8960-9215.pbf
new file mode 100644
index 0000000..44d4ce7
--- /dev/null
+++ b/public/glyphs/Roboto Regular/8960-9215.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular 8960-9215
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/9216-9471.pbf b/public/glyphs/Roboto Regular/9216-9471.pbf
new file mode 100644
index 0000000..d1e969d
--- /dev/null
+++ b/public/glyphs/Roboto Regular/9216-9471.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular 9216-9471
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/9472-9727.pbf b/public/glyphs/Roboto Regular/9472-9727.pbf
new file mode 100644
index 0000000..3b49c50
Binary files /dev/null and b/public/glyphs/Roboto Regular/9472-9727.pbf differ
diff --git a/public/glyphs/Roboto Regular/9728-9983.pbf b/public/glyphs/Roboto Regular/9728-9983.pbf
new file mode 100644
index 0000000..7624e45
--- /dev/null
+++ b/public/glyphs/Roboto Regular/9728-9983.pbf
@@ -0,0 +1,3 @@
+
+
+Roboto Regular 9728-9983
\ No newline at end of file
diff --git a/public/glyphs/Roboto Regular/9984-10239.pbf b/public/glyphs/Roboto Regular/9984-10239.pbf
new file mode 100644
index 0000000..7bba7e0
--- /dev/null
+++ b/public/glyphs/Roboto Regular/9984-10239.pbf
@@ -0,0 +1,4 @@
+
+
+Roboto Regular
+9984-10239
\ No newline at end of file
diff --git a/public/styles/black.json b/public/styles/black.json
new file mode 100644
index 0000000..8ea81b6
--- /dev/null
+++ b/public/styles/black.json
@@ -0,0 +1,1990 @@
+{
+ "version": 8,
+ "name": "Black",
+ "id": "Black",
+
+ "sources": {
+ "protomaps": {
+ "type": "vector",
+ "url": "pmtiles://data/pmtiles/prince-edward-island.pmtiles",
+ "attribution": "Protomaps © OpenStreetMap"
+ }
+ },
+
+ "glyphs": "/glyphs/{fontstack}/{range}.pbf",
+
+ "layers": [
+ {
+ "id": "background",
+ "type": "background",
+ "paint": {
+ "background-color": "#2b2b2b"
+ }
+ },
+ {
+ "id": "earth",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "earth",
+ "paint": {
+ "fill-color": "#141414"
+ }
+ },
+ {
+ "id": "landuse_park",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": [
+ "any",
+ [
+ "in",
+ "pmap:kind",
+ "national_park",
+ "park",
+ "cemetery",
+ "protected_area",
+ "nature_reserve",
+ "forest",
+ "golf_course"
+ ]
+ ],
+ "paint": {
+ "fill-color": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ "#181818",
+ 12,
+ "#181818"
+ ]
+ }
+ },
+ {
+ "id": "landuse_hospital",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["==", "pmap:kind", "hospital"]],
+ "paint": {
+ "fill-color": "#1d1d1d"
+ }
+ },
+ {
+ "id": "landuse_industrial",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["==", "pmap:kind", "industrial"]],
+ "paint": {
+ "fill-color": "#101010"
+ }
+ },
+ {
+ "id": "landuse_school",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["in", "pmap:kind", "school", "university", "college"]],
+ "paint": {
+ "fill-color": "#111111"
+ }
+ },
+ {
+ "id": "landuse_beach",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["in", "pmap:kind", "beach"]],
+ "paint": {
+ "fill-color": "#1f1f1f"
+ }
+ },
+ {
+ "id": "landuse_zoo",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["in", "pmap:kind", "zoo"]],
+ "paint": {
+ "fill-color": "#191919"
+ }
+ },
+ {
+ "id": "landuse_military",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": [
+ "any",
+ ["in", "pmap:kind", "military", "naval_base", "airfield"]
+ ],
+ "paint": {
+ "fill-color": "#191919"
+ }
+ },
+ {
+ "id": "natural_wood",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "natural",
+ "filter": [
+ "any",
+ ["in", "pmap:kind", "wood", "nature_reserve", "forest"]
+ ],
+ "paint": {
+ "fill-color": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ "#1a1a1a",
+ 12,
+ "#1a1a1a"
+ ]
+ }
+ },
+ {
+ "id": "natural_scrub",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "natural",
+ "filter": ["in", "pmap:kind", "scrub", "grassland", "grass"],
+ "paint": {
+ "fill-color": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ "#1c1c1c",
+ 12,
+ "#1c1c1c"
+ ]
+ }
+ },
+ {
+ "id": "natural_glacier",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "natural",
+ "filter": ["==", "pmap:kind", "glacier"],
+ "paint": {
+ "fill-color": "#191919"
+ }
+ },
+ {
+ "id": "natural_sand",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "natural",
+ "filter": ["==", "pmap:kind", "sand"],
+ "paint": {
+ "fill-color": "#161616"
+ }
+ },
+ {
+ "id": "landuse_aerodrome",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["in", "pmap:kind", "aerodrome"]],
+ "paint": {
+ "fill-color": "#191919"
+ }
+ },
+ {
+ "id": "transit_runway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "transit",
+ "filter": ["any", ["in", "pmap:kind_detail", "runway"]],
+ "paint": {
+ "line-color": "#323232",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 10,
+ 0,
+ 12,
+ 4,
+ 18,
+ 30
+ ]
+ }
+ },
+ {
+ "id": "transit_taxiway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "transit",
+ "minzoom": 13,
+ "filter": ["any", ["in", "pmap:kind_detail", "taxiway"]],
+ "paint": {
+ "line-color": "#323232",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 15,
+ 6
+ ]
+ }
+ },
+ {
+ "id": "water",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "water",
+ "paint": {
+ "fill-color": "#333333"
+ }
+ },
+ {
+ "id": "physical_line_stream",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "physical_line",
+ "minzoom": 14,
+ "filter": ["all", ["in", "pmap:kind", "stream"]],
+ "paint": {
+ "line-color": "#333333",
+ "line-width": 0.5
+ }
+ },
+ {
+ "id": "physical_line_river",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "physical_line",
+ "minzoom": 9,
+ "filter": ["all", ["in", "pmap:kind", "river"]],
+ "paint": {
+ "line-color": "#333333",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 9,
+ 0,
+ 9.5,
+ 1,
+ 18,
+ 12
+ ]
+ }
+ },
+ {
+ "id": "landuse_pedestrian",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["==", "pmap:kind", "pedestrian"]],
+ "paint": {
+ "fill-color": "#191919"
+ }
+ },
+ {
+ "id": "landuse_pier",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["==", "pmap:kind", "pier"]],
+ "paint": {
+ "fill-color": "#0a0a0a"
+ }
+ },
+ {
+ "id": "roads_tunnels_other_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["in", "pmap:kind", "other", "path"]
+ ],
+ "paint": {
+ "line-color": "#101010",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 14,
+ 0,
+ 20,
+ 7
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_minor_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"]
+ ],
+ "paint": {
+ "line-color": "#101010",
+ "line-dasharray": [3, 2],
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 12,
+ 0,
+ 12.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_link_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": ["all", ["<", "pmap:level", 0], ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#101010",
+ "line-dasharray": [3, 2],
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 12,
+ 0,
+ 12.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_medium_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#101010",
+ "line-dasharray": [3, 2],
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 0.5,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 10,
+ 0,
+ 10.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_major_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#101010",
+ "line-dasharray": [3, 2],
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 0.5,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 9,
+ 0,
+ 9.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_highway_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#101010",
+ "line-dasharray": [6, 0.5],
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 3.5,
+ 0.5,
+ 18,
+ 15
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 1,
+ 20,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_other",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["in", "pmap:kind", "other", "path"]
+ ],
+ "paint": {
+ "line-color": "#292929",
+ "line-dasharray": [4.5, 0.5],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 14,
+ 0,
+ 20,
+ 7
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_minor",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"]
+ ],
+ "paint": {
+ "line-color": "#292929",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_link",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": ["all", ["<", "pmap:level", 0], ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#292929",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_medium",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#292929",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 12,
+ 1.2,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_major",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#292929",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 6,
+ 0,
+ 12,
+ 1.6,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_highway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#292929",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 6,
+ 1.1,
+ 12,
+ 1.6,
+ 15,
+ 5,
+ 18,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "buildings",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "buildings",
+ "paint": {
+ "fill-color": "#0a0a0a",
+ "fill-opacity": 0.5
+ }
+ },
+ {
+ "id": "transit_pier",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "transit",
+ "filter": ["any", ["==", "pmap:kind", "pier"]],
+ "paint": {
+ "line-color": "#0a0a0a",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 12,
+ 0,
+ 12.5,
+ 0.5,
+ 20,
+ 16
+ ]
+ }
+ },
+ {
+ "id": "roads_minor_service_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 13,
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"],
+ ["==", "pmap:kind_detail", "service"]
+ ],
+ "paint": {
+ "line-color": "#141414",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 18,
+ 8
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 0.8
+ ]
+ }
+ },
+ {
+ "id": "roads_minor_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"],
+ ["!=", "pmap:kind_detail", "service"]
+ ],
+ "paint": {
+ "line-color": "#141414",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 12,
+ 0,
+ 12.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_link_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 13,
+ "filter": ["all", ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#141414",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1.5
+ ]
+ }
+ },
+ {
+ "id": "roads_medium_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#141414",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 12,
+ 1.2,
+ 15,
+ 3,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 10,
+ 0,
+ 10.5,
+ 1.5
+ ]
+ }
+ },
+ {
+ "id": "roads_major_casing_late",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#141414",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 6,
+ 0,
+ 12,
+ 1.6,
+ 15,
+ 3,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 9,
+ 0,
+ 9.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_highway_casing_late",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#141414",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 3.5,
+ 0.5,
+ 18,
+ 15
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 1,
+ 20,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "roads_other",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["in", "pmap:kind", "other", "path"]
+ ],
+ "paint": {
+ "line-color": "#1f1f1f",
+ "line-dasharray": [3, 1],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 14,
+ 0,
+ 20,
+ 7
+ ]
+ }
+ },
+ {
+ "id": "roads_link",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": ["all", ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#1f1f1f",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_minor_service",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"],
+ ["==", "pmap:kind_detail", "service"]
+ ],
+ "paint": {
+ "line-color": "#1f1f1f",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 18,
+ 8
+ ]
+ }
+ },
+ {
+ "id": "roads_minor",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"],
+ ["!=", "pmap:kind_detail", "service"]
+ ],
+ "paint": {
+ "line-color": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ "#292929",
+ 16,
+ "#1f1f1f"
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_medium",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#292929",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 12,
+ 1.2,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_major_casing_early",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "maxzoom": 12,
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#141414",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 0.5,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 9,
+ 0,
+ 9.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_major",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#292929",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 6,
+ 0,
+ 12,
+ 1.6,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_highway_casing_early",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "maxzoom": 12,
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#141414",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 3.5,
+ 0.5,
+ 18,
+ 15
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_highway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#292929",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 6,
+ 1.1,
+ 12,
+ 1.6,
+ 15,
+ 5,
+ 18,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "transit_railway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "transit",
+ "filter": ["all", ["==", "pmap:kind", "rail"]],
+ "paint": {
+ "line-dasharray": [0.3, 0.75],
+ "line-opacity": 0.5,
+ "line-color": "#292929",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 6,
+ 0.15,
+ 18,
+ 9
+ ]
+ }
+ },
+ {
+ "id": "boundaries_country",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "boundaries",
+ "filter": ["<=", "pmap:min_admin_level", 2],
+ "paint": {
+ "line-color": "#707070",
+ "line-width": 1,
+ "line-dasharray": [3, 2]
+ }
+ },
+ {
+ "id": "boundaries",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "boundaries",
+ "filter": [">", "pmap:min_admin_level", 2],
+ "paint": {
+ "line-color": "#707070",
+ "line-width": 0.5,
+ "line-dasharray": [3, 2]
+ }
+ },
+ {
+ "id": "roads_bridges_other_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["in", "pmap:kind", "other", "path"]
+ ],
+ "paint": {
+ "line-color": "#141414",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 14,
+ 0,
+ 20,
+ 7
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_link_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": ["all", [">", "pmap:level", 0], ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#141414",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 12,
+ 0,
+ 12.5,
+ 1.5
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_minor_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"]
+ ],
+ "paint": {
+ "line-color": "#141414",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 0.8
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_medium_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#141414",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 12,
+ 1.2,
+ 15,
+ 3,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 10,
+ 0,
+ 10.5,
+ 1.5
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_major_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#141414",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 0.5,
+ 18,
+ 10
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 9,
+ 0,
+ 9.5,
+ 1.5
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_other",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["in", "pmap:kind", "other", "path"]
+ ],
+ "paint": {
+ "line-color": "#1f1f1f",
+ "line-dasharray": [2, 1],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 14,
+ 0,
+ 20,
+ 7
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_minor",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"]
+ ],
+ "paint": {
+ "line-color": "#1f1f1f",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_link",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": ["all", [">", "pmap:level", 0], ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#1f1f1f",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_medium",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#292929",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 12,
+ 1.2,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_major",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#292929",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 6,
+ 0,
+ 12,
+ 1.6,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_highway_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#141414",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 3.5,
+ 0.5,
+ 18,
+ 15
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 1,
+ 20,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_highway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#292929",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 6,
+ 1.1,
+ 12,
+ 1.6,
+ 15,
+ 5,
+ 18,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "physical_line_waterway_label",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "physical_line",
+ "minzoom": 13,
+ "filter": ["all", ["in", "pmap:kind", "river", "stream"]],
+ "layout": {
+ "symbol-placement": "line",
+ "text-font": ["Roboto Regular"],
+ "text-field": ["get", "name"],
+ "text-size": 12,
+ "text-letter-spacing": 0.3
+ },
+ "paint": {
+ "text-color": "#707070"
+ }
+ },
+ {
+ "id": "physical_point_peak",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "physical_point",
+ "filter": ["any", ["==", "pmap:kind", "peak"]],
+ "layout": {
+ "text-font": ["Roboto Italic"],
+ "text-field": ["get", "name"],
+ "text-size": ["interpolate", ["linear"], ["zoom"], 10, 8, 16, 12],
+ "text-letter-spacing": 0.1,
+ "text-max-width": 9
+ },
+ "paint": {
+ "text-color": "#707070",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "roads_labels_minor",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 15,
+ "filter": ["any", ["in", "pmap:kind", "minor_road", "other", "path"]],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "symbol-placement": "line",
+ "text-font": ["Roboto Regular"],
+ "text-field": ["get", "name"],
+ "text-size": 12
+ },
+ "paint": {
+ "text-color": "#525252",
+ "text-halo-color": "#141414",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "physical_point_ocean",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "physical_point",
+ "filter": [
+ "any",
+ [
+ "in",
+ "pmap:kind",
+ "sea",
+ "ocean",
+ "lake",
+ "water",
+ "bay",
+ "strait",
+ "fjord"
+ ]
+ ],
+ "layout": {
+ "text-font": ["Roboto Medium"],
+ "text-field": ["get", "name"],
+ "text-size": ["interpolate", ["linear"], ["zoom"], 3, 10, 10, 12],
+ "text-letter-spacing": 0.1,
+ "text-max-width": 9,
+ "text-transform": "uppercase"
+ },
+ "paint": {
+ "text-color": "#707070"
+ }
+ },
+ {
+ "id": "physical_point_lakes",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "physical_point",
+ "filter": ["any", ["in", "pmap:kind", "lake", "water"]],
+ "layout": {
+ "text-font": ["Roboto Medium"],
+ "text-field": ["get", "name"],
+ "text-size": ["interpolate", ["linear"], ["zoom"], 3, 0, 6, 12, 10, 12],
+ "text-letter-spacing": 0.1,
+ "text-max-width": 9
+ },
+ "paint": {
+ "text-color": "#707070"
+ }
+ },
+ {
+ "id": "roads_labels_major",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 11,
+ "filter": [
+ "any",
+ ["in", "pmap:kind", "highway", "major_road", "medium_road"]
+ ],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "symbol-placement": "line",
+ "text-font": ["Roboto Regular"],
+ "text-field": ["get", "name"],
+ "text-size": 12
+ },
+ "paint": {
+ "text-color": "#5c5c5c",
+ "text-halo-color": "#141414",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "places_subplace",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "places",
+ "filter": ["==", "pmap:kind", "neighbourhood"],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "text-field": "{name}",
+ "text-font": ["Roboto Regular"],
+ "text-max-width": 7,
+ "text-letter-spacing": 0.1,
+ "text-padding": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 5,
+ 2,
+ 8,
+ 4,
+ 12,
+ 18,
+ 15,
+ 20
+ ],
+ "text-size": [
+ "interpolate",
+ ["exponential", 1.2],
+ ["zoom"],
+ 11,
+ 8,
+ 14,
+ 14,
+ 18,
+ 24
+ ],
+ "text-transform": "uppercase"
+ },
+ "paint": {
+ "text-color": "#5c5c5c",
+ "text-halo-color": "#141414",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "pois_important",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "pois",
+ "filter": ["any", ["<", ["get", "pmap:min_zoom"], 13]],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "text-font": ["Roboto Regular"],
+ "text-field": ["get", "name"],
+ "text-size": 11,
+ "text-max-width": 9,
+ "icon-padding": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ 2,
+ 14,
+ 2,
+ 16,
+ 20,
+ 17,
+ 2,
+ 22,
+ 2
+ ]
+ },
+ "paint": {
+ "text-color": "#5c5c5c",
+ "text-halo-color": "#141414",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "places_locality_circle",
+ "type": "circle",
+ "source": "protomaps",
+ "source-layer": "places",
+ "filter": ["==", "pmap:kind", "locality"],
+ "paint": {
+ "circle-radius": 2,
+ "circle-stroke-width": 1.5,
+ "circle-stroke-color": "#666666",
+ "circle-color": "#000000",
+ "circle-translate": [-6, 0]
+ },
+ "maxzoom": 8
+ },
+ {
+ "id": "places_locality",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "places",
+ "filter": ["==", "pmap:kind", "locality"],
+ "layout": {
+ "text-field": "{name}",
+ "text-font": [
+ "case",
+ ["<=", ["get", "pmap:min_zoom"], 5],
+ ["literal", ["Roboto Medium"]],
+ ["literal", ["Roboto Regular"]]
+ ],
+ "text-padding": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 5,
+ 3,
+ 8,
+ 7,
+ 12,
+ 11
+ ],
+ "text-size": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 2,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 13],
+ 8,
+ [">=", ["get", "pmap:population_rank"], 13],
+ 13,
+ 0
+ ],
+ 4,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 13],
+ 10,
+ [">=", ["get", "pmap:population_rank"], 13],
+ 15,
+ 0
+ ],
+ 6,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 12],
+ 11,
+ [">=", ["get", "pmap:population_rank"], 12],
+ 17,
+ 0
+ ],
+ 8,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 11],
+ 11,
+ [">=", ["get", "pmap:population_rank"], 11],
+ 18,
+ 0
+ ],
+ 10,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 9],
+ 12,
+ [">=", ["get", "pmap:population_rank"], 9],
+ 20,
+ 0
+ ],
+ 15,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 8],
+ 12,
+ [">=", ["get", "pmap:population_rank"], 8],
+ 22,
+ 0
+ ]
+ ],
+ "icon-padding": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ 2,
+ 8,
+ 4,
+ 10,
+ 8,
+ 12,
+ 6,
+ 22,
+ 2
+ ],
+ "text-anchor": ["step", ["zoom"], "left", 8, "center"],
+ "text-radial-offset": 0.2
+ },
+ "paint": {
+ "text-color": "#999999",
+ "text-halo-color": "#141414",
+ "text-halo-width": 1
+ }
+ },
+ {
+ "id": "places_region",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "places",
+ "filter": ["==", "pmap:kind", "region"],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "text-field": [
+ "step",
+ ["zoom"],
+ ["get", "name:short"],
+ 5,
+ ["get", "name"]
+ ],
+ "text-font": ["Roboto Regular"],
+ "text-size": ["interpolate", ["linear"], ["zoom"], 3, 11, 7, 24],
+ "text-radial-offset": 0.2,
+ "text-anchor": "center",
+ "text-transform": "uppercase"
+ },
+ "paint": {
+ "text-color": "#3d3d3d",
+ "text-halo-color": "#141414",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "places_country",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "places",
+ "filter": ["==", "pmap:kind", "country"],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "text-field": "{name}",
+ "text-font": ["Roboto Medium"],
+ "text-size": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 2,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 10],
+ 8,
+ [">=", ["get", "pmap:population_rank"], 10],
+ 12,
+ 0
+ ],
+ 6,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 8],
+ 10,
+ [">=", ["get", "pmap:population_rank"], 8],
+ 18,
+ 0
+ ],
+ 8,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 7],
+ 11,
+ [">=", ["get", "pmap:population_rank"], 7],
+ 20,
+ 0
+ ]
+ ],
+ "icon-padding": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ 2,
+ 14,
+ 2,
+ 16,
+ 20,
+ 17,
+ 2,
+ 22,
+ 2
+ ],
+ "text-transform": "uppercase"
+ },
+ "paint": {
+ "text-color": "#707070"
+ }
+ }
+ ]
+}
diff --git a/public/styles/contrast.json b/public/styles/contrast.json
new file mode 100644
index 0000000..95515dc
--- /dev/null
+++ b/public/styles/contrast.json
@@ -0,0 +1,1990 @@
+{
+ "version": 8,
+ "name": "Contrast",
+ "id": "contrast",
+
+ "sources": {
+ "protomaps": {
+ "type": "vector",
+ "url": "pmtiles://data/pmtiles/prince-edward-island.pmtiles",
+ "attribution": "Protomaps © OpenStreetMap"
+ }
+ },
+
+ "glyphs": "/glyphs/{fontstack}/{range}.pbf",
+
+ "layers": [
+ {
+ "id": "background",
+ "type": "background",
+ "paint": {
+ "background-color": "#dddddd"
+ }
+ },
+ {
+ "id": "earth",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "earth",
+ "paint": {
+ "fill-color": "#ededed"
+ }
+ },
+ {
+ "id": "landuse_park",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": [
+ "any",
+ [
+ "in",
+ "pmap:kind",
+ "national_park",
+ "park",
+ "cemetery",
+ "protected_area",
+ "nature_reserve",
+ "forest",
+ "golf_course"
+ ]
+ ],
+ "paint": {
+ "fill-color": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ "#bfc99c",
+ 12,
+ "#bfc99c"
+ ]
+ }
+ },
+ {
+ "id": "landuse_hospital",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["==", "pmap:kind", "hospital"]],
+ "paint": {
+ "fill-color": "#ffeae8"
+ }
+ },
+ {
+ "id": "landuse_industrial",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["==", "pmap:kind", "industrial"]],
+ "paint": {
+ "fill-color": "#f8ffed"
+ }
+ },
+ {
+ "id": "landuse_school",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["in", "pmap:kind", "school", "university", "college"]],
+ "paint": {
+ "fill-color": "#f2fef9"
+ }
+ },
+ {
+ "id": "landuse_beach",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["in", "pmap:kind", "beach"]],
+ "paint": {
+ "fill-color": "#ebe7da"
+ }
+ },
+ {
+ "id": "landuse_zoo",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["in", "pmap:kind", "zoo"]],
+ "paint": {
+ "fill-color": "#ebe6ed"
+ }
+ },
+ {
+ "id": "landuse_military",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": [
+ "any",
+ ["in", "pmap:kind", "military", "naval_base", "airfield"]
+ ],
+ "paint": {
+ "fill-color": "#ebe6ed"
+ }
+ },
+ {
+ "id": "natural_wood",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "natural",
+ "filter": [
+ "any",
+ ["in", "pmap:kind", "wood", "nature_reserve", "forest"]
+ ],
+ "paint": {
+ "fill-color": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ "#bfc99c",
+ 12,
+ "#bfc99c"
+ ]
+ }
+ },
+ {
+ "id": "natural_scrub",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "natural",
+ "filter": ["in", "pmap:kind", "scrub", "grassland", "grass"],
+ "paint": {
+ "fill-color": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ "#bfc99c",
+ 12,
+ "#bfc99c"
+ ]
+ }
+ },
+ {
+ "id": "natural_glacier",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "natural",
+ "filter": ["==", "pmap:kind", "glacier"],
+ "paint": {
+ "fill-color": "#ffffff"
+ }
+ },
+ {
+ "id": "natural_sand",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "natural",
+ "filter": ["==", "pmap:kind", "sand"],
+ "paint": {
+ "fill-color": "#ebe7da"
+ }
+ },
+ {
+ "id": "landuse_aerodrome",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["in", "pmap:kind", "aerodrome"]],
+ "paint": {
+ "fill-color": "#dbe7e7"
+ }
+ },
+ {
+ "id": "transit_runway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "transit",
+ "filter": ["any", ["in", "pmap:kind_detail", "runway"]],
+ "paint": {
+ "line-color": "#d1d9d9",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 10,
+ 0,
+ 12,
+ 4,
+ 18,
+ 30
+ ]
+ }
+ },
+ {
+ "id": "transit_taxiway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "transit",
+ "minzoom": 13,
+ "filter": ["any", ["in", "pmap:kind_detail", "taxiway"]],
+ "paint": {
+ "line-color": "#d1d9d9",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 15,
+ 6
+ ]
+ }
+ },
+ {
+ "id": "water",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "water",
+ "paint": {
+ "fill-color": "#84b7cf"
+ }
+ },
+ {
+ "id": "physical_line_stream",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "physical_line",
+ "minzoom": 14,
+ "filter": ["all", ["in", "pmap:kind", "stream"]],
+ "paint": {
+ "line-color": "#84b7cf",
+ "line-width": 0.5
+ }
+ },
+ {
+ "id": "physical_line_river",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "physical_line",
+ "minzoom": 9,
+ "filter": ["all", ["in", "pmap:kind", "river"]],
+ "paint": {
+ "line-color": "#84b7cf",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 9,
+ 0,
+ 9.5,
+ 1,
+ 18,
+ 12
+ ]
+ }
+ },
+ {
+ "id": "landuse_pedestrian",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["==", "pmap:kind", "pedestrian"]],
+ "paint": {
+ "fill-color": "#eef0f0"
+ }
+ },
+ {
+ "id": "landuse_pier",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["==", "pmap:kind", "pier"]],
+ "paint": {
+ "fill-color": "#ededed"
+ }
+ },
+ {
+ "id": "roads_tunnels_other_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["in", "pmap:kind", "other", "path"]
+ ],
+ "paint": {
+ "line-color": "#ffffff",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 14,
+ 0,
+ 20,
+ 7
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_minor_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"]
+ ],
+ "paint": {
+ "line-color": "#e2e2e2",
+ "line-dasharray": [3, 2],
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 12,
+ 0,
+ 12.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_link_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": ["all", ["<", "pmap:level", 0], ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#e2e2e2",
+ "line-dasharray": [3, 2],
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 12,
+ 0,
+ 12.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_medium_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#e1e1e1",
+ "line-dasharray": [3, 2],
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 0.5,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 10,
+ 0,
+ 10.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_major_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#e3cfd3",
+ "line-dasharray": [3, 2],
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 0.5,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 9,
+ 0,
+ 9.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_highway_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#ebcea2",
+ "line-dasharray": [6, 0.5],
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 3.5,
+ 0.5,
+ 18,
+ 15
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 1,
+ 20,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_other",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["in", "pmap:kind", "other", "path"]
+ ],
+ "paint": {
+ "line-color": "#f7f7f7",
+ "line-dasharray": [4.5, 0.5],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 14,
+ 0,
+ 20,
+ 7
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_minor",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"]
+ ],
+ "paint": {
+ "line-color": "#ebebeb",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_link",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": ["all", ["<", "pmap:level", 0], ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#ebebeb",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_medium",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#ebebeb",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 12,
+ 1.2,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_major",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#ebebeb",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 6,
+ 0,
+ 12,
+ 1.6,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_highway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#ebebeb",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 6,
+ 1.1,
+ 12,
+ 1.6,
+ 15,
+ 5,
+ 18,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "buildings",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "buildings",
+ "paint": {
+ "fill-color": "#cbcece",
+ "fill-opacity": 0.5
+ }
+ },
+ {
+ "id": "transit_pier",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "transit",
+ "filter": ["any", ["==", "pmap:kind", "pier"]],
+ "paint": {
+ "line-color": "#ededed",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 12,
+ 0,
+ 12.5,
+ 0.5,
+ 20,
+ 16
+ ]
+ }
+ },
+ {
+ "id": "roads_minor_service_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 13,
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"],
+ ["==", "pmap:kind_detail", "service"]
+ ],
+ "paint": {
+ "line-color": "#e2e2e2",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 18,
+ 8
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 0.8
+ ]
+ }
+ },
+ {
+ "id": "roads_minor_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"],
+ ["!=", "pmap:kind_detail", "service"]
+ ],
+ "paint": {
+ "line-color": "#e2e2e2",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 12,
+ 0,
+ 12.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_link_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 13,
+ "filter": ["all", ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#e2e2e2",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1.5
+ ]
+ }
+ },
+ {
+ "id": "roads_medium_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#e1e1e1",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 12,
+ 1.2,
+ 15,
+ 3,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 10,
+ 0,
+ 10.5,
+ 1.5
+ ]
+ }
+ },
+ {
+ "id": "roads_major_casing_late",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#e3cfd3",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 6,
+ 0,
+ 12,
+ 1.6,
+ 15,
+ 3,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 9,
+ 0,
+ 9.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_highway_casing_late",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#ebcea2",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 3.5,
+ 0.5,
+ 18,
+ 15
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 1,
+ 20,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "roads_other",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["in", "pmap:kind", "other", "path"]
+ ],
+ "paint": {
+ "line-color": "#ffffff",
+ "line-dasharray": [3, 1],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 14,
+ 0,
+ 20,
+ 7
+ ]
+ }
+ },
+ {
+ "id": "roads_link",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": ["all", ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#fff2bb",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_minor_service",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"],
+ ["==", "pmap:kind_detail", "service"]
+ ],
+ "paint": {
+ "line-color": "#ffffff",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 18,
+ 8
+ ]
+ }
+ },
+ {
+ "id": "roads_minor",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"],
+ ["!=", "pmap:kind_detail", "service"]
+ ],
+ "paint": {
+ "line-color": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ "#fff2bb",
+ 16,
+ "#fff2bb"
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_medium",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#ffea94",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 12,
+ 1.2,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_major_casing_early",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "maxzoom": 12,
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#e3cfd3",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 0.5,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 9,
+ 0,
+ 9.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_major",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#ffdf59",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 6,
+ 0,
+ 12,
+ 1.6,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_highway_casing_early",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "maxzoom": 12,
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#ebcea2",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 3.5,
+ 0.5,
+ 18,
+ 15
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_highway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#e9ac77",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 6,
+ 1.1,
+ 12,
+ 1.6,
+ 15,
+ 5,
+ 18,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "transit_railway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "transit",
+ "filter": ["all", ["==", "pmap:kind", "rail"]],
+ "paint": {
+ "line-dasharray": [0.3, 0.75],
+ "line-opacity": 0.5,
+ "line-color": "#b3bcc9",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 6,
+ 0.15,
+ 18,
+ 9
+ ]
+ }
+ },
+ {
+ "id": "boundaries_country",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "boundaries",
+ "filter": ["<=", "pmap:min_admin_level", 2],
+ "paint": {
+ "line-color": "#5c4a6b",
+ "line-width": 1,
+ "line-dasharray": [3, 2]
+ }
+ },
+ {
+ "id": "boundaries",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "boundaries",
+ "filter": [">", "pmap:min_admin_level", 2],
+ "paint": {
+ "line-color": "#5c4a6b",
+ "line-width": 0.5,
+ "line-dasharray": [3, 2]
+ }
+ },
+ {
+ "id": "roads_bridges_other_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["in", "pmap:kind", "other", "path"]
+ ],
+ "paint": {
+ "line-color": "#ffffff",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 14,
+ 0,
+ 20,
+ 7
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_link_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": ["all", [">", "pmap:level", 0], ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#e2e2e2",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 12,
+ 0,
+ 12.5,
+ 1.5
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_minor_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"]
+ ],
+ "paint": {
+ "line-color": "#e2e2e2",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 0.8
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_medium_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#e1e1e1",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 12,
+ 1.2,
+ 15,
+ 3,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 10,
+ 0,
+ 10.5,
+ 1.5
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_major_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#e3cfd3",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 0.5,
+ 18,
+ 10
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 9,
+ 0,
+ 9.5,
+ 1.5
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_other",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["in", "pmap:kind", "other", "path"]
+ ],
+ "paint": {
+ "line-color": "#ffffff",
+ "line-dasharray": [2, 1],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 14,
+ 0,
+ 20,
+ 7
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_minor",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"]
+ ],
+ "paint": {
+ "line-color": "#ffffff",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_link",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": ["all", [">", "pmap:level", 0], ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#ffffff",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_medium",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#ffffff",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 12,
+ 1.2,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_major",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#ffffff",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 6,
+ 0,
+ 12,
+ 1.6,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_highway_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#ebcea2",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 3.5,
+ 0.5,
+ 18,
+ 15
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 1,
+ 20,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_highway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#fefffc",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 6,
+ 1.1,
+ 12,
+ 1.6,
+ 15,
+ 5,
+ 18,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "physical_line_waterway_label",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "physical_line",
+ "minzoom": 13,
+ "filter": ["all", ["in", "pmap:kind", "river", "stream"]],
+ "layout": {
+ "symbol-placement": "line",
+ "text-font": ["Roboto Regular"],
+ "text-field": ["get", "name"],
+ "text-size": 12,
+ "text-letter-spacing": 0.3
+ },
+ "paint": {
+ "text-color": "#a4cae1"
+ }
+ },
+ {
+ "id": "physical_point_peak",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "physical_point",
+ "filter": ["any", ["==", "pmap:kind", "peak"]],
+ "layout": {
+ "text-font": ["Roboto Italic"],
+ "text-field": ["get", "name"],
+ "text-size": ["interpolate", ["linear"], ["zoom"], 10, 8, 16, 12],
+ "text-letter-spacing": 0.1,
+ "text-max-width": 9
+ },
+ "paint": {
+ "text-color": "#61bb5b",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "roads_labels_minor",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 15,
+ "filter": ["any", ["in", "pmap:kind", "minor_road", "other", "path"]],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "symbol-placement": "line",
+ "text-font": ["Roboto Regular"],
+ "text-field": ["get", "name"],
+ "text-size": 12
+ },
+ "paint": {
+ "text-color": "#91888b",
+ "text-halo-color": "#ffffff",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "physical_point_ocean",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "physical_point",
+ "filter": [
+ "any",
+ [
+ "in",
+ "pmap:kind",
+ "sea",
+ "ocean",
+ "lake",
+ "water",
+ "bay",
+ "strait",
+ "fjord"
+ ]
+ ],
+ "layout": {
+ "text-font": ["Roboto Medium"],
+ "text-field": ["get", "name"],
+ "text-size": ["interpolate", ["linear"], ["zoom"], 3, 10, 10, 12],
+ "text-letter-spacing": 0.1,
+ "text-max-width": 9,
+ "text-transform": "uppercase"
+ },
+ "paint": {
+ "text-color": "#ffffff"
+ }
+ },
+ {
+ "id": "physical_point_lakes",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "physical_point",
+ "filter": ["any", ["in", "pmap:kind", "lake", "water"]],
+ "layout": {
+ "text-font": ["Roboto Medium"],
+ "text-field": ["get", "name"],
+ "text-size": ["interpolate", ["linear"], ["zoom"], 3, 0, 6, 12, 10, 12],
+ "text-letter-spacing": 0.1,
+ "text-max-width": 9
+ },
+ "paint": {
+ "text-color": "#ffffff"
+ }
+ },
+ {
+ "id": "roads_labels_major",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 11,
+ "filter": [
+ "any",
+ ["in", "pmap:kind", "highway", "major_road", "medium_road"]
+ ],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "symbol-placement": "line",
+ "text-font": ["Roboto Regular"],
+ "text-field": ["get", "name"],
+ "text-size": 12
+ },
+ "paint": {
+ "text-color": "#91888b",
+ "text-halo-color": "#ffffff",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "places_subplace",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "places",
+ "filter": ["==", "pmap:kind", "neighbourhood"],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "text-field": "{name}",
+ "text-font": ["Roboto Regular"],
+ "text-max-width": 7,
+ "text-letter-spacing": 0.1,
+ "text-padding": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 5,
+ 2,
+ 8,
+ 4,
+ 12,
+ 18,
+ 15,
+ 20
+ ],
+ "text-size": [
+ "interpolate",
+ ["exponential", 1.2],
+ ["zoom"],
+ 11,
+ 8,
+ 14,
+ 14,
+ 18,
+ 24
+ ],
+ "text-transform": "uppercase"
+ },
+ "paint": {
+ "text-color": "#757d91",
+ "text-halo-color": "#ffffff",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "pois_important",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "pois",
+ "filter": ["any", ["<", ["get", "pmap:min_zoom"], 13]],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "text-font": ["Roboto Regular"],
+ "text-field": ["get", "name"],
+ "text-size": 11,
+ "text-max-width": 9,
+ "icon-padding": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ 2,
+ 14,
+ 2,
+ 16,
+ 20,
+ 17,
+ 2,
+ 22,
+ 2
+ ]
+ },
+ "paint": {
+ "text-color": "#757d91",
+ "text-halo-color": "#ffffff",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "places_locality_circle",
+ "type": "circle",
+ "source": "protomaps",
+ "source-layer": "places",
+ "filter": ["==", "pmap:kind", "locality"],
+ "paint": {
+ "circle-radius": 2,
+ "circle-stroke-width": 1.5,
+ "circle-stroke-color": "#ffffff",
+ "circle-color": "#666666",
+ "circle-translate": [-6, 0]
+ },
+ "maxzoom": 8
+ },
+ {
+ "id": "places_locality",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "places",
+ "filter": ["==", "pmap:kind", "locality"],
+ "layout": {
+ "text-field": "{name}",
+ "text-font": [
+ "case",
+ ["<=", ["get", "pmap:min_zoom"], 5],
+ ["literal", ["Roboto Medium"]],
+ ["literal", ["Roboto Regular"]]
+ ],
+ "text-padding": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 5,
+ 3,
+ 8,
+ 7,
+ 12,
+ 11
+ ],
+ "text-size": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 2,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 13],
+ 8,
+ [">=", ["get", "pmap:population_rank"], 13],
+ 13,
+ 0
+ ],
+ 4,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 13],
+ 10,
+ [">=", ["get", "pmap:population_rank"], 13],
+ 15,
+ 0
+ ],
+ 6,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 12],
+ 11,
+ [">=", ["get", "pmap:population_rank"], 12],
+ 17,
+ 0
+ ],
+ 8,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 11],
+ 11,
+ [">=", ["get", "pmap:population_rank"], 11],
+ 18,
+ 0
+ ],
+ 10,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 9],
+ 12,
+ [">=", ["get", "pmap:population_rank"], 9],
+ 20,
+ 0
+ ],
+ 15,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 8],
+ 12,
+ [">=", ["get", "pmap:population_rank"], 8],
+ 22,
+ 0
+ ]
+ ],
+ "icon-padding": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ 2,
+ 8,
+ 4,
+ 10,
+ 8,
+ 12,
+ 6,
+ 22,
+ 2
+ ],
+ "text-anchor": ["step", ["zoom"], "left", 8, "center"],
+ "text-radial-offset": 0.2
+ },
+ "paint": {
+ "text-color": "#3c3c3c",
+ "text-halo-color": "#ffffff",
+ "text-halo-width": 1
+ }
+ },
+ {
+ "id": "places_region",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "places",
+ "filter": ["==", "pmap:kind", "region"],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "text-field": [
+ "step",
+ ["zoom"],
+ ["get", "name:short"],
+ 5,
+ ["get", "name"]
+ ],
+ "text-font": ["Roboto Regular"],
+ "text-size": ["interpolate", ["linear"], ["zoom"], 3, 11, 7, 24],
+ "text-radial-offset": 0.2,
+ "text-anchor": "center",
+ "text-transform": "uppercase"
+ },
+ "paint": {
+ "text-color": "#777777",
+ "text-halo-color": "#ffffff",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "places_country",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "places",
+ "filter": ["==", "pmap:kind", "country"],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "text-field": "{name}",
+ "text-font": ["Roboto Medium"],
+ "text-size": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 2,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 10],
+ 8,
+ [">=", ["get", "pmap:population_rank"], 10],
+ 12,
+ 0
+ ],
+ 6,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 8],
+ 10,
+ [">=", ["get", "pmap:population_rank"], 8],
+ 18,
+ 0
+ ],
+ 8,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 7],
+ 11,
+ [">=", ["get", "pmap:population_rank"], 7],
+ 20,
+ 0
+ ]
+ ],
+ "icon-padding": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ 2,
+ 14,
+ 2,
+ 16,
+ 20,
+ 17,
+ 2,
+ 22,
+ 2
+ ],
+ "text-transform": "uppercase"
+ },
+ "paint": {
+ "text-color": "#9590aa"
+ }
+ }
+ ]
+}
diff --git a/public/styles/dark.json b/public/styles/dark.json
new file mode 100644
index 0000000..682c0ed
--- /dev/null
+++ b/public/styles/dark.json
@@ -0,0 +1,1990 @@
+{
+ "version": 8,
+ "name": "Dark",
+ "id": "dark",
+
+ "sources": {
+ "protomaps": {
+ "type": "vector",
+ "url": "pmtiles://data/pmtiles/prince-edward-island.pmtiles",
+ "attribution": "Protomaps © OpenStreetMap"
+ }
+ },
+
+ "glyphs": "/glyphs/{fontstack}/{range}.pbf",
+
+ "layers": [
+ {
+ "id": "background",
+ "type": "background",
+ "paint": {
+ "background-color": "#34373d"
+ }
+ },
+ {
+ "id": "earth",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "earth",
+ "paint": {
+ "fill-color": "#1f1f1f"
+ }
+ },
+ {
+ "id": "landuse_park",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": [
+ "any",
+ [
+ "in",
+ "pmap:kind",
+ "national_park",
+ "park",
+ "cemetery",
+ "protected_area",
+ "nature_reserve",
+ "forest",
+ "golf_course"
+ ]
+ ],
+ "paint": {
+ "fill-color": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ "#232325",
+ 12,
+ "#232325"
+ ]
+ }
+ },
+ {
+ "id": "landuse_hospital",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["==", "pmap:kind", "hospital"]],
+ "paint": {
+ "fill-color": "#252424"
+ }
+ },
+ {
+ "id": "landuse_industrial",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["==", "pmap:kind", "industrial"]],
+ "paint": {
+ "fill-color": "#222222"
+ }
+ },
+ {
+ "id": "landuse_school",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["in", "pmap:kind", "school", "university", "college"]],
+ "paint": {
+ "fill-color": "#262323"
+ }
+ },
+ {
+ "id": "landuse_beach",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["in", "pmap:kind", "beach"]],
+ "paint": {
+ "fill-color": "#28282a"
+ }
+ },
+ {
+ "id": "landuse_zoo",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["in", "pmap:kind", "zoo"]],
+ "paint": {
+ "fill-color": "#222323"
+ }
+ },
+ {
+ "id": "landuse_military",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": [
+ "any",
+ ["in", "pmap:kind", "military", "naval_base", "airfield"]
+ ],
+ "paint": {
+ "fill-color": "#222323"
+ }
+ },
+ {
+ "id": "natural_wood",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "natural",
+ "filter": [
+ "any",
+ ["in", "pmap:kind", "wood", "nature_reserve", "forest"]
+ ],
+ "paint": {
+ "fill-color": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ "#202121",
+ 12,
+ "#202121"
+ ]
+ }
+ },
+ {
+ "id": "natural_scrub",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "natural",
+ "filter": ["in", "pmap:kind", "scrub", "grassland", "grass"],
+ "paint": {
+ "fill-color": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ "#222323",
+ 12,
+ "#222323"
+ ]
+ }
+ },
+ {
+ "id": "natural_glacier",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "natural",
+ "filter": ["==", "pmap:kind", "glacier"],
+ "paint": {
+ "fill-color": "#1c1c1c"
+ }
+ },
+ {
+ "id": "natural_sand",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "natural",
+ "filter": ["==", "pmap:kind", "sand"],
+ "paint": {
+ "fill-color": "#212123"
+ }
+ },
+ {
+ "id": "landuse_aerodrome",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["in", "pmap:kind", "aerodrome"]],
+ "paint": {
+ "fill-color": "#1e1e1e"
+ }
+ },
+ {
+ "id": "transit_runway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "transit",
+ "filter": ["any", ["in", "pmap:kind_detail", "runway"]],
+ "paint": {
+ "line-color": "#333333",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 10,
+ 0,
+ 12,
+ 4,
+ 18,
+ 30
+ ]
+ }
+ },
+ {
+ "id": "transit_taxiway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "transit",
+ "minzoom": 13,
+ "filter": ["any", ["in", "pmap:kind_detail", "taxiway"]],
+ "paint": {
+ "line-color": "#333333",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 15,
+ 6
+ ]
+ }
+ },
+ {
+ "id": "water",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "water",
+ "paint": {
+ "fill-color": "#34373d"
+ }
+ },
+ {
+ "id": "physical_line_stream",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "physical_line",
+ "minzoom": 14,
+ "filter": ["all", ["in", "pmap:kind", "stream"]],
+ "paint": {
+ "line-color": "#34373d",
+ "line-width": 0.5
+ }
+ },
+ {
+ "id": "physical_line_river",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "physical_line",
+ "minzoom": 9,
+ "filter": ["all", ["in", "pmap:kind", "river"]],
+ "paint": {
+ "line-color": "#34373d",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 9,
+ 0,
+ 9.5,
+ 1,
+ 18,
+ 12
+ ]
+ }
+ },
+ {
+ "id": "landuse_pedestrian",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["==", "pmap:kind", "pedestrian"]],
+ "paint": {
+ "fill-color": "#1e1e1e"
+ }
+ },
+ {
+ "id": "landuse_pier",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["==", "pmap:kind", "pier"]],
+ "paint": {
+ "fill-color": "#222222"
+ }
+ },
+ {
+ "id": "roads_tunnels_other_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["in", "pmap:kind", "other", "path"]
+ ],
+ "paint": {
+ "line-color": "#141414",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 14,
+ 0,
+ 20,
+ 7
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_minor_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"]
+ ],
+ "paint": {
+ "line-color": "#141414",
+ "line-dasharray": [3, 2],
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 12,
+ 0,
+ 12.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_link_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": ["all", ["<", "pmap:level", 0], ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#141414",
+ "line-dasharray": [3, 2],
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 12,
+ 0,
+ 12.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_medium_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#141414",
+ "line-dasharray": [3, 2],
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 0.5,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 10,
+ 0,
+ 10.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_major_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#141414",
+ "line-dasharray": [3, 2],
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 0.5,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 9,
+ 0,
+ 9.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_highway_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#141414",
+ "line-dasharray": [6, 0.5],
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 3.5,
+ 0.5,
+ 18,
+ 15
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 1,
+ 20,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_other",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["in", "pmap:kind", "other", "path"]
+ ],
+ "paint": {
+ "line-color": "#292929",
+ "line-dasharray": [4.5, 0.5],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 14,
+ 0,
+ 20,
+ 7
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_minor",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"]
+ ],
+ "paint": {
+ "line-color": "#292929",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_link",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": ["all", ["<", "pmap:level", 0], ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#292929",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_medium",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#292929",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 12,
+ 1.2,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_major",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#292929",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 6,
+ 0,
+ 12,
+ 1.6,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_highway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#292929",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 6,
+ 1.1,
+ 12,
+ 1.6,
+ 15,
+ 5,
+ 18,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "buildings",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "buildings",
+ "paint": {
+ "fill-color": "#111111",
+ "fill-opacity": 0.5
+ }
+ },
+ {
+ "id": "transit_pier",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "transit",
+ "filter": ["any", ["==", "pmap:kind", "pier"]],
+ "paint": {
+ "line-color": "#333333",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 12,
+ 0,
+ 12.5,
+ 0.5,
+ 20,
+ 16
+ ]
+ }
+ },
+ {
+ "id": "roads_minor_service_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 13,
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"],
+ ["==", "pmap:kind_detail", "service"]
+ ],
+ "paint": {
+ "line-color": "#1f1f1f",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 18,
+ 8
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 0.8
+ ]
+ }
+ },
+ {
+ "id": "roads_minor_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"],
+ ["!=", "pmap:kind_detail", "service"]
+ ],
+ "paint": {
+ "line-color": "#1f1f1f",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 12,
+ 0,
+ 12.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_link_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 13,
+ "filter": ["all", ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#1f1f1f",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1.5
+ ]
+ }
+ },
+ {
+ "id": "roads_medium_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#1f1f1f",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 12,
+ 1.2,
+ 15,
+ 3,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 10,
+ 0,
+ 10.5,
+ 1.5
+ ]
+ }
+ },
+ {
+ "id": "roads_major_casing_late",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#1f1f1f",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 6,
+ 0,
+ 12,
+ 1.6,
+ 15,
+ 3,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 9,
+ 0,
+ 9.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_highway_casing_late",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#1f1f1f",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 3.5,
+ 0.5,
+ 18,
+ 15
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 1,
+ 20,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "roads_other",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["in", "pmap:kind", "other", "path"]
+ ],
+ "paint": {
+ "line-color": "#333333",
+ "line-dasharray": [3, 1],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 14,
+ 0,
+ 20,
+ 7
+ ]
+ }
+ },
+ {
+ "id": "roads_link",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": ["all", ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#3d3d3d",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_minor_service",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"],
+ ["==", "pmap:kind_detail", "service"]
+ ],
+ "paint": {
+ "line-color": "#333333",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 18,
+ 8
+ ]
+ }
+ },
+ {
+ "id": "roads_minor",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"],
+ ["!=", "pmap:kind_detail", "service"]
+ ],
+ "paint": {
+ "line-color": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ "#3d3d3d",
+ 16,
+ "#333333"
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_medium",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#3d3d3d",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 12,
+ 1.2,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_major_casing_early",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "maxzoom": 12,
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#1f1f1f",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 0.5,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 9,
+ 0,
+ 9.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_major",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#3d3d3d",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 6,
+ 0,
+ 12,
+ 1.6,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_highway_casing_early",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "maxzoom": 12,
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#1f1f1f",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 3.5,
+ 0.5,
+ 18,
+ 15
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_highway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#474747",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 6,
+ 1.1,
+ 12,
+ 1.6,
+ 15,
+ 5,
+ 18,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "transit_railway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "transit",
+ "filter": ["all", ["==", "pmap:kind", "rail"]],
+ "paint": {
+ "line-dasharray": [0.3, 0.75],
+ "line-opacity": 0.5,
+ "line-color": "#000000",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 6,
+ 0.15,
+ 18,
+ 9
+ ]
+ }
+ },
+ {
+ "id": "boundaries_country",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "boundaries",
+ "filter": ["<=", "pmap:min_admin_level", 2],
+ "paint": {
+ "line-color": "#5b6374",
+ "line-width": 1,
+ "line-dasharray": [3, 2]
+ }
+ },
+ {
+ "id": "boundaries",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "boundaries",
+ "filter": [">", "pmap:min_admin_level", 2],
+ "paint": {
+ "line-color": "#5b6374",
+ "line-width": 0.5,
+ "line-dasharray": [3, 2]
+ }
+ },
+ {
+ "id": "roads_bridges_other_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["in", "pmap:kind", "other", "path"]
+ ],
+ "paint": {
+ "line-color": "#2b2b2b",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 14,
+ 0,
+ 20,
+ 7
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_link_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": ["all", [">", "pmap:level", 0], ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#1f1f1f",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 12,
+ 0,
+ 12.5,
+ 1.5
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_minor_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"]
+ ],
+ "paint": {
+ "line-color": "#1f1f1f",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 0.8
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_medium_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#1f1f1f",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 12,
+ 1.2,
+ 15,
+ 3,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 10,
+ 0,
+ 10.5,
+ 1.5
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_major_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#1f1f1f",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 0.5,
+ 18,
+ 10
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 9,
+ 0,
+ 9.5,
+ 1.5
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_other",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["in", "pmap:kind", "other", "path"]
+ ],
+ "paint": {
+ "line-color": "#333333",
+ "line-dasharray": [2, 1],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 14,
+ 0,
+ 20,
+ 7
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_minor",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"]
+ ],
+ "paint": {
+ "line-color": "#333333",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_link",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": ["all", [">", "pmap:level", 0], ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#333333",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_medium",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#3d3d3d",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 12,
+ 1.2,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_major",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#3d3d3d",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 6,
+ 0,
+ 12,
+ 1.6,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_highway_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#1f1f1f",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 3.5,
+ 0.5,
+ 18,
+ 15
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 1,
+ 20,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_highway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#474747",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 6,
+ 1.1,
+ 12,
+ 1.6,
+ 15,
+ 5,
+ 18,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "physical_line_waterway_label",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "physical_line",
+ "minzoom": 13,
+ "filter": ["all", ["in", "pmap:kind", "river", "stream"]],
+ "layout": {
+ "symbol-placement": "line",
+ "text-font": ["Roboto Regular"],
+ "text-field": ["get", "name"],
+ "text-size": 12,
+ "text-letter-spacing": 0.3
+ },
+ "paint": {
+ "text-color": "#717784"
+ }
+ },
+ {
+ "id": "physical_point_peak",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "physical_point",
+ "filter": ["any", ["==", "pmap:kind", "peak"]],
+ "layout": {
+ "text-font": ["Roboto Italic"],
+ "text-field": ["get", "name"],
+ "text-size": ["interpolate", ["linear"], ["zoom"], 10, 8, 16, 12],
+ "text-letter-spacing": 0.1,
+ "text-max-width": 9
+ },
+ "paint": {
+ "text-color": "#898080",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "roads_labels_minor",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 15,
+ "filter": ["any", ["in", "pmap:kind", "minor_road", "other", "path"]],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "symbol-placement": "line",
+ "text-font": ["Roboto Regular"],
+ "text-field": ["get", "name"],
+ "text-size": 12
+ },
+ "paint": {
+ "text-color": "#525252",
+ "text-halo-color": "#1f1f1f",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "physical_point_ocean",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "physical_point",
+ "filter": [
+ "any",
+ [
+ "in",
+ "pmap:kind",
+ "sea",
+ "ocean",
+ "lake",
+ "water",
+ "bay",
+ "strait",
+ "fjord"
+ ]
+ ],
+ "layout": {
+ "text-font": ["Roboto Medium"],
+ "text-field": ["get", "name"],
+ "text-size": ["interpolate", ["linear"], ["zoom"], 3, 10, 10, 12],
+ "text-letter-spacing": 0.1,
+ "text-max-width": 9,
+ "text-transform": "uppercase"
+ },
+ "paint": {
+ "text-color": "#717784"
+ }
+ },
+ {
+ "id": "physical_point_lakes",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "physical_point",
+ "filter": ["any", ["in", "pmap:kind", "lake", "water"]],
+ "layout": {
+ "text-font": ["Roboto Medium"],
+ "text-field": ["get", "name"],
+ "text-size": ["interpolate", ["linear"], ["zoom"], 3, 0, 6, 12, 10, 12],
+ "text-letter-spacing": 0.1,
+ "text-max-width": 9
+ },
+ "paint": {
+ "text-color": "#717784"
+ }
+ },
+ {
+ "id": "roads_labels_major",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 11,
+ "filter": [
+ "any",
+ ["in", "pmap:kind", "highway", "major_road", "medium_road"]
+ ],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "symbol-placement": "line",
+ "text-font": ["Roboto Regular"],
+ "text-field": ["get", "name"],
+ "text-size": 12
+ },
+ "paint": {
+ "text-color": "#666666",
+ "text-halo-color": "#1f1f1f",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "places_subplace",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "places",
+ "filter": ["==", "pmap:kind", "neighbourhood"],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "text-field": "{name}",
+ "text-font": ["Roboto Regular"],
+ "text-max-width": 7,
+ "text-letter-spacing": 0.1,
+ "text-padding": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 5,
+ 2,
+ 8,
+ 4,
+ 12,
+ 18,
+ 15,
+ 20
+ ],
+ "text-size": [
+ "interpolate",
+ ["exponential", 1.2],
+ ["zoom"],
+ 11,
+ 8,
+ 14,
+ 14,
+ 18,
+ 24
+ ],
+ "text-transform": "uppercase"
+ },
+ "paint": {
+ "text-color": "#525252",
+ "text-halo-color": "#1f1f1f",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "pois_important",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "pois",
+ "filter": ["any", ["<", ["get", "pmap:min_zoom"], 13]],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "text-font": ["Roboto Regular"],
+ "text-field": ["get", "name"],
+ "text-size": 11,
+ "text-max-width": 9,
+ "icon-padding": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ 2,
+ 14,
+ 2,
+ 16,
+ 20,
+ 17,
+ 2,
+ 22,
+ 2
+ ]
+ },
+ "paint": {
+ "text-color": "#525252",
+ "text-halo-color": "#1f1f1f",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "places_locality_circle",
+ "type": "circle",
+ "source": "protomaps",
+ "source-layer": "places",
+ "filter": ["==", "pmap:kind", "locality"],
+ "paint": {
+ "circle-radius": 2,
+ "circle-stroke-width": 1.5,
+ "circle-stroke-color": "#7a7a7a",
+ "circle-color": "#000000",
+ "circle-translate": [-6, 0]
+ },
+ "maxzoom": 8
+ },
+ {
+ "id": "places_locality",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "places",
+ "filter": ["==", "pmap:kind", "locality"],
+ "layout": {
+ "text-field": "{name}",
+ "text-font": [
+ "case",
+ ["<=", ["get", "pmap:min_zoom"], 5],
+ ["literal", ["Roboto Medium"]],
+ ["literal", ["Roboto Regular"]]
+ ],
+ "text-padding": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 5,
+ 3,
+ 8,
+ 7,
+ 12,
+ 11
+ ],
+ "text-size": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 2,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 13],
+ 8,
+ [">=", ["get", "pmap:population_rank"], 13],
+ 13,
+ 0
+ ],
+ 4,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 13],
+ 10,
+ [">=", ["get", "pmap:population_rank"], 13],
+ 15,
+ 0
+ ],
+ 6,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 12],
+ 11,
+ [">=", ["get", "pmap:population_rank"], 12],
+ 17,
+ 0
+ ],
+ 8,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 11],
+ 11,
+ [">=", ["get", "pmap:population_rank"], 11],
+ 18,
+ 0
+ ],
+ 10,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 9],
+ 12,
+ [">=", ["get", "pmap:population_rank"], 9],
+ 20,
+ 0
+ ],
+ 15,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 8],
+ 12,
+ [">=", ["get", "pmap:population_rank"], 8],
+ 22,
+ 0
+ ]
+ ],
+ "icon-padding": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ 2,
+ 8,
+ 4,
+ 10,
+ 8,
+ 12,
+ 6,
+ 22,
+ 2
+ ],
+ "text-anchor": ["step", ["zoom"], "left", 8, "center"],
+ "text-radial-offset": 0.2
+ },
+ "paint": {
+ "text-color": "#7a7a7a",
+ "text-halo-color": "#212121",
+ "text-halo-width": 1
+ }
+ },
+ {
+ "id": "places_region",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "places",
+ "filter": ["==", "pmap:kind", "region"],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "text-field": [
+ "step",
+ ["zoom"],
+ ["get", "name:short"],
+ 5,
+ ["get", "name"]
+ ],
+ "text-font": ["Roboto Regular"],
+ "text-size": ["interpolate", ["linear"], ["zoom"], 3, 11, 7, 24],
+ "text-radial-offset": 0.2,
+ "text-anchor": "center",
+ "text-transform": "uppercase"
+ },
+ "paint": {
+ "text-color": "#3d3d3d",
+ "text-halo-color": "#1f1f1f",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "places_country",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "places",
+ "filter": ["==", "pmap:kind", "country"],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "text-field": "{name}",
+ "text-font": ["Roboto Medium"],
+ "text-size": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 2,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 10],
+ 8,
+ [">=", ["get", "pmap:population_rank"], 10],
+ 12,
+ 0
+ ],
+ 6,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 8],
+ 10,
+ [">=", ["get", "pmap:population_rank"], 8],
+ 18,
+ 0
+ ],
+ 8,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 7],
+ 11,
+ [">=", ["get", "pmap:population_rank"], 7],
+ 20,
+ 0
+ ]
+ ],
+ "icon-padding": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ 2,
+ 14,
+ 2,
+ 16,
+ 20,
+ 17,
+ 2,
+ 22,
+ 2
+ ],
+ "text-transform": "uppercase"
+ },
+ "paint": {
+ "text-color": "#5c5c5c"
+ }
+ }
+ ]
+}
diff --git a/public/styles/grayscale.json b/public/styles/grayscale.json
new file mode 100644
index 0000000..1c8381a
--- /dev/null
+++ b/public/styles/grayscale.json
@@ -0,0 +1,1990 @@
+{
+ "version": 8,
+ "name": "Grayscale",
+ "id": "grayscale",
+
+ "sources": {
+ "protomaps": {
+ "type": "vector",
+ "url": "pmtiles://data/pmtiles/prince-edward-island.pmtiles",
+ "attribution": "Protomaps © OpenStreetMap"
+ }
+ },
+
+ "glyphs": "/glyphs/{fontstack}/{range}.pbf",
+
+ "layers": [
+ {
+ "id": "background",
+ "type": "background",
+ "paint": {
+ "background-color": "#a3a3a3"
+ }
+ },
+ {
+ "id": "earth",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "earth",
+ "paint": {
+ "fill-color": "#cccccc"
+ }
+ },
+ {
+ "id": "landuse_park",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": [
+ "any",
+ [
+ "in",
+ "pmap:kind",
+ "national_park",
+ "park",
+ "cemetery",
+ "protected_area",
+ "nature_reserve",
+ "forest",
+ "golf_course"
+ ]
+ ],
+ "paint": {
+ "fill-color": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ "#c2c2c2",
+ 12,
+ "#c2c2c2"
+ ]
+ }
+ },
+ {
+ "id": "landuse_hospital",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["==", "pmap:kind", "hospital"]],
+ "paint": {
+ "fill-color": "#d0d0d0"
+ }
+ },
+ {
+ "id": "landuse_industrial",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["==", "pmap:kind", "industrial"]],
+ "paint": {
+ "fill-color": "#c6c6c6"
+ }
+ },
+ {
+ "id": "landuse_school",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["in", "pmap:kind", "school", "university", "college"]],
+ "paint": {
+ "fill-color": "#d0d0d0"
+ }
+ },
+ {
+ "id": "landuse_beach",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["in", "pmap:kind", "beach"]],
+ "paint": {
+ "fill-color": "#d2d2d2"
+ }
+ },
+ {
+ "id": "landuse_zoo",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["in", "pmap:kind", "zoo"]],
+ "paint": {
+ "fill-color": "#c7c7c7"
+ }
+ },
+ {
+ "id": "landuse_military",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": [
+ "any",
+ ["in", "pmap:kind", "military", "naval_base", "airfield"]
+ ],
+ "paint": {
+ "fill-color": "#c7c7c7"
+ }
+ },
+ {
+ "id": "natural_wood",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "natural",
+ "filter": [
+ "any",
+ ["in", "pmap:kind", "wood", "nature_reserve", "forest"]
+ ],
+ "paint": {
+ "fill-color": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ "#c2c2c2",
+ 12,
+ "#c2c2c2"
+ ]
+ }
+ },
+ {
+ "id": "natural_scrub",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "natural",
+ "filter": ["in", "pmap:kind", "scrub", "grassland", "grass"],
+ "paint": {
+ "fill-color": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ "#c2c2c2",
+ 12,
+ "#c2c2c2"
+ ]
+ }
+ },
+ {
+ "id": "natural_glacier",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "natural",
+ "filter": ["==", "pmap:kind", "glacier"],
+ "paint": {
+ "fill-color": "#d2d2d2"
+ }
+ },
+ {
+ "id": "natural_sand",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "natural",
+ "filter": ["==", "pmap:kind", "sand"],
+ "paint": {
+ "fill-color": "#d2d2d2"
+ }
+ },
+ {
+ "id": "landuse_aerodrome",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["in", "pmap:kind", "aerodrome"]],
+ "paint": {
+ "fill-color": "#c9c9c9"
+ }
+ },
+ {
+ "id": "transit_runway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "transit",
+ "filter": ["any", ["in", "pmap:kind_detail", "runway"]],
+ "paint": {
+ "line-color": "#f5f5f5",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 10,
+ 0,
+ 12,
+ 4,
+ 18,
+ 30
+ ]
+ }
+ },
+ {
+ "id": "transit_taxiway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "transit",
+ "minzoom": 13,
+ "filter": ["any", ["in", "pmap:kind_detail", "taxiway"]],
+ "paint": {
+ "line-color": "#f5f5f5",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 15,
+ 6
+ ]
+ }
+ },
+ {
+ "id": "water",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "water",
+ "paint": {
+ "fill-color": "#a3a3a3"
+ }
+ },
+ {
+ "id": "physical_line_stream",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "physical_line",
+ "minzoom": 14,
+ "filter": ["all", ["in", "pmap:kind", "stream"]],
+ "paint": {
+ "line-color": "#a3a3a3",
+ "line-width": 0.5
+ }
+ },
+ {
+ "id": "physical_line_river",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "physical_line",
+ "minzoom": 9,
+ "filter": ["all", ["in", "pmap:kind", "river"]],
+ "paint": {
+ "line-color": "#a3a3a3",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 9,
+ 0,
+ 9.5,
+ 1,
+ 18,
+ 12
+ ]
+ }
+ },
+ {
+ "id": "landuse_pedestrian",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["==", "pmap:kind", "pedestrian"]],
+ "paint": {
+ "fill-color": "#c4c4c4"
+ }
+ },
+ {
+ "id": "landuse_pier",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["==", "pmap:kind", "pier"]],
+ "paint": {
+ "fill-color": "#b8b8b8"
+ }
+ },
+ {
+ "id": "roads_tunnels_other_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["in", "pmap:kind", "other", "path"]
+ ],
+ "paint": {
+ "line-color": "#b8b8b8",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 14,
+ 0,
+ 20,
+ 7
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_minor_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"]
+ ],
+ "paint": {
+ "line-color": "#b8b8b8",
+ "line-dasharray": [3, 2],
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 12,
+ 0,
+ 12.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_link_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": ["all", ["<", "pmap:level", 0], ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#b8b8b8",
+ "line-dasharray": [3, 2],
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 12,
+ 0,
+ 12.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_medium_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#b8b8b8",
+ "line-dasharray": [3, 2],
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 0.5,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 10,
+ 0,
+ 10.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_major_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#b8b8b8",
+ "line-dasharray": [3, 2],
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 0.5,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 9,
+ 0,
+ 9.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_highway_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#b8b8b8",
+ "line-dasharray": [6, 0.5],
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 3.5,
+ 0.5,
+ 18,
+ 15
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 1,
+ 20,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_other",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["in", "pmap:kind", "other", "path"]
+ ],
+ "paint": {
+ "line-color": "#d6d6d6",
+ "line-dasharray": [4.5, 0.5],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 14,
+ 0,
+ 20,
+ 7
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_minor",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"]
+ ],
+ "paint": {
+ "line-color": "#d6d6d6",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_link",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": ["all", ["<", "pmap:level", 0], ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#d6d6d6",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_medium",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#d6d6d6",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 12,
+ 1.2,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_major",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#d6d6d6",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 6,
+ 0,
+ 12,
+ 1.6,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_highway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#d6d6d6",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 6,
+ 1.1,
+ 12,
+ 1.6,
+ 15,
+ 5,
+ 18,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "buildings",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "buildings",
+ "paint": {
+ "fill-color": "#e0e0e0",
+ "fill-opacity": 0.5
+ }
+ },
+ {
+ "id": "transit_pier",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "transit",
+ "filter": ["any", ["==", "pmap:kind", "pier"]],
+ "paint": {
+ "line-color": "#b8b8b8",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 12,
+ 0,
+ 12.5,
+ 0.5,
+ 20,
+ 16
+ ]
+ }
+ },
+ {
+ "id": "roads_minor_service_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 13,
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"],
+ ["==", "pmap:kind_detail", "service"]
+ ],
+ "paint": {
+ "line-color": "#cccccc",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 18,
+ 8
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 0.8
+ ]
+ }
+ },
+ {
+ "id": "roads_minor_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"],
+ ["!=", "pmap:kind_detail", "service"]
+ ],
+ "paint": {
+ "line-color": "#cccccc",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 12,
+ 0,
+ 12.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_link_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 13,
+ "filter": ["all", ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#cccccc",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1.5
+ ]
+ }
+ },
+ {
+ "id": "roads_medium_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#cccccc",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 12,
+ 1.2,
+ 15,
+ 3,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 10,
+ 0,
+ 10.5,
+ 1.5
+ ]
+ }
+ },
+ {
+ "id": "roads_major_casing_late",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#cccccc",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 6,
+ 0,
+ 12,
+ 1.6,
+ 15,
+ 3,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 9,
+ 0,
+ 9.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_highway_casing_late",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#cccccc",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 3.5,
+ 0.5,
+ 18,
+ 15
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 1,
+ 20,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "roads_other",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["in", "pmap:kind", "other", "path"]
+ ],
+ "paint": {
+ "line-color": "#e0e0e0",
+ "line-dasharray": [3, 1],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 14,
+ 0,
+ 20,
+ 7
+ ]
+ }
+ },
+ {
+ "id": "roads_link",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": ["all", ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#ebebeb",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_minor_service",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"],
+ ["==", "pmap:kind_detail", "service"]
+ ],
+ "paint": {
+ "line-color": "#e0e0e0",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 18,
+ 8
+ ]
+ }
+ },
+ {
+ "id": "roads_minor",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"],
+ ["!=", "pmap:kind_detail", "service"]
+ ],
+ "paint": {
+ "line-color": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ "#ebebeb",
+ 16,
+ "#e0e0e0"
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_medium",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#ebebeb",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 12,
+ 1.2,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_major_casing_early",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "maxzoom": 12,
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#cccccc",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 0.5,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 9,
+ 0,
+ 9.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_major",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#ebebeb",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 6,
+ 0,
+ 12,
+ 1.6,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_highway_casing_early",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "maxzoom": 12,
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#cccccc",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 3.5,
+ 0.5,
+ 18,
+ 15
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_highway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#ebebeb",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 6,
+ 1.1,
+ 12,
+ 1.6,
+ 15,
+ 5,
+ 18,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "transit_railway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "transit",
+ "filter": ["all", ["==", "pmap:kind", "rail"]],
+ "paint": {
+ "line-dasharray": [0.3, 0.75],
+ "line-opacity": 0.5,
+ "line-color": "#f5f5f5",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 6,
+ 0.15,
+ 18,
+ 9
+ ]
+ }
+ },
+ {
+ "id": "boundaries_country",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "boundaries",
+ "filter": ["<=", "pmap:min_admin_level", 2],
+ "paint": {
+ "line-color": "#5c5c5c",
+ "line-width": 1,
+ "line-dasharray": [3, 2]
+ }
+ },
+ {
+ "id": "boundaries",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "boundaries",
+ "filter": [">", "pmap:min_admin_level", 2],
+ "paint": {
+ "line-color": "#5c5c5c",
+ "line-width": 0.5,
+ "line-dasharray": [3, 2]
+ }
+ },
+ {
+ "id": "roads_bridges_other_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["in", "pmap:kind", "other", "path"]
+ ],
+ "paint": {
+ "line-color": "#cccccc",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 14,
+ 0,
+ 20,
+ 7
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_link_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": ["all", [">", "pmap:level", 0], ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#cccccc",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 12,
+ 0,
+ 12.5,
+ 1.5
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_minor_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"]
+ ],
+ "paint": {
+ "line-color": "#cccccc",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 0.8
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_medium_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#cccccc",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 12,
+ 1.2,
+ 15,
+ 3,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 10,
+ 0,
+ 10.5,
+ 1.5
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_major_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#cccccc",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 0.5,
+ 18,
+ 10
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 9,
+ 0,
+ 9.5,
+ 1.5
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_other",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["in", "pmap:kind", "other", "path"]
+ ],
+ "paint": {
+ "line-color": "#e0e0e0",
+ "line-dasharray": [2, 1],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 14,
+ 0,
+ 20,
+ 7
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_minor",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"]
+ ],
+ "paint": {
+ "line-color": "#e0e0e0",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_link",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": ["all", [">", "pmap:level", 0], ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#e0e0e0",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_medium",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#ebebeb",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 12,
+ 1.2,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_major",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#ebebeb",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 6,
+ 0,
+ 12,
+ 1.6,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_highway_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#cccccc",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 3.5,
+ 0.5,
+ 18,
+ 15
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 1,
+ 20,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_highway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#ebebeb",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 6,
+ 1.1,
+ 12,
+ 1.6,
+ 15,
+ 5,
+ 18,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "physical_line_waterway_label",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "physical_line",
+ "minzoom": 13,
+ "filter": ["all", ["in", "pmap:kind", "river", "stream"]],
+ "layout": {
+ "symbol-placement": "line",
+ "text-font": ["Roboto Regular"],
+ "text-field": ["get", "name"],
+ "text-size": 12,
+ "text-letter-spacing": 0.3
+ },
+ "paint": {
+ "text-color": "#7a7a7a"
+ }
+ },
+ {
+ "id": "physical_point_peak",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "physical_point",
+ "filter": ["any", ["==", "pmap:kind", "peak"]],
+ "layout": {
+ "text-font": ["Roboto Italic"],
+ "text-field": ["get", "name"],
+ "text-size": ["interpolate", ["linear"], ["zoom"], 10, 8, 16, 12],
+ "text-letter-spacing": 0.1,
+ "text-max-width": 9
+ },
+ "paint": {
+ "text-color": "#5c5c5c",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "roads_labels_minor",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 15,
+ "filter": ["any", ["in", "pmap:kind", "minor_road", "other", "path"]],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "symbol-placement": "line",
+ "text-font": ["Roboto Regular"],
+ "text-field": ["get", "name"],
+ "text-size": 12
+ },
+ "paint": {
+ "text-color": "#999999",
+ "text-halo-color": "#e0e0e0",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "physical_point_ocean",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "physical_point",
+ "filter": [
+ "any",
+ [
+ "in",
+ "pmap:kind",
+ "sea",
+ "ocean",
+ "lake",
+ "water",
+ "bay",
+ "strait",
+ "fjord"
+ ]
+ ],
+ "layout": {
+ "text-font": ["Roboto Medium"],
+ "text-field": ["get", "name"],
+ "text-size": ["interpolate", ["linear"], ["zoom"], 3, 10, 10, 12],
+ "text-letter-spacing": 0.1,
+ "text-max-width": 9,
+ "text-transform": "uppercase"
+ },
+ "paint": {
+ "text-color": "#7a7a7a"
+ }
+ },
+ {
+ "id": "physical_point_lakes",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "physical_point",
+ "filter": ["any", ["in", "pmap:kind", "lake", "water"]],
+ "layout": {
+ "text-font": ["Roboto Medium"],
+ "text-field": ["get", "name"],
+ "text-size": ["interpolate", ["linear"], ["zoom"], 3, 0, 6, 12, 10, 12],
+ "text-letter-spacing": 0.1,
+ "text-max-width": 9
+ },
+ "paint": {
+ "text-color": "#7a7a7a"
+ }
+ },
+ {
+ "id": "roads_labels_major",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 11,
+ "filter": [
+ "any",
+ ["in", "pmap:kind", "highway", "major_road", "medium_road"]
+ ],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "symbol-placement": "line",
+ "text-font": ["Roboto Regular"],
+ "text-field": ["get", "name"],
+ "text-size": 12
+ },
+ "paint": {
+ "text-color": "#8f8f8f",
+ "text-halo-color": "#ebebeb",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "places_subplace",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "places",
+ "filter": ["==", "pmap:kind", "neighbourhood"],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "text-field": "{name}",
+ "text-font": ["Roboto Regular"],
+ "text-max-width": 7,
+ "text-letter-spacing": 0.1,
+ "text-padding": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 5,
+ 2,
+ 8,
+ 4,
+ 12,
+ 18,
+ 15,
+ 20
+ ],
+ "text-size": [
+ "interpolate",
+ ["exponential", 1.2],
+ ["zoom"],
+ 11,
+ 8,
+ 14,
+ 14,
+ 18,
+ 24
+ ],
+ "text-transform": "uppercase"
+ },
+ "paint": {
+ "text-color": "#7a7a7a",
+ "text-halo-color": "#cccccc",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "pois_important",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "pois",
+ "filter": ["any", ["<", ["get", "pmap:min_zoom"], 13]],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "text-font": ["Roboto Regular"],
+ "text-field": ["get", "name"],
+ "text-size": 11,
+ "text-max-width": 9,
+ "icon-padding": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ 2,
+ 14,
+ 2,
+ 16,
+ 20,
+ 17,
+ 2,
+ 22,
+ 2
+ ]
+ },
+ "paint": {
+ "text-color": "#7a7a7a",
+ "text-halo-color": "#cccccc",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "places_locality_circle",
+ "type": "circle",
+ "source": "protomaps",
+ "source-layer": "places",
+ "filter": ["==", "pmap:kind", "locality"],
+ "paint": {
+ "circle-radius": 2,
+ "circle-stroke-width": 1.5,
+ "circle-stroke-color": "#7a7a7a",
+ "circle-color": "#c2c2c2",
+ "circle-translate": [-6, 0]
+ },
+ "maxzoom": 8
+ },
+ {
+ "id": "places_locality",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "places",
+ "filter": ["==", "pmap:kind", "locality"],
+ "layout": {
+ "text-field": "{name}",
+ "text-font": [
+ "case",
+ ["<=", ["get", "pmap:min_zoom"], 5],
+ ["literal", ["Roboto Medium"]],
+ ["literal", ["Roboto Regular"]]
+ ],
+ "text-padding": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 5,
+ 3,
+ 8,
+ 7,
+ 12,
+ 11
+ ],
+ "text-size": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 2,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 13],
+ 8,
+ [">=", ["get", "pmap:population_rank"], 13],
+ 13,
+ 0
+ ],
+ 4,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 13],
+ 10,
+ [">=", ["get", "pmap:population_rank"], 13],
+ 15,
+ 0
+ ],
+ 6,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 12],
+ 11,
+ [">=", ["get", "pmap:population_rank"], 12],
+ 17,
+ 0
+ ],
+ 8,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 11],
+ 11,
+ [">=", ["get", "pmap:population_rank"], 11],
+ 18,
+ 0
+ ],
+ 10,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 9],
+ 12,
+ [">=", ["get", "pmap:population_rank"], 9],
+ 20,
+ 0
+ ],
+ 15,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 8],
+ 12,
+ [">=", ["get", "pmap:population_rank"], 8],
+ 22,
+ 0
+ ]
+ ],
+ "icon-padding": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ 2,
+ 8,
+ 4,
+ 10,
+ 8,
+ 12,
+ 6,
+ 22,
+ 2
+ ],
+ "text-anchor": ["step", ["zoom"], "left", 8, "center"],
+ "text-radial-offset": 0.2
+ },
+ "paint": {
+ "text-color": "#474747",
+ "text-halo-color": "#cccccc",
+ "text-halo-width": 1
+ }
+ },
+ {
+ "id": "places_region",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "places",
+ "filter": ["==", "pmap:kind", "region"],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "text-field": [
+ "step",
+ ["zoom"],
+ ["get", "name:short"],
+ 5,
+ ["get", "name"]
+ ],
+ "text-font": ["Roboto Regular"],
+ "text-size": ["interpolate", ["linear"], ["zoom"], 3, 11, 7, 24],
+ "text-radial-offset": 0.2,
+ "text-anchor": "center",
+ "text-transform": "uppercase"
+ },
+ "paint": {
+ "text-color": "#999999",
+ "text-halo-color": "#cccccc",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "places_country",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "places",
+ "filter": ["==", "pmap:kind", "country"],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "text-field": "{name}",
+ "text-font": ["Roboto Medium"],
+ "text-size": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 2,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 10],
+ 8,
+ [">=", ["get", "pmap:population_rank"], 10],
+ 12,
+ 0
+ ],
+ 6,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 8],
+ 10,
+ [">=", ["get", "pmap:population_rank"], 8],
+ 18,
+ 0
+ ],
+ 8,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 7],
+ 11,
+ [">=", ["get", "pmap:population_rank"], 7],
+ 20,
+ 0
+ ]
+ ],
+ "icon-padding": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ 2,
+ 14,
+ 2,
+ 16,
+ 20,
+ 17,
+ 2,
+ 22,
+ 2
+ ],
+ "text-transform": "uppercase"
+ },
+ "paint": {
+ "text-color": "#858585"
+ }
+ }
+ ]
+}
diff --git a/public/styles/light.json b/public/styles/light.json
new file mode 100644
index 0000000..d7deef7
--- /dev/null
+++ b/public/styles/light.json
@@ -0,0 +1,1990 @@
+{
+ "version": 8,
+ "name": "Light",
+ "id": "light",
+
+ "sources": {
+ "protomaps": {
+ "type": "vector",
+ "url": "pmtiles://data/pmtiles/prince-edward-island.pmtiles",
+ "attribution": "Protomaps © OpenStreetMap"
+ }
+ },
+
+ "glyphs": "/glyphs/{fontstack}/{range}.pbf",
+
+ "layers": [
+ {
+ "id": "background",
+ "type": "background",
+ "paint": {
+ "background-color": "#cccccc"
+ }
+ },
+ {
+ "id": "earth",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "earth",
+ "paint": {
+ "fill-color": "#e0e0e0"
+ }
+ },
+ {
+ "id": "landuse_park",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": [
+ "any",
+ [
+ "in",
+ "pmap:kind",
+ "national_park",
+ "park",
+ "cemetery",
+ "protected_area",
+ "nature_reserve",
+ "forest",
+ "golf_course"
+ ]
+ ],
+ "paint": {
+ "fill-color": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ "#cfddd5",
+ 12,
+ "#9cd3b4"
+ ]
+ }
+ },
+ {
+ "id": "landuse_hospital",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["==", "pmap:kind", "hospital"]],
+ "paint": {
+ "fill-color": "#e4dad9"
+ }
+ },
+ {
+ "id": "landuse_industrial",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["==", "pmap:kind", "industrial"]],
+ "paint": {
+ "fill-color": "#d1dde1"
+ }
+ },
+ {
+ "id": "landuse_school",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["in", "pmap:kind", "school", "university", "college"]],
+ "paint": {
+ "fill-color": "#e4ded7"
+ }
+ },
+ {
+ "id": "landuse_beach",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["in", "pmap:kind", "beach"]],
+ "paint": {
+ "fill-color": "#e8e4d0"
+ }
+ },
+ {
+ "id": "landuse_zoo",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["in", "pmap:kind", "zoo"]],
+ "paint": {
+ "fill-color": "#c6dcdc"
+ }
+ },
+ {
+ "id": "landuse_military",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": [
+ "any",
+ ["in", "pmap:kind", "military", "naval_base", "airfield"]
+ ],
+ "paint": {
+ "fill-color": "#c6dcdc"
+ }
+ },
+ {
+ "id": "natural_wood",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "natural",
+ "filter": [
+ "any",
+ ["in", "pmap:kind", "wood", "nature_reserve", "forest"]
+ ],
+ "paint": {
+ "fill-color": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ "#d0ded0",
+ 12,
+ "#a0d9a0"
+ ]
+ }
+ },
+ {
+ "id": "natural_scrub",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "natural",
+ "filter": ["in", "pmap:kind", "scrub", "grassland", "grass"],
+ "paint": {
+ "fill-color": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ "#cedcd7",
+ 12,
+ "#99d2bb"
+ ]
+ }
+ },
+ {
+ "id": "natural_glacier",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "natural",
+ "filter": ["==", "pmap:kind", "glacier"],
+ "paint": {
+ "fill-color": "#e7e7e7"
+ }
+ },
+ {
+ "id": "natural_sand",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "natural",
+ "filter": ["==", "pmap:kind", "sand"],
+ "paint": {
+ "fill-color": "#e2e0d7"
+ }
+ },
+ {
+ "id": "landuse_aerodrome",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["in", "pmap:kind", "aerodrome"]],
+ "paint": {
+ "fill-color": "#dadbdf"
+ }
+ },
+ {
+ "id": "transit_runway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "transit",
+ "filter": ["any", ["in", "pmap:kind_detail", "runway"]],
+ "paint": {
+ "line-color": "#e9e9ed",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 10,
+ 0,
+ 12,
+ 4,
+ 18,
+ 30
+ ]
+ }
+ },
+ {
+ "id": "transit_taxiway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "transit",
+ "minzoom": 13,
+ "filter": ["any", ["in", "pmap:kind_detail", "taxiway"]],
+ "paint": {
+ "line-color": "#e9e9ed",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 15,
+ 6
+ ]
+ }
+ },
+ {
+ "id": "water",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "water",
+ "paint": {
+ "fill-color": "#80deea"
+ }
+ },
+ {
+ "id": "physical_line_stream",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "physical_line",
+ "minzoom": 14,
+ "filter": ["all", ["in", "pmap:kind", "stream"]],
+ "paint": {
+ "line-color": "#80deea",
+ "line-width": 0.5
+ }
+ },
+ {
+ "id": "physical_line_river",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "physical_line",
+ "minzoom": 9,
+ "filter": ["all", ["in", "pmap:kind", "river"]],
+ "paint": {
+ "line-color": "#80deea",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 9,
+ 0,
+ 9.5,
+ 1,
+ 18,
+ 12
+ ]
+ }
+ },
+ {
+ "id": "landuse_pedestrian",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["==", "pmap:kind", "pedestrian"]],
+ "paint": {
+ "fill-color": "#e3e0d4"
+ }
+ },
+ {
+ "id": "landuse_pier",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["==", "pmap:kind", "pier"]],
+ "paint": {
+ "fill-color": "#e0e0e0"
+ }
+ },
+ {
+ "id": "roads_tunnels_other_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["in", "pmap:kind", "other", "path"]
+ ],
+ "paint": {
+ "line-color": "#e0e0e0",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 14,
+ 0,
+ 20,
+ 7
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_minor_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"]
+ ],
+ "paint": {
+ "line-color": "#e0e0e0",
+ "line-dasharray": [3, 2],
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 12,
+ 0,
+ 12.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_link_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": ["all", ["<", "pmap:level", 0], ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#e0e0e0",
+ "line-dasharray": [3, 2],
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 12,
+ 0,
+ 12.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_medium_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#e0e0e0",
+ "line-dasharray": [3, 2],
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 0.5,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 10,
+ 0,
+ 10.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_major_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#e0e0e0",
+ "line-dasharray": [3, 2],
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 0.5,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 9,
+ 0,
+ 9.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_highway_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#e0e0e0",
+ "line-dasharray": [6, 0.5],
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 3.5,
+ 0.5,
+ 18,
+ 15
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 1,
+ 20,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_other",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["in", "pmap:kind", "other", "path"]
+ ],
+ "paint": {
+ "line-color": "#d5d5d5",
+ "line-dasharray": [4.5, 0.5],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 14,
+ 0,
+ 20,
+ 7
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_minor",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"]
+ ],
+ "paint": {
+ "line-color": "#d5d5d5",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_link",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": ["all", ["<", "pmap:level", 0], ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#d5d5d5",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_medium",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#d5d5d5",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 12,
+ 1.2,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_major",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#d5d5d5",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 6,
+ 0,
+ 12,
+ 1.6,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_highway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#d5d5d5",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 6,
+ 1.1,
+ 12,
+ 1.6,
+ 15,
+ 5,
+ 18,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "buildings",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "buildings",
+ "paint": {
+ "fill-color": "#cccccc",
+ "fill-opacity": 0.5
+ }
+ },
+ {
+ "id": "transit_pier",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "transit",
+ "filter": ["any", ["==", "pmap:kind", "pier"]],
+ "paint": {
+ "line-color": "#e0e0e0",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 12,
+ 0,
+ 12.5,
+ 0.5,
+ 20,
+ 16
+ ]
+ }
+ },
+ {
+ "id": "roads_minor_service_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 13,
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"],
+ ["==", "pmap:kind_detail", "service"]
+ ],
+ "paint": {
+ "line-color": "#e0e0e0",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 18,
+ 8
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 0.8
+ ]
+ }
+ },
+ {
+ "id": "roads_minor_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"],
+ ["!=", "pmap:kind_detail", "service"]
+ ],
+ "paint": {
+ "line-color": "#e0e0e0",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 12,
+ 0,
+ 12.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_link_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 13,
+ "filter": ["all", ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#e0e0e0",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1.5
+ ]
+ }
+ },
+ {
+ "id": "roads_medium_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#e0e0e0",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 12,
+ 1.2,
+ 15,
+ 3,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 10,
+ 0,
+ 10.5,
+ 1.5
+ ]
+ }
+ },
+ {
+ "id": "roads_major_casing_late",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#e0e0e0",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 6,
+ 0,
+ 12,
+ 1.6,
+ 15,
+ 3,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 9,
+ 0,
+ 9.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_highway_casing_late",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#e0e0e0",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 3.5,
+ 0.5,
+ 18,
+ 15
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 1,
+ 20,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "roads_other",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["in", "pmap:kind", "other", "path"]
+ ],
+ "paint": {
+ "line-color": "#ebebeb",
+ "line-dasharray": [3, 1],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 14,
+ 0,
+ 20,
+ 7
+ ]
+ }
+ },
+ {
+ "id": "roads_link",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": ["all", ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#ffffff",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_minor_service",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"],
+ ["==", "pmap:kind_detail", "service"]
+ ],
+ "paint": {
+ "line-color": "#ebebeb",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 18,
+ 8
+ ]
+ }
+ },
+ {
+ "id": "roads_minor",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"],
+ ["!=", "pmap:kind_detail", "service"]
+ ],
+ "paint": {
+ "line-color": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ "#ebebeb",
+ 16,
+ "#ffffff"
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_medium",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#f5f5f5",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 12,
+ 1.2,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_major_casing_early",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "maxzoom": 12,
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#e0e0e0",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 0.5,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 9,
+ 0,
+ 9.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_major",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#ffffff",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 6,
+ 0,
+ 12,
+ 1.6,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_highway_casing_early",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "maxzoom": 12,
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#e0e0e0",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 3.5,
+ 0.5,
+ 18,
+ 15
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_highway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#ffffff",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 6,
+ 1.1,
+ 12,
+ 1.6,
+ 15,
+ 5,
+ 18,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "transit_railway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "transit",
+ "filter": ["all", ["==", "pmap:kind", "rail"]],
+ "paint": {
+ "line-dasharray": [0.3, 0.75],
+ "line-opacity": 0.5,
+ "line-color": "#a7b1b3",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 6,
+ 0.15,
+ 18,
+ 9
+ ]
+ }
+ },
+ {
+ "id": "boundaries_country",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "boundaries",
+ "filter": ["<=", "pmap:min_admin_level", 2],
+ "paint": {
+ "line-color": "#adadad",
+ "line-width": 1,
+ "line-dasharray": [3, 2]
+ }
+ },
+ {
+ "id": "boundaries",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "boundaries",
+ "filter": [">", "pmap:min_admin_level", 2],
+ "paint": {
+ "line-color": "#adadad",
+ "line-width": 0.5,
+ "line-dasharray": [3, 2]
+ }
+ },
+ {
+ "id": "roads_bridges_other_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["in", "pmap:kind", "other", "path"]
+ ],
+ "paint": {
+ "line-color": "#e0e0e0",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 14,
+ 0,
+ 20,
+ 7
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_link_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": ["all", [">", "pmap:level", 0], ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#e0e0e0",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 12,
+ 0,
+ 12.5,
+ 1.5
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_minor_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"]
+ ],
+ "paint": {
+ "line-color": "#e0e0e0",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 0.8
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_medium_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#e0e0e0",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 12,
+ 1.2,
+ 15,
+ 3,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 10,
+ 0,
+ 10.5,
+ 1.5
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_major_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#e0e0e0",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 0.5,
+ 18,
+ 10
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 9,
+ 0,
+ 9.5,
+ 1.5
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_other",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["in", "pmap:kind", "other", "path"]
+ ],
+ "paint": {
+ "line-color": "#ebebeb",
+ "line-dasharray": [2, 1],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 14,
+ 0,
+ 20,
+ 7
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_minor",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"]
+ ],
+ "paint": {
+ "line-color": "#ffffff",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_link",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": ["all", [">", "pmap:level", 0], ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#ffffff",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_medium",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#f0eded",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 12,
+ 1.2,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_major",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#f5f5f5",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 6,
+ 0,
+ 12,
+ 1.6,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_highway_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#e0e0e0",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 3.5,
+ 0.5,
+ 18,
+ 15
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 1,
+ 20,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_highway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#ffffff",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 6,
+ 1.1,
+ 12,
+ 1.6,
+ 15,
+ 5,
+ 18,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "physical_line_waterway_label",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "physical_line",
+ "minzoom": 13,
+ "filter": ["all", ["in", "pmap:kind", "river", "stream"]],
+ "layout": {
+ "symbol-placement": "line",
+ "text-font": ["Roboto Regular"],
+ "text-field": ["get", "name"],
+ "text-size": 12,
+ "text-letter-spacing": 0.3
+ },
+ "paint": {
+ "text-color": "#ffffff"
+ }
+ },
+ {
+ "id": "physical_point_peak",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "physical_point",
+ "filter": ["any", ["==", "pmap:kind", "peak"]],
+ "layout": {
+ "text-font": ["Roboto Italic"],
+ "text-field": ["get", "name"],
+ "text-size": ["interpolate", ["linear"], ["zoom"], 10, 8, 16, 12],
+ "text-letter-spacing": 0.1,
+ "text-max-width": 9
+ },
+ "paint": {
+ "text-color": "#7e9aa0",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "roads_labels_minor",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 15,
+ "filter": ["any", ["in", "pmap:kind", "minor_road", "other", "path"]],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "symbol-placement": "line",
+ "text-font": ["Roboto Regular"],
+ "text-field": ["get", "name"],
+ "text-size": 12
+ },
+ "paint": {
+ "text-color": "#91888b",
+ "text-halo-color": "#ffffff",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "physical_point_ocean",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "physical_point",
+ "filter": [
+ "any",
+ [
+ "in",
+ "pmap:kind",
+ "sea",
+ "ocean",
+ "lake",
+ "water",
+ "bay",
+ "strait",
+ "fjord"
+ ]
+ ],
+ "layout": {
+ "text-font": ["Roboto Medium"],
+ "text-field": ["get", "name"],
+ "text-size": ["interpolate", ["linear"], ["zoom"], 3, 10, 10, 12],
+ "text-letter-spacing": 0.1,
+ "text-max-width": 9,
+ "text-transform": "uppercase"
+ },
+ "paint": {
+ "text-color": "#ffffff"
+ }
+ },
+ {
+ "id": "physical_point_lakes",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "physical_point",
+ "filter": ["any", ["in", "pmap:kind", "lake", "water"]],
+ "layout": {
+ "text-font": ["Roboto Medium"],
+ "text-field": ["get", "name"],
+ "text-size": ["interpolate", ["linear"], ["zoom"], 3, 0, 6, 12, 10, 12],
+ "text-letter-spacing": 0.1,
+ "text-max-width": 9
+ },
+ "paint": {
+ "text-color": "#ffffff"
+ }
+ },
+ {
+ "id": "roads_labels_major",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 11,
+ "filter": [
+ "any",
+ ["in", "pmap:kind", "highway", "major_road", "medium_road"]
+ ],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "symbol-placement": "line",
+ "text-font": ["Roboto Regular"],
+ "text-field": ["get", "name"],
+ "text-size": 12
+ },
+ "paint": {
+ "text-color": "#938a8d",
+ "text-halo-color": "#ffffff",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "places_subplace",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "places",
+ "filter": ["==", "pmap:kind", "neighbourhood"],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "text-field": "{name}",
+ "text-font": ["Roboto Regular"],
+ "text-max-width": 7,
+ "text-letter-spacing": 0.1,
+ "text-padding": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 5,
+ 2,
+ 8,
+ 4,
+ 12,
+ 18,
+ 15,
+ 20
+ ],
+ "text-size": [
+ "interpolate",
+ ["exponential", 1.2],
+ ["zoom"],
+ 11,
+ 8,
+ 14,
+ 14,
+ 18,
+ 24
+ ],
+ "text-transform": "uppercase"
+ },
+ "paint": {
+ "text-color": "#8f8f8f",
+ "text-halo-color": "#e0e0e0",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "pois_important",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "pois",
+ "filter": ["any", ["<", ["get", "pmap:min_zoom"], 13]],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "text-font": ["Roboto Regular"],
+ "text-field": ["get", "name"],
+ "text-size": 11,
+ "text-max-width": 9,
+ "icon-padding": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ 2,
+ 14,
+ 2,
+ 16,
+ 20,
+ 17,
+ 2,
+ 22,
+ 2
+ ]
+ },
+ "paint": {
+ "text-color": "#8f8f8f",
+ "text-halo-color": "#e0e0e0",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "places_locality_circle",
+ "type": "circle",
+ "source": "protomaps",
+ "source-layer": "places",
+ "filter": ["==", "pmap:kind", "locality"],
+ "paint": {
+ "circle-radius": 2,
+ "circle-stroke-width": 1.5,
+ "circle-stroke-color": "#a3a3a3",
+ "circle-color": "#ffffff",
+ "circle-translate": [-6, 0]
+ },
+ "maxzoom": 8
+ },
+ {
+ "id": "places_locality",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "places",
+ "filter": ["==", "pmap:kind", "locality"],
+ "layout": {
+ "text-field": "{name}",
+ "text-font": [
+ "case",
+ ["<=", ["get", "pmap:min_zoom"], 5],
+ ["literal", ["Roboto Medium"]],
+ ["literal", ["Roboto Regular"]]
+ ],
+ "text-padding": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 5,
+ 3,
+ 8,
+ 7,
+ 12,
+ 11
+ ],
+ "text-size": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 2,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 13],
+ 8,
+ [">=", ["get", "pmap:population_rank"], 13],
+ 13,
+ 0
+ ],
+ 4,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 13],
+ 10,
+ [">=", ["get", "pmap:population_rank"], 13],
+ 15,
+ 0
+ ],
+ 6,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 12],
+ 11,
+ [">=", ["get", "pmap:population_rank"], 12],
+ 17,
+ 0
+ ],
+ 8,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 11],
+ 11,
+ [">=", ["get", "pmap:population_rank"], 11],
+ 18,
+ 0
+ ],
+ 10,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 9],
+ 12,
+ [">=", ["get", "pmap:population_rank"], 9],
+ 20,
+ 0
+ ],
+ 15,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 8],
+ 12,
+ [">=", ["get", "pmap:population_rank"], 8],
+ 22,
+ 0
+ ]
+ ],
+ "icon-padding": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ 2,
+ 8,
+ 4,
+ 10,
+ 8,
+ 12,
+ 6,
+ 22,
+ 2
+ ],
+ "text-anchor": ["step", ["zoom"], "left", 8, "center"],
+ "text-radial-offset": 0.2
+ },
+ "paint": {
+ "text-color": "#5c5c5c",
+ "text-halo-color": "#e0e0e0",
+ "text-halo-width": 1
+ }
+ },
+ {
+ "id": "places_region",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "places",
+ "filter": ["==", "pmap:kind", "region"],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "text-field": [
+ "step",
+ ["zoom"],
+ ["get", "name:short"],
+ 5,
+ ["get", "name"]
+ ],
+ "text-font": ["Roboto Regular"],
+ "text-size": ["interpolate", ["linear"], ["zoom"], 3, 11, 7, 24],
+ "text-radial-offset": 0.2,
+ "text-anchor": "center",
+ "text-transform": "uppercase"
+ },
+ "paint": {
+ "text-color": "#b3b3b3",
+ "text-halo-color": "#e0e0e0",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "places_country",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "places",
+ "filter": ["==", "pmap:kind", "country"],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "text-field": "{name}",
+ "text-font": ["Roboto Medium"],
+ "text-size": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 2,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 10],
+ 8,
+ [">=", ["get", "pmap:population_rank"], 10],
+ 12,
+ 0
+ ],
+ 6,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 8],
+ 10,
+ [">=", ["get", "pmap:population_rank"], 8],
+ 18,
+ 0
+ ],
+ 8,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 7],
+ 11,
+ [">=", ["get", "pmap:population_rank"], 7],
+ 20,
+ 0
+ ]
+ ],
+ "icon-padding": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ 2,
+ 14,
+ 2,
+ 16,
+ 20,
+ 17,
+ 2,
+ 22,
+ 2
+ ],
+ "text-transform": "uppercase"
+ },
+ "paint": {
+ "text-color": "#a3a3a3"
+ }
+ }
+ ]
+}
diff --git a/public/styles/white.json b/public/styles/white.json
new file mode 100644
index 0000000..53ab938
--- /dev/null
+++ b/public/styles/white.json
@@ -0,0 +1,1990 @@
+{
+ "version": 8,
+ "name": "White",
+ "id": "white",
+
+ "sources": {
+ "protomaps": {
+ "type": "vector",
+ "url": "pmtiles://data/pmtiles/prince-edward-island.pmtiles",
+ "attribution": "Protomaps © OpenStreetMap"
+ }
+ },
+
+ "glyphs": "/glyphs/{fontstack}/{range}.pbf",
+
+ "layers": [
+ {
+ "id": "background",
+ "type": "background",
+ "paint": {
+ "background-color": "#ffffff"
+ }
+ },
+ {
+ "id": "earth",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "earth",
+ "paint": {
+ "fill-color": "#ffffff"
+ }
+ },
+ {
+ "id": "landuse_park",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": [
+ "any",
+ [
+ "in",
+ "pmap:kind",
+ "national_park",
+ "park",
+ "cemetery",
+ "protected_area",
+ "nature_reserve",
+ "forest",
+ "golf_course"
+ ]
+ ],
+ "paint": {
+ "fill-color": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ "#fcfcfc",
+ 12,
+ "#fcfcfc"
+ ]
+ }
+ },
+ {
+ "id": "landuse_hospital",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["==", "pmap:kind", "hospital"]],
+ "paint": {
+ "fill-color": "#f8f8f8"
+ }
+ },
+ {
+ "id": "landuse_industrial",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["==", "pmap:kind", "industrial"]],
+ "paint": {
+ "fill-color": "#fcfcfc"
+ }
+ },
+ {
+ "id": "landuse_school",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["in", "pmap:kind", "school", "university", "college"]],
+ "paint": {
+ "fill-color": "#f8f8f8"
+ }
+ },
+ {
+ "id": "landuse_beach",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["in", "pmap:kind", "beach"]],
+ "paint": {
+ "fill-color": "#f6f6f6"
+ }
+ },
+ {
+ "id": "landuse_zoo",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["in", "pmap:kind", "zoo"]],
+ "paint": {
+ "fill-color": "#f7f7f7"
+ }
+ },
+ {
+ "id": "landuse_military",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": [
+ "any",
+ ["in", "pmap:kind", "military", "naval_base", "airfield"]
+ ],
+ "paint": {
+ "fill-color": "#f7f7f7"
+ }
+ },
+ {
+ "id": "natural_wood",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "natural",
+ "filter": [
+ "any",
+ ["in", "pmap:kind", "wood", "nature_reserve", "forest"]
+ ],
+ "paint": {
+ "fill-color": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ "#fafafa",
+ 12,
+ "#fafafa"
+ ]
+ }
+ },
+ {
+ "id": "natural_scrub",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "natural",
+ "filter": ["in", "pmap:kind", "scrub", "grassland", "grass"],
+ "paint": {
+ "fill-color": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ "#fafafa",
+ 12,
+ "#fafafa"
+ ]
+ }
+ },
+ {
+ "id": "natural_glacier",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "natural",
+ "filter": ["==", "pmap:kind", "glacier"],
+ "paint": {
+ "fill-color": "#fcfcfc"
+ }
+ },
+ {
+ "id": "natural_sand",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "natural",
+ "filter": ["==", "pmap:kind", "sand"],
+ "paint": {
+ "fill-color": "#fafafa"
+ }
+ },
+ {
+ "id": "landuse_aerodrome",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["in", "pmap:kind", "aerodrome"]],
+ "paint": {
+ "fill-color": "#fdfdfd"
+ }
+ },
+ {
+ "id": "transit_runway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "transit",
+ "filter": ["any", ["in", "pmap:kind_detail", "runway"]],
+ "paint": {
+ "line-color": "#efefef",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 10,
+ 0,
+ 12,
+ 4,
+ 18,
+ 30
+ ]
+ }
+ },
+ {
+ "id": "transit_taxiway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "transit",
+ "minzoom": 13,
+ "filter": ["any", ["in", "pmap:kind_detail", "taxiway"]],
+ "paint": {
+ "line-color": "#efefef",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 15,
+ 6
+ ]
+ }
+ },
+ {
+ "id": "water",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "water",
+ "paint": {
+ "fill-color": "#dcdcdc"
+ }
+ },
+ {
+ "id": "physical_line_stream",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "physical_line",
+ "minzoom": 14,
+ "filter": ["all", ["in", "pmap:kind", "stream"]],
+ "paint": {
+ "line-color": "#dcdcdc",
+ "line-width": 0.5
+ }
+ },
+ {
+ "id": "physical_line_river",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "physical_line",
+ "minzoom": 9,
+ "filter": ["all", ["in", "pmap:kind", "river"]],
+ "paint": {
+ "line-color": "#dcdcdc",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 9,
+ 0,
+ 9.5,
+ 1,
+ 18,
+ 12
+ ]
+ }
+ },
+ {
+ "id": "landuse_pedestrian",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["==", "pmap:kind", "pedestrian"]],
+ "paint": {
+ "fill-color": "#fdfdfd"
+ }
+ },
+ {
+ "id": "landuse_pier",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "landuse",
+ "filter": ["any", ["==", "pmap:kind", "pier"]],
+ "paint": {
+ "fill-color": "#f5f5f5"
+ }
+ },
+ {
+ "id": "roads_tunnels_other_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["in", "pmap:kind", "other", "path"]
+ ],
+ "paint": {
+ "line-color": "#d6d6d6",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 14,
+ 0,
+ 20,
+ 7
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_minor_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"]
+ ],
+ "paint": {
+ "line-color": "#fcfcfc",
+ "line-dasharray": [3, 2],
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 12,
+ 0,
+ 12.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_link_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": ["all", ["<", "pmap:level", 0], ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#fcfcfc",
+ "line-dasharray": [3, 2],
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 12,
+ 0,
+ 12.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_medium_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#fcfcfc",
+ "line-dasharray": [3, 2],
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 0.5,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 10,
+ 0,
+ 10.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_major_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#fcfcfc",
+ "line-dasharray": [3, 2],
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 0.5,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 9,
+ 0,
+ 9.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_highway_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#fcfcfc",
+ "line-dasharray": [6, 0.5],
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 3.5,
+ 0.5,
+ 18,
+ 15
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 1,
+ 20,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_other",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["in", "pmap:kind", "other", "path"]
+ ],
+ "paint": {
+ "line-color": "#d6d6d6",
+ "line-dasharray": [4.5, 0.5],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 14,
+ 0,
+ 20,
+ 7
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_minor",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"]
+ ],
+ "paint": {
+ "line-color": "#d6d6d6",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_link",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": ["all", ["<", "pmap:level", 0], ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#d6d6d6",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_medium",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#d6d6d6",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 12,
+ 1.2,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_major",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#d6d6d6",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 6,
+ 0,
+ 12,
+ 1.6,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_tunnels_highway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["<", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#d6d6d6",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 6,
+ 1.1,
+ 12,
+ 1.6,
+ 15,
+ 5,
+ 18,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "buildings",
+ "type": "fill",
+ "source": "protomaps",
+ "source-layer": "buildings",
+ "paint": {
+ "fill-color": "#efefef",
+ "fill-opacity": 0.5
+ }
+ },
+ {
+ "id": "transit_pier",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "transit",
+ "filter": ["any", ["==", "pmap:kind", "pier"]],
+ "paint": {
+ "line-color": "#efefef",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 12,
+ 0,
+ 12.5,
+ 0.5,
+ 20,
+ 16
+ ]
+ }
+ },
+ {
+ "id": "roads_minor_service_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 13,
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"],
+ ["==", "pmap:kind_detail", "service"]
+ ],
+ "paint": {
+ "line-color": "#ffffff",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 18,
+ 8
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 0.8
+ ]
+ }
+ },
+ {
+ "id": "roads_minor_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"],
+ ["!=", "pmap:kind_detail", "service"]
+ ],
+ "paint": {
+ "line-color": "#ffffff",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 12,
+ 0,
+ 12.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_link_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 13,
+ "filter": ["all", ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#ffffff",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1.5
+ ]
+ }
+ },
+ {
+ "id": "roads_medium_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#ffffff",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 12,
+ 1.2,
+ 15,
+ 3,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 10,
+ 0,
+ 10.5,
+ 1.5
+ ]
+ }
+ },
+ {
+ "id": "roads_major_casing_late",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#ffffff",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 6,
+ 0,
+ 12,
+ 1.6,
+ 15,
+ 3,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 9,
+ 0,
+ 9.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_highway_casing_late",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#ffffff",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 3.5,
+ 0.5,
+ 18,
+ 15
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 1,
+ 20,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "roads_other",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["in", "pmap:kind", "other", "path"]
+ ],
+ "paint": {
+ "line-color": "#f5f5f5",
+ "line-dasharray": [3, 1],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 14,
+ 0,
+ 20,
+ 7
+ ]
+ }
+ },
+ {
+ "id": "roads_link",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": ["all", ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#ebebeb",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_minor_service",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"],
+ ["==", "pmap:kind_detail", "service"]
+ ],
+ "paint": {
+ "line-color": "#f5f5f5",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 18,
+ 8
+ ]
+ }
+ },
+ {
+ "id": "roads_minor",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"],
+ ["!=", "pmap:kind_detail", "service"]
+ ],
+ "paint": {
+ "line-color": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ "#ebebeb",
+ 16,
+ "#f5f5f5"
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_medium",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#ebebeb",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 12,
+ 1.2,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_major_casing_early",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "maxzoom": 12,
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#ffffff",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 0.5,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 9,
+ 0,
+ 9.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_major",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#ebebeb",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 6,
+ 0,
+ 12,
+ 1.6,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_highway_casing_early",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "maxzoom": 12,
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#ffffff",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 3.5,
+ 0.5,
+ 18,
+ 15
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 1
+ ]
+ }
+ },
+ {
+ "id": "roads_highway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ ["==", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#ebebeb",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 6,
+ 1.1,
+ 12,
+ 1.6,
+ 15,
+ 5,
+ 18,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "transit_railway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "transit",
+ "filter": ["all", ["==", "pmap:kind", "rail"]],
+ "paint": {
+ "line-dasharray": [0.3, 0.75],
+ "line-opacity": 0.5,
+ "line-color": "#d6d6d6",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 6,
+ 0.15,
+ 18,
+ 9
+ ]
+ }
+ },
+ {
+ "id": "boundaries_country",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "boundaries",
+ "filter": ["<=", "pmap:min_admin_level", 2],
+ "paint": {
+ "line-color": "#adadad",
+ "line-width": 1,
+ "line-dasharray": [3, 2]
+ }
+ },
+ {
+ "id": "boundaries",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "boundaries",
+ "filter": [">", "pmap:min_admin_level", 2],
+ "paint": {
+ "line-color": "#adadad",
+ "line-width": 0.5,
+ "line-dasharray": [3, 2]
+ }
+ },
+ {
+ "id": "roads_bridges_other_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["in", "pmap:kind", "other", "path"]
+ ],
+ "paint": {
+ "line-color": "#ffffff",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 14,
+ 0,
+ 20,
+ 7
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_link_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": ["all", [">", "pmap:level", 0], ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#ffffff",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 12,
+ 0,
+ 12.5,
+ 1.5
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_minor_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"]
+ ],
+ "paint": {
+ "line-color": "#ffffff",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 0.8
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_medium_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#ffffff",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 12,
+ 1.2,
+ 15,
+ 3,
+ 18,
+ 13
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 10,
+ 0,
+ 10.5,
+ 1.5
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_major_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#ffffff",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 0.5,
+ 18,
+ 10
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 9,
+ 0,
+ 9.5,
+ 1.5
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_other",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["in", "pmap:kind", "other", "path"]
+ ],
+ "paint": {
+ "line-color": "#f5f5f5",
+ "line-dasharray": [2, 1],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 14,
+ 0,
+ 20,
+ 7
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_minor",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "minor_road"]
+ ],
+ "paint": {
+ "line-color": "#f5f5f5",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 11,
+ 0,
+ 12.5,
+ 0.5,
+ 15,
+ 2,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_link",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": ["all", [">", "pmap:level", 0], ["==", "pmap:link", 1]],
+ "paint": {
+ "line-color": "#f5f5f5",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 13,
+ 0,
+ 13.5,
+ 1,
+ 18,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_medium",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "medium_road"]
+ ],
+ "paint": {
+ "line-color": "#ebebeb",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 12,
+ 1.2,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_major",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "major_road"]
+ ],
+ "paint": {
+ "line-color": "#ebebeb",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 6,
+ 0,
+ 12,
+ 1.6,
+ 15,
+ 3,
+ 18,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_highway_casing",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 12,
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#ffffff",
+ "line-gap-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 3.5,
+ 0.5,
+ 18,
+ 15
+ ],
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 7,
+ 0,
+ 7.5,
+ 1,
+ 20,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "roads_bridges_highway",
+ "type": "line",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "filter": [
+ "all",
+ [">", "pmap:level", 0],
+ ["==", "pmap:kind", "highway"],
+ ["!=", "pmap:link", 1]
+ ],
+ "paint": {
+ "line-color": "#ebebeb",
+ "line-width": [
+ "interpolate",
+ ["exponential", 1.6],
+ ["zoom"],
+ 3,
+ 0,
+ 6,
+ 1.1,
+ 12,
+ 1.6,
+ 15,
+ 5,
+ 18,
+ 15
+ ]
+ }
+ },
+ {
+ "id": "physical_line_waterway_label",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "physical_line",
+ "minzoom": 13,
+ "filter": ["all", ["in", "pmap:kind", "river", "stream"]],
+ "layout": {
+ "symbol-placement": "line",
+ "text-font": ["Roboto Regular"],
+ "text-field": ["get", "name"],
+ "text-size": 12,
+ "text-letter-spacing": 0.3
+ },
+ "paint": {
+ "text-color": "#adadad"
+ }
+ },
+ {
+ "id": "physical_point_peak",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "physical_point",
+ "filter": ["any", ["==", "pmap:kind", "peak"]],
+ "layout": {
+ "text-font": ["Roboto Italic"],
+ "text-field": ["get", "name"],
+ "text-size": ["interpolate", ["linear"], ["zoom"], 10, 8, 16, 12],
+ "text-letter-spacing": 0.1,
+ "text-max-width": 9
+ },
+ "paint": {
+ "text-color": "#adadad",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "roads_labels_minor",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 15,
+ "filter": ["any", ["in", "pmap:kind", "minor_road", "other", "path"]],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "symbol-placement": "line",
+ "text-font": ["Roboto Regular"],
+ "text-field": ["get", "name"],
+ "text-size": 12
+ },
+ "paint": {
+ "text-color": "#adadad",
+ "text-halo-color": "#ffffff",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "physical_point_ocean",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "physical_point",
+ "filter": [
+ "any",
+ [
+ "in",
+ "pmap:kind",
+ "sea",
+ "ocean",
+ "lake",
+ "water",
+ "bay",
+ "strait",
+ "fjord"
+ ]
+ ],
+ "layout": {
+ "text-font": ["Roboto Medium"],
+ "text-field": ["get", "name"],
+ "text-size": ["interpolate", ["linear"], ["zoom"], 3, 10, 10, 12],
+ "text-letter-spacing": 0.1,
+ "text-max-width": 9,
+ "text-transform": "uppercase"
+ },
+ "paint": {
+ "text-color": "#adadad"
+ }
+ },
+ {
+ "id": "physical_point_lakes",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "physical_point",
+ "filter": ["any", ["in", "pmap:kind", "lake", "water"]],
+ "layout": {
+ "text-font": ["Roboto Medium"],
+ "text-field": ["get", "name"],
+ "text-size": ["interpolate", ["linear"], ["zoom"], 3, 0, 6, 12, 10, 12],
+ "text-letter-spacing": 0.1,
+ "text-max-width": 9
+ },
+ "paint": {
+ "text-color": "#adadad"
+ }
+ },
+ {
+ "id": "roads_labels_major",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "roads",
+ "minzoom": 11,
+ "filter": [
+ "any",
+ ["in", "pmap:kind", "highway", "major_road", "medium_road"]
+ ],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "symbol-placement": "line",
+ "text-font": ["Roboto Regular"],
+ "text-field": ["get", "name"],
+ "text-size": 12
+ },
+ "paint": {
+ "text-color": "#999999",
+ "text-halo-color": "#ffffff",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "places_subplace",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "places",
+ "filter": ["==", "pmap:kind", "neighbourhood"],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "text-field": "{name}",
+ "text-font": ["Roboto Regular"],
+ "text-max-width": 7,
+ "text-letter-spacing": 0.1,
+ "text-padding": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 5,
+ 2,
+ 8,
+ 4,
+ 12,
+ 18,
+ 15,
+ 20
+ ],
+ "text-size": [
+ "interpolate",
+ ["exponential", 1.2],
+ ["zoom"],
+ 11,
+ 8,
+ 14,
+ 14,
+ 18,
+ 24
+ ],
+ "text-transform": "uppercase"
+ },
+ "paint": {
+ "text-color": "#8f8f8f",
+ "text-halo-color": "#ffffff",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "pois_important",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "pois",
+ "filter": ["any", ["<", ["get", "pmap:min_zoom"], 13]],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "text-font": ["Roboto Regular"],
+ "text-field": ["get", "name"],
+ "text-size": 11,
+ "text-max-width": 9,
+ "icon-padding": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ 2,
+ 14,
+ 2,
+ 16,
+ 20,
+ 17,
+ 2,
+ 22,
+ 2
+ ]
+ },
+ "paint": {
+ "text-color": "#8f8f8f",
+ "text-halo-color": "#ffffff",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "places_locality_circle",
+ "type": "circle",
+ "source": "protomaps",
+ "source-layer": "places",
+ "filter": ["==", "pmap:kind", "locality"],
+ "paint": {
+ "circle-radius": 2,
+ "circle-stroke-width": 1.5,
+ "circle-stroke-color": "#adadad",
+ "circle-color": "#ffffff",
+ "circle-translate": [-6, 0]
+ },
+ "maxzoom": 8
+ },
+ {
+ "id": "places_locality",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "places",
+ "filter": ["==", "pmap:kind", "locality"],
+ "layout": {
+ "text-field": "{name}",
+ "text-font": [
+ "case",
+ ["<=", ["get", "pmap:min_zoom"], 5],
+ ["literal", ["Roboto Medium"]],
+ ["literal", ["Roboto Regular"]]
+ ],
+ "text-padding": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 5,
+ 3,
+ 8,
+ 7,
+ 12,
+ 11
+ ],
+ "text-size": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 2,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 13],
+ 8,
+ [">=", ["get", "pmap:population_rank"], 13],
+ 13,
+ 0
+ ],
+ 4,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 13],
+ 10,
+ [">=", ["get", "pmap:population_rank"], 13],
+ 15,
+ 0
+ ],
+ 6,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 12],
+ 11,
+ [">=", ["get", "pmap:population_rank"], 12],
+ 17,
+ 0
+ ],
+ 8,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 11],
+ 11,
+ [">=", ["get", "pmap:population_rank"], 11],
+ 18,
+ 0
+ ],
+ 10,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 9],
+ 12,
+ [">=", ["get", "pmap:population_rank"], 9],
+ 20,
+ 0
+ ],
+ 15,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 8],
+ 12,
+ [">=", ["get", "pmap:population_rank"], 8],
+ 22,
+ 0
+ ]
+ ],
+ "icon-padding": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ 2,
+ 8,
+ 4,
+ 10,
+ 8,
+ 12,
+ 6,
+ 22,
+ 2
+ ],
+ "text-anchor": ["step", ["zoom"], "left", 8, "center"],
+ "text-radial-offset": 0.2
+ },
+ "paint": {
+ "text-color": "#5c5c5c",
+ "text-halo-color": "#ffffff",
+ "text-halo-width": 1
+ }
+ },
+ {
+ "id": "places_region",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "places",
+ "filter": ["==", "pmap:kind", "region"],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "text-field": [
+ "step",
+ ["zoom"],
+ ["get", "name:short"],
+ 5,
+ ["get", "name"]
+ ],
+ "text-font": ["Roboto Regular"],
+ "text-size": ["interpolate", ["linear"], ["zoom"], 3, 11, 7, 24],
+ "text-radial-offset": 0.2,
+ "text-anchor": "center",
+ "text-transform": "uppercase"
+ },
+ "paint": {
+ "text-color": "#b3b3b3",
+ "text-halo-color": "#ffffff",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "places_country",
+ "type": "symbol",
+ "source": "protomaps",
+ "source-layer": "places",
+ "filter": ["==", "pmap:kind", "country"],
+ "layout": {
+ "symbol-sort-key": ["get", "pmap:min_zoom"],
+ "text-field": "{name}",
+ "text-font": ["Roboto Medium"],
+ "text-size": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 2,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 10],
+ 8,
+ [">=", ["get", "pmap:population_rank"], 10],
+ 12,
+ 0
+ ],
+ 6,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 8],
+ 10,
+ [">=", ["get", "pmap:population_rank"], 8],
+ 18,
+ 0
+ ],
+ 8,
+ [
+ "case",
+ ["<", ["get", "pmap:population_rank"], 7],
+ 11,
+ [">=", ["get", "pmap:population_rank"], 7],
+ 20,
+ 0
+ ]
+ ],
+ "icon-padding": [
+ "interpolate",
+ ["linear"],
+ ["zoom"],
+ 0,
+ 2,
+ 14,
+ 2,
+ 16,
+ 20,
+ 17,
+ 2,
+ 22,
+ 2
+ ],
+ "text-transform": "uppercase"
+ },
+ "paint": {
+ "text-color": "#b8b8b8"
+ }
+ }
+ ]
+}